diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/main.c deleted file mode 100644 index e28877a95..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/main.c +++ /dev/null @@ -1,261 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/ADC3_DMA/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_lcd.h" -#include - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup ADC_ADC3_DMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* used to display the ADC converted value on LCD */ -#define PRINT_ON_LCD - /* if you are not using the LCD, you can monitor the converted value by adding - the variable "ADC3ConvertedValue" to the debugger watch window */ - -#define ADC3_DR_ADDRESS ((uint32_t)0x4001224C) - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint16_t ADC3ConvertedValue = 0; -__IO uint32_t ADC3ConvertedVoltage = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ -void ADC3_CH7_DMA_Config(void); - -#ifdef PRINT_ON_LCD -void Display_Init(void); -void Display(void); -#endif /* PRINT_ON_LCD */ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ -#ifdef PRINT_ON_LCD - /* LCD Display init */ - Display_Init(); -#endif - - /* ADC3 configuration *******************************************************/ - /* - Enable peripheral clocks */ - /* - DMA2_Stream0 channel2 configuration */ - /* - Configure ADC Channel7 pin as analog input */ - /* - Configure ADC3 Channel7 */ - ADC3_CH7_DMA_Config(); - - /* Start ADC3 Software Conversion */ - ADC_SoftwareStartConv(ADC3); - - while (1) - { - ADC3ConvertedVoltage = ADC3ConvertedValue *3300/0xFFF; -#ifdef PRINT_ON_LCD - /* Display ADC3 converted value on LCD */ - Display(); -#endif - } -} - - -/** - * @brief ADC3 channel07 with DMA configuration - * @param None - * @retval None - */ -void ADC3_CH7_DMA_Config(void) -{ - ADC_InitTypeDef ADC_InitStructure; - ADC_CommonInitTypeDef ADC_CommonInitStructure; - DMA_InitTypeDef DMA_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable ADC3, DMA2 and GPIO clocks ****************************************/ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 | RCC_AHB1Periph_GPIOF, ENABLE); - RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, ENABLE); - - /* DMA2 Stream0 channel2 configuration **************************************/ - DMA_InitStructure.DMA_Channel = DMA_Channel_2; - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC3_DR_ADDRESS; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&ADC3ConvertedValue; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - DMA_InitStructure.DMA_BufferSize = 1; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(DMA2_Stream0, &DMA_InitStructure); - DMA_Cmd(DMA2_Stream0, ENABLE); - - /* Configure ADC3 Channel7 pin as analog input ******************************/ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; - GPIO_Init(GPIOF, &GPIO_InitStructure); - - /* ADC Common Init **********************************************************/ - ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; - ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; - ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; - ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; - ADC_CommonInit(&ADC_CommonInitStructure); - - /* ADC3 Init ****************************************************************/ - ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; - ADC_InitStructure.ADC_ScanConvMode = DISABLE; - ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; - ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; - ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; - ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; - ADC_InitStructure.ADC_NbrOfConversion = 1; - ADC_Init(ADC3, &ADC_InitStructure); - - /* ADC3 regular channel7 configuration *************************************/ - ADC_RegularChannelConfig(ADC3, ADC_Channel_7, 1, ADC_SampleTime_3Cycles); - - /* Enable DMA request after last transfer (Single-ADC mode) */ - ADC_DMARequestAfterLastTransferCmd(ADC3, ENABLE); - - /* Enable ADC3 DMA */ - ADC_DMACmd(ADC3, ENABLE); - - /* Enable ADC3 */ - ADC_Cmd(ADC3, ENABLE); -} - -#ifdef PRINT_ON_LCD -/** - * @brief Display ADC converted value on LCD - * @param None - * @retval None - */ -void Display(void) -{ - uint32_t v=0,mv=0; - uint8_t text[50]; - - v=(ADC3ConvertedVoltage)/1000; - mv = (ADC3ConvertedVoltage%1000)/100; - sprintf((char*)text," ADC = %d,%d V ",v,mv); - LCD_DisplayStringLine(LINE(6),text); -} - -/** - * @brief Display Init (LCD) - * @param None - * @retval None - */ -void Display_Init(void) -{ - /* Initialize the LCD */ - STM322xG_LCD_Init(); - - /* Clear the LCD */ - LCD_Clear(White); - - /* Set the LCD Text size */ - LCD_SetFont(&Font8x12); - - /* Set the LCD Back Color and Text Color*/ - LCD_SetBackColor(Blue); - LCD_SetTextColor(White); - - /* Display */ - LCD_DisplayStringLine(LINE(0x13), " ADC conversion w/ DMA transfer example "); - - /* Set the LCD Text size */ - LCD_SetFont(&Font16x24); - - /* Display */ - LCD_DisplayStringLine(LINE(0), "ADC Conversion @2Msps"); - - - /* Set the LCD Back Color and Text Color*/ - LCD_SetBackColor(White); - LCD_SetTextColor(Blue); - - /* Display */ - LCD_DisplayStringLine(LINE(2)," Turn RV1(PF.09) "); - LCD_DisplayStringLine(LINE(4)," Potentiometer "); -} -#endif /* PRINT_ON_LCD */ - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/readme.txt deleted file mode 100644 index f9658d964..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/readme.txt +++ /dev/null @@ -1,81 +0,0 @@ -/** - @page ADC_ADC3_DMA ADC3 conversion using DMA for Data transfer - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file ADC/ADC3_DMA/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the ADC3 DMA example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example describes how to use the ADC3 and DMA to transfer continuously -converted data from ADC3 to memory. -The ADC3 is configured to convert continuously channel7. -Each time an end of conversion occurs the DMA transfers, in circular mode, the -converted data from ADC3 DR register to the ADC3ConvertedValue variable. - -In this example, the system clock is 120MHz, APB2 =60MHz and ADC clock = APB2 /2. -Since ADC3 clock is 30 MHz and sampling time is set to 3 cycles, the total -conversion time is 0.5 us (2Msps). - -User can vary the ADC3 channel7 voltage using the Eval Board potentiometer -The converted voltage is displayed on the Eval Board LCD (when the define PRINT_ON_LCD -is enabled in main.c) - - -@par Directory contents - - - ADC/ADC3_DMA/system_stm32f2xx.c STM32F2xx system clock configuration file - - ADC/ADC3_DMA/stm32f2xx_conf.h Library Configuration file - - ADC/ADC3_DMA/stm32f2xx_it.c Interrupt handlers - - ADC/ADC3_DMA/stm32f2xx_it.h Interrupt handlers header file - - ADC/ADC3_DMA/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use the Potentiometer (RV1) of the Eval board (connected to PF.09). - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/stm32f2xx_conf.h deleted file mode 100644 index e628d3a42..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/ADC3_DMA/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/stm32f2xx_it.c deleted file mode 100644 index 007e9f34b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/stm32f2xx_it.c +++ /dev/null @@ -1,170 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/ADC3_DMA/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup ADC_ADC3_DMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/stm32f2xx_it.h deleted file mode 100644 index e7ed20488..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/ADC3_DMA/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/ADC3_DMA/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/main.c deleted file mode 100644 index 85ffed586..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/main.c +++ /dev/null @@ -1,274 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/DualADC_Interleaved_DMAmode3/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_lcd.h" -#include - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup ADC_DualADC_Interleaved_DMAmode3 - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* used to display the ADC converted value on LCD */ -#define PRINT_ON_LCD - /* if you are not using the LCD, you can monitor the converted values by adding - the variable "ADCDualConvertedValue" to the debugger watch window */ - -#define ADC_CDR_ADDRESS ((uint32_t)0x40012308) - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint16_t ADCDualConvertedValue; - -ADC_InitTypeDef ADC_InitStructure; -ADC_CommonInitTypeDef ADC_CommonInitStructure; -DMA_InitTypeDef DMA_InitStructure; -GPIO_InitTypeDef GPIO_InitStructure; - -/* Private function prototypes -----------------------------------------------*/ -#ifdef PRINT_ON_LCD -void Display_Init(void); -void Display(void); -#endif /* PRINT_ON_LCD */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ -#ifdef PRINT_ON_LCD - /* LCD Display init */ - Display_Init(); -#endif /* PRINT_ON_LCD */ - -/******************************************************************************/ -/* ADCs interface clock, pin and DMA configuration */ -/******************************************************************************/ - - /* Enable peripheral clocks */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 | RCC_AHB1Periph_GPIOC, ENABLE); - RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC2, ENABLE); - - /* Configure ADC Channel 12 pin as analog input */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - /* DMA2 Stream0 channel0 configuration */ - DMA_InitStructure.DMA_Channel = DMA_Channel_0; - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC_CDR_ADDRESS; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&ADCDualConvertedValue; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - DMA_InitStructure.DMA_BufferSize = 1; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(DMA2_Stream0, &DMA_InitStructure); - - /* DMA2_Stream0 enable */ - DMA_Cmd(DMA2_Stream0, ENABLE); - -/******************************************************************************/ -/* ADCs configuration: double interleaved with 6cycles delay to reach 5Msps */ -/******************************************************************************/ - - /* ADC Common configuration *************************************************/ - ADC_CommonInitStructure.ADC_Mode = ADC_DualMode_Interl; - ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_6Cycles; - ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_3; - ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; - ADC_CommonInit(&ADC_CommonInitStructure); - - /* DMA mode 3 is used in interleaved mode in 6-bit or 8-bit resolutions */ - ADC_InitStructure.ADC_Resolution = ADC_Resolution_8b; - - /* ADC1 regular channel 12 configuration ************************************/ - ADC_InitStructure.ADC_ScanConvMode = DISABLE; - ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; - ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; - ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; - ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; - ADC_InitStructure.ADC_NbrOfConversion = 1; - ADC_Init(ADC1, &ADC_InitStructure); - /* ADC1 regular channel12 configuration */ - ADC_RegularChannelConfig(ADC1, ADC_Channel_12, 1, ADC_SampleTime_3Cycles); - - /* ADC2 regular channel 12 configuration ************************************/ - ADC_Init(ADC2, &ADC_InitStructure); - /* ADC2 regular channel12 configuration */ - ADC_RegularChannelConfig(ADC2, ADC_Channel_12, 1, ADC_SampleTime_3Cycles); - - /* Enable DMA request after last transfer (multi-ADC mode) ******************/ - ADC_MultiModeDMARequestAfterLastTransferCmd(ENABLE); - - /* Enable ADC1 **************************************************************/ - ADC_Cmd(ADC1, ENABLE); - - /* Enable ADC2 **************************************************************/ - ADC_Cmd(ADC2, ENABLE); - - /* Start ADC1 Software Conversion */ - ADC_SoftwareStartConv(ADC1); - - while (1) - { -#ifdef PRINT_ON_LCD - /* Display ADCs converted values on LCD */ - Display(); -#endif /* PRINT_ON_LCD */ - } -} - -#ifdef PRINT_ON_LCD -/** - * @brief Display ADCs converted values on LCD - * @param None - * @retval None - */ -void Display(void) -{ - uint32_t Voltage =0, mVoltage=0; - uint8_t text[50]; - __IO uint32_t ADC1ConvertedVoltage; - __IO uint32_t ADC2ConvertedVoltage; - __IO uint8_t ADC1ConvertedValue; - __IO uint8_t ADC2ConvertedValue; - - ADC1ConvertedValue = (ADCDualConvertedValue & 0x00FF); - ADC1ConvertedVoltage = ADC1ConvertedValue *3300/0xFF; - - Voltage = (ADC1ConvertedVoltage)/1000; - mVoltage = (ADC1ConvertedVoltage%1000)/100; - sprintf((char*)text," ADC1 = %d,%d V ",Voltage,mVoltage); - LCD_DisplayStringLine(LINE(6),text); - - - ADC2ConvertedValue = (ADCDualConvertedValue >>8); - ADC2ConvertedVoltage = ADC2ConvertedValue *3300/0xFF; - - Voltage=ADC2ConvertedVoltage/1000; - mVoltage = (ADC2ConvertedVoltage%1000)/100; - sprintf((char*)text," ADC2 = %d,%d V ",Voltage,mVoltage); - LCD_DisplayStringLine(LINE(7),text); -} - -/** - * @brief Display Init (LCD) - * @param None - * @retval None - */ -void Display_Init(void) -{ - -/* Initialize the LCD */ - STM322xG_LCD_Init(); - - /* Clear the LCD */ - LCD_Clear(White); - - /* Set the LCD Text size */ - LCD_SetFont(&Font8x12); - - /* Set the LCD Back Color and Text Color*/ - LCD_SetBackColor(Blue); - LCD_SetTextColor(White); - - LCD_DisplayStringLine(LINE(0x13), " Dual ADC Interleaved DMA mode3 example "); - - - /* Set the LCD Text size */ - LCD_SetFont(&Font16x24); - - LCD_DisplayStringLine(LINE(0), "ADC Ch12 Conv 5Msps "); - - - /* Set the LCD Back Color and Text Color*/ - LCD_SetBackColor(White); - LCD_SetTextColor(Blue); - - LCD_DisplayStringLine(LINE(2)," Connect voltage to "); - LCD_DisplayStringLine(LINE(3)," ADC Ch12 (PC.02) "); -} -#endif /* PRINT_ON_LCD */ - - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/readme.txt deleted file mode 100644 index def2f4998..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/readme.txt +++ /dev/null @@ -1,93 +0,0 @@ -/** - @page DualADC_Interleaved_DMAmode3 Use ADC1 and ADC2 in Dual interleaved mode and DMA mode3 - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file ADC/DualADC_Interleaved_DMAmode3/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the Dual interleaved mode and DMA mode3 Example - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the ADC peripheral to -convert a regular channel in Dual interleaved mode using DMA in mode 3 with 5Msps. - -DMA mode 3 is used in interleaved mode in 6-bit and 8-bit resolutions. - -The Dual interleaved delay is configured 6 ADC clk cycles. - -On each DMA request (two data items are available) two bytes representing two -ADC-converted data items are transferred as a half word. -The data transfer order is similar to that of the DMA mode 2. - -A DMA request is generated each time 2 data items are available -1st request: ADC_CDR[15:0] = (ADC2_DR[7:0] << 8) | ADC1_DR[7:0] -2nd request: ADC_CDR[15:0] = (ADC2_DR[7:0] << 8) | ADC1_DR[7:0] - -The ADC1 and ADC2 are configured to convert ADC Channel 12, with conversion -triggered by software. -By this way, ADC channel 12 is converted each 6 cycles. - -In this example, the system clock is 120MHz, APB2 =60MHz and ADC clock = APB2 /2. -Since ADCCLK= 30MHz and Conversion rate = 6 cycle -==> Conversion Time = 30M/6cyc = 5Msps. - -@note Refer to "simulation.xls" file to have the diagram simulation of the example. - - -@par Directory contents - - - ADC/DualADC_Interleaved_DMAmode3/system_stm32f2xx.c STM32F2xx system clock configuration file - - ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_conf.h Library Configuration file - - ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_it.h Interrupt handlers header file - - ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_it.c Interrupt handlers - - ADC/DualADC_Interleaved_DMAmode3/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - - STM322xG-EVAL Set-up - - Connect PC.2 to a power supply (do not forget to connect the power supply - GND to the EVAL board GND) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/simulation.xls b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/simulation.xls deleted file mode 100644 index 14cac4a57..000000000 Binary files a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/simulation.xls and /dev/null differ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_conf.h deleted file mode 100644 index acbcd1d6c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_it.c deleted file mode 100644 index 1626c7062..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_it.c +++ /dev/null @@ -1,174 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup ADC_DualADC_Interleaved_DMAmode3 - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_it.h deleted file mode 100644 index d8a4d2970..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/DualADC_Interleaved_DMAmode3/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_Interleaved_DMAmode3/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/main.c deleted file mode 100644 index bc161d6b8..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/main.c +++ /dev/null @@ -1,234 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/DualADC_RegulSimu_DMAmode1/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup ADC_DualADC_RegulSimu_DMAmode1 - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define ADC_CCR_ADDRESS ((uint32_t)0x40012308) - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint16_t ADCDualConvertedValue[4]; - -/* Private function prototypes -----------------------------------------------*/ -void DMA_Config(void); -void GPIO_Config(void); -void ADC1_CH10_CH11_Config(void); -void ADC2_CH11_CH12_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - ADC_CommonInitTypeDef ADC_CommonInitStructure; - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Enable peripheral clocks *************************************************/ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 | RCC_AHB1Periph_GPIOC, ENABLE); - RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_ADC2, ENABLE); - - /* DMA2 Stream0 channel0 configuration **************************************/ - DMA_Config(); - - /* ADCs configuration ------------------------------------------------------*/ - /* Configure ADC Channel10, 11, 12 pin as analog input */ - GPIO_Config(); - - /* ADC Common Init */ - ADC_CommonInitStructure.ADC_Mode = ADC_DualMode_RegSimult; - ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; - ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_1; - ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; - ADC_CommonInit(&ADC_CommonInitStructure); - - /* ADC1 regular channels 10, 11 configuration */ - ADC1_CH10_CH11_Config(); - - /* ADC2 regular channels 11, 12 configuration */ - ADC2_CH11_CH12_Config(); - - /* Enable DMA request after last transfer (Multi-ADC mode) */ - ADC_MultiModeDMARequestAfterLastTransferCmd(ENABLE); - - /* Enable ADC1 */ - ADC_Cmd(ADC1, ENABLE); - - /* Enable ADC2 */ - ADC_Cmd(ADC2, ENABLE); - - /* Start ADC1 Software Conversion */ - ADC_SoftwareStartConv(ADC1); - - while (1) - { - } -} - -/** - * @brief ADC1 regular channels 10 and 11 configuration - * @param None - * @retval None - */ -void ADC1_CH10_CH11_Config(void) -{ - ADC_InitTypeDef ADC_InitStructure; - - ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; - ADC_InitStructure.ADC_ScanConvMode = ENABLE; - ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; - ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; - ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; - ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; - ADC_InitStructure.ADC_NbrOfConversion = 2; - ADC_Init(ADC1, &ADC_InitStructure); - - /* ADC1 regular channels 10, 11 configuration */ - ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_3Cycles); - ADC_RegularChannelConfig(ADC1, ADC_Channel_11, 2, ADC_SampleTime_3Cycles); -} - -/** - * @brief ADC2 regular channels 11, 12 configuration - * @param None - * @retval None - */ -void ADC2_CH11_CH12_Config(void) -{ - ADC_InitTypeDef ADC_InitStructure; - - ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; - ADC_InitStructure.ADC_ScanConvMode = ENABLE; - ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; - ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; - ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; - ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; - ADC_InitStructure.ADC_NbrOfConversion = 2; - ADC_Init(ADC2, &ADC_InitStructure); - - /* ADC2 regular channels 11, 12 configuration */ - ADC_RegularChannelConfig(ADC2, ADC_Channel_11, 1, ADC_SampleTime_3Cycles); - ADC_RegularChannelConfig(ADC2, ADC_Channel_12, 2, ADC_SampleTime_3Cycles); -} - -/** - * @brief DMA Configuration - * @param None - * @retval None - */ -void DMA_Config(void) -{ - DMA_InitTypeDef DMA_InitStructure; - - DMA_InitStructure.DMA_Channel = DMA_Channel_0; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&ADCDualConvertedValue; - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC_CCR_ADDRESS; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - DMA_InitStructure.DMA_BufferSize = 4; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(DMA2_Stream0, &DMA_InitStructure); - - /* DMA2_Stream0 enable */ - DMA_Cmd(DMA2_Stream0, ENABLE); -} - -/** - * @brief Configure ADC Channels 10, 11, 12 pins as analog inputs - * @param None - * @retval None - */ -void GPIO_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - /* ADC Channel 10 -> PC0 - ADC Channel 11 -> PC1 - ADC Channel 12 -> PC2 - */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; - GPIO_Init(GPIOC, &GPIO_InitStructure); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/readme.txt deleted file mode 100644 index dddf6a163..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/readme.txt +++ /dev/null @@ -1,94 +0,0 @@ -/** - @page DualADC_RegulSimu_DMAmode1 Use ADC1 and ADC2 in Dual regular simultaneous mode and DMA mode1 - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file ADC/DualADC_RegulSimu_DMAmode1/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the Dual regular simultaneous mode and DMA mode1 - * Example - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the ADC peripheral to -convert regular channels simultaneously in dual mode using DMA in mode 1. - -Regular simultaneous mode is performed on a regular group of channels. -In Dual ADC mode, ADC1 data are transferred on the first request, ADC2 data are -transferred on the second request and so on. -On each DMA request (one data item is available), a half-word representing an -ADC-converted data item is transferred. -The conversion is triggered by software. - -The ADC1 is configured to convert ADC Channel 10 and 11. -The ADC2 is configured to convert ADC Channel 11 and 12. - -Note: the sequence length must be the same for both ADCs - -In this example, the system clock is 120MHz, APB2 =60MHz and ADC clock = APB2 /2. -So ADCCLK= 30MHz - -Conversion rate of channel 10 and 12 = 30 cycles => Conversion Time = 30M/30cyc = 1Msps. -Conversion rate of channel 11 = 15 cycles => Conversion Time = 30M/15cyc = 2Msps. - -@note Refer to "simulation.xls" file to have the diagram simulation of the example. - - -@par Directory contents - - - ADC/DualADC_RegulSimu_DMAmode1/system_stm32f2xx.c STM32F2xx system clock configuration file - - ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_conf.h Library Configuration file - - ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_it.h Interrupt handlers header file - - ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_it.c Interrupt handlers - - ADC/DualADC_RegulSimu_DMAmode1/main.c Main program - - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect PC.0, PC.1 and PC.2 to a power supply (do not forget to connect the - power supply GND to the EVAL board GND) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/simulation.xls b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/simulation.xls deleted file mode 100644 index c14afef64..000000000 Binary files a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/simulation.xls and /dev/null differ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_conf.h deleted file mode 100644 index a022d13b4..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_it.c deleted file mode 100644 index 555d0b3fb..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup ADC_DualADC_RegulSimu_DMAmode1 - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_it.h deleted file mode 100644 index 33d0f7625..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/DualADC_RegulSimu_DMAmode1/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/DualADC_RegulSimu_DMAmode1/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/main.c deleted file mode 100644 index bcc74a36f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/main.c +++ /dev/null @@ -1,187 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/TripleADC_Interleaved_DMAmode2/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup ADC_TripleADC_Interleaved_DMAmode2 - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define ADC_CDR_ADDRESS ((uint32_t)0x40012308) - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t ADCTripleConvertedValue[3]; - -ADC_InitTypeDef ADC_InitStructure; -ADC_CommonInitTypeDef ADC_CommonInitStructure; -DMA_InitTypeDef DMA_InitStructure; -GPIO_InitTypeDef GPIO_InitStructure; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - -/******************************************************************************/ -/* ADCs interface clock, pin and DMA configuration */ -/******************************************************************************/ - - /* Enable peripheral clocks */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 | RCC_AHB1Periph_GPIOC, ENABLE); - RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC2 | - RCC_APB2Periph_ADC3, ENABLE); - - /* Configure ADC Channel 12 pin as analog input */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - /* DMA2 Stream0 channel0 configuration */ - DMA_InitStructure.DMA_Channel = DMA_Channel_0; - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC_CDR_ADDRESS; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&ADCTripleConvertedValue; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - DMA_InitStructure.DMA_BufferSize = 3; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(DMA2_Stream0, &DMA_InitStructure); - - /* DMA2_Stream0 enable */ - DMA_Cmd(DMA2_Stream0, ENABLE); - - -/******************************************************************************/ -/* ADCs configuration: triple interleaved with 5cycles delay to reach 6Msps */ -/******************************************************************************/ - - /* ADC Common configuration *************************************************/ - ADC_CommonInitStructure.ADC_Mode = ADC_TripleMode_Interl; - ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; - ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_2; - ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; - ADC_CommonInit(&ADC_CommonInitStructure); - - /* ADC1 regular channel 12 configuration ************************************/ - ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; - ADC_InitStructure.ADC_ScanConvMode = DISABLE; - ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; - ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; - ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; - ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; - ADC_InitStructure.ADC_NbrOfConversion = 1; - ADC_Init(ADC1, &ADC_InitStructure); - - ADC_RegularChannelConfig(ADC1, ADC_Channel_12, 1, ADC_SampleTime_3Cycles); - - /* ADC2 regular channel 12 configuration ************************************/ - ADC_Init(ADC2, &ADC_InitStructure); - /* ADC2 regular channel12 configuration */ - ADC_RegularChannelConfig(ADC2, ADC_Channel_12, 1, ADC_SampleTime_3Cycles); - - /* ADC3 regular channel 12 configuration ************************************/ - ADC_Init(ADC3, &ADC_InitStructure); - /* ADC3 regular channel12 configuration */ - ADC_RegularChannelConfig(ADC3, ADC_Channel_12, 1, ADC_SampleTime_3Cycles); - - /* Enable DMA request after last transfer (multi-ADC mode) ******************/ - ADC_MultiModeDMARequestAfterLastTransferCmd(ENABLE); - - /* Enable ADC1 **************************************************************/ - ADC_Cmd(ADC1, ENABLE); - - /* Enable ADC2 **************************************************************/ - ADC_Cmd(ADC2, ENABLE); - - /* Enable ADC3 **************************************************************/ - ADC_Cmd(ADC3, ENABLE); - - /* Start ADC1 Software Conversion */ - ADC_SoftwareStartConv(ADC1); - - while (1) - { - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/readme.txt deleted file mode 100644 index 944147319..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/readme.txt +++ /dev/null @@ -1,105 +0,0 @@ -/** - @page TripleADC_Interleaved_DMAmode2 Use ADC1, ADC2 and ADC3 in Triple interleaved mode and DMA mode2 with 6Msps - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file ADC/TripleADC_Interleaved_DMAmode2/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the Triple interleaved mode and DMA mode2 Example - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the ADC peripheral to -convert a regular channel in Triple interleaved mode using DMA in mode 2 with -6Msps . - -The Triple interleaved delay is configured 5 ADC clk cycles. - -In Triple ADC mode, three DMA requests are generated: -- On the first request, both ADC2 and ADC1 data are transferred (ADC2 data take - the upper half-word and ADC1 data take the lower half-word). -- On the second request, both ADC1 and ADC3 data are transferred (ADC1 data take - the upper half-word and ADC3 data take the lower half-word). -- On the third request, both ADC3 and ADC2 data are transferred (ADC3 data take - the upper half-word and ADC2 data take the lower half-word) and so on. - -On each DMA request (two data items are available) two half-words representing -two ADC-converted data items are transferred as a word. - -A DMA request is generated each time 2 data items are available : -1st request: ADC_CDR[31:0] = (ADC2_DR[15:0] << 16) | ADC1_DR[15:0] (step1) -2nd request: ADC_CDR[31:0] = (ADC1_DR[15:0] << 16) | ADC3_DR[15:0] (step2) -3rd request: ADC_CDR[31:0] = (ADC3_DR[15:0] << 16) | ADC2_DR[15:0] (step3) -4th request: ADC_CDR[31:0] = (ADC2_DR[15:0] << 16) | ADC1_DR[15:0] (step1) and so on. - -The conversion is triggered by software. - -The ADC1, ADC2 and ADC3 are configured to convert ADC Channel 12. -By this way, the ADC can reach 6Msps, in fact the same channel is converted -each 5 cycles - -In this example, the system clock is 120MHz, APB2 = 60MHz and ADC clock = APB2 /2. -Since ADCCLK= 30MHz and Conversion rate = 5 cycles -==> Conversion Time = 30M/5cyc = 6Msps - -@note Refer to "simulation.xls" file to have the diagram simulation of the example. - - -@par Directory contents - - - ADC/TripleADC_Interleaved_DMAmode2/system_stm32f2xx.c STM32F2xx system clock configuration file - - ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_conf.h Library Configuration file - - ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_it.h Interrupt handlers header file - - ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_it.c Interrupt handlers - - ADC/TripleADC_Interleaved_DMAmode2/main.c Main program - - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect PC.2 to a power supply (do not forget to connect the power supply GND - to the EVAL board GND) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/simulation.xls b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/simulation.xls deleted file mode 100644 index 89ff21d21..000000000 Binary files a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/simulation.xls and /dev/null differ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_conf.h deleted file mode 100644 index 874d423b7..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_it.c deleted file mode 100644 index 15cc61d5b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup ADC_TripleADC_Interleaved_DMAmode2 - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_it.h deleted file mode 100644 index 0f48f141e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/TripleADC_Interleaved_DMAmode2/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/TripleADC_Interleaved_DMAmode2/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/main.c deleted file mode 100644 index f06197845..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/main.c +++ /dev/null @@ -1,270 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/VBAT_Measurement/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_lcd.h" -#include - - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup ADC_VBAT_Measurement - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* used to display the ADC converted value on LCD */ -#define PRINT_ON_LCD - /* if you are not using the LCD, you can monitor the converted value by adding - the variable "ADCConvertedValue" to the debugger watch window */ - -#define ADC1_DR_ADDRESS ((uint32_t)0x4001204C) - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint16_t ADCConvertedValue = 0; -__IO uint32_t VBATVoltage = 0; - -/* Private function prototypes -----------------------------------------------*/ -void ADC1_ChVbat_DMA_Config(void); - -#ifdef PRINT_ON_LCD -void Display_Init(void); -void Display(void); -static void delay(__IO uint32_t nCount); -#endif /* PRINT_ON_LCD */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ -#ifdef PRINT_ON_LCD - /* LCD Display init */ - Display_Init(); -#endif /* PRINT_ON_LCD */ - - /* ADC1 Channel Vbat configuration */ - ADC1_ChVbat_DMA_Config(); - - /* Start ADC1 Software Conversion */ - ADC_SoftwareStartConv(ADC1); - - while (1) - { -#ifdef PRINT_ON_LCD - /* Display ADC converted value on LCD */ - Display(); -#endif /* PRINT_ON_LCD */ - } -} - -/** - * @brief ADC1 Channel Vbat configuration (DMA, ADC, CLK) - * @param None - * @retval None - */ -void ADC1_ChVbat_DMA_Config(void) -{ - ADC_InitTypeDef ADC_InitStructure; - ADC_CommonInitTypeDef ADC_CommonInitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /* Enable peripheral clocks *************************************************/ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); - RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); - - /* DMA2_Stream0 channel0 configuration **************************************/ - DMA_DeInit(DMA2_Stream0); - DMA_InitStructure.DMA_Channel = DMA_Channel_0; - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC1_DR_ADDRESS; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&ADCConvertedValue; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - DMA_InitStructure.DMA_BufferSize = 1; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(DMA2_Stream0, &DMA_InitStructure); - /* DMA2_Stream0 enable */ - DMA_Cmd(DMA2_Stream0, ENABLE); - - /* ADC Common Init **********************************************************/ - ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; - ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; - ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; - ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; - ADC_CommonInit(&ADC_CommonInitStructure); - - /* ADC1 Init ****************************************************************/ - ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; - ADC_InitStructure.ADC_ScanConvMode = DISABLE; - ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; - ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; - ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1; - ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; - ADC_InitStructure.ADC_NbrOfConversion = 1; - ADC_Init(ADC1, &ADC_InitStructure); - - /* Enable ADC1 DMA */ - ADC_DMACmd(ADC1, ENABLE); - - /* ADC1 regular channel18 (VBAT) configuration ******************************/ - ADC_RegularChannelConfig(ADC1, ADC_Channel_Vbat, 1, ADC_SampleTime_15Cycles); - - /* Enable VBAT channel */ - ADC_VBATCmd(ENABLE); - - /* Enable DMA request after last transfer (Single-ADC mode) */ - ADC_DMARequestAfterLastTransferCmd(ADC1, ENABLE); - - /* Enable ADC1 **************************************************************/ - ADC_Cmd(ADC1, ENABLE); -} - -#ifdef PRINT_ON_LCD -/** - * @brief Display ADC converted value on LCD - * @param None - * @retval None - */ -void Display(void) -{ - uint32_t vbatV=0,vbatmV=0; - uint8_t text[50]; - - /*The VBAT pin is internally connected to a bridge divider by 2 */ - VBATVoltage = (ADCConvertedValue*2)*3300/0xFFF; - vbatV=VBATVoltage/1000; - vbatmV = (VBATVoltage%1000)/100; - sprintf((char*)text," %d,%d V ",vbatV,vbatmV); - LCD_DisplayStringLine(LINE(6),text); - - delay(100); -} - -/** - * @brief Display Init (LCD) - * @param None - * @retval None - */ -void Display_Init(void) -{ - - /* Initialize the LCD */ - STM322xG_LCD_Init(); - - /* Clear the LCD */ - LCD_Clear(White); - - /* Set the LCD Text size */ - LCD_SetFont(&Font8x12); - - /* Set the LCD Back Color and Text Color*/ - LCD_SetBackColor(Blue); - LCD_SetTextColor(White); - - LCD_DisplayStringLine(LINE(0x13), " STM32F2xx ADC1 VBAT Measurement example"); - - /* Set the LCD Text size */ - LCD_SetFont(&Font16x24); - - LCD_DisplayStringLine(LINE(0), "**VBAT Measurement**"); - - /* Set the LCD Back Color and Text Color*/ - LCD_SetBackColor(White); - LCD_SetTextColor(Blue); - - LCD_DisplayStringLine(LINE(2)," Eval Board Instant "); - LCD_DisplayStringLine(LINE(4)," Battery Voltage "); -} - -/** - * @brief Inserts a delay time - * @param nCount: specifies the delay time length - * @retval None - */ -static void delay(__IO uint32_t nCount) -{ - __IO uint32_t index = 0; - for(index = (100000 * nCount); index != 0; index--) - { - } -} -#endif /* PRINT_ON_LCD */ - - -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/readme.txt deleted file mode 100644 index d2c303f24..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/readme.txt +++ /dev/null @@ -1,86 +0,0 @@ -/** - @page ADC_VBAT_Measurement ADC_VBAT_Measurement - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file ADC/VBAT_Measurement/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the ADC1 VBAT Measurement example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example describes how to measure VBAT voltage using ADC1 regular channel 18. -In fact, the measured value correspond to VBAT/2; as the VBAT voltage could be higher -than VDDA, to ensure the correct operation of the ADC, the VBAT pin is internally -connected to a bridge divider by 2. - -In this example the VBAT/2 voltage is continuously converted, each time an end -of conversion occurs the DMA transfers, in circular mode, the converted data from -ADC1 DR register to the ADCConvertedValue variable. -However, in real application to prevent any unwanted consumption on the battery, -it is recommended to enable the bridge divider only when needed for ADC -conversion then disable it. - -User can display the VBAT voltage on the Eval Board LCD (when the define PRINT_ON_LCD -is enabled in main.c) - -In this example, the system clock is 120MHz, APB2 =60MHz and ADC clock = APB2 /2. -So ADCCLK= 30MHz - -Conversion rate of Vbat channel = Sampling Time + Conversion Time = 15 + 12 cycles - = 27 cycles ==> Conversion Time = 30MHz/27cyc = 1.11Msps. - - -@par Directory contents - - - ADC/VBAT_Measurement/system_stm32f2xx.c STM32F2xx system clock configuration file - - ADC/VBAT_Measurement/stm32f2xx_conf.h Library Configuration file - - ADC/VBAT_Measurement/stm32f2xx_it.c Interrupt handlers - - ADC/VBAT_Measurement/stm32f2xx_it.h Interrupt handlers header file - - ADC/VBAT_Measurement/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/stm32f2xx_conf.h deleted file mode 100644 index 4e892df09..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/VBAT_Measurement/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/stm32f2xx_it.c deleted file mode 100644 index 3f090a8b7..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/stm32f2xx_it.c +++ /dev/null @@ -1,170 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/VBAT_Measurement/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup ADC_VBAT_Measurement - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/stm32f2xx_it.h deleted file mode 100644 index 633ec0a8b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file ADC/VBAT_Measurement/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/ADC/VBAT_Measurement/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/main.c deleted file mode 100644 index 8fe878266..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/main.c +++ /dev/null @@ -1,359 +0,0 @@ -/** - ****************************************************************************** - * @file CAN/LoopBack/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CAN_LoopBack - * @{ - */ - -/* Private define ------------------------------------------------------------*/ -/* Private typedef -----------------------------------------------------------*/ -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t ret = 0; /* for return of the interrupt handling */ -volatile TestStatus TestRx; - -/* Private function prototypes -----------------------------------------------*/ -void NVIC_Config(void); -TestStatus CAN_Polling(void); -TestStatus CAN_Interrupt(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - -#ifdef USE_CAN1 - /* CANx Periph clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE); -#else /* USE_CAN2 */ - /* CAN1 & 2 Periph clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1 | RCC_APB1Periph_CAN2, ENABLE); -#endif /* USE_CAN1 */ - - /* NVIC Configuration */ - NVIC_Config(); - - /* Configures LED 1..4 */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* CAN transmit at 125Kb/s and receive by polling in loopback mode */ - TestRx = CAN_Polling(); - - if (TestRx != FAILED) - { /* OK */ - - /* Turn on LED1 */ - STM_EVAL_LEDOn(LED1); - } - else - { /* KO */ - - /* Turn on LED3 */ - STM_EVAL_LEDOn(LED3); - } - - /* CAN transmit at 500Kb/s and receive by interrupt in loopback mode */ - TestRx = CAN_Interrupt(); - - if (TestRx != FAILED) - { /* OK */ - - /* Turn on LED4 */ - STM_EVAL_LEDOn(LED4); - } - else - { /* KO */ - - /* Turn on LED2 */ - STM_EVAL_LEDOn(LED2); - } - - /* Infinite loop */ - while (1) - { - } -} - -/** - * @brief Configures the CAN, transmit and receive by polling - * @param None - * @retval PASSED if the reception is well done, FAILED in other case - */ -TestStatus CAN_Polling(void) -{ - CAN_InitTypeDef CAN_InitStructure; - CAN_FilterInitTypeDef CAN_FilterInitStructure; - CanTxMsg TxMessage; - CanRxMsg RxMessage; - uint32_t i = 0; - uint8_t TransmitMailbox = 0; - - /* CAN register init */ - CAN_DeInit(CANx); - - /* CAN cell init */ - CAN_InitStructure.CAN_TTCM = DISABLE; - CAN_InitStructure.CAN_ABOM = DISABLE; - CAN_InitStructure.CAN_AWUM = DISABLE; - CAN_InitStructure.CAN_NART = DISABLE; - CAN_InitStructure.CAN_RFLM = DISABLE; - CAN_InitStructure.CAN_TXFP = DISABLE; - CAN_InitStructure.CAN_Mode = CAN_Mode_LoopBack; - CAN_InitStructure.CAN_SJW = CAN_SJW_1tq; - - /* CAN Baudrate = 125kbps (CAN clocked at 30 MHz) */ - CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq; - CAN_InitStructure.CAN_BS2 = CAN_BS2_8tq; - CAN_InitStructure.CAN_Prescaler = 16; - CAN_Init(CANx, &CAN_InitStructure); - - /* CAN filter init */ -#ifdef USE_CAN1 - CAN_FilterInitStructure.CAN_FilterNumber = 0; -#else /* USE_CAN2 */ - CAN_FilterInitStructure.CAN_FilterNumber = 14; -#endif /* USE_CAN1 */ - CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask; - CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit; - CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000; - CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000; - CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000; - CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000; - CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0; - - CAN_FilterInitStructure.CAN_FilterActivation = ENABLE; - CAN_FilterInit(&CAN_FilterInitStructure); - - /* transmit */ - TxMessage.StdId = 0x11; - TxMessage.RTR = CAN_RTR_DATA; - TxMessage.IDE = CAN_ID_STD; - TxMessage.DLC = 2; - TxMessage.Data[0] = 0xCA; - TxMessage.Data[1] = 0xFE; - - TransmitMailbox = CAN_Transmit(CANx, &TxMessage); - i = 0; - while((CAN_TransmitStatus(CANx, TransmitMailbox) != CANTXOK) && (i != 0xFFFF)) - { - i++; - } - - i = 0; - while((CAN_MessagePending(CANx, CAN_FIFO0) < 1) && (i != 0xFFFF)) - { - i++; - } - - /* receive */ - RxMessage.StdId = 0x00; - RxMessage.IDE = CAN_ID_STD; - RxMessage.DLC = 0; - RxMessage.Data[0] = 0x00; - RxMessage.Data[1] = 0x00; - CAN_Receive(CANx, CAN_FIFO0, &RxMessage); - - if (RxMessage.StdId != 0x11) - { - return FAILED; - } - - if (RxMessage.IDE != CAN_ID_STD) - { - return FAILED; - } - - if (RxMessage.DLC != 2) - { - return FAILED; - } - - if ((RxMessage.Data[0]<<8|RxMessage.Data[1]) != 0xCAFE) - { - return FAILED; - } - - return PASSED; /* Test Passed */ -} - -/** - * @brief Configures the CAN, transmit and receive using interrupt. - * @param None - * @retval PASSED if the reception is well done, FAILED in other case - */ -TestStatus CAN_Interrupt(void) -{ - CAN_InitTypeDef CAN_InitStructure; - CAN_FilterInitTypeDef CAN_FilterInitStructure; - CanTxMsg TxMessage; - uint32_t i = 0; - - /* CAN register init */ - CAN_DeInit(CANx); - - /* CAN cell init */ - CAN_InitStructure.CAN_TTCM = DISABLE; - CAN_InitStructure.CAN_ABOM = DISABLE; - CAN_InitStructure.CAN_AWUM = DISABLE; - CAN_InitStructure.CAN_NART = DISABLE; - CAN_InitStructure.CAN_RFLM = DISABLE; - CAN_InitStructure.CAN_TXFP = DISABLE; - CAN_InitStructure.CAN_Mode = CAN_Mode_LoopBack; - CAN_InitStructure.CAN_SJW = CAN_SJW_1tq; - - /* Baudrate = 500 Kbps */ - CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq; - CAN_InitStructure.CAN_BS2 = CAN_BS2_8tq; - CAN_InitStructure.CAN_Prescaler = 4; - CAN_Init(CANx, &CAN_InitStructure); - - /* CAN filter init */ -#ifdef USE_CAN1 - CAN_FilterInitStructure.CAN_FilterNumber = 1; -#else /* USE_CAN2 */ - CAN_FilterInitStructure.CAN_FilterNumber = 15; -#endif /* USE_CAN1 */ - CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask; - CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit; - CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000; - CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000; - CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000; - CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000; - CAN_FilterInitStructure.CAN_FilterFIFOAssignment = CAN_FIFO0; - CAN_FilterInitStructure.CAN_FilterActivation = ENABLE; - CAN_FilterInit(&CAN_FilterInitStructure); - - /* CAN FIFO0 message pending interrupt enable */ - CAN_ITConfig(CANx, CAN_IT_FMP0, ENABLE); - - /* transmit 1 message */ - TxMessage.StdId = 0; - TxMessage.ExtId = 0x1234; - TxMessage.IDE = CAN_ID_EXT; - TxMessage.RTR = CAN_RTR_DATA; - TxMessage.DLC = 2; - TxMessage.Data[0] = 0xDE; - TxMessage.Data[1] = 0xCA; - CAN_Transmit(CANx, &TxMessage); - - /* initialize the value that will be returned */ - ret = 0xFF; - - /* receive message with interrupt handling */ - i = 0; - while((ret == 0xFF) && (i < 0xFFF)) - { - i++; - } - - if (i == 0xFFF) - { - ret = 0; - } - - /* disable interrupt handling */ - CAN_ITConfig(CANx, CAN_IT_FMP0, DISABLE); - - return (TestStatus)ret; -} - -/** - * @brief Configures the NVIC. - * @param None - * @retval None - */ -void NVIC_Config(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable CANx RX0 interrupt IRQ channel */ -#ifdef USE_CAN1 - NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX0_IRQn; -#else /* USE_CAN2 */ - NVIC_InitStructure.NVIC_IRQChannel = CAN2_RX0_IRQn; -#endif /* USE_CAN1 */ - - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/main.h deleted file mode 100644 index b75df6e52..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/main.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file CAN/LoopBack/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -#define USE_CAN1 -/* #define USE_CAN2 */ - -#ifdef USE_CAN1 - #define CANx CAN1 -#else /* USE_CAN2 */ - #define CANx CAN2 -#endif /* USE_CAN1 */ - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/readme.txt deleted file mode 100644 index a2be4e768..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/readme.txt +++ /dev/null @@ -1,85 +0,0 @@ -/** - @page CAN_LoopBack CAN LoopBack example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file CAN/LoopBack/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the CAN LoopBack example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a description of how to set a communication with the CAN -in loopback mode. - -The CAN cell first performs a transmission and a reception of a standard data -frame by polling at 125 Kbps. The received frame is checked and some LEDs light -up to indicate whether the communication was successful. Then, an extended data -frame is transmitted at 500 Kbps. Reception is done in the interrupt handler -when the message becomes pending in the FIFO. Finally, the LEDs indicate if both -transmission and reception have been successful. - -User can select CAN1 or CAN2 cell using the defines in main.h : -@code -#define USE_CAN1 -/* #define USE_CAN2*/ -@endcode - - -@par Directory contents - - - CAN/LoopBack/system_stm32f2xx.c STM32F2xx system clock configuration file - - CAN/LoopBack/stm32f2xx_conf.h Library Configuration file - - CAN/LoopBack/stm32f2xx_it.h Interrupt handlers header file - - CAN/LoopBack/stm32f2xx_it.c Interrupt handlers - - CAN/LoopBack/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/stm32f2xx_conf.h deleted file mode 100644 index 92615b9f5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file CAN/LoopBack/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/stm32f2xx_it.c deleted file mode 100644 index a02658f26..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/stm32f2xx_it.c +++ /dev/null @@ -1,240 +0,0 @@ -/** - ****************************************************************************** - * @file CAN/LoopBack/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CAN_LoopBack - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern __IO uint32_t ret; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -#ifdef USE_CAN1 -/** - * @brief This function handles CAN1 RX0 request. - * @param None - * @retval None - */ -void CAN1_RX0_IRQHandler(void) -{ - CanRxMsg RxMessage; - - RxMessage.StdId = 0x00; - RxMessage.ExtId = 0x00; - RxMessage.IDE = 0; - RxMessage.DLC = 0; - RxMessage.FMI = 0; - RxMessage.Data[0] = 0x00; - RxMessage.Data[1] = 0x00; - - CAN_Receive(CAN1, CAN_FIFO0, &RxMessage); - - if((RxMessage.ExtId == 0x1234) && (RxMessage.IDE == CAN_ID_EXT) - && (RxMessage.DLC == 2) && ((RxMessage.Data[1]|RxMessage.Data[0]<<8) == 0xDECA)) - { - ret = 1; - } - else - { - ret = 0; - } -} -#endif /* USE_CAN1 */ - -#ifdef USE_CAN2 -/** - * @brief This function handles CAN2 RX0 request. - * @param None - * @retval None - */ -void CAN2_RX0_IRQHandler(void) -{ - CanRxMsg RxMessage; - - RxMessage.StdId = 0x00; - RxMessage.ExtId = 0x00; - RxMessage.IDE = 0; - RxMessage.DLC = 0; - RxMessage.FMI = 0; - RxMessage.Data[0] = 0x00; - RxMessage.Data[1] = 0x00; - - CAN_Receive(CAN2, CAN_FIFO0, &RxMessage); - - if((RxMessage.ExtId == 0x1234) && (RxMessage.IDE == CAN_ID_EXT) - && (RxMessage.DLC == 2) && ((RxMessage.Data[1]|RxMessage.Data[0]<<8) == 0xDECA)) - { - ret = 1; - } - else - { - ret = 0; - } -} -#endif /* USE_CAN2 */ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/stm32f2xx_it.h deleted file mode 100644 index f1bf968d5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/stm32f2xx_it.h +++ /dev/null @@ -1,62 +0,0 @@ -/** - ****************************************************************************** - * @file CAN/LoopBack/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void CAN1_RX0_IRQHandler(void); -void CAN2_RX0_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/LoopBack/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/main.c deleted file mode 100644 index f08f32a90..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/main.c +++ /dev/null @@ -1,308 +0,0 @@ -/** - ****************************************************************************** - * @file CAN/Networking/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CAN_Networking - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define KEY_PRESSED 0x00 -#define KEY_NOT_PRESSED 0x01 - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -CAN_InitTypeDef CAN_InitStructure; -CAN_FilterInitTypeDef CAN_FilterInitStructure; -CanTxMsg TxMessage; -uint8_t KeyNumber = 0x0; - -/* Private function prototypes -----------------------------------------------*/ -void NVIC_Config(void); -void CAN_Config(void); -void Init_RxMes(CanRxMsg *RxMessage); -void Delay(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* NVIC configuration */ - NVIC_Config(); - - /* Configures LED 1..4 */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Configure Push button key */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_GPIO); - - /* CAN configuration */ - CAN_Config(); - - /* Infinite loop */ - while(1) - { - while(STM_EVAL_PBGetState(BUTTON_KEY) == KEY_PRESSED) - { - if(KeyNumber == 0x4) - { - KeyNumber = 0x00; - } - else - { - LED_Display(++KeyNumber); - TxMessage.Data[0] = KeyNumber; - CAN_Transmit(CANx, &TxMessage); - Delay(); - - while(STM_EVAL_PBGetState(BUTTON_KEY) != KEY_NOT_PRESSED) - { - } - } - } - } -} - -/** - * @brief Configures the CAN. - * @param None - * @retval None - */ -void CAN_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* CAN GPIOs configuration **************************************************/ - - /* Enable GPIO clock */ - RCC_AHB1PeriphClockCmd(CAN_GPIO_CLK, ENABLE); - - /* Connect CAN pins to AF9 */ - GPIO_PinAFConfig(CAN_GPIO_PORT, CAN_RX_SOURCE, CAN_AF_PORT); - GPIO_PinAFConfig(CAN_GPIO_PORT, CAN_TX_SOURCE, CAN_AF_PORT); - - /* Configure CAN RX and TX pins */ - GPIO_InitStructure.GPIO_Pin = CAN_RX_PIN | CAN_TX_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_Init(CAN_GPIO_PORT, &GPIO_InitStructure); - - /* CAN configuration ********************************************************/ - /* Enable CAN clock */ - RCC_APB1PeriphClockCmd(CAN_CLK, ENABLE); - - /* CAN register init */ - CAN_DeInit(CANx); - - /* CAN cell init */ - CAN_InitStructure.CAN_TTCM = DISABLE; - CAN_InitStructure.CAN_ABOM = DISABLE; - CAN_InitStructure.CAN_AWUM = DISABLE; - CAN_InitStructure.CAN_NART = DISABLE; - CAN_InitStructure.CAN_RFLM = DISABLE; - CAN_InitStructure.CAN_TXFP = DISABLE; - CAN_InitStructure.CAN_Mode = CAN_Mode_Normal; - CAN_InitStructure.CAN_SJW = CAN_SJW_1tq; - - /* CAN Baudrate = 1MBps (CAN clocked at 30 MHz) */ - CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq; - CAN_InitStructure.CAN_BS2 = CAN_BS2_8tq; - CAN_InitStructure.CAN_Prescaler = 2; - CAN_Init(CANx, &CAN_InitStructure); - - /* CAN filter init */ -#ifdef USE_CAN1 - CAN_FilterInitStructure.CAN_FilterNumber = 0; -#else /* USE_CAN2 */ - CAN_FilterInitStructure.CAN_FilterNumber = 14; -#endif /* USE_CAN1 */ - CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask; - CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit; - CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000; - CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000; - CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000; - CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000; - CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0; - CAN_FilterInitStructure.CAN_FilterActivation = ENABLE; - CAN_FilterInit(&CAN_FilterInitStructure); - - /* Transmit Structure preparation */ - TxMessage.StdId = 0x321; - TxMessage.ExtId = 0x01; - TxMessage.RTR = CAN_RTR_DATA; - TxMessage.IDE = CAN_ID_STD; - TxMessage.DLC = 1; - - /* Enable FIFO 0 message pending Interrupt */ - CAN_ITConfig(CANx, CAN_IT_FMP0, ENABLE); -} - -/** - * @brief Configures the NVIC for CAN. - * @param None - * @retval None - */ -void NVIC_Config(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - -#ifdef USE_CAN1 - NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX0_IRQn; -#else /* USE_CAN2 */ - NVIC_InitStructure.NVIC_IRQChannel = CAN2_RX0_IRQn; -#endif /* USE_CAN1 */ - - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -/** - * @brief Initializes the Rx Message. - * @param RxMessage: pointer to the message to initialize - * @retval None - */ -void Init_RxMes(CanRxMsg *RxMessage) -{ - uint8_t i = 0; - - RxMessage->StdId = 0x00; - RxMessage->ExtId = 0x00; - RxMessage->IDE = CAN_ID_STD; - RxMessage->DLC = 0; - RxMessage->FMI = 0; - for (i = 0;i < 8;i++) - { - RxMessage->Data[i] = 0x00; - } -} - -/** - * @brief Turn ON/OFF the dedicated led - * @param Ledstatus: Led number from 0 to 3. - * @retval None - */ -void LED_Display(uint8_t Ledstatus) -{ - /* Turn off all leds */ - STM_EVAL_LEDOff(LED1); - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - - switch(Ledstatus) - { - case(1): - STM_EVAL_LEDOn(LED1); - break; - - case(2): - STM_EVAL_LEDOn(LED2); - break; - - case(3): - STM_EVAL_LEDOn(LED3); - break; - - case(4): - STM_EVAL_LEDOn(LED4); - break; - default: - break; - } -} - -/** - * @brief Delay - * @param None - * @retval None - */ -void Delay(void) -{ - uint16_t nTime = 0x0000; - - for(nTime = 0; nTime <0xFFF; nTime++) - { - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/main.h deleted file mode 100644 index bf81ddb1f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/main.h +++ /dev/null @@ -1,69 +0,0 @@ -/** - ****************************************************************************** - * @file CAN/Networking/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -#define USE_CAN1 -/* #define USE_CAN2 */ - -#ifdef USE_CAN1 - #define CANx CAN1 - #define CAN_CLK RCC_APB1Periph_CAN1 - #define CAN_RX_PIN GPIO_Pin_0 - #define CAN_TX_PIN GPIO_Pin_1 - #define CAN_GPIO_PORT GPIOD - #define CAN_GPIO_CLK RCC_AHB1Periph_GPIOD - #define CAN_AF_PORT GPIO_AF_CAN1 - #define CAN_RX_SOURCE GPIO_PinSource0 - #define CAN_TX_SOURCE GPIO_PinSource1 -#else /*USE_CAN2*/ - #define CANx CAN2 - #define CAN_CLK (RCC_APB1Periph_CAN1 | RCC_APB1Periph_CAN2) - #define CAN_RX_PIN GPIO_Pin_5 - #define CAN_TX_PIN GPIO_Pin_13 - #define CAN_GPIO_PORT GPIOB - #define CAN_GPIO_CLK RCC_AHB1Periph_GPIOB - #define CAN_AF_PORT GPIO_AF_CAN2 - #define CAN_RX_SOURCE GPIO_PinSource5 - #define CAN_TX_SOURCE GPIO_PinSource13 -#endif /* USE_CAN1 */ - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void LED_Display(uint8_t Ledstatus); - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/readme.txt deleted file mode 100644 index 323565e09..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/readme.txt +++ /dev/null @@ -1,118 +0,0 @@ -/** - @page CAN_Networking CAN Networking example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file CAN/Networking/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the CAN Networking example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the CAN peripheral to send and receive -CAN frames in normal mode. The sent frames are used to control Leds by pressing -key push button. - -The CAN serial communication link is a bus to which a number of units may be -connected. This number has no theoretical limit. Practically the total number -of units will be limited by delay times and/or electrical loads on the bus line. - -This program behaves as follows: - - After reset LED1 is ON - - By Pressing on KEY Button : LED2 turns ON and all other Leds are OFF, on the N - eval boards connected to the bus. - - Press on KEY Button again to send CAN Frame to command LEDn+1 ON, all other Leds - are OFF on the N eval boards. - -@note This example is tested with a bus of 3 units. The same program example is - loaded in all units to send and receive frames. -@note Any unit in the CAN bus may play the role of sender (by pressing KEY button) - or receiver. - - The CAN is configured as follow: - - Bit Rate = 1 Mbit/s - - CAN Clock = external clock (HSE) - - ID Filter = All identifiers are allowed - - RTR = Data - - DLC = 1 byte - - Data: Led number that should be turned ON - -User can select CAN1 or CAN2 cell using the defines in main.h : -@code -#define USE_CAN1 -/* #define USE_CAN2*/ -@endcode - - -@par Directory contents - - - CAN/Networking/system_stm32f2xx.c STM32F2xx system clock configuration file - - CAN/Networking/stm32f2xx_conf.h Library Configuration file - - CAN/Networking/stm32f2xx_it.h Interrupt handlers header file - - CAN/Networking/stm32f2xx_it.c Interrupt handlers - - CAN/Networking/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - Use KEY Push Button connected to PG15 - - Connect a female/female CAN cable between at least 2 EVAL CAN connectors (CN10) - - Depending on the CAN cell used, you have to configure the jumpers as follows: - - @verbatim - +-----------------------------------------------+ - | Jumper | CAN1 used | CAN2 used | - +-----------------------------------------------+ - | JP3 | 2-3 | 1-2 | - | JP10 | 2-3 | 1-2 | - | JP7 | 1-2 | 1-2 | - | JP9 | fitted | fitted | - +-----------------------------------------------+ - - @endverbatim - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/stm32f2xx_conf.h deleted file mode 100644 index 03f3d4789..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file CAN/Networking/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/stm32f2xx_it.c deleted file mode 100644 index d36a343ea..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/stm32f2xx_it.c +++ /dev/null @@ -1,213 +0,0 @@ -/** - ****************************************************************************** - * @file CAN/Networking/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CAN_Networking - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -CanRxMsg RxMessage; -extern uint8_t KeyNumber; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -#ifdef USE_CAN1 -/** - * @brief This function handles CAN1 RX0 request. - * @param None - * @retval None - */ -void CAN1_RX0_IRQHandler(void) -{ - CAN_Receive(CAN1, CAN_FIFO0, &RxMessage); - - if ((RxMessage.StdId == 0x321)&&(RxMessage.IDE == CAN_ID_STD) && (RxMessage.DLC == 1)) - { - LED_Display(RxMessage.Data[0]); - KeyNumber = RxMessage.Data[0]; - } -} -#endif /* USE_CAN1 */ - -#ifdef USE_CAN2 -/** - * @brief This function handles CAN2 RX0 request. - * @param None - * @retval None - */ -void CAN2_RX0_IRQHandler(void) -{ - CAN_Receive(CAN2, CAN_FIFO0, &RxMessage); - - if ((RxMessage.StdId == 0x321)&&(RxMessage.IDE == CAN_ID_STD) && (RxMessage.DLC == 1)) - { - LED_Display(RxMessage.Data[0]); - KeyNumber = RxMessage.Data[0]; - } -} -#endif /* USE_CAN2 */ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/stm32f2xx_it.h deleted file mode 100644 index f49f842bc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/stm32f2xx_it.h +++ /dev/null @@ -1,62 +0,0 @@ -/** - ****************************************************************************** - * @file CAN/Networking/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void CAN1_RX0_IRQHandler(void); -void CAN2_RX0_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CAN/Networking/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/main.c deleted file mode 100644 index 4157b3214..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/main.c +++ /dev/null @@ -1,127 +0,0 @@ -/** - ****************************************************************************** - * @file CRC/CRC_Example/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CRC_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define BUFFER_SIZE 114 - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -static const uint32_t DataBuffer[BUFFER_SIZE] = - { - 0x00001021, 0x20423063, 0x408450a5, 0x60c670e7, 0x9129a14a, 0xb16bc18c, - 0xd1ade1ce, 0xf1ef1231, 0x32732252, 0x52b54294, 0x72f762d6, 0x93398318, - 0xa35ad3bd, 0xc39cf3ff, 0xe3de2462, 0x34430420, 0x64e674c7, 0x44a45485, - 0xa56ab54b, 0x85289509, 0xf5cfc5ac, 0xd58d3653, 0x26721611, 0x063076d7, - 0x569546b4, 0xb75ba77a, 0x97198738, 0xf7dfe7fe, 0xc7bc48c4, 0x58e56886, - 0x78a70840, 0x18612802, 0xc9ccd9ed, 0xe98ef9af, 0x89489969, 0xa90ab92b, - 0x4ad47ab7, 0x6a961a71, 0x0a503a33, 0x2a12dbfd, 0xfbbfeb9e, 0x9b798b58, - 0xbb3bab1a, 0x6ca67c87, 0x5cc52c22, 0x3c030c60, 0x1c41edae, 0xfd8fcdec, - 0xad2abd0b, 0x8d689d49, 0x7e976eb6, 0x5ed54ef4, 0x2e321e51, 0x0e70ff9f, - 0xefbedfdd, 0xcffcbf1b, 0x9f598f78, 0x918881a9, 0xb1caa1eb, 0xd10cc12d, - 0xe16f1080, 0x00a130c2, 0x20e35004, 0x40257046, 0x83b99398, 0xa3fbb3da, - 0xc33dd31c, 0xe37ff35e, 0x129022f3, 0x32d24235, 0x52146277, 0x7256b5ea, - 0x95a88589, 0xf56ee54f, 0xd52cc50d, 0x34e224c3, 0x04817466, 0x64475424, - 0x4405a7db, 0xb7fa8799, 0xe75ff77e, 0xc71dd73c, 0x26d336f2, 0x069116b0, - 0x76764615, 0x5634d94c, 0xc96df90e, 0xe92f99c8, 0xb98aa9ab, 0x58444865, - 0x78066827, 0x18c008e1, 0x28a3cb7d, 0xdb5ceb3f, 0xfb1e8bf9, 0x9bd8abbb, - 0x4a755a54, 0x6a377a16, 0x0af11ad0, 0x2ab33a92, 0xed0fdd6c, 0xcd4dbdaa, - 0xad8b9de8, 0x8dc97c26, 0x5c644c45, 0x3ca22c83, 0x1ce00cc1, 0xef1fff3e, - 0xdf7caf9b, 0xbfba8fd9, 0x9ff86e17, 0x7e364e55, 0x2e933eb2, 0x0ed11ef0 - }; - -__IO uint32_t CRCValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Enable CRC clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE); - - /* Compute the CRC of "DataBuffer" */ - CRCValue = CRC_CalcBlockCRC((uint32_t *)DataBuffer, BUFFER_SIZE); - - while (1) - { - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/readme.txt deleted file mode 100644 index 0b440b1b7..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/readme.txt +++ /dev/null @@ -1,71 +0,0 @@ -/** - @page CRC_Example CRC Calculation Example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file CRC/CRC_Example/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the CRC example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to use CRC (cyclic redundancy check) calculation unit to -get a CRC code of a given buffer of data word(32-bit), based on a fixed generator -polynomial(0x4C11DB7). - - -@par Directory contents - - - CRC/CRC_Example/stm32f2xx_conf.h Library Configuration file - - CRC/CRC_Example/stm32f2xx_it.c Interrupt handlers - - CRC/CRC_Example/stm32f2xx_it.h Interrupt handlers header file - - CRC/CRC_Example/main.c Main program - - CRC/CRC_Example/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/stm32f2xx_conf.h deleted file mode 100644 index 65bdc335d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file CRC/CRC_Example/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/stm32f2xx_it.c deleted file mode 100644 index 363d0a45a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file CRC/CRC_Example/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CRC_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/stm32f2xx_it.h deleted file mode 100644 index eebb605ae..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file CRC/CRC_Example/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRC/CRC_Example/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/Expected_Results.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/Expected_Results.txt deleted file mode 100644 index 999c836ae..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/Expected_Results.txt +++ /dev/null @@ -1,25 +0,0 @@ - ====================================== - === CRYP AES-128 Using DMA Example === - ====================================== - --------------------------------------- - Plain Data : - --------------------------------------- -[0x20212223][0x24252627][0x28292A2B][0x2C2D2E2F] Block 0 -[0xFFEEDDCC][0xBBAA9988][0x77665544][0x33221100] Block 1 - - --------------------------------------- - Key : - --------------------------------------- -[0x40414243][0x44454647][0x48494A4B][0x4C4D4E4F] - - --------------------------------------- - AES-128 Encrypted Data: - --------------------------------------- -[0x8CAA7F58][0x9AA0CEB6][0x350A45E7][0x A6E435B] Block 0 -[0xFE9BD6DE][0x4F5597F8][0x11FDF0A8][0x D55FAFE] Block 1 - - --------------------------------------- - AES-128 Decrypted Data: - --------------------------------------- -[0x20212223][0x24252627][0x28292A2B][0x2C2D2E2F] Block 0 -[0xFFEEDDCC][0xBBAA9988][0x77665544][0x33221100] Block 1 diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/main.c deleted file mode 100644 index c85d69cc3..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/main.c +++ /dev/null @@ -1,499 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/AES_ECBmode_DMA/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stdio.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup AES_ECBmode_DMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define BLOCKS_NBR 2 /* User can change this value to enlarge or reduce - the number of blocks to encrypt */ -#define DATA_SIZE ((BLOCKS_NBR *128)/32) -#define CRYP_DIN_REG_ADDR ((uint32_t)0x50060008) /* Crypto DIN register address */ -#define CRYP_DOUT_REG_ADDR ((uint32_t)0x5006000C) /* Crypto DOUT register address */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ - -__IO uint32_t AES128key[4]={0x40414243,0x44454647,0x48494a4b,0x4c4d4e4f}; - -__IO uint32_t PlainData[DATA_SIZE]={ - 0x20212223,0x24252627,0x28292a2b,0x2c2d2e2f, /* Block 0 */ - 0xFFEEDDCC,0xBBAA9988,0x77665544,0x33221100}; /* Block 1 */ -__IO uint32_t EncryptedData[DATA_SIZE]; -__IO uint32_t DecryptedData[DATA_SIZE]; - -/* Private function prototypes -----------------------------------------------*/ -void AES128_Encrypt_DMA(void); -void AES128_Decrypt_DMA(void); - -void Display_PlainData(void); -void Display_EncryptedData(void); -void Display_DecryptedData(void); -void USART_Config(void); - -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ -/*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - /* USART Configuration */ - USART_Config(); - - /* Display Plain Data*/ - Display_PlainData(); - -/*===================================================== - Encryption -======================================================*/ - /* Encryption */ - AES128_Encrypt_DMA(); - - /* Display encrypted Data */ - Display_EncryptedData(); - -/*===================================================== - Decryption -======================================================*/ - /* Decryption */ - AES128_Decrypt_DMA(); - - /* Display decrypted data */ - Display_DecryptedData(); - - while(1); -} - -/** - * @brief Encrypt Data using AES - * @note DATA transfer is done by the DMA - * @note DMA2 stream6 channel2 is used to transfer data from memory (the - * PlainData Table) to CRYP Peripheral (the INPUT data register). - * @note DMA2 stream5 channel2 is used to transfer data from CRYP Peripheral - * (the OUTPUT data register to memory (the EncryptedData Table). - * @param None - * @retval None - */ -void AES128_Encrypt_DMA(void) -{ - CRYP_InitTypeDef CRYP_InitStructure; - CRYP_KeyInitTypeDef CRYP_KeyInitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /* Enable CRYP clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_CRYP, ENABLE); - - /* Enable DMA2 clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); - - /* CRYP configuration********************************************************/ - /* Crypto key structure initialisation */ - CRYP_KeyStructInit(&CRYP_KeyInitStructure); - - /* Crypto Init for Encryption process */ - CRYP_InitStructure.CRYP_AlgoDir = CRYP_AlgoDir_Encrypt; - CRYP_InitStructure.CRYP_AlgoMode = CRYP_AlgoMode_AES_ECB; - CRYP_InitStructure.CRYP_DataType = CRYP_DataType_32b; - CRYP_InitStructure.CRYP_KeySize = CRYP_KeySize_128b; - CRYP_Init(&CRYP_InitStructure); - - /* Key Initialisation */ - CRYP_KeyInitStructure.CRYP_Key2Left = AES128key[0]; - CRYP_KeyInitStructure.CRYP_Key2Right= AES128key[1]; - CRYP_KeyInitStructure.CRYP_Key3Left = AES128key[2]; - CRYP_KeyInitStructure.CRYP_Key3Right= AES128key[3]; - CRYP_KeyInit(&CRYP_KeyInitStructure); - - /* Enable DMA Requests ******************************************************/ - CRYP_DMACmd(CRYP_DMAReq_DataIN, ENABLE); - CRYP_DMACmd(CRYP_DMAReq_DataOUT, ENABLE); - - /* DMA Configuration*********************************************************/ - DMA_DeInit(DMA2_Stream5); - DMA_DeInit(DMA2_Stream6); - /* set common DMA parameters for Stream 5 and 6*/ - DMA_InitStructure.DMA_Channel = DMA_Channel_2; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_BufferSize = DATA_SIZE; - - /* Set the parameters to be configured for stream 6*/ - DMA_InitStructure.DMA_PeripheralBaseAddr = CRYP_DIN_REG_ADDR; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)PlainData; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - - /* Configure the DMA Stream 6 */ - DMA_Init(DMA2_Stream6, &DMA_InitStructure); - - /* Set the parameters to be configured for stream 5*/ - DMA_InitStructure.DMA_PeripheralBaseAddr = CRYP_DOUT_REG_ADDR; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)EncryptedData; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - - /* Configure the DMA Stream 5 */ - DMA_Init(DMA2_Stream5, &DMA_InitStructure); - - /* Enable DMA streams*******************************************************/ - DMA_Cmd(DMA2_Stream6, ENABLE); - DMA_Cmd(DMA2_Stream5, ENABLE); - - /* Enable Crypto processor *************************************************/ - CRYP_Cmd(ENABLE); - - /* wait until the last transfer from OUT FIFO : - all encrypted Data are transferred from crypt processor */ - while (DMA_GetFlagStatus(DMA2_Stream5, DMA_FLAG_TCIF5) == RESET); - - /* Disable Crypto and DMA **************************************************/ - CRYP_Cmd(DISABLE); - CRYP_DMACmd(CRYP_DMAReq_DataIN, DISABLE); - CRYP_DMACmd(CRYP_DMAReq_DataOUT, DISABLE); - DMA_Cmd(DMA2_Stream5, DISABLE); - DMA_Cmd(DMA2_Stream6, DISABLE); -} - -/** - * @brief Decrypt Data using AES - * @note DATA transfer is done by DMA - * @note DMA2 stream6 channel2 is used to transfer data from memory (the - * EncryptedData Table) to CRYP Peripheral (the INPUT data register). - * @note DMA2 stream5 channel2 is used to transfer data from CRYP Peripheral - * (the OUTPUT data register to memory (the DecryptedData Table). - * @param None - * @retval None - */ -void AES128_Decrypt_DMA(void) -{ - CRYP_InitTypeDef CRYP_InitStructure; - CRYP_KeyInitTypeDef CRYP_KeyInitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /* Enable CRYP clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_CRYP, ENABLE); - - /* Enable DMA2 clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); - - /* CRYP configuration*******************************************************/ - /* Crypto Init for Key preparation for Decryption process */ - CRYP_InitStructure.CRYP_AlgoDir = CRYP_AlgoDir_Decrypt; - CRYP_InitStructure.CRYP_AlgoMode = CRYP_AlgoMode_AES_Key; - CRYP_InitStructure.CRYP_DataType = CRYP_DataType_32b; - CRYP_InitStructure.CRYP_KeySize = CRYP_KeySize_128b; - CRYP_Init(&CRYP_InitStructure); - - /* Key Initialisation */ - CRYP_KeyInitStructure.CRYP_Key2Left = AES128key[0]; - CRYP_KeyInitStructure.CRYP_Key2Right= AES128key[1]; - CRYP_KeyInitStructure.CRYP_Key3Left = AES128key[2]; - CRYP_KeyInitStructure.CRYP_Key3Right= AES128key[3]; - CRYP_KeyInit(&CRYP_KeyInitStructure); - - /* Enable Crypto processor */ - CRYP_Cmd(ENABLE); - - /* wait until the Busy flag is reset */ - while (CRYP_GetFlagStatus(CRYP_FLAG_BUSY) != RESET); - - /* Disable Crypto processor */ - CRYP_Cmd(DISABLE); - - /* Crypto Init for Decryption process */ - CRYP_InitStructure.CRYP_AlgoDir = CRYP_AlgoDir_Decrypt; - CRYP_InitStructure.CRYP_AlgoMode = CRYP_AlgoMode_AES_ECB; - CRYP_InitStructure.CRYP_DataType = CRYP_DataType_32b; - CRYP_InitStructure.CRYP_KeySize = CRYP_KeySize_128b; - - CRYP_Init(&CRYP_InitStructure); - - - /* Enable DMA Requests ******************************************************/ - CRYP_DMACmd(CRYP_DMAReq_DataIN, ENABLE); - CRYP_DMACmd(CRYP_DMAReq_DataOUT, ENABLE); - - /* DMA Configuration*********************************************************/ - DMA_DeInit(DMA2_Stream5); - DMA_DeInit(DMA2_Stream6); - /* set common DMA parameters for Stream 5 and 6*/ - DMA_InitStructure.DMA_Channel = DMA_Channel_2; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_BufferSize = DATA_SIZE; - - /* Set the parameters to be configured for stream 6*/ - DMA_InitStructure.DMA_PeripheralBaseAddr = CRYP_DIN_REG_ADDR; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)EncryptedData; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - - /* Configure the DMA Stream 6 */ - DMA_Init(DMA2_Stream6, &DMA_InitStructure); - - /* Set the parameters to be configured for stream 5*/ - DMA_InitStructure.DMA_PeripheralBaseAddr = CRYP_DOUT_REG_ADDR; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)DecryptedData; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - - /* Configure the DMA Stream 5 */ - DMA_Init(DMA2_Stream5, &DMA_InitStructure); - - /* Enable DMA streams*******************************************************/ - DMA_Cmd(DMA2_Stream6, ENABLE); - DMA_Cmd(DMA2_Stream5, ENABLE); - - /* Enable Crypto processor *************************************************/ - CRYP_Cmd(ENABLE); - - /* wait until the last transfer from OUT FIFO : - all encrypted Data are transferred from crypt processor */ - while (DMA_GetFlagStatus(DMA2_Stream5, DMA_FLAG_TCIF5) == RESET); - - - /* Disable Crypto and DMA **************************************************/ - CRYP_Cmd(DISABLE); - CRYP_DMACmd(CRYP_DMAReq_DataIN, DISABLE); - CRYP_DMACmd(CRYP_DMAReq_DataOUT, DISABLE); - DMA_Cmd(DMA2_Stream5, DISABLE); - DMA_Cmd(DMA2_Stream6, DISABLE); - - DMA_ClearFlag(DMA2_Stream6, DMA_FLAG_TCIF5); -} - -/** - * @brief Display Plain Data - * @param None - * @retval None - */ -void Display_PlainData(void) -{ - uint32_t i=0; - uint8_t count=0; - - printf(" \n\r======================================\n\r"); - printf(" === CRYP AES-128 Using DMA Example ===\n\r"); - printf(" ======================================\n\r"); - printf(" ---------------------------------------\n\r"); - printf(" Plain Data :\n\r"); - printf(" ---------------------------------------\n\r"); - - for(i = 0; i < DATA_SIZE; i++) - { - printf("[0x%8X]", PlainData[i]); - count++; - - if(count == 4) - { - count = 0; - printf(" Block %d \n\r", i/4); - } - } - - printf(" ---------------------------------------\n\r"); - printf(" Key :\n\r"); - printf(" ---------------------------------------\n\r"); - - for(i = 0; i < 4; i++) - { - printf("[0x%8X]", AES128key[i]); - count++; - } - -} - -/** - * @brief Display Encrypted Data - * @param None - * @retval None - */ -void Display_EncryptedData(void) -{ - uint32_t i=0; - uint8_t count=0; - - printf("\n\r ---------------------------------------\n\r"); - printf(" AES-128 Encrypted Data:\n\r"); - printf(" ---------------------------------------\n\r"); - - for(i = 0; i < DATA_SIZE; i++) - { - printf("[0x%8X]", EncryptedData[i]); - count++; - - if(count == 4) - { - count = 0; - printf(" Block %d \n\r", i/4); - } - } -} - -/** - * @brief Display Decrypted Data - * @param None - * @retval None - */ -void Display_DecryptedData(void) -{ - uint32_t i=0; - uint8_t count=0; - - printf("\n\r ---------------------------------------\n\r"); - printf(" AES-128 Decrypted Data:\n\r"); - printf(" ---------------------------------------\n\r"); - - for(i = 0; i < DATA_SIZE; i++) - { - printf("[0x%8X]", DecryptedData[i]); - count++; - - if(count == 4) - { - count = 0; - printf(" Block %d \n\r", i/4); - } - } -} - -/** - * @brief USART configuration - * @param None - * @retval None - */ -void USART_Config(void) -{ - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitTypeDef USART_InitStructure; - - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); -} - - -/** - * @brief Retargets the C library printf function to the USART. - * @param None - * @retval None - */ -PUTCHAR_PROTOTYPE -{ - /* Place your implementation of fputc here */ - /* e.g. write a character to the USART */ - USART_SendData(EVAL_COM1, (uint8_t) ch); - - /* Loop until the end of transmission */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - {} - - return ch; -} - - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/readme.txt deleted file mode 100644 index b3ed8abe0..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/readme.txt +++ /dev/null @@ -1,102 +0,0 @@ -/** - @page AES_ECBmode_DMA Encrypt and Decrypt data using AES-128 Algo in ECB mode, with DMA - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file CRYP/AES_ECBmode_DMA/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the CRYP AES-128 Algo in ECB mode with DMA Example - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the CRYPTO peripheral to -encrypt and decrypt data using AES-128 Algorithm. - -For this example, DMA is used to transfer data from memory to the CRYPTO processor -IN FIFO and also to transfer data from CRYPTO processor OUT FIFO to memory. - -The data to be encrypted is a 640 bit data, which correspond to 5 AES Blocks. - -This example behaves as below: -- AES Encryption (PlainData --> EncryptedData) -- AES Key prepation for decryption (Encryption Key --> Decryption Key) -- AES Decryption (EncryptedData --> DecryptedData) - -The Plain data, encrypted data and decrypted data can be displayed on a PC -HyperTerminal using the USART (CN16). - -The USARTx is configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - - -@par Directory contents - - - CRYP/AES_ECBmode_DMA/system_stm32f2xx.c STM32F2xx system clock configuration file - - CRYP/AES_ECBmode_DMA/stm32f2xx_conf.h Library Configuration file - - CRYP/AES_ECBmode_DMA/stm32f2xx_it.h Interrupt handlers header file - - CRYP/AES_ECBmode_DMA/stm32f2xx_it.c Interrupt handlers - - CRYP/AES_ECBmode_DMA/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs only on STM32F21x Devices (Cryptographic acceleration not - embedded in STM32F20x Devices). - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/stm32f2xx_conf.h deleted file mode 100644 index df86f8ef9..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/AES_ECBmode_DMA/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/stm32f2xx_it.c deleted file mode 100644 index 245b0ca5a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/AES_ECBmode_DMA/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup AES_ECBmode_DMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/stm32f2xx_it.h deleted file mode 100644 index 8d79d89dd..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/AES_ECBmode_DMA/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_ECBmode_DMA/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/Expected_Results.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/Expected_Results.txt deleted file mode 100644 index 6951a4e66..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/Expected_Results.txt +++ /dev/null @@ -1,170 +0,0 @@ - ============================================================= - ================= Crypt Using HW Crypto ==================== - ============================================================ - --------------------------------------- - Plain Data : - --------------------------------------- -[0x6B][0xC1][0xBE][0xE2][0x2E][0x40][0x9F][0x96][0xE9][0x3D][0x7E][0x11][0x73][0x93][0x17][0x2A] Block 0 -[0xAE][0x2D][0x8A][0x57][0x1E][0x03][0xAC][0x9C][0x9E][0xB7][0x6F][0xAC][0x45][0xAF][0x8E][0x51] Block 1 -[0x30][0xC8][0x1C][0x46][0xA3][0x5C][0xE4][0x11][0xE5][0xFB][0xC1][0x19][0x1A][0x0A][0x52][0xEF] Block 2 -[0xF6][0x9F][0x24][0x45][0xDF][0x4F][0x9B][0x17][0xAD][0x2B][0x41][0x7B][0xE6][0x6C][0x37][0x10] Block 3 - - Press any key to continue... - - ======================================= - Encrypted Data with AES 128 Mode ECB - --------------------------------------- -[0x3A][0xD7][0x7B][0xB4][0x0D][0x7A][0x36][0x60][0xA8][0x9E][0xCA][0xF3][0x24][0x66][0xEF][0x97] Block 0 -[0xF5][0xD3][0xD5][0x85][0x03][0xB9][0x69][0x9D][0xE7][0x85][0x89][0x5A][0x96][0xFD][0xBA][0xAF] Block 1 -[0x43][0xB1][0xCD][0x7F][0x59][0x8E][0xCE][0x23][0x88][0x1B][0x00][0xE3][0xED][0x03][0x06][0x88] Block 2 -[0x7B][0x0C][0x78][0x5E][0x27][0xE8][0xAD][0x3F][0x82][0x23][0x20][0x71][0x04][0x72][0x5D][0xD4] Block 3 - - ======================================= - Encrypted Data with AES 192 Mode ECB - --------------------------------------- -[0xBD][0x33][0x4F][0x1D][0x6E][0x45][0xF2][0x5F][0xF7][0x12][0xA2][0x14][0x57][0x1F][0xA5][0xCC] Block 0 -[0x97][0x41][0x04][0x84][0x6D][0x0A][0xD3][0xAD][0x77][0x34][0xEC][0xB3][0xEC][0xEE][0x4E][0xEF] Block 1 -[0xEF][0x7A][0xFD][0x22][0x70][0xE2][0xE6][0x0A][0xDC][0xE0][0xBA][0x2F][0xAC][0xE6][0x44][0x4E] Block 2 -[0x9A][0x4B][0x41][0xBA][0x73][0x8D][0x6C][0x72][0xFB][0x16][0x69][0x16][0x03][0xC1][0x8E][0x0E] Block 3 - - ======================================= - Encrypted Data with AES 256 Mode ECB - --------------------------------------- -[0xF3][0xEE][0xD1][0xBD][0xB5][0xD2][0xA0][0x3C][0x06][0x4B][0x5A][0x7E][0x3D][0xB1][0x81][0xF8] Block 0 -[0x59][0x1C][0xCB][0x10][0xD4][0x10][0xED][0x26][0xDC][0x5B][0xA7][0x4A][0x31][0x36][0x28][0x70] Block 1 -[0xB6][0xED][0x21][0xB9][0x9C][0xA6][0xF4][0xF9][0xF1][0x53][0xE7][0xB1][0xBE][0xAF][0xED][0x1D] Block 2 -[0x23][0x30][0x4B][0x7A][0x39][0xF9][0xF3][0xFF][0x06][0x7D][0x8D][0x8F][0x9E][0x24][0xEC][0xC7] Block 3 - - Press any key to continue... - - ======================================= - Decrypted Data with AES 128 Mode ECB - --------------------------------------- -[0x6B][0xC0][0xBC][0xE1][0x2A][0x45][0x99][0x91][0xE1][0x34][0x74][0x1A][0x7F][0x9E][0x19][0x25] Block 0 -[0xD8][0x64][0x21][0xFB][0x9F][0x1A][0x1E][0xDA][0x50][0x5E][0xE1][0x37][0x57][0x46][0x97][0x2C] Block 1 -[0x60][0x4E][0xD7][0xDD][0xF3][0x2E][0xFD][0xFF][0x70][0x20][0xD0][0x23][0x8B][0x7C][0x2A][0x5D] Block 2 -[0x85][0x21][0xF2][0xFD][0x3C][0x8E][0xEF][0x2C][0xDC][0x3D][0xA7][0xE5][0xC4][0x4E][0xA2][0x06] Block 3 - - ======================================= - Decrypted Data with AES 192 Mode ECB - --------------------------------------- -[0x4F][0x29][0xDF][0x6B][0x08][0x18][0x89][0xD1][0xD5][0x32][0x39][0x5C][0xF9][0x68][0x6D][0x3C] Block 0 -[0xDA][0x32][0x3A][0x59][0x4B][0x66][0x84][0x2B][0x0C][0x2C][0x7D][0x54][0x26][0xBA][0xDB][0x43] Block 1 -[0x63][0xCC][0x39][0x59][0x12][0x82][0xF5][0x61][0xBB][0xC5][0xEC][0x77][0xD8][0x39][0x56][0xAE] Block 2 -[0xD5][0x70][0xFD][0x6D][0x5B][0x9E][0x8E][0x40][0xAE][0x2D][0xBB][0xF2][0x14][0xC3][0x80][0x7E] Block 3 - - ======================================= - Decrypted Data with AES 256 Mode ECB - --------------------------------------- -[0xBB][0xC4][0x2D][0x8F][0x95][0x09][0xDB][0x39][0x1F][0xD8][0xB6][0x44][0x81][0xE6][0x1E][0xED] Block 0 -[0x6D][0x7F][0xD8][0x8D][0x64][0x96][0x07][0x14][0xB8][0x12][0xDD][0xB8][0x16][0x75][0xF2][0x20] Block 1 -[0x6E][0xF9][0xB4][0x81][0x8E][0x70][0x61][0x4D][0x76][0x0C][0x03][0xE6][0xE1][0xB7][0xE1][0xED] Block 2 -[0x81][0x4B][0xC2][0x11][0xD7][0x9C][0x47][0xDF][0xE3][0xDC][0x76][0x15][0xBD][0x2D][0xEB][0x86] Block 3 - - Press any key to continue... - - ======================================= - Encrypted Data with AES 128 Mode CBC - --------------------------------------- -[0x76][0x49][0xAB][0xAC][0x81][0x19][0xB2][0x46][0xCE][0xE9][0x8E][0x9B][0x12][0xE9][0x19][0x7D] Block 0 -[0x50][0x86][0xCB][0x9B][0x50][0x72][0x19][0xEE][0x95][0xDB][0x11][0x3A][0x91][0x76][0x78][0xB2] Block 1 -[0x73][0xBE][0xD6][0xB8][0xE3][0xC1][0x74][0x3B][0x71][0x16][0xE6][0x9E][0x22][0x22][0x95][0x16] Block 2 -[0x3F][0xF1][0xCA][0xA1][0x68][0x1F][0xAC][0x09][0x12][0x0E][0xCA][0x30][0x75][0x86][0xE1][0xA7] Block 3 - - ======================================= - Encrypted Data with AES 192 Mode CBC - --------------------------------------- -[0x4F][0x02][0x1D][0xB2][0x43][0xBC][0x63][0x3D][0x71][0x78][0x18][0x3A][0x9F][0xA0][0x71][0xE8] Block 0 -[0xB4][0xD9][0xAD][0xA9][0xAD][0x7D][0xED][0xF4][0xE5][0xE7][0x38][0x76][0x3F][0x69][0x14][0x5A] Block 1 -[0x57][0x1B][0x24][0x20][0x12][0xFB][0x7A][0xE0][0x7F][0xA9][0xBA][0xAC][0x3D][0xF1][0x02][0xE0] Block 2 -[0x08][0xB0][0xE2][0x79][0x88][0x59][0x88][0x81][0xD9][0x20][0xA9][0xE6][0x4F][0x56][0x15][0xCD] Block 3 - - ======================================= - Encrypted Data with AES 256 Mode CBC - --------------------------------------- -[0xF5][0x8C][0x4C][0x04][0xD6][0xE5][0xF1][0xBA][0x77][0x9E][0xAB][0xFB][0x5F][0x7B][0xFB][0xD6] Block 0 -[0x9C][0xFC][0x4E][0x96][0x7E][0xDB][0x80][0x8D][0x67][0x9F][0x77][0x7B][0xC6][0x70][0x2C][0x7D] Block 1 -[0x39][0xF2][0x33][0x69][0xA9][0xD9][0xBA][0xCF][0xA5][0x30][0xE2][0x63][0x04][0x23][0x14][0x61] Block 2 -[0xB2][0xEB][0x05][0xE2][0xC3][0x9B][0xE9][0xFC][0xDA][0x6C][0x19][0x07][0x8C][0x6A][0x9D][0x1B] Block 3 - - Press any key to continue... - - ======================================= - Decrypted Data with AES 128 Mode CBC - --------------------------------------- -[0x6B][0xC1][0xBE][0xE2][0x2E][0x40][0x9F][0x96][0xE9][0x3D][0x7E][0x11][0x73][0x93][0x17][0x2A] Block 0 -[0xAE][0x2D][0x8A][0x57][0x1E][0x03][0xAC][0x9C][0x9E][0xB7][0x6F][0xAC][0x45][0xAF][0x8E][0x51] Block 1 -[0x30][0xC8][0x1C][0x46][0xA3][0x5C][0xE4][0x11][0xE5][0xFB][0xC1][0x19][0x1A][0x0A][0x52][0xEF] Block 2 -[0xF6][0x9F][0x24][0x45][0xDF][0x4F][0x9B][0x17][0xAD][0x2B][0x41][0x7B][0xE6][0x6C][0x37][0x10] Block 3 - - ======================================= - Decrypted Data with AES 192 Mode CBC - --------------------------------------- -[0x4F][0x28][0xDD][0x68][0x0C][0x1D][0x8F][0xD6][0xDD][0x3B][0x33][0x57][0xF5][0x65][0x63][0x33] Block 0 -[0xAC][0x7B][0x91][0xF5][0xCA][0x7F][0x36][0x6D][0xC2][0xC5][0xF3][0xCF][0x34][0x53][0xC2][0x3E] Block 1 -[0x33][0x4A][0xF2][0xC2][0x42][0xF0][0xEC][0x8F][0x2E][0x1E][0xFD][0x4D][0x49][0x4F][0x2E][0x1C] Block 2 -[0xA6][0xCE][0x2B][0xD5][0xB8][0x5F][0xFA][0x7B][0xDF][0x3B][0x5D][0x6C][0x36][0xE1][0x15][0x68] Block 3 - - ======================================= - Decrypted Data with AES 256 Mode CBC - --------------------------------------- -[0xBB][0xC5][0x2F][0x8C][0x91][0x0C][0xDD][0x3E][0x17][0xD1][0xBC][0x4F][0x8D][0xEB][0x10][0xE2] Block 0 -[0x1B][0x36][0x73][0x21][0xE5][0x8F][0xB5][0x52][0x76][0xFB][0x53][0x23][0x04][0x9C][0xEB][0x5D] Block 1 -[0x3E][0x7F][0x7F][0x1A][0xDE][0x02][0x78][0xA3][0xE3][0xD7][0x12][0xDC][0x70][0xC1][0x99][0x5F] Block 2 -[0xF2][0xF5][0x14][0xA9][0x34][0x5D][0x33][0xE4][0x92][0xCA][0x90][0x8B][0x9F][0x0F][0x7E][0x90] Block 3 - - Press any key to continue... - - ======================================= - Encrypted Data with AES 128 Mode CTR - --------------------------------------- -[0x3B][0x3F][0xD9][0x2E][0xB7][0x2D][0xAD][0x20][0x33][0x34][0x49][0xF8][0xE8][0x3C][0xFB][0x4A] Block 0 -[0x01][0x0C][0x04][0x19][0x99][0xE0][0x3F][0x36][0x44][0x86][0x24][0x48][0x3E][0x58][0x2D][0x0E] Block 1 -[0xA6][0x22][0x93][0xCF][0xA6][0xDF][0x74][0x53][0x5C][0x35][0x41][0x81][0x16][0x87][0x74][0xDF] Block 2 -[0x2D][0x55][0xA5][0x47][0x06][0x27][0x3C][0x50][0xD7][0xB4][0xF8][0xA8][0xCD][0xDC][0x6E][0xD7] Block 3 - - ======================================= - Encrypted Data with AES 192 Mode CTR - --------------------------------------- -[0xCD][0xC8][0x0D][0x6F][0xDD][0xF1][0x8C][0xAB][0x34][0xC2][0x59][0x09][0xC9][0x9A][0x41][0x74] Block 0 -[0x37][0xD8][0xA6][0x39][0x17][0x1F][0xDC][0xCA][0x63][0xEB][0xD1][0x7C][0xE2][0xD7][0x32][0x1A] Block 1 -[0x79][0xA0][0xC9][0x6B][0x53][0xC7][0xEE][0xEC][0xD9][0xED][0x71][0x57][0xC4][0x44][0xFC][0x7A] Block 2 -[0x84][0x5C][0x37][0xB2][0xF5][0x11][0x69][0x7B][0x0E][0x89][0xD5][0xED][0x60][0xC4][0xD4][0x9E] Block 3 - - ======================================= - Encrypted Data with AES 256 Mode CTR - --------------------------------------- -[0xDC][0x7E][0x84][0xBF][0xDA][0x79][0x16][0x4B][0x7E][0xCD][0x84][0x86][0x98][0x5D][0x38][0x60] Block 0 -[0xD5][0x77][0x78][0x8B][0x8D][0x8A][0x85][0x74][0x55][0x13][0xA5][0xD5][0x0F][0x82][0x1F][0x30] Block 1 -[0xFF][0xE9][0x6D][0x5C][0xF5][0x4B][0x23][0x8D][0xCC][0x8D][0x67][0x83][0xA8][0x7F][0x3B][0xEA] Block 2 -[0xE9][0xAF][0x54][0x63][0x44][0xCB][0x9C][0xA4][0xD1][0xE5][0x53][0xFF][0xC0][0x6B][0xC7][0x3E] Block 3 - - Press any key to continue... - - ======================================= - Decrypted Data with AES 128 Mode CTR - --------------------------------------- -[0x26][0xB7][0xCC][0x60][0x18][0x74][0x80][0xF0][0x14][0xE0][0xB9][0x72][0x89][0x46][0xF5][0x1D] Block 0 -[0xFF][0xA7][0x45][0xD5][0xD7][0x91][0x8A][0x44][0x4F][0xEA][0x5A][0xDE][0xEA][0x81][0xDB][0xED] Block 1 -[0xE5][0x54][0x59][0x31][0xE6][0x42][0xE4][0x79][0xC8][0xD8][0x66][0x06][0x2E][0xAF][0xB3][0x26] Block 2 -[0xE4][0x3B][0x4B][0xA3][0xB1][0x77][0x0B][0x4E][0x68][0x91][0x73][0xE3][0x5E][0x36][0xB8][0x60] Block 3 - - ======================================= - Decrypted Data with AES 192 Mode CTR - --------------------------------------- -[0xD0][0x40][0x18][0x21][0x72][0xA8][0xA1][0x7B][0x13][0x16][0xA9][0x83][0xA8][0xE0][0x4F][0x23] Block 0 -[0xC9][0x73][0xE7][0xF5][0x59][0x6E][0x69][0xB8][0x68][0x87][0xAF][0xEA][0x36][0x0E][0xC4][0xF9] Block 1 -[0x3A][0xD6][0x03][0x95][0x13][0x5A][0x7E][0xC6][0x4D][0x00][0x56][0xD0][0xFC][0x6C][0x3B][0x83] Block 2 -[0x4D][0x32][0xD9][0x56][0x42][0x41][0x5E][0x65][0xB1][0xAC][0x5E][0xA6][0xF3][0x2E][0x02][0x29] Block 3 - - ======================================= - Decrypted Data with AES 256 Mode CTR - --------------------------------------- -[0xC1][0xF6][0x91][0xF1][0x75][0x20][0x3B][0x9B][0x59][0x19][0x74][0x0C][0xF9][0x27][0x36][0x37] Block 0 -[0x2B][0xDC][0x39][0x47][0xC3][0xFB][0x30][0x06][0x5E][0x7F][0xDB][0x43][0xDB][0x5B][0xE9][0xD3] Block 1 -[0xBC][0x9F][0xA7][0xA2][0xB5][0xD6][0xB3][0xA7][0x58][0x60][0x40][0x04][0x90][0x57][0xFC][0x13] Block 2 -[0x20][0xC1][0xBA][0x87][0xF3][0x9B][0xAB][0xBA][0x6E][0xC0][0xD8][0xB4][0x53][0x81][0x11][0x89] Block 3 - - Press any key to continue... - - Example restarted... diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/main.c deleted file mode 100644 index 4604d49f8..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/main.c +++ /dev/null @@ -1,543 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/AES_modes/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stdio.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup AES_modes - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define AES_TEXT_SIZE 64 - -#define ECB 1 -#define CBC 2 -#define CTR 3 - - uint8_t AES128key[16] = {0x2b,0x7e,0x15,0x16,0x28,0xae,0xd2,0xa6, - 0xab,0xf7,0x15,0x88,0x09,0xcf,0x4f,0x3c}; /* key size 128 bytes */ - - uint8_t AES192key[24] = {0x8e,0x73,0xb0,0xf7,0xda,0x0e,0x64,0x52, - 0xc8,0x10,0xf3,0x2b,0x80,0x90,0x79,0xe5, - 0x62,0xf8,0xea,0xd2,0x52,0x2c,0x6b,0x7b}; /* key size 192 bytes */ - - uint8_t AES256key[32] = {0x60,0x3d,0xeb,0x10,0x15,0xca,0x71,0xbe, - 0x2b,0x73,0xae,0xf0,0x85,0x7d,0x77,0x81, - 0x1f,0x35,0x2c,0x07,0x3b,0x61,0x08,0xd7, - 0x2d,0x98,0x10,0xa3,0x09,0x14,0xdf,0xf4}; /* key size 256 bytes */ - - uint8_t IV_1[16] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07, - 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; /* initialization vector */ - - uint8_t Plaintext[AES_TEXT_SIZE] = - {0x6b,0xc1,0xbe,0xe2,0x2e,0x40,0x9f,0x96, - 0xe9,0x3d,0x7e,0x11,0x73,0x93,0x17,0x2a, - 0xae,0x2d,0x8a,0x57,0x1e,0x03,0xac,0x9c, - 0x9e,0xb7,0x6f,0xac,0x45,0xaf,0x8e,0x51, - 0x30,0xc8,0x1c,0x46,0xa3,0x5c,0xe4,0x11, - 0xe5,0xfb,0xc1,0x19,0x1a,0x0a,0x52,0xef, - 0xf6,0x9f,0x24,0x45,0xdf,0x4f,0x9b,0x17, - 0xad,0x2b,0x41,0x7b,0xe6,0x6c,0x37,0x10}; /* plaintext */ - -uint8_t Ciphertext[AES_TEXT_SIZE] = - {0x76,0x49,0xab,0xac,0x81,0x19,0xb2,0x46, - 0xce,0xe9,0x8e,0x9b,0x12,0xe9,0x19,0x7d, - 0x50,0x86,0xcb,0x9b,0x50,0x72,0x19,0xee, - 0x95,0xdb,0x11,0x3a,0x91,0x76,0x78,0xb2, - 0x73,0xbe,0xd6,0xb8,0xe3,0xc1,0x74,0x3b, - 0x71,0x16,0xe6,0x9e,0x22,0x22,0x95,0x16, - 0x3f,0xf1,0xca,0xa1,0x68,0x1f,0xac,0x09, - 0x12,0x0e,0xca,0x30,0x75,0x86,0xe1,0xa7}; /* ciphertext */ - -uint8_t Encryptedtext[AES_TEXT_SIZE]; /* Encrypted text */ -uint8_t Decryptedtext[AES_TEXT_SIZE]; /* Decrypted text */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ - -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -void USART_Config(void); - -void Display_PlainData(uint32_t datalength); -void Display_EncryptedData(uint8_t mode,uint16_t keysize,uint32_t datalength); -void Display_DecryptedData(uint8_t mode,uint16_t keysize,uint32_t datalength); -char PressToContinue(void); -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ -/*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_Config(); - - /* Enable CRYP clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_CRYP, ENABLE); - - while(1) - { - - /* Display Plain Data*/ - Display_PlainData(AES_TEXT_SIZE); - -/******************************************************************************/ -/* AES mode ECB */ -/******************************************************************************/ - -/*===================================================== - Encryption ECB mode -======================================================*/ - PressToContinue(); -/****************************************/ -/* AES 128 **/ -/****************************************/ - /* Encrypt the plaintext message*/ - CRYP_AES_ECB(MODE_ENCRYPT,AES128key,128,Plaintext,AES_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(ECB,128,AES_TEXT_SIZE); -/****************************************/ -/* AES 192 **/ -/****************************************/ - /* Encrypt the plaintext message*/ - CRYP_AES_ECB(MODE_ENCRYPT,AES192key,192,Plaintext,AES_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(ECB,192,AES_TEXT_SIZE); -/****************************************/ -/* AES 256 **/ -/****************************************/ - /* Encrypt the plaintext message*/ - CRYP_AES_ECB(MODE_ENCRYPT,AES256key,256,Plaintext,AES_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(ECB, 256,AES_TEXT_SIZE); - -/*===================================================== - Decryption in ECB mode -======================================================*/ - PressToContinue(); -/****************************************/ -/* AES 128 **/ -/****************************************/ - /* Decrypt the plaintext message */ - CRYP_AES_ECB(MODE_DECRYPT,AES128key,128,Ciphertext,AES_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(ECB,128,AES_TEXT_SIZE); -/****************************************/ -/* AES 192 **/ -/****************************************/ - /* Decrypt the plaintext message */ - CRYP_AES_ECB(MODE_DECRYPT,AES192key, 192,Ciphertext, AES_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(ECB, 192,AES_TEXT_SIZE); -/****************************************/ -/* AES 256 **/ -/****************************************/ - /* Decrypt the plaintext message */ - CRYP_AES_ECB(MODE_DECRYPT,AES256key, 256,Ciphertext, AES_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(ECB,256,AES_TEXT_SIZE); - - -/******************************************************************************/ -/* AES mode CBC */ -/******************************************************************************/ - PressToContinue(); -/*===================================================== - Encryption CBC mode -======================================================*/ - -/****************************************/ -/* AES 128 **/ -/****************************************/ - /* Encrypt the plaintext message*/ - CRYP_AES_CBC(MODE_ENCRYPT,IV_1,AES128key,128,Plaintext,AES_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(CBC,128,AES_TEXT_SIZE); -/****************************************/ -/* AES 192 **/ -/****************************************/ - /* Encrypt the plaintext message*/ - CRYP_AES_CBC(MODE_ENCRYPT,IV_1,AES192key,192,Plaintext,AES_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(CBC,192,AES_TEXT_SIZE); -/****************************************/ -/* AES 256 **/ -/****************************************/ - /* Encrypt the plaintext message*/ - CRYP_AES_CBC(MODE_ENCRYPT,IV_1,AES256key,256,Plaintext,AES_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(CBC, 256,AES_TEXT_SIZE); - -/*===================================================== - Decryption in CBC mode -======================================================*/ - PressToContinue(); - /* Deinitializes the CRYP peripheral */ - CRYP_DeInit(); -/****************************************/ -/* AES 128 **/ -/****************************************/ - /* Decrypt the plaintext message */ - CRYP_AES_CBC(MODE_DECRYPT,IV_1,AES128key,128,Ciphertext,AES_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(CBC,128,AES_TEXT_SIZE); -/****************************************/ -/* AES 192 **/ -/****************************************/ - /* Deinitializes the CRYP peripheral */ - CRYP_DeInit(); - - /* Decrypt the plaintext message */ - CRYP_AES_CBC(MODE_DECRYPT,IV_1,AES192key, 192,Ciphertext, AES_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(CBC, 192,AES_TEXT_SIZE); -/****************************************/ -/* AES 256 **/ -/****************************************/ - /* Deinitializes the CRYP peripheral */ - CRYP_DeInit(); - - /* Decrypt the plaintext message */ - CRYP_AES_CBC(MODE_DECRYPT,IV_1,AES256key, 256,Ciphertext, AES_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(CBC,256,AES_TEXT_SIZE); - - -/******************************************************************************/ -/* AES mode CTR */ -/******************************************************************************/ - -/*===================================================== - Encryption CTR mode -======================================================*/ - PressToContinue(); -/****************************************/ -/* AES 128 **/ -/****************************************/ - /* Encrypt the plaintext message*/ - CRYP_AES_CTR(MODE_ENCRYPT,IV_1,AES128key,128,Plaintext,AES_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(CTR,128, AES_TEXT_SIZE); -/****************************************/ -/* AES 192 **/ -/****************************************/ - /* Encrypt the plaintext message*/ - CRYP_AES_CTR(MODE_ENCRYPT,IV_1,AES192key,192,Plaintext,AES_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(CTR,192, AES_TEXT_SIZE); -/****************************************/ -/* AES 256 **/ -/****************************************/ - /* Encrypt the plaintext message*/ - CRYP_AES_CTR(MODE_ENCRYPT,IV_1,AES256key,256,Plaintext,AES_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(CTR, 256, AES_TEXT_SIZE); - -/*===================================================== - Decryption in CTR mode -======================================================*/ - PressToContinue(); -/****************************************/ -/* AES 128 **/ -/****************************************/ - /* Decrypt the plaintext message */ - CRYP_AES_CTR(MODE_DECRYPT,IV_1,AES128key,128,Ciphertext,AES_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(CTR, 128, AES_TEXT_SIZE); -/****************************************/ -/* AES 192 **/ -/****************************************/ - /* Decrypt the plaintext message */ - CRYP_AES_CTR(MODE_DECRYPT,IV_1,AES192key,192,Ciphertext,AES_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(CTR, 192, AES_TEXT_SIZE); -/****************************************/ -/* AES 256 **/ -/****************************************/ - /* Decrypt the plaintext message */ - CRYP_AES_CTR(MODE_DECRYPT,IV_1,AES256key, 256,Ciphertext, AES_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(CTR, 256, AES_TEXT_SIZE); - -/******************************************************************************/ - PressToContinue(); - printf("\n\r Example restarted...\n "); - } -} - -/** - * @brief Display Plain Data - * @param datalength: length of the data to display - * @retval None - */ -void Display_PlainData(uint32_t datalength) -{ - uint32_t BufferCounter =0; - uint32_t count = 0; - - printf("\n\r =============================================================\n\r"); - printf(" ================= Crypt Using HW Crypto ====================\n\r"); - printf(" ============================================================\n\r"); - printf(" ---------------------------------------\n\r"); - printf(" Plain Data :\n\r"); - printf(" ---------------------------------------\n\r"); - - for(BufferCounter = 0; BufferCounter < datalength; BufferCounter++) - { - printf("[0x%02X]", Plaintext[BufferCounter]); - count++; - - if(count == 16) - { - count = 0; - printf(" Block %d \n\r", BufferCounter/16); - } - } -} - -/** - * @brief Display Encrypted Data - * @param mode: chaining mode - * @param keysize: AES key size used - * @param datalength: length of the data to display - * @retval None - */ -void Display_EncryptedData(uint8_t mode, uint16_t keysize, uint32_t datalength) -{ - uint32_t BufferCounter = 0; - uint32_t count = 0; - - printf("\n\r =======================================\n\r"); - printf(" Encrypted Data with AES %d Mode ",keysize ); - - if(mode == ECB) - { - printf("ECB\n\r"); - } - else if(mode == CBC) - { - printf("CBC\n\r"); - } - else /* if(mode == CTR)*/ - { - printf("CTR\n\r"); - } - - printf(" ---------------------------------------\n\r"); - - for(BufferCounter = 0; BufferCounter < datalength; BufferCounter++) - { - printf("[0x%02X]", Encryptedtext[BufferCounter]); - - count++; - if(count == 16) - { - count = 0; - printf(" Block %d \n\r", BufferCounter/16); - } - } -} - -/** - * @brief Display Decrypted Data - * @param mode: chaining mode - * @param keysize: AES key size used - * @param datalength: length of the data to display - * @retval None - */ -void Display_DecryptedData(uint8_t mode, uint16_t keysize, uint32_t datalength) -{ - uint32_t BufferCounter = 0; - uint32_t count = 0; - - printf("\n\r =======================================\n\r"); - printf(" Decrypted Data with AES %d Mode ",keysize ); - - if(mode == ECB) - { - printf("ECB\n\r"); - } - else if(mode == CBC) - { - printf("CBC\n\r"); - } - else /* if(mode == CTR)*/ - { - printf("CTR\n\r"); - } - - printf(" ---------------------------------------\n\r"); - - for(BufferCounter = 0; BufferCounter < datalength; BufferCounter++) - { - printf("[0x%02X]", Decryptedtext[BufferCounter]); - count++; - - if(count == 16) - { - count = 0; - printf(" Block %d \n\r", BufferCounter/16); - } - } -} - -/** - * @brief USART configuration - * @param None - * @retval None - */ -void USART_Config(void) -{ - USART_InitTypeDef USART_InitStructure; - - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); -} - -/** - * @brief Wait till a character is received by the USART - * @param None - * @retval Keyboard pressed character - */ -char PressToContinue(void) -{ - char c; - printf("\n\r Press any key to continue...\n\r "); - - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_RXNE) == RESET) - { - } - - c = USART_ReceiveData(EVAL_COM1); - - return(c); -} - -/** - * @brief Retargets the C library printf function to the USART. - * @param None - * @retval None - */ -PUTCHAR_PROTOTYPE -{ - /* Place your implementation of fputc here */ - /* e.g. write a character to the USART */ - USART_SendData(EVAL_COM1, (uint8_t) ch); - - /* Loop until the end of transmission */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - {} - - return ch; -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/readme.txt deleted file mode 100644 index e32570ae0..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/readme.txt +++ /dev/null @@ -1,126 +0,0 @@ -/** - @page AES_modes Encrypt and Decrypt data using AES Algo in All modes and all key sizes - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file CRYP/AES_modes/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the CRYP AES Algorithm in all modes and all key sizes - Example - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the CRYPTO peripheral to -encrypt and decrypt data using AES in all modes (ECB, CBC, CTR) and all key sizes -(128, 192, 256) Algorithm. - -For this example, a firmware is used to interface with the Crypto peripheral -in polling mode. - -This example behaves as follows: - -1. ECB mode : - - AES128 ECB Encryption - - AES192 ECB Encryption - - AES256 ECB Encryption - - - AES128 ECB Decryption - - AES192 ECB Decryption - - AES256 ECB Decryption - -2. CBC mode : - - AES128 CBC Encryption - - AES192 CBC Encryption - - AES256 CBC Encryption - - - AES128 CBC Decryption - - AES192 CBC Decryption - - AES256 CBC Decryption - -3. CTR mode : - - AES128 CTR Encryption - - AES192 CTR Encryption - - AES256 CTR Encryption - - - AES128 CTR Decryption - - AES192 CTR Decryption - - AES256 CTR Decryption - -The Plain data, encrypted data and decrypted data can be displayed on a PC -HyperTerminal using the USART (CN16). - -The USARTx is configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - - -@par Directory contents - - - CRYP/AES_modes/system_stm32f2xx.c STM32F2xx system clock configuration file - - CRYP/AES_modes/stm32f2xx_conf.h Library Configuration file - - CRYP/AES_modes/stm32f2xx_it.h Interrupt handlers header file - - CRYP/AES_modes/stm32f2xx_it.c Interrupt handlers - - CRYP/AES_modes/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs only on STM32F21x Devices (Cryptographic acceleration not - embedded in STM32F20x Devices). - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/stm32f2xx_conf.h deleted file mode 100644 index 9bacc8dee..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/AES_modes/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/stm32f2xx_it.c deleted file mode 100644 index 3dc8ba781..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/AES_modes/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup AES_modes - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/stm32f2xx_it.h deleted file mode 100644 index f745a290d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/AES_modes/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/AES_modes/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/Expected_Results.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/Expected_Results.txt deleted file mode 100644 index 7176d3d5d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/Expected_Results.txt +++ /dev/null @@ -1,48 +0,0 @@ - ============================================================= - ================= Crypt Using HW Crypto ==================== - ============================================================= - - --------------------------------------- - Plain Data : - --------------------------------------- -[0x31][0x32][0x33][0x34][0x35][0x36][0x37][0x38] Block 0 - - ======================================= - Encrypted Data DES Mode ECB - --------------------------------------- -[0xAF][0xE6][0x49][0x61][0xCC][0x4F][0x7C][0x13] Block 0 - - ======================================= - Decrypted Data DES Mode ECB - --------------------------------------- -[0x31][0x32][0x33][0x34][0x35][0x36][0x37][0x38] Block 0 - - ======================================= - Encrypted Data DES Mode CBC - --------------------------------------- -[0xD4][0xE3][0x6B][0x07][0x60][0xBD][0x60][0x15] Block 0 - - ======================================= - Decrypted Data DES Mode CBC - --------------------------------------- -[0x31][0x32][0x33][0x34][0x35][0x36][0x37][0x38] Block 0 - - ======================================= - Encrypted Data TDES Mode ECB - --------------------------------------- -[0x50][0x08][0x77][0xCB][0x7B][0x95][0xBC][0x0C] Block 0 - - ======================================= - Decrypted Data TDES Mode ECB - --------------------------------------- -[0x31][0x32][0x33][0x34][0x35][0x36][0x37][0x38] Block 0 - - ======================================= - Encrypted Data TDES Mode CBC - --------------------------------------- -[0x06][0x63][0x86][0xC3][0x3E][0xCB][0x14][0xDF] Block 0 - - ======================================= - Decrypted Data TDES Mode CBC - --------------------------------------- -[0x31][0x32][0x33][0x34][0x35][0x36][0x37][0x38] Block 0 diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/main.c deleted file mode 100644 index 4e2e29283..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/main.c +++ /dev/null @@ -1,392 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/DES_TDES_modes/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stdio.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DES_TDES_modes - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define PLAIN_TEXT_SIZE 8 -#define ECB 1 -#define CBC 2 - -#define DES ' ' -#define TDES 'T' - -/* key size 64 bytes */ - uint8_t DESkey[8] = {0x2b,0x7e,0x15,0x16,0x28,0xae,0xd2,0xa6}; - -/* key : 192 bits */ -uint8_t TDESkey[24] = {0x01,0x23,0x45,0x67,0x89,0xAB,0xCD,0xEF, /* key 1 */ - 0xFE,0xDC,0xBA,0x98,0x76,0x54,0x32,0x10, /* key 2 */ - 0x89,0xAB,0xCD,0xEF,0x01,0x23,0x45,0x67}; /* key 3 */ - -uint8_t Plaintext[PLAIN_TEXT_SIZE] = {0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38}; /* Plaintext */ - -/* initialization vector */ -uint8_t IV_1[8] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07}; - -uint8_t Encryptedtext[PLAIN_TEXT_SIZE]; /* Encrypted text */ -uint8_t Decryptedtext[PLAIN_TEXT_SIZE]; /* Decrypted text */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ - -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -void USART_Config(void); - -void Display_PlainData(uint32_t datalength); -void Display_EncryptedData(uint8_t Algo, uint8_t mode,uint32_t datalength); -void Display_DecryptedData(uint8_t Algo, uint8_t mode,uint32_t datalength); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ -/*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_Config(); - - /* Display Plain Data*/ - Display_PlainData(PLAIN_TEXT_SIZE); - - /* Enable CRYP clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_CRYP, ENABLE); - -/******************************************************************************/ -/* DES mode ECB */ -/******************************************************************************/ - -/*===================================================== - Encryption ECB mode -======================================================*/ - - /* Encrypt the plaintext message */ - CRYP_DES_ECB(MODE_ENCRYPT,DESkey,Plaintext,PLAIN_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(DES,ECB,PLAIN_TEXT_SIZE); - -/*===================================================== - Decryption in ECB mode -======================================================*/ - - /* Decrypt the plaintext message */ - CRYP_DES_ECB(MODE_DECRYPT,DESkey,Encryptedtext,PLAIN_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(DES,ECB,PLAIN_TEXT_SIZE); - - -/******************************************************************************/ -/* DES mode CBC */ -/******************************************************************************/ - -/*===================================================== - Encryption CBC mode -======================================================*/ - - /* Encrypt the plaintext message*/ - CRYP_DES_CBC(MODE_ENCRYPT,DESkey,IV_1,Plaintext,PLAIN_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(DES,CBC,PLAIN_TEXT_SIZE); - -/*===================================================== - Decryption in CBC mode -======================================================*/ - - /* Decrypt the plaintext message */ - CRYP_DES_CBC(MODE_DECRYPT,DESkey,IV_1,Encryptedtext,PLAIN_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(DES,CBC,PLAIN_TEXT_SIZE); - - -/******************************************************************************/ -/* TDES mode ECB */ -/******************************************************************************/ - -/*===================================================== - Encryption ECB mode -======================================================*/ - - /* Encrypt the plaintext message*/ - CRYP_TDES_ECB(MODE_ENCRYPT,TDESkey,Plaintext,PLAIN_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(TDES,ECB,PLAIN_TEXT_SIZE); - -/*===================================================== - Decryption in ECB mode -======================================================*/ - - /* Decrypt the plaintext message */ - CRYP_TDES_ECB(MODE_DECRYPT,TDESkey,Encryptedtext,PLAIN_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(TDES,ECB,PLAIN_TEXT_SIZE); - - -/******************************************************************************/ -/* TDES mode CBC */ -/******************************************************************************/ - -/*===================================================== - Encryption CBC mode -======================================================*/ - - /* Encrypt the plaintext message*/ - CRYP_TDES_CBC(MODE_ENCRYPT,TDESkey,IV_1,Plaintext,PLAIN_TEXT_SIZE,Encryptedtext); - - /* Display encrypted Data*/ - Display_EncryptedData(TDES,CBC,PLAIN_TEXT_SIZE); - -/*===================================================== - Decryption in CBC mode -======================================================*/ - - /* Decrypt the plaintext message */ - CRYP_TDES_CBC(MODE_DECRYPT,TDESkey,IV_1,Encryptedtext,PLAIN_TEXT_SIZE,Decryptedtext); - - /* Display decrypted data*/ - Display_DecryptedData(TDES,CBC,PLAIN_TEXT_SIZE); -/******************************************************************************/ - - while(1); -} - -/** - * @brief Display Plain Data - * @param datalength: length of the data to display - * @retval None - */ -void Display_PlainData(uint32_t datalength) -{ - uint32_t BufferCounter = 0; - uint32_t count = 0; - - printf("\n\r =============================================================\n\r"); - printf(" ================= Crypt Using HW Crypto ====================\n\r"); - printf(" =============================================================\n\r"); - printf(" ---------------------------------------\n\r"); - printf(" Plain Data :\n\r"); - printf(" ---------------------------------------\n\r"); - - for(BufferCounter = 0; BufferCounter < datalength; BufferCounter++) - { - printf("[0x%02X]", Plaintext[BufferCounter]); - - count++; - if(count == 8) - { - count = 0; - printf(" Block %d \n\r", BufferCounter/8); - } - } -} -/** - * @brief Display Encrypted Data - * @param Algo: Algorithm used (DES or TDES) - * @param mode: chaining mode - * @param datalength: length of the data to display - * @retval None - */ -void Display_EncryptedData(uint8_t Algo, uint8_t mode, uint32_t datalength) -{ - uint32_t BufferCounter = 0; - uint32_t count = 0; - - printf("\n\r =======================================\n\r"); - printf(" Encrypted Data %cDES Mode ",Algo); - - if(mode == ECB) - { - printf("ECB\n\r"); - } - else/* if(mode == CBC)*/ - { - printf("CBC\n\r"); - } - - printf(" ---------------------------------------\n\r"); - - for(BufferCounter = 0; BufferCounter < datalength; BufferCounter++) - { - printf("[0x%02X]", Encryptedtext[BufferCounter]); - count++; - - if(count == 8) - { - count = 0; - printf(" Block %d \n\r", BufferCounter/8); - } - } -} - -/** - * @brief Display Decrypted Data - * @param Algo: Algorithm used (DES or TDES) - * @param mode: chaining mode - * @param datalength: length of the data to display - * @retval None - */ -void Display_DecryptedData(uint8_t Algo, uint8_t mode, uint32_t datalength) -{ - uint32_t BufferCounter = 0; - uint32_t count = 0; - - printf("\n\r =======================================\n\r"); - printf(" Decrypted Data %cDES Mode ",Algo); - - if(mode == ECB) - { - printf("ECB\n\r"); - } - else/* if(mode == CBC)*/ - { - printf("CBC\n\r"); - } - - printf(" ---------------------------------------\n\r"); - - for(BufferCounter = 0; BufferCounter < datalength; BufferCounter++) - { - printf("[0x%02X]", Decryptedtext[BufferCounter]); - count++; - - if(count == 8) - { - count = 0; - printf(" Block %d \n\r", BufferCounter/8); - } - } -} - -/** - * @brief USART configuration - * @param None - * @retval None - */ -void USART_Config(void) -{ - USART_InitTypeDef USART_InitStructure; - - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); -} - -/** - * @brief Retargets the C library printf function to the USART. - * @param None - * @retval None - */ -PUTCHAR_PROTOTYPE -{ - /* Place your implementation of fputc here */ - /* e.g. write a character to the USART */ - USART_SendData(EVAL_COM1, (uint8_t) ch); - - /* Loop until the end of transmission */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - {} - - return ch; -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/readme.txt deleted file mode 100644 index 2bf4a13f2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/readme.txt +++ /dev/null @@ -1,107 +0,0 @@ -/** - @page DES_TDES_modes Encrypt and Decrypt data using DES and TDES Algorithms in All modes - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file CRYP/DES_TDES_modes/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the CRYP DES and TDES Algorithm in all modes Example - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the CRYPTO peripheral to -encrypt and decrypt data using DES and TDES in all modes (ECB, CBC) Algorithm. - -For this example, a firmware is used to interface with the Crypto peripheral -in polling mode. - -This example is behaves as follow: -1. DES - - DES ECB Encryption - - DES ECB Decryption - - DES CBC Encryption - - DES CBC Decryption -2. TDES - - TDES ECB Encryption - - TDES ECB Decryption - - TDES CBC Encryption - - TDES CBC Decryption - -The Plain data, encrypted data and decrypted data can be displayed on a PC -HyperTerminal using the USART (CN16). - -The USARTx is configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - - -@par Directory contents - - - CRYP/DES_TDES_modes/system_stm32f2xx.c STM32F2xx system clock configuration file - - CRYP/DES_TDES_modes/stm32f2xx_conf.h Library Configuration file - - CRYP/DES_TDES_modes/stm32f2xx_it.h Interrupt handlers header file - - CRYP/DES_TDES_modes/stm32f2xx_it.c Interrupt handlers - - CRYP/DES_TDES_modes/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs only on STM32F21x Devices (Cryptographic acceleration not - embedded in STM32F20x Devices). - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/stm32f2xx_conf.h deleted file mode 100644 index 3041f2820..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/DES_TDES_modes/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/stm32f2xx_it.c deleted file mode 100644 index 88b566016..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/DES_TDES_modes/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DES_TDES_modes - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/stm32f2xx_it.h deleted file mode 100644 index 7b56b3e21..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/DES_TDES_modes/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/DES_TDES_modes/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/Expected_Results.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/Expected_Results.txt deleted file mode 100644 index 434747e17..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/Expected_Results.txt +++ /dev/null @@ -1,30 +0,0 @@ - ====================================== - ==== CRYP TDES Using DMA Example ==== - ====================================== - - --------------------------------------- - Plain Data: - --------------------------------------- -[0x20212223][0x24252627] Block 0 -[0x28292a2b][0x2c2d2e2f] Block 1 -[0xffeeddcc][0xbbaa9988] Block 2 -[0x77665544][0x33221100] Block 3 -[0x10000000][0x20000000] Block 4 - - --------------------------------------- - TDES Encrypted Data: - --------------------------------------- -[0xc9406174][0xf076c814] Block 0 -[0x81a2bcb1][0x4ed3e70d] Block 1 -[0x54351409][0x6c4e674b] Block 2 -[0x4fde2aec][0xdbe00ac3] Block 3 -[0xee46220c][0xcab2cefb] Block 4 - - --------------------------------------- - TDES Decrypted Data: - --------------------------------------- -[0x20212223][0x24252627] Block 0 -[0x28292a2b][0x2c2d2e2f] Block 1 -[0xffeeddcc][0xbbaa9988] Block 2 -[0x77665544][0x33221100] Block 3 -[0x10000000][0x20000000] Block 4 diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/main.c deleted file mode 100644 index e51d77c2a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/main.c +++ /dev/null @@ -1,477 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/TDES_ECBmode_DMA/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TDES_ECBmode_DMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ - -#define BLOCKS_NBR 5 /* User can change this value to enlarge or reduce the - nbre of blocks to encrypt */ - -#define DATA_SIZE ((BLOCKS_NBR*64)/32) -#define CRYP_DIN_REG_ADDR ((uint32_t)0x50060008) /* Crypto DIN register address */ -#define CRYP_DOUT_REG_ADDR ((uint32_t)0x5006000C) /* Crypto DOUT register address */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ - -/* 192 bit key */ -__IO uint32_t TDESkey[6]={0x40414243,0x44454647, /* K1 */ - 0x48494A4B,0x4C4D4E4F, /* K2 */ - 0x50515253,0x54555657}; /* K3 */ - -__IO uint32_t PlainData[DATA_SIZE]={0x20212223,0x24252627, /* Block 0 */ - 0x28292a2b,0x2c2d2e2f, /* Block 1 */ - 0xFFEEDDCC,0xBBAA9988, /* Block 2 */ - 0x77665544,0x33221100, /* Block 3 */ - 0x10000000,0x20000000 };/* Block 4 */ - -__IO uint32_t EncryptedData[DATA_SIZE]; -__IO uint32_t DecryptedData[DATA_SIZE]; - -/* Private function prototypes -----------------------------------------------*/ -void TDES_Encrypt_DMA(void); -void TDES_Decrypt_DMA(void); - -void Display_PlainData(void); -void Display_EncryptedData(void); -void Display_DecryptedData(void); - -void USART_Config(void); -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ -/*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - /* USART Configuration */ - USART_Config(); - - /* Display Plain Data*/ - Display_PlainData(); - -/*===================================================== - Encryption -======================================================*/ - - /* Encrypt */ - TDES_Encrypt_DMA(); - - /* Display encrypted Data*/ - Display_EncryptedData(); - -/*===================================================== - Decryption -======================================================*/ - - /* Decrypt */ - TDES_Decrypt_DMA(); - - /* Display decrypted data*/ - Display_DecryptedData(); - - while(1); -} - -/** - * @brief Encrypt Data using TDES - * @note DATA transfer is done by DMA - * @note DMA2 stream6 channel2 is used to transfer data from memory (the - * PlainData Tab) to CRYP Peripheral (the INPUT data register). - * @note DMA2 stream5 channel2 is used to transfer data from CRYP Peripheral - * (the OUTPUT data register to memory (the EncryptedData Tab). - * @param None - * @retval None - */ -void TDES_Encrypt_DMA(void) -{ - CRYP_InitTypeDef CRYP_InitStructure; - CRYP_KeyInitTypeDef CRYP_KeyInitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /* Enable CRYP clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_CRYP, ENABLE); - - /* Enable DMA2 clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); - - /* Configure crypto as encoder TDES *****************************************/ - /* Crypto Init for Encryption process */ - CRYP_InitStructure.CRYP_AlgoDir = CRYP_AlgoDir_Encrypt; - CRYP_InitStructure.CRYP_AlgoMode = CRYP_AlgoMode_TDES_ECB; - CRYP_InitStructure.CRYP_DataType = CRYP_DataType_32b; - - CRYP_FIFOFlush(); - CRYP_Init(&CRYP_InitStructure); - - /* Key Initialisation */ - CRYP_KeyInitStructure.CRYP_Key1Left = TDESkey[0]; - CRYP_KeyInitStructure.CRYP_Key1Right= TDESkey[1]; - CRYP_KeyInitStructure.CRYP_Key2Left = TDESkey[2]; - CRYP_KeyInitStructure.CRYP_Key2Right= TDESkey[3]; - CRYP_KeyInitStructure.CRYP_Key3Left = TDESkey[4]; - CRYP_KeyInitStructure.CRYP_Key3Right= TDESkey[5]; - CRYP_KeyInit(&CRYP_KeyInitStructure); - - CRYP_DMACmd(CRYP_DMAReq_DataOUT, ENABLE); - CRYP_DMACmd(CRYP_DMAReq_DataIN, ENABLE); - - /* DMA Configuration*********************************************************/ - /* set commun DMA parameters for Stream 5 and 6*/ - DMA_DeInit(DMA2_Stream5); - DMA_DeInit(DMA2_Stream6); - DMA_InitStructure.DMA_Channel = DMA_Channel_2; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_BufferSize = DATA_SIZE; - - /* Set the parameters to be configured specific to stream 6*/ - DMA_InitStructure.DMA_PeripheralBaseAddr = CRYP_DIN_REG_ADDR; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)PlainData; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - - /* Configure the DMA Stream 6 */ - DMA_Init(DMA2_Stream6, &DMA_InitStructure); - - /* Set the parameters to be configured specific to stream 5*/ - DMA_InitStructure.DMA_PeripheralBaseAddr = CRYP_DOUT_REG_ADDR; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)EncryptedData; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - - /* Configure the DMA Stream 5 */ - DMA_Init(DMA2_Stream5, &DMA_InitStructure); - - /* Enable DMA streams*/ - DMA_Cmd(DMA2_Stream6, ENABLE); - DMA_Cmd(DMA2_Stream5, ENABLE); - - /* Enable Crypto processor */ - CRYP_Cmd(ENABLE); - - /* wait until the last transfer from OUT FIFO : - all encrypted Data are transfered from crypt processor */ - while (DMA_GetFlagStatus(DMA2_Stream5, DMA_FLAG_TCIF5) == RESET); - - /* Disable Crypto and DMA ***************************************************/ - CRYP_Cmd(DISABLE); - CRYP_DMACmd(CRYP_DMAReq_DataOUT, DISABLE); - CRYP_DMACmd(CRYP_DMAReq_DataIN, DISABLE); - DMA_Cmd(DMA2_Stream5, DISABLE); - DMA_Cmd(DMA2_Stream6, DISABLE); -} - -/** - * @brief Decrypt Data using TDES - * @note DATA transfer is done by DMA - * @note DMA2 stream6 channel2 is used to transfer data from memory (the - * EncryptedData Tab) to CRYP Peripheral (the INPUT data register). - * @note DMA2 stream5 channel2 is used to transfer data from CRYP Peripheral - * (the OUTPUT data register to memory (the DecryptedData Tab). - * @param None - * @retval None - */ -void TDES_Decrypt_DMA(void) -{ - CRYP_InitTypeDef CRYP_InitStructure; - CRYP_KeyInitTypeDef CRYP_KeyInitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /* Enable CRYP clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_CRYP, ENABLE); - - /* Enable DMA2 clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); - - /* configure crypto as Decoder TDES *****************************************/ - CRYP_FIFOFlush(); - /* Crypto Init for Decryption process */ - CRYP_InitStructure.CRYP_AlgoDir = CRYP_AlgoDir_Decrypt; - CRYP_InitStructure.CRYP_AlgoMode = CRYP_AlgoMode_TDES_ECB; - CRYP_InitStructure.CRYP_DataType = CRYP_DataType_32b; - CRYP_Init(&CRYP_InitStructure); - - /* Key Initialisation */ - CRYP_KeyInitStructure.CRYP_Key1Left = TDESkey[0]; - CRYP_KeyInitStructure.CRYP_Key1Right= TDESkey[1]; - CRYP_KeyInitStructure.CRYP_Key2Left = TDESkey[2]; - CRYP_KeyInitStructure.CRYP_Key2Right= TDESkey[3]; - CRYP_KeyInitStructure.CRYP_Key3Left = TDESkey[4]; - CRYP_KeyInitStructure.CRYP_Key3Right= TDESkey[5]; - CRYP_KeyInit(&CRYP_KeyInitStructure); - - CRYP_DMACmd(CRYP_DMAReq_DataOUT, ENABLE); - CRYP_DMACmd(CRYP_DMAReq_DataIN, ENABLE); - - /* DMA Configuration ********************************************************/ - /* set commun DMA parameters for Stream 5 and 6*/ - DMA_DeInit(DMA2_Stream5); - DMA_DeInit(DMA2_Stream6); - DMA_InitStructure.DMA_Channel = DMA_Channel_2; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_BufferSize = DATA_SIZE; - - /* Set the parameters to be configured specific to stream 6*/ - DMA_InitStructure.DMA_PeripheralBaseAddr = CRYP_DIN_REG_ADDR; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)EncryptedData; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - - /* Configure the DMA Stream 6 */ - DMA_Init(DMA2_Stream6, &DMA_InitStructure); - - /* Set the parameters to be configured specific to stream 5*/ - DMA_InitStructure.DMA_PeripheralBaseAddr = CRYP_DOUT_REG_ADDR; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)DecryptedData; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - - /* Configure the DMA Stream 5 */ - DMA_Init(DMA2_Stream5, &DMA_InitStructure); - - /* Enable DMA streams*/ - DMA_Cmd(DMA2_Stream6, ENABLE); - DMA_Cmd(DMA2_Stream5, ENABLE); - - /* Enable Crypo Processor */ - CRYP_Cmd(ENABLE); - - /* wait until the last transfer from OUT FIFO : - all encrypted Data are transfered from crypt processor */ - while (DMA_GetFlagStatus(DMA2_Stream5, DMA_FLAG_TCIF5) == RESET); - - /* Disable Crypto and DMA ***************************************************/ - CRYP_Cmd(DISABLE); - CRYP_DMACmd(CRYP_DMAReq_DataOUT, DISABLE); - CRYP_DMACmd(CRYP_DMAReq_DataIN, DISABLE); - DMA_Cmd(DMA2_Stream5, DISABLE); - DMA_Cmd(DMA2_Stream6, DISABLE); -} - -/** - * @brief Display Plain Data - * @param None - * @retval None - */ -void Display_PlainData(void) -{ - uint32_t BufferCounter = 0; - uint8_t count = 0; - printf("\n\r ======================================\n\r"); - printf(" ==== CRYP TDES Using DMA Example ====\n\r"); - printf(" ======================================\n\r"); - - printf(" ---------------------------------------\n\r"); - printf(" Plain Data:\n\r"); - printf(" ---------------------------------------\n\r"); - - for(BufferCounter=0; BufferCounter EncryptedData) -- TDES Decryption (EncryptedData --> DecryptedData) - -The Plain data, encrypted data and decrypted data can be displayed on a PC -HyperTerminal using the USART (CN16). - -The USARTx is configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - - -@par Directory contents - - - CRYP/TDES_ECBmode_DMA/system_stm32f2xx.c STM32F2xx system clock configuration file - - CRYP/TDES_ECBmode_DMA/stm32f2xx_conf.h Library Configuration file - - CRYP/TDES_ECBmode_DMA/stm32f2xx_it.h Interrupt handlers header file - - CRYP/TDES_ECBmode_DMA/stm32f2xx_it.c Interrupt handlers - - CRYP/TDES_ECBmode_DMA/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs only on STM32F21x Devices (Cryptographic acceleration not - embedded in STM32F20x Devices). - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/stm32f2xx_conf.h deleted file mode 100644 index abc265092..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/TDES_ECBmode_DMA/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/stm32f2xx_it.c deleted file mode 100644 index 28fbbf428..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/TDES_ECBmode_DMA/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TDES_ECBmode_DMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/stm32f2xx_it.h deleted file mode 100644 index 24f06fee6..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file CRYP/TDES_ECBmode_DMA/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CRYP/TDES_ECBmode_DMA/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/main.c deleted file mode 100644 index 1987dfe43..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/main.c +++ /dev/null @@ -1,145 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/BitBand/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CortexM3_BitBand - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -#define Var_ResetBit_BB(VarAddr, BitNumber) \ - (*(__IO uint32_t *) (SRAM_BB_BASE | ((VarAddr - SRAM_BASE) << 5) | ((BitNumber) << 2)) = 0) - -#define Var_SetBit_BB(VarAddr, BitNumber) \ - (*(__IO uint32_t *) (SRAM_BB_BASE | ((VarAddr - SRAM_BASE) << 5) | ((BitNumber) << 2)) = 1) - -#define Var_GetBit_BB(VarAddr, BitNumber) \ - (*(__IO uint32_t *) (SRAM_BB_BASE | ((VarAddr - SRAM_BASE) << 5) | ((BitNumber) << 2))) - -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t Var, VarAddr = 0, VarBitValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - Var = 0x00005AA5; - -/* A mapping formula shows how to reference each word in the alias region to a - corresponding bit in the bit-band region. The mapping formula is: - bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number + 4) - -where: - - bit_word_addr: is the address of the word in the alias memory region that - maps to the targeted bit. - - bit_band_base is the starting address of the alias region - - byte_offset is the number of the byte in the bit-band region that contains - the targeted bit - - bit_number is the bit position (0-7) of the targeted bit */ - -/* Get the variable address --------------------------------------------------*/ - VarAddr = (uint32_t)&Var; - -/* Modify variable bit using bit-band access ---------------------------------*/ - /* Modify Var variable bit 0 -----------------------------------------------*/ - Var_ResetBit_BB(VarAddr, 0); /* Var = 0x00005AA4 */ - Var_SetBit_BB(VarAddr, 0); /* Var = 0x00005AA5 */ - - /* Modify Var variable bit 11 ----------------------------------------------*/ - Var_ResetBit_BB(VarAddr, 11); /* Var = 0x000052A5 */ - /* Get Var variable bit 11 value */ - VarBitValue = Var_GetBit_BB(VarAddr, 11); /* VarBitValue = 0x00000000 */ - - Var_SetBit_BB(VarAddr, 11); /* Var = 0x00005AA5 */ - /* Get Var variable bit 11 value */ - VarBitValue = Var_GetBit_BB(VarAddr, 11); /* VarBitValue = 0x00000001 */ - - /* Modify Var variable bit 31 ----------------------------------------------*/ - Var_SetBit_BB(VarAddr, 31); /* Var = 0x80005AA5 */ - /* Get Var variable bit 31 value */ - VarBitValue = Var_GetBit_BB(VarAddr, 31); /* VarBitValue = 0x00000001 */ - - Var_ResetBit_BB(VarAddr, 31); /* Var = 0x00005AA5 */ - /* Get Var variable bit 31 value */ - VarBitValue = Var_GetBit_BB(VarAddr, 31); /* VarBitValue = 0x00000000 */ - - while (1) - { - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/readme.txt deleted file mode 100644 index f5fb53c5a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/readme.txt +++ /dev/null @@ -1,71 +0,0 @@ -/** - @page CortexM3_BitBand CortexM3 BitBand example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file CortexM3/BitBand/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the CortexM3 BitBand example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to use CortexM3 Bit-Band access to perform atomic -read-modify-write and read operations on a variable in SRAM. - - -@par Directory contents - - - CortexM3/BitBand/stm32f2xx_conf.h Library Configuration file - - CortexM3/BitBand/stm32f2xx_it.c Interrupt handlers - - CortexM3/BitBand/stm32f2xx_it.h Interrupt handlers header file - - CortexM3/BitBand/main.c Main program - - CortexM3/BitBand/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/stm32f2xx_conf.h deleted file mode 100644 index 5e21be46e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/BitBand/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/stm32f2xx_it.c deleted file mode 100644 index c081ebd53..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/BitBand/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CortexM3_BitBand - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/stm32f2xx_it.h deleted file mode 100644 index a853ca5aa..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/BitBand/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/BitBand/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/Linker/RIDE/stm32F_flash_ROAarray.ld b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/Linker/RIDE/stm32F_flash_ROAarray.ld deleted file mode 100644 index 0f212aecf..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/Linker/RIDE/stm32F_flash_ROAarray.ld +++ /dev/null @@ -1,249 +0,0 @@ -/* -Default linker script for STM32F2xx_1024K_128K -*/ - -/* include the common STM32F2xx sub-script */ - -/* Common part of the linker scripts for STM32F devices*/ - - -/* default stack sizes. - -These are used by the startup in order to allocate stacks for the different modes. -*/ - -__Stack_Size = 1024 ; - -PROVIDE ( _Stack_Size = __Stack_Size ) ; - -__Stack_Init = _estack - __Stack_Size ; - -/*"PROVIDE" allows to easily override these values from an object file or the commmand line.*/ -PROVIDE ( _Stack_Init = __Stack_Init ) ; - -/* -There will be a link error if there is not this amount of RAM free at the end. -*/ -_Minimum_Stack_Size = 0x100 ; - - -/* include the memory spaces definitions sub-script */ -/* -Linker subscript for STM32F2xx definitions with 1024 Flash and 128 Onchip SRAM */ - -/* Memory Spaces Definitions */ - -MEMORY -{ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 112K - FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K - FLASHB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB0 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB2 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB3 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - MEMORY_ARRAY (xrw) : ORIGIN = 0x20002000, LENGTH = 32 -} - -/* higher address of the user mode stack */ -_estack = 0x2001C000; - - - -/* include the sections management sub-script for FLASH mode */ - -/* Sections Definitions */ - -SECTIONS -{ - /* for Cortex devices, the beginning of the startup code is stored in the .isr_vector section, which goes to FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* for some STRx devices, the beginning of the startup code is stored in the .flashtext section, which goes to FLASH */ - .flashtext : - { - . = ALIGN(4); - *(.flashtext) /* Startup code */ - . = ALIGN(4); - } >FLASH - - - /* the program code is stored in the .text section, which goes to Flash */ - .text : - { - . = ALIGN(4); - - *(.text) /* remaining code */ - *(.text.*) /* remaining code */ - *(.rodata) /* read-only data (constants) */ - *(.rodata*) - *(.glue_7) - *(.glue_7t) - - . = ALIGN(4); - _etext = .; - /* This is used by the startup in order to initialize the .data secion */ - _sidata = _etext; - } >FLASH - - /* MEMORY_ARRAY */ - .ROarraySection : - { - *(.ROarraySection) - } >MEMORY_ARRAY - - - /* This is the initialized data section - The program executes knowing that the data is in the RAM - but the loader puts the initial values in the FLASH (inidata). - It is one task of the startup to copy the initial values from FLASH to RAM. */ - .data : AT ( _sidata ) - { - . = ALIGN(4); - /* This is used by the startup in order to initialize the .data secion */ - _sdata = . ; - - *(.data) - *(.data.*) - - . = ALIGN(4); - /* This is used by the startup in order to initialize the .data secion */ - _edata = . ; - } >RAM - - - - /* This is the uninitialized data section */ - .bss : - { - . = ALIGN(4); - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; - - *(.bss) - *(COMMON) - - . = ALIGN(4); - /* This is used by the startup in order to initialize the .bss secion */ - _ebss = . ; - } >RAM - - PROVIDE ( end = _ebss ); - PROVIDE ( _end = _ebss ); - - /* This is the user stack section - This is just to check that there is enough RAM left for the User mode stack - It should generate an error if it's full. - */ - ._usrstack : - { - . = ALIGN(4); - _susrstack = . ; - - . = . + _Minimum_Stack_Size ; - - . = ALIGN(4); - _eusrstack = . ; - } >RAM - - - - /* this is the FLASH Bank1 */ - /* the C or assembly source must explicitly place the code or data there - using the "section" attribute */ - .b1text : - { - *(.b1text) /* remaining code */ - *(.b1rodata) /* read-only data (constants) */ - *(.b1rodata*) - } >FLASHB1 - - /* this is the EXTMEM */ - /* the C or assembly source must explicitly place the code or data there - using the "section" attribute */ - - /* EXTMEM Bank0 */ - .eb0text : - { - *(.eb0text) /* remaining code */ - *(.eb0rodata) /* read-only data (constants) */ - *(.eb0rodata*) - } >EXTMEMB0 - - /* EXTMEM Bank1 */ - .eb1text : - { - *(.eb1text) /* remaining code */ - *(.eb1rodata) /* read-only data (constants) */ - *(.eb1rodata*) - } >EXTMEMB1 - - /* EXTMEM Bank2 */ - .eb2text : - { - *(.eb2text) /* remaining code */ - *(.eb2rodata) /* read-only data (constants) */ - *(.eb2rodata*) - } >EXTMEMB2 - - /* EXTMEM Bank0 */ - .eb3text : - { - *(.eb3text) /* remaining code */ - *(.eb3rodata) /* read-only data (constants) */ - *(.eb3rodata*) - } >EXTMEMB3 - - - - /* after that it's only debugging information. */ - - /* remove the debugging information from the standard libraries */ - DISCARD : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } - -} diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/Linker/TrueSTUDIO/stm32F_flash_ROAarray.ld b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/Linker/TrueSTUDIO/stm32F_flash_ROAarray.ld deleted file mode 100644 index 9556bd6f8..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/Linker/TrueSTUDIO/stm32F_flash_ROAarray.ld +++ /dev/null @@ -1,174 +0,0 @@ -/* -***************************************************************************** -** -** File : stm32_flash.ld -** -** Abstract : Linker script for STM32F207IG Device with -** 1MByte FLASH, 128KByte SRAM -** -** Set heap size, stack size and stack location according -** to application requirements. -** -** Set memory bank area and size if external memory is used. -** -** Target : STMicroelectronics STM32 -** -** Environment : Atollic TrueSTUDIO(R) -** -** Distribution: The file is distributed “as is,” without any warranty -** of any kind. -** -** (c)Copyright Atollic AB. -** You may use this file as-is or modify it according to the needs of your -** project. Distribution of this file (unmodified or modified) is not -** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the -** rights to distribute the assembled, compiled & linked contents of this -** file as part of an application binary file, provided that it is built -** using the Atollic TrueSTUDIO(R) toolchain. -** -***************************************************************************** -*/ - -/* Entry Point */ -ENTRY(Reset_Handler) - -/* Highest address of the user mode stack */ -_estack = 0x2001C000; /* end of 112K SRAM */ - -/* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0; /* required amount of heap */ -_Min_Stack_Size = 0x200; /* required amount of stack */ - -/* Specify the memory areas */ -MEMORY -{ - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 112K - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K - MEMORY_ARRAY (rw) : ORIGIN = 0x20002000, LENGTH = 32 -} - -/* Define output sections */ -SECTIONS -{ - /* The startup code goes first into FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* The program code and other data goes into FLASH */ - .text : - { - . = ALIGN(4); - *(.text) /* .text sections (code) */ - *(.text*) /* .text* sections (code) */ - *(.rodata) /* .rodata sections (constants, strings, etc.) */ - *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ - *(.glue_7) /* glue arm to thumb code */ - *(.glue_7t) /* glue thumb to arm code */ - - KEEP (*(.init)) - KEEP (*(.fini)) - - . = ALIGN(4); - _etext = .; /* define a global symbols at end of code */ - } >FLASH - - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH - .ARM : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } >FLASH - - .ARM.attributes : { *(.ARM.attributes) } > FLASH - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array*)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } >FLASH - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array*)) - PROVIDE_HIDDEN (__init_array_end = .); - } >FLASH - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(.fini_array*)) - KEEP (*(SORT(.fini_array.*))) - PROVIDE_HIDDEN (__fini_array_end = .); - } >FLASH - - /* used by the startup to initialize data */ - _sidata = .; - - /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : AT ( _sidata ) - { - . = ALIGN(4); - _sdata = .; /* create a global symbol at data start */ - *(.data) /* .data sections */ - *(.data*) /* .data* sections */ - - . = ALIGN(4); - _edata = .; /* define a global symbol at data end */ - } >RAM - - /* Uninitialized data section */ - . = ALIGN(4); - .bss : - { - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; /* define a global symbol at bss start */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = .; /* define a global symbol at bss end */ - __bss_end__ = _ebss; - } >RAM - - PROVIDE ( end = _ebss ); - PROVIDE ( _end = _ebss ); - - /* User_heap_stack section, used to check that there is enough RAM left */ - ._user_heap_stack : - { - . = ALIGN(4); - . = . + _Min_Heap_Size; - . = . + _Min_Stack_Size; - . = ALIGN(4); - } >RAM - - /* MEMORY_bank1 section, code must be located here explicitly */ - /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ - .memory_b1_text : - { - *(.mb1text) /* .mb1text sections (code) */ - *(.mb1text*) /* .mb1text* sections (code) */ - *(.mb1rodata) /* read-only data (constants) */ - *(.mb1rodata*) - } >MEMORY_B1 - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .ROarraySection : {*(.ROarraySection)} >MEMORY_ARRAY - -} diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/main.c deleted file mode 100644 index 111225248..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/main.c +++ /dev/null @@ -1,130 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/MPU/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_mpu.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CortexM3_MPU - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define ACCESS_PERMISSION - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -void Delay (uint32_t nCount); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Configure LED1 and LED2 */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - - /* Set MPU regions */ - MPU_Config(); - - #ifdef ACCESS_PERMISSION - MPU_AccessPermConfig(); - #endif - - /* Infinite loop */ - while (1) - { - /* Toggle LED1 */ - STM_EVAL_LEDToggle(LED1); - - /* Insert a delay */ - Delay(0x7FFFF); - } -} - -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -void Delay(__IO uint32_t nCount) -{ - /* Decrement nCount value */ - while (nCount != 0) - { - nCount--; - } -} - -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/readme.txt deleted file mode 100644 index e72fc2559..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/readme.txt +++ /dev/null @@ -1,99 +0,0 @@ -/** - @page CortexM3_MPU CortexM3 MPU example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file CortexM3/MPU/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the CortexM3 MPU example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example presents the MPU features on STM32F2xx devices and it can be easily -ported to any other STM32 device supporting MPU. - -The example purpose is to configure a memory region as privileged read only region -and tries to perform read and write operation in different mode. - -If the access is permitted LED1 is toggling. If the access is not permitted, -a memory management fault is generated and LED2 is ON. -To generate an MPU memory fault exception due to an access right error, uncomment -the following line "PrivilegedReadOnlyArray[0] = 'e';" in the "stm32_mpu.c" file. - - -@par Directory contents - - - CortexM3/MPU/stm32f2xx_conf.h Library Configuration file - - CortexM3/MPU/stm32f2xx_it.c Interrupt handlers - - CortexM3/MPU/stm32f2xx_it.h Header for stm32f2xx_it.c - - CortexM3/MPU/main.c Main program - - CortexM3/MPU/system_stm32f2xx.c STM32F2xx system source file - - CortexM3/MPU/stm32_mpu.c Cortex-M3 MPU regions Access rights file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain and setup your project configuration as follows - - Add the required example files - - stm32_mpu.c -
    -- For RIDE and TrueSTUDIO toolchains you have to follow these instructions - -
  • RIDE - - In the Application options -> script menu, set "Use Default Script File" - to "No" and use "stm32F_flash_ROAarray.ld" as Script File. - This linker is configured for STM32F2xx. It should be updated to use it - with other STM32 devices. - - -
  • TrueSTUDIO - - In the project properties window, select C/C++ Build->settings node then - the C Linker->General node and use "stm32F_flash_ROAarray.ld" as Script File. - This linker is configured for STM32F2xx. It should be updated to use it - with other STM32 devices. -
- - - Rebuild all files and load your image into target memory - - Run the example - - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32_mpu.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32_mpu.c deleted file mode 100644 index c1ca0fac2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32_mpu.c +++ /dev/null @@ -1,126 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/MPU/stm32_mpu.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Access rights configuration using Cortex-M3 MPU regions. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32_mpu.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CortexM3_MPU - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define ARRAY_ADDRESS_START (0x20002000UL) -#define ARRAY_SIZE (0x09UL << 0UL) -#define ARRAY_REGION_NUMBER (0x03UL << MPU_RNR_REGION_Pos) - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -#if defined ( __CC_ARM ) - uint8_t PrivilegedReadOnlyArray[32] __attribute__((at(0x20002000))); - -#elif defined ( __ICCARM__ ) - #pragma location=0x20002000 - __no_init uint8_t PrivilegedReadOnlyArray[32]; - -#elif defined ( __GNUC__ ) - uint8_t PrivilegedReadOnlyArray[32] __attribute__((section(".ROarraySection"))); - -#elif defined ( __TASKING__ ) - uint8_t PrivilegedReadOnlyArray[32] __at(0x20002000); -#endif - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Configures the main MPU regions. - * @param None - * @retval None - */ -void MPU_Config(void) -{ - /* Disable MPU */ - MPU->CTRL &= ~MPU_CTRL_ENABLE_Msk; - - /* Configure RAM region as Region N°0, 8kB of size and R/W region */ - MPU->RNR = RAM_REGION_NUMBER; - MPU->RBAR = RAM_ADDRESS_START; - MPU->RASR = RAM_SIZE | portMPU_REGION_READ_WRITE; - - /* Configure FLASH region as REGION N°1, 1MB of size and R/W region */ - MPU->RNR = FLASH_REGION_NUMBER; - MPU->RBAR = FLASH_ADDRESS_START; - MPU->RASR = FLASH_SIZE | portMPU_REGION_READ_WRITE; - - /* Configure Peripheral region as REGION N°2, 0.5GB of size, R/W and Execute - Never region */ - MPU->RNR = PERIPH_REGION_NUMBER; - MPU->RBAR = PERIPH_ADDRESS_START; - MPU->RASR = PERIPH_SIZE |portMPU_REGION_READ_WRITE | MPU_RASR_XN_Msk; - - /* Enable the memory fault exception */ - SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; - - /* Enable MPU */ - MPU->CTRL |= MPU_CTRL_PRIVDEFENA_Msk | MPU_CTRL_ENABLE_Msk; -} - -/** - * @brief This function configure the access right using Cortex-M3 MPU regions. - * @param None - * @retval None - */ -void MPU_AccessPermConfig(void) -{ - /* Configure region for PrivilegedReadOnlyArray as REGION N°3, 32byte and R - only in privileged mode */ - MPU->RNR = ARRAY_REGION_NUMBER; - MPU->RBAR |= ARRAY_ADDRESS_START; - MPU->RASR |= ARRAY_SIZE | portMPU_REGION_PRIVILEGED_READ_ONLY; - - /* Read from PrivilegedReadOnlyArray. This will not generate error */ - (void)PrivilegedReadOnlyArray[0]; - - /* Uncomment the following line to write to PrivilegedReadOnlyArray. This will - generate error */ - //PrivilegedReadOnlyArray[0] = 'e'; -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32_mpu.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32_mpu.h deleted file mode 100644 index 84fe584c2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32_mpu.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/MPU/stm32_mpu.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for stm32_mpu.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32_MPU_H -#define __STM32_MPU_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -#define MPU_RASR_XN_Pos 28 -#define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) -#define MPU_RASR_AP_Pos 24 -#define MPU_RASR_AP_Msk (7UL << MPU_RASR_AP_Pos) -#define RAM_ADDRESS_START (0x20000000UL) -#define RAM_SIZE (0x19UL << 0UL) -#define PERIPH_ADDRESS_START (0x40000000) -#define PERIPH_SIZE (0x39UL << 0UL) -#define FLASH_ADDRESS_START (0x08000000) -#define FLASH_SIZE (0x27UL << 0UL) -#define portMPU_REGION_READ_WRITE (0x03UL << MPU_RASR_AP_Pos) -#define portMPU_REGION_PRIVILEGED_READ_ONLY (0x05UL << MPU_RASR_AP_Pos) -#define portMPU_REGION_READ_ONLY (0x06UL << MPU_RASR_AP_Pos) -#define portMPU_REGION_PRIVILEGED_READ_WRITE (0x01UL << MPU_RASR_AP_Pos) -#define RAM_REGION_NUMBER (0x00UL << MPU_RNR_REGION_Pos) -#define FLASH_REGION_NUMBER (0x01UL << MPU_RNR_REGION_Pos) -#define PERIPH_REGION_NUMBER (0x02UL << MPU_RNR_REGION_Pos) - - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void MPU_Config(void); -void MPU_AccessPermConfig(void); - -#endif /* __STM32_MPU_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32f2xx_conf.h deleted file mode 100644 index 3eab2418c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/MPU/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32f2xx_it.c deleted file mode 100644 index 5b3136bbc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32f2xx_it.c +++ /dev/null @@ -1,177 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/MPU/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CortexM3_MPU - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Turn on LED2 */ - STM_EVAL_LEDOn(LED2); - - /* Go to infinite loop */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32f2xx_it.h deleted file mode 100644 index 04cbc10a2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/MPU/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/MPU/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/main.c deleted file mode 100644 index 9558c3523..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/main.c +++ /dev/null @@ -1,186 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/Mode_Privilege/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CortexM3_Mode_Privilege - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define SP_PROCESS_SIZE 0x200 /* Process stack size */ -#define SP_PROCESS 0x02 /* Process stack */ -#define SP_MAIN 0x00 /* Main stack */ -#define THREAD_MODE_PRIVILEGED 0x00 /* Thread mode has privileged access */ -#define THREAD_MODE_UNPRIVILEGED 0x01 /* Thread mode has unprivileged access */ - -/* Private macro -------------------------------------------------------------*/ -#if defined ( __CC_ARM ) - __ASM void __SVC(void) - { - SVC 0x01 - BX R14 - } -#elif defined ( __ICCARM__ ) - static __INLINE void __SVC() { __ASM ("svc 0x01");} -#elif defined ( __GNUC__ ) - static __INLINE void __SVC() { __ASM volatile ("svc 0x01");} - #elif defined ( __TASKING__ ) - static __INLINE void __SVC() { __ASM ("svc 0x01");} -#endif - -/* Private variables ---------------------------------------------------------*/ -__IO uint8_t PSPMemAlloc[SP_PROCESS_SIZE]; -__IO uint32_t Index = 0, PSPValue = 0, CurrentStack = 0, ThreadMode = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - -/* Switch Thread mode Stack from Main to Process -----------------------------*/ - /* Initialize memory reserved for Process Stack */ - for(Index = 0; Index < SP_PROCESS_SIZE; Index++) - { - PSPMemAlloc[Index] = 0x00; - } - - /* Set Process stack value */ - __set_PSP((uint32_t)PSPMemAlloc + SP_PROCESS_SIZE); - - /* Select Process Stack as Thread mode Stack */ - __set_CONTROL(SP_PROCESS); - - /* Get the Thread mode stack used */ - if((__get_CONTROL() & 0x02) == SP_MAIN) - { - /* Main stack is used as the current stack */ - CurrentStack = SP_MAIN; - } - else - { - /* Process stack is used as the current stack */ - CurrentStack = SP_PROCESS; - - /* Get process stack pointer value */ - PSPValue = __get_PSP(); - } - -/* Switch Thread mode from privileged to unprivileged ------------------------*/ - /* Thread mode has unprivileged access */ - __set_CONTROL(THREAD_MODE_UNPRIVILEGED | SP_PROCESS); - - /* Unprivileged access mainly affect ability to: - - Use or not use certain instructions such as MSR fields - - Access System Control Space (SCS) registers such as NVIC and SysTick */ - - /* Check Thread mode privilege status */ - if((__get_CONTROL() & 0x01) == THREAD_MODE_PRIVILEGED) - { - /* Thread mode has privileged access */ - ThreadMode = THREAD_MODE_PRIVILEGED; - } - else - { - /* Thread mode has unprivileged access*/ - ThreadMode = THREAD_MODE_UNPRIVILEGED; - } - -/* Switch back Thread mode from unprivileged to privileged -------------------*/ - /* Try to switch back Thread mode to privileged (Not possible, this can be - done only in Handler mode) */ - __set_CONTROL(THREAD_MODE_PRIVILEGED | SP_PROCESS); - - /* Generate a system call exception, and in the ISR switch back Thread mode - to privileged */ - __SVC(); - - /* Check Thread mode privilege status */ - if((__get_CONTROL() & 0x01) == THREAD_MODE_PRIVILEGED) - { - /* Thread mode has privileged access */ - ThreadMode = THREAD_MODE_PRIVILEGED; - } - else - { - /* Thread mode has unprivileged access*/ - ThreadMode = THREAD_MODE_UNPRIVILEGED; - } - - while (1) - { - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/readme.txt deleted file mode 100644 index 1a26d85e4..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/readme.txt +++ /dev/null @@ -1,83 +0,0 @@ -/** - @page CortexM3_Mode_Privilege CortexM3 Mode Privilege example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file CortexM3/Mode_Privilege/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the CortexM3 Mode Privilege example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to modify CortexM3 Thread mode privilege access and stack. -CortexM3 Thread mode is entered on Reset, and can be entered as a result of an -exception return. - -The associated program is used to: - -1. Switch the Thread mode stack from Main stack to Process stack - -2. Switch the Thread mode from Privileged to Unprivileged - -3. Switch the Thread mode from Unprivileged back to Privileged - -To monitor the stack used and the privileged or unprivileged access level of code -in Thread mode, a set of variables is available within the program. It is also -possible to use the 'Cortex register' window of the debugger. - - -@par Directory contents - - - CortexM3/Mode_Privilege/stm32f2xx_conf.h Library Configuration file - - CortexM3/Mode_Privilege/stm32f2xx_it.c Interrupt handlers - - CortexM3/Mode_Privilege/stm32f2xx_it.h Interrupt handlers header file - - CortexM3/Mode_Privilege/main.c Main program - - CortexM3/Mode_Privilege/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/stm32f2xx_conf.h deleted file mode 100644 index 8ded0ca86..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/Mode_Privilege/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/stm32f2xx_it.c deleted file mode 100644 index 45384362d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/stm32f2xx_it.c +++ /dev/null @@ -1,175 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/Mode_Privilege/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup CortexM3_Mode_Privilege - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ - /* Switch back Thread mode to privileged */ - __set_CONTROL(2); -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/stm32f2xx_it.h deleted file mode 100644 index df13c530a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file CortexM3/Mode_Privilege/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/CortexM3/Mode_Privilege/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/main.c deleted file mode 100644 index ba60beef1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/main.c +++ /dev/null @@ -1,341 +0,0 @@ -/** - ****************************************************************************** - * @file DAC/DAC_SignalsGeneration/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DAC_SignalsGeneration - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define DAC_DHR12R2_ADDRESS 0x40007414 -#define DAC_DHR8R1_ADDRESS 0x40007410 - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -DAC_InitTypeDef DAC_InitStructure; - -const uint16_t Sine12bit[32] = { - 2047, 2447, 2831, 3185, 3498, 3750, 3939, 4056, 4095, 4056, - 3939, 3750, 3495, 3185, 2831, 2447, 2047, 1647, 1263, 909, - 599, 344, 155, 38, 0, 38, 155, 344, 599, 909, 1263, 1647}; -const uint8_t Escalator8bit[6] = {0x0, 0x33, 0x66, 0x99, 0xCC, 0xFF}; - -__IO uint8_t SelectedWavesForm = 1; -__IO uint8_t KeyPressed = SET; - -/* Private function prototypes -----------------------------------------------*/ -void TIM6_Config(void); - -void DAC_Ch1_EscalatorConfig(void); -void DAC_Ch2_SineWaveConfig(void); - -void DAC_Ch1_NoiseConfig(void); -void DAC_Ch2_TriangleConfig(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Preconfiguration before using DAC----------------------------------------*/ - GPIO_InitTypeDef GPIO_InitStructure; - - /* DMA1 clock and GPIOA clock enable (to be used with DAC) */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA1 | RCC_AHB1Periph_GPIOA, ENABLE); - - /* DAC Periph clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE); - - /* DAC channel 1 & 2 (DAC_OUT1 = PA.4)(DAC_OUT2 = PA.5) configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* TIM6 Configuration ------------------------------------------------------*/ - TIM6_Config(); - - /* Configures Key Button */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI); - - while (1) - { - /* If the Key is pressed */ - if (KeyPressed != RESET) - { - DAC_DeInit(); - - /* select waves forms according to the Key Button status */ - if (SelectedWavesForm == 1) - { - /* The sine wave and the escalator wave has been selected */ - - /* Escalator Wave generator ------------------------------------------*/ - DAC_Ch1_EscalatorConfig(); - - /* Sine Wave generator -----------------------------------------------*/ - DAC_Ch2_SineWaveConfig(); - - } - else - { - /* The triangle wave and the noise wave has been selected */ - - /* Noise Wave generator ----------------------------------------------*/ - DAC_Ch1_NoiseConfig(); - - /* Triangle Wave generator -------------------------------------------*/ - DAC_Ch2_TriangleConfig(); - } - - KeyPressed = RESET; - } - } -} - -/** - * @brief TIM6 Configuration - * @note TIM6 configuration is based on APB1 frequency - * @note TIM6 Update event occurs each TIM6CLK/256 - * @param None - * @retval None - */ -void TIM6_Config(void) -{ - TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; - /* TIM6 Periph clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); - - /* -------------------------------------------------------- - TIM3 input clock (TIM6CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM6CLK = 2 * PCLK1 - TIM6CLK = HCLK / 2 = SystemCoreClock /2 - - TIM6 Update event occurs each TIM6CLK/256 - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - - ----------------------------------------------------------- */ - /* Time base configuration */ - TIM_TimeBaseStructInit(&TIM_TimeBaseStructure); - TIM_TimeBaseStructure.TIM_Period = 0xFF; - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - TIM_TimeBaseInit(TIM6, &TIM_TimeBaseStructure); - - /* TIM6 TRGO selection */ - TIM_SelectOutputTrigger(TIM6, TIM_TRGOSource_Update); - - /* TIM6 enable counter */ - TIM_Cmd(TIM6, ENABLE); -} - -/** - * @brief DAC Channel2 SineWave Configuration - * @param None - * @retval None - */ -void DAC_Ch2_SineWaveConfig(void) -{ - DMA_InitTypeDef DMA_InitStructure; - - /* DAC channel2 Configuration */ - DAC_InitStructure.DAC_Trigger = DAC_Trigger_T6_TRGO; - DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None; - DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; - DAC_Init(DAC_Channel_2, &DAC_InitStructure); - - /* DMA1_Stream6 channel7 configuration **************************************/ - DMA_DeInit(DMA1_Stream6); - DMA_InitStructure.DMA_Channel = DMA_Channel_7; - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)DAC_DHR12R2_ADDRESS; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&Sine12bit; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - DMA_InitStructure.DMA_BufferSize = 32; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(DMA1_Stream6, &DMA_InitStructure); - - /* Enable DMA1_Stream6 */ - DMA_Cmd(DMA1_Stream6, ENABLE); - - /* Enable DAC Channel2 */ - DAC_Cmd(DAC_Channel_2, ENABLE); - - /* Enable DMA for DAC Channel2 */ - DAC_DMACmd(DAC_Channel_2, ENABLE); -} - -/** - * @brief DAC Channel1 Escalator Configuration - * @param None - * @retval None - */ -void DAC_Ch1_EscalatorConfig(void) -{ - DMA_InitTypeDef DMA_InitStructure; - - /* DAC channel1 Configuration */ - DAC_InitStructure.DAC_Trigger = DAC_Trigger_T6_TRGO; - DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None; - DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; - DAC_Init(DAC_Channel_1, &DAC_InitStructure); - - /* DMA1_Stream5 channel7 configuration **************************************/ - DMA_DeInit(DMA1_Stream5); - DMA_InitStructure.DMA_Channel = DMA_Channel_7; - DMA_InitStructure.DMA_PeripheralBaseAddr = DAC_DHR8R1_ADDRESS; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&Escalator8bit; - DMA_InitStructure.DMA_BufferSize = 6; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(DMA1_Stream5, &DMA_InitStructure); - - /* Enable DMA1_Stream5 */ - DMA_Cmd(DMA1_Stream5, ENABLE); - - /* Enable DAC Channel1 */ - DAC_Cmd(DAC_Channel_1, ENABLE); - - /* Enable DMA for DAC Channel1 */ - DAC_DMACmd(DAC_Channel_1, ENABLE); -} - -/** - * @brief DAC Channel2 Triangle Configuration - * @param None - * @retval None - */ -void DAC_Ch2_TriangleConfig(void) -{ - /* DAC channel2 Configuration */ - DAC_InitStructure.DAC_Trigger = DAC_Trigger_T6_TRGO; - DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_Triangle; - DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_TriangleAmplitude_1023; - DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; - DAC_Init(DAC_Channel_2, &DAC_InitStructure); - - /* Enable DAC Channel2 */ - DAC_Cmd(DAC_Channel_2, ENABLE); - - /* Set DAC channel2 DHR12RD register */ - DAC_SetChannel2Data(DAC_Align_12b_R, 0x100); -} - -/** - * @brief DAC Channel1 Noise Configuration - * @param None - * @retval None - */ -void DAC_Ch1_NoiseConfig(void) -{ - /* DAC channel1 Configuration */ - DAC_InitStructure.DAC_Trigger = DAC_Trigger_T6_TRGO; - DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_Noise; - DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bits10_0; - DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable; - DAC_Init(DAC_Channel_1, &DAC_InitStructure); - - /* Enable DAC Channel1 */ - DAC_Cmd(DAC_Channel_1, ENABLE); - - /* Set DAC Channel1 DHR12L register */ - DAC_SetChannel1Data(DAC_Align_12b_L, 0x7FF0); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/readme.txt deleted file mode 100644 index e722722aa..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/readme.txt +++ /dev/null @@ -1,80 +0,0 @@ -/** - @page DAC_SignalsGen DAC Signals generation example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file DAC/DAC_SignalsGeneration/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the DAC Signals generation example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the DAC peripheral to -generate several signals using DMA controller. -When the user presses the KEY push-button, DMA transfers the two selected -waveforms to the DAC. -For each press on KEY button, 2 signals has been selected and can be monitored on -the two DAC channels: - - Escalator waveform (Channel 1) and Sine waveForm (Channel 2). - - Noise waveform (Channel 1) and Triangle waveform (Channel 2). - - -@par Directory contents - - - DAC/DAC_SignalsGeneration/stm32f2xx_conf.h Library Configuration file - - DAC/DAC_SignalsGeneration/stm32f2xx_it.c Interrupt handlers - - DAC/DAC_SignalsGeneration/stm32f2xx_it.h Interrupt handlers header file - - DAC/DAC_SignalsGeneration/main.c Main program - - DAC/DAC_SignalsGeneration/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use KEY push-button connected to PG15. - - Connect PA4 (DAC Channel1) and PA5 (DAC Channel2) pins to an oscilloscope. - - Make sure that JP31 is removed. - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/stm32f2xx_conf.h deleted file mode 100644 index 742c07736..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file DAC/OneChannelDMA_SineWave/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/stm32f2xx_it.c deleted file mode 100644 index 76ca5bd62..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/stm32f2xx_it.c +++ /dev/null @@ -1,191 +0,0 @@ -/** - ****************************************************************************** - * @file DAC/DAC_SignalsGeneration/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ -/** @addtogroup DAC_SignalsGeneration - * @{ - */ -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern __IO uint8_t SelectedWavesForm, KeyPressed; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ -/** - * @brief This function handles External line 15 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - /* Change the wave */ - KeyPressed = 1; - - /* Change the selected waves forms */ - SelectedWavesForm = !SelectedWavesForm; - - /* Clear the Right Button EXTI line pending bit */ - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - } -} -/** - * @} - */ -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/stm32f2xx_it.h deleted file mode 100644 index 03cc8bff5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/stm32f2xx_it.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - ****************************************************************************** - * @file DAC/DAC_SignalsGeneration/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void EXTI15_10_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DAC/DAC_SignalsGeneration/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/camera_api.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/camera_api.c deleted file mode 100644 index 36e9f5691..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/camera_api.c +++ /dev/null @@ -1,355 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/Camera/camera_api.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the routinue needed to configure OV9655/OV2640 - * Camera modules. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "camera_api.h" -#include "dcmi_ov9655.h" -#include "dcmi_ov2640.h" - -/** @addtogroup stm32f2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DCMI_Camera - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Image Formats */ -const uint8_t *ImageForematArray[] = -{ - "BMP QQVGA Format ", - "BMP QVGA Format ", -}; -static __IO uint32_t TimingDelay; -__IO uint32_t PressedKey = 0; -uint8_t ValueMin = 0, ValueMax = 0; -Camera_TypeDef Camera; -ImageFormat_TypeDef ImageFormat; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Initialize resources used for this demo. - * @param None - * @retval Digit value - */ -uint8_t Demo_Init(void) -{ - __IO uint32_t tmpValue = 0; - PressedKey = NOKEY; - - /* Configure the IO Expander */ - if(IOE_Config() == IOE_OK) - { - LCD_DisplayStringLine(LINE(6), (uint8_t*)"IO Expander OK "); - Delay(0xFF); - } - else - { - LCD_SetTextColor(LCD_COLOR_RED); - LCD_DisplayStringLine(LINE(6), (uint8_t*)"IO Expander FAILED Please Reset the board"); - while (1); - } - - /* Enable the Joystick interrupt */ - IOE_ITConfig(IOE_ITSRC_JOYSTICK); - - Demo_LCD_Clear(); - LCD_DisplayStringLine(LINE(6), (uint8_t*)"Main Menu: "); - LCD_DisplayStringLine(LINE(7), (uint8_t*)"=========="); - LCD_DisplayStringLine(LINE(8), (uint8_t*)"Use UP and DOWN Buttons to Navigate"); - LCD_DisplayStringLine(LINE(9), (uint8_t*)"Use SEL Button to Select Image Format"); - - LCD_DisplayStringLine(LINE(11), (uint8_t*)"Select the Image Format:"); - Display_Menu(ValueMin, ValueMax); - - while (1) - { - /* If "UP" pushbutton is pressed */ - if (PressedKey == UP) - { - PressedKey = NOKEY; - - /* Increase the value of the digit */ - if (tmpValue == ValueMin) - { - tmpValue = ValueMax - 1; - } - else - { - tmpValue--; - } - /* Display new Menu */ - Display_Menu(tmpValue, ValueMax); - } - /* If "DOWN" pushbutton is pressed */ - if (PressedKey == DOWN) - { - PressedKey = NOKEY; - - /* Decrease the value of the digit */ - if (tmpValue == (ValueMax - 1)) - { - tmpValue = ValueMin; - } - else - { - tmpValue++; - } - /* Display new Menu */ - Display_Menu(tmpValue, ValueMax); - } - /* If "SEL" pushbutton is pressed */ - if (PressedKey == SEL) - { - PressedKey = NOKEY; - - /* Return the digit value and exit */ - return (ImageFormat_TypeDef)tmpValue; - } - } -} - -/** - * @brief Display the navigation menu. - * @param None - * @retval None - */ -void Display_Menu(uint8_t ForematIndex, uint8_t MaxForematIndex) -{ - uint32_t index; - - for(index=0; index
© COPYRIGHT 2012 STMicroelectronics
- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __CAMERA_API_H -#define __CAMERA_API_H - -/* Includes ------------------------------------------------------------------*/ -#include "lcd_log.h" -#include "main.h" - -/* Exported constants --------------------------------------------------------*/ -#define DCMI_DR_ADDRESS 0x50050028 -#define FSMC_LCD_ADDRESS 0x68000002 -#define NOKEY 0 -#define SEL 1 -#define UP 2 -#define DOWN 3 - -/* Exported types ------------------------------------------------------------*/ -/* Camera devices enumeration */ -typedef enum -{ - OV9655_CAMERA = 0x00, /* Use OV9655 Camera */ - OV2640_CAMERA = 0x01 /* Use OV2640 Camera */ -}Camera_TypeDef; - -/* Image Sizes enumeration */ -typedef enum -{ - BMP_QQVGA = 0x00, /* BMP Image QQVGA 160x120 Size */ - BMP_QVGA = 0x01, /* BMP Image QVGA 320x240 Size */ - JPEG_160x120 = 0x02, /* JPEG Image 160x120 Size */ - JPEG_176x144 = 0x03, /* JPEG Image 176x144 Size */ - JPEG_320x240 = 0x04, /* JPEG Image 320x240 Size */ - JPEG_352x288 = 0x05 /* JPEG Image 352x288 Size */ -}ImageFormat_TypeDef; - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -uint8_t Demo_Init(void); -void Display_Menu(uint8_t ForematIndex, uint8_t MaxForematIndex); -void Camera_Config(void); -void OV2640_SpecialEffects(uint8_t index); -void Delay(uint32_t nTime); -void TimingDelay_Decrement(void); -void Demo_LCD_Clear(void); - -#endif /* __CAMERA_API_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov2640.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov2640.c deleted file mode 100644 index fbe3195a5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov2640.c +++ /dev/null @@ -1,1563 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/Camera/dcmi_ov2640.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file includes the driver for OV2640 Camera module mounted on - * STM322xG-EVAL board RevB. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "camera_api.h" -#include "dcmi_ov2640.h" - -/** @addtogroup stm32f2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DCMI_Camera - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define TIMEOUT 2 - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* QQVGA 160x120 */ -const char OV2640_QQVGA[][2]= -{ - 0xff, 0x00, - 0x2c, 0xff, - 0x2e, 0xdf, - 0xff, 0x01, - 0x3c, 0x32, - 0x11, 0x00, - 0x09, 0x02, - 0x03, 0xcf, - 0x04, 0x08, - 0x13, 0xe5, - 0x14, 0x48, - 0x2c, 0x0c, - 0x33, 0x78, - 0x3a, 0x33, - 0x3b, 0xfb, - 0x3e, 0x00, - 0x43, 0x11, - 0x16, 0x10, - 0x39, 0x02, - 0x35, 0x88, - 0x22, 0x0a, - 0x37, 0x40, - 0x23, 0x00, - 0x34, 0xa0, - 0x36, 0x1a, - 0x06, 0x02, - 0x07, 0xc0, - 0x0d, 0xb7, - 0x0e, 0x01, - 0x4c, 0x00, - 0x4a, 0x81, - 0x21, 0x99, - 0x24, 0x3a, - 0x25, 0x32, - 0x26, 0x82, - 0x5c, 0x00, - 0x63, 0x00, - 0x5d, 0x55, - 0x5e, 0x7d, - 0x5f, 0x7d, - 0x60, 0x55, - 0x61, 0x70, - 0x62, 0x80, - 0x7c, 0x05, - 0x20, 0x80, - 0x28, 0x30, - 0x6c, 0x00, - 0x6d, 0x80, - 0x6e, 0x00, - 0x70, 0x02, - 0x71, 0x96, - 0x73, 0xe1, - 0x3d, 0x34, - 0x5a, 0x57, - 0x4f, 0xbb, - 0x50, 0x9c, - 0x0f, 0x43, - 0xff, 0x00, - 0xe5, 0x7f, - 0xf9, 0xc0, - 0x41, 0x24, - 0xe0, 0x14, - 0x76, 0xff, - 0x33, 0xa0, - 0x42, 0x20, - 0x43, 0x18, - 0x4c, 0x00, - 0x87, 0xd0, - 0x88, 0x3f, - 0xd7, 0x03, - 0xd9, 0x10, - 0xd3, 0x82, - 0xc8, 0x08, - 0xc9, 0x80, - 0x7c, 0x00, - 0x7d, 0x02, - 0x7c, 0x03, - 0x7d, 0x48, - 0x7d, 0x48, - 0x7c, 0x08, - 0x7d, 0x20, - 0x7d, 0x10, - 0x7d, 0x0e, - 0x90, 0x00, - 0x91, 0x0e, - 0x91, 0x1a, - 0x91, 0x31, - 0x91, 0x5a, - 0x91, 0x69, - 0x91, 0x75, - 0x91, 0x7e, - 0x91, 0x88, - 0x91, 0x8f, - 0x91, 0x96, - 0x91, 0xa3, - 0x91, 0xaf, - 0x91, 0xc4, - 0x91, 0xd7, - 0x91, 0xe8, - 0x91, 0x20, - 0x92, 0x00, - 0x93, 0x06, - 0x93, 0xe3, - 0x93, 0x05, - 0x93, 0x05, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x96, 0x00, - 0x97, 0x08, - 0x97, 0x19, - 0x97, 0x02, - 0x97, 0x0c, - 0x97, 0x24, - 0x97, 0x30, - 0x97, 0x28, - 0x97, 0x26, - 0x97, 0x02, - 0x97, 0x98, - 0x97, 0x80, - 0x97, 0x00, - 0x97, 0x00, - 0xc3, 0xed, - 0xa4, 0x00, - 0xa8, 0x00, - 0xbf, 0x00, - 0xba, 0xf0, - 0xbc, 0x64, - 0xbb, 0x02, - 0xb6, 0x3d, - 0xb8, 0x57, - 0xb7, 0x38, - 0xb9, 0x4e, - 0xb3, 0xe8, - 0xb4, 0xe1, - 0xb5, 0x66, - 0xb0, 0x67, - 0xb1, 0x5e, - 0xb2, 0x04, - 0xc7, 0x00, - 0xc6, 0x51, - 0xc5, 0x11, - 0xc4, 0x9c, - 0xcf, 0x02, - 0xa6, 0x00, - 0xa7, 0xe0, - 0xa7, 0x10, - 0xa7, 0x1e, - 0xa7, 0x21, - 0xa7, 0x00, - 0xa7, 0x28, - 0xa7, 0xd0, - 0xa7, 0x10, - 0xa7, 0x16, - 0xa7, 0x21, - 0xa7, 0x00, - 0xa7, 0x28, - 0xa7, 0xd0, - 0xa7, 0x10, - 0xa7, 0x17, - 0xa7, 0x21, - 0xa7, 0x00, - 0xa7, 0x28, - 0xc0, 0xc8, - 0xc1, 0x96, - 0x86, 0x1d, - 0x50, 0x00, - 0x51, 0x90, - 0x52, 0x18, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x88, - 0x57, 0x00, - 0x5a, 0x90, - 0x5b, 0x18, - 0x5c, 0x05, - 0xc3, 0xef, - 0x7f, 0x00, - 0xda, 0x00, - 0xe5, 0x1f, - 0xe1, 0x67, - 0xe0, 0x00, - 0xdd, 0xff, - 0x05, 0x00, - 0xff, 0x01, - 0xff, 0x01, - 0x12, 0x00, - 0x17, 0x11, - 0x18, 0x75, - 0x19, 0x01, - 0x1a, 0x97, - 0x32, 0x36, - 0x4f, 0xbb, - 0x6d, 0x80, - 0x3d, 0x34, - 0x39, 0x02, - 0x35, 0x88, - 0x22, 0x0a, - 0x37, 0x40, - 0x23, 0x00, - 0x34, 0xa0, - 0x36, 0x1a, - 0x06, 0x02, - 0x07, 0xc0, - 0x0d, 0xb7, - 0x0e, 0x01, - 0x4c, 0x00, - 0xff, 0x00, - 0xe0, 0x04, - 0x8c, 0x00, - 0x87, 0xd0, - 0xe0, 0x00, - 0xff, 0x00, - 0xe0, 0x14, - 0xe1, 0x77, - 0xe5, 0x1f, - 0xd7, 0x03, - 0xda, 0x10, - 0xe0, 0x00, - 0xff, 0x00, - 0xe0, 0x04, - 0xc0, 0xc8, - 0xc1, 0x96, - 0x86, 0x1d, - 0x50, 0x00, - 0x51, 0x90, - 0x52, 0x2c, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x88, - 0x57, 0x00, - 0x5a, 0x90, - 0x5b, 0x2c, - 0x5c, 0x05, - 0xe0, 0x00, - 0xd3, 0x04, - 0xff, 0x00, - 0xc3, 0xef, - 0xa6, 0x00, - 0xa7, 0xdd, - 0xa7, 0x78, - 0xa7, 0x7e, - 0xa7, 0x24, - 0xa7, 0x00, - 0xa7, 0x25, - 0xa6, 0x06, - 0xa7, 0x20, - 0xa7, 0x58, - 0xa7, 0x73, - 0xa7, 0x34, - 0xa7, 0x00, - 0xa7, 0x25, - 0xa6, 0x0c, - 0xa7, 0x28, - 0xa7, 0x58, - 0xa7, 0x6d, - 0xa7, 0x34, - 0xa7, 0x00, - 0xa7, 0x25, - 0xff, 0x00, - 0xe0, 0x04, - 0xe1, 0x67, - 0xe5, 0x1f, - 0xd7, 0x01, - 0xda, 0x08, - 0xda, 0x09, - 0xe0, 0x00, - 0x98, 0x00, - 0x99, 0x00, - 0xff, 0x01, - 0x04, 0x28, - 0xff, 0x01, - 0x12, 0x40, - 0x17, 0x11, - 0x18, 0x43, - 0x19, 0x00, - 0x1a, 0x4b, - 0x32, 0x09, - 0x4f, 0xca, - 0x50, 0xa8, - 0x5a, 0x23, - 0x6d, 0x00, - 0x39, 0x12, - 0x35, 0xda, - 0x22, 0x1a, - 0x37, 0xc3, - 0x23, 0x00, - 0x34, 0xc0, - 0x36, 0x1a, - 0x06, 0x88, - 0x07, 0xc0, - 0x0d, 0x87, - 0x0e, 0x41, - 0x4c, 0x00, - 0xff, 0x00, - 0xe0, 0x04, - 0xc0, 0x64, - 0xc1, 0x4b, - 0x86, 0x35, - 0x50, 0x92, - 0x51, 0xc8, - 0x52, 0x96, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x00, - 0x57, 0x00, - 0x5a, 0x28, - 0x5b, 0x1e, - 0x5c, 0x00, - 0xe0, 0x00, - 0xff, 0x01, - 0x11, 0x00, - 0x3d, 0x38, - 0x2d, 0x00, - 0x50, 0x65, - 0xff, 0x00, - 0xd3, 0x04, - 0x7c, 0x00, - 0x7d, 0x04, - 0x7c, 0x09, - 0x7d, 0x28, - 0x7d, 0x00, -}; - -/* QVGA 320x240 */ -const unsigned char OV2640_QVGA[][2]= -{ - 0xff, 0x00, - 0x2c, 0xff, - 0x2e, 0xdf, - 0xff, 0x01, - 0x3c, 0x32, - 0x11, 0x00, - 0x09, 0x02, - 0x04, 0x28, - 0x13, 0xe5, - 0x14, 0x48, - 0x2c, 0x0c, - 0x33, 0x78, - 0x3a, 0x33, - 0x3b, 0xfB, - 0x3e, 0x00, - 0x43, 0x11, - 0x16, 0x10, - 0x4a, 0x81, - 0x21, 0x99, - 0x24, 0x40, - 0x25, 0x38, - 0x26, 0x82, - 0x5c, 0x00, - 0x63, 0x00, - 0x46, 0x3f, - 0x0c, 0x3c, - 0x61, 0x70, - 0x62, 0x80, - 0x7c, 0x05, - 0x20, 0x80, - 0x28, 0x30, - 0x6c, 0x00, - 0x6d, 0x80, - 0x6e, 0x00, - 0x70, 0x02, - 0x71, 0x94, - 0x73, 0xc1, - 0x3d, 0x34, - 0x5a, 0x57, - 0x12, 0x00, - 0x11, 0x00, - 0x17, 0x11, - 0x18, 0x75, - 0x19, 0x01, - 0x1a, 0x97, - 0x32, 0x36, - 0x03, 0x0f, - 0x37, 0x40, - 0x4f, 0xbb, - 0x50, 0x9c, - 0x5a, 0x57, - 0x6d, 0x80, - 0x6d, 0x38, - 0x39, 0x02, - 0x35, 0x88, - 0x22, 0x0a, - 0x37, 0x40, - 0x23, 0x00, - 0x34, 0xa0, - 0x36, 0x1a, - 0x06, 0x02, - 0x07, 0xc0, - 0x0d, 0xb7, - 0x0e, 0x01, - 0x4c, 0x00, - 0xff, 0x00, - 0xe5, 0x7f, - 0xf9, 0xc0, - 0x41, 0x24, - 0xe0, 0x14, - 0x76, 0xff, - 0x33, 0xa0, - 0x42, 0x20, - 0x43, 0x18, - 0x4c, 0x00, - 0x87, 0xd0, - 0x88, 0x3f, - 0xd7, 0x03, - 0xd9, 0x10, - 0xd3, 0x82, - 0xc8, 0x08, - 0xc9, 0x80, - 0x7d, 0x00, - 0x7c, 0x03, - 0x7d, 0x48, - 0x7c, 0x08, - 0x7d, 0x20, - 0x7d, 0x10, - 0x7d, 0x0e, - 0x90, 0x00, - 0x91, 0x0e, - 0x91, 0x1a, - 0x91, 0x31, - 0x91, 0x5a, - 0x91, 0x69, - 0x91, 0x75, - 0x91, 0x7e, - 0x91, 0x88, - 0x91, 0x8f, - 0x91, 0x96, - 0x91, 0xa3, - 0x91, 0xaf, - 0x91, 0xc4, - 0x91, 0xd7, - 0x91, 0xe8, - 0x91, 0x20, - 0x92, 0x00, - 0x93, 0x06, - 0x93, 0xe3, - 0x93, 0x02, - 0x93, 0x02, - 0x93, 0x00, - 0x93, 0x04, - 0x93, 0x00, - 0x93, 0x03, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x96, 0x00, - 0x97, 0x08, - 0x97, 0x19, - 0x97, 0x02, - 0x97, 0x0c, - 0x97, 0x24, - 0x97, 0x30, - 0x97, 0x28, - 0x97, 0x26, - 0x97, 0x02, - 0x97, 0x98, - 0x97, 0x80, - 0x97, 0x00, - 0x97, 0x00, - 0xc3, 0xef, - 0xff, 0x00, - 0xba, 0xdc, - 0xbb, 0x08, - 0xb6, 0x24, - 0xb8, 0x33, - 0xb7, 0x20, - 0xb9, 0x30, - 0xb3, 0xb4, - 0xb4, 0xca, - 0xb5, 0x43, - 0xb0, 0x5c, - 0xb1, 0x4f, - 0xb2, 0x06, - 0xc7, 0x00, - 0xc6, 0x51, - 0xc5, 0x11, - 0xc4, 0x9c, - 0xbf, 0x00, - 0xbc, 0x64, - 0xa6, 0x00, - 0xa7, 0x1e, - 0xa7, 0x6b, - 0xa7, 0x47, - 0xa7, 0x33, - 0xa7, 0x00, - 0xa7, 0x23, - 0xa7, 0x2e, - 0xa7, 0x85, - 0xa7, 0x42, - 0xa7, 0x33, - 0xa7, 0x00, - 0xa7, 0x23, - 0xa7, 0x1b, - 0xa7, 0x74, - 0xa7, 0x42, - 0xa7, 0x33, - 0xa7, 0x00, - 0xa7, 0x23, - 0xc0, 0xc8, - 0xc1, 0x96, - 0x8c, 0x00, - 0x86, 0x3d, - 0x50, 0x92, - 0x51, 0x90, - 0x52, 0x2c, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x88, - 0x5a, 0x50, - 0x5b, 0x3c, - 0x5c, 0x00, - 0xd3, 0x04, - 0x7f, 0x00, - 0xda, 0x00, - 0xe5, 0x1f, - 0xe1, 0x67, - 0xe0, 0x00, - 0xdd, 0x7f, - 0x05, 0x00, - 0xff, 0x00, - 0xe0, 0x04, - 0xc0, 0xc8, - 0xc1, 0x96, - 0x86, 0x3d, - 0x50, 0x92, - 0x51, 0x90, - 0x52, 0x2c, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x88, - 0x57, 0x00, - 0x5a, 0x50, - 0x5b, 0x3c, - 0x5c, 0x00, - 0xd3, 0x04, - 0xe0, 0x00, - 0xFF, 0x00, - 0x05, 0x00, - 0xDA, 0x08, - 0xda, 0x09, - 0x98, 0x00, - 0x99, 0x00, - 0x00, 0x00, -}; - -const unsigned char OV2640_JPEG_INIT[][2]= -{ - 0xff, 0x00, - 0x2c, 0xff, - 0x2e, 0xdf, - 0xff, 0x01, - 0x3c, 0x32, - 0x11, 0x30, - 0x09, 0x02, - 0x04, 0x28, - 0x13, 0xe5, - 0x14, 0x48, - 0x2c, 0x0c, - 0x33, 0x78, - 0x3a, 0x33, - 0x3b, 0xfB, - 0x3e, 0x00, - 0x43, 0x11, - 0x16, 0x10, - 0x39, 0x92, - 0x35, 0xda, - 0x22, 0x1a, - 0x37, 0xc3, - 0x23, 0x00, - 0x34, 0xc0, - 0x36, 0x1a, - 0x06, 0x88, - 0x07, 0xc0, - 0x0d, 0x87, - 0x0e, 0x41, - 0x4c, 0x00, - 0x48, 0x00, - 0x5B, 0x00, - 0x42, 0x03, - 0x4a, 0x81, - 0x21, 0x99, - 0x24, 0x40, - 0x25, 0x38, - 0x26, 0x82, - 0x5c, 0x00, - 0x63, 0x00, - 0x61, 0x70, - 0x62, 0x80, - 0x7c, 0x05, - 0x20, 0x80, - 0x28, 0x30, - 0x6c, 0x00, - 0x6d, 0x80, - 0x6e, 0x00, - 0x70, 0x02, - 0x71, 0x94, - 0x73, 0xc1, - 0x12, 0x40, - 0x17, 0x11, - 0x18, 0x43, - 0x19, 0x00, - 0x1a, 0x4b, - 0x32, 0x09, - 0x37, 0xc0, - 0x4f, 0x60, - 0x50, 0xa8, - 0x6d, 0x00, - 0x3d, 0x38, - 0x46, 0x3f, - 0x4f, 0x60, - 0x0c, 0x3c, - 0xff, 0x00, - 0xe5, 0x7f, - 0xf9, 0xc0, - 0x41, 0x24, - 0xe0, 0x14, - 0x76, 0xff, - 0x33, 0xa0, - 0x42, 0x20, - 0x43, 0x18, - 0x4c, 0x00, - 0x87, 0xd5, - 0x88, 0x3f, - 0xd7, 0x03, - 0xd9, 0x10, - 0xd3, 0x82, - 0xc8, 0x08, - 0xc9, 0x80, - 0x7c, 0x00, - 0x7d, 0x00, - 0x7c, 0x03, - 0x7d, 0x48, - 0x7d, 0x48, - 0x7c, 0x08, - 0x7d, 0x20, - 0x7d, 0x10, - 0x7d, 0x0e, - 0x90, 0x00, - 0x91, 0x0e, - 0x91, 0x1a, - 0x91, 0x31, - 0x91, 0x5a, - 0x91, 0x69, - 0x91, 0x75, - 0x91, 0x7e, - 0x91, 0x88, - 0x91, 0x8f, - 0x91, 0x96, - 0x91, 0xa3, - 0x91, 0xaf, - 0x91, 0xc4, - 0x91, 0xd7, - 0x91, 0xe8, - 0x91, 0x20, - 0x92, 0x00, - 0x93, 0x06, - 0x93, 0xe3, - 0x93, 0x05, - 0x93, 0x05, - 0x93, 0x00, - 0x93, 0x04, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x93, 0x00, - 0x96, 0x00, - 0x97, 0x08, - 0x97, 0x19, - 0x97, 0x02, - 0x97, 0x0c, - 0x97, 0x24, - 0x97, 0x30, - 0x97, 0x28, - 0x97, 0x26, - 0x97, 0x02, - 0x97, 0x98, - 0x97, 0x80, - 0x97, 0x00, - 0x97, 0x00, - 0xc3, 0xed, - 0xa4, 0x00, - 0xa8, 0x00, - 0xc5, 0x11, - 0xc6, 0x51, - 0xbf, 0x80, - 0xc7, 0x10, - 0xb6, 0x66, - 0xb8, 0xA5, - 0xb7, 0x64, - 0xb9, 0x7C, - 0xb3, 0xaf, - 0xb4, 0x97, - 0xb5, 0xFF, - 0xb0, 0xC5, - 0xb1, 0x94, - 0xb2, 0x0f, - 0xc4, 0x5c, - 0xc0, 0x64, - 0xc1, 0x4B, - 0x8c, 0x00, - 0x86, 0x3D, - 0x50, 0x00, - 0x51, 0xC8, - 0x52, 0x96, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x00, - 0x5a, 0xC8, - 0x5b, 0x96, - 0x5c, 0x00, - 0xd3, 0x7f, - 0xc3, 0xed, - 0x7f, 0x00, - 0xda, 0x00, - 0xe5, 0x1f, - 0xe1, 0x67, - 0xe0, 0x00, - 0xdd, 0x7f, - 0x05, 0x00, - - 0x12, 0x40, - 0xd3, 0x7f, - 0xc0, 0x16, - 0xC1, 0x12, - 0x8c, 0x00, - 0x86, 0x3d, - 0x50, 0x00, - 0x51, 0x2C, - 0x52, 0x24, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x00, - 0x5A, 0x2c, - 0x5b, 0x24, - 0x5c, 0x00, -}; - -const unsigned char OV2640_YUV422[][2]= -{ - 0xFF, 0x00, - 0x05, 0x00, - 0xDA, 0x10, - 0xD7, 0x03, - 0xDF, 0x00, - 0x33, 0x80, - 0x3C, 0x40, - 0xe1, 0x77, - 0x00, 0x00, -}; - -const unsigned char OV2640_JPEG[][2]= -{ - 0xe0, 0x14, - 0xe1, 0x77, - 0xe5, 0x1f, - 0xd7, 0x03, - 0xda, 0x10, - 0xe0, 0x00, - 0xFF, 0x01, - 0x04, 0x08, -}; - -/* JPG 160x120 */ -const unsigned char OV2640_160x120_JPEG[][2]= -{ - 0xff, 0x01, - 0x12, 0x40, - 0x17, 0x11, - 0x18, 0x43, - 0x19, 0x00, - 0x1a, 0x4b, - 0x32, 0x09, - 0x4f, 0xca, - 0x50, 0xa8, - 0x5a, 0x23, - 0x6d, 0x00, - 0x39, 0x12, - 0x35, 0xda, - 0x22, 0x1a, - 0x37, 0xc3, - 0x23, 0x00, - 0x34, 0xc0, - 0x36, 0x1a, - 0x06, 0x88, - 0x07, 0xc0, - 0x0d, 0x87, - 0x0e, 0x41, - 0x4c, 0x00, - 0xff, 0x00, - 0xe0, 0x04, - 0xc0, 0x64, - 0xc1, 0x4b, - 0x86, 0x35, - 0x50, 0x92, - 0x51, 0xc8, - 0x52, 0x96, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x00, - 0x57, 0x00, - 0x5a, 0x28, - 0x5b, 0x1e, - 0x5c, 0x00, - 0xe0, 0x00, -}; - -/* JPG, 0x176x144 */ -const unsigned char OV2640_176x144_JPEG[][2]= -{ - 0xff, 0x01, - 0x12, 0x40, - 0x17, 0x11, - 0x18, 0x43, - 0x19, 0x00, - 0x1a, 0x4b, - 0x32, 0x09, - 0x4f, 0xca, - 0x50, 0xa8, - 0x5a, 0x23, - 0x6d, 0x00, - 0x39, 0x12, - 0x35, 0xda, - 0x22, 0x1a, - 0x37, 0xc3, - 0x23, 0x00, - 0x34, 0xc0, - 0x36, 0x1a, - 0x06, 0x88, - 0x07, 0xc0, - 0x0d, 0x87, - 0x0e, 0x41, - 0x4c, 0x00, - 0xff, 0x00, - 0xe0, 0x04, - 0xc0, 0x64, - 0xc1, 0x4b, - 0x86, 0x35, - 0x50, 0x92, - 0x51, 0xc8, - 0x52, 0x96, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x00, - 0x57, 0x00, - 0x5a, 0x2c, - 0x5b, 0x24, - 0x5c, 0x00, - 0xe0, 0x00, -}; - -/* JPG 320x240 */ -const unsigned char OV2640_320x240_JPEG[][2]= -{ - 0xff, 0x01, - 0x12, 0x40, - 0x17, 0x11, - 0x18, 0x43, - 0x19, 0x00, - 0x1a, 0x4b, - 0x32, 0x09, - 0x4f, 0xca, - 0x50, 0xa8, - 0x5a, 0x23, - 0x6d, 0x00, - 0x39, 0x12, - 0x35, 0xda, - 0x22, 0x1a, - 0x37, 0xc3, - 0x23, 0x00, - 0x34, 0xc0, - 0x36, 0x1a, - 0x06, 0x88, - 0x07, 0xc0, - 0x0d, 0x87, - 0x0e, 0x41, - 0x4c, 0x00, - 0xff, 0x00, - 0xe0, 0x04, - 0xc0, 0x64, - 0xc1, 0x4b, - 0x86, 0x35, - 0x50, 0x89, - 0x51, 0xc8, - 0x52, 0x96, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x00, - 0x57, 0x00, - 0x5a, 0x50, - 0x5b, 0x3c, - 0x5c, 0x00, - 0xe0, 0x00, -}; - -/* JPG 352x288 */ -const unsigned char OV2640_352x288_JPEG[][2]= -{ - 0xff, 0x01, - 0x12, 0x40, - 0x17, 0x11, - 0x18, 0x43, - 0x19, 0x00, - 0x1a, 0x4b, - 0x32, 0x09, - 0x4f, 0xca, - 0x50, 0xa8, - 0x5a, 0x23, - 0x6d, 0x00, - 0x39, 0x12, - 0x35, 0xda, - 0x22, 0x1a, - 0x37, 0xc3, - 0x23, 0x00, - 0x34, 0xc0, - 0x36, 0x1a, - 0x06, 0x88, - 0x07, 0xc0, - 0x0d, 0x87, - 0x0e, 0x41, - 0x4c, 0x00, - 0xff, 0x00, - 0xe0, 0x04, - 0xc0, 0x64, - 0xc1, 0x4b, - 0x86, 0x35, - 0x50, 0x89, - 0x51, 0xc8, - 0x52, 0x96, - 0x53, 0x00, - 0x54, 0x00, - 0x55, 0x00, - 0x57, 0x00, - 0x5a, 0x58, - 0x5b, 0x48, - 0x5c, 0x00, - 0xe0, 0x00, -}; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Initializes the hardware resources (I2C and GPIO) used to configure - * the OV2640 camera. - * @param None - * @retval None - */ -void OV2640_HW_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - I2C_InitTypeDef I2C_InitStruct; - - /*** Configures the DCMI GPIOs to interface with the OV2640 camera module ***/ - /* Enable DCMI GPIOs clocks */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOH | - RCC_AHB1Periph_GPIOI, ENABLE); - - /* Connect DCMI pins to AF13 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_DCMI); - - GPIO_PinAFConfig(GPIOH, GPIO_PinSource8, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOH, GPIO_PinSource9, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOH, GPIO_PinSource10, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOH, GPIO_PinSource11, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOH, GPIO_PinSource12, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOH, GPIO_PinSource14, GPIO_AF_DCMI); - - GPIO_PinAFConfig(GPIOI, GPIO_PinSource5, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOI, GPIO_PinSource6, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOI, GPIO_PinSource7, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOI, GPIO_PinSource4, GPIO_AF_DCMI); - - /* DCMI GPIO configuration */ - /* D0..D4(PH9/10/11/12/14), HSYNC(PH8) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | - GPIO_Pin_12 | GPIO_Pin_14| GPIO_Pin_8; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ; - GPIO_Init(GPIOH, &GPIO_InitStructure); - - /* D5..D7(PI4/6/7), VSYNC(PI5) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_5; - GPIO_Init(GPIOI, &GPIO_InitStructure); - - /* PCLK(PA6) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /****** Configures the I2C1 used for OV2640 camera module configuration *****/ - /* I2C1 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE); - - /* GPIOB clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); - - /* Connect I2C1 pins to AF4 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_I2C1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_I2C1); - - /* Configure I2C1 GPIOs */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_9; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Configure I2C1 */ - /* I2C DeInit */ - I2C_DeInit(I2C1); - - /* Enable the I2C peripheral */ - I2C_Cmd(I2C1, ENABLE); - - /* Set the I2C structure parameters */ - I2C_InitStruct.I2C_Mode = I2C_Mode_I2C; - I2C_InitStruct.I2C_DutyCycle = I2C_DutyCycle_2; - I2C_InitStruct.I2C_OwnAddress1 = 0xFE; - I2C_InitStruct.I2C_Ack = I2C_Ack_Enable; - I2C_InitStruct.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; - I2C_InitStruct.I2C_ClockSpeed = 30000; - - /* Initialize the I2C peripheral w/ selected parameters */ - I2C_Init(I2C1, &I2C_InitStruct); -} - -/** - * @brief Resets the OV2640 camera. - * @param None - * @retval None - */ -void OV2640_Reset(void) -{ - OV2640_WriteReg(OV2640_DSP_RA_DLMT, 0x01); - OV2640_WriteReg(OV2640_SENSOR_COM7, 0x80); -} - -/** - * @brief Reads the OV2640 Manufacturer identifier. - * @param OV2640ID: Pointer to the OV2640 Manufacturer identifier - * @retval None - */ -void OV2640_ReadID(OV2640_IDTypeDef *OV2640ID) -{ - OV2640_WriteReg(OV2640_DSP_RA_DLMT, 0x01); - OV2640ID->Manufacturer_ID1 = OV2640_ReadReg(OV2640_SENSOR_MIDH); - OV2640ID->Manufacturer_ID2 = OV2640_ReadReg(OV2640_SENSOR_MIDL); - OV2640ID->PIDH = OV2640_ReadReg(OV2640_SENSOR_PIDH); - OV2640ID->PIDL = OV2640_ReadReg(OV2640_SENSOR_PIDL); -} - -/** - * @brief Configures DCMI/DMA to capture image from the OV2640 camera. - * @param ImageFormat: Image format BMP or JPEG - * @param BMPImageSize: BMP Image size - * @retval None - */ -void OV2640_Init(ImageFormat_TypeDef ImageFormat) -{ - DCMI_InitTypeDef DCMI_InitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /*** Configures the DCMI to interface with the OV2640 camera module ***/ - /* Enable DCMI clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_DCMI, ENABLE); - - /* DCMI configuration */ - DCMI_InitStructure.DCMI_CaptureMode = DCMI_CaptureMode_Continuous; - DCMI_InitStructure.DCMI_SynchroMode = DCMI_SynchroMode_Hardware; - DCMI_InitStructure.DCMI_PCKPolarity = DCMI_PCKPolarity_Rising; - DCMI_InitStructure.DCMI_VSPolarity = DCMI_VSPolarity_Low; - DCMI_InitStructure.DCMI_HSPolarity = DCMI_HSPolarity_Low; - DCMI_InitStructure.DCMI_CaptureRate = DCMI_CaptureRate_All_Frame; - DCMI_InitStructure.DCMI_ExtendedDataMode = DCMI_ExtendedDataMode_8b; - - /* Configures the DMA2 to transfer Data from DCMI */ - /* Enable DMA2 clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); - - /* DMA2 Stream1 Configuration */ - DMA_DeInit(DMA2_Stream1); - - DMA_InitStructure.DMA_Channel = DMA_Channel_1; - DMA_InitStructure.DMA_PeripheralBaseAddr = DCMI_DR_ADDRESS; - DMA_InitStructure.DMA_Memory0BaseAddr = FSMC_LCD_ADDRESS; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - DMA_InitStructure.DMA_BufferSize = 1; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - - switch(ImageFormat) - { - case BMP_QQVGA: - { - /* DCMI configuration */ - DCMI_InitStructure.DCMI_VSPolarity = DCMI_VSPolarity_High; - DCMI_Init(&DCMI_InitStructure); - - /* DMA2 IRQ channel Configuration */ - DMA_Init(DMA2_Stream1, &DMA_InitStructure); - break; - } - case BMP_QVGA: - { - /* DCMI configuration */ - DCMI_Init(&DCMI_InitStructure); - - /* DMA2 IRQ channel Configuration */ - DMA_Init(DMA2_Stream1, &DMA_InitStructure); - break; - } - default: - { - /* DCMI configuration */ - DCMI_InitStructure.DCMI_VSPolarity = DCMI_VSPolarity_High; - DCMI_Init(&DCMI_InitStructure); - - /* DMA2 IRQ channel Configuration */ - DMA_Init(DMA2_Stream1, &DMA_InitStructure); - break; - } - } -} - -/** - * @brief Configures the OV2640 camera in QQVGA mode. - * @param None - * @retval None - */ -void OV2640_QQVGAConfig(void) -{ - uint32_t i; - - OV2640_Reset(); - Delay(200); - - /* Initialize OV2640 */ - for(i=0; i<(sizeof(OV2640_QQVGA)/2); i++) - { - OV2640_WriteReg(OV2640_QQVGA[i][0], OV2640_QQVGA[i][1]); - Delay(2); - } -} - -/** - * @brief Configures the OV2640 camera in QVGA mode. - * @param None - * @retval None - */ -void OV2640_QVGAConfig(void) -{ - uint32_t i; - - OV2640_Reset(); - Delay(200); - - /* Initialize OV2640 */ - for(i=0; i<(sizeof(OV2640_QVGA)/2); i++) - { - OV2640_WriteReg(OV2640_QVGA[i][0], OV2640_QVGA[i][1]); - Delay(2); - } -} - -/** - * @brief Configures the OV2640 camera in JPEG mode. - * @param JPEGImageSize: JPEG image size - * @retval None - */ -void OV2640_JPEGConfig(ImageFormat_TypeDef ImageFormat) -{ - uint32_t i; - - OV2640_Reset(); - Delay(200); - - /* Initialize OV2640 */ - for(i=0; i<(sizeof(OV2640_JPEG_INIT)/2); i++) - { - OV2640_WriteReg(OV2640_JPEG_INIT[i][0], OV2640_JPEG_INIT[i][1]); - } - - /* Set to output YUV422 */ - for(i=0; i<(sizeof(OV2640_YUV422)/2); i++) - { - OV2640_WriteReg(OV2640_YUV422[i][0], OV2640_YUV422[i][1]); - } - - OV2640_WriteReg(0xff, 0x01); - OV2640_WriteReg(0x15, 0x00); - - /* Set to output JPEG */ - for(i=0; i<(sizeof(OV2640_JPEG)/2); i++) - { - OV2640_WriteReg(OV2640_JPEG[i][0], OV2640_JPEG[i][1]); - } - - Delay(100); - - switch(ImageFormat) - { - case JPEG_160x120: - { - for(i=0; i<(sizeof(OV2640_160x120_JPEG)/2); i++) - { - OV2640_WriteReg(OV2640_160x120_JPEG[i][0], OV2640_160x120_JPEG[i][1]); - } - break; - } - case JPEG_176x144: - { - for(i=0; i<(sizeof(OV2640_176x144_JPEG)/2); i++) - { - OV2640_WriteReg(OV2640_176x144_JPEG[i][0], OV2640_176x144_JPEG[i][1]); - } - break; - } - case JPEG_320x240: - { - for(i=0; i<(sizeof(OV2640_320x240_JPEG)/2); i++) - { - OV2640_WriteReg(OV2640_320x240_JPEG[i][0], OV2640_320x240_JPEG[i][1]); - } - break; - } - case JPEG_352x288: - { - for(i=0; i<(sizeof(OV2640_352x288_JPEG)/2); i++) - { - OV2640_WriteReg(OV2640_352x288_JPEG[i][0], OV2640_352x288_JPEG[i][1]); - } - break; - } - default: - { - for(i=0; i<(sizeof(OV2640_160x120_JPEG)/2); i++) - { - OV2640_WriteReg(OV2640_160x120_JPEG[i][0], OV2640_160x120_JPEG[i][1]); - } - break; - } - } -} - -/** - * @brief Configures the OV2640 camera brightness. - * @param Brightness: Brightness value, where Brightness can be: - * 0x40 for Brightness +2, - * 0x30 for Brightness +1, - * 0x20 for Brightness 0, - * 0x10 for Brightness -1, - * 0x00 for Brightness -2, - * @retval None - */ -void OV2640_BrightnessConfig(uint8_t Brightness) -{ - OV2640_WriteReg(0xff, 0x00); - OV2640_WriteReg(0x7c, 0x00); - OV2640_WriteReg(0x7d, 0x04); - OV2640_WriteReg(0x7c, 0x09); - OV2640_WriteReg(0x7d, Brightness); - OV2640_WriteReg(0x7d, 0x00); -} - -/** - * @brief Configures the OV2640 camera Black and white mode. - * @param BlackWhite: BlackWhite value, where BlackWhite can be: - * 0x18 for B&W, - * 0x40 for Negative, - * 0x58 for B&W negative, - * 0x00 for Normal, - * @retval None - */ -void OV2640_BandWConfig(uint8_t BlackWhite) -{ - OV2640_WriteReg(0xff, 0x00); - OV2640_WriteReg(0x7c, 0x00); - OV2640_WriteReg(0x7d, BlackWhite); - OV2640_WriteReg(0x7c, 0x05); - OV2640_WriteReg(0x7d, 0x80); - OV2640_WriteReg(0x7d, 0x80); -} - -/** - * @brief Configures the OV2640 camera color effects. - * @param value1: Color effects value1 - * @param value2: Color effects value2 - * where value1 and value2 can be: - * value1 = 0x40, value2 = 0xa6 for Antique, - * value1 = 0xa0, value2 = 0x40 for Bluish, - * value1 = 0x40, value2 = 0x40 for Greenish, - * value1 = 0x40, value2 = 0xc0 for Reddish, - * @retval None - */ -void OV2640_ColorEffectsConfig(uint8_t value1, uint8_t value2) -{ - OV2640_WriteReg(0xff, 0x00); - OV2640_WriteReg(0x7c, 0x00); - OV2640_WriteReg(0x7d, 0x18); - OV2640_WriteReg(0x7c, 0x05); - OV2640_WriteReg(0x7d, value1); - OV2640_WriteReg(0x7d, value2); -} - -/** - * @brief Configures the OV2640 camera contrast. - * @param value1: Contrast value1 - * @param value2: Contrast value2 - * where value1 and value2 can be: - * value1 = 0x28, value2 = 0x0c for Contrast +2, - * value1 = 0x24, value2 = 0x16 for Contrast +1, - * value1 = 0x20, value2 = 0x20 for Contrast 0, - * value1 = 0x1c, value2 = 0x2a for Contrast -1, - * value1 = 0x18, value2 = 0x34 for Contrast -2, - * @retval None - */ -void OV2640_ContrastConfig(uint8_t value1, uint8_t value2) -{ - OV2640_WriteReg(0xff, 0x00); - OV2640_WriteReg(0x7c, 0x00); - OV2640_WriteReg(0x7d, 0x04); - OV2640_WriteReg(0x7c, 0x07); - OV2640_WriteReg(0x7d, 0x20); - OV2640_WriteReg(0x7d, value1); - OV2640_WriteReg(0x7d, value2); - OV2640_WriteReg(0x7d, 0x06); -} - -/** - * @brief Writes a byte at a specific Camera register - * @param Addr: OV2640 register address. - * @param Data: Data to be written to the specific register - * @retval 0x00 if write operation is OK. - * 0xFF if timeout condition occured (device not connected or bus error). - */ -uint8_t OV2640_WriteReg(uint16_t Addr, uint8_t Data) -{ - uint32_t timeout = DCMI_TIMEOUT_MAX; - - /* Generate the Start Condition */ - I2C_GenerateSTART(I2C1, ENABLE); - - /* Test on I2C1 EV5 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send DCMI selcted device slave Address for write */ - I2C_Send7bitAddress(I2C1, OV2640_DEVICE_WRITE_ADDRESS, I2C_Direction_Transmitter); - - /* Test on I2C1 EV6 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send I2C1 location address LSB */ - I2C_SendData(I2C1, (uint8_t)(Addr)); - - /* Test on I2C1 EV8 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send Data */ - I2C_SendData(I2C1, Data); - - /* Test on I2C1 EV8 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send I2C1 STOP Condition */ - I2C_GenerateSTOP(I2C1, ENABLE); - - /* If operation is OK, return 0 */ - return 0; -} - -/** - * @brief Reads a byte from a specific Camera register - * @param Addr: OV2640 register address. - * @retval data read from the specific register or 0xFF if timeout condition - * occured. - */ -uint8_t OV2640_ReadReg(uint16_t Addr) -{ - uint32_t timeout = DCMI_TIMEOUT_MAX; - uint8_t Data = 0; - - /* Generate the Start Condition */ - I2C_GenerateSTART(I2C1, ENABLE); - - /* Test on I2C1 EV5 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send DCMI selcted device slave Address for write */ - I2C_Send7bitAddress(I2C1, OV2640_DEVICE_READ_ADDRESS, I2C_Direction_Transmitter); - - /* Test on I2C1 EV6 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send I2C1 location address LSB */ - I2C_SendData(I2C1, (uint8_t)(Addr)); - - /* Test on I2C1 EV8 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Clear AF flag if arised */ - I2C1->SR1 |= (uint16_t)0x0400; - - /* Generate the Start Condition */ - I2C_GenerateSTART(I2C1, ENABLE); - - /* Test on I2C1 EV6 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send DCMI selcted device slave Address for write */ - I2C_Send7bitAddress(I2C1, OV2640_DEVICE_READ_ADDRESS, I2C_Direction_Receiver); - - /* Test on I2C1 EV6 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Prepare an NACK for the next data received */ - I2C_AcknowledgeConfig(I2C1, DISABLE); - - /* Test on I2C1 EV7 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_RECEIVED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Prepare Stop after receiving data */ - I2C_GenerateSTOP(I2C1, ENABLE); - - /* Receive the Data */ - Data = I2C_ReceiveData(I2C1); - - /* return the read data */ - return Data; -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov2640.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov2640.h deleted file mode 100644 index 9a14f6f7e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov2640.h +++ /dev/null @@ -1,160 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/Camera/dcmi_ov2640.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for dcmi_ov2640.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __DCMI_OV2640_H -#define __DCMI_OV2640_H - -/* Includes ------------------------------------------------------------------*/ -#include "camera_api.h" - -/* Exported types ------------------------------------------------------------*/ -typedef struct -{ - uint8_t Manufacturer_ID1; - uint8_t Manufacturer_ID2; - uint8_t PIDH; - uint8_t PIDL; -}OV2640_IDTypeDef; - -/* Exported constants --------------------------------------------------------*/ - -/* Use this define to set the maximum delay timeout for the I2C DCMI_OV2640_SingleRandomWrite() - and DCMI_OV2640_SingleRandomRead() operations. Exeeding this timeout delay, - the read/write functions will be aborted and return error code (0xFF). - The period of the delay will depend on the system operating frequency. The following - value has been set for system running at 168 MHz. */ -#define DCMI_TIMEOUT_MAX 10000 - -#define OV2640_DEVICE_WRITE_ADDRESS 0x60 -#define OV2640_DEVICE_READ_ADDRESS 0x61 - -/* OV2640 Registers definition when DSP bank selected (0xFF = 0x00) */ -#define OV2640_DSP_R_BYPASS 0x05 -#define OV2640_DSP_Qs 0x44 -#define OV2640_DSP_CTRL 0x50 -#define OV2640_DSP_HSIZE1 0x51 -#define OV2640_DSP_VSIZE1 0x52 -#define OV2640_DSP_XOFFL 0x53 -#define OV2640_DSP_YOFFL 0x54 -#define OV2640_DSP_VHYX 0x55 -#define OV2640_DSP_DPRP 0x56 -#define OV2640_DSP_TEST 0x57 -#define OV2640_DSP_ZMOW 0x5A -#define OV2640_DSP_ZMOH 0x5B -#define OV2640_DSP_ZMHH 0x5C -#define OV2640_DSP_BPADDR 0x7C -#define OV2640_DSP_BPDATA 0x7D -#define OV2640_DSP_CTRL2 0x86 -#define OV2640_DSP_CTRL3 0x87 -#define OV2640_DSP_SIZEL 0x8C -#define OV2640_DSP_HSIZE2 0xC0 -#define OV2640_DSP_VSIZE2 0xC1 -#define OV2640_DSP_CTRL0 0xC2 -#define OV2640_DSP_CTRL1 0xC3 -#define OV2640_DSP_R_DVP_SP 0xD3 -#define OV2640_DSP_IMAGE_MODE 0xDA -#define OV2640_DSP_RESET 0xE0 -#define OV2640_DSP_MS_SP 0xF0 -#define OV2640_DSP_SS_ID 0x7F -#define OV2640_DSP_SS_CTRL 0xF8 -#define OV2640_DSP_MC_BIST 0xF9 -#define OV2640_DSP_MC_AL 0xFA -#define OV2640_DSP_MC_AH 0xFB -#define OV2640_DSP_MC_D 0xFC -#define OV2640_DSP_P_STATUS 0xFE -#define OV2640_DSP_RA_DLMT 0xFF - -/* OV2640 Registers definition when sensor bank selected (0xFF = 0x01) */ -#define OV2640_SENSOR_GAIN 0x00 -#define OV2640_SENSOR_COM1 0x03 -#define OV2640_SENSOR_REG04 0x04 -#define OV2640_SENSOR_REG08 0x08 -#define OV2640_SENSOR_COM2 0x09 -#define OV2640_SENSOR_PIDH 0x0A -#define OV2640_SENSOR_PIDL 0x0B -#define OV2640_SENSOR_COM3 0x0C -#define OV2640_SENSOR_COM4 0x0D -#define OV2640_SENSOR_AEC 0x10 -#define OV2640_SENSOR_CLKRC 0x11 -#define OV2640_SENSOR_COM7 0x12 -#define OV2640_SENSOR_COM8 0x13 -#define OV2640_SENSOR_COM9 0x14 -#define OV2640_SENSOR_COM10 0x15 -#define OV2640_SENSOR_HREFST 0x17 -#define OV2640_SENSOR_HREFEND 0x18 -#define OV2640_SENSOR_VSTART 0x19 -#define OV2640_SENSOR_VEND 0x1A -#define OV2640_SENSOR_MIDH 0x1C -#define OV2640_SENSOR_MIDL 0x1D -#define OV2640_SENSOR_AEW 0x24 -#define OV2640_SENSOR_AEB 0x25 -#define OV2640_SENSOR_W 0x26 -#define OV2640_SENSOR_REG2A 0x2A -#define OV2640_SENSOR_FRARL 0x2B -#define OV2640_SENSOR_ADDVSL 0x2D -#define OV2640_SENSOR_ADDVHS 0x2E -#define OV2640_SENSOR_YAVG 0x2F -#define OV2640_SENSOR_REG32 0x32 -#define OV2640_SENSOR_ARCOM2 0x34 -#define OV2640_SENSOR_REG45 0x45 -#define OV2640_SENSOR_FLL 0x46 -#define OV2640_SENSOR_FLH 0x47 -#define OV2640_SENSOR_COM19 0x48 -#define OV2640_SENSOR_ZOOMS 0x49 -#define OV2640_SENSOR_COM22 0x4B -#define OV2640_SENSOR_COM25 0x4E -#define OV2640_SENSOR_BD50 0x4F -#define OV2640_SENSOR_BD60 0x50 -#define OV2640_SENSOR_REG5D 0x5D -#define OV2640_SENSOR_REG5E 0x5E -#define OV2640_SENSOR_REG5F 0x5F -#define OV2640_SENSOR_REG60 0x60 -#define OV2640_SENSOR_HISTO_LOW 0x61 -#define OV2640_SENSOR_HISTO_HIGH 0x62 - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void OV2640_HW_Init(void); -void OV2640_Reset(void); -void OV2640_ReadID(OV2640_IDTypeDef *OV2640ID); -void OV2640_Init(ImageFormat_TypeDef ImageFormat); -void OV2640_QQVGAConfig(void); -void OV2640_QVGAConfig(void); -void OV2640_JPEGConfig(ImageFormat_TypeDef ImageFormat); -void OV2640_BrightnessConfig(uint8_t Brightness); -void OV2640_ContrastConfig(uint8_t value1, uint8_t value2); -void OV2640_BandWConfig(uint8_t BlackWhite); -void OV2640_ColorEffectsConfig(uint8_t value1, uint8_t value2); -uint8_t OV2640_WriteReg(uint16_t Addr, uint8_t Data); -uint8_t OV2640_ReadReg(uint16_t Addr); - -#endif /* __DCMI_OV2640_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov9655.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov9655.c deleted file mode 100644 index 3339535f4..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov9655.c +++ /dev/null @@ -1,766 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/Camera/dcmi_ov9655.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file includes the driver for OV9655 Camera module mounted on - * STM322xG-EVAL board RevA and RevB. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "camera_api.h" -#include "dcmi_ov9655.h" - -/** @addtogroup stm32f2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DCMI_Camera - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define TIMEOUT 2 - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* QQVGA 160x120 */ -static unsigned char OV9655_QQVGA[][2]= -{ - 0x00, 0x00, - 0x01, 0x80, - 0x02, 0x80, - 0x03, 0x02, - 0x04, 0x03, - 0x09, 0x01, - 0x0b, 0x57, - 0x0e, 0x61, - 0x0f, 0x40, - 0x11, 0x01, - 0x12, 0x62, - 0x13, 0xc7, - 0x14, 0x3a, - 0x16, 0x24, - 0x17, 0x18, - 0x18, 0x04, - 0x19, 0x01, - 0x1a, 0x81, - 0x1e, 0x00,//0x20 - 0x24, 0x3c, - 0x25, 0x36, - 0x26, 0x72, - 0x27, 0x08, - 0x28, 0x08, - 0x29, 0x15, - 0x2a, 0x00, - 0x2b, 0x00, - 0x2c, 0x08, - 0x32, 0xa4, - 0x33, 0x00, - 0x34, 0x3f, - 0x35, 0x00, - 0x36, 0x3a, - 0x38, 0x72, - 0x39, 0x57, - 0x3a, 0xcc, - 0x3b, 0x04, - 0x3d, 0x99, - 0x3e, 0x0e, - 0x3f, 0xc1, - 0x40, 0xc0, - 0x41, 0x41, - 0x42, 0xc0, - 0x43, 0x0a, - 0x44, 0xf0, - 0x45, 0x46, - 0x46, 0x62, - 0x47, 0x2a, - 0x48, 0x3c, - 0x4a, 0xfc, - 0x4b, 0xfc, - 0x4c, 0x7f, - 0x4d, 0x7f, - 0x4e, 0x7f, - 0x4f, 0x98, - 0x50, 0x98, - 0x51, 0x00, - 0x52, 0x28, - 0x53, 0x70, - 0x54, 0x98, - 0x58, 0x1a, - 0x59, 0x85, - 0x5a, 0xa9, - 0x5b, 0x64, - 0x5c, 0x84, - 0x5d, 0x53, - 0x5e, 0x0e, - 0x5f, 0xf0, - 0x60, 0xf0, - 0x61, 0xf0, - 0x62, 0x00, - 0x63, 0x00, - 0x64, 0x02, - 0x65, 0x20, - 0x66, 0x00, - 0x69, 0x0a, - 0x6b, 0x5a, - 0x6c, 0x04, - 0x6d, 0x55, - 0x6e, 0x00, - 0x6f, 0x9d, - 0x70, 0x21, - 0x71, 0x78, - 0x72, 0x22, - 0x73, 0x02, - 0x74, 0x10, - 0x75, 0x10, - 0x76, 0x01, - 0x77, 0x02, - 0x7A, 0x12, - 0x7B, 0x08, - 0x7C, 0x16, - 0x7D, 0x30, - 0x7E, 0x5e, - 0x7F, 0x72, - 0x80, 0x82, - 0x81, 0x8e, - 0x82, 0x9a, - 0x83, 0xa4, - 0x84, 0xac, - 0x85, 0xb8, - 0x86, 0xc3, - 0x87, 0xd6, - 0x88, 0xe6, - 0x89, 0xf2, - 0x8a, 0x24, - 0x8c, 0x80, - 0x90, 0x7d, - 0x91, 0x7b, - 0x9d, 0x02, - 0x9e, 0x02, - 0x9f, 0x7a, - 0xa0, 0x79, - 0xa1, 0x40, - 0xa4, 0x50, - 0xa5, 0x68, - 0xa6, 0x4a, - 0xa8, 0xc1, - 0xa9, 0xef, - 0xaa, 0x92, - 0xab, 0x04, - 0xac, 0x80, - 0xad, 0x80, - 0xae, 0x80, - 0xaf, 0x80, - 0xb2, 0xf2, - 0xb3, 0x20, - 0xb4, 0x20, - 0xb5, 0x00, - 0xb6, 0xaf, - 0xb6, 0xaf, - 0xbb, 0xae, - 0xbc, 0x7f, - 0xbd, 0x7f, - 0xbe, 0x7f, - 0xbf, 0x7f, - 0xbf, 0x7f, - 0xc0, 0xaa, - 0xc1, 0xc0, - 0xc2, 0x01, - 0xc3, 0x4e, - 0xc6, 0x05, - 0xc7, 0x82, - 0xc9, 0xe0, - 0xca, 0xe8, - 0xcb, 0xf0, - 0xcc, 0xd8, - 0xcd, 0x93, - - 0x12, 0x63, - 0x40, 0x10, - 0x15, 0x08, -}; - -/* QVGA 360x240 */ -static unsigned char OV9655_QVGA[][2]= -{ - 0x00, 0x00, - 0x01, 0x80, - 0x02, 0x80, - 0x03, 0x02, - 0x04, 0x03, - 0x09, 0x01, - 0x0b, 0x57, - 0x0e, 0x61, - 0x0f, 0x40, - 0x11, 0x01, - 0x12, 0x62, - 0x13, 0xc7, - 0x14, 0x3a, - 0x16, 0x24, - 0x17, 0x18, - 0x18, 0x04, - 0x19, 0x01, - 0x1a, 0x81, - 0x1e, 0x00, - 0x24, 0x3c, - 0x25, 0x36, - 0x26, 0x72, - 0x27, 0x08, - 0x28, 0x08, - 0x29, 0x15, - 0x2a, 0x00, - 0x2b, 0x00, - 0x2c, 0x08, - 0x32, 0x12, - 0x33, 0x00, - 0x34, 0x3f, - 0x35, 0x00, - 0x36, 0x3a, - 0x38, 0x72, - 0x39, 0x57, - 0x3a, 0xcc, - 0x3b, 0x04, - 0x3d, 0x99, - 0x3e, 0x02, - 0x3f, 0xc1, - 0x40, 0xc0, - 0x41, 0x41, - 0x42, 0xc0, - 0x43, 0x0a, - 0x44, 0xf0, - 0x45, 0x46, - 0x46, 0x62, - 0x47, 0x2a, - 0x48, 0x3c, - 0x4a, 0xfc, - 0x4b, 0xfc, - 0x4c, 0x7f, - 0x4d, 0x7f, - 0x4e, 0x7f, - 0x4f, 0x98, - 0x50, 0x98, - 0x51, 0x00, - 0x52, 0x28, - 0x53, 0x70, - 0x54, 0x98, - 0x58, 0x1a, - 0x59, 0x85, - 0x5a, 0xa9, - 0x5b, 0x64, - 0x5c, 0x84, - 0x5d, 0x53, - 0x5e, 0x0e, - 0x5f, 0xf0, - 0x60, 0xf0, - 0x61, 0xf0, - 0x62, 0x00, - 0x63, 0x00, - 0x64, 0x02, - 0x65, 0x20, - 0x66, 0x00, - 0x69, 0x0a, - 0x6b, 0x5a, - 0x6c, 0x04, - 0x6d, 0x55, - 0x6e, 0x00, - 0x6f, 0x9d, - 0x70, 0x21, - 0x71, 0x78, - 0x72, 0x11, - 0x73, 0x01, - 0x74, 0x10, - 0x75, 0x10, - 0x76, 0x01, - 0x77, 0x02, - 0x7A, 0x12, - 0x7B, 0x08, - 0x7C, 0x16, - 0x7D, 0x30, - 0x7E, 0x5e, - 0x7F, 0x72, - 0x80, 0x82, - 0x81, 0x8e, - 0x82, 0x9a, - 0x83, 0xa4, - 0x84, 0xac, - 0x85, 0xb8, - 0x86, 0xc3, - 0x87, 0xd6, - 0x88, 0xe6, - 0x89, 0xf2, - 0x8a, 0x24, - 0x8c, 0x80, - 0x90, 0x7d, - 0x91, 0x7b, - 0x9d, 0x02, - 0x9e, 0x02, - 0x9f, 0x7a, - 0xa0, 0x79, - 0xa1, 0x40, - 0xa4, 0x50, - 0xa5, 0x68, - 0xa6, 0x4a, - 0xa8, 0xc1, - 0xa9, 0xef, - 0xaa, 0x92, - 0xab, 0x04, - 0xac, 0x80, - 0xad, 0x80, - 0xae, 0x80, - 0xaf, 0x80, - 0xb2, 0xf2, - 0xb3, 0x20, - 0xb4, 0x20, - 0xb5, 0x00, - 0xb6, 0xaf, - 0xb6, 0xaf, - 0xbb, 0xae, - 0xbc, 0x7f, - 0xbd, 0x7f, - 0xbe, 0x7f, - 0xbf, 0x7f, - 0xbf, 0x7f, - 0xc0, 0xaa, - 0xc1, 0xc0, - 0xc2, 0x01, - 0xc3, 0x4e, - 0xc6, 0x05, - 0xc7, 0x81, - 0xc9, 0xe0, - 0xca, 0xe8, - 0xcb, 0xf0, - 0xcc, 0xd8, - 0xcd, 0x93, - - 0x12, 0x63, - 0x40, 0x10, - 0x15, 0x08, -}; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Initializes the hardware resources (I2C and GPIO) used to configure - * the OV9655 camera. - * @param None - * @retval None - */ -void OV9655_HW_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - I2C_InitTypeDef I2C_InitStruct; - - /*** Configures the DCMI GPIOs to interface with the OV9655 camera module ***/ - /* Enable DCMI GPIOs clocks */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOH | - RCC_AHB1Periph_GPIOI, ENABLE); - - /* Connect DCMI pins to AF13 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_DCMI); - - GPIO_PinAFConfig(GPIOH, GPIO_PinSource8, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOH, GPIO_PinSource9, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOH, GPIO_PinSource10, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOH, GPIO_PinSource11, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOH, GPIO_PinSource12, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOH, GPIO_PinSource14, GPIO_AF_DCMI); - - GPIO_PinAFConfig(GPIOI, GPIO_PinSource5, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOI, GPIO_PinSource6, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOI, GPIO_PinSource7, GPIO_AF_DCMI); - GPIO_PinAFConfig(GPIOI, GPIO_PinSource4, GPIO_AF_DCMI); - - /* DCMI GPIO configuration */ - /* D0..D4(PH9/10/11/12/14), HSYNC(PH8) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | - GPIO_Pin_12 | GPIO_Pin_14| GPIO_Pin_8; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_Init(GPIOH, &GPIO_InitStructure); - - /* D5..D7(PI4/6/7), VSYNC(PI5) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_5; - GPIO_Init(GPIOI, &GPIO_InitStructure); - - /* PCLK(PA6) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /****** Configures the I2C1 used for OV9655 camera module configuration *****/ - /* I2C1 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE); - - /* GPIOB clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); - - /* Connect I2C1 pins to AF4 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource9, GPIO_AF_I2C1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_I2C1); - - /* Configure I2C1 GPIOs */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_9; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Configure I2C1 */ - /* I2C DeInit */ - I2C_DeInit(I2C1); - - /* Enable the I2C peripheral */ - I2C_Cmd(I2C1, ENABLE); - - /* Set the I2C structure parameters */ - I2C_InitStruct.I2C_Mode = I2C_Mode_I2C; - I2C_InitStruct.I2C_DutyCycle = I2C_DutyCycle_2; - I2C_InitStruct.I2C_OwnAddress1 = 0xFE; - I2C_InitStruct.I2C_Ack = I2C_Ack_Enable; - I2C_InitStruct.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; - I2C_InitStruct.I2C_ClockSpeed = 30000; - - /* Initialize the I2C peripheral w/ selected parameters */ - I2C_Init(I2C1, &I2C_InitStruct); -} - -/** - * @brief Resets the OV9655 camera. - * @param None - * @retval None - */ -void OV9655_Reset(void) -{ - OV9655_WriteReg(OV9655_COM7, 0x80); -} - -/** - * @brief Reads the OV9655 Manufacturer identifier. - * @param OV9655ID: pointer to the OV9655 Manufacturer identifier. - * @retval None - */ -void OV9655_ReadID(OV9655_IDTypeDef* OV9655ID) -{ - OV9655ID->Manufacturer_ID1 = OV9655_ReadReg(OV9655_MIDH); - OV9655ID->Manufacturer_ID2 = OV9655_ReadReg(OV9655_MIDL); - OV9655ID->Version = OV9655_ReadReg(OV9655_VER); - OV9655ID->PID = OV9655_ReadReg(OV9655_PID); -} - -/** - * @brief Configures the DCMI/DMA to capture image from the OV9655 camera. - * @param ImageFormat: Image format BMP or JPEG - * @param BMPImageSize: BMP Image size - * @retval None - */ -void OV9655_Init(ImageFormat_TypeDef ImageFormat) -{ - DCMI_InitTypeDef DCMI_InitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /*** Configures the DCMI to interface with the OV9655 camera module ***/ - /* Enable DCMI clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_DCMI, ENABLE); - - /* DCMI configuration */ - DCMI_InitStructure.DCMI_CaptureMode = DCMI_CaptureMode_Continuous; - DCMI_InitStructure.DCMI_SynchroMode = DCMI_SynchroMode_Hardware; - DCMI_InitStructure.DCMI_PCKPolarity = DCMI_PCKPolarity_Falling; - DCMI_InitStructure.DCMI_VSPolarity = DCMI_VSPolarity_High; - DCMI_InitStructure.DCMI_HSPolarity = DCMI_HSPolarity_High; - DCMI_InitStructure.DCMI_CaptureRate = DCMI_CaptureRate_All_Frame; - DCMI_InitStructure.DCMI_ExtendedDataMode = DCMI_ExtendedDataMode_8b; - - /* Configures the DMA2 to transfer Data from DCMI */ - /* Enable DMA2 clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); - - /* DMA2 Stream1 Configuration */ - DMA_DeInit(DMA2_Stream1); - - DMA_InitStructure.DMA_Channel = DMA_Channel_1; - DMA_InitStructure.DMA_PeripheralBaseAddr = DCMI_DR_ADDRESS; - DMA_InitStructure.DMA_Memory0BaseAddr = FSMC_LCD_ADDRESS; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - DMA_InitStructure.DMA_BufferSize = 1; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - - switch(ImageFormat) - { - case BMP_QQVGA: - { - /* DCMI configuration */ - DCMI_Init(&DCMI_InitStructure); - - /* DMA2 IRQ channel Configuration */ - DMA_Init(DMA2_Stream1, &DMA_InitStructure); - break; - } - case BMP_QVGA: - { - /* DCMI configuration */ - DCMI_Init(&DCMI_InitStructure); - - /* DMA2 IRQ channel Configuration */ - DMA_Init(DMA2_Stream1, &DMA_InitStructure); - break; - } - default: - { - /* DCMI configuration */ - DCMI_Init(&DCMI_InitStructure); - - /* DMA2 IRQ channel Configuration */ - DMA_Init(DMA2_Stream1, &DMA_InitStructure); - break; - } - } -} - -/** - * @brief Configures the OV9655 camera in QQVGA mode. - * @param None - * @retval None - */ -void OV9655_QQVGAConfig(void) -{ - uint32_t i; - - OV9655_Reset(); - Delay(200); - - /* Initialize OV9655 */ - for(i=0; i<(sizeof(OV9655_QQVGA)/2); i++) - { - OV9655_WriteReg(OV9655_QQVGA[i][0], OV9655_QQVGA[i][1]); - Delay(2); - } -} - -/** - * @brief SConfigures the OV9655 camera in QVGA mode. - * @param None - * @retval None - */ -void OV9655_QVGAConfig(void) -{ - uint32_t i; - - OV9655_Reset(); - Delay(200); - - /* Initialize OV9655 */ - for(i=0; i<(sizeof(OV9655_QVGA)/2); i++) - { - OV9655_WriteReg(OV9655_QVGA[i][0], OV9655_QVGA[i][1]); - Delay(2); - } -} - -/** - * @brief Configures the OV9655 camera brightness. - * @param Brightness: Brightness value, where Brightness can be: - * positively (0x01 ~ 0x7F) and negatively (0x80 ~ 0xFF) - * @retval None - */ -void OV9655_BrightnessConfig(uint8_t Brightness) -{ - OV9655_WriteReg(OV9655_BRTN, Brightness); -} - -/** - * @brief Writes a byte at a specific Camera register - * @param Addr: OV9655 register address - * @param Data: data to be written to the specific register - * @retval 0x00 if write operation is OK - * 0xFF if timeout condition occured (device not connected or bus error). - */ -uint8_t OV9655_WriteReg(uint16_t Addr, uint8_t Data) -{ - uint32_t timeout = DCMI_TIMEOUT_MAX; - - /* Generate the Start Condition */ - I2C_GenerateSTART(I2C1, ENABLE); - - /* Test on I2C1 EV5 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send DCMI selcted device slave Address for write */ - I2C_Send7bitAddress(I2C1, OV9655_DEVICE_WRITE_ADDRESS, I2C_Direction_Transmitter); - - /* Test on I2C1 EV6 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send I2C1 location address LSB */ - I2C_SendData(I2C1, (uint8_t)(Addr)); - - /* Test on I2C1 EV8 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send Data */ - I2C_SendData(I2C1, Data); - - /* Test on I2C1 EV8 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send I2C1 STOP Condition */ - I2C_GenerateSTOP(I2C1, ENABLE); - - /* If operation is OK, return 0 */ - return 0; -} - -/** - * @brief Reads a byte from a specific Camera register - * @param Addr: OV9655 register address. - * @retval data read from the specific register or 0xFF if timeout condition - * occured. - */ -uint8_t OV9655_ReadReg(uint16_t Addr) -{ - uint32_t timeout = DCMI_TIMEOUT_MAX; - uint8_t Data = 0; - - /* Generate the Start Condition */ - I2C_GenerateSTART(I2C1, ENABLE); - - /* Test on I2C1 EV5 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send DCMI selcted device slave Address for write */ - I2C_Send7bitAddress(I2C1, OV9655_DEVICE_READ_ADDRESS, I2C_Direction_Transmitter); - - /* Test on I2C1 EV6 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send I2C1 location address LSB */ - I2C_SendData(I2C1, (uint8_t)(Addr)); - - /* Test on I2C1 EV8 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Clear AF flag if arised */ - I2C1->SR1 |= (uint16_t)0x0400; - - /* Generate the Start Condition */ - I2C_GenerateSTART(I2C1, ENABLE); - - /* Test on I2C1 EV6 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Send DCMI selcted device slave Address for write */ - I2C_Send7bitAddress(I2C1, OV9655_DEVICE_READ_ADDRESS, I2C_Direction_Receiver); - - /* Test on I2C1 EV6 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Prepare an NACK for the next data received */ - I2C_AcknowledgeConfig(I2C1, DISABLE); - - /* Test on I2C1 EV7 and clear it */ - timeout = DCMI_TIMEOUT_MAX; /* Initialize timeout value */ - while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_RECEIVED)) - { - /* If the timeout delay is exeeded, exit with error code */ - if ((timeout--) == 0) return 0xFF; - } - - /* Prepare Stop after receiving data */ - I2C_GenerateSTOP(I2C1, ENABLE); - - /* Receive the Data */ - Data = I2C_ReceiveData(I2C1); - - /* return the read data */ - return Data; -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov9655.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov9655.h deleted file mode 100644 index 8e7bd298c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/dcmi_ov9655.h +++ /dev/null @@ -1,222 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/OV9655_Camera/dcmi_ov9655.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for dcmi_ov9655.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __DCMI_OV9655_H -#define __DCMI_OV9655_H - -/* Includes ------------------------------------------------------------------*/ -#include "camera_api.h" - -/* Exported types ------------------------------------------------------------*/ -typedef struct -{ - uint8_t Manufacturer_ID1; - uint8_t Manufacturer_ID2; - uint8_t Version; - uint8_t PID; -}OV9655_IDTypeDef; - -/* Exported constants --------------------------------------------------------*/ - -/* Use this define to set the maximum delay timeout for the I2C DCMI_OV9655_SingleRandomWrite() - and DCMI_OV9655_SingleRandomRead() operations. Exeeding this timeout delay, - the read/write functions will be aborted and return error code (0xFF). - The period of the delay will depend on the system operating frequency. The following - value has been set for system running at 168 MHz. */ -#define DCMI_TIMEOUT_MAX 10000 - -#define OV9655_DEVICE_WRITE_ADDRESS 0x60 -#define OV9655_DEVICE_READ_ADDRESS 0x61 - -/* OV9655 Registers definition */ -#define OV9655_GAIN 0x00 -#define OV9655_BLUE 0x01 -#define OV9655_RED 0x02 -#define OV9655_VREF 0x03 -#define OV9655_COM1 0x04 -#define OV9655_BAVE 0x05 -#define OV9655_GbAVE 0x06 -#define OV9655_GrAVE 0x07 -#define OV9655_RAVE 0x08 -#define OV9655_COM2 0x09 -#define OV9655_PID 0x0A -#define OV9655_VER 0x0B -#define OV9655_COM3 0x0C -#define OV9655_COM4 0x0D -#define OV9655_COM5 0x0E -#define OV9655_COM6 0x0F -#define OV9655_AEC 0x10 -#define OV9655_CLKRC 0x11 -#define OV9655_COM7 0x12 -#define OV9655_COM8 0x13 -#define OV9655_COM9 0x14 -#define OV9655_COM10 0x15 -#define OV9655_REG16 0x16 -#define OV9655_HSTART 0x17 -#define OV9655_HSTOP 0x18 -#define OV9655_VSTART 0x19 -#define OV9655_VSTOP 0x1A -#define OV9655_PSHFT 0x1B -#define OV9655_MIDH 0x1C -#define OV9655_MIDL 0x1D -#define OV9655_MVFP 0x1E -#define OV9655_BOS 0x20 -#define OV9655_GBOS 0x21 -#define OV9655_GROS 0x22 -#define OV9655_ROS 0x23 -#define OV9655_AEW 0x24 -#define OV9655_AEB 0x25 -#define OV9655_VPT 0x26 -#define OV9655_BBIAS 0x27 -#define OV9655_GbBIAS 0x28 -#define OV9655_PREGAIN 0x29 -#define OV9655_EXHCH 0x2A -#define OV9655_EXHCL 0x2B -#define OV9655_RBIAS 0x2C -#define OV9655_ADVFL 0x2D -#define OV9655_ADVFH 0x2E -#define OV9655_YAVE 0x2F -#define OV9655_HSYST 0x30 -#define OV9655_HSYEN 0x31 -#define OV9655_HREF 0x32 -#define OV9655_CHLF 0x33 -#define OV9655_AREF1 0x34 -#define OV9655_AREF2 0x35 -#define OV9655_AREF3 0x36 -#define OV9655_ADC1 0x37 -#define OV9655_ADC2 0x38 -#define OV9655_AREF4 0x39 -#define OV9655_TSLB 0x3A -#define OV9655_COM11 0x3B -#define OV9655_COM12 0x3C -#define OV9655_COM13 0x3D -#define OV9655_COM14 0x3E -#define OV9655_EDGE 0x3F -#define OV9655_COM15 0x40 -#define OV9655_COM16 0x41 -#define OV9655_COM17 0x42 -#define OV9655_MTX1 0x4F -#define OV9655_MTX2 0x50 -#define OV9655_MTX3 0x51 -#define OV9655_MTX4 0x52 -#define OV9655_MTX5 0x53 -#define OV9655_MTX6 0x54 -#define OV9655_BRTN 0x55 -#define OV9655_CNST1 0x56 -#define OV9655_CNST2 0x57 -#define OV9655_MTXS 0x58 -#define OV9655_AWBOP1 0x59 -#define OV9655_AWBOP2 0x5A -#define OV9655_AWBOP3 0x5B -#define OV9655_AWBOP4 0x5C -#define OV9655_AWBOP5 0x5D -#define OV9655_AWBOP6 0x5E -#define OV9655_BLMT 0x5F -#define OV9655_RLMT 0x60 -#define OV9655_GLMT 0x61 -#define OV9655_LCC1 0x62 -#define OV9655_LCC2 0x63 -#define OV9655_LCC3 0x64 -#define OV9655_LCC4 0x65 -#define OV9655_MANU 0x66 -#define OV9655_MANV 0x67 -#define OV9655_MANY 0x68 -#define OV9655_VARO 0x69 -#define OV9655_BD50MAX 0x6A -#define OV9655_DBLV 0x6B -#define OV9655_DNSTH 0x70 -#define OV9655_POIDX 0x72 -#define OV9655_PCKDV 0x73 -#define OV9655_XINDX 0x74 -#define OV9655_YINDX 0x75 -#define OV9655_SLOP 0x7A -#define OV9655_GAM1 0x7B -#define OV9655_GAM2 0x7C -#define OV9655_GAM3 0x7D -#define OV9655_GAM4 0x7E -#define OV9655_GAM5 0x7F -#define OV9655_GAM6 0x80 -#define OV9655_GAM7 0x81 -#define OV9655_GAM8 0x82 -#define OV9655_GAM9 0x83 -#define OV9655_GAM10 0x84 -#define OV9655_GAM11 0x85 -#define OV9655_GAM12 0x86 -#define OV9655_GAM13 0x87 -#define OV9655_GAM14 0x88 -#define OV9655_GAM15 0x89 -#define OV9655_COM18 0x8B -#define OV9655_COM19 0x8C -#define OV9655_COM20 0x8D -#define OV9655_DMLNL 0x92 -#define OV9655_DMLNH 0x93 -#define OV9655_LCC6 0x9D -#define OV9655_LCC7 0x9E -#define OV9655_AECH 0xA1 -#define OV9655_BD50 0xA2 -#define OV9655_BD60 0xA3 -#define OV9655_COM21 0xA4 -#define OV9655_GREEN 0xA6 -#define OV9655_VZST 0xA7 -#define OV9655_REFA8 0xA8 -#define OV9655_REFA9 0xA9 -#define OV9655_BLC1 0xAC -#define OV9655_BLC2 0xAD -#define OV9655_BLC3 0xAE -#define OV9655_BLC4 0xAF -#define OV9655_BLC5 0xB0 -#define OV9655_BLC6 0xB1 -#define OV9655_BLC7 0xB2 -#define OV9655_BLC8 0xB3 -#define OV9655_CTRLB4 0xB4 -#define OV9655_FRSTL 0xB7 -#define OV9655_FRSTH 0xB8 -#define OV9655_ADBOFF 0xBC -#define OV9655_ADROFF 0xBD -#define OV9655_ADGbOFF 0xBE -#define OV9655_ADGrOFF 0xBF -#define OV9655_COM23 0xC4 -#define OV9655_BD60MAX 0xC5 -#define OV9655_COM24 0xC7 -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void OV9655_HW_Init(void); -void OV9655_Reset(void); -void OV9655_ReadID(OV9655_IDTypeDef* OV9655ID); -void OV9655_Init(ImageFormat_TypeDef ImageFormat); -void OV9655_QQVGAConfig(void); -void OV9655_QVGAConfig(void); -void OV9655_BrightnessConfig(uint8_t Brightness); -uint8_t OV9655_WriteReg(uint16_t Addr, uint8_t Data); -uint8_t OV9655_ReadReg(uint16_t Addr); - -#endif /* __DCMI_OV9655_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/lcd_log_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/lcd_log_conf.h deleted file mode 100644 index a60b07be8..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/lcd_log_conf.h +++ /dev/null @@ -1,113 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/Camera/lcd_log_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief lcd_log configuration template file. - * This file should be copied to the application folder and modified - * as follows: - * - Rename it to 'lcd_log_conf.h'. - * - Update the name of the LCD header file depending on the EVAL board - * you are using (see line32 below). - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __LCD_LOG_CONF_H__ -#define __LCD_LOG_CONF_H__ - -/* Includes ------------------------------------------------------------------*/ -#include "stm322xg_eval_lcd.h" /* replace 'stm32xxx' with your EVAL board name, ex: stm3210c_eval_lcd.h */ -#include - -/** @addtogroup LCD_LOG - * @{ - */ - -/** @defgroup LCD_LOG - * @brief This file is the - * @{ - */ - - -/** @defgroup LCD_LOG_CONF_Exported_Defines - * @{ - */ -/* Comment the line below to disable the scroll back and forward features */ -#define LCD_SCROLL_ENABLED - -/* Define the LCD default text color */ -#define LCD_LOG_DEFAULT_COLOR LCD_COLOR_WHITE - -/* Define the display window settings */ -#define YWINDOW_MIN 3 -#define YWINDOW_SIZE 12 -#define XWINDOW_MAX 50 - -/* Define the cache depth */ -#define CACHE_SIZE 50 - -/** @defgroup LCD_LOG_CONF_Exported_TypesDefinitions - * @{ - */ - -/** - * @} - */ - - -/** @defgroup LCD_LOG_Exported_Macros - * @{ - */ - - -/** - * @} - */ - -/** @defgroup LCD_LOG_CONF_Exported_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup LCD_LOG_CONF_Exported_FunctionsPrototype - * @{ - */ - -/** - * @} - */ - - -#endif /* __LCD_LOG_H__ */ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/main.c deleted file mode 100644 index 7b4b3f581..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/main.c +++ /dev/null @@ -1,273 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/Camera/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" -#include "dcmi_ov9655.h" -#include "dcmi_ov2640.h" -#include "lcd_log.h" - -/** @addtogroup stm32f2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DCMI_Camera - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -RCC_ClocksTypeDef RCC_Clocks; -OV9655_IDTypeDef OV9655_Camera_ID; -OV2640_IDTypeDef OV2640_Camera_ID; -__IO uint16_t ADCVal = 0; -uint8_t buffer[40]; -extern Camera_TypeDef Camera; -extern ImageFormat_TypeDef ImageFormat; -extern __IO uint8_t ValueMax; -extern const uint8_t *ImageForematArray[]; - -/* Private function prototypes -----------------------------------------------*/ -void ADC_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* SysTick end of count event each 10ms */ - RCC_GetClocksFreq(&RCC_Clocks); - SysTick_Config(RCC_Clocks.HCLK_Frequency / 100); - - /* Initialize LEDs and push-buttons mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - STM_EVAL_LEDOn(LED1); - - /* Initialize the LCD */ - STM322xG_LCD_Init(); - LCD_Clear(Black); - LCD_SetTextColor(White); - - LCD_LOG_SetHeader("STM32 Camera Demo"); - LCD_LOG_SetFooter (" Copyright (c) STMicroelectronics" ); - - /* ADC configuration */ - ADC_Config(); - - /* Initializes the DCMI interface (I2C and GPIO) used to configure the camera */ - OV2640_HW_Init(); - - /* Read the OV9655/OV2640 Manufacturer identifier */ - OV9655_ReadID(&OV9655_Camera_ID); - OV2640_ReadID(&OV2640_Camera_ID); - - if(OV9655_Camera_ID.PID == 0x96) - { - Camera = OV9655_CAMERA; - sprintf((char*)buffer, "OV9655 Camera ID 0x%x", OV9655_Camera_ID.PID); - ValueMax = 2; - } - else if(OV2640_Camera_ID.PIDH == 0x26) - { - Camera = OV2640_CAMERA; - sprintf((char*)buffer, "OV2640 Camera ID 0x%x", OV2640_Camera_ID.PIDH); - ValueMax = 2; - } - else - { - LCD_SetTextColor(LCD_COLOR_RED); - LCD_DisplayStringLine(LINE(4), "Check the Camera HW and try again"); - while(1); - } - - LCD_SetTextColor(LCD_COLOR_YELLOW); - LCD_DisplayStringLine(LINE(4), (uint8_t*)buffer); - LCD_SetTextColor(LCD_COLOR_WHITE); - Delay(200); - - /* Initialize demo */ - ImageFormat = (ImageFormat_TypeDef)Demo_Init(); - - /* Configure the Camera module mounted on STM322xG-EVAL board */ - Demo_LCD_Clear(); - LCD_DisplayStringLine(LINE(4), "Camera Init.. "); - Camera_Config(); - - sprintf((char*)buffer, " Image selected: %s", ImageForematArray[ImageFormat]); - LCD_DisplayStringLine(LINE(4),(uint8_t*)buffer); - - /* Enable DMA2 stream 1 and DCMI interface then start image capture */ - DMA_Cmd(DMA2_Stream1, ENABLE); - DCMI_Cmd(ENABLE); - - /* Insert 100ms delay: wait 100ms */ - Delay(200); - - DCMI_CaptureCmd(ENABLE); - - LCD_ClearLine(LINE(4)); - Demo_LCD_Clear(); - - if(ImageFormat == BMP_QQVGA) - { - /* LCD Display window */ - LCD_SetDisplayWindow(179, 239, 120, 160); - LCD_WriteReg(LCD_REG_3, 0x1038); - LCD_WriteRAM_Prepare(); - } - else if(ImageFormat == BMP_QVGA) - { - /* LCD Display window */ - LCD_SetDisplayWindow(239, 319, 240, 320); - LCD_WriteReg(LCD_REG_3, 0x1038); - LCD_WriteRAM_Prepare(); - } - - while(1) - { - /* Blink LD1, LED2 and LED4 */ - STM_EVAL_LEDToggle(LED1); - STM_EVAL_LEDToggle(LED2); - STM_EVAL_LEDToggle(LED3); - STM_EVAL_LEDToggle(LED4); - - /* Insert 100ms delay */ - Delay(10); - - /* Get the last ADC3 conversion result data */ - ADCVal = ADC_GetConversionValue(ADC3); - - /* Change the Brightness of camera using "Brightness Adjustment" register: - For OV9655 camera Brightness can be positively (0x01 ~ 0x7F) and negatively (0x80 ~ 0xFF) adjusted - For OV2640 camera Brightness can be positively (0x20 ~ 0x40) and negatively (0 ~ 0x20) adjusted */ - if(Camera == OV9655_CAMERA) - { - OV9655_BrightnessConfig(ADCVal); - } - if(Camera == OV2640_CAMERA) - { - OV2640_BrightnessConfig(ADCVal/2); - } - } -} - -/** - * @brief Configures the ADC. - * @param None - * @retval None - */ -void ADC_Config(void) -{ - ADC_InitTypeDef ADC_InitStructure; - ADC_CommonInitTypeDef ADC_CommonInitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable ADC3 clock */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, ENABLE); - - /* GPIOF clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); - - /* Configure ADC Channel7 as analog */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ; - GPIO_Init(GPIOF, &GPIO_InitStructure); - - /* ADC Common Init */ - ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; - ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div6; - ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; - ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; - ADC_CommonInit(&ADC_CommonInitStructure); - - /* ADC3 Configuration ------------------------------------------------------*/ - ADC_StructInit(&ADC_InitStructure); - ADC_InitStructure.ADC_Resolution = ADC_Resolution_8b; - ADC_InitStructure.ADC_ScanConvMode = DISABLE; - ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; - ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; - ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; - ADC_InitStructure.ADC_NbrOfConversion = 1; - ADC_Init(ADC3, &ADC_InitStructure); - - /* ADC3 Regular Channel Config */ - ADC_RegularChannelConfig(ADC3, ADC_Channel_7, 1, ADC_SampleTime_56Cycles); - - /* Enable ADC3 */ - ADC_Cmd(ADC3, ENABLE); - - /* ADC3 regular Software Start Conv */ - ADC_SoftwareStartConv(ADC3); -} - -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/main.h deleted file mode 100644 index 801516d49..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/main.h +++ /dev/null @@ -1,47 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/Camera/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_lcd.h" -#include "stm322xg_eval_ioe.h" -#include "camera_api.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/readme.txt deleted file mode 100644 index 194915a86..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/readme.txt +++ /dev/null @@ -1,87 +0,0 @@ -/** - @page DCMI_Camera Camera example Readme file - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file DCMI/Camera/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the stm32f2xx camera example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Description - -This example shows how to use the DCMI to control the OV9655 or OV2640 Camera module -mounted on STM322xG-EVAL board RevB. - -Both cameras have an image array capable of operating at up to 15 frames per second -in SXGA resolution with complete user control over image quality, formatting and -output data transfer. All required image processing functions are also programmable -through the SCCB interface (I2C like protocol). - -In this example the DCMI is configured to interface with this 8 bit data camera -in continuous mode. The I2C1 is used to configure the Camera in 8 bit RGB 5:6:5 mode. -The user can select between two resolutions QQVGA(160x120) or QVGA(320x240) in order -to display the captured image on the LCD(320x240), this selection is performed -at application run time using the Joystick UP, DOWN and SEL buttons. -All camera data received by the DCMI are transferred through the DMA and displayed -on the LCD (connected to FSMC). As a result the CPU is free to execute other tasks. - -You can use the potentiometer RV1 to fine tune on the fly the camera's brightness. - - -@par Project Directory contents - - - DCMI/Camera/main.h Main config file - - DCMI/Camera/camera_api.h Header for camera_api.c - - DCMI/Camera/dcmi_ov2640.h Header for dcmi_ov2640.c - - DCMI/Camera/dcmi_ov9655.h Header for dcmi_ov9655.c - - DCMI/Camera/lcd_lo_conf.h Lcd_log configuration file - - DCMI/Camera/stm32f2xx_it.h Header for stm32f2xx_it.c - - DCMI/Camera/stm32f2xx_conf.h library configuration file - - DCMI/Camera/main.c Main program - - DCMI/Camera/camera_api.c High level driver for OV9655/OV2640 Cameras - - DCMI/Camera/dcmi_ov2640.c Driver for OV2640 Camera module - - DCMI/Camera/dcmi_ov9655.c Driver for OV9655 Camera module - - DCMI/Camera/stm32f2xx_it.c Interrupt handlers - - DCMI/Camera/system_stm32f2xx.c stm32f2xx system clock configuration file - - -@par Hardware and Software environment - - This example runs on stm32f2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB. - - -@par How to use it ? -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\stm32f2xx_StdPeriph_Templates - - Open your preferred toolchain - - Add the following files the project source list - - camera_api.c - - dcmi_ov2640.c - - dcmi_ov9655.c - - Utilities\STM32_EVAL\Common\lcd_log.c - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/stm32f2xx_conf.h deleted file mode 100644 index 6b6d34400..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/Camera/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/stm32f2xx_it.c deleted file mode 100644 index ff8ec45ed..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/stm32f2xx_it.c +++ /dev/null @@ -1,241 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/Camera/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DCMI_Camera - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern __IO uint32_t PressedKey; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - TimingDelay_Decrement(); -} - -/** - * @brief This function handles External line 10 interrupt request. - * @param None - * @retval None - */ -void EXTI2_IRQHandler(void) -{ - static JOY_State_TypeDef JoyState = JOY_NONE; - - if(EXTI_GetITStatus(IOE_IT_EXTI_LINE) != RESET) - { - if(IOE_GetGITStatus(IOE_2_ADDR, IOE_GIT_GPIO)) - { - /* Get the Joystick State */ - JoyState = IOE_JoyStickGetState(); - - switch (JoyState) - { - case JOY_NONE: - break; - - case JOY_UP: - { - PressedKey = UP; - break; - } - case JOY_DOWN: - { - PressedKey = DOWN; - break; - } - case JOY_RIGHT : - { - PressedKey = JOY_NONE; - break; - } - case JOY_LEFT: - { - PressedKey = JOY_NONE; - break; - } - case JOY_CENTER: - { - PressedKey = SEL; - break; - } - default: - { - PressedKey = JOY_NONE; - LCD_DisplayStringLine(LINE(17), (uint8_t*)" JOY ERROR "); - break; - } - } - } - /* Clear the interrupt pending bits */ - IOE_ClearGITPending(IOE_2_ADDR, IOE_GIT_GPIO); - IOE_ClearIOITPending(IOE_2_ADDR, IOE_JOY_IT); - } - /* Clear interrupt pending bit */ - EXTI_ClearITPendingBit(IOE_IT_EXTI_LINE); -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/stm32f2xx_it.h deleted file mode 100644 index 5c629635e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/stm32f2xx_it.h +++ /dev/null @@ -1,66 +0,0 @@ -/** - ****************************************************************************** - * @file DCMI/Camera/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void SDIO_IRQHandler(void); -void SD_SDIO_DMA_IRQHANDLER(void); -void DCMI_IRQHandler(void); -void DMA2_Stream1_IRQHandler(void); -void EXTI15_10_IRQHandler(void); -void EXTI2_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DCMI/Camera/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/Complete list of DMA examples.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/Complete list of DMA examples.txt deleted file mode 100644 index 2352bafdd..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/Complete list of DMA examples.txt +++ /dev/null @@ -1,52 +0,0 @@ -/** - @page DMA_EXAMPLES DMA examples List - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file DMA/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief STM32F2xx Standard Peripherals DMA examples List. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -In addition to this example (DMA\FLASH_RAM), other examples uses the DMA: - - *
    - *
  • Complet List of DMA Examples - * - @subpage ADC_ADC3_DMA - * - @subpage DualADC_Interleaved_DMAmode3 - * - @subpage DualADC_RegulSimu_DMAmode1 - * - @subpage TripleADC_Interleaved_DMAmode2 - * - @subpage ADC_VBAT_Measurement - * - @subpage AES_ECBmode_DMA - * - @subpage TDES_ECBmode_DMA - * - @subpage DAC_SignalsGen - * - @subpage DCMI_OV9655_Camera - * - @subpage SHA1_MD5_DMA - * - @subpage I2C_DataExchangeDMA - * - @subpage NVIC_DMA_WFIMode - * - @subpage TIM_DMA - * - @subpage TIM1_DMABURST - * - @subpage USART_DataExchangeDMA - *
- - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/main.c deleted file mode 100644 index e175c169c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/main.c +++ /dev/null @@ -1,253 +0,0 @@ -/** - ****************************************************************************** - * @file DMA/FLASH_RAM/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DMA_FLASH_RAM - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO TestStatus TransferStatus = FAILED; - -const uint32_t SRC_Const_Buffer[BUFFER_SIZE]= { - 0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10, - 0x11121314,0x15161718,0x191A1B1C,0x1D1E1F20, - 0x21222324,0x25262728,0x292A2B2C,0x2D2E2F30, - 0x31323334,0x35363738,0x393A3B3C,0x3D3E3F40, - 0x41424344,0x45464748,0x494A4B4C,0x4D4E4F50, - 0x51525354,0x55565758,0x595A5B5C,0x5D5E5F60, - 0x61626364,0x65666768,0x696A6B6C,0x6D6E6F70, - 0x71727374,0x75767778,0x797A7B7C,0x7D7E7F80}; -uint32_t DST_Buffer[BUFFER_SIZE]; - -/* Private function prototypes -----------------------------------------------*/ -void DMA_Config(void); -TestStatus Buffercmp(const uint32_t* pBuffer, uint32_t* pBuffer1, uint16_t BufferLength); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Configure LEDs to monitor program status */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - STM_EVAL_LEDOn(LED1); /* Turn LED1 on: start of configuration */ - - /* Configure and enable the DMA Stream for Memory to Memory transfer */ - DMA_Config(); - - STM_EVAL_LEDOn(LED2); /* Turn LED2 on: start of Transfer */ - - /* Wait the end of transmission (the DMA Stream is disabled by Hardware at the - end of the transfer) . - There is also another way to check on end of transfer by monitoring the - number of remaining data to be transferred. */ - /* while (DMA_GetCurrentMemoryTarget(DMA_STREAM) != 0) */ /* First method */ - while (DMA_GetCmdStatus(DMA_STREAM) != DISABLE) /* Second method */ - { - /* - Since this code present a simple example of how to use DMA, it is just - waiting on the end of transfer. - But, while DMA Stream is transferring data, the CPU is free to perform - other tasks in parallel to the DMA transfer. - */ - } - - /* Check if the transmitted and received data are equal */ - TransferStatus = Buffercmp(SRC_Const_Buffer, DST_Buffer, BUFFER_SIZE); - /* TransferStatus = PASSED, if the transmitted and received data - are the same */ - /* TransferStatus = FAILED, if the transmitted and received data - are different */ - - if (TransferStatus != FAILED) - { - /* Turn LED4 on: Transfer correct */ - STM_EVAL_LEDOn(LED4); - } - - while (1) - { - } -} - -/** - * @brief Configure the DMA controller according to the Stream parameters - * defined in main.h file - * @param None - * @retval None - */ -void DMA_Config(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - DMA_InitTypeDef DMA_InitStructure; - __IO uint32_t Timeout = TIMEOUT_MAX; - - /* Enable DMA clock */ - RCC_AHB1PeriphClockCmd(DMA_STREAM_CLOCK, ENABLE); - - /* Reset DMA Stream registers (for debug purpose) */ - DMA_DeInit(DMA_STREAM); - - /* Check if the DMA Stream is disabled before enabling it. - Note that this step is useful when the same Stream is used multiple times: - enabled, then disabled then re-enabled... In this case, the DMA Stream disable - will be effective only at the end of the ongoing data transfer and it will - not be possible to re-configure it before making sure that the Enable bit - has been cleared by hardware. If the Stream is used only once, this step might - be bypassed. */ - while (DMA_GetCmdStatus(DMA_STREAM) != DISABLE) - { - } - - /* Configure DMA Stream */ - DMA_InitStructure.DMA_Channel = DMA_CHANNEL; - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)SRC_Const_Buffer; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)DST_Buffer; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToMemory; - DMA_InitStructure.DMA_BufferSize = (uint32_t)BUFFER_SIZE; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Enable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(DMA_STREAM, &DMA_InitStructure); - - /* Enable DMA Stream Transfer Complete interrupt */ - DMA_ITConfig(DMA_STREAM, DMA_IT_TC, ENABLE); - - /* DMA Stream enable */ - DMA_Cmd(DMA_STREAM, ENABLE); - - /* Check if the DMA Stream has been effectively enabled. - The DMA Stream Enable bit is cleared immediately by hardware if there is an - error in the configuration parameters and the transfer is no started (ie. when - wrong FIFO threshold is configured ...) */ - Timeout = TIMEOUT_MAX; - while ((DMA_GetCmdStatus(DMA_STREAM) != ENABLE) && (Timeout-- > 0)) - { - } - - /* Check if a timeout condition occurred */ - if (Timeout == 0) - { - /* Manage the error: to simplify the code enter an infinite loop */ - while (1) - { - } - } - - /* Enable the DMA Stream IRQ Channel */ - NVIC_InitStructure.NVIC_IRQChannel = DMA_STREAM_IRQ; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -/** - * @brief Compares two buffers. - * @param pBuffer, pBuffer1: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer identical to pBuffer1 - * FAILED: pBuffer differs from pBuffer1 - */ -TestStatus Buffercmp(const uint32_t* pBuffer, uint32_t* pBuffer1, uint16_t BufferLength) -{ - while(BufferLength--) - { - if(*pBuffer != *pBuffer1) - { - return FAILED; - } - - pBuffer++; - pBuffer1++; - } - - return PASSED; -} - -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/main.h deleted file mode 100644 index b84d383c6..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/main.h +++ /dev/null @@ -1,56 +0,0 @@ -/** - ****************************************************************************** - * @file DMA/FLASH_RAM/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* DMA Stream parameters definitions. You can modify these parameters to select - a different DMA Stream and/or channel. - But note that only DMA2 Streams are capable of Memory to Memory transfers. */ -#define DMA_STREAM DMA2_Stream0 -#define DMA_CHANNEL DMA_Channel_0 -#define DMA_STREAM_CLOCK RCC_AHB1Periph_DMA2 -#define DMA_STREAM_IRQ DMA2_Stream0_IRQn -#define DMA_IT_TCIF DMA_IT_TCIF0 -#define DMA_STREAM_IRQHANDLER DMA2_Stream0_IRQHandler - -#define BUFFER_SIZE 32 -#define TIMEOUT_MAX 10000 /* Maximum timeout value */ - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/readme.txt deleted file mode 100644 index c5738646b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/readme.txt +++ /dev/null @@ -1,107 +0,0 @@ -/** - @page DMA_FLASH_RAM DMA_FLASH_RAM - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file DMA/FLASH_RAM/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the DMA FLASH to RAM example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a description of how to use a DMA channel to transfer -a word data buffer from FLASH memory to embedded SRAM memory. - -DMA2 Stream0 channel0 is configured to transfer the contents of a 32-word data -buffer stored in Flash memory to the reception buffer declared in RAM. - -The start of transfer is triggered by software. DMA2 Stream0 channel0 memory-to-memory -transfer is enabled. Source and destination addresses incrementing is also enabled. -The transfer is started by setting the Channel enable bit for DMA2 Stream0 channel0. -At the end of the transfer a Transfer Complete interrupt is generated since it -is enabled. The Transfer Complete Interrupt pending bit is then cleared. -When the DMA transfer is completed the DMA Stream is disabled by hardware. -The main application can check on the Stream Enable status to detect the end of -transfer or can also check on the number of remaining transfers which should be -equal to 0 at the end of the transfer. -A comparison between the source and destination buffers is done to check that all -data have been correctly transferred. - -STM32 Eval board's LEDs can be used to monitor the transfer status: - - LED1 is ON when the program starts. - - LED2 is ON when the configuration phase is done and the transfer is started. - - LED3 is ON when the transfer is complete (into the Transfer Complete interrupt - routine) - - LED4 is ON when the comparison result between source buffer and destination - buffer is passed. - -It is possible to select a different Stream and/or channel for the DMA transfer -example by modifying defines values in the file main.h. -Note that only DMA2 Streams are able to perform Memory-to-Memory transfers. - -There are different options to check on the DMA end of transfer: - 1. Use DMA Transfer Complete interrupt. - 2. Use DMA enable state (the DMA stream is disabled by hardware when transfer - is complete). - 3. Use DMA Stream transfer counter value (the counter value is decremented when - transfer is ongoing and is equal to 0 at the transfer end). - 4. Use DMA Transfer Complete flag (polling mode). - -In this example methods 1, 2 and 3 are provided (you can select between method 2 -and 3 by uncommenting relative code in waiting loop in the main.c file). - - -@par Directory contents - - - DMA/FLASH_RAM/system_stm32f2xx.c STM32F2xx system clock configuration file - - DMA/FLASH_RAM/stm32f2xx_conf.h Library Configuration file - - DMA/FLASH_RAM/stm32f2xx_it.c Interrupt handlers - - DMA/FLASH_RAM/stm32f2xx_it.h Interrupt handlers header file - - DMA/FLASH_RAM/main.c Main program - - DMA/FLASH_RAM/main.h Main program header file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/stm32f2xx_conf.h deleted file mode 100644 index b7b188175..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file DMA/FLASH_RAM/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/stm32f2xx_it.c deleted file mode 100644 index 8ab771cab..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/stm32f2xx_it.c +++ /dev/null @@ -1,188 +0,0 @@ -/** - ****************************************************************************** - * @file DMA/FLASH_RAM/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DMA_FLASH_RAM - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles DMA Stream interrupt request. - * @param None - * @retval None - */ -void DMA_STREAM_IRQHANDLER(void) -{ - /* Test on DMA Stream Transfer Complete interrupt */ - if(DMA_GetITStatus(DMA_STREAM, DMA_IT_TCIF)) - { - /* Clear DMA Stream Transfer Complete interrupt pending bit */ - DMA_ClearITPendingBit(DMA_STREAM, DMA_IT_TCIF); - - /* Turn LED3 on: End of Transfer */ - STM_EVAL_LEDOn(LED3); - } -} - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/stm32f2xx_it.h deleted file mode 100644 index d2284d0bd..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/stm32f2xx_it.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - ****************************************************************************** - * @file DMA/FLASH_RAM/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void DMA_STREAM_IRQHANDLER(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/DMA/FLASH_RAM/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/main.c deleted file mode 100644 index 153d2f961..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/main.c +++ /dev/null @@ -1,192 +0,0 @@ -/** - ****************************************************************************** - * @file EXTI/EXTI_Example/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup EXTI_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -void EXTILine0_Config(void); -void EXTILine15_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - - /* Configure EXTI Line0 (connected to PA0 pin) in interrupt mode */ - EXTILine0_Config(); - - /* Configure EXTI Line15 (connected to PG15 pin) in interrupt mode */ - EXTILine15_Config(); - - /* Generate software interrupt: simulate a falling edge applied on EXTI0 line */ - EXTI_GenerateSWInterrupt(EXTI_Line0); - - while (1) - { - } -} - -/** - * @brief Configures EXTI Line0 (connected to PA0 pin) in interrupt mode - * @param None - * @retval None - */ -void EXTILine0_Config(void) -{ - EXTI_InitTypeDef EXTI_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable GPIOA clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); - /* Enable SYSCFG clock */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); - - /* Configure PA0 pin as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* Connect EXTI Line0 to PA0 pin */ - SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0); - - /* Configure EXTI Line0 */ - EXTI_InitStructure.EXTI_Line = EXTI_Line0; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable and set EXTI Line0 Interrupt to the lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -/** - * @brief Configures EXTI Line15 (connected to PG15 pin) in interrupt mode - * @param None - * @retval None - */ -void EXTILine15_Config(void) -{ - EXTI_InitTypeDef EXTI_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable GPIOG clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE); - /* Enable SYSCFG clock */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); - - /* Configure PG15 pin as input floating */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; - GPIO_Init(GPIOG, &GPIO_InitStructure); - - /* Connect EXTI Line15 to PG15 pin */ - SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOG, EXTI_PinSource15); - - /* Configure EXTI Line15 */ - EXTI_InitStructure.EXTI_Line = EXTI_Line15; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable and set EXTI15_10 Interrupt to the lowest priority */ - NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - - NVIC_Init(&NVIC_InitStructure); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/readme.txt deleted file mode 100644 index e9cc76e3a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/readme.txt +++ /dev/null @@ -1,93 +0,0 @@ -/** - @page EXTI_Example EXTI Configuration Example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file EXTI/EXTI_Example/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the EXTI example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure external interrupt lines. -In this example, 2 EXTI lines (EXTI Line0 and Line15) are configured to generate -an interrupt on each rising and falling edge, respectively. -In the interrupt routine a led connected to a specific GPIO pin is toggled. - -In this example: - - EXTI Line0 is connected to PA0 pin - - EXTI Line15 is connected to PG15 pin - -After EXTI configuration, a software interrupt is generated on the EXTI0 toggles LED1. -After that, - when falling edge is detected on EXTI Line0, LED1 toggles - when falling edge is detected on EXTI Line15, LED2 toggles - -On STM322xG-EVA, - EXTI Line0 is connected to Wakeup push-button - EXTI Line15 is connected to Key push-button - -@note In this example, EXTILine15_Config() function can be substituted by - STM_EVAL_PBInit(Button_KEY, Mode_EXTI) provided in the STM322xG-EVAL driver. - - -@par Directory contents - - - EXTI/EXTI_Example/stm32f2xx_conf.h Library Configuration file - - EXTI/EXTI_Example/stm32f2xx_it.h Interrupt handlers header file - - EXTI/EXTI_Example/stm32f2xx_it.c Interrupt handlers - - EXTI/EXTI_Example/main.c Main program - - EXTI/EXTI_Example/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - - STM322xG-EVAL Set-up - - Use LED1 and LED2 connected respectively to PG.06 and PG.08 - - Use the Key push-button connected to pin PG15 (EXTI Line15) - - Use the Wakeup push-button connected to pin PA0 (EXTI Line0) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/stm32f2xx_conf.h deleted file mode 100644 index 502446672..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file EXTI/EXTI_Example/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/stm32f2xx_it.c deleted file mode 100644 index d639eee3b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/stm32f2xx_it.c +++ /dev/null @@ -1,208 +0,0 @@ -/** - ****************************************************************************** - * @file EXTI/EXTI_Example/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup EXTI_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles External line 0 interrupt request. - * @param None - * @retval None - */ -void EXTI0_IRQHandler(void) -{ - if(EXTI_GetITStatus(EXTI_Line0) != RESET) - { - /* Toggle LED1 */ - STM_EVAL_LEDToggle(LED1); - - /* Clear the EXTI line 0 pending bit */ - EXTI_ClearITPendingBit(EXTI_Line0); - } -} - -/** - * @brief This function handles External lines 15 to 10 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if(EXTI_GetITStatus(EXTI_Line15) != RESET) - { - /* Toggle LED2 */ - STM_EVAL_LEDToggle(LED2); - - /* Clear the EXTI line 15 pending bit */ - EXTI_ClearITPendingBit(EXTI_Line15); - } -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/stm32f2xx_it.h deleted file mode 100644 index 410c0ea5d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file EXTI/EXTI_Example/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/EXTI/EXTI_Example/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/main.c deleted file mode 100644 index 6473441b4..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/main.c +++ /dev/null @@ -1,254 +0,0 @@ -/** - ****************************************************************************** - * @file FLASH/Program/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup FLASH_Program - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Private define ------------------------------------------------------------*/ - -#define FLASH_USER_START_ADDR ADDR_FLASH_SECTOR_2 /* Start @ of user Flash area */ -#define FLASH_USER_END_ADDR ADDR_FLASH_SECTOR_5 /* End @ of user Flash area */ - -/* Base address of the Flash sectors */ -#define ADDR_FLASH_SECTOR_0 ((uint32_t)0x08000000) /* Base @ of Sector 0, 16 Kbytes */ -#define ADDR_FLASH_SECTOR_1 ((uint32_t)0x08004000) /* Base @ of Sector 1, 16 Kbytes */ -#define ADDR_FLASH_SECTOR_2 ((uint32_t)0x08008000) /* Base @ of Sector 2, 16 Kbytes */ -#define ADDR_FLASH_SECTOR_3 ((uint32_t)0x0800C000) /* Base @ of Sector 3, 16 Kbytes */ -#define ADDR_FLASH_SECTOR_4 ((uint32_t)0x08010000) /* Base @ of Sector 4, 64 Kbytes */ -#define ADDR_FLASH_SECTOR_5 ((uint32_t)0x08020000) /* Base @ of Sector 5, 128 Kbytes */ -#define ADDR_FLASH_SECTOR_6 ((uint32_t)0x08040000) /* Base @ of Sector 6, 128 Kbytes */ -#define ADDR_FLASH_SECTOR_7 ((uint32_t)0x08060000) /* Base @ of Sector 7, 128 Kbytes */ -#define ADDR_FLASH_SECTOR_8 ((uint32_t)0x08080000) /* Base @ of Sector 8, 128 Kbytes */ -#define ADDR_FLASH_SECTOR_9 ((uint32_t)0x080A0000) /* Base @ of Sector 9, 128 Kbytes */ -#define ADDR_FLASH_SECTOR_10 ((uint32_t)0x080C0000) /* Base @ of Sector 10, 128 Kbytes */ -#define ADDR_FLASH_SECTOR_11 ((uint32_t)0x080E0000) /* Base @ of Sector 11, 128 Kbytes */ - -#define DATA_32 ((uint32_t)0x12345678) - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint32_t StartSector = 0, EndSector = 0, Address = 0, SectorCounter = 0; -__IO uint32_t data32 = 0 , MemoryProgramStatus = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ -uint32_t GetSector(uint32_t Address); - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Unlock the Flash to enable the flash control register access *************/ - FLASH_Unlock(); - - /* Erase the user Flash area - (area defined by FLASH_USER_START_ADDR and FLASH_USER_END_ADDR) ***********/ - - /* Clear pending flags (if any) */ - FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | - FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); - - /* Get the number of the start and end sectors */ - StartSector = GetSector(FLASH_USER_START_ADDR); - EndSector = GetSector(FLASH_USER_END_ADDR); - - for (SectorCounter = StartSector; SectorCounter < EndSector; SectorCounter += 8) - { - /* Device voltage range supposed to be [2.7V to 3.6V], the operation will - be done by word */ - if (FLASH_EraseSector(SectorCounter, VoltageRange_3) != FLASH_COMPLETE) - { - /* Error occurred while sector erase. - User can add here some code to deal with this error */ - while (1) - { - } - } - } - - /* Program the user Flash area word by word - (area defined by FLASH_USER_START_ADDR and FLASH_USER_END_ADDR) ***********/ - - Address = FLASH_USER_START_ADDR; - - while (Address < FLASH_USER_END_ADDR) - { - if (FLASH_ProgramWord(Address, DATA_32) == FLASH_COMPLETE) - { - Address = Address + 4; - } - else - { - /* Error occurred while writing data in Flash memory. - User can add here some code to deal with this error */ - while (1) - { - } - } - } - - /* Lock the Flash to disable the flash control register access (recommended - to protect the FLASH memory against possible unwanted operation) *********/ - FLASH_Lock(); - - - /* Check if the programmed data is OK - MemoryProgramStatus = 0: data programmed correctly - MemoryProgramStatus != 0: number of words not programmed correctly ******/ - Address = FLASH_USER_START_ADDR; - MemoryProgramStatus = 0x0; - - while (Address < FLASH_USER_END_ADDR) - { - data32 = *(__IO uint32_t*)Address; - - if (data32 != DATA_32) - { - MemoryProgramStatus++; - } - - Address = Address + 4; - } - - while (1) - { - } -} - -/** - * @brief Gets the sector of a given address - * @param None - * @retval The sector of a given address - */ -uint32_t GetSector(uint32_t Address) -{ - uint32_t sector = 0; - - if((Address < ADDR_FLASH_SECTOR_1) && (Address >= ADDR_FLASH_SECTOR_0)) - { - sector = FLASH_Sector_0; - } - else if((Address < ADDR_FLASH_SECTOR_2) && (Address >= ADDR_FLASH_SECTOR_1)) - { - sector = FLASH_Sector_1; - } - else if((Address < ADDR_FLASH_SECTOR_3) && (Address >= ADDR_FLASH_SECTOR_2)) - { - sector = FLASH_Sector_2; - } - else if((Address < ADDR_FLASH_SECTOR_4) && (Address >= ADDR_FLASH_SECTOR_3)) - { - sector = FLASH_Sector_3; - } - else if((Address < ADDR_FLASH_SECTOR_5) && (Address >= ADDR_FLASH_SECTOR_4)) - { - sector = FLASH_Sector_4; - } - else if((Address < ADDR_FLASH_SECTOR_6) && (Address >= ADDR_FLASH_SECTOR_5)) - { - sector = FLASH_Sector_5; - } - else if((Address < ADDR_FLASH_SECTOR_7) && (Address >= ADDR_FLASH_SECTOR_6)) - { - sector = FLASH_Sector_6; - } - else if((Address < ADDR_FLASH_SECTOR_8) && (Address >= ADDR_FLASH_SECTOR_7)) - { - sector = FLASH_Sector_7; - } - else if((Address < ADDR_FLASH_SECTOR_9) && (Address >= ADDR_FLASH_SECTOR_8)) - { - sector = FLASH_Sector_8; - } - else if((Address < ADDR_FLASH_SECTOR_10) && (Address >= ADDR_FLASH_SECTOR_9)) - { - sector = FLASH_Sector_9; - } - else if((Address < ADDR_FLASH_SECTOR_11) && (Address >= ADDR_FLASH_SECTOR_10)) - { - sector = FLASH_Sector_10; - } - else/*(Address < FLASH_END_ADDR) && (Address >= ADDR_FLASH_SECTOR_11))*/ - { - sector = FLASH_Sector_11; - } - - return sector; -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/readme.txt deleted file mode 100644 index 347bcf780..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/readme.txt +++ /dev/null @@ -1,79 +0,0 @@ -/** - @page FLASH_Program FLASH_Program - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file FLASH/Program/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the FLASH Program example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a description of how to program the STM32F2xx FLASH. - -After Reset, the Flash memory Program/Erase Controller is locked. To unlock it, -the FLASH_Unlock function is used. -Before programming the desired addresses, an erase operation is performed using -the flash erase sector feature. The erase procedure starts with the calculation of -the number of sector to be used. Then all these sectors will be erased one by one by -calling FLASH_EraseSector function. - -Once this operation is finished, the programming operation will be performed by -using the FLASH_ProgramWord function. The written data is then checked and the -result of the programming operation is stored into the MemoryProgramStatus variable. - - -@par Directory contents - - - FLASH/Program/system_stm32f2xx.c STM32F2xx system clock configuration file - - FLASH/Program/stm32f2xx_conf.h Library Configuration file - - FLASH/Program/stm32f2xx_it.c Interrupt handlers - - FLASH/Program/stm32f2xx_it.h Header for stm32f2xx_it.c - - FLASH/Program/main.c Main program - - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - -@par How to use it ? - -In order to make the program work, you must do the following: - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/stm32f2xx_conf.h deleted file mode 100644 index 3e0c09d8b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file FLASH/Program/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/stm32f2xx_it.c deleted file mode 100644 index 278f64441..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file FLASH/Program/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup FLASH_Program - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx_md.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/stm32f2xx_it.h deleted file mode 100644 index 00d5abcaa..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file FLASH/Program/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Program/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/main.c deleted file mode 100644 index d0d8cff09..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/main.c +++ /dev/null @@ -1,194 +0,0 @@ -/** - ****************************************************************************** - * @file FLASH/Write_Protection/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup FLASH_Write_Protection - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define FLASH_WRP_SECTORS (OB_WRP_Sector_2 | OB_WRP_Sector_3) /* sectors 2 and 3 */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t SectorsWRPStatus = 0xFFF; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Initialize Key Button mounted on STM322xG-EVAL board */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_GPIO); - - /* Test if Key push-button on STM322xG-EVAL board is pressed */ - if (STM_EVAL_PBGetState(BUTTON_KEY) == 0x00) - { - /* Get FLASH_WRP_SECTORS write protection status */ - SectorsWRPStatus = FLASH_OB_GetWRP() & FLASH_WRP_SECTORS; - - if (SectorsWRPStatus == 0x00) - { - /* If FLASH_WRP_SECTORS are write protected, disable the write protection */ - - /* Enable the Flash option control register access */ - FLASH_OB_Unlock(); - - /* Disable FLASH_WRP_SECTORS write protection */ - FLASH_OB_WRPConfig(FLASH_WRP_SECTORS, DISABLE); - - /* Start the Option Bytes programming process */ - if (FLASH_OB_Launch() != FLASH_COMPLETE) - { - /* User can add here some code to deal with this error */ - while (1) - { - } - } - /* Disable the Flash option control register access (recommended to protect - the option Bytes against possible unwanted operations) */ - FLASH_OB_Lock(); - - /* Get FLASH_WRP_SECTORS write protection status */ - SectorsWRPStatus = FLASH_OB_GetWRP() & FLASH_WRP_SECTORS; - - /* Check if FLASH_WRP_SECTORS write protection is disabled */ - if (SectorsWRPStatus == FLASH_WRP_SECTORS) - { - /* OK, turn ON LED1 */ - STM_EVAL_LEDOn(LED1); - } - else - { - /* KO, turn ON LED3 */ - STM_EVAL_LEDOn(LED3); - } - } - else - { /* If FLASH_WRP_SECTORS are not write protected, enable the write protection */ - - /* Enable the Flash option control register access */ - FLASH_OB_Unlock(); - - /* Enable FLASH_WRP_SECTORS write protection */ - FLASH_OB_WRPConfig(FLASH_WRP_SECTORS, ENABLE); - - /* Start the Option Bytes programming process */ - if (FLASH_OB_Launch() != FLASH_COMPLETE) - { - /* User can add here some code to deal with this error */ - while (1) - { - } - } - - /* Disable the Flash option control register access (recommended to protect - the option Bytes against possible unwanted operations) */ - FLASH_OB_Lock(); - - /* Get FLASH_WRP_SECTORS write protection status */ - SectorsWRPStatus = FLASH_OB_GetWRP() & FLASH_WRP_SECTORS; - - /* Check if FLASH_WRP_SECTORS are write protected */ - if (SectorsWRPStatus == 0x00) - { - /* OK, turn ON LED4 */ - STM_EVAL_LEDOn(LED4); - } - else - { - /* KO, turn ON LED3 */ - STM_EVAL_LEDOn(LED3); - } - } - } - - /* Turn ON LED2 */ - STM_EVAL_LEDOn(LED2); - - while (1) - { - } -} - - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/readme.txt deleted file mode 100644 index 3497ba506..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/readme.txt +++ /dev/null @@ -1,85 +0,0 @@ -/** - @page FLASH_Write_Protection FLASH_Write_Protection - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file FLASH/Write_Protection/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the FLASH Write Protection example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a description of how to enable and disable the write protection -for the STM32F2xx FLASH. - -By maintaining the Key push-button pressed at Reset, the program will check the -write protection status of FLASH_WRP_SECTORS (defined in main.c) - - If FLASH_WRP_SECTORS are write protected, the write protection will be disabled. - Then LED1 will turn ON, if the protection disable operation is done correctly, - otherwise LED3 turns ON. - - If FLASH_WRP_SECTORS are not write protected, the write protection will be enabled. - Then LED4 will turn ON, if the protection enable operation is done correctly, - otherwise LED3 turns ON. - -If after reset the Key push-button is not pressed, the program will simply turn ON LED2. - - -@par Directory contents - - - FLASH/Write_Protection/system_stm32f2xx.c STM32F2xx system clock configuration file - - FLASH/Write_Protection/stm32f2xx_conf.h Library Configuration file - - FLASH/Write_Protection/stm32f2xx_it.c Interrupt handlers - - FLASH/Write_Protection/stm32f2xx_it.h Header for stm32f2xx_it.c - - FLASH/Write_Protection/main.c Main program - - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - Use the Key push-button connected to pin PG15 (EXTI Line15) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/stm32f2xx_conf.h deleted file mode 100644 index 45e4c8f6a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file FLASH/Write_Protection/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/stm32f2xx_it.c deleted file mode 100644 index 7ed8bf9b1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file FLASH/Write_Protection/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup FLASH_Write_Protection - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx_md.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/stm32f2xx_it.h deleted file mode 100644 index 83b961efe..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file FLASH/Write_Protection/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FLASH/Write_Protection/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/main.c deleted file mode 100644 index 49e6d8633..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/main.c +++ /dev/null @@ -1,256 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/OneNAND/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm322xg_eval.h" -#include "stm322xg_eval_fsmc_onenand.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup FSMC_OneNAND - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define OneNAND_SAMSUNG_MANUFACTURER_ID 0x00EC -#define OneNAND_SAMSUNG_DEVICE_ID 0x0025 - -#define OneNAND_BUFFER_SIZE 0x0400 /* Page size: 1024 x 16 bits = 2048 Bytes */ -#define OneNAND_WRITE_BLOCK_NUMBER 0x0000 /* should be between 0 and 511, the block size is 128 KBytes */ -#define OneNAND_WRITE_PAGE_NUMBER 0x0000 /* The page size inside a Block is 2 KBytes */ -#define OneNAND_NUMBER_OF_PAGE_PER_BLOCK 0x0040 /* 64 pages per block */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -OneNAND_IDTypeDef OneNAND_ID; -OneNAND_ADDRESS Address; -uint16_t TxBuffer[OneNAND_BUFFER_SIZE], RxBuffer_A[OneNAND_BUFFER_SIZE], RxBuffer_S[OneNAND_BUFFER_SIZE]; -uint32_t Counter = 0, PageIndex = 0, Status = 0; - -/* Private function prototypes -----------------------------------------------*/ -void Fill_hBuffer(uint16_t *pBuffer, uint16_t BufferLenght, uint32_t Offset); - -/* Private functions ---------------------------------------------------------*/ -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* FSMC Initialization */ - OneNAND_Init(); - - /* Read OneNAND memory ID */ - OneNAND_ReadID(&OneNAND_ID); - - /* Verify the OneNAND ID */ - if((OneNAND_ID.Manufacturer_ID == OneNAND_SAMSUNG_MANUFACTURER_ID) && - (OneNAND_ID.Device_ID == OneNAND_SAMSUNG_DEVICE_ID)) - { - /* Fill the buffer to send */ - Fill_hBuffer(TxBuffer, OneNAND_BUFFER_SIZE , 0x320F); - Address.Block = OneNAND_WRITE_BLOCK_NUMBER; - Address.Page = OneNAND_WRITE_PAGE_NUMBER; - - /***** Erase then write to the OneNAND memory ******************************/ - /* Unlock the selected OneNAND block */ - Status = OneNAND_UnlockBlock(OneNAND_WRITE_BLOCK_NUMBER); - - if (Status == 0) - { - /* Erase the selected OneNAND block */ - Status = OneNAND_EraseBlock(Address.Block); - - if (Status == 0) - { - /* Write data to the OneNAND memory (128Kbytes by page 2KBytes each) */ - for(PageIndex = 0; (PageIndex < OneNAND_NUMBER_OF_PAGE_PER_BLOCK) && (Status ==0); PageIndex++) - { - Status = OneNAND_WriteBuffer(TxBuffer, Address, OneNAND_BUFFER_SIZE); - Address.Page++; - } - - if (Status == 0) - { - /***** Verify of the written data using asynchronous read ***********/ - Fill_hBuffer(RxBuffer_A, OneNAND_BUFFER_SIZE , 0xFF); - Status = 0; - Address.Block = OneNAND_WRITE_BLOCK_NUMBER; - Address.Page = OneNAND_WRITE_PAGE_NUMBER; - - for(PageIndex = 0; PageIndex < OneNAND_NUMBER_OF_PAGE_PER_BLOCK; PageIndex++) - { - /* Read back the written data (By page) */ - OneNAND_AsynchronousRead(RxBuffer_A, Address, OneNAND_BUFFER_SIZE); - - /* Verify the written data */ - for(Counter = 0; Counter < OneNAND_BUFFER_SIZE; Counter++) - { - if(TxBuffer[Counter] != RxBuffer_A[Counter]) - { - Status++; - } - } - Address.Page++; - } - - if (Status != 0) - { - /* Turn ON LED2 */ - STM_EVAL_LEDOn(LED2); - } - - /***** Verify of the written data using synchronous read ************/ - Fill_hBuffer(RxBuffer_S, OneNAND_BUFFER_SIZE , 0xFF); - Status = 0; - Address.Block = OneNAND_WRITE_BLOCK_NUMBER; - Address.Page = OneNAND_WRITE_PAGE_NUMBER; - - for(PageIndex = 0; PageIndex < OneNAND_NUMBER_OF_PAGE_PER_BLOCK; PageIndex++) - { - /* Read back the written data (By page) */ - OneNAND_SynchronousRead(RxBuffer_S, Address, OneNAND_BUFFER_SIZE); - - /* Verify the written data */ - for(Counter = 0; Counter < OneNAND_BUFFER_SIZE; Counter++) - { - if(TxBuffer[Counter] != RxBuffer_S[Counter]) - { - Status++; - } - } - Address.Page++; - } - - if (Status != 0) - { - /* Turn ON LED3 */ - STM_EVAL_LEDOn(LED3); - } - } - else - { - /* Turn ON LED4 */ - STM_EVAL_LEDOn(LED4); - } - } - else - { - /* Turn ON LED2 and LED4*/ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED4); - } - } - else - { - /* Turn ON LED3 and LED4 */ - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - } - } - else - { - /* Turn ON LED2, LED3 and LED4 */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - } - - if (Status == 0) - { - /* Turn ON LED1 */ - STM_EVAL_LEDOn(LED1); - } - - /* Infinite loop */ - while (1) - { - } -} - -/** - * @brief Fills a global 16-bit buffer with user predefined data. - * @param pBuffer: pointer on the buffer to fill - * @param BufferSize: size of the buffer to fill - * @param Offset: first value to fill on the buffer - * @retval None - */ -void Fill_hBuffer(uint16_t *pBuffer, uint16_t BufferLenght, uint32_t Offset) -{ - uint16_t IndexTmp = 0; - - /* Put in global buffer different values */ - for (IndexTmp = 0; IndexTmp < BufferLenght; IndexTmp++ ) - { - pBuffer[IndexTmp] = IndexTmp + Offset; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/readme.txt deleted file mode 100644 index 5748f315c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/readme.txt +++ /dev/null @@ -1,78 +0,0 @@ -/** - @page FSMC_OneNAND How to configure the FSMC to drive the OneNAND memory - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file FSMC/OneNAND/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the FSMC OneNAND example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the FSMC to drive the KFG1216U2A/B-DIB6 OneNAND -memory mounted on STM322xG-EVAL evaluation board(MB786) RevA. - -@note This memory is not available on STM322xG-EVAL board RevB. - -In this example a basic example of how to use the FSMC firmware library and -an associate driver to perform read/write operations on the KFG1216U2A OneNAND -memory. - - -@par Directory contents - - - FSMC/OneNAND/system_stm32f2xx.c STM32F2xx system clock configuration file - - FSMC/OneNAND/stm32f2xx_conf.h Library Configuration file - - FSMC/OneNAND/stm32f2xx_it.c Interrupt handlers - - FSMC/OneNAND/stm32f2xx_it.h Header for stm32f2xx_it.c - - FSMC/OneNAND/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - @note The STM322xG-EVAL board RevA was wrongly named STM3220F-EVAL - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Add the "stm322xg_eval_fsmc_onenand.c" file (under Utilities\STM32_EVAL\STM322xG_EVAL) - to the project source list - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/stm32f2xx_conf.h deleted file mode 100644 index ba4a9be5c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/OneNAND/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/stm32f2xx_it.c deleted file mode 100644 index a85a5c699..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/stm32f2xx_it.c +++ /dev/null @@ -1,174 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/OneNAND/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup FSMC_OneNAND - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/stm32f2xx_it.h deleted file mode 100644 index 28fddd414..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/OneNAND/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/OneNAND/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/main.c deleted file mode 100644 index 027b418ce..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/main.c +++ /dev/null @@ -1,160 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/SRAM/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm322xg_eval.h" -#include "stm322xg_eval_fsmc_sram.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup FSMC_SRAM - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define BUFFER_SIZE 0x100 -#define WRITE_READ_ADDR 0x800 - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint16_t TxBuffer[BUFFER_SIZE], RxBuffer[BUFFER_SIZE]; -__IO uint32_t WriteReadStatus = 0; -uint32_t Index = 0; - -/* Private function prototypes -----------------------------------------------*/ -void Fill_Buffer(uint16_t *pBuffer, uint16_t BufferLenght, uint32_t Offset); - -/* Private functions ---------------------------------------------------------*/ -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - - - /* Configure FSMC Bank 1 NOR/SRAM2 */ - SRAM_Init(); - - /* Write data to FSMC SRAM memory */ - /* Fill the buffer to send */ - Fill_Buffer(TxBuffer, BUFFER_SIZE, 0x320F); - SRAM_WriteBuffer(TxBuffer, WRITE_READ_ADDR, BUFFER_SIZE); - - /* Read data from FSMC SRAM memory */ - SRAM_ReadBuffer(RxBuffer, WRITE_READ_ADDR, BUFFER_SIZE); - - /* Read back SRAM memory and check content correctness */ - for (Index = 0x00; (Index < BUFFER_SIZE) && (WriteReadStatus == 0); Index++) - { - if (RxBuffer[Index] != TxBuffer[Index]) - { - WriteReadStatus++; - } - } - - if (WriteReadStatus == 0) - { - /* OK */ - /* Turn on LD1 */ - STM_EVAL_LEDOn(LED1); - } - else - { - /* KO */ - /* Turn on LD2 */ - STM_EVAL_LEDOn(LED2); - } - - while (1) - { - } -} - -/** - * @brief Fills buffer with user predefined data. - * @param pBuffer: pointer on the buffer to fill - * @param BufferLenght: size of the buffer to fill - * @param Offset: first value to fill on the buffer - * @retval None - */ -void Fill_Buffer(uint16_t *pBuffer, uint16_t BufferLenght, uint32_t Offset) -{ - uint16_t IndexTmp = 0; - - /* Put in global buffer different values */ - for (IndexTmp = 0; IndexTmp < BufferLenght; IndexTmp++ ) - { - pBuffer[IndexTmp] = IndexTmp + Offset; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/readme.txt deleted file mode 100644 index 2820248d5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/readme.txt +++ /dev/null @@ -1,76 +0,0 @@ -/** - @page FSMC_SRAM How to configure the FSMC to drive the SRAM memory - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file FSMC/SRAM/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the FSMC SRAM example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the FSMC to drive the CY7C1071DV33-12BAXI SRAM -memory mounted on STM322xG-EVAL evaluation board(MB786) RevB. - -In this example a basic example of how to use the FSMC firmware library and -an associate driver to perform read/write operations on the CY7C1071DV33 SRAM memory. - -@note This SRAM memory is not available on STM322xG-EVAL board RevA. - - -@par Directory contents - - - FSMC/SRAM/system_stm32f2xx.c STM32F2xx system clock configuration file - - FSMC/SRAM/stm32f2xx_conf.h Library Configuration file - - FSMC/SRAM/stm32f2xx_it.c Interrupt handlers - - FSMC/SRAM/stm32f2xx_it.h Header for stm32f2xx_it.c - - FSMC/SRAM/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - @note The STM322xG-EVAL board RevA was wrongly named STM3220F-EVAL - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/stm32f2xx_conf.h deleted file mode 100644 index 3236a11ce..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/SRAM/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/stm32f2xx_it.c deleted file mode 100644 index a0b18f482..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/stm32f2xx_it.c +++ /dev/null @@ -1,174 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/SRAM/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup FSMC_SRAM - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/stm32f2xx_it.h deleted file mode 100644 index 4d2dc7933..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/SRAM/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/main.c deleted file mode 100644 index 67fcb5ecb..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/main.c +++ /dev/null @@ -1,125 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/SRAM_DataMemory/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup FSMC_SRAM_DataMemory - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint32_t Tab[1024], Index; -__IO uint32_t TabAddr, MSPValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - for (Index = 0; Index <1024 ; Index++) - { - Tab[Index] =Index; - } - - TabAddr = (uint32_t)Tab; /* should be 0x640xxxxx */ - - /* Get main stack pointer value */ - MSPValue = __get_MSP(); /* should be 0x640xxxxx */ - - while (1) - { - } -} - -/** - * @brief Fills buffer with user predefined data. - * @param pBuffer: pointer on the buffer to fill - * @param BufferLenght: size of the buffer to fill - * @param Offset: first value to fill on the buffer - * @retval None - */ -void Fill_Buffer(uint16_t *pBuffer, uint16_t BufferLenght, uint32_t Offset) -{ - uint16_t IndexTmp = 0; - - /* Put in global buffer different values */ - for (IndexTmp = 0; IndexTmp < BufferLenght; IndexTmp++ ) - { - pBuffer[IndexTmp] = IndexTmp + Offset; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/readme.txt deleted file mode 100644 index 0c7a1c395..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/readme.txt +++ /dev/null @@ -1,106 +0,0 @@ -/** - @page FSMC_SRAM_DataMemory FSMC SRAM DataMemory example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file FSMC/SRAM_DataMemory/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the FSMC SRAM DataMemory example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to use the external SRAM mounted on STM322xG-EVAL RevB -as program data memory (including heap and stack). -The example scenario doesn't reflect a real application case; its purpose is to -provide only the procedure to follow to use the external SRAM as data memory. - -This example doesn't use the default library startup files, it uses startup files -provided within this folder. - -@note This SRAM memory is not available on STM322xG-EVAL board RevA. - - -@par Directory contents - - - FSMC/SRAM_DataMemory/system_stm32f2xx.c STM32F2xx system clock configuration file - - FSMC/SRAM_DataMemory/stm32f2xx_conf.h Library Configuration file - - FSMC/SRAM_DataMemory/stm32f2xx_it.c Interrupt handlers - - FSMC/SRAM_DataMemory/stm32f2xx_it.h Header for stm32f2xx_it.c - - FSMC/SRAM_DataMemory/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - @note The STM322xG-EVAL board RevA was wrongly named STM3220F-EVAL - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Update your project settings as follows: -
    -
  • MDK-ARM - - in Project->Options for Target window, select 'RAM1'and enter 0x64000000 - as start address with size of 0x100000 (IRAM1 must be un-checked) - - uncomment "#define DATA_IN_ExtSRAM " in the "system_stm32f2xx.c" file - -
  • EWARM - - use "stm32f2xx_flash_extsram.icf" as linker file (under Project\STM32F2xx_StdPeriph_Template\EWARM) - - uncomment "#define DATA_IN_ExtSRAM " in the "system_stm32f2xx.c" file - -
  • RIDE - - In the Application options -> script menu, set "Use Default Script File" - to "No" and use "stm32f2xx_flash_extsram.ld" as Script File. - - uncomment "#define DATA_IN_ExtSRAM " in the "system_stm32f2xx.c" file - -
  • TASKING - - In the project workspace window, open the stm32f2xx.lsl file. - - From the memory window, select rom and enter and enter 0x64000000 - as address with size of 1024k. - - uncomment "#define DATA_IN_ExtSRAM " in the "system_stm32f2xx.c" file - -
  • TrueSTUDIO - - In the project properties window, select 'C/C++ Build'->settings node then - the 'C Linker'->General node and use "stm32f2xx_flash_extsram.ld" as Script File. - - uncomment "#define DATA_IN_ExtSRAM " in the "system_stm32f2xx.c" file - -
- - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/EWARM/startup_stm32f2xx.s b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/EWARM/startup_stm32f2xx.s deleted file mode 100644 index 20442e8be..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/EWARM/startup_stm32f2xx.s +++ /dev/null @@ -1,630 +0,0 @@ -;/******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** -;* File Name : startup_stm32f2xx.s -;* Author : MCD Application Team -;* Version : V1.1.0 -;* Date : 13-April-2012 -;* Description : STM32F2xx devices vector table for EWARM toolchain. -;* This module performs: -;* - Set the initial SP -;* - Configure he external SRAM mounted on STM322xG-EVAL board -;* to be used as data memory (optional, to be enabled by user) -;* - Set the initial PC == __iar_program_start, -;* - Set the vector table entries with the exceptions ISR -;* address. -;* After Reset the Cortex-M3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;******************************************************************************** -;* -;* Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 -;* -;* 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. -;* -;*******************************************************************************/ -; -; -; The modules in this file are included in the libraries, and may be replaced -; by any user-defined modules that define the PUBLIC symbol _program_start or -; a user defined start symbol. -; To override the cstartup defined in the library, simply add your modified -; version to the workbench project. -; -; The vector table is normally located at address 0. -; When debugging in RAM, it can be located in RAM, aligned to at least 2^6. -; The name "__vector_table" has special meaning for C-SPY: -; it is where the SP start value is found, and the NVIC vector -; table register (VTOR) is initialized to this address if != 0. -; -; Cortex-M version -; - -__initial_spTop EQU 0x20000400 ; stack used for SystemInit & SystemInit_ExtMemCtl - - MODULE ?cstartup - - ;; Forward declaration of sections. - SECTION CSTACK:DATA:NOROOT(3) - - SECTION .intvec:CODE:NOROOT(2) - - EXTERN __iar_program_start - EXTERN SystemInit - PUBLIC __vector_table - - DATA -__vector_table - DCD __initial_spTop ; Use internal RAM for stack for calling SystemInit - DCD Reset_Handler ; Reset Handler - - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window WatchDog - DCD PVD_IRQHandler ; PVD through EXTI Line detection - DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line - DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line - DCD FLASH_IRQHandler ; FLASH - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line0 - DCD EXTI1_IRQHandler ; EXTI Line1 - DCD EXTI2_IRQHandler ; EXTI Line2 - DCD EXTI3_IRQHandler ; EXTI Line3 - DCD EXTI4_IRQHandler ; EXTI Line4 - DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 - DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 - DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 - DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 - DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 - DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 - DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 - DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s - DCD CAN1_TX_IRQHandler ; CAN1 TX - DCD CAN1_RX0_IRQHandler ; CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; External Line[9:5]s - DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 - DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 - DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; External Line[15:10]s - DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line - DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line - DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 - DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 - DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 - DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare - DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 - DCD FSMC_IRQHandler ; FSMC - DCD SDIO_IRQHandler ; SDIO - DCD TIM5_IRQHandler ; TIM5 - DCD SPI3_IRQHandler ; SPI3 - DCD UART4_IRQHandler ; UART4 - DCD UART5_IRQHandler ; UART5 - DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors - DCD TIM7_IRQHandler ; TIM7 - DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 - DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 - DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 - DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 - DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 - DCD ETH_IRQHandler ; Ethernet - DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line - DCD CAN2_TX_IRQHandler ; CAN2 TX - DCD CAN2_RX0_IRQHandler ; CAN2 RX0 - DCD CAN2_RX1_IRQHandler ; CAN2 RX1 - DCD CAN2_SCE_IRQHandler ; CAN2 SCE - DCD OTG_FS_IRQHandler ; USB OTG FS - DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 - DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 - DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 - DCD USART6_IRQHandler ; USART6 - DCD I2C3_EV_IRQHandler ; I2C3 event - DCD I2C3_ER_IRQHandler ; I2C3 error - DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out - DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In - DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI - DCD OTG_HS_IRQHandler ; USB OTG HS - DCD DCMI_IRQHandler ; DCMI - DCD CRYP_IRQHandler ; CRYP crypto - DCD HASH_RNG_IRQHandler ; Hash and Rng - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; Default interrupt handlers. -;; - THUMB - PUBWEAK Reset_Handler - SECTION .text:CODE:REORDER(2) -Reset_Handler - LDR R0, =SystemInit - BLX R0 - LDR R0, =sfe(CSTACK) ; restore original stack pointer - MSR MSP, R0 - LDR R0, =__iar_program_start - BX R0 - - PUBWEAK NMI_Handler - SECTION .text:CODE:REORDER(1) -NMI_Handler - B NMI_Handler - - PUBWEAK HardFault_Handler - SECTION .text:CODE:REORDER(1) -HardFault_Handler - B HardFault_Handler - - PUBWEAK MemManage_Handler - SECTION .text:CODE:REORDER(1) -MemManage_Handler - B MemManage_Handler - - PUBWEAK BusFault_Handler - SECTION .text:CODE:REORDER(1) -BusFault_Handler - B BusFault_Handler - - PUBWEAK UsageFault_Handler - SECTION .text:CODE:REORDER(1) -UsageFault_Handler - B UsageFault_Handler - - PUBWEAK SVC_Handler - SECTION .text:CODE:REORDER(1) -SVC_Handler - B SVC_Handler - - PUBWEAK DebugMon_Handler - SECTION .text:CODE:REORDER(1) -DebugMon_Handler - B DebugMon_Handler - - PUBWEAK PendSV_Handler - SECTION .text:CODE:REORDER(1) -PendSV_Handler - B PendSV_Handler - - PUBWEAK SysTick_Handler - SECTION .text:CODE:REORDER(1) -SysTick_Handler - B SysTick_Handler - - PUBWEAK WWDG_IRQHandler - SECTION .text:CODE:REORDER(1) -WWDG_IRQHandler - B WWDG_IRQHandler - - PUBWEAK PVD_IRQHandler - SECTION .text:CODE:REORDER(1) -PVD_IRQHandler - B PVD_IRQHandler - - PUBWEAK TAMP_STAMP_IRQHandler - SECTION .text:CODE:REORDER(1) -TAMP_STAMP_IRQHandler - B TAMP_STAMP_IRQHandler - - PUBWEAK RTC_WKUP_IRQHandler - SECTION .text:CODE:REORDER(1) -RTC_WKUP_IRQHandler - B RTC_WKUP_IRQHandler - - PUBWEAK FLASH_IRQHandler - SECTION .text:CODE:REORDER(1) -FLASH_IRQHandler - B FLASH_IRQHandler - - PUBWEAK RCC_IRQHandler - SECTION .text:CODE:REORDER(1) -RCC_IRQHandler - B RCC_IRQHandler - - PUBWEAK EXTI0_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI0_IRQHandler - B EXTI0_IRQHandler - - PUBWEAK EXTI1_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI1_IRQHandler - B EXTI1_IRQHandler - - PUBWEAK EXTI2_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI2_IRQHandler - B EXTI2_IRQHandler - - PUBWEAK EXTI3_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI3_IRQHandler - B EXTI3_IRQHandler - - PUBWEAK EXTI4_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI4_IRQHandler - B EXTI4_IRQHandler - - PUBWEAK DMA1_Stream0_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Stream0_IRQHandler - B DMA1_Stream0_IRQHandler - - PUBWEAK DMA1_Stream1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Stream1_IRQHandler - B DMA1_Stream1_IRQHandler - - PUBWEAK DMA1_Stream2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Stream2_IRQHandler - B DMA1_Stream2_IRQHandler - - PUBWEAK DMA1_Stream3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Stream3_IRQHandler - B DMA1_Stream3_IRQHandler - - PUBWEAK DMA1_Stream4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Stream4_IRQHandler - B DMA1_Stream4_IRQHandler - - PUBWEAK DMA1_Stream5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Stream5_IRQHandler - B DMA1_Stream5_IRQHandler - - PUBWEAK DMA1_Stream6_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Stream6_IRQHandler - B DMA1_Stream6_IRQHandler - - PUBWEAK ADC_IRQHandler - SECTION .text:CODE:REORDER(1) -ADC_IRQHandler - B ADC_IRQHandler - - PUBWEAK CAN1_TX_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_TX_IRQHandler - B CAN1_TX_IRQHandler - - PUBWEAK CAN1_RX0_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_RX0_IRQHandler - B CAN1_RX0_IRQHandler - - PUBWEAK CAN1_RX1_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_RX1_IRQHandler - B CAN1_RX1_IRQHandler - - PUBWEAK CAN1_SCE_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN1_SCE_IRQHandler - B CAN1_SCE_IRQHandler - - PUBWEAK EXTI9_5_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI9_5_IRQHandler - B EXTI9_5_IRQHandler - - PUBWEAK TIM1_BRK_TIM9_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_BRK_TIM9_IRQHandler - B TIM1_BRK_TIM9_IRQHandler - - PUBWEAK TIM1_UP_TIM10_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_UP_TIM10_IRQHandler - B TIM1_UP_TIM10_IRQHandler - - PUBWEAK TIM1_TRG_COM_TIM11_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_TRG_COM_TIM11_IRQHandler - B TIM1_TRG_COM_TIM11_IRQHandler - - PUBWEAK TIM1_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM1_CC_IRQHandler - B TIM1_CC_IRQHandler - - PUBWEAK TIM2_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM2_IRQHandler - B TIM2_IRQHandler - - PUBWEAK TIM3_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM3_IRQHandler - B TIM3_IRQHandler - - PUBWEAK TIM4_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM4_IRQHandler - B TIM4_IRQHandler - - PUBWEAK I2C1_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_EV_IRQHandler - B I2C1_EV_IRQHandler - - PUBWEAK I2C1_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C1_ER_IRQHandler - B I2C1_ER_IRQHandler - - PUBWEAK I2C2_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_EV_IRQHandler - B I2C2_EV_IRQHandler - - PUBWEAK I2C2_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C2_ER_IRQHandler - B I2C2_ER_IRQHandler - - PUBWEAK SPI1_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI1_IRQHandler - B SPI1_IRQHandler - - PUBWEAK SPI2_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI2_IRQHandler - B SPI2_IRQHandler - - PUBWEAK USART1_IRQHandler - SECTION .text:CODE:REORDER(1) -USART1_IRQHandler - B USART1_IRQHandler - - PUBWEAK USART2_IRQHandler - SECTION .text:CODE:REORDER(1) -USART2_IRQHandler - B USART2_IRQHandler - - PUBWEAK USART3_IRQHandler - SECTION .text:CODE:REORDER(1) -USART3_IRQHandler - B USART3_IRQHandler - - PUBWEAK EXTI15_10_IRQHandler - SECTION .text:CODE:REORDER(1) -EXTI15_10_IRQHandler - B EXTI15_10_IRQHandler - - PUBWEAK RTC_Alarm_IRQHandler - SECTION .text:CODE:REORDER(1) -RTC_Alarm_IRQHandler - B RTC_Alarm_IRQHandler - - PUBWEAK OTG_FS_WKUP_IRQHandler - SECTION .text:CODE:REORDER(1) -OTG_FS_WKUP_IRQHandler - B OTG_FS_WKUP_IRQHandler - - PUBWEAK TIM8_BRK_TIM12_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_BRK_TIM12_IRQHandler - B TIM8_BRK_TIM12_IRQHandler - - PUBWEAK TIM8_UP_TIM13_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_UP_TIM13_IRQHandler - B TIM8_UP_TIM13_IRQHandler - - PUBWEAK TIM8_TRG_COM_TIM14_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_TRG_COM_TIM14_IRQHandler - B TIM8_TRG_COM_TIM14_IRQHandler - - PUBWEAK TIM8_CC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM8_CC_IRQHandler - B TIM8_CC_IRQHandler - - PUBWEAK DMA1_Stream7_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA1_Stream7_IRQHandler - B DMA1_Stream7_IRQHandler - - PUBWEAK FSMC_IRQHandler - SECTION .text:CODE:REORDER(1) -FSMC_IRQHandler - B FSMC_IRQHandler - - PUBWEAK SDIO_IRQHandler - SECTION .text:CODE:REORDER(1) -SDIO_IRQHandler - B SDIO_IRQHandler - - PUBWEAK TIM5_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM5_IRQHandler - B TIM5_IRQHandler - - PUBWEAK SPI3_IRQHandler - SECTION .text:CODE:REORDER(1) -SPI3_IRQHandler - B SPI3_IRQHandler - - PUBWEAK UART4_IRQHandler - SECTION .text:CODE:REORDER(1) -UART4_IRQHandler - B UART4_IRQHandler - - PUBWEAK UART5_IRQHandler - SECTION .text:CODE:REORDER(1) -UART5_IRQHandler - B UART5_IRQHandler - - PUBWEAK TIM6_DAC_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM6_DAC_IRQHandler - B TIM6_DAC_IRQHandler - - PUBWEAK TIM7_IRQHandler - SECTION .text:CODE:REORDER(1) -TIM7_IRQHandler - B TIM7_IRQHandler - - PUBWEAK DMA2_Stream0_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Stream0_IRQHandler - B DMA2_Stream0_IRQHandler - - PUBWEAK DMA2_Stream1_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Stream1_IRQHandler - B DMA2_Stream1_IRQHandler - - PUBWEAK DMA2_Stream2_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Stream2_IRQHandler - B DMA2_Stream2_IRQHandler - - PUBWEAK DMA2_Stream3_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Stream3_IRQHandler - B DMA2_Stream3_IRQHandler - - PUBWEAK DMA2_Stream4_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Stream4_IRQHandler - B DMA2_Stream4_IRQHandler - - PUBWEAK ETH_IRQHandler - SECTION .text:CODE:REORDER(1) -ETH_IRQHandler - B ETH_IRQHandler - - PUBWEAK ETH_WKUP_IRQHandler - SECTION .text:CODE:REORDER(1) -ETH_WKUP_IRQHandler - B ETH_WKUP_IRQHandler - - PUBWEAK CAN2_TX_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN2_TX_IRQHandler - B CAN2_TX_IRQHandler - - PUBWEAK CAN2_RX0_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN2_RX0_IRQHandler - B CAN2_RX0_IRQHandler - - PUBWEAK CAN2_RX1_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN2_RX1_IRQHandler - B CAN2_RX1_IRQHandler - - PUBWEAK CAN2_SCE_IRQHandler - SECTION .text:CODE:REORDER(1) -CAN2_SCE_IRQHandler - B CAN2_SCE_IRQHandler - - PUBWEAK OTG_FS_IRQHandler - SECTION .text:CODE:REORDER(1) -OTG_FS_IRQHandler - B OTG_FS_IRQHandler - - PUBWEAK DMA2_Stream5_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Stream5_IRQHandler - B DMA2_Stream5_IRQHandler - - PUBWEAK DMA2_Stream6_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Stream6_IRQHandler - B DMA2_Stream6_IRQHandler - - PUBWEAK DMA2_Stream7_IRQHandler - SECTION .text:CODE:REORDER(1) -DMA2_Stream7_IRQHandler - B DMA2_Stream7_IRQHandler - - PUBWEAK USART6_IRQHandler - SECTION .text:CODE:REORDER(1) -USART6_IRQHandler - B USART6_IRQHandler - - PUBWEAK I2C3_EV_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C3_EV_IRQHandler - B I2C3_EV_IRQHandler - - PUBWEAK I2C3_ER_IRQHandler - SECTION .text:CODE:REORDER(1) -I2C3_ER_IRQHandler - B I2C3_ER_IRQHandler - - PUBWEAK OTG_HS_EP1_OUT_IRQHandler - SECTION .text:CODE:REORDER(1) -OTG_HS_EP1_OUT_IRQHandler - B OTG_HS_EP1_OUT_IRQHandler - - PUBWEAK OTG_HS_EP1_IN_IRQHandler - SECTION .text:CODE:REORDER(1) -OTG_HS_EP1_IN_IRQHandler - B OTG_HS_EP1_IN_IRQHandler - - PUBWEAK OTG_HS_WKUP_IRQHandler - SECTION .text:CODE:REORDER(1) -OTG_HS_WKUP_IRQHandler - B OTG_HS_WKUP_IRQHandler - - PUBWEAK OTG_HS_IRQHandler - SECTION .text:CODE:REORDER(1) -OTG_HS_IRQHandler - B OTG_HS_IRQHandler - - PUBWEAK DCMI_IRQHandler - SECTION .text:CODE:REORDER(1) -DCMI_IRQHandler - B DCMI_IRQHandler - - PUBWEAK CRYP_IRQHandler - SECTION .text:CODE:REORDER(1) -CRYP_IRQHandler - B CRYP_IRQHandler - - PUBWEAK HASH_RNG_IRQHandler - SECTION .text:CODE:REORDER(1) -HASH_RNG_IRQHandler - B HASH_RNG_IRQHandler - - END -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/MDK-ARM/startup_stm32f2xx.s b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/MDK-ARM/startup_stm32f2xx.s deleted file mode 100644 index 41138de4c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/MDK-ARM/startup_stm32f2xx.s +++ /dev/null @@ -1,429 +0,0 @@ -;******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** -;* File Name : startup_stm32f2xx.s -;* Author : MCD Application Team -;* Version : V1.1.0 -;* Date : 13-April-2012 -;* Description : STM32F2xx devices vector table for MDK-ARM toolchain. -;* This module performs: -;* - Set the initial SP -;* - Set the initial PC == Reset_Handler -;* - Set the vector table entries with the exceptions ISR address -;* - Branches to __main in the C library (which eventually -;* calls main()). -;* After Reset the CortexM3 processor is in Thread mode, -;* priority is Privileged, and the Stack is set to Main. -;* <<< Use Configuration Wizard in Context Menu >>> -;******************************************************************************* -; -; Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 -; -; 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. -; -;******************************************************************************* - -; Amount of memory (in bytes) allocated for Stack -; Tailor this value to your application needs -; Stack Configuration -; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Stack_Size EQU 0x00000400 - - AREA STACK, NOINIT, READWRITE, ALIGN=3 -Stack_Mem SPACE Stack_Size -__initial_sp - -__initial_spTop EQU 0x20000400 ; stack used for SystemInit & SystemInit_ExtMemCtl - -; Heap Configuration -; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> -; - -Heap_Size EQU 0x00000200 - - AREA HEAP, NOINIT, READWRITE, ALIGN=3 -__heap_base -Heap_Mem SPACE Heap_Size -__heap_limit - - PRESERVE8 - THUMB - - -; Vector Table Mapped to Address 0 at Reset - AREA RESET, DATA, READONLY - EXPORT __Vectors - EXPORT __Vectors_End - EXPORT __Vectors_Size - -__Vectors DCD __initial_spTop ; use internal RAM for stack for calling SystemInit - DCD Reset_Handler ; Reset Handler - DCD NMI_Handler ; NMI Handler - DCD HardFault_Handler ; Hard Fault Handler - DCD MemManage_Handler ; MPU Fault Handler - DCD BusFault_Handler ; Bus Fault Handler - DCD UsageFault_Handler ; Usage Fault Handler - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD 0 ; Reserved - DCD SVC_Handler ; SVCall Handler - DCD DebugMon_Handler ; Debug Monitor Handler - DCD 0 ; Reserved - DCD PendSV_Handler ; PendSV Handler - DCD SysTick_Handler ; SysTick Handler - - ; External Interrupts - DCD WWDG_IRQHandler ; Window WatchDog - DCD PVD_IRQHandler ; PVD through EXTI Line detection - DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line - DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line - DCD FLASH_IRQHandler ; FLASH - DCD RCC_IRQHandler ; RCC - DCD EXTI0_IRQHandler ; EXTI Line0 - DCD EXTI1_IRQHandler ; EXTI Line1 - DCD EXTI2_IRQHandler ; EXTI Line2 - DCD EXTI3_IRQHandler ; EXTI Line3 - DCD EXTI4_IRQHandler ; EXTI Line4 - DCD DMA1_Stream0_IRQHandler ; DMA1 Stream 0 - DCD DMA1_Stream1_IRQHandler ; DMA1 Stream 1 - DCD DMA1_Stream2_IRQHandler ; DMA1 Stream 2 - DCD DMA1_Stream3_IRQHandler ; DMA1 Stream 3 - DCD DMA1_Stream4_IRQHandler ; DMA1 Stream 4 - DCD DMA1_Stream5_IRQHandler ; DMA1 Stream 5 - DCD DMA1_Stream6_IRQHandler ; DMA1 Stream 6 - DCD ADC_IRQHandler ; ADC1, ADC2 and ADC3s - DCD CAN1_TX_IRQHandler ; CAN1 TX - DCD CAN1_RX0_IRQHandler ; CAN1 RX0 - DCD CAN1_RX1_IRQHandler ; CAN1 RX1 - DCD CAN1_SCE_IRQHandler ; CAN1 SCE - DCD EXTI9_5_IRQHandler ; External Line[9:5]s - DCD TIM1_BRK_TIM9_IRQHandler ; TIM1 Break and TIM9 - DCD TIM1_UP_TIM10_IRQHandler ; TIM1 Update and TIM10 - DCD TIM1_TRG_COM_TIM11_IRQHandler ; TIM1 Trigger and Commutation and TIM11 - DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare - DCD TIM2_IRQHandler ; TIM2 - DCD TIM3_IRQHandler ; TIM3 - DCD TIM4_IRQHandler ; TIM4 - DCD I2C1_EV_IRQHandler ; I2C1 Event - DCD I2C1_ER_IRQHandler ; I2C1 Error - DCD I2C2_EV_IRQHandler ; I2C2 Event - DCD I2C2_ER_IRQHandler ; I2C2 Error - DCD SPI1_IRQHandler ; SPI1 - DCD SPI2_IRQHandler ; SPI2 - DCD USART1_IRQHandler ; USART1 - DCD USART2_IRQHandler ; USART2 - DCD USART3_IRQHandler ; USART3 - DCD EXTI15_10_IRQHandler ; External Line[15:10]s - DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line - DCD OTG_FS_WKUP_IRQHandler ; USB OTG FS Wakeup through EXTI line - DCD TIM8_BRK_TIM12_IRQHandler ; TIM8 Break and TIM12 - DCD TIM8_UP_TIM13_IRQHandler ; TIM8 Update and TIM13 - DCD TIM8_TRG_COM_TIM14_IRQHandler ; TIM8 Trigger and Commutation and TIM14 - DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare - DCD DMA1_Stream7_IRQHandler ; DMA1 Stream7 - DCD FSMC_IRQHandler ; FSMC - DCD SDIO_IRQHandler ; SDIO - DCD TIM5_IRQHandler ; TIM5 - DCD SPI3_IRQHandler ; SPI3 - DCD UART4_IRQHandler ; UART4 - DCD UART5_IRQHandler ; UART5 - DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors - DCD TIM7_IRQHandler ; TIM7 - DCD DMA2_Stream0_IRQHandler ; DMA2 Stream 0 - DCD DMA2_Stream1_IRQHandler ; DMA2 Stream 1 - DCD DMA2_Stream2_IRQHandler ; DMA2 Stream 2 - DCD DMA2_Stream3_IRQHandler ; DMA2 Stream 3 - DCD DMA2_Stream4_IRQHandler ; DMA2 Stream 4 - DCD ETH_IRQHandler ; Ethernet - DCD ETH_WKUP_IRQHandler ; Ethernet Wakeup through EXTI line - DCD CAN2_TX_IRQHandler ; CAN2 TX - DCD CAN2_RX0_IRQHandler ; CAN2 RX0 - DCD CAN2_RX1_IRQHandler ; CAN2 RX1 - DCD CAN2_SCE_IRQHandler ; CAN2 SCE - DCD OTG_FS_IRQHandler ; USB OTG FS - DCD DMA2_Stream5_IRQHandler ; DMA2 Stream 5 - DCD DMA2_Stream6_IRQHandler ; DMA2 Stream 6 - DCD DMA2_Stream7_IRQHandler ; DMA2 Stream 7 - DCD USART6_IRQHandler ; USART6 - DCD I2C3_EV_IRQHandler ; I2C3 event - DCD I2C3_ER_IRQHandler ; I2C3 error - DCD OTG_HS_EP1_OUT_IRQHandler ; USB OTG HS End Point 1 Out - DCD OTG_HS_EP1_IN_IRQHandler ; USB OTG HS End Point 1 In - DCD OTG_HS_WKUP_IRQHandler ; USB OTG HS Wakeup through EXTI - DCD OTG_HS_IRQHandler ; USB OTG HS - DCD DCMI_IRQHandler ; DCMI - DCD CRYP_IRQHandler ; CRYP crypto - DCD HASH_RNG_IRQHandler ; Hash and Rng -__Vectors_End - -__Vectors_Size EQU __Vectors_End - __Vectors - - AREA |.text|, CODE, READONLY - -; Reset handler -Reset_Handler PROC - EXPORT Reset_Handler [WEAK] - IMPORT SystemInit - IMPORT __main - LDR R0, =SystemInit - BLX R0 - LDR R0, =__initial_sp ; restore original stack pointer - MSR MSP, R0 - LDR R0, =__main - BX R0 - ENDP - -; Dummy Exception Handlers (infinite loops which can be modified) - -NMI_Handler PROC - EXPORT NMI_Handler [WEAK] - B . - ENDP -HardFault_Handler\ - PROC - EXPORT HardFault_Handler [WEAK] - B . - ENDP -MemManage_Handler\ - PROC - EXPORT MemManage_Handler [WEAK] - B . - ENDP -BusFault_Handler\ - PROC - EXPORT BusFault_Handler [WEAK] - B . - ENDP -UsageFault_Handler\ - PROC - EXPORT UsageFault_Handler [WEAK] - B . - ENDP -SVC_Handler PROC - EXPORT SVC_Handler [WEAK] - B . - ENDP -DebugMon_Handler\ - PROC - EXPORT DebugMon_Handler [WEAK] - B . - ENDP -PendSV_Handler PROC - EXPORT PendSV_Handler [WEAK] - B . - ENDP -SysTick_Handler PROC - EXPORT SysTick_Handler [WEAK] - B . - ENDP - -Default_Handler PROC - - EXPORT WWDG_IRQHandler [WEAK] - EXPORT PVD_IRQHandler [WEAK] - EXPORT TAMP_STAMP_IRQHandler [WEAK] - EXPORT RTC_WKUP_IRQHandler [WEAK] - EXPORT FLASH_IRQHandler [WEAK] - EXPORT RCC_IRQHandler [WEAK] - EXPORT EXTI0_IRQHandler [WEAK] - EXPORT EXTI1_IRQHandler [WEAK] - EXPORT EXTI2_IRQHandler [WEAK] - EXPORT EXTI3_IRQHandler [WEAK] - EXPORT EXTI4_IRQHandler [WEAK] - EXPORT DMA1_Stream0_IRQHandler [WEAK] - EXPORT DMA1_Stream1_IRQHandler [WEAK] - EXPORT DMA1_Stream2_IRQHandler [WEAK] - EXPORT DMA1_Stream3_IRQHandler [WEAK] - EXPORT DMA1_Stream4_IRQHandler [WEAK] - EXPORT DMA1_Stream5_IRQHandler [WEAK] - EXPORT DMA1_Stream6_IRQHandler [WEAK] - EXPORT ADC_IRQHandler [WEAK] - EXPORT CAN1_TX_IRQHandler [WEAK] - EXPORT CAN1_RX0_IRQHandler [WEAK] - EXPORT CAN1_RX1_IRQHandler [WEAK] - EXPORT CAN1_SCE_IRQHandler [WEAK] - EXPORT EXTI9_5_IRQHandler [WEAK] - EXPORT TIM1_BRK_TIM9_IRQHandler [WEAK] - EXPORT TIM1_UP_TIM10_IRQHandler [WEAK] - EXPORT TIM1_TRG_COM_TIM11_IRQHandler [WEAK] - EXPORT TIM1_CC_IRQHandler [WEAK] - EXPORT TIM2_IRQHandler [WEAK] - EXPORT TIM3_IRQHandler [WEAK] - EXPORT TIM4_IRQHandler [WEAK] - EXPORT I2C1_EV_IRQHandler [WEAK] - EXPORT I2C1_ER_IRQHandler [WEAK] - EXPORT I2C2_EV_IRQHandler [WEAK] - EXPORT I2C2_ER_IRQHandler [WEAK] - EXPORT SPI1_IRQHandler [WEAK] - EXPORT SPI2_IRQHandler [WEAK] - EXPORT USART1_IRQHandler [WEAK] - EXPORT USART2_IRQHandler [WEAK] - EXPORT USART3_IRQHandler [WEAK] - EXPORT EXTI15_10_IRQHandler [WEAK] - EXPORT RTC_Alarm_IRQHandler [WEAK] - EXPORT OTG_FS_WKUP_IRQHandler [WEAK] - EXPORT TIM8_BRK_TIM12_IRQHandler [WEAK] - EXPORT TIM8_UP_TIM13_IRQHandler [WEAK] - EXPORT TIM8_TRG_COM_TIM14_IRQHandler [WEAK] - EXPORT TIM8_CC_IRQHandler [WEAK] - EXPORT DMA1_Stream7_IRQHandler [WEAK] - EXPORT FSMC_IRQHandler [WEAK] - EXPORT SDIO_IRQHandler [WEAK] - EXPORT TIM5_IRQHandler [WEAK] - EXPORT SPI3_IRQHandler [WEAK] - EXPORT UART4_IRQHandler [WEAK] - EXPORT UART5_IRQHandler [WEAK] - EXPORT TIM6_DAC_IRQHandler [WEAK] - EXPORT TIM7_IRQHandler [WEAK] - EXPORT DMA2_Stream0_IRQHandler [WEAK] - EXPORT DMA2_Stream1_IRQHandler [WEAK] - EXPORT DMA2_Stream2_IRQHandler [WEAK] - EXPORT DMA2_Stream3_IRQHandler [WEAK] - EXPORT DMA2_Stream4_IRQHandler [WEAK] - EXPORT ETH_IRQHandler [WEAK] - EXPORT ETH_WKUP_IRQHandler [WEAK] - EXPORT CAN2_TX_IRQHandler [WEAK] - EXPORT CAN2_RX0_IRQHandler [WEAK] - EXPORT CAN2_RX1_IRQHandler [WEAK] - EXPORT CAN2_SCE_IRQHandler [WEAK] - EXPORT OTG_FS_IRQHandler [WEAK] - EXPORT DMA2_Stream5_IRQHandler [WEAK] - EXPORT DMA2_Stream6_IRQHandler [WEAK] - EXPORT DMA2_Stream7_IRQHandler [WEAK] - EXPORT USART6_IRQHandler [WEAK] - EXPORT I2C3_EV_IRQHandler [WEAK] - EXPORT I2C3_ER_IRQHandler [WEAK] - EXPORT OTG_HS_EP1_OUT_IRQHandler [WEAK] - EXPORT OTG_HS_EP1_IN_IRQHandler [WEAK] - EXPORT OTG_HS_WKUP_IRQHandler [WEAK] - EXPORT OTG_HS_IRQHandler [WEAK] - EXPORT DCMI_IRQHandler [WEAK] - EXPORT CRYP_IRQHandler [WEAK] - EXPORT HASH_RNG_IRQHandler [WEAK] - -WWDG_IRQHandler -PVD_IRQHandler -TAMP_STAMP_IRQHandler -RTC_WKUP_IRQHandler -FLASH_IRQHandler -RCC_IRQHandler -EXTI0_IRQHandler -EXTI1_IRQHandler -EXTI2_IRQHandler -EXTI3_IRQHandler -EXTI4_IRQHandler -DMA1_Stream0_IRQHandler -DMA1_Stream1_IRQHandler -DMA1_Stream2_IRQHandler -DMA1_Stream3_IRQHandler -DMA1_Stream4_IRQHandler -DMA1_Stream5_IRQHandler -DMA1_Stream6_IRQHandler -ADC_IRQHandler -CAN1_TX_IRQHandler -CAN1_RX0_IRQHandler -CAN1_RX1_IRQHandler -CAN1_SCE_IRQHandler -EXTI9_5_IRQHandler -TIM1_BRK_TIM9_IRQHandler -TIM1_UP_TIM10_IRQHandler -TIM1_TRG_COM_TIM11_IRQHandler -TIM1_CC_IRQHandler -TIM2_IRQHandler -TIM3_IRQHandler -TIM4_IRQHandler -I2C1_EV_IRQHandler -I2C1_ER_IRQHandler -I2C2_EV_IRQHandler -I2C2_ER_IRQHandler -SPI1_IRQHandler -SPI2_IRQHandler -USART1_IRQHandler -USART2_IRQHandler -USART3_IRQHandler -EXTI15_10_IRQHandler -RTC_Alarm_IRQHandler -OTG_FS_WKUP_IRQHandler -TIM8_BRK_TIM12_IRQHandler -TIM8_UP_TIM13_IRQHandler -TIM8_TRG_COM_TIM14_IRQHandler -TIM8_CC_IRQHandler -DMA1_Stream7_IRQHandler -FSMC_IRQHandler -SDIO_IRQHandler -TIM5_IRQHandler -SPI3_IRQHandler -UART4_IRQHandler -UART5_IRQHandler -TIM6_DAC_IRQHandler -TIM7_IRQHandler -DMA2_Stream0_IRQHandler -DMA2_Stream1_IRQHandler -DMA2_Stream2_IRQHandler -DMA2_Stream3_IRQHandler -DMA2_Stream4_IRQHandler -ETH_IRQHandler -ETH_WKUP_IRQHandler -CAN2_TX_IRQHandler -CAN2_RX0_IRQHandler -CAN2_RX1_IRQHandler -CAN2_SCE_IRQHandler -OTG_FS_IRQHandler -DMA2_Stream5_IRQHandler -DMA2_Stream6_IRQHandler -DMA2_Stream7_IRQHandler -USART6_IRQHandler -I2C3_EV_IRQHandler -I2C3_ER_IRQHandler -OTG_HS_EP1_OUT_IRQHandler -OTG_HS_EP1_IN_IRQHandler -OTG_HS_WKUP_IRQHandler -OTG_HS_IRQHandler -DCMI_IRQHandler -CRYP_IRQHandler -HASH_RNG_IRQHandler - - B . - - ENDP - - ALIGN - -;******************************************************************************* -; User Stack and Heap initialization -;******************************************************************************* - IF :DEF:__MICROLIB - - EXPORT __initial_sp - EXPORT __heap_base - EXPORT __heap_limit - - ELSE - - IMPORT __use_two_region_memory - EXPORT __user_initial_stackheap - -__user_initial_stackheap - - LDR R0, = Heap_Mem - LDR R1, =(Stack_Mem + Stack_Size) - LDR R2, = (Heap_Mem + Heap_Size) - LDR R3, = Stack_Mem - BX LR - - ALIGN - - ENDIF - - END - -;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE***** diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/RIDE/startup_stm32f2xx.s b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/RIDE/startup_stm32f2xx.s deleted file mode 100644 index 984902070..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/RIDE/startup_stm32f2xx.s +++ /dev/null @@ -1,516 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f2xx.s - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief STM32F2xx Devices vector table for RIDE7 toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system and the external SRAM mounted on - * STM322xG-EVAL board to be used as data memory (optional, - * to be enabled by user) - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .fpu softvfp - .thumb - -.global g_pfnVectors -.global Default_Handler - -/* start address for the initialization values of the .data section. -defined in linker script */ -.word _sidata -/* start address for the .data section. defined in linker script */ -.word _sdata -/* end address for the .data section. defined in linker script */ -.word _edata -/* start address for the .bss section. defined in linker script */ -.word _sbss -/* end address for the .bss section. defined in linker script */ -.word _ebss - -/* Stack used for SystemInit & SystemInit_ExtMemCtl*/ -.equ __initial_spTop, 0x20000400 - -/** - * @brief This is the code that gets called when the processor first - * starts execution following a reset event. Only the absolutely - * necessary set is performed, after which the application - * supplied main() routine is called. - * @param None - * @retval : None -*/ - - .section .text.Reset_Handler - .weak Reset_Handler - .type Reset_Handler, %function -Reset_Handler: -/* Call the clock system intitialization function.*/ - bl SystemInit -/* Copy the data segment initializers from flash to SRAM */ - movs r1, #0 - b LoopCopyDataInit - -CopyDataInit: - ldr r3, =_sidata - ldr r3, [r3, r1] - str r3, [r0, r1] - adds r1, r1, #4 - -LoopCopyDataInit: - ldr r0, =_sdata - ldr r3, =_edata - adds r2, r0, r1 - cmp r2, r3 - bcc CopyDataInit - ldr r2, =_sbss - b LoopFillZerobss -/* Zero fill the bss segment. */ -FillZerobss: - movs r3, #0 - str r3, [r2], #4 - -LoopFillZerobss: - ldr r3, = _ebss - cmp r2, r3 - bcc FillZerobss -/* Restore original stack pointer. */ - ldr r0, =_estack - msr MSP, r0 -/* Call the application's entry point.*/ - bl main - bx lr -.size Reset_Handler, .-Reset_Handler - -/** - * @brief This is the code that gets called when the processor receives an - * unexpected interrupt. This simply enters an infinite loop, preserving - * the system state for examination by a debugger. - * @param None - * @retval None -*/ - .section .text.Default_Handler,"ax",%progbits -Default_Handler: -Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler -/****************************************************************************** -* -* The minimal vector table for a Cortex M3. Note that the proper constructs -* must be placed on this to ensure that it ends up at physical address -* 0x0000.0000. -* -*******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors - - -g_pfnVectors: - .word __initial_spTop /* Use internal RAM for stack for calling SystemInit. */ - .word Reset_Handler - .word NMI_Handler - .word HardFault_Handler - .word MemManage_Handler - .word BusFault_Handler - .word UsageFault_Handler - .word 0 - .word 0 - .word 0 - .word 0 - .word SVC_Handler - .word DebugMon_Handler - .word 0 - .word PendSV_Handler - .word SysTick_Handler - - /* External Interrupts */ - .word WWDG_IRQHandler /* Window WatchDog */ - .word PVD_IRQHandler /* PVD through EXTI Line detection */ - .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ - .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ - .word FLASH_IRQHandler /* FLASH */ - .word RCC_IRQHandler /* RCC */ - .word EXTI0_IRQHandler /* EXTI Line0 */ - .word EXTI1_IRQHandler /* EXTI Line1 */ - .word EXTI2_IRQHandler /* EXTI Line2 */ - .word EXTI3_IRQHandler /* EXTI Line3 */ - .word EXTI4_IRQHandler /* EXTI Line4 */ - .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ - .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ - .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ - .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ - .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ - .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ - .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ - .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ - .word CAN1_TX_IRQHandler /* CAN1 TX */ - .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ - .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ - .word CAN1_SCE_IRQHandler /* CAN1 SCE */ - .word EXTI9_5_IRQHandler /* External Line[9:5]s */ - .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ - .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ - .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ - .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ - .word TIM2_IRQHandler /* TIM2 */ - .word TIM3_IRQHandler /* TIM3 */ - .word TIM4_IRQHandler /* TIM4 */ - .word I2C1_EV_IRQHandler /* I2C1 Event */ - .word I2C1_ER_IRQHandler /* I2C1 Error */ - .word I2C2_EV_IRQHandler /* I2C2 Event */ - .word I2C2_ER_IRQHandler /* I2C2 Error */ - .word SPI1_IRQHandler /* SPI1 */ - .word SPI2_IRQHandler /* SPI2 */ - .word USART1_IRQHandler /* USART1 */ - .word USART2_IRQHandler /* USART2 */ - .word USART3_IRQHandler /* USART3 */ - .word EXTI15_10_IRQHandler /* External Line[15:10]s */ - .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ - .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ - .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ - .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ - .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ - .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ - .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ - .word FSMC_IRQHandler /* FSMC */ - .word SDIO_IRQHandler /* SDIO */ - .word TIM5_IRQHandler /* TIM5 */ - .word SPI3_IRQHandler /* SPI3 */ - .word UART4_IRQHandler /* UART4 */ - .word UART5_IRQHandler /* UART5 */ - .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ - .word TIM7_IRQHandler /* TIM7 */ - .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ - .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ - .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ - .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ - .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ - .word ETH_IRQHandler /* Ethernet */ - .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ - .word CAN2_TX_IRQHandler /* CAN2 TX */ - .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ - .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ - .word CAN2_SCE_IRQHandler /* CAN2 SCE */ - .word OTG_FS_IRQHandler /* USB OTG FS */ - .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ - .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ - .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ - .word USART6_IRQHandler /* USART6 */ - .word I2C3_EV_IRQHandler /* I2C3 event */ - .word I2C3_ER_IRQHandler /* I2C3 error */ - .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ - .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ - .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ - .word OTG_HS_IRQHandler /* USB OTG HS */ - .word DCMI_IRQHandler /* DCMI */ - .word CRYP_IRQHandler /* CRYP crypto */ - .word HASH_RNG_IRQHandler /* Hash and Rng */ - - -/******************************************************************************* -* -* Provide weak aliases for each Exception handler to the Default_Handler. -* As they are weak aliases, any function with the same name will override -* this definition. -* -*******************************************************************************/ - .weak NMI_Handler - .thumb_set NMI_Handler,Default_Handler - - .weak HardFault_Handler - .thumb_set HardFault_Handler,Default_Handler - - .weak MemManage_Handler - .thumb_set MemManage_Handler,Default_Handler - - .weak BusFault_Handler - .thumb_set BusFault_Handler,Default_Handler - - .weak UsageFault_Handler - .thumb_set UsageFault_Handler,Default_Handler - - .weak SVC_Handler - .thumb_set SVC_Handler,Default_Handler - - .weak DebugMon_Handler - .thumb_set DebugMon_Handler,Default_Handler - - .weak PendSV_Handler - .thumb_set PendSV_Handler,Default_Handler - - .weak SysTick_Handler - .thumb_set SysTick_Handler,Default_Handler - - .weak WWDG_IRQHandler - .thumb_set WWDG_IRQHandler,Default_Handler - - .weak PVD_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMP_STAMP_IRQHandler - .thumb_set TAMP_STAMP_IRQHandler,Default_Handler - - .weak RTC_WKUP_IRQHandler - .thumb_set RTC_WKUP_IRQHandler,Default_Handler - - .weak FLASH_IRQHandler - .thumb_set FLASH_IRQHandler,Default_Handler - - .weak RCC_IRQHandler - .thumb_set RCC_IRQHandler,Default_Handler - - .weak EXTI0_IRQHandler - .thumb_set EXTI0_IRQHandler,Default_Handler - - .weak EXTI1_IRQHandler - .thumb_set EXTI1_IRQHandler,Default_Handler - - .weak EXTI2_IRQHandler - .thumb_set EXTI2_IRQHandler,Default_Handler - - .weak EXTI3_IRQHandler - .thumb_set EXTI3_IRQHandler,Default_Handler - - .weak EXTI4_IRQHandler - .thumb_set EXTI4_IRQHandler,Default_Handler - - .weak DMA1_Stream0_IRQHandler - .thumb_set DMA1_Stream0_IRQHandler,Default_Handler - - .weak DMA1_Stream1_IRQHandler - .thumb_set DMA1_Stream1_IRQHandler,Default_Handler - - .weak DMA1_Stream2_IRQHandler - .thumb_set DMA1_Stream2_IRQHandler,Default_Handler - - .weak DMA1_Stream3_IRQHandler - .thumb_set DMA1_Stream3_IRQHandler,Default_Handler - - .weak DMA1_Stream4_IRQHandler - .thumb_set DMA1_Stream4_IRQHandler,Default_Handler - - .weak DMA1_Stream5_IRQHandler - .thumb_set DMA1_Stream5_IRQHandler,Default_Handler - - .weak DMA1_Stream6_IRQHandler - .thumb_set DMA1_Stream6_IRQHandler,Default_Handler - - .weak ADC_IRQHandler - .thumb_set ADC_IRQHandler,Default_Handler - - .weak CAN1_TX_IRQHandler - .thumb_set CAN1_TX_IRQHandler,Default_Handler - - .weak CAN1_RX0_IRQHandler - .thumb_set CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM9_IRQHandler - .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM10_IRQHandler - .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM11_IRQHandler - .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler - - .weak TIM1_CC_IRQHandler - .thumb_set TIM1_CC_IRQHandler,Default_Handler - - .weak TIM2_IRQHandler - .thumb_set TIM2_IRQHandler,Default_Handler - - .weak TIM3_IRQHandler - .thumb_set TIM3_IRQHandler,Default_Handler - - .weak TIM4_IRQHandler - .thumb_set TIM4_IRQHandler,Default_Handler - - .weak I2C1_EV_IRQHandler - .thumb_set I2C1_EV_IRQHandler,Default_Handler - - .weak I2C1_ER_IRQHandler - .thumb_set I2C1_ER_IRQHandler,Default_Handler - - .weak I2C2_EV_IRQHandler - .thumb_set I2C2_EV_IRQHandler,Default_Handler - - .weak I2C2_ER_IRQHandler - .thumb_set I2C2_ER_IRQHandler,Default_Handler - - .weak SPI1_IRQHandler - .thumb_set SPI1_IRQHandler,Default_Handler - - .weak SPI2_IRQHandler - .thumb_set SPI2_IRQHandler,Default_Handler - - .weak USART1_IRQHandler - .thumb_set USART1_IRQHandler,Default_Handler - - .weak USART2_IRQHandler - .thumb_set USART2_IRQHandler,Default_Handler - - .weak USART3_IRQHandler - .thumb_set USART3_IRQHandler,Default_Handler - - .weak EXTI15_10_IRQHandler - .thumb_set EXTI15_10_IRQHandler,Default_Handler - - .weak RTC_Alarm_IRQHandler - .thumb_set RTC_Alarm_IRQHandler,Default_Handler - - .weak OTG_FS_WKUP_IRQHandler - .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler - - .weak TIM8_BRK_TIM12_IRQHandler - .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler - - .weak TIM8_UP_TIM13_IRQHandler - .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler - - .weak TIM8_TRG_COM_TIM14_IRQHandler - .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler - - .weak TIM8_CC_IRQHandler - .thumb_set TIM8_CC_IRQHandler,Default_Handler - - .weak DMA1_Stream7_IRQHandler - .thumb_set DMA1_Stream7_IRQHandler,Default_Handler - - .weak FSMC_IRQHandler - .thumb_set FSMC_IRQHandler,Default_Handler - - .weak SDIO_IRQHandler - .thumb_set SDIO_IRQHandler,Default_Handler - - .weak TIM5_IRQHandler - .thumb_set TIM5_IRQHandler,Default_Handler - - .weak SPI3_IRQHandler - .thumb_set SPI3_IRQHandler,Default_Handler - - .weak UART4_IRQHandler - .thumb_set UART4_IRQHandler,Default_Handler - - .weak UART5_IRQHandler - .thumb_set UART5_IRQHandler,Default_Handler - - .weak TIM6_DAC_IRQHandler - .thumb_set TIM6_DAC_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Stream0_IRQHandler - .thumb_set DMA2_Stream0_IRQHandler,Default_Handler - - .weak DMA2_Stream1_IRQHandler - .thumb_set DMA2_Stream1_IRQHandler,Default_Handler - - .weak DMA2_Stream2_IRQHandler - .thumb_set DMA2_Stream2_IRQHandler,Default_Handler - - .weak DMA2_Stream3_IRQHandler - .thumb_set DMA2_Stream3_IRQHandler,Default_Handler - - .weak DMA2_Stream4_IRQHandler - .thumb_set DMA2_Stream4_IRQHandler,Default_Handler - - .weak ETH_IRQHandler - .thumb_set ETH_IRQHandler,Default_Handler - - .weak ETH_WKUP_IRQHandler - .thumb_set ETH_WKUP_IRQHandler,Default_Handler - - .weak CAN2_TX_IRQHandler - .thumb_set CAN2_TX_IRQHandler,Default_Handler - - .weak CAN2_RX0_IRQHandler - .thumb_set CAN2_RX0_IRQHandler,Default_Handler - - .weak CAN2_RX1_IRQHandler - .thumb_set CAN2_RX1_IRQHandler,Default_Handler - - .weak CAN2_SCE_IRQHandler - .thumb_set CAN2_SCE_IRQHandler,Default_Handler - - .weak OTG_FS_IRQHandler - .thumb_set OTG_FS_IRQHandler,Default_Handler - - .weak DMA2_Stream5_IRQHandler - .thumb_set DMA2_Stream5_IRQHandler,Default_Handler - - .weak DMA2_Stream6_IRQHandler - .thumb_set DMA2_Stream6_IRQHandler,Default_Handler - - .weak DMA2_Stream7_IRQHandler - .thumb_set DMA2_Stream7_IRQHandler,Default_Handler - - .weak USART6_IRQHandler - .thumb_set USART6_IRQHandler,Default_Handler - - .weak I2C3_EV_IRQHandler - .thumb_set I2C3_EV_IRQHandler,Default_Handler - - .weak I2C3_ER_IRQHandler - .thumb_set I2C3_ER_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_OUT_IRQHandler - .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_IN_IRQHandler - .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler - - .weak OTG_HS_WKUP_IRQHandler - .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler - - .weak OTG_HS_IRQHandler - .thumb_set OTG_HS_IRQHandler,Default_Handler - - .weak DCMI_IRQHandler - .thumb_set DCMI_IRQHandler,Default_Handler - - .weak CRYP_IRQHandler - .thumb_set CRYP_IRQHandler,Default_Handler - - .weak HASH_RNG_IRQHandler - .thumb_set HASH_RNG_IRQHandler,Default_Handler - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/TASKING/cstart_thumb2.asm b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/TASKING/cstart_thumb2.asm deleted file mode 100644 index 0516dd661..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/TASKING/cstart_thumb2.asm +++ /dev/null @@ -1,153 +0,0 @@ - - -;; NOTE: To allow the use of this file for both ARMv6M and ARMv7M, -;; we will only use 16-bit Thumb intructions. - - .extern _lc_ub_stack ; usr/sys mode stack pointer - .extern _lc_ue_stack ; symbol required by debugger - .extern _lc_ub_table ; ROM to RAM copy table - .extern main - .extern _Exit - .extern exit - .weak exit - .global __get_argcv - .weak __get_argcv - .extern __argcvbuf - .weak __argcvbuf - ;;.extern __init_hardware - .extern __init_vector_table - .extern SystemInit - -__initial_spTop .equ 0x20000400 - - .if @defined('__PROF_ENABLE__') - .extern __prof_init - .endif - .if @defined('__POSIX__') - .extern posix_main - .extern _posix_boot_stack_top - .endif - - .global _START - - .section .text.cstart - - .thumb -_START: - ;; anticipate possible ROM/RAM remapping - ;; by loading the 'real' program address - ldr r1,=_Next - bx r1 -_Next: - - - - LDR R0, =__initial_spTop ; use internal RAM for stack for calling SystemInit - MSR MSP, R0 - - - - - bl SystemInit - - ;; initialize the stack pointer - ldr r1,=_lc_ub_stack ; TODO: make this part of the vector table - mov sp,r1 - - ;; copy initialized sections from ROM to RAM - ;; and clear uninitialized data sections in RAM - - ldr r3,=_lc_ub_table - movs r0,#0 -cploop: - ldr r4,[r3,#0] ; load type - ldr r5,[r3,#4] ; dst address - ldr r6,[r3,#8] ; src address - ldr r7,[r3,#12] ; size - - cmp r4,#1 - beq copy - cmp r4,#2 - beq clear - b done - -copy: - subs r7,r7,#1 - ldrb r1,[r6,r7] - strb r1,[r5,r7] - bne copy - - adds r3,r3,#16 - b cploop - -clear: - subs r7,r7,#1 - strb r0,[r5,r7] - bne clear - - adds r3,r3,#16 - b cploop - -done: - ;; initialize or copy the vector table - bl __init_vector_table - - .if @defined('__POSIX__') - - ;; posix stack buffer for system upbringing - ldr r0,=_posix_boot_stack_top - ldr r0, [r0] - mov sp,r0 - - .else - - ;; load r10 with end of USR/SYS stack, which is - ;; needed in case stack overflow checking is on - ;; NOTE: use 16-bit instructions only, for ARMv6M - ldr r0,=_lc_ue_stack - mov r10,r0 - - .endif - - .if @defined('__PROF_ENABLE__') - bl __prof_init - .endif - - .if @defined('__POSIX__') - ;; call posix_main with no arguments - bl posix_main - .else - ;; retrieve argc and argv (default argv[0]==NULL & argc==0) - bl __get_argcv - ldr r1,=__argcvbuf - ;; call main - bl main - .endif - - ;; call exit using the return value from main() - ;; Note. Calling exit will also run all functions - ;; that were supplied through atexit(). - bl exit - -__get_argcv: ; weak definition - movs r0,#0 - bx lr - - .ltorg - .endsec - - .calls '_START', ' ' - .calls '_START','__init_vector_table' - .if @defined('__PROF_ENABLE__') - .calls '_START','__prof_init' - .endif - .if @defined('__POSIX__') - .calls '_START','posix_main' - .else - .calls '_START','__get_argcv' - .calls '_START','main' - .endif - .calls '_START','exit' - .calls '_START','',0 - - .end diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/TrueSTUDIO/startup_stm32f2xx.s b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/TrueSTUDIO/startup_stm32f2xx.s deleted file mode 100644 index 74b82a9a0..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/startup/TrueSTUDIO/startup_stm32f2xx.s +++ /dev/null @@ -1,518 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f2xx.s - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief STM32F2xx Devices vector table for Atollic TrueSTUDIO toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Configure the clock system and the external SRAM mounted on - * STM322xG-EVAL board to be used as data memory (optional, - * to be enabled by user) - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M3 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m3 - .fpu softvfp - .thumb - -.global g_pfnVectors -.global Default_Handler - -/* start address for the initialization values of the .data section. -defined in linker script */ -.word _sidata -/* start address for the .data section. defined in linker script */ -.word _sdata -/* end address for the .data section. defined in linker script */ -.word _edata -/* start address for the .bss section. defined in linker script */ -.word _sbss -/* end address for the .bss section. defined in linker script */ -.word _ebss - -/* stack used for SystemInit & SystemInit_ExtMemCtl*/ -.equ __initial_spTop, 0x20000400 - -/** - * @brief This is the code that gets called when the processor first - * starts execution following a reset event. Only the absolutely - * necessary set is performed, after which the application - * supplied main() routine is called. - * @param None - * @retval : None -*/ - - .section .text.Reset_Handler - .weak Reset_Handler - .type Reset_Handler, %function -Reset_Handler: -/* Call the clock system intitialization function.*/ - bl SystemInit -/* Copy the data segment initializers from flash to SRAM */ - movs r1, #0 - b LoopCopyDataInit - -CopyDataInit: - ldr r3, =_sidata - ldr r3, [r3, r1] - str r3, [r0, r1] - adds r1, r1, #4 - -LoopCopyDataInit: - ldr r0, =_sdata - ldr r3, =_edata - adds r2, r0, r1 - cmp r2, r3 - bcc CopyDataInit - ldr r2, =_sbss - b LoopFillZerobss -/* Zero fill the bss segment. */ -FillZerobss: - movs r3, #0 - str r3, [r2], #4 - -LoopFillZerobss: - ldr r3, = _ebss - cmp r2, r3 - bcc FillZerobss -/* Call static constructors */ - bl __libc_init_array -/* Restore original stack pointer. */ - ldr r0, =_estack - msr MSP, r0 -/* Call the application's entry point.*/ - bl main - bx lr -.size Reset_Handler, .-Reset_Handler - -/** - * @brief This is the code that gets called when the processor receives an - * unexpected interrupt. This simply enters an infinite loop, preserving - * the system state for examination by a debugger. - * @param None - * @retval None -*/ - .section .text.Default_Handler,"ax",%progbits -Default_Handler: -Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler -/****************************************************************************** -* -* The minimal vector table for a Cortex M3. Note that the proper constructs -* must be placed on this to ensure that it ends up at physical address -* 0x0000.0000. -* -*******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors - - -g_pfnVectors: - .word __initial_spTop /* Use internal RAM for stack for calling SystemInit. */ - .word Reset_Handler - .word NMI_Handler - .word HardFault_Handler - .word MemManage_Handler - .word BusFault_Handler - .word UsageFault_Handler - .word 0 - .word 0 - .word 0 - .word 0 - .word SVC_Handler - .word DebugMon_Handler - .word 0 - .word PendSV_Handler - .word SysTick_Handler - - /* External Interrupts */ - .word WWDG_IRQHandler /* Window WatchDog */ - .word PVD_IRQHandler /* PVD through EXTI Line detection */ - .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ - .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ - .word FLASH_IRQHandler /* FLASH */ - .word RCC_IRQHandler /* RCC */ - .word EXTI0_IRQHandler /* EXTI Line0 */ - .word EXTI1_IRQHandler /* EXTI Line1 */ - .word EXTI2_IRQHandler /* EXTI Line2 */ - .word EXTI3_IRQHandler /* EXTI Line3 */ - .word EXTI4_IRQHandler /* EXTI Line4 */ - .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ - .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ - .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ - .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ - .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ - .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ - .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ - .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ - .word CAN1_TX_IRQHandler /* CAN1 TX */ - .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ - .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ - .word CAN1_SCE_IRQHandler /* CAN1 SCE */ - .word EXTI9_5_IRQHandler /* External Line[9:5]s */ - .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ - .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ - .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ - .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ - .word TIM2_IRQHandler /* TIM2 */ - .word TIM3_IRQHandler /* TIM3 */ - .word TIM4_IRQHandler /* TIM4 */ - .word I2C1_EV_IRQHandler /* I2C1 Event */ - .word I2C1_ER_IRQHandler /* I2C1 Error */ - .word I2C2_EV_IRQHandler /* I2C2 Event */ - .word I2C2_ER_IRQHandler /* I2C2 Error */ - .word SPI1_IRQHandler /* SPI1 */ - .word SPI2_IRQHandler /* SPI2 */ - .word USART1_IRQHandler /* USART1 */ - .word USART2_IRQHandler /* USART2 */ - .word USART3_IRQHandler /* USART3 */ - .word EXTI15_10_IRQHandler /* External Line[15:10]s */ - .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ - .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ - .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ - .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ - .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ - .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ - .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ - .word FSMC_IRQHandler /* FSMC */ - .word SDIO_IRQHandler /* SDIO */ - .word TIM5_IRQHandler /* TIM5 */ - .word SPI3_IRQHandler /* SPI3 */ - .word UART4_IRQHandler /* UART4 */ - .word UART5_IRQHandler /* UART5 */ - .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ - .word TIM7_IRQHandler /* TIM7 */ - .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ - .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ - .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ - .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ - .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ - .word ETH_IRQHandler /* Ethernet */ - .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ - .word CAN2_TX_IRQHandler /* CAN2 TX */ - .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ - .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ - .word CAN2_SCE_IRQHandler /* CAN2 SCE */ - .word OTG_FS_IRQHandler /* USB OTG FS */ - .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ - .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ - .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ - .word USART6_IRQHandler /* USART6 */ - .word I2C3_EV_IRQHandler /* I2C3 event */ - .word I2C3_ER_IRQHandler /* I2C3 error */ - .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ - .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ - .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ - .word OTG_HS_IRQHandler /* USB OTG HS */ - .word DCMI_IRQHandler /* DCMI */ - .word CRYP_IRQHandler /* CRYP crypto */ - .word HASH_RNG_IRQHandler /* Hash and Rng */ - - -/******************************************************************************* -* -* Provide weak aliases for each Exception handler to the Default_Handler. -* As they are weak aliases, any function with the same name will override -* this definition. -* -*******************************************************************************/ - .weak NMI_Handler - .thumb_set NMI_Handler,Default_Handler - - .weak HardFault_Handler - .thumb_set HardFault_Handler,Default_Handler - - .weak MemManage_Handler - .thumb_set MemManage_Handler,Default_Handler - - .weak BusFault_Handler - .thumb_set BusFault_Handler,Default_Handler - - .weak UsageFault_Handler - .thumb_set UsageFault_Handler,Default_Handler - - .weak SVC_Handler - .thumb_set SVC_Handler,Default_Handler - - .weak DebugMon_Handler - .thumb_set DebugMon_Handler,Default_Handler - - .weak PendSV_Handler - .thumb_set PendSV_Handler,Default_Handler - - .weak SysTick_Handler - .thumb_set SysTick_Handler,Default_Handler - - .weak WWDG_IRQHandler - .thumb_set WWDG_IRQHandler,Default_Handler - - .weak PVD_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMP_STAMP_IRQHandler - .thumb_set TAMP_STAMP_IRQHandler,Default_Handler - - .weak RTC_WKUP_IRQHandler - .thumb_set RTC_WKUP_IRQHandler,Default_Handler - - .weak FLASH_IRQHandler - .thumb_set FLASH_IRQHandler,Default_Handler - - .weak RCC_IRQHandler - .thumb_set RCC_IRQHandler,Default_Handler - - .weak EXTI0_IRQHandler - .thumb_set EXTI0_IRQHandler,Default_Handler - - .weak EXTI1_IRQHandler - .thumb_set EXTI1_IRQHandler,Default_Handler - - .weak EXTI2_IRQHandler - .thumb_set EXTI2_IRQHandler,Default_Handler - - .weak EXTI3_IRQHandler - .thumb_set EXTI3_IRQHandler,Default_Handler - - .weak EXTI4_IRQHandler - .thumb_set EXTI4_IRQHandler,Default_Handler - - .weak DMA1_Stream0_IRQHandler - .thumb_set DMA1_Stream0_IRQHandler,Default_Handler - - .weak DMA1_Stream1_IRQHandler - .thumb_set DMA1_Stream1_IRQHandler,Default_Handler - - .weak DMA1_Stream2_IRQHandler - .thumb_set DMA1_Stream2_IRQHandler,Default_Handler - - .weak DMA1_Stream3_IRQHandler - .thumb_set DMA1_Stream3_IRQHandler,Default_Handler - - .weak DMA1_Stream4_IRQHandler - .thumb_set DMA1_Stream4_IRQHandler,Default_Handler - - .weak DMA1_Stream5_IRQHandler - .thumb_set DMA1_Stream5_IRQHandler,Default_Handler - - .weak DMA1_Stream6_IRQHandler - .thumb_set DMA1_Stream6_IRQHandler,Default_Handler - - .weak ADC_IRQHandler - .thumb_set ADC_IRQHandler,Default_Handler - - .weak CAN1_TX_IRQHandler - .thumb_set CAN1_TX_IRQHandler,Default_Handler - - .weak CAN1_RX0_IRQHandler - .thumb_set CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM9_IRQHandler - .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM10_IRQHandler - .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM11_IRQHandler - .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler - - .weak TIM1_CC_IRQHandler - .thumb_set TIM1_CC_IRQHandler,Default_Handler - - .weak TIM2_IRQHandler - .thumb_set TIM2_IRQHandler,Default_Handler - - .weak TIM3_IRQHandler - .thumb_set TIM3_IRQHandler,Default_Handler - - .weak TIM4_IRQHandler - .thumb_set TIM4_IRQHandler,Default_Handler - - .weak I2C1_EV_IRQHandler - .thumb_set I2C1_EV_IRQHandler,Default_Handler - - .weak I2C1_ER_IRQHandler - .thumb_set I2C1_ER_IRQHandler,Default_Handler - - .weak I2C2_EV_IRQHandler - .thumb_set I2C2_EV_IRQHandler,Default_Handler - - .weak I2C2_ER_IRQHandler - .thumb_set I2C2_ER_IRQHandler,Default_Handler - - .weak SPI1_IRQHandler - .thumb_set SPI1_IRQHandler,Default_Handler - - .weak SPI2_IRQHandler - .thumb_set SPI2_IRQHandler,Default_Handler - - .weak USART1_IRQHandler - .thumb_set USART1_IRQHandler,Default_Handler - - .weak USART2_IRQHandler - .thumb_set USART2_IRQHandler,Default_Handler - - .weak USART3_IRQHandler - .thumb_set USART3_IRQHandler,Default_Handler - - .weak EXTI15_10_IRQHandler - .thumb_set EXTI15_10_IRQHandler,Default_Handler - - .weak RTC_Alarm_IRQHandler - .thumb_set RTC_Alarm_IRQHandler,Default_Handler - - .weak OTG_FS_WKUP_IRQHandler - .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler - - .weak TIM8_BRK_TIM12_IRQHandler - .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler - - .weak TIM8_UP_TIM13_IRQHandler - .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler - - .weak TIM8_TRG_COM_TIM14_IRQHandler - .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler - - .weak TIM8_CC_IRQHandler - .thumb_set TIM8_CC_IRQHandler,Default_Handler - - .weak DMA1_Stream7_IRQHandler - .thumb_set DMA1_Stream7_IRQHandler,Default_Handler - - .weak FSMC_IRQHandler - .thumb_set FSMC_IRQHandler,Default_Handler - - .weak SDIO_IRQHandler - .thumb_set SDIO_IRQHandler,Default_Handler - - .weak TIM5_IRQHandler - .thumb_set TIM5_IRQHandler,Default_Handler - - .weak SPI3_IRQHandler - .thumb_set SPI3_IRQHandler,Default_Handler - - .weak UART4_IRQHandler - .thumb_set UART4_IRQHandler,Default_Handler - - .weak UART5_IRQHandler - .thumb_set UART5_IRQHandler,Default_Handler - - .weak TIM6_DAC_IRQHandler - .thumb_set TIM6_DAC_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Stream0_IRQHandler - .thumb_set DMA2_Stream0_IRQHandler,Default_Handler - - .weak DMA2_Stream1_IRQHandler - .thumb_set DMA2_Stream1_IRQHandler,Default_Handler - - .weak DMA2_Stream2_IRQHandler - .thumb_set DMA2_Stream2_IRQHandler,Default_Handler - - .weak DMA2_Stream3_IRQHandler - .thumb_set DMA2_Stream3_IRQHandler,Default_Handler - - .weak DMA2_Stream4_IRQHandler - .thumb_set DMA2_Stream4_IRQHandler,Default_Handler - - .weak ETH_IRQHandler - .thumb_set ETH_IRQHandler,Default_Handler - - .weak ETH_WKUP_IRQHandler - .thumb_set ETH_WKUP_IRQHandler,Default_Handler - - .weak CAN2_TX_IRQHandler - .thumb_set CAN2_TX_IRQHandler,Default_Handler - - .weak CAN2_RX0_IRQHandler - .thumb_set CAN2_RX0_IRQHandler,Default_Handler - - .weak CAN2_RX1_IRQHandler - .thumb_set CAN2_RX1_IRQHandler,Default_Handler - - .weak CAN2_SCE_IRQHandler - .thumb_set CAN2_SCE_IRQHandler,Default_Handler - - .weak OTG_FS_IRQHandler - .thumb_set OTG_FS_IRQHandler,Default_Handler - - .weak DMA2_Stream5_IRQHandler - .thumb_set DMA2_Stream5_IRQHandler,Default_Handler - - .weak DMA2_Stream6_IRQHandler - .thumb_set DMA2_Stream6_IRQHandler,Default_Handler - - .weak DMA2_Stream7_IRQHandler - .thumb_set DMA2_Stream7_IRQHandler,Default_Handler - - .weak USART6_IRQHandler - .thumb_set USART6_IRQHandler,Default_Handler - - .weak I2C3_EV_IRQHandler - .thumb_set I2C3_EV_IRQHandler,Default_Handler - - .weak I2C3_ER_IRQHandler - .thumb_set I2C3_ER_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_OUT_IRQHandler - .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_IN_IRQHandler - .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler - - .weak OTG_HS_WKUP_IRQHandler - .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler - - .weak OTG_HS_IRQHandler - .thumb_set OTG_HS_IRQHandler,Default_Handler - - .weak DCMI_IRQHandler - .thumb_set DCMI_IRQHandler,Default_Handler - - .weak CRYP_IRQHandler - .thumb_set CRYP_IRQHandler,Default_Handler - - .weak HASH_RNG_IRQHandler - .thumb_set HASH_RNG_IRQHandler,Default_Handler - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/stm32f2xx_conf.h deleted file mode 100644 index 007d4b136..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/SRAM_DataMemory/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/stm32f2xx_it.c deleted file mode 100644 index e95fe2a2a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/stm32f2xx_it.c +++ /dev/null @@ -1,174 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/SRAM_DataMemory/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup FSMC_SRAM_DataMemory - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/stm32f2xx_it.h deleted file mode 100644 index bde3933f9..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file FSMC/SRAM_DataMemory/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/system_stm32f2xx.c deleted file mode 100644 index ee7aa6b0d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/FSMC/SRAM_DataMemory/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -#define DATA_IN_ExtSRAM - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/main.c deleted file mode 100644 index 7d1e96dce..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/main.c +++ /dev/null @@ -1,174 +0,0 @@ -/** - ****************************************************************************** - * @file GPIO/IOToggle/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup IOToggle - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -GPIO_InitTypeDef GPIO_InitStructure; - -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* GPIOG Periph clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE); - - /* Configure PG6 and PG8 in output pushpull mode */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_8; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOG, &GPIO_InitStructure); - - /* To achieve GPIO toggling maximum frequency, the following sequence is mandatory. - You can monitor PG6 or PG8 on the scope to measure the output signal. - If you need to fine tune this frequency, you can add more GPIO set/reset - cycles to minimize more the infinite loop timing. - This code needs to be compiled with high speed optimization option. */ - while (1) - { - /* Set PG6 and PG8 */ - GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8; - /* Reset PG6 and PG8 */ - GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8; - - /* Set PG6 and PG8 */ - GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8; - /* Reset PG6 and PG8 */ - GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8; - - /* Set PG6 and PG8 */ - GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8; - /* Reset PG6 and PG8 */ - GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8; - - /* Set PG6 and PG8 */ - GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8; - /* Reset PG6 and PG8 */ - GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8; - - /* Set PG6 and PG8 */ - GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8; - /* Reset PG6 and PG8 */ - GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8; - - /* Set PG6 and PG8 */ - GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8; - /* Reset PG6 and PG8 */ - GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8; - - /* Set PG6 and PG8 */ - GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8; - /* Reset PG6 and PG8 */ - GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8; - - /* Set PG6 and PG8 */ - GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8; - /* Reset PG6 and PG8 */ - GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8; - - /* Set PG6 and PG8 */ - GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8; - /* Reset PG6 and PG8 */ - GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8; - - /* Set PG6 and PG8 */ - GPIOG->BSRRL = GPIO_Pin_6 | GPIO_Pin_8; - /* Reset PG6 and PG8 */ - GPIOG->BSRRH = GPIO_Pin_6 | GPIO_Pin_8; - } -} - -/** - * @brief Delay Function. - * @param nCount:specifies the Delay time length. - * @retval None - */ -void Delay(__IO uint32_t nCount) -{ - while(nCount--) - { - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/readme.txt deleted file mode 100644 index d7417a152..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/readme.txt +++ /dev/null @@ -1,85 +0,0 @@ -/** - @page GPIO_IOToggle GPIO IO Toggle example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file GPIO/IOToggle/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the GPIO IO Toggle example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -GPIO ports are connected on AHB bus, using BSRRH and BSRRL registers one cycle is -required to set a pin and another cycle to reset it. So GPIO pins can toggle at -AHB clock divided by 2. - -This example describes how to use BSRRH and BSRRL (Port Bit Set/Reset Register -High and Low) for maximum IO toggling. - -PG6 and PG8 (configured in output pushpull mode) toggles in a forever loop: - - Set PG6 and PG8 by setting corresponding bits in BSRRL register - - Reset PG6 and PG8 by setting corresponding bits in BSRRH register - -In this example, HCLK is configured at 120 MHz so PG6 and PG8 toggles at 60MHz. -To achieve the maximum IO toggling frequency, you have to configure your compiler -options for high speed optimization. - - -@par Directory contents - - - GPIO/IOToggle/stm32f2xx_conf.h Library Configuration file - - GPIO/IOToggle/stm32f2xx_it.c Interrupt handlers - - GPIO/IOToggle/stm32f2xx_it.h Interrupt handlers header file - - GPIO/IOToggle/main.c Main program - - GPIO/IOToggle/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - - STM322xG-EVAL Set-up - - Use LED1 and LED2 connected respectively to PG.06 and PG.08 - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/stm32f2xx_conf.h deleted file mode 100644 index 577f1dc1e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file GPIO/IOToggle/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/stm32f2xx_it.c deleted file mode 100644 index c0d5babc0..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file GPIO/IOToggle/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup IOToggle - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/stm32f2xx_it.h deleted file mode 100644 index 0be12270b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file GPIO/IOToggle/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/IOToggle/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/main.c deleted file mode 100644 index 665c83b57..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/main.c +++ /dev/null @@ -1,172 +0,0 @@ -/** - ****************************************************************************** - * @file GPIO/JTAG_Remap/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup GPIO_JTAG_Remap - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -GPIO_InitTypeDef GPIO_InitStructure; - -/* Private function prototypes -----------------------------------------------*/ -void Delay(__IO uint32_t nCount); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs and Key Button mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_GPIO); - - /* Test if Key push-button on STM322xG-EVAL board is pressed */ - if (STM_EVAL_PBGetState(BUTTON_KEY) == 0x00) - { /* Key is pressed */ - - /* Enable GPIOA and GPIOB clocks */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB , ENABLE); - - /* Turn on LED1 */ - STM_EVAL_LEDOn(LED1); - - /* Configure PA.13 (JTMS/SWDIO), PA.14 (JTCK/SWCLK) and PA.15 (JTDI) as - output push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* Configure PB.03 (JTDO) and PB.04 (JTRST) as output push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - while (1) - { - /* Toggle JTMS/SWDAT pin */ - GPIO_WriteBit(GPIOA, GPIO_Pin_13, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_13))); - /* Insert delay */ - Delay(0x5FFFF); - - /* Toggle JTCK/SWCLK pin */ - GPIO_WriteBit(GPIOA, GPIO_Pin_14, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_14))); - /* Insert delay */ - Delay(0x5FFFF); - - /* Toggle JTDI pin */ - GPIO_WriteBit(GPIOA, GPIO_Pin_15, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_15))); - /* Insert delay */ - Delay(0x5FFFF); - - /* Toggle JTDO pin */ - GPIO_WriteBit(GPIOB, GPIO_Pin_3, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_3))); - /* Insert delay */ - Delay(0x5FFFF); - - /* Toggle JTRST pin */ - GPIO_WriteBit(GPIOB, GPIO_Pin_4, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_4))); - /* Insert delay */ - Delay(0x5FFFF); - } - } - else - { - /* Turn on LED2 */ - STM_EVAL_LEDOn(LED2); - - while (1) - { - } - } -} - -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -void Delay(__IO uint32_t nCount) -{ - for(; nCount != 0; nCount--); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/readme.txt deleted file mode 100644 index 66ebfaace..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/readme.txt +++ /dev/null @@ -1,82 +0,0 @@ -/** - @page GPIO_JTAG_Remap GPIO JTAG/SWD Remap example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file GPIO/JTAG_Remap/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the GPIO JTAG/SWD Remap example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the JTAG/SWD IOs as standard -GPIOs and gives a configuration sequence. - -Note that once the JTAG/SWD IOs are disabled, the connection with the host debugger is -lost and cannot be re-established as long as the JTAG/SWD IOs remain disabled. -To avoid this situation, the Key push-button is used to disable or not the JTAG/SWD IOs: - 1. Key push-button maintained pressed at reset: JTAG/SWD IOs disabled and LED1 turned ON - 2. Key push-button not pressed at reset: JTAG/SWD IOs unchanged and LED2 turned ON - -Before starting this example, you should disconnect your JTAG/SWD probe and run -the example in stand-alone mode. - - -@par Directory contents - - - GPIO/JTAG_Remap/system_stm32f2xx.c STM32F2xx system clock configuration file - - GPIO/JTAG_Remap/stm32f2xx_conf.h Library Configuration file - - GPIO/JTAG_Remap/stm32f2xx_it.c Interrupt handlers - - GPIO/JTAG_Remap/stm32f2xx_it.h Header for stm32f2xx_it.c - - GPIO/JTAG_Remap/main.c Main program - - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - - STM322xG-EVAL Set-up - - Use LED1 and LED2 connected respectively to PG.06 and PG.08 - - Use the Key push-button connected to pin PG15 (EXTI Line15) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/stm32f2xx_conf.h deleted file mode 100644 index acc75663e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file GPIO/JTAG_Remap/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/stm32f2xx_it.c deleted file mode 100644 index 81389380e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file GPIO/JTAG_Remap/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup GPIO_JTAG_Remap - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/stm32f2xx_it.h deleted file mode 100644 index 10e0f77ca..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file GPIO/JTAG_Remap/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/GPIO/JTAG_Remap/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/Expected_Results.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/Expected_Results.txt deleted file mode 100644 index bed5f5a77..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/Expected_Results.txt +++ /dev/null @@ -1,57 +0,0 @@ - ====================================== - ==== Context Swap Example ==== - ====================================== - - --------------------------------------- - MD5 Text to be Hashed : - --------------------------------------- - The hash processor is a fully compliant implementation of the secure hash algorithm (SHA-1), the MD5 (message-digest algorithm 5) hash algorithm and the HMAC (keyed-hash message authentication code) algorithm suitable for a variety of applications.*** STM32 ***The hash processor is a fully compliant implementation of the secure hash algorithm (SHA-1), the MD5 (message-digest algorithm 5) hash algorithm and the HMAC (keyed-hash message authentication code) algorithm suitable for a variety of applications.*** STM32 ***The hash processor is a fully compliant implementation of the secure hash algorithm (SHA-1), the MD5 (message-digest algorithm 5) hash algorithm and the HMAC (keyed-hash message authentication code) algorithm suitable for a variety of applications.*** STM32 *** - - --------------------------------------- - SHA1 Text to be Hashed : - --------------------------------------- -testing123 - ->> MD5 Digest Computation without context swap ->>> Start ->>> Done - --------------------------------------- - MD5 Message Digest (128 bits): - --------------------------------------- - A = [0x8aea9a70] - B = [0x04fc0592] - C = [0xc81dce1b] - D = [0xabe64da6] - ->> SHA1 Digest Computation without context swap ->>> Start ->>> Done - --------------------------------------- - SHA1 Message Digest (160 bits): - --------------------------------------- - H0 = [0x4c0d2b95] - H1 = [0x1ffabd6f] - H2 = [0x9a10489d] - H3 = [0xc40fc356] - H4 = [0xec1d26d5] - ->> MD5 Digest Computation with context swap ->>> Start - ====> During MD5 digest calculation, the context is saved and restored (15) times to calculate the SHA1 digest ->>> Done - --------------------------------------- - MD5 Message Digest (128 bits): - --------------------------------------- - A = [0x8aea9a70] - B = [0x04fc0592] - C = [0xc81dce1b] - D = [0xabe64da6] ->> SHA1 Digest computed during MD5 context swap - --------------------------------------- - SHA1 Message Digest (160 bits): - --------------------------------------- - H0 = [0x4c0d2b95] - H1 = [0x1ffabd6f] - H2 = [0x9a10489d] - H3 = [0xc40fc356] - H4 = [0xec1d26d5] diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/main.c deleted file mode 100644 index a06418eec..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/main.c +++ /dev/null @@ -1,464 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/Context_Swap/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup HASH_Context_Swap - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ - -/* "testing123" */ -const uint8_t Sha1Input[SHA1_INPUT_TAB_SIZE] = {0x74,0x65,0x73,0x74,0x69, - 0x6e,0x67,0x31,0x32,0x33}; - - -/* -3 x - "The hash processor is a fully compliant implementation of the secure - hash algorithm (SHA-1), the MD5 (message-digest algorithm 5) hash - algorithm and the HMAC (keyed-hash message authentication code) - algorithm suitable for a variety of applications.*** STM32 ***" -*/ -const uint8_t Md5Input[MD5_INPUT_TAB_SIZE]= - {0x54,0x68,0x65,0x20,0x68,0x61,0x73,0x68, - 0x20,0x70,0x72,0x6f,0x63,0x65,0x73,0x73, - 0x6f,0x72,0x20,0x69,0x73,0x20,0x61,0x20, - 0x66,0x75,0x6c,0x6c,0x79,0x20,0x63,0x6f, - 0x6d,0x70,0x6c,0x69,0x61,0x6e,0x74,0x20, - 0x69,0x6d,0x70,0x6c,0x65,0x6d,0x65,0x6e, - 0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x6f, - 0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x65, - 0x63,0x75,0x72,0x65,0x20,0x68,0x61,0x73, - 0x68,0x20,0x61,0x6c,0x67,0x6f,0x72,0x69, - 0x74,0x68,0x6d,0x20,0x28,0x53,0x48,0x41, - 0x2d,0x31,0x29,0x2c,0x20,0x74,0x68,0x65, - 0x20,0x4d,0x44,0x35,0x20,0x28,0x6d,0x65, - 0x73,0x73,0x61,0x67,0x65,0x2d,0x64,0x69, - 0x67,0x65,0x73,0x74,0x20,0x61,0x6c,0x67, - 0x6f,0x72,0x69,0x74,0x68,0x6d,0x20,0x35, - 0x29,0x20,0x68,0x61,0x73,0x68,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65, - 0x20,0x48,0x4d,0x41,0x43,0x20,0x28,0x6b, - 0x65,0x79,0x65,0x64,0x2d,0x68,0x61,0x73, - 0x68,0x20,0x6d,0x65,0x73,0x73,0x61,0x67, - 0x65,0x20,0x61,0x75,0x74,0x68,0x65,0x6e, - 0x74,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e, - 0x20,0x63,0x6f,0x64,0x65,0x29,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x73,0x75,0x69,0x74,0x61,0x62,0x6c, - 0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x20, - 0x76,0x61,0x72,0x69,0x65,0x74,0x79,0x20, - 0x6f,0x66,0x20,0x61,0x70,0x70,0x6c,0x69, - 0x63,0x61,0x74,0x69,0x6f,0x6e,0x73,0x2e, - 0x2a,0x2a,0x2a,0x20,0x53,0x54,0x4d,0x33, - 0x32,0x20,0x2a,0x2a,0x2a, - 0x54,0x68,0x65,0x20,0x68,0x61,0x73,0x68, - 0x20,0x70,0x72,0x6f,0x63,0x65,0x73,0x73, - 0x6f,0x72,0x20,0x69,0x73,0x20,0x61,0x20, - 0x66,0x75,0x6c,0x6c,0x79,0x20,0x63,0x6f, - 0x6d,0x70,0x6c,0x69,0x61,0x6e,0x74,0x20, - 0x69,0x6d,0x70,0x6c,0x65,0x6d,0x65,0x6e, - 0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x6f, - 0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x65, - 0x63,0x75,0x72,0x65,0x20,0x68,0x61,0x73, - 0x68,0x20,0x61,0x6c,0x67,0x6f,0x72,0x69, - 0x74,0x68,0x6d,0x20,0x28,0x53,0x48,0x41, - 0x2d,0x31,0x29,0x2c,0x20,0x74,0x68,0x65, - 0x20,0x4d,0x44,0x35,0x20,0x28,0x6d,0x65, - 0x73,0x73,0x61,0x67,0x65,0x2d,0x64,0x69, - 0x67,0x65,0x73,0x74,0x20,0x61,0x6c,0x67, - 0x6f,0x72,0x69,0x74,0x68,0x6d,0x20,0x35, - 0x29,0x20,0x68,0x61,0x73,0x68,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65, - 0x20,0x48,0x4d,0x41,0x43,0x20,0x28,0x6b, - 0x65,0x79,0x65,0x64,0x2d,0x68,0x61,0x73, - 0x68,0x20,0x6d,0x65,0x73,0x73,0x61,0x67, - 0x65,0x20,0x61,0x75,0x74,0x68,0x65,0x6e, - 0x74,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e, - 0x20,0x63,0x6f,0x64,0x65,0x29,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x73,0x75,0x69,0x74,0x61,0x62,0x6c, - 0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x20, - 0x76,0x61,0x72,0x69,0x65,0x74,0x79,0x20, - 0x6f,0x66,0x20,0x61,0x70,0x70,0x6c,0x69, - 0x63,0x61,0x74,0x69,0x6f,0x6e,0x73,0x2e, - 0x2a,0x2a,0x2a,0x20,0x53,0x54,0x4d,0x33, - 0x32,0x20,0x2a,0x2a,0x2a, - 0x54,0x68,0x65,0x20,0x68,0x61,0x73,0x68, - 0x20,0x70,0x72,0x6f,0x63,0x65,0x73,0x73, - 0x6f,0x72,0x20,0x69,0x73,0x20,0x61,0x20, - 0x66,0x75,0x6c,0x6c,0x79,0x20,0x63,0x6f, - 0x6d,0x70,0x6c,0x69,0x61,0x6e,0x74,0x20, - 0x69,0x6d,0x70,0x6c,0x65,0x6d,0x65,0x6e, - 0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x6f, - 0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x65, - 0x63,0x75,0x72,0x65,0x20,0x68,0x61,0x73, - 0x68,0x20,0x61,0x6c,0x67,0x6f,0x72,0x69, - 0x74,0x68,0x6d,0x20,0x28,0x53,0x48,0x41, - 0x2d,0x31,0x29,0x2c,0x20,0x74,0x68,0x65, - 0x20,0x4d,0x44,0x35,0x20,0x28,0x6d,0x65, - 0x73,0x73,0x61,0x67,0x65,0x2d,0x64,0x69, - 0x67,0x65,0x73,0x74,0x20,0x61,0x6c,0x67, - 0x6f,0x72,0x69,0x74,0x68,0x6d,0x20,0x35, - 0x29,0x20,0x68,0x61,0x73,0x68,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65, - 0x20,0x48,0x4d,0x41,0x43,0x20,0x28,0x6b, - 0x65,0x79,0x65,0x64,0x2d,0x68,0x61,0x73, - 0x68,0x20,0x6d,0x65,0x73,0x73,0x61,0x67, - 0x65,0x20,0x61,0x75,0x74,0x68,0x65,0x6e, - 0x74,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e, - 0x20,0x63,0x6f,0x64,0x65,0x29,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x73,0x75,0x69,0x74,0x61,0x62,0x6c, - 0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x20, - 0x76,0x61,0x72,0x69,0x65,0x74,0x79,0x20, - 0x6f,0x66,0x20,0x61,0x70,0x70,0x6c,0x69, - 0x63,0x61,0x74,0x69,0x6f,0x6e,0x73,0x2e, - 0x2a,0x2a,0x2a,0x20,0x53,0x54,0x4d,0x33, - 0x32,0x20,0x2a,0x2a,0x2a}; - -uint8_t Md5output[16]; -uint8_t Sha1output[20]; -uint32_t ContextSwapCounter=0; - -/* Private function prototypes -----------------------------------------------*/ -void USART_Config(void); -void TIM6_Config(void); -void Display_MainMessage(void); -void Display_MD5Digest(void); - -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ -/*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - - /* TIM6 configuration to get a regular interrupt */ - TIM6_Config(); - - /* USART configuration */ - USART_Config(); - - /* Display the original message */ - Display_MainMessage(); - - /* Enable HASH clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_HASH, ENABLE); - -/*============================================================================= - SHA1/ MD5 Digest Computation without context swap -==============================================================================*/ - printf("\n\r>> MD5 Digest Computation without context swap \n\r"); - printf(">>> Start \n\r"); - - /* MD5 Digest Computation *******************************/ - HASH_MD5((uint8_t*)Md5Input, MD5_INPUT_TAB_SIZE,Md5output); - printf(">>> Done \n\r"); - - /* Display the MD5 digest */ - Display_MD5Digest(); - - printf("\n\r>> SHA1 Digest Computation without context swap \n\r"); - printf(">>> Start \n\r"); - - /* SHA1 Digest Computation */ - HASH_SHA1((uint8_t*)Sha1Input, SHA1_INPUT_TAB_SIZE, Sha1output); - printf(">>> Done \n\r"); - - /* Display the SHA1 digest */ - Display_SHA1Digest(); - -/*============================================================================= - SHA1 / MD5 Digest Computation with context swap -==============================================================================*/ - printf("\n\r>> MD5 Digest Computation with context swap \n\r"); - printf(">>> Start \n\r"); - - /* Enable TIM6 */ - TIM_Cmd(TIM6, ENABLE); - - /* MD5 Digest Computation */ - HASH_MD5((uint8_t*)Md5Input, MD5_INPUT_TAB_SIZE, Md5output); - - /* Disable TIM2 : no more interrupts */ - TIM_Cmd(TIM6, DISABLE); - - printf(" ====> During MD5 digest calculation, the context is saved and restored (%d) times to calculate the SHA1 digest \n\r", ContextSwapCounter); - printf(">>> Done \n\r"); - - /* Display the MD5 digest */ - Display_MD5Digest(); - - printf(">> SHA1 Digest computed during MD5 context swap \n\r"); - - /* Display the SHA1 digest */ - Display_SHA1Digest(); - - while(1); -} - -/** - * @brief Display the original messages to be hashed. - * @param None - * @retval None - */ -void Display_MainMessage(void) -{ - uint32_t BufferCounter = 0; - printf("\n\r ====================================== \n\r"); - printf(" ==== Context Swap Example ==== \n\r"); - printf(" ====================================== \n\r"); - printf("\r\n --------------------------------------- \n\r"); - printf(" MD5 Text to be Hashed : \n\r"); - printf(" ---------------------------------------\n\r "); - for(BufferCounter = 0; BufferCounter
© COPYRIGHT 2012 STMicroelectronics
- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stdio.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -#define SHA1_INPUT_TAB_SIZE ((uint32_t)10) -#define MD5_INPUT_TAB_SIZE ((uint32_t)261*3) - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void Display_SHA1Digest(void); - - -#endif /*__MAIN_H*/ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/readme.txt deleted file mode 100644 index eee130010..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/readme.txt +++ /dev/null @@ -1,96 +0,0 @@ -/** - @page HASH_Context_Swap Context Swapping during Digest calculation example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file HASH/Context_Swap/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of Context Swapping during Digest calculation - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the HASH peripheral to -save and restore hash context to serve a high priority hash operation. - -For this example, no DMA is used for data transfer. -The SHA-1 and MD5 digests can be displayed on a PC HyperTerminal using the USART(CN16). - -- In the first step the MD5 and SHA1 digests are computed and displayed. -- In the second step, a TIM6 interruption is configured to occurs with frequency of - 200 KHz and a MD5 digest calculation is launched. - During the TIM6 interrupt routine, the current MD5 context is saved, then a SHA-1 - digest calculation is launched (a high priority hash operation) and a counter is - incremented (ContextSwapCounter). - When the SHA1 digest calculation is done, the saved MD5 context is restored and - the MD5 digest calculation is continued. - When the MD5 digest calculation is done, both MD5 and SHA1 digests are displayed - to show that there is no difference between the results of the first and the - second steps. - - -@par Directory contents - - HASH/Context_Swap/system_stm32f2xx.c STM32F2xx system clock configuration file - - HASH/Context_Swap/stm32f2xx_conf.h Library Configuration file - - HASH/Context_Swap/stm32f2xx_it.h Interrupt handlers header file - - HASH/Context_Swap/stm32f2xx_it.c Interrupt handlers - - HASH/Context_Swap/main.c Main program - - HASH/Context_Swap/main.h Main header file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs only on STM32F21x Devices (Cryptographic acceleration not - embedded in STM32F20x Devices). - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/stm32f2xx_conf.h deleted file mode 100644 index 1ff195445..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/stm32f2xx_conf.h +++ /dev/null @@ -1,87 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/Context_Swap/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/stm32f2xx_it.c deleted file mode 100644 index 0b70322de..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/stm32f2xx_it.c +++ /dev/null @@ -1,211 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/Context_Swap/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup HASH_Context_Swap - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -HASH_Context Md5Context; -extern const uint8_t Sha1Input[]; -extern unsigned char Sha1output[]; -extern uint32_t Sha1Len; -extern uint32_t ContextSwapCounter; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles TIM6 global interrupt request. - * @param None - * @retval None - */ -void TIM6_DAC_IRQHandler(void) -{ - if (TIM_GetITStatus(TIM6, TIM_IT_Update) != RESET) - { - -/*============================================================================= - Save MD5 Digest Computation context -==============================================================================*/ - HASH_SaveContext(&Md5Context); - ContextSwapCounter++; - -/*============================================================================= - SHA1 Digest Computation -==============================================================================*/ - HASH_SHA1((uint8_t*)Sha1Input, SHA1_INPUT_TAB_SIZE, Sha1output); - -/*============================================================================= - Restore MD5 Digest Computation context -==============================================================================*/ - HASH_RestoreContext(&Md5Context); - - TIM_ClearITPendingBit(TIM6, TIM_IT_Update); - } - -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/stm32f2xx_it.h deleted file mode 100644 index 2ecaba41e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/stm32f2xx_it.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/Context_Swap/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/Context_Swap/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/Expected_Results.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/Expected_Results.txt deleted file mode 100644 index 34df60a6a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/Expected_Results.txt +++ /dev/null @@ -1,24 +0,0 @@ - ====================================== - ==== HASH Example ==== - ====================================== - --------------------------------------- - Text to be Hashed ( 2088 bits): - --------------------------------------- -The hash processor is a fully compliant implementation of the secure hash algorithm (SHA-1), the MD5 (message-digest algorithm 5) hash algorithm and the HMAC (keyed-hash message authentication code) algorithm suitable for a variety of applications.*** STM32 *** - - --------------------------------------- - SHA1 Message Digest (160 bits): - --------------------------------------- - H0 = [0xf859c18d] - H1 = [0xec947242] - H2 = [0x7924fb61] - H3 = [0xef7c6a6b] - H4 = [0x670bf9c3] - - --------------------------------------- - MD5 Message Digest (128 bits): - --------------------------------------- - A = [0x6707862c] - B = [0x7cd0b522] - C = [0xb2dd22d8] - D = [0x477be318] diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/main.c deleted file mode 100644 index f01ea2a22..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/main.c +++ /dev/null @@ -1,311 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/HASH_SHA1_MD5/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stdio.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup HASH_SHA1_MD5 - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define INPUT_TAB_SIZE ((uint32_t) 261) - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ - -/* - "The hash processor is a fully compliant implementation of the secure - hash algorithm (SHA-1), the MD5 (message-digest algorithm 5) hash - algorithm and the HMAC (keyed-hash message authentication code) - algorithm suitable for a variety of applications.*** STM32 ***" -*/ -const uint8_t Input[INPUT_TAB_SIZE] = - {0x54,0x68,0x65,0x20,0x68,0x61,0x73,0x68, - 0x20,0x70,0x72,0x6f,0x63,0x65,0x73,0x73, - 0x6f,0x72,0x20,0x69,0x73,0x20,0x61,0x20, - 0x66,0x75,0x6c,0x6c,0x79,0x20,0x63,0x6f, - 0x6d,0x70,0x6c,0x69,0x61,0x6e,0x74,0x20, - 0x69,0x6d,0x70,0x6c,0x65,0x6d,0x65,0x6e, - 0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x6f, - 0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x65, - 0x63,0x75,0x72,0x65,0x20,0x68,0x61,0x73, - 0x68,0x20,0x61,0x6c,0x67,0x6f,0x72,0x69, - 0x74,0x68,0x6d,0x20,0x28,0x53,0x48,0x41, - 0x2d,0x31,0x29,0x2c,0x20,0x74,0x68,0x65, - 0x20,0x4d,0x44,0x35,0x20,0x28,0x6d,0x65, - 0x73,0x73,0x61,0x67,0x65,0x2d,0x64,0x69, - 0x67,0x65,0x73,0x74,0x20,0x61,0x6c,0x67, - 0x6f,0x72,0x69,0x74,0x68,0x6d,0x20,0x35, - 0x29,0x20,0x68,0x61,0x73,0x68,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65, - 0x20,0x48,0x4d,0x41,0x43,0x20,0x28,0x6b, - 0x65,0x79,0x65,0x64,0x2d,0x68,0x61,0x73, - 0x68,0x20,0x6d,0x65,0x73,0x73,0x61,0x67, - 0x65,0x20,0x61,0x75,0x74,0x68,0x65,0x6e, - 0x74,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e, - 0x20,0x63,0x6f,0x64,0x65,0x29,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x73,0x75,0x69,0x74,0x61,0x62,0x6c, - 0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x20, - 0x76,0x61,0x72,0x69,0x65,0x74,0x79,0x20, - 0x6f,0x66,0x20,0x61,0x70,0x70,0x6c,0x69, - 0x63,0x61,0x74,0x69,0x6f,0x6e,0x73,0x2e, - 0x2a,0x2a,0x2a,0x20,0x53,0x54,0x4d,0x33, - 0x32,0x20,0x2a,0x2a,0x2a}; - -uint8_t Md5output[16]; -uint8_t Sha1output[20]; - -/* Private function prototypes -----------------------------------------------*/ -void USART_Config(void); -void Display_MainMessage(uint32_t Len); -void Display_SHA1Digest(void); -void Display_MD5Digest(void); - -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ -/*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* USART configuration */ - USART_Config(); - - /* Display the original message */ - Display_MainMessage(INPUT_TAB_SIZE); - - /* Enable HASH clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_HASH, ENABLE); - - -/*============================================================================= - SHA-1 Digest Computation -==============================================================================*/ - - /* SHA-1 Digest Computation */ - HASH_SHA1((uint8_t *)Input, INPUT_TAB_SIZE, Sha1output); - - /* Display the SHA1 digest */ - Display_SHA1Digest(); - -/*============================================================================= - MD5 Digest Computation -==============================================================================*/ - - /* MD5 Digest Computation */ - HASH_MD5((uint8_t *)Input, INPUT_TAB_SIZE, Md5output); - - /* Display the MD5 digest */ - Display_MD5Digest(); - - while(1); -} - -/** - * @brief USART configuration - * @param None - * @retval None - */ -void USART_Config(void) -{ - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitTypeDef USART_InitStructure; - - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - STM_EVAL_COMInit(COM1, &USART_InitStructure); -} - -/** - * @brief Display the original message. - * @param None - * @retval None - */ -void Display_MainMessage(uint32_t Len) -{ - uint32_t BufferCounter = 0; - - printf("\n\r ======================================\n\r"); - printf(" ==== HASH Example ====\n\r"); - printf(" ======================================\n\r"); - printf(" ---------------------------------------\n\r"); - printf(" Text to be Hashed ( %d bits): \n\r", Len*8); - printf(" ---------------------------------------\n\r"); - - for(BufferCounter = 0; BufferCounter < Len ; BufferCounter++) - { - printf("%c", Input[BufferCounter]); - } -} - -/** - * @brief Display the SHA-1 digest. - * @param None - * @retval None - */ -void Display_SHA1Digest(void) -{ - printf("\n\r ---------------------------------------\n\r"); - printf(" SHA1 Message Digest (160 bits):\n\r"); - printf(" ---------------------------------------\n\r"); - printf(" H0 = [0x%02x%02x%02x%02x] \n\r",Sha1output[0], - Sha1output[1], - Sha1output[2], - Sha1output[3]); - printf(" H1 = [0x%02x%02x%02x%02x] \n\r",Sha1output[4], - Sha1output[5], - Sha1output[6], - Sha1output[7]); - printf(" H2 = [0x%02x%02x%02x%02x] \n\r",Sha1output[8], - Sha1output[9], - Sha1output[10], - Sha1output[11]); - printf(" H3 = [0x%02x%02x%02x%02x] \n\r",Sha1output[12], - Sha1output[13], - Sha1output[14], - Sha1output[15]); - printf(" H4 = [0x%02x%02x%02x%02x] \n\r",Sha1output[16], - Sha1output[17], - Sha1output[18], - Sha1output[19]); -} - -/** - * @brief Display the MD5 digest. - * @param None - * @retval None - */ -void Display_MD5Digest(void) -{ - printf("\n\r ---------------------------------------\n\r"); - printf(" MD5 Message Digest (128 bits):\n\r"); - printf(" ---------------------------------------\n\r"); - printf(" A = [0x%02x%02x%02x%02x] \n\r", Md5output[0], - Md5output[1], - Md5output[2], - Md5output[3]); - printf(" B = [0x%02x%02x%02x%02x] \n\r", Md5output[4], - Md5output[5], - Md5output[6], - Md5output[7]); - printf(" C = [0x%02x%02x%02x%02x] \n\r", Md5output[8], - Md5output[9], - Md5output[10], - Md5output[11]); - printf(" D = [0x%02x%02x%02x%02x] \n\r", Md5output[12], - Md5output[13], - Md5output[14], - Md5output[15]); -} - -/** - * @brief Retargets the C library printf function to the USART. - * @param None - * @retval None - */ -PUTCHAR_PROTOTYPE -{ - /* Place your implementation of fputc here */ - /* e.g. write a character to the USART */ - USART_SendData(EVAL_COM1, (uint8_t) ch); - - /* Loop until the end of transmission */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - {} - - return ch; -} - - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/readme.txt deleted file mode 100644 index e8e3d61fc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/readme.txt +++ /dev/null @@ -1,87 +0,0 @@ -/** - @page HASH_SHA1_MD5 HASH digest calculation using SHA1 and MD5 example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file HASH/HASH_SHA1_MD5/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the digest calculation using SHA1 and MD5 Example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the HASH peripheral to -hash data using SHA-1 and MD5 Algorithms. - -For this example, no DMA is used for data transfer. - -The SHA-1 message digest result is a 160 bit data and the MD5 message digest result -is a 128 bit data. - -The SHA-1 and MD5 digests can be displayed on a PC HyperTerminal using the USART (CN16). - - -@par Directory contents - - HASH/HASH_SHA1_MD5/system_stm32f2xx.c STM32F2xx system clock configuration file - - HASH/HASH_SHA1_MD5/stm32f2xx_conf.h Library Configuration file - - HASH/HASH_SHA1_MD5/stm32f2xx_it.h Interrupt handlers header file - - HASH/HASH_SHA1_MD5/stm32f2xx_it.c Interrupt handlers - - HASH/HASH_SHA1_MD5/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs only on STM32F21x Devices (Cryptographic acceleration not - embedded in STM32F20x Devices). - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/stm32f2xx_conf.h deleted file mode 100644 index 26ef00a1b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/stm32f2xx_conf.h +++ /dev/null @@ -1,87 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/HASH_SHA1_MD5/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/stm32f2xx_it.c deleted file mode 100644 index 245d833d1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/stm32f2xx_it.c +++ /dev/null @@ -1,174 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/HMAC_SHA1_MD5/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup HASH_SHA1_MD5 - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/stm32f2xx_it.h deleted file mode 100644 index ddaa6d166..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/HASH_SHA1_MD5/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HASH_SHA1_MD5/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/Expected_Results.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/Expected_Results.txt deleted file mode 100644 index 4081db8e4..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/Expected_Results.txt +++ /dev/null @@ -1,30 +0,0 @@ - ====================================== - ==== HMAC Example ==== - ====================================== - - --------------------------------------- - Text to be Hashed ( 2088 bits): - --------------------------------------- -The hash processor is a fully compliant implementation of the secure hash algorithm (SHA-1), the MD5 (message-digest algorithm 5) hash algorithm and the HMAC (keyed-hash message authentication code) algorithm suitable for a variety of applications.*** STM32 *** - - --------------------------------------- - HMAC Key ( 2088 bits): - --------------------------------------- -The hash processor is a fully compliant implementation of the secure hash algorithm (SHA-1), the MD5 (message-digest algorithm 5) hash algorithm and the HMAC (keyed-hash message authentication code) algorithm suitable for a variety of applications.*** STM32 *** - - --------------------------------------- - SHA1 Message Digest (160 bits): - --------------------------------------- - H0 = [0x2b47ef34] - H1 = [0xf66658be] - H2 = [0x3b2ac6ec] - H3 = [0x5885f21e] - H4 = [0xd59fddad] - - --------------------------------------- - MD5 Message Digest (128 bits): - --------------------------------------- - A = [0x877ebbbf] - B = [0xc8a9c085] - C = [0x78a2c331] - D = [0xd67ec70e] diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/main.c deleted file mode 100644 index 027400cfc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/main.c +++ /dev/null @@ -1,364 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/HMAC_SHA1_MD5/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stdio.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup HMAC_SHA1_MD5 - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define INPUT_TAB_SIZE ((uint32_t) 261) -#define KEY_TAB_SIZE ((uint32_t) 261) - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ - -/* "The hash processor is a fully compliant implementation of the secure - hash algorithm (SHA-1), the MD5 (message-digest algorithm 5) hash - algorithm and the HMAC (keyed-hash message authentication code) - algorithm suitable for a variety of applications.*** STM32 ***" - */ -const uint8_t Input[INPUT_TAB_SIZE] = - {0x54,0x68,0x65,0x20,0x68,0x61,0x73,0x68, - 0x20,0x70,0x72,0x6f,0x63,0x65,0x73,0x73, - 0x6f,0x72,0x20,0x69,0x73,0x20,0x61,0x20, - 0x66,0x75,0x6c,0x6c,0x79,0x20,0x63,0x6f, - 0x6d,0x70,0x6c,0x69,0x61,0x6e,0x74,0x20, - 0x69,0x6d,0x70,0x6c,0x65,0x6d,0x65,0x6e, - 0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x6f, - 0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x65, - 0x63,0x75,0x72,0x65,0x20,0x68,0x61,0x73, - 0x68,0x20,0x61,0x6c,0x67,0x6f,0x72,0x69, - 0x74,0x68,0x6d,0x20,0x28,0x53,0x48,0x41, - 0x2d,0x31,0x29,0x2c,0x20,0x74,0x68,0x65, - 0x20,0x4d,0x44,0x35,0x20,0x28,0x6d,0x65, - 0x73,0x73,0x61,0x67,0x65,0x2d,0x64,0x69, - 0x67,0x65,0x73,0x74,0x20,0x61,0x6c,0x67, - 0x6f,0x72,0x69,0x74,0x68,0x6d,0x20,0x35, - 0x29,0x20,0x68,0x61,0x73,0x68,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65, - 0x20,0x48,0x4d,0x41,0x43,0x20,0x28,0x6b, - 0x65,0x79,0x65,0x64,0x2d,0x68,0x61,0x73, - 0x68,0x20,0x6d,0x65,0x73,0x73,0x61,0x67, - 0x65,0x20,0x61,0x75,0x74,0x68,0x65,0x6e, - 0x74,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e, - 0x20,0x63,0x6f,0x64,0x65,0x29,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x73,0x75,0x69,0x74,0x61,0x62,0x6c, - 0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x20, - 0x76,0x61,0x72,0x69,0x65,0x74,0x79,0x20, - 0x6f,0x66,0x20,0x61,0x70,0x70,0x6c,0x69, - 0x63,0x61,0x74,0x69,0x6f,0x6e,0x73,0x2e, - 0x2a,0x2a,0x2a,0x20,0x53,0x54,0x4d,0x33, - 0x32,0x20,0x2a,0x2a,0x2a}; - -/* key = "The hash processor is a fully compliant implementation of the secure - hash algorithm (SHA-1), the MD5 (message-digest algorithm 5) hash algorithm - and the HMAC (keyed-hash message authentication code)algorithm suitable for - a variety of applications.*** STM32 ***" - */ -const uint8_t Key[KEY_TAB_SIZE] = - {0x54,0x68,0x65,0x20,0x68,0x61,0x73,0x68, - 0x20,0x70,0x72,0x6f,0x63,0x65,0x73,0x73, - 0x6f,0x72,0x20,0x69,0x73,0x20,0x61,0x20, - 0x66,0x75,0x6c,0x6c,0x79,0x20,0x63,0x6f, - 0x6d,0x70,0x6c,0x69,0x61,0x6e,0x74,0x20, - 0x69,0x6d,0x70,0x6c,0x65,0x6d,0x65,0x6e, - 0x74,0x61,0x74,0x69,0x6f,0x6e,0x20,0x6f, - 0x66,0x20,0x74,0x68,0x65,0x20,0x73,0x65, - 0x63,0x75,0x72,0x65,0x20,0x68,0x61,0x73, - 0x68,0x20,0x61,0x6c,0x67,0x6f,0x72,0x69, - 0x74,0x68,0x6d,0x20,0x28,0x53,0x48,0x41, - 0x2d,0x31,0x29,0x2c,0x20,0x74,0x68,0x65, - 0x20,0x4d,0x44,0x35,0x20,0x28,0x6d,0x65, - 0x73,0x73,0x61,0x67,0x65,0x2d,0x64,0x69, - 0x67,0x65,0x73,0x74,0x20,0x61,0x6c,0x67, - 0x6f,0x72,0x69,0x74,0x68,0x6d,0x20,0x35, - 0x29,0x20,0x68,0x61,0x73,0x68,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x61,0x6e,0x64,0x20,0x74,0x68,0x65, - 0x20,0x48,0x4d,0x41,0x43,0x20,0x28,0x6b, - 0x65,0x79,0x65,0x64,0x2d,0x68,0x61,0x73, - 0x68,0x20,0x6d,0x65,0x73,0x73,0x61,0x67, - 0x65,0x20,0x61,0x75,0x74,0x68,0x65,0x6e, - 0x74,0x69,0x63,0x61,0x74,0x69,0x6f,0x6e, - 0x20,0x63,0x6f,0x64,0x65,0x29,0x20,0x61, - 0x6c,0x67,0x6f,0x72,0x69,0x74,0x68,0x6d, - 0x20,0x73,0x75,0x69,0x74,0x61,0x62,0x6c, - 0x65,0x20,0x66,0x6f,0x72,0x20,0x61,0x20, - 0x76,0x61,0x72,0x69,0x65,0x74,0x79,0x20, - 0x6f,0x66,0x20,0x61,0x70,0x70,0x6c,0x69, - 0x63,0x61,0x74,0x69,0x6f,0x6e,0x73,0x2e, - 0x2a,0x2a,0x2a,0x20,0x53,0x54,0x4d,0x33, - 0x32,0x20,0x2a,0x2a,0x2a}; - -uint8_t Md5output[16]; -uint8_t Sha1output[20]; - -/* Private function prototypes -----------------------------------------------*/ -void USART_Config(void); -void Display_MainMessage(void); -void Display_SHA1Digest(void); -void Display_MD5Digest(void); - -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ -/*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - /* USART configuration */ - USART_Config(); - /* Enable HASH clock */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_HASH, ENABLE); - - /* Display the original message */ - Display_MainMessage(); -/*============================================================================= - HMAC SHA-1 Digest Computation -==============================================================================*/ - - /* HMAC SHA-1 Digest Computation */ - HMAC_SHA1((uint8_t*)Key, KEY_TAB_SIZE, - (uint8_t*)Input, INPUT_TAB_SIZE, - Sha1output); - - - /* Display the HMAC SHA1 digest */ - Display_SHA1Digest(); - -/*============================================================================= - HMAC MD5 Digest Computation -==============================================================================*/ - - /* HMAC MD5 Digest Computation */ - HMAC_MD5((uint8_t*)Key, KEY_TAB_SIZE, - (uint8_t*)Input, INPUT_TAB_SIZE, - Md5output); - - /* Display the HMAC MD5 digest */ - Display_MD5Digest(); - - while(1); -} - -/** - * @brief Display the original message. - * @param None - * @retval None - */ -void Display_MainMessage(void) -{ - uint32_t i=0; - - printf("\n\r ======================================\n\r"); - printf(" ==== HMAC Example ====\n\r"); - printf(" ======================================\n\r"); - printf(" ---------------------------------------\n\r"); - printf(" Text to be Hashed ( %d bits): \n\r", INPUT_TAB_SIZE*8); - printf(" ---------------------------------------\n\r"); - - for(i = 0; i < INPUT_TAB_SIZE ; i++) - { - printf("%c", Input[i]); - } - printf("\n\r ---------------------------------------\n\r"); - printf(" HMAC Key ( %d bits): \n\r", KEY_TAB_SIZE*8); - printf(" ---------------------------------------\n\r"); - - for(i = 0; i < KEY_TAB_SIZE ; i++) - { - printf("%c", Key[i]); - } - -} - -/** - * @brief Display the SHA-1 digest. - * @param None - * @retval None - */ -void Display_SHA1Digest(void) -{ - __IO uint8_t i=0; - printf("\n\r ---------------------------------------\n\r"); - printf(" SHA1 Message Digest (160 bits):\n\r"); - printf(" ---------------------------------------\n\r"); - printf(" H0 = [0x%02x%02x%02x%02x] \n\r",Sha1output[0], - Sha1output[1], - Sha1output[2], - Sha1output[3]); - printf(" H1 = [0x%02x%02x%02x%02x] \n\r",Sha1output[4], - Sha1output[5], - Sha1output[6], - Sha1output[7]); - printf(" H2 = [0x%02x%02x%02x%02x] \n\r",Sha1output[8], - Sha1output[9], - Sha1output[10], - Sha1output[11]); - printf(" H3 = [0x%02x%02x%02x%02x] \n\r",Sha1output[12], - Sha1output[13], - Sha1output[14], - Sha1output[15]); - printf(" H4 = [0x%02x%02x%02x%02x] \n\r",Sha1output[16], - Sha1output[17], - Sha1output[18], - Sha1output[19]); -} - -/** - * @brief Display the MD5 digest. - * @param None - * @retval None - */ -void Display_MD5Digest(void) -{ - - printf("\n\r ---------------------------------------\n\r"); - printf(" MD5 Message Digest (128 bits): \n\r"); - printf(" ---------------------------------------\n\r"); - printf(" A = [0x%02x%02x%02x%02x] \n\r", Md5output[0], - Md5output[1], - Md5output[2], - Md5output[3]); - printf("\r B = [0x%02x%02x%02x%02x] \n", Md5output[4], - Md5output[5], - Md5output[6], - Md5output[7]); - printf("\r C = [0x%02x%02x%02x%02x] \n", Md5output[8], - Md5output[9], - Md5output[10], - Md5output[11]); - printf("\r D = [0x%02x%02x%02x%02x] \n", Md5output[12], - Md5output[13], - Md5output[14], - Md5output[15]); -} - -/** - * @brief USART configuration - * @param None - * @retval None - */ -void USART_Config(void) -{ - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitTypeDef USART_InitStructure; - - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); -} - -/** - * @brief Retargets the C library printf function to the USART. - * @param None - * @retval None - */ -PUTCHAR_PROTOTYPE -{ - /* Place your implementation of fputc here */ - /* e.g. write a character to the USART */ - USART_SendData(EVAL_COM1, (uint8_t) ch); - - /* Loop until the end of transmission */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - {} - - return ch; -} - - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/readme.txt deleted file mode 100644 index 85929ebf0..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/readme.txt +++ /dev/null @@ -1,89 +0,0 @@ -/** - @page HMAC_SHA1_MD5 HMAC digest calculation using HMAC SHA1 and HMAC MD5 example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file HASH/HMAC_SHA1_MD5/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the HMAC digest calculation using HMAC SHA1 and - * HMAC MD5 Example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the HASH peripheral to -hash data using HMAC SHA-1 and HMAC MD5 Algorithms. - -For this example, no DMA is used for data transfer. -The key used is long type (2088 bit data). -The HMAC SHA-1 message digest result is a 160 bit data and the HMAC MD5 message -digest result is a 128 bit data. - -The HMAC SHA-1 and HMAC MD5 digests can be displayed on a PC HyperTerminal using -the USART (CN16). - - -@par Directory contents - - HASH/HMAC_SHA1_MD5/system_stm32f2xx.c STM32F2xx system clock configuration file - - HASH/HMAC_SHA1_MD5/stm32f2xx_conf.h Library Configuration file - - HASH/HMAC_SHA1_MD5/stm32f2xx_it.h Interrupt handlers header file - - HASH/HMAC_SHA1_MD5/stm32f2xx_it.c Interrupt handlers - - HASH/HMAC_SHA1_MD5/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs only on STM32F21x Devices (Cryptographic acceleration not - embedded in STM32F20x Devices). - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/stm32f2xx_conf.h deleted file mode 100644 index 167fbcbfc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/stm32f2xx_conf.h +++ /dev/null @@ -1,87 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/HMAC_SHA1_MD5/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/stm32f2xx_it.c deleted file mode 100644 index 91083a94e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/HMAC_SHA1_MD5/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup HMAC_SHA1_MD5 - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/stm32f2xx_it.h deleted file mode 100644 index c3036fd29..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/HMAC_SHA1_MD5/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/HMAC_SHA1_MD5/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/Expected_Results.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/Expected_Results.txt deleted file mode 100644 index 7e72721ab..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/Expected_Results.txt +++ /dev/null @@ -1,29 +0,0 @@ - ====================================== - ==== HASH Using DMA Example ==== - ====================================== - --------------------------------------- - Text to be Hashed (1024 bits): - --------------------------------------- -Hash processor (HASH) computes a - message digest (128bit for MD5 - and 160bit for SHA-1) for mess -ages of up to (2exp64 – 1) bits -. - - --------------------------------------- - SHA1 Message Digest (160 bits): - --------------------------------------- - H0 = [0xd0640dbf] - H1 = [0x9f30019b] - H2 = [0x205527fb] - H3 = [0x71e35e48] - H4 = [0x9d9524fc] - - - --------------------------------------- - MD5 Message Digest (128 bits): - --------------------------------------- - A = [0x83a44877] - B = [0xb74f8bb4] - C = [0x4e741f1c] - D = [0xe835b673] diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/main.c deleted file mode 100644 index d71ff63db..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/main.c +++ /dev/null @@ -1,378 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/SHA1_MD5_DMA/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stdio.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SHA1_MD5_DMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define SIZE_MSG_TO_HASH_IN_BITS (512 * 2) -#define SIZE_MSG_TO_HASH_IN_BYTES (SIZE_MSG_TO_HASH_IN_BITS / 8) -#define SIZE_MSG_TO_HASH_IN_WORDS (SIZE_MSG_TO_HASH_IN_BITS / 32) -#define HASH_DIN_REG_ADDR ((uint32_t)0x50060404) /* HASH DIN register address */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ - -HASH_MsgDigest MsgDigest; - -uint8_t MessageToHash[SIZE_MSG_TO_HASH_IN_BYTES]= -"Hash processor (HASH) computes a message digest (128bit for MD5 and 160bit for \ -SHA-1) for messages of up to (2exp64 – 1) bits."; - -/* Private function prototypes -----------------------------------------------*/ -void HASH_SHA1_DMA(void); -void HASH_MD5_DMA(void); - -void Display_MainMessage(void); -void Display_SHA1Digest(void); -void Display_MD5Digest(void); - -void USART_Config(void); -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ -/*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* USART configuration */ - USART_Config(); - - /* Enable HASH and DMA clocks */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_HASH, ENABLE); - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); - - /* Display the original message */ - Display_MainMessage(); - -/*============================================================================= - SHA-1 Digest Computation -==============================================================================*/ - /* HASH SHA-1 Digest computation (using DMA for data transfer) */ - HASH_SHA1_DMA(); - - /* Display the SHA1 digest */ - Display_SHA1Digest(); - -/*============================================================================= - MD5 Digest Computation -==============================================================================*/ - /* HASH MD5 Digest computation (using DMA for data transfer) */ - HASH_MD5_DMA(); - - /* Display the MD5 digest */ - Display_MD5Digest(); - - while(1); -} - -/** - * @brief HASH SHA-1 Digest computation (using DMA for data transfer) - * @note DMA2 stream7 channel2 is used to transfer data from memory - * (MessageToHash[] array) to HASH Peripheral (the INPUT data register). - * @param None - * @retval None - */ -void HASH_SHA1_DMA(void) -{ - HASH_InitTypeDef HASH_InitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /* HASH Configuration */ - HASH_StructInit(&HASH_InitStructure); - HASH_InitStructure.HASH_AlgoSelection = HASH_AlgoSelection_SHA1; - HASH_InitStructure.HASH_AlgoMode = HASH_AlgoMode_HASH; - HASH_InitStructure.HASH_DataType = HASH_DataType_32b; - HASH_Init(&HASH_InitStructure); - - /*DMA Configuration*/ - DMA_DeInit(DMA2_Stream7); - DMA_InitStructure.DMA_Channel = DMA_Channel_2; - DMA_InitStructure.DMA_PeripheralBaseAddr = HASH_DIN_REG_ADDR; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)MessageToHash; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - DMA_InitStructure.DMA_BufferSize = SIZE_MSG_TO_HASH_IN_WORDS; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - - /* Configure the DMA Stream */ - DMA_Init(DMA2_Stream7, &DMA_InitStructure); - - /* Enable HASH DMA */ - HASH_DMACmd(ENABLE); - - /* Enable DMA2 Transfer */ - DMA_Cmd(DMA2_Stream7, ENABLE); - - /* Note : When the DMA is enabled, it provides the information to the hash - processor when it is transferring the last data word. Then the - padding and digest computation are performed automatically as if - DCAL had been written to 1.*/ - - /* Wait until DMA Transfer completed */ - while (DMA_GetFlagStatus(DMA2_Stream7, DMA_FLAG_TCIF7) == RESET); - - /* Wait until the Busy flag is RESET */ - while (HASH_GetFlagStatus(HASH_FLAG_BUSY) != RESET); - - /* Get the SHA-1 Digest */ - HASH_GetDigest(&MsgDigest); -} - - -/** - * @brief HASH MD5 Digest computation (using DMA for data transfer) - * @note DMA2 stream7 channel2 is used to transfer data from memory - * (MessageToHash[] array) to HASH Peripheral (the INPUT data register). - * @param None - * @retval None - */ -void HASH_MD5_DMA(void) -{ - HASH_InitTypeDef HASH_InitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /* HASH Configuration */ - HASH_InitStructure.HASH_AlgoSelection = HASH_AlgoSelection_MD5; - HASH_InitStructure.HASH_AlgoMode = HASH_AlgoMode_HASH; - HASH_InitStructure.HASH_DataType = HASH_DataType_32b; - HASH_InitStructure.HASH_HMACKeyType = HASH_HMACKeyType_ShortKey; - HASH_Init(&HASH_InitStructure); - - /*DMA Configuration*/ - DMA_DeInit(DMA2_Stream7); - DMA_InitStructure.DMA_Channel = DMA_Channel_2; - DMA_InitStructure.DMA_PeripheralBaseAddr = HASH_DIN_REG_ADDR; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)MessageToHash; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - DMA_InitStructure.DMA_BufferSize = SIZE_MSG_TO_HASH_IN_WORDS; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - - /* Configure the DMA Stream */ - DMA_Init(DMA2_Stream7, &DMA_InitStructure); - - /* Enable HASH DMA */ - HASH_DMACmd(ENABLE); - - /* Enable DMA2 Transfer */ - DMA_Cmd(DMA2_Stream7, ENABLE); - - /* Note : When the DMA is enabled, it provides the information to the hash - processor when it is transferring the last data word. Then the - padding and digest computation are performed automatically as if - DCAL had been written to 1.*/ - - /* wait until DMA Transfer completed */ - while (DMA_GetFlagStatus(DMA2_Stream7, DMA_FLAG_TCIF7) == RESET); - - /* wait until the Busy flag is RESET */ - while (HASH_GetFlagStatus(HASH_FLAG_BUSY) != RESET); - - /* Get the MD5 Digest */ - HASH_GetDigest(&MsgDigest); -} -/** - * @brief Display the original message. - * @param None - * @retval None - */ -void Display_MainMessage(void) -{ - uint32_t BufferCounter=0; - - printf("\n\r ======================================\n\r"); - printf(" ==== HASH Using DMA Example ====\n\r"); - printf(" ======================================\n\r"); - printf(" ---------------------------------------\n\r"); - printf(" Text to be Hashed (%d bits):\n\r", SIZE_MSG_TO_HASH_IN_BYTES*8); - printf(" ---------------------------------------\n\r"); - - for(BufferCounter = 0; BufferCounter ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs only on STM32F21x Devices (Cryptographic acceleration not - embedded in STM32F20x Devices). - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/stm32f2xx_conf.h deleted file mode 100644 index 193444669..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/SHA1_MD5_DMA/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/stm32f2xx_it.c deleted file mode 100644 index 6440f7d26..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/SHA1_MD5_DMA/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SHA1_MD5_DMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/stm32f2xx_it.h deleted file mode 100644 index 789f3f041..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file HASH/SHA1_MD5_DMA/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/HASH/SHA1_MD5_DMA/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/main.c deleted file mode 100644 index 14a5b245f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/main.c +++ /dev/null @@ -1,324 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/EEPROM/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm322xg_eval_i2c_ee.h" -#include "stm322xg_eval_lcd.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup I2C_EEPROM - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Private define ------------------------------------------------------------*/ -/* Uncomment the following line to enable using LCD screen for messages display */ -#define ENABLE_LCD_MSG_DISPLAY - -#define sEE_WRITE_ADDRESS1 0x50 -#define sEE_READ_ADDRESS1 0x50 -#define BUFFER_SIZE1 (countof(Tx1_Buffer)-1) -#define BUFFER_SIZE2 (countof(Tx2_Buffer)-1) -#define sEE_WRITE_ADDRESS2 (sEE_WRITE_ADDRESS1 + BUFFER_SIZE1) -#define sEE_READ_ADDRESS2 (sEE_READ_ADDRESS1 + BUFFER_SIZE1) - -/* Private macro -------------------------------------------------------------*/ -#define countof(a) (sizeof(a) / sizeof(*(a))) - -/* Private variables ---------------------------------------------------------*/ -uint8_t Tx1_Buffer[] = "/* STM32F20xx I2C Firmware Library EEPROM driver example: \ - buffer 1 transfer into address sEE_WRITE_ADDRESS1 */ \ - Example Description \ - This firmware provides a basic example of how to use the I2C firmware library and\ - an associate I2C EEPROM driver to communicate with an I2C EEPROM device (here the\ - example is interfacing with M24C64 EEPROM)\ - \ - I2C peripheral is configured in Master transmitter during write operation and in\ - Master receiver during read operation from I2C EEPROM. \ - \ - The peripheral used is I2C1 but can be configured by modifying the defines values\ - in stm322xg_eval.h file. The speed is set to 100kHz and can be configured by \ - modifying the relative define in stm32_eval_i2c_ee.h file.\ - \ - For M24C64 devices all the memory is accessible through the two-bytes \ - addressing mode and need to define block addresses. In this case, only the physical \ - address has to be defined (according to the address pins (E0,E1 and E2) connection).\ - This address is defined in i2c_ee.h (default is 0xA0: E0, E1 and E2 tied to ground).\ - The EEPROM addresses where the program start the write and the read operations \ - is defined in the main.c file. \ - \ - First, the content of Tx1_Buffer is written to the EEPROM_WriteAddress1 and the\ - written data are read. The written and the read buffers data are then compared.\ - Following the read operation, the program waits that the EEPROM reverts to its \ - Standby state. A second write operation is, then, performed and this time, Tx2_Buffer\ - is written to EEPROM_WriteAddress2, which represents the address just after the last \ - written one in the first write. After completion of the second write operation, the \ - written data are read. The contents of the written and the read buffers are compared.\ - \ - All transfers are managed in DMA mode (except when 1-byte read/write operation is\ - required). Once sEE_ReadBuffer() or sEE_WriteBuffer() function is called, the \ - use application may perform other tasks in parallel while Read/Write operation is\ - managed by DMA.\ - \ - This example provides the possibility to use the STM322xG-EVAL LCD screen for\ - messages display (transfer status: Ongoing, PASSED, FAILED).\ - To enable this option uncomment the define ENABLE_LCD_MSG_DISPLAY in the main.c\ - file. "; -uint8_t Tx2_Buffer[] = "/* STM32F20xx I2C Firmware Library EEPROM driver example: \ - buffer 2 transfer into address sEE_WRITE_ADDRESS2 */"; -uint8_t Rx1_Buffer[BUFFER_SIZE1], Rx2_Buffer[BUFFER_SIZE2]; -volatile TestStatus TransferStatus1 = FAILED, TransferStatus2 = FAILED; -volatile uint16_t NumDataRead = 0; - -/* Private functions ---------------------------------------------------------*/ -TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength); - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - -#ifdef ENABLE_LCD_MSG_DISPLAY - /* Initialize the LCD screen for information display */ - STM322xG_LCD_Init(); - LCD_Clear(LCD_COLOR_BLUE); - LCD_SetBackColor(LCD_COLOR_BLUE); - LCD_SetTextColor(LCD_COLOR_WHITE); - LCD_DisplayStringLine(LCD_LINE_0, (uint8_t *)"SMT32F2xx FW Library"); - LCD_DisplayStringLine(LCD_LINE_1, (uint8_t *)" EEPROM Example "); -#endif /* ENABLE_LCD_MSG_DISPLAY */ - - /* Initialize the I2C EEPROM driver ----------------------------------------*/ - sEE_Init(); - - /* First write in the memory followed by a read of the written data --------*/ - /* Write on I2C EEPROM from sEE_WRITE_ADDRESS1 */ - sEE_WriteBuffer(Tx1_Buffer, sEE_WRITE_ADDRESS1, BUFFER_SIZE1); - - /* Wait for EEPROM standby state */ - sEE_WaitEepromStandbyState(); - - /* Set the Number of data to be read */ - NumDataRead = BUFFER_SIZE1; - - /* Read from I2C EEPROM from sEE_READ_ADDRESS1 */ - sEE_ReadBuffer(Rx1_Buffer, sEE_READ_ADDRESS1, (uint16_t *)(&NumDataRead)); - - - /* Starting from this point, if the requested number of data is higher than 1, - then only the DMA is managing the data transfer. Meanwhile, CPU is free to - perform other tasks: - - // Add your code here: - //... - //... - - For simplicity reasons, this example is just waiting till the end of the - transfer. */ - -#ifdef ENABLE_LCD_MSG_DISPLAY - LCD_DisplayStringLine(LCD_LINE_3, (uint8_t *)" Transfer 1 Ongoing "); -#endif /* ENABLE_LCD_MSG_DISPLAY */ - - /* Wait till DMA transfer is complete (Transfer complete interrupt handler - resets the variable holding the number of data to be read) */ - while (NumDataRead > 0) - {} - - /* Check if the data written to the memory is read correctly */ - TransferStatus1 = Buffercmp(Tx1_Buffer, Rx1_Buffer, BUFFER_SIZE1); - /* TransferStatus1 = PASSED, if the transmitted and received data - to/from the EEPROM are the same */ - /* TransferStatus1 = FAILED, if the transmitted and received data - to/from the EEPROM are different */ -#ifdef ENABLE_LCD_MSG_DISPLAY - if (TransferStatus1 == PASSED) - { - LCD_DisplayStringLine(LCD_LINE_3, (uint8_t *)" Transfer 1 PASSED "); - } - else - { - LCD_DisplayStringLine(LCD_LINE_3, (uint8_t *)" Transfer 1 FAILED "); - } -#endif /* ENABLE_LCD_MSG_DISPLAY */ - - /* Second write in the memory followed by a read of the written data -------*/ - /* Write on I2C EEPROM from sEE_WRITE_ADDRESS2 */ - sEE_WriteBuffer(Tx2_Buffer, sEE_WRITE_ADDRESS2, BUFFER_SIZE2); - - /* Wait for EEPROM standby state */ - sEE_WaitEepromStandbyState(); - - /* Set the Number of data to be read */ - NumDataRead = BUFFER_SIZE2; - - /* Read from I2C EEPROM from sEE_READ_ADDRESS2 */ - sEE_ReadBuffer(Rx2_Buffer, sEE_READ_ADDRESS2, (uint16_t *)(&NumDataRead)); - - - /* Starting from this point, if the requested number of data is higher than 1, - then only the DMA is managing the data transfer. Meanwhile, CPU is free to - perform other tasks: - - // Add your code here: - //... - //... - - For simplicity reasons, this example is just waiting till the end of the - transfer. */ - -#ifdef ENABLE_LCD_MSG_DISPLAY - LCD_DisplayStringLine(LCD_LINE_5, (uint8_t *)" Transfer 2 Ongoing "); -#endif /* ENABLE_LCD_MSG_DISPLAY */ - - /* Wait till DMA transfer is complete (Transfer complete interrupt handler - resets the variable holding the number of data to be read) */ - while (NumDataRead > 0) - {} - - /* Check if the data written to the memory is read correctly */ - TransferStatus2 = Buffercmp(Tx2_Buffer, Rx2_Buffer, BUFFER_SIZE2); - /* TransferStatus2 = PASSED, if the transmitted and received data - to/from the EEPROM are the same */ - /* TransferStatus2 = FAILED, if the transmitted and received data - to/from the EEPROM are different */ -#ifdef ENABLE_LCD_MSG_DISPLAY - if (TransferStatus1 == PASSED) - { - LCD_DisplayStringLine(LCD_LINE_5, (uint8_t *)" Transfer 2 PASSED "); - } - else - { - LCD_DisplayStringLine(LCD_LINE_5, (uint8_t *)" Transfer 2 FAILED "); - } -#endif /* ENABLE_LCD_MSG_DISPLAY */ - - /* Free all used resources */ - sEE_DeInit(); - - while (1) - { - } -} - -#ifndef USE_DEFAULT_TIMEOUT_CALLBACK -/** - * @brief Example of timeout situation management. - * @param None. - * @retval None. - */ -uint32_t sEE_TIMEOUT_UserCallback(void) -{ - /* Use application may try to recover the communication by resetting I2C - peripheral (calling the function I2C_SoftwareResetCmd()) then restart - the transmission/reception from a previously stored recover point. - For simplicity reasons, this example only shows a basic way for errors - managements which consists of stopping all the process and requiring system - reset. */ - -#ifdef ENABLE_LCD_MSG_DISPLAY - /* Display error message on screen */ - LCD_Clear(LCD_COLOR_RED); - LCD_DisplayStringLine(LCD_LINE_4, (uint8_t *)"Communication ERROR!"); - LCD_DisplayStringLine(LCD_LINE_5, (uint8_t *)"Try again after res-"); - LCD_DisplayStringLine(LCD_LINE_6, (uint8_t *)" etting the Board "); -#endif /* ENABLE_LCD_MSG_DISPLAY */ - - /* Block communication and all processes */ - while (1) - { - } -} -#endif /* USE_DEFAULT_TIMEOUT_CALLBACK */ - -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer1 identical to pBuffer2 - * FAILED: pBuffer1 differs from pBuffer2 - */ -TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength) -{ - while(BufferLength--) - { - if(*pBuffer1 != *pBuffer2) - { - return FAILED; - } - - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/readme.txt deleted file mode 100644 index 8d769b489..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/readme.txt +++ /dev/null @@ -1,107 +0,0 @@ -/** - @page I2C_EEPROM How to use the I2C to drive an EEPROM memory - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file I2C/EEPROM/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the I2C and M24CXX EEPROM communication example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This firmware provides a basic example of how to use the I2C firmware library and -an associate I2C EEPROM driver to communicate with an I2C EEPROM device (here the -example is interfacing with M24C64 EEPROM) - -I2C peripheral is configured in Master transmitter during write operation and in -Master receiver during read operation from I2C EEPROM. - -The peripheral used is I2C1 but can be configured by modifying the defines values -in stm322xg_eval.h file. The speed is set to 100kHz and can be configured by -modifying the relative define in stm322xg_eval_i2c_ee.h file. - -For M24C64 devices all the memory is accessible through the two-bytes -addressing mode and need to define block addresses. In this case, only the physical -address has to be defined (according to the address pins (E0,E1 and E2) connection). -This address is defined in stm322xg_eval_i2c_ee.h (default is 0xA0: E0, E1 and E2 -tied to ground). -The EEPROM addresses where the program start the write and the read operations -is defined in the main.c file. - -First, the content of Tx1_Buffer is written to the EEPROM_WriteAddress1 and the -written data are read. The written and the read buffers data are then compared. -Following the read operation, the program waits that the EEPROM reverts to its -Standby state. A second write operation is, then, performed and this time, Tx2_Buffer -is written to EEPROM_WriteAddress2, which represents the address just after the last -written one in the first write. After completion of the second write operation, the -written data are read. The contents of the written and the read buffers are compared. - -All transfers are managed in DMA mode (except when 1-byte read/write operation is -required). Once sEE_ReadBuffer() or sEE_WriteBuffer() function is called, the -use application may perform other tasks in parallel while Read/Write operation is -managed by DMA. - -This example provides the possibility to use the STM322xG-EVAL LCD screen for -messages display (transfer status: Ongoing, PASSED, FAILED). -To enable this option uncomment the define ENABLE_LCD_MSG_DISPLAY in the main.c -file. - - -@par Directory contents - - - I2C/EEPROM/system_stm32f2xx.c STM32F2xx system clock configuration file - - I2C/EEPROM/stm32f2xx_conf.h Library Configuration file - - I2C/EEPROM/stm32f2xx_it.c Interrupt handlers - - I2C/EEPROM/stm32f2xx_it.h Interrupt handlers header file - - I2C/EEPROM/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB (with no additional - hardware), and can be easily tailored to any other development board. - - - STM322xG-EVAL Set-up - - Make sure the jumper JP24 "WP" is fitted on the board. - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Add the "stm322xg_eval_i2c_ee.c" file (under Utilities\STM32_EVAL\STM322xG_EVAL) - to the project source list - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/stm32f2xx_conf.h deleted file mode 100644 index 4808bf823..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/EEPROM/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/stm32f2xx_it.c deleted file mode 100644 index 724f84a1b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/EEPROM/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup I2C_EEPROM - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/stm32f2xx_it.h deleted file mode 100644 index 0f540ebb8..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/EEPROM/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/EEPROM/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/main.c deleted file mode 100644 index 6815ee75f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/main.c +++ /dev/null @@ -1,726 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/DataExchangeDMA/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup I2C_DataExchangeDMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -uint8_t HEADER_ADDRESS_Write = (((SLAVE_ADDRESS & 0xFF00) >> 7) | 0xF0); -uint8_t HEADER_ADDRESS_Read = (((SLAVE_ADDRESS & 0xFF00) >> 7) | 0xF1); -#define countof(a) (sizeof(a) / sizeof(*(a))) - -/* Private variables ---------------------------------------------------------*/ -I2C_InitTypeDef I2C_InitStructure; -DMA_InitTypeDef DMA_InitStructure; -uint8_t TxBuffer[] = "I2C DMA Example: Communication between two I2C using DMA"; -uint8_t RxBuffer [256]; -__IO uint32_t TimeOut = 0x0; -RCC_ClocksTypeDef RCC_Clocks; - -/* Private function prototypes -----------------------------------------------*/ -static void I2C_Config(void); -static void SysTickConfig(void); -static void TimeOut_UserCallback(void); -static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength); -static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /* At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* I2C configuration ---------------------------------------------------------*/ - I2C_Config(); - - /* Initialize LEDs mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* SysTick configuration -----------------------------------------------------*/ - SysTickConfig(); - - /* Clear the RxBuffer */ - Fill_Buffer(RxBuffer, RXBUFFERSIZE); - - /*************************************Master Code******************************/ -#if defined (I2C_MASTER) - - /* I2C Struct Initialize */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DUTYCYCLE; - I2C_InitStructure.I2C_OwnAddress1 = 0xA0; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED; - -#ifndef I2C_10BITS_ADDRESS - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; -#else - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_10bit; -#endif /* I2C_10BITS_ADDRESS */ - - /* I2C Initialize */ - I2C_Init(I2Cx, &I2C_InitStructure); - - /* Master Transmitter --------------------------------------------------------*/ - - /* Generate the Start condition */ - I2C_GenerateSTART(I2Cx, ENABLE); - -#ifdef I2C_10BITS_ADDRESS - /* Test on I2C1 EV5 and clear it */ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_MODE_SELECT))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Send Header to I2Cx for write or time out */ - I2C_SendData(I2Cx, HEADER_ADDRESS_Write); - /* Test on I2Cx EV9 and clear it */ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_MODE_ADDRESS10))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Send I2Cx slave Address for write */ - I2C_Send7bitAddress(I2Cx, (uint8_t)SLAVE_ADDRESS, I2C_Direction_Transmitter); - - #else /* I2C_7BITS_ADDRESS */ - - /* Test on I2Cx EV5 and clear it or time out */ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_MODE_SELECT))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Send I2Cx slave Address for write */ - I2C_Send7bitAddress(I2Cx, SLAVE_ADDRESS, I2C_Direction_Transmitter); - -#endif /* I2C_10BITS_ADDRESS */ - - /* Test on I2Cx EV6 and clear it or time out */ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* I2Cx DMA Enable */ - I2C_DMACmd(I2Cx, ENABLE); - - /* Enable DMA TX Channel */ - DMA_Cmd(I2Cx_DMA_STREAM_TX, ENABLE); - - /* Wait until I2Cx_DMA_STREAM_TX enabled or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetCmdStatus(I2Cx_DMA_STREAM_TX)!= ENABLE)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Wait until DMA Transfer Complete or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetFlagStatus(I2Cx_DMA_STREAM_TX,I2Cx_TX_DMA_TCFLAG) == RESET)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* I2Cx DMA Disable */ - I2C_DMACmd(I2Cx, DISABLE); - - /* Wait until BTF Flag is set before generating STOP or time out */ - TimeOut = USER_TIMEOUT; - while ((!I2C_GetFlagStatus(I2Cx,I2C_FLAG_BTF))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Send I2Cx STOP Condition */ - I2C_GenerateSTOP(I2Cx, ENABLE); - - /* Disable DMA TX Channel */ - DMA_Cmd(I2Cx_DMA_STREAM_TX, DISABLE); - - /* Wait until I2Cx_DMA_STREAM_TX disabled or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetCmdStatus(I2Cx_DMA_STREAM_TX)!= DISABLE)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Clear any pending flag on Tx Stream */ - DMA_ClearFlag(I2Cx_DMA_STREAM_TX, I2Cx_TX_DMA_TCFLAG | I2Cx_TX_DMA_FEIFLAG | I2Cx_TX_DMA_DMEIFLAG | \ - I2Cx_TX_DMA_TEIFLAG | I2Cx_TX_DMA_HTIFLAG); - - /* Master Receiver -----------------------------------------------------------*/ - - /* Enable DMA NACK automatic generation */ - I2C_DMALastTransferCmd(I2Cx, ENABLE); - - /* Send I2Cx START condition */ - I2C_GenerateSTART(I2Cx, ENABLE); - -#ifdef I2C_10BITS_ADDRESS - /* Test on EV5 and clear it or time out */ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_MODE_SELECT))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Send Header to Slave for write */ - I2C_SendData(I2Cx, HEADER_ADDRESS_Write); - - /* Test on EV9 and clear it or time out */ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_MODE_ADDRESS10))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Send slave Address */ - I2C_Send7bitAddress(I2Cx, (uint8_t)SLAVE_ADDRESS, I2C_Direction_Transmitter); - - /* Test on I2Cx EV6 and clear it or time out*/ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Repeated Start */ - I2C_GenerateSTART(I2Cx, ENABLE); - - /* Test on EV5 and clear it or time out*/ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_MODE_SELECT))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Send Header to Slave for Read */ - I2C_SendData(I2Cx, HEADER_ADDRESS_Read); - -#else /* I2C_7BITS_ADDRESS */ - - /* Test on I2Cx EV5 and clear it or time out*/ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_MODE_SELECT))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Send I2Cx slave Address for write */ - I2C_Send7bitAddress(I2Cx, SLAVE_ADDRESS, I2C_Direction_Receiver); - -#endif /* I2C_10BITS_ADDRESS */ - - /* Test on I2Cx EV6 and clear it or time out */ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* I2Cx DMA Enable */ - I2C_DMACmd(I2Cx, ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(I2Cx_DMA_STREAM_RX, ENABLE); - - /* Wait until I2Cx_DMA_STREAM_RX enabled or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetCmdStatus(I2Cx_DMA_STREAM_RX)!= ENABLE)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Transfer complete or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetFlagStatus(I2Cx_DMA_STREAM_RX,I2Cx_RX_DMA_TCFLAG)==RESET)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Send I2Cx STOP Condition */ - I2C_GenerateSTOP(I2Cx, ENABLE); - - /* Disable DMA RX Channel */ - DMA_Cmd(I2Cx_DMA_STREAM_RX, DISABLE); - - /* Wait until I2Cx_DMA_STREAM_RX disabled or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetCmdStatus(I2Cx_DMA_STREAM_RX)!= DISABLE)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Disable I2C DMA request */ - I2C_DMACmd(I2Cx,DISABLE); - - /* Clear any pending flag on Rx Stream */ - DMA_ClearFlag(I2Cx_DMA_STREAM_RX, I2Cx_RX_DMA_TCFLAG | I2Cx_RX_DMA_FEIFLAG | I2Cx_RX_DMA_DMEIFLAG | \ - I2Cx_RX_DMA_TEIFLAG | I2Cx_RX_DMA_HTIFLAG); - - if (Buffercmp(TxBuffer, RxBuffer, RXBUFFERSIZE) == PASSED) - { - /* LED2, LED3 and LED4 Toggle */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - } - else - { /* ED2, LED3 and LED4 On */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } - -#endif /* I2C_MASTER */ - -/**********************************Slave Code**********************************/ -#if defined (I2C_SLAVE) - - /* Initialize I2C peripheral */ - /* I2C Init */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DUTYCYCLE; - I2C_InitStructure.I2C_OwnAddress1 = SLAVE_ADDRESS; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED; - -#ifndef I2C_10BITS_ADDRESS - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; -#else - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_10bit; -#endif /* I2C_10BITS_ADDRESS */ - - I2C_Init(I2Cx, &I2C_InitStructure); - - /* Slave Receiver ------------------------------------------------------------*/ - - /* Test on I2C EV1 and clear it */ - while (!I2C_CheckEvent(I2Cx, I2C_EVENT_SLAVE_RECEIVER_ADDRESS_MATCHED)) - {} - - /* I2Cx DMA Enable */ - I2C_DMACmd(I2Cx, ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(I2Cx_DMA_STREAM_RX, ENABLE); - - /* Wait until I2Cx_DMA_STREAM_RX enabled or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetCmdStatus(I2Cx_DMA_STREAM_RX)!= ENABLE)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Transfer complete or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetFlagStatus(I2Cx_DMA_STREAM_RX,I2Cx_RX_DMA_TCFLAG)==RESET)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Test on I2Cx EV4 and clear it or time out */ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_SLAVE_STOP_DETECTED))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* Disable DMA RX Channel */ - DMA_Cmd(I2Cx_DMA_STREAM_RX, DISABLE); - - /* Wait until I2Cx_DMA_STREAM_RX disabled or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetCmdStatus(I2Cx_DMA_STREAM_RX)!= DISABLE)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Disable I2C DMA request */ - I2C_DMACmd(I2Cx,DISABLE); - - /* Clear any pending flag on Rx Stream */ - DMA_ClearFlag(I2Cx_DMA_STREAM_RX, I2Cx_RX_DMA_TCFLAG | I2Cx_RX_DMA_FEIFLAG | I2Cx_RX_DMA_DMEIFLAG | \ - I2Cx_RX_DMA_TEIFLAG | I2Cx_RX_DMA_HTIFLAG); - -/* Slave Transmitter ---------------------------------------------------------*/ - - /* Test on I2C EV1 and clear it or time out*/ - while (!I2C_CheckEvent(I2Cx, I2C_EVENT_SLAVE_TRANSMITTER_ADDRESS_MATCHED)) - {} - /* I2Cx DMA Enable */ - I2C_DMACmd(I2Cx, ENABLE); - - /* Enable DMA RX Channel */ - DMA_Cmd(I2Cx_DMA_STREAM_TX, ENABLE); - - /* Wait until I2Cx_DMA_STREAM_TX enabled or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetCmdStatus(I2Cx_DMA_STREAM_TX)!= ENABLE)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Transfer complete or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetFlagStatus(I2Cx_DMA_STREAM_TX,I2Cx_TX_DMA_TCFLAG)==RESET)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Test on I2Cx EV3-2 and clear it or time out */ - TimeOut = USER_TIMEOUT; - while ((!I2C_CheckEvent(I2Cx, I2C_EVENT_SLAVE_ACK_FAILURE))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Disable DMA TX Channel */ - DMA_Cmd(I2Cx_DMA_STREAM_TX, DISABLE); - - /* Wait until I2Cx_DMA_STREAM_TX disabled or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetCmdStatus(I2Cx_DMA_STREAM_TX)!= DISABLE)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Disable I2C DMA request */ - I2C_DMACmd(I2Cx,DISABLE); - - /* Clear any pending flag on Tx Stream */ - DMA_ClearFlag(I2Cx_DMA_STREAM_TX, I2Cx_TX_DMA_TCFLAG | I2Cx_TX_DMA_FEIFLAG | I2Cx_TX_DMA_DMEIFLAG | \ - I2Cx_TX_DMA_TEIFLAG | I2Cx_TX_DMA_HTIFLAG); - - if (Buffercmp(TxBuffer, RxBuffer, RXBUFFERSIZE) == PASSED) - { - /* LED2, LED3 and LED4 are On */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - } - else - { /* LED2, LED3 and LED4 are Off */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } - -#endif /* I2C_SLAVE */ - while(1) - {} -} - -/** - * @brief Enables the I2C Clock and configures the different GPIO ports. - * @param None - * @retval None - */ -static void I2C_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* RCC Configuration */ - /*I2C Peripheral clock enable */ - RCC_APB1PeriphClockCmd(I2Cx_CLK, ENABLE); - - /*SDA GPIO clock enable */ - RCC_AHB1PeriphClockCmd(I2Cx_SDA_GPIO_CLK, ENABLE); - - /*SCL GPIO clock enable */ - RCC_AHB1PeriphClockCmd(I2Cx_SCL_GPIO_CLK, ENABLE); - - /* Reset I2Cx IP */ - RCC_APB1PeriphResetCmd(I2Cx_CLK, ENABLE); - - /* Release reset signal of I2Cx IP */ - RCC_APB1PeriphResetCmd(I2Cx_CLK, DISABLE); - - /* Enable the DMA clock */ - RCC_AHB1PeriphClockCmd(DMAx_CLK, ENABLE); - - /* GPIO Configuration */ - /*Configure I2C SCL pin */ - GPIO_InitStructure.GPIO_Pin = I2Cx_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(I2Cx_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*Configure I2C SDA pin */ - GPIO_InitStructure.GPIO_Pin = I2Cx_SDA_PIN; - GPIO_Init(I2Cx_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Connect PXx to I2C_SCL */ - GPIO_PinAFConfig(I2Cx_SCL_GPIO_PORT, I2Cx_SCL_SOURCE, I2Cx_SCL_AF); - - /* Connect PXx to I2C_SDA */ - GPIO_PinAFConfig(I2Cx_SDA_GPIO_PORT, I2Cx_SDA_SOURCE, I2Cx_SDA_AF); - - /* DMA Configuration */ - /* Clear any pending flag on Tx Stream */ - DMA_ClearFlag(I2Cx_DMA_STREAM_TX, I2Cx_TX_DMA_TCFLAG | I2Cx_TX_DMA_FEIFLAG | I2Cx_TX_DMA_DMEIFLAG | \ - I2Cx_TX_DMA_TEIFLAG | I2Cx_TX_DMA_HTIFLAG); - - /* Clear any pending flag on Rx Stream */ - DMA_ClearFlag(I2Cx_DMA_STREAM_RX, I2Cx_RX_DMA_TCFLAG | I2Cx_RX_DMA_FEIFLAG | I2Cx_RX_DMA_DMEIFLAG | \ - I2Cx_RX_DMA_TEIFLAG | I2Cx_RX_DMA_HTIFLAG); - - /* Disable the I2C Tx DMA stream */ - DMA_Cmd(I2Cx_DMA_STREAM_TX, DISABLE); - /* Configure the DMA stream for the I2C peripheral TX direction */ - DMA_DeInit(I2Cx_DMA_STREAM_TX); - - /* Disable the I2C Rx DMA stream */ - DMA_Cmd(I2Cx_DMA_STREAM_RX, DISABLE); - /* Configure the DMA stream for the I2C peripheral RX direction */ - DMA_DeInit(I2Cx_DMA_STREAM_RX); - - /* Initialize the DMA_Channel member */ - DMA_InitStructure.DMA_Channel = I2Cx_DMA_CHANNEL; - - /* Initialize the DMA_PeripheralBaseAddr member */ - DMA_InitStructure.DMA_PeripheralBaseAddr = I2Cx_DR_ADDRESS; - - /* Initialize the DMA_PeripheralInc member */ - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - - /* Initialize the DMA_MemoryInc member */ - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - - /* Initialize the DMA_PeripheralDataSize member */ - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; - - /* Initialize the DMA_MemoryDataSize member */ - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - - /* Initialize the DMA_Mode member */ - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - - /* Initialize the DMA_Priority member */ - DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; - - /* Initialize the DMA_FIFOMode member */ - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; - - /* Initialize the DMA_FIFOThreshold member */ - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; - - /* Initialize the DMA_MemoryBurst member */ - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - - /* Initialize the DMA_PeripheralBurst member */ - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - - /* Init DMA for Reception */ - /* Initialize the DMA_DIR member */ - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - /* Initialize the DMA_Memory0BaseAddr member */ - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)RxBuffer; - /* Initialize the DMA_BufferSize member */ - DMA_InitStructure.DMA_BufferSize = RXBUFFERSIZE; - DMA_DeInit(I2Cx_DMA_STREAM_RX); - DMA_Init(I2Cx_DMA_STREAM_RX, &DMA_InitStructure); - - /* Init DMA for Transmission */ - /* Initialize the DMA_DIR member */ - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - /* Initialize the DMA_Memory0BaseAddr member */ - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)TxBuffer; - /* Initialize the DMA_BufferSize member */ - DMA_InitStructure.DMA_BufferSize = TXBUFFERSIZE; - DMA_DeInit(I2Cx_DMA_STREAM_TX); - DMA_Init(I2Cx_DMA_STREAM_TX, &DMA_InitStructure); - - /* I2C ENABLE */ - I2C_Cmd(I2Cx, ENABLE); -} - -/** - * @brief Configure a SysTick Base time to 10 ms. - * @param None - * @retval None - */ -static void SysTickConfig(void) -{ - /* SysTick end of count event each 10ms */ - RCC_GetClocksFreq(&RCC_Clocks); - SysTick_Config(RCC_Clocks.HCLK_Frequency / 100); - - /* Configure the SysTick handler priority */ - NVIC_SetPriority(SysTick_IRQn, 0x0); -} - -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer1 identical to pBuffer2 - * FAILED: pBuffer1 differs from pBuffer2 - */ -static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer1 != *pBuffer2) - { - return FAILED; - } - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} - -/** - * @brief Fills buffer. - * @param pBuffer: pointer on the Buffer to fill - * @param BufferLength: size of the buffer to fill - * @retval None - */ -static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength) -{ - uint16_t index = 0; - - /* Put in global buffer same values */ - for (index = 0; index < BufferLength; index++ ) - { - pBuffer[index] = 0x00; - } -} - -/** - * @brief Basic management of the timeout situation. - * @param None. - * @retval None. - */ -static void TimeOut_UserCallback(void) -{ - /* User can add his own implementation to manage TimeOut Communication failure */ - /* Block communication and all processes */ - while (1) - { - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/main.h deleted file mode 100644 index 1d5f353b1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/main.h +++ /dev/null @@ -1,127 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/DataExchangeDMA/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program header - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported typedef -----------------------------------------------------------*/ -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Exported define ------------------------------------------------------------*/ -/* Uncomment the line below if you will use the I2C peripheral as a Master */ -#define I2C_MASTER -/* Uncomment the line below if you will use the I2C peripheral as a Slave */ -/* #define I2C_SLAVE */ - -/* To use the I2C at 400 KHz (in fast mode), the PCLK1 frequency (I2C peripheral - input clock) must be a multiple of 10 MHz */ -/* Uncomment the line below if you will use the I2C peripheral in Fast Mode */ -/* #define FAST_I2C_MODE */ - -/* Uncomment the line below if you will use the I2C peripheral in 10-bit addressing - mode */ -#define I2C_10BITS_ADDRESS - -/* Define I2C Speed --------------------------------------------------------*/ -#ifdef FAST_I2C_MODE - #define I2C_SPEED 340000 - #define I2C_DUTYCYCLE I2C_DutyCycle_16_9 -#else /* STANDARD_I2C_MODE*/ - #define I2C_SPEED 100000 - #define I2C_DUTYCYCLE I2C_DutyCycle_2 -#endif /* FAST_I2C_MODE*/ - -/* Define Slave Address ---------------------------------------------------*/ -#ifdef I2C_10BITS_ADDRESS - #define SLAVE_ADDRESS (uint16_t)0x0330 -#else /* I2C_7BITS_ADDRESS */ - #define SLAVE_ADDRESS 0x30 -#endif /* I2C_10BITS_ADDRESS */ - -/* USER_TIMEOUT value for waiting loops. This timeout is just a guarantee that the - application will not remain stuck if the I2C communication is corrupted. - You may modify this timeout value depending on CPU frequency and application - conditions (interrupts routines, number of data to transfer, speed, CPU - frequency...). */ -#define USER_TIMEOUT ((uint32_t)0x64) /* Waiting 1s */ - -/* I2Cx Communication boards Interface */ -#define I2Cx_DMA DMA1 -#define I2Cx_DMA_CHANNEL DMA_Channel_1 -#define I2Cx_DR_ADDRESS ((uint32_t)0x40005410) -#define I2Cx_DMA_STREAM_TX DMA1_Stream6 -#define I2Cx_DMA_STREAM_RX DMA1_Stream0 -#define I2Cx_TX_DMA_TCFLAG DMA_FLAG_TCIF6 -#define I2Cx_TX_DMA_FEIFLAG DMA_FLAG_FEIF6 -#define I2Cx_TX_DMA_DMEIFLAG DMA_FLAG_DMEIF6 -#define I2Cx_TX_DMA_TEIFLAG DMA_FLAG_TEIF6 -#define I2Cx_TX_DMA_HTIFLAG DMA_FLAG_HTIF6 -#define I2Cx_RX_DMA_TCFLAG DMA_FLAG_TCIF0 -#define I2Cx_RX_DMA_FEIFLAG DMA_FLAG_FEIF0 -#define I2Cx_RX_DMA_DMEIFLAG DMA_FLAG_DMEIF0 -#define I2Cx_RX_DMA_TEIFLAG DMA_FLAG_TEIF0 -#define I2Cx_RX_DMA_HTIFLAG DMA_FLAG_HTIF0 -#define DMAx_CLK RCC_AHB1Periph_DMA1 - -#define I2Cx I2C1 -#define I2Cx_CLK RCC_APB1Periph_I2C1 -#define I2Cx_SDA_GPIO_CLK RCC_AHB1Periph_GPIOB -#define I2Cx_SDA_PIN GPIO_Pin_9 -#define I2Cx_SDA_GPIO_PORT GPIOB -#define I2Cx_SDA_SOURCE GPIO_PinSource9 -#define I2Cx_SDA_AF GPIO_AF_I2C1 - -#define I2Cx_SCL_GPIO_CLK RCC_AHB1Periph_GPIOB -#define I2Cx_SCL_PIN GPIO_Pin_6 -#define I2Cx_SCL_GPIO_PORT GPIOB -#define I2Cx_SCL_SOURCE GPIO_PinSource6 -#define I2Cx_SCL_AF GPIO_AF_I2C1 - -#define TXBUFFERSIZE (countof(TxBuffer) - 1) -#define RXBUFFERSIZE TXBUFFERSIZE - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/readme.txt deleted file mode 100644 index f401eda90..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/readme.txt +++ /dev/null @@ -1,151 +0,0 @@ -/** - @page I2C_DataExchangeDMA Two boards I2C Communication: Data Exchange using DMA example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file I2C/I2C_TwoBoards/DataExchangeDMA/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the I2C Data Exchange between two boards using DMA - * example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This is a typical example of how to use the I2C firmware library to ensure the -steps of an I2C communication between slave Receiver/Transmitter and master -Transmitter/Receiver using DMA. - -- Hardware Description - -To use this example, you need to load it on two STM32 boards (let's call them -Board A and Board B) then connect these two boards through I2C lines and GND. -In the firmware example uncomment the dedicated line in the main.h file to use -the I2C peripheral as STM32 Master device or as STM32 Slave. - -@verbatim -*------------------------------------------------------------------------------* -| BOARD A BOARD B | -| ____________________ ____________________ | -| | | | | | -| | | | | | -| | __________ | | __________ | | -| | |I2C Master|____|_______SDA_______|____|I2C Slave | | | -| | | Device |____|_______SCL_______|____| Device | | | -| | |__________| | | |__________| | | -| | O LD1 | | O LD1 | | -| | O LD2 RESET | | O LD2 RESET | | -| | O LD3 _ | | O LD3 _ | | -| | O LD4 |_| | | O LD4 |_| | | -| | | | | | -| | GND O--|-----------------|--O GND | | -| |____________________| |____________________| | -| | -| | -*------------------------------------------------------------------------------* -@endverbatim - -- Software Description - -This example requires two boards(Master and Slave) - - - Phase 1: - In master board I2C peripheral is configured in Master Transmitter with DMA - where in Slave board I2C peripheral is configured in Slave Receiver with DMA. - The master will send Data to Slave according to the defined buffer size. - - - Phase 2: - In master board I2C peripheral is configured in Master Receiver with DMA, - where in Slave board I2C peripheral is configured in Slave Transmitter with - DMA. - Once the master has initiated the communication (Start condition), the slave - will send the defined data in his TxBuffer to the master. - -At the end of the data transfer, a data consistency check will be performed -in master and slave sides. In case of mismatch between sent and received data, -LED2, LED3 and LED4 are OFF. Otherwise LED2, LED3 and LED4 are ON. - -@note As the data transfers is ensured by DMA, the TxBuffer size must be equal - or greater than two bytes. - -The File "I2C/I2C_TwoBoards/DataExchangeDMA/main.h" allows different possibilities -of configuration of this example: - - Addressing mode : 7-bit or 10-bit - - I2C speed: Fast mode or Standard mode - -The SysTick is configured to generate an interrupt each 10ms. A dedicated counter -inside the SysTick ISR is used to toggle the LED1 each 100ms indicating that the -firmware is running. - -A defined communication timeout is insuring that the application will not remain -stuck in case of I2C communication is corrupted. -You can adjust this timeout through the USER_TIMEOUT define inside main.h file -depending on CPU frequency and application conditions (interrupts routines, -number of data to transfer, speed, CPU frequency...). -When a given operation is not finished within the defined timeout, a callback is -made to the function "TimeOut_UserCallback()", this function is used to manage -timeout communication failure. In this example, this callback implements a simple -infinite loop, but user can add his own implementation to manage timeout failure. - - -@par Directory contents - - - I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_conf.h Library Configuration file - - I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_it.c Interrupt handlers - - I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_it.h Interrupt handlers header file - - I2C/I2C_TwoBoards/DataExchangeDMA/main.c Main program - - I2C/I2C_TwoBoards/DataExchangeDMA/main.h Main Header file - - I2C/I2C_TwoBoards/DataExchangeDMA/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB (with no additional - hardware), and can be easily tailored to any other development board. - - - STM322xG-EVAL Set-up - - Connect I2C1 Master SCL pin (PB.06) to I2C1 Slave SCL (PB.06) - - Connect I2C1 Master SDA pin (PB.09) to I2C1 Slave SDA (PB.09) - - @note - - Pull-up resistors should be connected to I2C SCL and SDA Pins in case of - other boards use. - Pull-up resistors are already implemented on the STM322xG-EVAL evaluation - boards. - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_conf.h deleted file mode 100644 index 5df8aa912..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_it.c deleted file mode 100644 index 343575a4d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_it.c +++ /dev/null @@ -1,190 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup I2C_DataExchangeDMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint8_t Counter = 0x00; -extern __IO uint32_t TimeOut; -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -#if defined (I2C_MASTER) - /* Decrement the time out value */ - if (TimeOut != 0x0) - { - TimeOut--; - } -#endif /* I2C_MASTER*/ - - if (Counter < 10) - { - Counter++; - } - else - { - Counter = 0x00; - STM_EVAL_LEDToggle(LED1); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_it.h deleted file mode 100644 index 7ee61969f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_it.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/DataExchangeDMA/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeDMA/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/main.c deleted file mode 100644 index 5a7acd8eb..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/main.c +++ /dev/null @@ -1,412 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/DataExchangeInterrupt/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup I2C_DataExchangeInterrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -I2C_InitTypeDef I2C_InitStructure; -uint8_t TxBuffer[] = "I2C Interrupt Example: Communication between two I2C using Interrupts"; - -__IO uint8_t Tx_Idx = 0x00; -__IO uint8_t Rx_Idx = 0x00; -uint8_t RxBuffer [256]; - -__IO uint8_t NumberOfByteToReceive = RXBUFFERSIZE; -__IO uint8_t NumberOfByteToTransmit = TXBUFFERSIZE; -__IO uint8_t MasterMode = MASTER_MODE_RECEIVER; -__IO uint32_t TimeOut = 0x0; -RCC_ClocksTypeDef RCC_Clocks; - -/* Private function prototypes -----------------------------------------------*/ -static void I2C_Config(void); -static void SysTickConfig(void); -static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength); -static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength); -static void TimeOut_UserCallback(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - -/* I2C configuration ---------------------------------------------------------*/ - I2C_Config(); - - /* Initialize LEDs mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - -/* SysTick configuration -----------------------------------------------------*/ - SysTickConfig(); - -/*************************************Master Code******************************/ -#if defined (I2C_MASTER) - /* I2C De-initialize */ - I2C_DeInit(I2Cx); - - /*!< I2C Struct Initialize */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DUTYCYCLE; - I2C_InitStructure.I2C_OwnAddress1 = 0xA0; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED; - -#ifndef I2C_10BITS_ADDRESS - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; -#else - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_10bit; -#endif /* I2C_10BITS_ADDRESS */ - - /* I2C Initialization */ - I2C_Init(I2Cx, &I2C_InitStructure); - - /* Enable Error Interrupt */ - I2C_ITConfig(I2Cx, I2C_IT_ERR , ENABLE); - - /* I2C ENABLE */ - I2C_Cmd(I2Cx, ENABLE); - -/* Master Transmitter --------------------------------------------------------*/ - NumberOfByteToTransmit = TXBUFFERSIZE; - MasterMode = MASTER_MODE_TRANSMITTER; - Tx_Idx = 0x00; - - /* Enable Error and Buffer Interrupts */ - I2C_ITConfig(I2Cx, (I2C_IT_EVT | I2C_IT_BUF), ENABLE); - - /* Generate the Start condition */ - I2C_GenerateSTART(I2Cx, ENABLE); - - /* Data transfer is performed in the I2C interrupt routine */ - /* Wait until end of data transfer or time out */ - TimeOut = USER_TIMEOUT; - while ((Tx_Idx < TXBUFFERSIZE)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - TimeOut = USER_TIMEOUT; - while ((I2C_GetFlagStatus(I2Cx, I2C_FLAG_BUSY))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } -/* Master Receiver -----------------------------------------------------------*/ - NumberOfByteToReceive = RXBUFFERSIZE; - MasterMode = MASTER_MODE_RECEIVER; - Rx_Idx = 0x00; - - /* Clear the RxBuffer */ - Fill_Buffer(RxBuffer, RXBUFFERSIZE); - - /* Enable Event Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_EVT , ENABLE); - - /* Enable Acknowledge */ - I2C_AcknowledgeConfig(I2Cx, ENABLE); - - /* Generate the Start condition */ - I2C_GenerateSTART(I2Cx, ENABLE); - - /* Data transfer is performed in the I2C interrupt routine */ - /* Wait until end of data transfer */ - while (Rx_Idx < RXBUFFERSIZE) - {} - if (Buffercmp(TxBuffer, RxBuffer, RXBUFFERSIZE) == PASSED) - { - /* LED2, LED3 and LED4 ON */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - } - else - { /* LED2, LED3 and LED4 Off */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } - -#endif /* I2C_MASTER */ - -/**********************************Slave Code**********************************/ -#if defined (I2C_SLAVE) - - I2C_DeInit(I2Cx); - - /* Initialize I2C peripheral */ - /*!< I2C Init */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DUTYCYCLE; - I2C_InitStructure.I2C_OwnAddress1 = SLAVE_ADDRESS; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED; - -#ifndef I2C_10BITS_ADDRESS - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; -#else - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_10bit; -#endif /* I2C_10BITS_ADDRESS */ - - I2C_Init(I2Cx, &I2C_InitStructure); - - /* Enable Error Interrupt */ - I2C_ITConfig(I2Cx, (I2C_IT_ERR | I2C_IT_EVT | I2C_IT_BUF), ENABLE); - - /* I2C ENABLE */ - I2C_Cmd(I2Cx, ENABLE); - -/* Slave Receiver ------------------------------------------------------------*/ - Rx_Idx = 0x00; - Tx_Idx = 0x00; - - /* Clear the RxBuffer */ - Fill_Buffer(RxBuffer, RXBUFFERSIZE); - - /* Wait until end of data transfer */ - while (Rx_Idx < RXBUFFERSIZE) - {} - - TimeOut = USER_TIMEOUT; - while ((I2C_GetFlagStatus(I2Cx, I2C_FLAG_BUSY))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - -/* Slave Transmitter ---------------------------------------------------------*/ - - /* Wait until end of data transfer */ - while (Tx_Idx < TXBUFFERSIZE) - {} - - if (Buffercmp(TxBuffer, RxBuffer, RXBUFFERSIZE) == PASSED) - { - /* LED2, LED3 and LED4 ON */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - } - else - { /* LED2, LED3 and LED4 are Off */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } -#endif /* I2C_SLAVE */ - - while(1) - {} -} - -/** - * @brief Enables the I2C Clock and configures the different GPIO ports. - * @param None - * @retval None - */ -static void I2C_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* RCC Configuration */ - /*I2C Peripheral clock enable */ - RCC_APB1PeriphClockCmd(I2Cx_CLK, ENABLE); - - /*SDA GPIO clock enable */ - RCC_AHB1PeriphClockCmd(I2Cx_SDA_GPIO_CLK, ENABLE); - - /*SCL GPIO clock enable */ - RCC_AHB1PeriphClockCmd(I2Cx_SCL_GPIO_CLK, ENABLE); - - /* Reset I2Cx IP */ - RCC_APB1PeriphResetCmd(I2Cx_CLK, ENABLE); - - /* Release reset signal of I2Cx IP */ - RCC_APB1PeriphResetCmd(I2Cx_CLK, DISABLE); - - /* GPIO Configuration */ - /*Configure I2C SCL pin */ - GPIO_InitStructure.GPIO_Pin = I2Cx_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(I2Cx_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*Configure I2C SDA pin */ - GPIO_InitStructure.GPIO_Pin = I2Cx_SDA_PIN; - GPIO_Init(I2Cx_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Connect PXx to I2C_SCL */ - GPIO_PinAFConfig(I2Cx_SCL_GPIO_PORT, I2Cx_SCL_SOURCE, I2Cx_SCL_AF); - - /* Connect PXx to I2C_SDA */ - GPIO_PinAFConfig(I2Cx_SDA_GPIO_PORT, I2Cx_SDA_SOURCE, I2Cx_SDA_AF); - - /* NVIC configuration */ - /* Configure the Priority Group to 1 bit */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); - - /* Configure the I2C event priority */ - NVIC_InitStructure.NVIC_IRQChannel = I2Cx_EV_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure I2C error interrupt to have the higher priority */ - NVIC_InitStructure.NVIC_IRQChannel = I2Cx_ER_IRQn; - NVIC_Init(&NVIC_InitStructure); -} - - -/** - * @brief Configure a SysTick Base time to 10 ms. - * @param None - * @retval None - */ -static void SysTickConfig(void) -{ - /* SysTick end of count event each 10ms */ - RCC_GetClocksFreq(&RCC_Clocks); - SysTick_Config(RCC_Clocks.HCLK_Frequency / 100); - - /* Configure the SysTick handler priority */ - NVIC_SetPriority(SysTick_IRQn, 0x0); -} - -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer1 identical to pBuffer2 - * FAILED: pBuffer1 differs from pBuffer2 - */ -static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer1 != *pBuffer2) - { - return FAILED; - } - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} - -/** - * @brief Fills buffer. - * @param pBuffer: pointer on the Buffer to fill - * @param BufferLength: size of the buffer to fill - * @retval None - */ -static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength) -{ - uint16_t index = 0; - - /* Put in global buffer same values */ - for (index = 0; index < BufferLength; index++ ) - { - pBuffer[index] = 0x00; - } -} - -/** - * @brief Basic management of the timeout situation. - * @param None. - * @retval None. - */ -static void TimeOut_UserCallback(void) -{ - /* User can add his own implementation to manage TimeOut Communication failure */ - /* Block communication and all processes */ - while (1) - { - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/main.h deleted file mode 100644 index 337015c14..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/main.h +++ /dev/null @@ -1,119 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/DataExchangeInterrupt/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program header - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported typedef -----------------------------------------------------------*/ -#define countof(a) (sizeof(a) / sizeof(*(a))) -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Exported define ------------------------------------------------------------*/ -/* Uncomment the line below if you will use the I2C peripheral as a Master */ -#define I2C_MASTER -/* Uncomment the line below if you will use the I2C peripheral as a Slave */ -/* #define I2C_SLAVE */ - -/* To use the I2C at 400 KHz (in fast mode), the PCLK1 frequency (I2C peripheral - input clock) must be a multiple of 10 MHz */ -/* Uncomment the line below if you will use the I2C peripheral in Fast Mode */ -/* #define FAST_I2C_MODE */ - -/* Uncomment the line below if you will use the I2C peripheral in 10-bit addressing - mode */ -/* #define I2C_10BITS_ADDRESS */ - -/* Define I2C Speed --------------------------------------------------------*/ -#ifdef FAST_I2C_MODE - #define I2C_SPEED 340000 - #define I2C_DUTYCYCLE I2C_DutyCycle_16_9 -#else /* STANDARD_I2C_MODE*/ - #define I2C_SPEED 100000 - #define I2C_DUTYCYCLE I2C_DutyCycle_2 -#endif /* FAST_I2C_MODE*/ - -/* Define Slave Address ---------------------------------------------------*/ -#ifdef I2C_10BITS_ADDRESS - #define SLAVE_ADDRESS (uint16_t)0x0330 -#else /* I2C_7BITS_ADDRESS */ - #define SLAVE_ADDRESS 0x30 -#endif /* I2C_10BITS_ADDRESS */ - -/* USER_TIMEOUT value for waiting loops. This timeout is just a guarantee that the - application will not remain stuck if the I2C communication is corrupted. - You may modify this timeout value depending on CPU frequency and application - conditions (interrupts routines, number of data to transfer, speed, CPU - frequency...). */ -#define USER_TIMEOUT ((uint32_t)0x64) /* Waiting 1s */ - -/* Master Mode Selected */ -#define MASTER_MODE_TRANSMITTER 0x01 -#define MASTER_MODE_RECEIVER 0x00 - -/* I2Cx Communication boards Interface */ -#define I2Cx I2C1 -#define I2Cx_CLK RCC_APB1Periph_I2C1 -#define I2Cx_EV_IRQn I2C1_EV_IRQn -#define I2Cx_ER_IRQn I2C1_ER_IRQn -#define I2Cx_EV_IRQHANDLER I2C1_EV_IRQHandler -#define I2Cx_ER_IRQHANDLER I2C1_ER_IRQHandler - -#define I2Cx_SDA_GPIO_CLK RCC_AHB1Periph_GPIOB -#define I2Cx_SDA_PIN GPIO_Pin_9 -#define I2Cx_SDA_GPIO_PORT GPIOB -#define I2Cx_SDA_SOURCE GPIO_PinSource9 -#define I2Cx_SDA_AF GPIO_AF_I2C1 - -#define I2Cx_SCL_GPIO_CLK RCC_AHB1Periph_GPIOB -#define I2Cx_SCL_PIN GPIO_Pin_6 -#define I2Cx_SCL_GPIO_PORT GPIOB -#define I2Cx_SCL_SOURCE GPIO_PinSource6 -#define I2Cx_SCL_AF GPIO_AF_I2C1 - -#define TXBUFFERSIZE (countof(TxBuffer) - 1) -#define RXBUFFERSIZE TXBUFFERSIZE -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/readme.txt deleted file mode 100644 index 6dbc3e897..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/readme.txt +++ /dev/null @@ -1,155 +0,0 @@ -/** - @page I2C_DataExchangeInterrupt Two boards I2C Communication: Data Exchange using Interrupts example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file I2C/I2C_TwoBoards/DataExchangeInterrupt/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the I2C Data Exchange between two boards using Interrupts - * example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This is a typical example of how to use the I2C firmware library to ensure the -steps of an I2C communication between slave Receiver/Transmitter and master -Transmitter/Receiver using interrupts. - -- Hardware Description - -To use this example, you need to load it on two STM32 boards (let's call them -Board A and Board B) then connect these two boards through I2C lines and GND. -In the firmware example uncomment the dedicated line in the main.h file to use -the I2C peripheral as STM32 Master device or as STM32 Slave . - -@verbatim -*------------------------------------------------------------------------------* -| BOARD A BOARD B | -| ____________________ ____________________ | -| | | | | | -| | | | | | -| | __________ | | __________ | | -| | |I2C Master|____|_______SDA_______|____|I2C Slave | | | -| | | Device |____|_______SCL_______|____| Device | | | -| | |__________| | | |__________| | | -| | O LD1 | | O LD1 | | -| | O LD2 RESET | | O LD2 RESET | | -| | O LD3 _ | | O LD3 _ | | -| | O LD4 |_| | | O LD4 |_| | | -| | | | | | -| | GND O--|-----------------|--O GND | | -| |____________________| |____________________| | -| | -| | -*------------------------------------------------------------------------------* -@endverbatim - -- Software Description - -This example requires two boards(Master and Slave) - - - Phase 1: - In master board I2C peripheral is configured in Master Transmitter with Interrupt, - where in Slave board I2C peripheral is configured in Slave Receiver with Interrupt. - The master will send Data to Slave according to the defined buffer size. - - - Phase 2: - In master board I2C peripheral is configured in Master Receiver with Interrupt, - where in Slave board I2C peripheral is configured in Slave Transmitter with - Interrupt. - Once the master has initiated the communication (Start condition), the slave - will send back the data to the master according to the defined buffer size. - -At the end of the data transfer, a data consistency check will be performed -in master and slave sides. In case of mismatch between sent and received data, -all LED's are OFF. Otherwise LED2, LED3 and LED4 are ON. - -Communication error are handled in master an slave sides, their occurrence will -be signaled by puting LED3 and LED4 On. - - -The File "I2C/I2C_TwoBoards/DataExchangeInterrupt/main.h" allows different -possibilities of configuration for this example: - - Addressing mode : 7-bit or 10-bit - - I2C speed: Fast mode or Standard mode - -In both boards, the data transfers is managed using I2Cx_EV_IRQHandler -and I2Cx_ER_IRQHandler in stm32f2xx_it.c file. - -The SysTick is configured to generate interrupt each 10ms. A dedicated counter -inside the SysTick ISR is used to toggle the LED1 each 100ms indicating that the -firmware is running. - -A defined communication timeout is insuring that the application will not remain -stuck in case of I2C communication is corrupted. -You can adjust this timeout through the USER_TIMEOUT define inside main.h file -depending on CPU frequency and application conditions (interrupts routines, -number of data to transfer, speed, CPU frequency...). -When a given operation is not finished within the defined timeout, a callback is -made to the function "TimeOut_UserCallback()", this function is used to manage -timeout communication failure. In this example, this callback implements a simple -infinite loop, but user can add his own implementation to manage timeout failure. - - -@par Directory contents - - - I2C/I2C_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c STM32F2xx system clock configuration file - - I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h Library Configuration file - - I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c Interrupt handlers - - I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h Interrupt handlers header file - - I2C/I2C_TwoBoards/DataExchangeInterrupt/main.c Main program - - I2C/I2C_TwoBoards/DataExchangeInterrupt/main.h Main Header file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB (with no additional - hardware), and can be easily tailored to any other development board. - - - STM322xG-EVAL Set-up - - Connect I2C1 Master SCL pin (PB.06) to I2C1 Slave SCL (PB.06) - - Connect I2C1 Master SDA pin (PB.09) to I2C1 Slave SDA (PB.09) - - @note - - Pull-up resistors should be connected to I2C SCL and SDA Pins in case of - other boards use. - Pull-up resistors are already implemented on the STM322xG-EVAL evaluation - boards. - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h deleted file mode 100644 index 19701957a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c deleted file mode 100644 index a1cdda4aa..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c +++ /dev/null @@ -1,520 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup I2C_DataExchangeInterrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern uint8_t TxBuffer[]; -__IO uint8_t Counter = 0x00; -extern __IO uint32_t TimeOut; -__IO uint32_t Event = 0x00; - -uint8_t HEADER_ADDRESS_Write = (((SLAVE_ADDRESS & 0xFF00) >> 7) | 0xF0); -uint8_t HEADER_ADDRESS_Read = (((SLAVE_ADDRESS & 0xFF00) >> 7) | 0xF1); - -extern __IO uint8_t Tx_Idx; -extern __IO uint8_t Rx_Idx; -extern uint8_t NumberOfByteToReceive; -extern uint8_t NumberOfByteToTransmit; -__IO uint8_t GenerateStartStatus = 0x00; -extern uint8_t RxBuffer[]; - -#ifdef I2C_10BITS_ADDRESS -__IO uint8_t Send_HeaderStatus = 0x00; -#endif /* I2C_10BITS_ADDRESS */ - -extern __IO uint8_t MasterMode; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -#if defined (I2C_MASTER) - /* Decrement the time out value */ - if (TimeOut != 0x0) - { - TimeOut--; - } -#endif /* I2C_MASTER*/ - - if (Counter < 10) - { - Counter++; - } - else - { - Counter = 0x00; - STM_EVAL_LEDToggle(LED1); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ -/** - * @brief This function handles I2Cx Error interrupt request. - * @param None - * @retval None - */ -void I2Cx_ER_IRQHANDLER(void) -{ -#if defined (I2C_SLAVE) - - /* Read SR1 register to get I2C error */ - if ((I2C_ReadRegister(I2Cx, I2C_Register_SR1) & 0xFF00) != 0x00) - { - /* Clears error flags */ - I2Cx->SR1 &= 0x00FF; - } -#endif /* I2C_SLAVE*/ - -#if defined (I2C_MASTER) - - /* Read SR1 register to get I2C error */ - if ((I2C_ReadRegister(I2Cx, I2C_Register_SR1) & 0xFF00) != 0x00) - { - /* Clears error flags */ - I2Cx->SR1 &= 0x00FF; - - /* Set LED3 and LED4 */ - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - STM_EVAL_LEDOff(LED2); - } -#endif /* I2C_MASTER*/ -} - - -/** - * @brief This function handles I2Cx event interrupt request. - * @param None - * @retval None - */ -void I2Cx_EV_IRQHANDLER(void) -{ -#if defined (I2C_MASTER) - /* Once the Start condition is sent the master can be master receiver - or master transmitter */ - if (MasterMode == MASTER_MODE_TRANSMITTER) - { - /* Get Last I2C Event */ - Event = I2C_GetLastEvent(I2Cx); - switch (Event) - { - /* ************************************************************************/ - /* Master Transmitter Events */ - /* */ - /* ************************************************************************/ -/* Sending the header sequence for Master Transmitter case ----------------*/ - -#ifdef I2C_10BITS_ADDRESS - /* Check on EV5 */ - case I2C_EVENT_MASTER_MODE_SELECT : - /* Send Header to Slave for write */ - I2C_SendData(I2Cx, HEADER_ADDRESS_Write); - break; - - /* Check on EV9 */ - case I2C_EVENT_MASTER_MODE_ADDRESS10: - /* Send slave Address for write */ - I2C_Send7bitAddress(I2Cx, (uint8_t)SLAVE_ADDRESS, I2C_Direction_Transmitter); - break; - - -#else /* I2C_7BITS_ADDRESS */ - /* Check on EV5 */ - case I2C_EVENT_MASTER_MODE_SELECT : - /* Send slave Address for write */ - I2C_Send7bitAddress(I2Cx, (uint8_t)SLAVE_ADDRESS, I2C_Direction_Transmitter); - break; - -#endif /* I2C_10BITS_ADDRESS */ - - /* Check on EV6 */ - case I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED: - /* Transmit the First Data */ - I2C_SendData(I2Cx, TxBuffer[Tx_Idx++]); - break; - - /* Check on EV8 */ - case I2C_EVENT_MASTER_BYTE_TRANSMITTING: - case I2C_EVENT_MASTER_BYTE_TRANSMITTED: - if (Tx_Idx == (uint8_t)NumberOfByteToTransmit) - { - /* Send STOP condition */ - I2C_GenerateSTOP(I2Cx, ENABLE); - I2C_ITConfig(I2Cx, I2C_IT_EVT | I2C_IT_BUF, DISABLE); - } - else - { - /* Transmit Data TxBuffer */ - I2C_SendData(I2Cx, TxBuffer[Tx_Idx++]); - } - break; - - default: - break; - } - - } - /*************************************************************************/ - /* Master Receiver Events */ - /* */ - /*************************************************************************/ - else /* MASTER_MODE_RECEIVER */ - { -#ifdef I2C_10BITS_ADDRESS - /* Check on SB Flag and clear it */ - if(I2C_GetITStatus(I2Cx, I2C_IT_SB)== SET) - { - if (Send_HeaderStatus == 0x00) - { - /* Send Header to Slave for write */ - I2C_SendData(I2Cx, HEADER_ADDRESS_Write); - Send_HeaderStatus = 0x01; - GenerateStartStatus = 0x01; - } - else - { - /* Send Header to Slave for Read */ - I2C_SendData(I2Cx, HEADER_ADDRESS_Read); - Send_HeaderStatus = 0x00; - if (NumberOfByteToReceive == 0x03) - { - /* Disable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , DISABLE); - } - else - { - /* Enable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , ENABLE); - } - } - } - /* Check on ADD10 Flag */ - else if(I2C_GetITStatus(I2Cx, I2C_IT_ADD10)== SET) - { - /* Send slave Address */ - I2C_Send7bitAddress(I2Cx, (uint8_t)SLAVE_ADDRESS, I2C_Direction_Transmitter); - } - -#else /* I2C_7BITS_ADDRESS */ - - /* Check on EV5 */ - if(I2C_GetITStatus(I2Cx, I2C_IT_SB)== SET) - { - /* Send slave Address for read */ - I2C_Send7bitAddress(I2Cx, SLAVE_ADDRESS, I2C_Direction_Receiver); - if (NumberOfByteToReceive == 0x03) - { - /* Disable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , DISABLE); - } - else - { - /* Enable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , ENABLE); - } - } -#endif /* I2C_10BITS_ADDRESS */ - - else if(I2C_GetITStatus(I2Cx, I2C_IT_ADDR)== SET) - { - if (NumberOfByteToReceive == 1) - { - I2C_AcknowledgeConfig(I2Cx, DISABLE); - } - /* Clear ADDR Register */ - (void)(I2Cx->SR1); - (void)(I2Cx->SR2); - if (GenerateStartStatus == 0x00) - { - if (NumberOfByteToReceive == 1) - { - I2C_GenerateSTOP(I2Cx, ENABLE); - } - - if (NumberOfByteToReceive == 2) - { - I2C_AcknowledgeConfig(I2Cx, DISABLE); - I2C_NACKPositionConfig(I2Cx, I2C_NACKPosition_Next); - /* Disable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , DISABLE); - } - } - -#ifdef I2C_10BITS_ADDRESS - if (GenerateStartStatus == 0x01) - { - /* Repeated Start */ - I2C_GenerateSTART(I2Cx, ENABLE); - GenerateStartStatus = 0x00; - } - -#endif /* I2C_10BITS_ADDRESS */ - } - else if((I2C_GetITStatus(I2Cx, I2C_IT_RXNE)== SET)&&(I2C_GetITStatus(I2Cx, I2C_IT_BTF)== RESET)) - { - /* Store I2C received data */ - RxBuffer[Rx_Idx++] = I2C_ReceiveData (I2Cx); - NumberOfByteToReceive--; - - if (NumberOfByteToReceive == 0x03) - { - /* Disable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , DISABLE); - } - - if (NumberOfByteToReceive == 0x00) - { - /* Disable Error and Buffer Interrupts */ - I2C_ITConfig(I2Cx, (I2C_IT_EVT | I2C_IT_BUF), DISABLE); - } - } - /* BUSY, MSL and RXNE flags */ - else if(I2C_GetITStatus(I2Cx, I2C_IT_BTF)== SET) - { - /* if Three bytes remaining for reception */ - if (NumberOfByteToReceive == 3) - { - I2C_AcknowledgeConfig(I2Cx, DISABLE); - /* Store I2C received data */ - RxBuffer[Rx_Idx++] = I2C_ReceiveData (I2Cx); - NumberOfByteToReceive--; - } - else if (NumberOfByteToReceive == 2) - { - I2C_GenerateSTOP(I2Cx, ENABLE); - - /* Store I2C received data */ - RxBuffer[Rx_Idx++] = I2C_ReceiveData (I2Cx); - NumberOfByteToReceive--; - /* Store I2C received data */ - RxBuffer[Rx_Idx++] = I2C_ReceiveData (I2Cx); - NumberOfByteToReceive--; - /* Disable Error and Buffer Interrupts */ - I2C_ITConfig(I2Cx, (I2C_IT_EVT | I2C_IT_BUF), DISABLE); - } - else - { - /* Store I2C received data */ - RxBuffer[Rx_Idx++] = I2C_ReceiveData (I2Cx); - NumberOfByteToReceive--; - } - } - } -#endif /* I2C_MASTER*/ - - -#if defined (I2C_SLAVE) - /* Get Last I2C Event */ - Event = I2C_GetLastEvent(I2Cx); - switch (Event) - { - /* ****************************************************************************/ - /* Slave Transmitter Events */ - /* */ - /* ****************************************************************************/ - - /* Check on EV1 */ - case I2C_EVENT_SLAVE_TRANSMITTER_ADDRESS_MATCHED: - I2C_SendData(I2Cx, TxBuffer[Tx_Idx++]); - I2C_ITConfig(I2Cx, I2C_IT_BUF , ENABLE); - break; - /* Check on EV3 */ - case I2C_EVENT_SLAVE_BYTE_TRANSMITTING: - case I2C_EVENT_SLAVE_BYTE_TRANSMITTED: - if (Tx_Idx < NumberOfByteToTransmit) - { - I2C_SendData(I2Cx, TxBuffer[Tx_Idx++]); - } - else - { - /* Disable I2C event interrupt */ - I2C_ITConfig(I2Cx, I2C_IT_EVT | I2C_IT_BUF, DISABLE); - } - break; - - /* ****************************************************************************/ - /* Slave Receiver Events */ - /* */ - /* ****************************************************************************/ - - /* check on EV1*/ - case I2C_EVENT_SLAVE_RECEIVER_ADDRESS_MATCHED: - Rx_Idx = 0x00; - break; - - /* Check on EV2*/ - case I2C_EVENT_SLAVE_BYTE_RECEIVED: - case (I2C_EVENT_SLAVE_BYTE_RECEIVED | I2C_SR1_BTF): - RxBuffer[Rx_Idx++] = I2C_ReceiveData(I2Cx); - break; - - /* Check on EV4 */ - case I2C_EVENT_SLAVE_STOP_DETECTED: - I2C_GetFlagStatus(I2Cx, I2C_FLAG_STOPF); - I2C_Cmd(I2Cx, ENABLE); - break; - - default: - break; - } -#endif /* I2C_SLAVE*/ -} -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h deleted file mode 100644 index b2f7a9155..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -void I2Cx_ER_IRQHANDLER(void); -void I2Cx_EV_IRQHANDLER(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.c deleted file mode 100644 index 70d287cc0..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.c +++ /dev/null @@ -1,397 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup MasterReceiverInterrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define TXBUFFERSIZE (countof(TxBuffer) - 1) -#define RXBUFFERSIZE TXBUFFERSIZE - -/* Private macro -------------------------------------------------------------*/ -#define countof(a) (sizeof(a) / sizeof(*(a))) - -/* Private variables ---------------------------------------------------------*/ -I2C_InitTypeDef I2C_InitStructure; - -uint8_t TxBuffer[] = "Communication between two I2C using Interrupt Example: \ - Slave Transmitter to Master Receiver"; -#if defined (I2C_MASTER) - __IO uint8_t Rx_Idx = 0x00; - uint8_t RxBuffer [RXBUFFERSIZE]; - __IO uint8_t NumberOfByteToReceive = 0x00; - __IO uint32_t TimeOut = 0x0; -#endif - -#if defined (I2C_SLAVE) - uint8_t NbrOfDataToSend = TXBUFFERSIZE; - __IO uint8_t Tx_Idx = 0x00; -#endif /* I2C_SLAVE */ - -RCC_ClocksTypeDef RCC_Clocks; -/* Private function prototypes -----------------------------------------------*/ -static void I2C_Config(void); -static void SysTickConfig(void); -#if defined (I2C_MASTER) - static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength); - static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength); - static void TimeOut_UserCallback(void); - static void delay(__IO uint32_t nCount); -#endif /* I2C_MASTER */ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* I2C configuration ---------------------------------------------------------*/ - I2C_Config(); - - /* Initialize LEDs mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - -/* SysTick configuration -----------------------------------------------------*/ - SysTickConfig(); - -/*************************************Master Code******************************/ -#if defined (I2C_MASTER) - /* I2C De-initialize */ - I2C_DeInit(I2Cx); - - /*I2C Struct Initialize */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DUTYCYCLE; - I2C_InitStructure.I2C_OwnAddress1 = 0xA0; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED; - -#ifndef I2C_10BITS_ADDRESS - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; -#else - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_10bit; -#endif /* I2C_10BITS_ADDRESS */ - - /*I2C Initialize */ - I2C_Init(I2Cx, &I2C_InitStructure); - - /* Enable Error Interrupt */ - I2C_ITConfig(I2Cx, I2C_IT_ERR , ENABLE); - - /* I2C ENABLE */ - I2C_Cmd(I2Cx, ENABLE); - - while (1) - { - NumberOfByteToReceive = RXBUFFERSIZE; - Rx_Idx = 0x00; - - /* Clear the RxBuffer */ - Fill_Buffer(RxBuffer, RXBUFFERSIZE); - - /* Enable Event Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_EVT , ENABLE); - - /* Enable Acknowledge */ - I2C_AcknowledgeConfig(I2Cx, ENABLE); - - /* Generate the Start condition */ - I2C_GenerateSTART(I2Cx, ENABLE); - - /* Data transfer is performed in the I2C interrupt routine */ - /* Wait until end of data transfer or time out*/ - TimeOut = USER_TIMEOUT; - while ((Rx_Idx < RXBUFFERSIZE)&&(TimeOut != 0x00)) - {} - - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - if (Buffercmp(TxBuffer, RxBuffer, RXBUFFERSIZE) == PASSED) - { - /* LED2, LED3 and LED4 Toggle */ - STM_EVAL_LEDToggle(LED2); - STM_EVAL_LEDToggle(LED3); - STM_EVAL_LEDToggle(LED4); - } - else - { - /* ED2, LED3 and LED4 On */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } - delay(10); - } -#endif /* I2C_MASTER */ - -/**********************************Slave Code**********************************/ -#if defined (I2C_SLAVE) - - /*I2Cx DeInitialize*/ - I2C_DeInit(I2Cx); - - /* Initialize I2C peripheral */ - /*I2C Init */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DUTYCYCLE; - I2C_InitStructure.I2C_OwnAddress1 = SLAVE_ADDRESS; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED; - -#ifndef I2C_10BITS_ADDRESS - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; -#else - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_10bit; -#endif /* I2C_10BITS_ADDRESS */ - - I2C_Init(I2Cx, &I2C_InitStructure); - - /* Enable Error Interrupt */ - I2C_ITConfig(I2Cx, (I2C_IT_ERR), ENABLE); - - /* I2C ENABLE */ - I2C_Cmd(I2Cx, ENABLE); - - /* Infinite Loop */ - while (1) - { - Tx_Idx = 0x00; - - /* Enable I2C event interrupt */ - I2C_ITConfig(I2Cx, I2C_IT_EVT, ENABLE); - - /* Wait until end of data transfer */ - while (Tx_Idx < TXBUFFERSIZE) - { - } - - /* LED2, LED3 and LED4 Toggle */ - STM_EVAL_LEDToggle(LED2); - STM_EVAL_LEDToggle(LED3); - STM_EVAL_LEDToggle(LED4); - } -#endif /* I2C_SLAVE */ -} - -/** - * @brief Enables the I2C Clock and configures the different GPIO ports. - * @param None - * @retval None - */ -static void I2C_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* RCC Configuration */ - /*I2C Peripheral clock enable */ - RCC_APB1PeriphClockCmd(I2Cx_CLK, ENABLE); - - /*SDA GPIO clock enable */ - RCC_AHB1PeriphClockCmd(I2Cx_SDA_GPIO_CLK, ENABLE); - - /*SCL GPIO clock enable */ - RCC_AHB1PeriphClockCmd(I2Cx_SCL_GPIO_CLK, ENABLE); - - /* Reset I2Cx IP */ - RCC_APB1PeriphResetCmd(I2Cx_CLK, ENABLE); - - /* Release reset signal of I2Cx IP */ - RCC_APB1PeriphResetCmd(I2Cx_CLK, DISABLE); - - /* GPIO Configuration */ - /*Configure I2C SCL pin */ - GPIO_InitStructure.GPIO_Pin = I2Cx_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(I2Cx_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*Configure I2C SDA pin */ - GPIO_InitStructure.GPIO_Pin = I2Cx_SDA_PIN; - GPIO_Init(I2Cx_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Connect PXx to I2C_SCL */ - GPIO_PinAFConfig(I2Cx_SCL_GPIO_PORT, I2Cx_SCL_SOURCE, I2Cx_SCL_AF); - - /* Connect PXx to I2C_SDA */ - GPIO_PinAFConfig(I2Cx_SDA_GPIO_PORT, I2Cx_SDA_SOURCE, I2Cx_SDA_AF); - - /* NVIC configuration */ - /* Configure the Priority Group to 1 bit */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); - - /* Configure the I2C event priority */ - NVIC_InitStructure.NVIC_IRQChannel = I2Cx_EV_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure I2C error interrupt to have the higher priority */ - NVIC_InitStructure.NVIC_IRQChannel = I2Cx_ER_IRQn; - NVIC_Init(&NVIC_InitStructure); -} - - -/** - * @brief Configure a SysTick Base time to 10 ms. - * @param None - * @retval None - */ -static void SysTickConfig(void) -{ - /* SysTick end of count event each 10ms */ - RCC_GetClocksFreq(&RCC_Clocks); - SysTick_Config(RCC_Clocks.HCLK_Frequency / 100); - - /* Configure the SysTick handler priority */ - NVIC_SetPriority(SysTick_IRQn, 0x0); -} - -#if defined (I2C_MASTER) -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer1 identical to pBuffer2 - * FAILED: pBuffer1 differs from pBuffer2 - */ -static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer1 != *pBuffer2) - { - return FAILED; - } - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} - -/** - * @brief Fills buffer. - * @param pBuffer: pointer on the Buffer to fill - * @param BufferLength: size of the buffer to fill - * @retval None - */ -static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength) -{ - uint16_t index = 0; - - /* Put in global buffer same values */ - for (index = 0; index < BufferLength; index++ ) - { - pBuffer[index] = 0x00; - } -} - -/** - * @brief Basic management of the timeout situation. - * @param None. - * @retval None. - */ -static void TimeOut_UserCallback(void) -{ - /* User can add his own implementation to manage TimeOut Communication failure */ - /* Block communication and all processes */ - while (1) - { - } -} - -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -static void delay(__IO uint32_t nCount) -{ - __IO uint32_t index = 0; - for(index = (34000 * nCount); index != 0; index--) - { - } -} -#endif /* I2C_MASTER */ - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.h deleted file mode 100644 index 1d91c5b06..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.h +++ /dev/null @@ -1,112 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program header - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported typedef -----------------------------------------------------------*/ -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Exported define ------------------------------------------------------------*/ -/* Uncomment the line below if you will use the I2C peripheral as a Master */ -#define I2C_MASTER -/* Uncomment the line below if you will use the I2C peripheral as a Slave */ -/* #define I2C_SLAVE */ - -/* To use the I2C at 400 KHz (in fast mode), the PCLK1 frequency (I2C peripheral - input clock) must be a multiple of 10 MHz */ -/* Uncomment the line below if you will use the I2C peripheral in Fast Mode */ -/* #define FAST_I2C_MODE */ - -/* Uncomment the line below if you will use the I2C peripheral in 10-bit addressing - mode */ -#define I2C_10BITS_ADDRESS - -/* Define I2C Speed --------------------------------------------------------*/ -#ifdef FAST_I2C_MODE - #define I2C_SPEED 340000 - #define I2C_DUTYCYCLE I2C_DutyCycle_16_9 -#else /* STANDARD_I2C_MODE*/ - #define I2C_SPEED 100000 - #define I2C_DUTYCYCLE I2C_DutyCycle_2 -#endif /* FAST_I2C_MODE*/ - -/* Define Slave Address ---------------------------------------------------*/ -#ifdef I2C_10BITS_ADDRESS - #define SLAVE_ADDRESS (uint16_t)0x0330 -#else /* I2C_7BITS_ADDRESS */ - #define SLAVE_ADDRESS 0x30 -#endif /* I2C_10BITS_ADDRESS */ - -/* USER_TIMEOUT value for waiting loops. This timeout is just a guarantee that the - application will not remain stuck if the I2C communication is corrupted. - You may modify this timeout value depending on CPU frequency and application - conditions (interrupts routines, number of data to transfer, speed, CPU - frequency...). */ -#define USER_TIMEOUT ((uint32_t)0x64) /* Waiting 1s */ - -/* I2Cx Communication boards Interface */ -#define I2Cx I2C1 -#define I2Cx_CLK RCC_APB1Periph_I2C1 -#define I2Cx_EV_IRQn I2C1_EV_IRQn -#define I2Cx_ER_IRQn I2C1_ER_IRQn -#define I2Cx_EV_IRQHandler I2C1_EV_IRQHandler -#define I2Cx_ER_IRQHandler I2C1_ER_IRQHandler - -#define I2Cx_SDA_GPIO_CLK RCC_AHB1Periph_GPIOB -#define I2Cx_SDA_PIN GPIO_Pin_9 -#define I2Cx_SDA_GPIO_PORT GPIOB -#define I2Cx_SDA_SOURCE GPIO_PinSource9 -#define I2Cx_SDA_AF GPIO_AF_I2C1 - -#define I2Cx_SCL_GPIO_CLK RCC_AHB1Periph_GPIOB -#define I2Cx_SCL_PIN GPIO_Pin_6 -#define I2Cx_SCL_GPIO_PORT GPIOB -#define I2Cx_SCL_SOURCE GPIO_PinSource6 -#define I2Cx_SCL_AF GPIO_AF_I2C1 - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/readme.txt deleted file mode 100644 index 1fa5a3f6e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/readme.txt +++ /dev/null @@ -1,155 +0,0 @@ -/** - @page I2C_MasterReceiverInterrupt I2C Communication between Master in Receiver mode - and slave in Transmitter mode using interrupts example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file I2C/I2C_TwoBoards/MasterReceiverInterrupt/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the Two Boards I2C Communication example: Master receiver - * and Slave Transmitter. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This is a typical example of how to use the I2C firmware library to ensure the -steps of an I2C communication between slave transmitter and master receiver using -interrupt. - -- Hardware Description - -To use this example, you need to load it on two STM32 boards (let's call them -Board A and Board B) then connect these two boards through I2C lines and GND. -In the firmware example uncomment the dedicated line in the main.h file to use -the I2C peripheral as STM32 Master device or as STM32 Slave . - -@verbatim -*------------------------------------------------------------------------------* -| BOARD A BOARD B | -| ____________________ ____________________ | -| | | | | | -| | | | | | -| | __________ | | __________ | | -| | |I2C Master|____|_______SDA_______|____|I2C Slave | | | -| | | Device |____|_______SCL_______|____| Device | | | -| | |__________| | | |__________| | | -| | O LD1 | | O LD1 | | -| | O LD2 RESET | | O LD2 RESET | | -| | O LD3 _ | | O LD3 _ | | -| | O LD4 |_| | | O LD4 |_| | | -| | | | | | -| | GND O--|-----------------|--O GND | | -| |____________________| |____________________| | -| | -| | -*------------------------------------------------------------------------------* -@endverbatim - -- Software Description - -This example requires two boards(Master and Slave) - -In master board I2C peripheral is configured in Master Receiver with interrupt, -where in Slave board I2C peripheral is configured in Slave Transmitter with -Interrupt. - -Once the master has initiated the communication (Start condition), the slave -will send the defined TxBuffer. - -At the end of the data transfer, a data consistency check will be performed -in master side and in case of mismatch between sent and received data, all LED's -are Off. Otherwise LED2, LED3 and LED4 will toggle. - -Communication error are handled in master side, their occurrence will be signaled -by puting LED3 and LED4 On. - -However, in slave side LED2, LED3 and LED4 will toggle after sending the TxBuffer -without any check. - -The File "I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.h" allows different -possibilities of configuration of this example: - - Addressing mode : 7-bit or 10-bit - - I2C speed: Fast mode or Standard mode - -In both boards, the data transfers is managed using I2Cx_EV_IRQHandler -and I2Cx_ER_IRQHandler in stm32f2xx_it.c file. - -The SysTick is configured to generate interrupt each 10ms. A dedicated counter -inside the SysTick ISR is used to toggle the LED1 each 100ms indicating that the -firmware is running. -These operations are repeated infinitely. - -A defined communication timeout is insuring that the application will not remain -stuck if the I2C Master communication is corrupted. -You can adjust this timeout through the USER_TIMEOUT define inside main.h file -depending on CPU frequency and application conditions (interrupts routines, -number of data to transfer, speed, CPU frequency...). -When a given operation is not finished within the defined timeout, a callback is -made to the function "TimeOut_UserCallback()", this function is used to manage -timeout communication failure. In this example, this callback implements a simple -infinite loop, but user can add his own implementation to manage timeout failure. - - -@par Directory contents - - - I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_conf.h Library Configuration file - - I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_it.c Interrupt handlers - - I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_it.h Interrupt handlers header file - - I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.c Main program - - I2C/I2C_TwoBoards/MasterReceiverInterrupt/main.h Main Header file - - I2C/I2C_TwoBoards/MasterReceiverInterrupt/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB (with no additional - hardware), and can be easily tailored to any other development board. - - - STM322xG-EVAL Set-up - - Connect I2C1 Master SCL pin (PB.06) to I2C1 Slave SCL (PB.06) - - Connect I2C1 Master SDA pin (PB.09) to I2C1 Slave SDA (PB.09) - - @note - - Pull-up resistors should be connected to I2C SCL and SDA Pins in case of - other boards use. - Pull-up resistors are already implemented on the STM322xG-EVAL evaluation - boards. - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_conf.h deleted file mode 100644 index 43d027cb1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_it.c deleted file mode 100644 index 82e069b15..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_it.c +++ /dev/null @@ -1,436 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup MasterReceiverInterrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ - -extern uint8_t TxBuffer[]; -__IO uint8_t Counter = 0x00; -__IO uint32_t Event = 0x00; - -#if defined (I2C_MASTER) - uint8_t HEADER_ADDRESS_Write = (((SLAVE_ADDRESS & 0xFF00) >> 7) | 0xF0); - uint8_t HEADER_ADDRESS_Read = (((SLAVE_ADDRESS & 0xFF00) >> 7) | 0xF1); - - extern __IO uint32_t TimeOut; - extern __IO uint8_t Rx_Idx; - extern __IO uint8_t NumberOfByteToReceive; - extern uint8_t RxBuffer[]; - __IO uint8_t GenerateStartStatus = 0x00; - #ifdef I2C_10BITS_ADDRESS - __IO uint8_t Send_HeaderStatus = 0x00; - #endif /* I2C_10BITS_ADDRESS */ -#endif /* I2C_MASTER */ - -#if defined (I2C_SLAVE) - extern __IO uint8_t Tx_Idx; - extern uint8_t NbrOfDataToSend; -#endif /* I2C_SLAVE */ - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -#if defined (I2C_MASTER) - /* Decrement the time out value */ - if (TimeOut != 0x0) - { - TimeOut--; - } -#endif /* I2C_MASTER*/ - - if (Counter < 10) - { - Counter++; - } - else - { - Counter = 0x00; - STM_EVAL_LEDToggle(LED1); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ -/** - * @brief This function handles I2Cx Error interrupt request. - * @param None - * @retval None - */ -void I2Cx_ER_IRQHandler(void) -{ -#if defined (I2C_SLAVE) - - /* Read SR1 register to get I2C error */ - if ((I2C_ReadRegister(I2Cx, I2C_Register_SR1) & 0xFF00) != 0x00) - { - /* Clears error flags */ - I2Cx->SR1 &= 0x00FF; - Tx_Idx = 0; - } - -#endif /* I2C_SLAVE*/ - -#if defined (I2C_MASTER) - - /* Read SR1 register to get I2C error */ - if ((I2C_ReadRegister(I2Cx, I2C_Register_SR1) & 0xFF00) != 0x00) - { - /* Clears erreur flags */ - I2Cx->SR1 &= 0x00FF; - - /* Set LED3 and LED4 */ - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - STM_EVAL_LEDOff(LED2); - Rx_Idx = 0; - } -#endif /* I2C_MASTER*/ -} - -/** - * @brief This function handles I2Cx event interrupt request. - * @param None - * @retval None - */ -void I2Cx_EV_IRQHandler(void) -{ -#if defined (I2C_SLAVE) - /* Get Last I2C Event */ - Event = I2C_GetLastEvent(I2Cx); - switch (Event) - { - /*****************************************************************************/ - /* Slave Transmitter Events */ - /* */ - /* ***************************************************************************/ - - /* Check on EV1 */ - case I2C_EVENT_SLAVE_TRANSMITTER_ADDRESS_MATCHED: - I2C_SendData(I2Cx, TxBuffer[Tx_Idx++]); - /* Enable I2C event interrupt */ - I2C_ITConfig(I2Cx, I2C_IT_BUF, ENABLE); - break; - - /* Check on EV3 */ - case I2C_EVENT_SLAVE_BYTE_TRANSMITTING: - case I2C_EVENT_SLAVE_BYTE_TRANSMITTED: - if (Tx_Idx < NbrOfDataToSend) - I2C_SendData(I2Cx, TxBuffer[Tx_Idx++]); - else - /* Disable I2C event interrupt */ - I2C_ITConfig(I2Cx, I2C_IT_EVT | I2C_IT_BUF, DISABLE); - break; - - default: - break; - } -#endif /* I2C_SLAVE*/ - -#if defined (I2C_MASTER) -/*****************************************************************************/ -/* Master Receiver */ -/* */ -/* ***************************************************************************/ -#ifdef I2C_10BITS_ADDRESS - /* Check on SB Flag and clear it */ - if(I2C_GetITStatus(I2Cx, I2C_IT_SB)== SET) - { - if (Send_HeaderStatus == 0x00) - { - /* Send Header to Slave for write */ - I2C_SendData(I2Cx, HEADER_ADDRESS_Write); - Send_HeaderStatus = 0x01; - GenerateStartStatus = 0x01; - } - else - { - /* Send Header to Slave for Read */ - I2C_SendData(I2Cx, HEADER_ADDRESS_Read); - Send_HeaderStatus = 0x00; - if (NumberOfByteToReceive == 0x03) - { - /* Disable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , DISABLE); - } - else - { - /* Enable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , ENABLE); - } - } - } - /* Check on ADD10 Flag */ - else if(I2C_GetITStatus(I2Cx, I2C_IT_ADD10)== SET) - { - /* Send slave Address */ - I2C_Send7bitAddress(I2Cx, (uint8_t)SLAVE_ADDRESS, I2C_Direction_Transmitter); - } - -#else /* I2C_7BITS_ADDRESS */ - - /* Check on EV5 */ - if(I2C_GetITStatus(I2Cx, I2C_IT_SB)== SET) - { - /* Send slave Address for read */ - I2C_Send7bitAddress(I2Cx, SLAVE_ADDRESS, I2C_Direction_Receiver); - if (NumberOfByteToReceive == 0x03) - { - /* Disable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , DISABLE); - } - else - { - /* Enable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , ENABLE); - } - } -#endif /* I2C_10BITS_ADDRESS */ - - else if(I2C_GetITStatus(I2Cx, I2C_IT_ADDR)== SET) - { - if (NumberOfByteToReceive == 1) - { - I2C_AcknowledgeConfig(I2Cx, DISABLE); - } - - /* Clear ADDR Register */ - (void)(I2Cx->SR1); - (void)(I2Cx->SR2); - if (GenerateStartStatus == 0x00) - { - if (NumberOfByteToReceive == 1) - { - I2C_GenerateSTOP(I2Cx, ENABLE); - } - - if (NumberOfByteToReceive == 2) - { - I2C_AcknowledgeConfig(I2Cx, DISABLE); - I2C_PECPositionConfig(I2Cx, I2C_PECPosition_Next); - /* Disable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , DISABLE); - } - } - -#ifdef I2C_10BITS_ADDRESS - if (GenerateStartStatus == 0x01) - { - /* Repeated Start */ - I2C_GenerateSTART(I2Cx, ENABLE); - GenerateStartStatus = 0x00; - } - -#endif /* I2C_10BITS_ADDRESS */ - } - - else if((I2C_GetITStatus(I2Cx, I2C_IT_RXNE)== SET)&&(I2C_GetITStatus(I2Cx, I2C_IT_BTF)== RESET)) - { - /* Store I2C received data */ - RxBuffer[Rx_Idx++] = I2C_ReceiveData (I2Cx); - NumberOfByteToReceive--; - - if (NumberOfByteToReceive == 0x03) - { - /* Disable buffer Interrupts */ - I2C_ITConfig(I2Cx, I2C_IT_BUF , DISABLE); - } - - if (NumberOfByteToReceive == 0x00) - { - /* Disable Error and Buffer Interrupts */ - I2C_ITConfig(I2Cx, (I2C_IT_EVT | I2C_IT_BUF), DISABLE); - } - } - /* BUSY, MSL and RXNE flags */ - else if(I2C_GetITStatus(I2Cx, I2C_IT_BTF)== SET) - { - /* if Three bytes remaining for reception */ - if (NumberOfByteToReceive == 3) - { - I2C_AcknowledgeConfig(I2Cx, DISABLE); - /* Store I2C received data */ - RxBuffer[Rx_Idx++] = I2C_ReceiveData (I2Cx); - NumberOfByteToReceive--; - } - else if (NumberOfByteToReceive == 2) - { - I2C_GenerateSTOP(I2Cx, ENABLE); - - /* Store I2C received data */ - RxBuffer[Rx_Idx++] = I2C_ReceiveData (I2Cx); - NumberOfByteToReceive--; - /* Store I2C received data */ - RxBuffer[Rx_Idx++] = I2C_ReceiveData (I2Cx); - NumberOfByteToReceive--; - /* Disable Error and Buffer Interrupts */ - I2C_ITConfig(I2Cx, (I2C_IT_EVT | I2C_IT_BUF), DISABLE); - } - else - { - /* Store I2C received data */ - RxBuffer[Rx_Idx++] = I2C_ReceiveData (I2Cx); - NumberOfByteToReceive--; - } - } -#endif /* I2C_MASTER*/ -} - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_it.h deleted file mode 100644 index 4be5fdd00..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_it.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -void I2Cx_ER_IRQHANDLER(void); -void I2Cx_EV_IRQHANDLER(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterReceiverInterrupt/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.c deleted file mode 100644 index 3fb20f607..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.c +++ /dev/null @@ -1,527 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup MasterTransmitterInterrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -I2C_InitTypeDef I2C_InitStructure; -uint8_t TxBuffer[] = "I2C Interrupt Example: Communication between two I2C using Interrupt"; -__IO uint8_t NumberOfByte = 0x00; - -#if defined (I2C_SLAVE) - __IO uint8_t CmdReceived = 0x00; - __IO uint8_t Rx_Idx = 0x00; - uint8_t RxBuffer [RXBUFFERSIZE]; -#endif /* I2C_SLAVE */ - -#if defined (I2C_MASTER) - __IO uint32_t TimeOut = 0x0; - __IO uint8_t CmdTransmitted = 0x00; - __IO JOYState_TypeDef PressedButton = JOY_NONE; - __IO uint8_t Tx_Idx = 0x00; -#endif /* I2C_MASTER */ -RCC_ClocksTypeDef RCC_Clocks; - -/* Private function prototypes -----------------------------------------------*/ -static void I2C_Config(void); -static void SysTickConfig(void); - -#if defined (I2C_MASTER) - static void TimeOut_UserCallback(void); -#endif /* I2C_MASTER */ - -#if defined (I2C_SLAVE) - static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength); - static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength); -#endif /* I2C_SLAVE */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* I2C configuration ---------------------------------------------------------*/ - I2C_Config(); - - /* Initialize LEDs mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - -#if defined (I2C_MASTER) - /* Initialize push-buttons mounted on STM322xG-EVAL board */ - TimeOut = USER_TIMEOUT; - while ((IOE_Config() != IOE_OK) && (TimeOut != 0x00)) - {} - - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } -#endif /* I2C_MASTER */ - - /* SysTick configuration -----------------------------------------------------*/ - SysTickConfig(); - -/*************************************Master Code******************************/ -#if defined (I2C_MASTER) - /* I2C De-initialize */ - I2C_DeInit(I2Cx); - - /*!< I2C Struct Initialize */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DUTYCYCLE; - I2C_InitStructure.I2C_OwnAddress1 = 0xA0; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED; - -#ifndef I2C_10BITS_ADDRESS - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; -#else - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_10bit; -#endif /* I2C_10BITS_ADDRESS */ - - /*!< I2C Initialize */ - I2C_Init(I2Cx, &I2C_InitStructure); - - /* Enable Error Interrupt */ - I2C_ITConfig(I2Cx, I2C_IT_ERR , ENABLE); - - /* I2C ENABLE */ - I2C_Cmd(I2Cx, ENABLE); - - while (1) - { - CmdTransmitted = 0x00; - NumberOfByte = 0x00; - Tx_Idx = 0x00; - - /* Clear PressedButton by reading joystick */ - PressedButton = IOE_JoyStickGetState(); - - /* Waiting joystick pressed */ - while (PressedButton == JOY_NONE) - { - PressedButton = IOE_JoyStickGetState(); - } - - /* I2C in Master Transmitter Mode ----------------------------------------*/ - switch (PressedButton) - { - /* JOY_RIGHT button pressed */ - case JOY_RIGHT: - NumberOfByte = CMD_RIGHT_SIZE; - CmdTransmitted = CMD_RIGHT; - break; - /* JOY_LEFT button pressed */ - case JOY_LEFT: - NumberOfByte = CMD_LEFT_SIZE; - CmdTransmitted = CMD_LEFT; - break; - /* JOY_UP button pressed */ - case JOY_UP: - NumberOfByte = CMD_UP_SIZE; - CmdTransmitted = CMD_UP; - break; - /* JOY_DOWN button pressed */ - case JOY_DOWN: - NumberOfByte = CMD_DOWN_SIZE; - CmdTransmitted = CMD_DOWN; - break; - /* JOY_SEL button pressed */ - case JOY_SEL: - NumberOfByte = CMD_SEL_SIZE; - CmdTransmitted = CMD_SEL; - break; - default: - break; - } - - if (CmdTransmitted != 0x00) - { - /* Enable Error and Buffer Interrupts */ - I2C_ITConfig(I2Cx, (I2C_IT_EVT | I2C_IT_BUF), ENABLE); - /* Generate the Start condition */ - I2C_GenerateSTART(I2Cx, ENABLE); - /* Data transfer is performed in the I2C interrupt routine */ - /* Wait until end of data transfer or time out */ - TimeOut = USER_TIMEOUT; - while ((Tx_Idx < GetVar_NbrOfDataToTransfer())&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - TimeOut = USER_TIMEOUT; - while ((I2C_GetFlagStatus(I2Cx, I2C_FLAG_BUSY))&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - } - } -#endif /* I2C_MASTER */ - - - /**********************************Slave Code**********************************/ -#if defined (I2C_SLAVE) - - I2C_DeInit(I2Cx); - - /* Initialize I2C peripheral */ - /*!< I2C Init */ - I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; - I2C_InitStructure.I2C_DutyCycle = I2C_DUTYCYCLE; - I2C_InitStructure.I2C_OwnAddress1 = SLAVE_ADDRESS; - I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; - I2C_InitStructure.I2C_ClockSpeed = I2C_SPEED; - -#ifndef I2C_10BITS_ADDRESS - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; -#else - I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_10bit; -#endif /* I2C_10BITS_ADDRESS */ - - I2C_Init(I2Cx, &I2C_InitStructure); - - /* Enable Error Interrupt */ - I2C_ITConfig(I2Cx, (I2C_IT_ERR | I2C_IT_EVT | I2C_IT_BUF), ENABLE); - - /* I2C ENABLE */ - I2C_Cmd(I2Cx, ENABLE); - - /* Infinite Loop */ - while (1) - { - CmdReceived = 0x00; - NumberOfByte = 0x00; - - /* Clear the RxBuffer */ - Fill_Buffer(RxBuffer, RXBUFFERSIZE); - - while (CmdReceived == 0x00) - {} - - /* Wait until end of data transfer */ - while (Rx_Idx < GetVar_NbrOfDataToReceive()) - {} - - /* I2C in Slave Receiver Mode --------------------------------------------*/ - if (CmdReceived != 0x00) - { - switch (Rx_Idx) - { - /* Right button pressed */ - case CMD_RIGHT_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_RIGHT_SIZE) == PASSED) - { - /* Turn ON LED2 and LED3 */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - /* Turn all other LEDs off */ - STM_EVAL_LEDOff(LED4); - } - break; - /* Left button pressed*/ - case CMD_LEFT_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_LEFT_SIZE) == PASSED) - { - /* Turn ON LED4 */ - STM_EVAL_LEDOn(LED4); - /* Turn all other LEDs off */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - } - break; - /* Up button pressed */ - case CMD_UP_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_UP_SIZE) == PASSED) - { - /* Turn ON LED2 */ - STM_EVAL_LEDOn(LED2); - /* Turn all other LEDs off */ - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } - break; - /* Down button pressed */ - case CMD_DOWN_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_DOWN_SIZE) == PASSED) - { - /* Turn ON LED3 */ - STM_EVAL_LEDOn(LED3); - /* Turn all other LEDs off */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED4); - } - break; - /* Sel button pressed */ - case CMD_SEL_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_SEL_SIZE) == PASSED) - { - /* Turn ON all LEDs */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - } - break; - default: - break; - } - } - } -#endif /* I2C_SLAVE */ -} - -/** - * @brief Enables the I2C Clock and configures the different GPIO ports. - * @param None - * @retval None - */ -static void I2C_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* RCC Configuration */ - /*I2C Peripheral clock enable */ - RCC_APB1PeriphClockCmd(I2Cx_CLK, ENABLE); - - /*SDA GPIO clock enable */ - RCC_AHB1PeriphClockCmd(I2Cx_SDA_GPIO_CLK, ENABLE); - - /*SCL GPIO clock enable */ - RCC_AHB1PeriphClockCmd(I2Cx_SCL_GPIO_CLK, ENABLE); - - /* Reset I2Cx IP */ - RCC_APB1PeriphResetCmd(I2Cx_CLK, ENABLE); - - /* Release reset signal of I2Cx IP */ - RCC_APB1PeriphResetCmd(I2Cx_CLK, DISABLE); - - /* GPIO Configuration */ - /*Configure I2C SCL pin */ - GPIO_InitStructure.GPIO_Pin = I2Cx_SCL_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(I2Cx_SCL_GPIO_PORT, &GPIO_InitStructure); - - /*Configure I2C SDA pin */ - GPIO_InitStructure.GPIO_Pin = I2Cx_SDA_PIN; - GPIO_Init(I2Cx_SDA_GPIO_PORT, &GPIO_InitStructure); - - /* Connect PXx to I2C_SCL */ - GPIO_PinAFConfig(I2Cx_SCL_GPIO_PORT, I2Cx_SCL_SOURCE, I2Cx_SCL_AF); - - /* Connect PXx to I2C_SDA */ - GPIO_PinAFConfig(I2Cx_SDA_GPIO_PORT, I2Cx_SDA_SOURCE, I2Cx_SDA_AF); - - /* NVIC configuration */ - /* Configure the Priority Group to 1 bit */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); - - /* Configure the I2C event priority */ - NVIC_InitStructure.NVIC_IRQChannel = I2Cx_EV_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure I2C error interrupt to have the higher priority */ - NVIC_InitStructure.NVIC_IRQChannel = I2Cx_ER_IRQn; - NVIC_Init(&NVIC_InitStructure); -} - -/** - * @brief Configure a SysTick Base time to 10 ms. - * @param None - * @retval None - */ -static void SysTickConfig(void) -{ - /* SysTick end of count event each 10ms */ - RCC_GetClocksFreq(&RCC_Clocks); - SysTick_Config(RCC_Clocks.HCLK_Frequency / 100); - - /* Configure the SysTick handler priority */ - NVIC_SetPriority(SysTick_IRQn, 0x0); -} - -#if defined (I2C_MASTER) -/** - * @brief Returns NbrOfDataToTransfer value. - * @param None - * @retval Tx Buffer Size (NbrOfDataToTransfer). - */ -uint8_t GetVar_NbrOfDataToTransfer(void) -{ - return NumberOfByte; -} - -/** - * @brief Basic management of the timeout situation. - * @param None. - * @retval None. - */ -static void TimeOut_UserCallback(void) -{ - /* User can add his own implementation to manage TimeOut Communication failure */ - /* Block communication and all processes */ - while (1) - { - } -} -#endif /* I2C_MASTER */ - -#if defined (I2C_SLAVE) -/** - * @brief Returns NbrOfDataToReceive value. - * @param None - * @retval Rx Buffer Size (NumberOfByte). - */ -uint8_t GetVar_NbrOfDataToReceive(void) -{ - switch (CmdReceived) - { - case CMD_RIGHT: - NumberOfByte = CMD_RIGHT_SIZE; - break; - case CMD_LEFT: - NumberOfByte = CMD_LEFT_SIZE; - break; - case CMD_UP: - NumberOfByte = CMD_UP_SIZE; - break; - case CMD_DOWN: - NumberOfByte = CMD_DOWN_SIZE; - break; - case CMD_SEL: - NumberOfByte = CMD_SEL_SIZE; - break; - default: - break; - } - return NumberOfByte; -} - -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer1 identical to pBuffer2 - * FAILED: pBuffer1 differs from pBuffer2 - */ -static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer1 != *pBuffer2) - { - return FAILED; - } - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} - -/** - * @brief Fills buffer. - * @param pBuffer: pointer on the Buffer to fill - * @param BufferLength: size of the buffer to fill - * @retval None - */ -static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength) -{ - uint16_t index = 0; - - /* Put in global buffer same values */ - for (index = 0; index < BufferLength; index++ ) - { - pBuffer[index] = 0x00; - } -} -#endif /* I2C_SLAVE */ - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.h deleted file mode 100644 index 2e9d4cb34..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.h +++ /dev/null @@ -1,141 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program header - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_ioe.h" - -/* Exported typedef -----------------------------------------------------------*/ -#define countof(a) (sizeof(a) / sizeof(*(a))) -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Exported define ------------------------------------------------------------*/ -/* Uncomment the line below if you will use the I2C peripheral as a Master */ -#define I2C_MASTER -/* Uncomment the line below if you will use the I2C peripheral as a Slave */ -/* #define I2C_SLAVE */ - -/* To use the I2C at 400 KHz (in fast mode), the PCLK1 frequency (I2C peripheral - input clock) must be a multiple of 10 MHz */ -/* Uncomment the line below if you will use the I2C peripheral in Fast Mode */ -/* #define FAST_I2C_MODE */ - -/* Uncomment the line below if you will use the I2C peripheral in 10-bit addressing - mode */ -/* #define I2C_10BITS_ADDRESS */ - -/* Define I2C Speed --------------------------------------------------------*/ -#ifdef FAST_I2C_MODE - #define I2C_SPEED 340000 - #define I2C_DUTYCYCLE I2C_DutyCycle_16_9 -#else /* STANDARD_I2C_MODE*/ - #define I2C_SPEED 100000 - #define I2C_DUTYCYCLE I2C_DutyCycle_2 -#endif /* FAST_I2C_MODE*/ - -/* Define Slave Address ---------------------------------------------------*/ -#ifdef I2C_10BITS_ADDRESS - #define SLAVE_ADDRESS (uint16_t)0x0330 -#else /* I2C_7BITS_ADDRESS */ - #define SLAVE_ADDRESS 0x30 -#endif /* I2C_10BITS_ADDRESS */ - -/* USER_TIMEOUT value for waiting loops. This timeout is just a guarantee that the - application will not remain stuck if the I2C communication is corrupted. - You may modify this timeout value depending on CPU frequency and application - conditions (interrupts routines, number of data to transfer, speed, CPU - frequency...). */ -#define USER_TIMEOUT ((uint32_t)0x64) /* Waiting 1s */ - -#define TXBUFFERSIZE (countof(TxBuffer) - 1) -#define RXBUFFERSIZE TXBUFFERSIZE - -/* I2Cx Communication boards Interface */ -#define I2Cx I2C1 -#define I2Cx_CLK RCC_APB1Periph_I2C1 -#define I2Cx_EV_IRQn I2C1_EV_IRQn -#define I2Cx_ER_IRQn I2C1_ER_IRQn -#define I2Cx_EV_IRQHandler I2C1_EV_IRQHandler -#define I2Cx_ER_IRQHandler I2C1_ER_IRQHandler - -#define I2Cx_SDA_GPIO_CLK RCC_AHB1Periph_GPIOB -#define I2Cx_SDA_PIN GPIO_Pin_9 -#define I2Cx_SDA_GPIO_PORT GPIOB -#define I2Cx_SDA_SOURCE GPIO_PinSource9 -#define I2Cx_SDA_AF GPIO_AF_I2C1 - -#define I2Cx_SCL_GPIO_CLK RCC_AHB1Periph_GPIOB -#define I2Cx_SCL_PIN GPIO_Pin_6 -#define I2Cx_SCL_GPIO_PORT GPIOB -#define I2Cx_SCL_SOURCE GPIO_PinSource6 -#define I2Cx_SCL_AF GPIO_AF_I2C1 - -/* Joystick Commands */ -#define CMD_RIGHT 0x55 -#define CMD_LEFT 0xAA -#define CMD_UP 0x33 -#define CMD_DOWN 0xCC -#define CMD_SEL 0xFF - -#define CMD_ACK 0x66 - -/* Define numbers of bytes to transmit from TxBuffer */ -#define CMD_RIGHT_SIZE 0x01 -#define CMD_LEFT_SIZE 0x05 -#define CMD_UP_SIZE 0x14 -#define CMD_DOWN_SIZE 0x1E -#define CMD_SEL_SIZE TXBUFFERSIZE - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -#if defined (I2C_MASTER) -uint8_t GetVar_NbrOfDataToTransfer(void); -#endif /* I2C_MASTER */ - -#if defined (I2C_SLAVE) -uint8_t GetVar_NbrOfDataToReceive(void); -#endif /* I2C_SLAVE */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/readme.txt deleted file mode 100644 index 5686b1adf..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/readme.txt +++ /dev/null @@ -1,155 +0,0 @@ -/** - @page I2C_MasterTransmitterInterrupt I2C Communication between Master in mode transmitter - and slave in mode Receiver using interrupts example - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file I2C/I2C_TwoBoards/MasterTransmitterInterrupt/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the Two boards I2C Communication example: Master transmitter - * and Slave and receiver. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a small application in which joystick buttons are used -to trigger I2C communication using interrupt and though using I2C firmware library. - -- Hardware Description - -To use this example, you need to load it in two STM32 boards (let's call them -Board A and Board B) then connect these two boards through I2C lines and GND. -In the firmware example uncomment the dedicated line in the main.h file to use -the I2C peripheral as STM32 Master device or as STM32 Slave . - -@verbatim -*------------------------------------------------------------------------------* -| BOARD A BOARD B | -| ____________________ ____________________ | -| | | | | | -| | | | | | -| | __________ | | __________ | | -| | |I2C Master|____|_______SDA_______|____|I2C Slave | | | -| | | Device |____|_______SCL_______|____| Device | | | -| | |__________| | | |__________| | | -| | O LD1 | | O LD1 | | -| | O LD2 Joystick | | O LD2 | | -| | O LD3 _ | | O LD3 | | -| | O LD4 |_| | | O LD4 | | -| | | | | | -| | GND O--|-----------------|--O GND | | -| |____________________| |____________________| | -| | -| | -*------------------------------------------------------------------------------* -@endverbatim - -- Software Description - -This example requires two boards(Master and Slave) - -In master board, I2C peripheral is configured as Master Transmitter with Interrupt, -whereas in Slave board, I2C peripheral is configured as Slave Receiver with Interrupt. -According to the pushed joystick button in the master board a specific LED will -be ON in the slave board. - -At each joystick position press - - The master sends the defined NumberOfByte from TxBuffer to the slave - - The Slave compares the NumberOfByte received data with the defined ones into TxBuffer - -Received data correctness is signaled by LED lightening and though as follow: - - Joystick RIGHT and data correctly received ==> LD2, LD3 ON and LD4 OFF - - Joystick LEFT and data correctly received ==> LD4 ON, LD2 and LD3 are OFF - - Joystick UP and data correctly received ==> LD2 ON, LD3 and LD4 are OFF - - Joystick DOWN and data correctly received ==> LD3 ON, LD2 and LD4 are OFF - - Joystick SEL and data correctly received ==> LD2, LD3 and LD4 are ON - -Communication error are handled in both Master and Slave sides, their occurrence -will be signaled respectively by puting LED3 and LED4 On. - -The File "I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.h" allows different -possibilities of configuration of this example: - - Addressing mode : 7-bit or 10-bit - - I2C speed: Fast mode or Standard mode - - Buffer size also can be configured - -In both boards, the data transfers is managed using I2Cx_EV_IRQHandler -and I2Cx_ER_IRQHandler in stm32f2xx_it.c file. - -The SysTick is configured to generate interrupt each 10ms. A dedicated counter -inside the SysTick ISR is used to toggle the LD1 each 100ms indicating that the -firmware is running. -These operations can be repeated infinitely. - -A defined communication timeout is insuring that the application will not remain -stuck if the I2C Master communication is corrupted. -You can adjust this timeout through the USER_TIMEOUT define inside main.h file -depending on CPU frequency and application conditions (interrupts routines, -number of data to transfer, speed, CPU frequency...). -When a given operation is not finished within the defined timeout, a callback is -made to the function "TimeOut_UserCallback()", this function is used to manage -timeout communication failure. In this example, this callback implements a simple -infinite loop, but user can add his own implementation to manage timeout failure. - - -@par Directory contents - - - I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_conf.h Library Configuration file - - I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_it.c Interrupt handlers - - I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_it.h Interrupt handlers header file - - I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.c Main program - - I2C/I2C_TwoBoards/MasterTransmitterInterrupt/main.h Main Header file - - I2C/I2C_TwoBoards/MasterTransmitterInterrupt/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB (with no additional - hardware), and can be easily tailored to any other development board. - - - STM322xG-EVAL Set-up - - Connect I2C1 Master SCL pin (PB.06) to I2C1 Slave SCL (PB.06) - - Connect I2C1 Master SDA pin (PB.09) to I2C1 Slave SDA (PB.09) - - @note - - Pull-up resistors should be connected to I2C SCL and SDA Pins in case of - other boards use. - Pull-up resistors are already implemented on the STM322xG-EVAL evaluation - boards. - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_conf.h deleted file mode 100644 index 43d027cb1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/MasterReceiverInterrupt/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_it.c deleted file mode 100644 index ebee9c191..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_it.c +++ /dev/null @@ -1,331 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup MasterTransmitterInterrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern uint8_t TxBuffer[]; -__IO uint8_t Counter = 0x00; -extern __IO uint8_t NumberOfByte; - -#if defined (I2C_SLAVE) - __IO uint32_t Event = 0x00; - extern uint8_t RxBuffer[]; - extern __IO uint8_t Rx_Idx; - extern __IO uint8_t CmdReceived; -#endif /* I2C_SLAVE */ - -#if defined (I2C_MASTER) - uint8_t HEADER_ADDRESS_Write = (((SLAVE_ADDRESS & 0xFF00) >> 7) | 0xF0); - extern __IO uint8_t PressedButton; - extern __IO uint8_t Tx_Idx; - extern __IO uint32_t TimeOut; - extern __IO uint8_t CmdTransmitted; -#endif /* I2C_MASTER */ - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -#if defined (I2C_MASTER) - /* Decrement the time out value */ - if (TimeOut != 0x0) - { - TimeOut--; - } -#endif /* I2C_MASTER*/ - - if (Counter < 10) - { - Counter++; - } - else - { - Counter = 0x00; - STM_EVAL_LEDToggle(LED1); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ -/** - * @brief This function handles I2Cx Error interrupt request. - * @param None - * @retval None - */ -void I2Cx_ER_IRQHandler(void) -{ -#if defined (I2C_SLAVE) - - /* Read SR1 register to get I2C error */ - if ((I2C_ReadRegister(I2Cx, I2C_Register_SR1) & 0xFF00) != 0x00) - { - /* Clears erreur flags */ - I2Cx->SR1 &= 0x00FF; - } -#endif /* I2C_SLAVE*/ - -#if defined (I2C_MASTER) - - /* Read SR1 register to get I2C error */ - if ((I2C_ReadRegister(I2Cx, I2C_Register_SR1) & 0xFF00) != 0x00) - { - /* Clears erreur flags */ - I2Cx->SR1 &= 0x00FF; - - /* Set LED3 and LED4 */ - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - STM_EVAL_LEDOff(LED2); - } -#endif /* I2C_MASTER*/ -} - -/** - * @brief This function handles I2Cx event interrupt request. - * @param None - * @retval None - */ -void I2Cx_EV_IRQHandler(void) -{ -#if defined (I2C_MASTER) - - switch (I2C_GetLastEvent(I2Cx)) - { - /* EV5 */ - case I2C_EVENT_MASTER_MODE_SELECT : -#ifdef I2C_10BITS_ADDRESS - /* Send Header to Slave for write */ - I2C_SendData(I2Cx, HEADER_ADDRESS_Write); - break; - - /* EV9 */ - case I2C_EVENT_MASTER_MODE_ADDRESS10: -#endif /* I2C_10BITS_ADDRESS */ - - /* Send slave Address for write */ - I2C_Send7bitAddress(I2Cx, (uint8_t)SLAVE_ADDRESS, I2C_Direction_Transmitter); - break; - - /* EV6 */ - case I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED: - /* Send the I2C transaction code */ - I2C_SendData(I2Cx, CmdTransmitted); - break; - - /* EV8 */ - case I2C_EVENT_MASTER_BYTE_TRANSMITTING: - case I2C_EVENT_MASTER_BYTE_TRANSMITTED: - if (Tx_Idx == GetVar_NbrOfDataToTransfer()) - { - /* Send STOP condition */ - I2C_GenerateSTOP(I2Cx, ENABLE); - I2C_ITConfig(I2Cx, I2C_IT_EVT | I2C_IT_BUF, DISABLE); - } - else - { - /* Transmit Data TxBuffer */ - I2C_SendData(I2Cx, TxBuffer[Tx_Idx++]); - } - break; - - default: - break; - } - -#endif /* I2C_MASTER*/ - -#if defined (I2C_SLAVE) - - /* Get Last I2C Event */ - Event = I2C_GetLastEvent(I2Cx); - - switch (Event) - { - /* Check on EV1*/ - case I2C_EVENT_SLAVE_RECEIVER_ADDRESS_MATCHED: - Rx_Idx = 0x00; - break; - - /* Check on EV2*/ - case I2C_EVENT_SLAVE_BYTE_RECEIVED: - case (I2C_EVENT_SLAVE_BYTE_RECEIVED | I2C_SR1_BTF): - if (CmdReceived == 0x00) - { - CmdReceived = I2C_ReceiveData(I2Cx); - } - else - { - RxBuffer[Rx_Idx++] = I2C_ReceiveData(I2Cx); - } - break; - - /* Check on EV4 */ - case (I2C_EVENT_SLAVE_STOP_DETECTED): - I2C_GetFlagStatus(I2Cx, I2C_FLAG_STOPF); - I2C_Cmd(I2Cx, ENABLE); - break; - - default: - break; - } -#endif /* I2C_SLAVE*/ -} - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_it.h deleted file mode 100644 index a89f7d981..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_it.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/I2C_TwoBoards/MasterTransmitterInterrupt/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -void I2Cx_ER_IRQHANDLER(void); -void I2Cx_EV_IRQHANDLER(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/I2C_TwoBoards/MasterTransmitterInterrupt/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/main.c deleted file mode 100644 index aa5848339..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/main.c +++ /dev/null @@ -1,276 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/IOE/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup I2C_IOE - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -static __IO uint32_t TimingDelay; -RCC_ClocksTypeDef RCC_Clocks; - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* SysTick end of count event each 10ms */ - RCC_GetClocksFreq(&RCC_Clocks); - SysTick_Config(RCC_Clocks.HCLK_Frequency / 100); - - /* Initialize LEDs and push-buttons mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Select the Button test mode (polling or interrupt) BUTTON_MODE in main.h */ - STM_EVAL_PBInit(BUTTON_WAKEUP, BUTTON_MODE); - STM_EVAL_PBInit(BUTTON_TAMPER, BUTTON_MODE); - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE); - - /* Initialize the LCD */ - STM322xG_LCD_Init(); - - /* Clear the LCD */ - LCD_Clear(White); - /* Set the LCD Back Color */ - LCD_SetBackColor(Blue); - /* Set the LCD Text Color */ - LCD_SetTextColor(White); - - LCD_DisplayStringLine(Line0, (uint8_t *)" STM322xG-EVAL "); - LCD_DisplayStringLine(Line1, (uint8_t *)" Example on how to "); - LCD_DisplayStringLine(Line2, (uint8_t *)" use the IO Expander"); - - /* Configure the IO Expander */ - if (IOE_Config() == IOE_OK) - { - LCD_DisplayStringLine(Line4, (uint8_t *)" IO Expander OK "); - } - else - { - LCD_DisplayStringLine(Line4, (uint8_t *)"IO Expander FAILED "); - LCD_DisplayStringLine(Line5, (uint8_t *)" Please Reset the "); - LCD_DisplayStringLine(Line6, (uint8_t *)" board and start "); - LCD_DisplayStringLine(Line7, (uint8_t *)" again "); - while(1); - } - - /* Leds Control blocks */ - LCD_SetTextColor(Blue); - LCD_DrawRect(180, 310, 40, 60); - LCD_SetTextColor(Red); - LCD_DrawRect(180, 230, 40, 60); - LCD_SetTextColor(Yellow); - LCD_DrawRect(180, 150, 40, 60); - LCD_SetTextColor(Green); - LCD_DrawRect(180, 70, 40, 60); - -#ifdef IOE_INTERRUPT_MODE - /* Enable the Touch Screen and Joystick interrupts */ - IOE_ITConfig(IOE_ITSRC_JOYSTICK | IOE_ITSRC_TSC); -#endif /* IOE_INTERRUPT_MODE */ - - - while(1) - { -#ifdef IOE_POLLING_MODE - static JOY_State_TypeDef JoyState = JOY_NONE; - static TS_STATE* TS_State; - - /* Get the Joystick State */ - JoyState = IOE_JoyStickGetState(); - - switch (JoyState) - { - case JOY_NONE: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: ---- "); - break; - case JOY_UP: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: UP "); - break; - case JOY_DOWN: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: DOWN "); - break; - case JOY_LEFT: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: LEFT "); - break; - case JOY_RIGHT: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: RIGHT "); - break; - case JOY_CENTER: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: CENTER "); - break; - default: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: ERROR "); - break; - } - - /* Update the structure with the current position */ - TS_State = IOE_TS_GetState(); - - if ((TS_State->TouchDetected) && (TS_State->Y < 220) && (TS_State->Y > 180)) - { - if ((TS_State->X > 10) && (TS_State->X < 70)) - { - LCD_DisplayStringLine(Line6, (uint8_t *)" LD4 "); - STM_EVAL_LEDOn(LED4); - } - else if ((TS_State->X > 90) && (TS_State->X < 150)) - { - LCD_DisplayStringLine(Line6, (uint8_t *)" LD3 "); - STM_EVAL_LEDOn(LED3); - } - else if ((TS_State->X > 170) && (TS_State->X < 230)) - { - LCD_DisplayStringLine(Line6, (uint8_t *)" LD2 "); - STM_EVAL_LEDOn(LED2); - } - else if ((TS_State->X > 250) && (TS_State->X < 310)) - { - LCD_DisplayStringLine(Line6, (uint8_t *)" LD1 "); - STM_EVAL_LEDOn(LED1); - } - } - else - { - STM_EVAL_LEDOff(LED1); - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } -#endif /* IOE_POLLING_MODE */ - -#ifdef BUTTON_POLLING_MODE - /* Insert 10 ms delay */ - Delay(1); - - if (STM_EVAL_PBGetState(BUTTON_KEY) == 0) - { - /* Toggle LD1 */ - STM_EVAL_LEDToggle(LED1); - - LCD_DisplayStringLine(Line4, (uint8_t *)"Pol: KEY Pressed "); - } - - if (STM_EVAL_PBGetState(BUTTON_TAMPER) == 0) - { - /* Toggle LD2 */ - STM_EVAL_LEDToggle(LED2); - - LCD_DisplayStringLine(Line4, (uint8_t *)"Pol: TAMPER Pressed "); - } - - if (STM_EVAL_PBGetState(BUTTON_WAKEUP) != 0) - { - /* Toggle LD3 */ - STM_EVAL_LEDToggle(LED3); - LCD_DisplayStringLine(Line4, (uint8_t *)"Pol: WAKEUP Pressed "); - } -#endif - } -} - -/** - * @brief Inserts a delay time. - * @param nTime: specifies the delay time length, in 10 ms. - * @retval None - */ -void Delay(uint32_t nTime) -{ - TimingDelay = nTime; - - while(TimingDelay != 0); -} - -/** - * @brief Decrements the TimingDelay variable. - * @param None - * @retval None - */ -void TimingDelay_Decrement(void) -{ - if (TimingDelay != 0x00) - { - TimingDelay--; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - LCD_DisplayStringLine(Line0, "assert_param error!!"); - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/main.h deleted file mode 100644 index e148ecb47..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/main.h +++ /dev/null @@ -1,59 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/IOE/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm322xg_eval.h" -#include "stm322xg_eval_lcd.h" -#include "stm322xg_eval_ioe.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -//#define BUTTON_POLLING_MODE -#define BUTTON_INTERRUPT_MODE - -//#define IOE_POLLING_MODE -#define IOE_INTERRUPT_MODE - -#ifdef BUTTON_POLLING_MODE - #define BUTTON_MODE BUTTON_MODE_GPIO -#else - #define BUTTON_MODE BUTTON_MODE_EXTI -#endif /* BUTTON_POLLING_MODE */ - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void TimingDelay_Decrement(void); -void Delay(__IO uint32_t nTime); - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/readme.txt deleted file mode 100644 index 4522e45c1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/readme.txt +++ /dev/null @@ -1,100 +0,0 @@ -/** - @page I2C_IOE Example on how to use the IO Expander - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file I2C/IOE/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the I2C IOExpander example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This firmware provides an example of configuring and using the IO Expander STMPE811 -in order to control input Joystick IOs, output IOs and the Touch Screen feature. -This example provides the elementary steps to control the following modules and -use them in an application: -The IO pins are used for: - - Getting Joystick pins status (Polling and interrupt) only for STM3210C-EVAL. - - The Touch Screen controller is used to get the Touched area detection information - in a single point mode (Polling and interrupt). - -The input information can be used either in Polling mode (uncomment the define -#define IOE_POLLING_MODE) or in Interrupt mode (uncomment the define #define -IOE_INTERRUPT_MODE). These defines are in main.h file. - -After configuring the IO Expander modules and Interrupts (if needed), the output -IOs are set to their default state. These operations are done by the functions: -IOE_Config() and IOE_ITConfig(). If the IO Expander is not operational (or the -I2C pins are not in the correct level) the IOE_Config() function returns a value -different from 0 and a message is displayed on the LCD screen. - -To get the status of an input: - - IOE_JoyStickGetState() function is used for Joystick and returns a JOY_State_TypeDef - value indicating the currently pressed key. This information is used to update - the LCD display (the Joystick pressed key name is displayed). - - IOE_TS_GetState() function is used for Touch Screen and returns a pointer to - a structure holding the Touch Screen status (did a Touch Detection happened, - X, Y, and Z positions). Only detection into the drawn rectangles areas is - considered and used to update the LEDs status and LCD display (corresponding - LED turned ON when its rectangle is touched, and the LED name is displayed on - the LCD screen). - -Besides, the examples checks the status of the other Push-Buttons implemented on -the board (Key, Tamper and WakeUp push-buttons). They are checked in parallel -with the IO Expander IOs and the LCD display and LEDs are updated according to -the push buttons state. - - -@par Directory contents - - - I2C/IOE/system_stm32f2xx.c STM32F2xx system clock configuration file - - I2C/IOE/stm32f2xx_conf.h Library Configuration file - - I2C/IOE/stm32f2xx_it.c Interrupt handlers - - I2C/IOE/stm32f2xx_it.h Interrupt handlers header file - - I2C/IOE/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB (with no - additional hardware), and can be easily tailored to any other development board. - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/stm32f2xx_conf.h deleted file mode 100644 index 542804676..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/IOE/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/stm32f2xx_it.c deleted file mode 100644 index 244953b23..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/stm32f2xx_it.c +++ /dev/null @@ -1,320 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/IOE/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup I2C_IOE - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - TimingDelay_Decrement(); -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles External line 0 interrupt request. - * @param None - * @retval None - */ -void EXTI0_IRQHandler(void) -{ - if(EXTI_GetITStatus(WAKEUP_BUTTON_EXTI_LINE) != RESET) - { - /* Toggle LD3 */ - STM_EVAL_LEDToggle(LED3); - - LCD_DisplayStringLine(Line4, (uint8_t *)"IT: WAKEUP Pressed "); - - EXTI_ClearITPendingBit(WAKEUP_BUTTON_EXTI_LINE); - } -} - -/** - * @brief This function handles External line 2 interrupt request. - * @param None - * @retval None - */ -void EXTI2_IRQHandler(void) -{ - if(EXTI_GetITStatus(IOE_IT_EXTI_LINE) != RESET) - { - -#ifdef IOE_INTERRUPT_MODE - static JOY_State_TypeDef JoyState = JOY_NONE; - static TS_STATE* TS_State; - - /* Check if the interrupt source is the Touch Screen */ - if (IOE_GetGITStatus(IOE_1_ADDR, IOE_TS_IT) & IOE_TS_IT) - { - /* Update the structure with the current position */ - TS_State = IOE_TS_GetState(); - - if ((TS_State->TouchDetected) && (TS_State->Y < 220) && (TS_State->Y > 180)) - { - if ((TS_State->X > 10) && (TS_State->X < 70)) - { - LCD_DisplayStringLine(Line6, (uint8_t *)" LD4 "); - STM_EVAL_LEDOn(LED4); - } - else if ((TS_State->X > 90) && (TS_State->X < 150)) - { - LCD_DisplayStringLine(Line6, (uint8_t *)" LD3 "); - STM_EVAL_LEDOn(LED3); - } - else if ((TS_State->X > 170) && (TS_State->X < 230)) - { - LCD_DisplayStringLine(Line6, (uint8_t *)" LD2 "); - STM_EVAL_LEDOn(LED2); - } - else if ((TS_State->X > 250) && (TS_State->X < 310)) - { - LCD_DisplayStringLine(Line6, (uint8_t *)" LD1 "); - STM_EVAL_LEDOn(LED1); - } - } - else - { - STM_EVAL_LEDOff(LED1); - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } - - /* Clear the interrupt pending bits */ - IOE_ClearGITPending(IOE_1_ADDR, IOE_TS_IT); - } - else if (IOE_GetGITStatus(IOE_2_ADDR, IOE_GIT_GPIO)) - { - /* Get the Joytick State */ - JoyState = IOE_JoyStickGetState(); - - switch (JoyState) - { - case JOY_NONE: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: IT ---- "); - break; - case JOY_UP: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: IT UP "); - break; - case JOY_DOWN: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: IT DOWN "); - break; - case JOY_LEFT: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: IT LEFT "); - break; - case JOY_RIGHT: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: IT RIGHT "); - break; - case JOY_CENTER: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: IT CENTER "); - break; - default: - LCD_DisplayStringLine(Line5, (uint8_t *)"JOY: IT ERROR "); - break; - } - - /* Clear the interrupt pending bits */ - IOE_ClearGITPending(IOE_2_ADDR, IOE_GIT_GPIO); - IOE_ClearIOITPending(IOE_2_ADDR, IOE_JOY_IT); - } - else - { - IOE_ClearGITPending(IOE_1_ADDR, ALL_IT); - IOE_ClearGITPending(IOE_2_ADDR, ALL_IT); - } -#endif /* IOE_INTERRUPT_MODE */ - - EXTI_ClearITPendingBit(IOE_IT_EXTI_LINE); - } -} - -/** - * @brief This function handles External lines 15 to 10 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - /* Toggle LD1 */ - STM_EVAL_LEDToggle(LED1); - - LCD_DisplayStringLine(Line4, (uint8_t *)"IT: KEY Pressed "); - - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - } - - if(EXTI_GetITStatus(TAMPER_BUTTON_EXTI_LINE) != RESET) - { - /* Toggle LD2 */ - STM_EVAL_LEDToggle(LED2); - - LCD_DisplayStringLine(Line4, (uint8_t *)"IT: TAMPER Pressed "); - - EXTI_ClearITPendingBit(TAMPER_BUTTON_EXTI_LINE); - } -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/stm32f2xx_it.h deleted file mode 100644 index 6a721ee18..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/stm32f2xx_it.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - ****************************************************************************** - * @file I2C/IOE/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void EXTI0_IRQHandler(void); -void EXTI9_5_IRQHandler(void); -void EXTI15_10_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/IOE/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/readme.txt deleted file mode 100644 index f884aec06..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2C/readme.txt +++ /dev/null @@ -1,41 +0,0 @@ -/** - @page I2C_EXAMPLES I2C EXAMPLES - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file I2C/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Reference to the I2C CPAL (UM1029). - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -In Addition to the I2C examples provided within this repository, ST is providing -a Communication peripheral application library (CPAL) for all STM32 I2C peripherals. -CPAL provides a high layer API, drivers for each STM32 device, a project template -allowing users to build a new project from scratch, and some examples showing how -to use and customize the CPAL library. - -For more details please refer to "Communication peripheral application library (CPAL) UM1029" -available for download on ST Microcontrollers . - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/audio_sample.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/audio_sample.c deleted file mode 100644 index f4bfa17fc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/audio_sample.c +++ /dev/null @@ -1,45622 +0,0 @@ -#include "stm32f2xx.h" - -/* - The provided sample audio file (stored in internal flash memory) is extracted from: - - Title: artofgardens-instr - - Artist/Composer: Dan O'Connor - - Creative Commons license: Attribution 3.0 United States - Please read the license following this link: - http://creativecommons.org/licenses/by/3.0/us/ -*/ - -const uint16_t AUDIO_SAMPLE[] = { -0x4952, 0x4646, 0x4f6e, 0xf, 0x4157, 0x4556, 0x6d66, 0x2074, 0x12, 0, 0x1, -0x2, 0xbb80, 0, 0xee00, 0x2, 0x4, 0x10, 0, 0x6166, 0x7463, 0x4, -0, 0xd3cf, 0x3, 0x6164, 0x6174, 0x4f3c, 0xf, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0x1, 0, 0x1, 0, 0x1, -0, 0x1, 0, 0x1, 0, 0x1, 0, 0x1, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0x1, 0, 0x1, 0, 0x1, 0x1, 0x1, 0x1, -0x1, 0x1, 0x1, 0x1, 0x1, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0x1, 0, 0x1, 0, 0x1, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0x1, 0, 0x1, 0, 0x1, 0, -0x1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0x1, 0, 0x1, 0, -0x1, 0, 0x1, 0, 0x1, 0, 0x1, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0xffff, 0, 0xffff, 0, 0xffff, -0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0x1, 0, 0x1, 0, 0x1, -0, 0x1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0x1, 0, 0x1, 0, 0x1, 0x1, 0x1, 0x1, -0x1, 0x1, 0x1, 0x1, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0x1, 0, 0x1, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1, 0, -0x1, 0, 0x1, 0, 0x1, 0, 0x1, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, -0x1, 0x1, 0, 0x1, 0, 0x1, 0, 0x1, 0, 0x1, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0x1, 0, 0x1, -0, 0x1, 0, 0x1, 0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, -0x1, 0x1, 0x1, 0x1, 0x1, 0, 0x1, 0, 0, 0xffff, 0, -0xffff, 0, 0, 0, 0, 0xffff, 0xffff, 0xffff, 0xffff, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0x1, 0x1, 0x1, -0x1, 0, 0, 0, 0, 0, 0, 0, 0, 0xffff, 0, -0xffff, 0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0, 0, 0, -0, 0xffff, 0, 0xffff, 0, 0xffff, 0, 0xffff, 0, 0xffff, 0, -0xffff, 0, 0, 0, 0, 0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, -0xffff, 0xffff, 0, 0xffff, 0, 0xffff, 0, 0xffff, 0, 0, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0x1, 0, 0x1, 0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, -0x1, 0x1, 0, 0, 0, 0, 0x1, 0x1, 0x1, 0x1, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0xffff, 0, -0xffff, 0, 0xffff, 0, 0xffff, 0, 0xfffe, 0, 0xfffe, 0, 0xfffe, -0, 0xfffe, 0, 0xfffe, 0, 0xfffe, 0, 0xfffe, 0, 0xfffe, 0, -0xfffe, 0, 0xfffe, 0, 0xfffe, 0, 0xffff, 0x1, 0xffff, 0x1, 0xffff, -0, 0xffff, 0, 0, 0x1, 0, 0x1, 0, 0x1, 0, 0x1, -0, 0x1, 0, 0x1, 0, 0x1, 0xffff, 0, 0xffff, 0, 0, -0x1, 0, 0x1, 0, 0, 0, 0, 0x1, 0x1, 0x1, 0x1, -0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0, 0, 0, 0, 0xffff, -0, 0xffff, 0, 0xfffd, 0xfffe, 0xfffd, 0xfffe, 0xfffe, 0xffff, 0xfffe, 0xffff, -0xfffd, 0xfffe, 0xfffd, 0xfffe, 0xfffd, 0xfffe, 0xfffe, 0xffff, 0xfffe, 0xffff, 0xfffc, -0xfffd, 0xfffc, 0xfffd, 0xfffe, 0, 0xfffe, 0, 0xfffd, 0xfffe, 0xfffd, 0xfffe, -0xfffe, 0xffff, 0xfffe, 0xffff, 0xffff, 0, 0xffff, 0, 0xffff, 0, 0x1, -0x2, 0x1, 0x2, 0, 0x1, 0, 0x1, 0xffff, 0, 0xffff, 0, -0, 0x1, 0, 0x1, 0xffff, 0, 0xffff, 0, 0xffff, 0, 0, -0x1, 0, 0x1, 0xffff, 0x1, 0xffff, 0x1, 0x1, 0x2, 0x1, 0x2, -0xfffe, 0xffff, 0xfffe, 0xffff, 0x1, 0x2, 0x1, 0x2, 0xfffe, 0xffff, 0xfffe, -0xffff, 0xfffe, 0xffff, 0x1, 0x2, 0x1, 0x2, 0x1, 0x1, 0x1, 0x1, -0x2, 0x2, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x2, 0x2, 0x2, -0x2, 0, 0, 0, 0, 0, 0, 0x1, 0x1, 0x1, 0x1, -0x2, 0x2, 0x2, 0x2, 0xfffe, 0xffff, 0xfffe, 0xffff, 0xfffd, 0xffff, 0xfffd, -0xffff, 0xfffc, 0xfffe, 0xfffc, 0xfffe, 0xfffc, 0xfffe, 0xfffd, 0, 0xfffd, 0, -0xfff7, 0xfffa, 0xfff7, 0xfffa, 0xfffa, 0xfffd, 0xfffa, 0xfffd, 0xfff6, 0xfff9, 0xfff6, -0xfff9, 0xfffa, 0xfffd, 0xfffa, 0xfffd, 0xfff8, 0xfff9, 0xfff8, 0xfff9, 0xfff8, 0xfff9, -0xfffd, 0xfffd, 0xfffd, 0xfffd, 0, 0xffff, 0, 0xffff, 0x1, 0xffff, 0x1, -0xffff, 0x2, 0, 0x2, 0, 0x1, 0xfffe, 0x1, 0xfffe, 0x3, 0, -0x3, 0, 0x3, 0, 0x2, 0, 0x2, 0, 0x5, 0x4, 0x5, -0x4, 0x1, 0x2, 0x1, 0x2, 0, 0x3, 0, 0x3, 0xfffa, 0xfffe, -0xfffa, 0xfffe, 0xfffa, 0xfffe, 0xfffb, 0x1, 0xfffb, 0x1, 0xfffa, 0, 0xfffa, -0, 0xfff7, 0xfffe, 0xfff7, 0xfffe, 0xfffc, 0x2, 0xfffc, 0x2, 0xfff9, 0xfffe, -0xfff9, 0xfffe, 0xfff8, 0xfffd, 0xfff8, 0xfffd, 0xfff8, 0xfffd, 0xffff, 0x2, 0xffff, -0x2, 0x1, 0x4, 0x1, 0x4, 0x6, 0x8, 0x6, 0x8, 0x2, 0x4, -0x2, 0x4, 0x5, 0x8, 0x5, 0x8, 0x5, 0x8, 0xfffe, 0x2, 0xfffe, -0x2, 0xfffd, 0x3, 0xfffd, 0x3, 0x2, 0xa, 0x2, 0xa, 0xffff, 0x9, -0xffff, 0x9, 0xfffd, 0x8, 0xfffd, 0x8, 0xfff9, 0x5, 0xfff9, 0x5, 0xfff9, -0x5, 0xfff7, 0x4, 0xfff7, 0x4, 0xfff5, 0x1, 0xfff5, 0x1, 0xfffb, 0x6, -0xfffb, 0x6, 0xfff4, 0xfffe, 0xfff4, 0xfffe, 0xfffd, 0x6, 0xfffd, 0x6, 0xfffa, -0x1, 0xfffa, 0x1, 0xfffa, 0x1, 0xfffc, 0x1, 0xfffc, 0x1, 0xfffd, 0x1, -0xfffd, 0x1, 0xfffc, 0, 0xfffc, 0, 0xfff7, 0xfffb, 0xfff7, 0xfffb, 0xfffa, -0xffff, 0xfffa, 0xffff, 0xfffa, 0xffff, 0xfffd, 0x2, 0xfffd, 0x2, 0xfffb, 0x2, -0xfffb, 0x2, 0xfffe, 0x6, 0xfffe, 0x6, 0xfffe, 0x7, 0xfffe, 0x7, 0xfff9, -0x4, 0xfff9, 0x4, 0xfff5, 0, 0xfff5, 0, 0xfff5, 0, 0, 0xb, -0, 0xb, 0xfff4, 0, 0xfff4, 0, 0xfffc, 0x8, 0xfffc, 0x8, 0xfffd, -0x8, 0xfffd, 0x8, 0xfffd, 0x8, 0xfffd, 0x8, 0xfff5, 0x1, 0xfff5, 0x1, -0xfff5, 0x1, 0xfffd, 0x8, 0xfffd, 0x8, 0xfff6, 0, 0xfff6, 0, 0xfffa, -0x4, 0xfffa, 0x4, 0x4, 0xe, 0x4, 0xe, 0, 0xa, 0, 0xa, -0, 0xa, 0xfffb, 0x4, 0xfffb, 0x4, 0xfffb, 0x4, 0xfffb, 0x4, 0, -0x8, 0, 0x8, 0xfff7, 0xffff, 0xfff7, 0xffff, 0xfffe, 0x6, 0xfffe, 0x6, -0xfff5, 0xfffe, 0xfff5, 0xfffe, 0xfff5, 0xfffe, 0xfffa, 0x4, 0xfffa, 0x4, 0xfff5, -0x1, 0xfff5, 0x1, 0x5, 0x12, 0x5, 0x12, 0xfffd, 0xb, 0xfffd, 0xb, -0x6, 0x15, 0x6, 0x15, 0xfff7, 0x6, 0xfff7, 0x6, 0xfff7, 0x6, 0xfff9, -0x8, 0xfff9, 0x8, 0x2, 0x10, 0x2, 0x10, 0xfff6, 0x2, 0xfff6, 0x2, -0xc, 0x14, 0xc, 0x14, 0xfff9, 0xffff, 0xfff9, 0xffff, 0xfff9, 0xffff, 0xe, -0x10, 0xe, 0x10, 0xb, 0xa, 0xb, 0xa, 0x2, 0xfffe, 0x2, 0xfffe, -0xa, 0x3, 0xa, 0x3, 0x3, 0xfffb, 0x3, 0xfffb, 0x4, 0xfffb, 0x4, -0xfffb, 0x4, 0xfffb, 0x6, 0xfffd, 0x6, 0xfffd, 0xa, 0x1, 0xa, 0x1, -0xb, 0x3, 0xb, 0x3, 0xfffb, 0xfff4, 0xfffb, 0xfff4, 0x12, 0xb, 0x12, -0xb, 0x6, 0xffff, 0x6, 0xffff, 0x6, 0xffff, 0x9, 0x1, 0x9, 0x1, -0xf, 0x6, 0xf, 0x6, 0xa, 0, 0xa, 0, 0xf, 0x3, 0xf, -0x3, 0x3, 0xfff6, 0x3, 0xfff6, 0x3, 0xfff6, 0xd, 0, 0xd, 0, -0x5, 0xfff9, 0x5, 0xfff9, 0xf, 0x5, 0xf, 0x5, 0xfffb, 0xfff4, 0xfffb, -0xfff4, 0x6, 0x2, 0x6, 0x2, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, 0xfffe, -0xfff9, 0xfffc, 0xfff9, 0xfffc, 0x1, 0x8, 0x1, 0x8, 0x4, 0xd, 0x4, -0xd, 0x9, 0x13, 0x9, 0x13, 0x9, 0x14, 0x9, 0x14, 0xa, 0x14, -0xa, 0x14, 0xa, 0x14, 0, 0x8, 0, 0x8, 0x4, 0x9, 0x4, -0x9, 0x6, 0x9, 0x6, 0x9, 0xf, 0xf, 0xf, 0xf, 0xfffa, 0xfff8, -0xfffa, 0xfff8, 0xfffa, 0xfff8, 0x8, 0x4, 0x8, 0x4, 0xa, 0x6, 0xa, -0x6, 0xfffb, 0xfff6, 0xfffb, 0xfff6, 0x5, 0, 0x5, 0, 0x4, 0xfffe, -0x4, 0xfffe, 0xfffd, 0xfff6, 0xfffd, 0xfff6, 0xfffd, 0xfff6, 0x6, 0xfffe, 0x6, -0xfffe, 0xa, 0x1, 0xa, 0x1, 0x14, 0x9, 0x14, 0x9, 0x5, 0xfff7, -0x5, 0xfff7, 0xa, 0xfff9, 0xa, 0xfff9, 0x16, 0x3, 0x16, 0x3, 0x16, -0x3, 0x1b, 0x8, 0x1b, 0x8, 0x20, 0xd, 0x20, 0xd, 0x13, 0x2, -0x13, 0x2, 0x11, 0x2, 0x11, 0x2, 0x8, 0xfffd, 0x8, 0xfffd, 0x8, -0xfffd, 0xc, 0x5, 0xc, 0x5, 0xfff7, 0xfff4, 0xfff7, 0xfff4, 0xb, 0xc, -0xb, 0xc, 0x3, 0x8, 0x3, 0x8, 0x5, 0xc, 0x5, 0xc, 0x16, -0x20, 0x16, 0x20, 0x16, 0x20, 0x13, 0x1e, 0x13, 0x1e, 0x3, 0xf, -0x3, 0xf, 0x3, 0xf, 0x3, 0xf, 0xc, 0x1a, 0xc, 0x1a, 0xfffe, -0xd, 0xfffe, 0xd, 0xe, 0x1f, 0xe, 0x1f, 0xe, 0x1f, 0xfffe, 0x12, -0xfffe, 0x12, 0xfff6, 0xd, 0xfff6, 0xd, 0xfffd, 0x18, 0xfffd, 0x18, 0xfff0, -0xe, 0xfff0, 0xe, 0xfff6, 0x16, 0xfff6, 0x16, 0xfff6, 0x16, 0x8, 0x29, -0x8, 0x29, 0xffff, 0x1f, 0xffff, 0x1f, 0xfffb, 0x18, 0xfffb, 0x18, 0xfff6, -0xf, 0xfff6, 0xf, 0xfffe, 0x12, 0xfffe, 0x12, 0xfffa, 0x9, 0xfffa, 0x9, -0xfffa, 0x9, 0x7, 0x11, 0x7, 0x11, 0x5, 0xa, 0x5, 0xa, 0x8, -0xa, 0x8, 0xa, 0x11, 0x12, 0x11, 0x12, 0x4, 0x5, 0x4, 0x5, -0x7, 0xb, 0x7, 0xb, 0x7, 0xb, 0x1b, 0x23, 0x1b, 0x23, 0x17, -0x21, 0x17, 0x21, 0x6, 0x14, 0x6, 0x14, 0x4, 0x14, 0x4, 0x14, -0xffec, 0xfffd, 0xffec, 0xfffd, 0xffec, 0xfffd, 0xfffb, 0xa, 0xfffb, 0xa, 0x3, -0xf, 0x3, 0xf, 0xb, 0x13, 0xb, 0x13, 0x9, 0xc, 0x9, 0xc, -0x15, 0x13, 0x15, 0x13, 0x1c, 0x16, 0x1c, 0x16, 0x1c, 0x16, 0x21, -0x19, 0x21, 0x19, 0x9, 0x1, 0x9, 0x1, 0x10, 0x9, 0x10, 0x9, -0xe, 0xd, 0xe, 0xd, 0x13, 0x18, 0x13, 0x18, 0x13, 0x18, 0xa, -0x17, 0xa, 0x17, 0xfff2, 0x7, 0xfff2, 0x7, 0x3, 0x20, 0x3, 0x20, -0xfff1, 0x14, 0xfff1, 0x14, 0xfff8, 0x20, 0xfff8, 0x20, 0xffef, 0x19, 0xffef, -0x19, 0xffef, 0x19, 0xc, 0x35, 0xc, 0x35, 0xfff5, 0x1b, 0xfff5, 0x1b, -0x1a, 0x3b, 0x1a, 0x3b, 0x9, 0x24, 0x9, 0x24, 0x7, 0x1c, 0x7, -0x1c, 0xf, 0x1f, 0xf, 0x1f, 0xf, 0x1f, 0xfff6, 0, 0xfff6, 0, -0xb, 0x10, 0xb, 0x10, 0xfff6, 0xfff8, 0xfff6, 0xfff8, 0xc, 0xd, 0xc, -0xd, 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff3, 0xfff1, 0xfff1, 0xfff1, 0xfff1, -0xffec, 0xffec, 0xffec, 0xffec, 0xfff3, 0xfff4, 0xfff3, 0xfff4, 0x6, 0x7, 0x6, -0x7, 0xa, 0xb, 0xa, 0xb, 0xfff9, 0xfffc, 0xfff9, 0xfffc, 0xfff9, 0xfffc, -0xc, 0xf, 0xc, 0xf, 0xfffa, 0xfffe, 0xfffa, 0xfffe, 0x8, 0xd, 0x8, -0xd, 0xffff, 0x5, 0xffff, 0x5, 0xfff8, 0, 0xfff8, 0, 0xfffe, 0x7, -0xfffe, 0x7, 0xfffe, 0x7, 0x4, 0xe, 0x4, 0xe, 0xfffa, 0x5, 0xfffa, -0x5, 0xffd8, 0xffe3, 0xffd8, 0xffe3, 0xc, 0x17, 0xc, 0x17, 0xffe6, 0xfff0, -0xffe6, 0xfff0, 0xffe6, 0xfff0, 0x9, 0x12, 0x9, 0x12, 0x11, 0x19, 0x11, -0x19, 0x12, 0x19, 0x12, 0x19, 0x7, 0xd, 0x7, 0xd, 0x5, 0xa, -0x5, 0xa, 0xfff7, 0xfffd, 0xfff7, 0xfffd, 0xfff7, 0xfffd, 0xfff4, 0xfffa, 0xfff4, -0xfffa, 0x24, 0x2a, 0x24, 0x2a, 0x16, 0x1c, 0x16, 0x1c, 0x18, 0x1e, -0x18, 0x1e, 0x16, 0x1c, 0x16, 0x1c, 0xf, 0x13, 0xf, 0x13, 0xf, -0x13, 0x10, 0x11, 0x10, 0x11, 0x1b, 0x17, 0x1b, 0x17, 0x12, 0x9, -0x12, 0x9, 0x11, 0x2, 0x11, 0x2, 0x10, 0xfffa, 0x10, 0xfffa, 0x10, -0xfffa, 0x2e, 0x13, 0x2e, 0x13, 0x25, 0x6, 0x25, 0x6, 0x39, 0x17, -0x39, 0x17, 0xd, 0xffeb, 0xd, 0xffeb, 0x1d, 0xfffd, 0x1d, 0xfffd, 0x27, -0xc, 0x27, 0xc, 0x27, 0xc, 0x10, 0xfffb, 0x10, 0xfffb, 0x33, 0x25, -0x33, 0x25, 0xb, 0x4, 0xb, 0x4, 0x1b, 0x1b, 0x1b, 0x1b, 0x5, -0xb, 0x5, 0xb, 0xfff8, 0x1, 0xfff8, 0x1, 0xfff8, 0x1, 0x6, 0x10, -0x6, 0x10, 0x1, 0xa, 0x1, 0xa, 0xfffb, 0, 0xfffb, 0, 0xfffd, -0xfffe, 0xfffd, 0xfffe, 0xffe9, 0xffe3, 0xffe9, 0xffe3, 0xffe9, 0xffe3, 0xfff6, 0xffea, -0xfff6, 0xffea, 0x1, 0xffef, 0x1, 0xffef, 0x13, 0xfffb, 0x13, 0xfffb, 0x29, -0xd, 0x29, 0xd, 0x22, 0x3, 0x22, 0x3, 0x29, 0x7, 0x29, 0x7, -0x29, 0x7, 0x20, 0xfffd, 0x20, 0xfffd, 0xd, 0xffe9, 0xd, 0xffe9, 0x1c, -0xfff7, 0x1c, 0xfff7, 0x26, 0, 0x26, 0, 0x25, 0xfffd, 0x25, 0xfffd, -0x2f, 0x3, 0x2f, 0x3, 0x2f, 0x3, 0x28, 0xfff8, 0x28, 0xfff8, 0x19, -0xffe5, 0x19, 0xffe5, 0x7, 0xffcf, 0x7, 0xffcf, 0x1a, 0xffdf, 0x1a, 0xffdf, -0xa, 0xffce, 0xa, 0xffce, 0xa, 0xffce, 0xd, 0xffd1, 0xd, 0xffd1, 0xfffa, -0xffc1, 0xfffa, 0xffc1, 0x21, 0xffee, 0x21, 0xffee, 0xd, 0xffe1, 0xd, 0xffe1, -0xffe5, 0xffc2, 0xffe5, 0xffc2, 0xffe9, 0xffd1, 0xffe9, 0xffd1, 0xffe9, 0xffd1, 0xffdd, -0xffd0, 0xffdd, 0xffd0, 0xffef, 0xffed, 0xffef, 0xffed, 0xffd9, 0xffe3, 0xffd9, 0xffe3, -0xffe3, 0xfff6, 0xffe3, 0xfff6, 0xffdc, 0xfff7, 0xffdc, 0xfff7, 0xffcb, 0xffed, 0xffcb, -0xffed, 0xffcb, 0xffed, 0xffd8, 0xffff, 0xffd8, 0xffff, 0xffea, 0x15, 0xffea, 0x15, -0xffdd, 0xd, 0xffdd, 0xd, 0, 0x33, 0, 0x33, 0xfff7, 0x2f, 0xfff7, -0x2f, 0xfff7, 0x2f, 0xffef, 0x2a, 0xffef, 0x2a, 0xfff6, 0x37, 0xfff6, 0x37, -0xffe1, 0x27, 0xffe1, 0x27, 0xffcf, 0x19, 0xffcf, 0x19, 0xffdb, 0x29, 0xffdb, -0x29, 0xffcd, 0x1e, 0xffcd, 0x1e, 0xffcd, 0x1e, 0xffcd, 0x20, 0xffcd, 0x20, -0xffd0, 0x20, 0xffd0, 0x20, 0xffbd, 0xb, 0xffbd, 0xb, 0xffb9, 0, 0xffb9, -0, 0xff9f, 0xffde, 0xff9f, 0xffde, 0xffde, 0x14, 0xffde, 0x14, 0xffde, 0x14, -0xffd2, 0xfffd, 0xffd2, 0xfffd, 0xffca, 0xffe9, 0xffca, 0xffe9, 0xffc9, 0xffdf, 0xffc9, -0xffdf, 0xffd2, 0xffde, 0xffd2, 0xffde, 0xffd2, 0xffd6, 0xffd2, 0xffd6, 0xffd2, 0xffd6, -0xffc2, 0xffc1, 0xffc2, 0xffc1, 0xffcf, 0xffc9, 0xffcf, 0xffc9, 0xffe2, 0xffda, 0xffe2, -0xffda, 0xffee, 0xffe4, 0xffee, 0xffe4, 0xffec, 0xffe1, 0xffec, 0xffe1, 0xfffe, 0xfff1, -0xfffe, 0xfff1, 0xfffe, 0xfff1, 0xffe8, 0xffda, 0xffe8, 0xffda, 0xffe1, 0xffd0, 0xffe1, -0xffd0, 0xfff6, 0xffe0, 0xfff6, 0xffe0, 0xfffb, 0xffe1, 0xfffb, 0xffe1, 0xb, 0xffec, -0xb, 0xffec, 0x23, 0, 0x23, 0, 0x23, 0, 0x13, 0xffec, 0x13, -0xffec, 0x16, 0xffee, 0x16, 0xffee, 0xfff6, 0xffcf, 0xfff6, 0xffcf, 0xffed, 0xffc9, -0xffed, 0xffc9, 0xffee, 0xffcf, 0xffee, 0xffcf, 0xffee, 0xffcf, 0xffe5, 0xffce, 0xffe5, -0xffce, 0xffe9, 0xffda, 0xffe9, 0xffda, 0xffe6, 0xffe0, 0xffe6, 0xffe0, 0xffc2, 0xffc3, -0xffc2, 0xffc3, 0xffe3, 0xffeb, 0xffe3, 0xffeb, 0xffd0, 0xffdc, 0xffd0, 0xffdc, 0xffd0, -0xffdc, 0xffe0, 0xffec, 0xffe0, 0xffec, 0xfff9, 0x3, 0xfff9, 0x3, 0xffd2, 0xffd7, -0xffd2, 0xffd7, 0xa, 0x7, 0xa, 0x7, 0xffd1, 0xffc6, 0xffd1, 0xffc6, 0xffd1, -0xffc6, 0xfff0, 0xffdc, 0xfff0, 0xffdc, 0x1, 0xffe5, 0x1, 0xffe5, 0xf, 0xffed, -0xf, 0xffed, 0x1a, 0xfff3, 0x1a, 0xfff3, 0x4, 0xffda, 0x4, 0xffda, 0xfffc, -0xffd3, 0xfffc, 0xffd3, 0xfffc, 0xffd3, 0x2, 0xffda, 0x2, 0xffda, 0xb, 0xffe6, -0xb, 0xffe6, 0x2, 0xffe1, 0x2, 0xffe1, 0x2, 0xffe5, 0x2, 0xffe5, 0xe, -0xfff4, 0xe, 0xfff4, 0x6, 0xffee, 0x6, 0xffee, 0x6, 0xffee, 0x28, 0x11, -0x28, 0x11, 0x3d, 0x26, 0x3d, 0x26, 0xfffd, 0xffe5, 0xfffd, 0xffe5, 0x13, -0xfffa, 0x13, 0xfffa, 0xfffe, 0xffe3, 0xfffe, 0xffe3, 0xfffe, 0xffe3, 0x16, 0xfffb, -0x16, 0xfffb, 0xe, 0xfff2, 0xe, 0xfff2, 0x3f, 0x23, 0x3f, 0x23, 0xb, -0xffef, 0xb, 0xffef, 0x1d, 0x3, 0x1d, 0x3, 0x20, 0x8, 0x20, 0x8, -0x20, 0x8, 0xffd8, 0xffc1, 0xffd8, 0xffc1, 0x9, 0xfff4, 0x9, 0xfff4, 0xfffd, -0xffe9, 0xfffd, 0xffe9, 0x7, 0xfff4, 0x7, 0xfff4, 0xffe7, 0xffd4, 0xffe7, 0xffd4, -0xc, 0xfff8, 0xc, 0xfff8, 0xc, 0xfff8, 0xfff6, 0xffe2, 0xfff6, 0xffe2, 0x3, -0xffee, 0x3, 0xffee, 0x3, 0xffee, 0x3, 0xffee, 0xfff7, 0xffe1, 0xfff7, 0xffe1, -0x15, 0xfffe, 0x15, 0xfffe, 0x15, 0xfffe, 0x1a, 0x1, 0x1a, 0x1, 0xfff7, -0xffdc, 0xfff7, 0xffdc, 0xfff8, 0xffda, 0xfff8, 0xffda, 0xffd5, 0xffb4, 0xffd5, 0xffb4, -0xfff0, 0xffca, 0xfff0, 0xffca, 0xffef, 0xffc5, 0xffef, 0xffc5, 0xffef, 0xffc5, 0xffe1, -0xffb2, 0xffe1, 0xffb2, 0xfff0, 0xffbd, 0xfff0, 0xffbd, 0xffcb, 0xff96, 0xffcb, 0xff96, -0x5, 0xffd1, 0x5, 0xffd1, 0xffd1, 0xffa0, 0xffd1, 0xffa0, 0x11, 0xffe6, 0x11, -0xffe6, 0x11, 0xffe6, 0xfffd, 0xffdb, 0xfffd, 0xffdb, 0x4, 0xffee, 0x4, 0xffee, -0x8, 0, 0x8, 0, 0xfff0, 0xfff4, 0xfff0, 0xfff4, 0xffeb, 0xfffa, 0xffeb, -0xfffa, 0xffeb, 0xfffa, 0xffe2, 0xfffb, 0xffe2, 0xfffb, 0xffe8, 0x6, 0xffe8, 0x6, -0xffbc, 0xffdb, 0xffbc, 0xffdb, 0xffe8, 0x4, 0xffe8, 0x4, 0xffde, 0xfff3, 0xffde, -0xfff3, 0xffef, 0xfffa, 0xffef, 0xfffa, 0xffef, 0xfffa, 0xffda, 0xffda, 0xffda, 0xffda, -0xffe5, 0xffd9, 0xffe5, 0xffd9, 0x4, 0xffef, 0x4, 0xffef, 0x11, 0xfff5, 0x11, -0xfff5, 0x6, 0xffe8, 0x6, 0xffe8, 0xa, 0xffed, 0xa, 0xffed, 0xa, 0xffed, -0xf, 0xfff6, 0xf, 0xfff6, 0x15, 0x3, 0x15, 0x3, 0xffef, 0xffe5, 0xffef, -0xffe5, 0xffd4, 0xffd3, 0xffd4, 0xffd3, 0xffe2, 0xffe6, 0xffe2, 0xffe6, 0xffe2, 0xffe6, -0xffdc, 0xffe4, 0xffdc, 0xffe4, 0xc, 0x12, 0xc, 0x12, 0x14, 0x16, 0x14, -0x16, 0xfff4, 0xffef, 0xfff4, 0xffef, 0x2, 0xfff4, 0x2, 0xfff4, 0x18, 0, -0x18, 0, 0x18, 0, 0x6, 0xffe5, 0x6, 0xffe5, 0x19, 0xfff1, 0x19, -0xfff1, 0x10, 0xffe4, 0x10, 0xffe4, 0x13, 0xffe9, 0x13, 0xffe9, 0x5, 0xffde, -0x5, 0xffde, 0xfffc, 0xffdd, 0xfffc, 0xffdd, 0xfffc, 0xffdd, 0xfff6, 0xffe2, 0xfff6, -0xffe2, 0x8, 0xfffe, 0x8, 0xfffe, 0x19, 0x1a, 0x19, 0x1a, 0xfff0, 0xfffb, -0xfff0, 0xfffb, 0xffed, 0, 0xffed, 0, 0xffed, 0, 0xfff4, 0xc, 0xfff4, -0xc, 0xffcf, 0xffea, 0xffcf, 0xffea, 0xfff1, 0xe, 0xfff1, 0xe, 0xffeb, 0x9, -0xffeb, 0x9, 0xffe3, 0x2, 0xffe3, 0x2, 0xfffa, 0x1b, 0xfffa, 0x1b, 0xfffa, -0x1b, 0xffd0, 0xfff4, 0xffd0, 0xfff4, 0xffdc, 0x5, 0xffdc, 0x5, 0xfffb, 0x29, -0xfffb, 0x29, 0xe, 0x41, 0xe, 0x41, 0xffe0, 0x18, 0xffe0, 0x18, 0x1, -0x3d, 0x1, 0x3d, 0x1, 0x3d, 0xffe1, 0x1d, 0xffe1, 0x1d, 0xffd5, 0xf, -0xffd5, 0xf, 0xffdf, 0x13, 0xffdf, 0x13, 0xffd9, 0x4, 0xffd9, 0x4, 0xffe1, -0x1, 0xffe1, 0x1, 0xffe1, 0x1, 0xffed, 0x1, 0xffed, 0x1, 0x18, 0x20, -0x18, 0x20, 0x15, 0x12, 0x15, 0x12, 0x2a, 0x1e, 0x2a, 0x1e, 0xfffb, -0xffe9, 0xfffb, 0xffe9, 0x10, 0xfffa, 0x10, 0xfffa, 0x10, 0xfffa, 0x29, 0x11, -0x29, 0x11, 0x1e, 0x6, 0x1e, 0x6, 0x12, 0xfffa, 0x12, 0xfffa, 0, -0xffe8, 0, 0xffe8, 0x15, 0xfffb, 0x15, 0xfffb, 0x3, 0xffe7, 0x3, 0xffe7, -0x3, 0xffe7, 0xfff2, 0xffd2, 0xfff2, 0xffd2, 0x29, 0x4, 0x29, 0x4, 0xfff9, -0xffd0, 0xfff9, 0xffd0, 0xfffa, 0xffcd, 0xfffa, 0xffcd, 0x1b, 0xffec, 0x1b, 0xffec, -0x1b, 0xffec, 0x11, 0xffe3, 0x11, 0xffe3, 0xfffe, 0xffd5, 0xfffe, 0xffd5, 0x3, -0xffe3, 0x3, 0xffe3, 0x16, 0, 0x16, 0, 0xf, 0x6, 0xf, 0x6, -0x1b, 0x1f, 0x1b, 0x1f, 0x1b, 0x1f, 0xf, 0x1e, 0xf, 0x1e, 0xf, -0x28, 0xf, 0x28, 0xffdb, 0xfff8, 0xffdb, 0xfff8, 0xb, 0x2a, 0xb, 0x2a, -0xffe1, 0xfffc, 0xffe1, 0xfffc, 0xfff2, 0x7, 0xfff2, 0x7, 0xfff2, 0x7, 0x3, -0xf, 0x3, 0xf, 0xc, 0xc, 0xc, 0xc, 0x8, 0xfffe, 0x8, 0xfffe, -0xfff2, 0xffde, 0xfff2, 0xffde, 0xd, 0xfff2, 0xd, 0xfff2, 0xd, 0xfff2, 0xb, -0xffeb, 0xb, 0xffeb, 0x30, 0xd, 0x30, 0xd, 0xfffe, 0xffd9, 0xfffe, 0xffd9, -0x38, 0x12, 0x38, 0x12, 0x23, 0xfffc, 0x23, 0xfffc, 0x8, 0xffdf, 0x8, -0xffdf, 0x8, 0xffdf, 0x23, 0xfff5, 0x23, 0xfff5, 0x26, 0xfff1, 0x26, 0xfff1, -0x29, 0xffeb, 0x29, 0xffeb, 0x16, 0xffce, 0x16, 0xffce, 0x23, 0xffcf, 0x23, -0xffcf, 0x23, 0xffcf, 0x2f, 0xffd2, 0x2f, 0xffd2, 0x11, 0xffac, 0x11, 0xffac, -0x6a, 0x2, 0x6a, 0x2, 0x40, 0xffd9, 0x40, 0xffd9, 0x46, 0xffe3, 0x46, -0xffe3, 0x54, 0xfffa, 0x54, 0xfffa, 0x54, 0xfffa, 0x1d, 0xffcf, 0x1d, 0xffcf, -0x51, 0x11, 0x51, 0x11, 0xfff2, 0xffc0, 0xfff2, 0xffc0, 0x22, 0xfffc, 0x22, -0xfffc, 0x13, 0xfff8, 0x13, 0xfff8, 0x36, 0x21, 0x36, 0x21, 0x36, 0x21, -0x31, 0x1f, 0x31, 0x1f, 0x19, 0x7, 0x19, 0x7, 0x11, 0xfffb, 0x11, -0xfffb, 0x13, 0xfff8, 0x13, 0xfff8, 0x15, 0xfff3, 0x15, 0xfff3, 0x15, 0xfff3, -0xd, 0xffe5, 0xd, 0xffe5, 0x2d, 0xffff, 0x2d, 0xffff, 0x10, 0xffde, 0x10, -0xffde, 0x15, 0xffe1, 0x15, 0xffe1, 0x2d, 0xfff9, 0x2d, 0xfff9, 0x58, 0x25, -0x58, 0x25, 0x58, 0x25, 0x14, 0xffe4, 0x14, 0xffe4, 0x33, 0x8, 0x33, -0x8, 0x1b, 0xfff5, 0x1b, 0xfff5, 0x4, 0xffe5, 0x4, 0xffe5, 0xc, 0xfff2, -0xc, 0xfff2, 0x2e, 0x1a, 0x2e, 0x1a, 0x2e, 0x1a, 0xb, 0xfffd, 0xb, -0xfffd, 0xb, 0x1, 0xb, 0x1, 0x2d, 0x28, 0x2d, 0x28, 0xfff1, 0xffef, -0xfff1, 0xffef, 0x5, 0x5, 0x5, 0x5, 0x5, 0x5, 0xf, 0xe, 0xf, -0xe, 0x24, 0x20, 0x24, 0x20, 0x1e, 0x17, 0x1e, 0x17, 0x28, 0x1a, -0x28, 0x1a, 0x1f, 0xb, 0x1f, 0xb, 0, 0xffe5, 0, 0xffe5, 0, -0xffe5, 0xfff8, 0xffd7, 0xfff8, 0xffd7, 0xc, 0xffe9, 0xc, 0xffe9, 0xfff8, 0xffd3, -0xfff8, 0xffd3, 0x10, 0xffef, 0x10, 0xffef, 0xfffe, 0xffe4, 0xfffe, 0xffe4, 0xfff1, -0xffe3, 0xfff1, 0xffe3, 0xfff1, 0xffe3, 0, 0xffff, 0, 0xffff, 0xffd9, 0xffe8, -0xffd9, 0xffe8, 0xffd8, 0xfff8, 0xffd8, 0xfff8, 0xffe9, 0x18, 0xffe9, 0x18, 0xffda, -0x16, 0xffda, 0x16, 0xffda, 0x16, 0xfff3, 0x36, 0xfff3, 0x36, 0xffef, 0x36, -0xffef, 0x36, 0xffc0, 0x5, 0xffc0, 0x5, 0xffdc, 0x1d, 0xffdc, 0x1d, 0xfff2, -0x2b, 0xfff2, 0x2b, 0x3, 0x33, 0x3, 0x33, 0x3, 0x33, 0x2c, 0x53, -0x2c, 0x53, 0x41, 0x62, 0x41, 0x62, 0x27, 0x45, 0x27, 0x45, 0xfff8, -0x17, 0xfff8, 0x17, 0xfffd, 0x21, 0xfffd, 0x21, 0x15, 0x42, 0x15, 0x42, -0x15, 0x42, 0xffdc, 0x13, 0xffdc, 0x13, 0xfff5, 0x37, 0xfff5, 0x37, 0xffde, -0x2b, 0xffde, 0x2b, 0xfff2, 0x46, 0xfff2, 0x46, 0xfff1, 0x4a, 0xfff1, 0x4a, -0xfff1, 0x4a, 0x3, 0x5d, 0x3, 0x5d, 0xffed, 0x44, 0xffed, 0x44, 0xfffa, -0x4b, 0xfffa, 0x4b, 0xffed, 0x36, 0xffed, 0x36, 0xfff1, 0x32, 0xfff1, 0x32, -0xd, 0x45, 0xd, 0x45, 0xd, 0x45, 0xfff5, 0x27, 0xfff5, 0x27, 0x3a, -0x66, 0x3a, 0x66, 0xffca, 0xfff2, 0xffca, 0xfff2, 0xfff9, 0x1f, 0xfff9, 0x1f, -0xffd4, 0xfff6, 0xffd4, 0xfff6, 0xffe4, 0x3, 0xffe4, 0x3, 0xffe4, 0x3, 0xffbc, -0xffd5, 0xffbc, 0xffd5, 0xffc7, 0xffd6, 0xffc7, 0xffd6, 0xffd0, 0xffd4, 0xffd0, 0xffd4, -0xffe0, 0xffd6, 0xffe0, 0xffd6, 0x2, 0xffe7, 0x2, 0xffe7, 0x2, 0xffe7, 0x63, -0x37, 0x63, 0x37, 0x10b, 0xce, 0x10b, 0xce, 0x14e, 0x102, 0x14e, 0x102, -0x20a, 0x1b1, 0x20a, 0x1b1, 0x237, 0x1d4, 0x237, 0x1d4, 0x2b7, 0x24c, 0x2b7, -0x24c, 0x2b7, 0x24c, 0x2f9, 0x287, 0x2f9, 0x287, 0x3b0, 0x339, 0x3b0, 0x339, -0x426, 0x3a7, 0x426, 0x3a7, 0x4a5, 0x41d, 0x4a5, 0x41d, 0x4ed, 0x459, 0x4ed, -0x459, 0x52d, 0x48a, 0x52d, 0x48a, 0x52d, 0x48a, 0x557, 0x4a2, 0x557, 0x4a2, -0x58d, 0x4c7, 0x58d, 0x4c7, 0x5c7, 0x4f1, 0x5c7, 0x4f1, 0x632, 0x552, 0x632, -0x552, 0x63c, 0x558, 0x63c, 0x558, 0x63c, 0x558, 0x62a, 0x54d, 0x62a, 0x54d, -0x646, 0x57a, 0x646, 0x57a, 0x587, 0x4d9, 0x587, 0x4d9, 0x4dc, 0x457, 0x4dc, -0x457, 0x390, 0x33d, 0x390, 0x33d, 0x2e6, 0x2cb, 0x2e6, 0x2cb, 0x2e6, 0x2cb, -0x18e, 0x1ae, 0x18e, 0x1ae, 0x87, 0xe1, 0x87, 0xe1, 0xff0e, 0xff9d, 0xff0e, -0xff9d, 0xfde8, 0xfea3, 0xfde8, 0xfea3, 0xfca1, 0xfd7f, 0xfca1, 0xfd7f, 0xfbf0, 0xfce6, -0xfbf0, 0xfce6, 0xfbf0, 0xfce6, 0xfb70, 0xfc74, 0xfb70, 0xfc74, 0xfae0, 0xfbe9, 0xfae0, -0xfbe9, 0xfab8, 0xfbbf, 0xfab8, 0xfbbf, 0xfa2f, 0xfb33, 0xfa2f, 0xfb33, 0xfa26, 0xfb25, -0xfa26, 0xfb25, 0xfa26, 0xfb25, 0xf99a, 0xfa98, 0xf99a, 0xfa98, 0xfa1c, 0xfb1d, 0xfa1c, -0xfb1d, 0xfa10, 0xfb19, 0xfa10, 0xfb19, 0xfa3b, 0xfb52, 0xfa3b, 0xfb52, 0xf9f9, 0xfb22, -0xf9f9, 0xfb22, 0xf9c1, 0xfb00, 0xf9c1, 0xfb00, 0xf9c1, 0xfb00, 0xf979, 0xfacd, 0xf979, -0xfacd, 0xf92c, 0xfa95, 0xf92c, 0xfa95, 0xf86e, 0xf9e8, 0xf86e, 0xf9e8, 0xf7e9, 0xf970, -0xf7e9, 0xf970, 0xf6e8, 0xf876, 0xf6e8, 0xf876, 0xf599, 0xf72a, 0xf599, 0xf72a, 0xf599, -0xf72a, 0xf4c3, 0xf653, 0xf4c3, 0xf653, 0xf40f, 0xf59b, 0xf40f, 0xf59b, 0xf45e, 0xf5e4, -0xf45e, 0xf5e4, 0xf478, 0xf5fa, 0xf478, 0xf5fa, 0xf4e5, 0xf666, 0xf4e5, 0xf666, 0xf4e5, -0xf666, 0xf508, 0xf68c, 0xf508, 0xf68c, 0xf562, 0xf6ed, 0xf562, 0xf6ed, 0xf557, 0xf6ef, -0xf557, 0xf6ef, 0xf565, 0xf70e, 0xf565, 0xf70e, 0xf4c5, 0xf682, 0xf4c5, 0xf682, 0xf471, -0xf645, 0xf471, 0xf645, 0xf471, 0xf645, 0xf3a2, 0xf58e, 0xf3a2, 0xf58e, 0xf2fc, 0xf4fe, -0xf2fc, 0xf4fe, 0xf1f0, 0xf407, 0xf1f0, 0xf407, 0xf132, 0xf358, 0xf132, 0xf358, 0xf15e, -0xf38f, 0xf15e, 0xf38f, 0xf15e, 0xf38f, 0xf1aa, 0xf3e0, 0xf1aa, 0xf3e0, 0xf230, 0xf464, -0xf230, 0xf464, 0xf251, 0xf47d, 0xf251, 0xf47d, 0xf2b8, 0xf4d7, 0xf2b8, 0xf4d7, 0xf26a, -0xf479, 0xf26a, 0xf479, 0xf288, 0xf484, 0xf288, 0xf484, 0xf288, 0xf484, 0xf214, 0xf3fe, -0xf214, 0xf3fe, 0xf215, 0xf3ef, 0xf215, 0xf3ef, 0xf19d, 0xf36b, 0xf19d, 0xf36b, 0xf19a, -0xf362, 0xf19a, 0xf362, 0xf11e, 0xf2e7, 0xf11e, 0xf2e7, 0xf0e6, 0xf2b7, 0xf0e6, 0xf2b7, -0xf0e6, 0xf2b7, 0xf120, 0xf300, 0xf120, 0xf300, 0xf114, 0xf309, 0xf114, 0xf309, 0xf11e, -0xf32c, 0xf11e, 0xf32c, 0xf0bc, 0xf2e5, 0xf0bc, 0xf2e5, 0xf0b8, 0xf2fd, 0xf0b8, 0xf2fd, -0xf0b8, 0xf2fd, 0xf07f, 0xf2dd, 0xf07f, 0xf2dd, 0xf040, 0xf2b3, 0xf040, 0xf2b3, 0xef6e, -0xf1f2, 0xef6e, 0xf1f2, 0xef15, 0xf1a4, 0xef15, 0xf1a4, 0xeea7, 0xf13c, 0xeea7, 0xf13c, -0xeded, 0xf085, 0xeded, 0xf085, 0xeded, 0xf085, 0xed37, 0xefd0, 0xed37, 0xefd0, 0xecbe, -0xef58, 0xecbe, 0xef58, 0xec72, 0xef0e, 0xec72, 0xef0e, 0xec60, 0xef01, 0xec60, 0xef01, -0xec2c, 0xeed4, 0xec2c, 0xeed4, 0xec87, 0xef39, 0xec87, 0xef39, 0xec87, 0xef39, 0xec22, -0xeede, 0xec22, 0xeede, 0xec8f, 0xef54, 0xec8f, 0xef54, 0xec8f, 0xef5a, 0xec8f, 0xef5a, -0xeca7, 0xef73, 0xeca7, 0xef73, 0xed40, 0xf004, 0xed40, 0xf004, 0xed40, 0xf004, 0xed81, -0xf037, 0xed81, 0xf037, 0xed95, 0xf034, 0xed95, 0xf034, 0xed4a, 0xefcd, 0xed4a, 0xefcd, -0xedf9, 0xf05d, 0xedf9, 0xf05d, 0xee14, 0xf058, 0xee14, 0xf058, 0xef06, 0xf12d, 0xef06, -0xf12d, 0xef06, 0xf12d, 0xef14, 0xf124, 0xef14, 0xf124, 0xf063, 0xf264, 0xf063, 0xf264, -0xf0c7, 0xf2c4, 0xf0c7, 0xf2c4, 0xf14c, 0xf34d, 0xf14c, 0xf34d, 0xf184, 0xf392, 0xf184, -0xf392, 0xf140, 0xf360, 0xf140, 0xf360, 0xf140, 0xf360, 0xf101, 0xf334, 0xf101, 0xf334, -0xf052, 0xf296, 0xf052, 0xf296, 0xf07e, 0xf2cf, 0xf07e, 0xf2cf, 0xf00c, 0xf260, 0xf00c, -0xf260, 0xf01e, 0xf26c, 0xf01e, 0xf26c, 0xf01e, 0xf26c, 0xef8a, 0xf1ca, 0xef8a, 0xf1ca, -0xf001, 0xf229, 0xf001, 0xf229, 0xf045, 0xf250, 0xf045, 0xf250, 0xf123, 0xf30f, 0xf123, -0xf30f, 0xf144, 0xf313, 0xf144, 0xf313, 0xf192, 0xf348, 0xf192, 0xf348, 0xf192, 0xf348, -0xf194, 0xf337, 0xf194, 0xf337, 0xf195, 0xf32e, 0xf195, 0xf32e, 0xf1c7, 0xf35e, 0xf1c7, -0xf35e, 0xf154, 0xf2ee, 0xf154, 0xf2ee, 0xf105, 0xf2a8, 0xf105, 0xf2a8, 0xf061, 0xf20d, -0xf061, 0xf20d, 0xf061, 0xf20d, 0xf0d5, 0xf28a, 0xf0d5, 0xf28a, 0xf068, 0xf223, 0xf068, -0xf223, 0xf026, 0xf1e2, 0xf026, 0xf1e2, 0xf094, 0xf24d, 0xf094, 0xf24d, 0xf11a, 0xf2cd, -0xf11a, 0xf2cd, 0xf11a, 0xf2cd, 0xf0d2, 0xf27e, 0xf0d2, 0xf27e, 0xf0f9, 0xf29e, 0xf0f9, -0xf29e, 0xf181, 0xf322, 0xf181, 0xf322, 0xf147, 0xf2e8, 0xf147, 0xf2e8, 0xf097, 0xf23b, -0xf097, 0xf23b, 0xf026, 0xf1d1, 0xf026, 0xf1d1, 0xf026, 0xf1d1, 0xf0ea, 0xf29d, 0xf0ea, -0xf29d, 0xf0ab, 0xf262, 0xf0ab, 0xf262, 0xf07c, 0xf231, 0xf07c, 0xf231, 0xf24a, 0xf3f3, -0xf24a, 0xf3f3, 0xf3df, 0xf56f, 0xf3df, 0xf56f, 0xf5e0, 0xf749, 0xf5e0, 0xf749, 0xf5e0, -0xf749, 0xf7b1, 0xf8e5, 0xf7b1, 0xf8e5, 0xf957, 0xfa48, 0xf957, 0xfa48, 0xf9ee, 0xfa93, -0xf9ee, 0xfa93, 0xfb88, 0xfbda, 0xfb88, 0xfbda, 0xfdd1, 0xfdce, 0xfdd1, 0xfdce, 0xfdd1, -0xfdce, 0xff9d, 0xff49, 0xff9d, 0xff49, 0x24e, 0x1ae, 0x24e, 0x1ae, 0x40a, 0x326, -0x40a, 0x326, 0x65a, 0x538, 0x65a, 0x538, 0x745, 0x5ec, 0x745, 0x5ec, 0x8df, -0x752, 0x8df, 0x752, 0x8df, 0x752, 0x9ae, 0x7ee, 0x9ae, 0x7ee, 0xc73, 0xa7d, -0xc73, 0xa7d, 0xf7d, 0xd4a, 0xf7d, 0xd4a, 0x115b, 0xee7, 0x115b, 0xee7, 0x12af, -0xff4, 0x12af, 0xff4, 0x10a8, 0xda4, 0x10a8, 0xda4, 0x10a8, 0xda4, 0x1133, 0xde9, -0x1133, 0xde9, 0x1387, 0xfff, 0x1387, 0xfff, 0x16a9, 0x12f2, 0x16a9, 0x12f2, 0x16c0, -0x12ed, 0x16c0, 0x12ed, 0x15e6, 0x120e, 0x15e6, 0x120e, 0x15e6, 0x120e, 0x15e1, 0x121d, -0x15e1, 0x121d, 0x14f3, 0x115a, 0x14f3, 0x115a, 0x1470, 0x1115, 0x1470, 0x1115, 0x1344, -0x1033, 0x1344, 0x1033, 0x1262, 0xfa1, 0x1262, 0xfa1, 0x1295, 0x1021, 0x1295, 0x1021, -0x1295, 0x1021, 0x13e4, 0x11b0, 0x13e4, 0x11b0, 0x139a, 0x1196, 0x139a, 0x1196, 0x12c6, -0x10de, 0x12c6, 0x10de, 0x1287, 0x10a5, 0x1287, 0x10a5, 0x1135, 0xf46, 0x1135, 0xf46, -0x1227, 0x101d, 0x1227, 0x101d, 0x1227, 0x101d, 0x12d6, 0x10a8, 0x12d6, 0x10a8, 0x1307, -0x10b4, 0x1307, 0x10b4, 0x14e2, 0x1270, 0x14e2, 0x1270, 0x1518, 0x1292, 0x1518, 0x1292, -0x143c, 0x11b0, 0x143c, 0x11b0, 0x143c, 0x11b0, 0x135f, 0x10dc, 0x135f, 0x10dc, 0x1354, -0x10e8, 0x1354, 0x10e8, 0x1122, 0xed6, 0x1122, 0xed6, 0xfec, 0xdc6, 0xfec, 0xdc6, -0xfe0, 0xddf, 0xfe0, 0xddf, 0xca5, 0xac4, 0xca5, 0xac4, 0xca5, 0xac4, 0xc37, -0xa6c, 0xc37, 0xa6c, 0xb7a, 0x9ba, 0xb7a, 0x9ba, 0xb57, 0x997, 0xb57, 0x997, -0xc0a, 0xa40, 0xc0a, 0xa40, 0xab9, 0x8e1, 0xab9, 0x8e1, 0xbbf, 0x9d9, 0xbbf, -0x9d9, 0xbbf, 0x9d9, 0xa6d, 0x87d, 0xa6d, 0x87d, 0xa8e, 0x89f, 0xa8e, 0x89f, -0x965, 0x784, 0x965, 0x784, 0x78b, 0x5c6, 0x78b, 0x5c6, 0x5d2, 0x436, 0x5d2, -0x436, 0x5d2, 0x436, 0x237, 0xd1, 0x237, 0xd1, 0x246, 0x11d, 0x246, 0x11d, -0xff20, 0xfe37, 0xff20, 0xfe37, 0xfe08, 0xfd5f, 0xfe08, 0xfd5f, 0xfd3d, 0xfccc, 0xfd3d, -0xfccc, 0xfacc, 0xfa8d, 0xfacc, 0xfa8d, 0xfacc, 0xfa8d, 0xfa71, 0xfa57, 0xfa71, 0xfa57, -0xf974, 0xf976, 0xf974, 0xf976, 0xfa2d, 0xfa41, 0xfa2d, 0xfa41, 0xfa98, 0xfab8, 0xfa98, -0xfab8, 0xfab3, 0xfad9, 0xfab3, 0xfad9, 0xfab3, 0xfad9, 0xf9e1, 0xfa0c, 0xf9e1, 0xfa0c, -0xf80b, 0xf83c, 0xf80b, 0xf83c, 0xf752, 0xf78b, 0xf752, 0xf78b, 0xf5cb, 0xf60e, 0xf5cb, -0xf60e, 0xf533, 0xf582, 0xf533, 0xf582, 0xf42b, 0xf488, 0xf42b, 0xf488, 0xf42b, 0xf488, -0xf29f, 0xf309, 0xf29f, 0xf309, 0xf245, 0xf2b8, 0xf245, 0xf2b8, 0xf138, 0xf1b1, 0xf138, -0xf1b1, 0xf0f5, 0xf16f, 0xf0f5, 0xf16f, 0xf0c2, 0xf136, 0xf0c2, 0xf136, 0xf0c6, 0xf132, -0xf0c6, 0xf132, 0xf0c6, 0xf132, 0xf05a, 0xf0b9, 0xf05a, 0xf0b9, 0xf020, 0xf071, 0xf020, -0xf071, 0xf14c, 0xf18f, 0xf14c, 0xf18f, 0xf116, 0xf14c, 0xf116, 0xf14c, 0xf082, 0xf0ad, -0xf082, 0xf0ad, 0xf082, 0xf0ad, 0xf106, 0xf127, 0xf106, 0xf127, 0xf05a, 0xf072, 0xf05a, -0xf072, 0xf0eb, 0xf0fc, 0xf0eb, 0xf0fc, 0xf0c8, 0xf0d1, 0xf0c8, 0xf0d1, 0xf187, 0xf185, -0xf187, 0xf185, 0xf1d4, 0xf1c4, 0xf1d4, 0xf1c4, 0xf1d4, 0xf1c4, 0xf1d6, 0xf1b4, 0xf1d6, -0xf1b4, 0xf340, 0xf305, 0xf340, 0xf305, 0xf34b, 0xf2f5, 0xf34b, 0xf2f5, 0xf56c, 0xf4f6, -0xf56c, 0xf4f6, 0xf624, 0xf58a, 0xf624, 0xf58a, 0xf905, 0xf847, 0xf905, 0xf847, 0xf905, -0xf847, 0xfadb, 0xf9f7, 0xfadb, 0xf9f7, 0xfbf2, 0xfae8, 0xfbf2, 0xfae8, 0xfe46, 0xfd16, -0xfe46, 0xfd16, 0xff62, 0xfe0e, 0xff62, 0xfe0e, 0x18e, 0x14, 0x18e, 0x14, 0x18e, -0x14, 0x2a1, 0x103, 0x2a1, 0x103, 0x432, 0x26c, 0x432, 0x26c, 0x5f7, 0x40a, -0x5f7, 0x40a, 0x6ff, 0x4e8, 0x6ff, 0x4e8, 0x980, 0x73f, 0x980, 0x73f, 0xbfe, -0x992, 0xbfe, 0x992, 0xbfe, 0x992, 0xdcd, 0xb37, 0xdcd, 0xb37, 0x1004, 0xd45, -0x1004, 0xd45, 0x12b0, 0xfcb, 0x12b0, 0xfcb, 0x15c0, 0x12b9, 0x15c0, 0x12b9, 0x179b, -0x1477, 0x179b, 0x1477, 0x1a3a, 0x16fe, 0x1a3a, 0x16fe, 0x1a3a, 0x16fe, 0x1d2c, 0x19dc, -0x1d2c, 0x19dc, 0x1ed8, 0x1b7a, 0x1ed8, 0x1b7a, 0x20bc, 0x1d52, 0x20bc, 0x1d52, 0x22fc, -0x1f89, 0x22fc, 0x1f89, 0x2363, 0x1fe9, 0x2363, 0x1fe9, 0x2363, 0x1fe9, 0x2536, 0x21b8, -0x2536, 0x21b8, 0x2592, 0x2212, 0x2592, 0x2212, 0x26f3, 0x2374, 0x26f3, 0x2374, 0x24e6, -0x216a, 0x24e6, 0x216a, 0x231c, 0x1fa9, 0x231c, 0x1fa9, 0x2314, 0x1faf, 0x2314, 0x1faf, -0x2314, 0x1faf, 0x1fd2, 0x1c82, 0x1fd2, 0x1c82, 0x1fe2, 0x1cae, 0x1fe2, 0x1cae, 0x1d6f, -0x1a5e, 0x1d6f, 0x1a5e, 0x1ea5, 0x1bbd, 0x1ea5, 0x1bbd, 0x1d40, 0x1a85, 0x1d40, 0x1a85, -0x1d03, 0x1a77, 0x1d03, 0x1a77, 0x1d03, 0x1a77, 0x1cfc, 0x1a9f, 0x1cfc, 0x1a9f, 0x1b22, -0x18f2, 0x1b22, 0x18f2, 0x1bbe, 0x19b8, 0x1bbe, 0x19b8, 0x1bfd, 0x1a1b, 0x1bfd, 0x1a1b, -0x1e15, 0x1c50, 0x1e15, 0x1c50, 0x1e15, 0x1c50, 0x1cf7, 0x1b4a, 0x1cf7, 0x1b4a, 0x1c15, -0x1a79, 0x1c15, 0x1a79, 0x1b52, 0x19c2, 0x1b52, 0x19c2, 0x1983, 0x17fc, 0x1983, 0x17fc, -0x1822, 0x16a2, 0x1822, 0x16a2, 0x16d7, 0x155e, 0x16d7, 0x155e, 0x16d7, 0x155e, 0x16b3, -0x1543, 0x16b3, 0x1543, 0x15c8, 0x1463, 0x15c8, 0x1463, 0x13a4, 0x124e, 0x13a4, 0x124e, -0x12b4, 0x116f, 0x12b4, 0x116f, 0x1011, 0xee3, 0x1011, 0xee3, 0xfe2, 0xecc, 0xfe2, -0xecc, 0xfe2, 0xecc, 0x1013, 0xf19, 0x1013, 0xf19, 0x11c8, 0x10eb, 0x11c8, 0x10eb, -0x1144, 0x1085, 0x1144, 0x1085, 0x106c, 0xfcb, 0x106c, 0xfcb, 0x103f, 0xfbd, 0x103f, -0xfbd, 0x103f, 0xfbd, 0xefa, 0xe95, 0xefa, 0xe95, 0xd60, 0xd18, 0xd60, 0xd18, -0xc8a, 0xc5e, 0xc8a, 0xc5e, 0xdd4, 0xdc3, 0xdd4, 0xdc3, 0xc31, 0xc3a, 0xc31, -0xc3a, 0xb1b, 0xb3e, 0xb1b, 0xb3e, 0xb1b, 0xb3e, 0x734, 0x770, 0x734, 0x770, -0x590, 0x5e5, 0x590, 0x5e5, 0x12c, 0x199, 0x12c, 0x199, 0xad, 0x133, 0xad, -0x133, 0xfed3, 0xff73, 0xfed3, 0xff73, 0xfcd3, 0xfd8c, 0xfcd3, 0xfd8c, 0xfcd3, 0xfd8c, -0xfa22, 0xfaf4, 0xfa22, 0xfaf4, 0xf742, 0xf82d, 0xf742, 0xf82d, 0xf766, 0xf868, 0xf766, -0xf868, 0xf3db, 0xf4f3, 0xf3db, 0xf4f3, 0xf573, 0xf69d, 0xf573, 0xf69d, 0xf573, 0xf69d, -0xf454, 0xf58d, 0xf454, 0xf58d, 0xf577, 0xf6b9, 0xf577, 0xf6b9, 0xf1da, 0xf320, 0xf1da, -0xf320, 0xf011, 0xf155, 0xf011, 0xf155, 0xeee1, 0xf01c, 0xeee1, 0xf01c, 0xec52, 0xed81, -0xec52, 0xed81, 0xec52, 0xed81, 0xec76, 0xed94, 0xec76, 0xed94, 0xea79, 0xeb85, 0xea79, -0xeb85, 0xea57, 0xeb50, 0xea57, 0xeb50, 0xe9f1, 0xeadb, 0xe9f1, 0xeadb, 0xeb03, 0xebe0, -0xeb03, 0xebe0, 0xecce, 0xeda3, 0xecce, 0xeda3, 0xecce, 0xeda3, 0xec56, 0xed2b, 0xec56, -0xed2b, 0xec66, 0xed40, 0xec66, 0xed40, 0xed6f, 0xee54, 0xed6f, 0xee54, 0xee66, 0xef5b, -0xee66, 0xef5b, 0xeffc, 0xf104, 0xeffc, 0xf104, 0xeffc, 0xf104, 0xf073, 0xf191, 0xf073, -0xf191, 0xf184, 0xf2b8, 0xf184, 0xf2b8, 0xf053, 0xf19c, 0xf053, 0xf19c, 0xf0c5, 0xf221, -0xf0c5, 0xf221, 0xf0c2, 0xf230, 0xf0c2, 0xf230, 0xf1d5, 0xf352, 0xf1d5, 0xf352, 0xf1d5, -0xf352, 0xf1e6, 0xf370, 0xf1e6, 0xf370, 0xf403, 0xf599, 0xf403, 0xf599, 0xf45f, 0xf602, -0xf45f, 0xf602, 0xf2dd, 0xf48c, 0xf2dd, 0xf48c, 0xf1a1, 0xf35e, 0xf1a1, 0xf35e, 0xf1b9, -0xf384, 0xf1b9, 0xf384, 0xf1b9, 0xf384, 0xf3a1, 0xf57c, 0xf3a1, 0xf57c, 0xf2dd, 0xf4c8, -0xf2dd, 0xf4c8, 0xf43b, 0xf636, 0xf43b, 0xf636, 0xf3e3, 0xf5ed, 0xf3e3, 0xf5ed, 0xf686, -0xf89e, 0xf686, 0xf89e, 0xf686, 0xf89e, 0xf51d, 0xf740, 0xf51d, 0xf740, 0xf47a, 0xf6a7, -0xf47a, 0xf6a7, 0xf318, 0xf54c, 0xf318, 0xf54c, 0xf328, 0xf562, 0xf328, 0xf562, 0xf616, -0xf857, 0xf616, 0xf857, 0xf68a, 0xf8d1, 0xf68a, 0xf8d1, 0xf68a, 0xf8d1, 0xf3d4, 0xf623, -0xf3d4, 0xf623, 0xf0ed, 0xf345, 0xf0ed, 0xf345, 0xf04b, 0xf2ad, 0xf04b, 0xf2ad, 0xf180, -0xf3ed, 0xf180, 0xf3ed, 0xf14e, 0xf3c8, 0xf14e, 0xf3c8, 0xf14e, 0xf3c8, 0xf04b, 0xf2d1, -0xf04b, 0xf2d1, 0xf140, 0xf3d0, 0xf140, 0xf3d0, 0xee52, 0xf0eb, 0xee52, 0xf0eb, 0xef35, -0xf1d4, 0xef35, 0xf1d4, 0xed19, 0xefbe, 0xed19, 0xefbe, 0xeec6, 0xf16e, 0xeec6, 0xf16e, -0xeec6, 0xf16e, 0xf064, 0xf30f, 0xf064, 0xf30f, 0xf300, 0xf5ae, 0xf300, 0xf5ae, 0xf315, -0xf5c8, 0xf315, 0xf5c8, 0xefff, 0xf2b9, 0xefff, 0xf2b9, 0xef40, 0xf204, 0xef40, 0xf204, -0xf01f, 0xf2ef, 0xf01f, 0xf2ef, 0xf01f, 0xf2ef, 0xf2c3, 0xf5a3, 0xf2c3, 0xf5a3, 0xf19b, -0xf48b, 0xf19b, 0xf48b, 0xf177, 0xf47a, 0xf177, 0xf47a, 0xefdd, 0xf2f1, 0xefdd, 0xf2f1, -0xee8e, 0xf1b1, 0xee8e, 0xf1b1, 0xee8e, 0xf1b1, 0xed15, 0xf045, 0xed15, 0xf045, 0xecbd, -0xeff7, 0xecbd, 0xeff7, 0xea8e, 0xedcf, 0xea8e, 0xedcf, 0xebb0, 0xeef5, 0xebb0, 0xeef5, -0xed1e, 0xf065, 0xed1e, 0xf065, 0xef82, 0xf2ca, 0xef82, 0xf2ca, 0xef82, 0xf2ca, 0xec86, -0xefd0, 0xec86, 0xefd0, 0xeb81, 0xeecd, 0xeb81, 0xeecd, 0xed27, 0xf076, 0xed27, 0xf076, -0xed2c, 0xf07f, 0xed2c, 0xf07f, 0xf109, 0xf45e, 0xf109, 0xf45e, 0xefa7, 0xf2fe, 0xefa7, -0xf2fe, 0xefa7, 0xf2fe, 0xf1c0, 0xf516, 0xf1c0, 0xf516, 0xf267, 0xf5b7, 0xf267, 0xf5b7, -0xf30f, 0xf654, 0xf30f, 0xf654, 0xf27b, 0xf5b0, 0xf27b, 0xf5b0, 0xf191, 0xf4b1, 0xf191, -0xf4b1, 0xf191, 0xf4b1, 0xf3a0, 0xf6a7, 0xf3a0, 0xf6a7, 0xf39b, 0xf687, 0xf39b, 0xf687, -0xf44d, 0xf71d, 0xf44d, 0xf71d, 0xf2a4, 0xf55a, 0xf2a4, 0xf55a, 0xeff1, 0xf290, 0xeff1, -0xf290, 0xeed9, 0xf167, 0xeed9, 0xf167, 0xeed9, 0xf167, 0xed31, 0xefb1, 0xed31, 0xefb1, -0xed8d, 0xf004, 0xed8d, 0xf004, 0xea37, 0xeca7, 0xea37, 0xeca7, 0xeb6d, 0xedd6, 0xeb6d, -0xedd6, 0xecfd, 0xef5c, 0xecfd, 0xef5c, 0xed5e, 0xefaf, 0xed5e, 0xefaf, 0xed5e, 0xefaf, -0xeb7c, 0xedb8, 0xeb7c, 0xedb8, 0xe73d, 0xe95b, 0xe73d, 0xe95b, 0xe6ff, 0xe8f7, 0xe6ff, -0xe8f7, 0xe561, 0xe72c, 0xe561, 0xe72c, 0xe71b, 0xe8b4, 0xe71b, 0xe8b4, 0xe71b, 0xe8b4, -0xe52d, 0xe68f, 0xe52d, 0xe68f, 0xe5e1, 0xe70d, 0xe5e1, 0xe70d, 0xe5e3, 0xe6dc, 0xe5e3, -0xe6dc, 0xe8dd, 0xe9a7, 0xe8dd, 0xe9a7, 0xe7d4, 0xe875, 0xe7d4, 0xe875, 0xe658, 0xe6d5, -0xe658, 0xe6d5, 0xe658, 0xe6d5, 0xe717, 0xe775, 0xe717, 0xe775, 0xe93b, 0xe97e, 0xe93b, -0xe97e, 0xee20, 0xee47, 0xee20, 0xee47, 0xef55, 0xef5d, 0xef55, 0xef5d, 0xf1b3, 0xf197, -0xf1b3, 0xf197, 0xf136, 0xf0ef, 0xf136, 0xf0ef, 0xf136, 0xf0ef, 0xf475, 0xf3fc, 0xf475, -0xf3fc, 0xf617, 0xf563, 0xf617, 0xf563, 0xf853, 0xf760, 0xf853, 0xf760, 0xf822, 0xf6ec, -0xf822, 0xf6ec, 0xfc84, 0xfb0c, 0xfc84, 0xfb0c, 0xfc84, 0xfb0c, 0xff73, 0xfdbd, 0xff73, -0xfdbd, 0xfede, 0xfcf2, 0xfede, 0xfcf2, 0x169, 0xff52, 0x169, 0xff52, 0x1ba, 0xff84, -0x1ba, 0xff84, 0x4b7, 0x26e, 0x4b7, 0x26e, 0x68c, 0x43d, 0x68c, 0x43d, 0x68c, -0x43d, 0x667, 0x41a, 0x667, 0x41a, 0x810, 0x5cc, 0x810, 0x5cc, 0x795, 0x55f, -0x795, 0x55f, 0xa50, 0x828, 0xa50, 0x828, 0xb8a, 0x96f, 0xb8a, 0x96f, 0xa7e, -0x86c, 0xa7e, 0x86c, 0xa7e, 0x86c, 0xe44, 0xc37, 0xe44, 0xc37, 0xb3b, 0x92f, -0xb3b, 0x92f, 0xc26, 0xa18, 0xc26, 0xa18, 0x9b4, 0x7a1, 0x9b4, 0x7a1, 0x869, -0x653, 0x869, 0x653, 0x869, 0x653, 0x874, 0x65a, 0x874, 0x65a, 0x987, 0x76d, -0x987, 0x76d, 0xd71, 0xb5a, 0xd71, 0xb5a, 0xd65, 0xb53, 0xd65, 0xb53, 0xfef, -0xde5, 0xfef, 0xde5, 0x10bc, 0xebb, 0x10bc, 0xebb, 0x10bc, 0xebb, 0x12ad, 0x10b5, -0x12ad, 0x10b5, 0x13d0, 0x11e0, 0x13d0, 0x11e0, 0x13e2, 0x11f8, 0x13e2, 0x11f8, 0x1561, -0x137a, 0x1561, 0x137a, 0x1638, 0x1452, 0x1638, 0x1452, 0x1784, 0x159c, 0x1784, 0x159c, -0x1784, 0x159c, 0x18cb, 0x16e0, 0x18cb, 0x16e0, 0x1777, 0x158a, 0x1777, 0x158a, 0x191e, -0x1731, 0x191e, 0x1731, 0x1b0c, 0x1921, 0x1b0c, 0x1921, 0x1c57, 0x1a72, 0x1c57, 0x1a72, -0x1c57, 0x1a72, 0x1c48, 0x1a6c, 0x1c48, 0x1a6c, 0x1d6e, 0x1b9f, 0x1d6e, 0x1b9f, 0x1ded, -0x1c30, 0x1ded, 0x1c30, 0x1fb8, 0x1e0f, 0x1fb8, 0x1e0f, 0x1e67, 0x1cd4, 0x1e67, 0x1cd4, -0x1abc, 0x1940, 0x1abc, 0x1940, 0x1abc, 0x1940, 0x1760, 0x15fc, 0x1760, 0x15fc, 0x17f4, -0x16a8, 0x17f4, 0x16a8, 0x1b71, 0x1a3c, 0x1b71, 0x1a3c, 0x17c2, 0x16a4, 0x17c2, 0x16a4, -0x1929, 0x1824, 0x1929, 0x1824, 0x1815, 0x1729, 0x1815, 0x1729, 0x1815, 0x1729, 0x1793, -0x16c0, 0x1793, 0x16c0, 0x16a3, 0x15eb, 0x16a3, 0x15eb, 0x1541, 0x14a3, 0x1541, 0x14a3, -0x14f7, 0x1475, 0x14f7, 0x1475, 0x14f0, 0x1489, 0x14f0, 0x1489, 0x14f0, 0x1489, 0x14e8, -0x149a, 0x14e8, 0x149a, 0x150a, 0x14d4, 0x150a, 0x14d4, 0x1141, 0x111e, 0x1141, 0x111e, -0xc36, 0xc24, 0xc36, 0xc24, 0xb3a, 0xb34, 0xb3a, 0xb34, 0xa73, 0xa75, 0xa73, -0xa75, 0xa73, 0xa75, 0xa8e, 0xa95, 0xa8e, 0xa95, 0x67e, 0x687, 0x67e, 0x687, -0x3fe, 0x408, 0x3fe, 0x408, 0xffd8, 0xffe0, 0xffd8, 0xffe0, 0xfeaf, 0xfeb6, 0xfeaf, -0xfeb6, 0xfde5, 0xfde9, 0xfde5, 0xfde9, 0xfde5, 0xfde9, 0xfce9, 0xfcec, 0xfce9, 0xfcec, -0xfcfd, 0xfcfd, 0xfcfd, 0xfcfd, 0xfe87, 0xfe83, 0xfe87, 0xfe83, 0xfe25, 0xfe1c, 0xfe25, -0xfe1c, 0xfc0d, 0xfbfd, 0xfc0d, 0xfbfd, 0xfc0d, 0xfbfd, 0xfb80, 0xfb65, 0xfb80, 0xfb65, -0xf976, 0xf94d, 0xf976, 0xf94d, 0xf958, 0xf91c, 0xf958, 0xf91c, 0xfa8b, 0xfa3a, 0xfa8b, -0xfa3a, 0xf975, 0xf90b, 0xf975, 0xf90b, 0xf7ee, 0xf768, 0xf7ee, 0xf768, 0xf7ee, 0xf768, -0xf8ca, 0xf826, 0xf8ca, 0xf826, 0xf85f, 0xf79c, 0xf85f, 0xf79c, 0xf82a, 0xf746, 0xf82a, -0xf746, 0xf7d7, 0xf6d4, 0xf7d7, 0xf6d4, 0xfa4c, 0xf929, 0xfa4c, 0xf929, 0xfa4c, 0xf929, -0xf9a5, 0xf862, 0xf9a5, 0xf862, 0xfaad, 0xf94b, 0xfaad, 0xf94b, 0xfa86, 0xf904, 0xfa86, -0xf904, 0xf9e2, 0xf840, 0xf9e2, 0xf840, 0xf972, 0xf7b1, 0xf972, 0xf7b1, 0xfaf9, 0xf918, -0xfaf9, 0xf918, 0xfaf9, 0xf918, 0xff3e, 0xfd3b, 0xff3e, 0xfd3b, 0xffce, 0xfda9, 0xffce, -0xfda9, 0x211, 0xffcb, 0x211, 0xffcb, 0x31f, 0xb8, 0x31f, 0xb8, 0x4a6, 0x220, -0x4a6, 0x220, 0x612, 0x36d, 0x612, 0x36d, 0x612, 0x36d, 0x71a, 0x459, 0x71a, -0x459, 0x98c, 0x6b2, 0x98c, 0x6b2, 0xbb5, 0x8c3, 0xbb5, 0x8c3, 0xc3b, 0x935, -0xc3b, 0x935, 0xd90, 0xa78, 0xd90, 0xa78, 0xd90, 0xa78, 0xd77, 0xa50, 0xd77, -0xa50, 0x125b, 0xf26, 0x125b, 0xf26, 0x13f3, 0x10b3, 0x13f3, 0x10b3, 0x1576, 0x122b, -0x1576, 0x122b, 0x1860, 0x150d, 0x1860, 0x150d, 0x19af, 0x1653, 0x19af, 0x1653, 0x19af, -0x1653, 0x1b79, 0x1817, 0x1b79, 0x1817, 0x1b0d, 0x17a6, 0x1b0d, 0x17a6, 0x1a75, 0x170a, -0x1a75, 0x170a, 0x184e, 0x14e1, 0x184e, 0x14e1, 0x19e3, 0x1676, 0x19e3, 0x1676, 0x19ee, -0x1682, 0x19ee, 0x1682, 0x19ee, 0x1682, 0x1bc0, 0x1858, 0x1bc0, 0x1858, 0x194d, 0x15ea, -0x194d, 0x15ea, 0x185a, 0x14ff, 0x185a, 0x14ff, 0x190e, 0x15be, 0x190e, 0x15be, 0x1706, -0x13c2, 0x1706, 0x13c2, 0x1706, 0x13c2, 0x179b, 0x1466, 0x179b, 0x1466, 0x1761, 0x143d, -0x1761, 0x143d, 0x1744, 0x1434, 0x1744, 0x1434, 0x170c, 0x1410, 0x170c, 0x1410, 0x1602, -0x131e, 0x1602, 0x131e, 0x16bb, 0x13f1, 0x16bb, 0x13f1, 0x16bb, 0x13f1, 0x1453, 0x11a4, -0x1453, 0x11a4, 0x13b0, 0x111f, 0x13b0, 0x111f, 0x15f5, 0x1382, 0x15f5, 0x1382, 0x14dd, -0x128b, 0x14dd, 0x128b, 0x16a9, 0x1477, 0x16a9, 0x1477, 0x1440, 0x1231, 0x1440, 0x1231, -0x1440, 0x1231, 0x11de, 0xff1, 0x11de, 0xff1, 0x1040, 0xe77, 0x1040, 0xe77, 0xec7, -0xd22, 0xec7, 0xd22, 0xc97, 0xb16, 0xc97, 0xb16, 0xbda, 0xa7e, 0xbda, 0xa7e, -0xbda, 0xa7e, 0xc8e, 0xb58, 0xc8e, 0xb58, 0xc92, 0xb81, 0xc92, 0xb81, 0xbad, -0xac1, 0xbad, 0xac1, 0xc3c, 0xb76, 0xc3c, 0xb76, 0xb48, 0xaa8, 0xb48, 0xaa8, -0xbe3, 0xb69, 0xbe3, 0xb69, 0xbe3, 0xb69, 0xe33, 0xdde, 0xe33, 0xdde, 0xe0c, -0xddc, 0xe0c, 0xddc, 0xf48, 0xf3c, 0xf48, 0xf3c, 0xb4d, 0xb65, 0xb4d, 0xb65, -0xc3d, 0xc78, 0xc3d, 0xc78, 0xa75, 0xad1, 0xa75, 0xad1, 0xa75, 0xad1, 0x8b7, -0x933, 0x8b7, 0x933, 0x919, 0x9b4, 0x919, 0x9b4, 0x85f, 0x919, 0x85f, 0x919, -0x79b, 0x872, 0x79b, 0x872, 0x4c5, 0x5b9, 0x4c5, 0x5b9, 0x4c5, 0x5b9, 0xdc, -0x1eb, 0xdc, 0x1eb, 0xfd2d, 0xfe56, 0xfd2d, 0xfe56, 0xfb19, 0xfc5c, 0xfb19, 0xfc5c, -0xfaa7, 0xfc03, 0xfaa7, 0xfc03, 0xfa04, 0xfb77, 0xfa04, 0xfb77, 0xf8b5, 0xfa3e, 0xf8b5, -0xfa3e, 0xf8b5, 0xfa3e, 0xfb06, 0xfca4, 0xfb06, 0xfca4, 0xf77e, 0xf930, 0xf77e, 0xf930, -0xf532, 0xf6f6, 0xf532, 0xf6f6, 0xf3b1, 0xf585, 0xf3b1, 0xf585, 0xf080, 0xf264, 0xf080, -0xf264, 0xef3d, 0xf12e, 0xef3d, 0xf12e, 0xef3d, 0xf12e, 0xeee2, 0xf0df, 0xeee2, 0xf0df, -0xed26, 0xef2e, 0xed26, 0xef2e, 0xed14, 0xef25, 0xed14, 0xef25, 0xee13, 0xf02c, 0xee13, -0xf02c, 0xee9a, 0xf0ba, 0xee9a, 0xf0ba, 0xee9a, 0xf0ba, 0xecaa, 0xeed1, 0xecaa, 0xeed1, -0xeaec, 0xed17, 0xeaec, 0xed17, 0xebcc, 0xedfc, 0xebcc, 0xedfc, 0xebc3, 0xedf7, 0xebc3, -0xedf7, 0xee3e, 0xf075, 0xee3e, 0xf075, 0xeef5, 0xf12e, 0xeef5, 0xf12e, 0xeef5, 0xf12e, -0xee08, 0xf044, 0xee08, 0xf044, 0xeb24, 0xed61, 0xeb24, 0xed61, 0xe945, 0xeb83, 0xe945, -0xeb83, 0xea4e, 0xec8d, 0xea4e, 0xec8d, 0xebb5, 0xedf4, 0xebb5, 0xedf4, 0xeaef, 0xed2e, -0xeaef, 0xed2e, 0xeaef, 0xed2e, 0xed04, 0xef42, 0xed04, 0xef42, 0xec69, 0xeea7, 0xec69, -0xeea7, 0xed09, 0xef45, 0xed09, 0xef45, 0xeebd, 0xf0f9, 0xeebd, 0xf0f9, 0xee5e, 0xf099, -0xee5e, 0xf099, 0xee5e, 0xf099, 0xed43, 0xef7e, 0xed43, 0xef7e, 0xec57, 0xee92, 0xec57, -0xee92, 0xeeb2, 0xf0ee, 0xeeb2, 0xf0ee, 0xed37, 0xef74, 0xed37, 0xef74, 0xed08, 0xef46, -0xed08, 0xef46, 0xebbc, 0xedfc, 0xebbc, 0xedfc, 0xebbc, 0xedfc, 0xec08, 0xee4b, 0xec08, -0xee4b, 0xedb5, 0xeffb, 0xedb5, 0xeffb, 0xeea0, 0xf0ea, 0xeea0, 0xf0ea, 0xeef9, 0xf147, -0xeef9, 0xf147, 0xedee, 0xf041, 0xedee, 0xf041, 0xec9f, 0xeef6, 0xec9f, 0xeef6, 0xec9f, -0xeef6, 0xeca5, 0xef01, 0xeca5, 0xef01, 0xea7b, 0xecdc, 0xea7b, 0xecdc, 0xeb45, 0xedac, -0xeb45, 0xedac, 0xec61, 0xeecf, 0xec61, 0xeecf, 0xed8f, 0xf003, 0xed8f, 0xf003, 0xed8f, -0xf003, 0xed66, 0xefe0, 0xed66, 0xefe0, 0xec03, 0xee84, 0xec03, 0xee84, 0xed81, 0xf009, -0xed81, 0xf009, 0xecca, 0xef59, 0xecca, 0xef59, 0xeff0, 0xf286, 0xeff0, 0xf286, 0xef78, -0xf215, 0xef78, 0xf215, 0xef78, 0xf215, 0xf0ce, 0xf372, 0xf0ce, 0xf372, 0xef1e, 0xf1c9, -0xef1e, 0xf1c9, 0xf04e, 0xf2ff, 0xf04e, 0xf2ff, 0xeffd, 0xf2b5, 0xeffd, 0xf2b5, 0xf017, -0xf2d5, 0xf017, 0xf2d5, 0xf3af, 0xf673, 0xf3af, 0xf673, 0xf3af, 0xf673, 0xf1ce, 0xf497, -0xf1ce, 0xf497, 0xf519, 0xf7e7, 0xf519, 0xf7e7, 0xf545, 0xf818, 0xf545, 0xf818, 0xf522, -0xf7fa, 0xf522, 0xf7fa, 0xf445, 0xf720, 0xf445, 0xf720, 0xf445, 0xf720, 0xf2ff, 0xf5de, -0xf2ff, 0xf5de, 0xf36c, 0xf64d, 0xf36c, 0xf64d, 0xf4fe, 0xf7e2, 0xf4fe, 0xf7e2, 0xf81e, -0xfb03, 0xf81e, 0xfb03, 0xf940, 0xfc27, 0xf940, 0xfc27, 0xf8d5, 0xfbbc, 0xf8d5, 0xfbbc, -0xf8d5, 0xfbbc, 0xf850, 0xfb37, 0xf850, 0xfb37, 0xf8b7, 0xfb9d, 0xf8b7, 0xfb9d, 0xfb0c, -0xfdf0, 0xfb0c, 0xfdf0, 0xfc36, 0xff17, 0xfc36, 0xff17, 0xfe97, 0x175, 0xfe97, 0x175, -0xfe97, 0x175, 0xfd75, 0x4e, 0xfd75, 0x4e, 0xfdd7, 0xab, 0xfdd7, 0xab, 0xfe11, -0xdf, 0xfe11, 0xdf, 0xfd67, 0x2e, 0xfd67, 0x2e, 0xffcd, 0x28c, 0xffcd, 0x28c, -0xff5d, 0x214, 0xff5d, 0x214, 0xff5d, 0x214, 0x215, 0x4c1, 0x215, 0x4c1, 0x1a9, -0x44b, 0x1a9, 0x44b, 0x2af, 0x546, 0x2af, 0x546, 0x1f3, 0x47d, 0x1f3, 0x47d, -0xfdb0, 0x2d, 0xfdb0, 0x2d, 0xfaf6, 0xfd64, 0xfaf6, 0xfd64, 0xfaf6, 0xfd64, 0xf968, -0xfbc7, 0xf968, 0xfbc7, 0xf8e2, 0xfb31, 0xf8e2, 0xfb31, 0xf869, 0xfaa7, 0xf869, 0xfaa7, -0xf7a1, 0xf9cc, 0xf7a1, 0xf9cc, 0xf71f, 0xf937, 0xf71f, 0xf937, 0xf71f, 0xf937, 0xf531, -0xf735, 0xf531, 0xf735, 0xf599, 0xf788, 0xf599, 0xf788, 0xf3e5, 0xf5be, 0xf3e5, 0xf5be, -0xf086, 0xf248, 0xf086, 0xf248, 0xf012, 0xf1bd, 0xf012, 0xf1bd, 0xef1c, 0xf0ae, 0xef1c, -0xf0ae, 0xef1c, 0xf0ae, 0xf108, 0xf281, 0xf108, 0xf281, 0xef28, 0xf087, 0xef28, 0xf087, -0xee7e, 0xefc2, 0xee7e, 0xefc2, 0xedf5, 0xef1f, 0xedf5, 0xef1f, 0xef59, 0xf067, 0xef59, -0xf067, 0xef86, 0xf077, 0xef86, 0xf077, 0xef86, 0xf077, 0xf0cd, 0xf1a1, 0xf0cd, 0xf1a1, -0xf230, 0xf2e7, 0xf230, 0xf2e7, 0xf3c9, 0xf462, 0xf3c9, 0xf462, 0xf43a, 0xf4b5, 0xf43a, -0xf4b5, 0xf308, 0xf365, 0xf308, 0xf365, 0xf308, 0xf365, 0xf4a3, 0xf4e1, 0xf4a3, 0xf4e1, -0xf58f, 0xf5af, 0xf58f, 0xf5af, 0xf90b, 0xf90d, 0xf90b, 0xf90d, 0xf7f0, 0xf7d3, 0xf7f0, -0xf7d3, 0xfa22, 0xf9e8, 0xfa22, 0xf9e8, 0xfae2, 0xfa89, 0xfae2, 0xfa89, 0xfae2, 0xfa89, -0xfb2f, 0xfab9, 0xfb2f, 0xfab9, 0xfdfb, 0xfd69, 0xfdfb, 0xfd69, 0x6, 0xff58, 0x6, -0xff58, 0x106, 0x3c, 0x106, 0x3c, 0x154, 0x70, 0x154, 0x70, 0x124, 0x26, -0x124, 0x26, 0x124, 0x26, 0xf6, 0xffe0, 0xf6, 0xffe0, 0x1ee, 0xc1, 0x1ee, -0xc1, 0x370, 0x22e, 0x370, 0x22e, 0x53d, 0x3e7, 0x53d, 0x3e7, 0x45a, 0x2f1, -0x45a, 0x2f1, 0x45a, 0x2f1, 0x5a4, 0x42b, 0x5a4, 0x42b, 0x5a8, 0x41f, 0x5a8, -0x41f, 0x4a6, 0x30f, 0x4a6, 0x30f, 0x3b4, 0x211, 0x3b4, 0x211, 0x199, 0xffed, -0x199, 0xffed, 0x108, 0xff54, 0x108, 0xff54, 0x108, 0xff54, 0x197, 0xffde, 0x197, -0xffde, 0x147, 0xff89, 0x147, 0xff89, 0x2b3, 0xf4, 0x2b3, 0xf4, 0x2b1, 0xf2, -0x2b1, 0xf2, 0x453, 0x296, 0x453, 0x296, 0x5c5, 0x40c, 0x5c5, 0x40c, 0x5c5, -0x40c, 0x657, 0x4a5, 0x657, 0x4a5, 0x839, 0x68f, 0x839, 0x68f, 0xa88, 0x8e8, -0xa88, 0x8e8, 0xb31, 0x99d, 0xb31, 0x99d, 0xb27, 0x9a1, 0xb27, 0x9a1, 0xb27, -0x9a1, 0xc93, 0xb1c, 0xc93, 0xb1c, 0xc72, 0xb0c, 0xc72, 0xb0c, 0xdb1, 0xc5d, -0xdb1, 0xc5d, 0xde9, 0xca9, 0xde9, 0xca9, 0xe89, 0xd5e, 0xe89, 0xd5e, 0xf50, -0xe3b, 0xf50, 0xe3b, 0xf50, 0xe3b, 0x13aa, 0x12ac, 0x13aa, 0x12ac, 0x152a, 0x1443, -0x152a, 0x1443, 0x1527, 0x1458, 0x1527, 0x1458, 0x1370, 0x12ba, 0x1370, 0x12ba, 0x120a, -0x116c, 0x120a, 0x116c, 0x124f, 0x11cb, 0x124f, 0x11cb, 0x124f, 0x11cb, 0x11c5, 0x1159, -0x11c5, 0x1159, 0x127b, 0x1228, 0x127b, 0x1228, 0x119c, 0x1160, 0x119c, 0x1160, 0x12bc, -0x1297, 0x12bc, 0x1297, 0x137a, 0x136c, 0x137a, 0x136c, 0x137a, 0x136c, 0x134c, 0x1353, -0x134c, 0x1353, 0x12cb, 0x12e6, 0x12cb, 0x12e6, 0x12c4, 0x12f2, 0x12c4, 0x12f2, 0x114b, -0x118a, 0x114b, 0x118a, 0x1307, 0x1356, 0x1307, 0x1356, 0x11b4, 0x1211, 0x11b4, 0x1211, -0x11b4, 0x1211, 0x105d, 0x10c6, 0x105d, 0x10c6, 0xefc, 0xf6f, 0xefc, 0xf6f, 0xd12, -0xd8d, 0xd12, 0xd8d, 0xd0c, 0xd8c, 0xd0c, 0xd8c, 0xb85, 0xc09, 0xb85, 0xc09, -0xa50, 0xad5, 0xa50, 0xad5, 0xa50, 0xad5, 0x82d, 0x8b1, 0x82d, 0x8b1, 0x54a, -0x5ca, 0x54a, 0x5ca, 0xe6, 0x161, 0xe6, 0x161, 0xff61, 0xffd3, 0xff61, 0xffd3, -0xfd4e, 0xfdb4, 0xfd4e, 0xfdb4, 0xfd4e, 0xfdb4, 0xfde9, 0xfe42, 0xfde9, 0xfe42, 0xfeb6, -0xff00, 0xfeb6, 0xff00, 0xff62, 0xff9a, 0xff62, 0xff9a, 0xfebd, 0xfee0, 0xfebd, 0xfee0, -0xfb78, 0xfb86, 0xfb78, 0xfb86, 0xfa4a, 0xfa40, 0xfa4a, 0xfa40, 0xfa4a, 0xfa40, 0xf9e9, -0xf9c4, 0xf9e9, 0xf9c4, 0xfa00, 0xf9bf, 0xfa00, 0xf9bf, 0xf9ac, 0xf94d, 0xf9ac, 0xf94d, -0xf86b, 0xf7ed, 0xf86b, 0xf7ed, 0xf7f6, 0xf757, 0xf7f6, 0xf757, 0xf6bf, 0xf5fe, 0xf6bf, -0xf5fe, 0xf6bf, 0xf5fe, 0xf63a, 0xf556, 0xf63a, 0xf556, 0xf5c9, 0xf4c2, 0xf5c9, 0xf4c2, -0xf4ff, 0xf3d4, 0xf4ff, 0xf3d4, 0xf5e6, 0xf496, 0xf5e6, 0xf496, 0xf5e4, 0xf46e, 0xf5e4, -0xf46e, 0xf5e4, 0xf46e, 0xf60b, 0xf470, 0xf60b, 0xf470, 0xf4a5, 0xf2e4, 0xf4a5, 0xf2e4, -0xf541, 0xf35a, 0xf541, 0xf35a, 0xf55b, 0xf351, 0xf55b, 0xf351, 0xf74c, 0xf51d, 0xf74c, -0xf51d, 0xf856, 0xf603, 0xf856, 0xf603, 0xf856, 0xf603, 0xf960, 0xf6eb, 0xf960, 0xf6eb, -0xfa9e, 0xf807, 0xfa9e, 0xf807, 0xfaf5, 0xf83d, 0xfaf5, 0xf83d, 0xfc02, 0xf92b, 0xfc02, -0xf92b, 0xfd16, 0xfa22, 0xfd16, 0xfa22, 0x91, 0xfd81, 0x91, 0xfd81, 0x91, 0xfd81, -0x224, 0xfefa, 0x224, 0xfefa, 0x412, 0xd0, 0x412, 0xd0, 0x53e, 0x1e5, 0x53e, -0x1e5, 0x6a9, 0x33c, 0x6a9, 0x33c, 0x917, 0x598, 0x917, 0x598, 0x917, 0x598, -0xb0e, 0x77f, 0xb0e, 0x77f, 0xc14, 0x877, 0xc14, 0x877, 0xf4f, 0xba7, 0xf4f, -0xba7, 0x11ae, 0xdfd, 0x11ae, 0xdfd, 0x1595, 0x11de, 0x1595, 0x11de, 0x16e5, 0x132a, -0x16e5, 0x132a, 0x16e5, 0x132a, 0x17ca, 0x140d, 0x17ca, 0x140d, 0x16e2, 0x1325, 0x16e2, -0x1325, 0x1496, 0x10dd, 0x1496, 0x10dd, 0x170c, 0x1357, 0x170c, 0x1357, 0x1612, 0x1265, -0x1612, 0x1265, 0x1612, 0x1265, 0x17cd, 0x1429, 0x17cd, 0x1429, 0x171f, 0x1387, 0x171f, -0x1387, 0x177e, 0x13f4, 0x177e, 0x13f4, 0x188d, 0x1512, 0x188d, 0x1512, 0x1671, 0x1307, -0x1671, 0x1307, 0x156f, 0x1218, 0x156f, 0x1218, 0x156f, 0x1218, 0x150a, 0x11c8, 0x150a, -0x11c8, 0x1627, 0x12fc, 0x1627, 0x12fc, 0x1726, 0x1412, 0x1726, 0x1412, 0x1601, 0x1306, -0x1601, 0x1306, 0x13f6, 0x1116, 0x13f6, 0x1116, 0x1328, 0x1063, 0x1328, 0x1063, 0x1328, -0x1063, 0x14a0, 0x11f6, 0x14a0, 0x11f6, 0x165a, 0x13cd, 0x165a, 0x13cd, 0x171a, 0x14aa, -0x171a, 0x14aa, 0x165b, 0x1409, 0x165b, 0x1409, 0x1600, 0x13cd, 0x1600, 0x13cd, 0x1600, -0x13cd, 0x156e, 0x1359, 0x156e, 0x1359, 0x13b8, 0x11c3, 0x13b8, 0x11c3, 0x12a3, 0x10cd, -0x12a3, 0x10cd, 0x1077, 0xebf, 0x1077, 0xebf, 0x124b, 0x10b3, 0x124b, 0x10b3, 0x1193, -0x101a, 0x1193, 0x101a, 0x1193, 0x101a, 0x1082, 0xf27, 0x1082, 0xf27, 0xf9d, 0xe60, -0xf9d, 0xe60, 0xdfe, 0xcde, 0xdfe, 0xcde, 0xec3, 0xdc1, 0xec3, 0xdc1, 0xfbb, -0xed6, 0xfbb, 0xed6, 0x1082, 0xfb9, 0x1082, 0xfb9, 0x1082, 0xfb9, 0x10da, 0x102d, -0x10da, 0x102d, 0x11dd, 0x114b, 0x11dd, 0x114b, 0x1164, 0x10ec, 0x1164, 0x10ec, 0xf4a, -0xeeb, 0xf4a, 0xeeb, 0xe4e, 0xe07, 0xe4e, 0xe07, 0xe4e, 0xe07, 0xd9d, 0xd6f, -0xd9d, 0xd6f, 0xda7, 0xd90, 0xda7, 0xd90, 0xebd, 0xebc, 0xebd, 0xebc, 0xc41, -0xc57, 0xc41, 0xc57, 0xa94, 0xabf, 0xa94, 0xabf, 0x730, 0x770, 0x730, 0x770, -0x730, 0x770, 0x660, 0x6b4, 0x660, 0x6b4, 0x47d, 0x4e4, 0x47d, 0x4e4, 0x300, -0x37b, 0x300, 0x37b, 0x2fd, 0x38b, 0x2fd, 0x38b, 0x2aa, 0x349, 0x2aa, 0x349, -0x3d0, 0x481, 0x3d0, 0x481, 0x3d0, 0x481, 0x361, 0x424, 0x361, 0x424, 0x394, -0x468, 0x394, 0x468, 0x158, 0x23c, 0x158, 0x23c, 0xb1, 0x1a7, 0xb1, 0x1a7, -0xfe39, 0xff3f, 0xfe39, 0xff3f, 0xfe39, 0xff3f, 0xfd17, 0xfe2d, 0xfd17, 0xfe2d, 0xfaa1, -0xfbc7, 0xfaa1, 0xfbc7, 0xfab2, 0xfbe8, 0xfab2, 0xfbe8, 0xfc6c, 0xfdb2, 0xfc6c, 0xfdb2, -0xfb8d, 0xfce3, 0xfb8d, 0xfce3, 0xfc05, 0xfd6a, 0xfc05, 0xfd6a, 0xfc05, 0xfd6a, 0xf95d, -0xfad2, 0xf95d, 0xfad2, 0xf815, 0xf998, 0xf815, 0xf998, 0xf890, 0xfa23, 0xf890, 0xfa23, -0xf947, 0xfae9, 0xf947, 0xfae9, 0xf896, 0xfa48, 0xf896, 0xfa48, 0xf733, 0xf8f4, 0xf733, -0xf8f4, 0xf733, 0xf8f4, 0xf745, 0xf914, 0xf745, 0xf914, 0xf609, 0xf7e6, 0xf609, 0xf7e6, -0xf463, 0xf64e, 0xf463, 0xf64e, 0xf361, 0xf55a, 0xf361, 0xf55a, 0xf350, 0xf558, 0xf350, -0xf558, 0xf350, 0xf558, 0xf3f0, 0xf604, 0xf3f0, 0xf604, 0xf447, 0xf668, 0xf447, 0xf668, -0xf4cf, 0xf6fc, 0xf4cf, 0xf6fc, 0xf243, 0xf47b, 0xf243, 0xf47b, 0xf2aa, 0xf4ed, 0xf2aa, -0xf4ed, 0xf331, 0xf57f, 0xf331, 0xf57f, 0xf331, 0xf57f, 0xf381, 0xf5d8, 0xf381, 0xf5d8, -0xf271, 0xf4d1, 0xf271, 0xf4d1, 0xf113, 0xf37b, 0xf113, 0xf37b, 0xf1e2, 0xf452, 0xf1e2, -0xf452, 0xf035, 0xf2aa, 0xf035, 0xf2aa, 0xef80, 0xf1fa, 0xef80, 0xf1fa, 0xef80, 0xf1fa, -0xee60, 0xf0df, 0xee60, 0xf0df, 0xedd5, 0xf057, 0xedd5, 0xf057, 0xee31, 0xf0b5, 0xee31, -0xf0b5, 0xee4b, 0xf0d0, 0xee4b, 0xf0d0, 0xec10, 0xee95, 0xec10, 0xee95, 0xec10, 0xee95, -0xeb08, 0xed8c, 0xeb08, 0xed8c, 0xeaab, 0xed2e, 0xeaab, 0xed2e, 0xeb28, 0xeda8, 0xeb28, -0xeda8, 0xea80, 0xecfc, 0xea80, 0xecfc, 0xea4d, 0xecc4, 0xea4d, 0xecc4, 0xe9b8, 0xec2a, -0xe9b8, 0xec2a, 0xe9b8, 0xec2a, 0xe8cd, 0xeb38, 0xe8cd, 0xeb38, 0xe903, 0xeb67, 0xe903, -0xeb67, 0xe854, 0xeaaf, 0xe854, 0xeaaf, 0xe876, 0xeac9, 0xe876, 0xeac9, 0xe882, 0xeacb, -0xe882, 0xeacb, 0xe981, 0xebc1, 0xe981, 0xebc1, 0xe981, 0xebc1, 0xe85c, 0xea91, 0xe85c, -0xea91, 0xe7a6, 0xe9d1, 0xe7a6, 0xe9d1, 0xe7da, 0xe9fa, 0xe7da, 0xe9fa, 0xe9c0, 0xebd5, -0xe9c0, 0xebd5, 0xeb1e, 0xed28, 0xeb1e, 0xed28, 0xeb1e, 0xed28, 0xed9b, 0xef99, 0xed9b, -0xef99, 0xede1, 0xefd5, 0xede1, 0xefd5, 0xed46, 0xef2f, 0xed46, 0xef2f, 0xed3d, 0xef1c, -0xed3d, 0xef1c, 0xed8a, 0xef5e, 0xed8a, 0xef5e, 0xee08, 0xefd2, 0xee08, 0xefd2, 0xee08, -0xefd2, 0xed1f, 0xeee0, 0xed1f, 0xeee0, 0xef5d, 0xf115, 0xef5d, 0xf115, 0xf05d, 0xf20d, -0xf05d, 0xf20d, 0xf276, 0xf41d, 0xf276, 0xf41d, 0xf37a, 0xf519, 0xf37a, 0xf519, 0xf2ac, -0xf445, 0xf2ac, 0xf445, 0xf2ac, 0xf445, 0xf2b6, 0xf449, 0xf2b6, 0xf449, 0xf515, 0xf6a3, -0xf515, 0xf6a3, 0xf5c0, 0xf749, 0xf5c0, 0xf749, 0xf63f, 0xf7c4, 0xf63f, 0xf7c4, 0xf7a4, -0xf925, 0xf7a4, 0xf925, 0xf7a4, 0xf925, 0xf9cc, 0xfb49, 0xf9cc, 0xfb49, 0xfbcb, 0xfd46, -0xfbcb, 0xfd46, 0xfaad, 0xfc25, 0xfaad, 0xfc25, 0xfb37, 0xfcad, 0xfb37, 0xfcad, 0xfb5f, -0xfcd3, 0xfb5f, 0xfcd3, 0xfcfe, 0xfe70, 0xfcfe, 0xfe70, 0xfcfe, 0xfe70, 0x95, 0x205, -0x95, 0x205, 0x37, 0x1a6, 0x37, 0x1a6, 0xfe13, 0xff7f, 0xfe13, 0xff7f, 0xfc07, -0xfd71, 0xfc07, 0xfd71, 0xfacb, 0xfc33, 0xfacb, 0xfc33, 0xfa16, 0xfb7b, 0xfa16, 0xfb7b, -0xfa16, 0xfb7b, 0xf7cf, 0xf930, 0xf7cf, 0xf930, 0xf7f1, 0xf94f, 0xf7f1, 0xf94f, 0xf79b, -0xf8f3, 0xf79b, 0xf8f3, 0xf6f2, 0xf844, 0xf6f2, 0xf844, 0xf4bf, 0xf60a, 0xf4bf, 0xf60a, -0xf4bf, 0xf60a, 0xf210, 0xf353, 0xf210, 0xf353, 0xef49, 0xf083, 0xef49, 0xf083, 0xef47, -0xf077, 0xef47, 0xf077, 0xef00, 0xf024, 0xef00, 0xf024, 0xed79, 0xee90, 0xed79, 0xee90, -0xed3b, 0xee44, 0xed3b, 0xee44, 0xed3b, 0xee44, 0xeb4f, 0xec48, 0xeb4f, 0xec48, 0xeaeb, -0xebd3, 0xeaeb, 0xebd3, 0xe997, 0xea6d, 0xe997, 0xea6d, 0xe9f0, 0xeab1, 0xe9f0, 0xeab1, -0xe936, 0xe9e2, 0xe936, 0xe9e2, 0xe936, 0xe9e2, 0xeab3, 0xeb48, 0xeab3, 0xeb48, 0xebd6, -0xec52, 0xebd6, 0xec52, 0xeb5a, 0xebbd, 0xeb5a, 0xebbd, 0xeac1, 0xeb09, 0xeac1, 0xeb09, -0xec30, 0xec5c, 0xec30, 0xec5c, 0xef21, 0xef31, 0xef21, 0xef31, 0xef21, 0xef31, 0xef21, -0xef13, 0xef21, 0xef13, 0xf114, 0xf0e8, 0xf114, 0xf0e8, 0xf37d, 0xf332, 0xf37d, 0xf332, -0xf413, 0xf3a8, 0xf413, 0xf3a8, 0xf5e8, 0xf55d, 0xf5e8, 0xf55d, 0xf875, 0xf7cb, 0xf875, -0xf7cb, 0xf875, 0xf7cb, 0xf99d, 0xf8d3, 0xf99d, 0xf8d3, 0xfc54, 0xfb6a, 0xfc54, 0xfb6a, -0xfda8, 0xfc9e, 0xfda8, 0xfc9e, 0x94, 0xff6c, 0x94, 0xff6c, 0x57, 0xff10, 0x57, -0xff10, 0x57, 0xff10, 0x6f, 0xff0c, 0x6f, 0xff0c, 0x1bb, 0x3b, 0x1bb, 0x3b, -0x208, 0x6d, 0x208, 0x6d, 0x4e6, 0x332, 0x4e6, 0x332, 0x65f, 0x493, 0x65f, -0x493, 0x64f, 0x46c, 0x64f, 0x46c, 0x64f, 0x46c, 0x5d1, 0x3da, 0x5d1, 0x3da, -0x615, 0x40b, 0x615, 0x40b, 0x4a3, 0x28a, 0x4a3, 0x28a, 0x353, 0x12b, 0x353, -0x12b, 0x2be, 0x8a, 0x2be, 0x8a, 0x2e7, 0xaa, 0x2e7, 0xaa, 0x2e7, 0xaa, -0x284, 0x40, 0x284, 0x40, 0x312, 0xc9, 0x312, 0xc9, 0x3de, 0x193, 0x3de, -0x193, 0x43e, 0x1f4, 0x43e, 0x1f4, 0x58f, 0x347, 0x58f, 0x347, 0x58f, 0x347, -0x946, 0x704, 0x946, 0x704, 0x957, 0x71c, 0x957, 0x71c, 0x821, 0x5f1, 0x821, -0x5f1, 0xa17, 0x7f3, 0xa17, 0x7f3, 0xb42, 0x92e, 0xb42, 0x92e, 0xd47, 0xb44, -0xd47, 0xb44, 0xd47, 0xb44, 0xeb8, 0xcc7, 0xeb8, 0xcc7, 0x104f, 0xe73, 0x104f, -0xe73, 0x1048, 0xe83, 0x1048, 0xe83, 0x10ee, 0xf42, 0x10ee, 0xf42, 0x1230, 0x109e, -0x1230, 0x109e, 0x111c, 0xfa5, 0x111c, 0xfa5, 0x111c, 0xfa5, 0x111e, 0xfc3, 0x111e, -0xfc3, 0x131e, 0x11e0, 0x131e, 0x11e0, 0x135e, 0x123e, 0x135e, 0x123e, 0x13f1, 0x12ef, -0x13f1, 0x12ef, 0x133d, 0x125a, 0x133d, 0x125a, 0x133d, 0x125a, 0x12f5, 0x1231, 0x12f5, -0x1231, 0x12d5, 0x122f, 0x12d5, 0x122f, 0x126a, 0x11e2, 0x126a, 0x11e2, 0x122f, 0x11c5, -0x122f, 0x11c5, 0x111d, 0x10d0, 0x111d, 0x10d0, 0x11f0, 0x11bf, 0x11f0, 0x11bf, 0x11f0, -0x11bf, 0x126c, 0x1256, 0x126c, 0x1256, 0x12fd, 0x1301, 0x12fd, 0x1301, 0x12b3, 0x12cf, -0x12b3, 0x12cf, 0x1362, 0x1395, 0x1362, 0x1395, 0x12f1, 0x1338, 0x12f1, 0x1338, 0x121c, -0x1276, 0x121c, 0x1276, 0x121c, 0x1276, 0x11d3, 0x123f, 0x11d3, 0x123f, 0x1276, 0x12f0, -0x1276, 0x12f0, 0x1167, 0x11ee, 0x1167, 0x11ee, 0x124a, 0x12dc, 0x124a, 0x12dc, 0x1248, -0x12e1, 0x1248, 0x12e1, 0x1248, 0x12e1, 0xf3f, 0xfde, 0xf3f, 0xfde, 0xdf0, 0xe92, -0xdf0, 0xe92, 0xb7e, 0xc20, 0xb7e, 0xc20, 0xa5e, 0xaff, 0xa5e, 0xaff, 0x7b0, -0x84c, 0x7b0, 0x84c, 0x843, 0x8d9, 0x843, 0x8d9, 0x843, 0x8d9, 0x85a, 0x8e6, -0x85a, 0x8e6, 0x6c6, 0x747, 0x6c6, 0x747, 0x824, 0x897, 0x824, 0x897, 0x745, -0x7a9, 0x745, 0x7a9, 0x60d, 0x65e, 0x60d, 0x65e, 0x6e9, 0x727, 0x6e9, 0x727, -0x6e9, 0x727, 0x5b5, 0x5dc, 0x5b5, 0x5dc, 0x45e, 0x46e, 0x45e, 0x46e, 0x24f, -0x246, 0x24f, 0x246, 0x133, 0x110, 0x133, 0x110, 0x183, 0x144, 0x183, 0x144, -0x183, 0x144, 0x17c, 0x121, 0x17c, 0x121, 0x248, 0x1ce, 0x248, 0x1ce, 0x1d6, -0x13e, 0x1d6, 0x13e, 0x10d, 0x57, 0x10d, 0x57, 0x6d, 0xff98, 0x6d, 0xff98, -0xe4, 0xfff0, 0xe4, 0xfff0, 0xe4, 0xfff0, 0xfe5b, 0xfd47, 0xfe5b, 0xfd47, 0xfee7, -0xfdb4, 0xfee7, 0xfdb4, 0xfe7c, 0xfd2a, 0xfe7c, 0xfd2a, 0xfe8b, 0xfd1b, 0xfe8b, 0xfd1b, -0xa5, 0xff18, 0xa5, 0xff18, 0x1c8, 0x1f, 0x1c8, 0x1f, 0x1c8, 0x1f, 0x2ce, -0x108, 0x2ce, 0x108, 0x112, 0xff33, 0x112, 0xff33, 0x2e8, 0xef, 0x2e8, 0xef, -0x372, 0x161, 0x372, 0x161, 0x25d, 0x37, 0x25d, 0x37, 0x25d, 0x37, 0x2ba, -0x7f, 0x2ba, 0x7f, 0x44d, 0x1ff, 0x44d, 0x1ff, 0x57f, 0x320, 0x57f, 0x320, -0x81a, 0x5ac, 0x81a, 0x5ac, 0xa3c, 0x7c0, 0xa3c, 0x7c0, 0xa95, 0x80e, 0xa95, -0x80e, 0xa95, 0x80e, 0xb99, 0x908, 0xb99, 0x908, 0xdb4, 0xb1b, 0xdb4, 0xb1b, -0xefc, 0xc5d, 0xefc, 0xc5d, 0x1036, 0xd94, 0x1036, 0xd94, 0x11c8, 0xf23, 0x11c8, -0xf23, 0x1224, 0xf7e, 0x1224, 0xf7e, 0x1224, 0xf7e, 0x1371, 0x10cd, 0x1371, 0x10cd, -0x137f, 0x10de, 0x137f, 0x10de, 0x13c1, 0x1125, 0x13c1, 0x1125, 0x1452, 0x11bc, 0x1452, -0x11bc, 0x14e3, 0x1255, 0x14e3, 0x1255, 0x14e3, 0x1255, 0x1630, 0x13ab, 0x1630, 0x13ab, -0x15f2, 0x1376, 0x15f2, 0x1376, 0x13d9, 0x1168, 0x13d9, 0x1168, 0x1453, 0x11ee, 0x1453, -0x11ee, 0x1415, 0x11be, 0x1415, 0x11be, 0x1504, 0x12b9, 0x1504, 0x12b9, 0x1504, 0x12b9, -0x1599, 0x135d, 0x1599, 0x135d, 0x1497, 0x126a, 0x1497, 0x126a, 0x13b6, 0x1198, 0x13b6, -0x1198, 0x1231, 0x1023, 0x1231, 0x1023, 0x130f, 0x1110, 0x130f, 0x1110, 0x11b9, 0xfca, -0x11b9, 0xfca, 0x11b9, 0xfca, 0x11ee, 0x100e, 0x11ee, 0x100e, 0x133a, 0x1169, 0x133a, -0x1169, 0x12e3, 0x1122, 0x12e3, 0x1122, 0x126f, 0x10bd, 0x126f, 0x10bd, 0x11ae, 0x100a, -0x11ae, 0x100a, 0x11ae, 0x100a, 0x1041, 0xeac, 0x1041, 0xeac, 0xe92, 0xd0a, 0xe92, -0xd0a, 0xd2d, 0xbb3, 0xd2d, 0xbb3, 0xc8b, 0xb1e, 0xc8b, 0xb1e, 0xb8b, 0xa2a, -0xb8b, 0xa2a, 0xabf, 0x96a, 0xabf, 0x96a, 0xabf, 0x96a, 0x9a0, 0x856, 0x9a0, -0x856, 0x9a4, 0x865, 0x9a4, 0x865, 0x9c6, 0x892, 0x9c6, 0x892, 0xb02, 0x9d7, -0xb02, 0x9d7, 0xc70, 0xb4f, 0xc70, 0xb4f, 0xc70, 0xb4f, 0xb14, 0x9fd, 0xb14, -0x9fd, 0xad7, 0x9c9, 0xad7, 0x9c9, 0x91d, 0x818, 0x91d, 0x818, 0x8d3, 0x7d7, -0x8d3, 0x7d7, 0x7d4, 0x6e1, 0x7d4, 0x6e1, 0x8e2, 0x7f8, 0x8e2, 0x7f8, 0x8e2, -0x7f8, 0x951, 0x871, 0x951, 0x871, 0x82c, 0x755, 0x82c, 0x755, 0x756, 0x689, -0x756, 0x689, 0x4e1, 0x41f, 0x4e1, 0x41f, 0x205, 0x14e, 0x205, 0x14e, 0x4e, -0xffa2, 0x4e, 0xffa2, 0x4e, 0xffa2, 0xfd9b, 0xfcfd, 0xfd9b, 0xfcfd, 0xfb59, 0xfac7, -0xfb59, 0xfac7, 0xfd25, 0xfca1, 0xfd25, 0xfca1, 0xfb0f, 0xfa9b, 0xfb0f, 0xfa9b, 0xfab6, -0xfa51, 0xfab6, 0xfa51, 0xfab6, 0xfa51, 0xfa8f, 0xfa3b, 0xfa8f, 0xfa3b, 0xfb5d, 0xfb1b, -0xfb5d, 0xfb1b, 0xfa41, 0xfa11, 0xfa41, 0xfa11, 0xf894, 0xf878, 0xf894, 0xf878, 0xf752, -0xf74b, 0xf752, 0xf74b, 0xf4c1, 0xf4d0, 0xf4c1, 0xf4d0, 0xf4c1, 0xf4d0, 0xf41a, 0xf43f, -0xf41a, 0xf43f, 0xf3ca, 0xf407, 0xf3ca, 0xf407, 0xf468, 0xf4bd, 0xf468, 0xf4bd, 0xf41c, -0xf48a, 0xf41c, 0xf48a, 0xf54b, 0xf5d3, 0xf54b, 0xf5d3, 0xf580, 0xf623, 0xf580, 0xf623, -0xf580, 0xf623, 0xf50d, 0xf5cb, 0xf50d, 0xf5cb, 0xf388, 0xf461, 0xf388, 0xf461, 0xf3ec, -0xf4e2, 0xf3ec, 0xf4e2, 0xf4f9, 0xf60a, 0xf4f9, 0xf60a, 0xf62b, 0xf759, 0xf62b, 0xf759, -0xf62b, 0xf759, 0xf594, 0xf6df, 0xf594, 0xf6df, 0xf4fe, 0xf665, 0xf4fe, 0xf665, 0xf4c0, -0xf645, 0xf4c0, 0xf645, 0xf459, 0xf5fa, 0xf459, 0xf5fa, 0xf4d5, 0xf692, 0xf4d5, 0xf692, -0xf260, 0xf439, 0xf260, 0xf439, 0xf260, 0xf439, 0xf20f, 0xf404, 0xf20f, 0xf404, 0xf34a, -0xf55a, 0xf34a, 0xf55a, 0xf36b, 0xf596, 0xf36b, 0xf596, 0xf486, 0xf6cb, 0xf486, 0xf6cb, -0xf531, 0xf78e, 0xf531, 0xf78e, 0xf255, 0xf4cb, 0xf255, 0xf4cb, 0xf255, 0xf4cb, 0xf1da, -0xf467, 0xf1da, 0xf467, 0xf10f, 0xf3b1, 0xf10f, 0xf3b1, 0xf04a, 0xf301, 0xf04a, 0xf301, -0xf038, 0xf302, 0xf038, 0xf302, 0xef4c, 0xf229, 0xef4c, 0xf229, 0xef4c, 0xf229, 0xefd7, -0xf2c4, 0xefd7, 0xf2c4, 0xf030, 0xf32b, 0xf030, 0xf32b, 0xeefe, 0xf208, 0xeefe, 0xf208, -0xeeaa, 0xf1c0, 0xeeaa, 0xf1c0, 0xeda7, 0xf0c8, 0xeda7, 0xf0c8, 0xec7f, 0xefa9, 0xec7f, -0xefa9, 0xec7f, 0xefa9, 0xebae, 0xeee0, 0xebae, 0xeee0, 0xeb16, 0xee4f, 0xeb16, 0xee4f, -0xebbf, 0xeefe, 0xebbf, 0xeefe, 0xeaff, 0xee42, 0xeaff, 0xee42, 0xec2b, 0xef71, 0xec2b, -0xef71, 0xebb3, 0xeefc, 0xebb3, 0xeefc, 0xebb3, 0xeefc, 0xea8e, 0xedd8, 0xea8e, 0xedd8, -0xea04, 0xed4f, 0xea04, 0xed4f, 0xea81, 0xedcb, 0xea81, 0xedcb, 0xe961, 0xecab, 0xe961, -0xecab, 0xe8ed, 0xec35, 0xe8ed, 0xec35, 0xe8ed, 0xec35, 0xe696, 0xe9dd, 0xe696, 0xe9dd, -0xe575, 0xe8ba, 0xe575, 0xe8ba, 0xe734, 0xea77, 0xe734, 0xea77, 0xe822, 0xeb63, 0xe822, -0xeb63, 0xe97e, 0xecbd, 0xe97e, 0xecbd, 0xe9e4, 0xed20, 0xe9e4, 0xed20, 0xe9e4, 0xed20, -0xeaab, 0xede5, 0xeaab, 0xede5, 0xe9fb, 0xed33, 0xe9fb, 0xed33, 0xeb56, 0xee8c, 0xeb56, -0xee8c, 0xe9c4, 0xecf8, 0xe9c4, 0xecf8, 0xe9fb, 0xed2c, 0xe9fb, 0xed2c, 0xeae1, 0xee10, -0xeae1, 0xee10, 0xeae1, 0xee10, 0xebe1, 0xef0d, 0xebe1, 0xef0d, 0xebec, 0xef17, 0xebec, -0xef17, 0xed21, 0xf049, 0xed21, 0xf049, 0xef69, 0xf28f, 0xef69, 0xf28f, 0xf0ed, 0xf410, -0xf0ed, 0xf410, 0xf0ed, 0xf410, 0xf251, 0xf571, 0xf251, 0xf571, 0xf24f, 0xf56c, 0xf24f, -0xf56c, 0xf3ce, 0xf6e7, 0xf3ce, 0xf6e7, 0xf4ec, 0xf801, 0xf4ec, 0xf801, 0xf8aa, 0xfbba, -0xf8aa, 0xfbba, 0xf976, 0xfc81, 0xf976, 0xfc81, 0xf976, 0xfc81, 0xfb77, 0xfe7c, 0xfb77, -0xfe7c, 0xfbec, 0xfeeb, 0xfbec, 0xfeeb, 0xfdeb, 0xe2, 0xfdeb, 0xe2, 0xffaf, 0x29f, -0xffaf, 0x29f, 0xffc3, 0x2aa, 0xffc3, 0x2aa, 0x204, 0x4e3, 0x204, 0x4e3, 0x204, -0x4e3, 0x298, 0x56e, 0x298, 0x56e, 0x39a, 0x665, 0x39a, 0x665, 0x333, 0x5f4, -0x333, 0x5f4, 0x144, 0x3f9, 0x144, 0x3f9, 0xfe92, 0x13b, 0xfe92, 0x13b, 0xfe92, -0x13b, 0xfe24, 0xc0, 0xfe24, 0xc0, 0xfe89, 0x118, 0xfe89, 0x118, 0xfe0f, 0x90, -0xfe0f, 0x90, 0xfd82, 0xfff4, 0xfd82, 0xfff4, 0xfbe4, 0xfe47, 0xfbe4, 0xfe47, 0xf98e, -0xfbe0, 0xf98e, 0xfbe0, 0xf98e, 0xfbe0, 0xf96d, 0xfbae, 0xf96d, 0xfbae, 0xf8b9, 0xfae7, -0xf8b9, 0xfae7, 0xf8a2, 0xfabc, 0xf8a2, 0xfabc, 0xf6a9, 0xf8af, 0xf6a9, 0xf8af, 0xf53c, -0xf72b, 0xf53c, 0xf72b, 0xf378, 0xf54f, 0xf378, 0xf54f, 0xf378, 0xf54f, 0xf24c, 0xf409, -0xf24c, 0xf409, 0xf245, 0xf3e6, 0xf245, 0xf3e6, 0xf113, 0xf296, 0xf113, 0xf296, 0xf253, -0xf3b7, 0xf253, 0xf3b7, 0xf1c7, 0xf309, 0xf1c7, 0xf309, 0xf1c7, 0xf309, 0xf010, 0xf12e, -0xf010, 0xf12e, 0xf05f, 0xf157, 0xf05f, 0xf157, 0xf16b, 0xf23b, 0xf16b, 0xf23b, 0xf169, -0xf210, 0xf169, 0xf210, 0xf392, 0xf40d, 0xf392, 0xf40d, 0xf339, 0xf387, 0xf339, 0xf387, -0xf339, 0xf387, 0xf4be, 0xf4df, 0xf4be, 0xf4df, 0xf64f, 0xf640, 0xf64f, 0xf640, 0xf688, -0xf64b, 0xf688, 0xf64b, 0xf7e3, 0xf775, 0xf7e3, 0xf775, 0xf9bc, 0xf91f, 0xf9bc, 0xf91f, -0xfbcf, 0xfb03, 0xfbcf, 0xfb03, 0xfbcf, 0xfb03, 0xfe7e, 0xfd84, 0xfe7e, 0xfd84, 0xfff3, -0xfecc, 0xfff3, 0xfecc, 0xff8c, 0xfe3a, 0xff8c, 0xfe3a, 0xffbb, 0xfe40, 0xffbb, 0xfe40, -0x36, 0xfe93, 0x36, 0xfe93, 0x36, 0xfe93, 0x2bc, 0xf4, 0x2bc, 0xf4, 0x387, -0x19d, 0x387, 0x19d, 0x5eb, 0x3e3, 0x5eb, 0x3e3, 0x666, 0x442, 0x666, 0x442, -0x89b, 0x65e, 0x89b, 0x65e, 0x836, 0x5e3, 0x836, 0x5e3, 0x836, 0x5e3, 0x795, -0x52f, 0x795, 0x52f, 0x783, 0x50d, 0x783, 0x50d, 0x849, 0x5c6, 0x849, 0x5c6, -0x92a, 0x69c, 0x92a, 0x69c, 0x6b3, 0x41e, 0x6b3, 0x41e, 0x6b3, 0x41e, 0x781, -0x4e7, 0x781, 0x4e7, 0x62f, 0x391, 0x62f, 0x391, 0x7f2, 0x553, 0x7f2, 0x553, -0x8c7, 0x629, 0x8c7, 0x629, 0x808, 0x56c, 0x808, 0x56c, 0x7da, 0x542, 0x7da, -0x542, 0x7da, 0x542, 0x86b, 0x5d8, 0x86b, 0x5d8, 0x908, 0x67b, 0x908, 0x67b, -0xace, 0x849, 0xace, 0x849, 0xa91, 0x816, 0xa91, 0x816, 0x97e, 0x70d, 0x97e, -0x70d, 0xba5, 0x93f, 0xba5, 0x93f, 0xba5, 0x93f, 0xd80, 0xb28, 0xd80, 0xb28, -0xf1d, 0xcd3, 0xf1d, 0xcd3, 0xfe2, 0xda9, 0xfe2, 0xda9, 0xeab, 0xc84, 0xeab, -0xc84, 0xe5a, 0xc46, 0xe5a, 0xc46, 0xe5a, 0xc46, 0xf98, 0xd9a, 0xf98, 0xd9a, -0x1047, 0xe61, 0x1047, 0xe61, 0x112a, 0xf5e, 0x112a, 0xf5e, 0x102d, 0xe7c, 0x102d, -0xe7c, 0x1122, 0xf90, 0x1122, 0xf90, 0xfa3, 0xe2f, 0xfa3, 0xe2f, 0xfa3, 0xe2f, -0xf33, 0xde1, 0xf33, 0xde1, 0xd0f, 0xbe1, 0xd0f, 0xbe1, 0xace, 0x9c4, 0xace, -0x9c4, 0xca8, 0xbc3, 0xca8, 0xbc3, 0xd84, 0xcc6, 0xd84, 0xcc6, 0xd59, 0xcc1, -0xd59, 0xcc1, 0xd59, 0xcc1, 0xce8, 0xc76, 0xce8, 0xc76, 0xc58, 0xc0d, 0xc58, -0xc0d, 0xab1, 0xa8b, 0xab1, 0xa8b, 0x90c, 0x90a, 0x90c, 0x90a, 0x7cb, 0x7eb, -0x7cb, 0x7eb, 0x7cb, 0x7eb, 0x7a8, 0x7e9, 0x7a8, 0x7e9, 0x85f, 0x8be, 0x85f, -0x8be, 0x9de, 0xa58, 0x9de, 0xa58, 0x828, 0x8ba, 0x828, 0x8ba, 0x7bc, 0x864, -0x7bc, 0x864, 0x4ab, 0x565, 0x4ab, 0x565, 0x4ab, 0x565, 0x37c, 0x443, 0x37c, -0x443, 0x216, 0x2e8, 0x216, 0x2e8, 0xff3e, 0x16, 0xff3e, 0x16, 0xfe2a, 0xff05, -0xfe2a, 0xff05, 0xfd00, 0xfddb, 0xfd00, 0xfddb, 0xfcc4, 0xfd9b, 0xfcc4, 0xfd9b, 0xfcc4, -0xfd9b, 0xfc37, 0xfd07, 0xfc37, 0xfd07, 0xfcdf, 0xfda5, 0xfcdf, 0xfda5, 0xfcee, 0xfda6, -0xfcee, 0xfda6, 0xfe44, 0xfeec, 0xfe44, 0xfeec, 0xfdfb, 0xfe90, 0xfdfb, 0xfe90, 0xfdfb, -0xfe90, 0xfd9a, 0xfe1a, 0xfd9a, 0xfe1a, 0xfbc5, 0xfc2f, 0xfbc5, 0xfc2f, 0xfc24, 0xfc75, -0xfc24, 0xfc75, 0xfa70, 0xfaa7, 0xfa70, 0xfaa7, 0xfb98, 0xfbb4, 0xfb98, 0xfbb4, 0xfdbc, -0xfdbb, 0xfdbc, 0xfdbb, 0xfdbc, 0xfdbb, 0xfd43, 0xfd24, 0xfd43, 0xfd24, 0xfe6a, 0xfe2e, -0xfe6a, 0xfe2e, 0xfd36, 0xfcda, 0xfd36, 0xfcda, 0xfc35, 0xfbba, 0xfc35, 0xfbba, 0xfb92, -0xfaf8, 0xfb92, 0xfaf8, 0xfc3c, 0xfb82, 0xfc3c, 0xfb82, 0xfc3c, 0xfb82, 0xfc81, 0xfba6, -0xfc81, 0xfba6, 0xfc59, 0xfb5f, 0xfc59, 0xfb5f, 0xfb91, 0xfa78, 0xfb91, 0xfa78, 0xfc84, -0xfb4d, 0xfc84, 0xfb4d, 0xfc23, 0xfacd, 0xfc23, 0xfacd, 0xfc23, 0xfacd, 0xfdd5, 0xfc63, -0xfdd5, 0xfc63, 0xfe9b, 0xfd0d, 0xfe9b, 0xfd0d, 0xffb1, 0xfe08, 0xffb1, 0xfe08, 0xff91, -0xfdcf, 0xff91, 0xfdcf, 0xff30, 0xfd56, 0xff30, 0xfd56, 0xfe, 0xff0f, 0xfe, 0xff0f, -0xfe, 0xff0f, 0x209, 0x5, 0x209, 0x5, 0x45e, 0x248, 0x45e, 0x248, 0x54a, -0x324, 0x54a, 0x324, 0x6f1, 0x4be, 0x6f1, 0x4be, 0x84a, 0x60a, 0x84a, 0x60a, -0xaf5, 0x8ab, 0xaf5, 0x8ab, 0xaf5, 0x8ab, 0xc50, 0x9ff, 0xc50, 0x9ff, 0xcc6, -0xa6f, 0xcc6, 0xa6f, 0xfed, 0xd91, 0xfed, 0xd91, 0x122c, 0xfcf, 0x122c, 0xfcf, -0x11d5, 0xf76, 0x11d5, 0xf76, 0x11d5, 0xf76, 0x13a8, 0x114a, 0x13a8, 0x114a, 0x126d, -0x1010, 0x126d, 0x1010, 0x1361, 0x1107, 0x1361, 0x1107, 0x1414, 0x11bd, 0x1414, 0x11bd, -0x1411, 0x11bd, 0x1411, 0x11bd, 0x14ab, 0x125c, 0x14ab, 0x125c, 0x14ab, 0x125c, 0x148b, -0x1240, 0x148b, 0x1240, 0x15f4, 0x13ad, 0x15f4, 0x13ad, 0x150f, 0x12cd, 0x150f, 0x12cd, -0x15bf, 0x1381, 0x15bf, 0x1381, 0x154d, 0x1314, 0x154d, 0x1314, 0x15a3, 0x136f, 0x15a3, -0x136f, 0x15a3, 0x136f, 0x1305, 0x10d7, 0x1305, 0x10d7, 0x11af, 0xf86, 0x11af, 0xf86, -0x1027, 0xe05, 0x1027, 0xe05, 0x1053, 0xe38, 0x1053, 0xe38, 0x1139, 0xf26, 0x1139, -0xf26, 0x1139, 0xf26, 0x10d0, 0xec8, 0x10d0, 0xec8, 0x1070, 0xe73, 0x1070, 0xe73, -0xff2, 0xe02, 0xff2, 0xe02, 0x110f, 0xf2d, 0x110f, 0xf2d, 0x117b, 0xfaa, 0x117b, -0xfaa, 0x11ae, 0xff0, 0x11ae, 0xff0, 0x11ae, 0xff0, 0x11b5, 0x100b, 0x11b5, 0x100b, -0x1235, 0x10a1, 0x1235, 0x10a1, 0xfdb, 0xe5f, 0xfdb, 0xe5f, 0xf71, 0xe0e, 0xf71, -0xe0e, 0xddf, 0xc97, 0xddf, 0xc97, 0xcf4, 0xbc8, 0xcf4, 0xbc8, 0xcf4, 0xbc8, -0xdd4, 0xcc4, 0xdd4, 0xcc4, 0xf32, 0xe3e, 0xf32, 0xe3e, 0xe47, 0xd6e, 0xe47, -0xd6e, 0xfff, 0xf40, 0xfff, 0xf40, 0x109b, 0xff6, 0x109b, 0xff6, 0x109b, 0xff6, -0xe4e, 0xdbf, 0xe4e, 0xdbf, 0xe72, 0xdf8, 0xe72, 0xdf8, 0xe34, 0xdcc, 0xe34, -0xdcc, 0xe2c, 0xdd4, 0xe2c, 0xdd4, 0xcd9, 0xc8e, 0xcd9, 0xc8e, 0xd4b, 0xd09, -0xd4b, 0xd09, 0xd4b, 0xd09, 0xca9, 0xc6d, 0xca9, 0xc6d, 0xb04, 0xacc, 0xb04, -0xacc, 0x98c, 0x955, 0x98c, 0x955, 0x93a, 0x901, 0x93a, 0x901, 0x711, 0x6d4, -0x711, 0x6d4, 0x655, 0x613, 0x655, 0x613, 0x655, 0x613, 0x4c6, 0x47e, 0x4c6, -0x47e, 0x36b, 0x31c, 0x36b, 0x31c, 0x1ab, 0x156, 0x1ab, 0x156, 0x119, 0xbf, -0x119, 0xbf, 0x2a2, 0x245, 0x2a2, 0x245, 0x2a2, 0x245, 0x14d, 0xee, 0x14d, -0xee, 0xfa, 0x9d, 0xfa, 0x9d, 0x198, 0x13f, 0x198, 0x13f, 0xba, 0x68, -0xba, 0x68, 0xff3d, 0xfef7, 0xff3d, 0xfef7, 0xfdd4, 0xfd9d, 0xfdd4, 0xfd9d, 0xfdd4, -0xfd9d, 0xfaea, 0xfac7, 0xfaea, 0xfac7, 0xfa86, 0xfa7a, 0xfa86, 0xfa7a, 0xfa71, 0xfa80, -0xfa71, 0xfa80, 0xfbf3, 0xfc20, 0xfbf3, 0xfc20, 0xfa9c, 0xfaea, 0xfa9c, 0xfaea, 0xfa9c, -0xfaea, 0xfb58, 0xfbc9, 0xfb58, 0xfbc9, 0xfa96, 0xfb2c, 0xfa96, 0xfb2c, 0xf9c8, 0xfa83, -0xf9c8, 0xfa83, 0xf9f7, 0xfad9, 0xf9f7, 0xfad9, 0xf8b3, 0xf9ba, 0xf8b3, 0xf9ba, 0xf98a, -0xfab7, 0xf98a, 0xfab7, 0xf98a, 0xfab7, 0xfa2b, 0xfb7b, 0xfa2b, 0xfb7b, 0xfbd5, 0xfd47, -0xfbd5, 0xfd47, 0xf9fc, 0xfb8d, 0xf9fc, 0xfb8d, 0xf862, 0xfa0f, 0xf862, 0xfa0f, 0xf69c, -0xf861, 0xf69c, 0xf861, 0xf66e, 0xf849, 0xf66e, 0xf849, 0xf66e, 0xf849, 0xf6f3, 0xf8e0, -0xf6f3, 0xf8e0, 0xf99f, 0xfb9a, 0xf99f, 0xfb9a, 0xf9ae, 0xfbb5, 0xf9ae, 0xfbb5, 0xf9de, -0xfbed, 0xf9de, 0xfbed, 0xf746, 0xf95b, 0xf746, 0xf95b, 0xf746, 0xf95b, 0xf651, 0xf86a, -0xf651, 0xf86a, 0xf6da, 0xf8f5, 0xf6da, 0xf8f5, 0xf502, 0xf71e, 0xf502, 0xf71e, 0xf7a7, -0xf9c3, 0xf7a7, 0xf9c3, 0xf67e, 0xf89a, 0xf67e, 0xf89a, 0xf790, 0xf9ad, 0xf790, 0xf9ad, -0xf790, 0xf9ad, 0xf757, 0xf976, 0xf757, 0xf976, 0xf546, 0xf768, 0xf546, 0xf768, 0xf429, -0xf64f, 0xf429, 0xf64f, 0xf44e, 0xf679, 0xf44e, 0xf679, 0xf4af, 0xf6e2, 0xf4af, 0xf6e2, -0xf31f, 0xf55c, 0xf31f, 0xf55c, 0xf31f, 0xf55c, 0xf1ad, 0xf3f4, 0xf1ad, 0xf3f4, 0xf170, -0xf3c4, 0xf170, 0xf3c4, 0xefb4, 0xf216, 0xefb4, 0xf216, 0xefd2, 0xf244, 0xefd2, 0xf244, -0xf094, 0xf315, 0xf094, 0xf315, 0xf094, 0xf315, 0xef82, 0xf213, 0xef82, 0xf213, 0xef13, -0xf1b3, 0xef13, 0xf1b3, 0xef94, 0xf243, 0xef94, 0xf243, 0xee1d, 0xf0db, 0xee1d, 0xf0db, -0xeb01, 0xedcc, 0xeb01, 0xedcc, 0xeb35, 0xee0a, 0xeb35, 0xee0a, 0xeb35, 0xee0a, 0xeab4, -0xed93, 0xeab4, 0xed93, 0xea22, 0xed07, 0xea22, 0xed07, 0xe990, 0xec7a, 0xe990, 0xec7a, -0xe9ed, 0xecd9, 0xe9ed, 0xecd9, 0xe8f1, 0xebdc, 0xe8f1, 0xebdc, 0xe7ce, 0xeab6, 0xe7ce, -0xeab6, 0xe7ce, 0xeab6, 0xe771, 0xea54, 0xe771, 0xea54, 0xe9ec, 0xecc7, 0xe9ec, 0xecc7, -0xe952, 0xec24, 0xe952, 0xec24, 0xe8fa, 0xebc0, 0xe8fa, 0xebc0, 0xe95d, 0xec17, 0xe95d, -0xec17, 0xe95d, 0xec17, 0xe788, 0xea34, 0xe788, 0xea34, 0xe811, 0xeaad, 0xe811, 0xeaad, -0xe789, 0xea16, 0xe789, 0xea16, 0xe7e5, 0xea62, 0xe7e5, 0xea62, 0xe8c6, 0xeb32, 0xe8c6, -0xeb32, 0xe9e1, 0xec3d, 0xe9e1, 0xec3d, 0xe9e1, 0xec3d, 0xeaab, 0xecf6, 0xeaab, 0xecf6, -0xecf0, 0xef2b, 0xecf0, 0xef2b, 0xed46, 0xef70, 0xed46, 0xef70, 0xee91, 0xf0ac, 0xee91, -0xf0ac, 0xee60, 0xf06c, 0xee60, 0xf06c, 0xf07c, 0xf278, 0xf07c, 0xf278, 0xf07c, 0xf278, -0xf1e8, 0xf3d5, 0xf1e8, 0xf3d5, 0xf253, 0xf432, 0xf253, 0xf432, 0xf342, 0xf513, 0xf342, -0xf513, 0xf393, 0xf556, 0xf393, 0xf556, 0xf4f5, 0xf6ab, 0xf4f5, 0xf6ab, 0xf4f5, 0xf6ab, -0xf646, 0xf7ef, 0xf646, 0xf7ef, 0xf8f6, 0xfa92, 0xf8f6, 0xfa92, 0xf7e1, 0xf971, 0xf7e1, -0xf971, 0xf8aa, 0xfa2f, 0xf8aa, 0xfa2f, 0xf762, 0xf8dc, 0xf762, 0xf8dc, 0xf848, 0xf9b8, -0xf848, 0xf9b8, 0xf848, 0xf9b8, 0xf70d, 0xf874, 0xf70d, 0xf874, 0xf5a3, 0xf702, 0xf5a3, -0xf702, 0xf5ed, 0xf744, 0xf5ed, 0xf744, 0xf579, 0xf6c9, 0xf579, 0xf6c9, 0xf681, 0xf7cb, -0xf681, 0xf7cb, 0xf6b9, 0xf7fe, 0xf6b9, 0xf7fe, 0xf6b9, 0xf7fe, 0xf60e, 0xf74f, 0xf60e, -0xf74f, 0xf31b, 0xf458, 0xf31b, 0xf458, 0xf22b, 0xf364, 0xf22b, 0xf364, 0xefef, 0xf125, -0xefef, 0xf125, 0xef2d, 0xf060, 0xef2d, 0xf060, 0xef2d, 0xf060, 0xef2e, 0xf05c, 0xef2e, -0xf05c, 0xef43, 0xf06a, 0xef43, 0xf06a, 0xef38, 0xf058, 0xef38, 0xf058, 0xeea0, 0xefb6, -0xeea0, 0xefb6, 0xedbb, 0xeec5, 0xedbb, 0xeec5, 0xebe9, 0xece3, 0xebe9, 0xece3, 0xebe9, -0xece3, 0xebab, 0xec92, 0xebab, 0xec92, 0xed5b, 0xee2c, 0xed5b, 0xee2c, 0xecdb, 0xed92, -0xecdb, 0xed92, 0xed66, 0xee00, 0xed66, 0xee00, 0xef40, 0xefb8, 0xef40, 0xefb8, 0xf039, -0xf08c, 0xf039, 0xf08c, 0xf039, 0xf08c, 0xf0dd, 0xf107, 0xf0dd, 0xf107, 0xf1cc, 0xf1ca, -0xf1cc, 0xf1ca, 0xf382, 0xf352, 0xf382, 0xf352, 0xf4c8, 0xf468, 0xf4c8, 0xf468, 0xf719, -0xf688, 0xf719, 0xf688, 0xf719, 0xf688, 0xf9cb, 0xf907, 0xf9cb, 0xf907, 0xfb41, 0xfa4c, -0xfb41, 0xfa4c, 0xfb48, 0xfa23, 0xfb48, 0xfa23, 0xfd31, 0xfbdc, 0xfd31, 0xfbdc, 0xfd54, -0xfbd4, 0xfd54, 0xfbd4, 0xfed4, 0xfd2b, 0xfed4, 0xfd2b, 0xfed4, 0xfd2b, 0x27, 0xfe5a, -0x27, 0xfe5a, 0x243, 0x55, 0x243, 0x55, 0x249, 0x40, 0x249, 0x40, 0x2f2, -0xd3, 0x2f2, 0xd3, 0x4c7, 0x298, 0x4c7, 0x298, 0x4a0, 0x265, 0x4a0, 0x265, -0x4a0, 0x265, 0x698, 0x457, 0x698, 0x457, 0x6a2, 0x45f, 0x6a2, 0x45f, 0x6e3, -0x4a3, 0x6e3, 0x4a3, 0x5ec, 0x3b1, 0x5ec, 0x3b1, 0x625, 0x3f3, 0x625, 0x3f3, -0x625, 0x3f3, 0x581, 0x359, 0x581, 0x359, 0x554, 0x339, 0x554, 0x339, 0x527, -0x318, 0x527, 0x318, 0x522, 0x31f, 0x522, 0x31f, 0x4b8, 0x2c1, 0x4b8, 0x2c1, -0x797, 0x5a9, 0x797, 0x5a9, 0x797, 0x5a9, 0x83b, 0x654, 0x83b, 0x654, 0x7be, -0x5dc, 0x7be, 0x5dc, 0x8ea, 0x70a, 0x8ea, 0x70a, 0x809, 0x627, 0x809, 0x627, -0xbda, 0x9f4, 0xbda, 0x9f4, 0xc65, 0xa79, 0xc65, 0xa79, 0xc65, 0xa79, 0xe98, -0xca3, 0xe98, 0xca3, 0x100e, 0xe0e, 0x100e, 0xe0e, 0x10b2, 0xea8, 0x10b2, 0xea8, -0x1225, 0x100f, 0x1225, 0x100f, 0x11ab, 0xf8b, 0x11ab, 0xf8b, 0x11ab, 0xf8b, 0x10e8, -0xec0, 0x10e8, 0xec0, 0x11d5, 0xfa7, 0x11d5, 0xfa7, 0x1421, 0x11f0, 0x1421, 0x11f0, -0x154b, 0x131b, 0x154b, 0x131b, 0x146b, 0x1242, 0x146b, 0x1242, 0x11ee, 0xfd0, 0x11ee, -0xfd0, 0x11ee, 0xfd0, 0x1110, 0xf03, 0x1110, 0xf03, 0xf98, 0xda2, 0xf98, 0xda2, -0xf79, 0xda0, 0xf79, 0xda0, 0x10bd, 0xf06, 0x10bd, 0xf06, 0x1131, 0xfa1, 0x1131, -0xfa1, 0x1131, 0xfa1, 0x10d7, 0xf74, 0x10d7, 0xf74, 0x1077, 0xf44, 0x1077, 0xf44, -0xf2c, 0xe2c, 0xf2c, 0xe2c, 0xe7a, 0xdae, 0xe7a, 0xdae, 0xe43, 0xdae, 0xe43, -0xdae, 0xe85, 0xe25, 0xe85, 0xe25, 0xe85, 0xe25, 0xeb5, 0xe8a, 0xeb5, 0xe8a, -0xe51, 0xe58, 0xe51, 0xe58, 0xcad, 0xce2, 0xcad, 0xce2, 0xbea, 0xc4a, 0xbea, -0xc4a, 0xafe, 0xb82, 0xafe, 0xb82, 0xa3c, 0xade, 0xa3c, 0xade, 0xa3c, 0xade, -0x929, 0x9e3, 0x929, 0x9e3, 0x722, 0x7ec, 0x722, 0x7ec, 0x537, 0x60b, 0x537, -0x60b, 0x1b2, 0x288, 0x1b2, 0x288, 0xa, 0xdc, 0xa, 0xdc, 0xa, 0xdc, -0xff47, 0xd, 0xff47, 0xd, 0xff08, 0xffbc, 0xff08, 0xffbc, 0xfe8f, 0xff2c, 0xfe8f, -0xff2c, 0xeb, 0x16d, 0xeb, 0x16d, 0xcc, 0x12e, 0xcc, 0x12e, 0x13, 0x52, -0x13, 0x52, 0x13, 0x52, 0xff3a, 0xff54, 0xff3a, 0xff54, 0xfe0e, 0xfe01, 0xfe0e, -0xfe01, 0xfd4b, 0xfd17, 0xfd4b, 0xfd17, 0xfcae, 0xfc53, 0xfcae, 0xfc53, 0xfe40, 0xfdbf, -0xfe40, 0xfdbf, 0xfe94, 0xfded, 0xfe94, 0xfded, 0xfe94, 0xfded, 0xfdfb, 0xfd32, 0xfdfb, -0xfd32, 0xfd00, 0xfc15, 0xfd00, 0xfc15, 0xfd6b, 0xfc61, 0xfd6b, 0xfc61, 0xfc9b, 0xfb74, -0xfc9b, 0xfb74, 0xff6c, 0xfe2b, 0xff6c, 0xfe2b, 0xff6c, 0xfe2b, 0xff56, 0xfdfd, 0xff56, -0xfdfd, 0xffae, 0xfe40, 0xffae, 0xfe40, 0xffa2, 0xfe1f, 0xffa2, 0xfe1f, 0xa, 0xfe75, -0xa, 0xfe75, 0x2a5, 0xfe, 0x2a5, 0xfe, 0x238, 0x80, 0x238, 0x80, 0x238, -0x80, 0x3a8, 0x1df, 0x3a8, 0x1df, 0x3a5, 0x1cc, 0x3a5, 0x1cc, 0x628, 0x43f, -0x628, 0x43f, 0x89f, 0x6a5, 0x89f, 0x6a5, 0x9da, 0x7cf, 0x9da, 0x7cf, 0x928, -0x70b, 0x928, 0x70b, 0x928, 0x70b, 0x9a2, 0x773, 0x9a2, 0x773, 0xc31, 0x9ef, -0xc31, 0x9ef, 0xe57, 0xc03, 0xe57, 0xc03, 0x1024, 0xdbc, 0x1024, 0xdbc, 0x110d, -0xe92, 0x110d, 0xe92, 0x110d, 0xe92, 0x12c8, 0x103b, 0x12c8, 0x103b, 0x142a, 0x118c, -0x142a, 0x118c, 0x1522, 0x1272, 0x1522, 0x1272, 0x166e, 0x13af, 0x166e, 0x13af, 0x1743, -0x1476, 0x1743, 0x1476, 0x190f, 0x1634, 0x190f, 0x1634, 0x190f, 0x1634, 0x1a79, 0x1793, -0x1a79, 0x1793, 0x1ae3, 0x17f3, 0x1ae3, 0x17f3, 0x1ada, 0x17e2, 0x1ada, 0x17e2, 0x1a99, -0x179c, 0x1a99, 0x179c, 0x1cb4, 0x19b2, 0x1cb4, 0x19b2, 0x1cdc, 0x19d7, 0x1cdc, 0x19d7, -0x1cdc, 0x19d7, 0x1cc4, 0x19be, 0x1cc4, 0x19be, 0x1d4d, 0x1a48, 0x1d4d, 0x1a48, 0x1d60, -0x1a5d, 0x1d60, 0x1a5d, 0x1c74, 0x1976, 0x1c74, 0x1976, 0x1bcc, 0x18d3, 0x1bcc, 0x18d3, -0x1bcc, 0x18d3, 0x1a2a, 0x1739, 0x1a2a, 0x1739, 0x18db, 0x15f2, 0x18db, 0x15f2, 0x179f, -0x14c0, 0x179f, 0x14c0, 0x16cf, 0x13fb, 0x16cf, 0x13fb, 0x1668, 0x13a2, 0x1668, 0x13a2, -0x1547, 0x1290, 0x1547, 0x1290, 0x1547, 0x1290, 0x137b, 0x10d6, 0x137b, 0x10d6, 0x1167, -0xed5, 0x1167, 0xed5, 0x11c3, 0xf48, 0x11c3, 0xf48, 0x10e7, 0xe85, 0x10e7, 0xe85, -0x11ed, 0xfa5, 0x11ed, 0xfa5, 0x11c3, 0xf99, 0x11c3, 0xf99, 0x11c3, 0xf99, 0x112e, -0xf25, 0x112e, 0xf25, 0xf28, 0xd41, 0xf28, 0xd41, 0xcf3, 0xb32, 0xcf3, 0xb32, -0xba0, 0xa07, 0xba0, 0xa07, 0xa43, 0x8d2, 0xa43, 0x8d2, 0xa43, 0x8d2, 0x944, -0x7fe, 0x944, 0x7fe, 0x971, 0x856, 0x971, 0x856, 0x833, 0x744, 0x833, 0x744, -0x756, 0x692, 0x756, 0x692, 0x8d9, 0x83f, 0x8d9, 0x83f, 0x796, 0x724, 0x796, -0x724, 0x796, 0x724, 0x935, 0x8e9, 0x935, 0x8e9, 0x80b, 0x7e2, 0x80b, 0x7e2, -0x9c8, 0x9bf, 0x9c8, 0x9bf, 0x9bc, 0x9cd, 0x9bc, 0x9cd, 0x71e, 0x746, 0x71e, -0x746, 0x635, 0x66f, 0x635, 0x66f, 0x635, 0x66f, 0x3e4, 0x42b, 0x3e4, 0x42b, -0x402, 0x451, 0x402, 0x451, 0x3f0, 0x442, 0x3f0, 0x442, 0x33f, 0x390, 0x33f, -0x390, 0x146, 0x192, 0x146, 0x192, 0x146, 0x192, 0x24, 0x68, 0x24, 0x68, -0xff4c, 0xff85, 0xff4c, 0xff85, 0xfe68, 0xfe95, 0xfe68, 0xfe95, 0xfc77, 0xfc96, 0xfc77, -0xfc96, 0xfb4c, 0xfb5f, 0xfb4c, 0xfb5f, 0xfb64, 0xfb6b, 0xfb64, 0xfb6b, 0xfb64, 0xfb6b, -0xfb46, 0xfb45, 0xfb46, 0xfb45, 0xfb5b, 0xfb54, 0xfb5b, 0xfb54, 0xfb2e, 0xfb24, 0xfb2e, -0xfb24, 0xf912, 0xf90b, 0xf912, 0xf90b, 0xf71e, 0xf71f, 0xf71e, 0xf71f, 0xf5b0, 0xf5be, -0xf5b0, 0xf5be, 0xf5b0, 0xf5be, 0xf54f, 0xf570, 0xf54f, 0xf570, 0xf52f, 0xf56a, 0xf52f, -0xf56a, 0xf5f2, 0xf64b, 0xf5f2, 0xf64b, 0xf7a2, 0xf81e, 0xf7a2, 0xf81e, 0xf766, 0xf80b, -0xf766, 0xf80b, 0xf766, 0xf80b, 0xf55f, 0xf630, 0xf55f, 0xf630, 0xf2da, 0xf3da, 0xf2da, -0xf3da, 0xf193, 0xf2c3, 0xf193, 0xf2c3, 0xf1ac, 0xf30e, 0xf1ac, 0xf30e, 0xf424, 0xf5b7, -0xf424, 0xf5b7, 0xf5d9, 0xf79d, 0xf5d9, 0xf79d, 0xf5d9, 0xf79d, 0xf6a5, 0xf897, 0xf6a5, -0xf897, 0xf5fc, 0xf818, 0xf5fc, 0xf818, 0xf45e, 0xf6a0, 0xf45e, 0xf6a0, 0xf1f2, 0xf455, -0xf1f2, 0xf455, 0xf203, 0xf482, 0xf203, 0xf482, 0xf180, 0xf415, 0xf180, 0xf415, 0xf180, -0xf415, 0xf267, 0xf50c, 0xf267, 0xf50c, 0xf2f4, 0xf5a3, 0xf2f4, 0xf5a3, 0xf233, 0xf4e7, -0xf233, 0xf4e7, 0xf28b, 0xf53f, 0xf28b, 0xf53f, 0xf0d5, 0xf384, 0xf0d5, 0xf384, 0xf0d5, -0xf384, 0xf189, 0xf42e, 0xf189, 0xf42e, 0xf19b, 0xf435, 0xf19b, 0xf435, 0xf249, 0xf4d6, -0xf249, 0xf4d6, 0xf2cb, 0xf549, 0xf2cb, 0xf549, 0xf338, 0xf5a9, 0xf338, 0xf5a9, 0xf218, -0xf47d, 0xf218, 0xf47d, 0xf218, 0xf47d, 0xf1f5, 0xf450, 0xf1f5, 0xf450, 0xf1a3, 0xf3f6, -0xf1a3, 0xf3f6, 0xf286, 0xf4d6, 0xf286, 0xf4d6, 0xf264, 0xf4b4, 0xf264, 0xf4b4, 0xf243, -0xf499, 0xf243, 0xf499, 0xf243, 0xf499, 0xf25f, 0xf4c0, 0xf25f, 0xf4c0, 0xef31, 0xf1a1, -0xef31, 0xf1a1, 0xf0af, 0xf332, 0xf0af, 0xf332, 0xf033, 0xf2cd, 0xf033, 0xf2cd, 0xeff9, -0xf2ae, 0xeff9, 0xf2ae, 0xf011, 0xf2e5, 0xf011, 0xf2e5, 0xf011, 0xf2e5, 0xefff, 0xf2f2, -0xefff, 0xf2f2, 0xf10f, 0xf422, 0xf10f, 0xf422, 0xf0fc, 0xf42e, 0xf0fc, 0xf42e, 0xef2b, -0xf27d, 0xef2b, 0xf27d, 0xed7f, 0xf0ed, 0xed7f, 0xf0ed, 0xedbf, 0xf146, 0xedbf, 0xf146, -0xedbf, 0xf146, 0xeebd, 0xf259, 0xeebd, 0xf259, 0xee5d, 0xf209, 0xee5d, 0xf209, 0xec46, -0xeffd, 0xec46, 0xeffd, 0xea52, 0xee0f, 0xea52, 0xee0f, 0xe9d1, 0xed8c, 0xe9d1, 0xed8c, -0xe9d1, 0xed8c, 0xea42, 0xedf6, 0xea42, 0xedf6, 0xeaa2, 0xee49, 0xeaa2, 0xee49, 0xeb09, -0xee9c, 0xeb09, 0xee9c, 0xea9e, 0xee19, 0xea9e, 0xee19, 0xeb9a, 0xeef7, 0xeb9a, 0xeef7, -0xeb52, 0xee8f, 0xeb52, 0xee8f, 0xeb52, 0xee8f, 0xebbb, 0xeed4, 0xebbb, 0xeed4, 0xeac3, -0xedb4, 0xeac3, 0xedb4, 0xea55, 0xed1d, 0xea55, 0xed1d, 0xec4b, 0xeeea, 0xec4b, 0xeeea, -0xecac, 0xef23, 0xecac, 0xef23, 0xee19, 0xf067, 0xee19, 0xf067, 0xee19, 0xf067, 0xeec1, -0xf0e9, 0xeec1, 0xf0e9, 0xee66, 0xf06a, 0xee66, 0xf06a, 0xf04e, 0xf231, 0xf04e, 0xf231, -0xf2b5, 0xf47b, 0xf2b5, 0xf47b, 0xf514, 0xf6bf, 0xf514, 0xf6bf, 0xf514, 0xf6bf, 0xf68a, -0xf81e, 0xf68a, 0xf81e, 0xf7f0, 0xf971, 0xf7f0, 0xf971, 0xf796, 0xf908, 0xf796, 0xf908, -0xf6f9, 0xf85e, 0xf6f9, 0xf85e, 0xf7f3, 0xf94f, 0xf7f3, 0xf94f, 0xf6d4, 0xf829, 0xf6d4, -0xf829, 0xf6d4, 0xf829, 0xf839, 0xf989, 0xf839, 0xf989, 0xf863, 0xf9b1, 0xf863, 0xf9b1, -0xf934, 0xfa80, 0xf934, 0xfa80, 0xf950, 0xfa9c, 0xf950, 0xfa9c, 0xf8ff, 0xfa4a, 0xf8ff, -0xfa4a, 0xf865, 0xf9af, 0xf865, 0xf9af, 0xf865, 0xf9af, 0xf690, 0xf7da, 0xf690, 0xf7da, -0xf63a, 0xf782, 0xf63a, 0xf782, 0xf74c, 0xf892, 0xf74c, 0xf892, 0xf81c, 0xf95f, 0xf81c, -0xf95f, 0xf799, 0xf8d7, 0xf799, 0xf8d7, 0xf799, 0xf8d7, 0xf7bc, 0xf8f5, 0xf7bc, 0xf8f5, -0xf524, 0xf656, 0xf524, 0xf656, 0xf3ff, 0xf52a, 0xf3ff, 0xf52a, 0xf08e, 0xf1af, 0xf08e, -0xf1af, 0xf0d7, 0xf1ed, 0xf0d7, 0xf1ed, 0xf1dc, 0xf2e8, 0xf1dc, 0xf2e8, 0xf1dc, 0xf2e8, -0xf12b, 0xf22a, 0xf12b, 0xf22a, 0xf3a7, 0xf499, 0xf3a7, 0xf499, 0xf23d, 0xf321, 0xf23d, -0xf321, 0xf051, 0xf125, 0xf051, 0xf125, 0xeff3, 0xf0b6, 0xeff3, 0xf0b6, 0xefea, 0xf09b, -0xefea, 0xf09b, 0xefea, 0xf09b, 0xf03c, 0xf0db, 0xf03c, 0xf0db, 0xf17d, 0xf207, 0xf17d, -0xf207, 0xf20f, 0xf282, 0xf20f, 0xf282, 0xf287, 0xf2e2, 0xf287, 0xf2e2, 0xf2fb, 0xf33d, -0xf2fb, 0xf33d, 0xf2fb, 0xf33d, 0xf50c, 0xf532, 0xf50c, 0xf532, 0xf72a, 0xf732, 0xf72a, -0xf732, 0xf805, 0xf7ee, 0xf805, 0xf7ee, 0xf98b, 0xf954, 0xf98b, 0xf954, 0xfbfa, 0xfba1, -0xfbfa, 0xfba1, 0xfd0d, 0xfc91, 0xfd0d, 0xfc91, 0xfd0d, 0xfc91, 0xfdca, 0xfd2a, 0xfdca, -0xfd2a, 0xfddb, 0xfd18, 0xfddb, 0xfd18, 0xfeed, 0xfe07, 0xfeed, 0xfe07, 0x15b, 0x53, -0x15b, 0x53, 0x2df, 0x1b5, 0x2df, 0x1b5, 0x576, 0x42f, 0x576, 0x42f, 0x576, -0x42f, 0x58f, 0x42b, 0x58f, 0x42b, 0x64b, 0x4ce, 0x64b, 0x4ce, 0x724, 0x592, -0x724, 0x592, 0x7c4, 0x621, 0x7c4, 0x621, 0x97a, 0x7ca, 0x97a, 0x7ca, 0x97a, -0x7ca, 0x9ac, 0x7f4, 0x9ac, 0x7f4, 0xa68, 0x8ab, 0xa68, 0x8ab, 0xc1d, 0xa61, -0xc1d, 0xa61, 0xcfd, 0xb45, 0xcfd, 0xb45, 0xcff, 0xb50, 0xcff, 0xb50, 0xcdd, -0xb39, 0xcdd, 0xb39, 0xcdd, 0xb39, 0xcb4, 0xb1d, 0xcb4, 0xb1d, 0xa9b, 0x913, -0xa9b, 0x913, 0xac8, 0x951, 0xac8, 0x951, 0xaf2, 0x98b, 0xaf2, 0x98b, 0x976, -0x81f, 0x976, 0x81f, 0x9d2, 0x88b, 0x9d2, 0x88b, 0x9d2, 0x88b, 0x8ec, 0x7b2, -0x8ec, 0x7b2, 0x8e6, 0x7b6, 0x8e6, 0x7b6, 0x8f7, 0x7cf, 0x8f7, 0x7cf, 0xa53, -0x92f, 0xa53, 0x92f, 0xc3f, 0xb1b, 0xc3f, 0xb1b, 0xc3f, 0xb1b, 0xdf2, 0xccc, -0xdf2, 0xccc, 0xf18, 0xdec, 0xf18, 0xdec, 0x1013, 0xedf, 0x1013, 0xedf, 0xf04, -0xdc4, 0xf04, 0xdc4, 0xefb, 0xdaf, 0xefb, 0xdaf, 0xeb6, 0xd5d, 0xeb6, 0xd5d, -0xeb6, 0xd5d, 0xf07, 0xda1, 0xf07, 0xda1, 0x11b7, 0x1046, 0x11b7, 0x1046, 0x11f2, -0x1077, 0x11f2, 0x1077, 0x1383, 0x1202, 0x1383, 0x1202, 0x1118, 0xf94, 0x1118, 0xf94, -0xf84, 0xe04, 0xf84, 0xe04, 0xf84, 0xe04, 0xf62, 0xdea, 0xf62, 0xdea, 0xe80, -0xd17, 0xe80, 0xd17, 0xe20, 0xccc, 0xe20, 0xccc, 0xef5, 0xdbc, 0xef5, 0xdbc, -0xe93, 0xd7c, 0xe93, 0xd7c, 0xe93, 0xd7c, 0xdb7, 0xcc8, 0xdb7, 0xcc8, 0xea9, -0xde6, 0xea9, 0xde6, 0xdbe, 0xd2e, 0xdbe, 0xd2e, 0xdb5, 0xd59, 0xdb5, 0xd59, -0xd6c, 0xd48, 0xd6c, 0xd48, 0xd49, 0xd5e, 0xd49, 0xd5e, 0xd49, 0xd5e, 0xb9a, -0xbe8, 0xb9a, 0xbe8, 0x988, 0xa0d, 0x988, 0xa0d, 0x925, 0x9dd, 0x925, 0x9dd, -0x8d3, 0x9bb, 0x8d3, 0x9bb, 0x767, 0x878, 0x767, 0x878, 0x67d, 0x7b1, 0x67d, -0x7b1, 0x67d, 0x7b1, 0x423, 0x573, 0x423, 0x573, 0x1df, 0x342, 0x1df, 0x342, -0xff65, 0xd3, 0xff65, 0xd3, 0xfd2a, 0xfe99, 0xfd2a, 0xfe99, 0xfc28, 0xfd8f, 0xfc28, -0xfd8f, 0xfc28, 0xfd8f, 0xf9d2, 0xfb28, 0xf9d2, 0xfb28, 0xfa6b, 0xfba9, 0xfa6b, 0xfba9, -0xfb52, 0xfc70, 0xfb52, 0xfc70, 0xfb00, 0xfbf7, 0xfb00, 0xfbf7, 0xfb2c, 0xfbf6, 0xfb2c, -0xfbf6, 0xf9b7, 0xfa51, 0xf9b7, 0xfa51, 0xf9b7, 0xfa51, 0xf7af, 0xf815, 0xf7af, 0xf815, -0xf76b, 0xf79c, 0xf76b, 0xf79c, 0xf7cd, 0xf7c7, 0xf7cd, 0xf7c7, 0xf8b6, 0xf87a, 0xf8b6, -0xf87a, 0xf938, 0xf8c8, 0xf938, 0xf8c8, 0xf938, 0xf8c8, 0xf8c8, 0xf826, 0xf8c8, 0xf826, -0xf65b, 0xf58a, 0xf65b, 0xf58a, 0xf6d2, 0xf5d6, 0xf6d2, 0xf5d6, 0xf6aa, 0xf587, 0xf6aa, -0xf587, 0xf558, 0xf413, 0xf558, 0xf413, 0xf629, 0xf4c6, 0xf629, 0xf4c6, 0xf629, 0xf4c6, -0xf674, 0xf4f9, 0xf674, 0xf4f9, 0xf77d, 0xf5ec, 0xf77d, 0xf5ec, 0xf8ab, 0xf709, 0xf8ab, -0xf709, 0xf9c0, 0xf80f, 0xf9c0, 0xf80f, 0xf9d5, 0xf817, 0xf9d5, 0xf817, 0xfa61, 0xf898, -0xfa61, 0xf898, 0xfa61, 0xf898, 0xfc0c, 0xfa39, 0xfc0c, 0xfa39, 0xfdce, 0xfbf1, 0xfdce, -0xfbf1, 0xfd51, 0xfb6a, 0xfd51, 0xfb6a, 0xfeec, 0xfcf9, 0xfeec, 0xfcf9, 0xfebf, 0xfcbe, -0xfebf, 0xfcbe, 0xfebf, 0xfcbe, 0x58, 0xfe48, 0x58, 0xfe48, 0x2b9, 0x97, 0x2b9, -0x97, 0x412, 0x1db, 0x412, 0x1db, 0x7a5, 0x557, 0x7a5, 0x557, 0x951, 0x6ea, -0x951, 0x6ea, 0xbc0, 0x93f, 0xbc0, 0x93f, 0xbc0, 0x93f, 0xd66, 0xac8, 0xd66, -0xac8, 0xf1c, 0xc60, 0xf1c, 0xc60, 0xfd2, 0xcf9, 0xfd2, 0xcf9, 0x11b2, 0xebb, -0x11b2, 0xebb, 0x13be, 0x10ab, 0x13be, 0x10ab, 0x17d5, 0x14a6, 0x17d5, 0x14a6, 0x17d5, -0x14a6, 0x1a9a, 0x1752, 0x1a9a, 0x1752, 0x1ac1, 0x1762, 0x1ac1, 0x1762, 0x1b04, 0x1792, -0x1b04, 0x1792, 0x1bee, 0x186b, 0x1bee, 0x186b, 0x1df7, 0x1a69, 0x1df7, 0x1a69, 0x1df7, -0x1a69, 0x1ef9, 0x1b63, 0x1ef9, 0x1b63, 0x207d, 0x1ce3, 0x207d, 0x1ce3, 0x219d, 0x1e05, -0x219d, 0x1e05, 0x216a, 0x1dd6, 0x216a, 0x1dd6, 0x2027, 0x1c9c, 0x2027, 0x1c9c, 0x1f59, -0x1bdb, 0x1f59, 0x1bdb, 0x1f59, 0x1bdb, 0x1d22, 0x19b5, 0x1d22, 0x19b5, 0x1cc9, 0x1970, -0x1cc9, 0x1970, 0x1d0b, 0x19c9, 0x1d0b, 0x19c9, 0x1ce3, 0x19bb, 0x1ce3, 0x19bb, 0x1af5, -0x17e9, 0x1af5, 0x17e9, 0x1888, 0x159a, 0x1888, 0x159a, 0x1888, 0x159a, 0x17ed, 0x151f, -0x17ed, 0x151f, 0x1704, 0x1458, 0x1704, 0x1458, 0x168a, 0x1401, 0x168a, 0x1401, 0x1730, -0x14cb, 0x1730, 0x14cb, 0x1697, 0x1457, 0x1697, 0x1457, 0x1697, 0x1457, 0x14a4, 0x128a, -0x14a4, 0x128a, 0x1436, 0x1243, 0x1436, 0x1243, 0x1325, 0x1159, 0x1325, 0x1159, 0x113a, -0xf96, 0x113a, 0xf96, 0x10f7, 0xf7b, 0x10f7, 0xf7b, 0x1054, 0xf00, 0x1054, 0xf00, -0x1054, 0xf00, 0xe25, 0xcfa, 0xe25, 0xcfa, 0xdb7, 0xcb4, 0xdb7, 0xcb4, 0xbb0, -0xad4, 0xbb0, 0xad4, 0x9d0, 0x91b, 0x9d0, 0x91b, 0x8b0, 0x821, 0x8b0, 0x821, -0x957, 0x8ec, 0x957, 0x8ec, 0x957, 0x8ec, 0xa81, 0xa38, 0xa81, 0xa38, 0xb47, -0xb1e, 0xb47, 0xb1e, 0xb2d, 0xb22, 0xb2d, 0xb22, 0x9a6, 0x9b5, 0x9a6, 0x9b5, -0x800, 0x827, 0x800, 0x827, 0x800, 0x827, 0x749, 0x785, 0x749, 0x785, 0x616, -0x663, 0x616, 0x663, 0x3b9, 0x413, 0x3b9, 0x413, 0x2f7, 0x35b, 0x2f7, 0x35b, -0x94, 0xfe, 0x94, 0xfe, 0xc9, 0x136, 0xc9, 0x136, 0xc9, 0x136, 0xff57, -0xffc5, 0xff57, 0xffc5, 0xfe3a, 0xfea6, 0xfe3a, 0xfea6, 0xfd0d, 0xfd75, 0xfd0d, 0xfd75, -0xfc25, 0xfc88, 0xfc25, 0xfc88, 0xfc7d, 0xfcda, 0xfc7d, 0xfcda, 0xfc57, 0xfcae, 0xfc57, -0xfcae, 0xfc57, 0xfcae, 0xfc91, 0xfce3, 0xfc91, 0xfce3, 0xfbf3, 0xfc42, 0xfbf3, 0xfc42, -0xfbb1, 0xfbfe, 0xfbb1, 0xfbfe, 0xf9e7, 0xfa35, 0xf9e7, 0xfa35, 0xfa31, 0xfa83, 0xfa31, -0xfa83, 0xfa31, 0xfa83, 0xf9fc, 0xfa55, 0xf9fc, 0xfa55, 0xfaee, 0xfb51, 0xfaee, 0xfb51, -0xfc82, 0xfcf4, 0xfc82, 0xfcf4, 0xfd7e, 0xfe01, 0xfd7e, 0xfe01, 0xfe02, 0xfe9a, 0xfe02, -0xfe9a, 0xfd05, 0xfdb6, 0xfd05, 0xfdb6, 0xfd05, 0xfdb6, 0xfaa0, 0xfb6c, 0xfaa0, 0xfb6c, -0xf90b, 0xf9f4, 0xf90b, 0xf9f4, 0xf894, 0xf99b, 0xf894, 0xf99b, 0xf981, 0xfaa9, 0xf981, -0xfaa9, 0xf9c1, 0xfb08, 0xf9c1, 0xfb08, 0xf97b, 0xfae1, 0xf97b, 0xfae1, 0xf97b, 0xfae1, -0xfac4, 0xfc48, 0xfac4, 0xfc48, 0xfa6d, 0xfc0e, 0xfa6d, 0xfc0e, 0xfa7d, 0xfc37, 0xfa7d, -0xfc37, 0xf9d8, 0xfba7, 0xf9d8, 0xfba7, 0xf9fe, 0xfbe0, 0xf9fe, 0xfbe0, 0xf9fe, 0xfbe0, -0xfa60, 0xfc51, 0xfa60, 0xfc51, 0xf9fd, 0xfbf8, 0xf9fd, 0xfbf8, 0xf8d1, 0xfad3, 0xf8d1, -0xfad3, 0xf7ff, 0xfa03, 0xf7ff, 0xfa03, 0xf6b2, 0xf8b4, 0xf6b2, 0xf8b4, 0xf68a, 0xf888, -0xf68a, 0xf888, 0xf68a, 0xf888, 0xf80b, 0xfa02, 0xf80b, 0xfa02, 0xf83a, 0xfa28, 0xf83a, -0xfa28, 0xf72d, 0xf910, 0xf72d, 0xf910, 0xf7f4, 0xf9cb, 0xf7f4, 0xf9cb, 0xf7f9, 0xf9c4, -0xf7f9, 0xf9c4, 0xf644, 0xf803, 0xf644, 0xf803, 0xf644, 0xf803, 0xf674, 0xf829, 0xf674, -0xf829, 0xf636, 0xf7e2, 0xf636, 0xf7e2, 0xf562, 0xf709, 0xf562, 0xf709, 0xf413, 0xf5b6, -0xf413, 0xf5b6, 0xf3bd, 0xf55f, 0xf3bd, 0xf55f, 0xf3bd, 0xf55f, 0xf309, 0xf4ae, 0xf309, -0xf4ae, 0xf343, 0xf4ee, 0xf343, 0xf4ee, 0xf404, 0xf5b8, 0xf404, 0xf5b8, 0xf3a0, 0xf560, -0xf3a0, 0xf560, 0xf1e8, 0xf3b7, 0xf1e8, 0xf3b7, 0xf28a, 0xf469, 0xf28a, 0xf469, 0xf28a, -0xf469, 0xf120, 0xf312, 0xf120, 0xf312, 0xf022, 0xf227, 0xf022, 0xf227, 0xefa2, 0xf1ba, -0xefa2, 0xf1ba, 0xeddf, 0xf00c, 0xeddf, 0xf00c, 0xeee7, 0xf128, 0xeee7, 0xf128, 0xee44, -0xf096, 0xee44, 0xf096, 0xee44, 0xf096, 0xeee2, 0xf146, 0xeee2, 0xf146, 0xed3c, 0xefb0, -0xed3c, 0xefb0, 0xebe9, 0xee69, 0xebe9, 0xee69, 0xeb50, 0xeddb, 0xeb50, 0xeddb, 0xea4e, -0xece1, 0xea4e, 0xece1, 0xea4e, 0xece1, 0xe8d3, 0xeb6c, 0xe8d3, 0xeb6c, 0xe8bc, 0xeb58, -0xe8bc, 0xeb58, 0xe949, 0xebe6, 0xe949, 0xebe6, 0xea5d, 0xecf8, 0xea5d, 0xecf8, 0xec4f, -0xeee8, 0xec4f, 0xeee8, 0xebf8, 0xee8b, 0xebf8, 0xee8b, 0xebf8, 0xee8b, 0xebb7, 0xee44, -0xebb7, 0xee44, 0xead1, 0xed57, 0xead1, 0xed57, 0xeaf9, 0xed76, 0xeaf9, 0xed76, 0xeb7a, -0xedee, 0xeb7a, 0xedee, 0xeb47, 0xedb2, 0xeb47, 0xedb2, 0xeb47, 0xedb2, 0xeb56, 0xedb9, -0xeb56, 0xedb9, 0xec40, 0xee98, 0xec40, 0xee98, 0xed3b, 0xef8b, 0xed3b, 0xef8b, 0xef46, -0xf18c, 0xef46, 0xf18c, 0xf078, 0xf2b6, 0xf078, 0xf2b6, 0xf262, 0xf496, 0xf262, 0xf496, -0xf262, 0xf496, 0xf3a2, 0xf5cd, 0xf3a2, 0xf5cd, 0xf49c, 0xf6bd, 0xf49c, 0xf6bd, 0xf536, -0xf74d, 0xf536, 0xf74d, 0xf471, 0xf67e, 0xf471, 0xf67e, 0xf37f, 0xf581, 0xf37f, 0xf581, -0xf35a, 0xf551, 0xf35a, 0xf551, 0xf35a, 0xf551, 0xf528, 0xf714, 0xf528, 0xf714, 0xf55a, -0xf739, 0xf55a, 0xf739, 0xf57e, 0xf751, 0xf57e, 0xf751, 0xf42c, 0xf5f1, 0xf42c, 0xf5f1, -0xf2be, 0xf476, 0xf2be, 0xf476, 0xf2be, 0xf476, 0xf22c, 0xf3d6, 0xf22c, 0xf3d6, 0xf1a2, -0xf33e, 0xf1a2, 0xf33e, 0xf22d, 0xf3bd, 0xf22d, 0xf3bd, 0xf394, 0xf518, 0xf394, 0xf518, -0xf3e8, 0xf560, 0xf3e8, 0xf560, 0xf3ee, 0xf55b, 0xf3ee, 0xf55b, 0xf3ee, 0xf55b, 0xf1f4, -0xf358, 0xf1f4, 0xf358, 0xeedc, 0xf037, 0xeedc, 0xf037, 0xebcc, 0xed21, 0xebcc, 0xed21, -0xea7b, 0xebc9, 0xea7b, 0xebc9, 0xeb75, 0xecbe, 0xeb75, 0xecbe, 0xeb90, 0xecd4, 0xeb90, -0xecd4, 0xeb90, 0xecd4, 0xebcb, 0xed0a, 0xebcb, 0xed0a, 0xec27, 0xed62, 0xec27, 0xed62, -0xea88, 0xebbc, 0xea88, 0xebbc, 0xe8b5, 0xe9e2, 0xe8b5, 0xe9e2, 0xe930, 0xea53, 0xe930, -0xea53, 0xe930, 0xea53, 0xe7c5, 0xe8dc, 0xe7c5, 0xe8dc, 0xe833, 0xe93b, 0xe833, 0xe93b, -0xe735, 0xe82a, 0xe735, 0xe82a, 0xe714, 0xe7f2, 0xe714, 0xe7f2, 0xe79c, 0xe85e, 0xe79c, -0xe85e, 0xe899, 0xe93b, 0xe899, 0xe93b, 0xe899, 0xe93b, 0xeb02, 0xeb80, 0xeb02, 0xeb80, -0xec15, 0xec68, 0xec15, 0xec68, 0xef53, 0xef79, 0xef53, 0xef79, 0xf228, 0xf21c, 0xf228, -0xf21c, 0xf44e, 0xf40e, 0xf44e, 0xf40e, 0xf4b9, 0xf442, 0xf4b9, 0xf442, 0xf4b9, 0xf442, -0xf65c, 0xf5ad, 0xf65c, 0xf5ad, 0xf75e, 0xf676, 0xf75e, 0xf676, 0xf98b, 0xf86a, 0xf98b, -0xf86a, 0xfd3f, 0xfbe7, 0xfd3f, 0xfbe7, 0xff19, 0xfd8e, 0xff19, 0xfd8e, 0xff19, 0xfd8e, -0x51, 0xfe96, 0x51, 0xfe96, 0x1b7, 0xffd1, 0x1b7, 0xffd1, 0x3b3, 0x1a9, 0x3b3, -0x1a9, 0x511, 0x2ea, 0x511, 0x2ea, 0x4d0, 0x293, 0x4d0, 0x293, 0x687, 0x43b, -0x687, 0x43b, 0x687, 0x43b, 0x876, 0x624, 0x876, 0x624, 0x9c9, 0x779, 0x9c9, -0x779, 0xbbc, 0x976, 0xbbc, 0x976, 0xb72, 0x93d, 0xb72, 0x93d, 0xc86, 0xa69, -0xc86, 0xa69, 0xd1f, 0xb1f, 0xd1f, 0xb1f, 0xd1f, 0xb1f, 0xd44, 0xb65, 0xd44, -0xb65, 0xce9, 0xb2f, 0xce9, 0xb2f, 0xc45, 0xab2, 0xc45, 0xab2, 0xc31, 0xac7, -0xc31, 0xac7, 0xd33, 0xbf0, 0xd33, 0xbf0, 0xd33, 0xbf0, 0xcfa, 0xbdc, 0xcfa, -0xbdc, 0xbee, 0xaf3, 0xbee, 0xaf3, 0xb6a, 0xa8d, 0xb6a, 0xa8d, 0xb2b, 0xa68, -0xb2b, 0xa68, 0xc9b, 0xbec, 0xc9b, 0xbec, 0xe25, 0xd85, 0xe25, 0xd85, 0xe25, -0xd85, 0xfc0, 0xf29, 0xfc0, 0xf29, 0x10b3, 0x101f, 0x10b3, 0x101f, 0x1097, 0x1001, -0x1097, 0x1001, 0x1020, 0xf83, 0x1020, 0xf83, 0x106a, 0xfc3, 0x106a, 0xfc3, 0x10c7, -0x1014, 0x10c7, 0x1014, 0x10c7, 0x1014, 0x11f8, 0x1136, 0x11f8, 0x1136, 0x1250, 0x1180, -0x1250, 0x1180, 0x122b, 0x114e, 0x122b, 0x114e, 0x123d, 0x1157, 0x123d, 0x1157, 0x123a, -0x114d, 0x123a, 0x114d, 0x123a, 0x114d, 0x115f, 0x1071, 0x115f, 0x1071, 0x1182, 0x1099, -0x1182, 0x1099, 0x103b, 0xf5d, 0x103b, 0xf5d, 0xf6b, 0xea0, 0xf6b, 0xea0, 0xed4, -0xe23, 0xed4, 0xe23, 0xc67, 0xbd9, 0xc67, 0xbd9, 0xc67, 0xbd9, 0xd3a, 0xcd5, -0xd3a, 0xcd5, 0xd54, 0xd1f, 0xd54, 0xd1f, 0xda4, 0xda6, 0xda4, 0xda6, 0xd46, -0xd82, 0xd46, 0xd82, 0xcd6, 0xd52, 0xcd6, 0xd52, 0xc5b, 0xd18, 0xc5b, 0xd18, -0xc5b, 0xd18, 0xb20, 0xc1e, 0xb20, 0xc1e, 0xa89, 0xbc8, 0xa89, 0xbc8, 0xb6a, -0xce7, 0xb6a, 0xce7, 0xa6c, 0xc22, 0xa6c, 0xc22, 0x8e0, 0xaca, 0x8e0, 0xaca, -0x8e0, 0xaca, 0x770, 0x987, 0x770, 0x987, 0x3d9, 0x614, 0x3d9, 0x614, 0x283, -0x4d9, 0x283, 0x4d9, 0x14f, 0x3b7, 0x14f, 0x3b7, 0x93, 0x302, 0x93, 0x302, -0xffa7, 0x212, 0xffa7, 0x212, 0xffa7, 0x212, 0xfecf, 0x12d, 0xfecf, 0x12d, 0x15, -0x25c, 0x15, 0x25c, 0x2f, 0x255, 0x2f, 0x255, 0xfe81, 0x7e, 0xfe81, 0x7e, -0xfde5, 0xffb3, 0xfde5, 0xffb3, 0xfbcd, 0xfd66, 0xfbcd, 0xfd66, 0xfbcd, 0xfd66, 0xfbcd, -0xfd2b, 0xfbcd, 0xfd2b, 0xfc97, 0xfdb9, 0xfc97, 0xfdb9, 0xfbd3, 0xfcb6, 0xfbd3, 0xfcb6, -0xfc34, 0xfcd9, 0xfc34, 0xfcd9, 0xfc30, 0xfc97, 0xfc30, 0xfc97, 0xfc30, 0xfc97, 0xfc12, -0xfc3e, 0xfc12, 0xfc3e, 0xfa6b, 0xfa5f, 0xfa6b, 0xfa5f, 0xf918, 0xf8d7, 0xf918, 0xf8d7, -0xf8b6, 0xf845, 0xf8b6, 0xf845, 0xf941, 0xf8a5, 0xf941, 0xf8a5, 0xfadc, 0xfa19, 0xfadc, -0xfa19, 0xfadc, 0xfa19, 0xfbd5, 0xfaf2, 0xfbd5, 0xfaf2, 0xfc7a, 0xfb79, 0xfc7a, 0xfb79, -0xfd1c, 0xfc02, 0xfd1c, 0xfc02, 0xfdcf, 0xfca0, 0xfdcf, 0xfca0, 0xfefb, 0xfdb9, 0xfefb, -0xfdb9, 0xfee3, 0xfd91, 0xfee3, 0xfd91, 0xfee3, 0xfd91, 0x94, 0xff32, 0x94, 0xff32, -0x184, 0x12, 0x184, 0x12, 0x1dc, 0x5a, 0x1dc, 0x5a, 0x25a, 0xc6, 0x25a, -0xc6, 0x1d0, 0x28, 0x1d0, 0x28, 0x1d0, 0x28, 0x335, 0x177, 0x335, 0x177, -0x3e1, 0x20b, 0x3e1, 0x20b, 0x541, 0x34f, 0x541, 0x34f, 0x85f, 0x64d, 0x85f, -0x64d, 0xb1e, 0x8ea, 0xb1e, 0x8ea, 0xc7c, 0xa24, 0xc7c, 0xa24, 0xc7c, 0xa24, -0xd1a, 0xa9b, 0xd1a, 0xa9b, 0xd3b, 0xa94, 0xd3b, 0xa94, 0x103c, 0xd6b, 0x103c, -0xd6b, 0x12aa, 0xfb0, 0x12aa, 0xfb0, 0x14fd, 0x11da, 0x14fd, 0x11da, 0x14fd, 0x11da, -0x16cf, 0x1383, 0x16cf, 0x1383, 0x1714, 0x13a1, 0x1714, 0x13a1, 0x18aa, 0x1514, 0x18aa, -0x1514, 0x1945, 0x158e, 0x1945, 0x158e, 0x1adb, 0x1707, 0x1adb, 0x1707, 0x1d61, 0x1975, -0x1d61, 0x1975, 0x1d61, 0x1975, 0x1f95, 0x1b95, 0x1f95, 0x1b95, 0x21e0, 0x1dd1, 0x21e0, -0x1dd1, 0x2310, 0x1ef6, 0x2310, 0x1ef6, 0x215f, 0x1d3f, 0x215f, 0x1d3f, 0x20da, 0x1cb9, -0x20da, 0x1cb9, 0x2000, 0x1be2, 0x2000, 0x1be2, 0x2000, 0x1be2, 0x1fc5, 0x1bae, 0x1fc5, -0x1bae, 0x20ce, 0x1cc2, 0x20ce, 0x1cc2, 0x2174, 0x1d77, 0x2174, 0x1d77, 0x2190, 0x1da5, -0x2190, 0x1da5, 0x1fd5, 0x1bfe, 0x1fd5, 0x1bfe, 0x1fd5, 0x1bfe, 0x1dda, 0x1a1a, 0x1dda, -0x1a1a, 0x1dbe, 0x1a16, 0x1dbe, 0x1a16, 0x1d5c, 0x19ce, 0x1d5c, 0x19ce, 0x1bea, 0x1878, -0x1bea, 0x1878, 0x1c31, 0x18db, 0x1c31, 0x18db, 0x1a7d, 0x1745, 0x1a7d, 0x1745, 0x1a7d, -0x1745, 0x197a, 0x165f, 0x197a, 0x165f, 0x1839, 0x153e, 0x1839, 0x153e, 0x15e8, 0x130c, -0x15e8, 0x130c, 0x14f0, 0x1235, 0x14f0, 0x1235, 0x14b0, 0x1216, 0x14b0, 0x1216, 0x148b, -0x1213, 0x148b, 0x1213, 0x148b, 0x1213, 0x1279, 0x1023, 0x1279, 0x1023, 0xfa2, 0xd70, -0xfa2, 0xd70, 0xdc2, 0xbb3, 0xdc2, 0xbb3, 0xcee, 0xb03, 0xcee, 0xb03, 0xdb6, -0xbf0, 0xdb6, 0xbf0, 0xdb6, 0xbf0, 0xe22, 0xc81, 0xe22, 0xc81, 0xd63, 0xbe6, -0xd63, 0xbe6, 0xc6c, 0xb14, 0xc6c, 0xb14, 0xc09, 0xad6, 0xc09, 0xad6, 0xabd, -0x9ac, 0xabd, 0x9ac, 0x85c, 0x76e, 0x85c, 0x76e, 0x85c, 0x76e, 0x76a, 0x69d, -0x76a, 0x69d, 0x5be, 0x510, 0x5be, 0x510, 0x4ca, 0x43a, 0x4ca, 0x43a, 0x2ca, -0x255, 0x2ca, 0x255, 0x78, 0x1d, 0x78, 0x1d, 0xfe32, 0xfdef, 0xfe32, 0xfdef, -0xfe32, 0xfdef, 0xfc13, 0xfbe4, 0xfc13, 0xfbe4, 0xfa93, 0xfa78, 0xfa93, 0xfa78, 0xf93e, -0xf934, 0xf93e, 0xf934, 0xf85a, 0xf860, 0xf85a, 0xf860, 0xf850, 0xf865, 0xf850, 0xf865, -0xf850, 0xf865, 0xf869, 0xf88c, 0xf869, 0xf88c, 0xf795, 0xf7c4, 0xf795, 0xf7c4, 0xf78a, -0xf7c6, 0xf78a, 0xf7c6, 0xf5bf, 0xf608, 0xf5bf, 0xf608, 0xf49c, 0xf4f2, 0xf49c, 0xf4f2, -0xf342, 0xf3a6, 0xf342, 0xf3a6, 0xf342, 0xf3a6, 0xf2d8, 0xf34b, 0xf2d8, 0xf34b, 0xf4a9, -0xf52c, 0xf4a9, 0xf52c, 0xf5dd, 0xf671, 0xf5dd, 0xf671, 0xf5ec, 0xf692, 0xf5ec, 0xf692, -0xf633, 0xf6ed, 0xf633, 0xf6ed, 0xf4ce, 0xf59c, 0xf4ce, 0xf59c, 0xf4ce, 0xf59c, 0xf462, -0xf546, 0xf462, 0xf546, 0xf4d1, 0xf5cb, 0xf4d1, 0xf5cb, 0xf375, 0xf485, 0xf375, 0xf485, -0xf3f8, 0xf51e, 0xf3f8, 0xf51e, 0xf3ec, 0xf527, 0xf3ec, 0xf527, 0xf3ec, 0xf527, 0xf4fa, -0xf649, 0xf4fa, 0xf649, 0xf5fb, 0xf75d, 0xf5fb, 0xf75d, 0xf666, 0xf7d8, 0xf666, 0xf7d8, -0xf859, 0xf9d9, 0xf859, 0xf9d9, 0xf902, 0xfa8e, 0xf902, 0xfa8e, 0xf874, 0xfa09, 0xf874, -0xfa09, 0xf874, 0xfa09, 0xf92c, 0xfac6, 0xf92c, 0xfac6, 0xf7db, 0xf979, 0xf7db, 0xf979, -0xf6ea, 0xf888, 0xf6ea, 0xf888, 0xf6fe, 0xf89a, 0xf6fe, 0xf89a, 0xf723, 0xf8ba, 0xf723, -0xf8ba, 0xf752, 0xf8e1, 0xf752, 0xf8e1, 0xf752, 0xf8e1, 0xf64e, 0xf7d5, 0xf64e, 0xf7d5, -0xf652, 0xf7cf, 0xf652, 0xf7cf, 0xf532, 0xf6a5, 0xf532, 0xf6a5, 0xf568, 0xf6d0, 0xf568, -0xf6d0, 0xf68e, 0xf7eb, 0xf68e, 0xf7eb, 0xf68e, 0xf7eb, 0xf5f7, 0xf74b, 0xf5f7, 0xf74b, -0xf5f8, 0xf743, 0xf5f8, 0xf743, 0xf5c3, 0xf706, 0xf5c3, 0xf706, 0xf488, 0xf5c5, 0xf488, -0xf5c5, 0xf42d, 0xf567, 0xf42d, 0xf567, 0xf3aa, 0xf4e3, 0xf3aa, 0xf4e3, 0xf3aa, 0xf4e3, -0xf398, 0xf4d2, 0xf398, 0xf4d2, 0xf303, 0xf440, 0xf303, 0xf440, 0xf3f0, 0xf532, 0xf3f0, -0xf532, 0xf3c7, 0xf511, 0xf3c7, 0xf511, 0xf2dc, 0xf42d, 0xf2dc, 0xf42d, 0xf346, 0xf4a2, -0xf346, 0xf4a2, 0xf346, 0xf4a2, 0xf269, 0xf3cf, 0xf269, 0xf3cf, 0xf1c7, 0xf339, 0xf1c7, -0xf339, 0xf0cc, 0xf24b, 0xf0cc, 0xf24b, 0xf04d, 0xf1d8, 0xf04d, 0xf1d8, 0xef68, 0xf0ff, -0xef68, 0xf0ff, 0xef68, 0xf0ff, 0xee96, 0xf039, 0xee96, 0xf039, 0xee60, 0xf00f, 0xee60, -0xf00f, 0xeda0, 0xef5b, 0xeda0, 0xef5b, 0xeb72, 0xed39, 0xeb72, 0xed39, 0xeb15, 0xece8, -0xeb15, 0xece8, 0xe8eb, 0xeaca, 0xe8eb, 0xeaca, 0xe8eb, 0xeaca, 0xe88a, 0xea74, 0xe88a, -0xea74, 0xe971, 0xeb68, 0xe971, 0xeb68, 0xe882, 0xea87, 0xe882, 0xea87, 0xe927, 0xeb3a, -0xe927, 0xeb3a, 0xe8e0, 0xeb02, 0xe8e0, 0xeb02, 0xe970, 0xeba3, 0xe970, 0xeba3, 0xe970, -0xeba3, 0xe969, 0xebae, 0xe969, 0xebae, 0xe95e, 0xebb6, 0xe95e, 0xebb6, 0xea07, 0xec73, -0xea07, 0xec73, 0xea6c, 0xecee, 0xea6c, 0xecee, 0xe918, 0xebb0, 0xe918, 0xebb0, 0xe918, -0xebb0, 0xe960, 0xec0e, 0xe960, 0xec0e, 0xe9c7, 0xec8b, 0xe9c7, 0xec8b, 0xea5d, 0xed36, -0xea5d, 0xed36, 0xec7c, 0xef6a, 0xec7c, 0xef6a, 0xef69, 0xf26a, 0xef69, 0xf26a, 0xf29d, -0xf5ae, 0xf29d, 0xf5ae, 0xf29d, 0xf5ae, 0xf3f1, 0xf70f, 0xf3f1, 0xf70f, 0xf54a, 0xf872, -0xf54a, 0xf872, 0xf612, 0xf940, 0xf612, 0xf940, 0xf512, 0xf842, 0xf512, 0xf842, 0xf513, -0xf840, 0xf513, 0xf840, 0xf685, 0xf9ab, 0xf685, 0xf9ab, 0xf685, 0xf9ab, 0xf6f8, 0xfa12, -0xf6f8, 0xfa12, 0xf6e1, 0xf9eb, 0xf6e1, 0xf9eb, 0xf5cd, 0xf8c4, 0xf5cd, 0xf8c4, 0xf564, -0xf843, 0xf564, 0xf843, 0xf357, 0xf61d, 0xf357, 0xf61d, 0xf357, 0xf61d, 0xf27e, 0xf528, -0xf27e, 0xf528, 0xf388, 0xf615, 0xf388, 0xf615, 0xf44d, 0xf6bc, 0xf44d, 0xf6bc, 0xf5e3, -0xf834, 0xf5e3, 0xf834, 0xf71f, 0xf955, 0xf71f, 0xf955, 0xf5d2, 0xf7ee, 0xf5d2, 0xf7ee, -0xf5d2, 0xf7ee, 0xf3e4, 0xf5e7, 0xf3e4, 0xf5e7, 0xf2b9, 0xf4a8, 0xf2b9, 0xf4a8, 0xf11e, -0xf2fd, 0xf11e, 0xf2fd, 0xf0f8, 0xf2ca, 0xf0f8, 0xf2ca, 0xf201, 0xf3c8, 0xf201, 0xf3c8, -0xf201, 0xf3c8, 0xf169, 0xf32a, 0xf169, 0xf32a, 0xefd5, 0xf193, 0xefd5, 0xf193, 0xefae, -0xf16c, 0xefae, 0xf16c, 0xed9b, 0xef59, 0xed9b, 0xef59, 0xed01, 0xeec0, 0xed01, 0xeec0, -0xed79, 0xef3a, 0xed79, 0xef3a, 0xed79, 0xef3a, 0xedc6, 0xef87, 0xedc6, 0xef87, 0xec6b, -0xee2a, 0xec6b, 0xee2a, 0xeb09, 0xecc1, 0xeb09, 0xecc1, 0xeac2, 0xec70, 0xeac2, 0xec70, -0xea0f, 0xebac, 0xea0f, 0xebac, 0xea0b, 0xeb93, 0xea0b, 0xeb93, 0xea0b, 0xeb93, 0xec12, -0xed7d, 0xec12, 0xed7d, 0xee2d, 0xef73, 0xee2d, 0xef73, 0xefa6, 0xf0c1, 0xefa6, 0xf0c1, -0xf21f, 0xf308, 0xf21f, 0xf308, 0xf1f6, 0xf2a6, 0xf1f6, 0xf2a6, 0xf1f6, 0xf2a6, 0xf376, -0xf3e8, 0xf376, 0xf3e8, 0xf4f3, 0xf521, 0xf4f3, 0xf521, 0xf6c9, 0xf6af, 0xf6c9, 0xf6af, -0xf877, 0xf813, 0xf877, 0xf813, 0xfaa5, 0xf9f6, 0xfaa5, 0xf9f6, 0xfcb6, 0xfbbc, 0xfcb6, -0xfbbc, 0xfcb6, 0xfbbc, 0xfe30, 0xfcee, 0xfe30, 0xfcee, 0xff8d, 0xfe06, 0xff8d, 0xfe06, -0xb7, 0xfef0, 0xb7, 0xfef0, 0x223, 0x22, 0x223, 0x22, 0x33d, 0x10b, 0x33d, -0x10b, 0x655, 0x3fa, 0x655, 0x3fa, 0x655, 0x3fa, 0x755, 0x4da, 0x755, 0x4da, -0x8f3, 0x663, 0x8f3, 0x663, 0xb6f, 0x8d3, 0xb6f, 0x8d3, 0xcf4, 0xa55, 0xcf4, -0xa55, 0xe06, 0xb6f, 0xe06, 0xb6f, 0xe06, 0xb6f, 0xef1, 0xc69, 0xef1, 0xc69, -0x101c, 0xdab, 0x101c, 0xdab, 0x1103, 0xeaf, 0x1103, 0xeaf, 0x10b9, 0xe87, 0x10b9, -0xe87, 0x11f1, 0xfe4, 0x11f1, 0xfe4, 0x1177, 0xf91, 0x1177, 0xf91, 0x1177, 0xf91, -0x1065, 0xea6, 0x1065, 0xea6, 0x1067, 0xecd, 0x1067, 0xecd, 0xffc, 0xe86, 0xffc, -0xe86, 0x1154, 0xffc, 0x1154, 0xffc, 0x117a, 0x103c, 0x117a, 0x103c, 0x11c2, 0x1098, -0x11c2, 0x1098, 0x11c2, 0x1098, 0x122d, 0x1110, 0x122d, 0x1110, 0x11e0, 0x10ca, 0x11e0, -0x10ca, 0x1257, 0x1142, 0x1257, 0x1142, 0x136a, 0x124f, 0x136a, 0x124f, 0x12eb, 0x11c5, -0x12eb, 0x11c5, 0x12eb, 0x11c5, 0x13c7, 0x1291, 0x13c7, 0x1291, 0x14c1, 0x1378, 0x14c1, -0x1378, 0x151f, 0x13c1, 0x151f, 0x13c1, 0x1534, 0x13c0, 0x1534, 0x13c0, 0x1663, 0x14d9, -0x1663, 0x14d9, 0x15f2, 0x1455, 0x15f2, 0x1455, 0x15f2, 0x1455, 0x1558, 0x13ab, 0x1558, -0x13ab, 0x15f2, 0x143a, 0x15f2, 0x143a, 0x1341, 0x1184, 0x1341, 0x1184, 0x11ad, 0xff2, -0x11ad, 0xff2, 0x1172, 0xfc0, 0x1172, 0xfc0, 0x1102, 0xf62, 0x1102, 0xf62, 0x1102, -0xf62, 0x104e, 0xec7, 0x104e, 0xec7, 0x10b4, 0xf4f, 0x10b4, 0xf4f, 0x1096, 0xf5a, -0x1096, 0xf5a, 0xf42, 0xe36, 0xf42, 0xe36, 0xce0, 0xc09, 0xce0, 0xc09, 0xce0, -0xc09, 0xc79, 0xbdd, 0xc79, 0xbdd, 0xb0b, 0xaad, 0xb0b, 0xaad, 0xb3c, 0xb1d, -0xb3c, 0xb1d, 0xbd6, 0xbf7, 0xbd6, 0xbf7, 0x9f4, 0xa53, 0x9f4, 0xa53, 0x858, -0x8f3, 0x858, 0x8f3, 0x858, 0x8f3, 0x503, 0x5d5, 0x503, 0x5d5, 0x259, 0x35c, -0x259, 0x35c, 0xffac, 0xda, 0xffac, 0xda, 0xfe58, 0xffa9, 0xfe58, 0xffa9, 0xfd72, -0xfedd, 0xfd72, 0xfedd, 0xfc9d, 0xfe1a, 0xfc9d, 0xfe1a, 0xfc9d, 0xfe1a, 0xfb32, 0xfcb8, -0xfb32, 0xfcb8, 0xfb4a, 0xfccf, 0xfb4a, 0xfccf, 0xfa7a, 0xfbf7, 0xfa7a, 0xfbf7, 0xfa3e, -0xfba9, 0xfa3e, 0xfba9, 0xf9b6, 0xfb09, 0xf9b6, 0xfb09, 0xf9b6, 0xfb09, 0xf789, 0xf8be, -0xf789, 0xf8be, 0xf79e, 0xf8af, 0xf79e, 0xf8af, 0xf7ce, 0xf8b7, 0xf7ce, 0xf8b7, 0xf81a, -0xf8d9, 0xf81a, 0xf8d9, 0xf7ca, 0xf85d, 0xf7ca, 0xf85d, 0xf777, 0xf7de, 0xf777, 0xf7de, -0xf777, 0xf7de, 0xf7ce, 0xf809, 0xf7ce, 0xf809, 0xf791, 0xf7a3, 0xf791, 0xf7a3, 0xf704, -0xf6ee, 0xf704, 0xf6ee, 0xf798, 0xf75e, 0xf798, 0xf75e, 0xf706, 0xf6ab, 0xf706, 0xf6ab, -0xf826, 0xf7ae, 0xf826, 0xf7ae, 0xf826, 0xf7ae, 0xf962, 0xf8d1, 0xf962, 0xf8d1, 0xf9b2, -0xf90c, 0xf9b2, 0xf90c, 0xfab6, 0xf9fe, 0xfab6, 0xf9fe, 0xfc47, 0xfb7e, 0xfc47, 0xfb7e, -0xfcbc, 0xfbe6, 0xfcbc, 0xfbe6, 0xfcbc, 0xfbe6, 0xfd20, 0xfc3f, 0xfd20, 0xfc3f, 0xfe8d, -0xfda1, 0xfe8d, 0xfda1, 0xff5b, 0xfe63, 0xff5b, 0xfe63, 0xffa6, 0xfea3, 0xffa6, 0xfea3, -0xff64, 0xfe53, 0xff64, 0xfe53, 0x41, 0xff21, 0x41, 0xff21, 0x41, 0xff21, 0x1f4, -0xc2, 0x1f4, 0xc2, 0x3cb, 0x284, 0x3cb, 0x284, 0x5b2, 0x453, 0x5b2, 0x453, -0x7ce, 0x653, 0x7ce, 0x653, 0x793, 0x5f9, 0x793, 0x5f9, 0x90f, 0x753, 0x90f, -0x753, 0x90f, 0x753, 0xa4e, 0x86d, 0xa4e, 0x86d, 0xb15, 0x90e, 0xb15, 0x90e, -0xd34, 0xb05, 0xd34, 0xb05, 0x1041, 0xde8, 0x1041, 0xde8, 0x12a6, 0x1023, 0x12a6, -0x1023, 0x12a6, 0x1023, 0x135b, 0x10af, 0x135b, 0x10af, 0x144f, 0x117b, 0x144f, 0x117b, -0x156f, 0x1275, 0x156f, 0x1275, 0x16c8, 0x13ab, 0x16c8, 0x13ab, 0x1806, 0x14ca, 0x1806, -0x14ca, 0x19c1, 0x1669, 0x19c1, 0x1669, 0x19c1, 0x1669, 0x1a71, 0x1700, 0x1a71, 0x1700, -0x1d09, 0x1984, 0x1d09, 0x1984, 0x1db4, 0x1a20, 0x1db4, 0x1a20, 0x1e2b, 0x1a8c, 0x1e2b, -0x1a8c, 0x1e8e, 0x1ae8, 0x1e8e, 0x1ae8, 0x1e9f, 0x1af6, 0x1e9f, 0x1af6, 0x1e9f, 0x1af6, -0x1f04, 0x1b5c, 0x1f04, 0x1b5c, 0x1ef8, 0x1b55, 0x1ef8, 0x1b55, 0x1e30, 0x1a94, 0x1e30, -0x1a94, 0x1cfb, 0x1969, 0x1cfb, 0x1969, 0x1c4d, 0x18c6, 0x1c4d, 0x18c6, 0x1c4d, 0x18c6, -0x1af5, 0x177b, 0x1af5, 0x177b, 0x1b94, 0x1828, 0x1b94, 0x1828, 0x1a7a, 0x171d, 0x1a7a, -0x171d, 0x1abd, 0x176f, 0x1abd, 0x176f, 0x1ac2, 0x1784, 0x1ac2, 0x1784, 0x189f, 0x1570, -0x189f, 0x1570, 0x189f, 0x1570, 0x17b0, 0x1491, 0x17b0, 0x1491, 0x1781, 0x1471, 0x1781, -0x1471, 0x170c, 0x140c, 0x170c, 0x140c, 0x1721, 0x1431, 0x1721, 0x1431, 0x162f, 0x134f, -0x162f, 0x134f, 0x162f, 0x134f, 0x162a, 0x135a, 0x162a, 0x135a, 0x1558, 0x129a, 0x1558, -0x129a, 0x134e, 0x10a3, 0x134e, 0x10a3, 0x12e9, 0x1052, 0x12e9, 0x1052, 0x117d, 0xefc, -0x117d, 0xefc, 0x1243, 0xfdb, 0x1243, 0xfdb, 0x1243, 0xfdb, 0x1292, 0x1044, 0x1292, -0x1044, 0x11c9, 0xf98, 0x11c9, 0xf98, 0x112d, 0xf1a, 0x112d, 0xf1a, 0xfd1, 0xdde, -0xfd1, 0xdde, 0xdff, 0xc2f, 0xdff, 0xc2f, 0xd1f, 0xb72, 0xd1f, 0xb72, 0xd1f, -0xb72, 0xc58, 0xad1, 0xc58, 0xad1, 0xac5, 0x964, 0xac5, 0x964, 0x8b5, 0x77b, -0x8b5, 0x77b, 0x725, 0x612, 0x725, 0x612, 0x4af, 0x3c2, 0x4af, 0x3c2, 0x4af, -0x3c2, 0x2cb, 0x205, 0x2cb, 0x205, 0x1bf, 0x11e, 0x1bf, 0x11e, 0x7a, 0xfffd, -0x7a, 0xfffd, 0xfebc, 0xfe60, 0xfebc, 0xfe60, 0xfd28, 0xfced, 0xfd28, 0xfced, 0xfdff, -0xfde2, 0xfdff, 0xfde2, 0xfdff, 0xfde2, 0xfd8d, 0xfd8c, 0xfd8d, 0xfd8c, 0xfc65, 0xfc7d, -0xfc65, 0xfc7d, 0xfb1b, 0xfb4a, 0xfb1b, 0xfb4a, 0xfa38, 0xfa7c, 0xfa38, 0xfa7c, 0xf935, -0xf98b, 0xf935, 0xf98b, 0xf939, 0xf9a1, 0xf939, 0xf9a1, 0xf939, 0xf9a1, 0xf8bc, 0xf933, -0xf8bc, 0xf933, 0xf8f1, 0xf976, 0xf8f1, 0xf976, 0xf806, 0xf897, 0xf806, 0xf897, 0xf7b7, -0xf855, 0xf7b7, 0xf855, 0xf7b5, 0xf85e, 0xf7b5, 0xf85e, 0xf7b5, 0xf85e, 0xf671, 0xf726, -0xf671, 0xf726, 0xf740, 0xf7ff, 0xf740, 0xf7ff, 0xf62e, 0xf6f9, 0xf62e, 0xf6f9, 0xf5f0, -0xf6c6, 0xf5f0, 0xf6c6, 0xf521, 0xf604, 0xf521, 0xf604, 0xf3ab, 0xf499, 0xf3ab, 0xf499, -0xf3ab, 0xf499, 0xf3f3, 0xf4ed, 0xf3f3, 0xf4ed, 0xf58f, 0xf696, 0xf58f, 0xf696, 0xf603, -0xf716, 0xf603, 0xf716, 0xf7b3, 0xf8d3, 0xf7b3, 0xf8d3, 0xf783, 0xf8af, 0xf783, 0xf8af, -0xf71a, 0xf851, 0xf71a, 0xf851, 0xf71a, 0xf851, 0xf7ad, 0xf8f0, 0xf7ad, 0xf8f0, 0xf721, -0xf86d, 0xf721, 0xf86d, 0xf81b, 0xf971, 0xf81b, 0xf971, 0xf808, 0xf965, 0xf808, 0xf965, -0xf7d7, 0xf93b, 0xf7d7, 0xf93b, 0xf7d7, 0xf93b, 0xf74f, 0xf8b8, 0xf74f, 0xf8b8, 0xf6bb, -0xf828, 0xf6bb, 0xf828, 0xf614, 0xf784, 0xf614, 0xf784, 0xf58d, 0xf6fe, 0xf58d, 0xf6fe, -0xf54b, 0xf6bc, 0xf54b, 0xf6bc, 0xf737, 0xf8a8, 0xf737, 0xf8a8, 0xf737, 0xf8a8, 0xf7fb, -0xf96a, 0xf7fb, 0xf96a, 0xf818, 0xf986, 0xf818, 0xf986, 0xf758, 0xf8c5, 0xf758, 0xf8c5, -0xf5d6, 0xf742, 0xf5d6, 0xf742, 0xf58e, 0xf6f8, 0xf58e, 0xf6f8, 0xf5b1, 0xf71b, 0xf5b1, -0xf71b, 0xf5b1, 0xf71b, 0xf662, 0xf7cc, 0xf662, 0xf7cc, 0xf615, 0xf780, 0xf615, 0xf780, -0xf58a, 0xf6f7, 0xf58a, 0xf6f7, 0xf4df, 0xf650, 0xf4df, 0xf650, 0xf481, 0xf5f8, 0xf481, -0xf5f8, 0xf481, 0xf5f8, 0xf41e, 0xf59c, 0xf41e, 0xf59c, 0xf385, 0xf50c, 0xf385, 0xf50c, -0xf2d4, 0xf465, 0xf2d4, 0xf465, 0xf297, 0xf433, 0xf297, 0xf433, 0xf213, 0xf3bb, 0xf213, -0xf3bb, 0xf211, 0xf3c7, 0xf211, 0xf3c7, 0xf211, 0xf3c7, 0xf150, 0xf316, 0xf150, 0xf316, -0xf0d8, 0xf2ae, 0xf0d8, 0xf2ae, 0xeedf, 0xf0c6, 0xeedf, 0xf0c6, 0xedbb, 0xefb4, 0xedbb, -0xefb4, 0xecfd, 0xef09, 0xecfd, 0xef09, 0xea6e, 0xec8d, 0xea6e, 0xec8d, 0xea6e, 0xec8d, -0xe9a8, 0xebda, 0xe9a8, 0xebda, 0xe982, 0xebc7, 0xe982, 0xebc7, 0xe9af, 0xec07, 0xe9af, -0xec07, 0xea37, 0xeca2, 0xea37, 0xeca2, 0xea52, 0xeccf, 0xea52, 0xeccf, 0xea52, 0xeccf, -0xe993, 0xec23, 0xe993, 0xec23, 0xe93e, 0xebdf, 0xe93e, 0xebdf, 0xe89c, 0xeb4e, 0xe89c, -0xeb4e, 0xe929, 0xebeb, 0xe929, 0xebeb, 0xe77f, 0xea50, 0xe77f, 0xea50, 0xe65e, 0xe93d, -0xe65e, 0xe93d, 0xe65e, 0xe93d, 0xe65f, 0xe94a, 0xe65f, 0xe94a, 0xe6c4, 0xe9ba, 0xe6c4, -0xe9ba, 0xe8b7, 0xebb7, 0xe8b7, 0xebb7, 0xeba7, 0xeeae, 0xeba7, 0xeeae, 0xed0b, 0xf018, -0xed0b, 0xf018, 0xedeb, 0xf0fb, 0xedeb, 0xf0fb, 0xedeb, 0xf0fb, 0xef56, 0xf268, 0xef56, -0xf268, 0xeed9, 0xf1eb, 0xeed9, 0xf1eb, 0xf080, 0xf38f, 0xf080, 0xf38f, 0xeff2, 0xf2fc, -0xeff2, 0xf2fc, 0xf104, 0xf407, 0xf104, 0xf407, 0xf104, 0xf407, 0xf262, 0xf55c, 0xf262, -0xf55c, 0xf22b, 0xf51b, 0xf22b, 0xf51b, 0xf1a3, 0xf487, 0xf1a3, 0xf487, 0xf022, 0xf2f8, -0xf022, 0xf2f8, 0xef89, 0xf251, 0xef89, 0xf251, 0xef1a, 0xf1d3, 0xef1a, 0xf1d3, 0xef1a, -0xf1d3, 0xef1e, 0xf1c8, 0xef1e, 0xf1c8, 0xf049, 0xf2e4, 0xf049, 0xf2e4, 0xf092, 0xf31e, -0xf092, 0xf31e, 0xf106, 0xf384, 0xf106, 0xf384, 0xf379, 0xf5ea, 0xf379, 0xf5ea, 0xf2e0, -0xf546, 0xf2e0, 0xf546, 0xf2e0, 0xf546, 0xf219, 0xf475, 0xf219, 0xf475, 0xf1b2, 0xf405, -0xf1b2, 0xf405, 0xf138, 0xf384, 0xf138, 0xf384, 0xf138, 0xf37e, 0xf138, 0xf37e, 0xf099, -0xf2dc, 0xf099, 0xf2dc, 0xf099, 0xf2dc, 0xefc5, 0xf204, 0xefc5, 0xf204, 0xee69, 0xf0a5, -0xee69, 0xf0a5, 0xecf5, 0xef2d, 0xecf5, 0xef2d, 0xecdf, 0xef13, 0xecdf, 0xef13, 0xec26, -0xee55, 0xec26, 0xee55, 0xec4f, 0xee78, 0xec4f, 0xee78, 0xec4f, 0xee78, 0xebdc, 0xedfb, -0xebdc, 0xedfb, 0xea6d, 0xec80, 0xea6d, 0xec80, 0xe9d9, 0xebdd, 0xe9d9, 0xebdd, 0xe995, -0xeb84, 0xe995, 0xeb84, 0xe9fb, 0xebd1, 0xe9fb, 0xebd1, 0xea1b, 0xebd4, 0xea1b, 0xebd4, -0xea1b, 0xebd4, 0xec3f, 0xedd5, 0xec3f, 0xedd5, 0xecf8, 0xee66, 0xecf8, 0xee66, 0xee5f, -0xefa0, 0xee5f, 0xefa0, 0xf0ce, 0xf1dd, 0xf0ce, 0xf1dd, 0xf14f, 0xf228, 0xf14f, 0xf228, -0xf14f, 0xf228, 0xf263, 0xf302, 0xf263, 0xf302, 0xf4e6, 0xf549, 0xf4e6, 0xf549, 0xf6ad, -0xf6d1, 0xf6ad, 0xf6d1, 0xf999, 0xf97e, 0xf999, 0xf97e, 0xfab5, 0xfa5a, 0xfab5, 0xfa5a, -0xfb37, 0xfa9f, 0xfb37, 0xfa9f, 0xfb37, 0xfa9f, 0xfcad, 0xfbd9, 0xfcad, 0xfbd9, 0xfd05, -0xfbf9, 0xfd05, 0xfbf9, 0xfe8d, 0xfd4e, 0xfe8d, 0xfd4e, 0xfeec, 0xfd7f, 0xfeec, 0xfd7f, -0x2c, 0xfe97, 0x2c, 0xfe97, 0x2c, 0xfe97, 0x213, 0x5d, 0x213, 0x5d, 0x3c0, -0x1f1, 0x3c0, 0x1f1, 0x5f4, 0x412, 0x5f4, 0x412, 0x900, 0x713, 0x900, 0x713, -0x99f, 0x7af, 0x99f, 0x7af, 0xafd, 0x911, 0xafd, 0x911, 0xafd, 0x911, 0xbf1, -0xa0f, 0xbf1, 0xa0f, 0xd3f, 0xb6c, 0xd3f, 0xb6c, 0xe2d, 0xc6e, 0xe2d, 0xc6e, -0xd1a, 0xb73, 0xd1a, 0xb73, 0xe2b, 0xc9d, 0xe2b, 0xc9d, 0xde6, 0xc73, 0xde6, -0xc73, 0xde6, 0xc73, 0xeef, 0xd97, 0xeef, 0xd97, 0xfcc, 0xe8f, 0xfcc, 0xe8f, -0xf77, 0xe51, 0xf77, 0xe51, 0xf5f, 0xe4d, 0xf5f, 0xe4d, 0xfad, 0xeac, 0xfad, -0xeac, 0xfad, 0xeac, 0x1008, 0xf13, 0x1008, 0xf13, 0x1022, 0xf34, 0x1022, 0xf34, -0xf5e, 0xe72, 0xf5e, 0xe72, 0x10ed, 0xffe, 0x10ed, 0xffe, 0x12f8, 0x1201, 0x12f8, -0x1201, 0x1395, 0x1292, 0x1395, 0x1292, 0x1395, 0x1292, 0x13d8, 0x12c6, 0x13d8, 0x12c6, -0x13ef, 0x12ca, 0x13ef, 0x12ca, 0x155d, 0x1424, 0x155d, 0x1424, 0x15df, 0x1491, 0x15df, -0x1491, 0x1776, 0x1613, 0x1776, 0x1613, 0x1841, 0x16cc, 0x1841, 0x16cc, 0x1841, 0x16cc, -0x1777, 0x15f2, 0x1777, 0x15f2, 0x16dd, 0x154b, 0x16dd, 0x154b, 0x1524, 0x138b, 0x1524, -0x138b, 0x1336, 0x1199, 0x1336, 0x1199, 0x1252, 0x10b9, 0x1252, 0x10b9, 0x1252, 0x10b9, -0x12d0, 0x1141, 0x12d0, 0x1141, 0x13cc, 0x124c, 0x13cc, 0x124c, 0x12d0, 0x1167, 0x12d0, -0x1167, 0x129b, 0x114f, 0x129b, 0x114f, 0x114d, 0x1023, 0x114d, 0x1023, 0xfb8, 0xeb5, -0xfb8, 0xeb5, 0xfb8, 0xeb5, 0xfac, 0xed3, 0xfac, 0xed3, 0xecf, 0xe24, 0xecf, -0xe24, 0xecd, 0xe50, 0xecd, 0xe50, 0xf1e, 0xed2, 0xf1e, 0xed2, 0xc72, 0xc55, -0xc72, 0xc55, 0x8f4, 0x903, 0x8f4, 0x903, 0x8f4, 0x903, 0x756, 0x78f, 0x756, -0x78f, 0x55e, 0x5be, 0x55e, 0x5be, 0x42a, 0x4aa, 0x42a, 0x4aa, 0x228, 0x2c4, -0x228, 0x2c4, 0xde, 0x18f, 0xde, 0x18f, 0xde, 0x18f, 0xfec2, 0xff81, 0xfec2, -0xff81, 0xfe1c, 0xfee3, 0xfe1c, 0xfee3, 0xfdc2, 0xfe8b, 0xfdc2, 0xfe8b, 0xfb52, 0xfc16, -0xfb52, 0xfc16, 0xf9b4, 0xfa6e, 0xf9b4, 0xfa6e, 0xf934, 0xf9df, 0xf934, 0xf9df, 0xf934, -0xf9df, 0xf974, 0xfa0b, 0xf974, 0xfa0b, 0xf90d, 0xf98d, 0xf90d, 0xf98d, 0xf90c, 0xf972, -0xf90c, 0xf972, 0xf856, 0xf8a1, 0xf856, 0xf8a1, 0xf7d0, 0xf7ff, 0xf7d0, 0xf7ff, 0xf6c0, -0xf6d4, 0xf6c0, 0xf6d4, 0xf6c0, 0xf6d4, 0xf6b4, 0xf6ae, 0xf6b4, 0xf6ae, 0xf52e, 0xf50f, -0xf52e, 0xf50f, 0xf431, 0xf3fd, 0xf431, 0xf3fd, 0xf517, 0xf4d0, 0xf517, 0xf4d0, 0xf529, -0xf4d1, 0xf529, 0xf4d1, 0xf529, 0xf4d1, 0xf714, 0xf6af, 0xf714, 0xf6af, 0xf8c9, 0xf85a, -0xf8c9, 0xf85a, 0xf8d1, 0xf85b, 0xf8d1, 0xf85b, 0xfa17, 0xf99b, 0xfa17, 0xf99b, 0xfbcf, -0xfb50, 0xfbcf, 0xfb50, 0xfda7, 0xfd25, 0xfda7, 0xfd25, 0xfda7, 0xfd25, 0xfebb, 0xfe37, -0xfebb, 0xfe37, 0xfdd8, 0xfd51, 0xfdd8, 0xfd51, 0xff1d, 0xfe92, 0xff1d, 0xfe92, 0x93, -0x2, 0x93, 0x2, 0x287, 0x1ee, 0x287, 0x1ee, 0x3e3, 0x33e, 0x3e3, 0x33e, -0x3e3, 0x33e, 0x50e, 0x45b, 0x50e, 0x45b, 0x723, 0x65c, 0x723, 0x65c, 0x889, -0x7ab, 0x889, 0x7ab, 0xa0f, 0x916, 0xa0f, 0x916, 0xaa6, 0x98f, 0xaa6, 0x98f, -0xaa6, 0x98f, 0xb3a, 0xa00, 0xb3a, 0xa00, 0xd54, 0xbf5, 0xd54, 0xbf5, 0xefb, -0xd75, 0xefb, 0xd75, 0xfea, 0xe3a, 0xfea, 0xe3a, 0x10f5, 0xf1b, 0x10f5, 0xf1b, -0x1211, 0x100d, 0x1211, 0x100d, 0x1211, 0x100d, 0x13ed, 0x11c0, 0x13ed, 0x11c0, 0x15f2, -0x139d, 0x15f2, 0x139d, 0x1819, 0x159e, 0x1819, 0x159e, 0x1914, 0x1676, 0x1914, 0x1676, -0x1acc, 0x1810, 0x1acc, 0x1810, 0x1cbf, 0x19e9, 0x1cbf, 0x19e9, 0x1cbf, 0x19e9, 0x1d40, -0x1a54, 0x1d40, 0x1a54, 0x1dec, 0x1aef, 0x1dec, 0x1aef, 0x1eb7, 0x1bae, 0x1eb7, 0x1bae, -0x1ebb, 0x1bac, 0x1ebb, 0x1bac, 0x1fb1, 0x1c9f, 0x1fb1, 0x1c9f, 0x1fb1, 0x1c9f, 0x209f, -0x1d90, 0x209f, 0x1d90, 0x21fa, 0x1ef1, 0x21fa, 0x1ef1, 0x2260, 0x1f61, 0x2260, 0x1f61, -0x2161, 0x1e6f, 0x2161, 0x1e6f, 0x2050, 0x1d6d, 0x2050, 0x1d6d, 0x1dc9, 0x1af6, 0x1dc9, -0x1af6, 0x1dc9, 0x1af6, 0x1d3b, 0x1a7a, 0x1d3b, 0x1a7a, 0x1bfa, 0x194c, 0x1bfa, 0x194c, -0x19f6, 0x175a, 0x19f6, 0x175a, 0x1915, 0x168a, 0x1915, 0x168a, 0x18fa, 0x1680, 0x18fa, -0x1680, 0x187d, 0x1613, 0x187d, 0x1613, 0x187d, 0x1613, 0x186a, 0x160e, 0x186a, 0x160e, -0x171e, 0x14cf, 0x171e, 0x14cf, 0x1614, 0x13d0, 0x1614, 0x13d0, 0x1533, 0x12f9, 0x1533, -0x12f9, 0x13c3, 0x1193, 0x13c3, 0x1193, 0x13c3, 0x1193, 0x147f, 0x1257, 0x147f, 0x1257, -0x1131, 0xf11, 0x1131, 0xf11, 0xf7e, 0xd67, 0xf7e, 0xd67, 0x10e5, 0xed7, 0x10e5, -0xed7, 0x1051, 0xe4d, 0x1051, 0xe4d, 0x103f, 0xe46, 0x103f, 0xe46, 0x103f, 0xe46, -0x10a2, 0xeb6, 0x10a2, 0xeb6, 0xfcf, 0xdf2, 0xfcf, 0xdf2, 0xed6, 0xd0a, 0xed6, -0xd0a, 0xe17, 0xc5f, 0xe17, 0xc5f, 0xd86, 0xbe4, 0xd86, 0xbe4, 0xc58, 0xacf, -0xc58, 0xacf, 0xc58, 0xacf, 0xacd, 0x960, 0xacd, 0x960, 0xa0c, 0x8bb, 0xa0c, -0x8bb, 0x96e, 0x83d, 0x96e, 0x83d, 0x8e7, 0x7d7, 0x8e7, 0x7d7, 0x6d9, 0x5eb, -0x6d9, 0x5eb, 0x6d9, 0x5eb, 0x498, 0x3cc, 0x498, 0x3cc, 0x30d, 0x263, 0x30d, -0x263, 0x192, 0x10b, 0x192, 0x10b, 0x4e, 0xffe9, 0x4e, 0xffe9, 0xff54, 0xff10, -0xff54, 0xff10, 0xfe6a, 0xfe46, 0xfe6a, 0xfe46, 0xfe6a, 0xfe46, 0xfd67, 0xfd62, 0xfd67, -0xfd62, 0xfca0, 0xfcb6, 0xfca0, 0xfcb6, 0xfbf7, 0xfc29, 0xfbf7, 0xfc29, 0xfab5, 0xfaff, -0xfab5, 0xfaff, 0xfa55, 0xfab6, 0xfa55, 0xfab6, 0xfa55, 0xfab6, 0xf9d1, 0xfa46, 0xf9d1, -0xfa46, 0xf97d, 0xfa05, 0xf97d, 0xfa05, 0xf90f, 0xf9a9, 0xf90f, 0xf9a9, 0xf797, 0xf841, -0xf797, 0xf841, 0xf83d, 0xf8f6, 0xf83d, 0xf8f6, 0xf8ba, 0xf981, 0xf8ba, 0xf981, 0xf8ba, -0xf981, 0xf84c, 0xf921, 0xf84c, 0xf921, 0xf86e, 0xf951, 0xf86e, 0xf951, 0xf747, 0xf837, -0xf747, 0xf837, 0xf536, 0xf634, 0xf536, 0xf634, 0xf451, 0xf55d, 0xf451, 0xf55d, 0xf40c, -0xf527, 0xf40c, 0xf527, 0xf40c, 0xf527, 0xf573, 0xf69d, 0xf573, 0xf69d, 0xf654, 0xf78d, -0xf654, 0xf78d, 0xf724, 0xf86c, 0xf724, 0xf86c, 0xf7a8, 0xf8ff, 0xf7a8, 0xf8ff, 0xf624, -0xf78a, 0xf624, 0xf78a, 0xf624, 0xf78a, 0xf569, 0xf6de, 0xf569, 0xf6de, 0xf4ea, 0xf66d, -0xf4ea, 0xf66d, 0xf458, 0xf5e7, 0xf458, 0xf5e7, 0xf504, 0xf69f, 0xf504, 0xf69f, 0xf5ce, -0xf771, 0xf5ce, 0xf771, 0xf576, 0xf721, 0xf576, 0xf721, 0xf576, 0xf721, 0xf5f2, 0xf7a1, -0xf5f2, 0xf7a1, 0xf464, 0xf615, 0xf464, 0xf615, 0xf2d3, 0xf484, 0xf2d3, 0xf484, 0xf22f, -0xf3dc, 0xf22f, 0xf3dc, 0xf245, 0xf3ec, 0xf245, 0xf3ec, 0xf3e1, 0xf581, 0xf3e1, 0xf581, -0xf3e1, 0xf581, 0xf279, 0xf40e, 0xf279, 0xf40e, 0xf11b, 0xf2a4, 0xf11b, 0xf2a4, 0xf15d, -0xf2d7, 0xf15d, 0xf2d7, 0xf0fc, 0xf267, 0xf0fc, 0xf267, 0xf1cf, 0xf329, 0xf1cf, 0xf329, -0xf1cf, 0xf329, 0xf28d, 0xf3d7, 0xf28d, 0xf3d7, 0xf22a, 0xf365, 0xf22a, 0xf365, 0xf29b, -0xf3c7, 0xf29b, 0xf3c7, 0xf3bd, 0xf4db, 0xf3bd, 0xf4db, 0xf479, 0xf58d, 0xf479, 0xf58d, -0xf270, 0xf37b, 0xf270, 0xf37b, 0xf270, 0xf37b, 0xf190, 0xf296, 0xf190, 0xf296, 0xf1fe, -0xf301, 0xf1fe, 0xf301, 0xf254, 0xf359, 0xf254, 0xf359, 0xf320, 0xf42b, 0xf320, 0xf42b, -0xf29c, 0xf3b0, 0xf29c, 0xf3b0, 0xf2ab, 0xf3cd, 0xf2ab, 0xf3cd, 0xf2ab, 0xf3cd, 0xf231, -0xf364, 0xf231, 0xf364, 0xf158, 0xf29f, 0xf158, 0xf29f, 0xf055, 0xf1b4, 0xf055, 0xf1b4, -0xee28, 0xefa2, 0xee28, 0xefa2, 0xec5b, 0xedf2, 0xec5b, 0xedf2, 0xec5b, 0xedf2, 0xeb51, -0xed07, 0xeb51, 0xed07, 0xeaad, 0xec83, 0xeaad, 0xec83, 0xea29, 0xec1f, 0xea29, 0xec1f, -0xe9a7, 0xebbd, 0xe9a7, 0xebbd, 0xe959, 0xeb8e, 0xe959, 0xeb8e, 0xe934, 0xeb87, 0xe934, -0xeb87, 0xe934, 0xeb87, 0xea03, 0xec71, 0xea03, 0xec71, 0xea26, 0xecac, 0xea26, 0xecac, -0xe970, 0xec0c, 0xe970, 0xec0c, 0xe93e, 0xebec, 0xe93e, 0xebec, 0xe87a, 0xeb36, 0xe87a, -0xeb36, 0xe741, 0xea07, 0xe741, 0xea07, 0xe741, 0xea07, 0xe81f, 0xeaeb, 0xe81f, 0xeaeb, -0xe8b3, 0xeb80, 0xe8b3, 0xeb80, 0xe93f, 0xec0a, 0xe93f, 0xec0a, 0xeb3d, 0xee02, 0xeb3d, -0xee02, 0xec5e, 0xef19, 0xec5e, 0xef19, 0xec5e, 0xef19, 0xee8f, 0xf13d, 0xee8f, 0xf13d, -0xef82, 0xf222, 0xef82, 0xf222, 0xf05d, 0xf2ec, 0xf05d, 0xf2ec, 0xf175, 0xf3f2, 0xf175, -0xf3f2, 0xf22a, 0xf495, 0xf22a, 0xf495, 0xf2b2, 0xf50a, 0xf2b2, 0xf50a, 0xf2b2, 0xf50a, -0xf1aa, 0xf3f0, 0xf1aa, 0xf3f0, 0xf020, 0xf255, 0xf020, 0xf255, 0xef87, 0xf1ad, 0xef87, -0xf1ad, 0xefcc, 0xf1e5, 0xefcc, 0xf1e5, 0xefd0, 0xf1df, 0xefd0, 0xf1df, 0xefe7, 0xf1ef, -0xefe7, 0xf1ef, 0xefe7, 0xf1ef, 0xef4e, 0xf152, 0xef4e, 0xf152, 0xefdb, 0xf1de, 0xefdb, -0xf1de, 0xef95, 0xf19b, 0xef95, 0xf19b, 0xf000, 0xf20c, 0xf000, 0xf20c, 0xf0d0, 0xf2e4, -0xf0d0, 0xf2e4, 0xf0d0, 0xf2e4, 0xef41, 0xf161, 0xef41, 0xf161, 0xef0e, 0xf13b, 0xef0e, -0xf13b, 0xef25, 0xf161, 0xef25, 0xf161, 0xef31, 0xf17d, 0xef31, 0xf17d, 0xefab, 0xf206, -0xefab, 0xf206, 0xef32, 0xf19c, 0xef32, 0xf19c, 0xef32, 0xf19c, 0xeee0, 0xf158, 0xeee0, -0xf158, 0xee68, 0xf0ec, 0xee68, 0xf0ec, 0xeea4, 0xf131, 0xeea4, 0xf131, 0xee95, 0xf127, -0xee95, 0xf127, 0xec47, 0xeeda, 0xec47, 0xeeda, 0xebbd, 0xee4c, 0xebbd, 0xee4c, 0xebbd, -0xee4c, 0xec22, 0xeea9, 0xec22, 0xeea9, 0xecf2, 0xef6a, 0xecf2, 0xef6a, 0xede6, 0xf049, -0xede6, 0xf049, 0xecd4, 0xef1c, 0xecd4, 0xef1c, 0xecdc, 0xef02, 0xecdc, 0xef02, 0xecdc, -0xef02, 0xee58, 0xf058, 0xee58, 0xf058, 0xefa3, 0xf177, 0xefa3, 0xf177, 0xf05b, 0xf1fd, -0xf05b, 0xf1fd, 0xf0d0, 0xf23c, 0xf0d0, 0xf23c, 0xf230, 0xf362, 0xf230, 0xf362, 0xf3ac, -0xf4a0, 0xf3ac, 0xf4a0, 0xf3ac, 0xf4a0, 0xf531, 0xf5e7, 0xf531, 0xf5e7, 0xf615, 0xf689, -0xf615, 0xf689, 0xf7c0, 0xf7f3, 0xf7c0, 0xf7f3, 0xf975, 0xf968, 0xf975, 0xf968, 0xfa14, -0xf9c7, 0xfa14, 0xf9c7, 0xfc61, 0xfbd7, 0xfc61, 0xfbd7, 0xfc61, 0xfbd7, 0xfd45, 0xfc81, -0xfd45, 0xfc81, 0xfd87, 0xfc8e, 0xfd87, 0xfc8e, 0xff9c, 0xfe71, 0xff9c, 0xfe71, 0xea, -0xff92, 0xea, 0xff92, 0x16f, 0xfff0, 0x16f, 0xfff0, 0x16f, 0xfff0, 0x343, 0x1a3, -0x343, 0x1a3, 0x4a8, 0x2ed, 0x4a8, 0x2ed, 0x5fd, 0x42c, 0x5fd, 0x42c, 0x810, -0x62f, 0x810, 0x62f, 0xa8a, 0x89e, 0xa8a, 0x89e, 0xcb6, 0xac5, 0xcb6, 0xac5, -0xcb6, 0xac5, 0xd68, 0xb76, 0xd68, 0xb76, 0xe22, 0xc34, 0xe22, 0xc34, 0xe5a, -0xc71, 0xe5a, 0xc71, 0xec5, 0xce5, 0xec5, 0xce5, 0xfd1, 0xdfc, 0xfd1, 0xdfc, -0x100b, 0xe41, 0x100b, 0xe41, 0x100b, 0xe41, 0x1008, 0xe4a, 0x1008, 0xe4a, 0x10d3, -0xf20, 0x10d3, 0xf20, 0x1094, 0xeec, 0x1094, 0xeec, 0x110c, 0xf6e, 0x110c, 0xf6e, -0x10b0, 0xf18, 0x10b0, 0xf18, 0x10b0, 0xf18, 0xfeb, 0xe59, 0xfeb, 0xe59, 0x1047, -0xeb8, 0x1047, 0xeb8, 0xfba, 0xe2c, 0xfba, 0xe2c, 0x1104, 0xf75, 0x1104, 0xf75, -0x1113, 0xf81, 0x1113, 0xf81, 0xfcd, 0xe36, 0xfcd, 0xe36, 0xfcd, 0xe36, 0x101e, -0xe81, 0x101e, 0xe81, 0x1145, 0xfa0, 0x1145, 0xfa0, 0x12b2, 0x1105, 0x12b2, 0x1105, -0x1475, 0x12c1, 0x1475, 0x12c1, 0x15c6, 0x140b, 0x15c6, 0x140b, 0x15c6, 0x140b, 0x16ac, -0x14ec, 0x16ac, 0x14ec, 0x163a, 0x1477, 0x163a, 0x1477, 0x1556, 0x1392, 0x1556, 0x1392, -0x14a8, 0x12e6, 0x14a8, 0x12e6, 0x1234, 0x1076, 0x1234, 0x1076, 0x11c8, 0x1013, 0x11c8, -0x1013, 0x11c8, 0x1013, 0x1344, 0x119b, 0x1344, 0x119b, 0x14c0, 0x1326, 0x14c0, 0x1326, -0x148f, 0x1308, 0x148f, 0x1308, 0x131d, 0x11ad, 0x131d, 0x11ad, 0x12b8, 0x1161, 0x12b8, -0x1161, 0x127b, 0x113f, 0x127b, 0x113f, 0x127b, 0x113f, 0x12fb, 0x11de, 0x12fb, 0x11de, -0x121e, 0x1122, 0x121e, 0x1122, 0x1158, 0x107e, 0x1158, 0x107e, 0x104e, 0xf96, 0x104e, -0xf96, 0xe93, 0xdfe, 0xe93, 0xdfe, 0xe93, 0xdfe, 0xda7, 0xd34, 0xda7, 0xd34, -0xab7, 0xa65, 0xab7, 0xa65, 0x854, 0x823, 0x854, 0x823, 0x60d, 0x5fb, 0x60d, -0x5fb, 0x432, 0x43c, 0x432, 0x43c, 0x3a9, 0x3ce, 0x3a9, 0x3ce, 0x3a9, 0x3ce, -0x1c7, 0x203, 0x1c7, 0x203, 0x56, 0xa6, 0x56, 0xa6, 0x54, 0xb6, 0x54, -0xb6, 0xfeed, 0xff5e, 0xfeed, 0xff5e, 0xfd0a, 0xfd87, 0xfd0a, 0xfd87, 0xfcb0, 0xfd36, -0xfcb0, 0xfd36, 0xfcb0, 0xfd36, 0xfb84, 0xfc10, 0xfb84, 0xfc10, 0xf9f6, 0xfa85, 0xf9f6, -0xfa85, 0xf936, 0xf9c6, 0xf936, 0xf9c6, 0xf983, 0xfa12, 0xf983, 0xfa12, 0xf958, 0xf9e3, -0xf958, 0xf9e3, 0xf958, 0xf9e3, 0xf840, 0xf8c6, 0xf840, 0xf8c6, 0xf73d, 0xf7bd, 0xf73d, -0xf7bd, 0xf5ff, 0xf676, 0xf5ff, 0xf676, 0xf54c, 0xf5b9, 0xf54c, 0xf5b9, 0xf553, 0xf5b4, -0xf553, 0xf5b4, 0xf488, 0xf4dd, 0xf488, 0xf4dd, 0xf488, 0xf4dd, 0xf3e3, 0xf42a, 0xf3e3, -0xf42a, 0xf4f5, 0xf52c, 0xf4f5, 0xf52c, 0xf69e, 0xf6c4, 0xf69e, 0xf6c4, 0xf90d, 0xf920, -0xf90d, 0xf920, 0xfa61, 0xfa61, 0xfa61, 0xfa61, 0xfae8, 0xfad2, 0xfae8, 0xfad2, 0xfae8, -0xfad2, 0xfb43, 0xfb17, 0xfb43, 0xfb17, 0xfb44, 0xfb00, 0xfb44, 0xfb00, 0xfd21, 0xfcc3, -0xfd21, 0xfcc3, 0xfdea, 0xfd6f, 0xfdea, 0xfd6f, 0xfdd4, 0xfd3c, 0xfdd4, 0xfd3c, 0xfdd4, -0xfd3c, 0x26, 0xff70, 0x26, 0xff70, 0x1d4, 0xfe, 0x1d4, 0xfe, 0x334, 0x23d, -0x334, 0x23d, 0x4fb, 0x3e2, 0x4fb, 0x3e2, 0x5cb, 0x48f, 0x5cb, 0x48f, 0x736, -0x5d7, 0x736, 0x5d7, 0x736, 0x5d7, 0x8bf, 0x73b, 0x8bf, 0x73b, 0xaec, 0x944, -0xaec, 0x944, 0xb71, 0x9a5, 0xb71, 0x9a5, 0xacf, 0x8de, 0xacf, 0x8de, 0xbf7, -0x9e3, 0xbf7, 0x9e3, 0xea0, 0xc69, 0xea0, 0xc69, 0xea0, 0xc69, 0x121b, 0xfc3, -0x121b, 0xfc3, 0x13b2, 0x113a, 0x13b2, 0x113a, 0x15b3, 0x131c, 0x15b3, 0x131c, 0x17f3, -0x153f, 0x17f3, 0x153f, 0x19bf, 0x16f0, 0x19bf, 0x16f0, 0x19bf, 0x16f0, 0x1be6, 0x18fe, -0x1be6, 0x18fe, 0x1cd9, 0x19da, 0x1cd9, 0x19da, 0x1d83, 0x1a70, 0x1d83, 0x1a70, 0x1e55, -0x1b2f, 0x1e55, 0x1b2f, 0x1fe7, 0x1cb1, 0x1fe7, 0x1cb1, 0x20fa, 0x1db7, 0x20fa, 0x1db7, -0x20fa, 0x1db7, 0x20f6, 0x1da8, 0x20f6, 0x1da8, 0x21ab, 0x1e53, 0x21ab, 0x1e53, 0x2277, -0x1f19, 0x2277, 0x1f19, 0x227c, 0x1f1a, 0x227c, 0x1f1a, 0x2243, 0x1edf, 0x2243, 0x1edf, -0x20b1, 0x1d4e, 0x20b1, 0x1d4e, 0x20b1, 0x1d4e, 0x1eb6, 0x1b55, 0x1eb6, 0x1b55, 0x1e41, -0x1ae5, 0x1e41, 0x1ae5, 0x1d42, 0x19ec, 0x1d42, 0x19ec, 0x1c87, 0x193b, 0x1c87, 0x193b, -0x1c52, 0x1911, 0x1c52, 0x1911, 0x1c52, 0x1911, 0x1b74, 0x1840, 0x1b74, 0x1840, 0x1a22, -0x16fd, 0x1a22, 0x16fd, 0x1989, 0x1675, 0x1989, 0x1675, 0x19e2, 0x16e1, 0x19e2, 0x16e1, -0x18b3, 0x15c7, 0x18b3, 0x15c7, 0x1746, 0x1470, 0x1746, 0x1470, 0x1746, 0x1470, 0x1578, -0x12ba, 0x1578, 0x12ba, 0x1320, 0x107c, 0x1320, 0x107c, 0x127c, 0xff3, 0x127c, 0xff3, -0x129c, 0x1031, 0x129c, 0x1031, 0x10e0, 0xe92, 0x10e0, 0xe92, 0xf6f, 0xd41, 0xf6f, -0xd41, 0xf6f, 0xd41, 0xeae, 0xca0, 0xeae, 0xca0, 0xdaf, 0xbc2, 0xdaf, 0xbc2, -0xe11, 0xc46, 0xe11, 0xc46, 0xd4b, 0xba1, 0xd4b, 0xba1, 0xc42, 0xaba, 0xc42, -0xaba, 0xc42, 0xaba, 0xac9, 0x963, 0xac9, 0x963, 0x971, 0x82c, 0x971, 0x82c, -0x962, 0x83e, 0x962, 0x83e, 0x6cf, 0x5cc, 0x6cf, 0x5cc, 0x476, 0x393, 0x476, -0x393, 0x3eb, 0x326, 0x3eb, 0x326, 0x3eb, 0x326, 0x266, 0x1be, 0x266, 0x1be, -0x125, 0x98, 0x125, 0x98, 0xff78, 0xff05, 0xff78, 0xff05, 0xfe39, 0xfdde, 0xfe39, -0xfdde, 0xfd40, 0xfcfb, 0xfd40, 0xfcfb, 0xfcf1, 0xfcc1, 0xfcf1, 0xfcc1, 0xfcf1, 0xfcc1, -0xfde3, 0xfdc7, 0xfde3, 0xfdc7, 0xfcd3, 0xfcc8, 0xfcd3, 0xfcc8, 0xfbbc, 0xfbc2, 0xfbbc, -0xfbc2, 0xfb38, 0xfb4d, 0xfb38, 0xfb4d, 0xfb8a, 0xfbae, 0xfb8a, 0xfbae, 0xfb8a, 0xfbae, -0xfbe1, 0xfc13, 0xfbe1, 0xfc13, 0xfad5, 0xfb13, 0xfad5, 0xfb13, 0xfa86, 0xfad1, 0xfa86, -0xfad1, 0xfac4, 0xfb1b, 0xfac4, 0xfb1b, 0xfb6a, 0xfbce, 0xfb6a, 0xfbce, 0xfc3d, 0xfcae, -0xfc3d, 0xfcae, 0xfc3d, 0xfcae, 0xfb55, 0xfbd3, 0xfb55, 0xfbd3, 0xfa1a, 0xfaa6, 0xfa1a, -0xfaa6, 0xf970, 0xfa0b, 0xf970, 0xfa0b, 0xf934, 0xf9de, 0xf934, 0xf9de, 0xf8de, 0xf998, -0xf8de, 0xf998, 0xf89e, 0xf969, 0xf89e, 0xf969, 0xf89e, 0xf969, 0xf91b, 0xf9f8, 0xf91b, -0xf9f8, 0xf8cc, 0xf9ba, 0xf8cc, 0xf9ba, 0xf900, 0xfa01, 0xf900, 0xfa01, 0xf8d9, 0xf9ed, -0xf8d9, 0xf9ed, 0xf785, 0xf8ac, 0xf785, 0xf8ac, 0xf785, 0xf8ac, 0xf72a, 0xf863, 0xf72a, -0xf863, 0xf816, 0xf960, 0xf816, 0xf960, 0xf922, 0xfa7c, 0xf922, 0xfa7c, 0xf963, 0xfacc, -0xf963, 0xfacc, 0xf8e0, 0xfa57, 0xf8e0, 0xfa57, 0xf91e, 0xfaa0, 0xf91e, 0xfaa0, 0xf91e, -0xfaa0, 0xf7fa, 0xf985, 0xf7fa, 0xf985, 0xf688, 0xf818, 0xf688, 0xf818, 0xf6ec, 0xf880, -0xf6ec, 0xf880, 0xf6a6, 0xf83b, 0xf6a6, 0xf83b, 0xf5ed, 0xf780, 0xf5ed, 0xf780, 0xf5ed, -0xf780, 0xf4db, 0xf669, 0xf4db, 0xf669, 0xf383, 0xf509, 0xf383, 0xf509, 0xf2cb, 0xf446, -0xf2cb, 0xf446, 0xf2a2, 0xf410, 0xf2a2, 0xf410, 0xf19d, 0xf2fb, 0xf19d, 0xf2fb, 0xf18b, -0xf2d8, 0xf18b, 0xf2d8, 0xf18b, 0xf2d8, 0xf19e, 0xf2d9, 0xf19e, 0xf2d9, 0xf1ef, 0xf317, -0xf1ef, 0xf317, 0xf2f8, 0xf40b, 0xf2f8, 0xf40b, 0xf32a, 0xf42a, 0xf32a, 0xf42a, 0xf306, -0xf3f2, 0xf306, 0xf3f2, 0xf183, 0xf25e, 0xf183, 0xf25e, 0xf183, 0xf25e, 0xf167, 0xf232, -0xf167, 0xf232, 0xf2ae, 0xf36b, 0xf2ae, 0xf36b, 0xf102, 0xf1b4, 0xf102, 0xf1b4, 0xefcb, -0xf074, 0xefcb, 0xf074, 0xf001, 0xf0a5, 0xf001, 0xf0a5, 0xf001, 0xf0a5, 0xf00f, 0xf0b3, -0xf00f, 0xf0b3, 0xf021, 0xf0c7, 0xf021, 0xf0c7, 0xef1a, 0xefc6, 0xef1a, 0xefc6, 0xee69, -0xef20, 0xee69, 0xef20, 0xec65, 0xed29, 0xec65, 0xed29, 0xec00, 0xecd5, 0xec00, 0xecd5, -0xec00, 0xecd5, 0xec3a, 0xed23, 0xec3a, 0xed23, 0xea3c, 0xeb3b, 0xea3c, 0xeb3b, 0xe8e2, -0xe9f9, 0xe8e2, 0xe9f9, 0xe8aa, 0xe9da, 0xe8aa, 0xe9da, 0xe9a1, 0xeaec, 0xe9a1, 0xeaec, -0xea98, 0xebfd, 0xea98, 0xebfd, 0xea98, 0xebfd, 0xea7f, 0xebfe, 0xea7f, 0xebfe, 0xea5d, -0xebf3, 0xea5d, 0xebf3, 0xea47, 0xebf4, 0xea47, 0xebf4, 0xe9cb, 0xeb8c, 0xe9cb, 0xeb8c, -0xe99c, 0xeb6d, 0xe99c, 0xeb6d, 0xe99c, 0xeb6d, 0xe93a, 0xeb18, 0xe93a, 0xeb18, 0xe96c, -0xeb54, 0xe96c, 0xeb54, 0xea79, 0xec66, 0xea79, 0xec66, 0xebfe, 0xedec, 0xebfe, 0xedec, -0xebf5, 0xede0, 0xebf5, 0xede0, 0xeca8, 0xee8b, 0xeca8, 0xee8b, 0xeca8, 0xee8b, 0xedb4, -0xef8c, 0xedb4, 0xef8c, 0xedeb, 0xefb5, 0xedeb, 0xefb5, 0xefec, 0xf1a6, 0xefec, 0xf1a6, -0xf184, 0xf32a, 0xf184, 0xf32a, 0xf17e, 0xf311, 0xf17e, 0xf311, 0xf1c6, 0xf343, 0xf1c6, -0xf343, 0xf1c6, 0xf343, 0xf1ec, 0xf355, 0xf1ec, 0xf355, 0xf218, 0xf36d, 0xf218, 0xf36d, -0xf218, 0xf35b, 0xf218, 0xf35b, 0xf144, 0xf278, 0xf144, 0xf278, 0xf0d9, 0xf200, 0xf0d9, -0xf200, 0xf0d9, 0xf200, 0xee8b, 0xefab, 0xee8b, 0xefab, 0xee27, 0xef43, 0xee27, 0xef43, -0xef5d, 0xf07b, 0xef5d, 0xf07b, 0xef79, 0xf09d, 0xef79, 0xf09d, 0xef4f, 0xf07f, 0xef4f, -0xf07f, 0xef69, 0xf0ab, 0xef69, 0xf0ab, 0xef69, 0xf0ab, 0xeef7, 0xf04f, 0xeef7, 0xf04f, -0xee41, 0xefb4, 0xee41, 0xefb4, 0xee66, 0xeff8, 0xee66, 0xeff8, 0xedd3, 0xef87, 0xedd3, -0xef87, 0xed84, 0xef5e, 0xed84, 0xef5e, 0xed41, 0xef42, 0xed41, 0xef42, 0xed41, 0xef42, -0xedfd, 0xf027, 0xedfd, 0xf027, 0xedd5, 0xf027, 0xedd5, 0xf027, 0xecd1, 0xef49, 0xecd1, -0xef49, 0xebf3, 0xee90, 0xebf3, 0xee90, 0xe9ff, 0xecbc, 0xe9ff, 0xecbc, 0xe9ff, 0xecbc, -0xe9b5, 0xec8d, 0xe9b5, 0xec8d, 0xe9cf, 0xecbe, 0xe9cf, 0xecbe, 0xe8a0, 0xeb9f, 0xe8a0, -0xeb9f, 0xe8c4, 0xebcc, 0xe8c4, 0xebcc, 0xe86d, 0xeb76, 0xe86d, 0xeb76, 0xe933, 0xec34, -0xe933, 0xec34, 0xe933, 0xec34, 0xea66, 0xed58, 0xea66, 0xed58, 0xeae6, 0xedbf, 0xeae6, -0xedbf, 0xebe6, 0xeea0, 0xebe6, 0xeea0, 0xec20, 0xeeb0, 0xec20, 0xeeb0, 0xee2f, 0xf090, -0xee2f, 0xf090, 0xf10a, 0xf333, 0xf10a, 0xf333, 0xf10a, 0xf333, 0xf1f7, 0xf3e3, 0xf1f7, -0xf3e3, 0xf287, 0xf430, 0xf287, 0xf430, 0xf4c0, 0xf623, 0xf4c0, 0xf623, 0xf6fc, 0xf815, -0xf6fc, 0xf815, 0xf8e3, 0xf9b0, 0xf8e3, 0xf9b0, 0xf8e3, 0xf9b0, 0xfa0b, 0xfa8b, 0xfa0b, -0xfa8b, 0xfb76, 0xfbaa, 0xfb76, 0xfbaa, 0xfd12, 0xfcfc, 0xfd12, 0xfcfc, 0xff4e, 0xfeef, -0xff4e, 0xfeef, 0xb5, 0x12, 0xb5, 0x12, 0x128, 0x45, 0x128, 0x45, 0x128, -0x45, 0x205, 0xe7, 0x205, 0xe7, 0x421, 0x2cd, 0x421, 0x2cd, 0x710, 0x58d, -0x710, 0x58d, 0x7fc, 0x650, 0x7fc, 0x650, 0xa08, 0x83a, 0xa08, 0x83a, 0xb38, -0x94f, 0xb38, 0x94f, 0xb38, 0x94f, 0xbb8, 0x9b9, 0xbb8, 0x9b9, 0xd6f, 0xb62, -0xd6f, 0xb62, 0xe4d, 0xc37, 0xe4d, 0xc37, 0xebc, 0xca2, 0xebc, 0xca2, 0x10ee, -0xed4, 0x10ee, 0xed4, 0x10ee, 0xed4, 0x124c, 0x1037, 0x124c, 0x1037, 0x12dc, 0x10ce, -0x12dc, 0x10ce, 0x1305, 0x1103, 0x1305, 0x1103, 0x12e7, 0x10f1, 0x12e7, 0x10f1, 0x129c, -0x10b3, 0x129c, 0x10b3, 0x1163, 0xf89, 0x1163, 0xf89, 0x1163, 0xf89, 0x114a, 0xf7e, -0x114a, 0xf7e, 0x1155, 0xf96, 0x1155, 0xf96, 0x1130, 0xf7e, 0x1130, 0xf7e, 0x1085, -0xede, 0x1085, 0xede, 0x1035, 0xe99, 0x1035, 0xe99, 0xf77, 0xde3, 0xf77, 0xde3, -0xf77, 0xde3, 0x1015, 0xe88, 0x1015, 0xe88, 0x10f0, 0xf68, 0x10f0, 0xf68, 0x11a6, -0x1023, 0x11a6, 0x1023, 0x128c, 0x110d, 0x128c, 0x110d, 0x13ad, 0x1231, 0x13ad, 0x1231, -0x13ad, 0x1231, 0x1500, 0x1386, 0x1500, 0x1386, 0x13fa, 0x1283, 0x13fa, 0x1283, 0x135c, -0x11e9, 0x135c, 0x11e9, 0x129d, 0x112e, 0x129d, 0x112e, 0x1096, 0xf2e, 0x1096, 0xf2e, -0x1128, 0xfc8, 0x1128, 0xfc8, 0x1128, 0xfc8, 0x121e, 0x10c8, 0x121e, 0x10c8, 0x10a3, -0xf59, 0x10a3, 0xf59, 0x1041, 0xf07, 0x1041, 0xf07, 0xfc6, 0xe9e, 0xfc6, 0xe9e, -0x1004, 0xef0, 0x1004, 0xef0, 0x1015, 0xf19, 0x1015, 0xf19, 0x1015, 0xf19, 0xfc2, -0xee1, 0xfc2, 0xee1, 0xfb9, 0xef4, 0xfb9, 0xef4, 0xe42, 0xd9c, 0xe42, 0xd9c, -0xd89, 0xd02, 0xd89, 0xd02, 0xd91, 0xd2c, 0xd91, 0xd2c, 0xd91, 0xd2c, 0xc17, -0xbd5, 0xc17, 0xbd5, 0x9f3, 0x9d4, 0x9f3, 0x9d4, 0x818, 0x81c, 0x818, 0x81c, -0x6f7, 0x71d, 0x6f7, 0x71d, 0x59f, 0x5e6, 0x59f, 0x5e6, 0x429, 0x48e, 0x429, -0x48e, 0x429, 0x48e, 0x318, 0x39b, 0x318, 0x39b, 0x216, 0x2b4, 0x216, 0x2b4, -0x23b, 0x2f1, 0x23b, 0x2f1, 0x109, 0x1d3, 0x109, 0x1d3, 0xffc0, 0x9c, 0xffc0, -0x9c, 0xffc0, 0x9c, 0xfe38, 0xff23, 0xfe38, 0xff23, 0xfd66, 0xfe5c, 0xfd66, 0xfe5c, -0xfc6d, 0xfd6a, 0xfc6d, 0xfd6a, 0xfb1e, 0xfc20, 0xfb1e, 0xfc20, 0xfa3d, 0xfb3f, 0xfa3d, -0xfb3f, 0xf90b, 0xfa0a, 0xf90b, 0xfa0a, 0xf90b, 0xfa0a, 0xf88e, 0xf988, 0xf88e, 0xf988, -0xf8cf, 0xf9c1, 0xf8cf, 0xf9c1, 0xf813, 0xf8fb, 0xf813, 0xf8fb, 0xf6b0, 0xf78a, 0xf6b0, -0xf78a, 0xf74c, 0xf818, 0xf74c, 0xf818, 0xf73a, 0xf7f6, 0xf73a, 0xf7f6, 0xf73a, 0xf7f6, -0xf7cf, 0xf87a, 0xf7cf, 0xf87a, 0xf8bc, 0xf954, 0xf8bc, 0xf954, 0xfa38, 0xfabc, 0xfa38, -0xfabc, 0xfa9a, 0xfb09, 0xfa9a, 0xfb09, 0xfabd, 0xfb18, 0xfabd, 0xfb18, 0xfabd, 0xfb18, -0xfb9e, 0xfbe3, 0xfb9e, 0xfbe3, 0xfc63, 0xfc92, 0xfc63, 0xfc92, 0xfd97, 0xfdaf, 0xfd97, -0xfdaf, 0xfefe, 0xfeff, 0xfefe, 0xfeff, 0x22, 0xc, 0x22, 0xc, 0x82, 0x54, -0x82, 0x54, 0x82, 0x54, 0x1b2, 0x16c, 0x1b2, 0x16c, 0x1d3, 0x174, 0x1d3, -0x174, 0x25c, 0x1e4, 0x25c, 0x1e4, 0x2c0, 0x22e, 0x2c0, 0x22e, 0x41e, 0x371, -0x41e, 0x371, 0x601, 0x539, 0x601, 0x539, 0x601, 0x539, 0x670, 0x58c, 0x670, -0x58c, 0x7bd, 0x6bc, 0x7bd, 0x6bc, 0x7f4, 0x6d7, 0x7f4, 0x6d7, 0x70c, 0x5d1, -0x70c, 0x5d1, 0x9d8, 0x880, 0x9d8, 0x880, 0x9d8, 0x880, 0xb71, 0x9fc, 0xb71, -0x9fc, 0xc06, 0xa74, 0xc06, 0xa74, 0xe7d, 0xccf, 0xe7d, 0xccf, 0xfc9, 0xdff, -0xfc9, 0xdff, 0x114c, 0xf68, 0x114c, 0xf68, 0x12bc, 0x10be, 0x12bc, 0x10be, 0x12bc, -0x10be, 0x1578, 0x1362, 0x1578, 0x1362, 0x173e, 0x1512, 0x173e, 0x1512, 0x181c, 0x15dc, -0x181c, 0x15dc, 0x19f4, 0x17a2, 0x19f4, 0x17a2, 0x1b79, 0x1916, 0x1b79, 0x1916, 0x1c15, -0x19a4, 0x1c15, 0x19a4, 0x1c15, 0x19a4, 0x1d42, 0x1ac5, 0x1d42, 0x1ac5, 0x1fa7, 0x1d22, -0x1fa7, 0x1d22, 0x21da, 0x1f4d, 0x21da, 0x1f4d, 0x21d1, 0x1f3f, 0x21d1, 0x1f3f, 0x2164, -0x1ed0, 0x2164, 0x1ed0, 0x2164, 0x1ed0, 0x20a5, 0x1e0f, 0x20a5, 0x1e0f, 0x1eff, 0x1c6b, -0x1eff, 0x1c6b, 0x1ece, 0x1c3d, 0x1ece, 0x1c3d, 0x1eb4, 0x1c27, 0x1eb4, 0x1c27, 0x1e07, -0x1b80, 0x1e07, 0x1b80, 0x1d3c, 0x1abc, 0x1d3c, 0x1abc, 0x1d3c, 0x1abc, 0x1cde, 0x1a67, -0x1cde, 0x1a67, 0x1c38, 0x19c9, 0x1c38, 0x19c9, 0x1b66, 0x1901, 0x1b66, 0x1901, 0x1a21, -0x17c8, 0x1a21, 0x17c8, 0x186a, 0x161d, 0x186a, 0x161d, 0x170e, 0x14ce, 0x170e, 0x14ce, -0x170e, 0x14ce, 0x16c3, 0x1490, 0x16c3, 0x1490, 0x146d, 0x1249, 0x146d, 0x1249, 0x13a8, -0x1193, 0x13a8, 0x1193, 0x13ce, 0x11cb, 0x13ce, 0x11cb, 0x1313, 0x1121, 0x1313, 0x1121, -0x1313, 0x1121, 0x12a9, 0x10cb, 0x12a9, 0x10cb, 0x1107, 0xf3e, 0x1107, 0xf3e, 0x1037, -0xe84, 0x1037, 0xe84, 0xeac, 0xd11, 0xeac, 0xd11, 0xe29, 0xca8, 0xe29, 0xca8, -0xd4f, 0xbe9, 0xd4f, 0xbe9, 0xd4f, 0xbe9, 0xc16, 0xacd, 0xc16, 0xacd, 0xb1c, -0x9f1, 0xb1c, 0x9f1, 0xacd, 0x9c3, 0xacd, 0x9c3, 0x94a, 0x861, 0x94a, 0x861, -0x879, 0x7b1, 0x879, 0x7b1, 0x7af, 0x709, 0x7af, 0x709, 0x7af, 0x709, 0x476, -0x3f2, 0x476, 0x3f2, 0x243, 0x1e2, 0x243, 0x1e2, 0xff54, 0xff15, 0xff54, 0xff15, -0xfd89, 0xfd6a, 0xfd89, 0xfd6a, 0xfd10, 0xfd12, 0xfd10, 0xfd12, 0xfd10, 0xfd12, 0xfcb3, -0xfcd3, 0xfcb3, 0xfcd3, 0xfd74, 0xfdb0, 0xfd74, 0xfdb0, 0xfcda, 0xfd2f, 0xfcda, 0xfd2f, -0xfb48, 0xfbb3, 0xfb48, 0xfbb3, 0xfbe6, 0xfc66, 0xfbe6, 0xfc66, 0xfac6, 0xfb56, 0xfac6, -0xfb56, 0xfac6, 0xfb56, 0xf950, 0xf9ee, 0xf950, 0xf9ee, 0xf90e, 0xf9b6, 0xf90e, 0xf9b6, -0xf951, 0xfa00, 0xf951, 0xfa00, 0xf93b, 0xf9ee, 0xf93b, 0xf9ee, 0xf958, 0xfa0d, 0xf958, -0xfa0d, 0xf9f8, 0xfaac, 0xf9f8, 0xfaac, 0xf9f8, 0xfaac, 0xf8d9, 0xf989, 0xf8d9, 0xf989, -0xf88e, 0xf939, 0xf88e, 0xf939, 0xf926, 0xf9ca, 0xf926, 0xf9ca, 0xf920, 0xf9bd, 0xf920, -0xf9bd, 0xf91c, 0xf9b1, 0xf91c, 0xf9b1, 0xf91c, 0xf9b1, 0xf978, 0xfa05, 0xf978, 0xfa05, -0xf9e9, 0xfa6e, 0xf9e9, 0xfa6e, 0xfaa4, 0xfb22, 0xfaa4, 0xfb22, 0xfa01, 0xfa79, 0xfa01, -0xfa79, 0xfa3e, 0xfab3, 0xfa3e, 0xfab3, 0xfa45, 0xfab7, 0xfa45, 0xfab7, 0xfa45, 0xfab7, -0xfa5c, 0xfacf, 0xfa5c, 0xfacf, 0xfb24, 0xfb9a, 0xfb24, 0xfb9a, 0xfb3d, 0xfbb8, 0xfb3d, -0xfbb8, 0xfb25, 0xfba7, 0xfb25, 0xfba7, 0xfbe7, 0xfc74, 0xfbe7, 0xfc74, 0xfcf7, 0xfd91, -0xfcf7, 0xfd91, 0xfcf7, 0xfd91, 0xfc0c, 0xfcb4, 0xfc0c, 0xfcb4, 0xfb47, 0xfbff, 0xfb47, -0xfbff, 0xfb29, 0xfbf3, 0xfb29, 0xfbf3, 0xf97d, 0xfa5b, 0xf97d, 0xfa5b, 0xf82e, 0xf920, -0xf82e, 0xf920, 0xf82e, 0xf920, 0xf828, 0xf92f, 0xf828, 0xf92f, 0xf60b, 0xf727, 0xf60b, -0xf727, 0xf550, 0xf681, 0xf550, 0xf681, 0xf4e0, 0xf626, 0xf4e0, 0xf626, 0xf500, 0xf65a, -0xf500, 0xf65a, 0xf56f, 0xf6dd, 0xf56f, 0xf6dd, 0xf56f, 0xf6dd, 0xf549, 0xf6ca, 0xf549, -0xf6ca, 0xf524, 0xf6b7, 0xf524, 0xf6b7, 0xf4ca, 0xf66f, 0xf4ca, 0xf66f, 0xf48c, 0xf641, -0xf48c, 0xf641, 0xf43d, 0xf602, 0xf43d, 0xf602, 0xf3fa, 0xf5cf, 0xf3fa, 0xf5cf, 0xf3fa, -0xf5cf, 0xf334, 0xf518, 0xf334, 0xf518, 0xf349, 0xf53d, 0xf349, 0xf53d, 0xf292, 0xf495, -0xf292, 0xf495, 0xf2c2, 0xf4d6, 0xf2c2, 0xf4d6, 0xf1a5, 0xf3c9, 0xf1a5, 0xf3c9, 0xf1a5, -0xf3c9, 0xf00c, 0xf242, 0xf00c, 0xf242, 0xef06, 0xf14f, 0xef06, 0xf14f, 0xee02, 0xf05f, -0xee02, 0xf05f, 0xecdc, 0xef4f, 0xecdc, 0xef4f, 0xebab, 0xee36, 0xebab, 0xee36, 0xeaf5, -0xed98, 0xeaf5, 0xed98, 0xeaf5, 0xed98, 0xea09, 0xecc5, 0xea09, 0xecc5, 0xe873, 0xeb4a, -0xe873, 0xeb4a, 0xe77b, 0xea6d, 0xe77b, 0xea6d, 0xe780, 0xea8d, 0xe780, 0xea8d, 0xe675, -0xe99d, 0xe675, 0xe99d, 0xe675, 0xe99d, 0xe627, 0xe969, 0xe627, 0xe969, 0xe512, 0xe86c, -0xe512, 0xe86c, 0xe50d, 0xe87e, 0xe50d, 0xe87e, 0xe47e, 0xe803, 0xe47e, 0xe803, 0xe454, -0xe7ea, 0xe454, 0xe7ea, 0xe551, 0xe8f3, 0xe551, 0xe8f3, 0xe551, 0xe8f3, 0xe569, 0xe913, -0xe569, 0xe913, 0xe6ab, 0xea5a, 0xe6ab, 0xea5a, 0xe7ba, 0xeb67, 0xe7ba, 0xeb67, 0xe835, -0xebdc, 0xe835, 0xebdc, 0xe907, 0xeca2, 0xe907, 0xeca2, 0xe8e2, 0xec6c, 0xe8e2, 0xec6c, -0xe8e2, 0xec6c, 0xea97, 0xee0b, 0xea97, 0xee0b, 0xed6b, 0xf0c4, 0xed6b, 0xf0c4, 0xee38, -0xf171, 0xee38, 0xf171, 0xee66, 0xf17c, 0xee66, 0xf17c, 0xeecb, 0xf1ba, 0xeecb, 0xf1ba, -0xeecb, 0xf1ba, 0xf03d, 0xf302, 0xf03d, 0xf302, 0xf0ee, 0xf389, 0xf0ee, 0xf389, 0xf223, -0xf492, 0xf223, 0xf492, 0xf235, 0xf479, 0xf235, 0xf479, 0xf1eb, 0xf405, 0xf1eb, 0xf405, -0xf14d, 0xf33f, 0xf14d, 0xf33f, 0xf14d, 0xf33f, 0xef84, 0xf150, 0xef84, 0xf150, 0xee54, -0xf000, 0xee54, 0xf000, 0xeea4, 0xf033, 0xeea4, 0xf033, 0xee5b, 0xefd3, 0xee5b, 0xefd3, -0xef50, 0xf0b6, 0xef50, 0xf0b6, 0xf011, 0xf16c, 0xf011, 0xf16c, 0xf011, 0xf16c, 0xedab, -0xef00, 0xedab, 0xef00, 0xed4d, 0xeea3, 0xed4d, 0xeea3, 0xede1, 0xef3d, 0xede1, 0xef3d, -0xef17, 0xf07f, 0xef17, 0xf07f, 0xef78, 0xf0f0, 0xef78, 0xf0f0, 0xef78, 0xf0f0, 0xf069, -0xf1f6, 0xf069, 0xf1f6, 0xf08b, 0xf231, 0xf08b, 0xf231, 0xef5e, 0xf11e, 0xef5e, 0xf11e, -0xee4c, 0xf027, 0xee4c, 0xf027, 0xed36, 0xef2e, 0xed36, 0xef2e, 0xec51, 0xee64, 0xec51, -0xee64, 0xec51, 0xee64, 0xebcf, 0xedfa, 0xebcf, 0xedfa, 0xeb10, 0xed51, 0xeb10, 0xed51, -0xeb59, 0xedab, 0xeb59, 0xedab, 0xebfd, 0xee5b, 0xebfd, 0xee5b, 0xeafb, 0xed60, 0xeafb, -0xed60, 0xeabb, 0xed1f, 0xeabb, 0xed1f, 0xeabb, 0xed1f, 0xea3b, 0xec97, 0xea3b, 0xec97, -0xeab0, 0xecfd, 0xeab0, 0xecfd, 0xeb66, 0xed9c, 0xeb66, 0xed9c, 0xec31, 0xee48, 0xec31, -0xee48, 0xed77, 0xef68, 0xed77, 0xef68, 0xed77, 0xef68, 0xef6b, 0xf12f, 0xef6b, 0xf12f, -0xefcf, 0xf160, 0xefcf, 0xf160, 0xf168, 0xf2c0, 0xf168, 0xf2c0, 0xf29a, 0xf3b5, 0xf29a, -0xf3b5, 0xf322, 0xf3fb, 0xf322, 0xf3fb, 0xf4da, 0xf56f, 0xf4da, 0xf56f, 0xf4da, 0xf56f, -0xf642, 0xf692, 0xf642, 0xf692, 0xf8c8, 0xf8d0, 0xf8c8, 0xf8d0, 0xf99b, 0xf95d, 0xf99b, -0xf95d, 0xfab2, 0xfa30, 0xfab2, 0xfa30, 0xfb93, 0xface, 0xfb93, 0xface, 0xfcb5, 0xfbb2, -0xfcb5, 0xfbb2, 0xfcb5, 0xfbb2, 0xff00, 0xfdc2, 0xff00, 0xfdc2, 0x165, 0xfff0, 0x165, -0xfff0, 0x3a8, 0x201, 0x3a8, 0x201, 0x518, 0x345, 0x518, 0x345, 0x5a1, 0x3a7, -0x5a1, 0x3a7, 0x5a1, 0x3a7, 0x756, 0x53a, 0x756, 0x53a, 0x97c, 0x743, 0x97c, -0x743, 0xb9c, 0x94b, 0xb9c, 0x94b, 0xd33, 0xacf, 0xd33, 0xacf, 0xfea, 0xd77, -0xfea, 0xd77, 0x11f2, 0xf72, 0x11f2, 0xf72, 0x11f2, 0xf72, 0x124f, 0xfc6, 0x124f, -0xfc6, 0x1402, 0x1173, 0x1402, 0x1173, 0x1493, 0x11ff, 0x1493, 0x11ff, 0x14fc, 0x1263, -0x14fc, 0x1263, 0x1605, 0x1369, 0x1605, 0x1369, 0x15d7, 0x1338, 0x15d7, 0x1338, 0x15d7, -0x1338, 0x13da, 0x1137, 0x13da, 0x1137, 0x12c8, 0x1021, 0x12c8, 0x1021, 0x10fd, 0xe53, -0x10fd, 0xe53, 0x1102, 0xe53, 0x1102, 0xe53, 0x10de, 0xe2b, 0x10de, 0xe2b, 0x10de, -0xe2b, 0x107f, 0xdc7, 0x107f, 0xdc7, 0x10f8, 0xe3b, 0x10f8, 0xe3b, 0x120e, 0xf4d, -0x120e, 0xf4d, 0x13b0, 0x10eb, 0x13b0, 0x10eb, 0x136f, 0x10a8, 0x136f, 0x10a8, 0x142e, -0x1168, 0x142e, 0x1168, 0x142e, 0x1168, 0x143b, 0x1177, 0x143b, 0x1177, 0x13b3, 0x10f5, -0x13b3, 0x10f5, 0x135b, 0x10a4, 0x135b, 0x10a4, 0x12a5, 0xffa, 0x12a5, 0xffa, 0x1135, -0xe9a, 0x1135, 0xe9a, 0x119f, 0xf17, 0x119f, 0xf17, 0x119f, 0xf17, 0x11d1, 0xf61, -0x11d1, 0xf61, 0x1208, 0xfb4, 0x1208, 0xfb4, 0x11e2, 0xfac, 0x11e2, 0xfac, 0x1146, -0xf33, 0x1146, 0xf33, 0x10c8, 0xedb, 0x10c8, 0xedb, 0x10c8, 0xedb, 0xf84, 0xdbf, -0xf84, 0xdbf, 0xe9f, 0xd05, 0xe9f, 0xd05, 0xe15, 0xca8, 0xe15, 0xca8, 0xd13, -0xbd3, 0xd13, 0xbd3, 0xc5f, 0xb4c, 0xc5f, 0xb4c, 0xc7d, 0xb97, 0xc7d, 0xb97, -0xc7d, 0xb97, 0xabc, 0xa03, 0xabc, 0xa03, 0x98d, 0x8ff, 0x98d, 0x8ff, 0x76d, -0x708, 0x76d, 0x708, 0x533, 0x4f4, 0x533, 0x4f4, 0x2ff, 0x2e3, 0x2ff, 0x2e3, -0x23a, 0x23e, 0x23a, 0x23e, 0x23a, 0x23e, 0x1d7, 0x1f9, 0x1d7, 0x1f9, 0xe0, -0x11b, 0xe0, 0x11b, 0x89, 0xdb, 0x89, 0xdb, 0xff84, 0xffe9, 0xff84, 0xffe9, -0xfeba, 0xff2e, 0xfeba, 0xff2e, 0xfeba, 0xff2e, 0xfe0b, 0xfe8c, 0xfe0b, 0xfe8c, 0xfd48, -0xfdd4, 0xfd48, 0xfdd4, 0xfcb5, 0xfd4a, 0xfcb5, 0xfd4a, 0xfbcc, 0xfc68, 0xfbcc, 0xfc68, -0xfad0, 0xfb72, 0xfad0, 0xfb72, 0xfb11, 0xfbb7, 0xfb11, 0xfbb7, 0xfb11, 0xfbb7, 0xfb20, -0xfbc9, 0xfb20, 0xfbc9, 0xfb7d, 0xfc29, 0xfb7d, 0xfc29, 0xfa60, 0xfb0f, 0xfa60, 0xfb0f, -0xfa8c, 0xfb3d, 0xfa8c, 0xfb3d, 0xfaac, 0xfb5f, 0xfaac, 0xfb5f, 0xfa74, 0xfb29, 0xfa74, -0xfb29, 0xfa74, 0xfb29, 0xfb62, 0xfc19, 0xfb62, 0xfc19, 0xfbdb, 0xfc92, 0xfbdb, 0xfc92, -0xfc21, 0xfcd8, 0xfc21, 0xfcd8, 0xfcc4, 0xfd79, 0xfcc4, 0xfd79, 0xfd4c, 0xfdfd, 0xfd4c, -0xfdfd, 0xfd4c, 0xfdfd, 0xfdf9, 0xfea5, 0xfdf9, 0xfea5, 0xff2e, 0xffd0, 0xff2e, 0xffd0, -0x16, 0xac, 0x16, 0xac, 0x1bb, 0x241, 0x1bb, 0x241, 0x291, 0x302, 0x291, -0x302, 0x37e, 0x3d6, 0x37e, 0x3d6, 0x37e, 0x3d6, 0x381, 0x3bc, 0x381, 0x3bc, -0x4f0, 0x508, 0x4f0, 0x508, 0x640, 0x630, 0x640, 0x630, 0x6f0, 0x6b3, 0x6f0, -0x6b3, 0x7de, 0x76f, 0x7de, 0x76f, 0x7de, 0x76f, 0x87f, 0x7d9, 0x87f, 0x7d9, -0x83b, 0x75b, 0x83b, 0x75b, 0x8a8, 0x78a, 0x8a8, 0x78a, 0x983, 0x825, 0x983, -0x825, 0xa3d, 0x89c, 0xa3d, 0x89c, 0xc7c, 0xa97, 0xc7c, 0xa97, 0xc7c, 0xa97, -0xd74, 0xb4b, 0xd74, 0xb4b, 0xef9, 0xc8c, 0xef9, 0xc8c, 0xf6b, 0xcbd, 0xf6b, -0xcbd, 0x106a, 0xd7b, 0x106a, 0xd7b, 0x11ef, 0xec5, 0x11ef, 0xec5, 0x13ad, 0x104b, -0x13ad, 0x104b, 0x13ad, 0x104b, 0x159f, 0x1209, 0x159f, 0x1209, 0x1727, 0x1364, 0x1727, -0x1364, 0x17bd, 0x13d2, 0x17bd, 0x13d2, 0x1946, 0x1539, 0x1946, 0x1539, 0x1ad3, 0x16ab, -0x1ad3, 0x16ab, 0x1ad3, 0x16ab, 0x1b8d, 0x1751, 0x1b8d, 0x1751, 0x1dde, 0x1994, 0x1dde, -0x1994, 0x1ff7, 0x1ba6, 0x1ff7, 0x1ba6, 0x20e0, 0x1c8e, 0x20e0, 0x1c8e, 0x2002, 0x1bb5, -0x2002, 0x1bb5, 0x2007, 0x1bc5, 0x2007, 0x1bc5, 0x2007, 0x1bc5, 0x1f4a, 0x1b16, 0x1f4a, -0x1b16, 0x1da3, 0x1982, 0x1da3, 0x1982, 0x1d33, 0x1928, 0x1d33, 0x1928, 0x1d0a, 0x1917, -0x1d0a, 0x1917, 0x1c3e, 0x1866, 0x1c3e, 0x1866, 0x1cb8, 0x18fc, 0x1cb8, 0x18fc, 0x1cb8, -0x18fc, 0x1ca1, 0x1902, 0x1ca1, 0x1902, 0x1c35, 0x18b3, 0x1c35, 0x18b3, 0x1afe, 0x1799, -0x1afe, 0x1799, 0x1a5c, 0x1713, 0x1a5c, 0x1713, 0x19b7, 0x1689, 0x19b7, 0x1689, 0x19b7, -0x1689, 0x1855, 0x1542, 0x1855, 0x1542, 0x17c7, 0x14ce, 0x17c7, 0x14ce, 0x1664, 0x1383, -0x1664, 0x1383, 0x16a3, 0x13da, 0x16a3, 0x13da, 0x164a, 0x1399, 0x164a, 0x1399, 0x1575, -0x12db, 0x1575, 0x12db, 0x1575, 0x12db, 0x13f9, 0x1176, 0x13f9, 0x1176, 0x131d, 0x10b1, -0x131d, 0x10b1, 0x129b, 0x1047, 0x129b, 0x1047, 0x11b9, 0xf7e, 0x11b9, 0xf7e, 0x10d4, -0xeb4, 0x10d4, 0xeb4, 0xfb9, 0xdb5, 0xfb9, 0xdb5, 0xfb9, 0xdb5, 0xd93, 0xbad, -0xd93, 0xbad, 0xc60, 0xa9b, 0xc60, 0xa9b, 0xc02, 0xa5f, 0xc02, 0xa5f, 0xb34, -0x9b6, 0xb34, 0x9b6, 0xa55, 0x8fd, 0xa55, 0x8fd, 0xa55, 0x8fd, 0x7fb, 0x6cb, -0x7fb, 0x6cb, 0x5e3, 0x4dd, 0x5e3, 0x4dd, 0x365, 0x28a, 0x365, 0x28a, 0xc4, -0x14, 0xc4, 0x14, 0xffbd, 0xff38, 0xffbd, 0xff38, 0xff9f, 0xff45, 0xff9f, 0xff45, -0xff9f, 0xff45, 0xfde8, 0xfdb8, 0xfde8, 0xfdb8, 0xfde1, 0xfdd9, 0xfde1, 0xfdd9, 0xfcd3, -0xfcf2, 0xfcd3, 0xfcf2, 0xfc3a, 0xfc7c, 0xfc3a, 0xfc7c, 0xfc2f, 0xfc90, 0xfc2f, 0xfc90, -0xfbbe, 0xfc3c, 0xfbbe, 0xfc3c, 0xfbbe, 0xfc3c, 0xfc32, 0xfcc8, 0xfc32, 0xfcc8, 0xfb40, -0xfbe9, 0xfb40, 0xfbe9, 0xfa71, 0xfb2a, 0xfa71, 0xfb2a, 0xf94d, 0xfa10, 0xf94d, 0xfa10, -0xf869, 0xf933, 0xf869, 0xf933, 0xf869, 0xf933, 0xf7ef, 0xf8bb, 0xf7ef, 0xf8bb, 0xf7a2, -0xf86b, 0xf7a2, 0xf86b, 0xf6fe, 0xf7c2, 0xf6fe, 0xf7c2, 0xf817, 0xf8d2, 0xf817, 0xf8d2, -0xf87b, 0xf929, 0xf87b, 0xf929, 0xf8da, 0xf97b, 0xf8da, 0xf97b, 0xf8da, 0xf97b, 0xf8c1, -0xf953, 0xf8c1, 0xf953, 0xf8a8, 0xf92a, 0xf8a8, 0xf92a, 0xf8cf, 0xf941, 0xf8cf, 0xf941, -0xf843, 0xf8a6, 0xf843, 0xf8a6, 0xf89a, 0xf8ef, 0xf89a, 0xf8ef, 0xf81c, 0xf865, 0xf81c, -0xf865, 0xf81c, 0xf865, 0xf752, 0xf793, 0xf752, 0xf793, 0xf76f, 0xf7a9, 0xf76f, 0xf7a9, -0xf7bd, 0xf7f4, 0xf7bd, 0xf7f4, 0xf827, 0xf860, 0xf827, 0xf860, 0xf981, 0xf9bf, 0xf981, -0xf9bf, 0xf981, 0xf9bf, 0xfaa2, 0xfae9, 0xfaa2, 0xfae9, 0xfb73, 0xfbc7, 0xfb73, 0xfbc7, -0xfaab, 0xfb10, 0xfaab, 0xfb10, 0xfa4d, 0xfac8, 0xfa4d, 0xfac8, 0xf8da, 0xf96e, 0xf8da, -0xf96e, 0xf81c, 0xf8cc, 0xf81c, 0xf8cc, 0xf81c, 0xf8cc, 0xf755, 0xf826, 0xf755, 0xf826, -0xf5fd, 0xf6f0, 0xf5fd, 0xf6f0, 0xf5eb, 0xf702, 0xf5eb, 0xf702, 0xf5ed, 0xf72b, 0xf5ed, -0xf72b, 0xf5c2, 0xf728, 0xf5c2, 0xf728, 0xf498, 0xf627, 0xf498, 0xf627, 0xf498, 0xf627, -0xf4b6, 0xf66f, 0xf4b6, 0xf66f, 0xf56c, 0xf74f, 0xf56c, 0xf74f, 0xf511, 0xf71e, 0xf511, -0xf71e, 0xf4c0, 0xf6f7, 0xf4c0, 0xf6f7, 0xf54d, 0xf7ac, 0xf54d, 0xf7ac, 0xf54d, 0xf7ac, -0xf423, 0xf6ab, 0xf423, 0xf6ab, 0xf441, 0xf6f0, 0xf441, 0xf6f0, 0xf3f5, 0xf6ca, 0xf3f5, -0xf6ca, 0xf2c2, 0xf5bc, 0xf2c2, 0xf5bc, 0xf1bf, 0xf4dd, 0xf1bf, 0xf4dd, 0xf12b, 0xf46b, -0xf12b, 0xf46b, 0xf12b, 0xf46b, 0xf0d6, 0xf436, 0xf0d6, 0xf436, 0xefc5, 0xf345, 0xefc5, -0xf345, 0xee7e, 0xf21b, 0xee7e, 0xf21b, 0xeda5, 0xf15e, 0xeda5, 0xf15e, 0xeca7, 0xf07b, -0xeca7, 0xf07b, 0xead2, 0xeebe, 0xead2, 0xeebe, 0xead2, 0xeebe, 0xea5a, 0xee5c, 0xea5a, -0xee5c, 0xe930, 0xed46, 0xe930, 0xed46, 0xe935, 0xed5d, 0xe935, 0xed5d, 0xe93d, 0xed74, -0xe93d, 0xed74, 0xe8c9, 0xed0c, 0xe8c9, 0xed0c, 0xe8c9, 0xed0c, 0xe7ce, 0xec1a, 0xe7ce, -0xec1a, 0xe6b3, 0xeb05, 0xe6b3, 0xeb05, 0xe5f6, 0xea4a, 0xe5f6, 0xea4a, 0xe500, 0xe952, -0xe500, 0xe952, 0xe430, 0xe87c, 0xe430, 0xe87c, 0xe48f, 0xe8d1, 0xe48f, 0xe8d1, 0xe48f, -0xe8d1, 0xe466, 0xe899, 0xe466, 0xe899, 0xe488, 0xe8a9, 0xe488, 0xe8a9, 0xe5d9, 0xe9e3, -0xe5d9, 0xe9e3, 0xe696, 0xea84, 0xe696, 0xea84, 0xe7fb, 0xebca, 0xe7fb, 0xebca, 0xe84f, -0xebfa, 0xe84f, 0xebfa, 0xe84f, 0xebfa, 0xe932, 0xecb7, 0xe932, 0xecb7, 0xe92f, 0xec8a, -0xe92f, 0xec8a, 0xe904, 0xec32, 0xe904, 0xec32, 0xe929, 0xec28, 0xe929, 0xec28, 0xe9c1, -0xec91, 0xe9c1, 0xec91, 0xe9c1, 0xec91, 0xeae7, 0xed87, 0xeae7, 0xed87, 0xed21, 0xef91, -0xed21, 0xef91, 0xeeb2, 0xf0f3, 0xeeb2, 0xf0f3, 0xeed1, 0xf0e4, 0xeed1, 0xf0e4, 0xee0b, -0xeff3, 0xee0b, 0xeff3, 0xed1a, 0xeeda, 0xed1a, 0xeeda, 0xed1a, 0xeeda, 0xed12, 0xeeae, -0xed12, 0xeeae, 0xecc2, 0xee3e, 0xecc2, 0xee3e, 0xed80, 0xeee0, 0xed80, 0xeee0, 0xed85, -0xeece, 0xed85, 0xeece, 0xedf7, 0xef2f, 0xedf7, 0xef2f, 0xedf7, 0xef2f, 0xedaf, 0xeedb, -0xedaf, 0xeedb, 0xed26, 0xee4c, 0xed26, 0xee4c, 0xed6d, 0xee91, 0xed6d, 0xee91, 0xee6b, -0xef93, 0xee6b, 0xef93, 0xef3e, 0xf06e, 0xef3e, 0xf06e, 0xefb2, 0xf0ee, 0xefb2, 0xf0ee, -0xefb2, 0xf0ee, 0xf03e, 0xf18a, 0xf03e, 0xf18a, 0xf12d, 0xf28a, 0xf12d, 0xf28a, 0xf0b0, -0xf223, 0xf0b0, 0xf223, 0xf051, 0xf1d9, 0xf051, 0xf1d9, 0xef93, 0xf130, 0xef93, 0xf130, -0xed6a, 0xef1c, 0xed6a, 0xef1c, 0xed6a, 0xef1c, 0xeda0, 0xef65, 0xeda0, 0xef65, 0xee09, -0xefdf, 0xee09, 0xefdf, 0xedeb, 0xefd0, 0xedeb, 0xefd0, 0xed0f, 0xeefe, 0xed0f, 0xeefe, -0xed4a, 0xef40, 0xed4a, 0xef40, 0xed4a, 0xef40, 0xed35, 0xef2c, 0xed35, 0xef2c, 0xed3b, -0xef2d, 0xed3b, 0xef2d, 0xed77, 0xef60, 0xed77, 0xef60, 0xeeb0, 0xf089, 0xeeb0, 0xf089, -0xef8d, 0xf151, 0xef8d, 0xf151, 0xf09f, 0xf248, 0xf09f, 0xf248, 0xf09f, 0xf248, 0xf1f8, -0xf381, 0xf1f8, 0xf381, 0xf1e6, 0xf34a, 0xf1e6, 0xf34a, 0xf300, 0xf43a, 0xf300, 0xf43a, -0xf41a, 0xf526, 0xf41a, 0xf526, 0xf5e0, 0xf6bb, 0xf5e0, 0xf6bb, 0xf759, 0xf800, 0xf759, -0xf800, 0xf759, 0xf800, 0xf8d9, 0xf949, 0xf8d9, 0xf949, 0xf9ff, 0xfa38, 0xf9ff, 0xfa38, -0xf9cd, 0xf9ce, 0xf9cd, 0xf9ce, 0xfa0b, 0xf9d5, 0xfa0b, 0xf9d5, 0xfb48, 0xfadb, 0xfb48, -0xfadb, 0xfb48, 0xfadb, 0xfbc5, 0xfb22, 0xfbc5, 0xfb22, 0xfe79, 0xfda3, 0xfe79, 0xfda3, -0x114, 0xd, 0x114, 0xd, 0x2bd, 0x188, 0x2bd, 0x188, 0x3ca, 0x26b, 0x3ca, -0x26b, 0x491, 0x30a, 0x491, 0x30a, 0x491, 0x30a, 0x61e, 0x474, 0x61e, 0x474, -0x731, 0x567, 0x731, 0x567, 0x973, 0x78d, 0x973, 0x78d, 0xb78, 0x97a, 0xb78, -0x97a, 0xca6, 0xa93, 0xca6, 0xa93, 0xd79, 0xb55, 0xd79, 0xb55, 0xd79, 0xb55, -0xf8d, 0xd5b, 0xf8d, 0xd5b, 0x1175, 0xf37, 0x1175, 0xf37, 0x1346, 0x10ff, 0x1346, -0x10ff, 0x144d, 0x11ff, 0x144d, 0x11ff, 0x15a6, 0x1353, 0x15a6, 0x1353, 0x15a6, 0x1353, -0x151f, 0x12c8, 0x151f, 0x12c8, 0x13f8, 0x11a0, 0x13f8, 0x11a0, 0x1345, 0x10ed, 0x1345, -0x10ed, 0x121b, 0xfc3, 0x121b, 0xfc3, 0x1234, 0xfdd, 0x1234, 0xfdd, 0x120c, 0xfb7, -0x120c, 0xfb7, 0x120c, 0xfb7, 0x1293, 0x1041, 0x1293, 0x1041, 0x12b4, 0x1065, 0x12b4, -0x1065, 0x12e9, 0x109f, 0x12e9, 0x109f, 0x13d4, 0x118f, 0x13d4, 0x118f, 0x14f4, 0x12b5, -0x14f4, 0x12b5, 0x1650, 0x1419, 0x1650, 0x1419, 0x1650, 0x1419, 0x17a7, 0x1578, 0x17a7, -0x1578, 0x16d7, 0x14b4, 0x16d7, 0x14b4, 0x1694, 0x147d, 0x1694, 0x147d, 0x1565, 0x135c, -0x1565, 0x135c, 0x1498, 0x129f, 0x1498, 0x129f, 0x1498, 0x129f, 0x1537, 0x1351, 0x1537, -0x1351, 0x159e, 0x13cd, 0x159e, 0x13cd, 0x154e, 0x1394, 0x154e, 0x1394, 0x143f, 0x129e, -0x143f, 0x129e, 0x1472, 0x12ec, 0x1472, 0x12ec, 0x13f0, 0x1287, 0x13f0, 0x1287, 0x13f0, -0x1287, 0x1351, 0x1208, 0x1351, 0x1208, 0x1295, 0x116d, 0x1295, 0x116d, 0x11ae, 0x10a8, -0x11ae, 0x10a8, 0x1081, 0xf9e, 0x1081, 0xf9e, 0x1090, 0xfd2, 0x1090, 0xfd2, 0xf90, -0xef6, 0xf90, 0xef6, 0xf90, 0xef6, 0xdaf, 0xd3a, 0xdaf, 0xd3a, 0xb61, 0xb10, -0xb61, 0xb10, 0x93f, 0x911, 0x93f, 0x911, 0x7c2, 0x7b6, 0x7c2, 0x7b6, 0x61f, -0x634, 0x61f, 0x634, 0x61f, 0x634, 0x495, 0x4c9, 0x495, 0x4c9, 0x31e, 0x36d, -0x31e, 0x36d, 0x1af, 0x218, 0x1af, 0x218, 0xfe, 0x17e, 0xfe, 0x17e, 0xf, -0xa2, 0xf, 0xa2, 0xfd6e, 0xfe12, 0xfd6e, 0xfe12, 0xfd6e, 0xfe12, 0xfcc1, 0xfd71, -0xfcc1, 0xfd71, 0xfc3d, 0xfcf7, 0xfc3d, 0xfcf7, 0xfb7b, 0xfc3b, 0xfb7b, 0xfc3b, 0xfa9f, -0xfb61, 0xfa9f, 0xfb61, 0xfa10, 0xfad2, 0xfa10, 0xfad2, 0xf8ce, 0xf98c, 0xf8ce, 0xf98c, -0xf8ce, 0xf98c, 0xf7c3, 0xf87b, 0xf7c3, 0xf87b, 0xf71f, 0xf7cd, 0xf71f, 0xf7cd, 0xf62a, -0xf6cb, 0xf62a, 0xf6cb, 0xf598, 0xf62c, 0xf598, 0xf62c, 0xf66b, 0xf6ee, 0xf66b, 0xf6ee, -0xf66b, 0xf6ee, 0xf7b8, 0xf829, 0xf7b8, 0xf829, 0xf7bf, 0xf81d, 0xf7bf, 0xf81d, 0xf74e, -0xf797, 0xf74e, 0xf797, 0xf757, 0xf78a, 0xf757, 0xf78a, 0xf8d6, 0xf8f3, 0xf8d6, 0xf8f3, -0xf9ca, 0xf9cf, 0xf9ca, 0xf9cf, 0xf9ca, 0xf9cf, 0xfba1, 0xfb8e, 0xfba1, 0xfb8e, 0xfcdb, -0xfcb1, 0xfcdb, 0xfcb1, 0xfdcd, 0xfd8a, 0xfdcd, 0xfd8a, 0xfed6, 0xfe7b, 0xfed6, 0xfe7b, -0x74, 0x1, 0x74, 0x1, 0x1d6, 0x14a, 0x1d6, 0x14a, 0x1d6, 0x14a, 0x315, -0x270, 0x315, 0x270, 0x499, 0x3db, 0x499, 0x3db, 0x5c3, 0x4ec, 0x5c3, 0x4ec, -0x625, 0x535, 0x625, 0x535, 0x6be, 0x5b4, 0x6be, 0x5b4, 0x6be, 0x5b4, 0x730, -0x60b, 0x730, 0x60b, 0x62e, 0x4ee, 0x62e, 0x4ee, 0x702, 0x5a6, 0x702, 0x5a6, -0x7af, 0x637, 0x7af, 0x637, 0x937, 0x7a2, 0x937, 0x7a2, 0xa67, 0x8b4, 0xa67, -0x8b4, 0xa67, 0x8b4, 0xb6f, 0x99e, 0xb6f, 0x99e, 0xbf6, 0xa06, 0xbf6, 0xa06, -0xc49, 0xa39, 0xc49, 0xa39, 0xe06, 0xbd7, 0xe06, 0xbd7, 0xfe5, 0xd97, 0xfe5, -0xd97, 0x112a, 0xebd, 0x112a, 0xebd, 0x112a, 0xebd, 0x12d4, 0x1047, 0x12d4, 0x1047, -0x1441, 0x1197, 0x1441, 0x1197, 0x14f0, 0x122a, 0x14f0, 0x122a, 0x169b, 0x13b9, 0x169b, -0x13b9, 0x1762, 0x1467, 0x1762, 0x1467, 0x1762, 0x1467, 0x18b3, 0x15a0, 0x18b3, 0x15a0, -0x1ab4, 0x178c, 0x1ab4, 0x178c, 0x1bef, 0x18b5, 0x1bef, 0x18b5, 0x1d34, 0x19eb, 0x1d34, -0x19eb, 0x1e03, 0x1aae, 0x1e03, 0x1aae, 0x1d0f, 0x19b2, 0x1d0f, 0x19b2, 0x1d0f, 0x19b2, -0x1c37, 0x18d5, 0x1c37, 0x18d5, 0x1aaa, 0x1747, 0x1aaa, 0x1747, 0x1a72, 0x1711, 0x1a72, -0x1711, 0x19c3, 0x1668, 0x19c3, 0x1668, 0x1858, 0x1507, 0x1858, 0x1507, 0x1858, 0x1507, -0x18c4, 0x1580, 0x18c4, 0x1580, 0x1932, 0x15fe, 0x1932, 0x15fe, 0x193d, 0x161c, 0x193d, -0x161c, 0x1871, 0x1566, 0x1871, 0x1566, 0x17a4, 0x14b1, 0x17a4, 0x14b1, 0x15ea, 0x1311, -0x15ea, 0x1311, 0x15ea, 0x1311, 0x14ef, 0x1232, 0x14ef, 0x1232, 0x14d6, 0x1236, 0x14d6, -0x1236, 0x139d, 0x111a, 0x139d, 0x111a, 0x1218, 0xfb4, 0x1218, 0xfb4, 0x11cb, 0xf85, -0x11cb, 0xf85, 0x10e1, 0xeb9, 0x10e1, 0xeb9, 0x10e1, 0xeb9, 0x103e, 0xe34, 0x103e, -0xe34, 0xf2a, 0xd3c, 0xf2a, 0xd3c, 0xf1e, 0xd4b, 0xf1e, 0xd4b, 0xf78, 0xdc0, -0xf78, 0xdc0, 0xe93, 0xcf4, 0xe93, 0xcf4, 0xe93, 0xcf4, 0xd4b, 0xbc4, 0xd4b, -0xbc4, 0xb88, 0xa17, 0xb88, 0xa17, 0xbad, 0xa51, 0xbad, 0xa51, 0xbf5, 0xaad, -0xbf5, 0xaad, 0xc02, 0xacc, 0xc02, 0xacc, 0xb2f, 0xa0a, 0xb2f, 0xa0a, 0xb2f, -0xa0a, 0x8de, 0x7cb, 0x8de, 0x7cb, 0x6c8, 0x5c6, 0x6c8, 0x5c6, 0x53c, 0x44a, -0x53c, 0x44a, 0x314, 0x232, 0x314, 0x232, 0x367, 0x296, 0x367, 0x296, 0x28f, -0x1d0, 0x28f, 0x1d0, 0x28f, 0x1d0, 0x1a3, 0xf6, 0x1a3, 0xf6, 0x188, 0xee, -0x188, 0xee, 0xffdf, 0xff59, 0xffdf, 0xff59, 0xffed, 0xff7d, 0xffed, 0xff7d, 0xffcf, -0xff77, 0xffcf, 0xff77, 0xffcf, 0xff77, 0xffe4, 0xffa4, 0xffe4, 0xffa4, 0xff08, 0xfee1, -0xff08, 0xfee1, 0xfde1, 0xfdd5, 0xfde1, 0xfdd5, 0xfdbc, 0xfdcc, 0xfdbc, 0xfdcc, 0xfd31, -0xfd5d, 0xfd31, 0xfd5d, 0xfbe6, 0xfc30, 0xfbe6, 0xfc30, 0xfbe6, 0xfc30, 0xfc03, 0xfc6a, -0xfc03, 0xfc6a, 0xfc69, 0xfcee, 0xfc69, 0xfcee, 0xfc63, 0xfd06, 0xfc63, 0xfd06, 0xfc5b, -0xfd1a, 0xfc5b, 0xfd1a, 0xfbc8, 0xfca3, 0xfbc8, 0xfca3, 0xfb47, 0xfc3e, 0xfb47, 0xfc3e, -0xfb47, 0xfc3e, 0xfb89, 0xfc99, 0xfb89, 0xfc99, 0xfc57, 0xfd7e, 0xfc57, 0xfd7e, 0xfd18, -0xfe55, 0xfd18, 0xfe55, 0xfce9, 0xfe3a, 0xfce9, 0xfe3a, 0xfbc0, 0xfd22, 0xfbc0, 0xfd22, -0xfbc0, 0xfd22, 0xfa79, 0xfbea, 0xfa79, 0xfbea, 0xf929, 0xfaa7, 0xf929, 0xfaa7, 0xf977, -0xfafe, 0xf977, 0xfafe, 0xf997, 0xfb25, 0xf997, 0xfb25, 0xf9d8, 0xfb6c, 0xf9d8, 0xfb6c, -0xfa99, 0xfc30, 0xfa99, 0xfc30, 0xfa99, 0xfc30, 0xfb90, 0xfd27, 0xfb90, 0xfd27, 0xfc0a, -0xfda1, 0xfc0a, 0xfda1, 0xfbdd, 0xfd72, 0xfbdd, 0xfd72, 0xfb05, 0xfc97, 0xfb05, 0xfc97, -0xf957, 0xfae6, 0xf957, 0xfae6, 0xf813, 0xf99d, 0xf813, 0xf99d, 0xf813, 0xf99d, 0xf79f, -0xf925, 0xf79f, 0xf925, 0xf633, 0xf7b4, 0xf633, 0xf7b4, 0xf4b0, 0xf62f, 0xf4b0, 0xf62f, -0xf47c, 0xf5f8, 0xf47c, 0xf5f8, 0xf445, 0xf5c0, 0xf445, 0xf5c0, 0xf445, 0xf5c0, 0xf435, -0xf5af, 0xf435, 0xf5af, 0xf3eb, 0xf567, 0xf3eb, 0xf567, 0xf4ac, 0xf62b, 0xf4ac, 0xf62b, -0xf523, 0xf6a7, 0xf523, 0xf6a7, 0xf618, 0xf7a3, 0xf618, 0xf7a3, 0xf60b, 0xf79e, 0xf60b, -0xf79e, 0xf60b, 0xf79e, 0xf587, 0xf725, 0xf587, 0xf725, 0xf5aa, 0xf753, 0xf5aa, 0xf753, -0xf4fd, 0xf6b3, 0xf4fd, 0xf6b3, 0xf520, 0xf6e5, 0xf520, 0xf6e5, 0xf56d, 0xf740, 0xf56d, -0xf740, 0xf4ad, 0xf691, 0xf4ad, 0xf691, 0xf4ad, 0xf691, 0xf491, 0xf685, 0xf491, 0xf685, -0xf3f6, 0xf5f9, 0xf3f6, 0xf5f9, 0xf1d3, 0xf3e7, 0xf1d3, 0xf3e7, 0xf121, 0xf345, 0xf121, -0xf345, 0xefd1, 0xf203, 0xefd1, 0xf203, 0xefd1, 0xf203, 0xef4f, 0xf18f, 0xef4f, 0xf18f, -0xeeb5, 0xf101, 0xeeb5, 0xf101, 0xedde, 0xf034, 0xedde, 0xf034, 0xedb2, 0xf011, 0xedb2, -0xf011, 0xed0d, 0xef73, 0xed0d, 0xef73, 0xec4b, 0xeeb6, 0xec4b, 0xeeb6, 0xec4b, 0xeeb6, -0xeb05, 0xed72, 0xeb05, 0xed72, 0xea2e, 0xec9b, 0xea2e, 0xec9b, 0xe9fa, 0xec65, 0xe9fa, -0xec65, 0xe9a4, 0xec0b, 0xe9a4, 0xec0b, 0xe8fb, 0xeb5c, 0xe8fb, 0xeb5c, 0xe900, 0xeb58, -0xe900, 0xeb58, 0xe900, 0xeb58, 0xe939, 0xeb87, 0xe939, 0xeb87, 0xea69, 0xecac, 0xea69, -0xecac, 0xeb39, 0xed6e, 0xeb39, 0xed6e, 0xeac5, 0xeceb, 0xeac5, 0xeceb, 0xeafe, 0xed14, -0xeafe, 0xed14, 0xeafe, 0xed14, 0xebaa, 0xedaf, 0xebaa, 0xedaf, 0xec54, 0xee47, 0xec54, -0xee47, 0xec53, 0xee34, 0xec53, 0xee34, 0xeac2, 0xec90, 0xeac2, 0xec90, 0xeb2f, 0xecec, -0xeb2f, 0xecec, 0xec36, 0xede0, 0xec36, 0xede0, 0xec36, 0xede0, 0xed66, 0xeeff, 0xed66, -0xeeff, 0xefbd, 0xf146, 0xefbd, 0xf146, 0xef94, 0xf10e, 0xef94, 0xf10e, 0xeea1, 0xf00d, -0xeea1, 0xf00d, 0xedf5, 0xef54, 0xedf5, 0xef54, 0xedf6, 0xef4a, 0xedf6, 0xef4a, 0xedf6, -0xef4a, 0xedeb, 0xef36, 0xedeb, 0xef36, 0xed09, 0xee4d, 0xed09, 0xee4d, 0xecd7, 0xee17, -0xecd7, 0xee17, 0xec39, 0xed76, 0xec39, 0xed76, 0xeb57, 0xec94, 0xeb57, 0xec94, 0xeb57, -0xec94, 0xeba6, 0xece6, 0xeba6, 0xece6, 0xeae8, 0xec2d, 0xeae8, 0xec2d, 0xea70, 0xebbc, -0xea70, 0xebbc, 0xeb1a, 0xec70, 0xeb1a, 0xec70, 0xec95, 0xedf6, 0xec95, 0xedf6, 0xed31, -0xeea0, 0xed31, 0xeea0, 0xed31, 0xeea0, 0xed10, 0xee8e, 0xed10, 0xee8e, 0xedb4, 0xef43, -0xedb4, 0xef43, 0xed79, 0xef1a, 0xed79, 0xef1a, 0xedf6, 0xefa9, 0xedf6, 0xefa9, 0xedcf, -0xef94, 0xedcf, 0xef94, 0xed62, 0xef3a, 0xed62, 0xef3a, 0xed62, 0xef3a, 0xed9e, 0xef87, -0xed9e, 0xef87, 0xed7f, 0xef78, 0xed7f, 0xef78, 0xedc5, 0xefcc, 0xedc5, 0xefcc, 0xedc1, -0xefd4, 0xedc1, 0xefd4, 0xed02, 0xef1d, 0xed02, 0xef1d, 0xed02, 0xef1d, 0xee14, 0xf035, -0xee14, 0xf035, 0xee33, 0xf055, 0xee33, 0xf055, 0xeea5, 0xf0c4, 0xeea5, 0xf0c4, 0xf0ae, -0xf2c6, 0xf0ae, 0xf2c6, 0xf133, 0xf33e, 0xf133, 0xf33e, 0xf1fe, 0xf3f8, 0xf1fe, 0xf3f8, -0xf1fe, 0xf3f8, 0xf169, 0xf34b, 0xf169, 0xf34b, 0xf1ab, 0xf371, 0xf1ab, 0xf371, 0xf257, -0xf3fc, 0xf257, 0xf3fc, 0xf2c1, 0xf440, 0xf2c1, 0xf440, 0xf4a3, 0xf5f7, 0xf4a3, 0xf5f7, -0xf4a3, 0xf5f7, 0xf578, 0xf69e, 0xf578, 0xf69e, 0xf5c3, 0xf6b6, 0xf5c3, 0xf6b6, 0xf6d3, -0xf791, 0xf6d3, 0xf791, 0xf787, 0xf80e, 0xf787, 0xf80e, 0xf8ac, 0xf8fb, 0xf8ac, 0xf8fb, -0xfa4f, 0xfa64, 0xfa4f, 0xfa64, 0xfa4f, 0xfa64, 0xfc17, 0xfbf3, 0xfc17, 0xfbf3, 0xfe2c, -0xfdd0, 0xfe2c, 0xfdd0, 0xfe55, 0xfdc4, 0xfe55, 0xfdc4, 0xfe87, 0xfdc2, 0xfe87, 0xfdc2, -0xb, 0xff16, 0xb, 0xff16, 0x166, 0x44, 0x166, 0x44, 0x166, 0x44, 0x407, -0x2be, 0x407, 0x2be, 0x64a, 0x4dd, 0x64a, 0x4dd, 0x6e3, 0x559, 0x6e3, 0x559, -0x84e, 0x6ac, 0x84e, 0x6ac, 0x95f, 0x7aa, 0x95f, 0x7aa, 0x95f, 0x7aa, 0xb22, -0x960, 0xb22, 0x960, 0xd49, 0xb80, 0xd49, 0xb80, 0xe5a, 0xc8e, 0xe5a, 0xc8e, -0xf60, 0xd96, 0xf60, 0xd96, 0x1107, 0xf43, 0x1107, 0xf43, 0x1269, 0x10af, 0x1269, -0x10af, 0x1269, 0x10af, 0x1188, 0xfda, 0x1188, 0xfda, 0x103e, 0xe9f, 0x103e, 0xe9f, -0xfed, 0xe5f, 0xfed, 0xe5f, 0xfc0, 0xe43, 0xfc0, 0xe43, 0xfcb, 0xe60, 0xfcb, -0xe60, 0xfd4, 0xe7b, 0xfd4, 0xe7b, 0xfd4, 0xe7b, 0xec5, 0xd7c, 0xec5, 0xd7c, -0xd8f, 0xc55, 0xd8f, 0xc55, 0xdfa, 0xcce, 0xdfa, 0xcce, 0xfd2, 0xeb1, 0xfd2, -0xeb1, 0x106c, 0xf54, 0x106c, 0xf54, 0x106c, 0xf54, 0x1109, 0xff7, 0x1109, 0xff7, -0x1197, 0x108a, 0x1197, 0x108a, 0x112c, 0x1021, 0x112c, 0x1021, 0x10c7, 0xfbd, 0x10c7, -0xfbd, 0x106d, 0xf62, 0x106d, 0xf62, 0x110d, 0x1001, 0x110d, 0x1001, 0x110d, 0x1001, -0x11fd, 0x10ef, 0x11fd, 0x10ef, 0x12ed, 0x11dc, 0x12ed, 0x11dc, 0x13dd, 0x12cb, 0x13dd, -0x12cb, 0x1400, 0x12ee, 0x1400, 0x12ee, 0x1388, 0x1277, 0x1388, 0x1277, 0x1354, 0x1247, -0x1354, 0x1247, 0x1354, 0x1247, 0x1192, 0x108b, 0x1192, 0x108b, 0x10a9, 0xfab, 0x10a9, -0xfab, 0x10d1, 0xfdf, 0x10d1, 0xfdf, 0x10a0, 0xfbc, 0x10a0, 0xfbc, 0x10a7, 0xfd6, -0x10a7, 0xfd6, 0x10a7, 0xfd6, 0xfb9, 0xefe, 0xfb9, 0xefe, 0xe2c, 0xd89, 0xe2c, -0xd89, 0xc2b, 0xba5, 0xc2b, 0xba5, 0xaa9, 0xa40, 0xaa9, 0xa40, 0x8f7, 0x8ae, -0x8f7, 0x8ae, 0x6ba, 0x692, 0x6ba, 0x692, 0x6ba, 0x692, 0x5c1, 0x5bb, 0x5c1, -0x5bb, 0x608, 0x624, 0x608, 0x624, 0x4ce, 0x50a, 0x4ce, 0x50a, 0x36e, 0x3cb, -0x36e, 0x3cb, 0x27c, 0x2f7, 0x27c, 0x2f7, 0x138, 0x1cf, 0x138, 0x1cf, 0x138, -0x1cf, 0x64, 0x113, 0x64, 0x113, 0xfef3, 0xffb8, 0xfef3, 0xffb8, 0xfe0f, 0xfee6, -0xfe0f, 0xfee6, 0xfd65, 0xfe4a, 0xfd65, 0xfe4a, 0xfbd0, 0xfcbf, 0xfbd0, 0xfcbf, 0xfbd0, -0xfcbf, 0xfb4f, 0xfc44, 0xfb4f, 0xfc44, 0xfa4c, 0xfb42, 0xfa4c, 0xfb42, 0xf903, 0xf9f7, -0xf903, 0xf9f7, 0xf93b, 0xfa29, 0xf93b, 0xfa29, 0xf92e, 0xfa13, 0xf92e, 0xfa13, 0xf983, -0xfa5a, 0xf983, 0xfa5a, 0xf983, 0xfa5a, 0xf8d9, 0xf9a1, 0xf8d9, 0xf9a1, 0xf7c1, 0xf877, -0xf7c1, 0xf877, 0xf725, 0xf7c8, 0xf725, 0xf7c8, 0xf76f, 0xf7fc, 0xf76f, 0xf7fc, 0xf995, -0xfa0c, 0xf995, 0xfa0c, 0xfad4, 0xfb35, 0xfad4, 0xfb35, 0xfad4, 0xfb35, 0xfb94, 0xfbdd, -0xfb94, 0xfbdd, 0xfca9, 0xfcdb, 0xfca9, 0xfcdb, 0xfd4c, 0xfd67, 0xfd4c, 0xfd67, 0xff2b, -0xff2f, 0xff2b, 0xff2f, 0x95, 0x82, 0x95, 0x82, 0x95, 0x82, 0x105, 0xdc, -0x105, 0xdc, 0x1e8, 0x1a9, 0x1e8, 0x1a9, 0x35e, 0x309, 0x35e, 0x309, 0x513, -0x4a7, 0x513, 0x4a7, 0x480, 0x3fe, 0x480, 0x3fe, 0x40a, 0x371, 0x40a, 0x371, -0x40a, 0x371, 0x4e2, 0x431, 0x4e2, 0x431, 0x59e, 0x4d4, 0x59e, 0x4d4, 0x6d5, -0x5f2, 0x6d5, 0x5f2, 0x86a, 0x76b, 0x86a, 0x76b, 0x941, 0x825, 0x941, 0x825, -0x9f3, 0x8b8, 0x9f3, 0x8b8, 0x9f3, 0x8b8, 0xb1f, 0x9c5, 0xb1f, 0x9c5, 0xcb7, -0xb3b, 0xcb7, 0xb3b, 0xdd7, 0xc39, 0xdd7, 0xc39, 0xf25, 0xd63, 0xf25, 0xd63, -0x10ba, 0xed4, 0x10ba, 0xed4, 0x10ba, 0xed4, 0x1113, 0xf08, 0x1113, 0xf08, 0x12a5, -0x1076, 0x12a5, 0x1076, 0x1450, 0x11fd, 0x1450, 0x11fd, 0x1602, 0x138d, 0x1602, 0x138d, -0x17df, 0x1549, 0x17df, 0x1549, 0x190f, 0x165a, 0x190f, 0x165a, 0x190f, 0x165a, 0x1ab3, -0x17e3, 0x1ab3, 0x17e3, 0x1c0f, 0x1927, 0x1c0f, 0x1927, 0x1d58, 0x1a5c, 0x1d58, 0x1a5c, -0x1da1, 0x1a93, 0x1da1, 0x1a93, 0x1cbb, 0x19a1, 0x1cbb, 0x19a1, 0x1d4c, 0x1a2b, 0x1d4c, -0x1a2b, 0x1d4c, 0x1a2b, 0x1d45, 0x1a20, 0x1d45, 0x1a20, 0x1c6d, 0x194a, 0x1c6d, 0x194a, -0x1ce1, 0x19c3, 0x1ce1, 0x19c3, 0x1c9d, 0x1989, 0x1c9d, 0x1989, 0x1cde, 0x19d8, 0x1cde, -0x19d8, 0x1cde, 0x19d8, 0x1d18, 0x1a23, 0x1d18, 0x1a23, 0x1c39, 0x1957, 0x1c39, 0x1957, -0x1b5b, 0x1890, 0x1b5b, 0x1890, 0x1a45, 0x1793, 0x1a45, 0x1793, 0x1a09, 0x1770, 0x1a09, -0x1770, 0x19c6, 0x1748, 0x19c6, 0x1748, 0x19c6, 0x1748, 0x17ea, 0x1587, 0x17ea, 0x1587, -0x16b8, 0x146f, 0x16b8, 0x146f, 0x15d4, 0x13a4, 0x15d4, 0x13a4, 0x1472, 0x125a, 0x1472, -0x125a, 0x136c, 0x116b, 0x136c, 0x116b, 0x1216, 0x102a, 0x1216, 0x102a, 0x1216, 0x102a, -0x10fa, 0xf21, 0x10fa, 0xf21, 0xfe3, 0xe1b, 0xfe3, 0xe1b, 0xf77, 0xdbe, 0xf77, -0xdbe, 0xf49, 0xd9d, 0xf49, 0xd9d, 0xdbf, 0xc1f, 0xdbf, 0xc1f, 0xdbf, 0xc1f, -0xccf, 0xb39, 0xccf, 0xb39, 0xc8a, 0xafe, 0xc8a, 0xafe, 0xc4d, 0xaca, 0xc4d, -0xaca, 0xc59, 0xade, 0xc59, 0xade, 0xae8, 0x976, 0xae8, 0x976, 0x89f, 0x737, -0x89f, 0x737, 0x89f, 0x737, 0x6ad, 0x54f, 0x6ad, 0x54f, 0x54e, 0x3fc, 0x54e, -0x3fc, 0x449, 0x305, 0x449, 0x305, 0x369, 0x235, 0x369, 0x235, 0x247, 0x125, -0x247, 0x125, 0x247, 0x125, 0x1a3, 0x96, 0x1a3, 0x96, 0x17d, 0x87, 0x17d, -0x87, 0xa7, 0xffc9, 0xa7, 0xffc9, 0xffe8, 0xff25, 0xffe8, 0xff25, 0xff44, 0xfe9f, -0xff44, 0xfe9f, 0xff4f, 0xfec9, 0xff4f, 0xfec9, 0xff4f, 0xfec9, 0xffa5, 0xff3e, 0xffa5, -0xff3e, 0xff47, 0xff02, 0xff47, 0xff02, 0xfe28, 0xfe05, 0xfe28, 0xfe05, 0xfdc7, 0xfdc6, -0xfdc7, 0xfdc6, 0xfd43, 0xfd64, 0xfd43, 0xfd64, 0xfc9e, 0xfce2, 0xfc9e, 0xfce2, 0xfc9e, -0xfce2, 0xfd7e, 0xfde2, 0xfd7e, 0xfde2, 0xfdc4, 0xfe48, 0xfdc4, 0xfe48, 0xfdd0, 0xfe72, -0xfdd0, 0xfe72, 0xfd67, 0xfe25, 0xfd67, 0xfe25, 0xfc4e, 0xfd27, 0xfc4e, 0xfd27, 0xfc4e, -0xfd27, 0xfc1d, 0xfd0f, 0xfc1d, 0xfd0f, 0xfc65, 0xfd6e, 0xfc65, 0xfd6e, 0xfd44, 0xfe61, -0xfd44, 0xfe61, 0xfd7a, 0xfea8, 0xfd7a, 0xfea8, 0xfc5a, 0xfd99, 0xfc5a, 0xfd99, 0xfc37, -0xfd84, 0xfc37, 0xfd84, 0xfc37, 0xfd84, 0xfb94, 0xfced, 0xfb94, 0xfced, 0xfa70, 0xfbd4, -0xfa70, 0xfbd4, 0xfaaa, 0xfc17, 0xfaaa, 0xfc17, 0xfacc, 0xfc40, 0xfacc, 0xfc40, 0xfbc6, -0xfd42, 0xfbc6, 0xfd42, 0xfce7, 0xfe68, 0xfce7, 0xfe68, 0xfce7, 0xfe68, 0xfc87, 0xfe0d, -0xfc87, 0xfe0d, 0xfb83, 0xfd0e, 0xfb83, 0xfd0e, 0xfa93, 0xfc22, 0xfa93, 0xfc22, 0xfa65, -0xfbf8, 0xfa65, 0xfbf8, 0xf9a2, 0xfb38, 0xf9a2, 0xfb38, 0xf9a2, 0xfb38, 0xf874, 0xfa0e, -0xf874, 0xfa0e, 0xf826, 0xf9c3, 0xf826, 0xf9c3, 0xf6a3, 0xf842, 0xf6a3, 0xf842, 0xf4cf, -0xf670, 0xf4cf, 0xf670, 0xf410, 0xf5b4, 0xf410, 0xf5b4, 0xf28d, 0xf433, 0xf28d, 0xf433, -0xf28d, 0xf433, 0xf12f, 0xf2d7, 0xf12f, 0xf2d7, 0xf0fd, 0xf2a7, 0xf0fd, 0xf2a7, 0xf217, -0xf3c2, 0xf217, 0xf3c2, 0xf2e8, 0xf493, 0xf2e8, 0xf493, 0xf29c, 0xf448, 0xf29c, 0xf448, -0xf2c3, 0xf470, 0xf2c3, 0xf470, 0xf2c3, 0xf470, 0xf23d, 0xf3eb, 0xf23d, 0xf3eb, 0xf1ba, -0xf368, 0xf1ba, 0xf368, 0xf206, 0xf3b5, 0xf206, 0xf3b5, 0xf1da, 0xf38b, 0xf1da, 0xf38b, -0xf103, 0xf2b6, 0xf103, 0xf2b6, 0xf103, 0xf2b6, 0xf05e, 0xf214, 0xf05e, 0xf214, 0xf00f, -0xf1c9, 0xf00f, 0xf1c9, 0xeecb, 0xf089, 0xeecb, 0xf089, 0xed26, 0xeeeb, 0xed26, 0xeeeb, -0xebf3, 0xedc0, 0xebf3, 0xedc0, 0xebc8, 0xed9e, 0xebc8, 0xed9e, 0xebc8, 0xed9e, 0xec30, -0xee11, 0xec30, 0xee11, 0xebf6, 0xede4, 0xebf6, 0xede4, 0xeb23, 0xed1f, 0xeb23, 0xed1f, -0xeab3, 0xecbe, 0xeab3, 0xecbe, 0xea1c, 0xec38, 0xea1c, 0xec38, 0xea33, 0xec62, 0xea33, -0xec62, 0xea33, 0xec62, 0xead3, 0xed15, 0xead3, 0xed15, 0xe9ed, 0xec42, 0xe9ed, 0xec42, -0xe9b2, 0xec1a, 0xe9b2, 0xec1a, 0xe8aa, 0xeb24, 0xe8aa, 0xeb24, 0xe80c, 0xea99, 0xe80c, -0xea99, 0xe80c, 0xea99, 0xe8b6, 0xeb54, 0xe8b6, 0xeb54, 0xe877, 0xeb24, 0xe877, 0xeb24, -0xe937, 0xebf0, 0xe937, 0xebf0, 0xea08, 0xeccb, 0xea08, 0xeccb, 0xea51, 0xed1b, 0xea51, -0xed1b, 0xea96, 0xed64, 0xea96, 0xed64, 0xea96, 0xed64, 0xeaa7, 0xed75, 0xeaa7, 0xed75, -0xea40, 0xed0b, 0xea40, 0xed0b, 0xe931, 0xebf3, 0xe931, 0xebf3, 0xe8e9, 0xeba0, 0xe8e9, -0xeba0, 0xe9e5, 0xec8d, 0xe9e5, 0xec8d, 0xeacc, 0xed61, 0xeacc, 0xed61, 0xeacc, 0xed61, -0xec0c, 0xee8b, 0xec0c, 0xee8b, 0xeccf, 0xef35, 0xeccf, 0xef35, 0xed2a, 0xef75, 0xed2a, -0xef75, 0xee22, 0xf050, 0xee22, 0xf050, 0xee10, 0xf020, 0xee10, 0xf020, 0xee10, 0xf020, -0xed7a, 0xef6b, 0xed7a, 0xef6b, 0xecee, 0xeec2, 0xecee, 0xeec2, 0xecb4, 0xee6c, 0xecb4, -0xee6c, 0xed57, 0xeef3, 0xed57, 0xeef3, 0xed12, 0xee95, 0xed12, 0xee95, 0xec85, 0xedf3, -0xec85, 0xedf3, 0xec85, 0xedf3, 0xec64, 0xedc0, 0xec64, 0xedc0, 0xebe4, 0xed32, 0xebe4, -0xed32, 0xec07, 0xed4c, 0xec07, 0xed4c, 0xec5b, 0xed9b, 0xec5b, 0xed9b, 0xec0b, 0xed49, -0xec0b, 0xed49, 0xebc1, 0xed04, 0xebc1, 0xed04, 0xebc1, 0xed04, 0xec68, 0xedb2, 0xec68, -0xedb2, 0xecfb, 0xee50, 0xecfb, 0xee50, 0xece4, 0xee48, 0xece4, 0xee48, 0xed3a, 0xeeb0, -0xed3a, 0xeeb0, 0xeda8, 0xef31, 0xeda8, 0xef31, 0xeda8, 0xef31, 0xed7c, 0xef19, 0xed7c, -0xef19, 0xedd8, 0xef89, 0xedd8, 0xef89, 0xee58, 0xf01d, 0xee58, 0xf01d, 0xed89, 0xef60, -0xed89, 0xef60, 0xebfe, 0xede5, 0xebfe, 0xede5, 0xec09, 0xedfc, 0xec09, 0xedfc, 0xec09, -0xedfc, 0xecea, 0xeee5, 0xecea, 0xeee5, 0xed16, 0xef12, 0xed16, 0xef12, 0xedc2, 0xefbc, -0xedc2, 0xefbc, 0xeeaa, 0xf09b, 0xeeaa, 0xf09b, 0xef94, 0xf175, 0xef94, 0xf175, 0xf0c1, -0xf28c, 0xf0c1, 0xf28c, 0xf0c1, 0xf28c, 0xf226, 0xf3d4, 0xf226, 0xf3d4, 0xf266, 0xf3f0, -0xf266, 0xf3f0, 0xf348, 0xf4a8, 0xf348, 0xf4a8, 0xf468, 0xf599, 0xf468, 0xf599, 0xf56c, -0xf667, 0xf56c, 0xf667, 0xf56c, 0xf667, 0xf5c8, 0xf68a, 0xf5c8, 0xf68a, 0xf5ab, 0xf630, -0xf5ab, 0xf630, 0xf777, 0xf7bd, 0xf777, 0xf7bd, 0xf90f, 0xf913, 0xf90f, 0xf913, 0xfb8f, -0xfb52, 0xfb8f, 0xfb52, 0xfdc6, 0xfd47, 0xfdc6, 0xfd47, 0xfdc6, 0xfd47, 0xff1c, 0xfe5e, -0xff1c, 0xfe5e, 0xffec, 0xfef1, 0xffec, 0xfef1, 0x65, 0xff2f, 0x65, 0xff2f, 0x1c0, -0x54, 0x1c0, 0x54, 0x2f7, 0x15a, 0x2f7, 0x15a, 0x4d4, 0x30b, 0x4d4, 0x30b, -0x4d4, 0x30b, 0x706, 0x518, 0x706, 0x518, 0x7fe, 0x5f0, 0x7fe, 0x5f0, 0x92f, -0x708, 0x92f, 0x708, 0xa88, 0x84f, 0xa88, 0x84f, 0xb88, 0x942, 0xb88, 0x942, -0xb88, 0x942, 0xdb8, 0xb6a, 0xdb8, 0xb6a, 0xfef, 0xd9f, 0xfef, 0xd9f, 0x122d, -0xfe0, 0x122d, 0xfe0, 0x143c, 0x11f6, 0x143c, 0x11f6, 0x1422, 0x11e5, 0x1422, 0x11e5, -0x1368, 0x1139, 0x1368, 0x1139, 0x1368, 0x1139, 0x12ab, 0x1089, 0x12ab, 0x1089, 0x11fe, -0xfeb, 0x11fe, 0xfeb, 0x131e, 0x111b, 0x131e, 0x111b, 0x13ce, 0x11da, 0x13ce, 0x11da, -0x1375, 0x118f, 0x1375, 0x118f, 0x1375, 0x118f, 0x1299, 0x10bf, 0x1299, 0x10bf, 0x116f, -0xf9f, 0x116f, 0xf9f, 0x10cc, 0xf05, 0x10cc, 0xf05, 0x10dc, 0xf1b, 0x10dc, 0xf1b, -0x10c9, 0xf0b, 0x10c9, 0xf0b, 0x10cd, 0xf11, 0x10cd, 0xf11, 0x10cd, 0xf11, 0x11a0, -0xfe5, 0x11a0, 0xfe5, 0x11e3, 0x1026, 0x11e3, 0x1026, 0x116e, 0xfaf, 0x116e, 0xfaf, -0x1115, 0xf53, 0x1115, 0xf53, 0x110b, 0xf47, 0x110b, 0xf47, 0x1169, 0xfa3, 0x1169, -0xfa3, 0x1169, 0xfa3, 0x129b, 0x10d6, 0x129b, 0x10d6, 0x135a, 0x1197, 0x135a, 0x1197, -0x137b, 0x11bd, 0x137b, 0x11bd, 0x1323, 0x116d, 0x1323, 0x116d, 0x12e7, 0x113d, 0x12e7, -0x113d, 0x12e7, 0x113d, 0x1202, 0x1068, 0x1202, 0x1068, 0x112c, 0xfa6, 0x112c, 0xfa6, -0x1070, 0xf04, 0x1070, 0xf04, 0x1056, 0xf06, 0x1056, 0xf06, 0x114e, 0x101f, 0x114e, -0x101f, 0x11cf, 0x10c6, 0x11cf, 0x10c6, 0x11cf, 0x10c6, 0x1157, 0x1077, 0x1157, 0x1077, -0xf07, 0xe53, 0xf07, 0xe53, 0xcd6, 0xc50, 0xcd6, 0xc50, 0xb0c, 0xab6, 0xb0c, -0xab6, 0xa4a, 0xa25, 0xa4a, 0xa25, 0x8f8, 0x904, 0x8f8, 0x904, 0x8f8, 0x904, -0x87a, 0x8b7, 0x87a, 0x8b7, 0x7d4, 0x840, 0x7d4, 0x840, 0x629, 0x6c2, 0x629, -0x6c2, 0x5e7, 0x6ab, 0x5e7, 0x6ab, 0x4be, 0x5aa, 0x4be, 0x5aa, 0x4be, 0x5aa, -0x3c3, 0x4d1, 0x3c3, 0x4d1, 0x315, 0x442, 0x315, 0x442, 0x24a, 0x392, 0x24a, -0x392, 0x135, 0x291, 0x135, 0x291, 0xfee7, 0x54, 0xfee7, 0x54, 0xfdaf, 0xff27, -0xfdaf, 0xff27, 0xfdaf, 0xff27, 0xfd34, 0xfeb3, 0xfd34, 0xfeb3, 0xfbc9, 0xfd49, 0xfbc9, -0xfd49, 0xfbfc, 0xfd79, 0xfbfc, 0xfd79, 0xfc72, 0xfde7, 0xfc72, 0xfde7, 0xfbad, 0xfd17, -0xfbad, 0xfd17, 0xfae3, 0xfc3e, 0xfae3, 0xfc3e, 0xfae3, 0xfc3e, 0xfa60, 0xfba9, 0xfa60, -0xfba9, 0xfa73, 0xfba9, 0xfa73, 0xfba9, 0xfb01, 0xfc21, 0xfb01, 0xfc21, 0xfb1e, 0xfc26, -0xfb1e, 0xfc26, 0xfbea, 0xfcd9, 0xfbea, 0xfcd9, 0xfbea, 0xfcd9, 0xfc96, 0xfd6c, 0xfc96, -0xfd6c, 0xfca8, 0xfd64, 0xfca8, 0xfd64, 0xfd7e, 0xfe1f, 0xfd7e, 0xfe1f, 0xfe57, 0xfedc, -0xfe57, 0xfedc, 0xff71, 0xffdb, 0xff71, 0xffdb, 0x109, 0x157, 0x109, 0x157, 0x109, -0x157, 0x2a6, 0x2d8, 0x2a6, 0x2d8, 0x310, 0x326, 0x310, 0x326, 0x312, 0x30b, -0x312, 0x30b, 0x238, 0x213, 0x238, 0x213, 0x10d, 0xca, 0x10d, 0xca, 0xd8, -0x74, 0xd8, 0x74, 0xd8, 0x74, 0x1ea, 0x166, 0x1ea, 0x166, 0x2e7, 0x241, -0x2e7, 0x241, 0x396, 0x2ce, 0x396, 0x2ce, 0x3e2, 0x2f5, 0x3e2, 0x2f5, 0x3fa, -0x2e8, 0x3fa, 0x2e8, 0x3fa, 0x2e8, 0x4f9, 0x3c1, 0x4f9, 0x3c1, 0x615, 0x4b6, -0x615, 0x4b6, 0x64c, 0x4c5, 0x64c, 0x4c5, 0x634, 0x486, 0x634, 0x486, 0x750, -0x57a, 0x750, 0x57a, 0x831, 0x635, 0x831, 0x635, 0x831, 0x635, 0x976, 0x755, -0x976, 0x755, 0x9de, 0x798, 0x9de, 0x798, 0xb4c, 0x8e4, 0xb4c, 0x8e4, 0xe1d, -0xb96, 0xe1d, 0xb96, 0x1082, 0xdde, 0x1082, 0xdde, 0x1286, 0xfc9, 0x1286, 0xfc9, -0x1286, 0xfc9, 0x1428, 0x1156, 0x1428, 0x1156, 0x1510, 0x122c, 0x1510, 0x122c, 0x163a, -0x1348, 0x163a, 0x1348, 0x17d4, 0x14d9, 0x17d4, 0x14d9, 0x17ad, 0x14ac, 0x17ad, 0x14ac, -0x17ad, 0x14ac, 0x1852, 0x1550, 0x1852, 0x1550, 0x1873, 0x1573, 0x1873, 0x1573, 0x1922, -0x162a, 0x1922, 0x162a, 0x1a75, 0x1786, 0x1a75, 0x1786, 0x1a4f, 0x176e, 0x1a4f, 0x176e, -0x1a91, 0x17bf, 0x1a91, 0x17bf, 0x1a91, 0x17bf, 0x1ace, 0x180d, 0x1ace, 0x180d, 0x1aaa, -0x17fd, 0x1aaa, 0x17fd, 0x1a6e, 0x17d6, 0x1a6e, 0x17d6, 0x19a3, 0x171f, 0x19a3, 0x171f, -0x1979, 0x170a, 0x1979, 0x170a, 0x187e, 0x1625, 0x187e, 0x1625, 0x187e, 0x1625, 0x16ef, -0x14aa, 0x16ef, 0x14aa, 0x1679, 0x1446, 0x1679, 0x1446, 0x15d4, 0x13b3, 0x15d4, 0x13b3, -0x150f, 0x12fe, 0x150f, 0x12fe, 0x146d, 0x126a, 0x146d, 0x126a, 0x146d, 0x126a, 0x13d7, -0x11e0, 0x13d7, 0x11e0, 0x12d6, 0x10ea, 0x12d6, 0x10ea, 0x11ad, 0xfca, 0x11ad, 0xfca, -0x101a, 0xe3e, 0x101a, 0xe3e, 0xe8d, 0xcb7, 0xe8d, 0xcb7, 0xd45, 0xb73, 0xd45, -0xb73, 0xd45, 0xb73, 0xda3, 0xbd5, 0xda3, 0xbd5, 0xe70, 0xca6, 0xe70, 0xca6, -0xdeb, 0xc24, 0xdeb, 0xc24, 0xc60, 0xa9c, 0xc60, 0xa9c, 0xb3b, 0x97c, 0xb3b, -0x97c, 0x9f0, 0x836, 0x9f0, 0x836, 0x9f0, 0x836, 0x80a, 0x657, 0x80a, 0x657, -0x68a, 0x4df, 0x68a, 0x4df, 0x502, 0x361, 0x502, 0x361, 0x38a, 0x1f5, 0x38a, -0x1f5, 0x21e, 0x97, 0x21e, 0x97, 0x21e, 0x97, 0x16a, 0xfff2, 0x16a, 0xfff2, -0xe, 0xfea8, 0xe, 0xfea8, 0xff7c, 0xfe2b, 0xff7c, 0xfe2b, 0xffbb, 0xfe80, 0xffbb, -0xfe80, 0xffaa, 0xfe86, 0xffaa, 0xfe86, 0xff57, 0xfe4e, 0xff57, 0xfe4e, 0xff57, 0xfe4e, -0xfeed, 0xfdff, 0xfeed, 0xfdff, 0xfcf7, 0xfc25, 0xfcf7, 0xfc25, 0xfb7c, 0xfac8, 0xfb7c, -0xfac8, 0xfb09, 0xfa74, 0xfb09, 0xfa74, 0xfb0a, 0xfa94, 0xfb0a, 0xfa94, 0xfc02, 0xfbab, -0xfc02, 0xfbab, 0xfc02, 0xfbab, 0xfb7c, 0xfb45, 0xfb7c, 0xfb45, 0xfbaa, 0xfb93, 0xfbaa, -0xfb93, 0xfc27, 0xfc30, 0xfc27, 0xfc30, 0xfc3a, 0xfc62, 0xfc3a, 0xfc62, 0xfc21, 0xfc69, -0xfc21, 0xfc69, 0xfc21, 0xfc69, 0xfc56, 0xfcbd, 0xfc56, 0xfcbd, 0xfbf8, 0xfc7e, 0xfbf8, -0xfc7e, 0xfd35, 0xfdd8, 0xfd35, 0xfdd8, 0xfea5, 0xff66, 0xfea5, 0xff66, 0xfe07, 0xfee5, -0xfe07, 0xfee5, 0xfdbc, 0xfeb7, 0xfdbc, 0xfeb7, 0xfdbc, 0xfeb7, 0xfd2b, 0xfe42, 0xfd2b, -0xfe42, 0xfd7c, 0xfeaf, 0xfd7c, 0xfeaf, 0xfe3c, 0xff8a, 0xfe3c, 0xff8a, 0xfe74, 0xffdc, -0xfe74, 0xffdc, 0xfebc, 0x3d, 0xfebc, 0x3d, 0xfebc, 0x3d, 0xfec1, 0x5b, 0xfec1, -0x5b, 0xfe9a, 0x4b, 0xfe9a, 0x4b, 0xfe11, 0xffd8, 0xfe11, 0xffd8, 0xfcc6, 0xfea1, -0xfcc6, 0xfea1, 0xfc3d, 0xfe2c, 0xfc3d, 0xfe2c, 0xfbba, 0xfdb9, 0xfbba, 0xfdb9, 0xfbba, -0xfdb9, 0xfbb2, 0xfdc0, 0xfbb2, 0xfdc0, 0xfb59, 0xfd74, 0xfb59, 0xfd74, 0xfa3d, 0xfc61, -0xfa3d, 0xfc61, 0xf8ff, 0xfb2b, 0xf8ff, 0xfb2b, 0xf773, 0xf9a3, 0xf773, 0xf9a3, 0xf602, -0xf834, 0xf602, 0xf834, 0xf602, 0xf834, 0xf57c, 0xf7ac, 0xf57c, 0xf7ac, 0xf565, 0xf790, -0xf565, 0xf790, 0xf558, 0xf77d, 0xf558, 0xf77d, 0xf56b, 0xf785, 0xf56b, 0xf785, 0xf4c5, -0xf6d3, 0xf4c5, 0xf6d3, 0xf4c5, 0xf6d3, 0xf4d0, 0xf6d0, 0xf4d0, 0xf6d0, 0xf4c6, 0xf6b4, -0xf4c6, 0xf6b4, 0xf51a, 0xf6f6, 0xf51a, 0xf6f6, 0xf5e6, 0xf7af, 0xf5e6, 0xf7af, 0xf62d, -0xf7e2, 0xf62d, 0xf7e2, 0xf594, 0xf736, 0xf594, 0xf736, 0xf594, 0xf736, 0xf49b, 0xf629, -0xf49b, 0xf629, 0xf29d, 0xf418, 0xf29d, 0xf418, 0xf0b2, 0xf21d, 0xf0b2, 0xf21d, 0xefab, -0xf106, 0xefab, 0xf106, 0xefbf, 0xf10e, 0xefbf, 0xf10e, 0xf007, 0xf14b, 0xf007, 0xf14b, -0xf007, 0xf14b, 0xeeeb, 0xf029, 0xeeeb, 0xf029, 0xee1a, 0xef55, 0xee1a, 0xef55, 0xedeb, -0xef25, 0xedeb, 0xef25, 0xed65, 0xeea3, 0xed65, 0xeea3, 0xed27, 0xee6b, 0xed27, 0xee6b, -0xed27, 0xee6b, 0xeda4, 0xeef2, 0xeda4, 0xeef2, 0xec61, 0xedbd, 0xec61, 0xedbd, 0xebcd, -0xed38, 0xebcd, 0xed38, 0xeb04, 0xec82, 0xeb04, 0xec82, 0xea44, 0xebd6, 0xea44, 0xebd6, -0xe9b9, 0xeb60, 0xe9b9, 0xeb60, 0xe9b9, 0xeb60, 0xe96e, 0xeb2b, 0xe96e, 0xeb2b, 0xea78, -0xec4b, 0xea78, 0xec4b, 0xeb5a, 0xed43, 0xeb5a, 0xed43, 0xebae, 0xedaa, 0xebae, 0xedaa, -0xeb90, 0xed9f, 0xeb90, 0xed9f, 0xebd2, 0xedf1, 0xebd2, 0xedf1, 0xebd2, 0xedf1, 0xeadc, -0xed09, 0xeadc, 0xed09, 0xeb22, 0xed59, 0xeb22, 0xed59, 0xeba6, 0xede4, 0xeba6, 0xede4, -0xebc5, 0xee06, 0xebc5, 0xee06, 0xec83, 0xeec4, 0xec83, 0xeec4, 0xec83, 0xeec4, 0xed3e, -0xef7a, 0xed3e, 0xef7a, 0xee24, 0xf059, 0xee24, 0xf059, 0xeec2, 0xf0ec, 0xeec2, 0xf0ec, -0xef31, 0xf14e, 0xef31, 0xf14e, 0xef35, 0xf142, 0xef35, 0xf142, 0xef08, 0xf104, 0xef08, -0xf104, 0xef08, 0xf104, 0xefa0, 0xf189, 0xefa0, 0xf189, 0xef0f, 0xf0e4, 0xef0f, 0xf0e4, -0xee25, 0xefe7, 0xee25, 0xefe7, 0xee14, 0xefc4, 0xee14, 0xefc4, 0xed8c, 0xef2b, 0xed8c, -0xef2b, 0xedc3, 0xef53, 0xedc3, 0xef53, 0xedc3, 0xef53, 0xedc0, 0xef43, 0xedc0, 0xef43, -0xed86, 0xef01, 0xed86, 0xef01, 0xecf3, 0xee68, 0xecf3, 0xee68, 0xec57, 0xedc9, 0xec57, -0xedc9, 0xec3b, 0xedaf, 0xec3b, 0xedaf, 0xec3b, 0xedaf, 0xed0b, 0xee85, 0xed0b, 0xee85, -0xed00, 0xee83, 0xed00, 0xee83, 0xed10, 0xee9f, 0xed10, 0xee9f, 0xed52, 0xeef0, 0xed52, -0xeef0, 0xec7f, 0xee2f, 0xec7f, 0xee2f, 0xeca1, 0xee65, 0xeca1, 0xee65, 0xeca1, 0xee65, -0xed1d, 0xeef5, 0xed1d, 0xeef5, 0xed7e, 0xef6b, 0xed7e, 0xef6b, 0xee0d, 0xf00e, 0xee0d, -0xf00e, 0xee3d, 0xf050, 0xee3d, 0xf050, 0xee3c, 0xf05f, 0xee3c, 0xf05f, 0xee5d, 0xf08c, -0xee5d, 0xf08c, 0xee5d, 0xf08c, 0xeda2, 0xefd9, 0xeda2, 0xefd9, 0xed44, 0xef7e, 0xed44, -0xef7e, 0xecb8, 0xeef0, 0xecb8, 0xeef0, 0xecc9, 0xeef7, 0xecc9, 0xeef7, 0xedb4, 0xefd2, -0xedb4, 0xefd2, 0xedb4, 0xefd2, 0xeee9, 0xf0f1, 0xeee9, 0xf0f1, 0xf015, 0xf1fe, 0xf015, -0xf1fe, 0xf15d, 0xf321, 0xf15d, 0xf321, 0xf194, 0xf32b, 0xf194, 0xf32b, 0xf1fc, 0xf35f, -0xf1fc, 0xf35f, 0xf1d5, 0xf2fe, 0xf1d5, 0xf2fe, 0xf1d5, 0xf2fe, 0xf09d, 0xf186, 0xf09d, -0xf186, 0xf17e, 0xf222, 0xf17e, 0xf222, 0xf2c9, 0xf324, 0xf2c9, 0xf324, 0xf4fd, 0xf50c, -0xf4fd, 0xf50c, 0xf5f3, 0xf5b4, 0xf5f3, 0xf5b4, 0xf732, 0xf6a4, 0xf732, 0xf6a4, 0xf732, -0xf6a4, 0xf88e, 0xf7b1, 0xf88e, 0xf7b1, 0xfa09, 0xf8de, 0xfa09, 0xf8de, 0xfbcc, 0xfa55, -0xfbcc, 0xfa55, 0xfd6a, 0xfbac, 0xfd6a, 0xfbac, 0xff23, 0xfd20, 0xff23, 0xfd20, 0xff23, -0xfd20, 0x62, 0xfe21, 0x62, 0xfe21, 0x282, 0xa, 0x282, 0xa, 0x3aa, 0x100, -0x3aa, 0x100, 0x4b0, 0x1dc, 0x4b0, 0x1dc, 0x62d, 0x337, 0x62d, 0x337, 0x8b4, -0x5a3, 0x8b4, 0x5a3, 0x8b4, 0x5a3, 0xb95, 0x872, 0xb95, 0x872, 0xdf0, 0xac2, -0xdf0, 0xac2, 0x1044, 0xd13, 0x1044, 0xd13, 0x112b, 0xdff, 0x112b, 0xdff, 0x113b, -0xe1a, 0x113b, 0xe1a, 0x1224, 0xf14, 0x1224, 0xf14, 0x1224, 0xf14, 0x11d1, 0xed8, -0x11d1, 0xed8, 0x1246, 0xf68, 0x1246, 0xf68, 0x12fa, 0x103b, 0x12fa, 0x103b, 0x12a1, -0x1003, 0x12a1, 0x1003, 0x1280, 0x1005, 0x1280, 0x1005, 0x1280, 0x1005, 0x11f3, 0xf9d, -0x11f3, 0xf9d, 0x10fa, 0xec9, 0x10fa, 0xec9, 0x1001, 0xdf3, 0x1001, 0xdf3, 0xfda, -0xdf0, 0xfda, 0xdf0, 0x105c, 0xe92, 0x105c, 0xe92, 0x1153, 0xfa8, 0x1153, 0xfa8, -0x1153, 0xfa8, 0x10b9, 0xf29, 0x10b9, 0xf29, 0x103d, 0xec5, 0x103d, 0xec5, 0xf9e, -0xe3b, 0xf9e, 0xe3b, 0xf07, 0xdb5, 0xf07, 0xdb5, 0xfe7, 0xea4, 0xfe7, 0xea4, -0x10b9, 0xf81, 0x10b9, 0xf81, 0x10b9, 0xf81, 0x10c6, 0xf97, 0x10c6, 0xf97, 0x119c, -0x1073, 0x119c, 0x1073, 0x1288, 0x1163, 0x1288, 0x1163, 0x127e, 0x115d, 0x127e, 0x115d, -0x11a9, 0x108a, 0x11a9, 0x108a, 0x11a9, 0x108a, 0x106a, 0xf4d, 0x106a, 0xf4d, 0xf3f, -0xe24, 0xf3f, 0xe24, 0xe6f, 0xd58, 0xe6f, 0xd58, 0xed2, 0xdc1, 0xed2, 0xdc1, -0xf20, 0xe16, 0xf20, 0xe16, 0xed0, 0xdcf, 0xed0, 0xdcf, 0xed0, 0xdcf, 0xe1c, -0xd29, 0xe1c, 0xd29, 0xd71, 0xc8e, 0xd71, 0xc8e, 0xb7d, 0xaae, 0xb7d, 0xaae, -0xabb, 0xa03, 0xabb, 0xa03, 0x916, 0x877, 0x916, 0x877, 0x916, 0x877, 0x751, -0x6d1, 0x751, 0x6d1, 0x5be, 0x55e, 0x5be, 0x55e, 0x467, 0x42b, 0x467, 0x42b, -0x495, 0x47f, 0x495, 0x47f, 0x394, 0x3a4, 0x394, 0x3a4, 0x32b, 0x365, 0x32b, -0x365, 0x32b, 0x365, 0x26e, 0x2d0, 0x26e, 0x2d0, 0x1ce, 0x25a, 0x1ce, 0x25a, -0x66, 0x11a, 0x66, 0x11a, 0xff01, 0xffdc, 0xff01, 0xffdc, 0xfd43, 0xfe44, 0xfd43, -0xfe44, 0xfcbb, 0xfdde, 0xfcbb, 0xfdde, 0xfcbb, 0xfdde, 0xfd12, 0xfe55, 0xfd12, 0xfe55, -0xfca3, 0xfe02, 0xfca3, 0xfe02, 0xfc66, 0xfdde, 0xfc66, 0xfdde, 0xfb7c, 0xfd07, 0xfb7c, -0xfd07, 0xfb88, 0xfd23, 0xfb88, 0xfd23, 0xfb88, 0xfd23, 0xfbdb, 0xfd81, 0xfbdb, 0xfd81, -0xfbf3, 0xfd9f, 0xfbf3, 0xfd9f, 0xfcb0, 0xfe5d, 0xfcb0, 0xfe5d, 0xfcd3, 0xfe7c, 0xfcd3, -0xfe7c, 0xfdd6, 0xff77, 0xfdd6, 0xff77, 0xfef7, 0x8c, 0xfef7, 0x8c, 0xfef7, 0x8c, -0xfe0a, 0xff8e, 0xfe0a, 0xff8e, 0xfe7d, 0xffec, 0xfe7d, 0xffec, 0xff84, 0xdb, 0xff84, -0xdb, 0xdc, 0x219, 0xdc, 0x219, 0x266, 0x385, 0x266, 0x385, 0x403, 0x502, -0x403, 0x502, 0x403, 0x502, 0x4d5, 0x5b1, 0x4d5, 0x5b1, 0x514, 0x5cc, 0x514, -0x5cc, 0x524, 0x5b6, 0x524, 0x5b6, 0x574, 0x5e0, 0x574, 0x5e0, 0x5e4, 0x628, -0x5e4, 0x628, 0x5e4, 0x628, 0x5dc, 0x5f8, 0x5dc, 0x5f8, 0x64d, 0x640, 0x64d, -0x640, 0x5ff, 0x5c9, 0x5ff, 0x5c9, 0x61e, 0x5bf, 0x61e, 0x5bf, 0x6d1, 0x649, -0x6d1, 0x649, 0x732, 0x682, 0x732, 0x682, 0x732, 0x682, 0x73b, 0x661, 0x73b, -0x661, 0x864, 0x763, 0x864, 0x763, 0x987, 0x85e, 0x987, 0x85e, 0xa19, 0x8c9, -0xa19, 0x8c9, 0xa16, 0x89f, 0xa16, 0x89f, 0xa08, 0x86b, 0xa08, 0x86b, 0xa08, -0x86b, 0x9ad, 0x7eb, 0x9ad, 0x7eb, 0xa55, 0x870, 0xa55, 0x870, 0xc05, 0x9fe, -0xc05, 0x9fe, 0xd8e, 0xb68, 0xd8e, 0xb68, 0xf1a, 0xcd6, 0xf1a, 0xcd6, 0xf1a, -0xcd6, 0x11a3, 0xf42, 0x11a3, 0xf42, 0x139d, 0x1122, 0x139d, 0x1122, 0x144f, 0x11bd, -0x144f, 0x11bd, 0x1607, 0x1361, 0x1607, 0x1361, 0x1643, 0x138c, 0x1643, 0x138c, 0x1705, -0x1440, 0x1705, 0x1440, 0x1705, 0x1440, 0x16ec, 0x141d, 0x16ec, 0x141d, 0x17b5, 0x14df, -0x17b5, 0x14df, 0x1836, 0x155e, 0x1836, 0x155e, 0x17ca, 0x14f3, 0x17ca, 0x14f3, 0x1843, -0x1570, 0x1843, 0x1570, 0x1901, 0x1636, 0x1901, 0x1636, 0x1901, 0x1636, 0x19f4, 0x1734, -0x19f4, 0x1734, 0x1abc, 0x180b, 0x1abc, 0x180b, 0x1bd7, 0x1937, 0x1bd7, 0x1937, 0x1a9a, -0x180e, 0x1a9a, 0x180e, 0x19e5, 0x176f, 0x19e5, 0x176f, 0x19e5, 0x176f, 0x1924, 0x16c6, -0x1924, 0x16c6, 0x189e, 0x165a, 0x189e, 0x165a, 0x186e, 0x1645, 0x186e, 0x1645, 0x17a5, -0x1597, 0x17a5, 0x1597, 0x17f1, 0x15fd, 0x17f1, 0x15fd, 0x17a9, 0x15d0, 0x17a9, 0x15d0, -0x17a9, 0x15d0, 0x168a, 0x14cc, 0x168a, 0x14cc, 0x1567, 0x13c2, 0x1567, 0x13c2, 0x13aa, -0x121d, 0x13aa, 0x121d, 0x134b, 0x11d4, 0x134b, 0x11d4, 0x1289, 0x1126, 0x1289, 0x1126, -0x118c, 0x103d, 0x118c, 0x103d, 0x118c, 0x103d, 0x1168, 0x1029, 0x1168, 0x1029, 0x108d, -0xf5d, 0x108d, 0xf5d, 0xfd5, 0xeb2, 0xfd5, 0xeb2, 0xef2, 0xdda, 0xef2, 0xdda, -0xdce, 0xcbf, 0xdce, 0xcbf, 0xdce, 0xcbf, 0xc16, 0xb10, 0xc16, 0xb10, 0xb36, -0xa37, 0xb36, 0xa37, 0xa48, 0x94e, 0xa48, 0x94e, 0x961, 0x86d, 0x961, 0x86d, -0x7b6, 0x6c7, 0x7b6, 0x6c7, 0x679, 0x590, 0x679, 0x590, 0x679, 0x590, 0x599, -0x4b6, 0x599, 0x4b6, 0x450, 0x373, 0x450, 0x373, 0x3f0, 0x31b, 0x3f0, 0x31b, -0x3d6, 0x308, 0x3d6, 0x308, 0x2ec, 0x228, 0x2ec, 0x228, 0x1b4, 0xfb, 0x1b4, -0xfb, 0x1b4, 0xfb, 0xef, 0x42, 0xef, 0x42, 0x47, 0xffa8, 0x47, 0xffa8, -0xff81, 0xfef0, 0xff81, 0xfef0, 0xfe64, 0xfde3, 0xfe64, 0xfde3, 0xfd70, 0xfd01, 0xfd70, -0xfd01, 0xfd70, 0xfd01, 0xfc02, 0xfba5, 0xfc02, 0xfba5, 0xfbff, 0xfbb5, 0xfbff, 0xfbb5, -0xfbeb, 0xfbb5, 0xfbeb, 0xfbb5, 0xfb71, 0xfb4e, 0xfb71, 0xfb4e, 0xfb2f, 0xfb20, 0xfb2f, -0xfb20, 0xfc14, 0xfc19, 0xfc14, 0xfc19, 0xfc14, 0xfc19, 0xfc22, 0xfc3b, 0xfc22, 0xfc3b, -0xfc9a, 0xfcc6, 0xfc9a, 0xfcc6, 0xfd07, 0xfd45, 0xfd07, 0xfd45, 0xfc0f, 0xfc5e, 0xfc0f, -0xfc5e, 0xfb8d, 0xfbee, 0xfb8d, 0xfbee, 0xfaf3, 0xfb63, 0xfaf3, 0xfb63, 0xfaf3, 0xfb63, -0xfbbe, 0xfc3d, 0xfbbe, 0xfc3d, 0xfb5b, 0xfbe8, 0xfb5b, 0xfbe8, 0xfb8b, 0xfc25, 0xfb8b, -0xfc25, 0xfbc2, 0xfc68, 0xfbc2, 0xfc68, 0xfc44, 0xfcf6, 0xfc44, 0xfcf6, 0xfc44, 0xfcf6, -0xfc0a, 0xfcc7, 0xfc0a, 0xfcc7, 0xfbe2, 0xfca9, 0xfbe2, 0xfca9, 0xfb96, 0xfc68, 0xfb96, -0xfc68, 0xf9fa, 0xfad7, 0xf9fa, 0xfad7, 0xfa48, 0xfb2f, 0xfa48, 0xfb2f, 0xfa58, 0xfb4a, -0xfa58, 0xfb4a, 0xfa58, 0xfb4a, 0xfa45, 0xfb42, 0xfa45, 0xfb42, 0xfa0a, 0xfb12, 0xfa0a, -0xfb12, 0xf95c, 0xfa6f, 0xf95c, 0xfa6f, 0xf8fb, 0xfa1b, 0xf8fb, 0xfa1b, 0xf7f9, 0xf925, -0xf7f9, 0xf925, 0xf71b, 0xf854, 0xf71b, 0xf854, 0xf71b, 0xf854, 0xf645, 0xf78c, 0xf645, -0xf78c, 0xf535, 0xf689, 0xf535, 0xf689, 0xf582, 0xf6e4, 0xf582, 0xf6e4, 0xf501, 0xf671, -0xf501, 0xf671, 0xf4a3, 0xf620, 0xf4a3, 0xf620, 0xf4a3, 0xf620, 0xf43a, 0xf5c4, 0xf43a, -0xf5c4, 0xf452, 0xf5e8, 0xf452, 0xf5e8, 0xf55c, 0xf6fe, 0xf55c, 0xf6fe, 0xf5d2, 0xf77e, -0xf5d2, 0xf77e, 0xf4fb, 0xf6b0, 0xf4fb, 0xf6b0, 0xf3af, 0xf56c, 0xf3af, 0xf56c, 0xf3af, -0xf56c, 0xf26b, 0xf42f, 0xf26b, 0xf42f, 0xf152, 0xf31b, 0xf152, 0xf31b, 0xf16a, 0xf337, -0xf16a, 0xf337, 0xf105, 0xf2d4, 0xf105, 0xf2d4, 0xf0e3, 0xf2b4, 0xf0e3, 0xf2b4, 0xf0e3, -0xf2b4, 0xefea, 0xf1bb, 0xefea, 0xf1bb, 0xee60, 0xf030, 0xee60, 0xf030, 0xed5e, 0xef2d, -0xed5e, 0xef2d, 0xec5e, 0xee2b, 0xec5e, 0xee2b, 0xebdd, 0xeda7, 0xebdd, 0xeda7, 0xecc7, -0xee8f, 0xecc7, 0xee8f, 0xecc7, 0xee8f, 0xed34, 0xeef9, 0xed34, 0xeef9, 0xed39, 0xeefd, -0xed39, 0xeefd, 0xec25, 0xede7, 0xec25, 0xede7, 0xeaaf, 0xec70, 0xeaaf, 0xec70, 0xe952, -0xeb14, 0xe952, 0xeb14, 0xe85a, 0xea1d, 0xe85a, 0xea1d, 0xe85a, 0xea1d, 0xe8fa, 0xeabf, -0xe8fa, 0xeabf, 0xe928, 0xeaf2, 0xe928, 0xeaf2, 0xe91f, 0xeaee, 0xe91f, 0xeaee, 0xe911, -0xeae5, 0xe911, 0xeae5, 0xe96f, 0xeb4b, 0xe96f, 0xeb4b, 0xe96f, 0xeb4b, 0xe911, 0xeaf4, -0xe911, 0xeaf4, 0xe974, 0xeb5f, 0xe974, 0xeb5f, 0xe8f9, 0xeaed, 0xe8f9, 0xeaed, 0xe8ad, -0xeaab, 0xe8ad, 0xeaab, 0xe8ae, 0xeab4, 0xe8ae, 0xeab4, 0xe938, 0xeb48, 0xe938, 0xeb48, -0xe938, 0xeb48, 0xea45, 0xec5d, 0xea45, 0xec5d, 0xea79, 0xec99, 0xea79, 0xec99, 0xeb03, -0xed29, 0xeb03, 0xed29, 0xeae6, 0xed12, 0xeae6, 0xed12, 0xeb98, 0xedc9, 0xeb98, 0xedc9, -0xeb9b, 0xedce, 0xeb9b, 0xedce, 0xeb9b, 0xedce, 0xebfe, 0xee34, 0xebfe, 0xee34, 0xeb7d, -0xedb3, 0xeb7d, 0xedb3, 0xeb27, 0xed5d, 0xeb27, 0xed5d, 0xec35, 0xee6a, 0xec35, 0xee6a, -0xec70, 0xeea3, 0xec70, 0xeea3, 0xec70, 0xeea3, 0xecbe, 0xeeef, 0xecbe, 0xeeef, 0xecc8, -0xeef7, 0xecc8, 0xeef7, 0xecb9, 0xeee5, 0xecb9, 0xeee5, 0xecde, 0xef09, 0xecde, 0xef09, -0xecc6, 0xeef0, 0xecc6, 0xeef0, 0xecfb, 0xef26, 0xecfb, 0xef26, 0xecfb, 0xef26, 0xecb0, -0xeedc, 0xecb0, 0xeedc, 0xed26, 0xef56, 0xed26, 0xef56, 0xee56, 0xf08b, 0xee56, 0xf08b, -0xee36, 0xf072, 0xee36, 0xf072, 0xee5b, 0xf0a0, 0xee5b, 0xf0a0, 0xee64, 0xf0b4, 0xee64, -0xf0b4, 0xee64, 0xf0b4, 0xee9a, 0xf0f7, 0xee9a, 0xf0f7, 0xef43, 0xf1ae, 0xef43, 0xf1ae, -0xf018, 0xf292, 0xf018, 0xf292, 0xf090, 0xf31b, 0xf090, 0xf31b, 0xf110, 0xf3ab, 0xf110, -0xf3ab, 0xf110, 0xf3ab, 0xf0b2, 0xf35f, 0xf0b2, 0xf35f, 0xf0a4, 0xf361, 0xf0a4, 0xf361, -0xf0f8, 0xf3c3, 0xf0f8, 0xf3c3, 0xf0ad, 0xf384, 0xf0ad, 0xf384, 0xf16f, 0xf450, 0xf16f, -0xf450, 0xf26b, 0xf553, 0xf26b, 0xf553, 0xf26b, 0xf553, 0xf303, 0xf5ed, 0xf303, 0xf5ed, -0xf3aa, 0xf693, 0xf3aa, 0xf693, 0xf3a7, 0xf689, 0xf3a7, 0xf689, 0xf341, 0xf617, 0xf341, -0xf617, 0xf34c, 0xf610, 0xf34c, 0xf610, 0xf33e, 0xf5eb, 0xf33e, 0xf5eb, 0xf33e, 0xf5eb, -0xf434, 0xf6c4, 0xf434, 0xf6c4, 0xf4af, 0xf71c, 0xf4af, 0xf71c, 0xf512, 0xf756, 0xf512, -0xf756, 0xf521, 0xf737, 0xf521, 0xf737, 0xf587, 0xf76a, 0xf587, 0xf76a, 0xf587, 0xf76a, -0xf63c, 0xf7e8, 0xf63c, 0xf7e8, 0xf717, 0xf888, 0xf717, 0xf888, 0xf8b6, 0xf9e8, 0xf8b6, -0xf9e8, 0xfa9c, 0xfb8e, 0xfa9c, 0xfb8e, 0xfc47, 0xfcf8, 0xfc47, 0xfcf8, 0xfdb9, 0xfe27, -0xfdb9, 0xfe27, 0xfdb9, 0xfe27, 0xff72, 0xff9f, 0xff72, 0xff9f, 0x2e, 0x1a, 0x2e, -0x1a, 0x176, 0x123, 0x176, 0x123, 0x248, 0x1ba, 0x248, 0x1ba, 0x41b, 0x354, -0x41b, 0x354, 0x609, 0x50e, 0x609, 0x50e, 0x609, 0x50e, 0x7e0, 0x6b7, 0x7e0, -0x6b7, 0x957, 0x804, 0x957, 0x804, 0xaf8, 0x980, 0xaf8, 0x980, 0xd29, 0xb92, -0xd29, 0xb92, 0xe5e, 0xcaf, 0xe5e, 0xcaf, 0xe5e, 0xcaf, 0xff8, 0xe36, 0xff8, -0xe36, 0x1036, 0xe66, 0x1036, 0xe66, 0x10dc, 0xf04, 0x10dc, 0xf04, 0x1174, 0xf9a, -0x1174, 0xf9a, 0x11c4, 0xfeb, 0x11c4, 0xfeb, 0x1205, 0x1032, 0x1205, 0x1032, 0x1205, -0x1032, 0x1162, 0xf99, 0x1162, 0xf99, 0x1164, 0xfa7, 0x1164, 0xfa7, 0x121d, 0x106f, -0x121d, 0x106f, 0x1295, 0x10f8, 0x1295, 0x10f8, 0x1250, 0x10c5, 0x1250, 0x10c5, 0x1143, -0xfcb, 0x1143, 0xfcb, 0x1143, 0xfcb, 0x1139, 0xfd4, 0x1139, 0xfd4, 0x1152, 0x1000, -0x1152, 0x1000, 0x10d2, 0xf92, 0x10d2, 0xf92, 0x10f4, 0xfc4, 0x10f4, 0xfc4, 0x110f, -0xff0, 0x110f, 0xff0, 0x110f, 0xff0, 0x1150, 0x103f, 0x1150, 0x103f, 0x1242, 0x113f, -0x1242, 0x113f, 0x1310, 0x1218, 0x1310, 0x1218, 0x1301, 0x1214, 0x1301, 0x1214, 0x130a, -0x1226, 0x130a, 0x1226, 0x1261, 0x1186, 0x1261, 0x1186, 0x1261, 0x1186, 0x1216, 0x1142, -0x1216, 0x1142, 0x11c8, 0x10fb, 0x11c8, 0x10fb, 0x1176, 0x10b0, 0x1176, 0x10b0, 0x11cb, -0x110a, 0x11cb, 0x110a, 0x1180, 0x10c6, 0x1180, 0x10c6, 0x108d, 0xfd9, 0x108d, 0xfd9, -0x108d, 0xfd9, 0x104e, 0xfa2, 0x104e, 0xfa2, 0xf84, 0xee0, 0xf84, 0xee0, 0xddb, -0xd3f, 0xddb, 0xd3f, 0xc84, 0xbf2, 0xc84, 0xbf2, 0xb3f, 0xab8, 0xb3f, 0xab8, -0xb3f, 0xab8, 0x9fd, 0x980, 0x9fd, 0x980, 0x878, 0x808, 0x878, 0x808, 0x787, -0x722, 0x787, 0x722, 0x689, 0x631, 0x689, 0x631, 0x5d9, 0x58e, 0x5d9, 0x58e, -0x4c3, 0x485, 0x4c3, 0x485, 0x4c3, 0x485, 0x35b, 0x328, 0x35b, 0x328, 0x184, -0x15d, 0x184, 0x15d, 0x2f, 0x13, 0x2f, 0x13, 0xff22, 0xff10, 0xff22, 0xff10, -0xfed2, 0xfec8, 0xfed2, 0xfec8, 0xfe53, 0xfe50, 0xfe53, 0xfe50, 0xfe53, 0xfe50, 0xfdaa, -0xfdab, 0xfdaa, 0xfdab, 0xfd3f, 0xfd43, 0xfd3f, 0xfd43, 0xfb84, 0xfb8a, 0xfb84, 0xfb8a, -0xfacb, 0xfad0, 0xfacb, 0xfad0, 0xfa5c, 0xfa5f, 0xfa5c, 0xfa5f, 0xfa5c, 0xfa5f, 0xfa89, -0xfa88, 0xfa89, 0xfa88, 0xfa36, 0xfa2f, 0xfa36, 0xfa2f, 0xfb68, 0xfb5a, 0xfb68, 0xfb5a, -0xfc30, 0xfc1a, 0xfc30, 0xfc1a, 0xfc35, 0xfc16, 0xfc35, 0xfc16, 0xfc8d, 0xfc65, 0xfc8d, -0xfc65, 0xfc8d, 0xfc65, 0xfbe8, 0xfbb5, 0xfbe8, 0xfbb5, 0xfcd9, 0xfc9b, 0xfcd9, 0xfc9b, -0xfe66, 0xfe1d, 0xfe66, 0xfe1d, 0xa2, 0x4f, 0xa2, 0x4f, 0x210, 0x1b2, 0x210, -0x1b2, 0x210, 0x1b2, 0x27c, 0x214, 0x27c, 0x214, 0x39a, 0x328, 0x39a, 0x328, -0x4b9, 0x43e, 0x4b9, 0x43e, 0x537, 0x4b2, 0x537, 0x4b2, 0x57a, 0x4ec, 0x57a, -0x4ec, 0x59e, 0x506, 0x59e, 0x506, 0x59e, 0x506, 0x664, 0x5c2, 0x664, 0x5c2, -0x6d5, 0x628, 0x6d5, 0x628, 0x6d2, 0x61a, 0x6d2, 0x61a, 0x62e, 0x569, 0x62e, -0x569, 0x58a, 0x4b7, 0x58a, 0x4b7, 0x5ca, 0x4e6, 0x5ca, 0x4e6, 0x5ca, 0x4e6, -0x6d9, 0x5e3, 0x6d9, 0x5e3, 0x732, 0x626, 0x732, 0x626, 0x6c7, 0x5a3, 0x6c7, -0x5a3, 0x6f3, 0x5b5, 0x6f3, 0x5b5, 0x6df, 0x583, 0x6df, 0x583, 0x6df, 0x583, -0x796, 0x619, 0x796, 0x619, 0x83e, 0x69f, 0x83e, 0x69f, 0x90e, 0x749, 0x90e, -0x749, 0xa22, 0x835, 0xa22, 0x835, 0xb16, 0x900, 0xb16, 0x900, 0xbc0, 0x97f, -0xbc0, 0x97f, 0xbc0, 0x97f, 0xd1e, 0xab1, 0xd1e, 0xab1, 0xe88, 0xbf0, 0xe88, -0xbf0, 0xfb4, 0xcf1, 0xfb4, 0xcf1, 0x1126, 0xe38, 0x1126, 0xe38, 0x126b, 0xf55, -0x126b, 0xf55, 0x136a, 0x102f, 0x136a, 0x102f, 0x136a, 0x102f, 0x142a, 0x10cd, 0x142a, -0x10cd, 0x13f8, 0x107e, 0x13f8, 0x107e, 0x12dc, 0xf49, 0x12dc, 0xf49, 0x127d, 0xed6, -0x127d, 0xed6, 0x1312, 0xf5d, 0x1312, 0xf5d, 0x1312, 0xf5d, 0x13fe, 0x1041, 0x13fe, -0x1041, 0x1520, 0x1162, 0x1520, 0x1162, 0x16e6, 0x132d, 0x16e6, 0x132d, 0x172e, 0x1380, -0x172e, 0x1380, 0x16ea, 0x134e, 0x16ea, 0x134e, 0x158a, 0x1205, 0x158a, 0x1205, 0x158a, -0x1205, 0x1535, 0x11cf, 0x1535, 0x11cf, 0x1512, 0x11cf, 0x1512, 0x11cf, 0x14db, 0x11c0, -0x14db, 0x11c0, 0x14e9, 0x11fa, 0x14e9, 0x11fa, 0x13eb, 0x112b, 0x13eb, 0x112b, 0x1284, -0xff7, 0x1284, 0xff7, 0x1284, 0xff7, 0x108d, 0xe34, 0x108d, 0xe34, 0x10b0, 0xe8d, -0x10b0, 0xe8d, 0xf5d, 0xd70, 0xf5d, 0xd70, 0xef4, 0xd3d, 0xef4, 0xd3d, 0xf30, -0xdae, 0xf30, 0xdae, 0xf30, 0xdae, 0xe54, 0xd05, 0xe54, 0xd05, 0xdcf, 0xcb2, -0xdcf, 0xcb2, 0xd4d, 0xc5e, 0xd4d, 0xc5e, 0xd43, 0xc7f, 0xd43, 0xc7f, 0xcba, -0xc1d, 0xcba, 0xc1d, 0xc1d, 0xba3, 0xc1d, 0xba3, 0xc1d, 0xba3, 0xc06, 0xbac, -0xc06, 0xbac, 0xb51, 0xb12, 0xb51, 0xb12, 0x9dc, 0x9b5, 0x9dc, 0x9b5, 0x842, -0x82f, 0x842, 0x82f, 0x6ee, 0x6eb, 0x6ee, 0x6eb, 0x6b8, 0x6c1, 0x6b8, 0x6c1, -0x6b8, 0x6c1, 0x6e7, 0x6fa, 0x6e7, 0x6fa, 0x71c, 0x735, 0x71c, 0x735, 0x5ef, -0x60d, 0x5ef, 0x60d, 0x4a1, 0x4c1, 0x4a1, 0x4c1, 0x37f, 0x3a0, 0x37f, 0x3a0, -0x37f, 0x3a0, 0x2da, 0x2fa, 0x2da, 0x2fa, 0x1d3, 0x1f1, 0x1d3, 0x1f1, 0xfe, -0x11b, 0xfe, 0x11b, 0x38, 0x52, 0x38, 0x52, 0xff4d, 0xff65, 0xff4d, 0xff65, -0xff4b, 0xff61, 0xff4b, 0xff61, 0xff4b, 0xff61, 0xfecc, 0xfedf, 0xfecc, 0xfedf, 0xfe14, -0xfe26, 0xfe14, 0xfe26, 0xfddc, 0xfded, 0xfddc, 0xfded, 0xfe17, 0xfe29, 0xfe17, 0xfe29, -0xfddc, 0xfdee, 0xfddc, 0xfdee, 0xfe0f, 0xfe23, 0xfe0f, 0xfe23, 0xfe0f, 0xfe23, 0xfe26, -0xfe3c, 0xfe26, 0xfe3c, 0xfe1b, 0xfe34, 0xfe1b, 0xfe34, 0xfdfa, 0xfe18, 0xfdfa, 0xfe18, -0xfe22, 0xfe44, 0xfe22, 0xfe44, 0xfe21, 0xfe48, 0xfe21, 0xfe48, 0xfe21, 0xfe48, 0xfe88, -0xfeb5, 0xfe88, 0xfeb5, 0xfebd, 0xfeef, 0xfebd, 0xfeef, 0xfe73, 0xfeac, 0xfe73, 0xfeac, -0xfde1, 0xfe21, 0xfde1, 0xfe21, 0xfd88, 0xfdd0, 0xfd88, 0xfdd0, 0xfd0d, 0xfd5c, 0xfd0d, -0xfd5c, 0xfd0d, 0xfd5c, 0xfd06, 0xfd5d, 0xfd06, 0xfd5d, 0xfce1, 0xfd40, 0xfce1, 0xfd40, -0xfc00, 0xfc68, 0xfc00, 0xfc68, 0xfc00, 0xfc72, 0xfc00, 0xfc72, 0xfb73, 0xfbee, 0xfb73, -0xfbee, 0xfb85, 0xfc0a, 0xfb85, 0xfc0a, 0xfb85, 0xfc0a, 0xfa8b, 0xfb1b, 0xfa8b, 0xfb1b, -0xfa55, 0xfaef, 0xfa55, 0xfaef, 0xf9c9, 0xfa6d, 0xf9c9, 0xfa6d, 0xf9a1, 0xfa51, 0xf9a1, -0xfa51, 0xf8c6, 0xf981, 0xf8c6, 0xf981, 0xf8c6, 0xf981, 0xf79b, 0xf862, 0xf79b, 0xf862, -0xf78c, 0xf85f, 0xf78c, 0xf85f, 0xf5f9, 0xf6d7, 0xf5f9, 0xf6d7, 0xf646, 0xf730, 0xf646, -0xf730, 0xf69f, 0xf795, 0xf69f, 0xf795, 0xf681, 0xf783, 0xf681, 0xf783, 0xf681, 0xf783, -0xf6d3, 0xf7e0, 0xf6d3, 0xf7e0, 0xf74d, 0xf866, 0xf74d, 0xf866, 0xf746, 0xf86a, 0xf746, -0xf86a, 0xf71a, 0xf849, 0xf71a, 0xf849, 0xf725, 0xf85e, 0xf725, 0xf85e, 0xf77d, 0xf8c0, -0xf77d, 0xf8c0, 0xf77d, 0xf8c0, 0xf732, 0xf880, 0xf732, 0xf880, 0xf731, 0xf889, 0xf731, -0xf889, 0xf6c1, 0xf822, 0xf6c1, 0xf822, 0xf647, 0xf7b3, 0xf647, 0xf7b3, 0xf5d4, 0xf74a, -0xf5d4, 0xf74a, 0xf5d4, 0xf74a, 0xf4d0, 0xf64f, 0xf4d0, 0xf64f, 0xf3df, 0xf568, 0xf3df, -0xf568, 0xf249, 0xf3de, 0xf249, 0xf3de, 0xf1cd, 0xf36c, 0xf1cd, 0xf36c, 0xf223, 0xf3cd, -0xf223, 0xf3cd, 0xf295, 0xf44c, 0xf295, 0xf44c, 0xf295, 0xf44c, 0xf1fb, 0xf3be, 0xf1fb, -0xf3be, 0xf141, 0xf312, 0xf141, 0xf312, 0xefe5, 0xf1c3, 0xefe5, 0xf1c3, 0xef36, 0xf123, -0xef36, 0xf123, 0xef99, 0xf194, 0xef99, 0xf194, 0xef69, 0xf173, 0xef69, 0xf173, 0xef69, -0xf173, 0xeed8, 0xf0f1, 0xeed8, 0xf0f1, 0xeeb3, 0xf0db, 0xeeb3, 0xf0db, 0xee0a, 0xf041, -0xee0a, 0xf041, 0xed84, 0xefca, 0xed84, 0xefca, 0xedb4, 0xf007, 0xedb4, 0xf007, 0xedb4, -0xf007, 0xeda3, 0xf003, 0xeda3, 0xf003, 0xed42, 0xefae, 0xed42, 0xefae, 0xed30, 0xefa6, -0xed30, 0xefa6, 0xed78, 0xeff7, 0xed78, 0xeff7, 0xed2b, 0xefb0, 0xed2b, 0xefb0, 0xed6f, -0xeffa, 0xed6f, 0xeffa, 0xed6f, 0xeffa, 0xed8c, 0xf01a, 0xed8c, 0xf01a, 0xedcd, 0xf05b, -0xedcd, 0xf05b, 0xed85, 0xf012, 0xed85, 0xf012, 0xed69, 0xeff3, 0xed69, 0xeff3, 0xeca2, -0xef27, 0xeca2, 0xef27, 0xeca2, 0xef27, 0xec58, 0xeed4, 0xec58, 0xeed4, 0xebf4, 0xee68, -0xebf4, 0xee68, 0xebe3, 0xee4c, 0xebe3, 0xee4c, 0xebdd, 0xee3c, 0xebdd, 0xee3c, 0xec48, -0xee9a, 0xec48, 0xee9a, 0xed55, 0xef9c, 0xed55, 0xef9c, 0xed55, 0xef9c, 0xecf7, 0xef32, -0xecf7, 0xef32, 0xec8d, 0xeebd, 0xec8d, 0xeebd, 0xeb3d, 0xed63, 0xeb3d, 0xed63, 0xeb40, -0xed5d, 0xeb40, 0xed5d, 0xea0c, 0xec23, 0xea0c, 0xec23, 0xea14, 0xec25, 0xea14, 0xec25, -0xea14, 0xec25, 0xea66, 0xec75, 0xea66, 0xec75, 0xea49, 0xec59, 0xea49, 0xec59, 0xeb97, -0xedaa, 0xeb97, 0xedaa, 0xebec, 0xee05, 0xebec, 0xee05, 0xebd4, 0xedf5, 0xebd4, 0xedf5, -0xebd4, 0xedf5, 0xec03, 0xee2f, 0xec03, 0xee2f, 0xec8f, 0xeec8, 0xec8f, 0xeec8, 0xed89, -0xefd2, 0xed89, 0xefd2, 0xeed3, 0xf12d, 0xeed3, 0xf12d, 0xf02c, 0xf298, 0xf02c, 0xf298, -0xf131, 0xf3af, 0xf131, 0xf3af, 0xf131, 0xf3af, 0xf12a, 0xf3b9, 0xf12a, 0xf3b9, 0xf190, -0xf430, 0xf190, 0xf430, 0xf124, 0xf3d3, 0xf124, 0xf3d3, 0xf1fd, 0xf4b9, 0xf1fd, 0xf4b9, -0xf35d, 0xf623, 0xf35d, 0xf623, 0xf46d, 0xf738, 0xf46d, 0xf738, 0xf46d, 0xf738, 0xf4e7, -0xf7b3, 0xf4e7, 0xf7b3, 0xf4b3, 0xf77a, 0xf4b3, 0xf77a, 0xf475, 0xf732, 0xf475, 0xf732, -0xf44c, 0xf6f9, 0xf44c, 0xf6f9, 0xf41b, 0xf6b1, 0xf41b, 0xf6b1, 0xf41b, 0xf6b1, 0xf3f8, -0xf671, 0xf3f8, 0xf671, 0xf446, 0xf69a, 0xf446, 0xf69a, 0xf414, 0xf63d, 0xf414, 0xf63d, -0xf46b, 0xf662, 0xf46b, 0xf662, 0xf4d2, 0xf691, 0xf4d2, 0xf691, 0xf4fb, 0xf67c, 0xf4fb, -0xf67c, 0xf4fb, 0xf67c, 0xf5b9, 0xf6f7, 0xf5b9, 0xf6f7, 0xf762, 0xf859, 0xf762, 0xf859, -0xf837, 0xf8e2, 0xf837, 0xf8e2, 0xf93e, 0xf99b, 0xf93e, 0xf99b, 0xfa25, 0xfa32, 0xfa25, -0xfa32, 0xfb35, 0xfaf1, 0xfb35, 0xfaf1, 0xfb35, 0xfaf1, 0xfc54, 0xfbbf, 0xfc54, 0xfbbf, -0xfe84, 0xfd9e, 0xfe84, 0xfd9e, 0x58, 0xff23, 0x58, 0xff23, 0x1ba, 0x3a, 0x1ba, -0x3a, 0x33c, 0x175, 0x33c, 0x175, 0x33c, 0x175, 0x407, 0x1fd, 0x407, 0x1fd, -0x4ef, 0x2a6, 0x4ef, 0x2a6, 0x602, 0x381, 0x602, 0x381, 0x7a4, 0x4f1, 0x7a4, -0x4f1, 0x88c, 0x5ad, 0x88c, 0x5ad, 0xa44, 0x741, 0xa44, 0x741, 0xa44, 0x741, -0xb9e, 0x87d, 0xb9e, 0x87d, 0xcf2, 0x9ba, 0xcf2, 0x9ba, 0xd0c, 0x9c4, 0xd0c, -0x9c4, 0xdce, 0xa7d, 0xdce, 0xa7d, 0xdff, 0xaab, 0xdff, 0xaab, 0xdd8, 0xa88, -0xdd8, 0xa88, 0xdd8, 0xa88, 0xdb2, 0xa69, 0xdb2, 0xa69, 0xdbb, 0xa80, 0xdbb, -0xa80, 0xe6e, 0xb43, 0xe6e, 0xb43, 0xdb0, 0xa9a, 0xdb0, 0xa9a, 0xe5b, 0xb5d, -0xe5b, 0xb5d, 0xe5b, 0xb5d, 0xda6, 0xac1, 0xda6, 0xac1, 0xd3b, 0xa72, 0xd3b, -0xa72, 0xde9, 0xb3c, 0xde9, 0xb3c, 0xdfc, 0xb6c, 0xdfc, 0xb6c, 0xd7b, 0xb08, -0xd7b, 0xb08, 0xd50, 0xaf9, 0xd50, 0xaf9, 0xd50, 0xaf9, 0xdb5, 0xb7b, 0xdb5, -0xb7b, 0xeab, 0xc8c, 0xeab, 0xc8c, 0xf29, 0xd24, 0xf29, 0xd24, 0xfe9, 0xdfc, -0xfe9, 0xdfc, 0x1025, 0xe4f, 0x1025, 0xe4f, 0x1089, 0xec8, 0x1089, 0xec8, 0x1089, -0xec8, 0x10fd, 0xf50, 0x10fd, 0xf50, 0x105b, 0xec1, 0x105b, 0xec1, 0x10af, 0xf26, -0x10af, 0xf26, 0x1108, 0xf8f, 0x1108, 0xf8f, 0x1181, 0x1017, 0x1181, 0x1017, 0x1181, -0x1017, 0x114d, 0xff1, 0x114d, 0xff1, 0x10cc, 0xf7d, 0x10cc, 0xf7d, 0xf98, 0xe57, -0xf98, 0xe57, 0xebb, 0xd86, 0xebb, 0xd86, 0xd39, 0xc11, 0xd39, 0xc11, 0xba2, -0xa87, 0xba2, 0xa87, 0xba2, 0xa87, 0xa4f, 0x941, 0xa4f, 0x941, 0x98c, 0x88b, -0x98c, 0x88b, 0x9af, 0x8bc, 0x9af, 0x8bc, 0x953, 0x86d, 0x953, 0x86d, 0x7bf, -0x6e7, 0x7bf, 0x6e7, 0x651, 0x587, 0x651, 0x587, 0x651, 0x587, 0x4ff, 0x443, -0x4ff, 0x443, 0x339, 0x28c, 0x339, 0x28c, 0x1ff, 0x160, 0x1ff, 0x160, 0xf6, -0x65, 0xf6, 0x65, 0x49, 0xffc6, 0x49, 0xffc6, 0x49, 0xffc6, 0xffa4, 0xff2f, -0xffa4, 0xff2f, 0xff90, 0xff28, 0xff90, 0xff28, 0xfe29, 0xfdcf, 0xfe29, 0xfdcf, 0xfd54, -0xfd05, 0xfd54, 0xfd05, 0xfc9e, 0xfc5b, 0xfc9e, 0xfc5b, 0xfc54, 0xfc1b, 0xfc54, 0xfc1b, -0xfc54, 0xfc1b, 0xfbfb, 0xfbcc, 0xfbfb, 0xfbcc, 0xfc1e, 0xfbf8, 0xfc1e, 0xfbf8, 0xfb97, -0xfb79, 0xfb97, 0xfb79, 0xfb02, 0xfaea, 0xfb02, 0xfaea, 0xfb7a, 0xfb68, 0xfb7a, 0xfb68, -0xfc09, 0xfbfb, 0xfc09, 0xfbfb, 0xfc09, 0xfbfb, 0xfd1a, 0xfd10, 0xfd1a, 0xfd10, 0xfd53, -0xfd4b, 0xfd53, 0xfd4b, 0xfe9b, 0xfe94, 0xfe9b, 0xfe94, 0xfee5, 0xfedf, 0xfee5, 0xfedf, -0xffbe, 0xffb6, 0xffbe, 0xffb6, 0xffbe, 0xffb6, 0x1b, 0x11, 0x1b, 0x11, 0x150, -0x143, 0x150, 0x143, 0x1ca, 0x1b8, 0x1ca, 0x1b8, 0x1ee, 0x1d7, 0x1ee, 0x1d7, -0x342, 0x324, 0x342, 0x324, 0x30f, 0x2e9, 0x30f, 0x2e9, 0x30f, 0x2e9, 0x34b, -0x31c, 0x34b, 0x31c, 0x3ed, 0x3b3, 0x3ed, 0x3b3, 0x424, 0x3de, 0x424, 0x3de, -0x48a, 0x436, 0x48a, 0x436, 0x53c, 0x4d9, 0x53c, 0x4d9, 0x5a4, 0x52f, 0x5a4, -0x52f, 0x5a4, 0x52f, 0x5cd, 0x546, 0x5cd, 0x546, 0x5ec, 0x550, 0x5ec, 0x550, -0x6b0, 0x5fd, 0x6b0, 0x5fd, 0x6c4, 0x5f9, 0x6c4, 0x5f9, 0x7cf, 0x6eb, 0x7cf, -0x6eb, 0x7cf, 0x6eb, 0x895, 0x794, 0x895, 0x794, 0x9a9, 0x88b, 0x9a9, 0x88b, -0xabe, 0x980, 0xabe, 0x980, 0xc17, 0xab8, 0xc17, 0xab8, 0xd1f, 0xb9e, 0xd1f, -0xb9e, 0xdcc, 0xc28, 0xdcc, 0xc28, 0xdcc, 0xc28, 0xe8d, 0xcc5, 0xe8d, 0xcc5, -0xf5b, 0xd6d, 0xf5b, 0xd6d, 0x113e, 0xf2c, 0x113e, 0xf2c, 0x1280, 0x1049, 0x1280, -0x1049, 0x141e, 0x11c2, 0x141e, 0x11c2, 0x141e, 0x11c2, 0x14b2, 0x1232, 0x14b2, 0x1232, -0x1516, 0x1274, 0x1516, 0x1274, 0x1571, 0x12af, 0x1571, 0x12af, 0x156f, 0x128d, 0x156f, -0x128d, 0x1574, 0x1276, 0x1574, 0x1276, 0x16bd, 0x13a6, 0x16bd, 0x13a6, 0x16bd, 0x13a6, -0x17f5, 0x14c7, 0x17f5, 0x14c7, 0x1900, 0x15c0, 0x1900, 0x15c0, 0x1963, 0x1614, 0x1963, -0x1614, 0x1933, 0x15da, 0x1933, 0x15da, 0x18f3, 0x1593, 0x18f3, 0x1593, 0x1987, 0x1625, -0x1987, 0x1625, 0x1987, 0x1625, 0x1a01, 0x16a1, 0x1a01, 0x16a1, 0x1940, 0x15e7, 0x1940, -0x15e7, 0x1887, 0x1539, 0x1887, 0x1539, 0x1769, 0x142b, 0x1769, 0x142b, 0x1651, 0x1327, -0x1651, 0x1327, 0x1651, 0x1327, 0x14db, 0x11c8, 0x14db, 0x11c8, 0x13f7, 0x10fe, 0x13f7, -0x10fe, 0x120d, 0xf33, 0x120d, 0xf33, 0x116e, 0xeb5, 0x116e, 0xeb5, 0x10b1, 0xe1b, -0x10b1, 0xe1b, 0x1042, 0xdd2, 0x1042, 0xdd2, 0x1042, 0xdd2, 0xf21, 0xcd8, 0xf21, -0xcd8, 0xe57, 0xc35, 0xe57, 0xc35, 0xe83, 0xc89, 0xe83, 0xc89, 0xe38, 0xc66, -0xe38, 0xc66, 0xe24, 0xc7b, 0xe24, 0xc7b, 0xcab, 0xb28, 0xcab, 0xb28, 0xcab, -0xb28, 0xb98, 0xa3b, 0xb98, 0xa3b, 0x95b, 0x822, 0x95b, 0x822, 0x7e9, 0x6d3, -0x7e9, 0x6d3, 0x71c, 0x626, 0x71c, 0x626, 0x670, 0x598, 0x670, 0x598, 0x670, -0x598, 0x698, 0x5dc, 0x698, 0x5dc, 0x6e1, 0x63f, 0x6e1, 0x63f, 0x61a, 0x58e, -0x61a, 0x58e, 0x56a, 0x4f3, 0x56a, 0x4f3, 0x495, 0x431, 0x495, 0x431, 0x3c6, -0x372, 0x3c6, 0x372, 0x3c6, 0x372, 0x2b2, 0x26d, 0x2b2, 0x26d, 0x219, 0x1e1, -0x219, 0x1e1, 0x1ca, 0x19d, 0x1ca, 0x19d, 0x115, 0xf1, 0x115, 0xf1, 0x8a, -0x70, 0x8a, 0x70, 0xff5e, 0xff4b, 0xff5e, 0xff4b, 0xff5e, 0xff4b, 0xfede, 0xfed3, -0xfede, 0xfed3, 0xfed6, 0xfed2, 0xfed6, 0xfed2, 0xff77, 0xff7a, 0xff77, 0xff7a, 0xff2a, -0xff34, 0xff2a, 0xff34, 0xff47, 0xff58, 0xff47, 0xff58, 0xff47, 0xff58, 0xfed3, 0xfeec, -0xfed3, 0xfeec, 0xfecd, 0xfeee, 0xfecd, 0xfeee, 0xfed0, 0xfef9, 0xfed0, 0xfef9, 0xfec6, -0xfef7, 0xfec6, 0xfef7, 0xff58, 0xff94, 0xff58, 0xff94, 0xff65, 0xffaa, 0xff65, 0xffaa, -0xff65, 0xffaa, 0xff55, 0xffa5, 0xff55, 0xffa5, 0xff99, 0xfff3, 0xff99, 0xfff3, 0xff85, -0xffeb, 0xff85, 0xffeb, 0xff4f, 0xffbf, 0xff4f, 0xffbf, 0xff86, 0x2, 0xff86, 0x2, -0xff3f, 0xffc7, 0xff3f, 0xffc7, 0xff3f, 0xffc7, 0xfeeb, 0xff7d, 0xfeeb, 0xff7d, 0xfdd3, -0xfe70, 0xfdd3, 0xfe70, 0xfd08, 0xfdb0, 0xfd08, 0xfdb0, 0xfbe6, 0xfc98, 0xfbe6, 0xfc98, -0xfbdd, 0xfc9a, 0xfbdd, 0xfc9a, 0xfbdd, 0xfc9a, 0xfb64, 0xfc2a, 0xfb64, 0xfc2a, 0xfb20, -0xfbf0, 0xfb20, 0xfbf0, 0xfb27, 0xfbff, 0xfb27, 0xfbff, 0xfaed, 0xfbce, 0xfaed, 0xfbce, -0xf9f5, 0xfade, 0xf9f5, 0xfade, 0xf914, 0xfa05, 0xf914, 0xfa05, 0xf914, 0xfa05, 0xf78f, -0xf888, 0xf78f, 0xf888, 0xf587, 0xf688, 0xf587, 0xf688, 0xf558, 0xf661, 0xf558, 0xf661, -0xf551, 0xf662, 0xf551, 0xf662, 0xf5dc, 0xf6f7, 0xf5dc, 0xf6f7, 0xf4ef, 0xf615, 0xf4ef, -0xf615, 0xf4ef, 0xf615, 0xf463, 0xf593, 0xf463, 0xf593, 0xf377, 0xf4b5, 0xf377, 0xf4b5, -0xf339, 0xf484, 0xf339, 0xf484, 0xf2de, 0xf439, 0xf2de, 0xf439, 0xf274, 0xf3e0, 0xf274, -0xf3e0, 0xf274, 0xf3e0, 0xf2c9, 0xf449, 0xf2c9, 0xf449, 0xf287, 0xf41d, 0xf287, 0xf41d, -0xf262, 0xf410, 0xf262, 0xf410, 0xf1e1, 0xf3a8, 0xf1e1, 0xf3a8, 0xf099, 0xf27c, 0xf099, -0xf27c, 0xefdc, 0xf1de, 0xefdc, 0xf1de, 0xefdc, 0xf1de, 0xef5d, 0xf17f, 0xef5d, 0xf17f, -0xeeb4, 0xf0f8, 0xeeb4, 0xf0f8, 0xeeb6, 0xf11d, 0xeeb6, 0xf11d, 0xee41, 0xf0ce, 0xee41, -0xf0ce, 0xee51, 0xf105, 0xee51, 0xf105, 0xedd7, 0xf0b2, 0xedd7, 0xf0b2, 0xedd7, 0xf0b2, -0xee02, 0xf105, 0xee02, 0xf105, 0xee05, 0xf130, 0xee05, 0xf130, 0xee8e, 0xf1e1, 0xee8e, -0xf1e1, 0xeea0, 0xf219, 0xeea0, 0xf219, 0xeddc, 0xf17a, 0xeddc, 0xf17a, 0xeddc, 0xf17a, -0xed3b, 0xf0fd, 0xed3b, 0xf0fd, 0xed52, 0xf135, 0xed52, 0xf135, 0xed9d, 0xf19e, 0xed9d, -0xf19e, 0xedbe, 0xf1da, 0xedbe, 0xf1da, 0xede7, 0xf21a, 0xede7, 0xf21a, 0xed60, 0xf1a6, -0xed60, 0xf1a6, 0xed60, 0xf1a6, 0xedb2, 0xf205, 0xedb2, 0xf205, 0xed3b, 0xf199, 0xed3b, -0xf199, 0xec93, 0xf0f5, 0xec93, 0xf0f5, 0xec41, 0xf0a2, 0xec41, 0xf0a2, 0xec1f, 0xf07b, -0xec1f, 0xf07b, 0xec8f, 0xf0e1, 0xec8f, 0xf0e1, 0xec8f, 0xf0e1, 0xedc3, 0xf205, 0xedc3, -0xf205, 0xedf8, 0xf225, 0xedf8, 0xf225, 0xee4b, 0xf260, 0xee4b, 0xf260, 0xee35, 0xf22d, -0xee35, 0xf22d, 0xed97, 0xf170, 0xed97, 0xf170, 0xed97, 0xf170, 0xec3e, 0xeff4, 0xec3e, -0xeff4, 0xeb56, 0xeee7, 0xeb56, 0xeee7, 0xeb4f, 0xeeba, 0xeb4f, 0xeeba, 0xec01, 0xef45, -0xec01, 0xef45, 0xeda5, 0xf0c2, 0xeda5, 0xf0c2, 0xee78, 0xf16e, 0xee78, 0xf16e, 0xee78, -0xf16e, 0xeed2, 0xf1a3, 0xeed2, 0xf1a3, 0xee6d, 0xf11a, 0xee6d, 0xf11a, 0xedc4, 0xf050, -0xedc4, 0xf050, 0xec69, 0xeed8, 0xec69, 0xeed8, 0xec14, 0xee68, 0xec14, 0xee68, 0xeafe, -0xed3d, 0xeafe, 0xed3d, 0xeafe, 0xed3d, 0xeaec, 0xed19, 0xeaec, 0xed19, 0xeb0e, 0xed2e, -0xeb0e, 0xed2e, 0xeb42, 0xed5a, 0xeb42, 0xed5a, 0xeb6e, 0xed82, 0xeb6e, 0xed82, 0xeb30, -0xed45, 0xeb30, 0xed45, 0xeb30, 0xed45, 0xeba6, 0xedc0, 0xeba6, 0xedc0, 0xebfd, 0xee20, -0xebfd, 0xee20, 0xed77, 0xefa5, 0xed77, 0xefa5, 0xee20, 0xf05d, 0xee20, 0xf05d, 0xeea4, -0xf0f2, 0xeea4, 0xf0f2, 0xeefc, 0xf15c, 0xeefc, 0xf15c, 0xeefc, 0xf15c, 0xef1d, 0xf18f, -0xef1d, 0xf18f, 0xeffe, 0xf283, 0xeffe, 0xf283, 0xf115, 0xf3aa, 0xf115, 0xf3aa, 0xf165, -0xf40a, 0xf165, 0xf40a, 0xf1ff, 0xf4b0, 0xf1ff, 0xf4b0, 0xf1ff, 0xf4b0, 0xf20d, 0xf4c7, -0xf20d, 0xf4c7, 0xf286, 0xf545, 0xf286, 0xf545, 0xf2bb, 0xf57a, 0xf2bb, 0xf57a, 0xf2f1, -0xf5aa, 0xf2f1, 0xf5aa, 0xf359, 0xf608, 0xf359, 0xf608, 0xf3a2, 0xf63f, 0xf3a2, 0xf63f, -0xf3a2, 0xf63f, 0xf43a, 0xf6bf, 0xf43a, 0xf6bf, 0xf464, 0xf6cb, 0xf464, 0xf6cb, 0xf49b, -0xf6de, 0xf49b, 0xf6de, 0xf46c, 0xf684, 0xf46c, 0xf684, 0xf480, 0xf668, 0xf480, 0xf668, -0xf545, 0xf6f7, 0xf545, 0xf6f7, 0xf545, 0xf6f7, 0xf6e8, 0xf85f, 0xf6e8, 0xf85f, 0xf79f, -0xf8d7, 0xf79f, 0xf8d7, 0xf8b7, 0xf9ad, 0xf8b7, 0xf9ad, 0xf912, 0xf9c2, 0xf912, 0xf9c2, -0xf9d6, 0xfa3f, 0xf9d6, 0xfa3f, 0xf9d6, 0xfa3f, 0xfbcd, 0xfbed, 0xfbcd, 0xfbed, 0xfddb, -0xfdb2, 0xfddb, 0xfdb2, 0xffbc, 0xff4c, 0xffbc, 0xff4c, 0x162, 0xab, 0x162, 0xab, -0x238, 0x13c, 0x238, 0x13c, 0x303, 0x1c6, 0x303, 0x1c6, 0x303, 0x1c6, 0x490, -0x314, 0x490, 0x314, 0x584, 0x3cf, 0x584, 0x3cf, 0x735, 0x54b, 0x735, 0x54b, -0x930, 0x716, 0x930, 0x716, 0xb15, 0x8d1, 0xb15, 0x8d1, 0xbdf, 0x976, 0xbdf, -0x976, 0xbdf, 0x976, 0xc61, 0x9d9, 0xc61, 0x9d9, 0xccb, 0xa2b, 0xccb, 0xa2b, -0xdc8, 0xb15, 0xdc8, 0xb15, 0xee9, 0xc29, 0xee9, 0xc29, 0xf96, 0xccf, 0xf96, -0xccf, 0xf96, 0xccf, 0xf98, 0xcd0, 0xf98, 0xcd0, 0x1037, 0xd71, 0x1037, 0xd71, -0x1046, 0xd88, 0x1046, 0xd88, 0x1033, 0xd80, 0x1033, 0xd80, 0x1004, 0xd60, 0x1004, -0xd60, 0xf17, 0xc85, 0xf17, 0xc85, 0xf17, 0xc85, 0xef7, 0xc79, 0xef7, 0xc79, -0xe93, 0xc2c, 0xe93, 0xc2c, 0xef3, 0xca3, 0xef3, 0xca3, 0xe51, 0xc1a, 0xe51, -0xc1a, 0xdb4, 0xb95, 0xdb4, 0xb95, 0xd0a, 0xb04, 0xd0a, 0xb04, 0xd0a, 0xb04, -0xd4b, 0xb5c, 0xd4b, 0xb5c, 0xe01, 0xc29, 0xe01, 0xc29, 0xe21, 0xc5e, 0xe21, -0xc5e, 0xe9c, 0xced, 0xe9c, 0xced, 0xf15, 0xd79, 0xf15, 0xd79, 0xf15, 0xd79, -0xeb8, 0xd2c, 0xeb8, 0xd2c, 0xeae, 0xd30, 0xeae, 0xd30, 0xec0, 0xd4f, 0xec0, -0xd4f, 0xe98, 0xd32, 0xe98, 0xd32, 0xf53, 0xdf6, 0xf53, 0xdf6, 0x100c, 0xeb6, -0x100c, 0xeb6, 0x100c, 0xeb6, 0x10a4, 0xf54, 0x10a4, 0xf54, 0xfd6, 0xe8b, 0xfd6, -0xe8b, 0xeb9, 0xd73, 0xeb9, 0xd73, 0xd2e, 0xbec, 0xd2e, 0xbec, 0xc19, 0xadb, -0xc19, 0xadb, 0xbe6, 0xaad, 0xbe6, 0xaad, 0xbe6, 0xaad, 0xc3f, 0xb0b, 0xc3f, -0xb0b, 0xc44, 0xb16, 0xc44, 0xb16, 0xbbc, 0xa97, 0xbbc, 0xa97, 0xa42, 0x925, -0xa42, 0x925, 0x92f, 0x81d, 0x92f, 0x81d, 0x92f, 0x81d, 0x801, 0x6fc, 0x801, -0x6fc, 0x6b7, 0x5c1, 0x6b7, 0x5c1, 0x625, 0x53f, 0x625, 0x53f, 0x4c6, 0x3f2, -0x4c6, 0x3f2, 0x3a8, 0x2e8, 0x3a8, 0x2e8, 0x2af, 0x204, 0x2af, 0x204, 0x2af, -0x204, 0x150, 0xbc, 0x150, 0xbc, 0xffcb, 0xff4e, 0xffcb, 0xff4e, 0xff88, 0xff22, -0xff88, 0xff22, 0xfe79, 0xfe2a, 0xfe79, 0xfe2a, 0xfe28, 0xfdf0, 0xfe28, 0xfdf0, 0xfe01, -0xfddf, 0xfe01, 0xfddf, 0xfe01, 0xfddf, 0xfd39, 0xfd2a, 0xfd39, 0xfd2a, 0xfcc6, 0xfcca, -0xfcc6, 0xfcca, 0xfd04, 0xfd18, 0xfd04, 0xfd18, 0xfd51, 0xfd71, 0xfd51, 0xfd71, 0xfd6e, -0xfd99, 0xfd6e, 0xfd99, 0xfd6e, 0xfd99, 0xfdd1, 0xfe04, 0xfdd1, 0xfe04, 0xfdd9, 0xfe0f, -0xfdd9, 0xfe0f, 0xfdf8, 0xfe2e, 0xfdf8, 0xfe2e, 0xfe63, 0xfe96, 0xfe63, 0xfe96, 0xff10, -0xff3c, 0xff10, 0xff3c, 0xff88, 0xffaa, 0xff88, 0xffaa, 0xff88, 0xffaa, 0xeb, 0x100, -0xeb, 0x100, 0x197, 0x19d, 0x197, 0x19d, 0x295, 0x289, 0x295, 0x289, 0x259, -0x238, 0x259, 0x238, 0x1b7, 0x180, 0x1b7, 0x180, 0x198, 0x14a, 0x198, 0x14a, -0x198, 0x14a, 0x1a3, 0x13c, 0x1a3, 0x13c, 0x27f, 0x1ff, 0x27f, 0x1ff, 0x2f3, -0x259, 0x2f3, 0x259, 0x34e, 0x29a, 0x34e, 0x29a, 0x36f, 0x2a1, 0x36f, 0x2a1, -0x36f, 0x2a1, 0x39b, 0x2b3, 0x39b, 0x2b3, 0x33c, 0x23a, 0x33c, 0x23a, 0x281, -0x164, 0x281, 0x164, 0x2b5, 0x17f, 0x2b5, 0x17f, 0x36d, 0x21c, 0x36d, 0x21c, -0x429, 0x2bd, 0x429, 0x2bd, 0x429, 0x2bd, 0x5b7, 0x431, 0x5b7, 0x431, 0x5e5, -0x443, 0x5e5, 0x443, 0x5fa, 0x43c, 0x5fa, 0x43c, 0x668, 0x48d, 0x668, 0x48d, -0x78d, 0x594, 0x78d, 0x594, 0x884, 0x66a, 0x884, 0x66a, 0x884, 0x66a, 0x9a1, -0x767, 0x9a1, 0x767, 0xb7e, 0x922, 0xb7e, 0x922, 0xcea, 0xa6b, 0xcea, 0xa6b, -0xe5e, 0xbbc, 0xe5e, 0xbbc, 0xfde, 0xd18, 0xfde, 0xd18, 0xfde, 0xd18, 0x1129, -0xe3f, 0x1129, 0xe3f, 0x11b9, 0xeac, 0x11b9, 0xeac, 0x126b, 0xf3c, 0x126b, 0xf3c, -0x12a7, 0xf58, 0x12a7, 0xf58, 0x13b5, 0x1048, 0x13b5, 0x1048, 0x14d2, 0x1149, 0x14d2, -0x1149, 0x14d2, 0x1149, 0x15fe, 0x125e, 0x15fe, 0x125e, 0x16d1, 0x131d, 0x16d1, 0x131d, -0x174c, 0x1389, 0x174c, 0x1389, 0x186d, 0x14a0, 0x186d, 0x14a0, 0x19f3, 0x1621, 0x19f3, -0x1621, 0x1a34, 0x1663, 0x1a34, 0x1663, 0x1a34, 0x1663, 0x19fc, 0x1632, 0x19fc, 0x1632, -0x1951, 0x1593, 0x1951, 0x1593, 0x17a5, 0x13f9, 0x17a5, 0x13f9, 0x16a6, 0x1311, 0x16a6, -0x1311, 0x1642, 0x12c8, 0x1642, 0x12c8, 0x1642, 0x12c8, 0x15c5, 0x126b, 0x15c5, 0x126b, -0x153a, 0x1203, 0x153a, 0x1203, 0x1529, 0x1218, 0x1529, 0x1218, 0x1380, 0x1096, 0x1380, -0x1096, 0x119e, 0xedd, 0x119e, 0xedd, 0xff1, 0xd59, 0xff1, 0xd59, 0xff1, 0xd59, -0xf54, 0xce4, 0xf54, 0xce4, 0xf0f, 0xcc6, 0xf0f, 0xcc6, 0xfb6, 0xd91, 0xfb6, -0xd91, 0xf73, 0xd70, 0xf73, 0xd70, 0xe5e, 0xc7a, 0xe5e, 0xc7a, 0xe5e, 0xc7a, -0xd87, 0xbbe, 0xd87, 0xbbe, 0xbd4, 0xa24, 0xbd4, 0xa24, 0xb07, 0x96b, 0xb07, -0x96b, 0x975, 0x7ea, 0x975, 0x7ea, 0x890, 0x713, 0x890, 0x713, 0x792, 0x620, -0x792, 0x620, 0x792, 0x620, 0x6d2, 0x569, 0x6d2, 0x569, 0x67f, 0x51e, 0x67f, -0x51e, 0x5aa, 0x44f, 0x5aa, 0x44f, 0x4bf, 0x36b, 0x4bf, 0x36b, 0x406, 0x2b8, -0x406, 0x2b8, 0x421, 0x2db, 0x421, 0x2db, 0x421, 0x2db, 0x391, 0x256, 0x391, -0x256, 0x205, 0xd7, 0x205, 0xd7, 0x130, 0x11, 0x130, 0x11, 0xffb3, 0xfea7, -0xffb3, 0xfea7, 0xfec5, 0xfdcf, 0xfec5, 0xfdcf, 0xfec5, 0xfdcf, 0xfe4b, 0xfd70, 0xfe4b, -0xfd70, 0xfd8c, 0xfcce, 0xfd8c, 0xfcce, 0xfd37, 0xfc9a, 0xfd37, 0xfc9a, 0xfd2b, 0xfcb2, -0xfd2b, 0xfcb2, 0xfda8, 0xfd55, 0xfda8, 0xfd55, 0xfd5c, 0xfd32, 0xfd5c, 0xfd32, 0xfd5c, -0xfd32, 0xfd76, 0xfd76, 0xfd76, 0xfd76, 0xfd33, 0xfd5d, 0xfd33, 0xfd5d, 0xfd34, 0xfd89, -0xfd34, 0xfd89, 0xfdcc, 0xfe4a, 0xfdcc, 0xfe4a, 0xfeff, 0xffa6, 0xfeff, 0xffa6, 0xff4e, -0x1a, 0xff4e, 0x1a, 0xff4e, 0x1a, 0xff80, 0x6f, 0xff80, 0x6f, 0xff9e, 0xae, -0xff9e, 0xae, 0xff51, 0x7d, 0xff51, 0x7d, 0xffbd, 0x102, 0xffbd, 0x102, 0x31, -0x18a, 0x31, 0x18a, 0x31, 0x18a, 0xbc, 0x225, 0xbc, 0x225, 0x86, 0x1fd, -0x86, 0x1fd, 0x28, 0x1a7, 0x28, 0x1a7, 0xffb5, 0x139, 0xffb5, 0x139, 0xfed7, -0x5f, 0xfed7, 0x5f, 0xfd80, 0xff08, 0xfd80, 0xff08, 0xfd80, 0xff08, 0xfd54, 0xfedb, -0xfd54, 0xfedb, 0xfd4b, 0xfecf, 0xfd4b, 0xfecf, 0xfcec, 0xfe6d, 0xfcec, 0xfe6d, 0xfc75, -0xfdf3, 0xfc75, 0xfdf3, 0xfbd4, 0xfd4e, 0xfbd4, 0xfd4e, 0xfa4a, 0xfbc2, 0xfa4a, 0xfbc2, -0xfa4a, 0xfbc2, 0xf9e3, 0xfb5a, 0xf9e3, 0xfb5a, 0xfa78, 0xfbf0, 0xfa78, 0xfbf0, 0xfa5f, -0xfbd8, 0xfa5f, 0xfbd8, 0xfa1a, 0xfb96, 0xfa1a, 0xfb96, 0xf985, 0xfb08, 0xf985, 0xfb08, -0xf985, 0xfb08, 0xf866, 0xf9f0, 0xf866, 0xf9f0, 0xf6da, 0xf86d, 0xf6da, 0xf86d, 0xf69f, -0xf83c, 0xf69f, 0xf83c, 0xf5aa, 0xf752, 0xf5aa, 0xf752, 0xf585, 0xf73a, 0xf585, 0xf73a, -0xf5d9, 0xf79b, 0xf5d9, 0xf79b, 0xf5d9, 0xf79b, 0xf63f, 0xf80e, 0xf63f, 0xf80e, 0xf642, -0xf820, 0xf642, 0xf820, 0xf524, 0xf710, 0xf524, 0xf710, 0xf412, 0xf60c, 0xf412, 0xf60c, -0xf2f7, 0xf500, 0xf2f7, 0xf500, 0xf28b, 0xf4a1, 0xf28b, 0xf4a1, 0xf28b, 0xf4a1, 0xf24c, -0xf470, 0xf24c, 0xf470, 0xf18f, 0xf3c1, 0xf18f, 0xf3c1, 0xf07d, 0xf2bc, 0xf07d, 0xf2bc, -0xeff0, 0xf23e, 0xeff0, 0xf23e, 0xf065, 0xf2c0, 0xf065, 0xf2c0, 0xf065, 0xf2c0, 0xf01e, -0xf288, 0xf01e, 0xf288, 0xeff7, 0xf26f, 0xeff7, 0xf26f, 0xf0cd, 0xf355, 0xf0cd, 0xf355, -0xf0aa, 0xf342, 0xf0aa, 0xf342, 0xf100, 0xf3a9, 0xf100, 0xf3a9, 0xf07e, 0xf337, 0xf07e, -0xf337, 0xf07e, 0xf337, 0xef36, 0xf201, 0xef36, 0xf201, 0xee29, 0xf105, 0xee29, 0xf105, -0xee9b, 0xf189, 0xee9b, 0xf189, 0xef56, 0xf255, 0xef56, 0xf255, 0xef65, 0xf274, 0xef65, -0xf274, 0xef5c, 0xf279, 0xef5c, 0xf279, 0xef5c, 0xf279, 0xeebc, 0xf1e7, 0xeebc, 0xf1e7, -0xee14, 0xf149, 0xee14, 0xf149, 0xedbf, 0xf0fc, 0xedbf, 0xf0fc, 0xedea, 0xf12a, 0xedea, -0xf12a, 0xee24, 0xf164, 0xee24, 0xf164, 0xee24, 0xf164, 0xef18, 0xf255, 0xef18, 0xf255, -0xef67, 0xf29c, 0xef67, 0xf29c, 0xefa8, 0xf2d0, 0xefa8, 0xf2d0, 0xefcc, 0xf2e3, 0xefcc, -0xf2e3, 0xefbd, 0xf2be, 0xefbd, 0xf2be, 0xef0e, 0xf1f5, 0xef0e, 0xf1f5, 0xef0e, 0xf1f5, -0xee40, 0xf109, 0xee40, 0xf109, 0xedf9, 0xf0a1, 0xedf9, 0xf0a1, 0xee3c, 0xf0c0, 0xee3c, -0xf0c0, 0xee35, 0xf093, 0xee35, 0xf093, 0xee77, 0xf0ae, 0xee77, 0xf0ae, 0xef31, 0xf140, -0xef31, 0xf140, 0xef31, 0xf140, 0xef10, 0xf0f7, 0xef10, 0xf0f7, 0xeee0, 0xf0a1, 0xeee0, -0xf0a1, 0xeea3, 0xf040, 0xeea3, 0xf040, 0xee60, 0xefdc, 0xee60, 0xefdc, 0xedfd, 0xef5b, -0xedfd, 0xef5b, 0xedfd, 0xef5b, 0xeef0, 0xf035, 0xeef0, 0xf035, 0xef2f, 0xf060, 0xef2f, -0xf060, 0xee6b, 0xef8d, 0xee6b, 0xef8d, 0xed86, 0xee9e, 0xed86, 0xee9e, 0xed21, 0xee34, -0xed21, 0xee34, 0xece1, 0xedf4, 0xece1, 0xedf4, 0xece1, 0xedf4, 0xed3a, 0xee54, 0xed3a, -0xee54, 0xee32, 0xef56, 0xee32, 0xef56, 0xee76, 0xefaa, 0xee76, 0xefaa, 0xef2e, 0xf075, -0xef2e, 0xf075, 0xf028, 0xf185, 0xf028, 0xf185, 0xf14b, 0xf2c1, 0xf14b, 0xf2c1, 0xf14b, -0xf2c1, 0xf225, 0xf3b5, 0xf225, 0xf3b5, 0xf2d5, 0xf47f, 0xf2d5, 0xf47f, 0xf31b, 0xf4df, -0xf31b, 0xf4df, 0xf2b0, 0xf48e, 0xf2b0, 0xf48e, 0xf2a2, 0xf498, 0xf2a2, 0xf498, 0xf2a2, -0xf498, 0xf2d3, 0xf4de, 0xf2d3, 0xf4de, 0xf28f, 0xf4ab, 0xf28f, 0xf4ab, 0xf26e, 0xf499, -0xf26e, 0xf499, 0xf2a8, 0xf4de, 0xf2a8, 0xf4de, 0xf399, 0xf5d4, 0xf399, 0xf5d4, 0xf316, -0xf552, 0xf316, 0xf552, 0xf316, 0xf552, 0xf2b5, 0xf4ee, 0xf2b5, 0xf4ee, 0xf248, 0xf478, -0xf248, 0xf478, 0xf19f, 0xf3c3, 0xf19f, 0xf3c3, 0xf26d, 0xf47e, 0xf26d, 0xf47e, 0xf2f8, -0xf4f2, 0xf2f8, 0xf4f2, 0xf313, 0xf4f3, 0xf313, 0xf4f3, 0xf313, 0xf4f3, 0xf2a0, 0xf461, -0xf2a0, 0xf461, 0xf30d, 0xf4ab, 0xf30d, 0xf4ab, 0xf377, 0xf4f0, 0xf377, 0xf4f0, 0xf41b, -0xf56b, 0xf41b, 0xf56b, 0xf56b, 0xf690, 0xf56b, 0xf690, 0xf56b, 0xf690, 0xf723, 0xf81b, -0xf723, 0xf81b, 0xf926, 0xf9f0, 0xf926, 0xf9f0, 0xfb7d, 0xfc17, 0xfb7d, 0xfc17, 0xfcde, -0xfd47, 0xfcde, 0xfd47, 0xfd95, 0xfdcd, 0xfd95, 0xfdcd, 0xfecb, 0xfed2, 0xfecb, 0xfed2, -0xfecb, 0xfed2, 0x3f, 0x17, 0x3f, 0x17, 0x218, 0x1c0, 0x218, 0x1c0, 0x422, -0x39c, 0x422, 0x39c, 0x5fc, 0x54a, 0x5fc, 0x54a, 0x76e, 0x693, 0x76e, 0x693, -0x76e, 0x693, 0x88c, 0x78a, 0x88c, 0x78a, 0x968, 0x842, 0x968, 0x842, 0xaaa, -0x962, 0xaaa, 0x962, 0xb60, 0x9fb, 0xb60, 0x9fb, 0xc62, 0xae3, 0xc62, 0xae3, -0xcfe, 0xb68, 0xcfe, 0xb68, 0xcfe, 0xb68, 0xd63, 0xbba, 0xd63, 0xbba, 0xda7, -0xbf0, 0xda7, 0xbf0, 0xdc2, 0xc00, 0xdc2, 0xc00, 0xd76, 0xbac, 0xd76, 0xbac, -0xd81, 0xbb3, 0xd81, 0xbb3, 0xee3, 0xd15, 0xee3, 0xd15, 0xee3, 0xd15, 0xfb5, -0xde8, 0xfb5, 0xde8, 0xfc3, 0xdf9, 0xfc3, 0xdf9, 0xf14, 0xd50, 0xf14, 0xd50, -0xde3, 0xc26, 0xde3, 0xc26, 0xc9f, 0xae8, 0xc9f, 0xae8, 0xc9f, 0xae8, 0xc74, -0xac5, 0xc74, 0xac5, 0xc69, 0xac0, 0xc69, 0xac0, 0xc60, 0xabd, 0xc60, 0xabd, -0xd04, 0xb66, 0xd04, 0xb66, 0xdb9, 0xc1d, 0xdb9, 0xc1d, 0xdcf, 0xc33, 0xdcf, -0xc33, 0xdcf, 0xc33, 0xd3a, 0xb9d, 0xd3a, 0xb9d, 0xc85, 0xae4, 0xc85, 0xae4, -0xc41, 0xa9a, 0xc41, 0xa9a, 0xc88, 0xad9, 0xc88, 0xad9, 0xd9f, 0xbe7, 0xd9f, -0xbe7, 0xe24, 0xc62, 0xe24, 0xc62, 0xe24, 0xc62, 0xdee, 0xc21, 0xdee, 0xc21, -0xcf2, 0xb1a, 0xcf2, 0xb1a, 0xc03, 0xa22, 0xc03, 0xa22, 0xbbb, 0x9d2, 0xbbb, -0x9d2, 0xaa8, 0x8b9, 0xaa8, 0x8b9, 0xaa8, 0x8b9, 0xad3, 0x8e1, 0xad3, 0x8e1, -0xa53, 0x862, 0xa53, 0x862, 0x975, 0x78a, 0x975, 0x78a, 0x8fc, 0x71c, 0x8fc, -0x71c, 0x7d6, 0x604, 0x7d6, 0x604, 0x634, 0x478, 0x634, 0x478, 0x634, 0x478, -0x4ee, 0x34b, 0x4ee, 0x34b, 0x4ab, 0x327, 0x4ab, 0x327, 0x47b, 0x31b, 0x47b, -0x31b, 0x3d9, 0x2a1, 0x3d9, 0x2a1, 0x2b8, 0x1ac, 0x2b8, 0x1ac, 0x10d, 0x2f, -0x10d, 0x2f, 0x10d, 0x2f, 0xffec, 0xff3f, 0xffec, 0xff3f, 0xffe2, 0xff66, 0xffe2, -0xff66, 0xff71, 0xff26, 0xff71, 0xff26, 0xfee5, 0xfeca, 0xfee5, 0xfeca, 0xfe3b, 0xfe4e, -0xfe3b, 0xfe4e, 0xfe3b, 0xfe4e, 0xfdc7, 0xfe04, 0xfdc7, 0xfe04, 0xfda8, 0xfe0b, 0xfda8, -0xfe0b, 0xfe18, 0xfe9d, 0xfe18, 0xfe9d, 0xfe7b, 0xff1c, 0xfe7b, 0xff1c, 0xff65, 0x1d, -0xff65, 0x1d, 0x17, 0xdf, 0x17, 0xdf, 0x17, 0xdf, 0x9e, 0x171, 0x9e, -0x171, 0xcf, 0x1a7, 0xcf, 0x1a7, 0x25, 0xfb, 0x25, 0xfb, 0xb3, 0x183, -0xb3, 0x183, 0x18b, 0x250, 0x18b, 0x250, 0x25c, 0x314, 0x25c, 0x314, 0x25c, -0x314, 0x2ef, 0x394, 0x2ef, 0x394, 0x392, 0x424, 0x392, 0x424, 0x3a7, 0x424, -0x3a7, 0x424, 0x3b5, 0x41b, 0x3b5, 0x41b, 0x453, 0x4a3, 0x453, 0x4a3, 0x453, -0x4a3, 0x49d, 0x4d8, 0x49d, 0x4d8, 0x50f, 0x536, 0x50f, 0x536, 0x57b, 0x58e, -0x57b, 0x58e, 0x55f, 0x561, 0x55f, 0x561, 0x567, 0x559, 0x567, 0x559, 0x58f, -0x573, 0x58f, 0x573, 0x58f, 0x573, 0x51b, 0x4f1, 0x51b, 0x4f1, 0x487, 0x450, -0x487, 0x450, 0x488, 0x444, 0x488, 0x444, 0x4d4, 0x483, 0x4d4, 0x483, 0x5af, -0x54f, 0x5af, 0x54f, 0x64b, 0x5db, 0x64b, 0x5db, 0x64b, 0x5db, 0x628, 0x5a5, -0x628, 0x5a5, 0x5a5, 0x50c, 0x5a5, 0x50c, 0x557, 0x4a3, 0x557, 0x4a3, 0x5eb, -0x518, 0x5eb, 0x518, 0x646, 0x551, 0x646, 0x551, 0x646, 0x551, 0x729, 0x60d, -0x729, 0x60d, 0x7c3, 0x67c, 0x7c3, 0x67c, 0x969, 0x7f3, 0x969, 0x7f3, 0xafb, -0x954, 0xafb, 0x954, 0xb91, 0x9b6, 0xb91, 0x9b6, 0xcce, 0xabf, 0xcce, 0xabf, -0xcce, 0xabf, 0xd5b, 0xb17, 0xd5b, 0xb17, 0xe77, 0xbfe, 0xe77, 0xbfe, 0xfba, -0xd0e, 0xfba, 0xd0e, 0x1044, 0xd6a, 0x1044, 0xd6a, 0x10c6, 0xdc1, 0x10c6, 0xdc1, -0x1170, 0xe48, 0x1170, 0xe48, 0x1170, 0xe48, 0x125e, 0xf17, 0x125e, 0xf17, 0x13c1, -0x1064, 0x13c1, 0x1064, 0x1567, 0x11fc, 0x1567, 0x11fc, 0x1753, 0x13e3, 0x1753, 0x13e3, -0x18b7, 0x154a, 0x18b7, 0x154a, 0x18b7, 0x154a, 0x19cf, 0x166d, 0x19cf, 0x166d, 0x19fa, -0x16ac, 0x19fa, 0x16ac, 0x1918, 0x15e5, 0x1918, 0x15e5, 0x1827, 0x1516, 0x1827, 0x1516, -0x17a2, 0x14b9, 0x17a2, 0x14b9, 0x176b, 0x14ae, 0x176b, 0x14ae, 0x176b, 0x14ae, 0x179c, -0x150f, 0x179c, 0x150f, 0x1794, 0x1538, 0x1794, 0x1538, 0x165d, 0x1432, 0x165d, 0x1432, -0x14f6, 0x12fb, 0x14f6, 0x12fb, 0x132d, 0x1160, 0x132d, 0x1160, 0x12cc, 0x112a, 0x12cc, -0x112a, 0x12cc, 0x112a, 0x12ac, 0x112e, 0x12ac, 0x112e, 0x1234, 0x10d7, 0x1234, 0x10d7, -0x120c, 0x10c9, 0x120c, 0x10c9, 0x1174, 0x1043, 0x1174, 0x1043, 0x107e, 0xf5a, 0x107e, -0xf5a, 0x107e, 0xf5a, 0xedf, 0xdc1, 0xedf, 0xdc1, 0xd4f, 0xc32, 0xd4f, 0xc32, -0xc01, 0xade, 0xc01, 0xade, 0xbda, 0xaae, 0xbda, 0xaae, 0xc2e, 0xaf4, 0xc2e, -0xaf4, 0xb8d, 0xa43, 0xb8d, 0xa43, 0xb8d, 0xa43, 0xa6d, 0x911, 0xa6d, 0x911, -0x95c, 0x7ee, 0x95c, 0x7ee, 0x84b, 0x6cb, 0x84b, 0x6cb, 0x779, 0x5ea, 0x779, -0x5ea, 0x72f, 0x595, 0x72f, 0x595, 0x68a, 0x4e9, 0x68a, 0x4e9, 0x68a, 0x4e9, -0x5cd, 0x429, 0x5cd, 0x429, 0x4ce, 0x32d, 0x4ce, 0x32d, 0x395, 0x1fc, 0x395, -0x1fc, 0x2c6, 0x13b, 0x2c6, 0x13b, 0x1a2, 0x2b, 0x1a2, 0x2b, 0x1a2, 0x2b, -0x9a, 0xff3d, 0x9a, 0xff3d, 0xff2a, 0xfded, 0xff2a, 0xfded, 0xfe3f, 0xfd25, 0xfe3f, -0xfd25, 0xfd68, 0xfc75, 0xfd68, 0xfc75, 0xfce2, 0xfc19, 0xfce2, 0xfc19, 0xfc90, 0xfbf4, -0xfc90, 0xfbf4, 0xfc90, 0xfbf4, 0xfb9b, 0xfb2c, 0xfb9b, 0xfb2c, 0xfc4b, 0xfc09, 0xfc4b, -0xfc09, 0xfce7, 0xfcd2, 0xfce7, 0xfcd2, 0xfd20, 0xfd37, 0xfd20, 0xfd37, 0xfd1f, 0xfd5f, -0xfd1f, 0xfd5f, 0xfd1f, 0xfd5f, 0xfcaa, 0xfd11, 0xfcaa, 0xfd11, 0xfcad, 0xfd37, 0xfcad, -0xfd37, 0xfcd6, 0xfd80, 0xfcd6, 0xfd80, 0xfca2, 0xfd68, 0xfca2, 0xfd68, 0xfcb8, 0xfd97, -0xfcb8, 0xfd97, 0xfd24, 0xfe18, 0xfd24, 0xfe18, 0xfd24, 0xfe18, 0xfdf7, 0xfefd, 0xfdf7, -0xfefd, 0xfe82, 0xff97, 0xfe82, 0xff97, 0xfdd4, 0xfef5, 0xfdd4, 0xfef5, 0xfd09, 0xfe35, -0xfd09, 0xfe35, 0xfc61, 0xfd95, 0xfc61, 0xfd95, 0xfc68, 0xfda2, 0xfc68, 0xfda2, 0xfc68, -0xfda2, 0xfc54, 0xfd95, 0xfc54, 0xfd95, 0xfbe6, 0xfd2c, 0xfbe6, 0xfd2c, 0xfb88, 0xfcd4, -0xfb88, 0xfcd4, 0xfac6, 0xfc18, 0xfac6, 0xfc18, 0xf9cc, 0xfb23, 0xf9cc, 0xfb23, 0xf9cc, -0xfb23, 0xf9a3, 0xfb00, 0xf9a3, 0xfb00, 0xf9c8, 0xfb2b, 0xf9c8, 0xfb2b, 0xfa82, 0xfbec, -0xfa82, 0xfbec, 0xfb88, 0xfcf7, 0xfb88, 0xfcf7, 0xfb4b, 0xfcc0, 0xfb4b, 0xfcc0, 0xfa68, -0xfbe2, 0xfa68, 0xfbe2, 0xfa68, 0xfbe2, 0xf88a, 0xfa09, 0xf88a, 0xfa09, 0xf6b4, 0xf836, -0xf6b4, 0xf836, 0xf5d2, 0xf756, 0xf5d2, 0xf756, 0xf5c9, 0xf74d, 0xf5c9, 0xf74d, 0xf5f8, -0xf77a, 0xf5f8, 0xf77a, 0xf5c8, 0xf746, 0xf5c8, 0xf746, 0xf5c8, 0xf746, 0xf52d, 0xf6a6, -0xf52d, 0xf6a6, 0xf413, 0xf585, 0xf413, 0xf585, 0xf3e6, 0xf54e, 0xf3e6, 0xf54e, 0xf4a1, -0xf5ff, 0xf4a1, 0xf5ff, 0xf4b0, 0xf602, 0xf4b0, 0xf602, 0xf4b0, 0xf602, 0xf3df, 0xf524, -0xf3df, 0xf524, 0xf308, 0xf440, 0xf308, 0xf440, 0xf1ea, 0xf315, 0xf1ea, 0xf315, 0xf12c, -0xf24a, 0xf12c, 0xf24a, 0xf107, 0xf219, 0xf107, 0xf219, 0xf096, 0xf19c, 0xf096, 0xf19c, -0xf096, 0xf19c, 0xf0f6, 0xf1f3, 0xf0f6, 0xf1f3, 0xf1e5, 0xf2db, 0xf1e5, 0xf2db, 0xf2e8, -0xf3d8, 0xf2e8, 0xf3d8, 0xf305, 0xf3f2, 0xf305, 0xf3f2, 0xf24a, 0xf336, 0xf24a, 0xf336, -0xf131, 0xf21f, 0xf131, 0xf21f, 0xf131, 0xf21f, 0xf00d, 0xf0fe, 0xf00d, 0xf0fe, 0xefdb, -0xf0d1, 0xefdb, 0xf0d1, 0xefe7, 0xf0e5, 0xefe7, 0xf0e5, 0xf0a7, 0xf1af, 0xf0a7, 0xf1af, -0xf034, 0xf146, 0xf034, 0xf146, 0xf034, 0xf146, 0xef3b, 0xf058, 0xef3b, 0xf058, 0xef43, -0xf06c, 0xef43, 0xf06c, 0xee98, 0xefce, 0xee98, 0xefce, 0xee12, 0xef53, 0xee12, 0xef53, -0xee2a, 0xef78, 0xee2a, 0xef78, 0xee05, 0xef5d, 0xee05, 0xef5d, 0xee05, 0xef5d, 0xee47, -0xefa9, 0xee47, 0xefa9, 0xeed0, 0xf03c, 0xeed0, 0xf03c, 0xee83, 0xeff7, 0xee83, 0xeff7, -0xeda7, 0xef21, 0xeda7, 0xef21, 0xecb4, 0xee34, 0xecb4, 0xee34, 0xec98, 0xee1c, 0xec98, -0xee1c, 0xec98, 0xee1c, 0xec94, 0xee1c, 0xec94, 0xee1c, 0xec9c, 0xee26, 0xec9c, 0xee26, -0xecc3, 0xee4e, 0xecc3, 0xee4e, 0xecd4, 0xee60, 0xecd4, 0xee60, 0xed41, 0xeecd, 0xed41, -0xeecd, 0xed41, 0xeecd, 0xed5e, 0xeeea, 0xed5e, 0xeeea, 0xed60, 0xeeeb, 0xed60, 0xeeeb, -0xed94, 0xef1e, 0xed94, 0xef1e, 0xeddb, 0xef64, 0xeddb, 0xef64, 0xee74, 0xeffb, 0xee74, -0xeffb, 0xeec5, 0xf04b, 0xeec5, 0xf04b, 0xeec5, 0xf04b, 0xee14, 0xef98, 0xee14, 0xef98, -0xee47, 0xefca, 0xee47, 0xefca, 0xeebd, 0xf03d, 0xeebd, 0xf03d, 0xeede, 0xf05d, 0xeede, -0xf05d, 0xef2e, 0xf0a9, 0xef2e, 0xf0a9, 0xeeb8, 0xf031, 0xeeb8, 0xf031, 0xeeb8, 0xf031, -0xee61, 0xefd6, 0xee61, 0xefd6, 0xee8f, 0xf000, 0xee8f, 0xf000, 0xef70, 0xf0dd, 0xef70, -0xf0dd, 0xf07d, 0xf1e5, 0xf07d, 0xf1e5, 0xf1b2, 0xf315, 0xf1b2, 0xf315, 0xf1b2, 0xf315, -0xf2d6, 0xf435, 0xf2d6, 0xf435, 0xf3d3, 0xf52c, 0xf3d3, 0xf52c, 0xf506, 0xf65b, 0xf506, -0xf65b, 0xf5bb, 0xf70c, 0xf5bb, 0xf70c, 0xf5b5, 0xf703, 0xf5b5, 0xf703, 0xf569, 0xf6b5, -0xf569, 0xf6b5, 0xf569, 0xf6b5, 0xf59d, 0xf6e7, 0xf59d, 0xf6e7, 0xf59b, 0xf6e5, 0xf59b, -0xf6e5, 0xf61d, 0xf768, 0xf61d, 0xf768, 0xf699, 0xf7e5, 0xf699, 0xf7e5, 0xf623, 0xf772, -0xf623, 0xf772, 0xf568, 0xf6ba, 0xf568, 0xf6ba, 0xf568, 0xf6ba, 0xf529, 0xf67f, 0xf529, -0xf67f, 0xf5bf, 0xf718, 0xf5bf, 0xf718, 0xf5de, 0xf73a, 0xf5de, 0xf73a, 0xf605, 0xf763, -0xf605, 0xf763, 0xf5b4, 0xf713, 0xf5b4, 0xf713, 0xf5b4, 0xf713, 0xf507, 0xf664, 0xf507, -0xf664, 0xf45a, 0xf5b2, 0xf45a, 0xf5b2, 0xf3b3, 0xf504, 0xf3b3, 0xf504, 0xf3c1, 0xf506, -0xf3c1, 0xf506, 0xf3f2, 0xf527, 0xf3f2, 0xf527, 0xf583, 0xf6a4, 0xf583, 0xf6a4, 0xf583, -0xf6a4, 0xf7d1, 0xf8d9, 0xf7d1, 0xf8d9, 0xf90b, 0xf9f6, 0xf90b, 0xf9f6, 0xf9ff, 0xfac7, -0xf9ff, 0xfac7, 0xfabd, 0xfb5f, 0xfabd, 0xfb5f, 0xfb55, 0xfbcb, 0xfb55, 0xfbcb, 0xfcf0, -0xfd38, 0xfcf0, 0xfd38, 0xfcf0, 0xfd38, 0xfef6, 0xff0d, 0xfef6, 0xff0d, 0x68, 0x4b, -0x68, 0x4b, 0x143, 0xf2, 0x143, 0xf2, 0x291, 0x20b, 0x291, 0x20b, 0x442, -0x38a, 0x442, 0x38a, 0x442, 0x38a, 0x564, 0x47b, 0x564, 0x47b, 0x706, 0x5ee, -0x706, 0x5ee, 0x87b, 0x739, 0x87b, 0x739, 0x957, 0x7f0, 0x957, 0x7f0, 0xa9e, -0x918, 0xa9e, 0x918, 0xba7, 0xa08, 0xba7, 0xa08, 0xba7, 0xa08, 0xc2d, 0xa7b, -0xc2d, 0xa7b, 0xc9c, 0xadf, 0xc9c, 0xadf, 0xcdd, 0xb1c, 0xcdd, 0xb1c, 0xda1, -0xbe2, 0xda1, 0xbe2, 0xe8f, 0xcd8, 0xe8f, 0xcd8, 0xf88, 0xddf, 0xf88, 0xddf, -0xf88, 0xddf, 0x1115, 0xf80, 0x1115, 0xf80, 0x1156, 0xfd8, 0x1156, 0xfd8, 0x10bb, -0xf58, 0x10bb, 0xf58, 0xfe3, 0xe9c, 0xfe3, 0xe9c, 0xe8f, 0xd65, 0xe8f, 0xd65, -0xe8f, 0xd65, 0xdac, 0xca0, 0xdac, 0xca0, 0xe00, 0xd0f, 0xe00, 0xd0f, 0xeef, -0xe18, 0xeef, 0xe18, 0xef9, 0xe39, 0xef9, 0xe39, 0xe5f, 0xdb2, 0xe5f, 0xdb2, -0xd63, 0xcc5, 0xd63, 0xcc5, 0xd63, 0xcc5, 0xcce, 0xc39, 0xcce, 0xc39, 0xd4a, -0xcbb, 0xd4a, 0xcbb, 0xe77, 0xde9, 0xe77, 0xde9, 0xf22, 0xe90, 0xf22, 0xe90, -0xf61, 0xec9, 0xf61, 0xec9, 0xf61, 0xec9, 0xf45, 0xea2, 0xf45, 0xea2, 0xe90, -0xde1, 0xe90, 0xde1, 0xe2d, 0xd6f, 0xe2d, 0xd6f, 0xda9, 0xcdd, 0xda9, 0xcdd, -0xd3c, 0xc62, 0xd3c, 0xc62, 0xce6, 0xbff, 0xce6, 0xbff, 0xce6, 0xbff, 0xcc9, -0xbd8, 0xcc9, 0xbd8, 0xc50, 0xb57, 0xc50, 0xb57, 0xb20, 0xa24, 0xb20, 0xa24, -0x9cc, 0x8d0, 0x9cc, 0x8d0, 0x81b, 0x723, 0x81b, 0x723, 0x6c9, 0x5db, 0x6c9, -0x5db, 0x6c9, 0x5db, 0x5ad, 0x4cc, 0x5ad, 0x4cc, 0x4e3, 0x415, 0x4e3, 0x415, -0x3a3, 0x2eb, 0x3a3, 0x2eb, 0x19a, 0xfb, 0x19a, 0xfb, 0xb4, 0x30, 0xb4, -0x30, 0xb4, 0x30, 0x78, 0x11, 0x78, 0x11, 0xffc0, 0xff76, 0xffc0, 0xff76, -0xfeed, 0xfec1, 0xfeed, 0xfec1, 0xfdaa, 0xfd99, 0xfdaa, 0xfd99, 0xfc56, 0xfc5f, 0xfc56, -0xfc5f, 0xfbbd, 0xfbdd, 0xfbbd, 0xfbdd, 0xfbbd, 0xfbdd, 0xfb2b, 0xfb5e, 0xfb2b, 0xfb5e, -0xfa88, 0xfacb, 0xfa88, 0xfacb, 0xfa67, 0xfab5, 0xfa67, 0xfab5, 0xfbac, 0xfc00, 0xfbac, -0xfc00, 0xfd14, 0xfd69, 0xfd14, 0xfd69, 0xfd75, 0xfdc8, 0xfd75, 0xfdc8, 0xfd75, 0xfdc8, -0xfde3, 0xfe30, 0xfde3, 0xfe30, 0xfdd0, 0xfe14, 0xfdd0, 0xfe14, 0xfdf9, 0xfe30, 0xfdf9, -0xfe30, 0xff35, 0xff5e, 0xff35, 0xff5e, 0x4, 0x1d, 0x4, 0x1d, 0x4, 0x1d, -0x8e, 0x98, 0x8e, 0x98, 0x150, 0x14b, 0x150, 0x14b, 0x1f3, 0x1e0, 0x1f3, -0x1e0, 0x284, 0x265, 0x284, 0x265, 0x29b, 0x272, 0x29b, 0x272, 0x323, 0x2f4, -0x323, 0x2f4, 0x323, 0x2f4, 0x425, 0x3f2, 0x425, 0x3f2, 0x4b7, 0x483, 0x4b7, -0x483, 0x577, 0x544, 0x577, 0x544, 0x5dc, 0x5ac, 0x5dc, 0x5ac, 0x509, 0x4de, -0x509, 0x4de, 0x40a, 0x3e5, 0x40a, 0x3e5, 0x40a, 0x3e5, 0x3e9, 0x3c9, 0x3e9, -0x3c9, 0x3ed, 0x3d1, 0x3ed, 0x3d1, 0x40b, 0x3f2, 0x40b, 0x3f2, 0x48a, 0x46f, -0x48a, 0x46f, 0x4bf, 0x49f, 0x4bf, 0x49f, 0x4bf, 0x49f, 0x46d, 0x443, 0x46d, -0x443, 0x4ce, 0x494, 0x4ce, 0x494, 0x545, 0x4f5, 0x545, 0x4f5, 0x4c4, 0x457, -0x4c4, 0x457, 0x4f8, 0x467, 0x4f8, 0x467, 0x591, 0x4d5, 0x591, 0x4d5, 0x591, -0x4d5, 0x666, 0x57a, 0x666, 0x57a, 0x72f, 0x60c, 0x72f, 0x60c, 0x7ce, 0x66f, -0x7ce, 0x66f, 0x91b, 0x77c, 0x91b, 0x77c, 0xab2, 0x8d1, 0xab2, 0x8d1, 0xcce, -0xaaa, 0xcce, 0xaaa, 0xcce, 0xaaa, 0xe89, 0xc20, 0xe89, 0xc20, 0xfb1, 0xd06, -0xfb1, 0xd06, 0x1040, 0xd55, 0x1040, 0xd55, 0x107a, 0xd54, 0x107a, 0xd54, 0x10d8, -0xd7c, 0x10d8, 0xd7c, 0x10d8, 0xd7c, 0x1164, 0xdd9, 0x1164, 0xdd9, 0x134e, 0xf9c, -0x134e, 0xf9c, 0x1557, 0x1186, 0x1557, 0x1186, 0x171f, 0x1337, 0x171f, 0x1337, 0x1982, -0x158d, 0x1982, 0x158d, 0x1b09, 0x1711, 0x1b09, 0x1711, 0x1b09, 0x1711, 0x1b2f, 0x173c, -0x1b2f, 0x173c, 0x1b35, 0x1750, 0x1b35, 0x1750, 0x1b1e, 0x174d, 0x1b1e, 0x174d, 0x1b44, -0x178e, 0x1b44, 0x178e, 0x1c56, 0x18c2, 0x1c56, 0x18c2, 0x1c9c, 0x192d, 0x1c9c, 0x192d, -0x1c9c, 0x192d, 0x1b80, 0x1839, 0x1b80, 0x1839, 0x19c9, 0x16ac, 0x19c9, 0x16ac, 0x18a3, -0x15b1, 0x18a3, 0x15b1, 0x1808, 0x1540, 0x1808, 0x1540, 0x1740, 0x14a0, 0x1740, 0x14a0, -0x1740, 0x14a0, 0x1709, 0x148e, 0x1709, 0x148e, 0x16b2, 0x145a, 0x16b2, 0x145a, 0x168d, -0x1453, 0x168d, 0x1453, 0x1662, 0x1442, 0x1662, 0x1442, 0x1538, 0x132e, 0x1538, 0x132e, -0x1435, 0x123c, 0x1435, 0x123c, 0x1435, 0x123c, 0x135d, 0x1172, 0x135d, 0x1172, 0x12cd, -0x10ec, 0x12cd, 0x10ec, 0x1203, 0x102a, 0x1203, 0x102a, 0x10d5, 0xf01, 0x10d5, 0xf01, -0x102d, 0xe5d, 0x102d, 0xe5d, 0xf53, 0xd87, 0xf53, 0xd87, 0xf53, 0xd87, 0xe4e, -0xc86, 0xe4e, 0xc86, 0xda2, 0xbe1, 0xda2, 0xbe1, 0xc81, 0xac7, 0xc81, 0xac7, -0xaa4, 0x8f6, 0xaa4, 0x8f6, 0x97b, 0x7dc, 0x97b, 0x7dc, 0x97b, 0x7dc, 0x86f, -0x6e4, 0x86f, 0x6e4, 0x6eb, 0x577, 0x6eb, 0x577, 0x5ad, 0x456, 0x5ad, 0x456, -0x44d, 0x317, 0x44d, 0x317, 0x2b1, 0x1a1, 0x2b1, 0x1a1, 0x11f, 0x39, 0x11f, -0x39, 0x11f, 0x39, 0xc7, 0xf, 0xc7, 0xf, 0xfffe, 0xff77, 0xfffe, 0xff77, -0xfe53, 0xfe00, 0xfe53, 0xfe00, 0xfd37, 0xfd19, 0xfd37, 0xfd19, 0xfb81, 0xfb9a, 0xfb81, -0xfb9a, 0xfa30, 0xfa80, 0xfa30, 0xfa80, 0xfa30, 0xfa80, 0xf94d, 0xf9d4, 0xf94d, 0xf9d4, -0xf901, 0xf9bf, 0xf901, 0xf9bf, 0xf8f0, 0xf9e2, 0xf8f0, 0xf9e2, 0xf8ae, 0xf9d3, 0xf8ae, -0xf9d3, 0xf8eb, 0xfa40, 0xf8eb, 0xfa40, 0xf8eb, 0xfa40, 0xf832, 0xf9b5, 0xf832, 0xf9b5, -0xf752, 0xf8fe, 0xf752, 0xf8fe, 0xf685, 0xf858, 0xf685, 0xf858, 0xf5e8, 0xf7de, 0xf5e8, -0xf7de, 0xf559, 0xf76e, 0xf559, 0xf76e, 0xf4a2, 0xf6d2, 0xf4a2, 0xf6d2, 0xf4a2, 0xf6d2, -0xf46d, 0xf6b5, 0xf46d, 0xf6b5, 0xf36e, 0xf5cb, 0xf36e, 0xf5cb, 0xf287, 0xf4f5, 0xf287, -0xf4f5, 0xf275, 0xf4f0, 0xf275, 0xf4f0, 0xf241, 0xf4c6, 0xf241, 0xf4c6, 0xf188, 0xf414, -0xf188, 0xf414, 0xf188, 0xf414, 0xf0aa, 0xf33a, 0xf0aa, 0xf33a, 0xef13, 0xf1a4, 0xef13, -0xf1a4, 0xed36, 0xefc5, 0xed36, 0xefc5, 0xec84, 0xef0e, 0xec84, 0xef0e, 0xebd1, 0xee52, -0xebd1, 0xee52, 0xebd1, 0xee52, 0xeb6d, 0xede4, 0xeb6d, 0xede4, 0xebc6, 0xee2f, 0xebc6, -0xee2f, 0xecf2, 0xef4b, 0xecf2, 0xef4b, 0xee06, 0xf04c, 0xee06, 0xf04c, 0xee05, 0xf035, -0xee05, 0xf035, 0xeddb, 0xeff3, 0xeddb, 0xeff3, 0xeddb, 0xeff3, 0xed90, 0xef8e, 0xed90, -0xef8e, 0xee97, 0xf07a, 0xee97, 0xf07a, 0xefff, 0xf1c5, 0xefff, 0xf1c5, 0xf09b, 0xf244, -0xf09b, 0xf244, 0xf12c, 0xf2b7, 0xf12c, 0xf2b7, 0xf12c, 0xf2b7, 0xf174, 0xf2e2, 0xf174, -0xf2e2, 0xf286, 0xf3d8, 0xf286, 0xf3d8, 0xf3f8, 0xf52f, 0xf3f8, 0xf52f, 0xf559, 0xf678, -0xf559, 0xf678, 0xf6b1, 0xf7ba, 0xf6b1, 0xf7ba, 0xf751, 0xf848, 0xf751, 0xf848, 0xf751, -0xf848, 0xf755, 0xf83d, 0xf755, 0xf83d, 0xf6bb, 0xf798, 0xf6bb, 0xf798, 0xf558, 0xf630, -0xf558, 0xf630, 0xf3f5, 0xf4ca, 0xf3f5, 0xf4ca, 0xf3f1, 0xf4ca, 0xf3f1, 0xf4ca, 0xf47c, -0xf55c, 0xf47c, 0xf55c, 0xf47c, 0xf55c, 0xf558, 0xf645, 0xf558, 0xf645, 0xf65a, 0xf757, -0xf65a, 0xf757, 0xf651, 0xf762, 0xf651, 0xf762, 0xf554, 0xf67c, 0xf554, 0xf67c, 0xf452, -0xf593, 0xf452, 0xf593, 0xf452, 0xf593, 0xf454, 0xf5b1, 0xf454, 0xf5b1, 0xf3e0, 0xf559, -0xf3e0, 0xf559, 0xf3aa, 0xf540, 0xf3aa, 0xf540, 0xf396, 0xf549, 0xf396, 0xf549, 0xf267, -0xf436, 0xf267, 0xf436, 0xf1de, 0xf3c7, 0xf1de, 0xf3c7, 0xf1de, 0xf3c7, 0xf0fd, 0xf2fd, -0xf0fd, 0xf2fd, 0xf018, 0xf22d, 0xf018, 0xf22d, 0xef4c, 0xf173, 0xef4c, 0xf173, 0xef2c, -0xf161, 0xef2c, 0xf161, 0xefca, 0xf20a, 0xefca, 0xf20a, 0xef8d, 0xf1d4, 0xef8d, 0xf1d4, -0xef8d, 0xf1d4, 0xefa7, 0xf1f2, 0xefa7, 0xf1f2, 0xef38, 0xf184, 0xef38, 0xf184, 0xee83, -0xf0ca, 0xee83, 0xf0ca, 0xeda6, 0xefe8, 0xeda6, 0xefe8, 0xecda, 0xef13, 0xecda, 0xef13, -0xecda, 0xef13, 0xeca3, 0xeed2, 0xeca3, 0xeed2, 0xebec, 0xee0e, 0xebec, 0xee0e, 0xebe6, -0xedfa, 0xebe6, 0xedfa, 0xec49, 0xee4e, 0xec49, 0xee4e, 0xec24, 0xee19, 0xec24, 0xee19, -0xebce, 0xedb2, 0xebce, 0xedb2, 0xebce, 0xedb2, 0xebe1, 0xedb4, 0xebe1, 0xedb4, 0xebd2, -0xed93, 0xebd2, 0xed93, 0xec22, 0xedd2, 0xec22, 0xedd2, 0xed18, 0xeeb7, 0xed18, 0xeeb7, -0xed30, 0xeebd, 0xed30, 0xeebd, 0xed32, 0xeead, 0xed32, 0xeead, 0xed32, 0xeead, 0xeda7, -0xef0f, 0xeda7, 0xef0f, 0xeefe, 0xf053, 0xeefe, 0xf053, 0xf08e, 0xf1cf, 0xf08e, 0xf1cf, -0xf181, 0xf2ae, 0xf181, 0xf2ae, 0xf1de, 0xf2f6, 0xf1de, 0xf2f6, 0xf1de, 0xf2f6, 0xf1c9, -0xf2cb, 0xf1c9, 0xf2cb, 0xf2c7, 0xf3b2, 0xf2c7, 0xf3b2, 0xf3fb, 0xf4cf, 0xf3fb, 0xf4cf, -0xf56e, 0xf62b, 0xf56e, 0xf62b, 0xf7bc, 0xf861, 0xf7bc, 0xf861, 0xfa28, 0xfab6, 0xfa28, -0xfab6, 0xfa28, 0xfab6, 0xfd11, 0xfd89, 0xfd11, 0xfd89, 0xfefa, 0xff5d, 0xfefa, 0xff5d, -0xff96, 0xffe6, 0xff96, 0xffe6, 0x7, 0x46, 0x7, 0x46, 0xb5, 0xe7, 0xb5, -0xe7, 0x21b, 0x242, 0x21b, 0x242, 0x21b, 0x242, 0x375, 0x395, 0x375, 0x395, -0x3c4, 0x3e1, 0x3c4, 0x3e1, 0x2f1, 0x30f, 0x2f1, 0x30f, 0x21e, 0x241, 0x21e, -0x241, 0x153, 0x17e, 0x153, 0x17e, 0x153, 0x17e, 0xcc, 0x104, 0xcc, 0x104, -0xb0, 0xf8, 0xb0, 0xf8, 0x7b, 0xd5, 0x7b, 0xd5, 0x4f, 0xbc, 0x4f, -0xbc, 0xa, 0x8b, 0xa, 0x8b, 0xffa5, 0x3a, 0xffa5, 0x3a, 0xffa5, 0x3a, -0xfe85, 0xff2d, 0xfe85, 0xff2d, 0xfde0, 0xfe99, 0xfde0, 0xfe99, 0xfd09, 0xfdcf, 0xfd09, -0xfdcf, 0xfc4e, 0xfd1e, 0xfc4e, 0xfd1e, 0xfcd9, 0xfdad, 0xfcd9, 0xfdad, 0xfcf7, 0xfdca, -0xfcf7, 0xfdca, 0xfcf7, 0xfdca, 0xfd6d, 0xfe39, 0xfd6d, 0xfe39, 0xfdd1, 0xfe8e, 0xfdd1, -0xfe8e, 0xfedb, 0xff84, 0xfedb, 0xff84, 0x11, 0x9e, 0x11, 0x9e, 0xf4, 0x15e, -0xf4, 0x15e, 0xf4, 0x15e, 0x23f, 0x281, 0x23f, 0x281, 0x277, 0x28b, 0x277, -0x28b, 0x2c0, 0x2a2, 0x2c0, 0x2a2, 0x2d5, 0x281, 0x2d5, 0x281, 0x353, 0x2c8, -0x353, 0x2c8, 0x44f, 0x38c, 0x44f, 0x38c, 0x44f, 0x38c, 0x4e9, 0x3ef, 0x4e9, -0x3ef, 0x62b, 0x4fc, 0x62b, 0x4fc, 0x722, 0x5c2, 0x722, 0x5c2, 0x7a3, 0x617, -0x7a3, 0x617, 0x815, 0x663, 0x815, 0x663, 0x838, 0x667, 0x838, 0x667, 0x838, -0x667, 0x7d3, 0x5eb, 0x7d3, 0x5eb, 0x7a9, 0x5b3, 0x7a9, 0x5b3, 0x7e1, 0x5e4, -0x7e1, 0x5e4, 0x805, 0x60b, 0x805, 0x60b, 0x89f, 0x6b0, 0x89f, 0x6b0, 0x89f, -0x6b0, 0x976, 0x79a, 0x976, 0x79a, 0xa00, 0x83e, 0xa00, 0x83e, 0x9a8, 0x807, -0x9a8, 0x807, 0x8cd, 0x751, 0x8cd, 0x751, 0x7b7, 0x664, 0x7b7, 0x664, 0x6ec, -0x5c3, 0x6ec, 0x5c3, 0x6ec, 0x5c3, 0x717, 0x61a, 0x717, 0x61a, 0x6af, 0x5dd, -0x6af, 0x5dd, 0x5d8, 0x52e, 0x5d8, 0x52e, 0x4d7, 0x452, 0x4d7, 0x452, 0x3fe, -0x399, 0x3fe, 0x399, 0x420, 0x3d6, 0x420, 0x3d6, 0x420, 0x3d6, 0x3ec, 0x3b7, -0x3ec, 0x3b7, 0x3e0, 0x3b8, 0x3e0, 0x3b8, 0x450, 0x42e, 0x450, 0x42e, 0x4f4, -0x4d2, 0x4f4, 0x4d2, 0x5b6, 0x58d, 0x5b6, 0x58d, 0x5b6, 0x58d, 0x64c, 0x616, -0x64c, 0x616, 0x69b, 0x651, 0x69b, 0x651, 0x684, 0x623, 0x684, 0x623, 0x6fb, -0x67f, 0x6fb, 0x67f, 0x77c, 0x6e3, 0x77c, 0x6e3, 0x7d2, 0x71b, 0x7d2, 0x71b, -0x7d2, 0x71b, 0x7c4, 0x6ee, 0x7c4, 0x6ee, 0x720, 0x62e, 0x720, 0x62e, 0x693, -0x586, 0x693, 0x586, 0x6d2, 0x5ae, 0x6d2, 0x5ae, 0x77b, 0x644, 0x77b, 0x644, -0x7c2, 0x67f, 0x7c2, 0x67f, 0x7c2, 0x67f, 0x7f6, 0x6aa, 0x7f6, 0x6aa, 0x711, -0x5c3, 0x711, 0x5c3, 0x652, 0x509, 0x652, 0x509, 0x59b, 0x45c, 0x59b, 0x45c, -0x4c8, 0x398, 0x4c8, 0x398, 0x4c8, 0x398, 0x4c8, 0x3ad, 0x4c8, 0x3ad, 0x47f, -0x37c, 0x47f, 0x37c, 0x43a, 0x355, 0x43a, 0x355, 0x2db, 0x215, 0x2db, 0x215, -0x146, 0xa2, 0x146, 0xa2, 0xffae, 0xff2d, 0xffae, 0xff2d, 0xffae, 0xff2d, 0xfe19, -0xfdbb, 0xfe19, 0xfdbb, 0xfdb9, 0xfd7f, 0xfdb9, 0xfd7f, 0xfd3f, 0xfd26, 0xfd3f, 0xfd26, -0xfd90, 0xfd97, 0xfd90, 0xfd97, 0xfe05, 0xfe2a, 0xfe05, 0xfe2a, 0xfe05, 0xfe2a, 0xfdfa, -0xfe3b, 0xfdfa, 0xfe3b, 0xfe3e, 0xfe97, 0xfe3e, 0xfe97, 0xfe4d, 0xfebd, 0xfe4d, 0xfebd, -0xfeca, 0xff4d, 0xfeca, 0xff4d, 0xff79, 0xe, 0xff79, 0xe, 0xff85, 0x29, 0xff85, -0x29, 0xff85, 0x29, 0xff53, 0x4, 0xff53, 0x4, 0xff44, 0, 0xff44, 0, -0xff3f, 0x6, 0xff3f, 0x6, 0xff2d, 0xfffd, 0xff2d, 0xfffd, 0xff00, 0xffd9, 0xff00, -0xffd9, 0xff3b, 0x1d, 0xff3b, 0x1d, 0xff3b, 0x1d, 0xfffb, 0xe4, 0xfffb, 0xe4, -0xa6, 0x197, 0xa6, 0x197, 0x103, 0x1fb, 0x103, 0x1fb, 0xa8, 0x1a7, 0xa8, -0x1a7, 0x74, 0x178, 0x74, 0x178, 0x74, 0x178, 0x7a, 0x181, 0x7a, 0x181, -0xffd9, 0xe2, 0xffd9, 0xe2, 0xffaf, 0xb6, 0xffaf, 0xb6, 0x15, 0x117, 0x15, -0x117, 0xf9, 0x1f2, 0xf9, 0x1f2, 0x1af, 0x299, 0x1af, 0x299, 0x1af, 0x299, -0x162, 0x238, 0x162, 0x238, 0x11c, 0x1da, 0x11c, 0x1da, 0x140, 0x1dd, 0x140, -0x1dd, 0x21d, 0x293, 0x21d, 0x293, 0x340, 0x388, 0x340, 0x388, 0x419, 0x42e, -0x419, 0x42e, 0x419, 0x42e, 0x43c, 0x416, 0x43c, 0x416, 0x43a, 0x3d4, 0x43a, -0x3d4, 0x53b, 0x491, 0x53b, 0x491, 0x6d8, 0x5e4, 0x6d8, 0x5e4, 0x8e3, 0x7a2, -0x8e3, 0x7a2, 0x8e3, 0x7a2, 0xb26, 0x997, 0xb26, 0x997, 0xcdc, 0xafd, 0xcdc, -0xafd, 0xd9b, 0xb6e, 0xd9b, 0xb6e, 0xe9d, 0xc24, 0xe9d, 0xc24, 0xfed, 0xd2b, -0xfed, 0xd2b, 0x11c0, 0xeba, 0x11c0, 0xeba, 0x11c0, 0xeba, 0x144d, 0x1109, 0x144d, -0x1109, 0x1710, 0x1395, 0x1710, 0x1395, 0x1a83, 0x16d8, 0x1a83, 0x16d8, 0x1d1c, 0x194c, -0x1d1c, 0x194c, 0x1ea0, 0x1ab4, 0x1ea0, 0x1ab4, 0x1f05, 0x1b05, 0x1f05, 0x1b05, 0x1f05, -0x1b05, 0x1f44, 0x1b3c, 0x1f44, 0x1b3c, 0x205c, 0x1c55, 0x205c, 0x1c55, 0x2140, 0x1d43, -0x2140, 0x1d43, 0x2220, 0x1e37, 0x2220, 0x1e37, 0x21e0, 0x1e13, 0x21e0, 0x1e13, 0x21e0, -0x1e13, 0x2158, 0x1dae, 0x2158, 0x1dae, 0x2039, 0x1cb8, 0x2039, 0x1cb8, 0x1dc9, 0x1a76, -0x1dc9, 0x1a76, 0x1c7b, 0x195a, 0x1c7b, 0x195a, 0x1bb1, 0x18c6, 0x1bb1, 0x18c6, 0x1ae3, -0x182e, 0x1ae3, 0x182e, 0x1ae3, 0x182e, 0x1a75, 0x17f6, 0x1a75, 0x17f6, 0x19b9, 0x1771, -0x19b9, 0x1771, 0x1900, 0x16ec, 0x1900, 0x16ec, 0x183e, 0x165b, 0x183e, 0x165b, 0x1737, -0x1582, 0x1737, 0x1582, 0x160a, 0x147f, 0x160a, 0x147f, 0x160a, 0x147f, 0x14b6, 0x1351, -0x14b6, 0x1351, 0x13b0, 0x126d, 0x13b0, 0x126d, 0x12a3, 0x117c, 0x12a3, 0x117c, 0x1126, -0x1018, 0x1126, 0x1018, 0xff4, 0xefb, 0xff4, 0xefb, 0xff4, 0xefb, 0xf53, 0xe6b, -0xf53, 0xe6b, 0xf0e, 0xe34, 0xf0e, 0xe34, 0xe70, 0xda1, 0xe70, 0xda1, 0xd2a, -0xc64, 0xd2a, 0xc64, 0xc13, 0xb55, 0xc13, 0xb55, 0xad4, 0xa1d, 0xad4, 0xa1d, -0xad4, 0xa1d, 0x94a, 0x89b, 0x94a, 0x89b, 0x7dc, 0x736, 0x7dc, 0x736, 0x663, -0x5c7, 0x663, 0x5c7, 0x5e2, 0x551, 0x5e2, 0x551, 0x58a, 0x507, 0x58a, 0x507, -0x445, 0x3d3, 0x445, 0x3d3, 0x445, 0x3d3, 0x2e6, 0x287, 0x2e6, 0x287, 0x1c4, -0x17b, 0x1c4, 0x17b, 0xda, 0xab, 0xda, 0xab, 0xffb4, 0xffa1, 0xffb4, 0xffa1, -0xfe5c, 0xfe68, 0xfe5c, 0xfe68, 0xfe5c, 0xfe68, 0xfd0e, 0xfd3b, 0xfd0e, 0xfd3b, 0xfc67, -0xfcb7, 0xfc67, 0xfcb7, 0xfc4e, 0xfcc4, 0xfc4e, 0xfcc4, 0xfbdf, 0xfc7c, 0xfbdf, 0xfc7c, -0xfb3f, 0xfc03, 0xfb3f, 0xfc03, 0xfad2, 0xfbbf, 0xfad2, 0xfbbf, 0xfad2, 0xfbbf, 0xfa31, -0xfb47, 0xfa31, 0xfb47, 0xf952, 0xfa8f, 0xf952, 0xfa8f, 0xf907, 0xfa6b, 0xf907, 0xfa6b, -0xf8c6, 0xfa50, 0xf8c6, 0xfa50, 0xf871, 0xfa20, 0xf871, 0xfa20, 0xf7ed, 0xf9bd, 0xf7ed, -0xf9bd, 0xf7ed, 0xf9bd, 0xf745, 0xf935, 0xf745, 0xf935, 0xf6af, 0xf8bb, 0xf6af, 0xf8bb, -0xf600, 0xf825, 0xf600, 0xf825, 0xf5a3, 0xf7de, 0xf5a3, 0xf7de, 0xf4b8, 0xf706, 0xf4b8, -0xf706, 0xf4b8, 0xf706, 0xf3dc, 0xf639, 0xf3dc, 0xf639, 0xf326, 0xf58e, 0xf326, 0xf58e, -0xf218, 0xf487, 0xf218, 0xf487, 0xf0e4, 0xf356, 0xf0e4, 0xf356, 0xef46, 0xf1b6, 0xef46, -0xf1b6, 0xeeec, 0xf157, 0xeeec, 0xf157, 0xeeec, 0xf157, 0xeeef, 0xf151, 0xeeef, 0xf151, -0xee78, 0xf0cc, 0xee78, 0xf0cc, 0xee80, 0xf0c4, 0xee80, 0xf0c4, 0xedf6, 0xf025, 0xedf6, -0xf025, 0xedae, 0xefc6, 0xedae, 0xefc6, 0xee4f, 0xf04d, 0xee4f, 0xf04d, 0xee4f, 0xf04d, -0xeec9, 0xf0aa, 0xeec9, 0xf0aa, 0xef3a, 0xf0fd, 0xef3a, 0xf0fd, 0xefcc, 0xf16f, 0xefcc, -0xf16f, 0xf02e, 0xf1b1, 0xf02e, 0xf1b1, 0xefc3, 0xf126, 0xefc3, 0xf126, 0xefc3, 0xf126, -0xef81, 0xf0c3, 0xef81, 0xf0c3, 0xf071, 0xf195, 0xf071, 0xf195, 0xf189, 0xf290, 0xf189, -0xf290, 0xf274, 0xf360, 0xf274, 0xf360, 0xf354, 0xf428, 0xf354, 0xf428, 0xf3bf, 0xf47e, -0xf3bf, 0xf47e, 0xf3bf, 0xf47e, 0xf3af, 0xf45d, 0xf3af, 0xf45d, 0xf335, 0xf3d8, 0xf335, -0xf3d8, 0xf27c, 0xf317, 0xf27c, 0xf317, 0xf223, 0xf2bc, 0xf223, 0xf2bc, 0xf206, 0xf2a1, -0xf206, 0xf2a1, 0xf291, 0xf333, 0xf291, 0xf333, 0xf291, 0xf333, 0xf363, 0xf412, 0xf363, -0xf412, 0xf3a4, 0xf465, 0xf3a4, 0xf465, 0xf4b0, 0xf587, 0xf4b0, 0xf587, 0xf57c, 0xf66d, -0xf57c, 0xf66d, 0xf53d, 0xf64d, 0xf53d, 0xf64d, 0xf53d, 0xf64d, 0xf527, 0xf657, 0xf527, -0xf657, 0xf532, 0xf686, 0xf532, 0xf686, 0xf50f, 0xf688, 0xf50f, 0xf688, 0xf4c5, 0xf664, -0xf4c5, 0xf664, 0xf444, 0xf60a, 0xf444, 0xf60a, 0xf317, 0xf503, 0xf317, 0xf503, 0xf317, -0xf503, 0xf224, 0xf435, 0xf224, 0xf435, 0xf1bd, 0xf3f1, 0xf1bd, 0xf3f1, 0xf13d, 0xf392, -0xf13d, 0xf392, 0xf0b1, 0xf323, 0xf0b1, 0xf323, 0xf087, 0xf313, 0xf087, 0xf313, 0xf087, -0xf313, 0xf08d, 0xf32e, 0xf08d, 0xf32e, 0xf043, 0xf2f5, 0xf043, 0xf2f5, 0xefb4, 0xf271, -0xefb4, 0xf271, 0xeec9, 0xf18d, 0xeec9, 0xf18d, 0xee47, 0xf10d, 0xee47, 0xf10d, 0xee09, -0xf0cc, 0xee09, 0xf0cc, 0xee09, 0xf0cc, 0xedc5, 0xf080, 0xedc5, 0xf080, 0xed31, 0xefdf, -0xed31, 0xefdf, 0xec68, 0xef04, 0xec68, 0xef04, 0xebfe, 0xee84, 0xebfe, 0xee84, 0xeb82, -0xedee, 0xeb82, 0xedee, 0xebb3, 0xee01, 0xebb3, 0xee01, 0xebb3, 0xee01, 0xec33, 0xee60, -0xec33, 0xee60, 0xec86, 0xee90, 0xec86, 0xee90, 0xec67, 0xee4b, 0xec67, 0xee4b, 0xebd0, -0xed8c, 0xebd0, 0xed8c, 0xebd6, 0xed69, 0xebd6, 0xed69, 0xebd6, 0xed69, 0xebc4, 0xed2d, -0xebc4, 0xed2d, 0xec50, 0xed8e, 0xec50, 0xed8e, 0xedb2, 0xeec6, 0xedb2, 0xeec6, 0xee61, -0xef4b, 0xee61, 0xef4b, 0xef03, 0xefc4, 0xef03, 0xefc4, 0xef9b, 0xf034, 0xef9b, 0xf034, -0xef9b, 0xf034, 0xefad, 0xf01f, 0xefad, 0xf01f, 0xefcc, 0xf01a, 0xefcc, 0xf01a, 0xf0d2, -0xf0ff, 0xf0d2, 0xf0ff, 0xf2e7, 0xf2f4, 0xf2e7, 0xf2f4, 0xf51c, 0xf50d, 0xf51c, 0xf50d, -0xf75a, 0xf732, 0xf75a, 0xf732, 0xf75a, 0xf732, 0xf91d, 0xf8e0, 0xf91d, 0xf8e0, 0xf9d8, -0xf989, 0xf9d8, 0xf989, 0xfabd, 0xfa5f, 0xfabd, 0xfa5f, 0xfc24, 0xfbbd, 0xfc24, 0xfbbd, -0xfd5f, 0xfcf1, 0xfd5f, 0xfcf1, 0xfd5f, 0xfcf1, 0xfee7, 0xfe77, 0xfee7, 0xfe77, 0x4d, -0xffde, 0x4d, 0xffde, 0xb6, 0x4b, 0xb6, 0x4b, 0xa4, 0x41, 0xa4, 0x41, -0x25, 0xffcc, 0x25, 0xffcc, 0xffec, 0xff9f, 0xffec, 0xff9f, 0xffec, 0xff9f, 0xffb6, -0xff78, 0xffb6, 0xff78, 0xff99, 0xff6a, 0xff99, 0xff6a, 0x40, 0x21, 0x40, 0x21, -0x2d, 0x1e, 0x2d, 0x1e, 0xff7e, 0xff7e, 0xff7e, 0xff7e, 0xff27, 0xff34, 0xff27, -0xff34, 0xff27, 0xff34, 0xfedc, 0xfef4, 0xfedc, 0xfef4, 0xfe6d, 0xfe8e, 0xfe6d, 0xfe8e, -0xfe90, 0xfeb6, 0xfe90, 0xfeb6, 0xfea9, 0xfecf, 0xfea9, 0xfecf, 0xfe12, 0xfe35, 0xfe12, -0xfe35, 0xfe12, 0xfe35, 0xfdf0, 0xfe0a, 0xfdf0, 0xfe0a, 0xfe4a, 0xfe57, 0xfe4a, 0xfe57, -0xfe89, 0xfe83, 0xfe89, 0xfe83, 0xff40, 0xff23, 0xff40, 0xff23, 0xa0, 0x67, 0xa0, -0x67, 0x144, 0xeb, 0x144, 0xeb, 0x144, 0xeb, 0x1b1, 0x135, 0x1b1, 0x135, -0x224, 0x180, 0x224, 0x180, 0x23a, 0x16d, 0x23a, 0x16d, 0x2a2, 0x1ac, 0x2a2, -0x1ac, 0x364, 0x243, 0x364, 0x243, 0x48f, 0x345, 0x48f, 0x345, 0x48f, 0x345, -0x53e, 0x3cc, 0x53e, 0x3cc, 0x5dd, 0x446, 0x5dd, 0x446, 0x67b, 0x4c3, 0x67b, -0x4c3, 0x6d7, 0x502, 0x6d7, 0x502, 0x75e, 0x572, 0x75e, 0x572, 0x75e, 0x572, -0x771, 0x575, 0x771, 0x575, 0x769, 0x563, 0x769, 0x563, 0x744, 0x53a, 0x744, -0x53a, 0x7e1, 0x5d9, 0x7e1, 0x5d9, 0x91b, 0x71d, 0x91b, 0x71d, 0x933, 0x745, -0x933, 0x745, 0x933, 0x745, 0x920, 0x748, 0x920, 0x748, 0x909, 0x74c, 0x909, -0x74c, 0x83d, 0x69f, 0x83d, 0x69f, 0x7e0, 0x664, 0x7e0, 0x664, 0x7ce, 0x676, -0x7ce, 0x676, 0x767, 0x633, 0x767, 0x633, 0x767, 0x633, 0x6f2, 0x5e2, 0x6f2, -0x5e2, 0x64e, 0x561, 0x64e, 0x561, 0x547, 0x479, 0x547, 0x479, 0x3ed, 0x33c, -0x3ed, 0x33c, 0x317, 0x27d, 0x317, 0x27d, 0x317, 0x27d, 0x298, 0x211, 0x298, -0x211, 0x1c5, 0x14a, 0x1c5, 0x14a, 0x1b2, 0x13c, 0x1b2, 0x13c, 0x20d, 0x197, -0x20d, 0x197, 0x243, 0x1c6, 0x243, 0x1c6, 0x315, 0x28b, 0x315, 0x28b, 0x315, -0x28b, 0x3ce, 0x332, 0x3ce, 0x332, 0x4c9, 0x416, 0x4c9, 0x416, 0x639, 0x56b, -0x639, 0x56b, 0x706, 0x61b, 0x706, 0x61b, 0x721, 0x617, 0x721, 0x617, 0x69e, -0x575, 0x69e, 0x575, 0x69e, 0x575, 0x6cb, 0x584, 0x6cb, 0x584, 0x7c1, 0x65e, -0x7c1, 0x65e, 0x844, 0x6c9, 0x844, 0x6c9, 0x892, 0x704, 0x892, 0x704, 0x8f2, -0x755, 0x8f2, 0x755, 0x8f2, 0x755, 0x8b6, 0x712, 0x8b6, 0x712, 0x81a, 0x674, -0x81a, 0x674, 0x7ab, 0x60c, 0x7ab, 0x60c, 0x6d8, 0x548, 0x6d8, 0x548, 0x617, -0x49c, 0x617, 0x49c, 0x5f5, 0x498, 0x5f5, 0x498, 0x5f5, 0x498, 0x5c5, 0x48d, -0x5c5, 0x48d, 0x47a, 0x36c, 0x47a, 0x36c, 0x379, 0x29a, 0x379, 0x29a, 0x291, -0x1e6, 0x291, 0x1e6, 0x8b, 0x19, 0x8b, 0x19, 0xff25, 0xfeec, 0xff25, 0xfeec, -0xff25, 0xfeec, 0xfe18, 0xfe1a, 0xfe18, 0xfe1a, 0xfd89, 0xfdc5, 0xfd89, 0xfdc5, 0xfd78, -0xfded, 0xfd78, 0xfded, 0xfdb0, 0xfe5a, 0xfdb0, 0xfe5a, 0xfdf6, 0xfed2, 0xfdf6, 0xfed2, -0xfdf6, 0xfed2, 0xfdde, 0xfee8, 0xfdde, 0xfee8, 0xfe5f, 0xff92, 0xfe5f, 0xff92, 0xfe88, -0xffde, 0xfe88, 0xffde, 0xfe9d, 0xf, 0xfe9d, 0xf, 0xfed3, 0x5b, 0xfed3, 0x5b, -0xfef6, 0x8e, 0xfef6, 0x8e, 0xfef6, 0x8e, 0xff15, 0xb6, 0xff15, 0xb6, 0xfe60, -0x4, 0xfe60, 0x4, 0xfe1d, 0xffbf, 0xfe1d, 0xffbf, 0xfe51, 0xffeb, 0xfe51, 0xffeb, -0xfdcf, 0xff5d, 0xfdcf, 0xff5d, 0xfd88, 0xff05, 0xfd88, 0xff05, 0xfd88, 0xff05, 0xfd95, -0xfefe, 0xfd95, 0xfefe, 0xfd99, 0xfeeb, 0xfd99, 0xfeeb, 0xfdf9, 0xff33, 0xfdf9, 0xff33, -0xfda8, 0xfec7, 0xfda8, 0xfec7, 0xfcd2, 0xfdd5, 0xfcd2, 0xfdd5, 0xfcd2, 0xfdd5, 0xfc9f, -0xfd84, 0xfc9f, 0xfd84, 0xfce6, 0xfdad, 0xfce6, 0xfdad, 0xfd67, 0xfe0f, 0xfd67, 0xfe0f, -0xfd82, 0xfe0a, 0xfd82, 0xfe0a, 0xfd92, 0xfdf9, 0xfd92, 0xfdf9, 0xfd9d, 0xfde3, 0xfd9d, -0xfde3, 0xfd9d, 0xfde3, 0xfd81, 0xfda4, 0xfd81, 0xfda4, 0xfe17, 0xfe16, 0xfe17, 0xfe16, -0xfeae, 0xfe87, 0xfeae, 0xfe87, 0xff94, 0xff45, 0xff94, 0xff45, 0xd7, 0x5e, 0xd7, -0x5e, 0xd7, 0x5e, 0x129, 0x83, 0x129, 0x83, 0x1a7, 0xd3, 0x1a7, 0xd3, -0x2de, 0x1d9, 0x2de, 0x1d9, 0x494, 0x35b, 0x494, 0x35b, 0x69b, 0x52e, 0x69b, -0x52e, 0x86e, 0x6c9, 0x86e, 0x6c9, 0x86e, 0x6c9, 0xa80, 0x8a2, 0xa80, 0x8a2, -0xc86, 0xa6f, 0xc86, 0xa6f, 0xdb2, 0xb62, 0xdb2, 0xb62, 0xe5d, 0xbd4, 0xe5d, -0xbd4, 0xf73, 0xcb3, 0xf73, 0xcb3, 0x1193, 0xe9e, 0x1193, 0xe9e, 0x1193, 0xe9e, -0x14f9, 0x11d2, 0x14f9, 0x11d2, 0x1812, 0x14bd, 0x1812, 0x14bd, 0x1a05, 0x1686, 0x1a05, -0x1686, 0x1b67, 0x17c3, 0x1b67, 0x17c3, 0x1ca8, 0x18e4, 0x1ca8, 0x18e4, 0x1ca8, 0x18e4, -0x1da4, 0x19c6, 0x1da4, 0x19c6, 0x1de9, 0x19f7, 0x1de9, 0x19f7, 0x1f0f, 0x1b0f, 0x1f0f, -0x1b0f, 0x1fec, 0x1be5, 0x1fec, 0x1be5, 0x1ff4, 0x1beb, 0x1ff4, 0x1beb, 0x2010, 0x1c0b, -0x2010, 0x1c0b, 0x2010, 0x1c0b, 0x1f60, 0x1b64, 0x1f60, 0x1b64, 0x1eb2, 0x1ac4, 0x1eb2, -0x1ac4, 0x1e2e, 0x1a52, 0x1e2e, 0x1a52, 0x1e00, 0x1a3a, 0x1e00, 0x1a3a, 0x1d2a, 0x197d, -0x1d2a, 0x197d, 0x1bfe, 0x186c, 0x1bfe, 0x186c, 0x1bfe, 0x186c, 0x1b48, 0x17d3, 0x1b48, -0x17d3, 0x1a05, 0x16ae, 0x1a05, 0x16ae, 0x1962, 0x162a, 0x1962, 0x162a, 0x191a, 0x1601, -0x191a, 0x1601, 0x18df, 0x15e6, 0x18df, 0x15e6, 0x18df, 0x15e6, 0x187b, 0x15a2, 0x187b, -0x15a2, 0x174a, 0x1491, 0x174a, 0x1491, 0x1657, 0x13be, 0x1657, 0x13be, 0x1539, 0x12c1, -0x1539, 0x12c1, 0x1393, 0x113b, 0x1393, 0x113b, 0x125b, 0x1024, 0x125b, 0x1024, 0x125b, -0x1024, 0x1110, 0xefc, 0x1110, 0xefc, 0xfab, 0xdbb, 0xfab, 0xdbb, 0xeeb, 0xd20, -0xeeb, 0xd20, 0xdcb, 0xc27, 0xdcb, 0xc27, 0xc23, 0xaa9, 0xc23, 0xaa9, 0xa6d, -0x91f, 0xa6d, 0x91f, 0xa6d, 0x91f, 0x8dc, 0x7bb, 0x8dc, 0x7bb, 0x761, 0x671, -0x761, 0x671, 0x5d1, 0x513, 0x5d1, 0x513, 0x4c1, 0x436, 0x4c1, 0x436, 0x38f, -0x33a, 0x38f, 0x33a, 0x38f, 0x33a, 0x21d, 0x1fe, 0x21d, 0x1fe, 0xd0, 0xe8, -0xd0, 0xe8, 0xfecc, 0xff1b, 0xfecc, 0xff1b, 0xfd00, 0xfd84, 0xfd00, 0xfd84, 0xfbea, -0xfca3, 0xfbea, 0xfca3, 0xfb00, 0xfbeb, 0xfb00, 0xfbeb, 0xfb00, 0xfbeb, 0xfab3, 0xfbce, -0xfab3, 0xfbce, 0xfa19, 0xfb60, 0xfa19, 0xfb60, 0xf934, 0xfaa4, 0xf934, 0xfaa4, 0xf879, -0xfa0d, 0xf879, 0xfa0d, 0xf7db, 0xf990, 0xf7db, 0xf990, 0xf811, 0xf9e1, 0xf811, 0xf9e1, -0xf811, 0xf9e1, 0xf8a6, 0xfa8b, 0xf8a6, 0xfa8b, 0xf8b3, 0xfaaa, 0xf8b3, 0xfaaa, 0xf86b, -0xfa6d, 0xf86b, 0xfa6d, 0xf810, 0xfa19, 0xf810, 0xfa19, 0xf7b4, 0xf9c0, 0xf7b4, 0xf9c0, -0xf7b4, 0xf9c0, 0xf7fc, 0xfa07, 0xf7fc, 0xfa07, 0xf810, 0xfa16, 0xf810, 0xfa16, 0xf7aa, -0xf9a8, 0xf7aa, 0xf9a8, 0xf70d, 0xf8ff, 0xf70d, 0xf8ff, 0xf6c0, 0xf8a5, 0xf6c0, 0xf8a5, -0xf687, 0xf85d, 0xf687, 0xf85d, 0xf687, 0xf85d, 0xf572, 0xf737, 0xf572, 0xf737, 0xf4c7, -0xf67b, 0xf4c7, 0xf67b, 0xf3d4, 0xf576, 0xf3d4, 0xf576, 0xf362, 0xf4f2, 0xf362, 0xf4f2, -0xf359, 0xf4d8, 0xf359, 0xf4d8, 0xf2c3, 0xf431, 0xf2c3, 0xf431, 0xf2c3, 0xf431, 0xf29f, -0xf3fc, 0xf29f, 0xf3fc, 0xf2a0, 0xf3ed, 0xf2a0, 0xf3ed, 0xf330, 0xf46e, 0xf330, 0xf46e, -0xf348, 0xf478, 0xf348, 0xf478, 0xf3c4, 0xf4e7, 0xf3c4, 0xf4e7, 0xf3c4, 0xf4e7, 0xf4a0, -0xf5b7, 0xf4a0, 0xf5b7, 0xf4ea, 0xf5f6, 0xf4ea, 0xf5f6, 0xf5c3, 0xf6c6, 0xf5c3, 0xf6c6, -0xf62d, 0xf727, 0xf62d, 0xf727, 0xf63d, 0xf72e, 0xf63d, 0xf72e, 0xf60d, 0xf6f6, 0xf60d, -0xf6f6, 0xf60d, 0xf6f6, 0xf5f4, 0xf6d7, 0xf5f4, 0xf6d7, 0xf69e, 0xf77c, 0xf69e, 0xf77c, -0xf6c4, 0xf79f, 0xf6c4, 0xf79f, 0xf654, 0xf72c, 0xf654, 0xf72c, 0xf5c3, 0xf69a, 0xf5c3, -0xf69a, 0xf4cb, 0xf5a2, 0xf4cb, 0xf5a2, 0xf4cb, 0xf5a2, 0xf434, 0xf50d, 0xf434, 0xf50d, -0xf426, 0xf503, 0xf426, 0xf503, 0xf3b9, 0xf49c, 0xf3b9, 0xf49c, 0xf328, 0xf412, 0xf328, -0xf412, 0xf31f, 0xf414, 0xf31f, 0xf414, 0xf31f, 0xf414, 0xf388, 0xf489, 0xf388, 0xf489, -0xf3be, 0xf4cf, 0xf3be, 0xf4cf, 0xf3d7, 0xf4f9, 0xf3d7, 0xf4f9, 0xf430, 0xf566, 0xf430, -0xf566, 0xf427, 0xf574, 0xf427, 0xf574, 0xf403, 0xf568, 0xf403, 0xf568, 0xf403, 0xf568, -0xf41b, 0xf59b, 0xf41b, 0xf59b, 0xf398, 0xf535, 0xf398, 0xf535, 0xf365, 0xf521, 0xf365, -0xf521, 0xf34d, 0xf529, 0xf34d, 0xf529, 0xf2d2, 0xf4ce, 0xf2d2, 0xf4ce, 0xf287, 0xf4a5, -0xf287, 0xf4a5, 0xf287, 0xf4a5, 0xf212, 0xf452, 0xf212, 0xf452, 0xf1d1, 0xf433, 0xf1d1, -0xf433, 0xf17c, 0xf3fe, 0xf17c, 0xf3fe, 0xf131, 0xf3d2, 0xf131, 0xf3d2, 0xf150, 0xf40f, -0xf150, 0xf40f, 0xf150, 0xf40f, 0xf13e, 0xf417, 0xf13e, 0xf417, 0xf050, 0xf341, 0xf050, -0xf341, 0xef98, 0xf29c, 0xef98, 0xf29c, 0xef3b, 0xf250, 0xef3b, 0xf250, 0xeebf, 0xf1de, -0xeebf, 0xf1de, 0xeea2, 0xf1c8, 0xeea2, 0xf1c8, 0xeea2, 0xf1c8, 0xede5, 0xf10c, 0xede5, -0xf10c, 0xecff, 0xf021, 0xecff, 0xf021, 0xec2a, 0xef41, 0xec2a, 0xef41, 0xec39, 0xef3e, -0xec39, 0xef3e, 0xec5b, 0xef4a, 0xec5b, 0xef4a, 0xec23, 0xeef5, 0xec23, 0xeef5, 0xec23, -0xeef5, 0xecb6, 0xef66, 0xecb6, 0xef66, 0xec67, 0xeef0, 0xec67, 0xeef0, 0xec15, 0xee73, -0xec15, 0xee73, 0xeb7e, 0xedab, 0xeb7e, 0xedab, 0xeb55, 0xed4f, 0xeb55, 0xed4f, 0xeb55, -0xed4f, 0xec27, 0xedec, 0xec27, 0xedec, 0xed75, 0xef03, 0xed75, 0xef03, 0xefa4, 0xf0f9, -0xefa4, 0xf0f9, 0xf0b0, 0xf1ce, 0xf0b0, 0xf1ce, 0xf129, 0xf211, 0xf129, 0xf211, 0xf0f7, -0xf1aa, 0xf0f7, 0xf1aa, 0xf0f7, 0xf1aa, 0xf0e6, 0xf168, 0xf0e6, 0xf168, 0xf1ec, 0xf241, -0xf1ec, 0xf241, 0xf317, 0xf344, 0xf317, 0xf344, 0xf4e4, 0xf4ef, 0xf4e4, 0xf4ef, 0xf63c, -0xf62a, 0xf63c, 0xf62a, 0xf63c, 0xf62a, 0xf746, 0xf71d, 0xf746, 0xf71d, 0xf862, 0xf828, -0xf862, 0xf828, 0xf8df, 0xf89b, 0xf8df, 0xf89b, 0xf95c, 0xf915, 0xf95c, 0xf915, 0xf9d8, -0xf993, 0xf9d8, 0xf993, 0xfa4e, 0xfa11, 0xfa4e, 0xfa11, 0xfa4e, 0xfa11, 0xfb38, 0xfb07, -0xfb38, 0xfb07, 0xfc25, 0xfc06, 0xfc25, 0xfc06, 0xfc72, 0xfc66, 0xfc72, 0xfc66, 0xfc48, -0xfc53, 0xfc48, 0xfc53, 0xfc4a, 0xfc6d, 0xfc4a, 0xfc6d, 0xfc81, 0xfcbc, 0xfc81, 0xfcbc, -0xfc81, 0xfcbc, 0xfc58, 0xfcab, 0xfc58, 0xfcab, 0xfbd0, 0xfc38, 0xfbd0, 0xfc38, 0xfb60, -0xfbdc, 0xfb60, 0xfbdc, 0xfad6, 0xfb62, 0xfad6, 0xfb62, 0xfa89, 0xfb21, 0xfa89, 0xfb21, -0xfa89, 0xfb21, 0xfa4f, 0xfaee, 0xfa4f, 0xfaee, 0xf98f, 0xfa30, 0xf98f, 0xfa30, 0xf943, -0xf9e0, 0xf943, 0xf9e0, 0xf911, 0xf9a4, 0xf911, 0xf9a4, 0xf8e1, 0xf966, 0xf8e1, 0xf966, -0xf902, 0xf972, 0xf902, 0xf972, 0xf902, 0xf972, 0xf935, 0xf98b, 0xf935, 0xf98b, 0xf9b0, -0xf9e8, 0xf9b0, 0xf9e8, 0xfa1d, 0xfa32, 0xfa1d, 0xfa32, 0xfa96, 0xfa85, 0xfa96, 0xfa85, -0xfb8d, 0xfb55, 0xfb8d, 0xfb55, 0xfc81, 0xfc1f, 0xfc81, 0xfc1f, 0xfc81, 0xfc1f, 0xfcba, -0xfc2d, 0xfcba, 0xfc2d, 0xfd5a, 0xfca2, 0xfd5a, 0xfca2, 0xfdfd, 0xfd1c, 0xfdfd, 0xfd1c, -0xfeed, 0xfde4, 0xfeed, 0xfde4, 0x7f, 0xff52, 0x7f, 0xff52, 0x7f, 0xff52, 0x1b1, -0x63, 0x1b1, 0x63, 0x276, 0x10c, 0x276, 0x10c, 0x2bb, 0x139, 0x2bb, 0x139, -0x3bd, 0x229, 0x3bd, 0x229, 0x3b1, 0x212, 0x3b1, 0x212, 0x351, 0x1ab, 0x351, -0x1ab, 0x351, 0x1ab, 0x3b5, 0x20f, 0x3b5, 0x20f, 0x3d9, 0x239, 0x3d9, 0x239, -0x49d, 0x308, 0x49d, 0x308, 0x4f4, 0x370, 0x4f4, 0x370, 0x598, 0x42b, 0x598, -0x42b, 0x601, 0x4ad, 0x601, 0x4ad, 0x601, 0x4ad, 0x694, 0x55e, 0x694, 0x55e, -0x776, 0x660, 0x776, 0x660, 0x77d, 0x688, 0x77d, 0x688, 0x7a3, 0x6d1, 0x7a3, -0x6d1, 0x764, 0x6b4, 0x764, 0x6b4, 0x764, 0x6b4, 0x72e, 0x69f, 0x72e, 0x69f, -0x697, 0x626, 0x697, 0x626, 0x5ff, 0x5a9, 0x5ff, 0x5a9, 0x5f1, 0x5b3, 0x5f1, -0x5b3, 0x511, 0x4e5, 0x511, 0x4e5, 0x489, 0x46a, 0x489, 0x46a, 0x489, 0x46a, -0x48e, 0x474, 0x48e, 0x474, 0x388, 0x36f, 0x388, 0x36f, 0x21b, 0x1fb, 0x21b, -0x1fb, 0x114, 0xe7, 0x114, 0xe7, 0xd0, 0x8f, 0xd0, 0x8f, 0x18b, 0x130, -0x18b, 0x130, 0x18b, 0x130, 0x2be, 0x245, 0x2be, 0x245, 0x3d2, 0x335, 0x3d2, -0x335, 0x44a, 0x386, 0x44a, 0x386, 0x4ac, 0x3be, 0x4ac, 0x3be, 0x519, 0x401, -0x519, 0x401, 0x519, 0x401, 0x56f, 0x42c, 0x56f, 0x42c, 0x5be, 0x452, 0x5be, -0x452, 0x652, 0x4bf, 0x652, 0x4bf, 0x6f3, 0x53d, 0x6f3, 0x53d, 0x763, 0x591, -0x763, 0x591, 0x765, 0x57c, 0x765, 0x57c, 0x765, 0x57c, 0x6b7, 0x4bf, 0x6b7, -0x4bf, 0x64c, 0x44d, 0x64c, 0x44d, 0x60c, 0x40f, 0x60c, 0x40f, 0x643, 0x451, -0x643, 0x451, 0x68f, 0x4b2, 0x68f, 0x4b2, 0x66a, 0x4ab, 0x66a, 0x4ab, 0x66a, -0x4ab, 0x61f, 0x487, 0x61f, 0x487, 0x53a, 0x3d1, 0x53a, 0x3d1, 0x42e, 0x2fc, -0x42e, 0x2fc, 0x3bd, 0x2c9, 0x3bd, 0x2c9, 0x30e, 0x25d, 0x30e, 0x25d, 0x30e, -0x25d, 0x1e2, 0x179, 0x1e2, 0x179, 0x11c, 0xfd, 0x11c, 0xfd, 0x41, 0x6d, -0x41, 0x6d, 0xffff, 0x77, 0xffff, 0x77, 0x25, 0xe7, 0x25, 0xe7, 0x8a, -0x194, 0x8a, 0x194, 0x8a, 0x194, 0xcc, 0x219, 0xcc, 0x219, 0x10b, 0x296, -0x10b, 0x296, 0x1c9, 0x38d, 0x1c9, 0x38d, 0x149, 0x340, 0x149, 0x340, 0xfc, -0x31e, 0xfc, 0x31e, 0xcb, 0x310, 0xcb, 0x310, 0xcb, 0x310, 0x5c, 0x2be, -0x5c, 0x2be, 0xfff4, 0x269, 0xfff4, 0x269, 0xff43, 0x1c5, 0xff43, 0x1c5, 0xfefc, -0x184, 0xfefc, 0x184, 0xfeaa, 0x130, 0xfeaa, 0x130, 0xfeaa, 0x130, 0xff32, 0x1b0, -0xff32, 0x1b0, 0xff94, 0x203, 0xff94, 0x203, 0xff3a, 0x195, 0xff3a, 0x195, 0xfed9, -0x11b, 0xfed9, 0x11b, 0xfe6b, 0x8e, 0xfe6b, 0x8e, 0xfe69, 0x69, 0xfe69, 0x69, -0xfe69, 0x69, 0xfe42, 0x1d, 0xfe42, 0x1d, 0xfe71, 0x22, 0xfe71, 0x22, 0xfee4, -0x67, 0xfee4, 0x67, 0xfe7f, 0xffd1, 0xfe7f, 0xffd1, 0xfeb0, 0xffce, 0xfeb0, 0xffce, -0xff54, 0x3b, 0xff54, 0x3b, 0xff54, 0x3b, 0xff45, 0xfff2, 0xff45, 0xfff2, 0xffae, -0x1f, 0xffae, 0x1f, 0x2d, 0x5f, 0x2d, 0x5f, 0x4b, 0x3b, 0x4b, 0x3b, -0x59, 0x6, 0x59, 0x6, 0x59, 0x6, 0xce, 0x35, 0xce, 0x35, 0x174, -0x95, 0x174, 0x95, 0x25e, 0x138, 0x25e, 0x138, 0x479, 0x30b, 0x479, 0x30b, -0x6d2, 0x51d, 0x6d2, 0x51d, 0x866, 0x66b, 0x866, 0x66b, 0x866, 0x66b, 0x93e, -0x6ff, 0x93e, 0x6ff, 0xa3f, 0x7bf, 0xa3f, 0x7bf, 0xb68, 0x8ab, 0xb68, 0x8ab, -0xcdf, 0x9e9, 0xcdf, 0x9e9, 0xe77, 0xb4d, 0xe77, 0xb4d, 0x1056, 0xcff, 0x1056, -0xcff, 0x1056, 0xcff, 0x12da, 0xf5c, 0x12da, 0xf5c, 0x1552, 0x11b4, 0x1552, 0x11b4, -0x1808, 0x1450, 0x1808, 0x1450, 0x1a1f, 0x1656, 0x1a1f, 0x1656, 0x1bd8, 0x1803, 0x1bd8, -0x1803, 0x1bd8, 0x1803, 0x1d9a, 0x19c2, 0x1d9a, 0x19c2, 0x1e71, 0x1a9d, 0x1e71, 0x1a9d, -0x1ee9, 0x1b1e, 0x1ee9, 0x1b1e, 0x1fbf, 0x1c02, 0x1fbf, 0x1c02, 0x2039, 0x1c90, 0x2039, -0x1c90, 0x2091, 0x1cff, 0x2091, 0x1cff, 0x2091, 0x1cff, 0x2113, 0x1d9b, 0x2113, 0x1d9b, -0x2138, 0x1ddd, 0x2138, 0x1ddd, 0x214d, 0x1e10, 0x214d, 0x1e10, 0x20fa, 0x1dda, 0x20fa, -0x1dda, 0x206a, 0x1d68, 0x206a, 0x1d68, 0x206a, 0x1d68, 0x1f28, 0x1c42, 0x1f28, 0x1c42, -0x1e65, 0x1b99, 0x1e65, 0x1b99, 0x1e4d, 0x1b9a, 0x1e4d, 0x1b9a, 0x1db9, 0x1b1d, 0x1db9, -0x1b1d, 0x1d75, 0x1aed, 0x1d75, 0x1aed, 0x1cdf, 0x1a68, 0x1cdf, 0x1a68, 0x1cdf, 0x1a68, -0x1c35, 0x19cd, 0x1c35, 0x19cd, 0x1aee, 0x1894, 0x1aee, 0x1894, 0x1971, 0x1722, 0x1971, -0x1722, 0x181b, 0x15d7, 0x181b, 0x15d7, 0x16cf, 0x1495, 0x16cf, 0x1495, 0x165a, 0x142a, -0x165a, 0x142a, 0x165a, 0x142a, 0x15a5, 0x1380, 0x15a5, 0x1380, 0x14c2, 0x12a8, 0x14c2, -0x12a8, 0x13ba, 0x11ae, 0x13ba, 0x11ae, 0x125f, 0x1062, 0x125f, 0x1062, 0x10c5, 0xeda, -0x10c5, 0xeda, 0x10c5, 0xeda, 0xeaf, 0xcda, 0xeaf, 0xcda, 0xd07, 0xb49, 0xd07, -0xb49, 0xbd3, 0xa30, 0xbd3, 0xa30, 0xa4e, 0x8c9, 0xa4e, 0x8c9, 0x986, 0x822, -0x986, 0x822, 0x8a6, 0x766, 0x8a6, 0x766, 0x8a6, 0x766, 0x6b9, 0x5a0, 0x6b9, -0x5a0, 0x4ec, 0x3fc, 0x4ec, 0x3fc, 0x330, 0x26b, 0x330, 0x26b, 0x1b9, 0x121, -0x1b9, 0x121, 0x88, 0x1e, 0x88, 0x1e, 0xff99, 0xff5e, 0xff99, 0xff5e, 0xff99, -0xff5e, 0xfe51, 0xfe45, 0xfe51, 0xfe45, 0xfcfa, 0xfd1d, 0xfcfa, 0xfd1d, 0xfc61, 0xfcb3, -0xfc61, 0xfcb3, 0xfbb0, 0xfc2e, 0xfbb0, 0xfc2e, 0xfab6, 0xfb60, 0xfab6, 0xfb60, 0xfab6, -0xfb60, 0xfa1b, 0xfaef, 0xfa1b, 0xfaef, 0xf98a, 0xfa87, 0xf98a, 0xfa87, 0xf8b2, 0xf9d4, -0xf8b2, 0xf9d4, 0xf834, 0xf978, 0xf834, 0xf978, 0xf759, 0xf8bd, 0xf759, 0xf8bd, 0xf699, -0xf819, 0xf699, 0xf819, 0xf699, 0xf819, 0xf647, 0xf7de, 0xf647, 0xf7de, 0xf658, 0xf804, -0xf658, 0xf804, 0xf69c, 0xf857, 0xf69c, 0xf857, 0xf5f1, 0xf7b7, 0xf5f1, 0xf7b7, 0xf52a, -0xf6f6, 0xf52a, 0xf6f6, 0xf4b5, 0xf684, 0xf4b5, 0xf684, 0xf4b5, 0xf684, 0xf40a, 0xf5d6, -0xf40a, 0xf5d6, 0xf3b7, 0xf57c, 0xf3b7, 0xf57c, 0xf42c, 0xf5e5, 0xf42c, 0xf5e5, 0xf405, -0xf5af, 0xf405, 0xf5af, 0xf39d, 0xf534, 0xf39d, 0xf534, 0xf39d, 0xf534, 0xf33d, 0xf4be, -0xf33d, 0xf4be, 0xf2af, 0xf416, 0xf2af, 0xf416, 0xf25b, 0xf3a8, 0xf25b, 0xf3a8, 0xf2a9, -0xf3d9, 0xf2a9, 0xf3d9, 0xf365, 0xf478, 0xf365, 0xf478, 0xf3a9, 0xf49f, 0xf3a9, 0xf49f, -0xf3a9, 0xf49f, 0xf4d7, 0xf5b1, 0xf4d7, 0xf5b1, 0xf599, 0xf658, 0xf599, 0xf658, 0xf5b3, -0xf65b, 0xf5b3, 0xf65b, 0xf5f9, 0xf68d, 0xf5f9, 0xf68d, 0xf662, 0xf6e6, 0xf662, 0xf6e6, -0xf752, 0xf7ca, 0xf752, 0xf7ca, 0xf752, 0xf7ca, 0xf7a3, 0xf815, 0xf7a3, 0xf815, 0xf7c4, -0xf835, 0xf7c4, 0xf835, 0xf721, 0xf797, 0xf721, 0xf797, 0xf672, 0xf6f2, 0xf672, 0xf6f2, -0xf657, 0xf6e7, 0xf657, 0xf6e7, 0xf657, 0xf6e7, 0xf615, 0xf6bb, 0xf615, 0xf6bb, 0xf5cd, -0xf68c, 0xf5cd, 0xf68c, 0xf531, 0xf610, 0xf531, 0xf610, 0xf4c4, 0xf5c6, 0xf4c4, 0xf5c6, -0xf454, 0xf57e, 0xf454, 0xf57e, 0xf3a4, 0xf4f7, 0xf3a4, 0xf4f7, 0xf3a4, 0xf4f7, 0xf3ad, -0xf52d, 0xf3ad, 0xf52d, 0xf40c, 0xf5b9, 0xf40c, 0xf5b9, 0xf42b, 0xf607, 0xf42b, 0xf607, -0xf519, 0xf723, 0xf519, 0xf723, 0xf576, 0xf7af, 0xf576, 0xf7af, 0xf4d6, 0xf73c, 0xf4d6, -0xf73c, 0xf4d6, 0xf73c, 0xf441, 0xf6d3, 0xf441, 0xf6d3, 0xf387, 0xf642, 0xf387, 0xf642, -0xf2e9, 0xf5cc, 0xf2e9, 0xf5cc, 0xf24e, 0xf556, 0xf24e, 0xf556, 0xf1c3, 0xf4ed, 0xf1c3, -0xf4ed, 0xf1c3, 0xf4ed, 0xf118, 0xf461, 0xf118, 0xf461, 0xf0bc, 0xf420, 0xf0bc, 0xf420, -0xf0dd, 0xf45b, 0xf0dd, 0xf45b, 0xf059, 0xf3ed, 0xf059, 0xf3ed, 0xef39, 0xf2df, 0xef39, -0xf2df, 0xee64, 0xf219, 0xee64, 0xf219, 0xee64, 0xf219, 0xed9c, 0xf15c, 0xed9c, 0xf15c, -0xed72, 0xf13a, 0xed72, 0xf13a, 0xed85, 0xf151, 0xed85, 0xf151, 0xecd2, 0xf09e, 0xecd2, -0xf09e, 0xebff, 0xefc7, 0xebff, 0xefc7, 0xeb18, 0xeed7, 0xeb18, 0xeed7, 0xeb18, 0xeed7, -0xea65, 0xee18, 0xea65, 0xee18, 0xe9b2, 0xed54, 0xe9b2, 0xed54, 0xe939, 0xecc3, 0xe939, -0xecc3, 0xe961, 0xecd0, 0xe961, 0xecd0, 0xe9ec, 0xed3c, 0xe9ec, 0xed3c, 0xe9ec, 0xed3c, -0xea40, 0xed6b, 0xea40, 0xed6b, 0xeaba, 0xedbb, 0xeaba, 0xedbb, 0xeaf7, 0xedcb, 0xeaf7, -0xedcb, 0xea53, 0xecf6, 0xea53, 0xecf6, 0xea7d, 0xeceb, 0xea7d, 0xeceb, 0xeb4f, 0xed86, -0xeb4f, 0xed86, 0xeb4f, 0xed86, 0xec55, 0xee52, 0xec55, 0xee52, 0xed3e, 0xef02, 0xed3e, -0xef02, 0xeeb9, 0xf043, 0xeeb9, 0xf043, 0xefb9, 0xf109, 0xefb9, 0xf109, 0xf05a, 0xf172, -0xf05a, 0xf172, 0xf222, 0xf304, 0xf222, 0xf304, 0xf222, 0xf304, 0xf349, 0xf3fa, 0xf349, -0xf3fa, 0xf4a6, 0xf529, 0xf4a6, 0xf529, 0xf603, 0xf65c, 0xf603, 0xf65c, 0xf767, 0xf79d, -0xf767, 0xf79d, 0xf892, 0xf8aa, 0xf892, 0xf8aa, 0xf892, 0xf8aa, 0xf93f, 0xf940, 0xf93f, -0xf940, 0xfa30, 0xfa1e, 0xfa30, 0xfa1e, 0xfa7e, 0xfa61, 0xfa7e, 0xfa61, 0xfb77, 0xfb54, -0xfb77, 0xfb54, 0xfcb8, 0xfc93, 0xfcb8, 0xfc93, 0xfd9f, 0xfd7e, 0xfd9f, 0xfd7e, 0xfd9f, -0xfd7e, 0xfe33, 0xfe1a, 0xfe33, 0xfe1a, 0xfe62, 0xfe54, 0xfe62, 0xfe54, 0xfefb, 0xfefc, -0xfefb, 0xfefc, 0xff74, 0xff84, 0xff74, 0xff84, 0xff89, 0xffaa, 0xff89, 0xffaa, 0xffc3, -0xfff4, 0xffc3, 0xfff4, 0xffc3, 0xfff4, 0xff61, 0xffa2, 0xff61, 0xffa2, 0xfec1, 0xff10, -0xfec1, 0xff10, 0xfef6, 0xff51, 0xfef6, 0xff51, 0xfe7d, 0xfee2, 0xfe7d, 0xfee2, 0xfd67, -0xfdd2, 0xfd67, 0xfdd2, 0xfd67, 0xfdd2, 0xfc90, 0xfcff, 0xfc90, 0xfcff, 0xfbcd, 0xfc3c, -0xfbcd, 0xfc3c, 0xfb2f, 0xfb9a, 0xfb2f, 0xfb9a, 0xfab1, 0xfb16, 0xfab1, 0xfb16, 0xfa39, -0xfa94, 0xfa39, 0xfa94, 0xf9a6, 0xf9f3, 0xf9a6, 0xf9f3, 0xf9a6, 0xf9f3, 0xf984, 0xf9c2, -0xf984, 0xf9c2, 0xf9e0, 0xfa0c, 0xf9e0, 0xfa0c, 0xf9da, 0xf9f1, 0xf9da, 0xf9f1, 0xf9ae, -0xf9af, 0xf9ae, 0xf9af, 0xf9b6, 0xf9a0, 0xf9b6, 0xf9a0, 0xf9b6, 0xf9a0, 0xf999, 0xf96a, -0xf999, 0xf96a, 0xf9e1, 0xf999, 0xf9e1, 0xf999, 0xf9f7, 0xf996, 0xf9f7, 0xf996, 0xfa29, -0xf9ae, 0xfa29, 0xf9ae, 0xfb39, 0xfaa5, 0xfb39, 0xfaa5, 0xfcc5, 0xfc19, 0xfcc5, 0xfc19, -0xfcc5, 0xfc19, 0xfe62, 0xfd9f, 0xfe62, 0xfd9f, 0xff72, 0xfe99, 0xff72, 0xfe99, 0xfff3, -0xff05, 0xfff3, 0xff05, 0x40, 0xff3f, 0x40, 0xff3f, 0xdc, 0xffcb, 0xdc, 0xffcb, -0x168, 0x49, 0x168, 0x49, 0x168, 0x49, 0x250, 0x124, 0x250, 0x124, 0x2fc, -0x1c8, 0x2fc, 0x1c8, 0x38c, 0x252, 0x38c, 0x252, 0x482, 0x345, 0x482, 0x345, -0x548, 0x40a, 0x548, 0x40a, 0x548, 0x40a, 0x631, 0x4f7, 0x631, 0x4f7, 0x73b, -0x607, 0x73b, 0x607, 0x8aa, 0x77f, 0x8aa, 0x77f, 0x8dd, 0x7bd, 0x8dd, 0x7bd, -0x929, 0x817, 0x929, 0x817, 0x99a, 0x898, 0x99a, 0x898, 0x99a, 0x898, 0x8f9, -0x808, 0x8f9, 0x808, 0x8d7, 0x7f8, 0x8d7, 0x7f8, 0x8c4, 0x7f7, 0x8c4, 0x7f7, -0x90c, 0x84f, 0x90c, 0x84f, 0x88f, 0x7e3, 0x88f, 0x7e3, 0x79f, 0x700, 0x79f, -0x700, 0x79f, 0x700, 0x5f9, 0x565, 0x5f9, 0x565, 0x398, 0x30c, 0x398, 0x30c, -0x2be, 0x235, 0x2be, 0x235, 0x2be, 0x234, 0x2be, 0x234, 0x356, 0x2c8, 0x356, -0x2c8, 0x356, 0x2c8, 0x40a, 0x372, 0x40a, 0x372, 0x489, 0x3e3, 0x489, 0x3e3, -0x51a, 0x463, 0x51a, 0x463, 0x52c, 0x45f, 0x52c, 0x45f, 0x542, 0x45d, 0x542, -0x45d, 0x5c2, 0x4c3, 0x5c2, 0x4c3, 0x5c2, 0x4c3, 0x5fd, 0x4e3, 0x5fd, 0x4e3, -0x6b9, 0x584, 0x6b9, 0x584, 0x7fd, 0x6ae, 0x7fd, 0x6ae, 0x868, 0x703, 0x868, -0x703, 0x819, 0x6a1, 0x819, 0x6a1, 0x796, 0x60f, 0x796, 0x60f, 0x796, 0x60f, -0x6fc, 0x56d, 0x6fc, 0x56d, 0x6bd, 0x52c, 0x6bd, 0x52c, 0x708, 0x57c, 0x708, -0x57c, 0x6d0, 0x552, 0x6d0, 0x552, 0x62c, 0x4c3, 0x62c, 0x4c3, 0x62c, 0x4c3, -0x605, 0x4ba, 0x605, 0x4ba, 0x623, 0x4fd, 0x623, 0x4fd, 0x56f, 0x474, 0x56f, -0x474, 0x464, 0x39c, 0x464, 0x39c, 0x378, 0x2e7, 0x378, 0x2e7, 0x287, 0x232, -0x287, 0x232, 0x287, 0x232, 0x1db, 0x1c4, 0x1db, 0x1c4, 0x9d, 0xc5, 0x9d, -0xc5, 0xff55, 0xffbc, 0xff55, 0xffbc, 0xfe8b, 0xff2f, 0xfe8b, 0xff2f, 0xfe7c, 0xff5a, -0xfe7c, 0xff5a, 0xfeed, 0, 0xfeed, 0, 0xfeed, 0, 0xff3c, 0x7f, 0xff3c, -0x7f, 0xff4d, 0xb9, 0xff4d, 0xb9, 0xffa7, 0x136, 0xffa7, 0x136, 0x2b, 0x1d5, -0x2b, 0x1d5, 0x13, 0x1cf, 0x13, 0x1cf, 0x13, 0x1cf, 0xc, 0x1d4, 0xc, -0x1d4, 0xffe1, 0x1ad, 0xffe1, 0x1ad, 0xffe5, 0x1ac, 0xffe5, 0x1ac, 0xfff7, 0x1b5, -0xfff7, 0x1b5, 0x32, 0x1e0, 0x32, 0x1e0, 0x3f, 0x1da, 0x3f, 0x1da, 0x3f, -0x1da, 0x3a, 0x1bc, 0x3a, 0x1bc, 0x60, 0x1c8, 0x60, 0x1c8, 0xffd8, 0x124, -0xffd8, 0x124, 0x10, 0x13d, 0x10, 0x13d, 0xffd9, 0xe9, 0xffd9, 0xe9, 0xff7b, -0x6d, 0xff7b, 0x6d, 0xff7b, 0x6d, 0xff5b, 0x30, 0xff5b, 0x30, 0xff16, 0xffce, -0xff16, 0xffce, 0xff6a, 0x7, 0xff6a, 0x7, 0xff58, 0xffd9, 0xff58, 0xffd9, 0xff58, -0xffbf, 0xff58, 0xffbf, 0xff58, 0xffbf, 0xfead, 0xfef9, 0xfead, 0xfef9, 0xfe70, 0xfea0, -0xfe70, 0xfea0, 0xff6e, 0xff82, 0xff6e, 0xff82, 0xffe9, 0xffdf, 0xffe9, 0xffdf, 0x1e, -0xfff2, 0x1e, 0xfff2, 0x19, 0xffc8, 0x19, 0xffc8, 0x19, 0xffc8, 0x4d, 0xffd4, -0x4d, 0xffd4, 0x100, 0x5b, 0x100, 0x5b, 0x1c9, 0xf3, 0x1c9, 0xf3, 0x31d, -0x212, 0x31d, 0x212, 0x477, 0x331, 0x477, 0x331, 0x573, 0x3f0, 0x573, 0x3f0, -0x573, 0x3f0, 0x6f6, 0x530, 0x6f6, 0x530, 0x8b0, 0x6a5, 0x8b0, 0x6a5, 0xa06, -0x7b3, 0xa06, 0x7b3, 0xb37, 0x89b, 0xb37, 0x89b, 0xc8a, 0x9a3, 0xc8a, 0x9a3, -0xc8a, 0x9a3, 0xdec, 0xabc, 0xdec, 0xabc, 0x1007, 0xc8e, 0x1007, 0xc8e, 0x129f, -0xee0, 0x129f, 0xee0, 0x14d0, 0x10ce, 0x14d0, 0x10ce, 0x16e7, 0x12a7, 0x16e7, 0x12a7, -0x1952, 0x14da, 0x1952, 0x14da, 0x1952, 0x14da, 0x1ba4, 0x16f9, 0x1ba4, 0x16f9, 0x1ce2, -0x180c, 0x1ce2, 0x180c, 0x1db2, 0x18b8, 0x1db2, 0x18b8, 0x1e24, 0x190d, 0x1e24, 0x190d, -0x1ec4, 0x1999, 0x1ec4, 0x1999, 0x1fef, 0x1ab8, 0x1fef, 0x1ab8, 0x1fef, 0x1ab8, 0x209a, -0x1b5f, 0x209a, 0x1b5f, 0x20b3, 0x1b7d, 0x20b3, 0x1b7d, 0x20a0, 0x1b75, 0x20a0, 0x1b75, -0x20c8, 0x1bb1, 0x20c8, 0x1bb1, 0x208b, 0x1b8e, 0x208b, 0x1b8e, 0x208b, 0x1b8e, 0x1fc3, -0x1ae6, 0x1fc3, 0x1ae6, 0x1efb, 0x1a45, 0x1efb, 0x1a45, 0x1ee8, 0x1a5d, 0x1ee8, 0x1a5d, -0x1ed7, 0x1a7b, 0x1ed7, 0x1a7b, 0x1e87, 0x1a5d, 0x1e87, 0x1a5d, 0x1e31, 0x1a3e, 0x1e31, -0x1a3e, 0x1e31, 0x1a3e, 0x1d5d, 0x19a2, 0x1d5d, 0x19a2, 0x1c86, 0x1905, 0x1c86, 0x1905, -0x1bbe, 0x1878, 0x1bbe, 0x1878, 0x1af5, 0x17ea, 0x1af5, 0x17ea, 0x1977, 0x16a9, 0x1977, -0x16a9, 0x1899, 0x1606, 0x1899, 0x1606, 0x1899, 0x1606, 0x1811, 0x15b7, 0x1811, 0x15b7, -0x1707, 0x14e6, 0x1707, 0x14e6, 0x1600, 0x1416, 0x1600, 0x1416, 0x1440, 0x128a, 0x1440, -0x128a, 0x12c6, 0x1142, 0x12c6, 0x1142, 0x12c6, 0x1142, 0x110f, 0xfbb, 0x110f, 0xfbb, -0xfe7, 0xec0, 0xfe7, 0xec0, 0xf51, 0xe55, 0xf51, 0xe55, 0xe03, 0xd2d, 0xe03, -0xd2d, 0xc89, 0xbd8, 0xc89, 0xbd8, 0xa62, 0x9d2, 0xa62, 0x9d2, 0xa62, 0x9d2, -0x87d, 0x80b, 0x87d, 0x80b, 0x727, 0x6d2, 0x727, 0x6d2, 0x624, 0x5e8, 0x624, -0x5e8, 0x58e, 0x56a, 0x58e, 0x56a, 0x458, 0x449, 0x458, 0x449, 0x458, 0x449, -0x2f8, 0x2fd, 0x2f8, 0x2fd, 0x1f0, 0x206, 0x1f0, 0x206, 0xc4, 0xec, 0xc4, -0xec, 0xffbc, 0xfff3, 0xffbc, 0xfff3, 0xfe95, 0xfedc, 0xfe95, 0xfedc, 0xfdaa, 0xfe00, -0xfdaa, 0xfe00, 0xfdaa, 0xfe00, 0xfd42, 0xfda6, 0xfd42, 0xfda6, 0xfc7f, 0xfcf2, 0xfc7f, -0xfcf2, 0xfb40, 0xfbc2, 0xfb40, 0xfbc2, 0xf9e9, 0xfa79, 0xf9e9, 0xfa79, 0xf8d5, 0xf974, -0xf8d5, 0xf974, 0xf81f, 0xf8cd, 0xf81f, 0xf8cd, 0xf81f, 0xf8cd, 0xf7e0, 0xf89d, 0xf7e0, -0xf89d, 0xf763, 0xf82f, 0xf763, 0xf82f, 0xf661, 0xf73c, 0xf661, 0xf73c, 0xf523, 0xf60c, -0xf523, 0xf60c, 0xf469, 0xf561, 0xf469, 0xf561, 0xf469, 0xf561, 0xf427, 0xf52c, 0xf427, -0xf52c, 0xf3cc, 0xf4de, 0xf3cc, 0xf4de, 0xf3ba, 0xf4d7, 0xf3ba, 0xf4d7, 0xf379, 0xf4a0, -0xf379, 0xf4a0, 0xf34d, 0xf47e, 0xf34d, 0xf47e, 0xf304, 0xf43d, 0xf304, 0xf43d, 0xf304, -0xf43d, 0xf246, 0xf386, 0xf246, 0xf386, 0xf15a, 0xf2a0, 0xf15a, 0xf2a0, 0xf0db, 0xf225, -0xf0db, 0xf225, 0xf0fd, 0xf24b, 0xf0fd, 0xf24b, 0xf166, 0xf2b7, 0xf166, 0xf2b7, 0xf201, -0xf355, 0xf201, 0xf355, 0xf201, 0xf355, 0xf280, 0xf3d5, 0xf280, 0xf3d5, 0xf310, 0xf467, -0xf310, 0xf467, 0xf38c, 0xf4e5, 0xf38c, 0xf4e5, 0xf46c, 0xf5c7, 0xf46c, 0xf5c7, 0xf55c, -0xf6b9, 0xf55c, 0xf6b9, 0xf55c, 0xf6b9, 0xf64c, 0xf7ab, 0xf64c, 0xf7ab, 0xf74e, 0xf8b1, -0xf74e, 0xf8b1, 0xf821, 0xf987, 0xf821, 0xf987, 0xf848, 0xf9b2, 0xf848, 0xf9b2, 0xf782, -0xf8f2, 0xf782, 0xf8f2, 0xf769, 0xf8df, 0xf769, 0xf8df, 0xf769, 0xf8df, 0xf711, 0xf88c, -0xf711, 0xf88c, 0xf6a9, 0xf82c, 0xf6a9, 0xf82c, 0xf65f, 0xf7ea, 0xf65f, 0xf7ea, 0xf5a9, -0xf73c, 0xf5a9, 0xf73c, 0xf525, 0xf6c1, 0xf525, 0xf6c1, 0xf499, 0xf63f, 0xf499, 0xf63f, -0xf499, 0xf63f, 0xf527, 0xf6d7, 0xf527, 0xf6d7, 0xf5c5, 0xf780, 0xf5c5, 0xf780, 0xf5f3, -0xf7ba, 0xf5f3, 0xf7ba, 0xf667, 0xf83b, 0xf667, 0xf83b, 0xf633, 0xf814, 0xf633, 0xf814, -0xf633, 0xf814, 0xf5c8, 0xf7b9, 0xf5c8, 0xf7b9, 0xf580, 0xf781, 0xf580, 0xf781, 0xf54e, -0xf762, 0xf54e, 0xf762, 0xf500, 0xf727, 0xf500, 0xf727, 0xf44b, 0xf688, 0xf44b, 0xf688, -0xf446, 0xf69a, 0xf446, 0xf69a, 0xf446, 0xf69a, 0xf439, 0xf6a5, 0xf439, 0xf6a5, 0xf33f, -0xf5c6, 0xf33f, 0xf5c6, 0xf26f, 0xf512, 0xf26f, 0xf512, 0xf191, 0xf451, 0xf191, 0xf451, -0xf0ae, 0xf38c, 0xf0ae, 0xf38c, 0xf062, 0xf35e, 0xf062, 0xf35e, 0xf062, 0xf35e, 0xf08b, -0xf3a5, 0xf08b, 0xf3a5, 0xf045, 0xf37c, 0xf045, 0xf37c, 0xef4a, 0xf29d, 0xef4a, 0xf29d, -0xee15, 0xf182, 0xee15, 0xf182, 0xed18, 0xf09a, 0xed18, 0xf09a, 0xed18, 0xf09a, 0xec2a, -0xefbf, 0xec2a, 0xefbf, 0xeaf0, 0xee93, 0xeaf0, 0xee93, 0xe9c9, 0xed75, 0xe9c9, 0xed75, -0xe8de, 0xec8d, 0xe8de, 0xec8d, 0xe8cb, 0xec76, 0xe8cb, 0xec76, 0xe90c, 0xecae, 0xe90c, -0xecae, 0xe90c, 0xecae, 0xe8ea, 0xec7b, 0xe8ea, 0xec7b, 0xe87b, 0xebf4, 0xe87b, 0xebf4, -0xe843, 0xeb9d, 0xe843, 0xeb9d, 0xe86d, 0xeba1, 0xe86d, 0xeba1, 0xe881, 0xeb89, 0xe881, -0xeb89, 0xe874, 0xeb49, 0xe874, 0xeb49, 0xe874, 0xeb49, 0xe832, 0xead0, 0xe832, 0xead0, -0xe884, 0xeae7, 0xe884, 0xeae7, 0xe974, 0xeb97, 0xe974, 0xeb97, 0xeae3, 0xecc4, 0xeae3, -0xecc4, 0xec56, 0xedf5, 0xec56, 0xedf5, 0xec56, 0xedf5, 0xedf6, 0xef52, 0xedf6, 0xef52, -0xefe8, 0xf101, 0xefe8, 0xf101, 0xf17f, 0xf257, 0xf17f, 0xf257, 0xf2e0, 0xf37a, 0xf2e0, -0xf37a, 0xf3f8, 0xf458, 0xf3f8, 0xf458, 0xf587, 0xf5b2, 0xf587, 0xf5b2, 0xf587, 0xf5b2, -0xf715, 0xf710, 0xf715, 0xf710, 0xf8c1, 0xf892, 0xf8c1, 0xf892, 0xfa17, 0xf9c4, 0xfa17, -0xf9c4, 0xfacc, 0xfa5c, 0xfacc, 0xfa5c, 0xfbb3, 0xfb2c, 0xfbb3, 0xfb2c, 0xfc57, 0xfbc0, -0xfc57, 0xfbc0, 0xfc57, 0xfbc0, 0xfd82, 0xfce3, 0xfd82, 0xfce3, 0xfea5, 0xfe05, 0xfea5, -0xfe05, 0xffaa, 0xff0e, 0xffaa, 0xff0e, 0x79, 0xffe7, 0x79, 0xffe7, 0xd8, 0x55, -0xd8, 0x55, 0xd8, 0x55, 0x184, 0x116, 0x184, 0x116, 0x161, 0x10a, 0x161, -0x10a, 0xf5, 0xba, 0xf5, 0xba, 0x92, 0x74, 0x92, 0x74, 0xff8a, 0xff8b, -0xff8a, 0xff8b, 0xfee0, 0xff02, 0xfee0, 0xff02, 0xfee0, 0xff02, 0xfe36, 0xfe77, 0xfe36, -0xfe77, 0xfd5e, 0xfdbf, 0xfd5e, 0xfdbf, 0xfcbe, 0xfd3d, 0xfcbe, 0xfd3d, 0xfc1b, 0xfcb5, -0xfc1b, 0xfcb5, 0xfc2a, 0xfcdd, 0xfc2a, 0xfcdd, 0xfbeb, 0xfcb3, 0xfbeb, 0xfcb3, 0xfbeb, -0xfcb3, 0xfb4b, 0xfc24, 0xfb4b, 0xfc24, 0xfb26, 0xfc0a, 0xfb26, 0xfc0a, 0xfac4, 0xfbaf, -0xfac4, 0xfbaf, 0xfa60, 0xfb4c, 0xfa60, 0xfb4c, 0xfa76, 0xfb5e, 0xfa76, 0xfb5e, 0xfa76, -0xfb5e, 0xfa83, 0xfb60, 0xfa83, 0xfb60, 0xf9d1, 0xfa9d, 0xf9d1, 0xfa9d, 0xf95b, 0xfa11, -0xf95b, 0xfa11, 0xf9d7, 0xfa70, 0xf9d7, 0xfa70, 0xfaa3, 0xfb1b, 0xfaa3, 0xfb1b, 0xfb66, -0xfbb7, 0xfb66, 0xfbb7, 0xfb66, 0xfbb7, 0xfc47, 0xfc6e, 0xfc47, 0xfc6e, 0xfccc, 0xfcc4, -0xfccc, 0xfcc4, 0xfd2d, 0xfcf6, 0xfd2d, 0xfcf6, 0xfe34, 0xfdcb, 0xfe34, 0xfdcb, 0xff24, -0xfe87, 0xff24, 0xfe87, 0xff95, 0xfec7, 0xff95, 0xfec7, 0xff95, 0xfec7, 0xffb4, 0xfeb5, -0xffb4, 0xfeb5, 0x63, 0xff37, 0x63, 0xff37, 0x15b, 0x5, 0x15b, 0x5, 0x207, -0x8d, 0x207, 0x8d, 0x2ae, 0x115, 0x2ae, 0x115, 0x2ae, 0x115, 0x37b, 0x1c9, -0x37b, 0x1c9, 0x497, 0x2d3, 0x497, 0x2d3, 0x5f8, 0x429, 0x5f8, 0x429, 0x716, -0x545, 0x716, 0x545, 0x71d, 0x550, 0x71d, 0x550, 0x733, 0x571, 0x733, 0x571, -0x733, 0x571, 0x76f, 0x5be, 0x76f, 0x5be, 0x7cb, 0x632, 0x7cb, 0x632, 0x835, -0x6b9, 0x835, 0x6b9, 0x825, 0x6c9, 0x825, 0x6c9, 0x7a8, 0x670, 0x7a8, 0x670, -0x7a8, 0x670, 0x67e, 0x56b, 0x67e, 0x56b, 0x58a, 0x49c, 0x58a, 0x49c, 0x433, -0x36b, 0x433, 0x36b, 0x32c, 0x285, 0x32c, 0x285, 0x2ec, 0x265, 0x2ec, 0x265, -0x316, 0x2aa, 0x316, 0x2aa, 0x316, 0x2aa, 0x3c2, 0x36d, 0x3c2, 0x36d, 0x3d3, -0x38e, 0x3d3, 0x38e, 0x417, 0x3dc, 0x417, 0x3dc, 0x43e, 0x408, 0x43e, 0x408, -0x468, 0x430, 0x468, 0x430, 0x553, 0x515, 0x553, 0x515, 0x553, 0x515, 0x5d6, -0x58b, 0x5d6, 0x58b, 0x646, 0x5ea, 0x646, 0x5ea, 0x69f, 0x62e, 0x69f, 0x62e, -0x6ac, 0x624, 0x6ac, 0x624, 0x700, 0x65f, 0x700, 0x65f, 0x700, 0x65f, 0x70d, -0x652, 0x70d, 0x652, 0x71d, 0x64a, 0x71d, 0x64a, 0x730, 0x648, 0x730, 0x648, -0x729, 0x62e, 0x729, 0x62e, 0x774, 0x669, 0x774, 0x669, 0x74d, 0x638, 0x74d, -0x638, 0x74d, 0x638, 0x6f1, 0x5d6, 0x6f1, 0x5d6, 0x688, 0x56e, 0x688, 0x56e, -0x62b, 0x518, 0x62b, 0x518, 0x616, 0x50f, 0x616, 0x50f, 0x5fd, 0x509, 0x5fd, -0x509, 0x57e, 0x4a1, 0x57e, 0x4a1, 0x57e, 0x4a1, 0x45e, 0x39e, 0x45e, 0x39e, -0x34a, 0x2aa, 0x34a, 0x2aa, 0x260, 0x1e5, 0x260, 0x1e5, 0x14e, 0xf9, 0x14e, -0xf9, 0x85, 0x58, 0x85, 0x58, 0x85, 0x58, 0x38, 0x33, 0x38, 0x33, -0xff81, 0xffa5, 0xff81, 0xffa5, 0xff4e, 0xff99, 0xff4e, 0xff99, 0xfff1, 0x62, 0xfff1, -0x62, 0xffee, 0x82, 0xffee, 0x82, 0xff7b, 0x2f, 0xff7b, 0x2f, 0xff7b, 0x2f, -0xff6a, 0x3b, 0xff6a, 0x3b, 0xffb9, 0xa3, 0xffb9, 0xa3, 0xffeb, 0xea, 0xffeb, -0xea, 0xffe2, 0xf2, 0xffe2, 0xf2, 0xff59, 0x78, 0xff59, 0x78, 0xfebe, 0xffe8, -0xfebe, 0xffe8, 0xfebe, 0xffe8, 0xfe51, 0xff82, 0xfe51, 0xff82, 0xfe6f, 0xffa3, 0xfe6f, -0xffa3, 0xfe5f, 0xff94, 0xfe5f, 0xff94, 0xfd89, 0xfebc, 0xfd89, 0xfebc, 0xfd66, 0xfe95, -0xfd66, 0xfe95, 0xfd66, 0xfe95, 0xfd8c, 0xfeb4, 0xfd8c, 0xfeb4, 0xfd8d, 0xfeab, 0xfd8d, -0xfeab, 0xfd72, 0xfe85, 0xfd72, 0xfe85, 0xfdbe, 0xfec2, 0xfdbe, 0xfec2, 0xfe13, 0xff06, -0xfe13, 0xff06, 0xfe8f, 0xff6e, 0xfe8f, 0xff6e, 0xfe8f, 0xff6e, 0xff82, 0x4a, 0xff82, -0x4a, 0xffb6, 0x64, 0xffb6, 0x64, 0x1e, 0xaf, 0x1e, 0xaf, 0x6a, 0xd9, -0x6a, 0xd9, 0xa4, 0xee, 0xa4, 0xee, 0x163, 0x183, 0x163, 0x183, 0x163, -0x183, 0x22e, 0x220, 0x22e, 0x220, 0x31d, 0x2de, 0x31d, 0x2de, 0x372, 0x2fc, -0x372, 0x2fc, 0x3d5, 0x326, 0x3d5, 0x326, 0x4ba, 0x3ce, 0x4ba, 0x3ce, 0x4ba, -0x3ce, 0x5cf, 0x4a2, 0x5cf, 0x4a2, 0x760, 0x5f1, 0x760, 0x5f1, 0x8ca, 0x717, -0x8ca, 0x717, 0xa13, 0x81b, 0xa13, 0x81b, 0xb45, 0x908, 0xb45, 0x908, 0xc71, -0x9f0, 0xc71, 0x9f0, 0xc71, 0x9f0, 0xe2e, 0xb6a, 0xe2e, 0xb6a, 0xfca, 0xcc7, -0xfca, 0xcc7, 0x11fc, 0xebc, 0x11fc, 0xebc, 0x14ec, 0x1174, 0x14ec, 0x1174, 0x173a, -0x138e, 0x173a, 0x138e, 0x190f, 0x1535, 0x190f, 0x1535, 0x190f, 0x1535, 0x1a83, 0x1680, -0x1a83, 0x1680, 0x1bc6, 0x17a2, 0x1bc6, 0x17a2, 0x1d1e, 0x18de, 0x1d1e, 0x18de, 0x1e78, -0x1a24, 0x1e78, 0x1a24, 0x1fe4, 0x1b81, 0x1fe4, 0x1b81, 0x1fe4, 0x1b81, 0x2119, 0x1caf, -0x2119, 0x1caf, 0x21ba, 0x1d4f, 0x21ba, 0x1d4f, 0x2216, 0x1db0, 0x2216, 0x1db0, 0x21ef, -0x1d95, 0x21ef, 0x1d95, 0x2165, 0x1d1b, 0x2165, 0x1d1b, 0x20fa, 0x1cc4, 0x20fa, 0x1cc4, -0x20fa, 0x1cc4, 0x205f, 0x1c43, 0x205f, 0x1c43, 0x2050, 0x1c51, 0x2050, 0x1c51, 0x207d, -0x1c9d, 0x207d, 0x1c9d, 0x1feb, 0x1c2e, 0x1feb, 0x1c2e, 0x1f14, 0x1b7c, 0x1f14, 0x1b7c, -0x1e80, 0x1b0f, 0x1e80, 0x1b0f, 0x1e80, 0x1b0f, 0x1dd2, 0x1a89, 0x1dd2, 0x1a89, 0x1d1d, -0x19fd, 0x1d1d, 0x19fd, 0x1c74, 0x197c, 0x1c74, 0x197c, 0x1b23, 0x1856, 0x1b23, 0x1856, -0x1972, 0x16ce, 0x1972, 0x16ce, 0x1972, 0x16ce, 0x183b, 0x15c0, 0x183b, 0x15c0, 0x177e, -0x152d, 0x177e, 0x152d, 0x1603, 0x13db, 0x1603, 0x13db, 0x1438, 0x1238, 0x1438, 0x1238, -0x12bb, 0x10e4, 0x12bb, 0x10e4, 0x119e, 0xfef, 0x119e, 0xfef, 0x119e, 0xfef, 0x10b5, -0xf2e, 0x10b5, 0xf2e, 0xf96, 0xe36, 0xf96, 0xe36, 0xe7a, 0xd41, 0xe7a, 0xd41, -0xc91, 0xb80, 0xc91, 0xb80, 0xb19, 0xa30, 0xb19, 0xa30, 0xa16, 0x954, 0xa16, -0x954, 0xa16, 0x954, 0x854, 0x7ba, 0x854, 0x7ba, 0x6f0, 0x67e, 0x6f0, 0x67e, -0x623, 0x5d9, 0x623, 0x5d9, 0x58d, 0x56d, 0x58d, 0x56d, 0x498, 0x4a1, 0x498, -0x4a1, 0x498, 0x4a1, 0x3d8, 0x40a, 0x3d8, 0x40a, 0x312, 0x36e, 0x312, 0x36e, -0x1c4, 0x249, 0x1c4, 0x249, 0x116, 0x1c4, 0x116, 0x1c4, 0x70, 0x148, 0x70, -0x148, 0xff81, 0x81, 0xff81, 0x81, 0xff81, 0x81, 0xfe82, 0xffaa, 0xfe82, 0xffaa, -0xfcfa, 0xfe49, 0xfcfa, 0xfe49, 0xfb92, 0xfd05, 0xfb92, 0xfd05, 0xfa49, 0xfbde, 0xfa49, -0xfbde, 0xf99c, 0xfb52, 0xf99c, 0xfb52, 0xf9a6, 0xfb78, 0xf9a6, 0xfb78, 0xf9a6, 0xfb78, -0xf8db, 0xfac7, 0xf8db, 0xfac7, 0xf7e5, 0xf9e7, 0xf7e5, 0xf9e7, 0xf71e, 0xf932, 0xf71e, -0xf932, 0xf616, 0xf838, 0xf616, 0xf838, 0xf54b, 0xf775, 0xf54b, 0xf775, 0xf54b, 0xf775, -0xf49a, 0xf6c9, 0xf49a, 0xf6c9, 0xf3fc, 0xf62a, 0xf3fc, 0xf62a, 0xf3cc, 0xf5f5, 0xf3cc, -0xf5f5, 0xf3de, 0xf5fe, 0xf3de, 0xf5fe, 0xf3b3, 0xf5c5, 0xf3b3, 0xf5c5, 0xf31a, 0xf51b, -0xf31a, 0xf51b, 0xf31a, 0xf51b, 0xf287, 0xf473, 0xf287, 0xf473, 0xf25d, 0xf432, 0xf25d, -0xf432, 0xf1c2, 0xf37e, 0xf1c2, 0xf37e, 0xf0fe, 0xf2a0, 0xf0fe, 0xf2a0, 0xf07b, 0xf201, -0xf07b, 0xf201, 0xf07b, 0xf201, 0xf003, 0xf16e, 0xf003, 0xf16e, 0xf002, 0xf152, 0xf002, -0xf152, 0xf06c, 0xf1a4, 0xf06c, 0xf1a4, 0xf10d, 0xf22e, 0xf10d, 0xf22e, 0xf1a3, 0xf2af, -0xf1a3, 0xf2af, 0xf290, 0xf38a, 0xf290, 0xf38a, 0xf290, 0xf38a, 0xf3c4, 0xf4b1, 0xf3c4, -0xf4b1, 0xf4b8, 0xf599, 0xf4b8, 0xf599, 0xf520, 0xf5fb, 0xf520, 0xf5fb, 0xf51a, 0xf5f2, -0xf51a, 0xf5f2, 0xf4e3, 0xf5bc, 0xf4e3, 0xf5bc, 0xf4fe, 0xf5da, 0xf4fe, 0xf5da, 0xf4fe, -0xf5da, 0xf50d, 0xf5f2, 0xf50d, 0xf5f2, 0xf461, 0xf550, 0xf461, 0xf550, 0xf3f1, 0xf4ed, -0xf3f1, 0xf4ed, 0xf37d, 0xf488, 0xf37d, 0xf488, 0xf367, 0xf483, 0xf367, 0xf483, 0xf367, -0xf483, 0xf3a3, 0xf4d1, 0xf3a3, 0xf4d1, 0xf3c6, 0xf508, 0xf3c6, 0xf508, 0xf3f0, 0xf546, -0xf3f0, 0xf546, 0xf3ef, 0xf559, 0xf3ef, 0xf559, 0xf4a5, 0xf624, 0xf4a5, 0xf624, 0xf4fe, -0xf692, 0xf4fe, 0xf692, 0xf4fe, 0xf692, 0xf4c8, 0xf670, 0xf4c8, 0xf670, 0xf49c, 0xf657, -0xf49c, 0xf657, 0xf4bf, 0xf68d, 0xf4bf, 0xf68d, 0xf521, 0xf702, 0xf521, 0xf702, 0xf544, -0xf737, 0xf544, 0xf737, 0xf5cb, 0xf7d1, 0xf5cb, 0xf7d1, 0xf5cb, 0xf7d1, 0xf55f, 0xf777, -0xf55f, 0xf777, 0xf432, 0xf65a, 0xf432, 0xf65a, 0xf3c0, 0xf5f9, 0xf3c0, 0xf5f9, 0xf30f, -0xf55a, 0xf30f, 0xf55a, 0xf23b, 0xf496, 0xf23b, 0xf496, 0xf23b, 0xf496, 0xf1d4, 0xf43d, -0xf1d4, 0xf43d, 0xf142, 0xf3b9, 0xf142, 0xf3b9, 0xf09f, 0xf323, 0xf09f, 0xf323, 0xefd5, -0xf264, 0xefd5, 0xf264, 0xef35, 0xf1ce, 0xef35, 0xf1ce, 0xeee0, 0xf17f, 0xeee0, 0xf17f, -0xeee0, 0xf17f, 0xedef, 0xf091, 0xedef, 0xf091, 0xed17, 0xefbb, 0xed17, 0xefbb, 0xec8a, -0xef2b, 0xec8a, 0xef2b, 0xeba2, 0xee3c, 0xeba2, 0xee3c, 0xeabd, 0xed4c, 0xeabd, 0xed4c, -0xe9ed, 0xec6d, 0xe9ed, 0xec6d, 0xe9ed, 0xec6d, 0xe95d, 0xebca, 0xe95d, 0xebca, 0xe949, -0xeba0, 0xe949, 0xeba0, 0xe98b, 0xebc7, 0xe98b, 0xebc7, 0xea10, 0xec2e, 0xea10, 0xec2e, -0xe9d7, 0xebd4, 0xe9d7, 0xebd4, 0xe9d7, 0xebd4, 0xe944, 0xeb1d, 0xe944, 0xeb1d, 0xe8e4, -0xea97, 0xe8e4, 0xea97, 0xe860, 0xe9ed, 0xe860, 0xe9ed, 0xe8b5, 0xea1a, 0xe8b5, 0xea1a, -0xe940, 0xea7e, 0xe940, 0xea7e, 0xea15, 0xeb2d, 0xea15, 0xeb2d, 0xea15, 0xeb2d, 0xebbb, -0xecad, 0xebbb, 0xecad, 0xedac, 0xee7d, 0xedac, 0xee7d, 0xef75, 0xf025, 0xef75, 0xf025, -0xf0b3, 0xf146, 0xf0b3, 0xf146, 0xf246, 0xf2c1, 0xf246, 0xf2c1, 0xf459, 0xf4bf, 0xf459, -0xf4bf, 0xf459, 0xf4bf, 0xf5e1, 0xf635, 0xf5e1, 0xf635, 0xf6a3, 0xf6e9, 0xf6a3, 0xf6e9, -0xf765, 0xf7a1, 0xf765, 0xf7a1, 0xf7b0, 0xf7e7, 0xf7b0, 0xf7e7, 0xf848, 0xf87c, 0xf848, -0xf87c, 0xf848, 0xf87c, 0xf961, 0xf995, 0xf961, 0xf995, 0xfa47, 0xfa7e, 0xfa47, 0xfa7e, -0xfb72, 0xfbae, 0xfb72, 0xfbae, 0xfca6, 0xfcea, 0xfca6, 0xfcea, 0xfe3c, 0xfe88, 0xfe3c, -0xfe88, 0xff00, 0xff56, 0xff00, 0xff56, 0xff00, 0xff56, 0xff3f, 0xffa0, 0xff3f, 0xffa0, -0xff8c, 0xfff8, 0xff8c, 0xfff8, 0xffd7, 0x4d, 0xffd7, 0x4d, 0x85, 0x106, 0x85, -0x106, 0x59, 0xe4, 0x59, 0xe4, 0x10, 0xa5, 0x10, 0xa5, 0x10, 0xa5, -0xffa8, 0x46, 0xffa8, 0x46, 0xff51, 0xfff7, 0xff51, 0xfff7, 0xff32, 0xffe0, 0xff32, -0xffe0, 0xfef7, 0xffab, 0xfef7, 0xffab, 0xff50, 0x9, 0xff50, 0x9, 0xff50, 0x9, -0xff16, 0xffd2, 0xff16, 0xffd2, 0xfec1, 0xff80, 0xfec1, 0xff80, 0xfeec, 0xffab, 0xfeec, -0xffab, 0xfe89, 0xff47, 0xfe89, 0xff47, 0xfdeb, 0xfea4, 0xfdeb, 0xfea4, 0xfd16, 0xfdc8, -0xfd16, 0xfdc8, 0xfd16, 0xfdc8, 0xfbdf, 0xfc88, 0xfbdf, 0xfc88, 0xfb1e, 0xfbbb, 0xfb1e, -0xfbbb, 0xfb2e, 0xfbbb, 0xfb2e, 0xfbbb, 0xfbb8, 0xfc32, 0xfbb8, 0xfc32, 0xfc5b, 0xfcbe, -0xfc5b, 0xfcbe, 0xfd13, 0xfd5d, 0xfd13, 0xfd5d, 0xfd13, 0xfd5d, 0xfde5, 0xfe13, 0xfde5, -0xfe13, 0xfe6b, 0xfe7b, 0xfe6b, 0xfe7b, 0xfeda, 0xfec9, 0xfeda, 0xfec9, 0xff34, 0xff01, -0xff34, 0xff01, 0xff48, 0xfef1, 0xff48, 0xfef1, 0xff48, 0xfef1, 0xffa5, 0xff2c, 0xffa5, -0xff2c, 0xb, 0xff70, 0xb, 0xff70, 0x90, 0xffd4, 0x90, 0xffd4, 0x16a, 0x90, -0x16a, 0x90, 0x1df, 0xeb, 0x1df, 0xeb, 0x2e5, 0x1db, 0x2e5, 0x1db, 0x2e5, -0x1db, 0x40f, 0x2f5, 0x40f, 0x2f5, 0x4b7, 0x392, 0x4b7, 0x392, 0x55e, 0x434, -0x55e, 0x434, 0x546, 0x41c, 0x546, 0x41c, 0x511, 0x3ef, 0x511, 0x3ef, 0x55b, -0x446, 0x55b, 0x446, 0x55b, 0x446, 0x630, 0x52e, 0x630, 0x52e, 0x6f0, 0x604, -0x6f0, 0x604, 0x713, 0x642, 0x713, 0x642, 0x6ce, 0x61c, 0x6ce, 0x61c, 0x632, -0x59f, 0x632, 0x59f, 0x632, 0x59f, 0x546, 0x4d1, 0x546, 0x4d1, 0x3ea, 0x395, -0x3ea, 0x395, 0x2a9, 0x26f, 0x2a9, 0x26f, 0x19e, 0x17c, 0x19e, 0x17c, 0x175, -0x166, 0x175, 0x166, 0x181, 0x181, 0x181, 0x181, 0x181, 0x181, 0x11e, 0x125, -0x11e, 0x125, 0xe8, 0xee, 0xe8, 0xee, 0x127, 0x126, 0x127, 0x126, 0x1c2, -0x1b3, 0x1c2, 0x1b3, 0x1d0, 0x1ac, 0x1d0, 0x1ac, 0x247, 0x208, 0x247, 0x208, -0x247, 0x208, 0x28a, 0x22c, 0x28a, 0x22c, 0x30b, 0x288, 0x30b, 0x288, 0x461, -0x3b9, 0x461, 0x3b9, 0x4d8, 0x408, 0x4d8, 0x408, 0x550, 0x45a, 0x550, 0x45a, -0x550, 0x45a, 0x5dc, 0x4c1, 0x5dc, 0x4c1, 0x6bb, 0x580, 0x6bb, 0x580, 0x779, -0x623, 0x779, 0x623, 0x781, 0x616, 0x781, 0x616, 0x7ca, 0x652, 0x7ca, 0x652, -0x79a, 0x61c, 0x79a, 0x61c, 0x79a, 0x61c, 0x73f, 0x5c5, 0x73f, 0x5c5, 0x716, -0x5a8, 0x716, 0x5a8, 0x6cd, 0x573, 0x6cd, 0x573, 0x694, 0x558, 0x694, 0x558, -0x650, 0x538, 0x650, 0x538, 0x650, 0x538, 0x626, 0x53a, 0x626, 0x53a, 0x5c9, -0x50d, 0x5c9, 0x50d, 0x529, 0x4a1, 0x529, 0x4a1, 0x48c, 0x43b, 0x48c, 0x43b, -0x3d2, 0x3b8, 0x3d2, 0x3b8, 0x322, 0x33f, 0x322, 0x33f, 0x322, 0x33f, 0x284, -0x2d6, 0x284, 0x2d6, 0x1c9, 0x24c, 0x1c9, 0x24c, 0x140, 0x1f0, 0x140, 0x1f0, -0x9e, 0x175, 0x9e, 0x175, 0xffc4, 0xbd, 0xffc4, 0xbd, 0x15, 0x129, 0x15, -0x129, 0x15, 0x129, 0x9a, 0x1c2, 0x9a, 0x1c2, 0xeb, 0x221, 0xeb, 0x221, -0x15e, 0x29d, 0x15e, 0x29d, 0xee, 0x22f, 0xee, 0x22f, 0x9c, 0x1db, 0x9c, -0x1db, 0x9c, 0x1db, 0xffe3, 0x11b, 0xffe3, 0x11b, 0xff00, 0x30, 0xff00, 0x30, -0xfe73, 0xff97, 0xfe73, 0xff97, 0xfd5c, 0xfe73, 0xfd5c, 0xfe73, 0xfc69, 0xfd73, 0xfc69, -0xfd73, 0xfc12, 0xfd0f, 0xfc12, 0xfd0f, 0xfc12, 0xfd0f, 0xfc1f, 0xfd11, 0xfc1f, 0xfd11, -0xfbef, 0xfcd6, 0xfbef, 0xfcd6, 0xfbea, 0xfcc8, 0xfbea, 0xfcc8, 0xfc16, 0xfceb, 0xfc16, -0xfceb, 0xfc88, 0xfd57, 0xfc88, 0xfd57, 0xfcb3, 0xfd7b, 0xfcb3, 0xfd7b, 0xfcb3, 0xfd7b, -0xfc72, 0xfd33, 0xfc72, 0xfd33, 0xfc32, 0xfced, 0xfc32, 0xfced, 0xfbf1, 0xfca3, 0xfbf1, -0xfca3, 0xfc76, 0xfd1e, 0xfc76, 0xfd1e, 0xfcf7, 0xfd91, 0xfcf7, 0xfd91, 0xfcf7, 0xfd91, -0xfdc8, 0xfe50, 0xfdc8, 0xfe50, 0xfe73, 0xfee5, 0xfe73, 0xfee5, 0xfef0, 0xff47, 0xfef0, -0xff47, 0xff82, 0xffb9, 0xff82, 0xffb9, 0xffc0, 0xffd0, 0xffc0, 0xffd0, 0xc9, 0xae, -0xc9, 0xae, 0xc9, 0xae, 0x1a4, 0x157, 0x1a4, 0x157, 0x343, 0x2bf, 0x343, -0x2bf, 0x58a, 0x4cc, 0x58a, 0x4cc, 0x6fd, 0x5ff, 0x6fd, 0x5ff, 0x85c, 0x71c, -0x85c, 0x71c, 0xa26, 0x8a1, 0xa26, 0x8a1, 0xa26, 0x8a1, 0xc9a, 0xad0, 0xc9a, -0xad0, 0xebb, 0xcad, 0xebb, 0xcad, 0x1162, 0xf0f, 0x1162, 0xf0f, 0x1468, 0x11d3, -0x1468, 0x11d3, 0x164e, 0x1379, 0x164e, 0x1379, 0x164e, 0x1379, 0x1836, 0x1525, 0x1836, -0x1525, 0x1a1c, 0x16d5, 0x1a1c, 0x16d5, 0x1b8d, 0x1814, 0x1b8d, 0x1814, 0x1cc3, 0x191e, -0x1cc3, 0x191e, 0x1e3f, 0x1a73, 0x1e3f, 0x1a73, 0x203a, 0x1c4e, 0x203a, 0x1c4e, 0x203a, -0x1c4e, 0x2173, 0x1d6c, 0x2173, 0x1d6c, 0x2228, 0x1e0d, 0x2228, 0x1e0d, 0x22ef, 0x1ec4, -0x22ef, 0x1ec4, 0x2340, 0x1f0a, 0x2340, 0x1f0a, 0x234a, 0x1f0f, 0x234a, 0x1f0f, 0x2360, -0x1f23, 0x2360, 0x1f23, 0x2360, 0x1f23, 0x2347, 0x1f0d, 0x2347, 0x1f0d, 0x2338, 0x1f04, -0x2338, 0x1f04, 0x2333, 0x1f09, 0x2333, 0x1f09, 0x22fa, 0x1edd, 0x22fa, 0x1edd, 0x22d6, -0x1ec7, 0x22d6, 0x1ec7, 0x22d6, 0x1ec7, 0x2241, 0x1e44, 0x2241, 0x1e44, 0x21f1, 0x1e08, -0x21f1, 0x1e08, 0x218a, 0x1db6, 0x218a, 0x1db6, 0x2062, 0x1ca6, 0x2062, 0x1ca6, 0x1f83, -0x1be0, 0x1f83, 0x1be0, 0x1e47, 0x1ac0, 0x1e47, 0x1ac0, 0x1e47, 0x1ac0, 0x1cdd, 0x1974, -0x1cdd, 0x1974, 0x1b0e, 0x17c5, 0x1b0e, 0x17c5, 0x18e1, 0x15ba, 0x18e1, 0x15ba, 0x170a, -0x1406, 0x170a, 0x1406, 0x15ae, 0x12d0, 0x15ae, 0x12d0, 0x14c0, 0x1209, 0x14c0, 0x1209, -0x14c0, 0x1209, 0x1368, 0x10d9, 0x1368, 0x10d9, 0x121c, 0xfb7, 0x121c, 0xfb7, 0x10ec, -0xeb2, 0x10ec, 0xeb2, 0xf74, 0xd66, 0xf74, 0xd66, 0xd94, 0xbb3, 0xd94, 0xbb3, -0xd94, 0xbb3, 0xb94, 0x9df, 0xb94, 0x9df, 0x954, 0x7cd, 0x954, 0x7cd, 0x76c, -0x613, 0x76c, 0x613, 0x659, 0x52e, 0x659, 0x52e, 0x4f2, 0x3f5, 0x4f2, 0x3f5, -0x3f6, 0x326, 0x3f6, 0x326, 0x3f6, 0x326, 0x337, 0x296, 0x337, 0x296, 0x2ab, -0x237, 0x2ab, 0x237, 0x24e, 0x208, 0x24e, 0x208, 0x18d, 0x175, 0x18d, 0x175, -0xc0, 0xd7, 0xc0, 0xd7, 0xff75, 0xffba, 0xff75, 0xffba, 0xff75, 0xffba, 0xfe71, -0xfee5, 0xfe71, 0xfee5, 0xfd7f, 0xfe22, 0xfd7f, 0xfe22, 0xfc94, 0xfd66, 0xfc94, 0xfd66, -0xfc1d, 0xfd1e, 0xfc1d, 0xfd1e, 0xfbc4, 0xfcf3, 0xfbc4, 0xfcf3, 0xfbc4, 0xfcf3, 0xfb52, -0xfcae, 0xfb52, 0xfcae, 0xfa0e, 0xfb94, 0xfa0e, 0xfb94, 0xf96c, 0xfb1b, 0xf96c, 0xfb1b, -0xf8e0, 0xfab6, 0xf8e0, 0xfab6, 0xf791, 0xf98a, 0xf791, 0xf98a, 0xf716, 0xf92e, 0xf716, -0xf92e, 0xf716, 0xf92e, 0xf6a8, 0xf8db, 0xf6a8, 0xf8db, 0xf5d5, 0xf81c, 0xf5d5, 0xf81c, -0xf522, 0xf779, 0xf522, 0xf779, 0xf4dc, 0xf73c, 0xf4dc, 0xf73c, 0xf4ac, 0xf70f, 0xf4ac, -0xf70f, 0xf46b, 0xf6cb, 0xf46b, 0xf6cb, 0xf46b, 0xf6cb, 0xf470, 0xf6c7, 0xf470, 0xf6c7, -0xf46f, 0xf6b6, 0xf46f, 0xf6b6, 0xf402, 0xf633, 0xf402, 0xf633, 0xf382, 0xf599, 0xf382, -0xf599, 0xf380, 0xf578, 0xf380, 0xf578, 0xf380, 0xf578, 0xf2b5, 0xf48c, 0xf2b5, 0xf48c, -0xf1ba, 0xf36c, 0xf1ba, 0xf36c, 0xf181, 0xf30d, 0xf181, 0xf30d, 0xf1d0, 0xf336, 0xf1d0, -0xf336, 0xf266, 0xf3a7, 0xf266, 0xf3a7, 0xf2df, 0xf3fe, 0xf2df, 0xf3fe, 0xf2df, 0xf3fe, -0xf420, 0xf51e, 0xf420, 0xf51e, 0xf4f1, 0xf5d3, 0xf4f1, 0xf5d3, 0xf5a1, 0xf66c, 0xf5a1, -0xf66c, 0xf644, 0xf6fc, 0xf644, 0xf6fc, 0xf5e8, 0xf693, 0xf5e8, 0xf693, 0xf5a3, 0xf646, -0xf5a3, 0xf646, 0xf5a3, 0xf646, 0xf565, 0xf606, 0xf565, 0xf606, 0xf4e9, 0xf58e, 0xf4e9, -0xf58e, 0xf3f2, 0xf4a0, 0xf3f2, 0xf4a0, 0xf3a5, 0xf460, 0xf3a5, 0xf460, 0xf3f3, 0xf4c0, -0xf3f3, 0xf4c0, 0xf3f3, 0xf4c0, 0xf431, 0xf514, 0xf431, 0xf514, 0xf450, 0xf54b, 0xf450, -0xf54b, 0xf463, 0xf578, 0xf463, 0xf578, 0xf489, 0xf5ba, 0xf489, 0xf5ba, 0xf3e0, 0xf52f, -0xf3e0, 0xf52f, 0xf335, 0xf4a2, 0xf335, 0xf4a2, 0xf335, 0xf4a2, 0xf24c, 0xf3d7, 0xf24c, -0xf3d7, 0xf1e0, 0xf389, 0xf1e0, 0xf389, 0xf24a, 0xf410, 0xf24a, 0xf410, 0xf280, 0xf463, -0xf280, 0xf463, 0xf2e2, 0xf4e2, 0xf2e2, 0xf4e2, 0xf2e2, 0xf4e2, 0xf315, 0xf531, 0xf315, -0xf531, 0xf35f, 0xf596, 0xf35f, 0xf596, 0xf34b, 0xf59d, 0xf34b, 0xf59d, 0xf2c5, 0xf532, -0xf2c5, 0xf532, 0xf1f6, 0xf47d, 0xf1f6, 0xf47d, 0xf10f, 0xf3b1, 0xf10f, 0xf3b1, 0xf10f, -0xf3b1, 0xf0e2, 0xf39d, 0xf0e2, 0xf39d, 0xf090, 0xf364, 0xf090, 0xf364, 0xeff1, 0xf2de, -0xeff1, 0xf2de, 0xef5a, 0xf25d, 0xef5a, 0xf25d, 0xef4a, 0xf263, 0xef4a, 0xf263, 0xef4d, -0xf278, 0xef4d, 0xf278, 0xef4d, 0xf278, 0xee45, 0xf180, 0xee45, 0xf180, 0xedab, 0xf0f1, -0xedab, 0xf0f1, 0xed17, 0xf064, 0xed17, 0xf064, 0xebde, 0xef2d, 0xebde, 0xef2d, 0xeb0e, -0xee5b, 0xeb0e, 0xee5b, 0xeb0e, 0xee5b, 0xea46, 0xed89, 0xea46, 0xed89, 0xe9d0, 0xed03, -0xe9d0, 0xed03, 0xe994, 0xecb1, 0xe994, 0xecb1, 0xe988, 0xec88, 0xe988, 0xec88, 0xe92b, -0xec07, 0xe92b, 0xec07, 0xe852, 0xeb05, 0xe852, 0xeb05, 0xe852, 0xeb05, 0xe808, 0xea8c, -0xe808, 0xea8c, 0xe798, 0xe9ea, 0xe798, 0xe9ea, 0xe777, 0xe991, 0xe777, 0xe991, 0xe83e, -0xea1e, 0xe83e, 0xea1e, 0xe90f, 0xeab2, 0xe90f, 0xeab2, 0xe9b8, 0xeb1f, 0xe9b8, 0xeb1f, -0xe9b8, 0xeb1f, 0xeabd, 0xebe8, 0xeabd, 0xebe8, 0xebe8, 0xecd9, 0xebe8, 0xecd9, 0xed6a, -0xee22, 0xed6a, 0xee22, 0xef1a, 0xef9e, 0xef1a, 0xef9e, 0xf0e1, 0xf135, 0xf0e1, 0xf135, -0xf0e1, 0xf135, 0xf2fc, 0xf325, 0xf2fc, 0xf325, 0xf476, 0xf479, 0xf476, 0xf479, 0xf64c, -0xf62f, 0xf64c, 0xf62f, 0xf786, 0xf74f, 0xf786, 0xf74f, 0xf767, 0xf71c, 0xf767, 0xf71c, -0xf79c, 0xf742, 0xf79c, 0xf742, 0xf79c, 0xf742, 0xf855, 0xf7f1, 0xf855, 0xf7f1, 0xf92d, -0xf8c5, 0xf92d, 0xf8c5, 0xf9a0, 0xf937, 0xf9a0, 0xf937, 0xfa92, 0xfa2d, 0xfa92, 0xfa2d, -0xfba2, 0xfb44, 0xfba2, 0xfb44, 0xfc54, 0xfbff, 0xfc54, 0xfbff, 0xfc54, 0xfbff, 0xfd13, -0xfcc9, 0xfd13, 0xfcc9, 0xfde3, 0xfda5, 0xfde3, 0xfda5, 0xfe1c, 0xfded, 0xfe1c, 0xfded, -0xfda8, 0xfd87, 0xfda8, 0xfd87, 0xfdb2, 0xfda0, 0xfdb2, 0xfda0, 0xfdb2, 0xfda0, 0xfd2a, -0xfd29, 0xfd2a, 0xfd29, 0xfc72, 0xfc80, 0xfc72, 0xfc80, 0xfc8b, 0xfca8, 0xfc8b, 0xfca8, -0xfcae, 0xfcdc, 0xfcae, 0xfcdc, 0xfc8f, 0xfccd, 0xfc8f, 0xfccd, 0xfcf9, 0xfd45, 0xfcf9, -0xfd45, 0xfcf9, 0xfd45, 0xfdca, 0xfe26, 0xfdca, 0xfe26, 0xfddc, 0xfe45, 0xfddc, 0xfe45, -0xfdc1, 0xfe38, 0xfdc1, 0xfe38, 0xfd2a, 0xfdac, 0xfd2a, 0xfdac, 0xfc6a, 0xfcf5, 0xfc6a, -0xfcf5, 0xfbf8, 0xfc8b, 0xfbf8, 0xfc8b, 0xfbf8, 0xfc8b, 0xfb71, 0xfc08, 0xfb71, 0xfc08, -0xfb49, 0xfbe1, 0xfb49, 0xfbe1, 0xfb24, 0xfbb8, 0xfb24, 0xfbb8, 0xfbbc, 0xfc48, 0xfbbc, -0xfc48, 0xfc80, 0xfcff, 0xfc80, 0xfcff, 0xfc80, 0xfcff, 0xfcae, 0xfd1b, 0xfcae, 0xfd1b, -0xfd87, 0xfddc, 0xfd87, 0xfddc, 0xfe63, 0xfe9b, 0xfe63, 0xfe9b, 0xff0b, 0xff21, 0xff0b, -0xff21, 0xffe1, 0xffcf, 0xffe1, 0xffcf, 0x60, 0x22, 0x60, 0x22, 0x60, 0x22, -0x52, 0xffe6, 0x52, 0xffe6, 0x32, 0xff95, 0x32, 0xff95, 0xf3, 0x24, 0xf3, -0x24, 0x1ee, 0xee, 0x1ee, 0xee, 0x28a, 0x15a, 0x28a, 0x15a, 0x380, 0x222, -0x380, 0x222, 0x380, 0x222, 0x44d, 0x2c7, 0x44d, 0x2c7, 0x493, 0x2ea, 0x493, -0x2ea, 0x4eb, 0x327, 0x4eb, 0x327, 0x51c, 0x343, 0x51c, 0x343, 0x5a9, 0x3c4, -0x5a9, 0x3c4, 0x5a9, 0x3c4, 0x699, 0x4b2, 0x699, 0x4b2, 0x738, 0x557, 0x738, -0x557, 0x7cf, 0x5fd, 0x7cf, 0x5fd, 0x7da, 0x620, 0x7da, 0x620, 0x767, 0x5cb, -0x767, 0x5cb, 0x6bd, 0x547, 0x6bd, 0x547, 0x6bd, 0x547, 0x638, 0x4ec, 0x638, -0x4ec, 0x5f5, 0x4d7, 0x5f5, 0x4d7, 0x523, 0x434, 0x523, 0x434, 0x40c, 0x34d, -0x40c, 0x34d, 0x344, 0x2b4, 0x344, 0x2b4, 0x28d, 0x228, 0x28d, 0x228, 0x28d, -0x228, 0x16e, 0x130, 0x16e, 0x130, 0xdc, 0xc0, 0xdc, 0xc0, 0xf3, 0xf2, -0xf3, 0xf2, 0x107, 0x11a, 0x107, 0x11a, 0x110, 0x12e, 0x110, 0x12e, 0x110, -0x12e, 0x134, 0x157, 0x134, 0x157, 0x1a8, 0x1c7, 0x1a8, 0x1c7, 0x189, 0x19f, -0x189, 0x19f, 0x1d6, 0x1dc, 0x1d6, 0x1dc, 0x26d, 0x25e, 0x26d, 0x25e, 0x275, -0x24e, 0x275, 0x24e, 0x275, 0x24e, 0x32d, 0x2ed, 0x32d, 0x2ed, 0x3fd, 0x3a2, -0x3fd, 0x3a2, 0x479, 0x405, 0x479, 0x405, 0x4a5, 0x419, 0x4a5, 0x419, 0x544, -0x4a4, 0x544, 0x4a4, 0x623, 0x572, 0x623, 0x572, 0x623, 0x572, 0x646, 0x589, -0x646, 0x589, 0x65e, 0x59c, 0x65e, 0x59c, 0x603, 0x541, 0x603, 0x541, 0x5e0, -0x522, 0x5e0, 0x522, 0x5f7, 0x545, 0x5f7, 0x545, 0x5f7, 0x545, 0x614, 0x571, -0x614, 0x571, 0x60c, 0x57d, 0x60c, 0x57d, 0x5d0, 0x557, 0x5d0, 0x557, 0x6b9, -0x659, 0x6b9, 0x659, 0x6df, 0x698, 0x6df, 0x698, 0x638, 0x60c, 0x638, 0x60c, -0x638, 0x60c, 0x5c0, 0x5ad, 0x5c0, 0x5ad, 0x4db, 0x4e1, 0x4db, 0x4e1, 0x443, -0x45f, 0x443, 0x45f, 0x3b3, 0x3e3, 0x3b3, 0x3e3, 0x368, 0x3a9, 0x368, 0x3a9, -0x376, 0x3c6, 0x376, 0x3c6, 0x376, 0x3c6, 0x36a, 0x3c6, 0x36a, 0x3c6, 0x392, -0x3f8, 0x392, 0x3f8, 0x392, 0x400, 0x392, 0x400, 0x32e, 0x3a4, 0x32e, 0x3a4, -0x318, 0x395, 0x318, 0x395, 0x318, 0x395, 0x2d7, 0x35c, 0x2d7, 0x35c, 0x294, -0x321, 0x294, 0x321, 0x268, 0x301, 0x268, 0x301, 0x134, 0x1d9, 0x134, 0x1d9, -0xfff8, 0xac, 0xfff8, 0xac, 0xfeb0, 0xff76, 0xfeb0, 0xff76, 0xfeb0, 0xff76, 0xfd8b, -0xfe65, 0xfd8b, 0xfe65, 0xfd4c, 0xfe3d, 0xfd4c, 0xfe3d, 0xfcce, 0xfdd7, 0xfcce, 0xfdd7, -0xfc83, 0xfda5, 0xfc83, 0xfda5, 0xfc7b, 0xfdb7, 0xfc7b, 0xfdb7, 0xfc7b, 0xfdb7, 0xfc62, -0xfdb5, 0xfc62, 0xfdb5, 0xfc4e, 0xfdb7, 0xfc4e, 0xfdb7, 0xfbc3, 0xfd3e, 0xfbc3, 0xfd3e, -0xfb91, 0xfd18, 0xfb91, 0xfd18, 0xfb5c, 0xfcea, 0xfb5c, 0xfcea, 0xfb46, 0xfcd3, 0xfb46, -0xfcd3, 0xfb46, 0xfcd3, 0xfbc6, 0xfd4c, 0xfbc6, 0xfd4c, 0xfb7a, 0xfcef, 0xfb7a, 0xfcef, -0xfb50, 0xfcaa, 0xfb50, 0xfcaa, 0xfbe3, 0xfd1a, 0xfbe3, 0xfd1a, 0xfcaa, 0xfdb4, 0xfcaa, -0xfdb4, 0xfddd, 0xfeb1, 0xfddd, 0xfeb1, 0xfddd, 0xfeb1, 0xfefb, 0xff91, 0xfefb, 0xff91, -0x2f, 0x7e, 0x2f, 0x7e, 0x1a7, 0x1aa, 0x1a7, 0x1aa, 0x288, 0x238, 0x288, -0x238, 0x37a, 0x2d4, 0x37a, 0x2d4, 0x37a, 0x2d4, 0x58c, 0x48d, 0x58c, 0x48d, -0x82b, 0x6d1, 0x82b, 0x6d1, 0xab3, 0x8ff, 0xab3, 0x8ff, 0xd43, 0xb36, 0xd43, -0xb36, 0x1055, 0xdf1, 0x1055, 0xdf1, 0x12aa, 0xff3, 0x12aa, 0xff3, 0x12aa, 0xff3, -0x14b2, 0x11ad, 0x14b2, 0x11ad, 0x16f2, 0x13a5, 0x16f2, 0x13a5, 0x1897, 0x1509, 0x1897, -0x1509, 0x1a8c, 0x16c3, 0x1a8c, 0x16c3, 0x1ce4, 0x18e8, 0x1ce4, 0x18e8, 0x1f63, 0x1b3b, -0x1f63, 0x1b3b, 0x1f63, 0x1b3b, 0x20b7, 0x1c6d, 0x20b7, 0x1c6d, 0x2222, 0x1dbc, 0x2222, -0x1dbc, 0x2426, 0x1fad, 0x2426, 0x1fad, 0x2474, 0x1fef, 0x2474, 0x1fef, 0x248b, 0x2001, -0x248b, 0x2001, 0x248b, 0x2001, 0x2512, 0x208b, 0x2512, 0x208b, 0x2546, 0x20ca, 0x2546, -0x20ca, 0x2595, 0x2128, 0x2595, 0x2128, 0x2656, 0x21ff, 0x2656, 0x21ff, 0x2690, 0x2256, -0x2690, 0x2256, 0x2628, 0x220f, 0x2628, 0x220f, 0x2628, 0x220f, 0x25da, 0x21e7, 0x25da, -0x21e7, 0x2593, 0x21ca, 0x2593, 0x21ca, 0x24e2, 0x2148, 0x24e2, 0x2148, 0x2357, 0x1fee, -0x2357, 0x1fee, 0x2219, 0x1ee4, 0x2219, 0x1ee4, 0x20e7, 0x1de7, 0x20e7, 0x1de7, 0x20e7, -0x1de7, 0x1f7d, 0x1cb4, 0x1f7d, 0x1cb4, 0x1e46, 0x1bb4, 0x1e46, 0x1bb4, 0x1c84, 0x1a28, -0x1c84, 0x1a28, 0x1af3, 0x18cb, 0x1af3, 0x18cb, 0x197e, 0x1789, 0x197e, 0x1789, 0x197e, -0x1789, 0x17d5, 0x1610, 0x17d5, 0x1610, 0x1647, 0x14ae, 0x1647, 0x14ae, 0x148b, 0x1319, -0x148b, 0x1319, 0x1313, 0x11c5, 0x1313, 0x11c5, 0x1187, 0x1057, 0x1187, 0x1057, 0x1030, -0xf19, 0x1030, 0xf19, 0x1030, 0xf19, 0xf2c, 0xe2a, 0xf2c, 0xe2a, 0xcc7, 0xbd5, -0xcc7, 0xbd5, 0xa61, 0x97d, 0xa61, 0x97d, 0x91c, 0x841, 0x91c, 0x841, 0x6c7, -0x5f3, 0x6c7, 0x5f3, 0x514, 0x446, 0x514, 0x446, 0x514, 0x446, 0x4bb, 0x3f3, -0x4bb, 0x3f3, 0x3b7, 0x2f7, 0x3b7, 0x2f7, 0x3cd, 0x316, 0x3cd, 0x316, 0x318, -0x26d, 0x318, 0x26d, 0x187, 0xec, 0x187, 0xec, 0x187, 0xec, 0x10f, 0x88, -0x10f, 0x88, 0xff91, 0xff25, 0xff91, 0xff25, 0xfe8e, 0xfe42, 0xfe8e, 0xfe42, 0xfd66, -0xfd41, 0xfd66, 0xfd41, 0xfbc7, 0xfbcd, 0xfbc7, 0xfbcd, 0xfad6, 0xfb0d, 0xfad6, 0xfb0d, -0xfad6, 0xfb0d, 0xf906, 0xf972, 0xf906, 0xf972, 0xf771, 0xf817, 0xf771, 0xf817, 0xf6c2, -0xf7a2, 0xf6c2, 0xf7a2, 0xf623, 0xf740, 0xf623, 0xf740, 0xf594, 0xf6ed, 0xf594, 0xf6ed, -0xf515, 0xf6a8, 0xf515, 0xf6a8, 0xf515, 0xf6a8, 0xf432, 0xf5fc, 0xf432, 0xf5fc, 0xf2ce, -0xf4ca, 0xf2ce, 0xf4ca, 0xf222, 0xf44a, 0xf222, 0xf44a, 0xf22d, 0xf47a, 0xf22d, 0xf47a, -0xf1c3, 0xf42c, 0xf1c3, 0xf42c, 0xf1c3, 0xf42c, 0xf1b4, 0xf431, 0xf1b4, 0xf431, 0xf229, -0xf4b1, 0xf229, 0xf4b1, 0xf276, 0xf500, 0xf276, 0xf500, 0xf1fc, 0xf47f, 0xf1fc, 0xf47f, -0xf1a5, 0xf418, 0xf1a5, 0xf418, 0xf222, 0xf47e, 0xf222, 0xf47e, 0xf222, 0xf47e, 0xf1b0, -0xf3ef, 0xf1b0, 0xf3ef, 0xf18e, 0xf3aa, 0xf18e, 0xf3aa, 0xf1ce, 0xf3c4, 0xf1ce, 0xf3c4, -0xf16d, 0xf33a, 0xf16d, 0xf33a, 0xf13d, 0xf2df, 0xf13d, 0xf2df, 0xf179, 0xf2f2, 0xf179, -0xf2f2, 0xf179, 0xf2f2, 0xf20f, 0xf35f, 0xf20f, 0xf35f, 0xf2c4, 0xf3ed, 0xf2c4, 0xf3ed, -0xf3b9, 0xf4bf, 0xf3b9, 0xf4bf, 0xf4a7, 0xf58e, 0xf4a7, 0xf58e, 0xf527, 0xf5f3, 0xf527, -0xf5f3, 0xf527, 0xf5f3, 0xf5a5, 0xf65b, 0xf5a5, 0xf65b, 0xf6a3, 0xf748, 0xf6a3, 0xf748, -0xf684, 0xf71d, 0xf684, 0xf71d, 0xf62b, 0xf6bb, 0xf62b, 0xf6bb, 0xf680, 0xf70a, 0xf680, -0xf70a, 0xf69c, 0xf725, 0xf69c, 0xf725, 0xf69c, 0xf725, 0xf749, 0xf7d3, 0xf749, 0xf7d3, -0xf749, 0xf7d5, 0xf749, 0xf7d5, 0xf674, 0xf704, 0xf674, 0xf704, 0xf62b, 0xf6c0, 0xf62b, -0xf6c0, 0xf5f0, 0xf68b, 0xf5f0, 0xf68b, 0xf527, 0xf5c7, 0xf527, 0xf5c7, 0xf527, 0xf5c7, -0xf4f8, 0xf59f, 0xf4f8, 0xf59f, 0xf4e5, 0xf593, 0xf4e5, 0xf593, 0xf49c, 0xf552, 0xf49c, -0xf552, 0xf512, 0xf5d1, 0xf512, 0xf5d1, 0xf4fe, 0xf5c8, 0xf4fe, 0xf5c8, 0xf4fe, 0xf5c8, -0xf435, 0xf50c, 0xf435, 0xf50c, 0xf417, 0xf4fd, 0xf417, 0xf4fd, 0xf3ed, 0xf4e5, 0xf3ed, -0xf4e5, 0xf32e, 0xf43d, 0xf32e, 0xf43d, 0xf341, 0xf46a, 0xf341, 0xf46a, 0xf2b6, 0xf3fc, -0xf2b6, 0xf3fc, 0xf2b6, 0xf3fc, 0xf208, 0xf36e, 0xf208, 0xf36e, 0xf12f, 0xf2ba, 0xf12f, -0xf2ba, 0xefa4, 0xf156, 0xefa4, 0xf156, 0xef0b, 0xf0e6, 0xef0b, 0xf0e6, 0xee58, 0xf05d, -0xee58, 0xf05d, 0xee2f, 0xf05f, 0xee2f, 0xf05f, 0xee2f, 0xf05f, 0xed22, 0xef7b, 0xed22, -0xef7b, 0xebb8, 0xee37, 0xebb8, 0xee37, 0xeaf6, 0xed99, 0xeaf6, 0xed99, 0xe9da, 0xec9c, -0xe9da, 0xec9c, 0xe93a, 0xec14, 0xe93a, 0xec14, 0xe93a, 0xec14, 0xe80c, 0xeaf7, 0xe80c, -0xeaf7, 0xe790, 0xea86, 0xe790, 0xea86, 0xe768, 0xea5f, 0xe768, 0xea5f, 0xe6f9, 0xe9e9, -0xe6f9, 0xe9e9, 0xe66d, 0xe94e, 0xe66d, 0xe94e, 0xe523, 0xe7ec, 0xe523, 0xe7ec, 0xe523, -0xe7ec, 0xe53c, 0xe7e6, 0xe53c, 0xe7e6, 0xe5c9, 0xe84d, 0xe5c9, 0xe84d, 0xe5d9, 0xe832, -0xe5d9, 0xe832, 0xe68e, 0xe8b6, 0xe68e, 0xe8b6, 0xe72b, 0xe920, 0xe72b, 0xe920, 0xe72b, -0xe920, 0xe7d9, 0xe999, 0xe7d9, 0xe999, 0xe90b, 0xea96, 0xe90b, 0xea96, 0xea38, 0xeb8f, -0xea38, 0xeb8f, 0xeb41, 0xec66, 0xeb41, 0xec66, 0xed35, 0xee2c, 0xed35, 0xee2c, 0xf014, -0xf0e2, 0xf014, 0xf0e2, 0xf014, 0xf0e2, 0xf209, 0xf2b3, 0xf209, 0xf2b3, 0xf3c6, 0xf451, -0xf3c6, 0xf451, 0xf5c7, 0xf63a, 0xf5c7, 0xf63a, 0xf6f0, 0xf751, 0xf6f0, 0xf751, 0xf826, -0xf87b, 0xf826, 0xf87b, 0xf95e, 0xf9ab, 0xf95e, 0xf9ab, 0xf95e, 0xf9ab, 0xf9ff, 0xfa49, -0xf9ff, 0xfa49, 0xfb1b, 0xfb66, 0xfb1b, 0xfb66, 0xfbe3, 0xfc33, 0xfbe3, 0xfc33, 0xfbff, -0xfc55, 0xfbff, 0xfc55, 0xfd08, 0xfd66, 0xfd08, 0xfd66, 0xfd08, 0xfd66, 0xfdf8, 0xfe5e, -0xfdf8, 0xfe5e, 0xfe9d, 0xff0a, 0xfe9d, 0xff0a, 0xff14, 0xff88, 0xff14, 0xff88, 0xfed4, -0xff4d, 0xfed4, 0xff4d, 0xff0c, 0xff8a, 0xff0c, 0xff8a, 0xff71, 0xfff0, 0xff71, 0xfff0, -0xff71, 0xfff0, 0xff5d, 0xffdd, 0xff5d, 0xffdd, 0xfee4, 0xff62, 0xfee4, 0xff62, 0xfeb9, -0xff35, 0xfeb9, 0xff35, 0xfed4, 0xff4c, 0xfed4, 0xff4c, 0xfe26, 0xfe9a, 0xfe26, 0xfe9a, -0xfd5f, 0xfdce, 0xfd5f, 0xfdce, 0xfd5f, 0xfdce, 0xfcb5, 0xfd20, 0xfcb5, 0xfd20, 0xfc82, -0xfce7, 0xfc82, 0xfce7, 0xfce1, 0xfd42, 0xfce1, 0xfd42, 0xfcc4, 0xfd20, 0xfcc4, 0xfd20, -0xfcbe, 0xfd15, 0xfcbe, 0xfd15, 0xfcbe, 0xfd15, 0xfc72, 0xfcc4, 0xfc72, 0xfcc4, 0xfbbd, -0xfc09, 0xfbbd, 0xfc09, 0xfb3e, 0xfb83, 0xfb3e, 0xfb83, 0xfa8a, 0xfac6, 0xfa8a, 0xfac6, -0xfa07, 0xfa38, 0xfa07, 0xfa38, 0xf9e7, 0xfa09, 0xf9e7, 0xfa09, 0xf9e7, 0xfa09, 0xf9f9, -0xfa09, 0xf9f9, 0xfa09, 0xfa3c, 0xfa35, 0xfa3c, 0xfa35, 0xfb50, 0xfb2f, 0xfb50, 0xfb2f, -0xfc89, 0xfc49, 0xfc89, 0xfc49, 0xfd43, 0xfce1, 0xfd43, 0xfce1, 0xfdd7, 0xfd4e, 0xfdd7, -0xfd4e, 0xfdd7, 0xfd4e, 0xfdc3, 0xfd10, 0xfdc3, 0xfd10, 0xfdb6, 0xfcd6, 0xfdb6, 0xfcd6, -0xfebd, 0xfdae, 0xfebd, 0xfdae, 0x16, 0xfed8, 0x16, 0xfed8, 0xb4, 0xff48, 0xb4, -0xff48, 0xb4, 0xff48, 0x1b2, 0x1a, 0x1b2, 0x1a, 0x2d3, 0x111, 0x2d3, 0x111, -0x3b7, 0x1d2, 0x3b7, 0x1d2, 0x482, 0x27f, 0x482, 0x27f, 0x47d, 0x263, 0x47d, -0x263, 0x560, 0x337, 0x560, 0x337, 0x560, 0x337, 0x6ab, 0x47b, 0x6ab, 0x47b, -0x736, 0x509, 0x736, 0x509, 0x797, 0x575, 0x797, 0x575, 0x74d, 0x53e, 0x74d, -0x53e, 0x75b, 0x567, 0x75b, 0x567, 0x7a7, 0x5d5, 0x7a7, 0x5d5, 0x7a7, 0x5d5, -0x749, 0x59f, 0x749, 0x59f, 0x761, 0x5e2, 0x761, 0x5e2, 0x6f4, 0x5a3, 0x6f4, -0x5a3, 0x641, 0x51e, 0x641, 0x51e, 0x66e, 0x579, 0x66e, 0x579, 0x66e, 0x579, -0x5bd, 0x4f3, 0x5bd, 0x4f3, 0x51c, 0x47a, 0x51c, 0x47a, 0x4f1, 0x470, 0x4f1, -0x470, 0x3fa, 0x395, 0x3fa, 0x395, 0x33c, 0x2ec, 0x33c, 0x2ec, 0x282, 0x23f, -0x282, 0x23f, 0x282, 0x23f, 0x1d4, 0x196, 0x1d4, 0x196, 0x1b5, 0x176, 0x1b5, -0x176, 0x176, 0x12e, 0x176, 0x12e, 0x1ec, 0x196, 0x1ec, 0x196, 0x2c5, 0x25c, -0x2c5, 0x25c, 0x34a, 0x2cb, 0x34a, 0x2cb, 0x34a, 0x2cb, 0x3e0, 0x348, 0x3e0, -0x348, 0x439, 0x389, 0x439, 0x389, 0x4fb, 0x433, 0x4fb, 0x433, 0x56e, 0x491, -0x56e, 0x491, 0x56e, 0x47f, 0x56e, 0x47f, 0x56e, 0x47f, 0x591, 0x495, 0x591, -0x495, 0x56e, 0x46c, 0x56e, 0x46c, 0x5ae, 0x4ac, 0x5ae, 0x4ac, 0x607, 0x50b, -0x607, 0x50b, 0x617, 0x528, 0x617, 0x528, 0x60b, 0x530, 0x60b, 0x530, 0x60b, -0x530, 0x63b, 0x579, 0x63b, 0x579, 0x6a2, 0x5ff, 0x6a2, 0x5ff, 0x6f6, 0x677, -0x6f6, 0x677, 0x760, 0x707, 0x760, 0x707, 0x712, 0x6e1, 0x712, 0x6e1, 0x615, -0x60d, 0x615, 0x60d, 0x615, 0x60d, 0x57f, 0x5a0, 0x57f, 0x5a0, 0x4db, 0x523, -0x4db, 0x523, 0x3df, 0x44c, 0x3df, 0x44c, 0x367, 0x3f6, 0x367, 0x3f6, 0x39a, -0x448, 0x39a, 0x448, 0x39a, 0x448, 0x36e, 0x438, 0x36e, 0x438, 0x2dd, 0x3bf, -0x2dd, 0x3bf, 0x2e5, 0x3db, 0x2e5, 0x3db, 0x266, 0x36d, 0x266, 0x36d, 0x1de, -0x2f3, 0x1de, 0x2f3, 0x2a0, 0x3c0, 0x2a0, 0x3c0, 0x2a0, 0x3c0, 0x2db, 0x406, -0x2db, 0x406, 0x23a, 0x36d, 0x23a, 0x36d, 0x197, 0x2d2, 0x197, 0x2d2, 0xa4, -0x1e9, 0xa4, 0x1e9, 0xff31, 0x7f, 0xff31, 0x7f, 0xfdd9, 0xff30, 0xfdd9, 0xff30, -0xfdd9, 0xff30, 0xfd3f, 0xfea1, 0xfd3f, 0xfea1, 0xfcd0, 0xfe3d, 0xfcd0, 0xfe3d, 0xfc65, -0xfddd, 0xfc65, 0xfddd, 0xfc20, 0xfda4, 0xfc20, 0xfda4, 0xfbc1, 0xfd4f, 0xfbc1, 0xfd4f, -0xfbc1, 0xfd4f, 0xfb7d, 0xfd14, 0xfb7d, 0xfd14, 0xfb4a, 0xfce8, 0xfb4a, 0xfce8, 0xfb31, -0xfcd2, 0xfb31, 0xfcd2, 0xfb53, 0xfcf2, 0xfb53, 0xfcf2, 0xfbca, 0xfd63, 0xfbca, 0xfd63, -0xfc31, 0xfdbd, 0xfc31, 0xfdbd, 0xfc31, 0xfdbd, 0xfbd5, 0xfd4f, 0xfbd5, 0xfd4f, 0xfb4c, -0xfcad, 0xfb4c, 0xfcad, 0xfb63, 0xfca3, 0xfb63, 0xfca3, 0xfbae, 0xfcc6, 0xfbae, 0xfcc6, -0xfc26, 0xfd10, 0xfc26, 0xfd10, 0xfd37, 0xfdec, 0xfd37, 0xfdec, 0xfd37, 0xfdec, 0xfe29, -0xfea2, 0xfe29, 0xfea2, 0xff57, 0xff91, 0xff57, 0xff91, 0xb7, 0xad, 0xb7, 0xad, -0x1f8, 0x1a7, 0x1f8, 0x1a7, 0x33c, 0x2a1, 0x33c, 0x2a1, 0x33c, 0x2a1, 0x489, -0x3a4, 0x489, 0x3a4, 0x6fa, 0x5cb, 0x6fa, 0x5cb, 0x962, 0x7eb, 0x962, 0x7eb, -0xb5f, 0x9a1, 0xb5f, 0x9a1, 0xd7d, 0xb7c, 0xd7d, 0xb7c, 0xf6d, 0xd2d, 0xf6d, -0xd2d, 0xf6d, 0xd2d, 0x11a1, 0xf26, 0x11a1, 0xf26, 0x13ad, 0x10fc, 0x13ad, 0x10fc, -0x15ea, 0x1309, 0x15ea, 0x1309, 0x181f, 0x1512, 0x181f, 0x1512, 0x1a1e, 0x16eb, 0x1a1e, -0x16eb, 0x1a1e, 0x16eb, 0x1c66, 0x1911, 0x1c66, 0x1911, 0x1e08, 0x1a97, 0x1e08, 0x1a97, -0x1f80, 0x1bf8, 0x1f80, 0x1bf8, 0x20b6, 0x1d1a, 0x20b6, 0x1d1a, 0x20df, 0x1d33, 0x20df, -0x1d33, 0x2127, 0x1d6f, 0x2127, 0x1d6f, 0x2127, 0x1d6f, 0x21d4, 0x1e14, 0x21d4, 0x1e14, -0x22e3, 0x1f1f, 0x22e3, 0x1f1f, 0x23a2, 0x1fdc, 0x23a2, 0x1fdc, 0x2471, 0x20ad, 0x2471, -0x20ad, 0x259d, 0x21df, 0x259d, 0x21df, 0x25d4, 0x221f, 0x25d4, 0x221f, 0x25d4, 0x221f, -0x260c, 0x2264, 0x260c, 0x2264, 0x262a, 0x2292, 0x262a, 0x2292, 0x253b, 0x21b7, 0x253b, -0x21b7, 0x23ee, 0x2081, 0x23ee, 0x2081, 0x2397, 0x2045, 0x2397, 0x2045, 0x2397, 0x2045, -0x22d6, 0x1fa2, 0x22d6, 0x1fa2, 0x2120, 0x1e0e, 0x2120, 0x1e0e, 0x1fdd, 0x1cef, 0x1fdd, -0x1cef, 0x1eb4, 0x1bed, 0x1eb4, 0x1bed, 0x1d9f, 0x1b01, 0x1d9f, 0x1b01, 0x1c3c, 0x19c7, -0x1c3c, 0x19c7, 0x1c3c, 0x19c7, 0x1af5, 0x18ab, 0x1af5, 0x18ab, 0x18d5, 0x16b5, 0x18d5, -0x16b5, 0x16f9, 0x1503, 0x16f9, 0x1503, 0x1615, 0x1447, 0x1615, 0x1447, 0x141a, 0x1273, -0x141a, 0x1273, 0x1288, 0x1106, 0x1288, 0x1106, 0x1288, 0x1106, 0x115b, 0xffb, 0x115b, -0xffb, 0xfc0, 0xe80, 0xfc0, 0xe80, 0xdba, 0xc97, 0xdba, 0xc97, 0xbd6, 0xace, -0xbd6, 0xace, 0xa67, 0x978, 0xa67, 0x978, 0xa67, 0x978, 0x8e9, 0x811, 0x8e9, -0x811, 0x7fa, 0x73a, 0x7fa, 0x73a, 0x77e, 0x6d6, 0x77e, 0x6d6, 0x668, 0x5d9, -0x668, 0x5d9, 0x53d, 0x4c8, 0x53d, 0x4c8, 0x487, 0x431, 0x487, 0x431, 0x487, -0x431, 0x32c, 0x2f7, 0x32c, 0x2f7, 0x1f4, 0x1e5, 0x1f4, 0x1e5, 0x127, 0x142, -0x127, 0x142, 0x43, 0x8d, 0x43, 0x8d, 0xfe96, 0xff14, 0xfe96, 0xff14, 0xfc63, -0xfd1b, 0xfc63, 0xfd1b, 0xfc63, 0xfd1b, 0xfb14, 0xfc08, 0xfb14, 0xfc08, 0xf97c, 0xfab1, -0xf97c, 0xfab1, 0xf7f1, 0xf967, 0xf7f1, 0xf967, 0xf673, 0xf82d, 0xf673, 0xf82d, 0xf555, -0xf752, 0xf555, 0xf752, 0xf555, 0xf752, 0xf4e5, 0xf724, 0xf4e5, 0xf724, 0xf404, 0xf67f, -0xf404, 0xf67f, 0xf34e, 0xf602, 0xf34e, 0xf602, 0xf269, 0xf54e, 0xf269, 0xf54e, 0xf1fe, -0xf50d, 0xf1fe, 0xf50d, 0xf1f5, 0xf524, 0xf1f5, 0xf524, 0xf1f5, 0xf524, 0xf0ef, 0xf434, -0xf0ef, 0xf434, 0xeffc, 0xf34d, 0xeffc, 0xf34d, 0xef3d, 0xf28f, 0xef3d, 0xf28f, 0xeea6, -0xf1ed, 0xeea6, 0xf1ed, 0xee99, 0xf1ca, 0xee99, 0xf1ca, 0xeea4, 0xf1b5, 0xeea4, 0xf1b5, -0xeea4, 0xf1b5, 0xef32, 0xf21b, 0xef32, 0xf21b, 0xef95, 0xf24d, 0xef95, 0xf24d, 0xeff8, -0xf27a, 0xeff8, 0xf27a, 0xf034, 0xf27c, 0xf034, 0xf27c, 0xef93, 0xf19d, 0xef93, 0xf19d, -0xef93, 0xf19d, 0xefc9, 0xf194, 0xefc9, 0xf194, 0xf06f, 0xf1fd, 0xf06f, 0xf1fd, 0xf0ef, -0xf242, 0xf0ef, 0xf242, 0xf22c, 0xf348, 0xf22c, 0xf348, 0xf38e, 0xf478, 0xf38e, 0xf478, -0xf493, 0xf552, 0xf493, 0xf552, 0xf493, 0xf552, 0xf565, 0xf5ff, 0xf565, 0xf5ff, 0xf5e4, -0xf662, 0xf5e4, 0xf662, 0xf65e, 0xf6c6, 0xf65e, 0xf6c6, 0xf697, 0xf6f1, 0xf697, 0xf6f1, -0xf74b, 0xf79d, 0xf74b, 0xf79d, 0xf7eb, 0xf83b, 0xf7eb, 0xf83b, 0xf7eb, 0xf83b, 0xf79c, -0xf7f1, 0xf79c, 0xf7f1, 0xf7d5, 0xf832, 0xf7d5, 0xf832, 0xf7be, 0xf827, 0xf7be, 0xf827, -0xf702, 0xf778, 0xf702, 0xf778, 0xf646, 0xf6cb, 0xf646, 0xf6cb, 0xf646, 0xf6cb, 0xf5d0, -0xf665, 0xf5d0, 0xf665, 0xf5d1, 0xf676, 0xf5d1, 0xf676, 0xf5fb, 0xf6ae, 0xf5fb, 0xf6ae, -0xf633, 0xf6f4, 0xf633, 0xf6f4, 0xf5e0, 0xf6ad, 0xf5e0, 0xf6ad, 0xf5f7, 0xf6ce, 0xf5f7, -0xf6ce, 0xf5f7, 0xf6ce, 0xf63f, 0xf71f, 0xf63f, 0xf71f, 0xf5ee, 0xf6d7, 0xf5ee, 0xf6d7, -0xf58e, 0xf680, 0xf58e, 0xf680, 0xf520, 0xf61b, 0xf520, 0xf61b, 0xf536, 0xf63c, 0xf536, -0xf63c, 0xf4c5, 0xf5d7, 0xf4c5, 0xf5d7, 0xf4c5, 0xf5d7, 0xf490, 0xf5b1, 0xf490, 0xf5b1, -0xf499, 0xf5cc, 0xf499, 0xf5cc, 0xf423, 0xf56b, 0xf423, 0xf56b, 0xf390, 0xf4f0, 0xf390, -0xf4f0, 0xf2fe, 0xf47a, 0xf2fe, 0xf47a, 0xf2fe, 0xf47a, 0xf24c, 0xf3e7, 0xf24c, 0xf3e7, -0xf155, 0xf311, 0xf155, 0xf311, 0xf056, 0xf235, 0xf056, 0xf235, 0xeee1, 0xf0e4, 0xeee1, -0xf0e4, 0xede6, 0xf00d, 0xede6, 0xf00d, 0xed13, 0xef5e, 0xed13, 0xef5e, 0xed13, 0xef5e, -0xec97, 0xef03, 0xec97, 0xef03, 0xebcd, 0xee57, 0xebcd, 0xee57, 0xeaa6, 0xed4a, 0xeaa6, -0xed4a, 0xe98a, 0xec44, 0xe98a, 0xec44, 0xe8ed, 0xebb5, 0xe8ed, 0xebb5, 0xe86c, 0xeb3d, -0xe86c, 0xeb3d, 0xe86c, 0xeb3d, 0xe781, 0xea55, 0xe781, 0xea55, 0xe6d5, 0xe9a5, 0xe6d5, -0xe9a5, 0xe66f, 0xe934, 0xe66f, 0xe934, 0xe6e0, 0xe993, 0xe6e0, 0xe993, 0xe756, 0xe9f3, -0xe756, 0xe9f3, 0xe756, 0xe9f3, 0xe7b9, 0xea3a, 0xe7b9, 0xea3a, 0xe85d, 0xeabf, 0xe85d, -0xeabf, 0xe9d1, 0xec10, 0xe9d1, 0xec10, 0xeb88, 0xeda3, 0xeb88, 0xeda3, 0xedd3, 0xefc9, -0xedd3, 0xefc9, 0xefde, 0xf1b0, 0xefde, 0xf1b0, 0xefde, 0xf1b0, 0xf148, 0xf2f7, 0xf148, -0xf2f7, 0xf31f, 0xf4ae, 0xf31f, 0xf4ae, 0xf4ef, 0xf660, 0xf4ef, 0xf660, 0xf696, 0xf7ec, -0xf696, 0xf7ec, 0xf7e0, 0xf91f, 0xf7e0, 0xf91f, 0xf8ce, 0xf9fa, 0xf8ce, 0xf9fa, 0xf8ce, -0xf9fa, 0xf944, 0xfa61, 0xf944, 0xfa61, 0xf9f0, 0xfb00, 0xf9f0, 0xfb00, 0xfac9, 0xfbd0, -0xfac9, 0xfbd0, 0xfb70, 0xfc6f, 0xfb70, 0xfc6f, 0xfb76, 0xfc70, 0xfb76, 0xfc70, 0xfb76, -0xfc70, 0xfb5c, 0xfc51, 0xfb5c, 0xfc51, 0xfc2c, 0xfd1e, 0xfc2c, 0xfd1e, 0xfc71, 0xfd5f, -0xfc71, 0xfd5f, 0xfc09, 0xfcf2, 0xfc09, 0xfcf2, 0xfc13, 0xfcf7, 0xfc13, 0xfcf7, 0xfc5d, -0xfd3a, 0xfc5d, 0xfd3a, 0xfc5d, 0xfd3a, 0xfca0, 0xfd74, 0xfca0, 0xfd74, 0xfd06, 0xfdd1, -0xfd06, 0xfdd1, 0xfd91, 0xfe50, 0xfd91, 0xfe50, 0xfd45, 0xfdf8, 0xfd45, 0xfdf8, 0xfcd1, -0xfd78, 0xfcd1, 0xfd78, 0xfcd1, 0xfd78, 0xfc7f, 0xfd19, 0xfc7f, 0xfd19, 0xfc3b, 0xfcc9, -0xfc3b, 0xfcc9, 0xfbbe, 0xfc40, 0xfbbe, 0xfc40, 0xfb78, 0xfbf0, 0xfb78, 0xfbf0, 0xfb45, -0xfbb3, 0xfb45, 0xfbb3, 0xfaf0, 0xfb56, 0xfaf0, 0xfb56, 0xfaf0, 0xfb56, 0xfb58, 0xfbb8, -0xfb58, 0xfbb8, 0xfb83, 0xfbdd, 0xfb83, 0xfbdd, 0xfaf6, 0xfb4c, 0xfaf6, 0xfb4c, 0xfa1f, -0xfa71, 0xfa1f, 0xfa71, 0xf9bd, 0xfa0c, 0xf9bd, 0xfa0c, 0xf995, 0xf9e1, 0xf995, 0xf9e1, -0xf995, 0xf9e1, 0xf9a3, 0xf9eb, 0xf9a3, 0xf9eb, 0xf9f3, 0xfa34, 0xf9f3, 0xfa34, 0xfa66, -0xfa9f, 0xfa66, 0xfa9f, 0xfad5, 0xfb02, 0xfad5, 0xfb02, 0xfba0, 0xfbbe, 0xfba0, 0xfbbe, -0xfba0, 0xfbbe, 0xfc0b, 0xfc17, 0xfc0b, 0xfc17, 0xfc35, 0xfc2b, 0xfc35, 0xfc2b, 0xfc23, -0xfc00, 0xfc23, 0xfc00, 0xfd1c, 0xfcdc, 0xfd1c, 0xfcdc, 0xfeaa, 0xfe4a, 0xfeaa, 0xfe4a, -0xffc7, 0xff45, 0xffc7, 0xff45, 0xffc7, 0xff45, 0x122, 0x7d, 0x122, 0x7d, 0x19b, -0xd3, 0x19b, 0xd3, 0x20d, 0x122, 0x20d, 0x122, 0x2d7, 0x1cd, 0x2d7, 0x1cd, -0x403, 0x2dc, 0x403, 0x2dc, 0x4b1, 0x371, 0x4b1, 0x371, 0x4b1, 0x371, 0x556, -0x404, 0x556, 0x404, 0x5e7, 0x489, 0x5e7, 0x489, 0x66d, 0x509, 0x66d, 0x509, -0x6bb, 0x558, 0x6bb, 0x558, 0x73c, 0x5e2, 0x73c, 0x5e2, 0x73c, 0x5e2, 0x6bd, -0x574, 0x6bd, 0x574, 0x5c8, 0x496, 0x5c8, 0x496, 0x562, 0x44d, 0x562, 0x44d, -0x5aa, 0x4b6, 0x5aa, 0x4b6, 0x61e, 0x54e, 0x61e, 0x54e, 0x5c4, 0x51c, 0x5c4, -0x51c, 0x5c4, 0x51c, 0x64c, 0x5cb, 0x64c, 0x5cb, 0x5fb, 0x59f, 0x5fb, 0x59f, -0x5c4, 0x58c, 0x5c4, 0x58c, 0x559, 0x540, 0x559, 0x540, 0x2f0, 0x2f0, 0x2f0, -0x2f0, 0x1f, 0x33, 0x1f, 0x33, 0x1f, 0x33, 0xa6, 0xc5, 0xa6, 0xc5, -0x122, 0x145, 0x122, 0x145, 0x5b, 0x78, 0x5b, 0x78, 0xffc9, 0xffda, 0xffc9, -0xffda, 0xff94, 0xff91, 0xff94, 0xff91, 0xff94, 0xff91, 0x69, 0x4b, 0x69, 0x4b, -0x77, 0x3a, 0x77, 0x3a, 0x1b2, 0x150, 0x1b2, 0x150, 0x33f, 0x2b5, 0x33f, -0x2b5, 0x365, 0x2b2, 0x365, 0x2b2, 0x418, 0x33d, 0x418, 0x33d, 0x418, 0x33d, -0x505, 0x404, 0x505, 0x404, 0x4d1, 0x3ae, 0x4d1, 0x3ae, 0x508, 0x3c7, 0x508, -0x3c7, 0x505, 0x3ad, 0x505, 0x3ad, 0x5b6, 0x44e, 0x5b6, 0x44e, 0x709, 0x598, -0x709, 0x598, 0x709, 0x598, 0x781, 0x611, 0x781, 0x611, 0x73c, 0x5d4, 0x73c, -0x5d4, 0x77d, 0x625, 0x77d, 0x625, 0x79e, 0x65f, 0x79e, 0x65f, 0x784, 0x665, -0x784, 0x665, 0x784, 0x665, 0x81c, 0x723, 0x81c, 0x723, 0x741, 0x672, 0x741, -0x672, 0x5aa, 0x50a, 0x5aa, 0x50a, 0x66a, 0x5fa, 0x66a, 0x5fa, 0x4c3, 0x485, -0x4c3, 0x485, 0x488, 0x47c, 0x488, 0x47c, 0x488, 0x47c, 0x44c, 0x471, 0x44c, -0x471, 0x2f7, 0x34c, 0x2f7, 0x34c, 0x3eb, 0x46c, 0x3eb, 0x46c, 0x15f, 0x207, -0x15f, 0x207, 0x448, 0x513, 0x448, 0x513, 0x3c3, 0x4ad, 0x3c3, 0x4ad, 0x3c3, -0x4ad, 0x283, 0x387, 0x283, 0x387, 0x2c9, 0x3e1, 0x2c9, 0x3e1, 0x15c, 0x283, -0x15c, 0x283, 0x188, 0x2b9, 0x188, 0x2b9, 0x97, 0x1cd, 0x97, 0x1cd, 0x97, -0x1cd, 0xfefb, 0x31, 0xfefb, 0x31, 0xfe89, 0xffbb, 0xfe89, 0xffbb, 0x9a, 0x1c2, -0x9a, 0x1c2, 0xfebe, 0xffd9, 0xfebe, 0xffd9, 0x9b, 0x1a6, 0x9b, 0x1a6, 0xfea2, -0xff98, 0xfea2, 0xff98, 0xfea2, 0xff98, 0xfebb, 0xff99, 0xfebb, 0xff99, 0xfff0, 0xb3, -0xfff0, 0xb3, 0xff07, 0xffab, 0xff07, 0xffab, 0x64, 0xe5, 0x64, 0xe5, 0xffae, -0x9, 0xffae, 0x9, 0x64, 0x96, 0x64, 0x96, 0x64, 0x96, 0xffc4, 0xffca, -0xffc4, 0xffca, 0xa8, 0x7e, 0xa8, 0x7e, 0xff47, 0xfeea, 0xff47, 0xfeea, 0xff0e, -0xfe7c, 0xff0e, 0xfe7c, 0xff84, 0xfebc, 0xff84, 0xfebc, 0xff84, 0xfebc, 0xff50, 0xfe4f, -0xff50, 0xfe4f, 0x45, 0xff0a, 0x45, 0xff0a, 0x14f, 0xffd9, 0x14f, 0xffd9, 0x7b, -0xfecb, 0x7b, 0xfecb, 0x23f, 0x55, 0x23f, 0x55, 0x491, 0x26e, 0x491, 0x26e, -0x491, 0x26e, 0x366, 0x10d, 0x366, 0x10d, 0x61c, 0x38e, 0x61c, 0x38e, 0x7d1, -0x511, 0x7d1, 0x511, 0x91f, 0x631, 0x91f, 0x631, 0xb1f, 0x804, 0xb1f, 0x804, -0xd23, 0x9e1, 0xd23, 0x9e1, 0xd23, 0x9e1, 0x1067, 0xd01, 0x1067, 0xd01, 0x1102, -0xd7b, 0x1102, 0xd7b, 0x12d4, 0xf2f, 0x12d4, 0xf2f, 0x15be, 0x11fe, 0x15be, 0x11fe, -0x16d2, 0x12fb, 0x16d2, 0x12fb, 0x16d2, 0x12fb, 0x19f4, 0x1608, 0x19f4, 0x1608, 0x18ea, -0x14eb, 0x18ea, 0x14eb, 0x1a0e, 0x15fe, 0x1a0e, 0x15fe, 0x1c77, 0x1856, 0x1c77, 0x1856, -0x1b3a, 0x170b, 0x1b3a, 0x170b, 0x1de1, 0x19a5, 0x1de1, 0x19a5, 0x1de1, 0x19a5, 0x1cf9, -0x18b1, 0x1cf9, 0x18b1, 0x1e74, 0x1a22, 0x1e74, 0x1a22, 0x225b, 0x1e01, 0x225b, 0x1e01, -0x2186, 0x1d26, 0x2186, 0x1d26, 0x2350, 0x1eec, 0x2350, 0x1eec, 0x25ba, 0x2157, 0x25ba, -0x2157, 0x25ba, 0x2157, 0x259b, 0x213b, 0x259b, 0x213b, 0x25cc, 0x2174, 0x25cc, 0x2174, -0x2777, 0x232b, 0x2777, 0x232b, 0x2519, 0x20e0, 0x2519, 0x20e0, 0x243d, 0x201b, 0x243d, -0x201b, 0x243d, 0x201b, 0x254b, 0x2146, 0x254b, 0x2146, 0x22ab, 0x1ec9, 0x22ab, 0x1ec9, -0x23cf, 0x2015, 0x23cf, 0x2015, 0x2096, 0x1d0b, 0x2096, 0x1d0b, 0x1f9b, 0x1c41, 0x1f9b, -0x1c41, 0x20a4, 0x1d81, 0x20a4, 0x1d81, 0x20a4, 0x1d81, 0x1b28, 0x183f, 0x1b28, 0x183f, -0x1c50, 0x19a4, 0x1c50, 0x19a4, 0x1ba9, 0x193a, 0x1ba9, 0x193a, 0x17d1, 0x159f, 0x17d1, -0x159f, 0x184a, 0x1655, 0x184a, 0x1655, 0x184a, 0x1655, 0x15b2, 0x13f9, 0x15b2, 0x13f9, -0x1363, 0x11e3, 0x1363, 0x11e3, 0x11e5, 0x109b, 0x11e5, 0x109b, 0xfb6, 0xe9f, 0xfb6, -0xe9f, 0xdda, 0xcf1, 0xdda, 0xcf1, 0xcbd, 0xbff, 0xcbd, 0xbff, 0xcbd, 0xbff, -0xc4a, 0xbb3, 0xc4a, 0xbb3, 0xacd, 0xa5b, 0xacd, 0xa5b, 0x938, 0x8e7, 0x938, -0x8e7, 0x690, 0x65f, 0x690, 0x65f, 0x603, 0x5f1, 0x603, 0x5f1, 0x387, 0x394, -0x387, 0x394, 0x387, 0x394, 0x351, 0x37d, 0x351, 0x37d, 0x1dc, 0x22b, 0x1dc, -0x22b, 0xfe5a, 0xfecd, 0xfe5a, 0xfecd, 0x1b1, 0x24b, 0x1b1, 0x24b, 0xfff4, 0xb9, -0xfff4, 0xb9, 0xfff4, 0xb9, 0xfae0, 0xfbd3, 0xfae0, 0xfbd3, 0xfbbf, 0xfce3, 0xfbbf, -0xfce3, 0xfa00, 0xfb59, 0xfa00, 0xfb59, 0xf7ab, 0xf93b, 0xf7ab, 0xf93b, 0xf8af, 0xfa77, -0xf8af, 0xfa77, 0xf65e, 0xf85e, 0xf65e, 0xf85e, 0xf65e, 0xf85e, 0xf729, 0xf960, 0xf729, -0xf960, 0xf74d, 0xf9b7, 0xf74d, 0xf9b7, 0xf690, 0xf929, 0xf690, 0xf929, 0xf76e, 0xfa30, -0xf76e, 0xfa30, 0xf637, 0xf91a, 0xf637, 0xf91a, 0xf51e, 0xf819, 0xf51e, 0xf819, 0xf51e, -0xf819, 0xf50c, 0xf816, 0xf50c, 0xf816, 0xf339, 0xf646, 0xf339, 0xf646, 0xf2df, 0xf5e5, -0xf2df, 0xf5e5, 0xf249, 0xf53d, 0xf249, 0xf53d, 0xf1c4, 0xf49b, 0xf1c4, 0xf49b, 0xf1c4, -0xf49b, 0xf3b7, 0xf667, 0xf3b7, 0xf667, 0xf295, 0xf515, 0xf295, 0xf515, 0xf475, 0xf6bd, -0xf475, 0xf6bd, 0xf55b, 0xf766, 0xf55b, 0xf766, 0xf402, 0xf5cc, 0xf402, 0xf5cc, 0xf395, -0xf51c, 0xf395, 0xf51c, 0xf395, 0xf51c, 0xf353, 0xf498, 0xf353, 0xf498, 0xf24a, 0xf34f, -0xf24a, 0xf34f, 0xf4a4, 0xf56f, 0xf4a4, 0xf56f, 0xf35d, 0xf3f3, 0xf35d, 0xf3f3, 0xf25c, -0xf2c7, 0xf25c, 0xf2c7, 0xf643, 0xf68b, 0xf643, 0xf68b, 0xf643, 0xf68b, 0xf59d, 0xf5cd, -0xf59d, 0xf5cd, 0xf626, 0xf648, 0xf626, 0xf648, 0xf6e5, 0xf705, 0xf6e5, 0xf705, 0xf70e, -0xf737, 0xf70e, 0xf737, 0xf744, 0xf77f, 0xf744, 0xf77f, 0xf744, 0xf77f, 0xf82f, 0xf886, -0xf82f, 0xf886, 0xf7a4, 0xf81d, 0xf7a4, 0xf81d, 0xf73a, 0xf7dd, 0xf73a, 0xf7dd, 0xf5be, -0xf690, 0xf5be, 0xf690, 0xf718, 0xf81c, 0xf718, 0xf81c, 0xf775, 0xf8ad, 0xf775, 0xf8ad, -0xf775, 0xf8ad, 0xf476, 0xf5e2, 0xf476, 0xf5e2, 0xf4a3, 0xf642, 0xf4a3, 0xf642, 0xf49c, -0xf66c, 0xf49c, 0xf66c, 0xf46e, 0xf66b, 0xf46e, 0xf66b, 0xf43c, 0xf663, 0xf43c, 0xf663, -0xf33d, 0xf589, 0xf33d, 0xf589, 0xf33d, 0xf589, 0xf24e, 0xf4bc, 0xf24e, 0xf4bc, 0xf158, -0xf3e4, 0xf158, 0xf3e4, 0xef2f, 0xf1d6, 0xef2f, 0xf1d6, 0xeebc, 0xf17a, 0xeebc, 0xf17a, -0xed91, 0xf066, 0xed91, 0xf066, 0xed91, 0xf066, 0xedda, 0xf0c5, 0xedda, 0xf0c5, 0xec61, -0xef61, 0xec61, 0xef61, 0xebe1, 0xeef7, 0xebe1, 0xeef7, 0xed2f, 0xf05c, 0xed2f, 0xf05c, -0xeca1, 0xefe6, 0xeca1, 0xefe6, 0xeaca, 0xee2a, 0xeaca, 0xee2a, 0xeaca, 0xee2a, 0xe9ea, -0xed65, 0xe9ea, 0xed65, 0xe90b, 0xeca3, 0xe90b, 0xeca3, 0xe59d, 0xe953, 0xe59d, 0xe953, -0xe728, 0xeafb, 0xe728, 0xeafb, 0xe69c, 0xea8c, 0xe69c, 0xea8c, 0xe335, 0xe73f, 0xe335, -0xe73f, 0xe335, 0xe73f, 0xe4aa, 0xe8cb, 0xe4aa, 0xe8cb, 0xe55a, 0xe98b, 0xe55a, 0xe98b, -0xe31e, 0xe75b, 0xe31e, 0xe75b, 0xe39f, 0xe7e0, 0xe39f, 0xe7e0, 0xe0e5, 0xe521, 0xe0e5, -0xe521, 0xe0e5, 0xe521, 0xdfcb, 0xe3fa, 0xdfcb, 0xe3fa, 0xe19d, 0xe5b6, 0xe19d, 0xe5b6, -0xe046, 0xe43e, 0xe046, 0xe43e, 0xdfdf, 0xe3af, 0xdfdf, 0xe3af, 0xe1bf, 0xe55c, 0xe1bf, -0xe55c, 0xe15f, 0xe4c2, 0xe15f, 0xe4c2, 0xe15f, 0xe4c2, 0xe2a9, 0xe5cb, 0xe2a9, 0xe5cb, -0xe5bf, 0xe89b, 0xe5bf, 0xe89b, 0xe658, 0xe8eb, 0xe658, 0xe8eb, 0xe8e3, 0xeb29, 0xe8e3, -0xeb29, 0xeb1a, 0xed13, 0xeb1a, 0xed13, 0xed71, 0xef1f, 0xed71, 0xef1f, 0xed71, 0xef1f, -0xede8, 0xef4f, 0xede8, 0xef4f, 0xf15d, 0xf281, 0xf15d, 0xf281, 0xf272, 0xf358, 0xf272, -0xf358, 0xf4e2, 0xf592, 0xf4e2, 0xf592, 0xf98a, 0xfa0a, 0xf98a, 0xfa0a, 0xf98a, 0xfa0a, -0xf91e, 0xf977, 0xf91e, 0xf977, 0xfacd, 0xfb07, 0xfacd, 0xfb07, 0xfe73, 0xfe94, 0xfe73, -0xfe94, 0xfe6d, 0xfe7d, 0xfe6d, 0xfe7d, 0xfd83, 0xfd88, 0xfd83, 0xfd88, 0xffd3, 0xffd2, -0xffd3, 0xffd2, 0xffd3, 0xffd2, 0xff4c, 0xff4a, 0xff4c, 0xff4a, 0xffcf, 0xffce, 0xffcf, -0xffce, 0xaf, 0xb1, 0xaf, 0xb1, 0x1bb, 0x1c1, 0x1bb, 0x1c1, 0xab, 0xb3, -0xab, 0xb3, 0xbf, 0xc9, 0xbf, 0xc9, 0xbf, 0xc9, 0xdf, 0xe7, 0xdf, -0xe7, 0x1c8, 0x1cc, 0x1c8, 0x1cc, 0x309, 0x307, 0x309, 0x307, 0x15e, 0x152, -0x15e, 0x152, 0x2de, 0x2c5, 0x2de, 0x2c5, 0x2de, 0x2c5, 0x19a, 0x172, 0x19a, -0x172, 0xe, 0xffd4, 0xe, 0xffd4, 0x19, 0xffcd, 0x19, 0xffcd, 0xff6b, 0xff0c, -0xff6b, 0xff0c, 0xfe5c, 0xfdea, 0xfe5c, 0xfdea, 0xffca, 0xff46, 0xffca, 0xff46, 0xffca, -0xff46, 0xff1b, 0xfe85, 0xff1b, 0xfe85, 0xfda5, 0xfcff, 0xfda5, 0xfcff, 0xfecb, 0xfe16, -0xfecb, 0xfe16, 0xfc40, 0xfb7d, 0xfc40, 0xfb7d, 0xfa4e, 0xf97f, 0xfa4e, 0xf97f, 0xfc07, -0xfb2c, 0xfc07, 0xfb2c, 0xfc07, 0xfb2c, 0xfa79, 0xf993, 0xfa79, 0xf993, 0xf9de, 0xf8ec, -0xf9de, 0xf8ec, 0xfb68, 0xfa6a, 0xfb68, 0xfa6a, 0xfa68, 0xf95b, 0xfa68, 0xf95b, 0xfa56, -0xf938, 0xfa56, 0xf938, 0xfa56, 0xf938, 0xf9bd, 0xf88a, 0xf9bd, 0xf88a, 0xfad9, 0xf98e, -0xfad9, 0xf98e, 0xfb2e, 0xf9c7, 0xfb2e, 0xf9c7, 0xfc92, 0xfb0a, 0xfc92, 0xfb0a, 0xfccf, -0xfb23, 0xfccf, 0xfb23, 0xfc20, 0xfa4d, 0xfc20, 0xfa4d, 0xfc20, 0xfa4d, 0xff01, 0xfd04, -0xff01, 0xfd04, 0xfdc5, 0xfb9d, 0xfdc5, 0xfb9d, 0x3, 0xfdaf, 0x3, 0xfdaf, 0x133, -0xfeb5, 0x133, 0xfeb5, 0xfeb0, 0xfc0b, 0xfeb0, 0xfc0b, 0xfeb0, 0xfc0b, 0x149, 0xfe81, -0x149, 0xfe81, 0x2df, 0xfffb, 0x2df, 0xfffb, 0x329, 0x30, 0x329, 0x30, 0x480, -0x17c, 0x480, 0x17c, 0x5bd, 0x2b6, 0x5bd, 0x2b6, 0x468, 0x16a, 0x468, 0x16a, -0x468, 0x16a, 0x4be, 0x1d5, 0x4be, 0x1d5, 0x581, 0x2b7, 0x581, 0x2b7, 0x566, -0x2c6, 0x566, 0x2c6, 0x77b, 0x50f, 0x77b, 0x50f, 0x852, 0x622, 0x852, 0x622, -0x870, 0x683, 0x870, 0x683, 0x870, 0x683, 0xae6, 0x941, 0xae6, 0x941, 0xc38, -0xadd, 0xc38, 0xadd, 0xa57, 0x948, 0xa57, 0x948, 0xa5c, 0x996, 0xa5c, 0x996, -0xb0b, 0xa89, 0xb0b, 0xa89, 0xb0b, 0xa89, 0x9a9, 0x966, 0x9a9, 0x966, 0x835, -0x827, 0x835, 0x827, 0x9dd, 0x9fb, 0x9dd, 0x9fb, 0x80b, 0x849, 0x80b, 0x849, -0x88f, 0x8e1, 0x88f, 0x8e1, 0x824, 0x87d, 0x824, 0x87d, 0x824, 0x87d, 0x6ea, -0x73e, 0x6ea, 0x73e, 0x9f0, 0xa32, 0x9f0, 0xa32, 0x770, 0x798, 0x770, 0x798, -0x7c9, 0x7cc, 0x7c9, 0x7cc, 0x98a, 0x961, 0x98a, 0x961, 0x820, 0x7c6, 0x820, -0x7c6, 0x820, 0x7c6, 0x807, 0x779, 0x807, 0x779, 0x74f, 0x68d, 0x74f, 0x68d, -0x4e9, 0x3f5, 0x4e9, 0x3f5, 0x52e, 0x40e, 0x52e, 0x40e, 0x510, 0x3ca, 0x510, -0x3ca, 0x510, 0x3ca, 0x446, 0x2e2, 0x446, 0x2e2, 0x441, 0x2c9, 0x441, 0x2c9, -0x7a7, 0x627, 0x7a7, 0x627, 0x4d5, 0x359, 0x4d5, 0x359, 0x371, 0x206, 0x371, -0x206, 0x574, 0x425, 0x574, 0x425, 0x574, 0x425, 0x28e, 0x168, 0x28e, 0x168, -0x3c7, 0x2d4, 0x3c7, 0x2d4, 0x340, 0x288, 0x340, 0x288, 0x28f, 0x21b, 0x28f, -0x21b, 0x19b, 0x171, 0x19b, 0x171, 0x323, 0x345, 0x323, 0x345, 0x323, 0x345, -0x20, 0x91, 0x20, 0x91, 0xfee0, 0xffa0, 0xfee0, 0xffa0, 0xff09, 0x15, 0xff09, -0x15, 0xfca1, 0xfdf5, 0xfca1, 0xfdf5, 0xfcda, 0xfe70, 0xfcda, 0xfe70, 0xfcda, 0xfe70, -0xfd87, 0xff58, 0xfd87, 0xff58, 0xfbc2, 0xfdc6, 0xfbc2, 0xfdc6, 0xfc97, 0xfec5, 0xfc97, -0xfec5, 0xfd7d, 0xffcc, 0xfd7d, 0xffcc, 0xf8aa, 0xfb11, 0xf8aa, 0xfb11, 0xfbc0, 0xfe35, -0xfbc0, 0xfe35, 0xfbc0, 0xfe35, 0xfacb, 0xfd45, 0xfacb, 0xfd45, 0xf9d8, 0xfc4e, 0xf9d8, -0xfc4e, 0xfa01, 0xfc6c, 0xfa01, 0xfc6c, 0xf91b, 0xfb73, 0xf91b, 0xfb73, 0xf6b2, 0xf8f1, -0xf6b2, 0xf8f1, 0xf7a3, 0xf9c4, 0xf7a3, 0xf9c4, 0xf7a3, 0xf9c4, 0xf7d2, 0xf9d1, 0xf7d2, -0xf9d1, 0xf5c9, 0xf7a2, 0xf5c9, 0xf7a2, 0xf89a, 0xfa4b, 0xf89a, 0xfa4b, 0xf77e, 0xf905, -0xf77e, 0xf905, 0xf739, 0xf895, 0xf739, 0xf895, 0xf739, 0xf895, 0xf98b, 0xfaba, 0xf98b, -0xfaba, 0xfb26, 0xfc28, 0xfb26, 0xfc28, 0xf97a, 0xfa50, 0xf97a, 0xfa50, 0xfcfe, 0xfda7, -0xfcfe, 0xfda7, 0xfd0e, 0xfd8a, 0xfd0e, 0xfd8a, 0x120, 0x170, 0x120, 0x170, 0x120, -0x170, 0x267, 0x28b, 0x267, 0x28b, 0xd4, 0xcd, 0xd4, 0xcd, 0x470, 0x43d, -0x470, 0x43d, 0x456, 0x3f8, 0x456, 0x3f8, 0x7ca, 0x742, 0x7ca, 0x742, 0x87c, -0x7c9, 0x87c, 0x7c9, 0x87c, 0x7c9, 0xa8d, 0x9af, 0xa8d, 0x9af, 0xd51, 0xc48, -0xd51, 0xc48, 0xf07, 0xdd5, 0xf07, 0xdd5, 0x125e, 0x1101, 0x125e, 0x1101, 0x14f0, -0x1368, 0x14f0, 0x1368, 0x14f0, 0x1368, 0x16b4, 0x1502, 0x16b4, 0x1502, 0x1925, 0x1748, -0x1925, 0x1748, 0x19f9, 0x17f2, 0x19f9, 0x17f2, 0x1cef, 0x1abc, 0x1cef, 0x1abc, 0x1f1e, -0x1cbf, 0x1f1e, 0x1cbf, 0x1e1a, 0x1b8f, 0x1e1a, 0x1b8f, 0x1e1a, 0x1b8f, 0x207b, 0x1dc4, -0x207b, 0x1dc4, 0x243b, 0x2157, 0x243b, 0x2157, 0x2328, 0x2017, 0x2328, 0x2017, 0x2272, -0x1f34, 0x2272, 0x1f34, 0x2492, 0x2127, 0x2492, 0x2127, 0x2315, 0x1f7e, 0x2315, 0x1f7e, -0x2315, 0x1f7e, 0x23e0, 0x201e, 0x23e0, 0x201e, 0x23b1, 0x1fc6, 0x23b1, 0x1fc6, 0x23cc, -0x1fb9, 0x23cc, 0x1fb9, 0x2528, 0x20f1, 0x2528, 0x20f1, 0x2505, 0x20ae, 0x2505, 0x20ae, -0x2505, 0x20ae, 0x2651, 0x21dd, 0x2651, 0x21dd, 0x25b3, 0x2129, 0x25b3, 0x2129, 0x2534, -0x209a, 0x2534, 0x209a, 0x2384, 0x1ee0, 0x2384, 0x1ee0, 0x2257, 0x1db1, 0x2257, 0x1db1, -0x22d6, 0x1e36, 0x22d6, 0x1e36, 0x22d6, 0x1e36, 0x1ed0, 0x1a3f, 0x1ed0, 0x1a3f, 0x1f58, -0x1ade, 0x1f58, 0x1ade, 0x1f37, 0x1adc, 0x1f37, 0x1adc, 0x1cf3, 0x18bf, 0x1cf3, 0x18bf, -0x1b9b, 0x1795, 0x1b9b, 0x1795, 0x191a, 0x1549, 0x191a, 0x1549, 0x191a, 0x1549, 0x16fd, -0x1366, 0x16fd, 0x1366, 0x15ea, 0x1291, 0x15ea, 0x1291, 0x15be, 0x12a8, 0x15be, 0x12a8, -0x1173, 0xea0, 0x1173, 0xea0, 0x11ed, 0xf5f, 0x11ed, 0xf5f, 0x11ed, 0xf5f, 0x10f8, -0xeaf, 0x10f8, 0xeaf, 0xca5, 0xa9d, 0xca5, 0xa9d, 0xb8c, 0x9c4, 0xb8c, 0x9c4, -0xbec, 0xa5f, 0xbec, 0xa5f, 0xa28, 0x8d3, 0xa28, 0x8d3, 0xaed, 0x9ca, 0xaed, -0x9ca, 0xaed, 0x9ca, 0xa82, 0x98e, 0xa82, 0x98e, 0x7cd, 0x703, 0x7cd, 0x703, -0x871, 0x7cd, 0x871, 0x7cd, 0x719, 0x698, 0x719, 0x698, 0x64b, 0x5ea, 0x64b, -0x5ea, 0x70d, 0x6cc, 0x70d, 0x6cc, 0x70d, 0x6cc, 0x6c3, 0x6a1, 0x6c3, 0x6a1, -0x4a0, 0x49f, 0x4a0, 0x49f, 0x674, 0x695, 0x674, 0x695, 0x36a, 0x3b1, 0x36a, -0x3b1, 0x1b3, 0x224, 0x1b3, 0x224, 0x1b3, 0x224, 0x2e5, 0x383, 0x2e5, 0x383, -0xff6e, 0x3d, 0xff6e, 0x3d, 0xff10, 0x15, 0xff10, 0x15, 0x1f, 0x15d, 0x1f, -0x15d, 0xfee2, 0x5c, 0xfee2, 0x5c, 0xfd04, 0xfebb, 0xfd04, 0xfebb, 0xfd04, 0xfebb, -0xfbc6, 0xfdba, 0xfbc6, 0xfdba, 0xfa78, 0xfca6, 0xfa78, 0xfca6, 0xf9cf, 0xfc34, 0xf9cf, -0xfc34, 0xf8e7, 0xfb7e, 0xf8e7, 0xfb7e, 0xf7e2, 0xfaa2, 0xf7e2, 0xfaa2, 0xf7e2, 0xfaa2, -0xf6ca, 0xf9aa, 0xf6ca, 0xf9aa, 0xf8b2, 0xfba6, 0xf8b2, 0xfba6, 0xf737, 0xfa32, 0xf737, -0xfa32, 0xf6b4, 0xf9a9, 0xf6b4, 0xf9a9, 0xf705, 0xf9e5, 0xf705, 0xf9e5, 0xf53e, 0xf7fb, -0xf53e, 0xf7fb, 0xf53e, 0xf7fb, 0xf50c, 0xf798, 0xf50c, 0xf798, 0xf486, 0xf6d3, 0xf486, -0xf6d3, 0xf4fe, 0xf701, 0xf4fe, 0xf701, 0xf3d7, 0xf586, 0xf3d7, 0xf586, 0xf510, 0xf664, -0xf510, 0xf664, 0xf3d0, 0xf4c4, 0xf3d0, 0xf4c4, 0xf3d0, 0xf4c4, 0xf472, 0xf504, 0xf472, -0xf504, 0xf5de, 0xf60e, 0xf5de, 0xf60e, 0xf2c7, 0xf29a, 0xf2c7, 0xf29a, 0xf48b, 0xf407, -0xf48b, 0xf407, 0xf3ad, 0xf2dc, 0xf3ad, 0xf2dc, 0xf3ad, 0xf2dc, 0xf341, 0xf22e, 0xf341, -0xf22e, 0xf4ab, 0xf363, 0xf4ab, 0xf363, 0xf53d, 0xf3cf, 0xf53d, 0xf3cf, 0xf585, 0xf3ff, -0xf585, 0xf3ff, 0xf567, 0xf3da, 0xf567, 0xf3da, 0xf663, 0xf4dc, 0xf663, 0xf4dc, 0xf663, -0xf4dc, 0xf60d, 0xf49d, 0xf60d, 0xf49d, 0xf7ef, 0xf6a1, 0xf7ef, 0xf6a1, 0xf75b, 0xf63a, -0xf75b, 0xf63a, 0xf419, 0xf32e, 0xf419, 0xf32e, 0xf37f, 0xf2d1, 0xf37f, 0xf2d1, 0xf4bf, -0xf451, 0xf4bf, 0xf451, 0xf4bf, 0xf451, 0xf1af, 0xf185, 0xf1af, 0xf185, 0xf23d, 0xf254, -0xf23d, 0xf254, 0xf085, 0xf0dc, 0xf085, 0xf0dc, 0xf02d, 0xf0be, 0xf02d, 0xf0be, 0xf2da, -0xf3a1, 0xf2da, 0xf3a1, 0xf2da, 0xf3a1, 0xf15f, 0xf255, 0xf15f, 0xf255, 0xf231, 0xf34e, -0xf231, 0xf34e, 0xf125, 0xf262, 0xf125, 0xf262, 0xf3a7, 0xf4fe, 0xf3a7, 0xf4fe, 0xf1ee, -0xf358, 0xf1ee, 0xf358, 0xf14f, 0xf2c9, 0xf14f, 0xf2c9, 0xf14f, 0xf2c9, 0xef85, 0xf10b, -0xef85, 0xf10b, 0xf074, 0xf204, 0xf074, 0xf204, 0xf278, 0xf413, 0xf278, 0xf413, 0xf1f7, -0xf39f, 0xf1f7, 0xf39f, 0xf0dc, 0xf295, 0xf0dc, 0xf295, 0xf168, 0xf336, 0xf168, 0xf336, -0xf168, 0xf336, 0xf22a, 0xf412, 0xf22a, 0xf412, 0xee9a, 0xf0a2, 0xee9a, 0xf0a2, 0xf079, -0xf2a8, 0xf079, 0xf2a8, 0xedc8, 0xf023, 0xedc8, 0xf023, 0xed9d, 0xf02a, 0xed9d, 0xf02a, -0xed9d, 0xf02a, 0xec56, 0xef17, 0xec56, 0xef17, 0xec1a, 0xef12, 0xec1a, 0xef12, 0xe9e0, -0xed0f, 0xe9e0, 0xed0f, 0xe8c1, 0xec24, 0xe8c1, 0xec24, 0xe5c3, 0xe958, 0xe5c3, 0xe958, -0xe5db, 0xe999, 0xe5db, 0xe999, 0xe5db, 0xe999, 0xe79d, 0xeb7d, 0xe79d, 0xeb7d, 0xe544, -0xe93a, 0xe544, 0xe93a, 0xe66a, 0xea6b, 0xe66a, 0xea6b, 0xe31b, 0xe719, 0xe31b, 0xe719, -0xe3ac, 0xe799, 0xe3ac, 0xe799, 0xe17d, 0xe54b, 0xe17d, 0xe54b, 0xe17d, 0xe54b, 0xe482, -0xe823, 0xe482, 0xe823, 0xe336, 0xe69d, 0xe336, 0xe69d, 0xe50b, 0xe82d, 0xe50b, 0xe82d, -0xe5cc, 0xe89e, 0xe5cc, 0xe89e, 0xe61a, 0xe895, 0xe61a, 0xe895, 0xe61a, 0xe895, 0xeb94, -0xedb3, 0xeb94, 0xedb3, 0xeaf7, 0xecb9, 0xeaf7, 0xecb9, 0xec19, 0xed7e, 0xec19, 0xed7e, -0xec77, 0xed83, 0xec77, 0xed83, 0xefbd, 0xf076, 0xefbd, 0xf076, 0xef94, 0xf003, 0xef94, -0xf003, 0xef94, 0xf003, 0xf382, 0xf3b2, 0xf382, 0xf3b2, 0xf515, 0xf513, 0xf515, 0xf513, -0xf48d, 0xf467, 0xf48d, 0xf467, 0xf77e, 0xf742, 0xf77e, 0xf742, 0xf86e, 0xf82c, 0xf86e, -0xf82c, 0xf773, 0xf738, 0xf773, 0xf738, 0xf773, 0xf738, 0xf819, 0xf7f3, 0xf819, 0xf7f3, -0xf86b, 0xf866, 0xf86b, 0xf866, 0xf6c1, 0xf6e8, 0xf6c1, 0xf6e8, 0xf74a, 0xf7a4, 0xf74a, -0xf7a4, 0xf8ae, 0xf942, 0xf8ae, 0xf942, 0xf8ae, 0xf942, 0xf87b, 0xf94c, 0xf87b, 0xf94c, -0xfaa6, 0xfbb5, 0xfaa6, 0xfbb5, 0xfcf2, 0xfe3f, 0xfcf2, 0xfe3f, 0xfa3e, 0xfbc5, 0xfa3e, -0xfbc5, 0xfe46, 0x2, 0xfe46, 0x2, 0xfea1, 0x8a, 0xfea1, 0x8a, 0xfea1, 0x8a, -0xfd73, 0xff82, 0xfd73, 0xff82, 0xfdb5, 0xffe1, 0xfdb5, 0xffe1, 0xfc8e, 0xfecd, 0xfc8e, -0xfecd, 0xfdfe, 0x47, 0xfdfe, 0x47, 0xfd05, 0xff4f, 0xfd05, 0xff4f, 0xfba5, 0xfde6, -0xfba5, 0xfde6, 0xfba5, 0xfde6, 0xfb9a, 0xfdcc, 0xfb9a, 0xfdcc, 0xfc01, 0xfe1c, 0xfc01, -0xfe1c, 0xf98f, 0xfb8e, 0xf98f, 0xfb8e, 0xf9a3, 0xfb82, 0xf9a3, 0xfb82, 0xf9b3, 0xfb6e, -0xf9b3, 0xfb6e, 0xf9b3, 0xfb6e, 0xf82b, 0xf9c0, 0xf82b, 0xf9c0, 0xfacf, 0xfc3e, 0xfacf, -0xfc3e, 0xfaac, 0xfbf4, 0xfaac, 0xfbf4, 0xf9b4, 0xfad7, 0xf9b4, 0xfad7, 0xf748, 0xf847, -0xf748, 0xf847, 0xf735, 0xf811, 0xf735, 0xf811, 0xf735, 0xf811, 0xf67a, 0xf735, 0xf67a, -0xf735, 0xf3f4, 0xf490, 0xf3f4, 0xf490, 0xf5a9, 0xf628, 0xf5a9, 0xf628, 0xf2d3, 0xf336, -0xf2d3, 0xf336, 0xf724, 0xf76c, 0xf724, 0xf76c, 0xf95f, 0xf98e, 0xf95f, 0xf98e, 0xf95f, -0xf98e, 0xf8bb, 0xf8d1, 0xf8bb, 0xf8d1, 0xfa7d, 0xfa7a, 0xfa7d, 0xfa7a, 0xf8e1, 0xf8c6, -0xf8e1, 0xf8c6, 0xfa1d, 0xf9e9, 0xfa1d, 0xf9e9, 0xf8a0, 0xf854, 0xf8a0, 0xf854, 0xf8a0, -0xf854, 0xf88d, 0xf82a, 0xf88d, 0xf82a, 0xf99d, 0xf924, 0xf99d, 0xf924, 0xf8c2, 0xf834, -0xf8c2, 0xf834, 0xfb53, 0xfab1, 0xfb53, 0xfab1, 0xfd20, 0xfc6d, 0xfd20, 0xfc6d, 0x13a, -0x79, 0x13a, 0x79, 0x13a, 0x79, 0x3a7, 0x2db, 0x3a7, 0x2db, 0x131, 0x5e, -0x131, 0x5e, 0x203, 0x12c, 0x203, 0x12c, 0xfe7d, 0xfda4, 0xfe7d, 0xfda4, 0xffdd, -0xff08, 0xffdd, 0xff08, 0x215, 0x145, 0x215, 0x145, 0x215, 0x145, 0x297, 0x1d0, -0x297, 0x1d0, 0x284, 0x1c7, 0x284, 0x1c7, 0x2dd, 0x22a, 0x2dd, 0x22a, 0x641, -0x59a, 0x641, 0x59a, 0x538, 0x49a, 0x538, 0x49a, 0x538, 0x49a, 0x72c, 0x695, -0x72c, 0x695, 0x63f, 0x5ac, 0x63f, 0x5ac, 0x4ca, 0x436, 0x4ca, 0x436, 0x62e, -0x594, 0x62e, 0x594, 0x662, 0x5bd, 0x662, 0x5bd, 0x523, 0x46b, 0x523, 0x46b, -0x523, 0x46b, 0x613, 0x544, 0x613, 0x544, 0x7fe, 0x711, 0x7fe, 0x711, 0x8cf, -0x7c0, 0x8cf, 0x7c0, 0xad9, 0x9a2, 0xad9, 0x9a2, 0xcd1, 0xb70, 0xcd1, 0xb70, -0xcd1, 0xb70, 0xdbf, 0xc31, 0xdbf, 0xc31, 0xd51, 0xb96, 0xd51, 0xb96, 0xdf1, -0xc0b, 0xdf1, 0xc0b, 0xe08, 0xbfb, 0xe08, 0xbfb, 0xdc6, 0xb95, 0xdc6, 0xb95, -0x1060, 0xe13, 0x1060, 0xe13, 0x1060, 0xe13, 0x1217, 0xfb6, 0x1217, 0xfb6, 0x13c0, -0x1155, 0x13c0, 0x1155, 0x1415, 0x11ac, 0x1415, 0x11ac, 0x14b5, 0x1257, 0x14b5, 0x1257, -0x14e1, 0x129c, 0x14e1, 0x129c, 0x1123, 0xf02, 0x1123, 0xf02, 0x1123, 0xf02, 0x1290, -0x109e, 0x1290, 0x109e, 0x11a8, 0xff1, 0x11a8, 0xff1, 0x10a0, 0xf2d, 0x10a0, 0xf2d, -0x10d1, 0xfaa, 0x10d1, 0xfaa, 0xdb7, 0xce2, 0xdb7, 0xce2, 0xdb7, 0xce2, 0xcd6, -0xc58, 0xcd6, 0xc58, 0xb6c, 0xb47, 0xb6c, 0xb47, 0x905, 0x93a, 0x905, 0x93a, -0x664, 0x6f1, 0x664, 0x6f1, 0x40d, 0x4f0, 0x40d, 0x4f0, 0x673, 0x7a6, 0x673, -0x7a6, 0x673, 0x7a6, 0x34a, 0x4c7, 0x34a, 0x4c7, 0x196, 0x355, 0x196, 0x355, -0x26c, 0x466, 0x26c, 0x466, 0xff89, 0x1b4, 0xff89, 0x1b4, 0x140, 0x392, 0x140, -0x392, 0xffa1, 0x212, 0xffa1, 0x212, 0xffa1, 0x212, 0xffd5, 0x25c, 0xffd5, 0x25c, -0xfe82, 0x118, 0xfe82, 0x118, 0xfdb5, 0x51, 0xfdb5, 0x51, 0xfe09, 0xa6, 0xfe09, -0xa6, 0xfe93, 0x12c, 0xfe93, 0x12c, 0xfe93, 0x12c, 0xfcbe, 0xff4e, 0xfcbe, 0xff4e, -0xfcc5, 0xff49, 0xfcc5, 0xff49, 0xfb6a, 0xfde1, 0xfb6a, 0xfde1, 0xf8bc, 0xfb24, 0xf8bc, -0xfb24, 0xf9cb, 0xfc24, 0xf9cb, 0xfc24, 0xf6f0, 0xf938, 0xf6f0, 0xf938, 0xf6f0, 0xf938, -0xf729, 0xf962, 0xf729, 0xf962, 0xf56a, 0xf794, 0xf56a, 0xf794, 0xf5e2, 0xf7fb, 0xf5e2, -0xf7fb, 0xf62e, 0xf837, 0xf62e, 0xf837, 0xf914, 0xfb0b, 0xf914, 0xfb0b, 0xfbf1, 0xfdd4, -0xfbf1, 0xfdd4, 0xfbf1, 0xfdd4, 0xfc79, 0xfe46, 0xfc79, 0xfe46, 0xfb17, 0xfccb, 0xfb17, -0xfccb, 0xfc91, 0xfe28, 0xfc91, 0xfe28, 0xfc15, 0xfd89, 0xfc15, 0xfd89, 0xfb64, 0xfcb1, -0xfb64, 0xfcb1, 0xfb64, 0xfcb1, 0xfc9e, 0xfdbd, 0xfc9e, 0xfdbd, 0xfba3, 0xfc8f, 0xfba3, -0xfc8f, 0xffb2, 0x65, 0xffb2, 0x65, 0xef, 0x163, 0xef, 0x163, 0x582, 0x5b0, -0x582, 0x5b0, 0x5fb, 0x5df, 0x5fb, 0x5df, 0x5fb, 0x5df, 0xa1c, 0x9b2, 0xa1c, -0x9b2, 0xc09, 0xb4d, 0xc09, 0xb4d, 0xc10, 0xaff, 0xc10, 0xaff, 0xdf1, 0xc8a, -0xdf1, 0xc8a, 0xea6, 0xce7, 0xea6, 0xce7, 0x12a0, 0x108b, 0x12a0, 0x108b, 0x12a0, -0x108b, 0x1376, 0x110c, 0x1376, 0x110c, 0x15eb, 0x132f, 0x15eb, 0x132f, 0x18d3, 0x15c7, -0x18d3, 0x15c7, 0x1c0c, 0x18b5, 0x1c0c, 0x18b5, 0x1d50, 0x19b4, 0x1d50, 0x19b4, 0x1d50, -0x19b4, 0x1de7, 0x1a0b, 0x1de7, 0x1a0b, 0x1d90, 0x197a, 0x1d90, 0x197a, 0x1dea, 0x19a1, -0x1dea, 0x19a1, 0x1e9e, 0x1a27, 0x1e9e, 0x1a27, 0x1f3c, 0x1a9f, 0x1f3c, 0x1a9f, 0x1f28, -0x1a6b, 0x1f28, 0x1a6b, 0x1f28, 0x1a6b, 0x20c3, 0x1bed, 0x20c3, 0x1bed, 0x21a8, 0x1cbf, -0x21a8, 0x1cbf, 0x21a8, 0x1cb2, 0x21a8, 0x1cb2, 0x22bd, 0x1dc1, 0x22bd, 0x1dc1, 0x233c, -0x1e40, 0x233c, 0x1e40, 0x2252, 0x1d5b, 0x2252, 0x1d5b, 0x2252, 0x1d5b, 0x2173, 0x1c86, -0x2173, 0x1c86, 0x2073, 0x1b97, 0x2073, 0x1b97, 0x1edf, 0x1a17, 0x1edf, 0x1a17, 0x1e7c, -0x19cd, 0x1e7c, 0x19cd, 0x1dc5, 0x1934, 0x1dc5, 0x1934, 0x1dc5, 0x1934, 0x1d83, 0x1914, -0x1d83, 0x1914, 0x1a68, 0x1620, 0x1a68, 0x1620, 0x1a44, 0x1626, 0x1a44, 0x1626, 0x1940, -0x154e, 0x1940, 0x154e, 0x1797, 0x13d5, 0x1797, 0x13d5, 0x1518, 0x1188, 0x1518, 0x1188, -0x1518, 0x1188, 0x11ce, 0xe72, 0x11ce, 0xe72, 0x10fc, 0xdd6, 0x10fc, 0xdd6, 0xe79, -0xb89, 0xe79, 0xb89, 0xddd, 0xb25, 0xddd, 0xb25, 0xd90, 0xb10, 0xd90, 0xb10, -0xc85, 0xa3c, 0xc85, 0xa3c, 0xc85, 0xa3c, 0xfca, 0xdb7, 0xfca, 0xdb7, 0xf27, -0xd4b, 0xf27, 0xd4b, 0xdbd, 0xc16, 0xdbd, 0xc16, 0xd2f, 0xbbd, 0xd2f, 0xbbd, -0xb34, 0x9f5, 0xb34, 0x9f5, 0xb34, 0x9f5, 0xcb9, 0xbac, 0xcb9, 0xbac, 0xb2d, -0xa52, 0xb2d, 0xa52, 0xbcb, 0xb21, 0xbcb, 0xb21, 0x8cb, 0x853, 0x8cb, 0x853, -0xa04, 0x9bd, 0xa04, 0x9bd, 0xa8b, 0xa75, 0xa8b, 0xa75, 0xa8b, 0xa75, 0x68e, -0x6aa, 0x68e, 0x6aa, 0x6f8, 0x748, 0x6f8, 0x748, 0x5d1, 0x654, 0x5d1, 0x654, -0x5e8, 0x6a0, 0x5e8, 0x6a0, 0x534, 0x620, 0x534, 0x620, 0x44b, 0x56d, 0x44b, -0x56d, 0x44b, 0x56d, 0x32a, 0x481, 0x32a, 0x481, 0x2c0, 0x44a, 0x2c0, 0x44a, -0x194, 0x352, 0x194, 0x352, 0x136, 0x322, 0x136, 0x322, 0x102, 0x31b, 0x102, -0x31b, 0x102, 0x31b, 0xcb, 0x30b, 0xcb, 0x30b, 0xfe2e, 0x91, 0xfe2e, 0x91, -0xfc82, 0xff01, 0xfc82, 0xff01, 0xfd0b, 0xff9d, 0xfd0b, 0xff9d, 0xfcd9, 0xff78, 0xfcd9, -0xff78, 0xfd2c, 0xffce, 0xfd2c, 0xffce, 0xfd2c, 0xffce, 0xfb28, 0xfdc5, 0xfb28, 0xfdc5, -0xfb01, 0xfd90, 0xfb01, 0xfd90, 0xf870, 0xfae8, 0xf870, 0xfae8, 0xf662, 0xf8bc, 0xf662, -0xf8bc, 0xf61d, 0xf851, 0xf61d, 0xf851, 0xf1f6, 0xf3fe, 0xf1f6, 0xf3fe, 0xf1f6, 0xf3fe, -0xf0a5, 0xf27d, 0xf0a5, 0xf27d, 0xf0a8, 0xf24c, 0xf0a8, 0xf24c, 0xf2d2, 0xf441, 0xf2d2, -0xf441, 0xf460, 0xf59b, 0xf460, 0xf59b, 0xf2bf, 0xf3c8, 0xf2bf, 0xf3c8, 0xf2bf, 0xf3c8, -0xf2c0, 0xf39b, 0xf2c0, 0xf39b, 0xf278, 0xf32a, 0xf278, 0xf32a, 0xf0d1, 0xf162, 0xf0d1, -0xf162, 0xef3f, 0xefb6, 0xef3f, 0xefb6, 0xee06, 0xee6c, 0xee06, 0xee6c, 0xedb3, 0xee12, -0xedb3, 0xee12, 0xedb3, 0xee12, 0xeea5, 0xef07, 0xeea5, 0xef07, 0xed66, 0xedd4, 0xed66, -0xedd4, 0xeec0, 0xef42, 0xeec0, 0xef42, 0xed89, 0xee28, 0xed89, 0xee28, 0xecb4, 0xed76, -0xecb4, 0xed76, 0xecb4, 0xed76, 0xea91, 0xeb7c, 0xea91, 0xeb7c, 0xe792, 0xe8aa, 0xe792, -0xe8aa, 0xe62e, 0xe774, 0xe62e, 0xe774, 0xe3f8, 0xe56d, 0xe3f8, 0xe56d, 0xe361, 0xe503, -0xe361, 0xe503, 0xe218, 0xe3e4, 0xe218, 0xe3e4, 0xe218, 0xe3e4, 0xe412, 0xe603, 0xe412, -0xe603, 0xe4e9, 0xe6fa, 0xe4e9, 0xe6fa, 0xe692, 0xe8bc, 0xe692, 0xe8bc, 0xe675, 0xe8b2, -0xe675, 0xe8b2, 0xe666, 0xe8af, 0xe666, 0xe8af, 0xe321, 0xe56f, 0xe321, 0xe56f, 0xe321, -0xe56f, 0xe533, 0xe781, 0xe533, 0xe781, 0xe4b1, 0xe6fa, 0xe4b1, 0xe6fa, 0xe34a, 0xe589, -0xe34a, 0xe589, 0xe6d4, 0xe908, 0xe6d4, 0xe908, 0xe789, 0xe9b0, 0xe789, 0xe9b0, 0xe789, -0xe9b0, 0xe8e7, 0xeb01, 0xe8e7, 0xeb01, 0xe842, 0xea52, 0xe842, 0xea52, 0xeae6, 0xecee, -0xeae6, 0xecee, 0xe8d2, 0xead6, 0xe8d2, 0xead6, 0xebad, 0xedb2, 0xebad, 0xedb2, 0xeb9b, -0xeda7, 0xeb9b, 0xeda7, 0xeb9b, 0xeda7, 0xe977, 0xeb8d, 0xe977, 0xeb8d, 0xe8f0, 0xeb17, -0xe8f0, 0xeb17, 0xeae0, 0xed1b, 0xeae0, 0xed1b, 0xeac7, 0xed19, 0xeac7, 0xed19, 0xec67, -0xeed2, 0xec67, 0xeed2, 0xee69, 0xf0ed, 0xee69, 0xf0ed, 0xee69, 0xf0ed, 0xeb95, 0xee31, -0xeb95, 0xee31, 0xee75, 0xf123, 0xee75, 0xf123, 0xec35, 0xeef1, 0xec35, 0xeef1, 0xed02, -0xefc4, 0xed02, 0xefc4, 0xeb5d, 0xee1c, 0xeb5d, 0xee1c, 0xeb5d, 0xee1c, 0xec84, 0xef35, -0xec84, 0xef35, 0xecc6, 0xef5e, 0xecc6, 0xef5e, 0xec42, 0xeeb3, 0xec42, 0xeeb3, 0xeccd, -0xef0c, 0xeccd, 0xef0c, 0xee6b, 0xf06b, 0xee6b, 0xf06b, 0xf0c8, 0xf27e, 0xf0c8, 0xf27e, -0xf0c8, 0xf27e, 0xef6d, 0xf0d0, 0xef6d, 0xf0d0, 0xf1f0, 0xf2f6, 0xf1f0, 0xf2f6, 0xf461, -0xf505, 0xf461, 0xf505, 0xf6b9, 0xf6f7, 0xf6b9, 0xf6f7, 0xf97f, 0xf956, 0xf97f, 0xf956, -0xfda5, 0xfd16, 0xfda5, 0xfd16, 0xfda5, 0xfd16, 0xfd3b, 0xfc4b, 0xfd3b, 0xfc4b, 0x99, -0xff4f, 0x99, 0xff4f, 0x1ff, 0x65, 0x1ff, 0x65, 0xac, 0xfece, 0xac, 0xfece, -0x207, 0xfff4, 0x207, 0xfff4, 0x207, 0xfff4, 0x119, 0xfede, 0x119, 0xfede, 0x13e, -0xfeed, 0x13e, 0xfeed, 0x25e, 0x7, 0x25e, 0x7, 0x39d, 0x150, 0x39d, 0x150, -0x295, 0x62, 0x295, 0x62, 0x2dd, 0xd2, 0x2dd, 0xd2, 0x2dd, 0xd2, 0x397, -0x1c2, 0x397, 0x1c2, 0x27f, 0xea, 0x27f, 0xea, 0x407, 0x2bc, 0x407, 0x2bc, -0x419, 0x31d, 0x419, 0x31d, 0x223, 0x17a, 0x223, 0x17a, 0x332, 0x2dd, 0x332, -0x2dd, 0x332, 0x2dd, 0x219, 0x216, 0x219, 0x216, 0x16f, 0x1bb, 0x16f, 0x1bb, -0x32a, 0x3be, 0x32a, 0x3be, 0x1e1, 0x2b6, 0x1e1, 0x2b6, 0x82, 0x18e, 0x82, -0x18e, 0x82, 0x18e, 0xe, 0x148, 0xe, 0x148, 0xfe1f, 0xff7b, 0xfe1f, 0xff7b, -0xfac2, 0xfc35, 0xfac2, 0xfc35, 0xf9a1, 0xfb22, 0xf9a1, 0xfb22, 0xf87b, 0xf9fe, 0xf87b, -0xf9fe, 0xf4b8, 0xf635, 0xf4b8, 0xf635, 0xf4b8, 0xf635, 0xf7f0, 0xf95e, 0xf7f0, 0xf95e, -0xf822, 0xf97c, 0xf822, 0xf97c, 0xf7ba, 0xf8fa, 0xf7ba, 0xf8fa, 0xf87b, 0xf99d, 0xf87b, -0xf99d, 0xf7ef, 0xf8f1, 0xf7ef, 0xf8f1, 0xf5fc, 0xf6dd, 0xf5fc, 0xf6dd, 0xf5fc, 0xf6dd, -0xf436, 0xf4f6, 0xf436, 0xf4f6, 0xf4d0, 0xf572, 0xf4d0, 0xf572, 0xf3f6, 0xf47c, 0xf3f6, -0xf47c, 0xf7d6, 0xf843, 0xf7d6, 0xf843, 0xf4f1, 0xf547, 0xf4f1, 0xf547, 0xf4f1, 0xf547, -0xf66b, 0xf6b0, 0xf66b, 0xf6b0, 0xf7cc, 0xf802, 0xf7cc, 0xf802, 0xf852, 0xf87e, 0xf852, -0xf87e, 0xf8bc, 0xf8e1, 0xf8bc, 0xf8e1, 0xf66f, 0xf68f, 0xf66f, 0xf68f, 0xf6fd, 0xf719, -0xf6fd, 0xf719, 0xf6fd, 0xf719, 0xf782, 0xf79c, 0xf782, 0xf79c, 0xf75f, 0xf778, 0xf75f, -0xf778, 0xf687, 0xf6a0, 0xf687, 0xf6a0, 0xfa29, 0xfa40, 0xfa29, 0xfa40, 0xfaa2, 0xfab8, -0xfaa2, 0xfab8, 0xfd17, 0xfd29, 0xfd17, 0xfd29, 0xfd17, 0xfd29, 0xfcc5, 0xfcd3, 0xfcc5, -0xfcd3, 0xff18, 0xff21, 0xff18, 0xff21, 0xfd8d, 0xfd8f, 0xfd8d, 0xfd8f, 0xfdf1, 0xfdeb, -0xfdf1, 0xfdeb, 0xff7d, 0xff6e, 0xff7d, 0xff6e, 0xff7d, 0xff6e, 0xfc0c, 0xfbf2, 0xfc0c, -0xfbf2, 0xfef1, 0xfecc, 0xfef1, 0xfecc, 0xfee3, 0xfeb3, 0xfee3, 0xfeb3, 0x9, 0xffce, -0x9, 0xffce, 0x11d, 0xd6, 0x11d, 0xd6, 0x142, 0xef, 0x142, 0xef, 0x142, -0xef, 0xff47, 0xfeea, 0xff47, 0xfeea, 0x1e5, 0x17d, 0x1e5, 0x17d, 0x1d8, 0x164, -0x1d8, 0x164, 0x26, 0xffa7, 0x26, 0xffa7, 0x1c9, 0x13e, 0x1c9, 0x13e, 0x14f, -0xb8, 0x14f, 0xb8, 0x14f, 0xb8, 0x111, 0x6d, 0x111, 0x6d, 0x21f, 0x16e, -0x21f, 0x16e, 0x405, 0x345, 0x405, 0x345, 0x2cc, 0x1fd, 0x2cc, 0x1fd, 0x67d, -0x59d, 0x67d, 0x59d, 0x67d, 0x59d, 0x7b3, 0x6c3, 0x7b3, 0x6c3, 0x7f3, 0x6f1, -0x7f3, 0x6f1, 0xc6e, 0xb5a, 0xc6e, 0xb5a, 0xced, 0xbc8, 0xced, 0xbc8, 0xd22, -0xbec, 0xd22, 0xbec, 0x101b, 0xed7, 0x101b, 0xed7, 0x101b, 0xed7, 0x1064, 0xf13, -0x1064, 0xf13, 0x1059, 0xefd, 0x1059, 0xefd, 0x133b, 0x11d9, 0x133b, 0x11d9, 0x12f8, -0x1193, 0x12f8, 0x1193, 0x1395, 0x1233, 0x1395, 0x1233, 0x134f, 0x11f4, 0x134f, 0x11f4, -0x134f, 0x11f4, 0x15a1, 0x1452, 0x15a1, 0x1452, 0x1688, 0x154b, 0x1688, 0x154b, 0x16af, -0x1589, 0x16af, 0x1589, 0x1863, 0x175a, 0x1863, 0x175a, 0x15e4, 0x14fb, 0x15e4, 0x14fb, -0x15e4, 0x14fb, 0x1729, 0x1665, 0x1729, 0x1665, 0x13d3, 0x1337, 0x13d3, 0x1337, 0x134d, -0x12dc, 0x134d, 0x12dc, 0x1356, 0x1312, 0x1356, 0x1312, 0x116b, 0x1154, 0x116b, 0x1154, -0x1042, 0x1057, 0x1042, 0x1057, 0x1042, 0x1057, 0x107a, 0x10ba, 0x107a, 0x10ba, 0xead, -0xf16, 0xead, 0xf16, 0xe0c, 0xe9a, 0xe0c, 0xe9a, 0xe67, 0xf17, 0xe67, 0xf17, -0x997, 0xa63, 0x997, 0xa63, 0x997, 0xa63, 0xc20, 0xd05, 0xc20, 0xd05, 0xa69, -0xb60, 0xa69, 0xb60, 0xa24, 0xb28, 0xa24, 0xb28, 0x84b, 0x956, 0x84b, 0x956, -0x7d8, 0x8e7, 0x7d8, 0x8e7, 0x514, 0x621, 0x514, 0x621, 0x514, 0x621, 0x535, -0x63b, 0x535, 0x63b, 0x610, 0x70c, 0x610, 0x70c, 0x2b7, 0x3a7, 0x2b7, 0x3a7, -0x2c2, 0x3a2, 0x2c2, 0x3a2, 0xfe4f, 0xff1d, 0xfe4f, 0xff1d, 0xfdbb, 0xfe76, 0xfdbb, -0xfe76, 0xfdbb, 0xfe76, 0xfaef, 0xfb96, 0xfaef, 0xfb96, 0xf9ed, 0xfa7f, 0xf9ed, 0xfa7f, -0xf5fc, 0xf678, 0xf5fc, 0xf678, 0xf8ce, 0xf934, 0xf8ce, 0xf934, 0xf753, 0xf7a2, 0xf753, -0xf7a2, 0xf753, 0xf7a2, 0xf6b2, 0xf6e9, 0xf6b2, 0xf6e9, 0xfa36, 0xfa53, 0xfa36, 0xfa53, -0xf869, 0xf86a, 0xf869, 0xf86a, 0xf827, 0xf80a, 0xf827, 0xf80a, 0xf660, 0xf622, 0xf660, -0xf622, 0xf617, 0xf5b4, 0xf617, 0xf5b4, 0xf617, 0xf5b4, 0xf392, 0xf307, 0xf392, 0xf307, -0xf6a6, 0xf5ee, 0xf6a6, 0xf5ee, 0xf49e, 0xf3b5, 0xf49e, 0xf3b5, 0xf53f, 0xf41f, 0xf53f, -0xf41f, 0xf79f, 0xf644, 0xf79f, 0xf644, 0xf97b, 0xf7e0, 0xf97b, 0xf7e0, 0xf97b, 0xf7e0, -0xfa1b, 0xf83c, 0xfa1b, 0xf83c, 0xfd03, 0xfadc, 0xfd03, 0xfadc, 0xfef9, 0xfc88, 0xfef9, -0xfc88, 0xfdca, 0xfb0b, 0xfdca, 0xfb0b, 0x278, 0xff6c, 0x278, 0xff6c, 0x278, 0xff6c, -0x22f, 0xfed4, 0x22f, 0xfed4, 0x449, 0xa2, 0x449, 0xa2, 0x6d3, 0x2e1, 0x6d3, -0x2e1, 0x9b1, 0x57a, 0x9b1, 0x57a, 0xc80, 0x807, 0xc80, 0x807, 0xfc1, 0xb0e, -0xfc1, 0xb0e, 0xfc1, 0xb0e, 0x10c5, 0xbde, 0x10c5, 0xbde, 0x1205, 0xcf3, 0x1205, -0xcf3, 0x1526, 0xff1, 0x1526, 0xff1, 0x161a, 0x10cc, 0x161a, 0x10cc, 0x187a, 0x131c, -0x187a, 0x131c, 0x1a1f, 0x14bb, 0x1a1f, 0x14bb, 0x1a1f, 0x14bb, 0x1b26, 0x15c5, 0x1b26, -0x15c5, 0x1d22, 0x17cf, 0x1d22, 0x17cf, 0x1e8d, 0x194f, 0x1e8d, 0x194f, 0x1d1c, 0x17fc, -0x1d1c, 0x17fc, 0x1ea9, 0x19ac, 0x1ea9, 0x19ac, 0x1ea9, 0x19ac, 0x1f3e, 0x1a6c, 0x1f3e, -0x1a6c, 0x1f72, 0x1acf, 0x1f72, 0x1acf, 0x214c, 0x1cdc, 0x214c, 0x1cdc, 0x2080, 0x1c45, -0x2080, 0x1c45, 0x1fea, 0x1be6, 0x1fea, 0x1be6, 0x1f31, 0x1b63, 0x1f31, 0x1b63, 0x1f31, -0x1b63, 0x1ff9, 0x1c61, 0x1ff9, 0x1c61, 0x1d3b, 0x19d8, 0x1d3b, 0x19d8, 0x1cd1, 0x19a0, -0x1cd1, 0x19a0, 0x1c46, 0x1944, 0x1c46, 0x1944, 0x1956, 0x167f, 0x1956, 0x167f, 0x1a15, -0x1764, 0x1a15, 0x1764, 0x1a15, 0x1764, 0x1837, 0x15a8, 0x1837, 0x15a8, 0x1718, 0x14a8, -0x1718, 0x14a8, 0x151a, 0x12c3, 0x151a, 0x12c3, 0x155d, 0x131b, 0x155d, 0x131b, 0x12c5, -0x1095, 0x12c5, 0x1095, 0x12c5, 0x1095, 0x14dd, 0x12bc, 0x14dd, 0x12bc, 0x13e0, 0x11ca, -0x13e0, 0x11ca, 0x1195, 0xf89, 0x1195, 0xf89, 0x13cf, 0x11cb, 0x13cf, 0x11cb, 0x10bb, -0xec0, 0x10bb, 0xec0, 0x121f, 0x102d, 0x121f, 0x102d, 0x121f, 0x102d, 0x1257, 0x106e, -0x1257, 0x106e, 0x1290, 0x10b4, 0x1290, 0x10b4, 0x1052, 0xe84, 0x1052, 0xe84, 0x1237, -0x107b, 0x1237, 0x107b, 0xfa3, 0xdfd, 0xfa3, 0xdfd, 0xeb9, 0xd2d, 0xeb9, 0xd2d, -0xeb9, 0xd2d, 0x101b, 0xead, 0x101b, 0xead, 0xc82, 0xb38, 0xc82, 0xb38, 0xbf7, -0xad6, 0xbf7, 0xad6, 0xc9c, 0xba7, 0xc9c, 0xba7, 0xb77, 0xab3, 0xb77, 0xab3, -0xb77, 0xab3, 0x9a6, 0x917, 0x9a6, 0x917, 0xab2, 0xa5b, 0xab2, 0xa5b, 0x693, -0x676, 0x693, 0x676, 0x6da, 0x6fa, 0x6da, 0x6fa, 0x65f, 0x6bb, 0x65f, 0x6bb, -0x59d, 0x636, 0x59d, 0x636, 0x59d, 0x636, 0x33c, 0x410, 0x33c, 0x410, 0x376, -0x482, 0x376, 0x482, 0x1ee, 0x330, 0x1ee, 0x330, 0xda, 0x24c, 0xda, 0x24c, -0x38b, 0x528, 0x38b, 0x528, 0xed, 0x2b0, 0xed, 0x2b0, 0xed, 0x2b0, 0x173, -0x355, 0x173, 0x355, 0xff8a, 0x183, 0xff8a, 0x183, 0xffed, 0x1f7, 0xffed, 0x1f7, -0xfec1, 0xd3, 0xfec1, 0xd3, 0xfc44, 0xfe58, 0xfc44, 0xfe58, 0xfc44, 0xfe58, 0xf8b0, -0xfabf, 0xf8b0, 0xfabf, 0xf8d5, 0xfad9, 0xf8d5, 0xfad9, 0xf95e, 0xfb51, 0xf95e, 0xfb51, -0xf801, 0xf9e0, 0xf801, 0xf9e0, 0xfa86, 0xfc4d, 0xfa86, 0xfc4d, 0xf993, 0xfb3f, 0xf993, -0xfb3f, 0xf993, 0xfb3f, 0xf9d3, 0xfb64, 0xf9d3, 0xfb64, 0xf9cc, 0xfb43, 0xf9cc, 0xfb43, -0xf898, 0xf9f7, 0xf898, 0xf9f7, 0xf6c4, 0xf80e, 0xf6c4, 0xf80e, 0xf5be, 0xf6f7, 0xf5be, -0xf6f7, 0xf40c, 0xf539, 0xf40c, 0xf539, 0xf40c, 0xf539, 0xf198, 0xf2c0, 0xf198, 0xf2c0, -0xf171, 0xf29a, 0xf171, 0xf29a, 0xefd7, 0xf108, 0xefd7, 0xf108, 0xed8a, 0xeecc, 0xed8a, -0xeecc, 0xecf7, 0xee51, 0xecf7, 0xee51, 0xecf7, 0xee51, 0xed3f, 0xeeb7, 0xed3f, 0xeeb7, -0xeaa0, 0xec3e, 0xeaa0, 0xec3e, 0xe8b8, 0xea81, 0xe8b8, 0xea81, 0xe53e, 0xe739, 0xe53e, -0xe739, 0xe252, 0xe482, 0xe252, 0xe482, 0xe224, 0xe48c, 0xe224, 0xe48c, 0xe224, 0xe48c, -0xe0f4, 0xe395, 0xe0f4, 0xe395, 0xe220, 0xe4fc, 0xe220, 0xe4fc, 0xe28c, 0xe5a3, 0xe28c, -0xe5a3, 0xe285, 0xe5d6, 0xe285, 0xe5d6, 0xe0dd, 0xe464, 0xe0dd, 0xe464, 0xe342, 0xe6fd, -0xe342, 0xe6fd, 0xe342, 0xe6fd, 0xe101, 0xe4ec, 0xe101, 0xe4ec, 0xe0cd, 0xe4e4, 0xe0cd, -0xe4e4, 0xe292, 0xe6d0, 0xe292, 0xe6d0, 0xe10c, 0xe56c, 0xe10c, 0xe56c, 0xe2cf, 0xe74b, -0xe2cf, 0xe74b, 0xe2cf, 0xe74b, 0xe2b2, 0xe746, 0xe2b2, 0xe746, 0xe352, 0xe7f9, 0xe352, -0xe7f9, 0xe1eb, 0xe6a0, 0xe1eb, 0xe6a0, 0xe495, 0xe955, 0xe495, 0xe955, 0xe2bf, 0xe786, -0xe2bf, 0xe786, 0xe3af, 0xe87a, 0xe3af, 0xe87a, 0xe3af, 0xe87a, 0xe3a8, 0xe875, 0xe3a8, -0xe875, 0xe259, 0xe726, 0xe259, 0xe726, 0xe312, 0xe7dc, 0xe312, 0xe7dc, 0xe468, 0xe92e, -0xe468, 0xe92e, 0xe4cc, 0xe98c, 0xe4cc, 0xe98c, 0xe4cc, 0xe98c, 0xe35d, 0xe816, 0xe35d, -0xe816, 0xe60e, 0xeabe, 0xe60e, 0xeabe, 0xe402, 0xe8a7, 0xe402, 0xe8a7, 0xe5c3, 0xea5b, -0xe5c3, 0xea5b, 0xe688, 0xeb0f, 0xe688, 0xeb0f, 0xe757, 0xebca, 0xe757, 0xebca, 0xe757, -0xebca, 0xe65e, 0xeab9, 0xe65e, 0xeab9, 0xe84e, 0xec8e, 0xe84e, 0xec8e, 0xe77a, 0xeb99, -0xe77a, 0xeb99, 0xe988, 0xed81, 0xe988, 0xed81, 0xec8b, 0xf058, 0xec8b, 0xf058, 0xeb32, -0xeece, 0xeb32, 0xeece, 0xeb32, 0xeece, 0xefab, 0xf311, 0xefab, 0xf311, 0xf009, 0xf333, -0xf009, 0xf333, 0xf39f, 0xf688, 0xf39f, 0xf688, 0xf66b, 0xf910, 0xf66b, 0xf910, 0xf7f8, -0xfa55, 0xf7f8, 0xfa55, 0xf7f8, 0xfa55, 0xfa87, 0xfc99, 0xfa87, 0xfc99, 0xfedc, 0xa2, -0xfedc, 0xa2, 0xde, 0x257, 0xde, 0x257, 0x32d, 0x45b, 0x32d, 0x45b, 0x3ea, -0x4ce, 0x3ea, 0x4ce, 0x36b, 0x409, 0x36b, 0x409, 0x36b, 0x409, 0x498, 0x4f5, -0x498, 0x4f5, 0x59b, 0x5bd, 0x59b, 0x5bd, 0x608, 0x5f5, 0x608, 0x5f5, 0x42c, -0x3ee, 0x42c, 0x3ee, 0x630, 0x5ce, 0x630, 0x5ce, 0x592, 0x516, 0x592, 0x516, -0x592, 0x516, 0x69e, 0x613, 0x69e, 0x613, 0x76a, 0x6d8, 0x76a, 0x6d8, 0x5df, -0x551, 0x5df, 0x551, 0x658, 0x5d5, 0x658, 0x5d5, 0x581, 0x514, 0x581, 0x514, -0x581, 0x514, 0x438, 0x3e6, 0x438, 0x3e6, 0x377, 0x349, 0x377, 0x349, 0x3b9, -0x3b4, 0x3b9, 0x3b4, 0x2a9, 0x2d1, 0x2a9, 0x2d1, 0x26c, 0x2c2, 0x26c, 0x2c2, -0x17b, 0x202, 0x17b, 0x202, 0x17b, 0x202, 0x3c, 0xf3, 0x3c, 0xf3, 0xff32, -0x17, 0xff32, 0x17, 0xfc0c, 0xfd1b, 0xfc0c, 0xfd1b, 0xf95e, 0xfa94, 0xf95e, 0xfa94, -0xf610, 0xf766, 0xf610, 0xf766, 0xf6c2, 0xf832, 0xf6c2, 0xf832, 0xf6c2, 0xf832, 0xf47a, -0xf5fb, 0xf47a, 0xf5fb, 0xf4bf, 0xf649, 0xf4bf, 0xf649, 0xf59e, 0xf729, 0xf59e, 0xf729, -0xf337, 0xf4bb, 0xf337, 0xf4bb, 0xf3ab, 0xf51f, 0xf3ab, 0xf51f, 0xf3ab, 0xf51f, 0xf207, -0xf362, 0xf207, 0xf362, 0xf0c4, 0xf200, 0xf0c4, 0xf200, 0xefae, 0xf0c4, 0xefae, 0xf0c4, -0xefa3, 0xf08e, 0xefa3, 0xf08e, 0xedbb, 0xee76, 0xedbb, 0xee76, 0xef06, 0xef8e, 0xef06, -0xef8e, 0xef06, 0xef8e, 0xeed2, 0xef25, 0xeed2, 0xef25, 0xefcc, 0xefea, 0xefcc, 0xefea, -0xef19, 0xef03, 0xef19, 0xef03, 0xf0e6, 0xf09e, 0xf0e6, 0xf09e, 0xf08d, 0xf016, 0xf08d, -0xf016, 0xef32, 0xee91, 0xef32, 0xee91, 0xef32, 0xee91, 0xf267, 0xf1a2, 0xf267, 0xf1a2, -0xf117, 0xf033, 0xf117, 0xf033, 0xf3d8, 0xf2dd, 0xf3d8, 0xf2dd, 0xf3bb, 0xf2b0, 0xf3bb, -0xf2b0, 0xf691, 0xf57d, 0xf691, 0xf57d, 0xf691, 0xf57d, 0xf81f, 0xf70a, 0xf81f, 0xf70a, -0xfa62, 0xf951, 0xfa62, 0xf951, 0xfa6f, 0xf96a, 0xfa6f, 0xf96a, 0xfb8b, 0xfa96, 0xfb8b, -0xfa96, 0xfb70, 0xfa91, 0xfb70, 0xfa91, 0xfaba, 0xf9f4, 0xfaba, 0xf9f4, 0xfaba, 0xf9f4, -0xfc9f, 0xfbf3, 0xfc9f, 0xfbf3, 0xfc69, 0xfbdb, 0xfc69, 0xfbdb, 0xff0c, 0xfe99, 0xff0c, -0xfe99, 0xfd2a, 0xfcd3, 0xfd2a, 0xfcd3, 0xfde6, 0xfda6, 0xfde6, 0xfda6, 0xfda4, 0xfd79, -0xfda4, 0xfd79, 0xfda4, 0xfd79, 0xfffb, 0xffe0, 0xfffb, 0xffe0, 0xffa3, 0xff92, 0xffa3, -0xff92, 0xfe3c, 0xfe30, 0xfe3c, 0xfe30, 0xff07, 0xfef8, 0xff07, 0xfef8, 0x15, 0xfffd, -0x15, 0xfffd, 0x15, 0xfffd, 0x173, 0x14a, 0x173, 0x14a, 0x25c, 0x21c, 0x25c, -0x21c, 0x8d, 0x2e, 0x8d, 0x2e, 0xff54, 0xfed3, 0xff54, 0xfed3, 0x251, 0x1a8, -0x251, 0x1a8, 0xdf, 0x9, 0xdf, 0x9, 0xdf, 0x9, 0x40a, 0x305, 0x40a, -0x305, 0x44d, 0x319, 0x44d, 0x319, 0x590, 0x42c, 0x590, 0x42c, 0x95b, 0x7c8, -0x95b, 0x7c8, 0xabb, 0x8fd, 0xabb, 0x8fd, 0xc9e, 0xab9, 0xc9e, 0xab9, 0xc9e, -0xab9, 0xeae, 0xca8, 0xeae, 0xca8, 0x108a, 0xe6a, 0x108a, 0xe6a, 0xf8a, 0xd57, -0xf8a, 0xd57, 0x102a, 0xdec, 0x102a, 0xdec, 0xfac, 0xd6c, 0xfac, 0xd6c, 0xfac, -0xd6c, 0x1084, 0xe4c, 0x1084, 0xe4c, 0x125e, 0x1038, 0x125e, 0x1038, 0x1326, 0x1119, -0x1326, 0x1119, 0x1314, 0x112a, 0x1314, 0x112a, 0x13f5, 0x1236, 0x13f5, 0x1236, 0x15d4, -0x1446, 0x15d4, 0x1446, 0x15d4, 0x1446, 0x13b1, 0x125b, 0x13b1, 0x125b, 0x1456, 0x133b, -0x1456, 0x133b, 0x12d1, 0x11f5, 0x12d1, 0x11f5, 0x1070, 0xfd4, 0x1070, 0xfd4, 0x1067, -0x100c, 0x1067, 0x100c, 0x1031, 0x1016, 0x1031, 0x1016, 0x1031, 0x1016, 0xf8c, 0xfaf, -0xf8c, 0xfaf, 0xe04, 0xe60, 0xe04, 0xe60, 0xebd, 0xf4f, 0xebd, 0xf4f, 0xd86, -0xe49, 0xd86, 0xe49, 0xf08, 0xff6, 0xf08, 0xff6, 0xf08, 0xff6, 0xfd2, 0x10e4, -0xfd2, 0x10e4, 0x1073, 0x11a3, 0x1073, 0x11a3, 0xef7, 0x103e, 0xef7, 0x103e, 0xdeb, -0xf43, 0xdeb, 0xf43, 0xe0b, 0xf6f, 0xe0b, 0xf6f, 0xfa9, 0x1112, 0xfa9, 0x1112, -0xfa9, 0x1112, 0xfe9, 0x1153, 0xfe9, 0x1153, 0xdde, 0xf44, 0xdde, 0xf44, 0xd1a, -0xe79, 0xd1a, 0xe79, 0xa19, 0xb6c, 0xa19, 0xb6c, 0xaf5, 0xc3b, 0xaf5, 0xc3b, -0x7f9, 0x92e, 0x7f9, 0x92e, 0x7f9, 0x92e, 0x714, 0x835, 0x714, 0x835, 0x422, -0x52f, 0x422, 0x52f, 0x33a, 0x430, 0x33a, 0x430, 0x12e, 0x209, 0x12e, 0x209, -0xa7, 0x166, 0xa7, 0x166, 0xa7, 0x166, 0x239, 0x2d8, 0x239, 0x2d8, 0xffd1, -0x4e, 0xffd1, 0x4e, 0xff3b, 0xff91, 0xff3b, 0xff91, 0xfc7a, 0xfca4, 0xfc7a, 0xfca4, -0xfdaf, 0xfda8, 0xfdaf, 0xfda8, 0xfcd1, 0xfc94, 0xfcd1, 0xfc94, 0xfcd1, 0xfc94, 0xfc2e, -0xfbb5, 0xfc2e, 0xfbb5, 0xf89c, 0xf7e1, 0xf89c, 0xf7e1, 0xf9cc, 0xf8c8, 0xf9cc, 0xf8c8, -0xfa26, 0xf8d4, 0xfa26, 0xf8d4, 0xfb4d, 0xf9a6, 0xfb4d, 0xf9a6, 0xfb4d, 0xf9a6, 0xfd41, -0xfb41, 0xfd41, 0xfb41, 0xfc21, 0xf9c3, 0xfc21, 0xf9c3, 0xfcad, 0xf9ee, 0xfcad, 0xf9ee, -0xfe4c, 0xfb29, 0xfe4c, 0xfb29, 0x1f1, 0xfe69, 0x1f1, 0xfe69, 0x19, 0xfc2d, 0x19, -0xfc2d, 0x19, 0xfc2d, 0x252, 0xfe04, 0x252, 0xfe04, 0x250, 0xfda4, 0x250, 0xfda4, -0x430, 0xff2a, 0x430, 0xff2a, 0x726, 0x1ce, 0x726, 0x1ce, 0x8b0, 0x30c, 0x8b0, -0x30c, 0x9a8, 0x3c3, 0x9a8, 0x3c3, 0x9a8, 0x3c3, 0xc28, 0x60d, 0xc28, 0x60d, -0xe34, 0x7ed, 0xe34, 0x7ed, 0xd8e, 0x727, 0xd8e, 0x727, 0x1139, 0xabe, 0x1139, -0xabe, 0x134e, 0xccd, 0x134e, 0xccd, 0x134e, 0xccd, 0x1553, 0xed7, 0x1553, 0xed7, -0x15ee, 0xf83, 0x15ee, 0xf83, 0x164c, 0xffd, 0x164c, 0xffd, 0x15e5, 0xfbc, 0x15e5, -0xfbc, 0x17f3, 0x11fa, 0x17f3, 0x11fa, 0x18e7, 0x1325, 0x18e7, 0x1325, 0x18e7, 0x1325, -0x1786, 0x1202, 0x1786, 0x1202, 0x195c, 0x141a, 0x195c, 0x141a, 0x19c9, 0x14cd, 0x19c9, -0x14cd, 0x1a94, 0x15e0, 0x1a94, 0x15e0, 0x1b81, 0x1716, 0x1b81, 0x1716, 0x1b62, 0x173e, -0x1b62, 0x173e, 0x1b62, 0x173e, 0x1b4f, 0x1770, 0x1b4f, 0x1770, 0x1b63, 0x17c6, 0x1b63, -0x17c6, 0x1a49, 0x16ea, 0x1a49, 0x16ea, 0x1aa5, 0x177f, 0x1aa5, 0x177f, 0x1ae2, 0x17ee, -0x1ae2, 0x17ee, 0x1ae2, 0x17ee, 0x19cf, 0x1709, 0x19cf, 0x1709, 0x1a45, 0x17a6, 0x1a45, -0x17a6, 0x172c, 0x14ad, 0x172c, 0x14ad, 0x17a4, 0x1540, 0x17a4, 0x1540, 0x1766, 0x1517, -0x1766, 0x1517, 0x1794, 0x1555, 0x1794, 0x1555, 0x1794, 0x1555, 0x1772, 0x1540, 0x1772, -0x1540, 0x153f, 0x1315, 0x153f, 0x1315, 0x15cd, 0x13a9, 0x15cd, 0x13a9, 0x13d7, 0x11b8, -0x13d7, 0x11b8, 0x151e, 0x1303, 0x151e, 0x1303, 0x135c, 0x1146, 0x135c, 0x1146, 0x135c, -0x1146, 0x11a1, 0xf92, 0x11a1, 0xf92, 0x10a5, 0xe9f, 0x10a5, 0xe9f, 0x1227, 0x102d, -0x1227, 0x102d, 0x122f, 0x1046, 0x122f, 0x1046, 0x13cb, 0x11f9, 0x13cb, 0x11f9, 0x13cb, -0x11f9, 0x12fe, 0x1148, 0x12fe, 0x1148, 0x1010, 0xe7b, 0x1010, 0xe7b, 0x115f, 0xff3, -0x115f, 0xff3, 0xf1e, 0xde0, 0xf1e, 0xde0, 0xee5, 0xddb, 0xee5, 0xddb, 0xcbd, -0xbed, 0xcbd, 0xbed, 0xcbd, 0xbed, 0xb74, 0xae3, 0xb74, 0xae3, 0x86f, 0x821, -0x86f, 0x821, 0xa04, 0x9fc, 0xa04, 0x9fc, 0x8af, 0x8f0, 0x8af, 0x8f0, 0x75d, -0x7e8, 0x75d, 0x7e8, 0x602, 0x6d6, 0x602, 0x6d6, 0x602, 0x6d6, 0x2ec, 0x407, -0x2ec, 0x407, 0x271, 0x3d1, 0x271, 0x3d1, 0x27c, 0x41c, 0x27c, 0x41c, 0x24d, -0x428, 0x24d, 0x428, 0xfea2, 0xb0, 0xfea2, 0xb0, 0xfea2, 0xb0, 0x53, 0x28d, -0x53, 0x28d, 0xfe90, 0xed, 0xfe90, 0xed, 0xff70, 0x1e7, 0xff70, 0x1e7, 0xfe39, -0xc0, 0xfe39, 0xc0, 0xfbf1, 0xfe7e, 0xfbf1, 0xfe7e, 0xf973, 0xfbff, 0xf973, 0xfbff, -0xf973, 0xfbff, 0xf84d, 0xfacd, 0xf84d, 0xfacd, 0xf6e6, 0xf952, 0xf6e6, 0xf952, 0xf49c, -0xf6ed, 0xf49c, 0xf6ed, 0xf665, 0xf895, 0xf665, 0xf895, 0xf5a8, 0xf7b2, 0xf5a8, 0xf7b2, -0xf5c4, 0xf7a5, 0xf5c4, 0xf7a5, 0xf5c4, 0xf7a5, 0xf5ba, 0xf770, 0xf5ba, 0xf770, 0xf74d, -0xf8d7, 0xf74d, 0xf8d7, 0xf5f9, 0xf759, 0xf5f9, 0xf759, 0xf68f, 0xf7c7, 0xf68f, 0xf7c7, -0xf58d, 0xf6a1, 0xf58d, 0xf6a1, 0xf58d, 0xf6a1, 0xf4bb, 0xf5b0, 0xf4bb, 0xf5b0, 0xf43d, -0xf51a, 0xf43d, 0xf51a, 0xf280, 0xf34a, 0xf280, 0xf34a, 0xf408, 0xf4c7, 0xf408, 0xf4c7, -0xf300, 0xf3bb, 0xf300, 0xf3bb, 0xf201, 0xf2be, 0xf201, 0xf2be, 0xf201, 0xf2be, 0xf0a7, -0xf16f, 0xf0a7, 0xf16f, 0xeea2, 0xef7b, 0xeea2, 0xef7b, 0xecd5, 0xedc4, 0xecd5, 0xedc4, -0xeb6a, 0xec75, 0xeb6a, 0xec75, 0xe95e, 0xea8a, 0xe95e, 0xea8a, 0xe832, 0xe980, 0xe832, -0xe980, 0xe832, 0xe980, 0xe859, 0xe9cd, 0xe859, 0xe9cd, 0xe77c, 0xe916, 0xe77c, 0xe916, -0xe64f, 0xe811, 0xe64f, 0xe811, 0xe4dc, 0xe6c4, 0xe4dc, 0xe6c4, 0xe45a, 0xe669, 0xe45a, -0xe669, 0xe45a, 0xe669, 0xe192, 0xe3c5, 0xe192, 0xe3c5, 0xe218, 0xe46e, 0xe218, 0xe46e, -0xe353, 0xe5c9, 0xe353, 0xe5c9, 0xe3b9, 0xe64e, 0xe3b9, 0xe64e, 0xe6ae, 0xe961, 0xe6ae, -0xe961, 0xe3ca, 0xe697, 0xe3ca, 0xe697, 0xe3ca, 0xe697, 0xe48a, 0xe771, 0xe48a, 0xe771, -0xe478, 0xe778, 0xe478, 0xe778, 0xe455, 0xe76c, 0xe455, 0xe76c, 0xe3d3, 0xe701, 0xe3d3, -0xe701, 0xe34f, 0xe694, 0xe34f, 0xe694, 0xe230, 0xe58b, 0xe230, 0xe58b, 0xe230, 0xe58b, -0xe192, 0xe503, 0xe192, 0xe503, 0xe44d, 0xe7d4, 0xe44d, 0xe7d4, 0xe353, 0xe6ef, 0xe353, -0xe6ef, 0xe3a2, 0xe752, 0xe3a2, 0xe752, 0xe231, 0xe5f3, 0xe231, 0xe5f3, 0xe231, 0xe5f3, -0xe263, 0xe634, 0xe263, 0xe634, 0xe18e, 0xe56c, 0xe18e, 0xe56c, 0xe342, 0xe729, 0xe342, -0xe729, 0xe1dc, 0xe5c7, 0xe1dc, 0xe5c7, 0xe0fd, 0xe4e8, 0xe0fd, 0xe4e8, 0xe1a6, 0xe58c, -0xe1a6, 0xe58c, 0xe1a6, 0xe58c, 0xe105, 0xe4de, 0xe105, 0xe4de, 0xe212, 0xe5d8, 0xe212, -0xe5d8, 0xe382, 0xe72e, 0xe382, 0xe72e, 0xe388, 0xe713, 0xe388, 0xe713, 0xe349, 0xe6ae, -0xe349, 0xe6ae, 0xe699, 0xe9d1, 0xe699, 0xe9d1, 0xe699, 0xe9d1, 0xe62f, 0xe934, 0xe62f, -0xe934, 0xe953, 0xec20, 0xe953, 0xec20, 0xe9f4, 0xec86, 0xe9f4, 0xec86, 0xec14, 0xee68, -0xec14, 0xee68, 0xeeb7, 0xf0cc, 0xeeb7, 0xf0cc, 0xeeb7, 0xf0cc, 0xf3d9, 0xf5ae, 0xf3d9, -0xf5ae, 0xf684, 0xf81b, 0xf684, 0xf81b, 0xf8f1, 0xfa4a, 0xf8f1, 0xfa4a, 0xfd2a, 0xfe4a, -0xfd2a, 0xfe4a, 0xfdcb, 0xfeb6, 0xfdcb, 0xfeb6, 0x1be, 0x278, 0x1be, 0x278, 0x1be, -0x278, 0xe7, 0x176, 0xe7, 0x176, 0x2c9, 0x334, 0x2c9, 0x334, 0x443, 0x490, -0x443, 0x490, 0x564, 0x59b, 0x564, 0x59b, 0x6f4, 0x71a, 0x6f4, 0x71a, 0x6f4, -0x71a, 0x7d2, 0x7ee, 0x7d2, 0x7ee, 0x768, 0x782, 0x768, 0x782, 0x8cf, 0x8eb, -0x8cf, 0x8eb, 0x9a8, 0x9cb, 0x9a8, 0x9cb, 0x7f8, 0x828, 0x7f8, 0x828, 0x7f1, -0x830, 0x7f1, 0x830, 0x7f1, 0x830, 0x80c, 0x85e, 0x80c, 0x85e, 0x834, 0x89c, -0x834, 0x89c, 0x67e, 0x6fe, 0x67e, 0x6fe, 0x754, 0x7ed, 0x754, 0x7ed, 0x62e, -0x6e2, 0x62e, 0x6e2, 0x504, 0x5d2, 0x504, 0x5d2, 0x504, 0x5d2, 0x4c1, 0x5a9, -0x4c1, 0x5a9, 0x29c, 0x39d, 0x29c, 0x39d, 0x25a, 0x374, 0x25a, 0x374, 0x131, -0x262, 0x131, 0x262, 0xfe9a, 0xffe1, 0xfe9a, 0xffe1, 0xfe9a, 0xffe1, 0xfd5a, 0xfeb4, -0xfd5a, 0xfeb4, 0xfcff, 0xfe69, 0xfcff, 0xfe69, 0xfb79, 0xfcf1, 0xfb79, 0xfcf1, 0xfa6d, -0xfbef, 0xfa6d, 0xfbef, 0xf9dd, 0xfb65, 0xf9dd, 0xfb65, 0xf7db, 0xf965, 0xf7db, 0xf965, -0xf7db, 0xf965, 0xf812, 0xf999, 0xf812, 0xf999, 0xf753, 0xf8d1, 0xf753, 0xf8d1, 0xf640, -0xf7b1, 0xf640, 0xf7b1, 0xf5aa, 0xf707, 0xf5aa, 0xf707, 0xf4da, 0xf61d, 0xf4da, 0xf61d, -0xf2f9, 0xf41d, 0xf2f9, 0xf41d, 0xf2f9, 0xf41d, 0xf3d0, 0xf4cf, 0xf3d0, 0xf4cf, 0xf3ed, -0xf4c1, 0xf3ed, 0xf4c1, 0xf12d, 0xf1d3, 0xf12d, 0xf1d3, 0xf17e, 0xf1f0, 0xf17e, 0xf1f0, -0xf150, 0xf18c, 0xf150, 0xf18c, 0xf150, 0xf18c, 0xf277, 0xf27c, 0xf277, 0xf27c, 0xf251, -0xf21e, 0xf251, 0xf21e, 0xf3c8, 0xf35f, 0xf3c8, 0xf35f, 0xf38c, 0xf2ee, 0xf38c, 0xf2ee, -0xf601, 0xf533, 0xf601, 0xf533, 0xf7c4, 0xf6cb, 0xf7c4, 0xf6cb, 0xf7c4, 0xf6cb, 0xf836, -0xf719, 0xf836, 0xf719, 0xf949, 0xf80f, 0xf949, 0xf80f, 0xf936, 0xf7e9, 0xf936, 0xf7e9, -0xf956, 0xf7fe, 0xf956, 0xf7fe, 0xf8d8, 0xf780, 0xf8d8, 0xf780, 0xfb05, 0xf9b6, 0xfb05, -0xf9b6, 0xfb05, 0xf9b6, 0xfa86, 0xf949, 0xfa86, 0xf949, 0xfd3d, 0xfc1c, 0xfd3d, 0xfc1c, -0xfdf4, 0xfcf6, 0xfdf4, 0xfcf6, 0x25, 0xff50, 0x25, 0xff50, 0x14b, 0xa3, 0x14b, -0xa3, 0x14b, 0xa3, 0xe5, 0x6e, 0xe5, 0x6e, 0xae, 0x68, 0xae, 0x68, -0x108, 0xf2, 0x108, 0xf2, 0x244, 0x25a, 0x244, 0x25a, 0x25a, 0x299, 0x25a, -0x299, 0x369, 0x3c9, 0x369, 0x3c9, 0x369, 0x3c9, 0x2c2, 0x33b, 0x2c2, 0x33b, -0x3b7, 0x440, 0x3b7, 0x440, 0x399, 0x429, 0x399, 0x429, 0x3fc, 0x488, 0x3fc, -0x488, 0x354, 0x3d3, 0x354, 0x3d3, 0x4e2, 0x549, 0x4e2, 0x549, 0x4e2, 0x549, -0x40b, 0x453, 0x40b, 0x453, 0x532, 0x553, 0x532, 0x553, 0x792, 0x787, 0x792, -0x787, 0x7cb, 0x78f, 0x7cb, 0x78f, 0x987, 0x918, 0x987, 0x918, 0x987, 0x918, -0xacf, 0xa2e, 0xacf, 0xa2e, 0xc5b, 0xb8b, 0xc5b, 0xb8b, 0xe7d, 0xd81, 0xe7d, -0xd81, 0x110c, 0xfea, 0x110c, 0xfea, 0x101f, 0xedf, 0x101f, 0xedf, 0x11f1, 0x109c, -0x11f1, 0x109c, 0x11f1, 0x109c, 0x115c, 0xffb, 0x115c, 0xffb, 0x1062, 0xeff, 0x1062, -0xeff, 0x1173, 0x1019, 0x1173, 0x1019, 0x1165, 0x101f, 0x1165, 0x101f, 0x1145, 0x101b, -0x1145, 0x101b, 0x123f, 0x113a, 0x123f, 0x113a, 0x123f, 0x113a, 0x12ab, 0x11d2, 0x12ab, -0x11d2, 0x1185, 0x10df, 0x1185, 0x10df, 0x1270, 0x11ff, 0x1270, 0x11ff, 0x10ec, 0x10b5, -0x10ec, 0x10b5, 0xee3, 0xee5, 0xee3, 0xee5, 0xee3, 0xee5, 0xdc8, 0xe03, 0xdc8, -0xe03, 0xbe4, 0xc56, 0xbe4, 0xc56, 0xad0, 0xb77, 0xad0, 0xb77, 0xb0a, 0xbe1, -0xb0a, 0xbe1, 0xbad, 0xcae, 0xbad, 0xcae, 0xb4c, 0xc73, 0xb4c, 0xc73, 0xb4c, -0xc73, 0xc8c, 0xdd4, 0xc8c, 0xdd4, 0xc0d, 0xd70, 0xc0d, 0xd70, 0xa79, 0xbf1, -0xa79, 0xbf1, 0xba5, 0xd2f, 0xba5, 0xd2f, 0xb7a, 0xd11, 0xb7a, 0xd11, 0xabe, -0xc5f, 0xabe, 0xc5f, 0xabe, 0xc5f, 0x966, 0xb0f, 0x966, 0xb0f, 0x8ef, 0xa9f, -0x8ef, 0xa9f, 0x714, 0x8c9, 0x714, 0x8c9, 0x772, 0x92b, 0x772, 0x92b, 0x713, -0x8d1, 0x713, 0x8d1, 0x713, 0x8d1, 0x4bd, 0x67f, 0x4bd, 0x67f, 0x33f, 0x505, -0x33f, 0x505, 0x100, 0x2c9, 0x100, 0x2c9, 0x1d5, 0x3a0, 0x1d5, 0x3a0, 0x235, -0x400, 0x235, 0x400, 0x124, 0x2eb, 0x124, 0x2eb, 0x124, 0x2eb, 0x33, 0x1f2, -0x33, 0x1f2, 0x62, 0x216, 0x62, 0x216, 0xfa, 0x29b, 0xfa, 0x29b, 0x149, -0x2d0, 0x149, 0x2d0, 0xfdaf, 0xff14, 0xfdaf, 0xff14, 0xfcbb, 0xfdf6, 0xfcbb, 0xfdf6, -0xfcbb, 0xfdf6, 0xfc4f, 0xfd57, 0xfc4f, 0xfd57, 0xfc51, 0xfd1d, 0xfc51, 0xfd1d, 0xfc4a, -0xfcd0, 0xfc4a, 0xfcd0, 0xfc3e, 0xfc75, 0xfc3e, 0xfc75, 0xfda6, 0xfd88, 0xfda6, 0xfd88, -0xfda6, 0xfd88, 0xfcb3, 0xfc37, 0xfcb3, 0xfc37, 0xfdd7, 0xfcf7, 0xfdd7, 0xfcf7, 0xfe41, -0xfcf9, 0xfe41, 0xfcf9, 0xff73, 0xfdc1, 0xff73, 0xfdc1, 0xff69, 0xfd4a, 0xff69, 0xfd4a, -0x69, 0xfdde, 0x69, 0xfdde, 0x69, 0xfdde, 0xf7, 0xfe02, 0xf7, 0xfe02, 0x477, -0x11d, 0x477, 0x11d, 0x64d, 0x291, 0x64d, 0x291, 0x73a, 0x324, 0x73a, 0x324, -0x913, 0x4ab, 0x913, 0x4ab, 0x8c6, 0x414, 0x8c6, 0x414, 0x8c6, 0x414, 0xac1, -0x5cf, 0xac1, 0x5cf, 0xbd3, 0x6ab, 0xbd3, 0x6ab, 0xda9, 0x857, 0xda9, 0x857, -0xd80, 0x80c, 0xd80, 0x80c, 0x100c, 0xa82, 0x100c, 0xa82, 0x100c, 0xa82, 0x11d1, -0xc3a, 0x11d1, 0xc3a, 0x12fa, 0xd5f, 0x12fa, 0xd5f, 0x153d, 0xfa8, 0x153d, 0xfa8, -0x15bc, 0x1034, 0x15bc, 0x1034, 0x14f6, 0xf83, 0x14f6, 0xf83, 0x1639, 0x10e1, 0x1639, -0x10e1, 0x1639, 0x10e1, 0x1534, 0xffc, 0x1534, 0xffc, 0x1343, 0xe30, 0x1343, 0xe30, -0x154a, 0x105f, 0x154a, 0x105f, 0x15c1, 0x1102, 0x15c1, 0x1102, 0x1699, 0x1208, 0x1699, -0x1208, 0x1699, 0x1208, 0x1671, 0x120f, 0x1671, 0x120f, 0x1761, 0x1330, 0x1761, 0x1330, -0x173f, 0x133e, 0x173f, 0x133e, 0x173c, 0x136b, 0x173c, 0x136b, 0x1740, 0x139f, 0x1740, -0x139f, 0x1573, 0x1201, 0x1573, 0x1201, 0x1573, 0x1201, 0x14e9, 0x11a4, 0x14e9, 0x11a4, -0x152b, 0x1210, 0x152b, 0x1210, 0x13c6, 0x10d3, 0x13c6, 0x10d3, 0x13e5, 0x1118, 0x13e5, -0x1118, 0x143c, 0x1192, 0x143c, 0x1192, 0x12f4, 0x106a, 0x12f4, 0x106a, 0x12f4, 0x106a, -0x12dc, 0x106f, 0x12dc, 0x106f, 0x1251, 0xffe, 0x1251, 0xffe, 0x13b2, 0x1176, 0x13b2, -0x1176, 0x1361, 0x1139, 0x1361, 0x1139, 0x11f2, 0xfdd, 0x11f2, 0xfdd, 0x11f2, 0xfdd, -0x115e, 0xf58, 0x115e, 0xf58, 0xffc, 0xe06, 0xffc, 0xe06, 0x1249, 0x1062, 0x1249, -0x1062, 0x1360, 0x1188, 0x1360, 0x1188, 0x1231, 0x1069, 0x1231, 0x1069, 0x1242, 0x108c, -0x1242, 0x108c, 0x1242, 0x108c, 0x1109, 0xf69, 0x1109, 0xf69, 0x1274, 0x10ec, 0x1274, -0x10ec, 0x1236, 0x10ca, 0x1236, 0x10ca, 0x10af, 0xf64, 0x10af, 0xf64, 0xfb8, 0xe94, -0xfb8, 0xe94, 0xe15, 0xd1c, 0xe15, 0xd1c, 0xe15, 0xd1c, 0xd0d, 0xc45, 0xd0d, -0xc45, 0xc57, 0xbc5, 0xc57, 0xbc5, 0xa45, 0x9ed, 0xa45, 0x9ed, 0x8be, 0x8a4, -0x8be, 0x8a4, 0x737, 0x75e, 0x737, 0x75e, 0x737, 0x75e, 0x54a, 0x5b4, 0x54a, -0x5b4, 0x5d9, 0x686, 0x5d9, 0x686, 0x49e, 0x58d, 0x49e, 0x58d, 0x3d4, 0x504, -0x3d4, 0x504, 0x26d, 0x3da, 0x26d, 0x3da, 0x23b, 0x3e0, 0x23b, 0x3e0, 0x23b, -0x3e0, 0xa6, 0x27f, 0xa6, 0x27f, 0x87, 0x28c, 0x87, 0x28c, 0xffe9, 0x212, -0xffe9, 0x212, 0xfdb5, 0xfffb, 0xfdb5, 0xfffb, 0xfc04, 0xfe5f, 0xfc04, 0xfe5f, 0xf98f, -0xfbf6, 0xf98f, 0xfbf6, 0xf98f, 0xfbf6, 0xf7c3, 0xfa2e, 0xf7c3, 0xfa2e, 0xf750, 0xf9b7, -0xf750, 0xf9b7, 0xf76d, 0xf9ca, 0xf76d, 0xf9ca, 0xf47f, 0xf6cd, 0xf47f, 0xf6cd, 0xf676, -0xf8b1, 0xf676, 0xf8b1, 0xf676, 0xf8b1, 0xf602, 0xf825, 0xf602, 0xf825, 0xf523, 0xf72d, -0xf523, 0xf72d, 0xf5a9, 0xf79a, 0xf5a9, 0xf79a, 0xf5e0, 0xf7b7, 0xf5e0, 0xf7b7, 0xf472, -0xf631, 0xf472, 0xf631, 0xf3e0, 0xf589, 0xf3e0, 0xf589, 0xf3e0, 0xf589, 0xf451, 0xf5e8, -0xf451, 0xf5e8, 0xf3a2, 0xf52a, 0xf3a2, 0xf52a, 0xf4d9, 0xf655, 0xf4d9, 0xf655, 0xf3de, -0xf552, 0xf3de, 0xf552, 0xf2b4, 0xf424, 0xf2b4, 0xf424, 0xf209, 0xf377, 0xf209, 0xf377, -0xf209, 0xf377, 0xf240, 0xf3b0, 0xf240, 0xf3b0, 0xeedd, 0xf051, 0xeedd, 0xf051, 0xee14, -0xef8c, 0xee14, 0xef8c, 0xecd5, 0xee53, 0xecd5, 0xee53, 0xebf6, 0xed7a, 0xebf6, 0xed7a, -0xebf6, 0xed7a, 0xec62, 0xedea, 0xec62, 0xedea, 0xeb7e, 0xed0c, 0xeb7e, 0xed0c, 0xec3a, -0xedcb, 0xec3a, 0xedcb, 0xeb46, 0xecda, 0xeb46, 0xecda, 0xea68, 0xebfe, 0xea68, 0xebfe, -0xea63, 0xebfa, 0xea63, 0xebfa, 0xea63, 0xebfa, 0xea2e, 0xebc7, 0xea2e, 0xebc7, 0xea56, -0xebf2, 0xea56, 0xebf2, 0xeb89, 0xed29, 0xeb89, 0xed29, 0xeb45, 0xecec, 0xeb45, 0xecec, -0xebe8, 0xed9a, 0xebe8, 0xed9a, 0xecc7, 0xee88, 0xecc7, 0xee88, 0xecc7, 0xee88, 0xee34, -0xf007, 0xee34, 0xf007, 0xee59, 0xf044, 0xee59, 0xf044, 0xee2e, 0xf037, 0xee2e, 0xf037, -0xed0c, 0xef37, 0xed0c, 0xef37, 0xea82, 0xecd5, 0xea82, 0xecd5, 0xea82, 0xecd5, 0xeaab, -0xed2a, 0xeaab, 0xed2a, 0xeb75, 0xee23, 0xeb75, 0xee23, 0xea2c, 0xed0a, 0xea2c, 0xed0a, -0xe8b7, 0xebc6, 0xe8b7, 0xebc6, 0xe7dc, 0xeb1b, 0xe7dc, 0xeb1b, 0xe7fc, 0xeb69, 0xe7fc, -0xeb69, 0xe7fc, 0xeb69, 0xe8f8, 0xec8e, 0xe8f8, 0xec8e, 0xe8f0, 0xeca9, 0xe8f0, 0xeca9, -0xe7f9, 0xebce, 0xe7f9, 0xebce, 0xe718, 0xeb00, 0xe718, 0xeb00, 0xe6b8, 0xeaa9, 0xe6b8, -0xeaa9, 0xe569, 0xe958, 0xe569, 0xe958, 0xe569, 0xe958, 0xe4a8, 0xe889, 0xe4a8, 0xe889, -0xe3e2, 0xe7ab, 0xe3e2, 0xe7ab, 0xe3d7, 0xe77e, 0xe3d7, 0xe77e, 0xe37a, 0xe6f3, 0xe37a, -0xe6f3, 0xe479, 0xe7bc, 0xe479, 0xe7bc, 0xe479, 0xe7bc, 0xe505, 0xe80a, 0xe505, 0xe80a, -0xe734, 0xe9f6, 0xe734, 0xe9f6, 0xe7b8, 0xea33, 0xe7b8, 0xea33, 0xe7a5, 0xe9d6, 0xe7a5, -0xe9d6, 0xe9f6, 0xebdf, 0xe9f6, 0xebdf, 0xeb55, 0xecf6, 0xeb55, 0xecf6, 0xeb55, 0xecf6, -0xedfb, 0xef58, 0xedfb, 0xef58, 0xf0f1, 0xf210, 0xf0f1, 0xf210, 0xf369, 0xf44f, 0xf369, -0xf44f, 0xf435, 0xf4ea, 0xf435, 0xf4ea, 0xf79e, 0xf829, 0xf79e, 0xf829, 0xf908, 0xf972, -0xf908, 0xf972, 0xf908, 0xf972, 0xfa5a, 0xfaab, 0xfa5a, 0xfaab, 0xfc13, 0xfc51, 0xfc13, -0xfc51, 0xfe1d, 0xfe50, 0xfe1d, 0xfe50, 0xfe57, 0xfe84, 0xfe57, 0xfe84, 0xce, 0xf9, -0xce, 0xf9, 0xce, 0xf9, 0x28a, 0x2b7, 0x28a, 0x2b7, 0x287, 0x2b7, 0x287, -0x2b7, 0x470, 0x4a3, 0x470, 0x4a3, 0x2c8, 0x2ff, 0x2c8, 0x2ff, 0x3e9, 0x422, -0x3e9, 0x422, 0x38a, 0x3c1, 0x38a, 0x3c1, 0x38a, 0x3c1, 0x49a, 0x4cd, 0x49a, -0x4cd, 0x5ab, 0x5d7, 0x5ab, 0x5d7, 0x56a, 0x58c, 0x56a, 0x58c, 0x4fc, 0x512, -0x4fc, 0x512, 0x541, 0x548, 0x541, 0x548, 0x542, 0x539, 0x542, 0x539, 0x542, -0x539, 0x570, 0x556, 0x570, 0x556, 0x4d5, 0x4ac, 0x4d5, 0x4ac, 0x2e0, 0x2ab, -0x2e0, 0x2ab, 0x186, 0x146, 0x186, 0x146, 0xc3, 0x7b, 0xc3, 0x7b, 0xc3, -0x7b, 0xe1, 0x97, 0xe1, 0x97, 0xfe9b, 0xfe53, 0xfe9b, 0xfe53, 0xffb9, 0xff77, -0xffb9, 0xff77, 0xffa6, 0xff70, 0xffa6, 0xff70, 0xfdbb, 0xfd94, 0xfdbb, 0xfd94, 0xfd55, -0xfd42, 0xfd55, 0xfd42, 0xfd55, 0xfd42, 0xfc94, 0xfc95, 0xfc94, 0xfc95, 0xfa6c, 0xfa84, -0xfa6c, 0xfa84, 0xf869, 0xf898, 0xf869, 0xf898, 0xf71d, 0xf760, 0xf71d, 0xf760, 0xf774, -0xf7c9, 0xf774, 0xf7c9, 0xf774, 0xf7c9, 0xf7c5, 0xf827, 0xf7c5, 0xf827, 0xf72d, 0xf797, -0xf72d, 0xf797, 0xf5d0, 0xf63b, 0xf5d0, 0xf63b, 0xf452, 0xf4b6, 0xf452, 0xf4b6, 0xf417, -0xf46d, 0xf417, 0xf46d, 0xf3dc, 0xf41d, 0xf3dc, 0xf41d, 0xf3dc, 0xf41d, 0xf318, 0xf33b, -0xf318, 0xf33b, 0xf1da, 0xf1d9, 0xf1da, 0xf1d9, 0xf2f9, 0xf2cd, 0xf2f9, 0xf2cd, 0xf459, -0xf3fe, 0xf459, 0xf3fe, 0xf663, 0xf5d6, 0xf663, 0xf5d6, 0xf86f, 0xf7ae, 0xf86f, 0xf7ae, -0xf86f, 0xf7ae, 0xf998, 0xf8a4, 0xf998, 0xf8a4, 0xf930, 0xf80a, 0xf930, 0xf80a, 0xf9d3, -0xf87f, 0xf9d3, 0xf87f, 0xf95d, 0xf7e0, 0xf95d, 0xf7e0, 0xf7b8, 0xf618, 0xf7b8, 0xf618, -0xf7b8, 0xf618, 0xf7f5, 0xf639, 0xf7f5, 0xf639, 0xfa0d, 0xf83d, 0xfa0d, 0xf83d, 0xfb51, -0xf975, 0xfb51, 0xf975, 0xfbbc, 0xf9dd, 0xfbbc, 0xf9dd, 0xfd57, 0xfb7b, 0xfd57, 0xfb7b, -0xfe79, 0xfca9, 0xfe79, 0xfca9, 0xfe79, 0xfca9, 0xffc0, 0xfe00, 0xffc0, 0xfe00, 0xa5, -0xfefa, 0xa5, 0xfefa, 0x2c, 0xfe98, 0x2c, 0xfe98, 0xff4a, 0xfdcf, 0xff4a, 0xfdcf, -0x1d7, 0x75, 0x1d7, 0x75, 0x1bd, 0x72, 0x1bd, 0x72, 0x1bd, 0x72, 0x292, -0x159, 0x292, 0x159, 0x2be, 0x193, 0x2be, 0x193, 0x200, 0xdd, 0x200, 0xdd, -0x275, 0x153, 0x275, 0x153, 0x25f, 0x137, 0x25f, 0x137, 0x25f, 0x137, 0x362, -0x22e, 0x362, 0x22e, 0x446, 0x2ff, 0x446, 0x2ff, 0x546, 0x3e5, 0x546, 0x3e5, -0x5d7, 0x457, 0x5d7, 0x457, 0x791, 0x5ef, 0x791, 0x5ef, 0x8df, 0x718, 0x8df, -0x718, 0x8df, 0x718, 0xc16, 0xa28, 0xc16, 0xa28, 0xde7, 0xbd3, 0xde7, 0xbd3, -0xf9a, 0xd61, 0xf9a, 0xd61, 0x1065, 0xe0b, 0x1065, 0xe0b, 0x1244, 0xfce, 0x1244, -0xfce, 0x1347, 0x10b9, 0x1347, 0x10b9, 0x1347, 0x10b9, 0x12c5, 0x1027, 0x12c5, 0x1027, -0x13e8, 0x1141, 0x13e8, 0x1141, 0x12e5, 0x103d, 0x12e5, 0x103d, 0x12fd, 0x105b, 0x12fd, -0x105b, 0x13dd, 0x114a, 0x13dd, 0x114a, 0x13dd, 0x114a, 0x13da, 0x115b, 0x13da, 0x115b, -0x12c5, 0x1063, 0x12c5, 0x1063, 0x129a, 0x1059, 0x129a, 0x1059, 0x1164, 0xf4a, 0x1164, -0xf4a, 0x108b, 0xe9c, 0x108b, 0xe9c, 0xfd5, 0xe15, 0xfd5, 0xe15, 0xfd5, 0xe15, -0xec6, 0xd36, 0xec6, 0xd36, 0xda5, 0xc48, 0xda5, 0xc48, 0xc86, 0xb5c, 0xc86, -0xb5c, 0xb89, 0xa91, 0xb89, 0xa91, 0xba9, 0xae4, 0xba9, 0xae4, 0xaec, 0xa59, -0xaec, 0xa59, 0xaec, 0xa59, 0x96e, 0x90b, 0x96e, 0x90b, 0x9f2, 0x9be, 0x9f2, -0x9be, 0x92f, 0x929, 0x92f, 0x929, 0x93c, 0x961, 0x93c, 0x961, 0xa6c, 0xabd, -0xa6c, 0xabd, 0xa6c, 0xabd, 0x910, 0x98a, 0x910, 0x98a, 0x70d, 0x7ae, 0x70d, -0x7ae, 0x7b1, 0x879, 0x7b1, 0x879, 0x635, 0x722, 0x635, 0x722, 0x456, 0x565, -0x456, 0x565, 0x385, 0x4b6, 0x385, 0x4b6, 0x385, 0x4b6, 0x183, 0x2d1, 0x183, -0x2d1, 0xffbf, 0x128, 0xffbf, 0x128, 0xfeca, 0x4c, 0xfeca, 0x4c, 0xfd9e, 0xff33, -0xfd9e, 0xff33, 0xfce1, 0xfe85, 0xfce1, 0xfe85, 0xfcc6, 0xfe73, 0xfcc6, 0xfe73, 0xfcc6, -0xfe73, 0xfe40, 0xfff0, 0xfe40, 0xfff0, 0xfd89, 0xff35, 0xfd89, 0xff35, 0xfce2, 0xfe83, -0xfce2, 0xfe83, 0xfd4d, 0xfedc, 0xfd4d, 0xfedc, 0xfae2, 0xfc57, 0xfae2, 0xfc57, 0xfae2, -0xfc57, 0xfaad, 0xfc01, 0xfaad, 0xfc01, 0xf98a, 0xfab5, 0xf98a, 0xfab5, 0xf9fd, 0xfaf7, -0xf9fd, 0xfaf7, 0xfa18, 0xfadb, 0xfa18, 0xfadb, 0xf9b6, 0xfa3c, 0xf9b6, 0xfa3c, 0xfbac, -0xfbf0, 0xfbac, 0xfbf0, 0xfbac, 0xfbf0, 0xfd27, 0xfd24, 0xfd27, 0xfd24, 0xfdbb, 0xfd6d, -0xfdbb, 0xfd6d, 0xff0c, 0xfe71, 0xff0c, 0xfe71, 0xfed3, 0xfdea, 0xfed3, 0xfdea, 0xff7f, -0xfe46, 0xff7f, 0xfe46, 0x226, 0x9e, 0x226, 0x9e, 0x226, 0x9e, 0x2e1, 0x10b, -0x2e1, 0x10b, 0x547, 0x326, 0x547, 0x326, 0x742, 0x4d8, 0x742, 0x4d8, 0x9f8, -0x749, 0x9f8, 0x749, 0xb58, 0x868, 0xb58, 0x868, 0xb58, 0x868, 0xd34, 0xa06, -0xd34, 0xa06, 0xf8a, 0xc23, 0xf8a, 0xc23, 0xf9d, 0xc02, 0xf9d, 0xc02, 0x1015, -0xc4b, 0x1015, 0xc4b, 0x121a, 0xe26, 0x121a, 0xe26, 0x1355, 0xf3c, 0x1355, 0xf3c, -0x1355, 0xf3c, 0x14e4, 0x10ab, 0x14e4, 0x10ab, 0x15c5, 0x1171, 0x15c5, 0x1171, 0x1640, -0x11d5, 0x1640, 0x11d5, 0x1866, 0x13ea, 0x1866, 0x13ea, 0x18b9, 0x1432, 0x18b9, 0x1432, -0x1998, 0x150a, 0x1998, 0x150a, 0x1998, 0x150a, 0x1913, 0x1484, 0x1913, 0x1484, 0x1868, -0x13de, 0x1868, 0x13de, 0x1803, 0x1383, 0x1803, 0x1383, 0x18c5, 0x1454, 0x18c5, 0x1454, -0x18dd, 0x1481, 0x18dd, 0x1481, 0x18dd, 0x1481, 0x18b2, 0x1471, 0x18b2, 0x1471, 0x195d, -0x153c, 0x195d, 0x153c, 0x18ac, 0x14b0, 0x18ac, 0x14b0, 0x185d, 0x148a, 0x185d, 0x148a, -0x1926, 0x1580, 0x1926, 0x1580, 0x1871, 0x14fa, 0x1871, 0x14fa, 0x1871, 0x14fa, 0x16d0, -0x138b, 0x16d0, 0x138b, 0x16eb, 0x13da, 0x16eb, 0x13da, 0x1477, 0x119a, 0x1477, 0x119a, -0x1357, 0x10ae, 0x1357, 0x10ae, 0x1407, 0x1191, 0x1407, 0x1191, 0x12ed, 0x10a7, 0x12ed, -0x10a7, 0x12ed, 0x10a7, 0x127d, 0x1064, 0x127d, 0x1064, 0x12b8, 0x10cb, 0x12b8, 0x10cb, -0x1206, 0x103f, 0x1206, 0x103f, 0x10cc, 0xf28, 0x10cc, 0xf28, 0xf42, 0xdbe, 0xf42, -0xdbe, 0xf42, 0xdbe, 0xf46, 0xddd, 0xf46, 0xddd, 0xe6b, 0xd1b, 0xe6b, 0xd1b, -0xebe, 0xd85, 0xebe, 0xd85, 0xec4, 0xda1, 0xec4, 0xda1, 0xdb1, 0xca2, 0xdb1, -0xca2, 0xed8, 0xdde, 0xed8, 0xdde, 0xed8, 0xdde, 0xe30, 0xd4e, 0xe30, 0xd4e, -0xe68, 0xd9f, 0xe68, 0xd9f, 0xe51, 0xda5, 0xe51, 0xda5, 0xd8d, 0xd04, 0xd8d, -0xd04, 0xde5, 0xd83, 0xde5, 0xd83, 0xde5, 0xd83, 0xd4c, 0xd17, 0xd4c, 0xd17, -0xbfc, 0xbfa, 0xbfc, 0xbfa, 0xbea, 0xc20, 0xbea, 0xc20, 0x9f0, 0xa63, 0x9f0, -0xa63, 0x943, 0x9f8, 0x943, 0x9f8, 0x9a3, 0xa9e, 0x9a3, 0xa9e, 0x9a3, 0xa9e, -0x7da, 0x91c, 0x7da, 0x91c, 0x70e, 0x899, 0x70e, 0x899, 0x768, 0x93a, 0x768, -0x93a, 0x65b, 0x873, 0x65b, 0x873, 0x4cf, 0x728, 0x4cf, 0x728, 0x48c, 0x721, -0x48c, 0x721, 0x48c, 0x721, 0x3dc, 0x6a5, 0x3dc, 0x6a5, 0x35b, 0x650, 0x35b, -0x650, 0x1e5, 0x4fe, 0x1e5, 0x4fe, 0x38, 0x36a, 0x38, 0x36a, 0xfd32, 0x73, -0xfd32, 0x73, 0xfd32, 0x73, 0xfbd0, 0xff16, 0xfbd0, 0xff16, 0xf95b, 0xfc9d, 0xf95b, -0xfc9d, 0xf757, 0xfa8b, 0xf757, 0xfa8b, 0xf76e, 0xfa8d, 0xf76e, 0xfa8d, 0xf75b, 0xfa5e, -0xf75b, 0xfa5e, 0xf84f, 0xfb31, 0xf84f, 0xfb31, 0xf84f, 0xfb31, 0xf8ab, 0xfb68, 0xf8ab, -0xfb68, 0xf79f, 0xfa35, 0xf79f, 0xfa35, 0xf61e, 0xf88d, 0xf61e, 0xf88d, 0xf619, 0xf861, -0xf619, 0xf861, 0xf47f, 0xf6a4, 0xf47f, 0xf6a4, 0xf48e, 0xf694, 0xf48e, 0xf694, 0xf48e, -0xf694, 0xf3de, 0xf5c9, 0xf3de, 0xf5c9, 0xf2bd, 0xf493, 0xf2bd, 0xf493, 0xf304, 0xf4cb, -0xf304, 0xf4cb, 0xf394, 0xf551, 0xf394, 0xf551, 0xf23d, 0xf3f7, 0xf23d, 0xf3f7, 0xf23d, -0xf3f7, 0xf088, 0xf243, 0xf088, 0xf243, 0xf040, 0xf201, 0xf040, 0xf201, 0xed93, 0xef5c, -0xed93, 0xef5c, 0xebe6, 0xedbb, 0xebe6, 0xedbb, 0xec18, 0xedfa, 0xec18, 0xedfa, 0xeb9b, -0xed8a, 0xeb9b, 0xed8a, 0xeb9b, 0xed8a, 0xeb93, 0xed8e, 0xeb93, 0xed8e, 0xeb30, 0xed37, -0xeb30, 0xed37, 0xea09, 0xec18, 0xea09, 0xec18, 0xe9c8, 0xebdd, 0xe9c8, 0xebdd, 0xe94f, -0xeb68, 0xe94f, 0xeb68, 0xe921, 0xeb3b, 0xe921, 0xeb3b, 0xe921, 0xeb3b, 0xe7c9, 0xe9e1, -0xe7c9, 0xe9e1, 0xe891, 0xeaa7, 0xe891, 0xeaa7, 0xe8b3, 0xeac5, 0xe8b3, 0xeac5, 0xe96c, -0xeb7b, 0xe96c, 0xeb7b, 0xea79, 0xec85, 0xea79, 0xec85, 0xea79, 0xec85, 0xeb32, 0xed3e, -0xeb32, 0xed3e, 0xed2c, 0xef3b, 0xed2c, 0xef3b, 0xec94, 0xeeab, 0xec94, 0xeeab, 0xecb3, -0xeed6, 0xecb3, 0xeed6, 0xecbf, 0xeef4, 0xecbf, 0xeef4, 0xecdc, 0xef28, 0xecdc, 0xef28, -0xecdc, 0xef28, 0xecc4, 0xef2c, 0xecc4, 0xef2c, 0xecef, 0xef79, 0xecef, 0xef79, 0xec4f, -0xef00, 0xec4f, 0xef00, 0xec7f, 0xef5b, 0xec7f, 0xef5b, 0xed85, 0xf08d, 0xed85, 0xf08d, -0xed34, 0xf069, 0xed34, 0xf069, 0xed34, 0xf069, 0xece2, 0xf044, 0xece2, 0xf044, 0xed5a, -0xf0e5, 0xed5a, 0xf0e5, 0xec8f, 0xf040, 0xec8f, 0xf040, 0xebae, 0xef80, 0xebae, 0xef80, -0xeb50, 0xef3a, 0xeb50, 0xef3a, 0xeb50, 0xef3a, 0xea08, 0xee03, 0xea08, 0xee03, 0xe8ca, -0xeccc, 0xe8ca, 0xeccc, 0xe8ae, 0xecad, 0xe8ae, 0xecad, 0xe804, 0xebf6, 0xe804, 0xebf6, -0xe6f1, 0xeacc, 0xe6f1, 0xeacc, 0xe754, 0xeb0e, 0xe754, 0xeb0e, 0xe754, 0xeb0e, 0xe5bc, -0xe94c, 0xe5bc, 0xe94c, 0xe676, 0xe9d4, 0xe676, 0xe9d4, 0xe788, 0xeaac, 0xe788, 0xeaac, -0xe806, 0xeaed, 0xe806, 0xeaed, 0xe98b, 0xec31, 0xe98b, 0xec31, 0xebfa, 0xee5e, 0xebfa, -0xee5e, 0xebfa, 0xee5e, 0xed43, 0xef65, 0xed43, 0xef65, 0xee87, 0xf069, 0xee87, 0xf069, -0xf077, 0xf21d, 0xf077, 0xf21d, 0xf123, 0xf291, 0xf123, 0xf291, 0xf2e4, 0xf422, 0xf2e4, -0xf422, 0xf2e4, 0xf422, 0xf485, 0xf598, 0xf485, 0xf598, 0xf569, 0xf659, 0xf569, 0xf659, -0xf727, 0xf7fa, 0xf727, 0xf7fa, 0xfa1c, 0xfadb, 0xfa1c, 0xfadb, 0xfabb, 0xfb6b, 0xfabb, -0xfb6b, 0xfbc3, 0xfc6b, 0xfbc3, 0xfc6b, 0xfbc3, 0xfc6b, 0xfbee, 0xfc92, 0xfbee, 0xfc92, -0xfbc8, 0xfc6b, 0xfbc8, 0xfc6b, 0xfbc6, 0xfc6c, 0xfbc6, 0xfc6c, 0xfc2d, 0xfcd7, 0xfc2d, -0xfcd7, 0xfc39, 0xfce8, 0xfc39, 0xfce8, 0xfc68, 0xfd1b, 0xfc68, 0xfd1b, 0xfc68, 0xfd1b, -0xfd53, 0xfe07, 0xfd53, 0xfe07, 0xfd34, 0xfde8, 0xfd34, 0xfde8, 0xfcca, 0xfd7b, 0xfcca, -0xfd7b, 0xfd6e, 0xfe1a, 0xfd6e, 0xfe1a, 0xfe37, 0xfedb, 0xfe37, 0xfedb, 0xfe37, 0xfedb, -0xfde1, 0xfe79, 0xfde1, 0xfe79, 0xfe30, 0xfebb, 0xfe30, 0xfebb, 0xfc21, 0xfc9e, 0xfc21, -0xfc9e, 0xfc06, 0xfc74, 0xfc06, 0xfc74, 0xfa8c, 0xfaea, 0xfa8c, 0xfaea, 0xf93b, 0xf989, -0xf93b, 0xf989, 0xf93b, 0xf989, 0xf9c0, 0xfa00, 0xf9c0, 0xfa00, 0xf92b, 0xf95e, 0xf92b, -0xf95e, 0xf987, 0xf9b0, 0xf987, 0xf9b0, 0xfadb, 0xfafa, 0xfadb, 0xfafa, 0xfb73, 0xfb8c, -0xfb73, 0xfb8c, 0xfb54, 0xfb69, 0xfb54, 0xfb69, 0xfb54, 0xfb69, 0xfad1, 0xfae2, 0xfad1, -0xfae2, 0xf9ab, 0xf9bb, 0xf9ab, 0xf9bb, 0xf9f5, 0xfa02, 0xf9f5, 0xfa02, 0xfa54, 0xfa5f, -0xfa54, 0xfa5f, 0xfa66, 0xfa6c, 0xfa66, 0xfa6c, 0xfa66, 0xfa6c, 0xf960, 0xf961, 0xf960, -0xf961, 0xf9d2, 0xf9c8, 0xf9d2, 0xf9c8, 0xf907, 0xf8f0, 0xf907, 0xf8f0, 0xf803, 0xf7da, -0xf803, 0xf7da, 0xf81b, 0xf7db, 0xf81b, 0xf7db, 0xf826, 0xf7c9, 0xf826, 0xf7c9, 0xf826, -0xf7c9, 0xf6e3, 0xf665, 0xf6e3, 0xf665, 0xf71f, 0xf67b, 0xf71f, 0xf67b, 0xf7ed, 0xf720, -0xf7ed, 0xf720, 0xf907, 0xf80d, 0xf907, 0xf80d, 0xfb52, 0xfa29, 0xfb52, 0xfa29, 0xfafe, -0xf9a4, 0xfafe, 0xf9a4, 0xfafe, 0xf9a4, 0xfc3d, 0xfab4, 0xfc3d, 0xfab4, 0xfda7, 0xfbf1, -0xfda7, 0xfbf1, 0xfd79, 0xfb97, 0xfd79, 0xfb97, 0xfd56, 0xfb4f, 0xfd56, 0xfb4f, 0xfe6a, -0xfc41, 0xfe6a, 0xfc41, 0xfe6a, 0xfc41, 0xfda4, 0xfb61, 0xfda4, 0xfb61, 0xfe40, 0xfbe9, -0xfe40, 0xfbe9, 0xff41, 0xfcde, 0xff41, 0xfcde, 0xff53, 0xfceb, 0xff53, 0xfceb, 0x11d, -0xfeb6, 0x11d, 0xfeb6, 0x260, 0x2, 0x260, 0x2, 0x260, 0x2, 0x1aa, 0xff59, -0x1aa, 0xff59, 0x23f, 0x1, 0x23f, 0x1, 0x37c, 0x154, 0x37c, 0x154, 0x346, -0x135, 0x346, 0x135, 0x3a0, 0x1a7, 0x3a0, 0x1a7, 0x3a0, 0x1a7, 0x3d0, 0x1ed, -0x3d0, 0x1ed, 0x339, 0x16a, 0x339, 0x16a, 0x2e6, 0x127, 0x2e6, 0x127, 0x3b2, -0x1ff, 0x3b2, 0x1ff, 0x2ac, 0x100, 0x2ac, 0x100, 0x2c9, 0x11d, 0x2c9, 0x11d, -0x2c9, 0x11d, 0x372, 0x1c0, 0x372, 0x1c0, 0x4a5, 0x2e7, 0x4a5, 0x2e7, 0x4b4, -0x2e4, 0x4b4, 0x2e4, 0x53d, 0x357, 0x53d, 0x357, 0x570, 0x36f, 0x570, 0x36f, -0x73b, 0x51d, 0x73b, 0x51d, 0x73b, 0x51d, 0x97f, 0x742, 0x97f, 0x742, 0x963, -0x707, 0x963, 0x707, 0xb90, 0x917, 0xb90, 0x917, 0xca1, 0xa0d, 0xca1, 0xa0d, -0xebb, 0xc13, 0xebb, 0xc13, 0xebb, 0xc13, 0x1019, 0xd60, 0x1019, 0xd60, 0xf59, -0xc97, 0xf59, 0xc97, 0xf43, 0xc7f, 0xf43, 0xc7f, 0x11c0, 0xf01, 0x11c0, 0xf01, -0x12ba, 0x100a, 0x12ba, 0x100a, 0x1329, 0x108e, 0x1329, 0x108e, 0x1329, 0x108e, 0x1374, -0x10f7, 0x1374, 0x10f7, 0x1392, 0x113a, 0x1392, 0x113a, 0x13d7, 0x11aa, 0x13d7, 0x11aa, -0x14c5, 0x12c9, 0x14c5, 0x12c9, 0x1419, 0x1252, 0x1419, 0x1252, 0x1233, 0x10a4, 0x1233, -0x10a4, 0x1233, 0x10a4, 0x1239, 0x10e4, 0x1239, 0x10e4, 0x10d5, 0xfbc, 0x10d5, 0xfbc, -0xfb2, 0xed4, 0xfb2, 0xed4, 0xf70, 0xecd, 0xf70, 0xecd, 0x1001, 0xf95, 0x1001, -0xf95, 0x1001, 0xf95, 0xe91, 0xe5c, 0xe91, 0xe5c, 0xe2d, 0xe2a, 0xe2d, 0xe2a, -0xced, 0xd1a, 0xced, 0xd1a, 0xd0c, 0xd65, 0xd0c, 0xd65, 0xd31, 0xdb2, 0xd31, -0xdb2, 0xb25, 0xbcc, 0xb25, 0xbcc, 0xb25, 0xbcc, 0x9ad, 0xa76, 0x9ad, 0xa76, -0x96b, 0xa55, 0x96b, 0xa55, 0xa40, 0xb47, 0xa40, 0xb47, 0xa39, 0xb5b, 0xa39, -0xb5b, 0x967, 0xaa1, 0x967, 0xaa1, 0x603, 0x754, 0x603, 0x754, 0x603, 0x754, -0x472, 0x5d8, 0x472, 0x5d8, 0x338, 0x4b1, 0x338, 0x4b1, 0xfff8, 0x182, 0xfff8, -0x182, 0xfe52, 0xffeb, 0xfe52, 0xffeb, 0xfda6, 0xff4a, 0xfda6, 0xff4a, 0xfda6, 0xff4a, -0xfbc5, 0xfd71, 0xfbc5, 0xfd71, 0xfd59, 0xff0a, 0xfd59, 0xff0a, 0xfd70, 0xff21, 0xfd70, -0xff21, 0xfbb1, 0xfd5e, 0xfbb1, 0xfd5e, 0xfaff, 0xfca2, 0xfaff, 0xfca2, 0xfa4c, 0xfbe0, -0xfa4c, 0xfbe0, 0xfa4c, 0xfbe0, 0xf88f, 0xfa0e, 0xf88f, 0xfa0e, 0xf737, 0xf89a, 0xf737, -0xf89a, 0xf775, 0xf8b8, 0xf775, 0xf8b8, 0xf6a6, 0xf7c1, 0xf6a6, 0xf7c1, 0xf6fd, 0xf7eb, -0xf6fd, 0xf7eb, 0xf7da, 0xf895, 0xf7da, 0xf895, 0xf7da, 0xf895, 0xf834, 0xf8b7, 0xf834, -0xf8b7, 0xf91c, 0xf964, 0xf91c, 0xf964, 0xfb04, 0xfb0c, 0xfb04, 0xfb0c, 0xfa0e, 0xf9d4, -0xfa0e, 0xf9d4, 0xfb4b, 0xfacd, 0xfb4b, 0xfacd, 0xfb4b, 0xfacd, 0xfc89, 0xfbc6, 0xfc89, -0xfbc6, 0xfdc3, 0xfcbb, 0xfdc3, 0xfcbb, 0xfff0, 0xfea2, 0xfff0, 0xfea2, 0x111, 0xff80, -0x111, 0xff80, 0x462, 0x28f, 0x462, 0x28f, 0x854, 0x642, 0x854, 0x642, 0x854, -0x642, 0x943, 0x6f4, 0x943, 0x6f4, 0xa9b, 0x812, 0xa9b, 0x812, 0xd53, 0xa95, -0xd53, 0xa95, 0xf2a, 0xc3a, 0xf2a, 0xc3a, 0x119b, 0xe7d, 0x119b, 0xe7d, 0x1235, -0xeed, 0x1235, 0xeed, 0x1235, 0xeed, 0x13ba, 0x104c, 0x13ba, 0x104c, 0x1597, 0x1209, -0x1597, 0x1209, 0x1946, 0x159b, 0x1946, 0x159b, 0x19f8, 0x1634, 0x19f8, 0x1634, 0x1a06, -0x162e, 0x1a06, 0x162e, 0x1a06, 0x162e, 0x1b7d, 0x1796, 0x1b7d, 0x1796, 0x1b57, 0x1766, -0x1b57, 0x1766, 0x1b14, 0x171d, 0x1b14, 0x171d, 0x1c9a, 0x18a2, 0x1c9a, 0x18a2, 0x1d1f, -0x192c, 0x1d1f, 0x192c, 0x1c6d, 0x1883, 0x1c6d, 0x1883, 0x1c6d, 0x1883, 0x1cc6, 0x18eb, -0x1cc6, 0x18eb, 0x1bb6, 0x17ef, 0x1bb6, 0x17ef, 0x1c74, 0x18c5, 0x1c74, 0x18c5, 0x1bf5, -0x1863, 0x1bf5, 0x1863, 0x1b7d, 0x180c, 0x1b7d, 0x180c, 0x1a66, 0x171a, 0x1a66, 0x171a, -0x1a66, 0x171a, 0x1a0e, 0x16ea, 0x1a0e, 0x16ea, 0x1937, 0x163d, 0x1937, 0x163d, 0x19c3, -0x16f5, 0x19c3, 0x16f5, 0x1983, 0x16e2, 0x1983, 0x16e2, 0x16dd, 0x1468, 0x16dd, 0x1468, -0x16dd, 0x1468, 0x1621, 0x13d8, 0x1621, 0x13d8, 0x1525, 0x1306, 0x1525, 0x1306, 0x1414, -0x121c, 0x1414, 0x121c, 0x1366, 0x1192, 0x1366, 0x1192, 0x10c7, 0xf15, 0x10c7, 0xf15, -0xdec, 0xc58, 0xdec, 0xc58, 0xdec, 0xc58, 0xf5a, 0xde0, 0xf5a, 0xde0, 0xf80, -0xe1c, 0xf80, 0xe1c, 0xe74, 0xd25, 0xe74, 0xd25, 0xdf7, 0xcb9, 0xdf7, 0xcb9, -0xe22, 0xcf4, 0xe22, 0xcf4, 0xcb7, 0xb9a, 0xcb7, 0xb9a, 0xcb7, 0xb9a, 0xc7d, -0xb70, 0xc7d, 0xb70, 0xc04, 0xb09, 0xc04, 0xb09, 0xa43, 0x95d, 0xa43, 0x95d, -0x978, 0x8aa, 0x978, 0x8aa, 0x901, 0x851, 0x901, 0x851, 0x901, 0x851, 0x797, -0x70b, 0x797, 0x70b, 0x72d, 0x6ca, 0x72d, 0x6ca, 0x7e4, 0x7b2, 0x7e4, 0x7b2, -0x64c, 0x650, 0x64c, 0x650, 0x553, 0x593, 0x553, 0x593, 0x3ef, 0x472, 0x3ef, -0x472, 0x3ef, 0x472, 0x33c, 0x406, 0x33c, 0x406, 0x2b5, 0x3c9, 0x2b5, 0x3c9, -0x10b, 0x26c, 0x10b, 0x26c, 0x9, 0x1b7, 0x9, 0x1b7, 0x94, 0x28e, 0x94, -0x28e, 0xff2b, 0x16e, 0xff2b, 0x16e, 0xff2b, 0x16e, 0xffcb, 0x253, 0xffcb, 0x253, -0xff83, 0x248, 0xff83, 0x248, 0xfe90, 0x18b, 0xfe90, 0x18b, 0xfda3, 0xca, 0xfda3, -0xca, 0xfb02, 0xfe4b, 0xfb02, 0xfe4b, 0xfb02, 0xfe4b, 0xf86f, 0xfbce, 0xf86f, 0xfbce, -0xf738, 0xfaa3, 0xf738, 0xfaa3, 0xf850, 0xfbba, 0xf850, 0xfbba, 0xf70b, 0xfa69, 0xf70b, -0xfa69, 0xf7b4, 0xfafd, 0xf7b4, 0xfafd, 0xf8b4, 0xfbde, 0xf8b4, 0xfbde, 0xf8b4, 0xfbde, -0xf888, 0xfb8a, 0xf888, 0xfb8a, 0xf841, 0xfb15, 0xf841, 0xfb15, 0xf8c5, 0xfb68, 0xf8c5, -0xfb68, 0xf73b, 0xf9a8, 0xf73b, 0xf9a8, 0xf694, 0xf8cc, 0xf694, 0xf8cc, 0xf694, 0xf8cc, -0xf64e, 0xf852, 0xf64e, 0xf852, 0xf67e, 0xf84f, 0xf67e, 0xf84f, 0xf692, 0xf836, 0xf692, -0xf836, 0xf57d, 0xf6f8, 0xf57d, 0xf6f8, 0xf46f, 0xf5c8, 0xf46f, 0xf5c8, 0xf376, 0xf4b5, -0xf376, 0xf4b5, 0xf376, 0xf4b5, 0xf39c, 0xf4c7, 0xf39c, 0xf4c7, 0xf22d, 0xf34c, 0xf22d, -0xf34c, 0xf234, 0xf34e, 0xf234, 0xf34e, 0xf0c2, 0xf1de, 0xf0c2, 0xf1de, 0xefc6, 0xf0e9, -0xefc6, 0xf0e9, 0xef85, 0xf0b4, 0xef85, 0xf0b4, 0xef85, 0xf0b4, 0xef0d, 0xf04a, 0xef0d, -0xf04a, 0xee21, 0xef70, 0xee21, 0xef70, 0xef23, 0xf085, 0xef23, 0xf085, 0xed2a, 0xee9e, -0xed2a, 0xee9e, 0xeaf9, 0xec7e, 0xeaf9, 0xec7e, 0xeaf9, 0xec7e, 0xec3e, 0xedd3, 0xec3e, -0xedd3, 0xec1c, 0xedbe, 0xec1c, 0xedbe, 0xebe3, 0xed8f, 0xebe3, 0xed8f, 0xeba9, 0xed5d, -0xeba9, 0xed5d, 0xebc1, 0xed79, 0xebc1, 0xed79, 0xebd7, 0xed92, 0xebd7, 0xed92, 0xebd7, -0xed92, 0xed93, 0xef4d, 0xed93, 0xef4d, 0xed30, 0xeeea, 0xed30, 0xeeea, 0xec36, 0xedee, -0xec36, 0xedee, 0xec4a, 0xee01, 0xec4a, 0xee01, 0xed21, 0xeed8, 0xed21, 0xeed8, 0xeca1, -0xee5a, 0xeca1, 0xee5a, 0xeca1, 0xee5a, 0xed6f, 0xef2d, 0xed6f, 0xef2d, 0xee21, 0xefe8, -0xee21, 0xefe8, 0xee2f, 0xf002, 0xee2f, 0xf002, 0xee72, 0xf056, 0xee72, 0xf056, 0xedf3, -0xefea, 0xedf3, 0xefea, 0xedf3, 0xefea, 0xedf0, 0xefff, 0xedf0, 0xefff, 0xed58, 0xef82, -0xed58, 0xef82, 0xeceb, 0xef32, 0xeceb, 0xef32, 0xedc1, 0xf026, 0xedc1, 0xf026, 0xece3, -0xef67, 0xece3, 0xef67, 0xea9b, 0xed3c, 0xea9b, 0xed3c, 0xea9b, 0xed3c, 0xeb54, 0xee11, -0xeb54, 0xee11, 0xeafb, 0xedd2, 0xeafb, 0xedd2, 0xeb07, 0xedf3, 0xeb07, 0xedf3, 0xea54, -0xed51, 0xea54, 0xed51, 0xea29, 0xed31, 0xea29, 0xed31, 0xea2e, 0xed3b, 0xea2e, 0xed3b, -0xea2e, 0xed3b, 0xeb74, 0xee80, 0xeb74, 0xee80, 0xeb9e, 0xeea3, 0xeb9e, 0xeea3, 0xea60, -0xed57, 0xea60, 0xed57, 0xeb7a, 0xee5f, 0xeb7a, 0xee5f, 0xed27, 0xeff4, 0xed27, 0xeff4, -0xed27, 0xeff4, 0xedbe, 0xf06f, 0xedbe, 0xf06f, 0xefa2, 0xf234, 0xefa2, 0xf234, 0xf20c, -0xf47d, 0xf20c, 0xf47d, 0xf2c7, 0xf515, 0xf2c7, 0xf515, 0xf490, 0xf6bb, 0xf490, 0xf6bb, -0xf4b7, 0xf6c1, 0xf4b7, 0xf6c1, 0xf4b7, 0xf6c1, 0xf69a, 0xf883, 0xf69a, 0xf883, 0xf79a, -0xf966, 0xf79a, 0xf966, 0xf84e, 0xf9ff, 0xf84e, 0xf9ff, 0xf85b, 0xf9f5, 0xf85b, 0xf9f5, -0xf97c, 0xfb03, 0xf97c, 0xfb03, 0xfaf9, 0xfc70, 0xfaf9, 0xfc70, 0xfaf9, 0xfc70, 0xfcff, -0xfe69, 0xfcff, 0xfe69, 0xfe41, 0xffa2, 0xfe41, 0xffa2, 0xfd4b, 0xfea6, 0xfd4b, 0xfea6, -0xfd8a, 0xfee1, 0xfd8a, 0xfee1, 0xfdec, 0xff3f, 0xfdec, 0xff3f, 0xfdec, 0xff3f, 0xfd83, -0xfed4, 0xfd83, 0xfed4, 0xfc4c, 0xfd9d, 0xfc4c, 0xfd9d, 0xfbce, 0xfd1d, 0xfbce, 0xfd1d, -0xf97f, 0xfacc, 0xf97f, 0xfacc, 0xfaa1, 0xfbea, 0xfaa1, 0xfbea, 0xfc3a, 0xfd7f, 0xfc3a, -0xfd7f, 0xfc3a, 0xfd7f, 0xfc43, 0xfd83, 0xfc43, 0xfd83, 0xfae3, 0xfc1c, 0xfae3, 0xfc1c, -0xfa2e, 0xfb5e, 0xfa2e, 0xfb5e, 0xf8c2, 0xf9e7, 0xf8c2, 0xf9e7, 0xf743, 0xf85e, 0xf743, -0xf85e, 0xf6e1, 0xf7f0, 0xf6e1, 0xf7f0, 0xf6e1, 0xf7f0, 0xf5d1, 0xf6d3, 0xf5d1, 0xf6d3, -0xf587, 0xf67c, 0xf587, 0xf67c, 0xf616, 0xf6fe, 0xf616, 0xf6fe, 0xf711, 0xf7eb, 0xf711, -0xf7eb, 0xf76f, 0xf83b, 0xf76f, 0xf83b, 0xf76f, 0xf83b, 0xf895, 0xf953, 0xf895, 0xf953, -0xf7ea, 0xf899, 0xf7ea, 0xf899, 0xf750, 0xf7ef, 0xf750, 0xf7ef, 0xf6c3, 0xf752, 0xf6c3, -0xf752, 0xf730, 0xf7ac, 0xf730, 0xf7ac, 0xf6f0, 0xf758, 0xf6f0, 0xf758, 0xf6f0, 0xf758, -0xf5b4, 0xf606, 0xf5b4, 0xf606, 0xf478, 0xf4b0, 0xf478, 0xf4b0, 0xf59d, 0xf5b9, 0xf59d, -0xf5b9, 0xf5bd, 0xf5b9, 0xf5bd, 0xf5b9, 0xf599, 0xf571, 0xf599, 0xf571, 0xf5d7, 0xf589, -0xf5d7, 0xf589, 0xf5d7, 0xf589, 0xf54d, 0xf4d6, 0xf54d, 0xf4d6, 0xf709, 0xf666, 0xf709, -0xf666, 0xf832, 0xf762, 0xf832, 0xf762, 0xf91a, 0xf81b, 0xf91a, 0xf81b, 0xfa26, 0xf8f8, -0xfa26, 0xf8f8, 0xfa26, 0xf8f8, 0xfcd2, 0xfb76, 0xfcd2, 0xfb76, 0xfe72, 0xfceb, 0xfe72, -0xfceb, 0xfe9e, 0xfcef, 0xfe9e, 0xfcef, 0xff57, 0xfd84, 0xff57, 0xfd84, 0x6e, 0xfe7d, -0x6e, 0xfe7d, 0xfffb, 0xfdf1, 0xfffb, 0xfdf1, 0xfffb, 0xfdf1, 0x156, 0xff3a, 0x156, -0xff3a, 0x1b4, 0xff8f, 0x1b4, 0xff8f, 0x2dd, 0xb4, 0x2dd, 0xb4, 0x3cb, 0x1a8, -0x3cb, 0x1a8, 0x46b, 0x253, 0x46b, 0x253, 0x61e, 0x419, 0x61e, 0x419, 0x61e, -0x419, 0x628, 0x43a, 0x628, 0x43a, 0x616, 0x444, 0x616, 0x444, 0x5b8, 0x405, -0x5b8, 0x405, 0x717, 0x584, 0x717, 0x584, 0x70d, 0x59b, 0x70d, 0x59b, 0x70d, -0x59b, 0x7a5, 0x652, 0x7a5, 0x652, 0x77f, 0x648, 0x77f, 0x648, 0x6f6, 0x5d6, -0x6f6, 0x5d6, 0x6c7, 0x5b9, 0x6c7, 0x5b9, 0x730, 0x62d, 0x730, 0x62d, 0x68d, -0x58e, 0x68d, 0x58e, 0x68d, 0x58e, 0x75e, 0x65c, 0x75e, 0x65c, 0x6fc, 0x5ef, -0x6fc, 0x5ef, 0x55a, 0x43c, 0x55a, 0x43c, 0x664, 0x52d, 0x664, 0x52d, 0x730, -0x5db, 0x730, 0x5db, 0x73b, 0x5c4, 0x73b, 0x5c4, 0x73b, 0x5c4, 0x717, 0x57a, -0x717, 0x57a, 0x88a, 0x6c7, 0x88a, 0x6c7, 0x99e, 0x7b4, 0x99e, 0x7b4, 0xbd9, -0x9cb, 0xbd9, 0x9cb, 0xc96, 0xa67, 0xc96, 0xa67, 0xc96, 0xa67, 0xc2a, 0x9df, -0xc2a, 0x9df, 0xb51, 0x8f0, 0xb51, 0x8f0, 0xcb9, 0xa4a, 0xcb9, 0xa4a, 0xd78, -0xb02, 0xd78, 0xb02, 0xe20, 0xbac, 0xe20, 0xbac, 0xee6, 0xc7c, 0xee6, 0xc7c, -0xee6, 0xc7c, 0xed4, 0xc7e, 0xed4, 0xc7e, 0x100a, 0xdce, 0x100a, 0xdce, 0x1029, -0xe0f, 0x1029, 0xe0f, 0xfb9, 0xdc8, 0xfb9, 0xdc8, 0xef3, 0xd2f, 0xef3, 0xd2f, -0xef3, 0xd2f, 0xd4a, 0xbb7, 0xd4a, 0xbb7, 0xc1c, 0xabc, 0xc1c, 0xabc, 0xc73, -0xb48, 0xc73, 0xb48, 0xbb0, 0xab9, 0xbb0, 0xab9, 0xc62, 0xb9d, 0xc62, 0xb9d, -0xb9f, 0xb0b, 0xb9f, 0xb0b, 0xb9f, 0xb0b, 0xb9e, 0xb37, 0xb9e, 0xb37, 0xc61, -0xc23, 0xc61, 0xc23, 0xc5d, 0xc45, 0xc5d, 0xc45, 0xbbf, 0xbc9, 0xbbf, 0xbc9, -0xabe, 0xae6, 0xabe, 0xae6, 0xa33, 0xa74, 0xa33, 0xa74, 0xa33, 0xa74, 0x94d, -0x9a5, 0x94d, 0x9a5, 0x923, 0x98f, 0x923, 0x98f, 0xa6e, 0xaec, 0xa6e, 0xaec, -0x9e8, 0xa76, 0x9e8, 0xa76, 0x8c5, 0x963, 0x8c5, 0x963, 0x8c5, 0x963, 0x87d, -0x92a, 0x87d, 0x92a, 0x63c, 0x6f9, 0x63c, 0x6f9, 0x4b3, 0x57f, 0x4b3, 0x57f, -0x1a4, 0x281, 0x1a4, 0x281, 0xe, 0xfa, 0xe, 0xfa, 0xff4e, 0x4b, 0xff4e, -0x4b, 0xff4e, 0x4b, 0xfe5d, 0xff69, 0xfe5d, 0xff69, 0xfc9a, 0xfdb5, 0xfc9a, 0xfdb5, -0xfc09, 0xfd30, 0xfc09, 0xfd30, 0xfb87, 0xfcb8, 0xfb87, 0xfcb8, 0xfa62, 0xfb99, 0xfa62, -0xfb99, 0xfa46, 0xfb7f, 0xfa46, 0xfb7f, 0xfa46, 0xfb7f, 0xf987, 0xfabb, 0xf987, 0xfabb, -0xf84a, 0xf974, 0xf84a, 0xf974, 0xf81e, 0xf937, 0xf81e, 0xf937, 0xf843, 0xf943, 0xf843, -0xf943, 0xf713, 0xf7f4, 0xf713, 0xf7f4, 0xf713, 0xf7f4, 0xf7e2, 0xf89b, 0xf7e2, 0xf89b, -0xf784, 0xf80e, 0xf784, 0xf80e, 0xf78e, 0xf7e3, 0xf78e, 0xf7e3, 0xf88a, 0xf8a4, 0xf88a, -0xf8a4, 0xf942, 0xf91b, 0xf942, 0xf91b, 0xf8f6, 0xf88a, 0xf8f6, 0xf88a, 0xf8f6, 0xf88a, -0xfa45, 0xf990, 0xfa45, 0xf990, 0xfb27, 0xfa28, 0xfb27, 0xfa28, 0xfcc1, 0xfb77, 0xfcc1, -0xfb77, 0xff86, 0xfdf1, 0xff86, 0xfdf1, 0x1e2, 0x3, 0x1e2, 0x3, 0x3aa, 0x183, -0x3aa, 0x183, 0x3aa, 0x183, 0x479, 0x20d, 0x479, 0x20d, 0x6eb, 0x440, 0x6eb, -0x440, 0x8a4, 0x5bd, 0x8a4, 0x5bd, 0xab2, 0x794, 0xab2, 0x794, 0xb9a, 0x84b, -0xb9a, 0x84b, 0xb9a, 0x84b, 0xd68, 0x9ed, 0xd68, 0x9ed, 0x1027, 0xc85, 0x1027, -0xc85, 0x12b4, 0xeef, 0x12b4, 0xeef, 0x1479, 0x1097, 0x1479, 0x1097, 0x1584, 0x1189, -0x1584, 0x1189, 0x14b0, 0x10a1, 0x14b0, 0x10a1, 0x14b0, 0x10a1, 0x1641, 0x1221, 0x1641, -0x1221, 0x18b5, 0x1489, 0x18b5, 0x1489, 0x1925, 0x14f0, 0x1925, 0x14f0, 0x19fd, 0x15c1, -0x19fd, 0x15c1, 0x19fe, 0x15bf, 0x19fe, 0x15bf, 0x1af9, 0x16bb, 0x1af9, 0x16bb, 0x1af9, -0x16bb, 0x1c54, 0x1819, 0x1c54, 0x1819, 0x1d06, 0x18d1, 0x1d06, 0x18d1, 0x1d49, 0x191e, -0x1d49, 0x191e, 0x1e76, 0x1a58, 0x1e76, 0x1a58, 0x1e9b, 0x1a8d, 0x1e9b, 0x1a8d, 0x1e9b, -0x1a8d, 0x1e45, 0x1a4b, 0x1e45, 0x1a4b, 0x1e79, 0x1a97, 0x1e79, 0x1a97, 0x1f8d, 0x1bc5, -0x1f8d, 0x1bc5, 0x1e6a, 0x1ac1, 0x1e6a, 0x1ac1, 0x1d6e, 0x19e5, 0x1d6e, 0x19e5, 0x1d3d, -0x19d8, 0x1d3d, 0x19d8, 0x1d3d, 0x19d8, 0x1d8c, 0x1a4c, 0x1d8c, 0x1a4c, 0x1d9e, 0x1a83, -0x1d9e, 0x1a83, 0x1b6f, 0x187c, 0x1b6f, 0x187c, 0x1903, 0x1637, 0x1903, 0x1637, 0x17e5, -0x1541, 0x17e5, 0x1541, 0x16d5, 0x1458, 0x16d5, 0x1458, 0x16d5, 0x1458, 0x1475, 0x121d, -0x1475, 0x121d, 0x137e, 0x1149, 0x137e, 0x1149, 0x1226, 0x1013, 0x1226, 0x1013, 0x1227, -0x1034, 0x1227, 0x1034, 0x12ef, 0x111a, 0x12ef, 0x111a, 0x12ef, 0x111a, 0x1290, 0x10d8, -0x1290, 0x10d8, 0x10e1, 0xf45, 0x10e1, 0xf45, 0x105a, 0xed9, 0x105a, 0xed9, 0xeac, -0xd47, 0xeac, 0xd47, 0xcb0, 0xb68, 0xcb0, 0xb68, 0xb3b, 0xa11, 0xb3b, 0xa11, -0xb3b, 0xa11, 0x952, 0x84a, 0x952, 0x84a, 0x835, 0x751, 0x835, 0x751, 0x875, -0x7b9, 0x875, 0x7b9, 0x7c1, 0x732, 0x7c1, 0x732, 0x5fe, 0x5a2, 0x5fe, 0x5a2, -0x645, 0x620, 0x645, 0x620, 0x645, 0x620, 0x539, 0x54f, 0x539, 0x54f, 0x3cb, -0x422, 0x3cb, 0x422, 0x136, 0x1d0, 0x136, 0x1d0, 0xff5a, 0x3a, 0xff5a, 0x3a, -0xfde3, 0xff0b, 0xfde3, 0xff0b, 0xfde3, 0xff0b, 0xfd96, 0xff05, 0xfd96, 0xff05, 0xfcdd, -0xfe92, 0xfcdd, 0xfe92, 0xfc09, 0xfe01, 0xfc09, 0xfe01, 0xfb01, 0xfd37, 0xfb01, 0xfd37, -0xf8fd, 0xfb6b, 0xf8fd, 0xfb6b, 0xf791, 0xfa2f, 0xf791, 0xfa2f, 0xf791, 0xfa2f, 0xf5c5, -0xf88a, 0xf5c5, 0xf88a, 0xf3fa, 0xf6de, 0xf3fa, 0xf6de, 0xf3d9, 0xf6d0, 0xf3d9, 0xf6d0, -0xf385, 0xf684, 0xf385, 0xf684, 0xf14a, 0xf446, 0xf14a, 0xf446, 0xf2b0, 0xf59e, 0xf2b0, -0xf59e, 0xf2b0, 0xf59e, 0xf3a1, 0xf677, 0xf3a1, 0xf677, 0xf38b, 0xf640, 0xf38b, 0xf640, -0xf344, 0xf5cf, 0xf344, 0xf5cf, 0xf33a, 0xf595, 0xf33a, 0xf595, 0xf3f3, 0xf619, 0xf3f3, -0xf619, 0xf3f3, 0xf619, 0xf599, 0xf787, 0xf599, 0xf787, 0xf5d2, 0xf787, 0xf5d2, 0xf787, -0xf463, 0xf5df, 0xf463, 0xf5df, 0xf46b, 0xf5af, 0xf46b, 0xf5af, 0xf57d, 0xf68e, 0xf57d, -0xf68e, 0xf55f, 0xf642, 0xf55f, 0xf642, 0xf55f, 0xf642, 0xf50f, 0xf5c9, 0xf50f, 0xf5c9, -0xf4f8, 0xf591, 0xf4f8, 0xf591, 0xf3b4, 0xf434, 0xf3b4, 0xf434, 0xf3e5, 0xf452, 0xf3e5, -0xf452, 0xf3a8, 0xf40b, 0xf3a8, 0xf40b, 0xf466, 0xf4c5, 0xf466, 0xf4c5, 0xf466, 0xf4c5, -0xf4e9, 0xf54c, 0xf4e9, 0xf54c, 0xf444, 0xf4b0, 0xf444, 0xf4b0, 0xf362, 0xf3dc, 0xf362, -0xf3dc, 0xf324, 0xf3af, 0xf324, 0xf3af, 0xf1c4, 0xf265, 0xf1c4, 0xf265, 0xf1c4, 0xf265, -0xf0f2, 0xf1a9, 0xf0f2, 0xf1a9, 0xf0ba, 0xf188, 0xf0ba, 0xf188, 0xef80, 0xf066, 0xef80, -0xf066, 0xef69, 0xf065, 0xef69, 0xf065, 0xf130, 0xf241, 0xf130, 0xf241, 0xf20f, 0xf335, -0xf20f, 0xf335, 0xf20f, 0xf335, 0xf168, 0xf2a0, 0xf168, 0xf2a0, 0xf18e, 0xf2d8, 0xf18e, -0xf2d8, 0xf062, 0xf1bb, 0xf062, 0xf1bb, 0xf026, 0xf18f, 0xf026, 0xf18f, 0xf09c, 0xf214, -0xf09c, 0xf214, 0xf09c, 0xf214, 0xefea, 0xf172, 0xefea, 0xf172, 0xef78, 0xf111, 0xef78, -0xf111, 0xf120, 0xf2ca, 0xf120, 0xf2ca, 0xf0c5, 0xf283, 0xf0c5, 0xf283, 0xf0b3, 0xf287, -0xf0b3, 0xf287, 0xf0ac, 0xf299, 0xf0ac, 0xf299, 0xf0ac, 0xf299, 0xf03c, 0xf243, 0xf03c, -0xf243, 0xf014, 0xf239, 0xf014, 0xf239, 0xef12, 0xf155, 0xef12, 0xf155, 0xedb2, 0xf015, -0xedb2, 0xf015, 0xebfb, 0xee7e, 0xebfb, 0xee7e, 0xebfc, 0xee9f, 0xebfc, 0xee9f, 0xebfc, -0xee9f, 0xeb5b, 0xee1c, 0xeb5b, 0xee1c, 0xea2e, 0xed0c, 0xea2e, 0xed0c, 0xe919, 0xec10, -0xe919, 0xec10, 0xe95c, 0xec67, 0xe95c, 0xec67, 0xea70, 0xed8a, 0xea70, 0xed8a, 0xea70, -0xed8a, 0xeb05, 0xee28, 0xeb05, 0xee28, 0xe974, 0xec9a, 0xe974, 0xec9a, 0xea1f, 0xed42, -0xea1f, 0xed42, 0xe97c, 0xec94, 0xe97c, 0xec94, 0xe816, 0xeb1c, 0xe816, 0xeb1c, 0xea04, -0xecf2, 0xea04, 0xecf2, 0xea04, 0xecf2, 0xeb03, 0xedd3, 0xeb03, 0xedd3, 0xeb83, 0xee30, -0xeb83, 0xee30, 0xed33, 0xefba, 0xed33, 0xefba, 0xeefe, 0xf15a, 0xeefe, 0xf15a, 0xf0a5, -0xf2d5, 0xf0a5, 0xf2d5, 0xf39b, 0xf59e, 0xf39b, 0xf59e, 0xf39b, 0xf59e, 0xf4a9, 0xf67f, -0xf4a9, 0xf67f, 0xf4f1, 0xf69d, 0xf4f1, 0xf69d, 0xf60a, 0xf78d, 0xf60a, 0xf78d, 0xf7de, -0xf93d, 0xf7de, 0xf93d, 0xf8a6, 0xf9e3, 0xf8a6, 0xf9e3, 0xf8a6, 0xf9e3, 0xfb2f, 0xfc4f, -0xfb2f, 0xfc4f, 0xfc77, 0xfd80, 0xfc77, 0xfd80, 0xfbf4, 0xfce9, 0xfbf4, 0xfce9, 0xfd4f, -0xfe37, 0xfd4f, 0xfe37, 0xff0f, 0xffee, 0xff0f, 0xffee, 0xffd7, 0xb2, 0xffd7, 0xb2, -0xffd7, 0xb2, 0xfeaa, 0xff84, 0xfeaa, 0xff84, 0xfc62, 0xfd3f, 0xfc62, 0xfd3f, 0xfbbd, -0xfca0, 0xfbbd, 0xfca0, 0xfcc9, 0xfdb4, 0xfcc9, 0xfdb4, 0xfbd3, 0xfcc8, 0xfbd3, 0xfcc8, -0xfb6e, 0xfc6d, 0xfb6e, 0xfc6d, 0xfb6e, 0xfc6d, 0xfaef, 0xfbfa, 0xfaef, 0xfbfa, 0xf942, -0xfa58, 0xf942, 0xfa58, 0xf824, 0xf944, 0xf824, 0xf944, 0xf87b, 0xf9a6, 0xf87b, 0xf9a6, -0xf6ae, 0xf7e2, 0xf6ae, 0xf7e2, 0xf6ae, 0xf7e2, 0xf55f, 0xf69b, 0xf55f, 0xf69b, 0xf566, -0xf6a9, 0xf566, 0xf6a9, 0xf4a5, 0xf5ee, 0xf4a5, 0xf5ee, 0xf523, 0xf670, 0xf523, 0xf670, -0xf671, 0xf7c2, 0xf671, 0xf7c2, 0xf579, 0xf6ca, 0xf579, 0xf6ca, 0xf579, 0xf6ca, 0xf4c2, -0xf613, 0xf4c2, 0xf613, 0xf5df, 0xf72e, 0xf5df, 0xf72e, 0xf567, 0xf6b2, 0xf567, 0xf6b2, -0xf5ae, 0xf6f3, 0xf5ae, 0xf6f3, 0xf55e, 0xf69b, 0xf55e, 0xf69b, 0xf448, 0xf57b, 0xf448, -0xf57b, 0xf448, 0xf57b, 0xf390, 0xf4b4, 0xf390, 0xf4b4, 0xf3a7, 0xf4bb, 0xf3a7, 0xf4bb, -0xf2b9, 0xf3b9, 0xf2b9, 0xf3b9, 0xf215, 0xf2ff, 0xf215, 0xf2ff, 0xf16f, 0xf240, 0xf16f, -0xf240, 0xf16f, 0xf240, 0xf134, 0xf1e7, 0xf134, 0xf1e7, 0xf1c0, 0xf253, 0xf1c0, 0xf253, -0xf227, 0xf299, 0xf227, 0xf299, 0xf2ca, 0xf318, 0xf2ca, 0xf318, 0xf51c, 0xf545, 0xf51c, -0xf545, 0xf708, 0xf70c, 0xf708, 0xf70c, 0xf708, 0xf70c, 0xf7be, 0xf79d, 0xf7be, 0xf79d, -0xf9f6, 0xf9b1, 0xf9f6, 0xf9b1, 0xf993, 0xf92d, 0xf993, 0xf92d, 0xf9a8, 0xf924, 0xf9a8, -0xf924, 0xfb9c, 0xfafd, 0xfb9c, 0xfafd, 0xfc77, 0xfbc3, 0xfc77, 0xfbc3, 0xfc77, 0xfbc3, -0xfc8e, 0xfbca, 0xfc8e, 0xfbca, 0xfeba, 0xfdea, 0xfeba, 0xfdea, 0x2e, 0xff5a, 0x2e, -0xff5a, 0x22c, 0x159, 0x22c, 0x159, 0x487, 0x3bb, 0x487, 0x3bb, 0x487, 0x3bb, -0x4d7, 0x417, 0x4d7, 0x417, 0x53a, 0x48a, 0x53a, 0x48a, 0x72a, 0x68f, 0x72a, -0x68f, 0x801, 0x77c, 0x801, 0x77c, 0x7b8, 0x74b, 0x7b8, 0x74b, 0x9f8, 0x9a2, -0x9f8, 0x9a2, 0x9f8, 0x9a2, 0xa63, 0xa23, 0xa63, 0xa23, 0x9a5, 0x979, 0x9a5, -0x979, 0x9d5, 0x9b8, 0x9d5, 0x9b8, 0xad3, 0xabf, 0xad3, 0xabf, 0xbec, 0xbdd, -0xbec, 0xbdd, 0xc67, 0xc55, 0xc67, 0xc55, 0xc67, 0xc55, 0xaa6, 0xa8a, 0xaa6, -0xa8a, 0xab4, 0xa88, 0xab4, 0xa88, 0xb57, 0xb12, 0xb57, 0xb12, 0xa3c, 0x9d9, -0xa3c, 0x9d9, 0x983, 0x8fb, 0x983, 0x8fb, 0x983, 0x8fb, 0x8cb, 0x81b, 0x8cb, -0x81b, 0x881, 0x7a4, 0x881, 0x7a4, 0xa52, 0x946, 0xa52, 0x946, 0xcc8, 0xb8c, -0xcc8, 0xb8c, 0xca4, 0xb39, 0xca4, 0xb39, 0xd67, 0xbd0, 0xd67, 0xbd0, 0xd67, -0xbd0, 0xe86, 0xcc6, 0xe86, 0xcc6, 0xe93, 0xcaf, 0xe93, 0xcaf, 0xefb, 0xcfa, -0xefb, 0xcfa, 0xfb9, 0xda1, 0xfb9, 0xda1, 0xe8d, 0xc66, 0xe8d, 0xc66, 0xf79, -0xd4b, 0xf79, 0xd4b, 0xf79, 0xd4b, 0x10c7, 0xe9b, 0x10c7, 0xe9b, 0x1060, 0xe3c, -0x1060, 0xe3c, 0x10e4, 0xed2, 0x10e4, 0xed2, 0x10e7, 0xeeb, 0x10e7, 0xeeb, 0xf82, -0xda4, 0xf82, 0xda4, 0xf82, 0xda4, 0xe30, 0xc74, 0xe30, 0xc74, 0xd5e, 0xbc8, -0xd5e, 0xbc8, 0xc88, 0xb1a, 0xc88, 0xb1a, 0xbe5, 0xaa2, 0xbe5, 0xaa2, 0xada, -0x9c2, 0xada, 0x9c2, 0xa4e, 0x960, 0xa4e, 0x960, 0xa4e, 0x960, 0x9ff, 0x93a, -0x9ff, 0x93a, 0xa4d, 0x9b0, 0xa4d, 0x9b0, 0xa1e, 0x9a7, 0xa1e, 0x9a7, 0x9f1, -0x99e, 0x9f1, 0x99e, 0x7a4, 0x772, 0x7a4, 0x772, 0x69b, 0x689, 0x69b, 0x689, -0x69b, 0x689, 0x75c, 0x768, 0x75c, 0x768, 0x5c3, 0x5eb, 0x5c3, 0x5eb, 0x4b7, -0x4fa, 0x4b7, 0x4fa, 0x626, 0x683, 0x626, 0x683, 0x61b, 0x693, 0x61b, 0x693, -0x61b, 0x693, 0x4c6, 0x558, 0x4c6, 0x558, 0x39a, 0x447, 0x39a, 0x447, 0x133, -0x1fc, 0x133, 0x1fc, 0x6f, 0x154, 0x6f, 0x154, 0xffa0, 0xa0, 0xffa0, 0xa0, -0xfe0f, 0xff2a, 0xfe0f, 0xff2a, 0xfe0f, 0xff2a, 0xfd20, 0xfe54, 0xfd20, 0xfe54, 0xfdf3, -0xff3e, 0xfdf3, 0xff3e, 0xfd26, 0xfe86, 0xfd26, 0xfe86, 0xfc45, 0xfdb5, 0xfc45, 0xfdb5, -0xfc8f, 0xfe0a, 0xfc8f, 0xfe0a, 0xfc8f, 0xfe0a, 0xfbc3, 0xfd44, 0xfbc3, 0xfd44, 0xfafa, -0xfc79, 0xfafa, 0xfc79, 0xfb84, 0xfcf9, 0xfb84, 0xfcf9, 0xfb3f, 0xfca2, 0xfb3f, 0xfca2, -0xfaf8, 0xfc40, 0xfaf8, 0xfc40, 0xfb43, 0xfc66, 0xfb43, 0xfc66, 0xfb43, 0xfc66, 0xfaa2, -0xfb96, 0xfaa2, 0xfb96, 0xfb55, 0xfc12, 0xfb55, 0xfc12, 0xfaca, 0xfb48, 0xfaca, 0xfb48, -0xfa05, 0xfa3b, 0xfa05, 0xfa3b, 0xf9f1, 0xf9d9, 0xf9f1, 0xf9d9, 0xf9d5, 0xf96a, 0xf9d5, -0xf96a, 0xf9d5, 0xf96a, 0xf9b1, 0xf8ee, 0xf9b1, 0xf8ee, 0xfc6a, 0xfb4d, 0xfc6a, 0xfb4d, -0xff64, 0xfded, 0xff64, 0xfded, 0x98, 0xfec6, 0x98, 0xfec6, 0x267, 0x3e, 0x267, -0x3e, 0x267, 0x3e, 0x467, 0x1ea, 0x467, 0x1ea, 0x5b2, 0x2e6, 0x5b2, 0x2e6, -0x77b, 0x466, 0x77b, 0x466, 0x899, 0x542, 0x899, 0x542, 0x84d, 0x4bc, 0x84d, -0x4bc, 0xab1, 0x6ef, 0xab1, 0x6ef, 0xab1, 0x6ef, 0xd44, 0x95a, 0xd44, 0x95a, -0xef9, 0xaef, 0xef9, 0xaef, 0x10c5, 0xca4, 0x10c5, 0xca4, 0x1251, 0xe21, 0x1251, -0xe21, 0x1351, 0xf1a, 0x1351, 0xf1a, 0x14e9, 0x10b2, 0x14e9, 0x10b2, 0x14e9, 0x10b2, -0x161b, 0x11ea, 0x161b, 0x11ea, 0x1692, 0x126d, 0x1692, 0x126d, 0x16c8, 0x12b2, 0x16c8, -0x12b2, 0x1726, 0x1325, 0x1726, 0x1325, 0x176d, 0x1383, 0x176d, 0x1383, 0x176d, 0x1383, -0x1845, 0x1475, 0x1845, 0x1475, 0x1938, 0x1584, 0x1938, 0x1584, 0x1a43, 0x16ac, 0x1a43, -0x16ac, 0x1b22, 0x17a8, 0x1b22, 0x17a8, 0x1aaf, 0x1754, 0x1aaf, 0x1754, 0x1c42, 0x1906, -0x1c42, 0x1906, 0x1c42, 0x1906, 0x1d0f, 0x19f2, 0x1d0f, 0x19f2, 0x1ba4, 0x18a5, 0x1ba4, -0x18a5, 0x1b30, 0x1850, 0x1b30, 0x1850, 0x1bad, 0x18eb, 0x1bad, 0x18eb, 0x1b09, 0x1864, -0x1b09, 0x1864, 0x1b7c, 0x18f4, 0x1b7c, 0x18f4, 0x1b7c, 0x18f4, 0x1b85, 0x1919, 0x1b85, -0x1919, 0x1a5e, 0x180d, 0x1a5e, 0x180d, 0x1a0f, 0x17d8, 0x1a0f, 0x17d8, 0x1a2e, 0x180f, -0x1a2e, 0x180f, 0x1888, 0x1680, 0x1888, 0x1680, 0x1888, 0x1680, 0x166e, 0x147c, 0x166e, -0x147c, 0x15da, 0x13fc, 0x15da, 0x13fc, 0x150f, 0x1344, 0x150f, 0x1344, 0x14cf, 0x1314, -0x14cf, 0x1314, 0x1505, 0x1359, 0x1505, 0x1359, 0x149f, 0x1301, 0x149f, 0x1301, 0x149f, -0x1301, 0x1431, 0x12a1, 0x1431, 0x12a1, 0x1460, 0x12dc, 0x1460, 0x12dc, 0x12f3, 0x117c, -0x12f3, 0x117c, 0x119e, 0x1033, 0x119e, 0x1033, 0xf07, 0xdaa, 0xf07, 0xdaa, 0xd84, -0xc36, 0xd84, 0xc36, 0xd84, 0xc36, 0xd47, 0xc0c, 0xd47, 0xc0c, 0xb9a, 0xa73, -0xb9a, 0xa73, 0x9f3, 0x8e5, 0x9f3, 0x8e5, 0x8d5, 0x7e2, 0x8d5, 0x7e2, 0x88c, -0x7ba, 0x88c, 0x7ba, 0x88c, 0x7ba, 0x7c7, 0x719, 0x7c7, 0x719, 0x6cd, 0x649, -0x6cd, 0x649, 0x545, 0x4ee, 0x545, 0x4ee, 0x386, 0x35f, 0x386, 0x35f, 0x230, -0x23e, 0x230, 0x23e, 0xa7, 0xec, 0xa7, 0xec, 0xa7, 0xec, 0xfee3, 0xff5f, -0xfee3, 0xff5f, 0xfed6, 0xff8a, 0xfed6, 0xff8a, 0xfc89, 0xfd76, 0xfc89, 0xfd76, 0xf959, -0xfa7c, 0xf959, 0xfa7c, 0xf7d3, 0xf927, 0xf7d3, 0xf927, 0xf67b, 0xf7fe, 0xf67b, 0xf7fe, -0xf67b, 0xf7fe, 0xf4ff, 0xf6ab, 0xf4ff, 0xf6ab, 0xf302, 0xf4d0, 0xf302, 0xf4d0, 0xf1e8, -0xf3d1, 0xf1e8, 0xf3d1, 0xf132, 0xf32e, 0xf132, 0xf32e, 0xf109, 0xf311, 0xf109, 0xf311, -0xf109, 0xf311, 0xf17a, 0xf384, 0xf17a, 0xf384, 0xf070, 0xf275, 0xf070, 0xf275, 0xee96, -0xf08e, 0xee96, 0xf08e, 0xee5e, 0xf043, 0xee5e, 0xf043, 0xee6a, 0xf034, 0xee6a, 0xf034, -0xeee2, 0xf08d, 0xeee2, 0xf08d, 0xeee2, 0xf08d, 0xee9f, 0xf028, 0xee9f, 0xf028, 0xeef7, -0xf05a, 0xeef7, 0xf05a, 0xefb6, 0xf0f2, 0xefb6, 0xf0f2, 0xf023, 0xf139, 0xf023, 0xf139, -0xf164, 0xf255, 0xf164, 0xf255, 0xf0f9, 0xf1c7, 0xf0f9, 0xf1c7, 0xf0f9, 0xf1c7, 0xef28, -0xefd7, 0xef28, 0xefd7, 0xeeab, 0xef40, 0xeeab, 0xef40, 0xee83, 0xef02, 0xee83, 0xef02, -0xeecc, 0xef3c, 0xeecc, 0xef3c, 0xefb5, 0xf01a, 0xefb5, 0xf01a, 0xefb5, 0xf01a, 0xefbe, -0xf01d, 0xefbe, 0xf01d, 0xf0ed, 0xf14d, 0xf0ed, 0xf14d, 0xf2a2, 0xf307, 0xf2a2, 0xf307, -0xf3a4, 0xf412, 0xf3a4, 0xf412, 0xf325, 0xf3a1, 0xf325, 0xf3a1, 0xf30e, 0xf39a, 0xf30e, -0xf39a, 0xf30e, 0xf39a, 0xf38d, 0xf42b, 0xf38d, 0xf42b, 0xf252, 0xf304, 0xf252, 0xf304, -0xf1f4, 0xf2bc, 0xf1f4, 0xf2bc, 0xf419, 0xf4f6, 0xf419, 0xf4f6, 0xf44e, 0xf541, 0xf44e, -0xf541, 0xf3d7, 0xf4df, 0xf3d7, 0xf4df, 0xf3d7, 0xf4df, 0xf41b, 0xf538, 0xf41b, 0xf538, -0xf4e8, 0xf619, 0xf4e8, 0xf619, 0xf58a, 0xf6cf, 0xf58a, 0xf6cf, 0xf457, 0xf5af, 0xf457, -0xf5af, 0xf4f3, 0xf65f, 0xf4f3, 0xf65f, 0xf4f3, 0xf65f, 0xf5b3, 0xf733, 0xf5b3, 0xf733, -0xf5bd, 0xf753, 0xf5bd, 0xf753, 0xf562, 0xf70e, 0xf562, 0xf70e, 0xf4f1, 0xf6b6, 0xf4f1, -0xf6b6, 0xf4d7, 0xf6b6, 0xf4d7, 0xf6b6, 0xf494, 0xf68f, 0xf494, 0xf68f, 0xf494, 0xf68f, -0xf4ca, 0xf6e3, 0xf4ca, 0xf6e3, 0xf4e0, 0xf71a, 0xf4e0, 0xf71a, 0xf377, 0xf5d1, 0xf377, -0xf5d1, 0xf2fa, 0xf577, 0xf2fa, 0xf577, 0xf281, 0xf521, 0xf281, 0xf521, 0xf12c, 0xf3ed, -0xf12c, 0xf3ed, 0xf12c, 0xf3ed, 0xf020, 0xf301, 0xf020, 0xf301, 0xee69, 0xf168, 0xee69, -0xf168, 0xedd6, 0xf0ef, 0xedd6, 0xf0ef, 0xed90, 0xf0bf, 0xed90, 0xf0bf, 0xed46, 0xf086, -0xed46, 0xf086, 0xed46, 0xf086, 0xed2f, 0xf079, 0xed2f, 0xf079, 0xed47, 0xf095, 0xed47, -0xf095, 0xecbe, 0xf008, 0xecbe, 0xf008, 0xebb0, 0xeeef, 0xebb0, 0xeeef, 0xeb11, 0xee3e, -0xeb11, 0xee3e, 0xeb4d, 0xee60, 0xeb4d, 0xee60, 0xeb4d, 0xee60, 0xea3a, 0xed2d, 0xea3a, -0xed2d, 0xe963, 0xec2f, 0xe963, 0xec2f, 0xeaa6, 0xed46, 0xeaa6, 0xed46, 0xec54, 0xeec3, -0xec54, 0xeec3, 0xee61, 0xf09d, 0xee61, 0xf09d, 0xee61, 0xf09d, 0xef7d, 0xf184, 0xef7d, -0xf184, 0xf0d7, 0xf2a8, 0xf0d7, 0xf2a8, 0xf1d5, 0xf372, 0xf1d5, 0xf372, 0xf29a, 0xf404, -0xf29a, 0xf404, 0xf4da, 0xf615, 0xf4da, 0xf615, 0xf598, 0xf6a8, 0xf598, 0xf6a8, 0xf598, -0xf6a8, 0xf514, 0xf5fe, 0xf514, 0xf5fe, 0xf6a5, 0xf76f, 0xf6a5, 0xf76f, 0xf8c5, 0xf976, -0xf8c5, 0xf976, 0xfb08, 0xfba7, 0xfb08, 0xfba7, 0xfb9e, 0xfc32, 0xfb9e, 0xfc32, 0xfb00, -0xfb8f, 0xfb00, 0xfb8f, 0xfb00, 0xfb8f, 0xfb4f, 0xfbe0, 0xfb4f, 0xfbe0, 0xfbe9, 0xfc83, -0xfbe9, 0xfc83, 0xfc59, 0xfcff, 0xfc59, 0xfcff, 0xfbe7, 0xfca0, 0xfbe7, 0xfca0, 0xfc2d, -0xfcfc, 0xfc2d, 0xfcfc, 0xfc2d, 0xfcfc, 0xfc70, 0xfd58, 0xfc70, 0xfd58, 0xfb99, 0xfc9c, -0xfb99, 0xfc9c, 0xfba3, 0xfcc4, 0xfba3, 0xfcc4, 0xfb8f, 0xfccd, 0xfb8f, 0xfccd, 0xfa03, -0xfb5f, 0xfa03, 0xfb5f, 0xf93a, 0xfab2, 0xf93a, 0xfab2, 0xf93a, 0xfab2, 0xf8ec, 0xfa7f, -0xf8ec, 0xfa7f, 0xf935, 0xfae2, 0xf935, 0xfae2, 0xf98f, 0xfb52, 0xf98f, 0xfb52, 0xf9a9, -0xfb80, 0xf9a9, 0xfb80, 0xf9f8, 0xfbe0, 0xf9f8, 0xfbe0, 0xf9df, 0xfbd5, 0xf9df, 0xfbd5, -0xf9df, 0xfbd5, 0xf9dc, 0xfbdc, 0xf9dc, 0xfbdc, 0xfa23, 0xfc2b, 0xfa23, 0xfc2b, 0xf96b, -0xfb76, 0xf96b, 0xfb76, 0xf7d2, 0xf9dc, 0xf7d2, 0xf9dc, 0xf6c9, 0xf8ce, 0xf6c9, 0xf8ce, -0xf6c9, 0xf8ce, 0xf71a, 0xf916, 0xf71a, 0xf916, 0xf76e, 0xf95c, 0xf76e, 0xf95c, 0xf728, -0xf905, 0xf728, 0xf905, 0xf769, 0xf930, 0xf769, 0xf930, 0xf668, 0xf815, 0xf668, 0xf815, -0xf61e, 0xf7ad, 0xf61e, 0xf7ad, 0xf61e, 0xf7ad, 0xf5d8, 0xf745, 0xf5d8, 0xf745, 0xf461, -0xf5a7, 0xf461, 0xf5a7, 0xf3d6, 0xf4f2, 0xf3d6, 0xf4f2, 0xf467, 0xf556, 0xf467, 0xf556, -0xf5e4, 0xf6a3, 0xf5e4, 0xf6a3, 0xf719, 0xf7a7, 0xf719, 0xf7a7, 0xf719, 0xf7a7, 0xf7cd, -0xf828, 0xf7cd, 0xf828, 0xf973, 0xf99b, 0xf973, 0xf99b, 0xfa74, 0xfa68, 0xfa74, 0xfa68, -0xfa6f, 0xfa31, 0xfa6f, 0xfa31, 0xfab8, 0xfa4b, 0xfab8, 0xfa4b, 0xfab8, 0xfa4b, 0xfa9f, -0xfa05, 0xfa9f, 0xfa05, 0xfb61, 0xfa9e, 0xfb61, 0xfa9e, 0xfc11, 0xfb2a, 0xfc11, 0xfb2a, -0xfdb7, 0xfcb2, 0xfdb7, 0xfcb2, 0xff8b, 0xfe6d, 0xff8b, 0xfe6d, 0x8b, 0xff5a, 0x8b, -0xff5a, 0x8b, 0xff5a, 0x261, 0x123, 0x261, 0x123, 0x313, 0x1ce, 0x313, 0x1ce, -0x3ab, 0x266, 0x3ab, 0x266, 0x544, 0x403, 0x544, 0x403, 0x51e, 0x3e7, 0x51e, -0x3e7, 0x4d6, 0x3ac, 0x4d6, 0x3ac, 0x4d6, 0x3ac, 0x537, 0x41d, 0x537, 0x41d, -0x5b8, 0x4af, 0x5b8, 0x4af, 0x783, 0x68c, 0x783, 0x68c, 0x806, 0x721, 0x806, -0x721, 0x80a, 0x736, 0x80a, 0x736, 0x80a, 0x736, 0x8c3, 0x7fc, 0x8c3, 0x7fc, -0x9a0, 0x8e4, 0x9a0, 0x8e4, 0x9e6, 0x931, 0x9e6, 0x931, 0x937, 0x885, 0x937, -0x885, 0x934, 0x87f, 0x934, 0x87f, 0x92b, 0x86f, 0x92b, 0x86f, 0x92b, 0x86f, -0x934, 0x86d, 0x934, 0x86d, 0xa6e, 0x997, 0xa6e, 0x997, 0xb22, 0xa37, 0xb22, -0xa37, 0xb9b, 0xa9a, 0xb9b, 0xa9a, 0xc5d, 0xb44, 0xc5d, 0xb44, 0xcf5, 0xbc3, -0xcf5, 0xbc3, 0xcf5, 0xbc3, 0xef0, 0xda6, 0xef0, 0xda6, 0xf84, 0xe24, 0xf84, -0xe24, 0xeb1, 0xd3c, 0xeb1, 0xd3c, 0xfc7, 0xe41, 0xfc7, 0xe41, 0x10ab, 0xf18, -0x10ab, 0xf18, 0x10ab, 0xf18, 0x112a, 0xf90, 0x112a, 0xf90, 0x116d, 0xfd1, 0x116d, -0xfd1, 0x11b6, 0x101e, 0x11b6, 0x101e, 0x11e1, 0x1053, 0x11e1, 0x1053, 0x10a8, 0xf2a, -0x10a8, 0xf2a, 0x1042, 0xed9, 0x1042, 0xed9, 0x1042, 0xed9, 0xf95, 0xe48, 0xf95, -0xe48, 0xf7b, 0xe4c, 0xf7b, 0xe4c, 0xf06, 0xdfb, 0xf06, 0xdfb, 0xd06, 0xc22, -0xd06, 0xc22, 0xd07, 0xc4b, 0xd07, 0xc4b, 0xcc8, 0xc36, 0xcc8, 0xc36, 0xcc8, -0xc36, 0xbe1, 0xb79, 0xbe1, 0xb79, 0xb2e, 0xaf0, 0xb2e, 0xaf0, 0x973, 0x95f, -0x973, 0x95f, 0x80a, 0x81d, 0x80a, 0x81d, 0x6e0, 0x719, 0x6e0, 0x719, 0x6e0, -0x719, 0x5fc, 0x658, 0x5fc, 0x658, 0x59b, 0x618, 0x59b, 0x618, 0x4bc, 0x559, -0x4bc, 0x559, 0x4d6, 0x58f, 0x4d6, 0x58f, 0x511, 0x5e4, 0x511, 0x5e4, 0x3a6, -0x492, 0x3a6, 0x492, 0x3a6, 0x492, 0x18d, 0x290, 0x18d, 0x290, 0x1f, 0x137, -0x1f, 0x137, 0xfece, 0xfffb, 0xfece, 0xfffb, 0xfcab, 0xfdeb, 0xfcab, 0xfdeb, 0xfb35, -0xfc88, 0xfb35, 0xfc88, 0xfb0a, 0xfc6d, 0xfb0a, 0xfc6d, 0xfb0a, 0xfc6d, 0xf9f0, 0xfb63, -0xf9f0, 0xfb63, 0xf905, 0xfa86, 0xf905, 0xfa86, 0xf9c7, 0xfb54, 0xf9c7, 0xfb54, 0xf894, -0xfa2c, 0xf894, 0xfa2c, 0xf7dc, 0xf97a, 0xf7dc, 0xf97a, 0xf7dc, 0xf97a, 0xf782, 0xf923, -0xf782, 0xf923, 0xf688, 0xf827, 0xf688, 0xf827, 0xf73b, 0xf8d3, 0xf73b, 0xf8d3, 0xf695, -0xf81f, 0xf695, 0xf81f, 0xf6ab, 0xf821, 0xf6ab, 0xf821, 0xf81e, 0xf97a, 0xf81e, 0xf97a, -0xf81e, 0xf97a, 0xf8d4, 0xfa0d, 0xf8d4, 0xfa0d, 0xf8be, 0xf9ce, 0xf8be, 0xf9ce, 0xf820, -0xf8ff, 0xf820, 0xf8ff, 0xf87d, 0xf924, 0xf87d, 0xf924, 0xf842, 0xf8a9, 0xf842, 0xf8a9, -0xf850, 0xf872, 0xf850, 0xf872, 0xf850, 0xf872, 0xfa1d, 0xf9f4, 0xfa1d, 0xf9f4, 0xfbe4, -0xfb6c, 0xfbe4, 0xfb6c, 0xfe48, 0xfd7c, 0xfe48, 0xfd7c, 0x32, 0xff12, 0x32, 0xff12, -0x1fb, 0x85, 0x1fb, 0x85, 0x1fb, 0x85, 0x56a, 0x39f, 0x56a, 0x39f, 0x6ec, -0x4ce, 0x6ec, 0x4ce, 0x7b6, 0x548, 0x7b6, 0x548, 0x95d, 0x6a3, 0x95d, 0x6a3, -0xa5d, 0x75c, 0xa5d, 0x75c, 0xb96, 0x855, 0xb96, 0x855, 0xb96, 0x855, 0xd41, -0x9c5, 0xd41, 0x9c5, 0xefe, 0xb4e, 0xefe, 0xb4e, 0xf93, 0xbb7, 0xf93, 0xbb7, -0x10fc, 0xcfb, 0x10fc, 0xcfb, 0x1316, 0xef8, 0x1316, 0xef8, 0x1316, 0xef8, 0x141e, -0xfe9, 0x141e, 0xfe9, 0x1538, 0x10f4, 0x1538, 0x10f4, 0x15dd, 0x118f, 0x15dd, 0x118f, -0x16a0, 0x124e, 0x16a0, 0x124e, 0x1790, 0x133f, 0x1790, 0x133f, 0x17a2, 0x1357, 0x17a2, -0x1357, 0x17a2, 0x1357, 0x184c, 0x140b, 0x184c, 0x140b, 0x191b, 0x14e7, 0x191b, 0x14e7, -0x1927, 0x1503, 0x1927, 0x1503, 0x19b7, 0x15a5, 0x19b7, 0x15a5, 0x1a26, 0x1628, 0x1a26, -0x1628, 0x1a6a, 0x1681, 0x1a6a, 0x1681, 0x1a6a, 0x1681, 0x1ac3, 0x16f2, 0x1ac3, 0x16f2, -0x1aad, 0x16f4, 0x1aad, 0x16f4, 0x1ac4, 0x1725, 0x1ac4, 0x1725, 0x1b35, 0x17b0, 0x1b35, -0x17b0, 0x1b01, 0x1797, 0x1b01, 0x1797, 0x1b01, 0x1797, 0x1a40, 0x16f3, 0x1a40, 0x16f3, -0x19a7, 0x1676, 0x19a7, 0x1676, 0x18e9, 0x15d5, 0x18e9, 0x15d5, 0x17bf, 0x14c8, 0x17bf, -0x14c8, 0x1703, 0x142a, 0x1703, 0x142a, 0x16cc, 0x1410, 0x16cc, 0x1410, 0x16cc, 0x1410, -0x14d9, 0x123a, 0x14d9, 0x123a, 0x14a2, 0x121f, 0x14a2, 0x121f, 0x154d, 0x12e7, 0x154d, -0x12e7, 0x13b6, 0x116a, 0x13b6, 0x116a, 0x1393, 0x1161, 0x1393, 0x1161, 0x12ec, 0x10d1, -0x12ec, 0x10d1, 0x12ec, 0x10d1, 0x1291, 0x108e, 0x1291, 0x108e, 0x1287, 0x1098, 0x1287, -0x1098, 0x1106, 0xf2c, 0x1106, 0xf2c, 0x1014, 0xe4d, 0x1014, 0xe4d, 0xf66, 0xdb2, -0xf66, 0xdb2, 0xf66, 0xdb2, 0xf49, 0xda8, 0xf49, 0xda8, 0xe0b, 0xc7c, 0xe0b, -0xc7c, 0xcae, 0xb34, 0xcae, 0xb34, 0xcbc, 0xb57, 0xcbc, 0xb57, 0xc1e, 0xad1, -0xc1e, 0xad1, 0xb9c, 0xa6a, 0xb9c, 0xa6a, 0xb9c, 0xa6a, 0xb61, 0xa4d, 0xb61, -0xa4d, 0xaaa, 0x9b9, 0xaaa, 0x9b9, 0x9d3, 0x908, 0x9d3, 0x908, 0x7cb, 0x72b, -0x7cb, 0x72b, 0x68f, 0x61e, 0x68f, 0x61e, 0x624, 0x5e8, 0x624, 0x5e8, 0x624, -0x5e8, 0x42f, 0x42a, 0x42f, 0x42a, 0x2e2, 0x319, 0x2e2, 0x319, 0x19d, 0x212, -0x19d, 0x212, 0xff19, 0xffcd, 0xff19, 0xffcd, 0xfc7d, 0xfd72, 0xfc7d, 0xfd72, 0xfc7d, -0xfd72, 0xfac7, 0xfbfc, 0xfac7, 0xfbfc, 0xf8d8, 0xfa4c, 0xf8d8, 0xfa4c, 0xf5c6, 0xf776, -0xf5c6, 0xf776, 0xf441, 0xf629, 0xf441, 0xf629, 0xf3bb, 0xf5d5, 0xf3bb, 0xf5d5, 0xf315, -0xf55b, 0xf315, 0xf55b, 0xf315, 0xf55b, 0xf38f, 0xf5fa, 0xf38f, 0xf5fa, 0xf322, 0xf5a9, -0xf322, 0xf5a9, 0xf287, 0xf523, 0xf287, 0xf523, 0xf28a, 0xf532, 0xf28a, 0xf532, 0xf100, -0xf3ab, 0xf100, 0xf3ab, 0xeffa, 0xf2a1, 0xeffa, 0xf2a1, 0xeffa, 0xf2a1, 0xef51, 0xf1ed, -0xef51, 0xf1ed, 0xefb3, 0xf23c, 0xefb3, 0xf23c, 0xf105, 0xf375, 0xf105, 0xf375, 0xf0ff, -0xf352, 0xf0ff, 0xf352, 0xf18e, 0xf3bf, 0xf18e, 0xf3bf, 0xf18e, 0xf3bf, 0xf1a4, 0xf3b2, -0xf1a4, 0xf3b2, 0xf0fe, 0xf2e9, 0xf0fe, 0xf2e9, 0xf08d, 0xf254, 0xf08d, 0xf254, 0xefaa, -0xf14f, 0xefaa, 0xf14f, 0xeef7, 0xf07b, 0xeef7, 0xf07b, 0xeee8, 0xf050, 0xeee8, 0xf050, -0xeee8, 0xf050, 0xefbc, 0xf10b, 0xefbc, 0xf10b, 0xf0a8, 0xf1e3, 0xf0a8, 0xf1e3, 0xf0bb, -0xf1e7, 0xf0bb, 0xf1e7, 0xf298, 0xf3b9, 0xf298, 0xf3b9, 0xf445, 0xf560, 0xf445, 0xf560, -0xf2a4, 0xf3be, 0xf2a4, 0xf3be, 0xf2a4, 0xf3be, 0xf313, 0xf430, 0xf313, 0xf430, 0xf3a5, -0xf4c9, 0xf3a5, 0xf4c9, 0xf2a6, 0xf3d4, 0xf2a6, 0xf3d4, 0xf299, 0xf3d3, 0xf299, 0xf3d3, -0xf1d1, 0xf319, 0xf1d1, 0xf319, 0xf1d1, 0xf319, 0xf239, 0xf390, 0xf239, 0xf390, 0xf2d5, -0xf43c, 0xf2d5, 0xf43c, 0xf26b, 0xf3e2, 0xf26b, 0xf3e2, 0xf273, 0xf3fa, 0xf273, 0xf3fa, -0xf31c, 0xf4b2, 0xf31c, 0xf4b2, 0xf501, 0xf6a6, 0xf501, 0xf6a6, 0xf501, 0xf6a6, 0xf584, -0xf736, 0xf584, 0xf736, 0xf554, 0xf714, 0xf554, 0xf714, 0xf66f, 0xf83b, 0xf66f, 0xf83b, -0xf635, 0xf80e, 0xf635, 0xf80e, 0xf6b6, 0xf89b, 0xf6b6, 0xf89b, 0xf7c5, 0xf9b6, 0xf7c5, -0xf9b6, 0xf7c5, 0xf9b6, 0xf7e2, 0xf9df, 0xf7e2, 0xf9df, 0xf7ed, 0xf9f7, 0xf7ed, 0xf9f7, -0xf6a9, 0xf8be, 0xf6a9, 0xf8be, 0xf6ad, 0xf8cf, 0xf6ad, 0xf8cf, 0xf649, 0xf877, 0xf649, -0xf877, 0xf649, 0xf877, 0xf4c3, 0xf6fe, 0xf4c3, 0xf6fe, 0xf4b0, 0xf6f8, 0xf4b0, 0xf6f8, -0xf3d6, 0xf629, 0xf3d6, 0xf629, 0xf28f, 0xf4ec, 0xf28f, 0xf4ec, 0xf1a8, 0xf40d, 0xf1a8, -0xf40d, 0xf19c, 0xf406, 0xf19c, 0xf406, 0xf19c, 0xf406, 0xf13b, 0xf3a8, 0xf13b, 0xf3a8, -0xefb3, 0xf220, 0xefb3, 0xf220, 0xef1d, 0xf185, 0xef1d, 0xf185, 0xedff, 0xf05f, 0xedff, -0xf05f, 0xed89, 0xefdc, 0xed89, 0xefdc, 0xee3c, 0xf07d, 0xee3c, 0xf07d, 0xee3c, 0xf07d, -0xed0a, 0xef35, 0xed0a, 0xef35, 0xed00, 0xef10, 0xed00, 0xef10, 0xee3c, 0xf02d, 0xee3c, -0xf02d, 0xeeeb, 0xf0b9, 0xeeeb, 0xf0b9, 0xefa7, 0xf14e, 0xefa7, 0xf14e, 0xefa7, 0xf14e, -0xefa7, 0xf126, 0xefa7, 0xf126, 0xf05c, 0xf1b1, 0xf05c, 0xf1b1, 0xf145, 0xf26e, 0xf145, -0xf26e, 0xf24f, 0xf34d, 0xf24f, 0xf34d, 0xf3a6, 0xf479, 0xf3a6, 0xf479, 0xf3cc, 0xf476, -0xf3cc, 0xf476, 0xf3cc, 0xf476, 0xf49f, 0xf522, 0xf49f, 0xf522, 0xf6af, 0xf70e, 0xf6af, -0xf70e, 0xf758, 0xf796, 0xf758, 0xf796, 0xf73e, 0xf761, 0xf73e, 0xf761, 0xf7ee, 0xf7f8, -0xf7ee, 0xf7f8, 0xf8a3, 0xf89a, 0xf8a3, 0xf89a, 0xf8a3, 0xf89a, 0xf835, 0xf81d, 0xf835, -0xf81d, 0xf6cd, 0xf6ab, 0xf6cd, 0xf6ab, 0xf840, 0xf818, 0xf840, 0xf818, 0xf8ea, 0xf8bf, -0xf8ea, 0xf8bf, 0xf7a2, 0xf779, 0xf7a2, 0xf779, 0xf7a2, 0xf779, 0xf92d, 0xf90a, 0xf92d, -0xf90a, 0xf909, 0xf8ee, 0xf909, 0xf8ee, 0xf7ea, 0xf7d8, 0xf7ea, 0xf7d8, 0xf73d, 0xf737, -0xf73d, 0xf737, 0xf58d, 0xf595, 0xf58d, 0xf595, 0xf4c9, 0xf4e0, 0xf4c9, 0xf4e0, 0xf4c9, -0xf4e0, 0xf41e, 0xf443, 0xf41e, 0xf443, 0xf45c, 0xf490, 0xf45c, 0xf490, 0xf4e1, 0xf524, -0xf4e1, 0xf524, 0xf5f0, 0xf641, 0xf5f0, 0xf641, 0xf834, 0xf891, 0xf834, 0xf891, 0xf834, -0xf891, 0xf8c1, 0xf92b, 0xf8c1, 0xf92b, 0xf9e4, 0xfa59, 0xf9e4, 0xfa59, 0xfab7, 0xfb35, -0xfab7, 0xfb35, 0xf961, 0xf9e7, 0xf961, 0xf9e7, 0xf913, 0xf99f, 0xf913, 0xf99f, 0xf910, -0xf99f, 0xf910, 0xf99f, 0xf910, 0xf99f, 0xf94e, 0xf9df, 0xf94e, 0xf9df, 0xf925, 0xf9b5, -0xf925, 0xf9b5, 0xf925, 0xf9b1, 0xf925, 0xf9b1, 0xfa42, 0xfac7, 0xfa42, 0xfac7, 0xf9e7, -0xfa63, 0xf9e7, 0xfa63, 0xf97b, 0xf9ea, 0xf97b, 0xf9ea, 0xf97b, 0xf9ea, 0xf8bc, 0xf91a, -0xf8bc, 0xf91a, 0xf721, 0xf76b, 0xf721, 0xf76b, 0xf68e, 0xf6c1, 0xf68e, 0xf6c1, 0xf6f1, -0xf709, 0xf6f1, 0xf709, 0xf7e7, 0xf7e2, 0xf7e7, 0xf7e2, 0xf7e7, 0xf7e2, 0xf81b, 0xf7f6, -0xf81b, 0xf7f6, 0xf8d8, 0xf890, 0xf8d8, 0xf890, 0xfa67, 0xf9fb, 0xfa67, 0xf9fb, 0xfa65, -0xf9d3, 0xfa65, 0xf9d3, 0xfb3d, 0xfa86, 0xfb3d, 0xfa86, 0xfc4a, 0xfb6d, 0xfc4a, 0xfb6d, -0xfc4a, 0xfb6d, 0xfbe9, 0xfae8, 0xfbe9, 0xfae8, 0xfc91, 0xfb6d, 0xfc91, 0xfb6d, 0xfd24, -0xfbe0, 0xfd24, 0xfbe0, 0xfe38, 0xfcd8, 0xfe38, 0xfcd8, 0xffea, 0xfe72, 0xffea, 0xfe72, -0xa2, 0xff16, 0xa2, 0xff16, 0xa2, 0xff16, 0x15a, 0xffbf, 0x15a, 0xffbf, 0x1be, -0x19, 0x1be, 0x19, 0x301, 0x158, 0x301, 0x158, 0x410, 0x269, 0x410, 0x269, -0x2f5, 0x154, 0x2f5, 0x154, 0x2f5, 0x154, 0x357, 0x1c1, 0x357, 0x1c1, 0x450, -0x2c9, 0x450, 0x2c9, 0x407, 0x293, 0x407, 0x293, 0x49a, 0x33c, 0x49a, 0x33c, -0x49f, 0x357, 0x49f, 0x357, 0x4aa, 0x379, 0x4aa, 0x379, 0x4aa, 0x379, 0x463, -0x349, 0x463, 0x349, 0x45e, 0x35a, 0x45e, 0x35a, 0x62a, 0x53a, 0x62a, 0x53a, -0x55b, 0x47b, 0x55b, 0x47b, 0x51f, 0x44c, 0x51f, 0x44c, 0x655, 0x58c, 0x655, -0x58c, 0x655, 0x58c, 0x54f, 0x489, 0x54f, 0x489, 0x597, 0x4d2, 0x597, 0x4d2, -0x664, 0x59b, 0x664, 0x59b, 0x6c7, 0x5f5, 0x6c7, 0x5f5, 0x746, 0x667, 0x746, -0x667, 0x746, 0x667, 0x7bc, 0x6cd, 0x7bc, 0x6cd, 0x904, 0x803, 0x904, 0x803, -0x9a7, 0x892, 0x9a7, 0x892, 0xb32, 0xa0a, 0xb32, 0xa0a, 0xcbf, 0xb82, 0xcbf, -0xb82, 0xcd9, 0xb89, 0xcd9, 0xb89, 0xcd9, 0xb89, 0xf09, 0xda9, 0xf09, 0xda9, -0x10ee, 0xf81, 0x10ee, 0xf81, 0x1128, 0xfb1, 0x1128, 0xfb1, 0x122c, 0x10b0, 0x122c, -0x10b0, 0x12c2, 0x1146, 0x12c2, 0x1146, 0x1330, 0x11ba, 0x1330, 0x11ba, 0x1330, 0x11ba, -0x1308, 0x119d, 0x1308, 0x119d, 0x122d, 0x10d2, 0x122d, 0x10d2, 0x11aa, 0x1065, 0x11aa, -0x1065, 0x110e, 0xfe5, 0x110e, 0xfe5, 0x115d, 0x1053, 0x115d, 0x1053, 0x115d, 0x1053, -0x111c, 0x1037, 0x111c, 0x1037, 0x105e, 0xfa2, 0x105e, 0xfa2, 0xfec, 0xf5c, 0xfec, -0xf5c, 0xe32, 0xdd0, 0xe32, 0xdd0, 0xc7f, 0xc4d, 0xc7f, 0xc4d, 0xa87, 0xa86, -0xa87, 0xa86, 0xa87, 0xa86, 0x936, 0x967, 0x936, 0x967, 0x884, 0x8e7, 0x884, -0x8e7, 0x753, 0x7e8, 0x753, 0x7e8, 0x7ee, 0x8b3, 0x7ee, 0x8b3, 0x7b8, 0x8ab, -0x7b8, 0x8ab, 0x66e, 0x78d, 0x66e, 0x78d, 0x66e, 0x78d, 0x5b0, 0x6f9, 0x5b0, -0x6f9, 0x3ce, 0x53d, 0x3ce, 0x53d, 0x20d, 0x3a0, 0x20d, 0x3a0, 0x1d, 0x1d0, -0x1d, 0x1d0, 0xfe35, 0x4, 0xfe35, 0x4, 0xfe35, 0x4, 0xfcf4, 0xfedb, 0xfcf4, -0xfedb, 0xfb95, 0xfd91, 0xfb95, 0xfd91, 0xfba6, 0xfdb2, 0xfba6, 0xfdb2, 0xfbca, 0xfde0, -0xfbca, 0xfde0, 0xfabe, 0xfcdb, 0xfabe, 0xfcdb, 0xfa50, 0xfc6f, 0xfa50, 0xfc6f, 0xfa50, -0xfc6f, 0xf954, 0xfb70, 0xf954, 0xfb70, 0xf792, 0xf9a7, 0xf792, 0xf9a7, 0xf694, 0xf89b, -0xf694, 0xf89b, 0xf5c2, 0xf7b7, 0xf5c2, 0xf7b7, 0xf5d3, 0xf7af, 0xf5d3, 0xf7af, 0xf588, -0xf747, 0xf588, 0xf747, 0xf588, 0xf747, 0xf5ab, 0xf748, 0xf5ab, 0xf748, 0xf77b, 0xf8f3, -0xf77b, 0xf8f3, 0xf6dc, 0xf829, 0xf6dc, 0xf829, 0xf663, 0xf780, 0xf663, 0xf780, 0xf6c0, -0xf7aa, 0xf6c0, 0xf7aa, 0xf6c0, 0xf7aa, 0xf6ac, 0xf760, 0xf6ac, 0xf760, 0xf820, 0xf89a, -0xf820, 0xf89a, 0xf89d, 0xf8db, 0xf89d, 0xf8db, 0xf9f7, 0xf9f7, 0xf9f7, 0xf9f7, 0xfcd5, -0xfc96, 0xfcd5, 0xfc96, 0xff31, 0xfeb3, 0xff31, 0xfeb3, 0xff31, 0xfeb3, 0x105, 0x47, -0x105, 0x47, 0x2a6, 0x1a8, 0x2a6, 0x1a8, 0x5c9, 0x48c, 0x5c9, 0x48c, 0x70a, -0x58f, 0x70a, 0x58f, 0x709, 0x553, 0x709, 0x553, 0x9cd, 0x7dd, 0x9cd, 0x7dd, -0x9cd, 0x7dd, 0xbfc, 0x9d3, 0xbfc, 0x9d3, 0xd46, 0xae9, 0xd46, 0xae9, 0xf76, -0xce7, 0xf76, 0xce7, 0x11b8, 0xef9, 0x11b8, 0xef9, 0x1384, 0x109a, 0x1384, 0x109a, -0x1384, 0x109a, 0x14cf, 0x11bd, 0x14cf, 0x11bd, 0x165b, 0x1325, 0x165b, 0x1325, 0x16ff, -0x13a8, 0x16ff, 0x13a8, 0x17a7, 0x1434, 0x17a7, 0x1434, 0x18fc, 0x1572, 0x18fc, 0x1572, -0x19e8, 0x164a, 0x19e8, 0x164a, 0x19e8, 0x164a, 0x1acb, 0x171e, 0x1acb, 0x171e, 0x1ab7, -0x1700, 0x1ab7, 0x1700, 0x1b74, 0x17b8, 0x1b74, 0x17b8, 0x1c38, 0x187b, 0x1c38, 0x187b, -0x1b56, 0x179e, 0x1b56, 0x179e, 0x1b2a, 0x177b, 0x1b2a, 0x177b, 0x1b2a, 0x177b, 0x1afd, -0x175c, 0x1afd, 0x175c, 0x1b23, 0x1795, 0x1b23, 0x1795, 0x1be1, 0x1869, 0x1be1, 0x1869, -0x1c14, 0x18b7, 0x1c14, 0x18b7, 0x1cc0, 0x1981, 0x1cc0, 0x1981, 0x1cc0, 0x1981, 0x1c73, -0x1954, 0x1c73, 0x1954, 0x1b08, 0x180c, 0x1b08, 0x180c, 0x1a30, 0x1758, 0x1a30, 0x1758, -0x18bd, 0x160a, 0x18bd, 0x160a, 0x1735, 0x14a8, 0x1735, 0x14a8, 0x1622, 0x13b9, 0x1622, -0x13b9, 0x1622, 0x13b9, 0x1565, 0x131f, 0x1565, 0x131f, 0x152e, 0x1309, 0x152e, 0x1309, -0x13fc, 0x11f6, 0x13fc, 0x11f6, 0x1327, 0x113d, 0x1327, 0x113d, 0x13dc, 0x120c, 0x13dc, -0x120c, 0x13dc, 0x120c, 0x1365, 0x11ab, 0x1365, 0x11ab, 0x1202, 0x105c, 0x1202, 0x105c, -0x108f, 0xefa, 0x108f, 0xefa, 0xefd, 0xd77, 0xefd, 0xd77, 0xd81, 0xc08, 0xd81, -0xc08, 0xac4, 0x957, 0xac4, 0x957, 0xac4, 0x957, 0xa4f, 0x8ee, 0xa4f, 0x8ee, -0xa87, 0x934, 0xa87, 0x934, 0x8cb, 0x786, 0x8cb, 0x786, 0x8de, 0x7aa, 0x8de, -0x7aa, 0x893, 0x775, 0x893, 0x775, 0x873, 0x76d, 0x873, 0x76d, 0x873, 0x76d, -0x836, 0x74e, 0x836, 0x74e, 0x6ef, 0x629, 0x6ef, 0x629, 0x645, 0x5a7, 0x645, -0x5a7, 0x4e4, 0x473, 0x4e4, 0x473, 0x42b, 0x3ec, 0x42b, 0x3ec, 0x42b, 0x3ec, -0x318, 0x310, 0x318, 0x310, 0x1c4, 0x1f6, 0x1c4, 0x1f6, 0x158, 0x1c8, 0x158, -0x1c8, 0xffcd, 0x7d, 0xffcd, 0x7d, 0xfe6d, 0xff5d, 0xfe6d, 0xff5d, 0xfd26, 0xfe56, -0xfd26, 0xfe56, 0xfd26, 0xfe56, 0xfae7, 0xfc54, 0xfae7, 0xfc54, 0xf8ec, 0xfa94, 0xf8ec, -0xfa94, 0xf762, 0xf941, 0xf762, 0xf941, 0xf6a2, 0xf8b2, 0xf6a2, 0xf8b2, 0xf60f, 0xf84a, -0xf60f, 0xf84a, 0xf5ae, 0xf80d, 0xf5ae, 0xf80d, 0xf5ae, 0xf80d, 0xf572, 0xf7ed, 0xf572, -0xf7ed, 0xf496, 0xf725, 0xf496, 0xf725, 0xf4b4, 0xf74d, 0xf4b4, 0xf74d, 0xf4a7, 0xf743, -0xf4a7, 0xf743, 0xf3ec, 0xf683, 0xf3ec, 0xf683, 0xf3ec, 0xf683, 0xf358, 0xf5e3, 0xf358, -0xf5e3, 0xf277, 0xf4f0, 0xf277, 0xf4f0, 0xf2a5, 0xf505, 0xf2a5, 0xf505, 0xf2be, 0xf503, -0xf2be, 0xf503, 0xf203, 0xf428, 0xf203, 0xf428, 0xf258, 0xf45c, 0xf258, 0xf45c, 0xf258, -0xf45c, 0xf1df, 0xf3c0, 0xf1df, 0xf3c0, 0xf0ba, 0xf279, 0xf0ba, 0xf279, 0xf0d9, 0xf277, -0xf0d9, 0xf277, 0xf0b7, 0xf237, 0xf0b7, 0xf237, 0xf0e6, 0xf24a, 0xf0e6, 0xf24a, 0xf0c3, -0xf20f, 0xf0c3, 0xf20f, 0xf0c3, 0xf20f, 0xf130, 0xf266, 0xf130, 0xf266, 0xf24a, 0xf36f, -0xf24a, 0xf36f, 0xf1f3, 0xf30b, 0xf1f3, 0xf30b, 0xf28f, 0xf39e, 0xf28f, 0xf39e, 0xf2cd, -0xf3d5, 0xf2cd, 0xf3d5, 0xf2cd, 0xf3d5, 0xf272, 0xf376, 0xf272, 0xf376, 0xf31d, 0xf420, -0xf31d, 0xf420, 0xf2cd, 0xf3d2, 0xf2cd, 0xf3d2, 0xf288, 0xf38f, 0xf288, 0xf38f, 0xf2e7, -0xf3f1, 0xf2e7, 0xf3f1, 0xf29d, 0xf3ab, 0xf29d, 0xf3ab, 0xf29d, 0xf3ab, 0xf243, 0xf355, -0xf243, 0xf355, 0xf141, 0xf258, 0xf141, 0xf258, 0xf094, 0xf1af, 0xf094, 0xf1af, 0xf073, -0xf193, 0xf073, 0xf193, 0xefde, 0xf103, 0xefde, 0xf103, 0xf13b, 0xf266, 0xf13b, 0xf266, -0xf13b, 0xf266, 0xf1c2, 0xf2f3, 0xf1c2, 0xf2f3, 0xf16d, 0xf2a6, 0xf16d, 0xf2a6, 0xf2bf, -0xf401, 0xf2bf, 0xf401, 0xf33b, 0xf488, 0xf33b, 0xf488, 0xf409, 0xf562, 0xf409, 0xf562, -0xf409, 0xf562, 0xf4a4, 0xf60c, 0xf4a4, 0xf60c, 0xf3b5, 0xf52f, 0xf3b5, 0xf52f, 0xf2ed, -0xf47a, 0xf2ed, 0xf47a, 0xf292, 0xf434, 0xf292, 0xf434, 0xf2b7, 0xf472, 0xf2b7, 0xf472, -0xf23f, 0xf411, 0xf23f, 0xf411, 0xf23f, 0xf411, 0xf174, 0xf360, 0xf174, 0xf360, 0xf1c5, -0xf3c9, 0xf1c5, 0xf3c9, 0xf112, 0xf32e, 0xf112, 0xf32e, 0xf0b8, 0xf2ea, 0xf0b8, 0xf2ea, -0xf197, 0xf3dd, 0xf197, 0xf3dd, 0xf19f, 0xf3f4, 0xf19f, 0xf3f4, 0xf19f, 0xf3f4, 0xf109, -0xf36b, 0xf109, 0xf36b, 0xf051, 0xf2ba, 0xf051, 0xf2ba, 0xf0e3, 0xf34e, 0xf0e3, 0xf34e, -0xf0c0, 0xf328, 0xf0c0, 0xf328, 0xef8e, 0xf1ed, 0xef8e, 0xf1ed, 0xef8e, 0xf1ed, 0xeefb, -0xf14a, 0xeefb, 0xf14a, 0xeee0, 0xf11b, 0xeee0, 0xf11b, 0xefd1, 0xf1f3, 0xefd1, 0xf1f3, -0xf084, 0xf28a, 0xf084, 0xf28a, 0xf188, 0xf36c, 0xf188, 0xf36c, 0xf238, 0xf3f9, 0xf238, -0xf3f9, 0xf238, 0xf3f9, 0xf1bc, 0xf359, 0xf1bc, 0xf359, 0xf2e2, 0xf459, 0xf2e2, 0xf459, -0xf420, 0xf573, 0xf420, 0xf573, 0xf409, 0xf538, 0xf409, 0xf538, 0xf467, 0xf575, 0xf467, -0xf575, 0xf495, 0xf585, 0xf495, 0xf585, 0xf495, 0xf585, 0xf580, 0xf656, 0xf580, 0xf656, -0xf72d, 0xf7ed, 0xf72d, 0xf7ed, 0xf8ef, 0xf99d, 0xf8ef, 0xf99d, 0xfa5d, 0xfaff, 0xfa5d, -0xfaff, 0xfa2e, 0xfac7, 0xfa2e, 0xfac7, 0xfa2e, 0xfac7, 0xfa33, 0xfac8, 0xfa33, 0xfac8, -0xf99c, 0xfa30, 0xf99c, 0xfa30, 0xf8e3, 0xf97a, 0xf8e3, 0xf97a, 0xf93e, 0xf9da, 0xf93e, -0xf9da, 0xf8b4, 0xf957, 0xf8b4, 0xf957, 0xf8c1, 0xf96d, 0xf8c1, 0xf96d, 0xf8c1, 0xf96d, -0xf9b6, 0xfa6b, 0xf9b6, 0xfa6b, 0xf937, 0xf9f4, 0xf937, 0xf9f4, 0xf884, 0xf94a, 0xf884, -0xf94a, 0xf889, 0xf956, 0xf889, 0xf956, 0xf79e, 0xf870, 0xf79e, 0xf870, 0xf5eb, 0xf6c1, -0xf5eb, 0xf6c1, 0xf5eb, 0xf6c1, 0xf48d, 0xf564, 0xf48d, 0xf564, 0xf4c1, 0xf598, 0xf4c1, -0xf598, 0xf416, 0xf4ec, 0xf416, 0xf4ec, 0xf383, 0xf456, 0xf383, 0xf456, 0xf637, 0xf707, -0xf637, 0xf707, 0xf637, 0xf707, 0xf799, 0xf864, 0xf799, 0xf864, 0xf77e, 0xf844, 0xf77e, -0xf844, 0xf801, 0xf8c2, 0xf801, 0xf8c2, 0xf7e6, 0xf8a3, 0xf7e6, 0xf8a3, 0xf7ca, 0xf883, -0xf7ca, 0xf883, 0xf736, 0xf7eb, 0xf736, 0xf7eb, 0xf736, 0xf7eb, 0xf6d2, 0xf784, 0xf6d2, -0xf784, 0xf758, 0xf808, 0xf758, 0xf808, 0xf7f5, 0xf8a3, 0xf7f5, 0xf8a3, 0xf8d8, 0xf983, -0xf8d8, 0xf983, 0xf892, 0xf93b, 0xf892, 0xf93b, 0xf874, 0xf919, 0xf874, 0xf919, 0xf874, -0xf919, 0xf88f, 0xf92f, 0xf88f, 0xf92f, 0xf7c3, 0xf85c, 0xf7c3, 0xf85c, 0xf85e, 0xf8ef, -0xf85e, 0xf8ef, 0xf8c2, 0xf948, 0xf8c2, 0xf948, 0xf96b, 0xf9e2, 0xf96b, 0xf9e2, 0xf96b, -0xf9e2, 0xfa0c, 0xfa72, 0xfa0c, 0xfa72, 0xfaaf, 0xfb00, 0xfaaf, 0xfb00, 0xfc9e, 0xfcd8, -0xfc9e, 0xfcd8, 0xfd50, 0xfd70, 0xfd50, 0xfd70, 0xfe41, 0xfe46, 0xfe41, 0xfe46, 0xfea1, -0xfe88, 0xfea1, 0xfe88, 0xfea1, 0xfe88, 0xfe7a, 0xfe44, 0xfe7a, 0xfe44, 0xffe0, 0xff8c, -0xffe0, 0xff8c, 0x168, 0xf7, 0x168, 0xf7, 0x320, 0x293, 0x320, 0x293, 0x399, -0x2f5, 0x399, 0x2f5, 0x399, 0x2f5, 0x421, 0x367, 0x421, 0x367, 0x644, 0x579, -0x644, 0x579, 0x65d, 0x586, 0x65d, 0x586, 0x570, 0x492, 0x570, 0x492, 0x50b, -0x42a, 0x50b, 0x42a, 0x46a, 0x38d, 0x46a, 0x38d, 0x46a, 0x38d, 0x486, 0x3b1, -0x486, 0x3b1, 0x53b, 0x472, 0x53b, 0x472, 0x6e7, 0x62d, 0x6e7, 0x62d, 0x78a, -0x6e3, 0x78a, 0x6e3, 0x6e2, 0x64f, 0x6e2, 0x64f, 0x788, 0x70a, 0x788, 0x70a, -0x788, 0x70a, 0x7a1, 0x738, 0x7a1, 0x738, 0x71f, 0x6c9, 0x71f, 0x6c9, 0x73c, -0x6f6, 0x73c, 0x6f6, 0x637, 0x5fe, 0x637, 0x5fe, 0x59b, 0x569, 0x59b, 0x569, -0x59b, 0x569, 0x614, 0x5e4, 0x614, 0x5e4, 0x5c7, 0x594, 0x5c7, 0x594, 0x613, -0x5d6, 0x613, 0x5d6, 0x644, 0x5f7, 0x644, 0x5f7, 0x5fe, 0x59c, 0x5fe, 0x59c, -0x57d, 0x500, 0x57d, 0x500, 0x57d, 0x500, 0x536, 0x49a, 0x536, 0x49a, 0x61e, -0x55e, 0x61e, 0x55e, 0x56d, 0x487, 0x56d, 0x487, 0x5b4, 0x4a7, 0x5b4, 0x4a7, -0x816, 0x6e1, 0x816, 0x6e1, 0x912, 0x7b6, 0x912, 0x7b6, 0x912, 0x7b6, 0xac0, -0x940, 0xac0, 0x940, 0xd2f, 0xb8f, 0xd2f, 0xb8f, 0xe1c, 0xc5f, 0xe1c, 0xc5f, -0xeb8, 0xce4, 0xeb8, 0xce4, 0xf5d, 0xd79, 0xf5d, 0xd79, 0xf5d, 0xd79, 0xf6a, -0xd7c, 0xf6a, 0xd7c, 0xe95, 0xca5, 0xe95, 0xca5, 0xe20, 0xc34, 0xe20, 0xc34, -0xe95, 0xcb4, 0xe95, 0xcb4, 0xe2e, 0xc5e, 0xe2e, 0xc5e, 0xeb7, 0xcfe, 0xeb7, -0xcfe, 0xeb7, 0xcfe, 0xf9f, 0xe04, 0xf9f, 0xe04, 0xf48, 0xdce, 0xf48, 0xdce, -0xed2, 0xd7d, 0xed2, 0xd7d, 0xd9c, 0xc71, 0xd9c, 0xc71, 0xc6e, 0xb6d, 0xc6e, -0xb6d, 0xaca, 0x9f5, 0xaca, 0x9f5, 0xaca, 0x9f5, 0x9a7, 0x8fe, 0x9a7, 0x8fe, -0x9bf, 0x943, 0x9bf, 0x943, 0x917, 0x8c7, 0x917, 0x8c7, 0x8cc, 0x8a6, 0x8cc, -0x8a6, 0x8a4, 0x8a6, 0x8a4, 0x8a6, 0x8a4, 0x8a6, 0x87f, 0x8a9, 0x87f, 0x8a9, -0x839, 0x888, 0x839, 0x888, 0x6c7, 0x739, 0x6c7, 0x739, 0x4f0, 0x582, 0x4f0, -0x582, 0x277, 0x328, 0x277, 0x328, 0xaf, 0x17d, 0xaf, 0x17d, 0xaf, 0x17d, -0xff73, 0x5b, 0xff73, 0x5b, 0xfdba, 0xfebb, 0xfdba, 0xfebb, 0xfce6, 0xfdfe, 0xfce6, -0xfdfe, 0xfbc9, 0xfcf6, 0xfbc9, 0xfcf6, 0xfa77, 0xfbb6, 0xfa77, 0xfbb6, 0xf9c7, 0xfb15, -0xf9c7, 0xfb15, 0xf9c7, 0xfb15, 0xf95d, 0xfab8, 0xf95d, 0xfab8, 0xf93e, 0xfaa3, 0xf93e, -0xfaa3, 0xf872, 0xf9de, 0xf872, 0xf9de, 0xf7c2, 0xf930, 0xf7c2, 0xf930, 0xf7e1, 0xf94e, -0xf7e1, 0xf94e, 0xf7e1, 0xf94e, 0xf77b, 0xf8e2, 0xf77b, 0xf8e2, 0xf6e2, 0xf83e, 0xf6e2, -0xf83e, 0xf655, 0xf7a0, 0xf655, 0xf7a0, 0xf4de, 0xf614, 0xf4de, 0xf614, 0xf47c, 0xf597, -0xf47c, 0xf597, 0xf506, 0xf600, 0xf506, 0xf600, 0xf506, 0xf600, 0xf497, 0xf56b, 0xf497, -0xf56b, 0xf4ca, 0xf572, 0xf4ca, 0xf572, 0xf637, 0xf6af, 0xf637, 0xf6af, 0xf83b, 0xf880, -0xf83b, 0xf880, 0xf946, 0xf953, 0xf946, 0xf953, 0xfa89, 0xfa5b, 0xfa89, 0xfa5b, 0xfa89, -0xfa5b, 0xfcc7, 0xfc5b, 0xfcc7, 0xfc5b, 0xfd3f, 0xfc94, 0xfd3f, 0xfc94, 0xfe20, 0xfd35, -0xfe20, 0xfd35, 0x60, 0xff36, 0x60, 0xff36, 0x223, 0xba, 0x223, 0xba, 0x223, -0xba, 0x436, 0x290, 0x436, 0x290, 0x64d, 0x46c, 0x64d, 0x46c, 0x81b, 0x602, -0x81b, 0x602, 0xa21, 0x7d4, 0xa21, 0x7d4, 0xbec, 0x96e, 0xbec, 0x96e, 0xd69, -0xabe, 0xd69, 0xabe, 0xd69, 0xabe, 0xeb7, 0xbe4, 0xeb7, 0xbe4, 0x1043, 0xd4d, -0x1043, 0xd4d, 0x1151, 0xe3c, 0x1151, 0xe3c, 0x11e7, 0xeb8, 0x11e7, 0xeb8, 0x1413, -0x10ce, 0x1413, 0x10ce, 0x160c, 0x12b6, 0x160c, 0x12b6, 0x160c, 0x12b6, 0x173d, 0x13dc, -0x173d, 0x13dc, 0x1894, 0x152a, 0x1894, 0x152a, 0x198c, 0x161e, 0x198c, 0x161e, 0x1a99, -0x172a, 0x1a99, 0x172a, 0x1adb, 0x1770, 0x1adb, 0x1770, 0x1adb, 0x1770, 0x1bb6, 0x1851, -0x1bb6, 0x1851, 0x1ce2, 0x1987, 0x1ce2, 0x1987, 0x1d60, 0x1a11, 0x1d60, 0x1a11, 0x1e52, -0x1b11, 0x1e52, 0x1b11, 0x1e99, 0x1b6a, 0x1e99, 0x1b6a, 0x1ec4, 0x1ba7, 0x1ec4, 0x1ba7, -0x1ec4, 0x1ba7, 0x1e9e, 0x1b96, 0x1e9e, 0x1b96, 0x1e67, 0x1b74, 0x1e67, 0x1b74, 0x1dd5, -0x1af9, 0x1dd5, 0x1af9, 0x1bdc, 0x1917, 0x1bdc, 0x1917, 0x1b3e, 0x188f, 0x1b3e, 0x188f, -0x1a83, 0x17eb, 0x1a83, 0x17eb, 0x1a83, 0x17eb, 0x18b0, 0x162f, 0x18b0, 0x162f, 0x1790, -0x1524, 0x1790, 0x1524, 0x160d, 0x13b5, 0x160d, 0x13b5, 0x156b, 0x1327, 0x156b, 0x1327, -0x1585, 0x1353, 0x1585, 0x1353, 0x1585, 0x1353, 0x14d2, 0x12b1, 0x14d2, 0x12b1, 0x1434, -0x1223, 0x1434, 0x1223, 0x1327, 0x1124, 0x1327, 0x1124, 0x11d7, 0xfe2, 0x11d7, 0xfe2, -0x10a3, 0xebb, 0x10a3, 0xebb, 0xed9, 0xcff, 0xed9, 0xcff, 0xed9, 0xcff, 0xd5b, -0xb8f, 0xd5b, 0xb8f, 0xb96, 0x9da, 0xb96, 0x9da, 0x99e, 0x7f4, 0x99e, 0x7f4, -0x976, 0x7e0, 0x976, 0x7e0, 0x927, 0x7a7, 0x927, 0x7a7, 0x883, 0x71d, 0x883, -0x71d, 0x883, 0x71d, 0x85f, 0x717, 0x85f, 0x717, 0x7c9, 0x6a4, 0x7c9, 0x6a4, -0x702, 0x604, 0x702, 0x604, 0x4fc, 0x429, 0x4fc, 0x429, 0x3df, 0x33b, 0x3df, -0x33b, 0x3df, 0x33b, 0x2a6, 0x235, 0x2a6, 0x235, 0xff97, 0xff5c, 0xff97, 0xff5c, -0xfed3, 0xfecf, 0xfed3, 0xfecf, 0xfede, 0xff14, 0xfede, 0xff14, 0xfd6d, 0xfddd, 0xfd6d, -0xfddd, 0xfb34, 0xfbde, 0xfb34, 0xfbde, 0xfb34, 0xfbde, 0xf8c5, 0xf9a6, 0xf8c5, 0xf9a6, -0xf733, 0xf848, 0xf733, 0xf848, 0xf5f5, 0xf73a, 0xf5f5, 0xf73a, 0xf468, 0xf5d9, 0xf468, -0xf5d9, 0xf304, 0xf499, 0xf304, 0xf499, 0xf304, 0xf499, 0xf225, 0xf3d9, 0xf225, 0xf3d9, -0xf23b, 0xf405, 0xf23b, 0xf405, 0xf24f, 0xf427, 0xf24f, 0xf427, 0xf1f2, 0xf3d1, 0xf1f2, -0xf3d1, 0xf229, 0xf406, 0xf229, 0xf406, 0xf1b3, 0xf386, 0xf1b3, 0xf386, 0xf1b3, 0xf386, -0xf14a, 0xf30c, 0xf14a, 0xf30c, 0xf14b, 0xf2f7, 0xf14b, 0xf2f7, 0xf188, 0xf318, 0xf188, -0xf318, 0xf2ae, 0xf41d, 0xf2ae, 0xf41d, 0xf32f, 0xf47c, 0xf32f, 0xf47c, 0xf3af, 0xf4d7, -0xf3af, 0xf4d7, 0xf3af, 0xf4d7, 0xf41f, 0xf522, 0xf41f, 0xf522, 0xf445, 0xf524, 0xf445, -0xf524, 0xf460, 0xf51e, 0xf460, 0xf51e, 0xf3e7, 0xf487, 0xf3e7, 0xf487, 0xf3c7, 0xf44c, -0xf3c7, 0xf44c, 0xf3c7, 0xf44c, 0xf434, 0xf4a4, 0xf434, 0xf4a4, 0xf57e, 0xf5df, 0xf57e, -0xf5df, 0xf634, 0xf68b, 0xf634, 0xf68b, 0xf60b, 0xf65e, 0xf60b, 0xf65e, 0xf769, 0xf7bd, -0xf769, 0xf7bd, 0xf83f, 0xf89a, 0xf83f, 0xf89a, 0xf83f, 0xf89a, 0xf846, 0xf8ac, 0xf846, -0xf8ac, 0xf8d2, 0xf949, 0xf8d2, 0xf949, 0xf806, 0xf891, 0xf806, 0xf891, 0xf702, 0xf7a3, -0xf702, 0xf7a3, 0xf6e2, 0xf79a, 0xf6e2, 0xf79a, 0xf72e, 0xf800, 0xf72e, 0xf800, 0xf72e, -0xf800, 0xf73b, 0xf828, 0xf73b, 0xf828, 0xf6be, 0xf7c5, 0xf6be, 0xf7c5, 0xf6a0, 0xf7c2, -0xf6a0, 0xf7c2, 0xf652, 0xf78e, 0xf652, 0xf78e, 0xf56f, 0xf6c5, 0xf56f, 0xf6c5, 0xf56f, -0xf6c5, 0xf4d3, 0xf642, 0xf4d3, 0xf642, 0xf43d, 0xf5c4, 0xf43d, 0xf5c4, 0xf40c, 0xf5ab, -0xf40c, 0xf5ab, 0xf55f, 0xf715, 0xf55f, 0xf715, 0xf60f, 0xf7de, 0xf60f, 0xf7de, 0xf5fb, -0xf7e2, 0xf5fb, 0xf7e2, 0xf5fb, 0xf7e2, 0xf5f9, 0xf7fb, 0xf5f9, 0xf7fb, 0xf62d, 0xf84a, -0xf62d, 0xf84a, 0xf655, 0xf88e, 0xf655, 0xf88e, 0xf515, 0xf76c, 0xf515, 0xf76c, 0xf46d, -0xf6e2, 0xf46d, 0xf6e2, 0xf341, 0xf5d7, 0xf341, 0xf5d7, 0xf341, 0xf5d7, 0xf146, 0xf3fc, -0xf146, 0xf3fc, 0xf0d0, 0xf3a7, 0xf0d0, 0xf3a7, 0xf0e0, 0xf3d6, 0xf0e0, 0xf3d6, 0xf0d8, -0xf3ec, 0xf0d8, 0xf3ec, 0xf0f2, 0xf422, 0xf0f2, 0xf422, 0xf0f2, 0xf422, 0xf0a1, 0xf3eb, -0xf0a1, 0xf3eb, 0xf00d, 0xf36b, 0xf00d, 0xf36b, 0xf00d, 0xf37a, 0xf00d, 0xf37a, 0xef64, -0xf2dc, 0xef64, 0xf2dc, 0xede2, 0xf15d, 0xede2, 0xf15d, 0xeca9, 0xf022, 0xeca9, 0xf022, -0xeca9, 0xf022, 0xec3a, 0xefa9, 0xec3a, 0xefa9, 0xec12, 0xef71, 0xec12, 0xef71, 0xec98, -0xefe1, 0xec98, 0xefe1, 0xed92, 0xf0bd, 0xed92, 0xf0bd, 0xeda6, 0xf0af, 0xeda6, 0xf0af, -0xee18, 0xf0f9, 0xee18, 0xf0f9, 0xee18, 0xf0f9, 0xef60, 0xf216, 0xef60, 0xf216, 0xf11f, -0xf3a7, 0xf11f, 0xf3a7, 0xf1e0, 0xf439, 0xf1e0, 0xf439, 0xf20f, 0xf437, 0xf20f, 0xf437, -0xf341, 0xf53b, 0xf341, 0xf53b, 0xf341, 0xf53b, 0xf4c6, 0xf692, 0xf4c6, 0xf692, 0xf647, -0xf7e8, 0xf647, 0xf7e8, 0xf747, 0xf8c2, 0xf747, 0xf8c2, 0xf889, 0xf9e1, 0xf889, 0xf9e1, -0xf98e, 0xfac7, 0xf98e, 0xfac7, 0xf9ac, 0xfacc, 0xf9ac, 0xfacc, 0xf9ac, 0xfacc, 0xfaea, -0xfbf6, 0xfaea, 0xfbf6, 0xfb85, 0xfc82, 0xfb85, 0xfc82, 0xfb09, 0xfbfb, 0xfb09, 0xfbfb, -0xfb7f, 0xfc6a, 0xfb7f, 0xfc6a, 0xfb29, 0xfc10, 0xfb29, 0xfc10, 0xfb49, 0xfc2f, 0xfb49, -0xfc2f, 0xfb49, 0xfc2f, 0xfb8a, 0xfc72, 0xfb8a, 0xfc72, 0xfa73, 0xfb5e, 0xfa73, 0xfb5e, -0xf98d, 0xfa7b, 0xf98d, 0xfa7b, 0xf86e, 0xf95f, 0xf86e, 0xf95f, 0xf795, 0xf889, 0xf795, -0xf889, 0xf795, 0xf889, 0xf6c0, 0xf7b7, 0xf6c0, 0xf7b7, 0xf5da, 0xf6d2, 0xf5da, 0xf6d2, -0xf566, 0xf65e, 0xf566, 0xf65e, 0xf546, 0xf63d, 0xf546, 0xf63d, 0xf638, 0xf72c, 0xf638, -0xf72c, 0xf756, 0xf846, 0xf756, 0xf846, 0xf756, 0xf846, 0xf69f, 0xf78b, 0xf69f, 0xf78b, -0xf67e, 0xf765, 0xf67e, 0xf765, 0xf754, 0xf837, 0xf754, 0xf837, 0xf6ad, 0xf78c, 0xf6ad, -0xf78c, 0xf661, 0xf73c, 0xf661, 0xf73c, 0xf666, 0xf73e, 0xf666, 0xf73e, 0xf666, 0xf73e, -0xf746, 0xf81b, 0xf746, 0xf81b, 0xf77d, 0xf850, 0xf77d, 0xf850, 0xf6c9, 0xf79c, 0xf6c9, -0xf79c, 0xf731, 0xf803, 0xf731, 0xf803, 0xf5b4, 0xf686, 0xf5b4, 0xf686, 0xf5b4, 0xf686, -0xf444, 0xf515, 0xf444, 0xf515, 0xf4c1, 0xf590, 0xf4c1, 0xf590, 0xf500, 0xf5cc, 0xf500, -0xf5cc, 0xf4d4, 0xf59a, 0xf4d4, 0xf59a, 0xf4a0, 0xf560, 0xf4a0, 0xf560, 0xf537, 0xf5eb, -0xf537, 0xf5eb, 0xf537, 0xf5eb, 0xf687, 0xf72e, 0xf687, 0xf72e, 0xf772, 0xf808, 0xf772, -0xf808, 0xf820, 0xf8a2, 0xf820, 0xf8a2, 0xf833, 0xf89d, 0xf833, 0xf89d, 0xf8bf, 0xf90e, -0xf8bf, 0xf90e, 0xf96c, 0xf99d, 0xf96c, 0xf99d, 0xf96c, 0xf99d, 0xf93f, 0xf951, 0xf93f, -0xf951, 0xfb5d, 0xfb4f, 0xfb5d, 0xfb4f, 0xfd71, 0xfd42, 0xfd71, 0xfd42, 0xfe9e, 0xfe4f, -0xfe9e, 0xfe4f, 0xb6, 0x47, 0xb6, 0x47, 0xb6, 0x47, 0x28a, 0x1fe, 0x28a, -0x1fe, 0x440, 0x399, 0x440, 0x399, 0x49e, 0x3e1, 0x49e, 0x3e1, 0x4ab, 0x3dc, -0x4ab, 0x3dc, 0x503, 0x425, 0x503, 0x425, 0x510, 0x429, 0x510, 0x429, 0x510, -0x429, 0x643, 0x556, 0x643, 0x556, 0x735, 0x647, 0x735, 0x647, 0x7c9, 0x6dd, -0x7c9, 0x6dd, 0x896, 0x7b0, 0x896, 0x7b0, 0x92e, 0x84f, 0x92e, 0x84f, 0xac1, -0x9eb, 0xac1, 0x9eb, 0xac1, 0x9eb, 0xaad, 0x9df, 0xaad, 0x9df, 0x9f2, 0x92b, -0x9f2, 0x92b, 0xa8f, 0x9ce, 0xa8f, 0x9ce, 0x9d5, 0x916, 0x9d5, 0x916, 0x955, -0x896, 0x955, 0x896, 0x955, 0x896, 0x909, 0x844, 0x909, 0x844, 0x81c, 0x74d, -0x81c, 0x74d, 0x721, 0x644, 0x721, 0x644, 0x61c, 0x52b, 0x61c, 0x52b, 0x646, -0x53d, 0x646, 0x53d, 0x6ef, 0x5cc, 0x6ef, 0x5cc, 0x6ef, 0x5cc, 0x6c9, 0x588, -0x6c9, 0x588, 0x6d4, 0x573, 0x6d4, 0x573, 0x6eb, 0x56a, 0x6eb, 0x56a, 0x700, -0x561, 0x700, 0x561, 0x7a2, 0x5e5, 0x7a2, 0x5e5, 0x7a2, 0x5e5, 0x834, 0x65e, -0x834, 0x65e, 0xa57, 0x86c, 0xa57, 0x86c, 0xb7e, 0x984, 0xb7e, 0x984, 0xb84, -0x981, 0xb84, 0x981, 0xce5, 0xae2, 0xce5, 0xae2, 0xdb3, 0xbb7, 0xdb3, 0xbb7, -0xdb3, 0xbb7, 0xe6f, 0xc82, 0xe6f, 0xc82, 0xe3b, 0xc64, 0xe3b, 0xc64, 0xdee, -0xc35, 0xdee, 0xc35, 0xdd7, 0xc43, 0xdd7, 0xc43, 0xc30, 0xac7, 0xc30, 0xac7, -0xb6b, 0xa31, 0xb6b, 0xa31, 0xb6b, 0xa31, 0xb91, 0xa8b, 0xb91, 0xa8b, 0xb32, -0xa62, 0xb32, 0xa62, 0xab3, 0xa1a, 0xab3, 0xa1a, 0x9b8, 0x956, 0x9b8, 0x956, -0x907, 0x8da, 0x907, 0x8da, 0x907, 0x8da, 0x8a6, 0x8ad, 0x8a6, 0x8ad, 0x7e0, -0x818, 0x7e0, 0x818, 0x6bd, 0x720, 0x6bd, 0x720, 0x531, 0x5bd, 0x531, 0x5bd, -0x55a, 0x609, 0x55a, 0x609, 0x572, 0x63f, 0x572, 0x63f, 0x572, 0x63f, 0x483, -0x56a, 0x483, 0x56a, 0x435, 0x533, 0x435, 0x533, 0x2eb, 0x3fb, 0x2eb, 0x3fb, -0x1a8, 0x2c8, 0x1a8, 0x2c8, 0x7d, 0x1aa, 0x7d, 0x1aa, 0xff30, 0x67, 0xff30, -0x67, 0xff30, 0x67, 0xfe89, 0xffca, 0xfe89, 0xffca, 0xfe24, 0xff6e, 0xfe24, 0xff6e, -0xfdf3, 0xff44, 0xfdf3, 0xff44, 0xfccc, 0xfe26, 0xfccc, 0xfe26, 0xfc86, 0xfde8, 0xfc86, -0xfde8, 0xfc86, 0xfde8, 0xfd01, 0xfe6a, 0xfd01, 0xfe6a, 0xfbd5, 0xfd44, 0xfbd5, 0xfd44, -0xfb42, 0xfcb6, 0xfb42, 0xfcb6, 0xfb13, 0xfc8b, 0xfb13, 0xfc8b, 0xfb59, 0xfcd1, 0xfb59, -0xfcd1, 0xfbdf, 0xfd55, 0xfbdf, 0xfd55, 0xfbdf, 0xfd55, 0xfac7, 0xfc35, 0xfac7, 0xfc35, -0xfa5b, 0xfbbc, 0xfa5b, 0xfbbc, 0xf9ff, 0xfb4f, 0xf9ff, 0xfb4f, 0xf95c, 0xfa93, 0xf95c, -0xfa93, 0xf8f7, 0xfa0d, 0xf8f7, 0xfa0d, 0xf7fb, 0xf8ea, 0xf7fb, 0xf8ea, 0xf7fb, 0xf8ea, -0xf736, 0xf7f7, 0xf736, 0xf7f7, 0xf6c2, 0xf74e, 0xf6c2, 0xf74e, 0xf7c0, 0xf810, 0xf7c0, -0xf810, 0xf9d9, 0xf9e7, 0xf9d9, 0xf9e7, 0xfbc2, 0xfb89, 0xfbc2, 0xfb89, 0xfbc2, 0xfb89, -0xfdd2, 0xfd4d, 0xfdd2, 0xfd4d, 0xffb8, 0xfee5, 0xffb8, 0xfee5, 0xdb, 0xffb8, 0xdb, -0xffb8, 0x223, 0xb1, 0x223, 0xb1, 0x356, 0x196, 0x356, 0x196, 0x46e, 0x262, -0x46e, 0x262, 0x46e, 0x262, 0x626, 0x3d2, 0x626, 0x3d2, 0x760, 0x4c9, 0x760, -0x4c9, 0x93a, 0x667, 0x93a, 0x667, 0xb2a, 0x820, 0xb2a, 0x820, 0xd08, 0x9d0, -0xd08, 0x9d0, 0xf53, 0xbf3, 0xf53, 0xbf3, 0xf53, 0xbf3, 0xfb3, 0xc34, 0xfb3, -0xc34, 0xfd1, 0xc39, 0xfd1, 0xc39, 0x1063, 0xcba, 0x1063, 0xcba, 0x10ec, 0xd39, -0x10ec, 0xd39, 0x1278, 0xebf, 0x1278, 0xebf, 0x1278, 0xebf, 0x13f8, 0x1040, 0x13f8, -0x1040, 0x158a, 0x11d7, 0x158a, 0x11d7, 0x16cc, 0x1321, 0x16cc, 0x1321, 0x174e, 0x13af, -0x174e, 0x13af, 0x189e, 0x150d, 0x189e, 0x150d, 0x19df, 0x165d, 0x19df, 0x165d, 0x19df, -0x165d, 0x1aef, 0x177d, 0x1aef, 0x177d, 0x1b5c, 0x17fb, 0x1b5c, 0x17fb, 0x1af8, 0x17a8, -0x1af8, 0x17a8, 0x1bf8, 0x18b9, 0x1bf8, 0x18b9, 0x1c43, 0x1916, 0x1c43, 0x1916, 0x1c52, -0x1936, 0x1c52, 0x1936, 0x1c52, 0x1936, 0x1d34, 0x1a2a, 0x1d34, 0x1a2a, 0x1d35, 0x1a3e, -0x1d35, 0x1a3e, 0x1d91, 0x1aae, 0x1d91, 0x1aae, 0x1d26, 0x1a57, 0x1d26, 0x1a57, 0x1c4f, -0x1996, 0x1c4f, 0x1996, 0x1c4f, 0x1996, 0x1b56, 0x18b5, 0x1b56, 0x18b5, 0x19eb, 0x1763, -0x19eb, 0x1763, 0x19c6, 0x1759, 0x19c6, 0x1759, 0x197e, 0x172c, 0x197e, 0x172c, 0x19f0, -0x17bc, 0x19f0, 0x17bc, 0x1a0d, 0x17f7, 0x1a0d, 0x17f7, 0x1a0d, 0x17f7, 0x186f, 0x1678, -0x186f, 0x1678, 0x17d3, 0x15fc, 0x17d3, 0x15fc, 0x16ba, 0x1501, 0x16ba, 0x1501, 0x15c1, -0x1425, 0x15c1, 0x1425, 0x150c, 0x138d, 0x150c, 0x138d, 0x12ef, 0x118b, 0x12ef, 0x118b, -0x12ef, 0x118b, 0x114f, 0x1003, 0x114f, 0x1003, 0xfc5, 0xe8f, 0xfc5, 0xe8f, 0xec4, -0xda0, 0xec4, 0xda0, 0xe19, 0xd06, 0xe19, 0xd06, 0xcca, 0xbc3, 0xcca, 0xbc3, -0xcca, 0xbc3, 0xb9c, 0xaa0, 0xb9c, 0xaa0, 0x9f7, 0x903, 0x9f7, 0x903, 0x912, -0x823, 0x912, 0x823, 0x924, 0x839, 0x924, 0x839, 0x863, 0x779, 0x863, 0x779, -0x739, 0x650, 0x739, 0x650, 0x739, 0x650, 0x5c7, 0x4df, 0x5c7, 0x4df, 0x471, -0x387, 0x471, 0x387, 0x3e2, 0x2f9, 0x3e2, 0x2f9, 0x21d, 0x134, 0x21d, 0x134, -0x50, 0xff67, 0x50, 0xff67, 0xff5f, 0xfe77, 0xff5f, 0xfe77, 0xff5f, 0xfe77, 0xfe01, -0xfd1c, 0xfe01, 0xfd1c, 0xfd1b, 0xfc38, 0xfd1b, 0xfc38, 0xfba6, 0xfac6, 0xfba6, 0xfac6, -0xfb0c, 0xfa30, 0xfb0c, 0xfa30, 0xfacf, 0xf9f6, 0xfacf, 0xf9f6, 0xfacf, 0xf9f6, 0xf959, -0xf883, 0xf959, 0xf883, 0xf906, 0xf832, 0xf906, 0xf832, 0xf884, 0xf7b1, 0xf884, 0xf7b1, -0xf786, 0xf6b4, 0xf786, 0xf6b4, 0xf733, 0xf65f, 0xf733, 0xf65f, 0xf74d, 0xf677, 0xf74d, -0xf677, 0xf74d, 0xf677, 0xf7b2, 0xf6da, 0xf7b2, 0xf6da, 0xf7ec, 0xf710, 0xf7ec, 0xf710, -0xf8a4, 0xf7c4, 0xf8a4, 0xf7c4, 0xf972, 0xf88e, 0xf972, 0xf88e, 0xf9d6, 0xf8ef, 0xf9d6, -0xf8ef, 0xfaa9, 0xf9bf, 0xfaa9, 0xf9bf, 0xfaa9, 0xf9bf, 0xfa94, 0xf9aa, 0xfa94, 0xf9aa, -0xfa14, 0xf92d, 0xfa14, 0xf92d, 0xfa4a, 0xf96a, 0xfa4a, 0xf96a, 0xf992, 0xf8bd, 0xf992, -0xf8bd, 0xf8b3, 0xf7ee, 0xf8b3, 0xf7ee, 0xf8b3, 0xf7ee, 0xf844, 0xf795, 0xf844, 0xf795, -0xf89f, 0xf80c, 0xf89f, 0xf80c, 0xf921, 0xf8b0, 0xf921, 0xf8b0, 0xf926, 0xf8de, 0xf926, -0xf8de, 0xfa31, 0xfa17, 0xfa31, 0xfa17, 0xfa86, 0xfaa2, 0xfa86, 0xfaa2, 0xfa86, 0xfaa2, -0xfa54, 0xfaaa, 0xfa54, 0xfaaa, 0xfa2a, 0xfabf, 0xfa2a, 0xfabf, 0xf967, 0xfa40, 0xf967, -0xfa40, 0xf963, 0xfa84, 0xf963, 0xfa84, 0xf8b7, 0xfa22, 0xf8b7, 0xfa22, 0xf8b7, 0xfa22, -0xf7b1, 0xf966, 0xf7b1, 0xf966, 0xf6b2, 0xf8b3, 0xf6b2, 0xf8b3, 0xf52e, 0xf77a, 0xf52e, -0xf77a, 0xf47e, 0xf713, 0xf47e, 0xf713, 0xf24c, 0xf529, 0xf24c, 0xf529, 0xef99, 0xf2ba, -0xef99, 0xf2ba, 0xef99, 0xf2ba, 0xee4f, 0xf1b1, 0xee4f, 0xf1b1, 0xed46, 0xf0e4, 0xed46, -0xf0e4, 0xecfe, 0xf0d4, 0xecfe, 0xf0d4, 0xebbe, 0xefc8, 0xebbe, 0xefc8, 0xea94, 0xeecd, -0xea94, 0xeecd, 0xe9a9, 0xee0e, 0xe9a9, 0xee0e, 0xe9a9, 0xee0e, 0xe828, 0xecb4, 0xe828, -0xecb4, 0xe84f, 0xecff, 0xe84f, 0xecff, 0xe83d, 0xed0c, 0xe83d, 0xed0c, 0xe711, 0xebfd, -0xe711, 0xebfd, 0xe591, 0xea95, 0xe591, 0xea95, 0xe591, 0xea95, 0xe32a, 0xe846, 0xe32a, -0xe846, 0xe13b, 0xe66b, 0xe13b, 0xe66b, 0xe011, 0xe552, 0xe011, 0xe552, 0xdeb2, 0xe402, -0xdeb2, 0xe402, 0xde25, 0xe382, 0xde25, 0xe382, 0xde16, 0xe37c, 0xde16, 0xe37c, 0xde16, -0xe37c, 0xde91, 0xe3fd, 0xde91, 0xe3fd, 0xdf2f, 0xe49f, 0xdf2f, 0xe49f, 0xdee7, 0xe455, -0xdee7, 0xe455, 0xdf2f, 0xe497, 0xdf2f, 0xe497, 0xde68, 0xe3c7, 0xde68, 0xe3c7, 0xdcd2, -0xe221, 0xdcd2, 0xe221, 0xdcd2, 0xe221, 0xdc40, 0xe17a, 0xdc40, 0xe17a, 0xdbd6, 0xe0f5, -0xdbd6, 0xe0f5, 0xdbc6, 0xe0c4, 0xdbc6, 0xe0c4, 0xdc98, 0xe16f, 0xdc98, 0xe16f, 0xde92, -0xe33c, 0xde92, 0xe33c, 0xde92, 0xe33c, 0xe0b2, 0xe529, 0xe0b2, 0xe529, 0xe208, 0xe647, -0xe208, 0xe647, 0xe321, 0xe724, 0xe321, 0xe724, 0xe3ff, 0xe7c0, 0xe3ff, 0xe7c0, 0xe4e0, -0xe85c, 0xe4e0, 0xe85c, 0xe678, 0xe9ac, 0xe678, 0xe9ac, 0xe678, 0xe9ac, 0xe749, 0xea33, -0xe749, 0xea33, 0xe82b, 0xeac9, 0xe82b, 0xeac9, 0xea06, 0xec58, 0xea06, 0xec58, 0xeb46, -0xed4c, 0xeb46, 0xed4c, 0xecc0, 0xee7a, 0xecc0, 0xee7a, 0xeeb7, 0xf027, 0xeeb7, 0xf027, -0xeeb7, 0xf027, 0xf12d, 0xf255, 0xf12d, 0xf255, 0xf350, 0xf431, 0xf350, 0xf431, 0xf4d1, -0xf56f, 0xf4d1, 0xf56f, 0xf700, 0xf75c, 0xf700, 0xf75c, 0xf8c2, 0xf8e0, 0xf8c2, 0xf8e0, -0xf8c2, 0xf8e0, 0xfa62, 0xfa44, 0xfa62, 0xfa44, 0xfc48, 0xfbf2, 0xfc48, 0xfbf2, 0xfd62, -0xfcd5, 0xfd62, 0xfcd5, 0xfed9, 0xfe19, 0xfed9, 0xfe19, 0x6, 0xff16, 0x6, 0xff16, -0x7e, 0xff60, 0x7e, 0xff60, 0x7e, 0xff60, 0xc7, 0xff7f, 0xc7, 0xff7f, 0x15a, -0xffe9, 0x15a, 0xffe9, 0x394, 0x1ff, 0x394, 0x1ff, 0x4b2, 0x2fa, 0x4b2, 0x2fa, -0x5f5, 0x41e, 0x5f5, 0x41e, 0x861, 0x66f, 0x861, 0x66f, 0x861, 0x66f, 0x9a6, -0x79d, 0x9a6, 0x79d, 0xaed, 0x8cf, 0xaed, 0x8cf, 0xb3e, 0x910, 0xb3e, 0x910, -0xb22, 0x8e8, 0xb22, 0x8e8, 0xac7, 0x885, 0xac7, 0x885, 0xac7, 0x885, 0xa16, -0x7d1, 0xa16, 0x7d1, 0xa7c, 0x837, 0xa7c, 0x837, 0xa80, 0x83f, 0xa80, 0x83f, -0xa69, 0x830, 0xa69, 0x830, 0xb31, 0x903, 0xb31, 0x903, 0xb29, 0x908, 0xb29, -0x908, 0xb29, 0x908, 0xab4, 0x8a3, 0xab4, 0x8a3, 0x9d4, 0x7d4, 0x9d4, 0x7d4, -0x7a2, 0x5b4, 0x7a2, 0x5b4, 0x5de, 0x403, 0x5de, 0x403, 0x4ac, 0x2e4, 0x4ac, -0x2e4, 0x43b, 0x285, 0x43b, 0x285, 0x43b, 0x285, 0x3dc, 0x237, 0x3dc, 0x237, -0x3a7, 0x212, 0x3a7, 0x212, 0x464, 0x2de, 0x464, 0x2de, 0x414, 0x29b, 0x414, -0x29b, 0x36e, 0x201, 0x36e, 0x201, 0x36e, 0x201, 0x365, 0x203, 0x365, 0x203, -0x301, 0x1aa, 0x301, 0x1aa, 0x264, 0x118, 0x264, 0x118, 0x260, 0x120, 0x260, -0x120, 0x2f7, 0x1c4, 0x2f7, 0x1c4, 0x3a3, 0x280, 0x3a3, 0x280, 0x3a3, 0x280, -0x3c7, 0x2b6, 0x3c7, 0x2b6, 0x38a, 0x28f, 0x38a, 0x28f, 0x30d, 0x22a, 0x30d, -0x22a, 0x2e1, 0x21b, 0x2e1, 0x21b, 0x2d2, 0x22c, 0x2d2, 0x22c, 0x18c, 0x10b, -0x18c, 0x10b, 0x18c, 0x10b, 0xa7, 0x4e, 0xa7, 0x4e, 0x7f, 0x50, 0x7f, -0x50, 0x23, 0x21, 0x23, 0x21, 0xffc2, 0xffed, 0xffc2, 0xffed, 0xfffe, 0x56, -0xfffe, 0x56, 0xfffe, 0x56, 0xb2, 0x136, 0xb2, 0x136, 0xb0, 0x15d, 0xb0, -0x15d, 0x69, 0x13c, 0x69, 0x13c, 0x3d, 0x131, 0x3d, 0x131, 0xff99, 0xa6, -0xff99, 0xa6, 0xfef0, 0x11, 0xfef0, 0x11, 0xfef0, 0x11, 0xfe59, 0xff86, 0xfe59, -0xff86, 0xfdef, 0xff1f, 0xfdef, 0xff1f, 0xfe9c, 0xffc8, 0xfe9c, 0xffc8, 0xff88, 0xa7, -0xff88, 0xa7, 0x7c, 0x187, 0x7c, 0x187, 0xbc, 0x1ac, 0xbc, 0x1ac, 0xbc, -0x1ac, 0x16f, 0x23e, 0x16f, 0x23e, 0x2b6, 0x361, 0x2b6, 0x361, 0x21f, 0x2a2, -0x21f, 0x2a2, 0x24a, 0x2a4, 0x24a, 0x2a4, 0x2fd, 0x32f, 0x2fd, 0x32f, 0x2fd, -0x32f, 0x3c2, 0x3ce, 0x3c2, 0x3ce, 0x589, 0x572, 0x589, 0x572, 0x736, 0x701, -0x736, 0x701, 0x8c6, 0x879, 0x8c6, 0x879, 0x993, 0x936, 0x993, 0x936, 0xa4b, -0x9e5, 0xa4b, 0x9e5, 0xa4b, 0x9e5, 0xaf7, 0xa90, 0xaf7, 0xa90, 0xad3, 0xa72, -0xad3, 0xa72, 0xaae, 0xa5b, 0xaae, 0xa5b, 0xa55, 0xa15, 0xa55, 0xa15, 0x948, -0x921, 0x948, 0x921, 0x8ad, 0x8a1, 0x8ad, 0x8a1, 0x8ad, 0x8a1, 0x815, 0x827, -0x815, 0x827, 0x6f4, 0x725, 0x6f4, 0x725, 0x62f, 0x67d, 0x62f, 0x67d, 0x584, -0x5ec, 0x584, 0x5ec, 0x486, 0x504, 0x486, 0x504, 0x486, 0x504, 0x333, 0x3c1, -0x333, 0x3c1, 0x2ee, 0x385, 0x2ee, 0x385, 0x3fa, 0x492, 0x3fa, 0x492, 0x447, -0x4d7, 0x447, 0x4d7, 0x450, 0x4d0, 0x450, 0x4d0, 0x48c, 0x4f5, 0x48c, 0x4f5, -0x48c, 0x4f5, 0x399, 0x3e3, 0x399, 0x3e3, 0x2d7, 0x2fb, 0x2d7, 0x2fb, 0x2b0, -0x2a9, 0x2b0, 0x2a9, 0x2e8, 0x2b4, 0x2e8, 0x2b4, 0x371, 0x30c, 0x371, 0x30c, -0x371, 0x30c, 0x35b, 0x2c6, 0x35b, 0x2c6, 0x3a0, 0x2dc, 0x3a0, 0x2dc, 0x42b, -0x33a, 0x42b, 0x33a, 0x58e, 0x476, 0x58e, 0x476, 0x6ae, 0x573, 0x6ae, 0x573, -0x679, 0x523, 0x679, 0x523, 0x679, 0x523, 0x6db, 0x570, 0x6db, 0x570, 0x730, -0x5b8, 0x730, 0x5b8, 0x729, 0x5ac, 0x729, 0x5ac, 0x6f6, 0x57a, 0x6f6, 0x57a, -0x6d7, 0x563, 0x6d7, 0x563, 0x757, 0x5f0, 0x757, 0x5f0, 0x757, 0x5f0, 0x765, -0x60e, 0x765, 0x60e, 0x742, 0x5fe, 0x742, 0x5fe, 0x773, 0x643, 0x773, 0x643, -0x740, 0x623, 0x740, 0x623, 0x6f5, 0x5ea, 0x6f5, 0x5ea, 0x6f5, 0x5ea, 0x61d, -0x520, 0x61d, 0x520, 0x58b, 0x496, 0x58b, 0x496, 0x5f9, 0x507, 0x5f9, 0x507, -0x654, 0x55e, 0x654, 0x55e, 0x6df, 0x5df, 0x6df, 0x5df, 0x72b, 0x61b, 0x72b, -0x61b, 0x72b, 0x61b, 0x8b6, 0x78e, 0x8b6, 0x78e, 0xa7c, 0x937, 0xa7c, 0x937, -0xa88, 0x922, 0xa88, 0x922, 0xb08, 0x97d, 0xb08, 0x97d, 0xbb1, 0x9fe, 0xbb1, -0x9fe, 0xca2, 0xac7, 0xca2, 0xac7, 0xca2, 0xac7, 0xdaf, 0xbac, 0xdaf, 0xbac, -0xe17, 0xbef, 0xe17, 0xbef, 0xe9e, 0xc54, 0xe9e, 0xc54, 0xed4, 0xc6f, 0xed4, -0xc6f, 0xefd, 0xc81, 0xefd, 0xc81, 0xefd, 0xc81, 0xf11, 0xc85, 0xf11, 0xc85, -0xf13, 0xc7f, 0xf13, 0xc7f, 0xfce, 0xd39, 0xfce, 0xd39, 0x102c, 0xd9e, 0x102c, -0xd9e, 0x101f, 0xd9f, 0x101f, 0xd9f, 0x106e, 0xe02, 0x106e, 0xe02, 0x106e, 0xe02, -0x1018, 0xdc7, 0x1018, 0xdc7, 0xfab, 0xd78, 0xfab, 0xd78, 0xfbb, 0xda9, 0xfbb, -0xda9, 0xfff, 0xe11, 0xfff, 0xe11, 0x108e, 0xec5, 0x108e, 0xec5, 0x10d2, 0xf2c, -0x10d2, 0xf2c, 0x10d2, 0xf2c, 0x113e, 0xfbb, 0x113e, 0xfbb, 0x1142, 0xfde, 0x1142, -0xfde, 0x1022, 0xeda, 0x1022, 0xeda, 0xf5b, 0xe2b, 0xf5b, 0xe2b, 0xe6f, 0xd52, -0xe6f, 0xd52, 0xe6f, 0xd52, 0xd2e, 0xc20, 0xd2e, 0xc20, 0xcab, 0xba8, 0xcab, -0xba8, 0xc7f, 0xb82, 0xc7f, 0xb82, 0xc9a, 0xb9f, 0xc9a, 0xb9f, 0xc69, 0xb6d, -0xc69, 0xb6d, 0xbf9, 0xafa, 0xbf9, 0xafa, 0xbf9, 0xafa, 0xbaa, 0xaa6, 0xbaa, -0xaa6, 0xbc9, 0xac0, 0xbc9, 0xac0, 0xc84, 0xb75, 0xc84, 0xb75, 0xbe4, 0xad1, -0xbe4, 0xad1, 0xa95, 0x97e, 0xa95, 0x97e, 0xa0f, 0x8f7, 0xa0f, 0x8f7, 0xa0f, -0x8f7, 0xa07, 0x8f2, 0xa07, 0x8f2, 0xa6a, 0x958, 0xa6a, 0x958, 0xaa0, 0x996, -0xaa0, 0x996, 0xa72, 0x971, 0xa72, 0x971, 0x9ad, 0x8b8, 0x9ad, 0x8b8, 0x9ad, -0x8b8, 0x8b0, 0x7c8, 0x8b0, 0x7c8, 0x7df, 0x706, 0x7df, 0x706, 0x729, 0x660, -0x729, 0x660, 0x6b0, 0x5f8, 0x6b0, 0x5f8, 0x624, 0x57c, 0x624, 0x57c, 0x57e, -0x4e5, 0x57e, 0x4e5, 0x57e, 0x4e5, 0x554, 0x4ca, 0x554, 0x4ca, 0x544, 0x4c6, -0x544, 0x4c6, 0x50a, 0x495, 0x50a, 0x495, 0x465, 0x3f8, 0x465, 0x3f8, 0x36d, -0x306, 0x36d, 0x306, 0x407, 0x3a3, 0x407, 0x3a3, 0x407, 0x3a3, 0x4a2, 0x43e, -0x4a2, 0x43e, 0x425, 0x3c0, 0x425, 0x3c0, 0x3a2, 0x33a, 0x3a2, 0x33a, 0x295, -0x228, 0x295, 0x228, 0x1e7, 0x174, 0x1e7, 0x174, 0x1e7, 0x174, 0x103, 0x89, -0x103, 0x89, 0xffb2, 0xff31, 0xffb2, 0xff31, 0xfe30, 0xfda8, 0xfe30, 0xfda8, 0xfc3b, -0xfbac, 0xfc3b, 0xfbac, 0xfb80, 0xfaea, 0xfb80, 0xfaea, 0xfb6c, 0xfad2, 0xfb6c, 0xfad2, -0xfb6c, 0xfad2, 0xfbc7, 0xfb27, 0xfbc7, 0xfb27, 0xfcfe, 0xfc5a, 0xfcfe, 0xfc5a, 0xfd7b, -0xfcd4, 0xfd7b, 0xfcd4, 0xfdab, 0xfd01, 0xfdab, 0xfd01, 0xfdd0, 0xfd24, 0xfdd0, 0xfd24, -0xfd44, 0xfc97, 0xfd44, 0xfc97, 0xfd44, 0xfc97, 0xfcea, 0xfc3d, 0xfcea, 0xfc3d, 0xfc77, -0xfbc9, 0xfc77, 0xfbc9, 0xfc30, 0xfb82, 0xfc30, 0xfb82, 0xfc4b, 0xfb9e, 0xfc4b, 0xfb9e, -0xfc5d, 0xfbb2, 0xfc5d, 0xfbb2, 0xfc5d, 0xfbb2, 0xfd9c, 0xfcf3, 0xfd9c, 0xfcf3, 0xfebc, -0xfe16, 0xfebc, 0xfe16, 0xfead, 0xfe0b, 0xfead, 0xfe0b, 0xfeca, 0xfe2f, 0xfeca, 0xfe2f, -0xfe52, 0xfdbf, 0xfe52, 0xfdbf, 0xfd0c, 0xfc83, 0xfd0c, 0xfc83, 0xfd0c, 0xfc83, 0xfc31, -0xfbb5, 0xfc31, 0xfbb5, 0xfc0a, 0xfb9f, 0xfc0a, 0xfb9f, 0xfcb0, 0xfc59, 0xfcb0, 0xfc59, -0xfd3b, 0xfcfd, 0xfd3b, 0xfcfd, 0xfd98, 0xfd76, 0xfd98, 0xfd76, 0xfdbf, 0xfdbd, 0xfdbf, -0xfdbd, 0xfdbf, 0xfdbd, 0xfd71, 0xfd93, 0xfd71, 0xfd93, 0xfda3, 0xfded, 0xfda3, 0xfded, -0xfd1d, 0xfd93, 0xfd1d, 0xfd93, 0xfc76, 0xfd1c, 0xfc76, 0xfd1c, 0xfc86, 0xfd5f, 0xfc86, -0xfd5f, 0xfc86, 0xfd5f, 0xfc33, 0xfd41, 0xfc33, 0xfd41, 0xfbb8, 0xfcfd, 0xfbb8, 0xfcfd, -0xfa7f, 0xfbfd, 0xfa7f, 0xfbfd, 0xf90f, 0xfac6, 0xf90f, 0xfac6, 0xf7d3, 0xf9c5, 0xf7d3, -0xf9c5, 0xf6b1, 0xf8dd, 0xf6b1, 0xf8dd, 0xf6b1, 0xf8dd, 0xf629, 0xf88d, 0xf629, 0xf88d, -0xf58c, 0xf828, 0xf58c, 0xf828, 0xf50e, 0xf7df, 0xf50e, 0xf7df, 0xf441, 0xf745, 0xf441, -0xf745, 0xf34a, 0xf67f, 0xf34a, 0xf67f, 0xf33c, 0xf69f, 0xf33c, 0xf69f, 0xf33c, 0xf69f, -0xf29e, 0xf62c, 0xf29e, 0xf62c, 0xf241, 0xf5f6, 0xf241, 0xf5f6, 0xf19b, 0xf575, 0xf19b, -0xf575, 0xf022, 0xf41c, 0xf022, 0xf41c, 0xefe8, 0xf401, 0xefe8, 0xf401, 0xefe8, 0xf401, -0xeea4, 0xf2d7, 0xeea4, 0xf2d7, 0xed54, 0xf19e, 0xed54, 0xf19e, 0xec67, 0xf0c5, 0xec67, -0xf0c5, 0xeb14, 0xef82, 0xeb14, 0xef82, 0xeada, 0xef55, 0xeada, 0xef55, 0xea13, 0xee96, -0xea13, 0xee96, 0xea13, 0xee96, 0xe9c5, 0xee4e, 0xe9c5, 0xee4e, 0xe911, 0xed9c, 0xe911, -0xed9c, 0xe75b, 0xebe3, 0xe75b, 0xebe3, 0xe6da, 0xeb5b, 0xe6da, 0xeb5b, 0xe66e, 0xeae4, -0xe66e, 0xeae4, 0xe66e, 0xeae4, 0xe65e, 0xeac4, 0xe65e, 0xeac4, 0xe64e, 0xeaa1, 0xe64e, -0xeaa1, 0xe56f, 0xe9aa, 0xe56f, 0xe9aa, 0xe56a, 0xe98a, 0xe56a, 0xe98a, 0xe58a, 0xe98a, -0xe58a, 0xe98a, 0xe59a, 0xe977, 0xe59a, 0xe977, 0xe59a, 0xe977, 0xe654, 0xea0b, 0xe654, -0xea0b, 0xe693, 0xea20, 0xe693, 0xea20, 0xe706, 0xea68, 0xe706, 0xea68, 0xe75f, 0xea95, -0xe75f, 0xea95, 0xe7a9, 0xeab1, 0xe7a9, 0xeab1, 0xe90f, 0xebe8, 0xe90f, 0xebe8, 0xe90f, -0xebe8, 0xea35, 0xecdf, 0xea35, 0xecdf, 0xeabe, 0xed3a, 0xeabe, 0xed3a, 0xeb4f, 0xed9d, -0xeb4f, 0xed9d, 0xeb8e, 0xedaf, 0xeb8e, 0xedaf, 0xeb79, 0xed6e, 0xeb79, 0xed6e, 0xeb79, -0xed6e, 0xeb86, 0xed51, 0xeb86, 0xed51, 0xebc6, 0xed68, 0xebc6, 0xed68, 0xec7c, 0xedf5, -0xec7c, 0xedf5, 0xedbf, 0xef10, 0xedbf, 0xef10, 0xefc3, 0xf0ed, 0xefc3, 0xf0ed, 0xf1a4, -0xf2a6, 0xf1a4, 0xf2a6, 0xf1a4, 0xf2a6, 0xf36d, 0xf448, 0xf36d, 0xf448, 0xf546, 0xf5f8, -0xf546, 0xf5f8, 0xf5bb, 0xf644, 0xf5bb, 0xf644, 0xf613, 0xf672, 0xf613, 0xf672, 0xf69e, -0xf6d1, 0xf69e, 0xf6d1, 0xf737, 0xf73c, 0xf737, 0xf73c, 0xf737, 0xf73c, 0xf7ea, 0xf7c2, -0xf7ea, 0xf7c2, 0xf8e8, 0xf890, 0xf8e8, 0xf890, 0xfac3, 0xfa3a, 0xfac3, 0xfa3a, 0xfc84, -0xfbcc, 0xfc84, 0xfbcc, 0xfeaf, 0xfdc8, 0xfeaf, 0xfdc8, 0xfeaf, 0xfdc8, 0xd3, 0xffbe, -0xd3, 0xffbe, 0x2d2, 0x193, 0x2d2, 0x193, 0x52c, 0x3c6, 0x52c, 0x3c6, 0x69c, -0x513, 0x69c, 0x513, 0x7e4, 0x63e, 0x7e4, 0x63e, 0x8f7, 0x73b, 0x8f7, 0x73b, -0x8f7, 0x73b, 0x97b, 0x7ae, 0x97b, 0x7ae, 0xa83, 0x8ae, 0xa83, 0x8ae, 0xace, -0x8f7, 0xace, 0x8f7, 0xbd4, 0xa04, 0xbd4, 0xa04, 0xd82, 0xbc0, 0xd82, 0xbc0, -0xd57, 0xbaa, 0xd57, 0xbaa, 0xd57, 0xbaa, 0xcc6, 0xb33, 0xcc6, 0xb33, 0xb9a, -0xa27, 0xb9a, 0xa27, 0xa98, 0x949, 0xa98, 0x949, 0x9df, 0x8b6, 0x9df, 0x8b6, -0x901, 0x800, 0x901, 0x800, 0x901, 0x800, 0x911, 0x838, 0x911, 0x838, 0x88c, -0x7d9, 0x88c, 0x7d9, 0x797, 0x708, 0x797, 0x708, 0x6ad, 0x63e, 0x6ad, 0x63e, -0x55b, 0x508, 0x55b, 0x508, 0x4d8, 0x49b, 0x4d8, 0x49b, 0x4d8, 0x49b, 0x50a, -0x4de, 0x50a, 0x4de, 0x509, 0x4ea, 0x509, 0x4ea, 0x58a, 0x571, 0x58a, 0x571, -0x5e8, 0x5d1, 0x5e8, 0x5d1, 0x639, 0x620, 0x639, 0x620, 0x673, 0x655, 0x673, -0x655, 0x673, 0x655, 0x5c4, 0x5a0, 0x5c4, 0x5a0, 0x549, 0x51d, 0x549, 0x51d, -0x494, 0x462, 0x494, 0x462, 0x3ec, 0x3b6, 0x3ec, 0x3b6, 0x3d9, 0x3a3, 0x3d9, -0x3a3, 0x3d9, 0x3a3, 0x38e, 0x35d, 0x38e, 0x35d, 0x2f9, 0x2d1, 0x2f9, 0x2d1, -0x269, 0x24f, 0x269, 0x24f, 0x180, 0x17b, 0x180, 0x17b, 0xfff3, 0x7, 0xfff3, -0x7, 0xfe8a, 0xfebd, 0xfe8a, 0xfebd, 0xfe8a, 0xfebd, 0xfde0, 0xfe35, 0xfde0, 0xfe35, -0xfd65, 0xfde0, 0xfd65, 0xfde0, 0xfcb1, 0xfd53, 0xfcb1, 0xfd53, 0xfc53, 0xfd1d, 0xfc53, -0xfd1d, 0xfba4, 0xfc94, 0xfba4, 0xfc94, 0xfb53, 0xfc65, 0xfb53, 0xfc65, 0xfb53, 0xfc65, -0xfafd, 0xfc2d, 0xfafd, 0xfc2d, 0xf9a6, 0xfaef, 0xf9a6, 0xfaef, 0xf882, 0xf9db, 0xf882, -0xf9db, 0xf785, 0xf8e6, 0xf785, 0xf8e6, 0xf6e9, 0xf84a, 0xf6e9, 0xf84a, 0xf6e9, 0xf84a, -0xf631, 0xf787, 0xf631, 0xf787, 0xf5f3, 0xf736, 0xf5f3, 0xf736, 0xf6ae, 0xf7d5, 0xf6ae, -0xf7d5, 0xf799, 0xf89d, 0xf799, 0xf89d, 0xf900, 0xf9da, 0xf900, 0xf9da, 0xfa0f, 0xfabb, -0xfa0f, 0xfabb, 0xfa0f, 0xfabb, 0xfb61, 0xfbdc, 0xfb61, 0xfbdc, 0xfd63, 0xfdac, 0xfd63, -0xfdac, 0xff28, 0xff40, 0xff28, 0xff40, 0x1e1, 0x1cc, 0x1e1, 0x1cc, 0x487, 0x448, -0x487, 0x448, 0x6d5, 0x674, 0x6d5, 0x674, 0x6d5, 0x674, 0x933, 0x8b8, 0x933, -0x8b8, 0x997, 0x90c, 0x997, 0x90c, 0xa43, 0x9b2, 0xa43, 0x9b2, 0xaed, 0xa60, -0xaed, 0xa60, 0xad2, 0xa52, 0xad2, 0xa52, 0xad2, 0xa52, 0xb43, 0xada, 0xb43, -0xada, 0xabd, 0xa74, 0xabd, 0xa74, 0xa2d, 0xa0b, 0xa2d, 0xa0b, 0x934, 0x93f, -0x934, 0x93f, 0x7d9, 0x814, 0x7d9, 0x814, 0x6c4, 0x731, 0x6c4, 0x731, 0x6c4, -0x731, 0x4fd, 0x59c, 0x4fd, 0x59c, 0x3ff, 0x4ce, 0x3ff, 0x4ce, 0x3ce, 0x4c8, -0x3ce, 0x4c8, 0x393, 0x4b2, 0x393, 0x4b2, 0x3f1, 0x52e, 0x3f1, 0x52e, 0x37f, -0x4d1, 0x37f, 0x4d1, 0x37f, 0x4d1, 0x28d, 0x3eb, 0x28d, 0x3eb, 0x1d9, 0x33a, -0x1d9, 0x33a, 0x49, 0x1a2, 0x49, 0x1a2, 0xff1a, 0x62, 0xff1a, 0x62, 0xfe07, -0xff36, 0xfe07, 0xff36, 0xfe07, 0xff36, 0xfd57, 0xfe67, 0xfd57, 0xfe67, 0xfd30, 0xfe19, -0xfd30, 0xfe19, 0xfcd4, 0xfd92, 0xfcd4, 0xfd92, 0xfddd, 0xfe6d, 0xfddd, 0xfe6d, 0xfff5, -0x54, 0xfff5, 0x54, 0x17f, 0x1ae, 0x17f, 0x1ae, 0x17f, 0x1ae, 0x1f7, 0x1f8, -0x1f7, 0x1f8, 0x1f0, 0x1c5, 0x1f0, 0x1c5, 0x182, 0x12f, 0x182, 0x12f, 0x8d, -0x15, 0x8d, 0x15, 0xff74, 0xfede, 0xff74, 0xfede, 0xffa3, 0xfef2, 0xffa3, 0xfef2, -0xffa3, 0xfef2, 0x6a, 0xffa2, 0x6a, 0xffa2, 0xd7, 0xfffe, 0xd7, 0xfffe, 0x14c, -0x65, 0x14c, 0x65, 0x105, 0x13, 0x105, 0x13, 0x171, 0x76, 0x171, 0x76, -0x171, 0x76, 0x1c7, 0xc4, 0x1c7, 0xc4, 0x15a, 0x4e, 0x15a, 0x4e, 0x131, -0x1d, 0x131, 0x1d, 0x16b, 0x4b, 0x16b, 0x4b, 0x298, 0x16b, 0x298, 0x16b, -0x378, 0x23b, 0x378, 0x23b, 0x378, 0x23b, 0x468, 0x316, 0x468, 0x316, 0x5ae, -0x446, 0x5ae, 0x446, 0x6b2, 0x52f, 0x6b2, 0x52f, 0x82b, 0x68a, 0x82b, 0x68a, -0x950, 0x791, 0x950, 0x791, 0x950, 0x791, 0xb0d, 0x92c, 0xb0d, 0x92c, 0xd36, -0xb34, 0xd36, 0xb34, 0xe98, 0xc74, 0xe98, 0xc74, 0x1063, 0xe1f, 0x1063, 0xe1f, -0x114b, 0xee8, 0x114b, 0xee8, 0x128e, 0x100f, 0x128e, 0x100f, 0x128e, 0x100f, 0x13c9, -0x1132, 0x13c9, 0x1132, 0x1398, 0x10ee, 0x1398, 0x10ee, 0x149a, 0x11e1, 0x149a, 0x11e1, -0x1561, 0x129d, 0x1561, 0x129d, 0x160c, 0x1343, 0x160c, 0x1343, 0x169a, 0x13d0, 0x169a, -0x13d0, 0x169a, 0x13d0, 0x16d9, 0x1412, 0x16d9, 0x1412, 0x17e2, 0x1523, 0x17e2, 0x1523, -0x187a, 0x15c6, 0x187a, 0x15c6, 0x1983, 0x16de, 0x1983, 0x16de, 0x1a6b, 0x17d6, 0x1a6b, -0x17d6, 0x1a6b, 0x17d6, 0x1a20, 0x179d, 0x1a20, 0x179d, 0x197e, 0x170f, 0x197e, 0x170f, -0x1862, 0x1606, 0x1862, 0x1606, 0x17dd, 0x1595, 0x17dd, 0x1595, 0x1859, 0x1623, 0x1859, -0x1623, 0x17b6, 0x1593, 0x17b6, 0x1593, 0x17b6, 0x1593, 0x16e6, 0x14d5, 0x16e6, 0x14d5, -0x164e, 0x144e, 0x164e, 0x144e, 0x1531, 0x1342, 0x1531, 0x1342, 0x1471, 0x1292, 0x1471, -0x1292, 0x1370, 0x11a2, 0x1370, 0x11a2, 0x12d6, 0x1118, 0x12d6, 0x1118, 0x12d6, 0x1118, -0x1269, 0x10bc, 0x1269, 0x10bc, 0x1173, 0xfd9, 0x1173, 0xfd9, 0x1129, 0xfa2, 0x1129, -0xfa2, 0x1124, 0xfb2, 0x1124, 0xfb2, 0x10a9, 0xf4e, 0x10a9, 0xf4e, 0x10a9, 0xf4e, -0x106e, 0xf2a, 0x106e, 0xf2a, 0x1008, 0xede, 0x1008, 0xede, 0xf71, 0xe61, 0xf71, -0xe61, 0xe9d, 0xda8, 0xe9d, 0xda8, 0xd24, 0xc4b, 0xd24, 0xc4b, 0xbcc, 0xb0f, -0xbcc, 0xb0f, 0xbcc, 0xb0f, 0x9b7, 0x915, 0x9b7, 0x915, 0x81c, 0x795, 0x81c, -0x795, 0x74f, 0x6e0, 0x74f, 0x6e0, 0x671, 0x61a, 0x671, 0x61a, 0x669, 0x626, -0x669, 0x626, 0x604, 0x5d3, 0x604, 0x5d3, 0x604, 0x5d3, 0x528, 0x506, 0x528, -0x506, 0x3c9, 0x3b3, 0x3c9, 0x3b3, 0x249, 0x23b, 0x249, 0x23b, 0x14d, 0x144, -0x14d, 0x144, 0x8, 0x2, 0x8, 0x2, 0x8, 0x2, 0xff9b, 0xff94, 0xff9b, -0xff94, 0xffce, 0xffc4, 0xffce, 0xffc4, 0xffed, 0xffdf, 0xffed, 0xffdf, 0x50, 0x3b, -0x50, 0x3b, 0xfffa, 0xffde, 0xfffa, 0xffde, 0xff91, 0xff6c, 0xff91, 0xff6c, 0xff91, -0xff6c, 0xfe3d, 0xfe0f, 0xfe3d, 0xfe0f, 0xfc57, 0xfc1f, 0xfc57, 0xfc1f, 0xfb2a, 0xfae8, -0xfb2a, 0xfae8, 0xf99c, 0xf950, 0xf99c, 0xf950, 0xf992, 0xf93c, 0xf992, 0xf93c, 0xf9a3, -0xf943, 0xf9a3, 0xf943, 0xf9a3, 0xf943, 0xf99b, 0xf930, 0xf99b, 0xf930, 0xfafd, 0xfa88, -0xfafd, 0xfa88, 0xfbff, 0xfb80, 0xfbff, 0xfb80, 0xfcec, 0xfc60, 0xfcec, 0xfc60, 0xfcd6, -0xfc3f, 0xfcd6, 0xfc3f, 0xfcd6, 0xfc3f, 0xfc7e, 0xfbdb, 0xfc7e, 0xfbdb, 0xfc68, 0xfbb8, -0xfc68, 0xfbb8, 0xfbd4, 0xfb17, 0xfbd4, 0xfb17, 0xfc79, 0xfbaf, 0xfc79, 0xfbaf, 0xfd6b, -0xfc92, 0xfd6b, 0xfc92, 0xfd9d, 0xfcb7, 0xfd9d, 0xfcb7, 0xfd9d, 0xfcb7, 0xfdfa, 0xfd09, -0xfdfa, 0xfd09, 0xfde0, 0xfce3, 0xfde0, 0xfce3, 0xfe1e, 0xfd18, 0xfe1e, 0xfd18, 0xfecf, -0xfdc3, 0xfecf, 0xfdc3, 0xfea2, 0xfd92, 0xfea2, 0xfd92, 0xfee3, 0xfdd3, 0xfee3, 0xfdd3, -0xfee3, 0xfdd3, 0xfefe, 0xfdf2, 0xfefe, 0xfdf2, 0xff2f, 0xfe2b, 0xff2f, 0xfe2b, 0xb, -0xff15, 0xb, 0xff15, 0x15, 0xff30, 0x15, 0xff30, 0xffc5, 0xfef8, 0xffc5, 0xfef8, -0xffc5, 0xfef8, 0xff29, 0xfe78, 0xff29, 0xfe78, 0xfe66, 0xfdd6, 0xfe66, 0xfdd6, 0xfe93, -0xfe28, 0xfe93, 0xfe28, 0xff26, 0xfee5, 0xff26, 0xfee5, 0xff32, 0xff1e, 0xff32, 0xff1e, -0xfeff, 0xff1b, 0xfeff, 0xff1b, 0xfeff, 0xff1b, 0xfe92, 0xfedf, 0xfe92, 0xfedf, 0xfe0c, -0xfe8d, 0xfe0c, 0xfe8d, 0xfce8, 0xfd9e, 0xfce8, 0xfd9e, 0xfb18, 0xfc01, 0xfb18, 0xfc01, -0xf97b, 0xfa99, 0xf97b, 0xfa99, 0xf79e, 0xf8ef, 0xf79e, 0xf8ef, 0xf79e, 0xf8ef, 0xf5dd, -0xf761, 0xf5dd, 0xf761, 0xf45d, 0xf612, 0xf45d, 0xf612, 0xf363, 0xf547, 0xf363, 0xf547, -0xf31f, 0xf532, 0xf31f, 0xf532, 0xf25c, 0xf49b, 0xf25c, 0xf49b, 0xf25c, 0xf49b, 0xf153, -0xf3be, 0xf153, 0xf3be, 0xf086, 0xf31a, 0xf086, 0xf31a, 0xefeb, 0xf2a8, 0xefeb, 0xf2a8, -0xef30, 0xf215, 0xef30, 0xf215, 0xed91, 0xf09d, 0xed91, 0xf09d, 0xec4d, 0xef7f, 0xec4d, -0xef7f, 0xec4d, 0xef7f, 0xeb9c, 0xeef4, 0xeb9c, 0xeef4, 0xeaf8, 0xee75, 0xeaf8, 0xee75, -0xea4d, 0xeded, 0xea4d, 0xeded, 0xe931, 0xecf1, 0xe931, 0xecf1, 0xe8c3, 0xeca2, 0xe8c3, -0xeca2, 0xe7ee, 0xebeb, 0xe7ee, 0xebeb, 0xe7ee, 0xebeb, 0xe752, 0xeb68, 0xe752, 0xeb68, -0xe69a, 0xeac4, 0xe69a, 0xeac4, 0xe526, 0xe961, 0xe526, 0xe961, 0xe52b, 0xe972, 0xe52b, -0xe972, 0xe48b, 0xe8d7, 0xe48b, 0xe8d7, 0xe48b, 0xe8d7, 0xe430, 0xe87b, 0xe430, 0xe87b, -0xe47d, 0xe8c1, 0xe47d, 0xe8c1, 0xe46e, 0xe8a5, 0xe46e, 0xe8a5, 0xe4b5, 0xe8d9, 0xe4b5, -0xe8d9, 0xe45a, 0xe863, 0xe45a, 0xe863, 0xe4db, 0xe8c5, 0xe4db, 0xe8c5, 0xe4db, 0xe8c5, -0xe5c6, 0xe98c, 0xe5c6, 0xe98c, 0xe653, 0xe9f1, 0xe653, 0xe9f1, 0xe755, 0xeac8, 0xe755, -0xeac8, 0xe7a7, 0xeaec, 0xe7a7, 0xeaec, 0xe769, 0xea81, 0xe769, 0xea81, 0xe7af, 0xea98, -0xe7af, 0xea98, 0xe7af, 0xea98, 0xe84f, 0xeb0a, 0xe84f, 0xeb0a, 0xe9cd, 0xec5d, 0xe9cd, -0xec5d, 0xeb65, 0xedcc, 0xeb65, 0xedcc, 0xec18, 0xee5a, 0xec18, 0xee5a, 0xecc2, 0xeee2, -0xecc2, 0xeee2, 0xecc2, 0xeee2, 0xecb9, 0xeebb, 0xecb9, 0xeebb, 0xec8e, 0xee75, 0xec8e, -0xee75, 0xecbb, 0xee8b, 0xecbb, 0xee8b, 0xed3e, 0xeef9, 0xed3e, 0xeef9, 0xef16, 0xf0bd, -0xef16, 0xf0bd, 0xf0aa, 0xf23f, 0xf0aa, 0xf23f, 0xf0aa, 0xf23f, 0xf19c, 0xf31e, 0xf19c, -0xf31e, 0xf354, 0xf4c2, 0xf354, 0xf4c2, 0xf4ee, 0xf645, 0xf4ee, 0xf645, 0xf58d, 0xf6ca, -0xf58d, 0xf6ca, 0xf599, 0xf6b7, 0xf599, 0xf6b7, 0xf599, 0xf6b7, 0xf5d2, 0xf6ce, 0xf5d2, -0xf6ce, 0xf630, 0xf703, 0xf630, 0xf703, 0xf5f4, 0xf699, 0xf5f4, 0xf699, 0xf628, 0xf69b, -0xf628, 0xf69b, 0xf726, 0xf761, 0xf726, 0xf761, 0xf8d0, 0xf8d0, 0xf8d0, 0xf8d0, 0xf8d0, -0xf8d0, 0xfb45, 0xfb07, 0xfb45, 0xfb07, 0xfd54, 0xfcd6, 0xfd54, 0xfcd6, 0xff36, 0xfe79, -0xff36, 0xfe79, 0xda, 0xffdf, 0xda, 0xffdf, 0x1d8, 0xa1, 0x1d8, 0xa1, 0x2b7, -0x14b, 0x2b7, 0x14b, 0x2b7, 0x14b, 0x39d, 0x200, 0x39d, 0x200, 0x551, 0x38a, -0x551, 0x38a, 0x6e3, 0x4fc, 0x6e3, 0x4fc, 0x77e, 0x57f, 0x77e, 0x57f, 0x83b, -0x62e, 0x83b, 0x62e, 0x83b, 0x62e, 0x882, 0x670, 0x882, 0x670, 0x8ca, 0x6bd, -0x8ca, 0x6bd, 0x8b6, 0x6b6, 0x8b6, 0x6b6, 0x86a, 0x67f, 0x86a, 0x67f, 0x8ff, -0x730, 0x8ff, 0x730, 0x955, 0x7a5, 0x955, 0x7a5, 0x955, 0x7a5, 0xa50, 0x8c4, -0xa50, 0x8c4, 0xa03, 0x89b, 0xa03, 0x89b, 0x8f6, 0x7b3, 0x8f6, 0x7b3, 0x8db, -0x7ba, 0x8db, 0x7ba, 0x7ad, 0x6ab, 0x7ad, 0x6ab, 0x72f, 0x647, 0x72f, 0x647, -0x72f, 0x647, 0x755, 0x681, 0x755, 0x681, 0x7ae, 0x6e8, 0x7ae, 0x6e8, 0x813, -0x753, 0x813, 0x753, 0x853, 0x794, 0x853, 0x794, 0x964, 0x89e, 0x964, 0x89e, -0x964, 0x89e, 0x9ff, 0x92c, 0x9ff, 0x92c, 0x9fd, 0x918, 0x9fd, 0x918, 0x9ff, -0x905, 0x9ff, 0x905, 0x972, 0x860, 0x972, 0x860, 0x85a, 0x730, 0x85a, 0x730, -0x790, 0x64e, 0x790, 0x64e, 0x790, 0x64e, 0x6b0, 0x558, 0x6b0, 0x558, 0x645, -0x4db, 0x645, 0x4db, 0x5c4, 0x44c, 0x5c4, 0x44c, 0x4e8, 0x368, 0x4e8, 0x368, -0x489, 0x307, 0x489, 0x307, 0x37a, 0x1fd, 0x37a, 0x1fd, 0x37a, 0x1fd, 0x2ad, -0x13a, 0x2ad, 0x13a, 0x17c, 0x1a, 0x17c, 0x1a, 0x41, 0xfef5, 0x41, 0xfef5, -0x35, 0xff04, 0x35, 0xff04, 0xff51, 0xfe3d, 0xff51, 0xfe3d, 0xff51, 0xfe3d, 0xfe2c, -0xfd37, 0xfe2c, 0xfd37, 0xfdaf, 0xfcda, 0xfdaf, 0xfcda, 0xfd32, 0xfc7c, 0xfd32, 0xfc7c, -0xfc0a, 0xfb70, 0xfc0a, 0xfb70, 0xfa64, 0xf9e3, 0xfa64, 0xf9e3, 0xf926, 0xf8ba, 0xf926, -0xf8ba, 0xf926, 0xf8ba, 0xf7b6, 0xf759, 0xf7b6, 0xf759, 0xf642, 0xf5ee, 0xf642, 0xf5ee, -0xf5b7, 0xf567, 0xf5b7, 0xf567, 0xf5a6, 0xf553, 0xf5a6, 0xf553, 0xf648, 0xf5ee, 0xf648, -0xf5ee, 0xf72c, 0xf6c6, 0xf72c, 0xf6c6, 0xf72c, 0xf6c6, 0xf7a0, 0xf72a, 0xf7a0, 0xf72a, -0xf8d1, 0xf848, 0xf8d1, 0xf848, 0xfaeb, 0xfa4e, 0xfaeb, 0xfa4e, 0xfd4c, 0xfc9b, 0xfd4c, -0xfc9b, 0xff97, 0xfed4, 0xff97, 0xfed4, 0xff97, 0xfed4, 0x1a8, 0xd5, 0x1a8, 0xd5, -0x3cd, 0x2f0, 0x3cd, 0x2f0, 0x50f, 0x42a, 0x50f, 0x42a, 0x5ba, 0x4d5, 0x5ba, -0x4d5, 0x6d6, 0x5f6, 0x6d6, 0x5f6, 0x799, 0x6c5, 0x799, 0x6c5, 0x799, 0x6c5, -0x85a, 0x797, 0x85a, 0x797, 0x86d, 0x7c1, 0x86d, 0x7c1, 0x807, 0x777, 0x807, -0x777, 0x77f, 0x710, 0x77f, 0x710, 0x6b7, 0x66b, 0x6b7, 0x66b, 0x6a0, 0x678, -0x6a0, 0x678, 0x6a0, 0x678, 0x5a0, 0x59c, 0x5a0, 0x59c, 0x564, 0x584, 0x564, -0x584, 0x5e7, 0x629, 0x5e7, 0x629, 0x596, 0x5f5, 0x596, 0x5f5, 0x5a3, 0x61b, -0x5a3, 0x61b, 0x5a3, 0x61b, 0x560, 0x5ed, 0x560, 0x5ed, 0x503, 0x59d, 0x503, -0x59d, 0x437, 0x4da, 0x437, 0x4da, 0x380, 0x425, 0x380, 0x425, 0x2c4, 0x365, -0x2c4, 0x365, 0x16c, 0x204, 0x16c, 0x204, 0x16c, 0x204, 0x95, 0x11f, 0x95, -0x11f, 0x48, 0xc1, 0x48, 0xc1, 0x35, 0x9a, 0x35, 0x9a, 0x7b, 0xc9, -0x7b, 0xc9, 0x9d, 0xd4, 0x9d, 0xd4, 0x62, 0x82, 0x62, 0x82, 0x62, -0x82, 0xd8, 0xe2, 0xd8, 0xe2, 0xf9, 0xee, 0xf9, 0xee, 0x115, 0xf7, -0x115, 0xf7, 0x188, 0x15a, 0x188, 0x15a, 0x1c6, 0x18a, 0x1c6, 0x18a, 0x1c6, -0x18a, 0x22b, 0x1e4, 0x22b, 0x1e4, 0x19f, 0x14e, 0x19f, 0x14e, 0x173, 0x11a, -0x173, 0x11a, 0x1a5, 0x145, 0x1a5, 0x145, 0x95, 0x30, 0x95, 0x30, 0xff5f, -0xfef2, 0xff5f, 0xfef2, 0xff5f, 0xfef2, 0xff5b, 0xfee7, 0xff5b, 0xfee7, 0xd, 0xff8f, -0xd, 0xff8f, 0xb6, 0x2c, 0xb6, 0x2c, 0x1a5, 0x10a, 0x1a5, 0x10a, 0x2a0, -0x1f2, 0x2a0, 0x1f2, 0x2ea, 0x226, 0x2ea, 0x226, 0x2ea, 0x226, 0x2c5, 0x1e7, -0x2c5, 0x1e7, 0x2f0, 0x1f4, 0x2f0, 0x1f4, 0x338, 0x21b, 0x338, 0x21b, 0x44f, -0x30e, 0x44f, 0x30e, 0x563, 0x3fc, 0x563, 0x3fc, 0x563, 0x3fc, 0x604, 0x477, -0x604, 0x477, 0x7dc, 0x628, 0x7dc, 0x628, 0xa06, 0x82c, 0xa06, 0x82c, 0xbe4, -0x9e4, 0xbe4, 0x9e4, 0xd6e, 0xb4b, 0xd6e, 0xb4b, 0xefc, 0xcb9, 0xefc, 0xcb9, -0xefc, 0xcb9, 0x1083, 0xe24, 0x1083, 0xe24, 0x10d5, 0xe5c, 0x10d5, 0xe5c, 0x1131, -0xea4, 0x1131, 0xea4, 0x11aa, 0xf0c, 0x11aa, 0xf0c, 0x11fd, 0xf53, 0x11fd, 0xf53, -0x12be, 0x100d, 0x12be, 0x100d, 0x12be, 0x100d, 0x1361, 0x10ab, 0x1361, 0x10ab, 0x14e5, -0x122e, 0x14e5, 0x122e, 0x1677, 0x13c2, 0x1677, 0x13c2, 0x1854, 0x15a4, 0x1854, 0x15a4, -0x19a7, 0x16fd, 0x19a7, 0x16fd, 0x19a7, 0x16fd, 0x194a, 0x16a9, 0x194a, 0x16a9, 0x1a70, -0x17d7, 0x1a70, 0x17d7, 0x1b50, 0x18c0, 0x1b50, 0x18c0, 0x1b61, 0x18d9, 0x1b61, 0x18d9, -0x1b87, 0x1909, 0x1b87, 0x1909, 0x1b4f, 0x18da, 0x1b4f, 0x18da, 0x1b4f, 0x18da, 0x1afc, -0x188f, 0x1afc, 0x188f, 0x1991, 0x172d, 0x1991, 0x172d, 0x18ae, 0x1653, 0x18ae, 0x1653, -0x180d, 0x15bd, 0x180d, 0x15bd, 0x1736, 0x14f0, 0x1736, 0x14f0, 0x1736, 0x14f0, 0x16ea, -0x14b0, 0x16ea, 0x14b0, 0x1671, 0x1445, 0x1671, 0x1445, 0x15dd, 0x13c1, 0x15dd, 0x13c1, -0x157a, 0x1371, 0x157a, 0x1371, 0x1435, 0x1241, 0x1435, 0x1241, 0x12e2, 0x1106, 0x12e2, -0x1106, 0x12e2, 0x1106, 0x12c8, 0x1108, 0x12c8, 0x1108, 0x1257, 0x10b5, 0x1257, 0x10b5, -0x121f, 0x109e, 0x121f, 0x109e, 0x116d, 0x100d, 0x116d, 0x100d, 0xfff, 0xec4, 0xfff, -0xec4, 0xea0, 0xd8b, 0xea0, 0xd8b, 0xea0, 0xd8b, 0xcb4, 0xbc5, 0xcb4, 0xbc5, -0xba5, 0xadd, 0xba5, 0xadd, 0xac2, 0xa20, 0xac2, 0xa20, 0x901, 0x883, 0x901, -0x883, 0x799, 0x73f, 0x799, 0x73f, 0x799, 0x73f, 0x6db, 0x6a1, 0x6db, 0x6a1, -0x62b, 0x60f, 0x62b, 0x60f, 0x520, 0x51f, 0x520, 0x51f, 0x3c7, 0x3dd, 0x3c7, -0x3dd, 0x274, 0x29e, 0x274, 0x29e, 0x80, 0xba, 0x80, 0xba, 0x80, 0xba, -0xfeee, 0xff34, 0xfeee, 0xff34, 0xfe39, 0xfe89, 0xfe39, 0xfe89, 0xfdc5, 0xfe1b, 0xfdc5, -0xfe1b, 0xfe1e, 0xfe76, 0xfe1e, 0xfe76, 0xfd5b, 0xfdb4, 0xfd5b, 0xfdb4, 0xfc3d, 0xfc93, -0xfc3d, 0xfc93, 0xfc3d, 0xfc93, 0xfb8a, 0xfbda, 0xfb8a, 0xfbda, 0xfa3e, 0xfa88, 0xfa3e, -0xfa88, 0xf8be, 0xf900, 0xf8be, 0xf900, 0xf6eb, 0xf723, 0xf6eb, 0xf723, 0xf60d, 0xf63a, -0xf60d, 0xf63a, 0xf60d, 0xf63a, 0xf5fc, 0xf61e, 0xf5fc, 0xf61e, 0xf630, 0xf645, 0xf630, -0xf645, 0xf6f7, 0xf6ff, 0xf6f7, 0xf6ff, 0xf765, 0xf760, 0xf765, 0xf760, 0xf7db, 0xf7c7, -0xf7db, 0xf7c7, 0xf7cd, 0xf7ab, 0xf7cd, 0xf7ab, 0xf7cd, 0xf7ab, 0xf71d, 0xf6ee, 0xf71d, -0xf6ee, 0xf75c, 0xf71e, 0xf75c, 0xf71e, 0xf805, 0xf7ba, 0xf805, 0xf7ba, 0xf9cf, 0xf978, -0xf9cf, 0xf978, 0xfb52, 0xfaf0, 0xfb52, 0xfaf0, 0xfc1f, 0xfbb3, 0xfc1f, 0xfbb3, 0xfc1f, -0xfbb3, 0xfe0c, 0xfd98, 0xfe0c, 0xfd98, 0xfea2, 0xfe28, 0xfea2, 0xfe28, 0xfe59, 0xfddc, -0xfe59, 0xfddc, 0xfe3d, 0xfdbf, 0xfe3d, 0xfdbf, 0xfe95, 0xfe1a, 0xfe95, 0xfe1a, 0xfe95, -0xfe1a, 0xffd6, 0xff61, 0xffd6, 0xff61, 0x127, 0xbb, 0x127, 0xbb, 0x2ba, 0x25c, -0x2ba, 0x25c, 0x39a, 0x34d, 0x39a, 0x34d, 0x368, 0x32f, 0x368, 0x32f, 0x36a, -0x349, 0x36a, 0x349, 0x36a, 0x349, 0x364, 0x35e, 0x364, 0x35e, 0x303, 0x31b, -0x303, 0x31b, 0x2db, 0x312, 0x2db, 0x312, 0x144, 0x19e, 0x144, 0x19e, 0x16, -0x94, 0x16, 0x94, 0x68, 0x10a, 0x68, 0x10a, 0x68, 0x10a, 0x93, 0x15a, -0x93, 0x15a, 0x19d, 0x289, 0x19d, 0x289, 0x1d6, 0x2e8, 0x1d6, 0x2e8, 0xde, -0x215, 0xde, 0x215, 0xff2d, 0x89, 0xff2d, 0x89, 0xff2d, 0x89, 0xfc91, 0xfe11, -0xfc91, 0xfe11, 0xfa68, 0xfc0b, 0xfa68, 0xfc0b, 0xf84a, 0xfa0f, 0xf84a, 0xfa0f, 0xf5c6, -0xf7af, 0xf5c6, 0xf7af, 0xf41d, 0xf628, 0xf41d, 0xf628, 0xf383, 0xf5b2, 0xf383, 0xf5b2, -0xf383, 0xf5b2, 0xf377, 0xf5cb, 0xf377, 0xf5cb, 0xf2fd, 0xf576, 0xf2fd, 0xf576, 0xf1c2, -0xf462, 0xf1c2, 0xf462, 0xf069, 0xf331, 0xf069, 0xf331, 0xee6a, 0xf15d, 0xee6a, 0xf15d, -0xed00, 0xf01f, 0xed00, 0xf01f, 0xed00, 0xf01f, 0xebb4, 0xef01, 0xebb4, 0xef01, 0xea72, -0xedee, 0xea72, 0xedee, 0xe9b3, 0xed5f, 0xe9b3, 0xed5f, 0xe7f6, 0xebd3, 0xe7f6, 0xebd3, -0xe6a4, 0xeab1, 0xe6a4, 0xeab1, 0xe6a4, 0xeab1, 0xe5b9, 0xe9f6, 0xe5b9, 0xe9f6, 0xe489, -0xe8f4, 0xe489, 0xe8f4, 0xe2f9, 0xe78e, 0xe2f9, 0xe78e, 0xe12b, 0xe5e6, 0xe12b, 0xe5e6, -0xe043, 0xe51f, 0xe043, 0xe51f, 0xdff1, 0xe4ea, 0xdff1, 0xe4ea, 0xdff1, 0xe4ea, 0xdff8, -0xe506, 0xdff8, 0xe506, 0xe015, 0xe531, 0xe015, 0xe531, 0xe00e, 0xe530, 0xe00e, 0xe530, -0xe05f, 0xe580, 0xe05f, 0xe580, 0xe046, 0xe55e, 0xe046, 0xe55e, 0xe071, 0xe577, 0xe071, -0xe577, 0xe071, 0xe577, 0xe152, 0xe640, 0xe152, 0xe640, 0xe1e6, 0xe6b5, 0xe1e6, 0xe6b5, -0xe35a, 0xe802, 0xe35a, 0xe802, 0xe437, 0xe8b5, 0xe437, 0xe8b5, 0xe4f8, 0xe946, 0xe4f8, -0xe946, 0xe4f8, 0xe946, 0xe6e3, 0xeb00, 0xe6e3, 0xeb00, 0xe81a, 0xec02, 0xe81a, 0xec02, -0xe905, 0xecb8, 0xe905, 0xecb8, 0xe9b5, 0xed32, 0xe9b5, 0xed32, 0xea8b, 0xedd3, 0xea8b, -0xedd3, 0xeb7c, 0xee90, 0xeb7c, 0xee90, 0xeb7c, 0xee90, 0xec24, 0xef08, 0xec24, 0xef08, -0xed12, 0xefc7, 0xed12, 0xefc7, 0xedbf, 0xf046, 0xedbf, 0xf046, 0xee36, 0xf093, 0xee36, -0xf093, 0xefdf, 0xf214, 0xefdf, 0xf214, 0xf1b7, 0xf3c5, 0xf1b7, 0xf3c5, 0xf1b7, 0xf3c5, -0xf31b, 0xf503, 0xf31b, 0xf503, 0xf483, 0xf645, 0xf483, 0xf645, 0xf49c, 0xf639, 0xf49c, -0xf639, 0xf540, 0xf6b6, 0xf540, 0xf6b6, 0xf646, 0xf793, 0xf646, 0xf793, 0xf646, 0xf793, -0xf6ac, 0xf7ce, 0xf6ac, 0xf7ce, 0xf768, 0xf85b, 0xf768, 0xf85b, 0xf791, 0xf853, 0xf791, -0xf853, 0xf828, 0xf8b5, 0xf828, 0xf8b5, 0xf96d, 0xf9c2, 0xf96d, 0xf9c2, 0xfade, 0xfaf8, -0xfade, 0xfaf8, 0xfade, 0xfaf8, 0xfce9, 0xfcc6, 0xfce9, 0xfcc6, 0xfe34, 0xfdd2, 0xfe34, -0xfdd2, 0xfe46, 0xfda5, 0xfe46, 0xfda5, 0xfe87, 0xfda8, 0xfe87, 0xfda8, 0x2, 0xfee6, -0x2, 0xfee6, 0x22d, 0xd8, 0x22d, 0xd8, 0x22d, 0xd8, 0x388, 0x1fe, 0x388, -0x1fe, 0x53c, 0x382, 0x53c, 0x382, 0x718, 0x535, 0x718, 0x535, 0x7de, 0x5d9, -0x7de, 0x5d9, 0x84e, 0x630, 0x84e, 0x630, 0x84e, 0x630, 0x794, 0x565, 0x794, -0x565, 0x6b6, 0x47f, 0x6b6, 0x47f, 0x625, 0x3ef, 0x625, 0x3ef, 0x5c0, 0x392, -0x5c0, 0x392, 0x667, 0x449, 0x667, 0x449, 0x749, 0x542, 0x749, 0x542, 0x749, -0x542, 0x7dc, 0x5f3, 0x7dc, 0x5f3, 0x78a, 0x5c1, 0x78a, 0x5c1, 0x6ce, 0x529, -0x6ce, 0x529, 0x695, 0x516, 0x695, 0x516, 0x66d, 0x514, 0x66d, 0x514, 0x66d, -0x514, 0x5dc, 0x4a8, 0x5dc, 0x4a8, 0x4a5, 0x394, 0x4a5, 0x394, 0x3de, 0x2ec, -0x3de, 0x2ec, 0x439, 0x363, 0x439, 0x363, 0x474, 0x3b5, 0x474, 0x3b5, 0x598, -0x4ec, 0x598, 0x4ec, 0x598, 0x4ec, 0x6cc, 0x62d, 0x6cc, 0x62d, 0x73e, 0x6a9, -0x73e, 0x6a9, 0x85b, 0x7cc, 0x85b, 0x7cc, 0x821, 0x794, 0x821, 0x794, 0x795, -0x707, 0x795, 0x707, 0x76d, 0x6dd, 0x76d, 0x6dd, 0x76d, 0x6dd, 0x695, 0x603, -0x695, 0x603, 0x5ba, 0x526, 0x5ba, 0x526, 0x50f, 0x479, 0x50f, 0x479, 0x54e, -0x4b9, 0x54e, 0x4b9, 0x576, 0x4e4, 0x576, 0x4e4, 0x576, 0x4e4, 0x4de, 0x453, -0x4de, 0x453, 0x45c, 0x3db, 0x45c, 0x3db, 0x357, 0x2e3, 0x357, 0x2e3, 0x229, -0x1c5, 0x229, 0x1c5, 0x229, 0x1d8, 0x229, 0x1d8, 0x1c8, 0x18c, 0x1c8, 0x18c, -0x1c8, 0x18c, 0xf6, 0xcf, 0xf6, 0xcf, 0xffbd, 0xffac, 0xffbd, 0xffac, 0xfd9f, -0xfda2, 0xfd9f, 0xfda2, 0xfc8a, 0xfca0, 0xfc8a, 0xfca0, 0xfb66, 0xfb8b, 0xfb66, 0xfb8b, -0xfa2c, 0xfa5d, 0xfa2c, 0xfa5d, 0xfa2c, 0xfa5d, 0xf933, 0xf96a, 0xf933, 0xf96a, 0xf805, -0xf83e, 0xf805, 0xf83e, 0xf7c6, 0xf7fa, 0xf7c6, 0xf7fa, 0xf75d, 0xf788, 0xf75d, 0xf788, -0xf71c, 0xf737, 0xf71c, 0xf737, 0xf71c, 0xf737, 0xf7ad, 0xf7b3, 0xf7ad, 0xf7b3, 0xf816, -0xf802, 0xf816, 0xf802, 0xf8ce, 0xf89d, 0xf8ce, 0xf89d, 0xfa35, 0xf9e3, 0xfa35, 0xf9e3, -0xfca5, 0xfc31, 0xfca5, 0xfc31, 0xfeda, 0xfe43, 0xfeda, 0xfe43, 0xfeda, 0xfe43, 0xffe3, -0xff2b, 0xffe3, 0xff2b, 0x1e5, 0x10c, 0x1e5, 0x10c, 0x3ea, 0x2f5, 0x3ea, 0x2f5, -0x56a, 0x45d, 0x56a, 0x45d, 0x6e7, 0x5c8, 0x6e7, 0x5c8, 0x70c, 0x5df, 0x70c, -0x5df, 0x70c, 0x5df, 0x6dd, 0x5a9, 0x6dd, 0x5a9, 0x6cb, 0x596, 0x6cb, 0x596, -0x687, 0x558, 0x687, 0x558, 0x614, 0x4f1, 0x614, 0x4f1, 0x562, 0x451, 0x562, -0x451, 0x562, 0x451, 0x4c7, 0x3cb, 0x4c7, 0x3cb, 0x3f0, 0x30e, 0x3f0, 0x30e, -0x377, 0x2b1, 0x377, 0x2b1, 0x3a5, 0x2ff, 0x3a5, 0x2ff, 0x384, 0x2fd, 0x384, -0x2fd, 0x315, 0x2ad, 0x315, 0x2ad, 0x315, 0x2ad, 0x253, 0x209, 0x253, 0x209, -0x22e, 0x200, 0x22e, 0x200, 0x211, 0x1fb, 0x211, 0x1fb, 0xa2, 0xa2, 0xa2, -0xa2, 0xff96, 0xffa9, 0xff96, 0xffa9, 0xfe08, 0xfe2a, 0xfe08, 0xfe2a, 0xfe08, 0xfe2a, -0xfd24, 0xfd51, 0xfd24, 0xfd51, 0xfe17, 0xfe4b, 0xfe17, 0xfe4b, 0xfeb2, 0xfeeb, 0xfeb2, -0xfeeb, 0xffbd, 0xfff8, 0xffbd, 0xfff8, 0xec, 0x128, 0xec, 0x128, 0xec, 0x128, -0x185, 0x1bf, 0x185, 0x1bf, 0x184, 0x1bc, 0x184, 0x1bc, 0x1a0, 0x1d5, 0x1a0, -0x1d5, 0x24c, 0x27e, 0x24c, 0x27e, 0x27b, 0x2aa, 0x27b, 0x2aa, 0x2a5, 0x2d2, -0x2a5, 0x2d2, 0x2a5, 0x2d2, 0x388, 0x3b3, 0x388, 0x3b3, 0x3dc, 0x405, 0x3dc, -0x405, 0x3b5, 0x3dd, 0x3b5, 0x3dd, 0x3ea, 0x40f, 0x3ea, 0x40f, 0x316, 0x337, -0x316, 0x337, 0x23a, 0x256, 0x23a, 0x256, 0x23a, 0x256, 0x15c, 0x171, 0x15c, -0x171, 0xe3, 0xee, 0xe3, 0xee, 0x1e6, 0x1e3, 0x1e6, 0x1e3, 0x2c0, 0x2ab, -0x2c0, 0x2ab, 0x3fb, 0x3d0, 0x3fb, 0x3d0, 0x3fb, 0x3d0, 0x4fb, 0x4b5, 0x4fb, -0x4b5, 0x5e9, 0x583, 0x5e9, 0x583, 0x746, 0x6bb, 0x746, 0x6bb, 0x775, 0x6c1, -0x775, 0x6c1, 0x751, 0x670, 0x751, 0x670, 0x762, 0x64f, 0x762, 0x64f, 0x762, -0x64f, 0x763, 0x61c, 0x763, 0x61c, 0x7c2, 0x645, 0x7c2, 0x645, 0x92a, 0x775, -0x92a, 0x775, 0xbe1, 0x9f5, 0xbe1, 0x9f5, 0xe35, 0xc12, 0xe35, 0xc12, 0xfde, -0xd86, 0xfde, 0xd86, 0xfde, 0xd86, 0x11d4, 0xf4a, 0x11d4, 0xf4a, 0x12fc, 0x1044, -0x12fc, 0x1044, 0x1313, 0x1031, 0x1313, 0x1031, 0x12a5, 0xf9f, 0x12a5, 0xf9f, 0x11cb, -0xea5, 0x11cb, 0xea5, 0x11cb, 0xea5, 0x11ea, 0xeac, 0x11ea, 0xeac, 0x1380, 0x102e, -0x1380, 0x102e, 0x14f7, 0x1197, 0x14f7, 0x1197, 0x15e7, 0x127f, 0x15e7, 0x127f, 0x16d9, -0x136e, 0x16d9, 0x136e, 0x17a4, 0x143b, 0x17a4, 0x143b, 0x17a4, 0x143b, 0x1808, 0x14a6, -0x1808, 0x14a6, 0x18c6, 0x156d, 0x18c6, 0x156d, 0x19a1, 0x1655, 0x19a1, 0x1655, 0x19b5, -0x1678, 0x19b5, 0x1678, 0x195c, 0x1630, 0x195c, 0x1630, 0x18b4, 0x159b, 0x18b4, 0x159b, -0x18b4, 0x159b, 0x18d8, 0x15d2, 0x18d8, 0x15d2, 0x187e, 0x158c, 0x187e, 0x158c, 0x1784, -0x14a7, 0x1784, 0x14a7, 0x1719, 0x1450, 0x1719, 0x1450, 0x15d7, 0x1324, 0x15d7, 0x1324, -0x15d7, 0x1324, 0x15d9, 0x133b, 0x15d9, 0x133b, 0x1646, 0x13be, 0x1646, 0x13be, 0x1595, -0x1325, 0x1595, 0x1325, 0x154c, 0x12f5, 0x154c, 0x12f5, 0x1588, 0x134a, 0x1588, 0x134a, -0x1647, 0x1424, 0x1647, 0x1424, 0x1647, 0x1424, 0x1645, 0x1440, 0x1645, 0x1440, 0x160d, -0x1427, 0x160d, 0x1427, 0x15c5, 0x1401, 0x15c5, 0x1401, 0x143e, 0x129d, 0x143e, 0x129d, -0x1302, 0x1186, 0x1302, 0x1186, 0x1274, 0x111f, 0x1274, 0x111f, 0x1274, 0x111f, 0x1163, -0x1036, 0x1163, 0x1036, 0x109b, 0xf97, 0x109b, 0xf97, 0xfda, 0xf00, 0xfda, 0xf00, -0xed5, 0xe24, 0xed5, 0xe24, 0xe01, 0xd78, 0xe01, 0xd78, 0xe01, 0xd78, 0xc4b, -0xbea, 0xc4b, 0xbea, 0xa8c, 0xa50, 0xa8c, 0xa50, 0x893, 0x87c, 0x893, 0x87c, -0x666, 0x670, 0x666, 0x670, 0x504, 0x52c, 0x504, 0x52c, 0x3a8, 0x3eb, 0x3a8, -0x3eb, 0x3a8, 0x3eb, 0x2f7, 0x351, 0x2f7, 0x351, 0x279, 0x2e7, 0x279, 0x2e7, -0x176, 0x1f4, 0x176, 0x1f4, 0xb9, 0x144, 0xb9, 0x144, 0x56, 0xea, 0x56, -0xea, 0x56, 0xea, 0xffb6, 0x51, 0xffb6, 0x51, 0xfdfe, 0xfe9c, 0xfdfe, 0xfe9c, -0xfbee, 0xfc8d, 0xfbee, 0xfc8d, 0xfa65, 0xfb01, 0xfa65, 0xfb01, 0xf884, 0xf91d, 0xf884, -0xf91d, 0xf72b, 0xf7bf, 0xf72b, 0xf7bf, 0xf72b, 0xf7bf, 0xf765, 0xf7f2, 0xf765, 0xf7f2, -0xf7cf, 0xf854, 0xf7cf, 0xf854, 0xf7d7, 0xf852, 0xf7d7, 0xf852, 0xf706, 0xf778, 0xf706, -0xf778, 0xf5a8, 0xf60f, 0xf5a8, 0xf60f, 0xf4e2, 0xf53f, 0xf4e2, 0xf53f, 0xf4e2, 0xf53f, -0xf45e, 0xf4af, 0xf45e, 0xf4af, 0xf438, 0xf47d, 0xf438, 0xf47d, 0xf489, 0xf4c2, 0xf489, -0xf4c2, 0xf5f4, 0xf621, 0xf5f4, 0xf621, 0xf7b1, 0xf7d1, 0xf7b1, 0xf7d1, 0xf7b1, 0xf7d1, -0xf897, 0xf8aa, 0xf897, 0xf8aa, 0xf9b4, 0xf9bb, 0xf9b4, 0xf9bb, 0xf9db, 0xf9d6, 0xf9db, -0xf9d6, 0xf9cc, 0xf9bb, 0xf9cc, 0xf9bb, 0xf9f0, 0xf9d3, 0xf9f0, 0xf9d3, 0xfa1f, 0xf9f7, -0xfa1f, 0xf9f7, 0xfa1f, 0xf9f7, 0xfbe1, 0xfbb0, 0xfbe1, 0xfbb0, 0xfd39, 0xfcff, 0xfd39, -0xfcff, 0xfec6, 0xfe86, 0xfec6, 0xfe86, 0x2a, 0xffe6, 0x2a, 0xffe6, 0x105, 0xbf, -0x105, 0xbf, 0x333, 0x2ee, 0x333, 0x2ee, 0x333, 0x2ee, 0x3fd, 0x3bc, 0x3fd, -0x3bc, 0x341, 0x308, 0x341, 0x308, 0x296, 0x268, 0x296, 0x268, 0x238, 0x218, -0x238, 0x218, 0x1fe, 0x1f1, 0x1fe, 0x1f1, 0x1fe, 0x1f1, 0x1a2, 0x1ab, 0x1a2, -0x1ab, 0x238, 0x25b, 0x238, 0x25b, 0x366, 0x3a7, 0x366, 0x3a7, 0x403, 0x465, -0x403, 0x465, 0x46a, 0x4f1, 0x46a, 0x4f1, 0x40a, 0x4b9, 0x40a, 0x4b9, 0x40a, -0x4b9, 0x1f4, 0x2ce, 0x1f4, 0x2ce, 0xffc8, 0xd0, 0xffc8, 0xd0, 0xfd2f, 0xfe67, -0xfd2f, 0xfe67, 0xfac6, 0xfc31, 0xfac6, 0xfc31, 0xf978, 0xfb17, 0xf978, 0xfb17, 0xf7a2, -0xf978, 0xf7a2, 0xf978, 0xf7a2, 0xf978, 0xf61f, 0xf82c, 0xf61f, 0xf82c, 0xf44e, 0xf694, -0xf44e, 0xf694, 0xf2c9, 0xf548, 0xf2c9, 0xf548, 0xf21f, 0xf4d8, 0xf21f, 0xf4d8, 0xf0ef, -0xf3e1, 0xf0ef, 0xf3e1, 0xf0ef, 0xf3e1, 0xf02f, 0xf35b, 0xf02f, 0xf35b, 0xeef7, 0xf25b, -0xeef7, 0xf25b, 0xed64, 0xf0ff, 0xed64, 0xf0ff, 0xec62, 0xf032, 0xec62, 0xf032, 0xeb8b, -0xef8d, 0xeb8b, 0xef8d, 0xea6e, 0xee9f, 0xea6e, 0xee9f, 0xea6e, 0xee9f, 0xe808, 0xec64, -0xe808, 0xec64, 0xe5bd, 0xea3f, 0xe5bd, 0xea3f, 0xe412, 0xe8b6, 0xe412, 0xe8b6, 0xe1ff, -0xe6bf, 0xe1ff, 0xe6bf, 0xe09d, 0xe573, 0xe09d, 0xe573, 0xdfee, 0xe4d3, 0xdfee, 0xe4d3, -0xdfee, 0xe4d3, 0xdf18, 0xe406, 0xdf18, 0xe406, 0xde62, 0xe350, 0xde62, 0xe350, 0xde00, -0xe2e8, 0xde00, 0xe2e8, 0xde15, 0xe2f0, 0xde15, 0xe2f0, 0xde8c, 0xe351, 0xde8c, 0xe351, -0xde8c, 0xe351, 0xdef8, 0xe3a2, 0xdef8, 0xe3a2, 0xde9a, 0xe322, 0xde9a, 0xe322, 0xddfc, -0xe25b, 0xddfc, 0xe25b, 0xde64, 0xe296, 0xde64, 0xe296, 0xdf49, 0xe34a, 0xdf49, 0xe34a, -0xe047, 0xe414, 0xe047, 0xe414, 0xe047, 0xe414, 0xe152, 0xe4e7, 0xe152, 0xe4e7, 0xe23f, -0xe59c, 0xe23f, 0xe59c, 0xe361, 0xe684, 0xe361, 0xe684, 0xe3f7, 0xe6e3, 0xe3f7, 0xe6e3, -0xe496, 0xe74a, 0xe496, 0xe74a, 0xe599, 0xe817, 0xe599, 0xe817, 0xe599, 0xe817, 0xe635, -0xe880, 0xe635, 0xe880, 0xe773, 0xe98d, 0xe773, 0xe98d, 0xe8a2, 0xea8f, 0xe8a2, 0xea8f, -0xe9d4, 0xeb97, 0xe9d4, 0xeb97, 0xec0a, 0xeda4, 0xec0a, 0xeda4, 0xec0a, 0xeda4, 0xeda3, -0xef18, 0xeda3, 0xef18, 0xeefd, 0xf04e, 0xeefd, 0xf04e, 0xf130, 0xf25e, 0xf130, 0xf25e, -0xf3a3, 0xf4af, 0xf3a3, 0xf4af, 0xf5aa, 0xf694, 0xf5aa, 0xf694, 0xf68c, 0xf754, 0xf68c, -0xf754, 0xf68c, 0xf754, 0xf6e0, 0xf785, 0xf6e0, 0xf785, 0xf749, 0xf7c8, 0xf749, 0xf7c8, -0xf7f9, 0xf851, 0xf7f9, 0xf851, 0xf9f6, 0xfa24, 0xf9f6, 0xfa24, 0xfbae, 0xfbaf, 0xfbae, -0xfbaf, 0xfcf0, 0xfcc2, 0xfcf0, 0xfcc2, 0xfcf0, 0xfcc2, 0xfe88, 0xfe29, 0xfe88, 0xfe29, -0xff25, 0xfe94, 0xff25, 0xfe94, 0x33, 0xff6f, 0x33, 0xff6f, 0x107, 0x11, 0x107, -0x11, 0x16c, 0x44, 0x16c, 0x44, 0x16c, 0x44, 0x275, 0x11d, 0x275, 0x11d, -0x392, 0x20e, 0x392, 0x20e, 0x5aa, 0x3fe, 0x5aa, 0x3fe, 0x793, 0x5c4, 0x793, -0x5c4, 0x910, 0x725, 0x910, 0x725, 0xa42, 0x841, 0xa42, 0x841, 0xa42, 0x841, -0xa44, 0x835, 0xa44, 0x835, 0x9b8, 0x7a2, 0x9b8, 0x7a2, 0x920, 0x70c, 0x920, -0x70c, 0x8f0, 0x6e4, 0x8f0, 0x6e4, 0x897, 0x69b, 0x897, 0x69b, 0x7e3, 0x5fd, -0x7e3, 0x5fd, 0x7e3, 0x5fd, 0x802, 0x639, 0x802, 0x639, 0x8f3, 0x74a, 0x8f3, -0x74a, 0x99f, 0x81b, 0x99f, 0x81b, 0xa08, 0x8a9, 0xa08, 0x8a9, 0x9ce, 0x896, -0x9ce, 0x896, 0x9ce, 0x896, 0x8b5, 0x7a4, 0x8b5, 0x7a4, 0x775, 0x689, 0x775, -0x689, 0x60f, 0x546, 0x60f, 0x546, 0x509, 0x460, 0x509, 0x460, 0x4b6, 0x429, -0x4b6, 0x429, 0x4fa, 0x485, 0x4fa, 0x485, 0x4fa, 0x485, 0x564, 0x502, 0x564, -0x502, 0x5e4, 0x590, 0x5e4, 0x590, 0x6f2, 0x6a9, 0x6f2, 0x6a9, 0x74b, 0x70b, -0x74b, 0x70b, 0x704, 0x6ca, 0x704, 0x6ca, 0x67d, 0x647, 0x67d, 0x647, 0x67d, -0x647, 0x561, 0x52e, 0x561, 0x52e, 0x4d6, 0x4a7, 0x4d6, 0x4a7, 0x453, 0x428, -0x453, 0x428, 0x436, 0x413, 0x436, 0x413, 0x3e5, 0x3cc, 0x3e5, 0x3cc, 0x3e5, -0x3cc, 0x28a, 0x27d, 0x28a, 0x27d, 0x253, 0x257, 0x253, 0x257, 0x1bc, 0x1d5, -0x1bc, 0x1d5, 0x125, 0x154, 0x125, 0x154, 0x185, 0x1cf, 0x185, 0x1cf, 0xe8, -0x14e, 0xe8, 0x14e, 0xe8, 0x14e, 0x6e, 0xf1, 0x6e, 0xf1, 0x5a, 0xfa, -0x5a, 0xfa, 0xfffd, 0xba, 0xfffd, 0xba, 0xff27, 0xfffe, 0xff27, 0xfffe, 0xfdc2, -0xfeaf, 0xfdc2, 0xfeaf, 0xfdc2, 0xfeaf, 0xfcb5, 0xfdb3, 0xfcb5, 0xfdb3, 0xfb88, 0xfc90, -0xfb88, 0xfc90, 0xfa5f, 0xfb6c, 0xfa5f, 0xfb6c, 0xfa13, 0xfb1c, 0xfa13, 0xfb1c, 0xf91a, -0xfa17, 0xf91a, 0xfa17, 0xf865, 0xf94f, 0xf865, 0xf94f, 0xf865, 0xf94f, 0xf8f4, 0xf9c2, -0xf8f4, 0xf9c2, 0xf9e6, 0xfa91, 0xf9e6, 0xfa91, 0xfc27, 0xfca7, 0xfc27, 0xfca7, 0xfdc6, -0xfe17, 0xfdc6, 0xfe17, 0xfe27, 0xfe45, 0xfe27, 0xfe45, 0xfea2, 0xfe8a, 0xfea2, 0xfe8a, -0xfea2, 0xfe8a, 0xff57, 0xff07, 0xff57, 0xff07, 0x157, 0xd1, 0x157, 0xd1, 0x374, -0x2ba, 0x374, 0x2ba, 0x537, 0x44d, 0x537, 0x44d, 0x73f, 0x62b, 0x73f, 0x62b, -0x73f, 0x62b, 0x828, 0x6f0, 0x828, 0x6f0, 0x86c, 0x718, 0x86c, 0x718, 0x8b9, -0x752, 0x8b9, 0x752, 0x87e, 0x70c, 0x87e, 0x70c, 0x7c7, 0x655, 0x7c7, 0x655, -0x660, 0x4f5, 0x660, 0x4f5, 0x660, 0x4f5, 0x58d, 0x432, 0x58d, 0x432, 0x531, -0x3ed, 0x531, 0x3ed, 0x487, 0x362, 0x487, 0x362, 0x449, 0x346, 0x449, 0x346, -0x3e0, 0x304, 0x3e0, 0x304, 0x38e, 0x2db, 0x38e, 0x2db, 0x38e, 0x2db, 0x2fc, -0x272, 0x2fc, 0x272, 0x1cd, 0x16c, 0x1cd, 0x16c, 0x56, 0x1c, 0x56, 0x1c, -0xfeaa, 0xfe93, 0xfeaa, 0xfe93, 0xfd24, 0xfd2b, 0xfd24, 0xfd2b, 0xfd24, 0xfd2b, 0xfb80, -0xfba0, 0xfb80, 0xfba0, 0xfac0, 0xfaf5, 0xfac0, 0xfaf5, 0xfb29, 0xfb6b, 0xfb29, 0xfb6b, -0xfb8b, 0xfbd4, 0xfb8b, 0xfbd4, 0xfc40, 0xfc8b, 0xfc40, 0xfc8b, 0xfd13, 0xfd5b, 0xfd13, -0xfd5b, 0xfd13, 0xfd5b, 0xfdae, 0xfdec, 0xfdae, 0xfdec, 0xfe2e, 0xfe60, 0xfe2e, 0xfe60, -0xfde5, 0xfe06, 0xfde5, 0xfe06, 0xfe20, 0xfe2e, 0xfe20, 0xfe2e, 0xfe8c, 0xfe84, 0xfe8c, -0xfe84, 0xfed5, 0xfeb8, 0xfed5, 0xfeb8, 0xfed5, 0xfeb8, 0x28, 0xfff4, 0x28, 0xfff4, -0xdc, 0x92, 0xdc, 0x92, 0x1cc, 0x16e, 0x1cc, 0x16e, 0x2de, 0x26c, 0x2de, -0x26c, 0x265, 0x1e0, 0x265, 0x1e0, 0x265, 0x1e0, 0x1ee, 0x158, 0x1ee, 0x158, -0x213, 0x16d, 0x213, 0x16d, 0x275, 0x1bf, 0x275, 0x1bf, 0x2b5, 0x1f0, 0x2b5, -0x1f0, 0x32f, 0x25b, 0x32f, 0x25b, 0x4ca, 0x3e6, 0x4ca, 0x3e6, 0x4ca, 0x3e6, -0x65f, 0x56b, 0x65f, 0x56b, 0x82f, 0x72a, 0x82f, 0x72a, 0xa25, 0x90c, 0xa25, -0x90c, 0xa4e, 0x91e, 0xa4e, 0x91e, 0xa62, 0x91b, 0xa62, 0x91b, 0xa68, 0x906, -0xa68, 0x906, 0xa68, 0x906, 0xa3a, 0x8bb, 0xa3a, 0x8bb, 0xb15, 0x977, 0xb15, -0x977, 0xbd3, 0xa14, 0xbd3, 0xa14, 0xd09, 0xb29, 0xd09, 0xb29, 0xe7e, 0xc7b, -0xe7e, 0xc7b, 0xe7e, 0xc7b, 0xff9, 0xdd2, 0xff9, 0xdd2, 0x11e8, 0xf9f, 0x11e8, -0xf9f, 0x1309, 0x109e, 0x1309, 0x109e, 0x13a0, 0x1116, 0x13a0, 0x1116, 0x1467, 0x11c0, -0x1467, 0x11c0, 0x14e9, 0x1226, 0x14e9, 0x1226, 0x14e9, 0x1226, 0x1563, 0x1289, 0x1563, -0x1289, 0x1609, 0x131a, 0x1609, 0x131a, 0x167c, 0x137d, 0x167c, 0x137d, 0x1679, 0x136d, -0x1679, 0x136d, 0x1679, 0x1363, 0x1679, 0x1363, 0x176c, 0x1450, 0x176c, 0x1450, 0x176c, -0x1450, 0x1890, 0x1571, 0x1890, 0x1571, 0x197d, 0x165e, 0x197d, 0x165e, 0x19f2, 0x16d6, -0x19f2, 0x16d6, 0x1a21, 0x1709, 0x1a21, 0x1709, 0x1a9f, 0x178d, 0x1a9f, 0x178d, 0x1a9f, -0x178d, 0x1a72, 0x1768, 0x1a72, 0x1768, 0x1972, 0x1670, 0x1972, 0x1670, 0x1826, 0x152e, -0x1826, 0x152e, 0x1733, 0x1446, 0x1733, 0x1446, 0x1638, 0x1356, 0x1638, 0x1356, 0x147e, -0x11a7, 0x147e, 0x11a7, 0x147e, 0x11a7, 0x1345, 0x107b, 0x1345, 0x107b, 0x12d6, 0x1019, -0x12d6, 0x1019, 0x1253, 0xfa5, 0x1253, 0xfa5, 0x125c, 0xfbe, 0x125c, 0xfbe, 0x1296, -0x100a, 0x1296, 0x100a, 0x1352, 0x10d9, 0x1352, 0x10d9, 0x1352, 0x10d9, 0x13fd, 0x119a, -0x13fd, 0x119a, 0x1347, 0x10fb, 0x1347, 0x10fb, 0x12ef, 0x10be, 0x12ef, 0x10be, 0x11ea, -0xfd6, 0x11ea, 0xfd6, 0x10be, 0xecb, 0x10be, 0xecb, 0x10be, 0xecb, 0x103d, 0xe6c, -0x103d, 0xe6c, 0xf13, 0xd67, 0xf13, 0xd67, 0xef1, 0xd6c, 0xef1, 0xd6c, 0xf22, -0xdc6, 0xf22, 0xdc6, 0xef6, 0xdc5, 0xef6, 0xdc5, 0xeaa, 0xda4, 0xeaa, 0xda4, -0xeaa, 0xda4, 0xdc1, 0xce7, 0xdc1, 0xce7, 0xcdf, 0xc31, 0xcdf, 0xc31, 0xb69, -0xae6, 0xb69, 0xae6, 0x9d0, 0x978, 0x9d0, 0x978, 0x89f, 0x870, 0x89f, 0x870, -0x701, 0x6f9, 0x701, 0x6f9, 0x701, 0x6f9, 0x65a, 0x677, 0x65a, 0x677, 0x5ba, -0x5f9, 0x5ba, 0x5f9, 0x456, 0x4b5, 0x456, 0x4b5, 0x401, 0x47c, 0x401, 0x47c, -0x39e, 0x432, 0x39e, 0x432, 0x39e, 0x432, 0x323, 0x3ce, 0x323, 0x3ce, 0x235, -0x2f2, 0x235, 0x2f2, 0x10, 0xdd, 0x10, 0xdd, 0xfdbc, 0xfe96, 0xfdbc, 0xfe96, -0xfb3f, 0xfc21, 0xfb3f, 0xfc21, 0xf96d, 0xfa57, 0xf96d, 0xfa57, 0xf96d, 0xfa57, 0xf8c0, -0xf9ad, 0xf8c0, 0xf9ad, 0xf83a, 0xf927, 0xf83a, 0xf927, 0xf7e1, 0xf8ca, 0xf7e1, 0xf8ca, -0xf7c9, 0xf8ad, 0xf7c9, 0xf8ad, 0xf6e6, 0xf7c1, 0xf6e6, 0xf7c1, 0xf58d, 0xf65c, 0xf58d, -0xf65c, 0xf58d, 0xf65c, 0xf4d3, 0xf593, 0xf4d3, 0xf593, 0xf4ed, 0xf59b, 0xf4ed, 0xf59b, -0xf4d9, 0xf572, 0xf4d9, 0xf572, 0xf4ae, 0xf530, 0xf4ae, 0xf530, 0xf562, 0xf5ca, 0xf562, -0xf5ca, 0xf562, 0xf5ca, 0xf625, 0xf671, 0xf625, 0xf671, 0xf6f8, 0xf725, 0xf6f8, 0xf725, -0xf7c9, 0xf7d5, 0xf7c9, 0xf7d5, 0xf8db, 0xf8c6, 0xf8db, 0xf8c6, 0xfa16, 0xf9df, 0xfa16, -0xf9df, 0xfa47, 0xf9ee, 0xfa47, 0xf9ee, 0xfa47, 0xf9ee, 0xfa11, 0xf997, 0xfa11, 0xf997, -0xfa6b, 0xf9d3, 0xfa6b, 0xf9d3, 0xfbe6, 0xfb31, 0xfbe6, 0xfb31, 0xfdcb, 0xfcfe, 0xfdcb, -0xfcfe, 0xff3b, 0xfe59, 0xff3b, 0xfe59, 0xff3b, 0xfe59, 0xec, 0xfffb, 0xec, 0xfffb, -0x1d9, 0xde, 0x1d9, 0xde, 0x1e1, 0xe3, 0x1e1, 0xe3, 0x1c5, 0xcc, 0x1c5, -0xcc, 0xee, 0x1, 0xee, 0x1, 0xd3, 0xfffa, 0xd3, 0xfffa, 0xd3, 0xfffa, -0xb7, 0xfff9, 0xb7, 0xfff9, 0xab, 0x11, 0xab, 0x11, 0x178, 0x109, 0x178, -0x109, 0x172, 0x135, 0x172, 0x135, 0x1ba, 0x1b6, 0x1ba, 0x1b6, 0x18f, 0x1c9, -0x18f, 0x1c9, 0x18f, 0x1c9, 0x81, 0xfe, 0x81, 0xfe, 0xffb1, 0x76, 0xffb1, -0x76, 0xfe6c, 0xff7b, 0xfe6c, 0xff7b, 0xfcfb, 0xfe56, 0xfcfb, 0xfe56, 0xfb26, 0xfccf, -0xfb26, 0xfccf, 0xfb26, 0xfccf, 0xf933, 0xfb2a, 0xf933, 0xfb2a, 0xf7b4, 0xf9f8, 0xf7b4, -0xf9f8, 0xf5b1, 0xf840, 0xf5b1, 0xf840, 0xf44d, 0xf725, 0xf44d, 0xf725, 0xf3c3, 0xf6df, -0xf3c3, 0xf6df, 0xf2bf, 0xf61d, 0xf2bf, 0xf61d, 0xf2bf, 0xf61d, 0xf258, 0xf5f2, 0xf258, -0xf5f2, 0xf17c, 0xf54e, 0xf17c, 0xf54e, 0xf093, 0xf497, 0xf093, 0xf497, 0xf004, 0xf435, -0xf004, 0xf435, 0xee87, 0xf2e1, 0xee87, 0xf2e1, 0xed92, 0xf20d, 0xed92, 0xf20d, 0xed92, -0xf20d, 0xec19, 0xf0b0, 0xec19, 0xf0b0, 0xe9d3, 0xee82, 0xe9d3, 0xee82, 0xe779, 0xec39, -0xe779, 0xec39, 0xe4b6, 0xe983, 0xe4b6, 0xe983, 0xe2a3, 0xe777, 0xe2a3, 0xe777, 0xe2a3, -0xe777, 0xe0e2, 0xe5b8, 0xe0e2, 0xe5b8, 0xdf59, 0xe42c, 0xdf59, 0xe42c, 0xdf11, 0xe3dc, -0xdf11, 0xe3dc, 0xdf8e, 0xe44d, 0xdf8e, 0xe44d, 0xe013, 0xe4c2, 0xe013, 0xe4c2, 0xe02a, -0xe4c5, 0xe02a, 0xe4c5, 0xe02a, 0xe4c5, 0xe03b, 0xe4be, 0xe03b, 0xe4be, 0xe06d, 0xe4d3, -0xe06d, 0xe4d3, 0xdf66, 0xe3ad, 0xdf66, 0xe3ad, 0xde7a, 0xe29f, 0xde7a, 0xe29f, 0xde6f, -0xe26f, 0xde6f, 0xe26f, 0xde85, 0xe25d, 0xde85, 0xe25d, 0xde85, 0xe25d, 0xdf7a, 0xe328, -0xdf7a, 0xe328, 0xe0db, 0xe45e, 0xe0db, 0xe45e, 0xe23f, 0xe596, 0xe23f, 0xe596, 0xe31d, -0xe647, 0xe31d, 0xe647, 0xe357, 0xe653, 0xe357, 0xe653, 0xe357, 0xe653, 0xe3a5, 0xe673, -0xe3a5, 0xe673, 0xe3e3, 0xe683, 0xe3e3, 0xe683, 0xe4da, 0xe74b, 0xe4da, 0xe74b, 0xe587, -0xe7cc, 0xe587, 0xe7cc, 0xe59d, 0xe7b4, 0xe59d, 0xe7b4, 0xe6e2, 0xe8ce, 0xe6e2, 0xe8ce, -0xe6e2, 0xe8ce, 0xe867, 0xea27, 0xe867, 0xea27, 0xeacc, 0xec61, 0xeacc, 0xec61, 0xed19, -0xee83, 0xed19, 0xee83, 0xee71, 0xefb2, 0xee71, 0xefb2, 0xf051, 0xf168, 0xf051, 0xf168, -0xf114, 0xf201, 0xf114, 0xf201, 0xf114, 0xf201, 0xf1d0, 0xf293, 0xf1d0, 0xf293, 0xf2d1, -0xf36a, 0xf2d1, 0xf36a, 0xf394, 0xf403, 0xf394, 0xf403, 0xf52f, 0xf573, 0xf52f, 0xf573, -0xf690, 0xf6a8, 0xf690, 0xf6a8, 0xf690, 0xf6a8, 0xf82a, 0xf818, 0xf82a, 0xf818, 0xfa37, -0xf9f9, 0xfa37, 0xf9f9, 0xfbac, 0xfb43, 0xfbac, 0xfb43, 0xfcd5, 0xfc43, 0xfcd5, 0xfc43, -0xfdfa, 0xfd3f, 0xfdfa, 0xfd3f, 0xffa8, 0xfec6, 0xffa8, 0xfec6, 0xffa8, 0xfec6, 0x1c8, -0xc2, 0x1c8, 0xc2, 0x2f4, 0x1cd, 0x2f4, 0x1cd, 0x4bb, 0x376, 0x4bb, 0x376, -0x6d7, 0x578, 0x6d7, 0x578, 0x878, 0x704, 0x878, 0x704, 0xac3, 0x93f, 0xac3, -0x93f, 0xac3, 0x93f, 0xbe9, 0xa5a, 0xbe9, 0xa5a, 0xcba, 0xb25, 0xcba, 0xb25, -0xd07, 0xb73, 0xd07, 0xb73, 0xc93, 0xb03, 0xc93, 0xb03, 0xce9, 0xb64, 0xce9, -0xb64, 0xce9, 0xb64, 0xca0, 0xb29, 0xca0, 0xb29, 0xcdf, 0xb7a, 0xcdf, 0xb7a, -0xd8d, 0xc3d, 0xd8d, 0xc3d, 0xd62, 0xc2a, 0xd62, 0xc2a, 0xd82, 0xc63, 0xd82, -0xc63, 0xd53, 0xc4e, 0xd53, 0xc4e, 0xd53, 0xc4e, 0xcc4, 0xbd8, 0xcc4, 0xbd8, -0xc21, 0xb4d, 0xc21, 0xb4d, 0xb81, 0xac4, 0xb81, 0xac4, 0xb10, 0xa67, 0xb10, -0xa67, 0xa06, 0x96f, 0xa06, 0x96f, 0x951, 0x8c7, 0x951, 0x8c7, 0x951, 0x8c7, -0x91d, 0x89f, 0x91d, 0x89f, 0x881, 0x80a, 0x881, 0x80a, 0x829, 0x7b7, 0x829, -0x7b7, 0x809, 0x799, 0x809, 0x799, 0x7a7, 0x737, 0x7a7, 0x737, 0x7a7, 0x737, -0x77d, 0x70b, 0x77d, 0x70b, 0x7cb, 0x756, 0x7cb, 0x756, 0x7fd, 0x784, 0x7fd, -0x784, 0x752, 0x6d6, 0x752, 0x6d6, 0x617, 0x598, 0x617, 0x598, 0x477, 0x3f6, -0x477, 0x3f6, 0x477, 0x3f6, 0x2d8, 0x257, 0x2d8, 0x257, 0x24e, 0x1ce, 0x24e, -0x1ce, 0x126, 0xa8, 0x126, 0xa8, 0xffd0, 0xff56, 0xffd0, 0xff56, 0xff68, 0xfef3, -0xff68, 0xfef3, 0xfe9c, 0xfe2d, 0xfe9c, 0xfe2d, 0xfe9c, 0xfe2d, 0xfe36, 0xfdcb, 0xfe36, -0xfdcb, 0xfd68, 0xfd03, 0xfd68, 0xfd03, 0xfce0, 0xfc7d, 0xfce0, 0xfc7d, 0xfcb5, 0xfc53, -0xfcb5, 0xfc53, 0xfb86, 0xfb20, 0xfb86, 0xfb20, 0xfb86, 0xfb20, 0xfad2, 0xfa66, 0xfad2, -0xfa66, 0xf987, 0xf910, 0xf987, 0xf910, 0xf787, 0xf700, 0xf787, 0xf700, 0xf5ff, 0xf563, -0xf5ff, 0xf563, 0xf4d4, 0xf41f, 0xf4d4, 0xf41f, 0xf4dc, 0xf409, 0xf4dc, 0xf409, 0xf4dc, -0xf409, 0xf599, 0xf4a5, 0xf599, 0xf4a5, 0xf6a9, 0xf58f, 0xf6a9, 0xf58f, 0xf84d, 0xf70c, -0xf84d, 0xf70c, 0xf9f9, 0xf891, 0xf9f9, 0xf891, 0xfc91, 0xfb01, 0xfc91, 0xfb01, 0xff0b, -0xfd56, 0xff0b, 0xfd56, 0xff0b, 0xfd56, 0x32, 0xfe5c, 0x32, 0xfe5c, 0x1c1, 0xffce, -0x1c1, 0xffce, 0x2fc, 0xf3, 0x2fc, 0xf3, 0x493, 0x27b, 0x493, 0x27b, 0x6eb, -0x4ce, 0x6eb, 0x4ce, 0x6eb, 0x4ce, 0x876, 0x65c, 0x876, 0x65c, 0xa20, 0x815, -0xa20, 0x815, 0xb0a, 0x916, 0xb0a, 0x916, 0xb62, 0x990, 0xb62, 0x990, 0xbcd, -0xa26, 0xbcd, 0xa26, 0xb37, 0x9c3, 0xb37, 0x9c3, 0xb37, 0x9c3, 0xa80, 0x945, -0xa80, 0x945, 0x923, 0x827, 0x923, 0x827, 0x75e, 0x6a5, 0x75e, 0x6a5, 0x6bf, -0x64c, 0x6bf, 0x64c, 0x646, 0x618, 0x646, 0x618, 0x646, 0x618, 0x56b, 0x57f, -0x56b, 0x57f, 0x4b8, 0x50c, 0x4b8, 0x50c, 0x41c, 0x4a9, 0x41c, 0x4a9, 0x2d3, -0x393, 0x2d3, 0x393, 0xb9, 0x1a2, 0xb9, 0x1a2, 0xfef4, 0xfffe, 0xfef4, 0xfffe, -0xfef4, 0xfffe, 0xfd73, 0xfe94, 0xfd73, 0xfe94, 0xfb92, 0xfcbf, 0xfb92, 0xfcbf, 0xfaa7, -0xfbd6, 0xfaa7, 0xfbd6, 0xfac1, 0xfbea, 0xfac1, 0xfbea, 0xfaff, 0xfc18, 0xfaff, 0xfc18, -0xfbb2, 0xfcb3, 0xfbb2, 0xfcb3, 0xfbb2, 0xfcb3, 0xfca5, 0xfd89, 0xfca5, 0xfd89, 0xfd7b, -0xfe3c, 0xfd7b, 0xfe3c, 0xfd6c, 0xfe07, 0xfd6c, 0xfe07, 0xfd4a, 0xfdbc, 0xfd4a, 0xfdbc, -0xfce1, 0xfd2a, 0xfce1, 0xfd2a, 0xfce1, 0xfd2a, 0xfc5b, 0xfc7c, 0xfc5b, 0xfc7c, 0xfd00, -0xfcfc, 0xfd00, 0xfcfc, 0xfcc6, 0xfc9e, 0xfcc6, 0xfc9e, 0xfcdc, 0xfc95, 0xfcdc, 0xfc95, -0xfd7c, 0xfd1a, 0xfd7c, 0xfd1a, 0xfdda, 0xfd61, 0xfdda, 0xfd61, 0xfdda, 0xfd61, 0xfebe, -0xfe33, 0xfebe, 0xfe33, 0xfee7, 0xfe4d, 0xfee7, 0xfe4d, 0xff67, 0xfec1, 0xff67, 0xfec1, -0xff9a, 0xfeeb, 0xff9a, 0xfeeb, 0xffd6, 0xff1e, 0xffd6, 0xff1e, 0x163, 0xa5, 0x163, -0xa5, 0x163, 0xa5, 0x289, 0x1c4, 0x289, 0x1c4, 0x40c, 0x33d, 0x40c, 0x33d, -0x5b0, 0x4d7, 0x5b0, 0x4d7, 0x66c, 0x584, 0x66c, 0x584, 0x6fa, 0x602, 0x6fa, -0x602, 0x6fa, 0x602, 0x776, 0x669, 0x776, 0x669, 0x83b, 0x717, 0x83b, 0x717, -0x92b, 0x7ec, 0x92b, 0x7ec, 0xa61, 0x903, 0xa61, 0x903, 0xcbb, 0xb3e, 0xcbb, -0xb3e, 0xeb0, 0xd10, 0xeb0, 0xd10, 0xeb0, 0xd10, 0xfce, 0xe0d, 0xfce, 0xe0d, -0x11c4, 0xfe0, 0x11c4, 0xfe0, 0x1359, 0x1154, 0x1359, 0x1154, 0x14cd, 0x12a9, 0x14cd, -0x12a9, 0x16e2, 0x14a1, 0x16e2, 0x14a1, 0x183c, 0x15e4, 0x183c, 0x15e4, 0x183c, 0x15e4, -0x1968, 0x16fa, 0x1968, 0x16fa, 0x19e5, 0x1768, 0x19e5, 0x1768, 0x1a49, 0x17c1, 0x1a49, -0x17c1, 0x1b4c, 0x18bd, 0x1b4c, 0x18bd, 0x1bd4, 0x1943, 0x1bd4, 0x1943, 0x1bd4, 0x1943, -0x1ca8, 0x1a18, 0x1ca8, 0x1a18, 0x1cdd, 0x1a53, 0x1cdd, 0x1a53, 0x1ca2, 0x1a20, 0x1ca2, -0x1a20, 0x1ce6, 0x1a6e, 0x1ce6, 0x1a6e, 0x1c77, 0x1a09, 0x1c77, 0x1a09, 0x1c32, 0x19d0, -0x1c32, 0x19d0, 0x1c32, 0x19d0, 0x1cca, 0x1a73, 0x1cca, 0x1a73, 0x1d69, 0x1b1b, 0x1d69, -0x1b1b, 0x1d1a, 0x1ad4, 0x1d1a, 0x1ad4, 0x1bf6, 0x19b7, 0x1bf6, 0x19b7, 0x1ae9, 0x18ae, -0x1ae9, 0x18ae, 0x193c, 0x1704, 0x193c, 0x1704, 0x193c, 0x1704, 0x16e6, 0x14ae, 0x16e6, -0x14ae, 0x1515, 0x12dd, 0x1515, 0x12dd, 0x13a8, 0x116e, 0x13a8, 0x116e, 0x12fa, 0x10be, -0x12fa, 0x10be, 0x1304, 0x10c6, 0x1304, 0x10c6, 0x1304, 0x10c6, 0x1372, 0x1134, 0x1372, -0x1134, 0x13ff, 0x11c2, 0x13ff, 0x11c2, 0x1438, 0x1200, 0x1438, 0x1200, 0x1430, 0x11ff, -0x1430, 0x11ff, 0x129f, 0x1079, 0x129f, 0x1079, 0x1132, 0xf1b, 0x1132, 0xf1b, 0x1132, -0xf1b, 0x1060, 0xe5c, 0x1060, 0xe5c, 0xe7d, 0xc90, 0xe7d, 0xc90, 0xd4d, 0xb7c, -0xd4d, 0xb7c, 0xce4, 0xb31, 0xce4, 0xb31, 0xd34, 0xba2, 0xd34, 0xba2, 0xd2b, -0xbbe, 0xd2b, 0xbbe, 0xd2b, 0xbbe, 0xc0e, 0xac6, 0xc0e, 0xac6, 0xb59, 0xa38, -0xb59, 0xa38, 0x9eb, 0x8f1, 0x9eb, 0x8f1, 0x869, 0x794, 0x869, 0x794, 0x71b, -0x66a, 0x71b, 0x66a, 0x71b, 0x66a, 0x4f1, 0x462, 0x4f1, 0x462, 0x3bf, 0x350, -0x3bf, 0x350, 0x2f3, 0x29f, 0x2f3, 0x29f, 0x1ee, 0x1b3, 0x1ee, 0x1b3, 0x1c7, -0x1a0, 0x1c7, 0x1a0, 0x18b, 0x176, 0x18b, 0x176, 0x18b, 0x176, 0x10c, 0x105, -0x10c, 0x105, 0xffe0, 0xffe3, 0xffe0, 0xffe3, 0xfe5d, 0xfe69, 0xfe5d, 0xfe69, 0xfdad, -0xfdbe, 0xfdad, 0xfdbe, 0xfc6f, 0xfc83, 0xfc6f, 0xfc83, 0xfb37, 0xfb4c, 0xfb37, 0xfb4c, -0xfb37, 0xfb4c, 0xfab3, 0xfac9, 0xfab3, 0xfac9, 0xf9c4, 0xf9d9, 0xf9c4, 0xf9d9, 0xf96f, -0xf983, 0xf96f, 0xf983, 0xf93f, 0xf950, 0xf93f, 0xf950, 0xf878, 0xf885, 0xf878, 0xf885, -0xf878, 0xf885, 0xf7fb, 0xf805, 0xf7fb, 0xf805, 0xf7d6, 0xf7da, 0xf7d6, 0xf7da, 0xf7fa, -0xf7f8, 0xf7fa, 0xf7f8, 0xf7a0, 0xf797, 0xf7a0, 0xf797, 0xf799, 0xf786, 0xf799, 0xf786, -0xf840, 0xf822, 0xf840, 0xf822, 0xf840, 0xf822, 0xf84c, 0xf821, 0xf84c, 0xf821, 0xf8b4, -0xf87b, 0xf8b4, 0xf87b, 0xf9c0, 0xf976, 0xf9c0, 0xf976, 0xfa77, 0xfa1b, 0xfa77, 0xfa1b, -0xfb33, 0xfac3, 0xfb33, 0xfac3, 0xfc82, 0xfbff, 0xfc82, 0xfbff, 0xfc82, 0xfbff, 0xfdc4, -0xfd2d, 0xfdc4, 0xfd2d, 0xfe7a, 0xfdcf, 0xfe7a, 0xfdcf, 0xff50, 0xfe94, 0xff50, 0xfe94, -0xf5, 0x2a, 0xf5, 0x2a, 0x287, 0x1b3, 0x287, 0x1b3, 0x287, 0x1b3, 0x39b, -0x2c1, 0x39b, 0x2c1, 0x428, 0x34e, 0x428, 0x34e, 0x3bc, 0x2e8, 0x3bc, 0x2e8, -0x366, 0x2a0, 0x366, 0x2a0, 0x310, 0x260, 0x310, 0x260, 0x306, 0x274, 0x306, -0x274, 0x306, 0x274, 0x356, 0x2ea, 0x356, 0x2ea, 0x36b, 0x32c, 0x36b, 0x32c, -0x307, 0x2fd, 0x307, 0x2fd, 0x1d0, 0x202, 0x1d0, 0x202, 0x1fa, 0x26e, 0x1fa, -0x26e, 0x1d7, 0x291, 0x1d7, 0x291, 0x1d7, 0x291, 0x2a, 0x12d, 0x2a, 0x12d, -0xff03, 0x50, 0xff03, 0x50, 0xfd88, 0xff20, 0xfd88, 0xff20, 0xfc42, 0xfe24, 0xfc42, -0xfe24, 0xfa6c, 0xfc95, 0xfa6c, 0xfc95, 0xfa6c, 0xfc95, 0xf81c, 0xfa88, 0xf81c, 0xfa88, -0xf66e, 0xf919, 0xf66e, 0xf919, 0xf3fa, 0xf6de, 0xf3fa, 0xf6de, 0xf293, 0xf5a9, 0xf293, -0xf5a9, 0xf1ab, 0xf4ed, 0xf1ab, 0xf4ed, 0xf00a, 0xf370, 0xf00a, 0xf370, 0xf00a, 0xf370, -0xef5c, 0xf2e1, 0xef5c, 0xf2e1, 0xee60, 0xf1fc, 0xee60, 0xf1fc, 0xed59, 0xf107, 0xed59, -0xf107, 0xecdb, 0xf097, 0xecdb, 0xf097, 0xec3f, 0xf005, 0xec3f, 0xf005, 0xec3f, 0xf005, -0xebb4, 0xef81, 0xebb4, 0xef81, 0xea7b, 0xee4d, 0xea7b, 0xee4d, 0xe942, 0xed17, 0xe942, -0xed17, 0xe821, 0xebfa, 0xe821, 0xebfa, 0xe61f, 0xe9fd, 0xe61f, 0xe9fd, 0xe3ee, 0xe7d1, -0xe3ee, 0xe7d1, 0xe3ee, 0xe7d1, 0xe1ae, 0xe599, 0xe1ae, 0xe599, 0xdfee, 0xe3e2, 0xdfee, -0xe3e2, 0xdf6f, 0xe36e, 0xdf6f, 0xe36e, 0xdf77, 0xe382, 0xdf77, 0xe382, 0xdfdf, 0xe3f7, -0xdfdf, 0xe3f7, 0xe072, 0xe498, 0xe072, 0xe498, 0xe072, 0xe498, 0xe0fe, 0xe531, 0xe0fe, -0xe531, 0xe15e, 0xe59e, 0xe15e, 0xe59e, 0xe130, 0xe579, 0xe130, 0xe579, 0xe13b, 0xe58c, -0xe13b, 0xe58c, 0xe0ff, 0xe554, 0xe0ff, 0xe554, 0xe0ff, 0xe554, 0xdfd6, 0xe42b, 0xdfd6, -0xe42b, 0xdf78, 0xe3c8, 0xdf78, 0xe3c8, 0xdfe1, 0xe426, 0xdfe1, 0xe426, 0xe00b, 0xe441, -0xe00b, 0xe441, 0xe106, 0xe528, 0xe106, 0xe528, 0xe2c5, 0xe6cd, 0xe2c5, 0xe6cd, 0xe2c5, -0xe6cd, 0xe42c, 0xe817, 0xe42c, 0xe817, 0xe4a1, 0xe869, 0xe4a1, 0xe869, 0xe4d6, 0xe879, -0xe4d6, 0xe879, 0xe587, 0xe901, 0xe587, 0xe901, 0xe5fb, 0xe94a, 0xe5fb, 0xe94a, 0xe6d8, -0xe9fa, 0xe6d8, 0xe9fa, 0xe6d8, 0xe9fa, 0xe7c3, 0xeab9, 0xe7c3, 0xeab9, 0xe8d5, 0xeb9c, -0xe8d5, 0xeb9c, 0xea9b, 0xed35, 0xea9b, 0xed35, 0xec42, 0xeeae, 0xec42, 0xeeae, 0xee2c, -0xf06c, 0xee2c, 0xf06c, 0xee2c, 0xf06c, 0xef9d, 0xf1b0, 0xef9d, 0xf1b0, 0xf0ee, 0xf2d5, -0xf0ee, 0xf2d5, 0xf1a1, 0xf35a, 0xf1a1, 0xf35a, 0xf1a4, 0xf331, 0xf1a4, 0xf331, 0xf2f8, -0xf456, 0xf2f8, 0xf456, 0xf39e, 0xf4cd, 0xf39e, 0xf4cd, 0xf39e, 0xf4cd, 0xf401, 0xf4ff, -0xf401, 0xf4ff, 0xf535, 0xf5ff, 0xf535, 0xf5ff, 0xf664, 0xf6f7, 0xf664, 0xf6f7, 0xf83c, -0xf896, 0xf83c, 0xf896, 0xf9e9, 0xfa07, 0xf9e9, 0xfa07, 0xfb9d, 0xfb7c, 0xfb9d, 0xfb7c, -0xfb9d, 0xfb7c, 0xfd39, 0xfcd8, 0xfd39, 0xfcd8, 0xfe82, 0xfddf, 0xfe82, 0xfddf, 0xbe, -0xffd7, 0xbe, 0xffd7, 0x2ca, 0x1a1, 0x2ca, 0x1a1, 0x446, 0x2da, 0x446, 0x2da, -0x446, 0x2da, 0x60b, 0x460, 0x60b, 0x460, 0x749, 0x562, 0x749, 0x562, 0x871, -0x652, 0x871, 0x652, 0x9d2, 0x781, 0x9d2, 0x781, 0xabb, 0x83f, 0xabb, 0x83f, -0xb5a, 0x8bb, 0xb5a, 0x8bb, 0xb5a, 0x8bb, 0xb63, 0x8a9, 0xb63, 0x8a9, 0xc2b, -0x95e, 0xc2b, 0x95e, 0xdb0, 0xada, 0xdb0, 0xada, 0xeac, 0xbd5, 0xeac, 0xbd5, -0xfed, 0xd1e, 0xfed, 0xd1e, 0x1074, 0xdb4, 0x1074, 0xdb4, 0x1074, 0xdb4, 0x1069, -0xdc0, 0x1069, 0xdc0, 0x1034, 0xda8, 0x1034, 0xda8, 0xfb0, 0xd47, 0xfb0, 0xd47, -0xf9a, 0xd58, 0xf9a, 0xd58, 0xee9, 0xcd1, 0xee9, 0xcd1, 0xee9, 0xcd1, 0xe32, -0xc46, 0xe32, 0xc46, 0xdba, 0xbfb, 0xdba, 0xbfb, 0xcec, 0xb5a, 0xcec, 0xb5a, -0xca7, 0xb42, 0xca7, 0xb42, 0xc34, 0xaf9, 0xc34, 0xaf9, 0xb38, 0xa26, 0xb38, -0xa26, 0xb38, 0xa26, 0xa9a, 0x9af, 0xa9a, 0x9af, 0xa2b, 0x964, 0xa2b, 0x964, -0x977, 0x8d2, 0x977, 0x8d2, 0x8cd, 0x847, 0x8cd, 0x847, 0x858, 0x7f0, 0x858, -0x7f0, 0x796, 0x74a, 0x796, 0x74a, 0x796, 0x74a, 0x63a, 0x607, 0x63a, 0x607, -0x532, 0x518, 0x532, 0x518, 0x486, 0x483, 0x486, 0x483, 0x333, 0x346, 0x333, -0x346, 0x196, 0x1bf, 0x196, 0x1bf, 0x196, 0x1bf, 0xffc2, 0xffff, 0xffc2, 0xffff, -0xfe66, 0xfeb6, 0xfe66, 0xfeb6, 0xfd99, 0xfdf9, 0xfd99, 0xfdf9, 0xfd2c, 0xfd9c, 0xfd2c, -0xfd9c, 0xfd4d, 0xfdc9, 0xfd4d, 0xfdc9, 0xfc95, 0xfd1a, 0xfc95, 0xfd1a, 0xfc95, 0xfd1a, -0xfb8f, 0xfc19, 0xfb8f, 0xfc19, 0xf96a, 0xf9f5, 0xf96a, 0xf9f5, 0xf6cf, 0xf756, 0xf6cf, -0xf756, 0xf587, 0xf605, 0xf587, 0xf605, 0xf3aa, 0xf419, 0xf3aa, 0xf419, 0xf250, 0xf2ab, -0xf250, 0xf2ab, 0xf250, 0xf2ab, 0xf1ee, 0xf231, 0xf1ee, 0xf231, 0xf270, 0xf296, 0xf270, -0xf296, 0xf3fb, 0xf400, 0xf3fb, 0xf400, 0xf544, 0xf525, 0xf544, 0xf525, 0xf72f, 0xf6ea, -0xf72f, 0xf6ea, 0xf72f, 0xf6ea, 0xf943, 0xf8d7, 0xf943, 0xf8d7, 0xfb05, 0xfa72, 0xfb05, -0xfa72, 0xfcd5, 0xfc1d, 0xfcd5, 0xfc1d, 0xfe01, 0xfd28, 0xfe01, 0xfd28, 0xff48, 0xfe52, -0xff48, 0xfe52, 0x105, 0xfff6, 0x105, 0xfff6, 0x105, 0xfff6, 0x2cd, 0x1ac, 0x2cd, -0x1ac, 0x51c, 0x3ef, 0x51c, 0x3ef, 0x723, 0x5f1, 0x723, 0x5f1, 0x8ba, 0x78a, -0x8ba, 0x78a, 0x9c3, 0x89c, 0x9c3, 0x89c, 0x97b, 0x865, 0x97b, 0x865, 0x97b, -0x865, 0x9bc, 0x8bc, 0x9bc, 0x8bc, 0xa09, 0x923, 0xa09, 0x923, 0x9ae, 0x8e6, -0x9ae, 0x8e6, 0x976, 0x8d0, 0x976, 0x8d0, 0x8af, 0x82a, 0x8af, 0x82a, 0x8af, -0x82a, 0x84e, 0x7eb, 0x84e, 0x7eb, 0x7e4, 0x7a1, 0x7e4, 0x7a1, 0x6e6, 0x6c1, -0x6e6, 0x6c1, 0x5ea, 0x5df, 0x5ea, 0x5df, 0x42c, 0x436, 0x42c, 0x436, 0x2b5, -0x2d0, 0x2b5, 0x2d0, 0x2b5, 0x2d0, 0x19e, 0x1c4, 0x19e, 0x1c4, 0x6a, 0x96, -0x6a, 0x96, 0xb, 0x38, 0xb, 0x38, 0xffbf, 0xffea, 0xffbf, 0xffea, 0xff27, -0xff4b, 0xff27, 0xff4b, 0xfeae, 0xfec8, 0xfeae, 0xfec8, 0xfeae, 0xfec8, 0xfe6e, 0xfe7d, -0xfe6e, 0xfe7d, 0xfe50, 0xfe53, 0xfe50, 0xfe53, 0xfe40, 0xfe38, 0xfe40, 0xfe38, 0xfeee, -0xfedb, 0xfeee, 0xfedb, 0xff5c, 0xff41, 0xff5c, 0xff41, 0xff5c, 0xff41, 0xfeef, 0xfed0, -0xfeef, 0xfed0, 0xff22, 0xff01, 0xff22, 0xff01, 0xff5d, 0xff3d, 0xff5d, 0xff3d, 0xff15, -0xfefa, 0xff15, 0xfefa, 0xfe93, 0xfe81, 0xfe93, 0xfe81, 0xfe14, 0xfe0c, 0xfe14, 0xfe0c, -0xfe14, 0xfe0c, 0xfe77, 0xfe7b, 0xfe77, 0xfe7b, 0xfe6f, 0xfe80, 0xfe6f, 0xfe80, 0xfea9, -0xfec6, 0xfea9, 0xfec6, 0xff7d, 0xffa4, 0xff7d, 0xffa4, 0x27, 0x57, 0x27, 0x57, -0x27, 0x57, 0x190, 0x1c3, 0x190, 0x1c3, 0x1f3, 0x225, 0x1f3, 0x225, 0x2bc, -0x2e7, 0x2bc, 0x2e7, 0x403, 0x421, 0x403, 0x421, 0x3e0, 0x3eb, 0x3e0, 0x3eb, -0x3cc, 0x3bd, 0x3cc, 0x3bd, 0x3cc, 0x3bd, 0x3f0, 0x3c0, 0x3f0, 0x3c0, 0x528, -0x4d2, 0x528, 0x4d2, 0x688, 0x607, 0x688, 0x607, 0x783, 0x6d2, 0x783, 0x6d2, -0x909, 0x825, 0x909, 0x825, 0xa3a, 0x922, 0xa3a, 0x922, 0xa3a, 0x922, 0xbb6, -0xa69, 0xbb6, 0xa69, 0xda8, 0xc28, 0xda8, 0xc28, 0xf16, 0xd65, 0xf16, 0xd65, -0x108e, 0xeaf, 0x108e, 0xeaf, 0x1266, 0x105d, 0x1266, 0x105d, 0x1266, 0x105d, 0x1428, -0x11fa, 0x1428, 0x11fa, 0x15f0, 0x13a3, 0x15f0, 0x13a3, 0x1720, 0x14ba, 0x1720, 0x14ba, -0x1884, 0x160a, 0x1884, 0x160a, 0x19de, 0x1755, 0x19de, 0x1755, 0x1a4c, 0x17b9, 0x1a4c, -0x17b9, 0x1a4c, 0x17b9, 0x1bba, 0x1923, 0x1bba, 0x1923, 0x1cca, 0x1a30, 0x1cca, 0x1a30, -0x1cf2, 0x1a58, 0x1cf2, 0x1a58, 0x1d7f, 0x1ae8, 0x1d7f, 0x1ae8, 0x1d8d, 0x1af9, 0x1d8d, -0x1af9, 0x1dff, 0x1b6e, 0x1dff, 0x1b6e, 0x1dff, 0x1b6e, 0x1e95, 0x1c05, 0x1e95, 0x1c05, -0x1ee3, 0x1c54, 0x1ee3, 0x1c54, 0x1f40, 0x1cb0, 0x1f40, 0x1cb0, 0x1ee1, 0x1c4f, 0x1ee1, -0x1c4f, 0x1e89, 0x1bf3, 0x1e89, 0x1bf3, 0x1e89, 0x1bf3, 0x1dae, 0x1b13, 0x1dae, 0x1b13, -0x1c03, 0x1962, 0x1c03, 0x1962, 0x1a5b, 0x17b5, 0x1a5b, 0x17b5, 0x1865, 0x15ba, 0x1865, -0x15ba, 0x16b6, 0x1408, 0x16b6, 0x1408, 0x15b8, 0x130a, 0x15b8, 0x130a, 0x15b8, 0x130a, -0x1555, 0x12ab, 0x1555, 0x12ab, 0x14c5, 0x1221, 0x14c5, 0x1221, 0x1468, 0x11d1, 0x1468, -0x11d1, 0x1575, 0x12ef, 0x1575, 0x12ef, 0x15c6, 0x1357, 0x15c6, 0x1357, 0x14ad, 0x125a, -0x14ad, 0x125a, 0x14ad, 0x125a, 0x141c, 0x11eb, 0x141c, 0x11eb, 0x1328, 0x111e, 0x1328, -0x111e, 0x1184, 0xfa4, 0x1184, 0xfa4, 0xfdb, 0xe2a, 0xfdb, 0xe2a, 0xe96, 0xd16, -0xe96, 0xd16, 0xe96, 0xd16, 0xe1a, 0xccd, 0xe1a, 0xccd, 0xd1e, 0xc05, 0xd1e, -0xc05, 0xc84, 0xb9f, 0xc84, 0xb9f, 0xba0, 0xaec, 0xba0, 0xaec, 0xa52, 0x9cf, -0xa52, 0x9cf, 0x948, 0x8f2, 0x948, 0x8f2, 0x948, 0x8f2, 0x706, 0x6db, 0x706, -0x6db, 0x551, 0x54d, 0x551, 0x54d, 0x39c, 0x3bb, 0x39c, 0x3bb, 0x1f1, 0x231, -0x1f1, 0x231, 0xbe, 0x11a, 0xbe, 0x11a, 0xff0a, 0xff7f, 0xff0a, 0xff7f, 0xff0a, -0xff7f, 0xfe5a, 0xfee6, 0xfe5a, 0xfee6, 0xfd51, 0xfdf0, 0xfd51, 0xfdf0, 0xfbfc, 0xfcad, -0xfbfc, 0xfcad, 0xfb54, 0xfc17, 0xfb54, 0xfc17, 0xfa46, 0xfb17, 0xfa46, 0xfb17, 0xfa46, -0xfb17, 0xf96b, 0xfa4b, 0xf96b, 0xfa4b, 0xf890, 0xf97d, 0xf890, 0xf97d, 0xf6f8, 0xf7f0, -0xf6f8, 0xf7f0, 0xf58c, 0xf68f, 0xf58c, 0xf68f, 0xf496, 0xf5a0, 0xf496, 0xf5a0, 0xf403, -0xf513, 0xf403, 0xf513, 0xf403, 0xf513, 0xf402, 0xf515, 0xf402, 0xf515, 0xf3d2, 0xf4e5, -0xf3d2, 0xf4e5, 0xf3dc, 0xf4ea, 0xf3dc, 0xf4ea, 0xf3ed, 0xf4f1, 0xf3ed, 0xf4f1, 0xf40f, -0xf503, 0xf40f, 0xf503, 0xf568, 0xf648, 0xf568, 0xf648, 0xf568, 0xf648, 0xf64c, 0xf710, -0xf64c, 0xf710, 0xf6f3, 0xf797, 0xf6f3, 0xf797, 0xf83e, 0xf8bb, 0xf83e, 0xf8bb, 0xf947, -0xf998, 0xf947, 0xf998, 0xfaa1, 0xfac4, 0xfaa1, 0xfac4, 0xfaa1, 0xfac4, 0xfbc0, 0xfbb1, -0xfbc0, 0xfbb1, 0xfd40, 0xfcfd, 0xfd40, 0xfcfd, 0xff25, 0xfeb0, 0xff25, 0xfeb0, 0x9e, -0xfff7, 0x9e, 0xfff7, 0x2aa, 0x1d6, 0x2aa, 0x1d6, 0x42a, 0x32e, 0x42a, 0x32e, -0x42a, 0x32e, 0x567, 0x44a, 0x567, 0x44a, 0x678, 0x542, 0x678, 0x542, 0x66c, -0x528, 0x66c, 0x528, 0x624, 0x4dd, 0x624, 0x4dd, 0x594, 0x455, 0x594, 0x455, -0x4f9, 0x3ce, 0x4f9, 0x3ce, 0x4f9, 0x3ce, 0x43d, 0x331, 0x43d, 0x331, 0x3fc, -0x31a, 0x3fc, 0x31a, 0x4f3, 0x446, 0x4f3, 0x446, 0x535, 0x4c6, 0x535, 0x4c6, -0x4a9, 0x47f, 0x4a9, 0x47f, 0x4a9, 0x47f, 0x450, 0x470, 0x450, 0x470, 0x371, -0x3e0, 0x371, 0x3e0, 0x252, 0x312, 0x252, 0x312, 0xa5, 0x1b5, 0xa5, 0x1b5, -0xfea9, 0x8, 0xfea9, 0x8, 0xfcac, 0xfe56, 0xfcac, 0xfe56, 0xfcac, 0xfe56, 0xfa4d, -0xfc3d, 0xfa4d, 0xfc3d, 0xf864, 0xfa94, 0xf864, 0xfa94, 0xf62f, 0xf898, 0xf62f, 0xf898, -0xf4d1, 0xf76d, 0xf4d1, 0xf76d, 0xf3bc, 0xf684, 0xf3bc, 0xf684, 0xf18b, 0xf478, 0xf18b, -0xf478, 0xf18b, 0xf478, 0xf034, 0xf340, 0xf034, 0xf340, 0xeea6, 0xf1cd, 0xeea6, 0xf1cd, -0xecf5, 0xf033, 0xecf5, 0xf033, 0xeb49, 0xee9b, 0xeb49, 0xee9b, 0xe9ba, 0xed1f, 0xe9ba, -0xed1f, 0xe9ba, 0xed1f, 0xe967, 0xecdf, 0xe967, 0xecdf, 0xe84c, 0xebd8, 0xe84c, 0xebd8, -0xe6ef, 0xea92, 0xe6ef, 0xea92, 0xe5f2, 0xe9ae, 0xe5f2, 0xe9ae, 0xe3f0, 0xe7c8, 0xe3f0, -0xe7c8, 0xe1cd, 0xe5c5, 0xe1cd, 0xe5c5, 0xe1cd, 0xe5c5, 0xdf93, 0xe3af, 0xdf93, 0xe3af, -0xdd30, 0xe171, 0xdd30, 0xe171, 0xdb7d, 0xdfe4, 0xdb7d, 0xdfe4, 0xda5f, 0xdeed, 0xda5f, -0xdeed, 0xda2e, 0xdee2, 0xda2e, 0xdee2, 0xda59, 0xdf2f, 0xda59, 0xdf2f, 0xda59, 0xdf2f, -0xdabb, 0xdfaf, 0xdabb, 0xdfaf, 0xdbf1, 0xe0fc, 0xdbf1, 0xe0fc, 0xdcaf, 0xe1ca, 0xdcaf, -0xe1ca, 0xdd48, 0xe26a, 0xdd48, 0xe26a, 0xde0d, 0xe32c, 0xde0d, 0xe32c, 0xde0d, 0xe32c, -0xddd0, 0xe2e1, 0xddd0, 0xe2e1, 0xddb3, 0xe2ac, 0xddb3, 0xe2ac, 0xde24, 0xe2f8, 0xde24, -0xe2f8, 0xdef4, 0xe399, 0xdef4, 0xe399, 0xe087, 0xe4f2, 0xe087, 0xe4f2, 0xe1f0, 0xe619, -0xe1f0, 0xe619, 0xe1f0, 0xe619, 0xe371, 0xe74f, 0xe371, 0xe74f, 0xe46e, 0xe7fd, 0xe46e, -0xe7fd, 0xe547, 0xe881, 0xe547, 0xe881, 0xe6f5, 0xe9d9, 0xe6f5, 0xe9d9, 0xe7b7, 0xea44, -0xe7b7, 0xea44, 0xe7b7, 0xea44, 0xe8b4, 0xeaec, 0xe8b4, 0xeaec, 0xea60, 0xec45, 0xea60, -0xec45, 0xeb8a, 0xed20, 0xeb8a, 0xed20, 0xecd1, 0xee1e, 0xecd1, 0xee1e, 0xedf8, 0xef03, -0xedf8, 0xef03, 0xeeda, 0xefa9, 0xeeda, 0xefa9, 0xeeda, 0xefa9, 0xef3f, 0xefd9, 0xef3f, -0xefd9, 0xf01b, 0xf087, 0xf01b, 0xf087, 0xf224, 0xf268, 0xf224, 0xf268, 0xf372, 0xf393, -0xf372, 0xf393, 0xf42a, 0xf42c, 0xf42a, 0xf42c, 0xf52c, 0xf513, 0xf52c, 0xf513, 0xf52c, -0xf513, 0xf615, 0xf5e2, 0xf615, 0xf5e2, 0xf6a0, 0xf654, 0xf6a0, 0xf654, 0xf6b6, 0xf652, -0xf6b6, 0xf652, 0xf787, 0xf708, 0xf787, 0xf708, 0xf888, 0xf7ed, 0xf888, 0xf7ed, 0xf888, -0xf7ed, 0xf99c, 0xf8e3, 0xf99c, 0xf8e3, 0xfb4a, 0xfa70, 0xfb4a, 0xfa70, 0xfd27, 0xfc2a, -0xfd27, 0xfc2a, 0xffec, 0xfeca, 0xffec, 0xfeca, 0x1a7, 0x5f, 0x1a7, 0x5f, 0x27e, -0x110, 0x27e, 0x110, 0x27e, 0x110, 0x3fa, 0x266, 0x3fa, 0x266, 0x507, 0x34f, -0x507, 0x34f, 0x5e9, 0x410, 0x5e9, 0x410, 0x65e, 0x468, 0x65e, 0x468, 0x6e5, -0x4d6, 0x6e5, 0x4d6, 0x7da, 0x5b8, 0x7da, 0x5b8, 0x7da, 0x5b8, 0x89e, 0x66f, -0x89e, 0x66f, 0xa23, 0x7ee, 0xa23, 0x7ee, 0xbcb, 0x997, 0xbcb, 0x997, 0xcb1, -0xa84, 0xcb1, 0xa84, 0xdf3, 0xbd3, 0xdf3, 0xbd3, 0xdf3, 0xbd3, 0xeef, 0xce2, -0xeef, 0xce2, 0xf1e, 0xd27, 0xf1e, 0xd27, 0xef6, 0xd19, 0xef6, 0xd19, 0xe71, -0xcb0, 0xe71, 0xcb0, 0xe17, 0xc72, 0xe17, 0xc72, 0xd02, 0xb79, 0xd02, 0xb79, -0xd02, 0xb79, 0xc56, 0xae7, 0xc56, 0xae7, 0xcc8, 0xb70, 0xcc8, 0xb70, 0xc57, -0xb13, 0xc57, 0xb13, 0xc32, 0xaff, 0xc32, 0xaff, 0xc47, 0xb20, 0xc47, 0xb20, -0xbff, 0xae1, 0xbff, 0xae1, 0xbff, 0xae1, 0xc60, 0xb47, 0xc60, 0xb47, 0xc9e, -0xb87, 0xc9e, 0xb87, 0xcd0, 0xbba, 0xcd0, 0xbba, 0xc82, 0xb6b, 0xc82, 0xb6b, -0xbdd, 0xac5, 0xbdd, 0xac5, 0xbdd, 0xac5, 0xbd9, 0xac3, 0xbd9, 0xac3, 0xb32, -0xa20, 0xb32, 0xa20, 0xa84, 0x979, 0xa84, 0x979, 0x9b2, 0x8b3, 0x9b2, 0x8b3, -0x7a9, 0x6bb, 0x7a9, 0x6bb, 0x5e3, 0x50c, 0x5e3, 0x50c, 0x5e3, 0x50c, 0x497, -0x3dc, 0x497, 0x3dc, 0x321, 0x286, 0x321, 0x286, 0x200, 0x18a, 0x200, 0x18a, -0x116, 0xc8, 0x116, 0xc8, 0xff94, 0xff71, 0xff94, 0xff71, 0xfe00, 0xfe08, 0xfe00, -0xfe08, 0xfe00, 0xfe08, 0xfd4c, 0xfd7d, 0xfd4c, 0xfd7d, 0xfcc2, 0xfd19, 0xfcc2, 0xfd19, -0xfb52, 0xfbcb, 0xfb52, 0xfbcb, 0xf97c, 0xfa10, 0xf97c, 0xfa10, 0xf7cf, 0xf876, 0xf7cf, -0xf876, 0xf7cf, 0xf876, 0xf66e, 0xf71f, 0xf66e, 0xf71f, 0xf549, 0xf5fa, 0xf549, 0xf5fa, -0xf443, 0xf4ea, 0xf443, 0xf4ea, 0xf42f, 0xf4c2, 0xf42f, 0xf4c2, 0xf46e, 0xf4e2, 0xf46e, -0xf4e2, 0xf552, 0xf59f, 0xf552, 0xf59f, 0xf552, 0xf59f, 0xf70d, 0xf72a, 0xf70d, 0xf72a, -0xf90c, 0xf8f4, 0xf90c, 0xf8f4, 0xfbd7, 0xfb84, 0xfbd7, 0xfb84, 0xfd71, 0xfce3, 0xfd71, -0xfce3, 0xfe4f, 0xfd84, 0xfe4f, 0xfd84, 0xffb2, 0xfead, 0xffb2, 0xfead, 0xffb2, 0xfead, -0xfd, 0xffc3, 0xfd, 0xffc3, 0x25f, 0xf8, 0x25f, 0xf8, 0x375, 0x1e9, 0x375, -0x1e9, 0x4fa, 0x353, 0x4fa, 0x353, 0x66e, 0x4b6, 0x66e, 0x4b6, 0x66e, 0x4b6, -0x76c, 0x5b2, 0x76c, 0x5b2, 0x8b3, 0x701, 0x8b3, 0x701, 0x8e7, 0x74a, 0x8e7, -0x74a, 0x8c5, 0x749, 0x8c5, 0x749, 0x8e2, 0x792, 0x8e2, 0x792, 0x7ea, 0x6cd, -0x7ea, 0x6cd, 0x7ea, 0x6cd, 0x712, 0x630, 0x712, 0x630, 0x602, 0x560, 0x602, -0x560, 0x424, 0x3c5, 0x424, 0x3c5, 0x264, 0x248, 0x264, 0x248, 0x4d, 0x72, -0x4d, 0x72, 0xff2f, 0xff92, 0xff2f, 0xff92, 0xff2f, 0xff92, 0xfef6, 0xff91, 0xfef6, -0xff91, 0xfe46, 0xff12, 0xfe46, 0xff12, 0xfe59, 0xff4d, 0xfe59, 0xff4d, 0xfe6b, 0xff7e, -0xfe6b, 0xff7e, 0xfe00, 0xff28, 0xfe00, 0xff28, 0xfe00, 0xff28, 0xfe4f, 0xff82, 0xfe4f, -0xff82, 0xfe6e, 0xffa3, 0xfe6e, 0xffa3, 0xfe25, 0xff53, 0xfe25, 0xff53, 0xfdaf, 0xfecd, -0xfdaf, 0xfecd, 0xfdf9, 0xff00, 0xfdf9, 0xff00, 0xfefa, 0xffe4, 0xfefa, 0xffe4, 0xfefa, -0xffe4, 0xff90, 0x59, 0xff90, 0x59, 0xe0, 0x184, 0xe0, 0x184, 0x19f, 0x21e, -0x19f, 0x21e, 0x158, 0x1b1, 0x158, 0x1b1, 0x1a3, 0x1d6, 0x1a3, 0x1d6, 0x1f7, -0x208, 0x1f7, 0x208, 0x1f7, 0x208, 0x1f9, 0x1e9, 0x1f9, 0x1e9, 0x19e, 0x170, -0x19e, 0x170, 0x16a, 0x122, 0x16a, 0x122, 0x184, 0x124, 0x184, 0x124, 0x1ef, -0x17b, 0x1ef, 0x17b, 0x1ef, 0x17b, 0x34d, 0x2c5, 0x34d, 0x2c5, 0x493, 0x3fa, -0x493, 0x3fa, 0x519, 0x470, 0x519, 0x470, 0x55e, 0x4a4, 0x55e, 0x4a4, 0x5d9, -0x50e, 0x5d9, 0x50e, 0x6eb, 0x60d, 0x6eb, 0x60d, 0x6eb, 0x60d, 0x7aa, 0x6b7, -0x7aa, 0x6b7, 0x7a1, 0x695, 0x7a1, 0x695, 0x768, 0x640, 0x768, 0x640, 0x791, -0x64b, 0x791, 0x64b, 0x87c, 0x712, 0x87c, 0x712, 0x95c, 0x7cc, 0x95c, 0x7cc, -0x95c, 0x7cc, 0xad3, 0x919, 0xad3, 0x919, 0xd13, 0xb2d, 0xd13, 0xb2d, 0xe15, -0xc01, 0xe15, 0xc01, 0xf34, 0xcf0, 0xf34, 0xcf0, 0x1135, 0xec1, 0x1135, 0xec1, -0x1135, 0xec1, 0x12e7, 0x1045, 0x12e7, 0x1045, 0x13eb, 0x111b, 0x13eb, 0x111b, 0x1473, -0x1178, 0x1473, 0x1178, 0x15d1, 0x12ae, 0x15d1, 0x12ae, 0x1712, 0x13cb, 0x1712, 0x13cb, -0x1801, 0x149a, 0x1801, 0x149a, 0x1801, 0x149a, 0x1931, 0x15b0, 0x1931, 0x15b0, 0x198d, -0x15f6, 0x198d, 0x15f6, 0x1a03, 0x165d, 0x1a03, 0x165d, 0x1afc, 0x174c, 0x1afc, 0x174c, -0x1ba1, 0x17ee, 0x1ba1, 0x17ee, 0x1ba1, 0x17ee, 0x1cb3, 0x1901, 0x1cb3, 0x1901, 0x1ced, -0x1943, 0x1ced, 0x1943, 0x1ce3, 0x1945, 0x1ce3, 0x1945, 0x1d5b, 0x19cf, 0x1d5b, 0x19cf, -0x1d15, 0x199e, 0x1d15, 0x199e, 0x1d28, 0x19cc, 0x1d28, 0x19cc, 0x1d28, 0x19cc, 0x1cfa, -0x19ba, 0x1cfa, 0x19ba, 0x1c1c, 0x18fc, 0x1c1c, 0x18fc, 0x1ab7, 0x17ba, 0x1ab7, 0x17ba, -0x18eb, 0x1613, 0x18eb, 0x1613, 0x1797, 0x14e6, 0x1797, 0x14e6, 0x16e4, 0x145b, 0x16e4, -0x145b, 0x16e4, 0x145b, 0x162d, 0x13cd, 0x162d, 0x13cd, 0x159c, 0x1366, 0x159c, 0x1366, -0x1556, 0x134a, 0x1556, 0x134a, 0x15c7, 0x13e4, 0x15c7, 0x13e4, 0x165c, 0x14a1, 0x165c, -0x14a1, 0x165c, 0x14a1, 0x1687, 0x14f4, 0x1687, 0x14f4, 0x173a, 0x15cd, 0x173a, 0x15cd, -0x16d7, 0x158e, 0x16d7, 0x158e, 0x1603, 0x14dc, 0x1603, 0x14dc, 0x153c, 0x1435, 0x153c, -0x1435, 0x1405, 0x131a, 0x1405, 0x131a, 0x1405, 0x131a, 0x129b, 0x11ca, 0x129b, 0x11ca, -0x1101, 0x1047, 0x1101, 0x1047, 0xfcd, 0xf27, 0xfcd, 0xf27, 0xe73, 0xddf, 0xe73, -0xddf, 0xcdb, 0xc55, 0xcdb, 0xc55, 0xc1e, 0xba5, 0xc1e, 0xba5, 0xc1e, 0xba5, -0xb34, 0xac4, 0xb34, 0xac4, 0x979, 0x912, 0x979, 0x912, 0x81a, 0x7bb, 0x81a, -0x7bb, 0x705, 0x6ad, 0x705, 0x6ad, 0x617, 0x5c7, 0x617, 0x5c7, 0x617, 0x5c7, -0x3c2, 0x37a, 0x3c2, 0x37a, 0x100, 0xc2, 0x100, 0xc2, 0xfe90, 0xfe5d, 0xfe90, -0xfe5d, 0xfcde, 0xfcba, 0xfcde, 0xfcba, 0xfbd0, 0xfbbb, 0xfbd0, 0xfbbb, 0xfa34, 0xfa31, -0xfa34, 0xfa31, 0xfa34, 0xfa31, 0xf9ac, 0xf9be, 0xf9ac, 0xf9be, 0xf8ee, 0xf917, 0xf8ee, -0xf917, 0xf710, 0xf752, 0xf710, 0xf752, 0xf5de, 0xf63a, 0xf5de, 0xf63a, 0xf514, 0xf58b, -0xf514, 0xf58b, 0xf3c2, 0xf452, 0xf3c2, 0xf452, 0xf3c2, 0xf452, 0xf1fc, 0xf2a5, 0xf1fc, -0xf2a5, 0xf03f, 0xf100, 0xf03f, 0xf100, 0xefc8, 0xf09d, 0xefc8, 0xf09d, 0xefde, 0xf0c2, -0xefde, 0xf0c2, 0xf077, 0xf166, 0xf077, 0xf166, 0xf077, 0xf166, 0xf134, 0xf229, 0xf134, -0xf229, 0xf18c, 0xf281, 0xf18c, 0xf281, 0xf29f, 0xf38e, 0xf29f, 0xf38e, 0xf3cd, 0xf4ae, -0xf3cd, 0xf4ae, 0xf4b8, 0xf587, 0xf4b8, 0xf587, 0xf5b1, 0xf667, 0xf5b1, 0xf667, 0xf5b1, -0xf667, 0xf660, 0xf6f9, 0xf660, 0xf6f9, 0xf7c8, 0xf83e, 0xf7c8, 0xf83e, 0xf9da, 0xfa2b, -0xf9da, 0xfa2b, 0xfb98, 0xfbc2, 0xfb98, 0xfbc2, 0xfe50, 0xfe52, 0xfe50, 0xfe52, 0x4a, -0x25, 0x4a, 0x25, 0x4a, 0x25, 0x212, 0x1c8, 0x212, 0x1c8, 0x395, 0x32a, -0x395, 0x32a, 0x483, 0x3fa, 0x483, 0x3fa, 0x609, 0x569, 0x609, 0x569, 0x666, -0x5b5, 0x666, 0x5b5, 0x666, 0x5b5, 0x66e, 0x5b4, 0x66e, 0x5b4, 0x68e, 0x5d3, -0x68e, 0x5d3, 0x6af, 0x5fa, 0x6af, 0x5fa, 0x774, 0x6cd, 0x774, 0x6cd, 0x853, -0x7c2, 0x853, 0x7c2, 0x8bb, 0x848, 0x8bb, 0x848, 0x8bb, 0x848, 0x8c6, 0x877, -0x8c6, 0x877, 0x832, 0x80c, 0x832, 0x80c, 0x796, 0x79d, 0x796, 0x79d, 0x65a, -0x693, 0x65a, 0x693, 0x4e0, 0x54c, 0x4e0, 0x54c, 0x2e6, 0x388, 0x2e6, 0x388, -0x2e6, 0x388, 0x8e, 0x166, 0x8e, 0x166, 0xfec3, 0xffd1, 0xfec3, 0xffd1, 0xfc88, -0xfdcb, 0xfc88, 0xfdcb, 0xfa4e, 0xfbc6, 0xfa4e, 0xfbc6, 0xf89c, 0xfa46, 0xf89c, 0xfa46, -0xf89c, 0xfa46, 0xf6e2, 0xf8bd, 0xf6e2, 0xf8bd, 0xf4bc, 0xf6c6, 0xf4bc, 0xf6c6, 0xf3cb, -0xf602, 0xf3cb, 0xf602, 0xf283, 0xf4e8, 0xf283, 0xf4e8, 0xf154, 0xf3e4, 0xf154, 0xf3e4, -0xefa6, 0xf261, 0xefa6, 0xf261, 0xefa6, 0xf261, 0xed7f, 0xf064, 0xed7f, 0xf064, 0xebab, -0xeebb, 0xebab, 0xeebb, 0xe993, 0xecce, 0xe993, 0xecce, 0xe837, 0xeb9c, 0xe837, 0xeb9c, -0xe601, 0xe991, 0xe601, 0xe991, 0xe45f, 0xe819, 0xe45f, 0xe819, 0xe45f, 0xe819, 0xe233, -0xe617, 0xe233, 0xe617, 0xdfc1, 0xe3ce, 0xdfc1, 0xe3ce, 0xde0c, 0xe23f, 0xde0c, 0xe23f, -0xdbef, 0xe046, 0xdbef, 0xe046, 0xda5b, 0xded3, 0xda5b, 0xded3, 0xda5b, 0xded3, 0xd902, -0xdd95, 0xd902, 0xdd95, 0xd849, 0xdcf1, 0xd849, 0xdcf1, 0xd91d, 0xddd5, 0xd91d, 0xddd5, -0xd96e, 0xde30, 0xd96e, 0xde30, 0xd9c7, 0xde89, 0xd9c7, 0xde89, 0xda27, 0xdee3, 0xda27, -0xdee3, 0xda27, 0xdee3, 0xda66, 0xdf14, 0xda66, 0xdf14, 0xdb74, 0xe00c, 0xdb74, 0xe00c, -0xdb7e, 0xdff9, 0xdb7e, 0xdff9, 0xdc1a, 0xe070, 0xdc1a, 0xe070, 0xdc02, 0xe02e, 0xdc02, -0xe02e, 0xdc53, 0xe051, 0xdc53, 0xe051, 0xdc53, 0xe051, 0xdd35, 0xe100, 0xdd35, 0xe100, -0xde21, 0xe1b8, 0xde21, 0xe1b8, 0xe004, 0xe364, 0xe004, 0xe364, 0xe192, 0xe4bd, 0xe192, -0xe4bd, 0xe31d, 0xe613, 0xe31d, 0xe613, 0xe31d, 0xe613, 0xe4dd, 0xe7a0, 0xe4dd, 0xe7a0, -0xe709, 0xe99e, 0xe709, 0xe99e, 0xe8af, 0xeb19, 0xe8af, 0xeb19, 0xea94, 0xecd7, 0xea94, -0xecd7, 0xeb94, 0xedb3, 0xeb94, 0xedb3, 0xec7a, 0xee7b, 0xec7a, 0xee7b, 0xec7a, 0xee7b, -0xeda2, 0xef88, 0xeda2, 0xef88, 0xee1e, 0xefed, 0xee1e, 0xefed, 0xefab, 0xf165, 0xefab, -0xf165, 0xf165, 0xf30b, 0xf165, 0xf30b, 0xf26e, 0xf400, 0xf26e, 0xf400, 0xf40e, 0xf58c, -0xf40e, 0xf58c, 0xf40e, 0xf58c, 0xf598, 0xf6ff, 0xf598, 0xf6ff, 0xf6ad, 0xf7fb, 0xf6ad, -0xf7fb, 0xf723, 0xf855, 0xf723, 0xf855, 0xf799, 0xf8a9, 0xf799, 0xf8a9, 0xf848, 0xf933, -0xf848, 0xf933, 0xf848, 0xf933, 0xf8c7, 0xf987, 0xf8c7, 0xf987, 0xfb00, 0xfb91, 0xfb00, -0xfb91, 0xfcb7, 0xfd15, 0xfcb7, 0xfd15, 0xfed4, 0xfefc, 0xfed4, 0xfefc, 0xdf, 0xcf, -0xdf, 0xcf, 0x243, 0x1f9, 0x243, 0x1f9, 0x243, 0x1f9, 0x3ef, 0x36b, 0x3ef, -0x36b, 0x54e, 0x492, 0x54e, 0x492, 0x6dc, 0x5ec, 0x6dc, 0x5ec, 0x7c4, 0x6a4, -0x7c4, 0x6a4, 0x8a4, 0x759, 0x8a4, 0x759, 0x8a4, 0x759, 0x974, 0x806, 0x974, -0x806, 0xa9c, 0x911, 0xa9c, 0x911, 0xc17, 0xa78, 0xc17, 0xa78, 0xd25, 0xb7a, -0xd25, 0xb7a, 0xdde, 0xc30, 0xdde, 0xc30, 0xf3e, 0xd93, 0xf3e, 0xd93, 0xf3e, -0xd93, 0xff0, 0xe51, 0xff0, 0xe51, 0x1092, 0xf03, 0x1092, 0xf03, 0x1090, 0xf17, -0x1090, 0xf17, 0x1029, 0xec8, 0x1029, 0xec8, 0xfda, 0xe95, 0xfda, 0xe95, 0xe89, -0xd5e, 0xe89, 0xd5e, 0xe89, 0xd5e, 0xdb2, 0xca2, 0xdb2, 0xca2, 0xd48, 0xc50, -0xd48, 0xc50, 0xd0e, 0xc2a, 0xd0e, 0xc2a, 0xc52, 0xb7e, 0xc52, 0xb7e, 0xbe4, -0xb1c, 0xbe4, 0xb1c, 0xbe4, 0xb1c, 0xbb3, 0xaf0, 0xbb3, 0xaf0, 0xbd2, 0xb10, -0xbd2, 0xb10, 0xb0f, 0xa49, 0xb0f, 0xa49, 0xa45, 0x977, 0xa45, 0x977, 0x96b, -0x893, 0x96b, 0x893, 0x918, 0x833, 0x918, 0x833, 0x918, 0x833, 0x978, 0x887, -0x978, 0x887, 0x8ef, 0x7f1, 0x8ef, 0x7f1, 0x89a, 0x793, 0x89a, 0x793, 0x784, -0x677, 0x784, 0x677, 0x69e, 0x591, 0x69e, 0x591, 0x59c, 0x494, 0x59c, 0x494, -0x59c, 0x494, 0x46d, 0x371, 0x46d, 0x371, 0x316, 0x22e, 0x316, 0x22e, 0x28b, -0x1bd, 0x28b, 0x1bd, 0x19c, 0xf1, 0x19c, 0xf1, 0x81, 0xfffe, 0x81, 0xfffe, -0x81, 0xfffe, 0xff3e, 0xfee9, 0xff3e, 0xfee9, 0xfdc3, 0xfda1, 0xfdc3, 0xfda1, 0xfd1d, -0xfd2f, 0xfd1d, 0xfd2f, 0xfb92, 0xfbdb, 0xfb92, 0xfbdb, 0xfa33, 0xfab2, 0xfa33, 0xfab2, -0xf94e, 0xfa01, 0xf94e, 0xfa01, 0xf94e, 0xfa01, 0xf8af, 0xf992, 0xf8af, 0xf992, 0xf762, -0xf86f, 0xf762, 0xf86f, 0xf681, 0xf7b1, 0xf681, 0xf7b1, 0xf63a, 0xf786, 0xf63a, 0xf786, -0xf64f, 0xf7ae, 0xf64f, 0xf7ae, 0xf69a, 0xf803, 0xf69a, 0xf803, 0xf69a, 0xf803, 0xf7a6, -0xf90f, 0xf7a6, 0xf90f, 0xf864, 0xf9c4, 0xf864, 0xf9c4, 0xf985, 0xfad6, 0xf985, 0xfad6, -0xfbb9, 0xfcf1, 0xfbb9, 0xfcf1, 0xfd28, 0xfe43, 0xfd28, 0xfe43, 0xfd28, 0xfe43, 0xfe98, -0xff91, 0xfe98, 0xff91, 0xffaf, 0x83, 0xffaf, 0x83, 0x150, 0x1fe, 0x150, 0x1fe, -0x25a, 0x2e2, 0x25a, 0x2e2, 0x39a, 0x3ff, 0x39a, 0x3ff, 0x51d, 0x562, 0x51d, -0x562, 0x51d, 0x562, 0x6ba, 0x6e4, 0x6ba, 0x6e4, 0x821, 0x835, 0x821, 0x835, -0x88d, 0x893, 0x88d, 0x893, 0x8d4, 0x8d0, 0x8d4, 0x8d0, 0x939, 0x933, 0x939, -0x933, 0x921, 0x91f, 0x921, 0x91f, 0x921, 0x91f, 0x875, 0x87d, 0x875, 0x87d, -0x718, 0x72e, 0x718, 0x72e, 0x52b, 0x554, 0x52b, 0x554, 0x37c, 0x3b9, 0x37c, -0x3b9, 0xef, 0x141, 0xef, 0x141, 0xef, 0x141, 0xff36, 0xff9d, 0xff36, 0xff9d, -0xfdef, 0xfe69, 0xfdef, 0xfe69, 0xfd7e, 0xfe09, 0xfd7e, 0xfe09, 0xfd47, 0xfddf, 0xfd47, -0xfddf, 0xfd6f, 0xfe0f, 0xfd6f, 0xfe0f, 0xfd9a, 0xfe3c, 0xfd9a, 0xfe3c, 0xfd9a, 0xfe3c, -0xfd4b, 0xfdeb, 0xfd4b, 0xfdeb, 0xfcb8, 0xfd4f, 0xfcb8, 0xfd4f, 0xfba5, 0xfc2f, 0xfba5, -0xfc2f, 0xfb1e, 0xfb95, 0xfb1e, 0xfb95, 0xfaf8, 0xfb58, 0xfaf8, 0xfb58, 0xfbc8, 0xfc0d, -0xfbc8, 0xfc0d, 0xfbc8, 0xfc0d, 0xfbf9, 0xfc21, 0xfbf9, 0xfc21, 0xfce7, 0xfcf0, 0xfce7, -0xfcf0, 0xfdb1, 0xfd9b, 0xfdb1, 0xfd9b, 0xfe60, 0xfe2b, 0xfe60, 0xfe2b, 0xfed2, 0xfe7e, -0xfed2, 0xfe7e, 0xfed2, 0xfe7e, 0xfed4, 0xfe64, 0xfed4, 0xfe64, 0xfec2, 0xfe38, 0xfec2, -0xfe38, 0xfee1, 0xfe40, 0xfee1, 0xfe40, 0xffb8, 0xff02, 0xffb8, 0xff02, 0xd1, 0xa, -0xd1, 0xa, 0x1cb, 0xf4, 0x1cb, 0xf4, 0x1cb, 0xf4, 0x27b, 0x195, 0x27b, -0x195, 0x3e5, 0x2f2, 0x3e5, 0x2f2, 0x448, 0x348, 0x448, 0x348, 0x50f, 0x402, -0x50f, 0x402, 0x582, 0x465, 0x582, 0x465, 0x653, 0x526, 0x653, 0x526, 0x653, -0x526, 0x6b5, 0x574, 0x6b5, 0x574, 0x72f, 0x5d6, 0x72f, 0x5d6, 0x838, 0x6c3, -0x838, 0x6c3, 0x8cc, 0x738, 0x8cc, 0x738, 0x9c1, 0x808, 0x9c1, 0x808, 0x9c1, -0x808, 0xa7b, 0x89a, 0xa7b, 0x89a, 0xbb7, 0x9aa, 0xbb7, 0x9aa, 0xcc7, 0xa8b, -0xcc7, 0xa8b, 0xea1, 0xc35, 0xea1, 0xc35, 0xff5, 0xd56, 0xff5, 0xd56, 0x1173, -0xea2, 0x1173, 0xea2, 0x1173, 0xea2, 0x1307, 0x1005, 0x1307, 0x1005, 0x14b7, 0x1186, -0x14b7, 0x1186, 0x1626, 0x12c9, 0x1626, 0x12c9, 0x1828, 0x14a4, 0x1828, 0x14a4, 0x1979, -0x15d4, 0x1979, 0x15d4, 0x19d8, 0x1617, 0x19d8, 0x1617, 0x19d8, 0x1617, 0x1acb, 0x16f5, -0x1acb, 0x16f5, 0x1ac0, 0x16dd, 0x1ac0, 0x16dd, 0x1b38, 0x174e, 0x1b38, 0x174e, 0x1b74, -0x178c, 0x1b74, 0x178c, 0x1c55, 0x1875, 0x1c55, 0x1875, 0x1c55, 0x1875, 0x1cd0, 0x18ff, -0x1cd0, 0x18ff, 0x1d0f, 0x1953, 0x1d0f, 0x1953, 0x1d5b, 0x19ba, 0x1d5b, 0x19ba, 0x1d96, -0x1a14, 0x1d96, 0x1a14, 0x1d3a, 0x19db, 0x1d3a, 0x19db, 0x1cd7, 0x199e, 0x1cd7, 0x199e, -0x1cd7, 0x199e, 0x1c18, 0x1906, 0x1c18, 0x1906, 0x1ae8, 0x17fe, 0x1ae8, 0x17fe, 0x19ce, -0x170c, 0x19ce, 0x170c, 0x183b, 0x15a0, 0x183b, 0x15a0, 0x1792, 0x151d, 0x1792, 0x151d, -0x1620, 0x13d0, 0x1620, 0x13d0, 0x1620, 0x13d0, 0x1548, 0x1319, 0x1548, 0x1319, 0x1462, -0x1253, 0x1462, 0x1253, 0x13af, 0x11bc, 0x13af, 0x11bc, 0x139b, 0x11c4, 0x139b, 0x11c4, -0x1347, 0x1188, 0x1347, 0x1188, 0x1347, 0x1188, 0x12b6, 0x110d, 0x12b6, 0x110d, 0x1340, -0x11ab, 0x1340, 0x11ab, 0x13d0, 0x124e, 0x13d0, 0x124e, 0x13c9, 0x1258, 0x13c9, 0x1258, -0x13bc, 0x125d, 0x13bc, 0x125d, 0x12bc, 0x116e, 0x12bc, 0x116e, 0x12bc, 0x116e, 0x1182, -0x1044, 0x1182, 0x1044, 0xff5, 0xec7, 0xff5, 0xec7, 0xf73, 0xe56, 0xf73, 0xe56, -0xe7d, 0xd72, 0xe7d, 0xd72, 0xd66, 0xc6c, 0xd66, 0xc6c, 0xd66, 0xc6c, 0xc3e, -0xb56, 0xc3e, 0xb56, 0xb86, 0xab1, 0xb86, 0xab1, 0xa83, 0x9c1, 0xa83, 0x9c1, -0x993, 0x8e4, 0x993, 0x8e4, 0x8a4, 0x808, 0x8a4, 0x808, 0x6c9, 0x640, 0x6c9, -0x640, 0x6c9, 0x640, 0x46f, 0x3f8, 0x46f, 0x3f8, 0x278, 0x212, 0x278, 0x212, -0x12e, 0xd8, 0x12e, 0xd8, 0xfece, 0xfe87, 0xfece, 0xfe87, 0xfd37, 0xfcff, 0xfd37, -0xfcff, 0xfb9a, 0xfb6e, 0xfb9a, 0xfb6e, 0xfb9a, 0xfb6e, 0xfa95, 0xfa73, 0xfa95, 0xfa73, -0xf996, 0xf97c, 0xf996, 0xf97c, 0xf953, 0xf93f, 0xf953, 0xf93f, 0xf86e, 0xf85d, 0xf86e, -0xf85d, 0xf723, 0xf713, 0xf723, 0xf713, 0xf723, 0xf713, 0xf60c, 0xf5f9, 0xf60c, 0xf5f9, -0xf437, 0xf420, 0xf437, 0xf420, 0xf34e, 0xf330, 0xf34e, 0xf330, 0xf2b0, 0xf288, 0xf2b0, -0xf288, 0xf272, 0xf23d, 0xf272, 0xf23d, 0xf266, 0xf221, 0xf266, 0xf221, 0xf266, 0xf221, -0xf304, 0xf2ad, 0xf304, 0xf2ad, 0xf2f9, 0xf28d, 0xf2f9, 0xf28d, 0xf389, 0xf306, 0xf389, -0xf306, 0xf40b, 0xf36f, 0xf40b, 0xf36f, 0xf534, 0xf47e, 0xf534, 0xf47e, 0xf596, 0xf4c5, -0xf596, 0xf4c5, 0xf596, 0xf4c5, 0xf64f, 0xf562, 0xf64f, 0xf562, 0xf855, 0xf74c, 0xf855, -0xf74c, 0xf99d, 0xf87a, 0xf99d, 0xf87a, 0xfb99, 0xfa5b, 0xfb99, 0xfa5b, 0xfda2, 0xfc4d, -0xfda2, 0xfc4d, 0xfda2, 0xfc4d, 0xff94, 0xfe2a, 0xff94, 0xfe2a, 0xef, 0xff72, 0xef, -0xff72, 0x2a1, 0x116, 0x2a1, 0x116, 0x3bc, 0x226, 0x3bc, 0x226, 0x4e5, 0x34a, -0x4e5, 0x34a, 0x567, 0x3ca, 0x567, 0x3ca, 0x567, 0x3ca, 0x666, 0x4ce, 0x666, -0x4ce, 0x702, 0x574, 0x702, 0x574, 0x79e, 0x61f, 0x79e, 0x61f, 0x880, 0x715, -0x880, 0x715, 0x85f, 0x70d, 0x85f, 0x70d, 0x84d, 0x719, 0x84d, 0x719, 0x84d, -0x719, 0x7d9, 0x6c8, 0x7d9, 0x6c8, 0x7d4, 0x6e9, 0x7d4, 0x6e9, 0x706, 0x644, -0x706, 0x644, 0x65f, 0x5ca, 0x65f, 0x5ca, 0x4ac, 0x446, 0x4ac, 0x446, 0x4ac, -0x446, 0x307, 0x2d2, 0x307, 0x2d2, 0x1b9, 0x1b7, 0x1b9, 0x1b7, 0x84, 0xb6, -0x84, 0xb6, 0xfe93, 0xfefa, 0xfe93, 0xfefa, 0xfc5d, 0xfcf8, 0xfc5d, 0xfcf8, 0xfaad, -0xfb7f, 0xfaad, 0xfb7f, 0xfaad, 0xfb7f, 0xf904, 0xfa0d, 0xf904, 0xfa0d, 0xf751, 0xf891, -0xf751, 0xf891, 0xf57e, 0xf6f7, 0xf57e, 0xf6f7, 0xf421, 0xf5d4, 0xf421, 0xf5d4, 0xf1df, -0xf3cc, 0xf1df, 0xf3cc, 0xf068, 0xf292, 0xf068, 0xf292, 0xf068, 0xf292, 0xee94, 0xf0fa, -0xee94, 0xf0fa, 0xeccb, 0xef71, 0xeccb, 0xef71, 0xea8f, 0xed75, 0xea8f, 0xed75, 0xe8cb, -0xebf1, 0xe8cb, 0xebf1, 0xe6da, 0xea42, 0xe6da, 0xea42, 0xe6da, 0xea42, 0xe4c9, 0xe874, -0xe4c9, 0xe874, 0xe35f, 0xe74d, 0xe35f, 0xe74d, 0xe19a, 0xe5c8, 0xe19a, 0xe5c8, 0xdf7d, -0xe3ea, 0xdf7d, 0xe3ea, 0xddab, 0xe255, 0xddab, 0xe255, 0xdd15, 0xe1f8, 0xdd15, 0xe1f8, -0xdd15, 0xe1f8, 0xdba7, 0xe0be, 0xdba7, 0xe0be, 0xdad5, 0xe01a, 0xdad5, 0xe01a, 0xd9da, -0xdf46, 0xd9da, 0xdf46, 0xd948, 0xded4, 0xd948, 0xded4, 0xd907, 0xdeaa, 0xd907, 0xdeaa, -0xd97d, 0xdf2e, 0xd97d, 0xdf2e, 0xd97d, 0xdf2e, 0xd977, 0xdf2d, 0xd977, 0xdf2d, 0xd9cc, -0xdf7c, 0xd9cc, 0xdf7c, 0xdaa7, 0xe048, 0xdaa7, 0xe048, 0xdb3d, 0xe0c5, 0xdb3d, 0xe0c5, -0xdb72, 0xe0d9, 0xdb72, 0xe0d9, 0xdb72, 0xe0d9, 0xdb53, 0xe08f, 0xdb53, 0xe08f, 0xdc1a, -0xe126, 0xdc1a, 0xe126, 0xdbf4, 0xe0c8, 0xdbf4, 0xe0c8, 0xddd5, 0xe26c, 0xddd5, 0xe26c, -0xdf26, 0xe37d, 0xdf26, 0xe37d, 0xe056, 0xe46a, 0xe056, 0xe46a, 0xe056, 0xe46a, 0xe21f, -0xe5ef, 0xe21f, 0xe5ef, 0xe43c, 0xe7c8, 0xe43c, 0xe7c8, 0xe641, 0xe98b, 0xe641, 0xe98b, -0xe7fc, 0xeb04, 0xe7fc, 0xeb04, 0xe96d, 0xec38, 0xe96d, 0xec38, 0xea62, 0xecf3, 0xea62, -0xecf3, 0xea62, 0xecf3, 0xeb41, 0xed9b, 0xeb41, 0xed9b, 0xebc5, 0xedee, 0xebc5, 0xedee, -0xed59, 0xef53, 0xed59, 0xef53, 0xedd1, 0xefa0, 0xedd1, 0xefa0, 0xef32, 0xf0d9, 0xef32, -0xf0d9, 0xef32, 0xf0d9, 0xf0c4, 0xf247, 0xf0c4, 0xf247, 0xf29a, 0xf3f8, 0xf29a, 0xf3f8, -0xf3f1, 0xf52d, 0xf3f1, 0xf52d, 0xf51e, 0xf638, 0xf51e, 0xf638, 0xf5af, 0xf6a6, 0xf5af, -0xf6a6, 0xf633, 0xf706, 0xf633, 0xf706, 0xf633, 0xf706, 0xf788, 0xf835, 0xf788, 0xf835, -0xf911, 0xf996, 0xf911, 0xf996, 0xfafa, 0xfb56, 0xfafa, 0xfb56, 0xfbf0, 0xfc1f, 0xfbf0, -0xfc1f, 0xfdec, 0xfdee, 0xfdec, 0xfdee, 0xff82, 0xff54, 0xff82, 0xff54, 0xff82, 0xff54, -0x16d, 0x10e, 0x16d, 0x10e, 0x2b8, 0x228, 0x2b8, 0x228, 0x3e2, 0x322, 0x3e2, -0x322, 0x4db, 0x3ec, 0x4db, 0x3ec, 0x679, 0x55d, 0x679, 0x55d, 0x679, 0x55d, -0x81f, 0x6d9, 0x81f, 0x6d9, 0x996, 0x82a, 0x996, 0x82a, 0xb48, 0x9ba, 0xb48, -0x9ba, 0xc88, 0xadd, 0xc88, 0xadd, 0xe4f, 0xc8b, 0xe4f, 0xc8b, 0xf5f, 0xd89, -0xf5f, 0xd89, 0xf5f, 0xd89, 0x108b, 0xea6, 0x108b, 0xea6, 0x1051, 0xe63, 0x1051, -0xe63, 0x104a, 0xe57, 0x104a, 0xe57, 0x1069, 0xe74, 0x1069, 0xe74, 0x1102, 0xf0f, -0x1102, 0xf0f, 0x10ec, 0xefb, 0x10ec, 0xefb, 0x10ec, 0xefb, 0x10db, 0xef0, 0x10db, -0xef0, 0x10eb, 0xf04, 0x10eb, 0xf04, 0x100a, 0xe27, 0x100a, 0xe27, 0xf8b, 0xdac, -0xf8b, 0xdac, 0xefc, 0xd1f, 0xefc, 0xd1f, 0xefc, 0xd1f, 0xe14, 0xc36, 0xe14, -0xc36, 0xcbe, 0xade, 0xcbe, 0xade, 0xc76, 0xa93, 0xc76, 0xa93, 0xbe7, 0x9fe, -0xbe7, 0x9fe, 0xbac, 0x9be, 0xbac, 0x9be, 0xb83, 0x98e, 0xb83, 0x98e, 0xb83, -0x98e, 0xb86, 0x98c, 0xb86, 0x98c, 0xabc, 0x8bd, 0xabc, 0x8bd, 0xa5c, 0x85c, -0xa5c, 0x85c, 0x993, 0x796, 0x993, 0x796, 0x842, 0x64c, 0x842, 0x64c, 0x842, -0x64c, 0x76d, 0x584, 0x76d, 0x584, 0x626, 0x44f, 0x626, 0x44f, 0x4ea, 0x32b, -0x4ea, 0x32b, 0x3c6, 0x227, 0x3c6, 0x227, 0x32c, 0x1b3, 0x32c, 0x1b3, 0x166, -0x18, 0x166, 0x18, 0x166, 0x18, 0x52, 0xff35, 0x52, 0xff35, 0xff2b, 0xfe43, -0xff2b, 0xfe43, 0xfdb5, 0xfd05, 0xfdb5, 0xfd05, 0xfbda, 0xfb65, 0xfbda, 0xfb65, 0xfad2, -0xfa97, 0xfad2, 0xfa97, 0xf9ce, 0xf9cc, 0xf9ce, 0xf9cc, 0xf9ce, 0xf9cc, 0xf8d7, 0xf90c, -0xf8d7, 0xf90c, 0xf8b1, 0xf918, 0xf8b1, 0xf918, 0xf857, 0xf8eb, 0xf857, 0xf8eb, 0xf7db, -0xf896, 0xf7db, 0xf896, 0xf768, 0xf842, 0xf768, 0xf842, 0xf768, 0xf842, 0xf7ba, 0xf8ac, -0xf7ba, 0xf8ac, 0xf786, 0xf886, 0xf786, 0xf886, 0xf7ea, 0xf8f0, 0xf7ea, 0xf8f0, 0xf828, -0xf92d, 0xf828, 0xf92d, 0xf9a3, 0xfa9f, 0xf9a3, 0xfa9f, 0xfb2c, 0xfc19, 0xfb2c, 0xfc19, -0xfb2c, 0xfc19, 0xfd20, 0xfdf7, 0xfd20, 0xfdf7, 0xff05, 0xffc4, 0xff05, 0xffc4, 0x8a, -0x12f, 0x8a, 0x12f, 0x20b, 0x294, 0x20b, 0x294, 0x3a0, 0x40f, 0x3a0, 0x40f, -0x551, 0x5a8, 0x551, 0x5a8, 0x551, 0x5a8, 0x6ac, 0x6ee, 0x6ac, 0x6ee, 0x832, -0x864, 0x832, 0x864, 0x8a1, 0x8c9, 0x8a1, 0x8c9, 0x9ec, 0xa0f, 0x9ec, 0xa0f, -0xa3d, 0xa62, 0xa3d, 0xa62, 0xa3d, 0xa62, 0xb2f, 0xb5c, 0xb2f, 0xb5c, 0xae5, -0xb20, 0xae5, 0xb20, 0x9e9, 0xa38, 0x9e9, 0xa38, 0x8a1, 0x907, 0x8a1, 0x907, -0x6b5, 0x736, 0x6b5, 0x736, 0x504, 0x5a2, 0x504, 0x5a2, 0x504, 0x5a2, 0x30a, -0x3c6, 0x30a, 0x3c6, 0x1ab, 0x284, 0x1ab, 0x284, 0x2e, 0x122, 0x2e, 0x122, -0xffce, 0xda, 0xffce, 0xda, 0xff0f, 0x2e, 0xff0f, 0x2e, 0xfead, 0xffda, 0xfead, -0xffda, 0xfead, 0xffda, 0xfdc0, 0xfef5, 0xfdc0, 0xfef5, 0xfd48, 0xfe80, 0xfd48, 0xfe80, -0xfbf4, 0xfd28, 0xfbf4, 0xfd28, 0xfb3f, 0xfc69, 0xfb3f, 0xfc69, 0xfb84, 0xfc9e, 0xfb84, -0xfc9e, 0xfb84, 0xfc9e, 0xfbde, 0xfce3, 0xfbde, 0xfce3, 0xfc57, 0xfd43, 0xfc57, 0xfd43, -0xfd1f, 0xfdef, 0xfd1f, 0xfdef, 0xfe1b, 0xfecc, 0xfe1b, 0xfecc, 0xfe4b, 0xfedb, 0xfe4b, -0xfedb, 0xff35, 0xffa4, 0xff35, 0xffa4, 0xff35, 0xffa4, 0xfe64, 0xfeb2, 0xfe64, 0xfeb2, -0xfe90, 0xfebf, 0xfe90, 0xfebf, 0xfe8f, 0xfe9f, 0xfe8f, 0xfe9f, 0xff63, 0xff57, 0xff63, -0xff57, 0xffe6, 0xffc0, 0xffe6, 0xffc0, 0xbc, 0x7d, 0xbc, 0x7d, 0xbc, 0x7d, -0x230, 0x1da, 0x230, 0x1da, 0x2f2, 0x287, 0x2f2, 0x287, 0x460, 0x3df, 0x460, -0x3df, 0x505, 0x46f, 0x505, 0x46f, 0x5b1, 0x505, 0x5b1, 0x505, 0x5b1, 0x505, -0x5f0, 0x52d, 0x5f0, 0x52d, 0x6c8, 0x5eb, 0x6c8, 0x5eb, 0x73c, 0x643, 0x73c, -0x643, 0x841, 0x727, 0x841, 0x727, 0x8f4, 0x7b7, 0x8f4, 0x7b7, 0xa90, 0x92b, -0xa90, 0x92b, 0xa90, 0x92b, 0xb48, 0x9b8, 0xb48, 0x9b8, 0xc19, 0xa5a, 0xc19, -0xa5a, 0xd49, 0xb5a, 0xd49, 0xb5a, 0xdd1, 0xbae, 0xdd1, 0xbae, 0xf54, 0xcfe, -0xf54, 0xcfe, 0x1075, 0xdeb, 0x1075, 0xdeb, 0x1075, 0xdeb, 0x1214, 0xf57, 0x1214, -0xf57, 0x1341, 0x1054, 0x1341, 0x1054, 0x1539, 0x1220, 0x1539, 0x1220, 0x16fa, 0x13b8, -0x16fa, 0x13b8, 0x18a7, 0x1542, 0x18a7, 0x1542, 0x18a7, 0x1542, 0x1953, 0x15d2, 0x1953, -0x15d2, 0x1a82, 0x16eb, 0x1a82, 0x16eb, 0x1ac1, 0x171d, 0x1ac1, 0x171d, 0x1a9a, 0x16ef, -0x1a9a, 0x16ef, 0x1ba1, 0x17f7, 0x1ba1, 0x17f7, 0x1bb4, 0x1813, 0x1bb4, 0x1813, 0x1bb4, -0x1813, 0x1bea, 0x1859, 0x1bea, 0x1859, 0x1c55, 0x18d8, 0x1c55, 0x18d8, 0x1d2a, 0x19c8, -0x1d2a, 0x19c8, 0x1d27, 0x19e3, 0x1d27, 0x19e3, 0x1cd7, 0x19b5, 0x1cd7, 0x19b5, 0x1c52, -0x1954, 0x1c52, 0x1954, 0x1c52, 0x1954, 0x1c30, 0x1957, 0x1c30, 0x1957, 0x1ad8, 0x1825, -0x1ad8, 0x1825, 0x1949, 0x16b9, 0x1949, 0x16b9, 0x1822, 0x15b5, 0x1822, 0x15b5, 0x1759, -0x150d, 0x1759, 0x150d, 0x1759, 0x150d, 0x161d, 0x13ef, 0x161d, 0x13ef, 0x15d0, 0x13be, -0x15d0, 0x13be, 0x15c5, 0x13cc, 0x15c5, 0x13cc, 0x14b2, 0x12cf, 0x14b2, 0x12cf, 0x14c6, -0x12f7, 0x14c6, 0x12f7, 0x1322, 0x1166, 0x1322, 0x1166, 0x1322, 0x1166, 0x1265, 0x10ba, -0x1265, 0x10ba, 0x12de, 0x1142, 0x12de, 0x1142, 0x12c4, 0x1138, 0x12c4, 0x1138, 0x129e, -0x1123, 0x129e, 0x1123, 0x1309, 0x119f, 0x1309, 0x119f, 0x11fe, 0x10a6, 0x11fe, 0x10a6, -0x11fe, 0x10a6, 0x1117, 0xfd4, 0x1117, 0xfd4, 0x1082, 0xf56, 0x1082, 0xf56, 0xf30, -0xe1d, 0xf30, 0xe1d, 0xe3f, 0xd47, 0xe3f, 0xd47, 0xd32, 0xc58, 0xd32, 0xc58, -0xd32, 0xc58, 0xd04, 0xc49, 0xd04, 0xc49, 0xc2f, 0xb95, 0xc2f, 0xb95, 0xaf1, -0xa7a, 0xaf1, 0xa7a, 0x9d1, 0x97d, 0x9d1, 0x97d, 0x946, 0x916, 0x946, 0x916, -0x826, 0x819, 0x826, 0x819, 0x826, 0x819, 0x69f, 0x6b5, 0x69f, 0x6b5, 0x4b4, -0x4eb, 0x4b4, 0x4eb, 0x273, 0x2ca, 0x273, 0x2ca, 0xe0, 0x155, 0xe0, 0x155, -0xfeb4, 0xff44, 0xfeb4, 0xff44, 0xfd1c, 0xfdc6, 0xfd1c, 0xfdc6, 0xfd1c, 0xfdc6, 0xfd0c, -0xfdce, 0xfd0c, 0xfdce, 0xfadb, 0xfbb2, 0xfadb, 0xfbb2, 0xfafc, 0xfbe6, 0xfafc, 0xfbe6, -0xf9f9, 0xfaf4, 0xf9f9, 0xfaf4, 0xf86a, 0xf973, 0xf86a, 0xf973, 0xf86a, 0xf973, 0xf9e2, -0xfaf9, 0xf9e2, 0xfaf9, 0xf50a, 0xf62c, 0xf50a, 0xf62c, 0xf44e, 0xf57a, 0xf44e, 0xf57a, -0xf524, 0xf657, 0xf524, 0xf657, 0xf2cf, 0xf40a, 0xf2cf, 0xf40a, 0xf35c, 0xf49c, 0xf35c, -0xf49c, 0xf35c, 0xf49c, 0xf36e, 0xf4b2, 0xf36e, 0xf4b2, 0xf11d, 0xf263, 0xf11d, 0xf263, -0xf151, 0xf297, 0xf151, 0xf297, 0xf237, 0xf37c, 0xf237, 0xf37c, 0xf13f, 0xf281, 0xf13f, -0xf281, 0xf13f, 0xf281, 0xf282, 0xf3bd, 0xf282, 0xf3bd, 0xf337, 0xf469, 0xf337, 0xf469, -0xf501, 0xf627, 0xf501, 0xf627, 0xf6e5, 0xf7fe, 0xf6e5, 0xf7fe, 0xf8a1, 0xf9a8, 0xf8a1, -0xf9a8, 0xf8e4, 0xf9d7, 0xf8e4, 0xf9d7, 0xf8e4, 0xf9d7, 0xfada, 0xfbb7, 0xfada, 0xfbb7, -0xfdd6, 0xfe9a, 0xfdd6, 0xfe9a, 0xfe52, 0xfefb, 0xfe52, 0xfefb, 0xfeea, 0xff77, 0xfeea, -0xff77, 0xde, 0x150, 0xde, 0x150, 0x17c, 0x1d2, 0x17c, 0x1d2, 0x17c, 0x1d2, -0x3b4, 0x3ee, 0x3b4, 0x3ee, 0x5c6, 0x5e7, 0x5c6, 0x5e7, 0x4bf, 0x4c9, 0x4bf, -0x4c9, 0x6c9, 0x6bf, 0x6c9, 0x6bf, 0x3ec, 0x3d1, 0x3ec, 0x3d1, 0x3ec, 0x3d1, -0x541, 0x51a, 0x541, 0x51a, 0x567, 0x539, 0x567, 0x539, 0x363, 0x334, 0x363, -0x334, 0x504, 0x4d8, 0x504, 0x4d8, 0x358, 0x335, 0x358, 0x335, 0x257, 0x241, -0x257, 0x241, 0x257, 0x241, 0x11a, 0x118, 0x11a, 0x118, 0xe2, 0xf9, 0xe2, -0xf9, 0xfec3, 0xfef6, 0xfec3, 0xfef6, 0xff5e, 0xffb3, 0xff5e, 0xffb3, 0xfc34, 0xfcad, -0xfc34, 0xfcad, 0xf9fb, 0xfa9c, 0xf9fb, 0xfa9c, 0xf9fb, 0xfa9c, 0xfa30, 0xfafc, 0xfa30, -0xfafc, 0xf783, 0xf87d, 0xf783, 0xf87d, 0xf5c6, 0xf6ef, 0xf5c6, 0xf6ef, 0xf2ca, 0xf424, -0xf2ca, 0xf424, 0xf38d, 0xf519, 0xf38d, 0xf519, 0xf38d, 0xf519, 0xf1ec, 0xf3ab, 0xf1ec, -0xf3ab, 0xf01d, 0xf211, 0xf01d, 0xf211, 0xed25, 0xef4e, 0xed25, 0xef4e, 0xec46, 0xeea6, -0xec46, 0xeea6, 0xecd6, 0xef6c, 0xecd6, 0xef6c, 0xe986, 0xec54, 0xe986, 0xec54, 0xe986, -0xec54, 0xe7e4, 0xeaea, 0xe7e4, 0xeaea, 0xe4d7, 0xe816, 0xe4d7, 0xe816, 0xe56a, 0xe8e3, -0xe56a, 0xe8e3, 0xe541, 0xe8f3, 0xe541, 0xe8f3, 0xe38b, 0xe775, 0xe38b, 0xe775, 0xe139, -0xe55b, 0xe139, 0xe55b, 0xe139, 0xe55b, 0xdf52, 0xe3a9, 0xdf52, 0xe3a9, 0xe008, 0xe492, -0xe008, 0xe492, 0xdec1, 0xe37b, 0xdec1, 0xe37b, 0xdeed, 0xe3d2, 0xdeed, 0xe3d2, 0xdbb9, -0xe0c5, 0xdbb9, 0xe0c5, 0xdbb9, 0xe0c5, 0xdc92, 0xe1bf, 0xdc92, 0xe1bf, 0xdc0f, 0xe155, -0xdc0f, 0xe155, 0xdbcd, 0xe125, 0xdbcd, 0xe125, 0xdec8, 0xe42a, 0xdec8, 0xe42a, 0xdb13, -0xe075, 0xdb13, 0xe075, 0xdcd6, 0xe230, 0xdcd6, 0xe230, 0xdcd6, 0xe230, 0xdd4d, 0xe296, -0xdd4d, 0xe296, 0xddfe, 0xe32c, 0xddfe, 0xe32c, 0xde05, 0xe311, 0xde05, 0xe311, 0xde1b, -0xe2fc, 0xde1b, 0xe2fc, 0xdeed, 0xe39c, 0xdeed, 0xe39c, 0xdf4b, 0xe3c2, 0xdf4b, 0xe3c2, -0xdf4b, 0xe3c2, 0xe313, 0xe74d, 0xe313, 0xe74d, 0xe38a, 0xe783, 0xe38a, 0xe783, 0xe6df, -0xea95, 0xe6df, 0xea95, 0xe8a9, 0xec1a, 0xe8a9, 0xec1a, 0xe91d, 0xec49, 0xe91d, 0xec49, -0xe91d, 0xec49, 0xea6d, 0xed55, 0xea6d, 0xed55, 0xec72, 0xef18, 0xec72, 0xef18, 0xecbd, -0xef23, 0xecbd, 0xef23, 0xebc8, 0xedf2, 0xebc8, 0xedf2, 0xeccc, 0xeebc, 0xeccc, 0xeebc, -0xede3, 0xef9d, 0xede3, 0xef9d, 0xede3, 0xef9d, 0xef89, 0xf10f, 0xef89, 0xf10f, 0xef85, -0xf0db, 0xef85, 0xf0db, 0xf001, 0xf128, 0xf001, 0xf128, 0xf15f, 0xf258, 0xf15f, 0xf258, -0xf2cf, 0xf39a, 0xf2cf, 0xf39a, 0xf3ff, 0xf49d, 0xf3ff, 0xf49d, 0xf3ff, 0xf49d, 0xf648, -0xf6b5, 0xf648, 0xf6b5, 0xf5dd, 0xf618, 0xf5dd, 0xf618, 0xf706, 0xf70c, 0xf706, 0xf70c, -0xf98d, 0xf95a, 0xf98d, 0xf95a, 0xfa31, 0xf9c0, 0xfa31, 0xf9c0, 0xfa31, 0xf9c0, 0xfba1, -0xfaf0, 0xfba1, 0xfaf0, 0xfcef, 0xfbf9, 0xfcef, 0xfbf9, 0xfe82, 0xfd45, 0xfe82, 0xfd45, -0xfff2, 0xfe6c, 0xfff2, 0xfe6c, 0x297, 0xc7, 0x297, 0xc7, 0x3e4, 0x1c9, 0x3e4, -0x1c9, 0x3e4, 0x1c9, 0x5e0, 0x37d, 0x5e0, 0x37d, 0x823, 0x57b, 0x823, 0x57b, -0xa4e, 0x764, 0xa4e, 0x764, 0xc07, 0x8e3, 0xc07, 0x8e3, 0xdc1, 0xa69, 0xdc1, -0xa69, 0xfd0, 0xc4d, 0xfd0, 0xc4d, 0xfd0, 0xc4d, 0x108f, 0xcea, 0x108f, 0xcea, -0x1278, 0xebc, 0x1278, 0xebc, 0x1423, 0x1059, 0x1423, 0x1059, 0x13f1, 0x1025, 0x13f1, -0x1025, 0x13a4, 0xfde, 0x13a4, 0xfde, 0x13a4, 0xfde, 0x1526, 0x1171, 0x1526, 0x1171, -0x153f, 0x11a3, 0x153f, 0x11a3, 0x1499, 0x111d, 0x1499, 0x111d, 0x14ae, 0x1158, 0x14ae, -0x1158, 0x1301, 0xfd5, 0x1301, 0xfd5, 0x1100, 0xe02, 0x1100, 0xe02, 0x1100, 0xe02, -0x1095, 0xdc5, 0x1095, 0xdc5, 0xf98, 0xcf6, 0xf98, 0xcf6, 0xe48, 0xbd3, 0xe48, -0xbd3, 0xe50, 0xc04, 0xe50, 0xc04, 0xd12, 0xaee, 0xd12, 0xaee, 0xc51, 0xa4e, -0xc51, 0xa4e, 0xc51, 0xa4e, 0xeb4, 0xcd0, 0xeb4, 0xcd0, 0xca1, 0xad8, 0xca1, -0xad8, 0xb50, 0x99e, 0xb50, 0x99e, 0xb48, 0x9a9, 0xb48, 0x9a9, 0x8f0, 0x763, -0x8f0, 0x763, 0x8f0, 0x763, 0x9b2, 0x835, 0x9b2, 0x835, 0x6ce, 0x562, 0x6ce, -0x562, 0x4d5, 0x379, 0x4d5, 0x379, 0x429, 0x2e0, 0x429, 0x2e0, 0x36f, 0x23d, -0x36f, 0x23d, 0x2cf, 0x1b7, 0x2cf, 0x1b7, 0x2cf, 0x1b7, 0x149, 0x4e, 0x149, -0x4e, 0xff9d, 0xfec4, 0xff9d, 0xfec4, 0xfcc7, 0xfc14, 0xfcc7, 0xfc14, 0xfbae, 0xfb25, -0xfbae, 0xfb25, 0xfa84, 0xfa29, 0xfa84, 0xfa29, 0xf823, 0xf7f7, 0xf823, 0xf7f7, 0xf823, -0xf7f7, 0xf6f3, 0xf6f7, 0xf6f3, 0xf6f7, 0xf82e, 0xf861, 0xf82e, 0xf861, 0xf602, 0xf664, -0xf602, 0xf664, 0xf6df, 0xf76a, 0xf6df, 0xf76a, 0xf7ae, 0xf85e, 0xf7ae, 0xf85e, 0xf7ae, -0xf85e, 0xf5f5, 0xf6c3, 0xf5f5, 0xf6c3, 0xf69b, 0xf77f, 0xf69b, 0xf77f, 0xf605, 0xf6f7, -0xf605, 0xf6f7, 0xf5df, 0xf6d6, 0xf5df, 0xf6d6, 0xf63e, 0xf730, 0xf63e, 0xf730, 0xf7e3, -0xf8c7, 0xf7e3, 0xf8c7, 0xf7e3, 0xf8c7, 0xf893, 0xf95f, 0xf893, 0xf95f, 0xfab6, 0xfb63, -0xfab6, 0xfb63, 0xfd7c, 0xfe03, 0xfd7c, 0xfe03, 0xff0e, 0xff6a, 0xff0e, 0xff6a, 0x16e, -0x19c, 0x16e, 0x19c, 0x16e, 0x19c, 0x2f2, 0x2f0, 0x2f2, 0x2f0, 0x3b8, 0x386, -0x3b8, 0x386, 0x5f6, 0x596, 0x5f6, 0x596, 0x752, 0x6c9, 0x752, 0x6c9, 0x972, -0x8c4, 0x972, 0x8c4, 0xb7c, 0xab2, 0xb7c, 0xab2, 0xb7c, 0xab2, 0xb03, 0xa24, -0xb03, 0xa24, 0xc82, 0xb97, 0xc82, 0xb97, 0xcbe, 0xbd0, 0xcbe, 0xbd0, 0xabc, -0x9d5, 0xabc, 0x9d5, 0x92a, 0x851, 0x92a, 0x851, 0x924, 0x862, 0x924, 0x862, -0x924, 0x862, 0x727, 0x683, 0x727, 0x683, 0x592, 0x510, 0x592, 0x510, 0x50a, -0x4ae, 0x50a, 0x4ae, 0x29f, 0x26b, 0x29f, 0x26b, 0xea, 0xdf, 0xea, 0xdf, -0xea, 0xdf, 0xf6, 0x111, 0xf6, 0x111, 0xff1b, 0xff59, 0xff1b, 0xff59, 0xfd1f, -0xfd7c, 0xfd1f, 0xfd7c, 0xfe5e, 0xfed4, 0xfe5e, 0xfed4, 0xfcaf, 0xfd37, 0xfcaf, 0xfd37, -0xfc72, 0xfd05, 0xfc72, 0xfd05, 0xfc72, 0xfd05, 0xfdb8, 0xfe4f, 0xfdb8, 0xfe4f, 0xfcdc, -0xfd6f, 0xfcdc, 0xfd6f, 0xfcc1, 0xfd4a, 0xfcc1, 0xfd4a, 0xfd68, 0xfde0, 0xfd68, 0xfde0, -0xfd31, 0xfd92, 0xfd31, 0xfd92, 0xfd96, 0xfddc, 0xfd96, 0xfddc, 0xfd96, 0xfddc, 0xfe71, -0xfe9a, 0xfe71, 0xfe9a, 0xfeae, 0xfeb6, 0xfeae, 0xfeb6, 0xfeef, 0xfed6, 0xfeef, 0xfed6, -0xff8f, 0xff54, 0xff8f, 0xff54, 0xef, 0x94, 0xef, 0x94, 0xef, 0x94, 0x1ae, -0x133, 0x1ae, 0x133, 0x2f9, 0x261, 0x2f9, 0x261, 0x2eb, 0x238, 0x2eb, 0x238, -0x41e, 0x351, 0x41e, 0x351, 0x536, 0x451, 0x536, 0x451, 0x46b, 0x370, 0x46b, -0x370, 0x46b, 0x370, 0x546, 0x435, 0x546, 0x435, 0x51e, 0x3f6, 0x51e, 0x3f6, -0x4c9, 0x389, 0x4c9, 0x389, 0x5d1, 0x478, 0x5d1, 0x478, 0x5d8, 0x463, 0x5d8, -0x463, 0x663, 0x4ce, 0x663, 0x4ce, 0x663, 0x4ce, 0x80f, 0x658, 0x80f, 0x658, -0x94e, 0x770, 0x94e, 0x770, 0x9a7, 0x79e, 0x9a7, 0x79e, 0x997, 0x75f, 0x997, -0x75f, 0xb27, 0x8bd, 0xb27, 0x8bd, 0xb27, 0x8bd, 0xbd8, 0x93a, 0xbd8, 0x93a, -0xde1, 0xb0c, 0xde1, 0xb0c, 0xfd1, 0xcc5, 0xfd1, 0xcc5, 0x10c6, 0xd84, 0x10c6, -0xd84, 0x1410, 0x109a, 0x1410, 0x109a, 0x1677, 0x12d0, 0x1677, 0x12d0, 0x1677, 0x12d0, -0x181a, 0x1447, 0x181a, 0x1447, 0x1933, 0x1539, 0x1933, 0x1539, 0x192c, 0x1513, 0x192c, -0x1513, 0x1ac8, 0x1697, 0x1ac8, 0x1697, 0x1bf4, 0x17b4, 0x1bf4, 0x17b4, 0x1c2a, 0x17e4, -0x1c2a, 0x17e4, 0x1c2a, 0x17e4, 0x1d48, 0x1904, 0x1d48, 0x1904, 0x1d32, 0x18fa, 0x1d32, -0x18fa, 0x1dc9, 0x19a5, 0x1dc9, 0x19a5, 0x1e51, 0x1a4a, 0x1e51, 0x1a4a, 0x1ead, 0x1ac9, -0x1ead, 0x1ac9, 0x1ead, 0x1ac9, 0x1da3, 0x19e8, 0x1da3, 0x19e8, 0x1d70, 0x19e4, 0x1d70, -0x19e4, 0x1d66, 0x1a0b, 0x1d66, 0x1a0b, 0x1b26, 0x1801, 0x1b26, 0x1801, 0x1a10, 0x1721, -0x1a10, 0x1721, 0x1926, 0x166e, 0x1926, 0x166e, 0x1926, 0x166e, 0x1844, 0x15c2, 0x1844, -0x15c2, 0x1743, 0x14f7, 0x1743, 0x14f7, 0x16e3, 0x14c9, 0x16e3, 0x14c9, 0x1570, 0x1388, -0x1570, 0x1388, 0x147c, 0x12c2, 0x147c, 0x12c2, 0x1472, 0x12e4, 0x1472, 0x12e4, 0x1472, -0x12e4, 0x1357, 0x11f2, 0x1357, 0x11f2, 0x1146, 0x1008, 0x1146, 0x1008, 0x11e8, 0x10cf, -0x11e8, 0x10cf, 0x1236, 0x1141, 0x1236, 0x1141, 0x1102, 0x102e, 0x1102, 0x102e, 0x1102, -0x102e, 0x11d5, 0x1123, 0x11d5, 0x1123, 0x11d1, 0x1140, 0x11d1, 0x1140, 0x119f, 0x112f, -0x119f, 0x112f, 0x11b1, 0x1162, 0x11b1, 0x1162, 0x1158, 0x112a, 0x1158, 0x112a, 0xeea, -0xede, 0xeea, 0xede, 0xeea, 0xede, 0xf22, 0xf39, 0xf22, 0xf39, 0xe43, 0xe7e, -0xe43, 0xe7e, 0xcc3, 0xd21, 0xcc3, 0xd21, 0xbd2, 0xc53, 0xbd2, 0xc53, 0xa45, -0xaea, 0xa45, 0xaea, 0xa4e, 0xb15, 0xa4e, 0xb15, 0xa4e, 0xb15, 0x949, 0xa32, -0x949, 0xa32, 0x885, 0x98e, 0x885, 0x98e, 0x58c, 0x6b3, 0x58c, 0x6b3, 0x469, -0x5ac, 0x469, 0x5ac, 0x24f, 0x3ac, 0x24f, 0x3ac, 0x24f, 0x3ac, 0xab, 0x220, -0xab, 0x220, 0xff1b, 0xa5, 0xff1b, 0xa5, 0xfb1c, 0xfcb8, 0xfb1c, 0xfcb8, 0xfa54, -0xfbff, 0xfa54, 0xfbff, 0xf8fa, 0xfab1, 0xf8fa, 0xfab1, 0xf6ef, 0xf8ae, 0xf6ef, 0xf8ae, -0xf6ef, 0xf8ae, 0xf653, 0xf818, 0xf653, 0xf818, 0xf56b, 0xf733, 0xf56b, 0xf733, 0xf31c, -0xf4e2, 0xf31c, 0xf4e2, 0xf261, 0xf423, 0xf261, 0xf423, 0xf15d, 0xf317, 0xf15d, 0xf317, -0xefbd, 0xf16b, 0xefbd, 0xf16b, 0xefbd, 0xf16b, 0xefde, 0xf17d, 0xefde, 0xf17d, 0xefdd, -0xf168, 0xefdd, 0xf168, 0xef5e, 0xf0d1, 0xef5e, 0xf0d1, 0xf036, 0xf18e, 0xf036, 0xf18e, -0xf0b6, 0xf1ee, 0xf0b6, 0xf1ee, 0xf0b6, 0xf1ee, 0xf25a, 0xf36e, 0xf25a, 0xf36e, 0xf42a, -0xf515, 0xf42a, 0xf515, 0xf3fa, 0xf4b9, 0xf3fa, 0xf4b9, 0xf6cf, 0xf760, 0xf6cf, 0xf760, -0xf8e1, 0xf940, 0xf8e1, 0xf940, 0xf9e9, 0xfa15, 0xf9e9, 0xfa15, 0xf9e9, 0xfa15, 0xfc16, -0xfc0d, 0xfc16, 0xfc0d, 0xfd67, 0xfd29, 0xfd67, 0xfd29, 0xfea4, 0xfe32, 0xfea4, 0xfe32, -0x38, 0xff94, 0x38, 0xff94, 0xde, 0xb, 0xde, 0xb, 0x79, 0xff7b, 0x79, -0xff7b, 0x79, 0xff7b, 0x29e, 0x17b, 0x29e, 0x17b, 0x467, 0x325, 0x467, 0x325, -0x3c3, 0x269, 0x3c3, 0x269, 0x573, 0x409, 0x573, 0x409, 0x696, 0x524, 0x696, -0x524, 0x696, 0x524, 0x60a, 0x498, 0x60a, 0x498, 0x605, 0x49b, 0x605, 0x49b, -0x5d6, 0x47e, 0x5d6, 0x47e, 0x47f, 0x340, 0x47f, 0x340, 0x32f, 0x210, 0x32f, -0x210, 0x30b, 0x213, 0x30b, 0x213, 0x30b, 0x213, 0x1d5, 0x10a, 0x1d5, 0x10a, -0xca, 0x31, 0xca, 0x31, 0x67, 0x3, 0x67, 0x3, 0x31, 0x5, 0x31, -0x5, 0xfd53, 0xfd61, 0xfd53, 0xfd61, 0xfd53, 0xfd61, 0xface, 0xfb17, 0xface, 0xfb17, -0xf8d3, 0xf958, 0xf8d3, 0xf958, 0xf669, 0xf72a, 0xf669, 0xf72a, 0xf5e0, 0xf6dc, 0xf5e0, -0xf6dc, 0xf424, 0xf55b, 0xf424, 0xf55b, 0xf33a, 0xf4ac, 0xf33a, 0xf4ac, 0xf33a, 0xf4ac, -0xf35e, 0xf50a, 0xf35e, 0xf50a, 0xf318, 0xf4ff, 0xf318, 0xf4ff, 0xf12b, 0xf34c, 0xf12b, -0xf34c, 0xf016, 0xf274, 0xf016, 0xf274, 0xef38, 0xf1d2, 0xef38, 0xf1d2, 0xedca, 0xf0a3, -0xedca, 0xf0a3, 0xedca, 0xf0a3, 0xec5e, 0xef77, 0xec5e, 0xef77, 0xea46, 0xeda0, 0xea46, -0xeda0, 0xe833, 0xebd1, 0xe833, 0xebd1, 0xe724, 0xeb06, 0xe724, 0xeb06, 0xe7b3, 0xebda, -0xe7b3, 0xebda, 0xe7b3, 0xebda, 0xe6ea, 0xeb55, 0xe6ea, 0xeb55, 0xe57e, 0xea2c, 0xe57e, -0xea2c, 0xe3b3, 0xe8a0, 0xe3b3, 0xe8a0, 0xe330, 0xe858, 0xe330, 0xe858, 0xe371, 0xe8ce, -0xe371, 0xe8ce, 0xe1cd, 0xe757, 0xe1cd, 0xe757, 0xe1cd, 0xe757, 0xdf64, 0xe513, 0xdf64, -0xe513, 0xe07e, 0xe646, 0xe07e, 0xe646, 0xe016, 0xe5ec, 0xe016, 0xe5ec, 0xdea9, 0xe481, -0xdea9, 0xe481, 0xe008, 0xe5d5, 0xe008, 0xe5d5, 0xe000, 0xe5b4, 0xe000, 0xe5b4, 0xe000, -0xe5b4, 0xe05e, 0xe5eb, 0xe05e, 0xe5eb, 0xdf6d, 0xe4c8, 0xdf6d, 0xe4c8, 0xdf08, 0xe424, -0xdf08, 0xe424, 0xdec3, 0xe397, 0xdec3, 0xe397, 0xdfd8, 0xe45c, 0xdfd8, 0xe45c, 0xdfd8, -0xe45c, 0xe08c, 0xe4b9, 0xe08c, 0xe4b9, 0xe133, 0xe505, 0xe133, 0xe505, 0xe3bb, 0xe731, -0xe3bb, 0xe731, 0xe350, 0xe66a, 0xe350, 0xe66a, 0xe56c, 0xe82f, 0xe56c, 0xe82f, 0xe725, -0xe994, 0xe725, 0xe994, 0xe725, 0xe994, 0xe764, 0xe986, 0xe764, 0xe986, 0xe8d9, 0xeab6, -0xe8d9, 0xeab6, 0xe87e, 0xea20, 0xe87e, 0xea20, 0xea01, 0xeb72, 0xea01, 0xeb72, 0xeb02, -0xec4b, 0xeb02, 0xec4b, 0xe8e5, 0xea10, 0xe8e5, 0xea10, 0xe8e5, 0xea10, 0xe9f4, 0xeb09, -0xe9f4, 0xeb09, 0xec56, 0xed5d, 0xec56, 0xed5d, 0xec8c, 0xed8b, 0xec8c, 0xed8b, 0xec95, -0xed8e, 0xec95, 0xed8e, 0xee28, 0xef1d, 0xee28, 0xef1d, 0xee28, 0xef1d, 0xeec4, 0xefb6, -0xeec4, 0xefb6, 0xeeb2, 0xef9e, 0xeeb2, 0xef9e, 0xf132, 0xf214, 0xf132, 0xf214, 0xf11a, -0xf1ec, 0xf11a, 0xf1ec, 0xf202, 0xf2bd, 0xf202, 0xf2bd, 0xf491, 0xf52c, 0xf491, 0xf52c, -0xf491, 0xf52c, 0xf393, 0xf408, 0xf393, 0xf408, 0xf593, 0xf5d8, 0xf593, 0xf5d8, 0xf74a, -0xf759, 0xf74a, 0xf759, 0xf7d0, 0xf7a1, 0xf7d0, 0xf7a1, 0xfa4d, 0xf9dc, 0xfa4d, 0xf9dc, -0xfc76, 0xfbbf, 0xfc76, 0xfbbf, 0xfc76, 0xfbbf, 0xff7b, 0xfe7d, 0xff7b, 0xfe7d, 0x8e, -0xff49, 0x8e, 0xff49, 0x33e, 0x1b6, 0x33e, 0x1b6, 0x552, 0x38b, 0x552, 0x38b, -0x685, 0x487, 0x685, 0x487, 0x685, 0x487, 0x92e, 0x702, 0x92e, 0x702, 0x9cb, -0x77a, 0x9cb, 0x77a, 0xb7c, 0x911, 0xb7c, 0x911, 0xc96, 0xa1c, 0xc96, 0xa1c, -0xe68, 0xbea, 0xe68, 0xbea, 0xf74, 0xcfe, 0xf74, 0xcfe, 0xf74, 0xcfe, 0x102c, -0xdc6, 0x102c, 0xdc6, 0x11e4, 0xf98, 0x11e4, 0xf98, 0x12a2, 0x1075, 0x12a2, 0x1075, -0x1320, 0x1118, 0x1320, 0x1118, 0x127a, 0x109a, 0x127a, 0x109a, 0x1264, 0x10ad, 0x1264, -0x10ad, 0x1264, 0x10ad, 0x123e, 0x10ae, 0x123e, 0x10ae, 0x118c, 0x1021, 0x118c, 0x1021, -0x11b3, 0x1069, 0x11b3, 0x1069, 0x1237, 0x1109, 0x1237, 0x1109, 0x1202, 0x10eb, 0x1202, -0x10eb, 0x1202, 0x10eb, 0x114b, 0x1045, 0x114b, 0x1045, 0x11ac, 0x10b1, 0x11ac, 0x10b1, -0x12f4, 0x11ff, 0x12f4, 0x11ff, 0x11dd, 0x10ea, 0x11dd, 0x10ea, 0x113b, 0x1047, 0x113b, -0x1047, 0xfeb, 0xef7, 0xfeb, 0xef7, 0xfeb, 0xef7, 0xec8, 0xdd4, 0xec8, 0xdd4, -0xea0, 0xdaf, 0xea0, 0xdaf, 0xb6c, 0xa82, 0xb6c, 0xa82, 0xa91, 0x9b5, 0xa91, -0x9b5, 0x96b, 0x8a3, 0x96b, 0x8a3, 0x701, 0x656, 0x701, 0x656, 0x701, 0x656, -0x5a0, 0x51b, 0x5a0, 0x51b, 0x477, 0x420, 0x477, 0x420, 0x3ea, 0x3c9, 0x3ea, -0x3c9, 0x1d2, 0x1ef, 0x1d2, 0x1ef, 0xffaa, 0xa, 0xffaa, 0xa, 0xffaa, 0xa, -0xfe05, 0xfeac, 0xfe05, 0xfeac, 0xfc7c, 0xfd6c, 0xfc7c, 0xfd6c, 0xfbfb, 0xfd32, 0xfbfb, -0xfd32, 0xfa44, 0xfbc0, 0xfa44, 0xfbc0, 0xfa0e, 0xfbc7, 0xfa0e, 0xfbc7, 0xf9af, 0xfb9f, -0xf9af, 0xfb9f, 0xf9af, 0xfb9f, 0xf7a7, 0xf9c3, 0xf7a7, 0xf9c3, 0xf759, 0xf996, 0xf759, -0xf996, 0xf567, 0xf7b7, 0xf567, 0xf7b7, 0xf579, 0xf7ce, 0xf579, 0xf7ce, 0xf4fd, 0xf749, -0xf4fd, 0xf749, 0xf52f, 0xf764, 0xf52f, 0xf764, 0xf52f, 0xf764, 0xf650, 0xf861, 0xf650, -0xf861, 0xf5e9, 0xf7ca, 0xf5e9, 0xf7ca, 0xf875, 0xfa1d, 0xf875, 0xfa1d, 0xf8aa, 0xfa10, -0xf8aa, 0xfa10, 0xfb47, 0xfc67, 0xfb47, 0xfc67, 0xfb47, 0xfc67, 0xfdf1, 0xfec8, 0xfdf1, -0xfec8, 0xfe29, 0xfeb8, 0xfe29, 0xfeb8, 0xe0, 0x129, 0xe0, 0x129, 0x251, 0x25a, -0x251, 0x25a, 0x3d2, 0x3a2, 0x3d2, 0x3a2, 0x543, 0x4e4, 0x543, 0x4e4, 0x543, -0x4e4, 0x62d, 0x5a8, 0x62d, 0x5a8, 0x61a, 0x57b, 0x61a, 0x57b, 0x653, 0x5a4, -0x653, 0x5a4, 0x6ab, 0x5f8, 0x6ab, 0x5f8, 0x521, 0x474, 0x521, 0x474, 0x4d0, -0x432, 0x4d0, 0x432, 0x4d0, 0x432, 0x453, 0x3cb, 0x453, 0x3cb, 0x321, 0x2b4, -0x321, 0x2b4, 0x25f, 0x211, 0x25f, 0x211, 0x124, 0xf5, 0x124, 0xf5, 0xff7a, -0xff68, 0xff7a, 0xff68, 0xff7a, 0xff68, 0xff76, 0xff7f, 0xff76, 0xff7f, 0xffb5, 0xffd4, -0xffb5, 0xffd4, 0xfe6c, 0xfe99, 0xfe6c, 0xfe99, 0xfea0, 0xfed4, 0xfea0, 0xfed4, 0xfe8b, -0xfebe, 0xfe8b, 0xfebe, 0xff08, 0xff31, 0xff08, 0xff31, 0xff08, 0xff31, 0xff76, 0xff8c, -0xff76, 0xff8c, 0xff12, 0xff0d, 0xff12, 0xff0d, 0xff25, 0xfeff, 0xff25, 0xfeff, 0xfeeb, -0xfe9c, 0xfeeb, 0xfe9c, 0xff80, 0xff05, 0xff80, 0xff05, 0xff80, 0xff05, 0x26, 0xff7b, -0x26, 0xff7b, 0x11d, 0x42, 0x11d, 0x42, 0xf7, 0xffeb, 0xf7, 0xffeb, 0x14f, -0x13, 0x14f, 0x13, 0x234, 0xcb, 0x234, 0xcb, 0x30c, 0x179, 0x30c, 0x179, -0x30c, 0x179, 0x438, 0x281, 0x438, 0x281, 0x483, 0x2aa, 0x483, 0x2aa, 0x5b9, -0x3c4, 0x5b9, 0x3c4, 0x62f, 0x421, 0x62f, 0x421, 0x715, 0x4f2, 0x715, 0x4f2, -0x6a6, 0x471, 0x6a6, 0x471, 0x6a6, 0x471, 0x5dd, 0x398, 0x5dd, 0x398, 0x838, -0x5e2, 0x838, 0x5e2, 0x781, 0x51b, 0x781, 0x51b, 0x703, 0x48b, 0x703, 0x48b, -0x895, 0x609, 0x895, 0x609, 0x895, 0x609, 0x81c, 0x578, 0x81c, 0x578, 0x8ce, -0x610, 0x8ce, 0x610, 0xa7a, 0x79d, 0xa7a, 0x79d, 0xafa, 0x7fb, 0xafa, 0x7fb, -0xb6a, 0x847, 0xb6a, 0x847, 0xd11, 0x9c6, 0xd11, 0x9c6, 0xd11, 0x9c6, 0xd67, -0x9f3, 0xd67, 0x9f3, 0xd79, 0x9dd, 0xd79, 0x9dd, 0xfd3, 0xc10, 0xfd3, 0xc10, -0x1110, 0xd27, 0x1110, 0xd27, 0x1285, 0xe7c, 0x1285, 0xe7c, 0x14ef, 0x10ca, 0x14ef, -0x10ca, 0x14ef, 0x10ca, 0x1525, 0x10eb, 0x1525, 0x10eb, 0x161e, 0x11d7, 0x161e, 0x11d7, -0x1817, 0x13cb, 0x1817, 0x13cb, 0x1831, 0x13e9, 0x1831, 0x13e9, 0x1873, 0x1438, 0x1873, -0x1438, 0x1873, 0x1438, 0x18fa, 0x14d5, 0x18fa, 0x14d5, 0x19c7, 0x15c0, 0x19c7, 0x15c0, -0x1aab, 0x16cb, 0x1aab, 0x16cb, 0x1b05, 0x1750, 0x1b05, 0x1750, 0x1b08, 0x1785, 0x1b08, -0x1785, 0x1be9, 0x189b, 0x1be9, 0x189b, 0x1be9, 0x189b, 0x1d8b, 0x1a75, 0x1d8b, 0x1a75, -0x1d18, 0x1a3a, 0x1d18, 0x1a3a, 0x1ca5, 0x19fc, 0x1ca5, 0x19fc, 0x1cb2, 0x1a3d, 0x1cb2, -0x1a3d, 0x1be7, 0x19a3, 0x1be7, 0x19a3, 0x1bad, 0x1995, 0x1bad, 0x1995, 0x1bad, 0x1995, -0x1b71, 0x197f, 0x1b71, 0x197f, 0x1a8b, 0x18b8, 0x1a8b, 0x18b8, 0x1adf, 0x1927, 0x1adf, -0x1927, 0x1ba7, 0x1a02, 0x1ba7, 0x1a02, 0x1a95, 0x18fd, 0x1a95, 0x18fd, 0x1a95, 0x18fd, -0x18fe, 0x176e, 0x18fe, 0x176e, 0x1844, 0x16b7, 0x1844, 0x16b7, 0x16b7, 0x1529, 0x16b7, -0x1529, 0x154d, 0x13bb, 0x154d, 0x13bb, 0x15bd, 0x1426, 0x15bd, 0x1426, 0x154e, 0x13b1, -0x154e, 0x13b1, 0x154e, 0x13b1, 0x1420, 0x127c, 0x1420, 0x127c, 0x135c, 0x11b2, 0x135c, -0x11b2, 0x11f5, 0x1048, 0x11f5, 0x1048, 0x108c, 0xede, 0x108c, 0xede, 0xfb3, 0xe06, -0xfb3, 0xe06, 0xd90, 0xbe9, 0xd90, 0xbe9, 0xd90, 0xbe9, 0xc59, 0xab9, 0xc59, -0xab9, 0xb57, 0x9c4, 0xb57, 0x9c4, 0xa15, 0x891, 0xa15, 0x891, 0xa6c, 0x8fa, -0xa6c, 0x8fa, 0x8ae, 0x751, 0x8ae, 0x751, 0x8ae, 0x751, 0x7a6, 0x661, 0x7a6, -0x661, 0x5a2, 0x478, 0x5a2, 0x478, 0x230, 0x123, 0x230, 0x123, 0x101, 0x13, -0x101, 0x13, 0xffd6, 0xff0a, 0xffd6, 0xff0a, 0xfcdf, 0xfc35, 0xfcdf, 0xfc35, 0xfcdf, -0xfc35, 0xf9cc, 0xf947, 0xf9cc, 0xf947, 0xf9ed, 0xf98e, 0xf9ed, 0xf98e, 0xf7c8, 0xf792, -0xf7c8, 0xf792, 0xf503, 0xf4f6, 0xf503, 0xf4f6, 0xf514, 0xf531, 0xf514, 0xf531, 0xf269, -0xf2b2, 0xf269, 0xf2b2, 0xf269, 0xf2b2, 0xeff1, 0xf066, 0xeff1, 0xf066, 0xf048, 0xf0ea, -0xf048, 0xf0ea, 0xee1f, 0xeeed, 0xee1f, 0xeeed, 0xed80, 0xee7a, 0xed80, 0xee7a, 0xef08, -0xf02c, 0xef08, 0xf02c, 0xef08, 0xf02c, 0xecc0, 0xee0b, 0xecc0, 0xee0b, 0xec97, 0xee07, -0xec97, 0xee07, 0xedb6, 0xef46, 0xedb6, 0xef46, 0xed54, 0xef00, 0xed54, 0xef00, 0xeca3, -0xee65, 0xeca3, 0xee65, 0xec1d, 0xedef, 0xec1d, 0xedef, 0xec1d, 0xedef, 0xed16, 0xeef1, -0xed16, 0xeef1, 0xedff, 0xefdd, 0xedff, 0xefdd, 0xf04d, 0xf226, 0xf04d, 0xf226, 0xf192, -0xf35e, 0xf192, 0xf35e, 0xf26a, 0xf423, 0xf26a, 0xf423, 0xf5ab, 0xf74c, 0xf5ab, 0xf74c, -0xf5ab, 0xf74c, 0xf784, 0xf906, 0xf784, 0xf906, 0xf98a, 0xfae8, 0xf98a, 0xfae8, 0xfbe2, -0xfd1a, 0xfbe2, 0xfd1a, 0xfcea, 0xfdfa, 0xfcea, 0xfdfa, 0xffba, 0xa1, 0xffba, 0xa1, -0xffba, 0xa1, 0x140, 0x1ff, 0x140, 0x1ff, 0x163, 0x1fc, 0x163, 0x1fc, 0x386, -0x3fc, 0x386, 0x3fc, 0x5c5, 0x61c, 0x5c5, 0x61c, 0x6f5, 0x733, 0x6f5, 0x733, -0x78f, 0x7bb, 0x78f, 0x7bb, 0x78f, 0x7bb, 0x9b7, 0x9d8, 0x9b7, 0x9d8, 0x9c2, -0x9de, 0x9c2, 0x9de, 0x92c, 0x94a, 0x92c, 0x94a, 0xaca, 0xaf1, 0xaca, 0xaf1, -0x9bc, 0x9f2, 0x9bc, 0x9f2, 0x981, 0x9cc, 0x981, 0x9cc, 0x981, 0x9cc, 0xa48, -0xaad, 0xa48, 0xaad, 0x8a7, 0x929, 0x8a7, 0x929, 0x820, 0x8c3, 0x820, 0x8c3, -0x862, 0x928, 0x862, 0x928, 0x5ec, 0x6d6, 0x5ec, 0x6d6, 0x5ec, 0x6d6, 0x400, -0x510, 0x400, 0x510, 0x355, 0x48b, 0x355, 0x48b, 0x225, 0x380, 0x225, 0x380, -0x72, 0x1f3, 0x72, 0x1f3, 0xff2e, 0xd5, 0xff2e, 0xd5, 0xfe01, 0xffcd, 0xfe01, -0xffcd, 0xfe01, 0xffcd, 0xfbbe, 0xfdb1, 0xfbbe, 0xfdb1, 0xfb19, 0xfd32, 0xfb19, 0xfd32, -0xfa0a, 0xfc4d, 0xfa0a, 0xfc4d, 0xf894, 0xfb01, 0xf894, 0xfb01, 0xf64b, 0xf8e5, 0xf64b, -0xf8e5, 0xf373, 0xf63d, 0xf373, 0xf63d, 0xf373, 0xf63d, 0xf2db, 0xf5d8, 0xf2db, 0xf5d8, -0xf179, 0xf4ac, 0xf179, 0xf4ac, 0xef4a, 0xf2b4, 0xef4a, 0xf2b4, 0xedba, 0xf15e, 0xedba, -0xf15e, 0xeaef, 0xeece, 0xeaef, 0xeece, 0xeaef, 0xeece, 0xe8fc, 0xed14, 0xe8fc, 0xed14, -0xe95b, 0xedac, 0xe95b, 0xedac, 0xe801, 0xec88, 0xe801, 0xec88, 0xe53f, 0xe9f8, 0xe53f, -0xe9f8, 0xe407, 0xe8ea, 0xe407, 0xe8ea, 0xe2da, 0xe7df, 0xe2da, 0xe7df, 0xe2da, 0xe7df, -0xe045, 0xe564, 0xe045, 0xe564, 0xe003, 0xe530, 0xe003, 0xe530, 0xdfbd, 0xe4ed, 0xdfbd, -0xe4ed, 0xdc5d, 0xe183, 0xdc5d, 0xe183, 0xdc98, 0xe1a6, 0xdc98, 0xe1a6, 0xdc98, 0xe1a6, -0xdca2, 0xe18d, 0xdca2, 0xe18d, 0xda72, 0xdf2d, 0xda72, 0xdf2d, 0xdbb9, 0xe039, 0xdbb9, -0xe039, 0xda93, 0xdecf, 0xda93, 0xdecf, 0xd909, 0xdcf8, 0xd909, 0xdcf8, 0xdaf9, 0xde96, -0xdaf9, 0xde96, 0xdaf9, 0xde96, 0xdd20, 0xe068, 0xdd20, 0xe068, 0xde01, 0xe0f3, 0xde01, -0xe0f3, 0xde51, 0xe0ef, 0xde51, 0xe0ef, 0xe004, 0xe252, 0xe004, 0xe252, 0xe15f, 0xe363, -0xe15f, 0xe363, 0xe2da, 0xe49d, 0xe2da, 0xe49d, 0xe2da, 0xe49d, 0xe328, 0xe4b5, 0xe328, -0xe4b5, 0xe2e4, 0xe444, 0xe2e4, 0xe444, 0xe3ac, 0xe4ec, 0xe3ac, 0xe4ec, 0xe37d, 0xe4a9, -0xe37d, 0xe4a9, 0xe459, 0xe57b, 0xe459, 0xe57b, 0xe459, 0xe57b, 0xe56e, 0xe690, 0xe56e, -0xe690, 0xe509, 0xe636, 0xe509, 0xe636, 0xe6b2, 0xe7f0, 0xe6b2, 0xe7f0, 0xe831, 0xe985, -0xe831, 0xe985, 0xe7da, 0xe946, 0xe7da, 0xe946, 0xe7fd, 0xe982, 0xe7fd, 0xe982, 0xe7fd, -0xe982, 0xe825, 0xe9c1, 0xe825, 0xe9c1, 0xe848, 0xe9f6, 0xe848, 0xe9f6, 0xe99c, 0xeb55, -0xe99c, 0xeb55, 0xeaf7, 0xecb4, 0xeaf7, 0xecb4, 0xeb37, 0xecef, 0xeb37, 0xecef, 0xed35, -0xeede, 0xed35, 0xeede, 0xed35, 0xeede, 0xf01e, 0xf1ad, 0xf01e, 0xf1ad, 0xf133, 0xf29f, -0xf133, 0xf29f, 0xf2a8, 0xf3e9, 0xf2a8, 0xf3e9, 0xf520, 0xf62d, 0xf520, 0xf62d, 0xf68a, -0xf75f, 0xf68a, 0xf75f, 0xf68a, 0xf75f, 0xf8c7, 0xf960, 0xf8c7, 0xf960, 0xfb89, 0xfbe4, -0xfb89, 0xfbe4, 0xfea4, 0xfec1, 0xfea4, 0xfec1, 0x87, 0x6a, 0x87, 0x6a, 0x216, -0x1c4, 0x216, 0x1c4, 0x498, 0x418, 0x498, 0x418, 0x498, 0x418, 0x7be, 0x71a, -0x7be, 0x71a, 0xac0, 0xa00, 0xac0, 0xa00, 0xbbe, 0xaed, 0xbbe, 0xaed, 0xdb8, -0xce0, 0xdb8, 0xce0, 0xe7e, 0xda9, 0xe7e, 0xda9, 0x1010, 0xf47, 0x1010, 0xf47, -0x1010, 0xf47, 0x1292, 0x11dd, 0x1292, 0x11dd, 0x121c, 0x1181, 0x121c, 0x1181, 0x1143, -0x10c6, 0x1143, 0x10c6, 0x120c, 0x11af, 0x120c, 0x11af, 0x12b2, 0x1275, 0x12b2, 0x1275, -0x12b2, 0x1275, 0x13ab, 0x138c, 0x13ab, 0x138c, 0x1511, 0x150d, 0x1511, 0x150d, 0x1390, -0x13a0, 0x1390, 0x13a0, 0x117a, 0x1198, 0x117a, 0x1198, 0x132b, 0x1350, 0x132b, 0x1350, -0x1382, 0x13a5, 0x1382, 0x13a5, 0x1382, 0x13a5, 0x1224, 0x123f, 0x1224, 0x123f, 0x12ed, -0x12f9, 0x12ed, 0x12f9, 0x1188, 0x117e, 0x1188, 0x117e, 0x1169, 0x1146, 0x1169, 0x1146, -0x133a, 0x12fc, 0x133a, 0x12fc, 0x12f6, 0x129c, 0x12f6, 0x129c, 0x12f6, 0x129c, 0x120c, -0x1198, 0x120c, 0x1198, 0x11fd, 0x1173, 0x11fd, 0x1173, 0x1139, 0x109e, 0x1139, 0x109e, -0x10fa, 0x1056, 0x10fa, 0x1056, 0x10d9, 0x1034, 0x10d9, 0x1034, 0x10d9, 0x1034, 0xed0, -0xe33, 0xed0, 0xe33, 0xd78, 0xcee, 0xd78, 0xcee, 0xceb, 0xc7c, 0xceb, 0xc7c, -0xbcf, 0xb84, 0xbcf, 0xb84, 0xb86, 0xb67, 0xb86, 0xb67, 0xaa0, 0xab1, 0xaa0, -0xab1, 0xaa0, 0xab1, 0x7c2, 0x807, 0x7c2, 0x807, 0x6d3, 0x74d, 0x6d3, 0x74d, -0x678, 0x724, 0x678, 0x724, 0x48e, 0x569, 0x48e, 0x569, 0x338, 0x43a, 0x338, -0x43a, 0x285, 0x3a5, 0x285, 0x3a5, 0x285, 0x3a5, 0xffb1, 0xe3, 0xffb1, 0xe3, -0xfeb1, 0xffe9, 0xfeb1, 0xffe9, 0xfd72, 0xfea1, 0xfd72, 0xfea1, 0xf99c, 0xfab3, 0xf99c, -0xfab3, 0xf8f8, 0xf9e9, 0xf8f8, 0xf9e9, 0xf8f8, 0xf9e9, 0xfa23, 0xfae0, 0xfa23, 0xfae0, -0xf9bf, 0xfa3b, 0xf9bf, 0xfa3b, 0xf93c, 0xf96d, 0xf93c, 0xf96d, 0xf99d, 0xf97c, 0xf99d, -0xf97c, 0xf87f, 0xf805, 0xf87f, 0xf805, 0xf8c9, 0xf7f5, 0xf8c9, 0xf7f5, 0xf8c9, 0xf7f5, -0xfafa, 0xf9cb, 0xfafa, 0xf9cb, 0xfacb, 0xf946, 0xfacb, 0xf946, 0xfc4a, 0xfa76, 0xfc4a, -0xfa76, 0xfeec, 0xfcd2, 0xfeec, 0xfcd2, 0xff18, 0xfcc4, 0xff18, 0xfcc4, 0x1e4, 0xff64, -0x1e4, 0xff64, 0x1e4, 0xff64, 0x2c7, 0x29, 0x2c7, 0x29, 0x25a, 0xffae, 0x25a, -0xffae, 0x266, 0xffbc, 0x266, 0xffbc, 0x163, 0xfecb, 0x163, 0xfecb, 0x122, 0xfea8, -0x122, 0xfea8, 0x122, 0xfea8, 0x62, 0xfe13, 0x62, 0xfe13, 0xfeab, 0xfc92, 0xfeab, -0xfc92, 0xfbf6, 0xfa19, 0xfbf6, 0xfa19, 0xfbd2, 0xfa38, 0xfbd2, 0xfa38, 0xfc2e, 0xfad9, -0xfc2e, 0xfad9, 0xfa6c, 0xf95d, 0xfa6c, 0xf95d, 0xfa6c, 0xf95d, 0xfa27, 0xf95a, 0xfa27, -0xf95a, 0xf929, 0xf89a, 0xf929, 0xf89a, 0xf65d, 0xf605, 0xf65d, 0xf605, 0xf84b, 0xf822, -0xf84b, 0xf822, 0xf7f3, 0xf7f0, 0xf7f3, 0xf7f0, 0xf5c5, 0xf5dd, 0xf5c5, 0xf5dd, 0xf5c5, -0xf5dd, 0xf620, 0xf64b, 0xf620, 0xf64b, 0xf557, 0xf58a, 0xf557, 0xf58a, 0xf50b, 0xf53d, -0xf50b, 0xf53d, 0xf726, 0xf750, 0xf726, 0xf750, 0xf7a1, 0xf7bc, 0xf7a1, 0xf7bc, 0xf7a1, -0xf7bc, 0xf542, 0xf54a, 0xf542, 0xf54a, 0xf72b, 0xf71c, 0xf72b, 0xf71c, 0xf91a, 0xf8f2, -0xf91a, 0xf8f2, 0xf9fe, 0xf9bd, 0xf9fe, 0xf9bd, 0xfc02, 0xfba8, 0xfc02, 0xfba8, 0xfc91, -0xfc21, 0xfc91, 0xfc21, 0xfc91, 0xfc21, 0xfda3, 0xfd1f, 0xfda3, 0xfd1f, 0xac, 0x17, -0xac, 0x17, 0x139, 0x96, 0x139, 0x96, 0x206, 0x158, 0x206, 0x158, 0x404, -0x34d, 0x404, 0x34d, 0x47f, 0x3c1, 0x47f, 0x3c1, 0x47f, 0x3c1, 0x611, 0x54c, -0x611, 0x54c, 0x7c1, 0x6f5, 0x7c1, 0x6f5, 0x8b6, 0x7e1, 0x8b6, 0x7e1, 0x944, -0x864, 0x944, 0x864, 0x9b9, 0x8cb, 0x9b9, 0x8cb, 0x9b9, 0x8cb, 0xa04, 0x902, -0xa04, 0x902, 0xb04, 0x9ea, 0xb04, 0x9ea, 0xc8b, 0xb54, 0xc8b, 0xb54, 0xc5f, -0xb06, 0xc5f, 0xb06, 0xd35, 0xbb5, 0xd35, 0xbb5, 0x10bf, 0xf14, 0x10bf, 0xf14, -0x10bf, 0xf14, 0x10ba, 0xee1, 0x10ba, 0xee1, 0x121d, 0x1015, 0x121d, 0x1015, 0x146b, -0x1232, 0x146b, 0x1232, 0x144c, 0x11e4, 0x144c, 0x11e4, 0x15f4, 0x135f, 0x15f4, 0x135f, -0x15f4, 0x135f, 0x1722, 0x1463, 0x1722, 0x1463, 0x171e, 0x143c, 0x171e, 0x143c, 0x17dd, -0x14dc, 0x17dd, 0x14dc, 0x1927, 0x1610, 0x1927, 0x1610, 0x1ace, 0x17a8, 0x1ace, 0x17a8, -0x1d7e, 0x1a51, 0x1d7e, 0x1a51, 0x1d7e, 0x1a51, 0x1ea3, 0x1b78, 0x1ea3, 0x1b78, 0x1e8a, -0x1b68, 0x1e8a, 0x1b68, 0x1f49, 0x1c38, 0x1f49, 0x1c38, 0x1fb5, 0x1cba, 0x1fb5, 0x1cba, -0x1f01, 0x1c22, 0x1f01, 0x1c22, 0x1fa2, 0x1ce1, 0x1fa2, 0x1ce1, 0x1fa2, 0x1ce1, 0x1eca, -0x1c2b, 0x1eca, 0x1c2b, 0x1eab, 0x1c2e, 0x1eab, 0x1c2e, 0x1fd0, 0x1d74, 0x1fd0, 0x1d74, -0x1f64, 0x1d27, 0x1f64, 0x1d27, 0x1f37, 0x1d14, 0x1f37, 0x1d14, 0x1f37, 0x1d14, 0x1f97, -0x1d8b, 0x1f97, 0x1d8b, 0x1e83, 0x1c87, 0x1e83, 0x1c87, 0x1e0c, 0x1c1b, 0x1e0c, 0x1c1b, -0x1f54, 0x1d67, 0x1f54, 0x1d67, 0x1dc7, 0x1bd8, 0x1dc7, 0x1bd8, 0x1bc1, 0x19c9, 0x1bc1, -0x19c9, 0x1bc1, 0x19c9, 0x1ae8, 0x18e3, 0x1ae8, 0x18e3, 0x1a42, 0x182b, 0x1a42, 0x182b, -0x1896, 0x166a, 0x1896, 0x166a, 0x18ed, 0x16a9, 0x18ed, 0x16a9, 0x17d8, 0x157b, 0x17d8, -0x157b, 0x15f3, 0x137e, 0x15f3, 0x137e, 0x15f3, 0x137e, 0x1664, 0x13d7, 0x1664, 0x13d7, -0x166c, 0x13cb, 0x166c, 0x13cb, 0x150d, 0x125c, 0x150d, 0x125c, 0x1358, 0x109c, 0x1358, -0x109c, 0x10ed, 0xe2c, 0x10ed, 0xe2c, 0x10ed, 0xe2c, 0xeb6, 0xbf5, 0xeb6, 0xbf5, -0xf85, 0xccb, 0xf85, 0xccb, 0xe28, 0xb7c, 0xe28, 0xb7c, 0xc9e, 0xa07, 0xc9e, -0xa07, 0xb83, 0x907, 0xb83, 0x907, 0xaa7, 0x84c, 0xaa7, 0x84c, 0xaa7, 0x84c, -0xa2a, 0x7f6, 0xa2a, 0x7f6, 0x8d1, 0x6c8, 0x8d1, 0x6c8, 0x650, 0x476, 0x650, -0x476, 0x3d7, 0x230, 0x3d7, 0x230, 0x13f, 0xffce, 0x13f, 0xffce, 0xfe14, 0xfcda, -0xfe14, 0xfcda, 0xfe14, 0xfcda, 0xfc17, 0xfb16, 0xfc17, 0xfb16, 0xf9d2, 0xf90a, 0xf9d2, -0xf90a, 0xf741, 0xf6b1, 0xf741, 0xf6b1, 0xf5b6, 0xf55d, 0xf5b6, 0xf55d, 0xf45c, 0xf438, -0xf45c, 0xf438, 0xf45c, 0xf438, 0xf23d, 0xf24c, 0xf23d, 0xf24c, 0xf10c, 0xf14b, 0xf10c, -0xf14b, 0xefa1, 0xf00b, 0xefa1, 0xf00b, 0xed2e, 0xedc0, 0xed2e, 0xedc0, 0xebe5, 0xec9a, -0xebe5, 0xec9a, 0xec30, 0xed03, 0xec30, 0xed03, 0xec30, 0xed03, 0xeaf2, 0xebdf, 0xeaf2, -0xebdf, 0xeb64, 0xec64, 0xeb64, 0xec64, 0xead2, 0xebdf, 0xead2, 0xebdf, 0xe9c1, 0xead5, -0xe9c1, 0xead5, 0xea35, 0xeb4b, 0xea35, 0xeb4b, 0xe9cb, 0xeadb, 0xe9cb, 0xeadb, 0xe9cb, -0xeadb, 0xea39, 0xeb3d, 0xea39, 0xeb3d, 0xea95, 0xeb89, 0xea95, 0xeb89, 0xec60, 0xed3c, -0xec60, 0xed3c, 0xed8a, 0xee4b, 0xed8a, 0xee4b, 0xeee1, 0xef82, 0xeee1, 0xef82, 0xeee1, -0xef82, 0xf022, 0xf0a0, 0xf022, 0xf0a0, 0xf107, 0xf15f, 0xf107, 0xf15f, 0xf41c, 0xf44e, -0xf41c, 0xf44e, 0xf64b, 0xf656, 0xf64b, 0xf656, 0xf7d4, 0xf7b9, 0xf7d4, 0xf7b9, 0xfa96, -0xfa58, 0xfa96, 0xfa58, 0xfa96, 0xfa58, 0xfc34, 0xfbd7, 0xfc34, 0xfbd7, 0xfebb, 0xfe42, -0xfebb, 0xfe42, 0xb8, 0x2a, 0xb8, 0x2a, 0x241, 0x1a4, 0x241, 0x1a4, 0x409, -0x365, 0x409, 0x365, 0x5f5, 0x550, 0x5f5, 0x550, 0x5f5, 0x550, 0x7cc, 0x72f, -0x7cc, 0x72f, 0x8f2, 0x865, 0x8f2, 0x865, 0xa60, 0x9ec, 0xa60, 0x9ec, 0xaed, -0xa98, 0xaed, 0xa98, 0xb8d, 0xb5e, 0xb8d, 0xb5e, 0xb8d, 0xb5e, 0xc6f, 0xc6c, -0xc6f, 0xc6c, 0xddc, 0xe0b, 0xddc, 0xe0b, 0xc84, 0xce9, 0xc84, 0xce9, 0xc92, -0xd30, 0xc92, 0xd30, 0xbed, 0xcc7, 0xbed, 0xcc7, 0xb4f, 0xc67, 0xb4f, 0xc67, -0xb4f, 0xc67, 0xbdd, 0xd31, 0xbdd, 0xd31, 0xa8b, 0xc1d, 0xa8b, 0xc1d, 0x9c0, -0xb8e, 0x9c0, 0xb8e, 0x87a, 0xa82, 0x87a, 0xa82, 0x7ee, 0xa2e, 0x7ee, 0xa2e, -0x721, 0x998, 0x721, 0x998, 0x721, 0x998, 0x6f4, 0x99f, 0x6f4, 0x99f, 0x518, -0x7f5, 0x518, 0x7f5, 0x20f, 0x51c, 0x20f, 0x51c, 0xb, 0x348, 0xb, 0x348, -0xfe72, 0x1dc, 0xfe72, 0x1dc, 0xfe72, 0x1dc, 0xfc14, 0xffaa, 0xfc14, 0xffaa, 0xf97a, -0xfd3c, 0xf97a, 0xfd3c, 0xf646, 0xfa32, 0xf646, 0xfa32, 0xf4b0, 0xf8c5, 0xf4b0, 0xf8c5, -0xf432, 0xf86f, 0xf432, 0xf86f, 0xf2d1, 0xf734, 0xf2d1, 0xf734, 0xf2d1, 0xf734, 0xf1e6, -0xf66d, 0xf1e6, 0xf66d, 0xf0db, 0xf583, 0xf0db, 0xf583, 0xef23, 0xf3e8, 0xef23, 0xf3e8, -0xec75, 0xf151, 0xec75, 0xf151, 0xea95, 0xef84, 0xea95, 0xef84, 0xe892, 0xed8c, 0xe892, -0xed8c, 0xe892, 0xed8c, 0xe66a, 0xeb69, 0xe66a, 0xeb69, 0xe3f0, 0xe8eb, 0xe3f0, 0xe8eb, -0xe21f, 0xe70d, 0xe21f, 0xe70d, 0xe0fd, 0xe5d4, 0xe0fd, 0xe5d4, 0xe06e, 0xe526, 0xe06e, -0xe526, 0xe06e, 0xe526, 0xde49, 0xe2d8, 0xde49, 0xe2d8, 0xdca5, 0xe103, 0xdca5, 0xe103, -0xdb8b, 0xdfb0, 0xdb8b, 0xdfb0, 0xda03, 0xdde9, 0xda03, 0xdde9, 0xd9c1, 0xdd62, 0xd9c1, -0xdd62, 0xd91f, 0xdc78, 0xd91f, 0xdc78, 0xd91f, 0xdc78, 0xd919, 0xdc29, 0xd919, 0xdc29, -0xd9cf, 0xdc95, 0xd9cf, 0xdc95, 0xda78, 0xdcf6, 0xda78, 0xdcf6, 0xdadd, 0xdd18, 0xdadd, -0xdd18, 0xdc12, 0xde0f, 0xdc12, 0xde0f, 0xdcfe, 0xdec4, 0xdcfe, 0xdec4, 0xdcfe, 0xdec4, -0xde0d, 0xdfa4, 0xde0d, 0xdfa4, 0xde48, 0xdfba, 0xde48, 0xdfba, 0xddc0, 0xdf16, 0xddc0, -0xdf16, 0xdc8e, 0xddd2, 0xdc8e, 0xddd2, 0xdcf8, 0xde32, 0xdcf8, 0xde32, 0xdcf8, 0xde32, -0xde63, 0xdf9b, 0xde63, 0xdf9b, 0xdeff, 0xe03e, 0xdeff, 0xe03e, 0xdfdc, 0xe126, 0xdfdc, -0xe126, 0xe0c7, 0xe221, 0xe0c7, 0xe221, 0xe161, 0xe2cb, 0xe161, 0xe2cb, 0xe24b, 0xe3c5, -0xe24b, 0xe3c5, 0xe24b, 0xe3c5, 0xe323, 0xe4ab, 0xe323, 0xe4ab, 0xe393, 0xe523, 0xe393, -0xe523, 0xe457, 0xe5ea, 0xe457, 0xe5ea, 0xe566, 0xe6f3, 0xe566, 0xe6f3, 0xe827, 0xe9a5, -0xe827, 0xe9a5, 0xe827, 0xe9a5, 0xe9a5, 0xeb0a, 0xe9a5, 0xeb0a, 0xeb87, 0xecc8, 0xeb87, -0xecc8, 0xec64, 0xed76, 0xec64, 0xed76, 0xee34, 0xef0d, 0xee34, 0xef0d, 0xf09d, 0xf133, -0xf09d, 0xf133, 0xf250, 0xf29d, 0xf250, 0xf29d, 0xf250, 0xf29d, 0xf4d5, 0xf4d2, 0xf4d5, -0xf4d2, 0xf729, 0xf6d2, 0xf729, 0xf6d2, 0xf8e6, 0xf83a, 0xf8e6, 0xf83a, 0xfae3, 0xf9e2, -0xfae3, 0xf9e2, 0xfe2f, 0xfcdc, 0xfe2f, 0xfcdc, 0x35, 0xfe94, 0x35, 0xfe94, 0x35, -0xfe94, 0x291, 0xaa, 0x291, 0xaa, 0x37f, 0x159, 0x37f, 0x159, 0x602, 0x3a7, -0x602, 0x3a7, 0xa1a, 0x796, 0xa1a, 0x796, 0xcd5, 0xa33, 0xcd5, 0xa33, 0xcd5, -0xa33, 0xd78, 0xac3, 0xd78, 0xac3, 0xe98, 0xbdb, 0xe98, 0xbdb, 0xfef, 0xd34, -0xfef, 0xd34, 0x1100, 0xe4f, 0x1100, 0xe4f, 0x125e, 0xfc1, 0x125e, 0xfc1, 0x12f3, -0x106e, 0x12f3, 0x106e, 0x12f3, 0x106e, 0x139b, 0x1133, 0x139b, 0x1133, 0x1398, 0x1151, -0x1398, 0x1151, 0x1492, 0x126c, 0x1492, 0x126c, 0x148b, 0x1285, 0x148b, 0x1285, 0x14c6, -0x12e0, 0x14c6, 0x12e0, 0x1588, 0x13be, 0x1588, 0x13be, 0x1588, 0x13be, 0x14e9, 0x1338, -0x14e9, 0x1338, 0x141e, 0x1282, 0x141e, 0x1282, 0x13f5, 0x126a, 0x13f5, 0x126a, 0x1360, -0x11e4, 0x1360, 0x11e4, 0x1346, 0x11d5, 0x1346, 0x11d5, 0x1346, 0x11d5, 0x128a, 0x1123, -0x128a, 0x1123, 0x1266, 0x1108, 0x1266, 0x1108, 0x1236, 0x10e1, 0x1236, 0x10e1, 0x11dc, -0x1093, 0x11dc, 0x1093, 0x1180, 0x1044, 0x1180, 0x1044, 0x10f0, 0xfc6, 0x10f0, 0xfc6, -0x10f0, 0xfc6, 0x107c, 0xf68, 0x107c, 0xf68, 0xf52, 0xe59, 0xf52, 0xe59, 0xf13, -0xe3b, 0xf13, 0xe3b, 0xd1f, 0xc6d, 0xd1f, 0xc6d, 0xcb4, 0xc2e, 0xcb4, 0xc2e, -0xc89, 0xc31, 0xc89, 0xc31, 0xc89, 0xc31, 0xaf9, 0xad1, 0xaf9, 0xad1, 0x9e2, -0x9ed, 0x9e2, 0x9ed, 0x90a, 0x947, 0x90a, 0x947, 0x794, 0x801, 0x794, 0x801, -0x802, 0x89a, 0x802, 0x89a, 0x802, 0x89a, 0x7ca, 0x887, 0x7ca, 0x887, 0x5d8, -0x6b2, 0x5d8, 0x6b2, 0x3b5, 0x4a4, 0x3b5, 0x4a4, 0x288, 0x381, 0x288, 0x381, -0x2a0, 0x397, 0x2a0, 0x397, 0xc4, 0x1ad, 0xc4, 0x1ad, 0xc4, 0x1ad, 0x54, -0x124, 0x54, 0x124, 0xff74, 0x20, 0xff74, 0x20, 0xfede, 0xff5c, 0xfede, 0xff5c, -0xfed5, 0xff1b, 0xfed5, 0xff1b, 0xfea3, 0xfeab, 0xfea3, 0xfeab, 0xfe76, 0xfe39, 0xfe76, -0xfe39, 0xfe76, 0xfe39, 0xfebe, 0xfe3b, 0xfebe, 0xfe3b, 0xff2d, 0xfe62, 0xff2d, 0xfe62, -0xffc8, 0xfeb8, 0xffc8, 0xfeb8, 0x153, 0x2, 0x153, 0x2, 0x306, 0x17b, 0x306, -0x17b, 0x306, 0x17b, 0x323, 0x166, 0x323, 0x166, 0x3d7, 0x1f3, 0x3d7, 0x1f3, -0x428, 0x229, 0x428, 0x229, 0x46c, 0x25f, 0x46c, 0x25f, 0x594, 0x385, 0x594, -0x385, 0x3c1, 0x1be, 0x3c1, 0x1be, 0x3c1, 0x1be, 0x28a, 0x9f, 0x28a, 0x9f, -0x57, 0xfe8f, 0x57, 0xfe8f, 0xfef0, 0xfd58, 0xfef0, 0xfd58, 0xfe4b, 0xfce9, 0xfe4b, -0xfce9, 0xfd4a, 0xfc26, 0xfd4a, 0xfc26, 0xfa8e, 0xf9ae, 0xfa8e, 0xf9ae, 0xfa8e, 0xf9ae, -0xf986, 0xf8ec, 0xf986, 0xf8ec, 0xf9e4, 0xf990, 0xf9e4, 0xf990, 0xf812, 0xf804, 0xf812, -0xf804, 0xf6ab, 0xf6e0, 0xf6ab, 0xf6e0, 0xf54e, 0xf5c1, 0xf54e, 0xf5c1, 0xf54e, 0xf5c1, -0xf3d3, 0xf47e, 0xf3d3, 0xf47e, 0xf2a5, 0xf381, 0xf2a5, 0xf381, 0xf2f9, 0xf3ff, 0xf2f9, -0xf3ff, 0xf1c3, 0xf2ea, 0xf1c3, 0xf2ea, 0xf149, 0xf289, 0xf149, 0xf289, 0xf1e6, 0xf337, -0xf1e6, 0xf337, 0xf1e6, 0xf337, 0xf128, 0xf283, 0xf128, 0xf283, 0xf1a1, 0xf2ff, 0xf1a1, -0xf2ff, 0xf3d8, 0xf532, 0xf3d8, 0xf532, 0xf466, 0xf5b8, 0xf466, 0xf5b8, 0xf622, 0xf768, -0xf622, 0xf768, 0xf68c, 0xf7c2, 0xf68c, 0xf7c2, 0xf68c, 0xf7c2, 0xf714, 0xf837, 0xf714, -0xf837, 0xf8e4, 0xf9f2, 0xf8e4, 0xf9f2, 0xf9e8, 0xfae0, 0xf9e8, 0xfae0, 0xfb74, 0xfc53, -0xfb74, 0xfc53, 0xfc4f, 0xfd15, 0xfc4f, 0xfd15, 0xfc4f, 0xfd15, 0xfe42, 0xfeed, 0xfe42, -0xfeed, 0xffb3, 0x41, 0xffb3, 0x41, 0x125, 0x195, 0x125, 0x195, 0x22b, 0x279, -0x22b, 0x279, 0x3b2, 0x3dc, 0x3b2, 0x3dc, 0x611, 0x613, 0x611, 0x613, 0x611, -0x613, 0x7d9, 0x7b0, 0x7d9, 0x7b0, 0x76c, 0x713, 0x76c, 0x713, 0x9e5, 0x958, -0x9e5, 0x958, 0xbab, 0xae6, 0xbab, 0xae6, 0xc42, 0xb41, 0xc42, 0xb41, 0xec9, -0xd88, 0xec9, 0xd88, 0xec9, 0xd88, 0xf39, 0xdb5, 0xf39, 0xdb5, 0x1101, 0xf39, -0x1101, 0xf39, 0x13a5, 0x1198, 0x13a5, 0x1198, 0x14b6, 0x1265, 0x14b6, 0x1265, 0x1592, -0x12fe, 0x1592, 0x12fe, 0x1592, 0x12fe, 0x16d4, 0x1400, 0x16d4, 0x1400, 0x172d, 0x141f, -0x172d, 0x141f, 0x1879, 0x1535, 0x1879, 0x1535, 0x19c5, 0x1654, 0x19c5, 0x1654, 0x1bf8, -0x1862, 0x1bf8, 0x1862, 0x1cdd, 0x192c, 0x1cdd, 0x192c, 0x1cdd, 0x192c, 0x1dde, 0x1a1c, -0x1dde, 0x1a1c, 0x1f37, 0x1b6e, 0x1f37, 0x1b6e, 0x207c, 0x1cb7, 0x207c, 0x1cb7, 0x223e, -0x1e87, 0x223e, 0x1e87, 0x22b4, 0x1f17, 0x22b4, 0x1f17, 0x22e7, 0x1f6a, 0x22e7, 0x1f6a, -0x22e7, 0x1f6a, 0x2319, 0x1fc7, 0x2319, 0x1fc7, 0x225e, 0x1f3c, 0x225e, 0x1f3c, 0x226e, -0x1f83, 0x226e, 0x1f83, 0x2328, 0x2078, 0x2328, 0x2078, 0x211d, 0x1eaa, 0x211d, 0x1eaa, -0x211d, 0x1eaa, 0x2151, 0x1f1b, 0x2151, 0x1f1b, 0x21f2, 0x1ff9, 0x21f2, 0x1ff9, 0x21d2, -0x2014, 0x21d2, 0x2014, 0x216b, 0x1fe6, 0x216b, 0x1fe6, 0x1ff3, 0x1ea0, 0x1ff3, 0x1ea0, -0x1d42, 0x1c1d, 0x1d42, 0x1c1d, 0x1d42, 0x1c1d, 0x1ca7, 0x1baa, 0x1ca7, 0x1baa, 0x1c66, -0x1b8b, 0x1c66, 0x1b8b, 0x1a12, 0x1951, 0x1a12, 0x1951, 0x1868, 0x17bc, 0x1868, 0x17bc, -0x18cf, 0x1830, 0x18cf, 0x1830, 0x18cf, 0x1830, 0x17d1, 0x1739, 0x17d1, 0x1739, 0x1635, -0x15a0, 0x1635, 0x15a0, 0x15ec, 0x1554, 0x15ec, 0x1554, 0x12b4, 0x1216, 0x12b4, 0x1216, -0x117a, 0x10d3, 0x117a, 0x10d3, 0xfa2, 0xeef, 0xfa2, 0xeef, 0xfa2, 0xeef, 0xda7, -0xce7, 0xda7, 0xce7, 0xc41, 0xb74, 0xc41, 0xb74, 0xba8, 0xacf, 0xba8, 0xacf, -0xafc, 0xa17, 0xafc, 0xa17, 0x9c6, 0x8d7, 0x9c6, 0x8d7, 0x977, 0x881, 0x977, -0x881, 0x977, 0x881, 0x8d2, 0x7d7, 0x8d2, 0x7d7, 0x7c1, 0x6c3, 0x7c1, 0x6c3, -0x64d, 0x551, 0x64d, 0x551, 0x459, 0x362, 0x459, 0x362, 0x2f6, 0x206, 0x2f6, -0x206, 0x2f6, 0x206, 0x19b, 0xb6, 0x19b, 0xb6, 0xfe1e, 0xfd47, 0xfe1e, 0xfd47, -0xfca4, 0xfbdd, 0xfca4, 0xfbdd, 0xfa5b, 0xf9a8, 0xfa5b, 0xf9a8, 0xf84e, 0xf7b0, 0xf84e, -0xf7b0, 0xf6e0, 0xf659, 0xf6e0, 0xf659, 0xf6e0, 0xf659, 0xf49b, 0xf42d, 0xf49b, 0xf42d, -0xf200, 0xf1ac, 0xf200, 0xf1ac, 0xf162, 0xf128, 0xf162, 0xf128, 0xf013, 0xeff3, 0xf013, -0xeff3, 0xee3f, 0xee39, 0xee3f, 0xee39, 0xee19, 0xee2d, 0xee19, 0xee2d, 0xee19, 0xee2d, -0xeced, 0xed18, 0xeced, 0xed18, 0xeb9f, 0xebe1, 0xeb9f, 0xebe1, 0xeb53, 0xeba9, 0xeb53, -0xeba9, 0xeaff, 0xeb66, 0xeaff, 0xeb66, 0xe8a8, 0xe91d, 0xe8a8, 0xe91d, 0xe8a8, 0xe91d, -0xe874, 0xe8f3, 0xe874, 0xe8f3, 0xe85f, 0xe8e4, 0xe85f, 0xe8e4, 0xe85c, 0xe8e3, 0xe85c, -0xe8e3, 0xe98f, 0xea14, 0xe98f, 0xea14, 0xea02, 0xea80, 0xea02, 0xea80, 0xea19, 0xea8c, -0xea19, 0xea8c, 0xea19, 0xea8c, 0xebca, 0xec2e, 0xebca, 0xec2e, 0xec32, 0xec83, 0xec32, -0xec83, 0xed5e, 0xed99, 0xed5e, 0xed99, 0xefd4, 0xeff6, 0xefd4, 0xeff6, 0xf0ec, 0xf0f3, -0xf0ec, 0xf0f3, 0xf2d9, 0xf2c4, 0xf2d9, 0xf2c4, 0xf2d9, 0xf2c4, 0xf61f, 0xf5ee, 0xf61f, -0xf5ee, 0xf850, 0xf804, 0xf850, 0xf804, 0xfa7f, 0xfa19, 0xfa7f, 0xfa19, 0xfd60, 0xfce3, -0xfd60, 0xfce3, 0xfd57, 0xfcc7, 0xfd57, 0xfcc7, 0xfd57, 0xfcc7, 0xffae, 0xff0f, 0xffae, -0xff0f, 0x20d, 0x164, 0x20d, 0x164, 0x27c, 0x1cf, 0x27c, 0x1cf, 0x36f, 0x2c5, -0x36f, 0x2c5, 0x5bb, 0x51b, 0x5bb, 0x51b, 0x60b, 0x57b, 0x60b, 0x57b, 0x60b, -0x57b, 0x6f7, 0x67f, 0x6f7, 0x67f, 0x803, 0x7a9, 0x803, 0x7a9, 0x752, 0x71c, -0x752, 0x71c, 0x7da, 0x7d0, 0x7da, 0x7d0, 0x8b5, 0x8da, 0x8b5, 0x8da, 0x859, -0x8b4, 0x859, 0x8b4, 0x859, 0x8b4, 0x691, 0x725, 0x691, 0x725, 0x6ec, 0x7bd, -0x6ec, 0x7bd, 0x67b, 0x78b, 0x67b, 0x78b, 0x67f, 0x7d0, 0x67f, 0x7d0, 0x6ba, -0x84d, 0x6ba, 0x84d, 0x6ba, 0x84d, 0x5ed, 0x7c3, 0x5ed, 0x7c3, 0x4c0, 0x6d9, -0x4c0, 0x6d9, 0x411, 0x66c, 0x411, 0x66c, 0x299, 0x535, 0x299, 0x535, 0x210, -0x4ec, 0x210, 0x4ec, 0xffc7, 0x2e1, 0xffc7, 0x2e1, 0xffc7, 0x2e1, 0xfd4a, 0xa1, -0xfd4a, 0xa1, 0xfc6c, 0xfffe, 0xfc6c, 0xfffe, 0xfa2a, 0xfdf4, 0xfa2a, 0xfdf4, 0xf9d0, -0xfdd0, 0xf9d0, 0xfdd0, 0xf9ab, 0xfddf, 0xf9ab, 0xfddf, 0xf8b8, 0xfd1b, 0xf8b8, 0xfd1b, -0xf8b8, 0xfd1b, 0xf6da, 0xfb6b, 0xf6da, 0xfb6b, 0xf671, 0xfb2c, 0xf671, 0xfb2c, 0xf46a, -0xf94a, 0xf46a, 0xf94a, 0xf2a0, 0xf7a1, 0xf2a0, 0xf7a1, 0xf190, 0xf6ac, 0xf190, 0xf6ac, -0xf190, 0xf6ac, 0xeedf, 0xf411, 0xeedf, 0xf411, 0xec7a, 0xf1bb, 0xec7a, 0xf1bb, 0xec0a, -0xf154, 0xec0a, 0xf154, 0xea4c, 0xef98, 0xea4c, 0xef98, 0xe6c6, 0xec0c, 0xe6c6, 0xec0c, -0xe513, 0xea4b, 0xe513, 0xea4b, 0xe513, 0xea4b, 0xe34c, 0xe870, 0xe34c, 0xe870, 0xe193, -0xe69a, 0xe193, 0xe69a, 0xe113, 0xe5f7, 0xe113, 0xe5f7, 0xdf69, 0xe424, 0xdf69, 0xe424, -0xdd0f, 0xe19b, 0xdd0f, 0xe19b, 0xdd0f, 0xe169, 0xdd0f, 0xe169, 0xdd0f, 0xe169, 0xdc7f, -0xe0a4, 0xdc7f, 0xe0a4, 0xdc7f, 0xe06d, 0xdc7f, 0xe06d, 0xdc97, 0xe04e, 0xdc97, 0xe04e, -0xdcad, 0xe030, 0xdcad, 0xe030, 0xdc8c, 0xdfdd, 0xdc8c, 0xdfdd, 0xdc8c, 0xdfdd, 0xddcb, -0xe0f0, 0xddcb, 0xe0f0, 0xde38, 0xe136, 0xde38, 0xe136, 0xddba, 0xe099, 0xddba, 0xe099, -0xddeb, 0xe0b1, 0xddeb, 0xe0b1, 0xdcf7, 0xdfae, 0xdcf7, 0xdfae, 0xdcfb, 0xdfac, 0xdcfb, -0xdfac, 0xdcfb, 0xdfac, 0xde15, 0xe0c7, 0xde15, 0xe0c7, 0xddc8, 0xe084, 0xddc8, 0xe084, -0xddbc, 0xe089, 0xddbc, 0xe089, 0xdfbb, 0xe29e, 0xdfbb, 0xe29e, 0xded1, 0xe1ce, 0xded1, -0xe1ce, 0xdf70, 0xe289, 0xdf70, 0xe289, 0xdf70, 0xe289, 0xe078, 0xe3ae, 0xe078, 0xe3ae, -0xe06a, 0xe3bb, 0xe06a, 0xe3bb, 0xe1f5, 0xe55c, 0xe1f5, 0xe55c, 0xe4e0, 0xe858, 0xe4e0, -0xe858, 0xe53a, 0xe8bb, 0xe53a, 0xe8bb, 0xe53a, 0xe8bb, 0xe586, 0xe907, 0xe586, 0xe907, -0xe7bd, 0xeb33, 0xe7bd, 0xeb33, 0xe863, 0xebc2, 0xe863, 0xebc2, 0xe9f4, 0xed2f, 0xe9f4, -0xed2f, 0xec39, 0xef46, 0xec39, 0xef46, 0xedb8, 0xf088, 0xedb8, 0xf088, 0xedb8, 0xf088, -0xef87, 0xf210, 0xef87, 0xf210, 0xf2f4, 0xf52b, 0xf2f4, 0xf52b, 0xf59a, 0xf778, 0xf59a, -0xf778, 0xf931, 0xfaad, 0xf931, 0xfaad, 0xfb16, 0xfc2a, 0xfb16, 0xfc2a, 0xfcd5, 0xfd80, -0xfcd5, 0xfd80, 0xfcd5, 0xfd80, 0xffe5, 0x25, 0xffe5, 0x25, 0x337, 0x30e, 0x337, -0x30e, 0x64a, 0x5ba, 0x64a, 0x5ba, 0x92d, 0x83c, 0x92d, 0x83c, 0xad8, 0x98d, -0xad8, 0x98d, 0xad8, 0x98d, 0xc92, 0xaf5, 0xc92, 0xaf5, 0xf47, 0xd60, 0xf47, -0xd60, 0x101a, 0xdf3, 0x101a, 0xdf3, 0x11d5, 0xf78, 0x11d5, 0xf78, 0x135d, 0x10d4, -0x135d, 0x10d4, 0x13ff, 0x1153, 0x13ff, 0x1153, 0x13ff, 0x1153, 0x13f9, 0x1133, 0x13f9, -0x1133, 0x167b, 0x13a2, 0x167b, 0x13a2, 0x16f3, 0x140f, 0x16f3, 0x140f, 0x15a3, 0x12ba, -0x15a3, 0x12ba, 0x1647, 0x135d, 0x1647, 0x135d, 0x1647, 0x135d, 0x1661, 0x137b, 0x1661, -0x137b, 0x16a9, 0x13c9, 0x16a9, 0x13c9, 0x1780, 0x14a9, 0x1780, 0x14a9, 0x164f, 0x1383, -0x164f, 0x1383, 0x14f3, 0x1234, 0x14f3, 0x1234, 0x153b, 0x128b, 0x153b, 0x128b, 0x153b, -0x128b, 0x1477, 0x11d8, 0x1477, 0x11d8, 0x1373, 0x10e7, 0x1373, 0x10e7, 0x1318, 0x10a3, -0x1318, 0x10a3, 0x1297, 0x103c, 0x1297, 0x103c, 0x1167, 0xf2b, 0x1167, 0xf2b, 0x11f5, -0xfdc, 0x11f5, 0xfdc, 0x11f5, 0xfdc, 0x1129, 0xf38, 0x1129, 0xf38, 0x1087, 0xec5, -0x1087, 0xec5, 0xf53, 0xdc6, 0xf53, 0xdc6, 0xd72, 0xc20, 0xd72, 0xc20, 0xc6e, -0xb5c, 0xc6e, 0xb5c, 0xc6e, 0xb5c, 0xb0a, 0xa3d, 0xb0a, 0xa3d, 0x925, 0x8a0, -0x925, 0x8a0, 0x893, 0x858, 0x893, 0x858, 0x862, 0x871, 0x862, 0x871, 0x705, -0x75d, 0x705, 0x75d, 0x6d2, 0x76e, 0x6d2, 0x76e, 0x6d2, 0x76e, 0x5a1, 0x67d, -0x5a1, 0x67d, 0x388, 0x49a, 0x388, 0x49a, 0x1f0, 0x330, 0x1f0, 0x330, 0x200, -0x361, 0x200, 0x361, 0xff92, 0x108, 0xff92, 0x108, 0xfe29, 0xffa5, 0xfe29, 0xffa5, -0xfe29, 0xffa5, 0xfe2b, 0xff9f, 0xfe2b, 0xff9f, 0xfcd3, 0xfe30, 0xfcd3, 0xfe30, 0xfcbd, -0xfdf4, 0xfcbd, 0xfdf4, 0xfcff, 0xfe04, 0xfcff, 0xfe04, 0xfb4c, 0xfc11, 0xfb4c, 0xfc11, -0xfb4c, 0xfc11, 0xfbef, 0xfc6c, 0xfbef, 0xfc6c, 0xfd70, 0xfd9c, 0xfd70, 0xfd9c, 0xfdb6, -0xfd8c, 0xfdb6, 0xfd8c, 0, 0xff7f, 0, 0xff7f, 0x82, 0xffaa, 0x82, 0xffaa, -0x1f5, 0xcb, 0x1f5, 0xcb, 0x1f5, 0xcb, 0x3ca, 0x253, 0x3ca, 0x253, 0x5ac, -0x3f3, 0x5ac, 0x3f3, 0x707, 0x517, 0x707, 0x517, 0x7b0, 0x598, 0x7b0, 0x598, -0x745, 0x513, 0x745, 0x513, 0x709, 0x4cd, 0x709, 0x4cd, 0x709, 0x4cd, 0x6fa, -0x4c4, 0x6fa, 0x4c4, 0x667, 0x447, 0x667, 0x447, 0x560, 0x365, 0x560, 0x365, -0x440, 0x277, 0x440, 0x277, 0x2c7, 0x13b, 0x2c7, 0x13b, 0x2c7, 0x13b, 0x116, -0xffd0, 0x116, 0xffd0, 0x144, 0x4b, 0x144, 0x4b, 0xff34, 0xfe8b, 0xff34, 0xfe8b, -0xfcb0, 0xfc58, 0xfcb0, 0xfc58, 0xfa65, 0xfa5c, 0xfa65, 0xfa5c, 0xf86a, 0xf8aa, 0xf86a, -0xf8aa, 0xf86a, 0xf8aa, 0xf7ad, 0xf82f, 0xf7ad, 0xf82f, 0xf7b7, 0xf872, 0xf7b7, 0xf872, -0xf58e, 0xf676, 0xf58e, 0xf676, 0xf3f1, 0xf4fa, 0xf3f1, 0xf4fa, 0xf3ae, 0xf4cb, 0xf3ae, -0xf4cb, 0xf38d, 0xf4b0, 0xf38d, 0xf4b0, 0xf38d, 0xf4b0, 0xf34f, 0xf46d, 0xf34f, 0xf46d, -0xf2e3, 0xf3ee, 0xf2e3, 0xf3ee, 0xf2bd, 0xf3a9, 0xf2bd, 0xf3a9, 0xf31f, 0xf3e3, 0xf31f, -0xf3e3, 0xf457, 0xf4ea, 0xf457, 0xf4ea, 0xf457, 0xf4ea, 0xf4d8, 0xf535, 0xf4d8, 0xf535, -0xf65b, 0xf67d, 0xf65b, 0xf67d, 0xf6ea, 0xf6ce, 0xf6ea, 0xf6ce, 0xf7dd, 0xf782, 0xf7dd, -0xf782, 0xf85e, 0xf7c4, 0xf85e, 0xf7c4, 0xf910, 0xf83a, 0xf910, 0xf83a, 0xf910, 0xf83a, -0xf9af, 0xf89f, 0xf9af, 0xf89f, 0xfb9c, 0xfa55, 0xfb9c, 0xfa55, 0xfca4, 0xfb2a, 0xfca4, -0xfb2a, 0xfd61, 0xfbb8, 0xfd61, 0xfbb8, 0xffbb, 0xfde7, 0xffbb, 0xfde7, 0x138, 0xff3b, -0x138, 0xff3b, 0x138, 0xff3b, 0x2cc, 0xa7, 0x2cc, 0xa7, 0x3c9, 0x17f, 0x3c9, -0x17f, 0x538, 0x2c8, 0x538, 0x2c8, 0x5cf, 0x339, 0x5cf, 0x339, 0x6fa, 0x43d, -0x6fa, 0x43d, 0x6fa, 0x43d, 0x92b, 0x644, 0x92b, 0x644, 0xa36, 0x723, 0xa36, -0x723, 0xb9e, 0x85c, 0xb9e, 0x85c, 0xefe, 0xb8a, 0xefe, 0xb8a, 0xf50, 0xba9, -0xf50, 0xba9, 0x112b, 0xd4d, 0x112b, 0xd4d, 0x112b, 0xd4d, 0x1379, 0xf63, 0x1379, -0xf63, 0x1485, 0x1038, 0x1485, 0x1038, 0x16c6, 0x1243, 0x16c6, 0x1243, 0x17e9, 0x1332, -0x17e9, 0x1332, 0x18e2, 0x13fd, 0x18e2, 0x13fd, 0x1b7c, 0x166c, 0x1b7c, 0x166c, 0x1b7c, -0x166c, 0x1e1a, 0x18e7, 0x1e1a, 0x18e7, 0x1ed4, 0x1986, 0x1ed4, 0x1986, 0x2013, 0x1ab4, -0x2013, 0x1ab4, 0x2135, 0x1bcf, 0x2135, 0x1bcf, 0x2338, 0x1dd5, 0x2338, 0x1dd5, 0x2338, -0x1dd5, 0x237e, 0x1e28, 0x237e, 0x1e28, 0x2439, 0x1efc, 0x2439, 0x1efc, 0x2408, 0x1eed, -0x2408, 0x1eed, 0x23e3, 0x1ef4, 0x23e3, 0x1ef4, 0x2486, 0x1fcb, 0x2486, 0x1fcb, 0x2417, -0x1f99, 0x2417, 0x1f99, 0x2417, 0x1f99, 0x2440, 0x2004, 0x2440, 0x2004, 0x23dd, 0x1fe7, -0x23dd, 0x1fe7, 0x22cd, 0x1f20, 0x22cd, 0x1f20, 0x2274, 0x1f12, 0x2274, 0x1f12, 0x21b7, -0x1e9f, 0x21b7, 0x1e9f, 0x20c8, 0x1df8, 0x20c8, 0x1df8, 0x20c8, 0x1df8, 0x2004, 0x1d7b, -0x2004, 0x1d7b, 0x1da7, 0x1b61, 0x1da7, 0x1b61, 0x1cd8, 0x1ad0, 0x1cd8, 0x1ad0, 0x1b6c, -0x199e, 0x1b6c, 0x199e, 0x1ae9, 0x1950, 0x1ae9, 0x1950, 0x1ae9, 0x1950, 0x1986, 0x181d, -0x1986, 0x181d, 0x17c9, 0x168a, 0x17c9, 0x168a, 0x15b1, 0x149a, 0x15b1, 0x149a, 0x13bd, -0x12c8, 0x13bd, 0x12c8, 0x12d7, 0x1203, 0x12d7, 0x1203, 0x1107, 0x1052, 0x1107, 0x1052, -0x1107, 0x1052, 0xed9, 0xe40, 0xed9, 0xe40, 0xd6f, 0xcf4, 0xd6f, 0xcf4, 0xc9e, -0xc41, 0xc9e, 0xc41, 0xbb1, 0xb73, 0xbb1, 0xb73, 0xa91, 0xa73, 0xa91, 0xa73, -0x852, 0x858, 0x852, 0x858, 0x852, 0x858, 0x84d, 0x879, 0x84d, 0x879, 0x6d8, -0x72c, 0x6d8, 0x72c, 0x546, 0x5c6, 0x546, 0x5c6, 0x372, 0x421, 0x372, 0x421, -0x1e4, 0x2c3, 0x1e4, 0x2c3, 0x1e4, 0x2c3, 0x8b, 0x19b, 0x8b, 0x19b, 0xfeeb, -0x2f, 0xfeeb, 0x2f, 0xfd21, 0xfe98, 0xfd21, 0xfe98, 0xfa95, 0xfc3f, 0xfa95, 0xfc3f, -0xf86f, 0xfa4b, 0xf86f, 0xfa4b, 0xf702, 0xf90e, 0xf702, 0xf90e, 0xf702, 0xf90e, 0xf4da, -0xf714, 0xf4da, 0xf714, 0xf26d, 0xf4d1, 0xf26d, 0xf4d1, 0xf1e7, 0xf471, 0xf1e7, 0xf471, -0xf010, 0xf2bd, 0xf010, 0xf2bd, 0xef6a, 0xf234, 0xef6a, 0xf234, 0xef6a, 0xf234, 0xee71, -0xf153, 0xee71, 0xf153, 0xedef, 0xf0e4, 0xedef, 0xf0e4, 0xeda3, 0xf0a4, 0xeda3, 0xf0a4, -0xec8f, 0xef96, 0xec8f, 0xef96, 0xeacc, 0xedd3, 0xeacc, 0xedd3, 0xea52, 0xed53, 0xea52, -0xed53, 0xea52, 0xed53, 0xeb5f, 0xee53, 0xeb5f, 0xee53, 0xeb2f, 0xee11, 0xeb2f, 0xee11, -0xea38, 0xed02, 0xea38, 0xed02, 0xeaac, 0xed58, 0xeaac, 0xed58, 0xeb5e, 0xede7, 0xeb5e, -0xede7, 0xec60, 0xeec1, 0xec60, 0xeec1, 0xec60, 0xeec1, 0xee06, 0xf03a, 0xee06, 0xf03a, -0xedcf, 0xefd1, 0xedcf, 0xefd1, 0xef0a, 0xf0d6, 0xef0a, 0xf0d6, 0xf08b, 0xf220, 0xf08b, -0xf220, 0xf25a, 0xf3b4, 0xf25a, 0xf3b4, 0xf25a, 0xf3b4, 0xf393, 0xf4b0, 0xf393, 0xf4b0, -0xf57c, 0xf65c, 0xf57c, 0xf65c, 0xf775, 0xf818, 0xf775, 0xf818, 0xf9d0, 0xfa36, 0xf9d0, -0xfa36, 0xfc56, 0xfc81, 0xfc56, 0xfc81, 0xfed1, 0xfec2, 0xfed1, 0xfec2, 0xfed1, 0xfec2, -0xa6, 0x63, 0xa6, 0x63, 0x273, 0x1ff, 0x273, 0x1ff, 0x4ab, 0x40b, 0x4ab, -0x40b, 0x5cc, 0x506, 0x5cc, 0x506, 0x6eb, 0x606, 0x6eb, 0x606, 0x759, 0x65c, -0x759, 0x65c, 0x759, 0x65c, 0x841, 0x732, 0x841, 0x732, 0x844, 0x72c, 0x844, -0x72c, 0x931, 0x818, 0x931, 0x818, 0x983, 0x870, 0x983, 0x870, 0x9a5, 0x8a0, -0x9a5, 0x8a0, 0x9a5, 0x8a0, 0x926, 0x836, 0x926, 0x836, 0x884, 0x7b0, 0x884, -0x7b0, 0x7a3, 0x6f2, 0x7a3, 0x6f2, 0x7c3, 0x73a, 0x7c3, 0x73a, 0x77c, 0x721, -0x77c, 0x721, 0x5bd, 0x594, 0x5bd, 0x594, 0x5bd, 0x594, 0x4dd, 0x4eb, 0x4dd, -0x4eb, 0x3fb, 0x443, 0x3fb, 0x443, 0x382, 0x406, 0x382, 0x406, 0x1eb, 0x2ae, -0x1eb, 0x2ae, 0x24, 0x128, 0x24, 0x128, 0xfe11, 0xff57, 0xfe11, 0xff57, 0xfe11, -0xff57, 0xfd70, 0xfef9, 0xfd70, 0xfef9, 0xfc44, 0xfe11, 0xfc44, 0xfe11, 0xfa80, 0xfc90, -0xfa80, 0xfc90, 0xf874, 0xfac9, 0xf874, 0xfac9, 0xf834, 0xfacc, 0xf834, 0xfacc, 0xf834, -0xfacc, 0xf7b5, 0xfa91, 0xf7b5, 0xfa91, 0xf67c, 0xf99a, 0xf67c, 0xf99a, 0xf577, 0xf8d6, -0xf577, 0xf8d6, 0xf40a, 0xf7a8, 0xf40a, 0xf7a8, 0xf331, 0xf70c, 0xf331, 0xf70c, 0xf1dc, -0xf5f1, 0xf1dc, 0xf5f1, 0xf1dc, 0xf5f1, 0xf117, 0xf562, 0xf117, 0xf562, 0xef55, 0xf3d3, -0xef55, 0xf3d3, 0xede4, 0xf290, 0xede4, 0xf290, 0xec4a, 0xf11e, 0xec4a, 0xf11e, 0xeaba, -0xefb0, 0xeaba, 0xefb0, 0xe953, 0xee64, 0xe953, 0xee64, 0xe953, 0xee64, 0xe811, 0xed36, -0xe811, 0xed36, 0xe5d0, 0xeb01, 0xe5d0, 0xeb01, 0xe45f, 0xe993, 0xe45f, 0xe993, 0xe2ad, -0xe7dc, 0xe2ad, 0xe7dc, 0xe18a, 0xe6ac, 0xe18a, 0xe6ac, 0xe18a, 0xe6ac, 0xe17f, 0xe68c, -0xe17f, 0xe68c, 0xe062, 0xe551, 0xe062, 0xe551, 0xdfbe, 0xe489, 0xdfbe, 0xe489, 0xdfb6, -0xe455, 0xdfb6, 0xe455, 0xe010, 0xe47e, 0xe010, 0xe47e, 0xe029, 0xe461, 0xe029, 0xe461, -0xe029, 0xe461, 0xdfc2, 0xe3c1, 0xdfc2, 0xe3c1, 0xdf2f, 0xe2f3, 0xdf2f, 0xe2f3, 0xdf49, -0xe2d1, 0xdf49, 0xe2d1, 0xdf98, 0xe2e3, 0xdf98, 0xe2e3, 0xe12e, 0xe43f, 0xe12e, 0xe43f, -0xe0d8, 0xe3af, 0xe0d8, 0xe3af, 0xe0d8, 0xe3af, 0xe189, 0xe42a, 0xe189, 0xe42a, 0xe231, -0xe49e, 0xe231, 0xe49e, 0xe223, 0xe461, 0xe223, 0xe461, 0xe2b9, 0xe4cb, 0xe2b9, 0xe4cb, -0xe2a2, 0xe48d, 0xe2a2, 0xe48d, 0xe2a2, 0xe48d, 0xe304, 0xe4ca, 0xe304, 0xe4ca, 0xe3b8, -0xe55c, 0xe3b8, 0xe55c, 0xe500, 0xe682, 0xe500, 0xe682, 0xe575, 0xe6d9, 0xe575, 0xe6d9, -0xe633, 0xe777, 0xe633, 0xe777, 0xe7d0, 0xe8f4, 0xe7d0, 0xe8f4, 0xe7d0, 0xe8f4, 0xe910, -0xea12, 0xe910, 0xea12, 0xe971, 0xea4f, 0xe971, 0xea4f, 0xeaa7, 0xeb5d, 0xeaa7, 0xeb5d, -0xea20, 0xeaab, 0xea20, 0xeaab, 0xeb27, 0xeb83, 0xeb27, 0xeb83, 0xec8e, 0xecb6, 0xec8e, -0xecb6, 0xec8e, 0xecb6, 0xee19, 0xee0a, 0xee19, 0xee0a, 0xf0b4, 0xf06a, 0xf0b4, 0xf06a, -0xf2d7, 0xf250, 0xf2d7, 0xf250, 0xf571, 0xf4ab, 0xf571, 0xf4ab, 0xf74a, 0xf643, 0xf74a, -0xf643, 0xf74a, 0xf643, 0xf9c8, 0xf882, 0xf9c8, 0xf882, 0xfcc9, 0xfb45, 0xfcc9, 0xfb45, -0xff29, 0xfd6b, 0xff29, 0xfd6b, 0xb7, 0xfec2, 0xb7, 0xfec2, 0x342, 0x11c, 0x342, -0x11c, 0x56e, 0x31e, 0x56e, 0x31e, 0x56e, 0x31e, 0x87e, 0x609, 0x87e, 0x609, -0xa05, 0x775, 0xa05, 0x775, 0xb79, 0x8d4, 0xb79, 0x8d4, 0xd07, 0xa55, 0xd07, -0xa55, 0xef6, 0xc3e, 0xef6, 0xc3e, 0x1205, 0xf4e, 0x1205, 0xf4e, 0x1205, 0xf4e, -0x12b4, 0x1003, 0x12b4, 0x1003, 0x136e, 0x10c8, 0x136e, 0x10c8, 0x14a5, 0x120e, 0x14a5, -0x120e, 0x1530, 0x12a9, 0x1530, 0x12a9, 0x15e0, 0x136c, 0x15e0, 0x136c, 0x15e0, 0x136c, -0x163c, 0x13da, 0x163c, 0x13da, 0x15be, 0x136d, 0x15be, 0x136d, 0x1637, 0x13f5, 0x1637, -0x13f5, 0x15fb, 0x13c6, 0x15fb, 0x13c6, 0x15d2, 0x13a9, 0x15d2, 0x13a9, 0x14e9, 0x12c8, -0x14e9, 0x12c8, 0x14e9, 0x12c8, 0x14ec, 0x12d1, 0x14ec, 0x12d1, 0x13d2, 0x11bb, 0x13d2, -0x11bb, 0x126c, 0x1059, 0x126c, 0x1059, 0x12cd, 0x10be, 0x12cd, 0x10be, 0x11ed, 0xfe3, -0x11ed, 0xfe3, 0x11a6, 0xfa5, 0x11a6, 0xfa5, 0x11a6, 0xfa5, 0x10c0, 0xecb, 0x10c0, -0xecb, 0xef3, 0xd10, 0xef3, 0xd10, 0xebf, 0xcf4, 0xebf, 0xcf4, 0xe25, 0xc79, -0xe25, 0xc79, 0xc6f, 0xaea, 0xc6f, 0xaea, 0xc6f, 0xaea, 0xba7, 0xa51, 0xba7, -0xa51, 0xa16, 0x8f6, 0xa16, 0x8f6, 0x9b2, 0x8ce, 0x9b2, 0x8ce, 0x8d9, 0x838, -0x8d9, 0x838, 0x7ae, 0x754, 0x7ae, 0x754, 0x5ff, 0x5ef, 0x5ff, 0x5ef, 0x5ff, -0x5ef, 0x4d9, 0x514, 0x4d9, 0x514, 0x460, 0x4e4, 0x460, 0x4e4, 0x2da, 0x3a4, -0x2da, 0x3a4, 0x19d, 0x2a7, 0x19d, 0x2a7, 0xa3, 0x1e4, 0xa3, 0x1e4, 0xa3, -0x1e4, 0xfefe, 0x6e, 0xfefe, 0x6e, 0xfdcb, 0xff5c, 0xfdcb, 0xff5c, 0xfd09, 0xfeb0, -0xfd09, 0xfeb0, 0xfa98, 0xfc45, 0xfa98, 0xfc45, 0xfa4a, 0xfbf0, 0xfa4a, 0xfbf0, 0xfa16, -0xfba6, 0xfa16, 0xfba6, 0xfa16, 0xfba6, 0xf99d, 0xfb0b, 0xf99d, 0xfb0b, 0xf907, 0xfa45, -0xf907, 0xfa45, 0xf968, 0xfa6c, 0xf968, 0xfa6c, 0xfa7e, 0xfb3f, 0xfa7e, 0xfb3f, 0xfc65, -0xfcde, 0xfc65, 0xfcde, 0xfe9a, 0xfec8, 0xfe9a, 0xfec8, 0xfe9a, 0xfec8, 0xffb0, 0xff91, -0xffb0, 0xff91, 0xfc, 0x94, 0xfc, 0x94, 0x246, 0x199, 0x246, 0x199, 0x324, -0x23a, 0x324, 0x23a, 0x3ca, 0x2ad, 0x3ca, 0x2ad, 0x3ca, 0x2ad, 0x4a2, 0x35d, -0x4a2, 0x35d, 0x44d, 0x2ed, 0x44d, 0x2ed, 0x4b2, 0x346, 0x4b2, 0x346, 0x3b2, -0x246, 0x3b2, 0x246, 0x403, 0x2a6, 0x403, 0x2a6, 0x54d, 0x40b, 0x54d, 0x40b, -0x54d, 0x40b, 0x4a7, 0x38c, 0x4a7, 0x38c, 0x34b, 0x260, 0x34b, 0x260, 0x24e, -0x199, 0x24e, 0x199, 0x115, 0x9d, 0x115, 0x9d, 0xbb, 0x7f, 0xbb, 0x7f, -0xffa7, 0xffa8, 0xffa7, 0xffa8, 0xffa7, 0xffa8, 0xfd24, 0xfd5e, 0xfd24, 0xfd5e, 0xfc27, -0xfc94, 0xfc27, 0xfc94, 0xfb83, 0xfc1a, 0xfb83, 0xfc1a, 0xfb14, 0xfbcc, 0xfb14, 0xfbcc, -0xf95d, 0xfa2a, 0xf95d, 0xfa2a, 0xf95d, 0xfa2a, 0xf900, 0xf9d6, 0xf900, 0xf9d6, 0xf808, -0xf8da, 0xf808, 0xf8da, 0xf726, 0xf7e7, 0xf726, 0xf7e7, 0xf778, 0xf81d, 0xf778, 0xf81d, -0xf6eb, 0xf769, 0xf6eb, 0xf769, 0xf6d4, 0xf721, 0xf6d4, 0xf721, 0xf6d4, 0xf721, 0xf824, -0xf838, 0xf824, 0xf838, 0xf819, 0xf7ef, 0xf819, 0xf7ef, 0xf902, 0xf896, 0xf902, 0xf896, -0xfaaa, 0xf9fb, 0xfaaa, 0xf9fb, 0xfaa7, 0xf9b6, 0xfaa7, 0xf9b6, 0xfbf0, 0xfabf, 0xfbf0, -0xfabf, 0xfbf0, 0xfabf, 0xfc3d, 0xfad0, 0xfc3d, 0xfad0, 0xfca2, 0xfb00, 0xfca2, 0xfb00, -0xfe1c, 0xfc4c, 0xfe1c, 0xfc4c, 0xff4f, 0xfd58, 0xff4f, 0xfd58, 0xffbe, 0xfda9, 0xffbe, -0xfda9, 0xffbe, 0xfda9, 0x11b, 0xfeee, 0x11b, 0xfeee, 0x253, 0x16, 0x253, 0x16, -0x34b, 0x104, 0x34b, 0x104, 0x494, 0x248, 0x494, 0x248, 0x5f6, 0x3a9, 0x5f6, -0x3a9, 0x565, 0x319, 0x565, 0x319, 0x565, 0x319, 0x703, 0x4b9, 0x703, 0x4b9, -0x873, 0x62a, 0x873, 0x62a, 0x7f9, 0x5af, 0x7f9, 0x5af, 0xa40, 0x7f3, 0xa40, -0x7f3, 0xb2d, 0x8d8, 0xb2d, 0x8d8, 0xc29, 0x9c7, 0xc29, 0x9c7, 0xc29, 0x9c7, -0xd5a, 0xae7, 0xd5a, 0xae7, 0xe96, 0xc0d, 0xe96, 0xc0d, 0xf8e, 0xcea, 0xf8e, -0xcea, 0x1183, 0xec0, 0x1183, 0xec0, 0x132f, 0x104b, 0x132f, 0x104b, 0x132f, 0x104b, -0x1416, 0x110f, 0x1416, 0x110f, 0x1572, 0x1248, 0x1572, 0x1248, 0x17ec, 0x14a0, 0x17ec, -0x14a0, 0x1967, 0x15fb, 0x1967, 0x15fb, 0x1b39, 0x17b3, 0x1b39, 0x17b3, 0x1c98, 0x18fc, -0x1c98, 0x18fc, 0x1c98, 0x18fc, 0x1ceb, 0x1940, 0x1ceb, 0x1940, 0x1efb, 0x1b48, 0x1efb, -0x1b48, 0x1fad, 0x1bfb, 0x1fad, 0x1bfb, 0x20c3, 0x1d1b, 0x20c3, 0x1d1b, 0x2198, 0x1e02, -0x2198, 0x1e02, 0x217c, 0x1e00, 0x217c, 0x1e00, 0x217c, 0x1e00, 0x219e, 0x1e44, 0x219e, -0x1e44, 0x22aa, 0x1f7a, 0x22aa, 0x1f7a, 0x2276, 0x1f75, 0x2276, 0x1f75, 0x22ef, 0x2022, -0x22ef, 0x2022, 0x2298, 0x2001, 0x2298, 0x2001, 0x2298, 0x2001, 0x2184, 0x1f24, 0x2184, -0x1f24, 0x2095, 0x1e6e, 0x2095, 0x1e6e, 0x2031, 0x1e40, 0x2031, 0x1e40, 0x1f90, 0x1dd3, -0x1f90, 0x1dd3, 0x1e4f, 0x1cc1, 0x1e4f, 0x1cc1, 0x1e1d, 0x1cb9, 0x1e1d, 0x1cb9, 0x1e1d, -0x1cb9, 0x1bec, 0x1aac, 0x1bec, 0x1aac, 0x1af7, 0x19d5, 0x1af7, 0x19d5, 0x1a0f, 0x1904, -0x1a0f, 0x1904, 0x1758, 0x165d, 0x1758, 0x165d, 0x144a, 0x1358, 0x144a, 0x1358, 0x11c7, -0x10d8, 0x11c7, 0x10d8, 0x11c7, 0x10d8, 0xf8d, 0xe9c, 0xf8d, 0xe9c, 0xf14, 0xe1e, -0xf14, 0xe1e, 0xe42, 0xd42, 0xe42, 0xd42, 0xd88, 0xc7d, 0xd88, 0xc7d, 0xceb, -0xbd3, 0xceb, 0xbd3, 0xceb, 0xbd3, 0xc42, 0xb1f, 0xc42, 0xb1f, 0xad2, 0x9a4, -0xad2, 0x9a4, 0x933, 0x7ff, 0x933, 0x7ff, 0x80a, 0x6d3, 0x80a, 0x6d3, 0x5a4, -0x46f, 0x5a4, 0x46f, 0x543, 0x415, 0x543, 0x415, 0x543, 0x415, 0x3f9, 0x2d9, -0x3f9, 0x2d9, 0x209, 0xfc, 0x209, 0xfc, 0xfa, 0x7, 0xfa, 0x7, 0xfeef, -0xfe1c, 0xfeef, 0xfe1c, 0xfbde, 0xfb32, 0xfbde, 0xfb32, 0xfaf6, 0xfa75, 0xfaf6, 0xfa75, -0xfaf6, 0xfa75, 0xf899, 0xf849, 0xf899, 0xf849, 0xf5cc, 0xf5b0, 0xf5cc, 0xf5b0, 0xf480, -0xf49a, 0xf480, 0xf49a, 0xf348, 0xf39a, 0xf348, 0xf39a, 0xf165, 0xf1f0, 0xf165, 0xf1f0, -0xf165, 0xf1f0, 0xf06f, 0xf132, 0xf06f, 0xf132, 0xefbc, 0xf0b6, 0xefbc, 0xf0b6, 0xedb9, -0xeee6, 0xedb9, 0xeee6, 0xedbd, 0xef18, 0xedbd, 0xef18, 0xeccb, 0xee50, 0xeccb, 0xee50, -0xeaf6, 0xec9e, 0xeaf6, 0xec9e, 0xeaf6, 0xec9e, 0xea1c, 0xebdf, 0xea1c, 0xebdf, 0xe9c0, -0xeb98, 0xe9c0, 0xeb98, 0xe889, 0xea6d, 0xe889, 0xea6d, 0xe948, 0xeb30, 0xe948, 0xeb30, -0xe992, 0xeb74, 0xe992, 0xeb74, 0xea5d, 0xec31, 0xea5d, 0xec31, 0xea5d, 0xec31, 0xeb70, -0xed2e, 0xeb70, 0xed2e, 0xec3c, 0xeddd, 0xec3c, 0xeddd, 0xed6c, 0xeee9, 0xed6c, 0xeee9, -0xeec2, 0xf015, 0xeec2, 0xf015, 0xf074, 0xf198, 0xf074, 0xf198, 0xf074, 0xf198, 0xf1fe, -0xf2f0, 0xf1fe, 0xf2f0, 0xf504, 0xf5c1, 0xf504, 0xf5c1, 0xf744, 0xf7cb, 0xf744, 0xf7cb, -0xf9bb, 0xfa0d, 0xf9bb, 0xfa0d, 0xfb75, 0xfb93, 0xfb75, 0xfb93, 0xfdb3, 0xfda2, 0xfdb3, -0xfda2, 0xfdb3, 0xfda2, 0x6e, 0x32, 0x6e, 0x32, 0x370, 0x30e, 0x370, 0x30e, -0x481, 0x3ff, 0x481, 0x3ff, 0x5c6, 0x52c, 0x5c6, 0x52c, 0x749, 0x69f, 0x749, -0x69f, 0x749, 0x69f, 0x798, 0x6e6, 0x798, 0x6e6, 0x8af, 0x7fd, 0x8af, 0x7fd, -0x9ab, 0x902, 0x9ab, 0x902, 0x99b, 0x903, 0x99b, 0x903, 0x94c, 0x8cc, 0x94c, -0x8cc, 0x919, 0x8b8, 0x919, 0x8b8, 0x919, 0x8b8, 0x860, 0x823, 0x860, 0x823, -0x952, 0x93e, 0x952, 0x93e, 0x950, 0x969, 0x950, 0x969, 0x893, 0x8dc, 0x893, -0x8dc, 0x7eb, 0x865, 0x7eb, 0x865, 0x7d4, 0x881, 0x7d4, 0x881, 0x7d4, 0x881, -0x684, 0x762, 0x684, 0x762, 0x53d, 0x64d, 0x53d, 0x64d, 0x349, 0x488, 0x349, -0x488, 0x12c, 0x299, 0x12c, 0x299, 0x34, 0x1cd, 0x34, 0x1cd, 0x34, 0x1cd, -0xfed9, 0x9c, 0xfed9, 0x9c, 0xfd04, 0xfeef, 0xfd04, 0xfeef, 0xfc30, 0xfe41, 0xfc30, -0xfe41, 0xfb29, 0xfd5f, 0xfb29, 0xfd5f, 0xf8bb, 0xfb15, 0xf8bb, 0xfb15, 0xf884, 0xfb03, -0xf884, 0xfb03, 0xf884, 0xfb03, 0xf6c9, 0xf96c, 0xf6c9, 0xf96c, 0xf4c9, 0xf792, 0xf4c9, -0xf792, 0xf43c, 0xf72b, 0xf43c, 0xf72b, 0xf35a, 0xf670, 0xf35a, 0xf670, 0xf134, 0xf472, -0xf134, 0xf472, 0xf030, 0xf399, 0xf030, 0xf399, 0xf030, 0xf399, 0xeecc, 0xf25f, 0xeecc, -0xf25f, 0xeccd, 0xf08b, 0xeccd, 0xf08b, 0xebd5, 0xefbe, 0xebd5, 0xefbe, 0xeaa9, 0xeebc, -0xeaa9, 0xeebc, 0xe82e, 0xec69, 0xe82e, 0xec69, 0xe82e, 0xec69, 0xe72f, 0xeb8e, 0xe72f, -0xeb8e, 0xe612, 0xea91, 0xe612, 0xea91, 0xe2f4, 0xe78e, 0xe2f4, 0xe78e, 0xe1db, 0xe68a, -0xe1db, 0xe68a, 0xe043, 0xe4ff, 0xe043, 0xe4ff, 0xdfa6, 0xe468, 0xdfa6, 0xe468, 0xdfa6, -0xe468, 0xdf43, 0xe402, 0xdf43, 0xe402, 0xdf10, 0xe3c4, 0xdf10, 0xe3c4, 0xdee5, 0xe386, -0xdee5, 0xe386, 0xdf90, 0xe416, 0xdf90, 0xe416, 0xdfa5, 0xe409, 0xdfa5, 0xe409, 0xdf86, -0xe3c0, 0xdf86, 0xe3c0, 0xdf86, 0xe3c0, 0xdf92, 0xe39e, 0xdf92, 0xe39e, 0xdfce, 0xe3a7, -0xdfce, 0xe3a7, 0xe090, 0xe434, 0xe090, 0xe434, 0xe114, 0xe481, 0xe114, 0xe481, 0xe211, -0xe548, 0xe211, 0xe548, 0xe211, 0xe548, 0xe2d6, 0xe5d9, 0xe2d6, 0xe5d9, 0xe441, 0xe713, -0xe441, 0xe713, 0xe409, 0xe6ae, 0xe409, 0xe6ae, 0xe522, 0xe79f, 0xe522, 0xe79f, 0xe621, -0xe87b, 0xe621, 0xe87b, 0xe660, 0xe89d, 0xe660, 0xe89d, 0xe660, 0xe89d, 0xe78b, 0xe9b2, -0xe78b, 0xe9b2, 0xe82e, 0xea44, 0xe82e, 0xea44, 0xe7e1, 0xe9ea, 0xe7e1, 0xe9ea, 0xe93e, -0xeb3f, 0xe93e, 0xeb3f, 0xeaba, 0xecb4, 0xeaba, 0xecb4, 0xeb9a, 0xed8f, 0xeb9a, 0xed8f, -0xeb9a, 0xed8f, 0xeca8, 0xee99, 0xeca8, 0xee99, 0xed56, 0xef40, 0xed56, 0xef40, 0xedb7, -0xef98, 0xedb7, 0xef98, 0xee05, 0xefd8, 0xee05, 0xefd8, 0xef12, 0xf0d2, 0xef12, 0xf0d2, -0xef12, 0xf0d2, 0xeef8, 0xf09f, 0xeef8, 0xf09f, 0xf079, 0xf201, 0xf079, 0xf201, 0xf1ac, -0xf30d, 0xf1ac, 0xf30d, 0xf2c0, 0xf3f5, 0xf2c0, 0xf3f5, 0xf509, 0xf60b, 0xf509, 0xf60b, -0xf765, 0xf82f, 0xf765, 0xf82f, 0xf765, 0xf82f, 0xf949, 0xf9d8, 0xf949, 0xf9d8, 0xfc0b, -0xfc5c, 0xfc0b, 0xfc5c, 0xfe30, 0xfe40, 0xfe30, 0xfe40, 0x66, 0x37, 0x66, 0x37, -0x350, 0x2e4, 0x350, 0x2e4, 0x51d, 0x478, 0x51d, 0x478, 0x51d, 0x478, 0x62f, -0x556, 0x62f, 0x556, 0x766, 0x65f, 0x766, 0x65f, 0x950, 0x823, 0x950, 0x823, -0xa81, 0x936, 0xa81, 0x936, 0xd08, 0xba6, 0xd08, 0xba6, 0xd08, 0xba6, 0xe9a, -0xd2b, 0xe9a, 0xd2b, 0xf75, 0xdff, 0xf75, 0xdff, 0x114c, 0xfd6, 0x114c, 0xfd6, -0x12b7, 0x1149, 0x12b7, 0x1149, 0x124d, 0x10ea, 0x124d, 0x10ea, 0x133b, 0x11e8, 0x133b, -0x11e8, 0x133b, 0x11e8, 0x136b, 0x1228, 0x136b, 0x1228, 0x134c, 0x121b, 0x134c, 0x121b, -0x13ca, 0x12a8, 0x13ca, 0x12a8, 0x1368, 0x1254, 0x1368, 0x1254, 0x1322, 0x121a, 0x1322, -0x121a, 0x1280, 0x117e, 0x1280, 0x117e, 0x1280, 0x117e, 0x1261, 0x1162, 0x1261, 0x1162, -0x11c9, 0x10c9, 0x11c9, 0x10c9, 0x1215, 0x110f, 0x1215, 0x110f, 0x11a5, 0x1097, 0x11a5, -0x1097, 0x1157, 0x103e, 0x1157, 0x103e, 0x1157, 0x103e, 0x10e7, 0xfc1, 0x10e7, 0xfc1, -0x10b7, 0xf86, 0x10b7, 0xf86, 0x1038, 0xefd, 0x1038, 0xefd, 0xfe6, 0xea5, 0xfe6, -0xea5, 0xf4d, 0xe0b, 0xf4d, 0xe0b, 0xee7, 0xdaa, 0xee7, 0xdaa, 0xee7, 0xdaa, -0xe15, 0xce4, 0xe15, 0xce4, 0xca2, 0xb86, 0xca2, 0xb86, 0xcae, 0xbaf, 0xcae, -0xbaf, 0xbcb, 0xaf2, 0xbcb, 0xaf2, 0xa2d, 0x981, 0xa2d, 0x981, 0x8d3, 0x85d, -0x8d3, 0x85d, 0x8d3, 0x85d, 0x852, 0x816, 0x852, 0x816, 0x69a, 0x69c, 0x69a, -0x69c, 0x570, 0x5b2, 0x570, 0x5b2, 0x399, 0x41b, 0x399, 0x41b, 0x1e2, 0x2a2, -0x1e2, 0x2a2, 0x1e2, 0x2a2, 0xfb, 0x1f3, 0xfb, 0x1f3, 0x11, 0x13b, 0x11, -0x13b, 0xfebd, 0xe, 0xfebd, 0xe, 0xfe07, 0xff75, 0xfe07, 0xff75, 0xfd36, 0xfeb4, -0xfd36, 0xfeb4, 0xfae1, 0xfc63, 0xfae1, 0xfc63, 0xfae1, 0xfc63, 0xf952, 0xfaca, 0xf952, -0xfaca, 0xf892, 0xf9f2, 0xf892, 0xf9f2, 0xf8ac, 0xf9e9, 0xf8ac, 0xf9e9, 0xf96b, 0xfa78, -0xf96b, 0xfa78, 0xfa3b, 0xfb10, 0xfa3b, 0xfb10, 0xfadf, 0xfb74, 0xfadf, 0xfb74, 0xfadf, -0xfb74, 0xfd06, 0xfd57, 0xfd06, 0xfd57, 0xfe65, 0xfe70, 0xfe65, 0xfe70, 0xfff6, 0xffbc, -0xfff6, 0xffbc, 0xf3, 0x78, 0xf3, 0x78, 0x101, 0x4c, 0x101, 0x4c, 0x101, -0x4c, 0xdc, 0xfff6, 0xdc, 0xfff6, 0x15e, 0x52, 0x15e, 0x52, 0x1f7, 0xd2, -0x1f7, 0xd2, 0x1fd, 0xcd, 0x1fd, 0xcd, 0x23d, 0x111, 0x23d, 0x111, 0x2da, -0x1c0, 0x2da, 0x1c0, 0x2da, 0x1c0, 0x319, 0x21f, 0x319, 0x21f, 0x2cd, 0x1ff, -0x2cd, 0x1ff, 0x237, 0x19f, 0x237, 0x19f, 0x4d, 0xfff4, 0x4d, 0xfff4, 0xffb6, -0xffa3, 0xffb6, 0xffa3, 0xffb6, 0xffa3, 0xfd95, 0xfdc9, 0xfd95, 0xfdc9, 0xfbfa, 0xfc75, -0xfbfa, 0xfc75, 0xfb5b, 0xfc1c, 0xfb5b, 0xfc1c, 0xfac9, 0xfbc8, 0xfac9, 0xfbc8, 0xfa39, -0xfb6e, 0xfa39, 0xfb6e, 0xf9cb, 0xfb2c, 0xf9cb, 0xfb2c, 0xf9cb, 0xfb2c, 0xf975, 0xfaf5, -0xf975, 0xfaf5, 0xf916, 0xfaa8, 0xf916, 0xfaa8, 0xf8c7, 0xfa5d, 0xf8c7, 0xfa5d, 0xf839, -0xf9c4, 0xf839, 0xf9c4, 0xf7f3, 0xf965, 0xf7f3, 0xf965, 0xf872, 0xf9be, 0xf872, 0xf9be, -0xf872, 0xf9be, 0xf9b8, 0xfad2, 0xf9b8, 0xfad2, 0xf9ae, 0xfa8d, 0xf9ae, 0xfa8d, 0xfa6a, -0xfb06, 0xfa6a, 0xfb06, 0xfa82, 0xfad6, 0xfa82, 0xfad6, 0xfbd8, 0xfbe0, 0xfbd8, 0xfbe0, -0xfbd8, 0xfbe0, 0xfce5, 0xfca1, 0xfce5, 0xfca1, 0xfd4f, 0xfcc1, 0xfd4f, 0xfcc1, 0xfebb, -0xfde7, 0xfebb, 0xfde7, 0x36, 0xff22, 0x36, 0xff22, 0xb9, 0xff6c, 0xb9, 0xff6c, -0x187, 0x7, 0x187, 0x7, 0x187, 0x7, 0x255, 0xad, 0x255, 0xad, 0x33e, -0x176, 0x33e, 0x176, 0x4f9, 0x319, 0x4f9, 0x319, 0x577, 0x386, 0x577, 0x386, -0x618, 0x41c, 0x618, 0x41c, 0x663, 0x463, 0x663, 0x463, 0x663, 0x463, 0x7d3, -0x5d0, 0x7d3, 0x5d0, 0x83f, 0x63c, 0x83f, 0x63c, 0x8ef, 0x6eb, 0x8ef, 0x6eb, -0x974, 0x76e, 0x974, 0x76e, 0x9c0, 0x7b5, 0x9c0, 0x7b5, 0x9c0, 0x7b5, 0xaf4, -0x8df, 0xaf4, 0x8df, 0xb74, 0x94f, 0xb74, 0x94f, 0xbf6, 0x9bc, 0xbf6, 0x9bc, -0xd1f, 0xac9, 0xd1f, 0xac9, 0xdb6, 0xb3e, 0xdb6, 0xb3e, 0xf42, 0xca2, 0xf42, -0xca2, 0xf42, 0xca2, 0x1158, 0xe8b, 0x1158, 0xe8b, 0x1286, 0xf88, 0x1286, 0xf88, -0x1454, 0x1123, 0x1454, 0x1123, 0x1543, 0x11de, 0x1543, 0x11de, 0x162b, 0x1293, 0x162b, -0x1293, 0x16f2, 0x1329, 0x16f2, 0x1329, 0x16f2, 0x1329, 0x18dc, 0x14e7, 0x18dc, 0x14e7, -0x1a5d, 0x1641, 0x1a5d, 0x1641, 0x1b0f, 0x16d4, 0x1b0f, 0x16d4, 0x1b4d, 0x16fa, 0x1b4d, -0x16fa, 0x1b99, 0x1738, 0x1b99, 0x1738, 0x1b99, 0x1738, 0x1c21, 0x17bb, 0x1c21, 0x17bb, -0x1d78, 0x1918, 0x1d78, 0x1918, 0x1d75, 0x1924, 0x1d75, 0x1924, 0x1d0f, 0x18d5, 0x1d0f, -0x18d5, 0x1d38, 0x191f, 0x1d38, 0x191f, 0x1cd9, 0x18e9, 0x1cd9, 0x18e9, 0x1cd9, 0x18e9, -0x1ce5, 0x1923, 0x1ce5, 0x1923, 0x1b88, 0x17f8, 0x1b88, 0x17f8, 0x1b81, 0x1828, 0x1b81, -0x1828, 0x1b5d, 0x183c, 0x1b5d, 0x183c, 0x1b00, 0x1816, 0x1b00, 0x1816, 0x1a9c, 0x17e8, -0x1a9c, 0x17e8, 0x1a9c, 0x17e8, 0x1a7b, 0x17fb, 0x1a7b, 0x17fb, 0x19dd, 0x178d, 0x19dd, -0x178d, 0x1842, 0x161c, 0x1842, 0x161c, 0x155e, 0x135d, 0x155e, 0x135d, 0x1346, 0x1165, -0x1346, 0x1165, 0x1346, 0x1165, 0x11db, 0x1013, 0x11db, 0x1013, 0x106a, 0xeb5, 0x106a, -0xeb5, 0xf70, 0xdc8, 0xf70, 0xdc8, 0xea2, 0xd02, 0xea2, 0xd02, 0xead, 0xd10, -0xead, 0xd10, 0xe10, 0xc73, 0xe10, 0xc73, 0xe10, 0xc73, 0xdce, 0xc2f, 0xdce, -0xc2f, 0xcb1, 0xb0e, 0xcb1, 0xb0e, 0xbbd, 0xa16, 0xbbd, 0xa16, 0xa8a, 0x8df, -0xa8a, 0x8df, 0x9b4, 0x809, 0x9b4, 0x809, 0x866, 0x6bc, 0x866, 0x6bc, 0x866, -0x6bc, 0x6ea, 0x546, 0x6ea, 0x546, 0x4d3, 0x339, 0x4d3, 0x339, 0x34a, 0x1c0, -0x34a, 0x1c0, 0x215, 0xa1, 0x215, 0xa1, 0x64, 0xff0a, 0x64, 0xff0a, 0x64, -0xff0a, 0xff2e, 0xfdf5, 0xff2e, 0xfdf5, 0xfd83, 0xfc70, 0xfd83, 0xfc70, 0xfbe6, 0xfafe, -0xfbe6, 0xfafe, 0xf965, 0xf8ae, 0xf965, 0xf8ae, 0xf7b2, 0xf72d, 0xf7b2, 0xf72d, 0xf64f, -0xf601, 0xf64f, 0xf601, 0xf64f, 0xf601, 0xf561, 0xf54c, 0xf561, 0xf54c, 0xf440, 0xf464, -0xf440, 0xf464, 0xf31e, 0xf379, 0xf31e, 0xf379, 0xf198, 0xf22a, 0xf198, 0xf22a, 0xf113, -0xf1d9, 0xf113, 0xf1d9, 0xf020, 0xf115, 0xf020, 0xf115, 0xf020, 0xf115, 0xee79, 0xef99, -0xee79, 0xef99, 0xed67, 0xeeaa, 0xed67, 0xeeaa, 0xeca2, 0xee02, 0xeca2, 0xee02, 0xec35, -0xeda9, 0xec35, 0xeda9, 0xec0d, 0xed8f, 0xec0d, 0xed8f, 0xec0d, 0xed8f, 0xec3f, 0xedc4, -0xec3f, 0xedc4, 0xec2c, 0xedab, 0xec2c, 0xedab, 0xecb4, 0xee25, 0xecb4, 0xee25, 0xed9b, -0xeef5, 0xed9b, 0xeef5, 0xef37, 0xf073, 0xef37, 0xf073, 0xf052, 0xf168, 0xf052, 0xf168, -0xf052, 0xf168, 0xf233, 0xf31c, 0xf233, 0xf31c, 0xf38d, 0xf446, 0xf38d, 0xf446, 0xf4ff, -0xf583, 0xf4ff, 0xf583, 0xf6ce, 0xf71b, 0xf6ce, 0xf71b, 0xf988, 0xf99c, 0xf988, 0xf99c, -0xfc1f, 0xfbfc, 0xfc1f, 0xfbfc, 0xfc1f, 0xfbfc, 0xfe0e, 0xfdb6, 0xfe0e, 0xfdb6, 0x7a, -0xfff0, 0x7a, 0xfff0, 0x2b5, 0x1ff, 0x2b5, 0x1ff, 0x42e, 0x351, 0x42e, 0x351, -0x60f, 0x512, 0x60f, 0x512, 0x60f, 0x512, 0x7c4, 0x6b0, 0x7c4, 0x6b0, 0x7e4, -0x6c1, 0x7e4, 0x6c1, 0x926, 0x7fc, 0x926, 0x7fc, 0x92f, 0x808, 0x92f, 0x808, -0x99c, 0x87f, 0x99c, 0x87f, 0xa03, 0x8f9, 0xa03, 0x8f9, 0xa03, 0x8f9, 0xa5f, -0x971, 0xa5f, 0x971, 0xa74, 0x9a7, 0xa74, 0x9a7, 0xaa2, 0x9fc, 0xaa2, 0x9fc, -0xad2, 0xa59, 0xad2, 0xa59, 0xa89, 0xa3f, 0xa89, 0xa3f, 0xa22, 0xa0a, 0xa22, -0xa0a, 0xa22, 0xa0a, 0x945, 0x962, 0x945, 0x962, 0x7e7, 0x838, 0x7e7, 0x838, -0x5ee, 0x674, 0x5ee, 0x674, 0x42e, 0x4e6, 0x42e, 0x4e6, 0x298, 0x383, 0x298, -0x383, 0x298, 0x383, 0x201, 0x31c, 0x201, 0x31c, 0xff9c, 0xe4, 0xff9c, 0xe4, -0xfdde, 0xff53, 0xfdde, 0xff53, 0xfcb2, 0xfe51, 0xfcb2, 0xfe51, 0xfaf6, 0xfcbe, 0xfaf6, -0xfcbe, 0xf9ad, 0xfb9c, 0xf9ad, 0xfb9c, 0xf9ad, 0xfb9c, 0xf8f9, 0xfb10, 0xf8f9, 0xfb10, -0xf78e, 0xf9cc, 0xf78e, 0xf9cc, 0xf632, 0xf898, 0xf632, 0xf898, 0xf4c3, 0xf752, 0xf4c3, -0xf752, 0xf2dd, 0xf595, 0xf2dd, 0xf595, 0xf2dd, 0xf595, 0xf132, 0xf416, 0xf132, 0xf416, -0xefa2, 0xf2b2, 0xefa2, 0xf2b2, 0xedc3, 0xf101, 0xedc3, 0xf101, 0xebfb, 0xef68, 0xebfb, -0xef68, 0xebdb, 0xef77, 0xebdb, 0xef77, 0xea38, 0xee01, 0xea38, 0xee01, 0xea38, 0xee01, -0xe8a0, 0xec96, 0xe8a0, 0xec96, 0xe684, 0xeaa5, 0xe684, 0xeaa5, 0xe3fc, 0xe844, 0xe3fc, -0xe844, 0xe211, 0xe67c, 0xe211, 0xe67c, 0xe0cb, 0xe554, 0xe0cb, 0xe554, 0xdf3f, 0xe3df, -0xdf3f, 0xe3df, 0xdf3f, 0xe3df, 0xddd5, 0xe286, 0xddd5, 0xe286, 0xdd2e, 0xe1e7, 0xdd2e, -0xe1e7, 0xdd5a, 0xe214, 0xdd5a, 0xe214, 0xdda3, 0xe256, 0xdda3, 0xe256, 0xdd6b, 0xe20f, -0xdd6b, 0xe20f, 0xdd6b, 0xe20f, 0xdd28, 0xe1b5, 0xdd28, 0xe1b5, 0xdcbd, 0xe12c, 0xdcbd, -0xe12c, 0xdd49, 0xe194, 0xdd49, 0xe194, 0xdd5a, 0xe17c, 0xdd5a, 0xe17c, 0xde4f, 0xe244, -0xde4f, 0xe244, 0xdea8, 0xe26e, 0xdea8, 0xe26e, 0xdea8, 0xe26e, 0xdf16, 0xe2ab, 0xdf16, -0xe2ab, 0xe174, 0xe4d8, 0xe174, 0xe4d8, 0xe31f, 0xe654, 0xe31f, 0xe654, 0xe38b, 0xe693, -0xe38b, 0xe693, 0xe583, 0xe862, 0xe583, 0xe862, 0xe654, 0xe90e, 0xe654, 0xe90e, 0xe654, -0xe90e, 0xe6c8, 0xe960, 0xe6c8, 0xe960, 0xe84d, 0xeac8, 0xe84d, 0xeac8, 0xe9a2, 0xec05, -0xe9a2, 0xec05, 0xeb42, 0xed91, 0xeb42, 0xed91, 0xed55, 0xef94, 0xed55, 0xef94, 0xed55, -0xef94, 0xeecd, 0xf0fd, 0xeecd, 0xf0fd, 0xeed9, 0xf0fc, 0xeed9, 0xf0fc, 0xf0c3, 0xf2d9, -0xf0c3, 0xf2d9, 0xf175, 0xf37d, 0xf175, 0xf37d, 0xf17a, 0xf372, 0xf17a, 0xf372, 0xf20e, -0xf3f2, 0xf20e, 0xf3f2, 0xf20e, 0xf3f2, 0xf2f5, 0xf4c1, 0xf2f5, 0xf4c1, 0xf3ec, 0xf59b, -0xf3ec, 0xf59b, 0xf52c, 0xf6b7, 0xf52c, 0xf6b7, 0xf5cf, 0xf732, 0xf5cf, 0xf732, 0xf781, -0xf8b6, 0xf781, 0xf8b6, 0xf9e1, 0xfae2, 0xf9e1, 0xfae2, 0xf9e1, 0xfae2, 0xfaa6, 0xfb6e, -0xfaa6, 0xfb6e, 0xfcda, 0xfd65, 0xfcda, 0xfd65, 0xff40, 0xff8c, 0xff40, 0xff8c, 0xef, -0xfb, 0xef, 0xfb, 0x334, 0x2fe, 0x334, 0x2fe, 0x334, 0x2fe, 0x585, 0x511, -0x585, 0x511, 0x5ef, 0x53e, 0x5ef, 0x53e, 0x74a, 0x662, 0x74a, 0x662, 0x97c, -0x861, 0x97c, 0x861, 0xad4, 0x98e, 0xad4, 0x98e, 0xc97, 0xb2d, 0xc97, 0xb2d, -0xc97, 0xb2d, 0xee1, 0xd5c, 0xee1, 0xd5c, 0xf2d, 0xd95, 0xf2d, 0xd95, 0x1065, -0xec2, 0x1065, 0xec2, 0x11fb, 0x1055, 0x11fb, 0x1055, 0x11d9, 0x1037, 0x11d9, 0x1037, -0x12c2, 0x112a, 0x12c2, 0x112a, 0x12c2, 0x112a, 0x1350, 0x11c7, 0x1350, 0x11c7, 0x12c2, -0x114c, 0x12c2, 0x114c, 0x1255, 0x10f5, 0x1255, 0x10f5, 0x11fb, 0x10b2, 0x11fb, 0x10b2, -0x10a9, 0xf78, 0x10a9, 0xf78, 0x10a9, 0xf78, 0x101d, 0xf02, 0x101d, 0xf02, 0xf49, -0xe43, 0xf49, 0xe43, 0xef8, 0xe03, 0xef8, 0xe03, 0xf0e, 0xe29, 0xf0e, 0xe29, -0xf02, 0xe28, 0xf02, 0xe28, 0xe1a, 0xd49, 0xe1a, 0xd49, 0xe1a, 0xd49, 0xd2a, -0xc60, 0xd2a, 0xc60, 0xc9a, 0xbd5, 0xc9a, 0xbd5, 0xc23, 0xb61, 0xc23, 0xb61, -0xc3c, 0xb7e, 0xc3c, 0xb7e, 0xaf4, 0xa3b, 0xaf4, 0xa3b, 0x9b7, 0x906, 0x9b7, -0x906, 0x9b7, 0x906, 0x9e8, 0x941, 0x9e8, 0x941, 0x95e, 0x8c6, 0x95e, 0x8c6, -0x82f, 0x7aa, 0x82f, 0x7aa, 0x88f, 0x822, 0x88f, 0x822, 0x7b5, 0x766, 0x7b5, -0x766, 0x7b5, 0x766, 0x724, 0x6f8, 0x724, 0x6f8, 0x74d, 0x748, 0x74d, 0x748, -0x612, 0x638, 0x612, 0x638, 0x47a, 0x4ce, 0x47a, 0x4ce, 0x3f5, 0x479, 0x3f5, -0x479, 0x28e, 0x341, 0x28e, 0x341, 0x28e, 0x341, 0x119, 0x1fa, 0x119, 0x1fa, -0x122, 0x22d, 0x122, 0x22d, 0x75, 0x1a6, 0x75, 0x1a6, 0xfeb0, 0, 0xfeb0, -0, 0xfd89, 0xfef0, 0xfd89, 0xfef0, 0xfc69, 0xfddd, 0xfc69, 0xfddd, 0xfc69, 0xfddd, -0xfacf, 0xfc46, 0xfacf, 0xfc46, 0xfaf5, 0xfc66, 0xfaf5, 0xfc66, 0xf9f7, 0xfb56, 0xf9f7, -0xfb56, 0xf9c4, 0xfb07, 0xf9c4, 0xfb07, 0xfa7e, 0xfb9c, 0xfa7e, 0xfb9c, 0xfa7e, 0xfb9c, -0xfad2, 0xfbc4, 0xfad2, 0xfbc4, 0xfc56, 0xfd14, 0xfc56, 0xfd14, 0xfde2, 0xfe68, 0xfde2, -0xfe68, 0xfe1d, 0xfe67, 0xfe1d, 0xfe67, 0xff52, 0xff60, 0xff52, 0xff60, 0xe8, 0xbc, -0xe8, 0xbc, 0xe8, 0xbc, 0xed, 0x8b, 0xed, 0x8b, 0x191, 0xfe, 0x191, -0xfe, 0x207, 0x149, 0x207, 0x149, 0x1a4, 0xc6, 0x1a4, 0xc6, 0x260, 0x16b, -0x260, 0x16b, 0x398, 0x298, 0x398, 0x298, 0x398, 0x298, 0x28d, 0x18c, 0x28d, -0x18c, 0x2cf, 0x1d9, 0x2cf, 0x1d9, 0x334, 0x253, 0x334, 0x253, 0x15d, 0x9b, -0x15d, 0x9b, 0x23, 0xff88, 0x23, 0xff88, 0x23, 0xff88, 0xff92, 0xff25, 0xff92, -0xff25, 0xfddb, 0xfda0, 0xfddb, 0xfda0, 0xfd02, 0xfcfc, 0xfd02, 0xfcfc, 0xfcae, 0xfcde, -0xfcae, 0xfcde, 0xfb32, 0xfb96, 0xfb32, 0xfb96, 0xfa55, 0xfae9, 0xfa55, 0xfae9, 0xfa55, -0xfae9, 0xf98f, 0xfa4e, 0xf98f, 0xfa4e, 0xf898, 0xf97c, 0xf898, 0xf97c, 0xf838, 0xf939, -0xf838, 0xf939, 0xf7f1, 0xf905, 0xf7f1, 0xf905, 0xf744, 0xf863, 0xf744, 0xf863, 0xf78a, -0xf8aa, 0xf78a, 0xf8aa, 0xf78a, 0xf8aa, 0xf75f, 0xf876, 0xf75f, 0xf876, 0xf765, 0xf86a, -0xf765, 0xf86a, 0xf811, 0xf8fd, 0xf811, 0xf8fd, 0xf80b, 0xf8d7, 0xf80b, 0xf8d7, 0xf839, -0xf8df, 0xf839, 0xf8df, 0xf839, 0xf8df, 0xfa47, 0xfac4, 0xfa47, 0xfac4, 0xfb85, 0xfbd6, -0xfb85, 0xfbd6, 0xfc43, 0xfc67, 0xfc43, 0xfc67, 0xfe21, 0xfe19, 0xfe21, 0xfe19, 0xfebd, -0xfe8a, 0xfebd, 0xfe8a, 0xffc9, 0xff6f, 0xffc9, 0xff6f, 0xffc9, 0xff6f, 0x1bb, 0x13b, -0x1bb, 0x13b, 0x2cc, 0x22c, 0x2cc, 0x22c, 0x3b1, 0x2f5, 0x3b1, 0x2f5, 0x604, -0x52f, 0x604, 0x52f, 0x6d3, 0x5ea, 0x6d3, 0x5ea, 0x6d3, 0x5ea, 0x787, 0x68d, -0x787, 0x68d, 0x98e, 0x886, 0x98e, 0x886, 0x9e6, 0x8d1, 0x9e6, 0x8d1, 0x993, -0x872, 0x993, 0x872, 0xb35, 0xa07, 0xb35, 0xa07, 0xcad, 0xb71, 0xcad, 0xb71, -0xcad, 0xb71, 0xd33, 0xbe8, 0xd33, 0xbe8, 0xdc9, 0xc6b, 0xdc9, 0xc6b, 0xdac, -0xc36, 0xdac, 0xc36, 0xe38, 0xca8, 0xe38, 0xca8, 0xf85, 0xdd6, 0xf85, 0xdd6, -0x1048, 0xe75, 0x1048, 0xe75, 0x1048, 0xe75, 0x111b, 0xf21, 0x111b, 0xf21, 0x12f0, -0x10cb, 0x12f0, 0x10cb, 0x13a3, 0x1151, 0x13a3, 0x1151, 0x14fa, 0x1279, 0x14fa, 0x1279, -0x171d, 0x146c, 0x171d, 0x146c, 0x171d, 0x146c, 0x182f, 0x154f, 0x182f, 0x154f, 0x193d, -0x1630, 0x193d, 0x1630, 0x1a0d, 0x16d6, 0x1a0d, 0x16d6, 0x19c7, 0x1669, 0x19c7, 0x1669, -0x1acf, 0x1750, 0x1acf, 0x1750, 0x1bc1, 0x1826, 0x1bc1, 0x1826, 0x1bc1, 0x1826, 0x1adb, -0x1729, 0x1adb, 0x1729, 0x1ba0, 0x17df, 0x1ba0, 0x17df, 0x1c43, 0x187b, 0x1c43, 0x187b, -0x1bdd, 0x1814, 0x1bdd, 0x1814, 0x1c76, 0x18b2, 0x1c76, 0x18b2, 0x1d09, 0x1952, 0x1d09, -0x1952, 0x1d09, 0x1952, 0x1b75, 0x17ce, 0x1b75, 0x17ce, 0x1abb, 0x172b, 0x1abb, 0x172b, -0x1ad1, 0x175b, 0x1ad1, 0x175b, 0x19a2, 0x1648, 0x19a2, 0x1648, 0x1911, 0x15d6, 0x1911, -0x15d6, 0x1911, 0x15d6, 0x18f9, 0x15dd, 0x18f9, 0x15dd, 0x1813, 0x1516, 0x1813, 0x1516, -0x16fd, 0x141e, 0x16fd, 0x141e, 0x1586, 0x12c3, 0x1586, 0x12c3, 0x1305, 0x105c, 0x1305, -0x105c, 0x1117, 0xe84, 0x1117, 0xe84, 0x1117, 0xe84, 0xf9a, 0xd1b, 0xf9a, 0xd1b, -0xe14, 0xba5, 0xe14, 0xba5, 0xd51, 0xaf0, 0xd51, 0xaf0, 0xbfc, 0x9a5, 0xbfc, -0x9a5, 0xad2, 0x884, 0xad2, 0x884, 0xb90, 0x949, 0xb90, 0x949, 0xb90, 0x949, -0xaad, 0x86c, 0xaad, 0x86c, 0x9cd, 0x791, 0x9cd, 0x791, 0x9fb, 0x7c5, 0x9fb, -0x7c5, 0x9b8, 0x789, 0x9b8, 0x789, 0x961, 0x73c, 0x961, 0x73c, 0x961, 0x73c, -0x89e, 0x684, 0x89e, 0x684, 0x6e4, 0x4d9, 0x6e4, 0x4d9, 0x537, 0x33e, 0x537, -0x33e, 0x58a, 0x3a7, 0x58a, 0x3a7, 0x4c0, 0x2f8, 0x4c0, 0x2f8, 0x36d, 0x1c2, -0x36d, 0x1c2, 0x36d, 0x1c2, 0x38f, 0x207, 0x38f, 0x207, 0x1d5, 0x73, 0x1d5, -0x73, 0xff28, 0xfdee, 0xff28, 0xfdee, 0xfe78, 0xfd6a, 0xfe78, 0xfd6a, 0xfd41, 0xfc60, -0xfd41, 0xfc60, 0xfc12, 0xfb5f, 0xfc12, 0xfb5f, 0xfc12, 0xfb5f, 0xfb0f, 0xfa8a, 0xfb0f, -0xfa8a, 0xf931, 0xf8db, 0xf931, 0xf8db, 0xf801, 0xf7d8, 0xf801, 0xf7d8, 0xf74d, 0xf750, -0xf74d, 0xf750, 0xf5bf, 0xf5e9, 0xf5bf, 0xf5e9, 0xf5bf, 0xf5e9, 0xf3a1, 0xf3f0, 0xf3a1, -0xf3f0, 0xf220, 0xf28f, 0xf220, 0xf28f, 0xf134, 0xf1bf, 0xf134, 0xf1bf, 0xf113, 0xf1b4, -0xf113, 0xf1b4, 0xf0e6, 0xf198, 0xf0e6, 0xf198, 0xefb8, 0xf075, 0xefb8, 0xf075, 0xefb8, -0xf075, 0xee92, 0xef54, 0xee92, 0xef54, 0xef17, 0xefd9, 0xef17, 0xefd9, 0xef08, 0xefc4, -0xef08, 0xefc4, 0xef85, 0xf036, 0xef85, 0xf036, 0xf064, 0xf106, 0xf064, 0xf106, 0xf05d, -0xf0eb, 0xf05d, 0xf0eb, 0xf05d, 0xf0eb, 0xf1b8, 0xf22f, 0xf1b8, 0xf22f, 0xf330, 0xf38d, -0xf330, 0xf38d, 0xf447, 0xf487, 0xf447, 0xf487, 0xf69e, 0xf6c2, 0xf69e, 0xf6c2, 0xf8e4, -0xf8e9, 0xf8e4, 0xf8e9, 0xf8e4, 0xf8e9, 0xf9fa, 0xf9e1, 0xf9fa, 0xf9e1, 0xfc1c, 0xfbe5, -0xfc1c, 0xfbe5, 0xfe41, 0xfdee, 0xfe41, 0xfdee, 0xff53, 0xfee6, 0xff53, 0xfee6, 0xd6, -0x51, 0xd6, 0x51, 0x26b, 0x1d2, 0x26b, 0x1d2, 0x26b, 0x1d2, 0x2f2, 0x248, -0x2f2, 0x248, 0x451, 0x399, 0x451, 0x399, 0x5e9, 0x528, 0x5e9, 0x528, 0x64c, -0x586, 0x64c, 0x586, 0x654, 0x58c, 0x654, 0x58c, 0x670, 0x5ac, 0x670, 0x5ac, -0x670, 0x5ac, 0x6ed, 0x62f, 0x6ed, 0x62f, 0x793, 0x6e0, 0x793, 0x6e0, 0x765, -0x6c0, 0x765, 0x6c0, 0x73e, 0x6ab, 0x73e, 0x6ab, 0x7fb, 0x77d, 0x7fb, 0x77d, -0x7fb, 0x77d, 0x779, 0x713, 0x779, 0x713, 0x652, 0x608, 0x652, 0x608, 0x575, -0x549, 0x575, 0x549, 0x4f0, 0x4e6, 0x4f0, 0x4e6, 0x48d, 0x4a6, 0x48d, 0x4a6, -0x3e6, 0x426, 0x3e6, 0x426, 0x3e6, 0x426, 0x1de, 0x248, 0x1de, 0x248, 0x38, -0xce, 0x38, 0xce, 0x5, 0xca, 0x5, 0xca, 0xfe86, 0xff7c, 0xfe86, 0xff7c, -0xfcfc, 0xfe26, 0xfcfc, 0xfe26, 0xfcb2, 0xfe13, 0xfcb2, 0xfe13, 0xfcb2, 0xfe13, 0xfb40, -0xfcdb, 0xfb40, 0xfcdb, 0xf9c0, 0xfb97, 0xf9c0, 0xfb97, 0xf95e, 0xfb73, 0xf95e, 0xfb73, -0xf7a9, 0xf9fe, 0xf7a9, 0xf9fe, 0xf537, 0xf7ce, 0xf537, 0xf7ce, 0xf537, 0xf7ce, 0xf353, -0xf62c, 0xf353, 0xf62c, 0xf1ca, 0xf4e6, 0xf1ca, 0xf4e6, 0xf039, 0xf397, 0xf039, 0xf397, -0xef27, 0xf2c6, 0xef27, 0xf2c6, 0xed30, 0xf10e, 0xed30, 0xf10e, 0xeb83, 0xef9c, 0xeb83, -0xef9c, 0xeb83, 0xef9c, 0xea0c, 0xee5d, 0xea0c, 0xee5d, 0xe75d, 0xebe0, 0xe75d, 0xebe0, -0xe5cc, 0xea7c, 0xe5cc, 0xea7c, 0xe48e, 0xe964, 0xe48e, 0xe964, 0xe25f, 0xe753, 0xe25f, -0xe753, 0xe074, 0xe57d, 0xe074, 0xe57d, 0xe074, 0xe57d, 0xdf72, 0xe489, 0xdf72, 0xe489, -0xdea4, 0xe3bf, 0xdea4, 0xe3bf, 0xde25, 0xe33c, 0xde25, 0xe33c, 0xdce5, 0xe1ee, 0xdce5, -0xe1ee, 0xdb89, 0xe07d, 0xdb89, 0xe07d, 0xdb89, 0xe07d, 0xdc1c, 0xe0f2, 0xdc1c, 0xe0f2, -0xdd4f, 0xe200, 0xdd4f, 0xe200, 0xdd40, 0xe1c7, 0xdd40, 0xe1c7, 0xdd20, 0xe178, 0xdd20, -0xe178, 0xdd63, 0xe186, 0xdd63, 0xe186, 0xdd5c, 0xe148, 0xdd5c, 0xe148, 0xdd5c, 0xe148, -0xde02, 0xe1b6, 0xde02, 0xe1b6, 0xdf1c, 0xe297, 0xdf1c, 0xe297, 0xdfae, 0xe2f1, 0xdfae, -0xe2f1, 0xe0f6, 0xe403, 0xe0f6, 0xe403, 0xe254, 0xe52d, 0xe254, 0xe52d, 0xe254, 0xe52d, -0xe330, 0xe5d8, 0xe330, 0xe5d8, 0xe500, 0xe77a, 0xe500, 0xe77a, 0xe69d, 0xe8ec, 0xe69d, -0xe8ec, 0xe7dc, 0xea04, 0xe7dc, 0xea04, 0xe968, 0xeb6c, 0xe968, 0xeb6c, 0xeaed, 0xecd0, -0xeaed, 0xecd0, 0xeaed, 0xecd0, 0xec0e, 0xedd3, 0xec0e, 0xedd3, 0xedda, 0xef81, 0xedda, -0xef81, 0xeecd, 0xf057, 0xeecd, 0xf057, 0xef29, 0xf097, 0xef29, 0xf097, 0xf03e, 0xf18e, -0xf03e, 0xf18e, 0xf0b2, 0xf1e1, 0xf0b2, 0xf1e1, 0xf0b2, 0xf1e1, 0xf1e8, 0xf2f4, 0xf1e8, -0xf2f4, 0xf338, 0xf41e, 0xf338, 0xf41e, 0xf44c, 0xf508, 0xf44c, 0xf508, 0xf63b, 0xf6c8, -0xf63b, 0xf6c8, 0xf81b, 0xf876, 0xf81b, 0xf876, 0xf81b, 0xf876, 0xf9a2, 0xf9c8, 0xf9a2, -0xf9c8, 0xfb66, 0xfb52, 0xfb66, 0xfb52, 0xfdea, 0xfd9b, 0xfdea, 0xfd9b, 0xffe9, 0xff5c, -0xffe9, 0xff5c, 0x21d, 0x151, 0x21d, 0x151, 0x4f4, 0x3eb, 0x4f4, 0x3eb, 0x4f4, -0x3eb, 0x5cb, 0x485, 0x5cb, 0x485, 0x700, 0x580, 0x700, 0x580, 0x993, 0x7de, -0x993, 0x7de, 0xc01, 0xa1a, 0xc01, 0xa1a, 0xd85, 0xb74, 0xd85, 0xb74, 0xeb7, -0xc82, 0xeb7, 0xc82, 0xeb7, 0xc82, 0x103f, 0xdec, 0x103f, 0xdec, 0x11b2, 0xf4a, -0x11b2, 0xf4a, 0x1323, 0x10ad, 0x1323, 0x10ad, 0x1359, 0x10dc, 0x1359, 0x10dc, 0x13f0, -0x1174, 0x13f0, 0x1174, 0x13f0, 0x1174, 0x14fc, 0x1286, 0x14fc, 0x1286, 0x1524, 0x12ba, -0x1524, 0x12ba, 0x1502, 0x12a9, 0x1502, 0x12a9, 0x14a9, 0x1265, 0x14a9, 0x1265, 0x139a, -0x116c, 0x139a, 0x116c, 0x12f8, 0x10e1, 0x12f8, 0x10e1, 0x12f8, 0x10e1, 0x128d, 0x108e, -0x128d, 0x108e, 0x117a, 0xf92, 0x117a, 0xf92, 0x1129, 0xf57, 0x1129, 0xf57, 0x1026, -0xe68, 0x1026, 0xe68, 0xebd, 0xd10, 0xebd, 0xd10, 0xe6b, 0xccd, 0xe6b, 0xccd, -0xe6b, 0xccd, 0xe1b, 0xc89, 0xe1b, 0xc89, 0xdad, 0xc24, 0xdad, 0xc24, 0xce8, -0xb68, 0xce8, 0xb68, 0xbd6, 0xa5d, 0xbd6, 0xa5d, 0xada, 0x969, 0xada, 0x969, -0xada, 0x969, 0xa54, 0x8ea, 0xa54, 0x8ea, 0x9e3, 0x883, 0x9e3, 0x883, 0x874, -0x721, 0x874, 0x721, 0x71e, 0x5da, 0x71e, 0x5da, 0x708, 0x5d8, 0x708, 0x5d8, -0x6cb, 0x5b3, 0x6cb, 0x5b3, 0x6cb, 0x5b3, 0x5ff, 0x504, 0x5ff, 0x504, 0x550, -0x477, 0x550, 0x477, 0x447, 0x394, 0x447, 0x394, 0x3b6, 0x32d, 0x3b6, 0x32d, -0x2e5, 0x28a, 0x2e5, 0x28a, 0x1d3, 0x1a7, 0x1d3, 0x1a7, 0x1d3, 0x1a7, 0xca, -0xce, 0xca, 0xce, 0xff02, 0xff36, 0xff02, 0xff36, 0xfe31, 0xfe93, 0xfe31, 0xfe93, -0xfdad, 0xfe39, 0xfdad, 0xfe39, 0xfcb5, 0xfd67, 0xfcb5, 0xfd67, 0xfcb5, 0xfd67, 0xfb87, -0xfc59, 0xfb87, 0xfc59, 0xfa6b, 0xfb55, 0xfa6b, 0xfb55, 0xfa00, 0xfafa, 0xfa00, 0xfafa, -0xf93f, 0xfa40, 0xf93f, 0xfa40, 0xf897, 0xf997, 0xf897, 0xf997, 0xf8f1, 0xf9e6, 0xf8f1, -0xf9e6, 0xf8f1, 0xf9e6, 0xf9c5, 0xfaa7, 0xf9c5, 0xfaa7, 0xfa9a, 0xfb61, 0xfa9a, 0xfb61, -0xfb4a, 0xfbef, 0xfb4a, 0xfbef, 0xfce4, 0xfd62, 0xfce4, 0xfd62, 0xff0b, 0xff5e, 0xff0b, -0xff5e, 0xfff2, 0x18, 0xfff2, 0x18, 0xfff2, 0x18, 0x97, 0x8f, 0x97, 0x8f, -0x1e3, 0x1af, 0x1e3, 0x1af, 0x34b, 0x2ee, 0x34b, 0x2ee, 0x3d8, 0x357, 0x3d8, -0x357, 0x3bf, 0x321, 0x3bf, 0x321, 0x3bf, 0x321, 0x482, 0x3ce, 0x482, 0x3ce, -0x52a, 0x469, 0x52a, 0x469, 0x507, 0x441, 0x507, 0x441, 0x436, 0x375, 0x436, -0x375, 0x2d7, 0x222, 0x2d7, 0x222, 0x202, 0x163, 0x202, 0x163, 0x202, 0x163, -0x1dc, 0x15a, 0x1dc, 0x15a, 0x1ff, 0x1a0, 0x1ff, 0x1a0, 0x149, 0x112, 0x149, -0x112, 0xfffd, 0xfff1, 0xfffd, 0xfff1, 0xff29, 0xff49, 0xff29, 0xff49, 0xfea9, 0xfef6, -0xfea9, 0xfef6, 0xfea9, 0xfef6, 0xfd93, 0xfe0a, 0xfd93, 0xfe0a, 0xfbdc, 0xfc7a, 0xfbdc, -0xfc7a, 0xfae2, 0xfba2, 0xfae2, 0xfba2, 0xfa39, 0xfb17, 0xfa39, 0xfb17, 0xfa1a, 0xfb0e, -0xfa1a, 0xfb0e, 0xfa1a, 0xfb0e, 0xf96f, 0xfa73, 0xf96f, 0xfa73, 0xf85e, 0xf969, 0xf85e, -0xf969, 0xf898, 0xf9a3, 0xf898, 0xf9a3, 0xf8c3, 0xf9c9, 0xf8c3, 0xf9c9, 0xf8b6, 0xf9b0, -0xf8b6, 0xf9b0, 0xf8b2, 0xf99a, 0xf8b2, 0xf99a, 0xf8b2, 0xf99a, 0xf9a0, 0xfa71, 0xf9a0, -0xfa71, 0xfa4c, 0xfb04, 0xfa4c, 0xfb04, 0xfa51, 0xfaee, 0xfa51, 0xfaee, 0xfb2b, 0xfbab, -0xfb2b, 0xfbab, 0xfbd2, 0xfc36, 0xfbd2, 0xfc36, 0xfcd6, 0xfd1e, 0xfcd6, 0xfd1e, 0xfcd6, -0xfd1e, 0xfe09, 0xfe37, 0xfe09, 0xfe37, 0xff8d, 0xffa4, 0xff8d, 0xffa4, 0xfc, 0xfd, -0xfc, 0xfd, 0x248, 0x238, 0x248, 0x238, 0x3b9, 0x399, 0x3b9, 0x399, 0x3b9, -0x399, 0x3a1, 0x374, 0x3a1, 0x374, 0x40b, 0x3d1, 0x40b, 0x3d1, 0x5a7, 0x562, -0x5a7, 0x562, 0x721, 0x6d2, 0x721, 0x6d2, 0x836, 0x7dc, 0x836, 0x7dc, 0x8ad, -0x846, 0x8ad, 0x846, 0x8ad, 0x846, 0x94a, 0x8d3, 0x94a, 0x8d3, 0xa6a, 0x9e1, -0xa6a, 0x9e1, 0xb5e, 0xac0, 0xb5e, 0xac0, 0xc25, 0xb6e, 0xc25, 0xb6e, 0xd54, -0xc7e, 0xd54, 0xc7e, 0xeb9, 0xdc1, 0xeb9, 0xdc1, 0xeb9, 0xdc1, 0x1034, 0xf17, -0x1034, 0xf17, 0x1155, 0x100f, 0x1155, 0x100f, 0x12ea, 0x1178, 0x12ea, 0x1178, 0x14d8, -0x1338, 0x14d8, 0x1338, 0x165c, 0x148f, 0x165c, 0x148f, 0x165c, 0x148f, 0x17a2, 0x15a6, -0x17a2, 0x15a6, 0x1891, 0x1669, 0x1891, 0x1669, 0x1a57, 0x1805, 0x1a57, 0x1805, 0x1b49, -0x18d1, 0x1b49, 0x18d1, 0x1b4d, 0x18b4, 0x1b4d, 0x18b4, 0x1c37, 0x1982, 0x1c37, 0x1982, -0x1c37, 0x1982, 0x1c64, 0x1999, 0x1c64, 0x1999, 0x1c93, 0x19b9, 0x1c93, 0x19b9, 0x1d44, -0x1a63, 0x1d44, 0x1a63, 0x1cef, 0x1a0d, 0x1cef, 0x1a0d, 0x1c57, 0x197b, 0x1c57, 0x197b, -0x1c57, 0x197b, 0x1cdb, 0x1a0c, 0x1cdb, 0x1a0c, 0x1d43, 0x1a86, 0x1d43, 0x1a86, 0x1c65, -0x19bf, 0x1c65, 0x19bf, 0x1b82, 0x18f6, 0x1b82, 0x18f6, 0x1ac2, 0x1854, 0x1ac2, 0x1854, -0x1a55, 0x1806, 0x1a55, 0x1806, 0x1a55, 0x1806, 0x1a23, 0x17f4, 0x1a23, 0x17f4, 0x1896, -0x1687, 0x1896, 0x1687, 0x1651, 0x1460, 0x1651, 0x1460, 0x1524, 0x134f, 0x1524, 0x134f, -0x13aa, 0x11ee, 0x13aa, 0x11ee, 0x1189, 0xfe3, 0x1189, 0xfe3, 0x1189, 0xfe3, 0xfb8, -0xe24, 0xfb8, 0xe24, 0xd72, 0xbed, 0xd72, 0xbed, 0xc7c, 0xb01, 0xc7c, 0xb01, -0xb8d, 0xa19, 0xb8d, 0xa19, 0x9b0, 0x841, 0x9b0, 0x841, 0x9b0, 0x841, 0x8b6, -0x748, 0x8b6, 0x748, 0x76e, 0x600, 0x76e, 0x600, 0x706, 0x597, 0x706, 0x597, -0x70e, 0x59c, 0x70e, 0x59c, 0x607, 0x495, 0x607, 0x495, 0x4fd, 0x38b, 0x4fd, -0x38b, 0x4fd, 0x38b, 0x48b, 0x31b, 0x48b, 0x31b, 0x3f1, 0x286, 0x3f1, 0x286, -0x206, 0xa4, 0x206, 0xa4, 0x17b, 0x24, 0x17b, 0x24, 0x1d7, 0x91, 0x1d7, -0x91, 0x14, 0xfee1, 0x14, 0xfee1, 0x14, 0xfee1, 0xfea9, 0xfd8f, 0xfea9, 0xfd8f, -0xfe07, 0xfd09, 0xfe07, 0xfd09, 0xfd1f, 0xfc41, 0xfd1f, 0xfc41, 0xfccb, 0xfc10, 0xfccb, -0xfc10, 0xfb69, 0xfad3, 0xfb69, 0xfad3, 0xfb69, 0xfad3, 0xfa15, 0xf9a6, 0xfa15, 0xf9a6, -0xfa8e, 0xfa48, 0xfa8e, 0xfa48, 0xfa5d, 0xfa40, 0xfa5d, 0xfa40, 0xf938, 0xf943, 0xf938, -0xf943, 0xf805, 0xf838, 0xf805, 0xf838, 0xf6cf, 0xf729, 0xf6cf, 0xf729, 0xf6cf, 0xf729, -0xf5e8, 0xf664, 0xf5e8, 0xf664, 0xf50d, 0xf5a8, 0xf50d, 0xf5a8, 0xf460, 0xf517, 0xf460, -0xf517, 0xf386, 0xf453, 0xf386, 0xf453, 0xf262, 0xf342, 0xf262, 0xf342, 0xf1c2, 0xf2ae, -0xf1c2, 0xf2ae, 0xf1c2, 0xf2ae, 0xf22c, 0xf31f, 0xf22c, 0xf31f, 0xf2c9, 0xf3be, 0xf2c9, -0xf3be, 0xf1cb, 0xf2bc, 0xf1cb, 0xf2bc, 0xf16d, 0xf255, 0xf16d, 0xf255, 0xf2a4, 0xf37f, -0xf2a4, 0xf37f, 0xf2a4, 0xf37f, 0xf2c9, 0xf391, 0xf2c9, 0xf391, 0xf334, 0xf3e7, 0xf334, -0xf3e7, 0xf48f, 0xf529, 0xf48f, 0xf529, 0xf51c, 0xf59b, 0xf51c, 0xf59b, 0xf5fa, 0xf65c, -0xf5fa, 0xf65c, 0xf84c, 0xf890, 0xf84c, 0xf890, 0xf84c, 0xf890, 0xfa9b, 0xfac1, 0xfa9b, -0xfac1, 0xfcbe, 0xfcc8, 0xfcbe, 0xfcc8, 0xfe9e, 0xfe8d, 0xfe9e, 0xfe8d, 0xffa2, 0xff78, -0xffa2, 0xff78, 0x116, 0xd7, 0x116, 0xd7, 0x2f6, 0x2a5, 0x2f6, 0x2a5, 0x2f6, -0x2a5, 0x3bf, 0x360, 0x3bf, 0x360, 0x3d2, 0x36a, 0x3d2, 0x36a, 0x522, 0x4b5, -0x522, 0x4b5, 0x639, 0x5cc, 0x639, 0x5cc, 0x69e, 0x637, 0x69e, 0x637, 0x69e, -0x637, 0x726, 0x6c7, 0x726, 0x6c7, 0x6c2, 0x672, 0x6c2, 0x672, 0x728, 0x6ea, -0x728, 0x6ea, 0x7b2, 0x789, 0x7b2, 0x789, 0x75c, 0x74b, 0x75c, 0x74b, 0x6ec, -0x6f5, 0x6ec, 0x6f5, 0x6ec, 0x6f5, 0x586, 0x5ad, 0x586, 0x5ad, 0x45a, 0x49f, -0x45a, 0x49f, 0x43f, 0x4a3, 0x43f, 0x4a3, 0x3a0, 0x424, 0x3a0, 0x424, 0x1fd, -0x2a1, 0x1fd, 0x2a1, 0xf1, 0x1b5, 0xf1, 0x1b5, 0xf1, 0x1b5, 0x1c, 0x100, -0x1c, 0x100, 0xfe5e, 0xff62, 0xfe5e, 0xff62, 0xfd07, 0xfe2a, 0xfd07, 0xfe2a, 0xfb90, -0xfcd2, 0xfb90, 0xfcd2, 0xf9e5, 0xfb47, 0xf9e5, 0xfb47, 0xf9e5, 0xfb47, 0xf98a, 0xfb0c, -0xf98a, 0xfb0c, 0xf8c1, 0xfa64, 0xf8c1, 0xfa64, 0xf721, 0xf8e7, 0xf721, 0xf8e7, 0xf66d, -0xf856, 0xf66d, 0xf856, 0xf596, 0xf7a5, 0xf596, 0xf7a5, 0xf3de, 0xf613, 0xf3de, 0xf613, -0xf3de, 0xf613, 0xf2f5, 0xf553, 0xf2f5, 0xf553, 0xf257, 0xf4de, 0xf257, 0xf4de, 0xf0f9, -0xf3ac, 0xf0f9, 0xf3ac, 0xf00d, 0xf2ed, 0xf00d, 0xf2ed, 0xeeba, 0xf1c7, 0xeeba, 0xf1c7, -0xed18, 0xf050, 0xed18, 0xf050, 0xed18, 0xf050, 0xec31, 0xef94, 0xec31, 0xef94, 0xead2, -0xee5e, 0xead2, 0xee5e, 0xe8b2, 0xec64, 0xe8b2, 0xec64, 0xe6a8, 0xea7c, 0xe6a8, 0xea7c, -0xe553, 0xe943, 0xe553, 0xe943, 0xe553, 0xe943, 0xe478, 0xe87e, 0xe478, 0xe87e, 0xe357, -0xe76c, 0xe357, 0xe76c, 0xe199, 0xe5b6, 0xe199, 0xe5b6, 0xe06f, 0xe48c, 0xe06f, 0xe48c, -0xe013, 0xe426, 0xe013, 0xe426, 0xdfa6, 0xe3a8, 0xdfa6, 0xe3a8, 0xdfa6, 0xe3a8, 0xdf63, -0xe34b, 0xdf63, 0xe34b, 0xdf02, 0xe2c9, 0xdf02, 0xe2c9, 0xde38, 0xe1d6, 0xde38, 0xe1d6, -0xddf4, 0xe163, 0xddf4, 0xe163, 0xded3, 0xe20e, 0xded3, 0xe20e, 0xdf20, 0xe223, 0xdf20, -0xe223, 0xdf20, 0xe223, 0xdf89, 0xe251, 0xdf89, 0xe251, 0xe112, 0xe39e, 0xe112, 0xe39e, -0xe1e1, 0xe432, 0xe1e1, 0xe432, 0xe2db, 0xe4f2, 0xe2db, 0xe4f2, 0xe42a, 0xe60c, 0xe42a, -0xe60c, 0xe42a, 0xe60c, 0xe4ad, 0xe65c, 0xe4ad, 0xe65c, 0xe577, 0xe6f8, 0xe577, 0xe6f8, -0xe6d7, 0xe831, 0xe6d7, 0xe831, 0xe86b, 0xe9a4, 0xe86b, 0xe9a4, 0xeaa2, 0xebbf, 0xeaa2, -0xebbf, 0xecfc, 0xee03, 0xecfc, 0xee03, 0xecfc, 0xee03, 0xee8a, 0xef81, 0xee8a, 0xef81, -0xef8f, 0xf07b, 0xef8f, 0xf07b, 0xf04d, 0xf131, 0xf04d, 0xf131, 0xf0aa, 0xf188, 0xf0aa, -0xf188, 0xf0d7, 0xf1b1, 0xf0d7, 0xf1b1, 0xf10d, 0xf1e3, 0xf10d, 0xf1e3, 0xf10d, 0xf1e3, -0xf13f, 0xf210, 0xf13f, 0xf210, 0xf21c, 0xf2e5, 0xf21c, 0xf2e5, 0xf3a2, 0xf45f, 0xf3a2, -0xf45f, 0xf4a5, 0xf552, 0xf4a5, 0xf552, 0xf65f, 0xf6f7, 0xf65f, 0xf6f7, 0xf65f, 0xf6f7, -0xf851, 0xf8cd, 0xf851, 0xf8cd, 0xf91a, 0xf975, 0xf91a, 0xf975, 0xfbb4, 0xfbe8, 0xfbb4, -0xfbe8, 0xfe08, 0xfe10, 0xfe08, 0xfe10, 0xfe8a, 0xfe61, 0xfe8a, 0xfe61, 0x5a, 0xfffd, -0x5a, 0xfffd, 0x5a, 0xfffd, 0x1e8, 0x154, 0x1e8, 0x154, 0x3fe, 0x331, 0x3fe, -0x331, 0x6b5, 0x5b1, 0x6b5, 0x5b1, 0x86f, 0x734, 0x86f, 0x734, 0xa91, 0x923, -0xa91, 0x923, 0xa91, 0x923, 0xcf8, 0xb5b, 0xcf8, 0xb5b, 0xede, 0xd17, 0xede, -0xd17, 0xffd, 0xe12, 0xffd, 0xe12, 0x11c0, 0xfb9, 0x11c0, 0xfb9, 0x13a2, 0x1187, -0x13a2, 0x1187, 0x1455, 0x122c, 0x1455, 0x122c, 0x1455, 0x122c, 0x155b, 0x132c, 0x155b, -0x132c, 0x16ea, 0x14bb, 0x16ea, 0x14bb, 0x16e0, 0x14b9, 0x16e0, 0x14b9, 0x1639, 0x141e, -0x1639, 0x141e, 0x1624, 0x141a, 0x1624, 0x141a, 0x15bf, 0x13c8, 0x15bf, 0x13c8, 0x15bf, -0x13c8, 0x164b, 0x146b, 0x164b, 0x146b, 0x1537, 0x136d, 0x1537, 0x136d, 0x13e9, 0x1235, -0x13e9, 0x1235, 0x13ac, 0x120c, 0x13ac, 0x120c, 0x1227, 0x109a, 0x1227, 0x109a, 0x1227, -0x109a, 0x11e3, 0x1065, 0x11e3, 0x1065, 0x10fe, 0xf8d, 0x10fe, 0xf8d, 0xfb5, 0xe4d, -0xfb5, 0xe4d, 0xe97, 0xd34, 0xe97, 0xd34, 0xd84, 0xc24, 0xd84, 0xc24, 0xd21, -0xbc1, 0xd21, 0xbc1, 0xd21, 0xbc1, 0xbdd, 0xa7b, 0xbdd, 0xa7b, 0xb3d, 0x9d9, -0xb3d, 0x9d9, 0x9f8, 0x892, 0x9f8, 0x892, 0x9d1, 0x86b, 0x9d1, 0x86b, 0x9f8, -0x893, 0x9f8, 0x893, 0x7d3, 0x674, 0x7d3, 0x674, 0x7d3, 0x674, 0x6aa, 0x553, -0x6aa, 0x553, 0x5bc, 0x473, 0x5bc, 0x473, 0x517, 0x3e0, 0x517, 0x3e0, 0x476, -0x355, 0x476, 0x355, 0x37d, 0x278, 0x37d, 0x278, 0x37d, 0x278, 0x2a7, 0x1c3, -0x2a7, 0x1c3, 0x147, 0x87, 0x147, 0x87, 0x35, 0xff9c, 0x35, 0xff9c, 0xff21, -0xfeb1, 0xff21, 0xfeb1, 0xfd89, 0xfd43, 0xfd89, 0xfd43, 0xfb51, 0xfb34, 0xfb51, 0xfb34, -0xfb51, 0xfb34, 0xf9d0, 0xf9da, 0xf9d0, 0xf9da, 0xf90f, 0xf93c, 0xf90f, 0xf93c, 0xf822, -0xf86f, 0xf822, 0xf86f, 0xf712, 0xf779, 0xf712, 0xf779, 0xf6bd, 0xf737, 0xf6bd, 0xf737, -0xf747, 0xf7ce, 0xf747, 0xf7ce, 0xf747, 0xf7ce, 0xf67d, 0xf70a, 0xf67d, 0xf70a, 0xf73d, -0xf7c7, 0xf73d, 0xf7c7, 0xf85f, 0xf8e1, 0xf85f, 0xf8e1, 0xf7a1, 0xf814, 0xf7a1, 0xf814, -0xf91b, 0xf979, 0xf91b, 0xf979, 0xf91b, 0xf979, 0xfacb, 0xfb10, 0xfacb, 0xfb10, 0xfbf7, -0xfc20, 0xfbf7, 0xfc20, 0xfdd6, 0xfde0, 0xfdd6, 0xfde0, 0xfeb3, 0xfe9f, 0xfeb3, 0xfe9f, -0xffe4, 0xffb1, 0xffe4, 0xffb1, 0x22b, 0x1dd, 0x22b, 0x1dd, 0x22b, 0x1dd, 0x35f, -0x2fa, 0x35f, 0x2fa, 0x316, 0x29e, 0x316, 0x29e, 0x336, 0x2b3, 0x336, 0x2b3, -0x34f, 0x2c7, 0x34f, 0x2c7, 0x2dc, 0x255, 0x2dc, 0x255, 0x386, 0x309, 0x386, -0x309, 0x386, 0x309, 0x3e8, 0x37d, 0x3e8, 0x37d, 0x2a3, 0x24f, 0x2a3, 0x24f, -0x27d, 0x249, 0x27d, 0x249, 0x2e9, 0x2d8, 0x2e9, 0x2d8, 0x208, 0x220, 0x208, -0x220, 0x208, 0x220, 0xf1, 0x135, 0xf1, 0x135, 0xffe2, 0x53, 0xffe2, 0x53, -0xfede, 0xff7c, 0xfede, 0xff7c, 0xfe26, 0xfef1, 0xfe26, 0xfef1, 0xfcfd, 0xfdf2, 0xfcfd, -0xfdf2, 0xfb87, 0xfca2, 0xfb87, 0xfca2, 0xfb87, 0xfca2, 0xfb0c, 0xfc48, 0xfb0c, 0xfc48, -0xf9ca, 0xfb21, 0xf9ca, 0xfb21, 0xf8fa, 0xfa66, 0xf8fa, 0xfa66, 0xf9ea, 0xfb64, 0xf9ea, -0xfb64, 0xf9a8, 0xfb28, 0xf9a8, 0xfb28, 0xf95e, 0xfade, 0xf95e, 0xfade, 0xf95e, 0xfade, -0xfa0e, 0xfb86, 0xfa0e, 0xfb86, 0xfa6e, 0xfbd7, 0xfa6e, 0xfbd7, 0xfa9a, 0xfbef, 0xfa9a, -0xfbef, 0xfb3f, 0xfc7a, 0xfb3f, 0xfc7a, 0xfb60, 0xfc7e, 0xfb60, 0xfc7e, 0xfb60, 0xfc7e, -0xfc4a, 0xfd46, 0xfc4a, 0xfd46, 0xfdca, 0xfea2, 0xfdca, 0xfea2, 0xfe41, 0xfef4, 0xfe41, -0xfef4, 0x22, 0xaf, 0x22, 0xaf, 0x17f, 0x1e7, 0x17f, 0x1e7, 0x1cf, 0x213, -0x1cf, 0x213, 0x1cf, 0x213, 0x289, 0x2a9, 0x289, 0x2a9, 0x3d5, 0x3d3, 0x3d5, -0x3d3, 0x556, 0x535, 0x556, 0x535, 0x523, 0x4e5, 0x523, 0x4e5, 0x563, 0x50a, -0x563, 0x50a, 0x652, 0x5df, 0x652, 0x5df, 0x652, 0x5df, 0x761, 0x6d7, 0x761, -0x6d7, 0x852, 0x7b0, 0x852, 0x7b0, 0x8a0, 0x7e8, 0x8a0, 0x7e8, 0xa23, 0x956, -0xa23, 0x956, 0xaf9, 0xa16, 0xaf9, 0xa16, 0xaf9, 0xa16, 0xba7, 0xaad, 0xba7, -0xaad, 0xd86, 0xc74, 0xd86, 0xc74, 0xe3b, 0xd10, 0xe3b, 0xd10, 0xea6, 0xd60, -0xea6, 0xd60, 0xff0, 0xe8f, 0xff0, 0xe8f, 0x11da, 0x105b, 0x11da, 0x105b, 0x11da, -0x105b, 0x13d2, 0x1235, 0x13d2, 0x1235, 0x15c4, 0x1408, 0x15c4, 0x1408, 0x1762, 0x1586, -0x1762, 0x1586, 0x1862, 0x1666, 0x1862, 0x1666, 0x1a1f, 0x1805, 0x1a1f, 0x1805, 0x1b48, -0x1910, 0x1b48, 0x1910, 0x1b48, 0x1910, 0x1b09, 0x18b6, 0x1b09, 0x18b6, 0x1bf4, 0x1989, -0x1bf4, 0x1989, 0x1ce7, 0x1a67, 0x1ce7, 0x1a67, 0x1c99, 0x1a0a, 0x1c99, 0x1a0a, 0x1dc6, -0x1b2b, 0x1dc6, 0x1b2b, 0x1dc6, 0x1b2b, 0x1e56, 0x1bb5, 0x1e56, 0x1bb5, 0x1e12, 0x1b70, -0x1e12, 0x1b70, 0x1e6d, 0x1bd0, 0x1e6d, 0x1bd0, 0x1de9, 0x1b56, 0x1de9, 0x1b56, 0x1e08, -0x1b85, 0x1e08, 0x1b85, 0x1d99, 0x1b2a, 0x1d99, 0x1b2a, 0x1d99, 0x1b2a, 0x1cf0, 0x1a9b, -0x1cf0, 0x1a9b, 0x1bc3, 0x198b, 0x1bc3, 0x198b, 0x1a16, 0x17fe, 0x1a16, 0x17fe, 0x18cd, -0x16d8, 0x18cd, 0x16d8, 0x15fe, 0x142e, 0x15fe, 0x142e, 0x1464, 0x12b7, 0x1464, 0x12b7, -0x1464, 0x12b7, 0x12d0, 0x1148, 0x12d0, 0x1148, 0x1070, 0xf0a, 0x1070, 0xf0a, 0xfba, -0xe75, 0xfba, 0xe75, 0xe90, 0xd69, 0xe90, 0xd69, 0xd13, 0xc05, 0xd13, 0xc05, -0xd13, 0xc05, 0xc01, 0xb09, 0xc01, 0xb09, 0xa66, 0x980, 0xa66, 0x980, 0xa1d, -0x943, 0xa1d, 0x943, 0x95c, 0x88b, 0x95c, 0x88b, 0x701, 0x635, 0x701, 0x635, -0x5bb, 0x4ef, 0x5bb, 0x4ef, 0x5bb, 0x4ef, 0x4ed, 0x41f, 0x4ed, 0x41f, 0x4cb, -0x3f9, 0x4cb, 0x3f9, 0x456, 0x37d, 0x456, 0x37d, 0x3ea, 0x30a, 0x3ea, 0x30a, -0x3ac, 0x2c4, 0x3ac, 0x2c4, 0x3ac, 0x2c4, 0x290, 0x1a2, 0x290, 0x1a2, 0x167, -0x76, 0x167, 0x76, 0xffbf, 0xfecc, 0xffbf, 0xfecc, 0xfe1e, 0xfd2e, 0xfe1e, 0xfd2e, -0xfc98, 0xfbae, 0xfc98, 0xfbae, 0xfbb2, 0xfad2, 0xfbb2, 0xfad2, 0xfbb2, 0xfad2, 0xfaee, -0xfa1e, 0xfaee, 0xfa1e, 0xfa75, 0xf9ba, 0xfa75, 0xf9ba, 0xf9e5, 0xf942, 0xf9e5, 0xf942, -0xf92b, 0xf8a5, 0xf92b, 0xf8a5, 0xf86b, 0xf806, 0xf86b, 0xf806, 0xf748, 0xf706, 0xf748, -0xf706, 0xf748, 0xf706, 0xf724, 0xf707, 0xf724, 0xf707, 0xf594, 0xf59d, 0xf594, 0xf59d, -0xf3e6, 0xf416, 0xf3e6, 0xf416, 0xf2df, 0xf334, 0xf2df, 0xf334, 0xf1cb, 0xf244, 0xf1cb, -0xf244, 0xf1cb, 0xf244, 0xf1f1, 0xf28a, 0xf1f1, 0xf28a, 0xf141, 0xf1f6, 0xf141, 0xf1f6, -0xf0c3, 0xf18f, 0xf0c3, 0xf18f, 0xf17b, 0xf259, 0xf17b, 0xf259, 0xf268, 0xf351, 0xf268, -0xf351, 0xf325, 0xf414, 0xf325, 0xf414, 0xf325, 0xf414, 0xf313, 0xf401, 0xf313, 0xf401, -0xf348, 0xf430, 0xf348, 0xf430, 0xf480, 0xf55c, 0xf480, 0xf55c, 0xf559, 0xf623, 0xf559, -0xf623, 0xf6af, 0xf765, 0xf6af, 0xf765, 0xf8d8, 0xf974, 0xf8d8, 0xf974, 0xf8d8, 0xf974, -0xfa91, 0xfb12, 0xfa91, 0xfb12, 0xfc91, 0xfcf6, 0xfc91, 0xfcf6, 0xfe83, 0xfecb, 0xfe83, -0xfecb, 0xffae, 0xffda, 0xffae, 0xffda, 0x107, 0x119, 0x107, 0x119, 0x107, 0x119, -0x2b2, 0x2ad, 0x2b2, 0x2ad, 0x424, 0x40b, 0x424, 0x40b, 0x593, 0x56a, 0x593, -0x56a, 0x62e, 0x5fa, 0x62e, 0x5fa, 0x715, 0x6da, 0x715, 0x6da, 0x816, 0x7d9, -0x816, 0x7d9, 0x816, 0x7d9, 0x79a, 0x75f, 0x79a, 0x75f, 0x768, 0x734, 0x768, -0x734, 0x80e, 0x7e5, 0x80e, 0x7e5, 0x87e, 0x863, 0x87e, 0x863, 0x7f3, 0x7e9, -0x7f3, 0x7e9, 0x7ab, 0x7b4, 0x7ab, 0x7b4, 0x7ab, 0x7b4, 0x7aa, 0x7c8, 0x7aa, -0x7c8, 0x72d, 0x761, 0x72d, 0x761, 0x668, 0x6b2, 0x668, 0x6b2, 0x524, 0x583, -0x524, 0x583, 0x3ba, 0x42f, 0x3ba, 0x42f, 0x3ba, 0x42f, 0x241, 0x2cc, 0x241, -0x2cc, 0xf7, 0x197, 0xf7, 0x197, 0xff59, 0xe, 0xff59, 0xe, 0xfdfc, 0xfec5, -0xfdfc, 0xfec5, 0xfce9, 0xfdc8, 0xfce9, 0xfdc8, 0xfbce, 0xfcc2, 0xfbce, 0xfcc2, 0xfbce, -0xfcc2, 0xfb84, 0xfc8f, 0xfb84, 0xfc8f, 0xfa08, 0xfb2d, 0xfa08, 0xfb2d, 0xf7b4, 0xf8f5, -0xf7b4, 0xf8f5, 0xf68f, 0xf7f0, 0xf68f, 0xf7f0, 0xf50b, 0xf68e, 0xf50b, 0xf68e, 0xf3f2, -0xf59b, 0xf3f2, 0xf59b, 0xf3f2, 0xf59b, 0xf293, 0xf466, 0xf293, 0xf466, 0xf08c, 0xf28d, -0xf08c, 0xf28d, 0xf08a, 0xf2bd, 0xf08a, 0xf2bd, 0xef3d, 0xf1a3, 0xef3d, 0xf1a3, 0xed5d, -0xeffa, 0xed5d, 0xeffa, 0xed5d, 0xeffa, 0xed03, 0xefd9, 0xed03, 0xefd9, 0xeb45, 0xee53, -0xeb45, 0xee53, 0xe8f1, 0xec37, 0xe8f1, 0xec37, 0xe6ec, 0xea68, 0xe6ec, 0xea68, 0xe5ad, -0xe95c, 0xe5ad, 0xe95c, 0xe49f, 0xe87c, 0xe49f, 0xe87c, 0xe49f, 0xe87c, 0xe2e7, 0xe6ed, -0xe2e7, 0xe6ed, 0xe236, 0xe65d, 0xe236, 0xe65d, 0xe1a7, 0xe5e8, 0xe1a7, 0xe5e8, 0xe07f, -0xe4d2, 0xe07f, 0xe4d2, 0xdfcf, 0xe42a, 0xdfcf, 0xe42a, 0xdedf, 0xe338, 0xdedf, 0xe338, -0xdedf, 0xe338, 0xde0d, 0xe25b, 0xde0d, 0xe25b, 0xdd84, 0xe1be, 0xdd84, 0xe1be, 0xdd96, -0xe1b3, 0xdd96, 0xe1b3, 0xde22, 0xe21a, 0xde22, 0xe21a, 0xde23, 0xe1ef, 0xde23, 0xe1ef, -0xde23, 0xe1ef, 0xde34, 0xe1cd, 0xde34, 0xe1cd, 0xde96, 0xe1f8, 0xde96, 0xe1f8, 0xe015, -0xe33e, 0xe015, 0xe33e, 0xe0e5, 0xe3d1, 0xe0e5, 0xe3d1, 0xe153, 0xe402, 0xe153, 0xe402, -0xe28f, 0xe503, 0xe28f, 0xe503, 0xe28f, 0xe503, 0xe344, 0xe57e, 0xe344, 0xe57e, 0xe4b1, -0xe6b3, 0xe4b1, 0xe6b3, 0xe5e2, 0xe7b2, 0xe5e2, 0xe7b2, 0xe7a8, 0xe949, 0xe7a8, 0xe949, -0xea37, 0xebae, 0xea37, 0xebae, 0xeb6d, 0xecc0, 0xeb6d, 0xecc0, 0xeb6d, 0xecc0, 0xecfd, -0xee30, 0xecfd, 0xee30, 0xeef9, 0xf010, 0xeef9, 0xf010, 0xf00b, 0xf10c, 0xf00b, 0xf10c, -0xf154, 0xf240, 0xf154, 0xf240, 0xf214, 0xf2ef, 0xf214, 0xf2ef, 0xf214, 0xf2ef, 0xf1ef, -0xf2bb, 0xf1ef, 0xf2bb, 0xf2d3, 0xf38f, 0xf2d3, 0xf38f, 0xf382, 0xf42e, 0xf382, 0xf42e, -0xf463, 0xf4fe, 0xf463, 0xf4fe, 0xf572, 0xf5fa, 0xf572, 0xf5fa, 0xf699, 0xf70a, 0xf699, -0xf70a, 0xf699, 0xf70a, 0xf882, 0xf8da, 0xf882, 0xf8da, 0xf962, 0xf99d, 0xf962, 0xf99d, -0xfb05, 0xfb1f, 0xfb05, 0xfb1f, 0xfcb4, 0xfca9, 0xfcb4, 0xfca9, 0xfd3b, 0xfd07, 0xfd3b, -0xfd07, 0xff79, 0xff1a, 0xff79, 0xff1a, 0xff79, 0xff1a, 0x167, 0xda, 0x167, 0xda, -0x1ef, 0x132, 0x1ef, 0x132, 0x3fd, 0x310, 0x3fd, 0x310, 0x66f, 0x552, 0x66f, -0x552, 0x85f, 0x712, 0x85f, 0x712, 0x85f, 0x712, 0x979, 0x7fe, 0x979, 0x7fe, -0xba3, 0x9fd, 0xba3, 0x9fd, 0xe76, 0xca7, 0xe76, 0xca7, 0xf8d, 0xd9a, 0xf8d, -0xd9a, 0x117f, 0xf6b, 0x117f, 0xf6b, 0x124f, 0x101f, 0x124f, 0x101f, 0x124f, 0x101f, -0x12ee, 0x10a7, 0x12ee, 0x10a7, 0x13eb, 0x1191, 0x13eb, 0x1191, 0x151c, 0x12b3, 0x151c, -0x12b3, 0x1601, 0x138e, 0x1601, 0x138e, 0x152b, 0x12b1, 0x152b, 0x12b1, 0x156a, 0x12ec, -0x156a, 0x12ec, 0x156a, 0x12ec, 0x14de, 0x125d, 0x14de, 0x125d, 0x1566, 0x12e5, 0x1566, -0x12e5, 0x14a2, 0x1222, 0x14a2, 0x1222, 0x137a, 0x10fb, 0x137a, 0x10fb, 0x140c, 0x118e, -0x140c, 0x118e, 0x140c, 0x118e, 0x12fa, 0x107e, 0x12fa, 0x107e, 0x138a, 0x110f, 0x138a, -0x110f, 0x12f4, 0x107b, 0x12f4, 0x107b, 0x1227, 0xfae, 0x1227, 0xfae, 0x117b, 0xf03, -0x117b, 0xf03, 0x1008, 0xd91, 0x1008, 0xd91, 0x1008, 0xd91, 0xf26, 0xcb1, 0xf26, -0xcb1, 0xe8f, 0xc1e, 0xe8f, 0xc1e, 0xde5, 0xb79, 0xde5, 0xb79, 0xc31, 0x9cd, -0xc31, 0x9cd, 0xc44, 0x9ec, 0xc44, 0x9ec, 0xc44, 0x9ec, 0xbcd, 0x985, 0xbcd, -0x985, 0xb24, 0x8ef, 0xb24, 0x8ef, 0xa52, 0x835, 0xa52, 0x835, 0x889, 0x689, -0x889, 0x689, 0x6c8, 0x4ea, 0x6c8, 0x4ea, 0x5bb, 0x404, 0x5bb, 0x404, 0x5bb, -0x404, 0x563, 0x3d7, 0x563, 0x3d7, 0x398, 0x23b, 0x398, 0x23b, 0x305, 0x1da, -0x305, 0x1da, 0x217, 0x121, 0x217, 0x121, 0x8, 0xff47, 0x8, 0xff47, 0xfece, -0xfe43, 0xfece, 0xfe43, 0xfece, 0xfe43, 0xfd81, 0xfd2b, 0xfd81, 0xfd2b, 0xfb26, 0xfb03, -0xfb26, 0xfb03, 0xf91b, 0xf929, 0xf91b, 0xf929, 0xf860, 0xf899, 0xf860, 0xf899, 0xf6a9, -0xf70a, 0xf6a9, 0xf70a, 0xf6a9, 0xf70a, 0xf50b, 0xf58d, 0xf50b, 0xf58d, 0xf4d8, 0xf574, -0xf4d8, 0xf574, 0xf520, 0xf5cf, 0xf520, 0xf5cf, 0xf583, 0xf63e, 0xf583, 0xf63e, 0xf5bb, -0xf67a, 0xf5bb, 0xf67a, 0xf61c, 0xf6d9, 0xf61c, 0xf6d9, 0xf61c, 0xf6d9, 0xf6bb, 0xf76f, -0xf6bb, 0xf76f, 0xf66e, 0xf712, 0xf66e, 0xf712, 0xf727, 0xf7b7, 0xf727, 0xf7b7, 0xf8fc, -0xf974, 0xf8fc, 0xf974, 0xfa1f, 0xfa7b, 0xfa1f, 0xfa7b, 0xfb5e, 0xfb9e, 0xfb5e, 0xfb9e, -0xfb5e, 0xfb9e, 0xfcdb, 0xfcfd, 0xfcdb, 0xfcfd, 0xfe77, 0xfe7b, 0xfe77, 0xfe7b, 0xfdde, -0xfdc8, 0xfdde, 0xfdc8, 0xfd72, 0xfd43, 0xfd72, 0xfd43, 0xfdd1, 0xfd8e, 0xfdd1, 0xfd8e, -0xfdd1, 0xfd8e, 0xfd8a, 0xfd38, 0xfd8a, 0xfd38, 0xfddb, 0xfd7e, 0xfddb, 0xfd7e, 0xfd8d, -0xfd2c, 0xfd8d, 0xfd2c, 0xfe2d, 0xfdcc, 0xfe2d, 0xfdcc, 0xfdbc, 0xfd62, 0xfdbc, 0xfd62, -0xfdb8, 0xfd69, 0xfdb8, 0xfd69, 0xfdb8, 0xfd69, 0xfe3e, 0xfe00, 0xfe3e, 0xfe00, 0xfe33, -0xfe0a, 0xfe33, 0xfe0a, 0xfe25, 0xfe13, 0xfe25, 0xfe13, 0xfbd6, 0xfbde, 0xfbd6, 0xfbde, -0xfb51, 0xfb75, 0xfb51, 0xfb75, 0xfbd7, 0xfc16, 0xfbd7, 0xfc16, 0xfbd7, 0xfc16, 0xfb6c, -0xfbc7, 0xfb6c, 0xfbc7, 0xfacf, 0xfb43, 0xfacf, 0xfb43, 0xfabd, 0xfb48, 0xfabd, 0xfb48, -0xfbbb, 0xfc59, 0xfbbb, 0xfc59, 0xfc10, 0xfcbe, 0xfc10, 0xfcbe, 0xfc10, 0xfcbe, 0xfbe8, -0xfca2, 0xfbe8, 0xfca2, 0xfc25, 0xfce5, 0xfc25, 0xfce5, 0xfc5a, 0xfd1c, 0xfc5a, 0xfd1c, -0xfcb9, 0xfd78, 0xfcb9, 0xfd78, 0xfd60, 0xfe19, 0xfd60, 0xfe19, 0xfe5b, 0xff0a, 0xfe5b, -0xff0a, 0xfe5b, 0xff0a, 0xfe90, 0xff32, 0xfe90, 0xff32, 0xff7f, 0xf, 0xff7f, 0xf, -0x243, 0x2c1, 0x243, 0x2c1, 0x343, 0x3ad, 0x343, 0x3ad, 0x382, 0x3d7, 0x382, -0x3d7, 0x406, 0x447, 0x406, 0x447, 0x406, 0x447, 0x5c9, 0x5f4, 0x5c9, 0x5f4, -0x708, 0x71f, 0x708, 0x71f, 0x78b, 0x78e, 0x78b, 0x78e, 0x8a1, 0x891, 0x8a1, -0x891, 0x8b7, 0x895, 0x8b7, 0x895, 0x8b7, 0x895, 0x989, 0x956, 0x989, 0x956, -0xa7c, 0xa37, 0xa7c, 0xa37, 0xbba, 0xb64, 0xbba, 0xb64, 0xc0a, 0xba3, 0xc0a, -0xba3, 0xb87, 0xb0d, 0xb87, 0xb0d, 0xc5f, 0xbd2, 0xc5f, 0xbd2, 0xc5f, 0xbd2, -0xd71, 0xcce, 0xd71, 0xcce, 0xf99, 0xedf, 0xf99, 0xedf, 0xfe5, 0xf11, 0xfe5, -0xf11, 0xf7d, 0xe8e, 0xf7d, 0xe8e, 0x11c0, 0x10b3, 0x11c0, 0x10b3, 0x138f, 0x1262, -0x138f, 0x1262, 0x138f, 0x1262, 0x15d6, 0x1488, 0x15d6, 0x1488, 0x171e, 0x15ad, 0x171e, -0x15ad, 0x1768, 0x15d4, 0x1768, 0x15d4, 0x1781, 0x15cb, 0x1781, 0x15cb, 0x17e6, 0x160e, -0x17e6, 0x160e, 0x17e6, 0x160e, 0x1a28, 0x1831, 0x1a28, 0x1831, 0x1a7a, 0x1867, 0x1a7a, -0x1867, 0x1a16, 0x17ea, 0x1a16, 0x17ea, 0x1aba, 0x187b, 0x1aba, 0x187b, 0x1b9d, 0x194f, -0x1b9d, 0x194f, 0x1d20, 0x1aca, 0x1d20, 0x1aca, 0x1d20, 0x1aca, 0x1ca1, 0x1a4a, 0x1ca1, -0x1a4a, 0x1be7, 0x1995, 0x1be7, 0x1995, 0x1c56, 0x1a10, 0x1c56, 0x1a10, 0x1c19, 0x19e5, -0x1c19, 0x19e5, 0x1c71, 0x1a56, 0x1c71, 0x1a56, 0x1b97, 0x199a, 0x1b97, 0x199a, 0x1b97, -0x199a, 0x1a3c, 0x1861, 0x1a3c, 0x1861, 0x1a06, 0x1852, 0x1a06, 0x1852, 0x1a12, 0x1886, -0x1a12, 0x1886, 0x1865, 0x1701, 0x1865, 0x1701, 0x16c9, 0x158f, 0x16c9, 0x158f, 0x16c9, -0x158f, 0x14f4, 0x13e1, 0x14f4, 0x13e1, 0x1242, 0x1154, 0x1242, 0x1154, 0x10d9, 0x100c, -0x10d9, 0x100c, 0xfe3, 0xf31, 0xfe3, 0xf31, 0xe86, 0xdeb, 0xe86, 0xdeb, 0xc26, -0xb9a, 0xc26, 0xb9a, 0xc26, 0xb9a, 0xc07, 0xb84, 0xc07, 0xb84, 0xa5f, 0x9dd, -0xa5f, 0x9dd, 0x99a, 0x913, 0x99a, 0x913, 0x8ba, 0x829, 0x8ba, 0x829, 0x5af, -0x50d, 0x5af, 0x50d, 0x593, 0x4dc, 0x593, 0x4dc, 0x593, 0x4dc, 0x477, 0x3a7, -0x477, 0x3a7, 0x431, 0x345, 0x431, 0x345, 0x3dd, 0x2d5, 0x3dd, 0x2d5, 0x239, -0x115, 0x239, 0x115, 0x19d, 0x5e, 0x19d, 0x5e, 0x19d, 0x5e, 0xcc, 0xff75, -0xcc, 0xff75, 0x73, 0xff07, 0x73, 0xff07, 0xffd0, 0xfe55, 0xffd0, 0xfe55, 0xfd3d, -0xfbb8, 0xfd3d, 0xfbb8, 0xfcb4, 0xfb2c, 0xfcb4, 0xfb2c, 0xfcb2, 0xfb2d, 0xfcb2, 0xfb2d, -0xfcb2, 0xfb2d, 0xfbfa, 0xfa7e, 0xfbfa, 0xfa7e, 0xfb8c, 0xfa20, 0xfb8c, 0xfa20, 0xf91d, -0xf7c7, 0xf91d, 0xf7c7, 0xf863, 0xf728, 0xf863, 0xf728, 0xf8fe, 0xf7e2, 0xf8fe, 0xf7e2, -0xf84f, 0xf755, 0xf84f, 0xf755, 0xf84f, 0xf755, 0xf776, 0xf6a2, 0xf776, 0xf6a2, 0xf5cd, -0xf51e, 0xf5cd, 0xf51e, 0xf441, 0xf3b8, 0xf441, 0xf3b8, 0xf463, 0xf3fe, 0xf463, 0xf3fe, -0xf3fd, 0xf3ba, 0xf3fd, 0xf3ba, 0xf3fd, 0xf3ba, 0xf241, 0xf21d, 0xf241, 0xf21d, 0xf108, -0xf0fe, 0xf108, 0xf0fe, 0xf0fc, 0xf109, 0xf0fc, 0xf109, 0xf157, 0xf174, 0xf157, 0xf174, -0xf1da, 0xf202, 0xf1da, 0xf202, 0xf230, 0xf25f, 0xf230, 0xf25f, 0xf230, 0xf25f, 0xf219, -0xf249, 0xf219, 0xf249, 0xf25a, 0xf287, 0xf25a, 0xf287, 0xf404, 0xf42a, 0xf404, 0xf42a, -0xf62d, 0xf64b, 0xf62d, 0xf64b, 0xf886, 0xf897, 0xf886, 0xf897, 0xf886, 0xf897, 0xf9c2, -0xf9c7, 0xf9c2, 0xf9c7, 0xfa22, 0xfa1a, 0xfa22, 0xfa1a, 0xfc81, 0xfc6d, 0xfc81, 0xfc6d, -0xffa8, 0xff8a, 0xffa8, 0xff8a, 0xec, 0xc7, 0xec, 0xc7, 0x208, 0x1dd, 0x208, -0x1dd, 0x208, 0x1dd, 0x48e, 0x462, 0x48e, 0x462, 0x599, 0x570, 0x599, 0x570, -0x76e, 0x74b, 0x76e, 0x74b, 0x988, 0x970, 0x988, 0x970, 0xa05, 0x9f9, 0xa05, -0x9f9, 0xabb, 0xac0, 0xabb, 0xac0, 0xabb, 0xac0, 0xc10, 0xc28, 0xc10, 0xc28, -0xd79, 0xda6, 0xd79, 0xda6, 0xe35, 0xe78, 0xe35, 0xe78, 0xd35, 0xd8e, 0xd35, -0xd8e, 0xc6c, 0xcdb, 0xc6c, 0xcdb, 0xc6c, 0xcdb, 0xc8f, 0xd12, 0xc8f, 0xd12, -0xc7f, 0xd15, 0xc7f, 0xd15, 0xcbb, 0xd62, 0xcbb, 0xd62, 0xc08, 0xcbd, 0xc08, -0xcbd, 0xb30, 0xbf1, 0xb30, 0xbf1, 0x9c0, 0xa8b, 0x9c0, 0xa8b, 0x9c0, 0xa8b, -0x840, 0x912, 0x840, 0x912, 0x70e, 0x7e6, 0x70e, 0x7e6, 0x54b, 0x626, 0x54b, -0x626, 0x2b4, 0x393, 0x2b4, 0x393, 0x120, 0x203, 0x120, 0x203, 0xfeab, 0xff94, -0xfeab, 0xff94, 0xfeab, 0xff94, 0xfd99, 0xfe89, 0xfd99, 0xfe89, 0xfd2c, 0xfe26, 0xfd2c, -0xfe26, 0xfaa8, 0xfbb0, 0xfaa8, 0xfbb0, 0xf9ce, 0xfae8, 0xf9ce, 0xfae8, 0xf848, 0xf97a, -0xf848, 0xf97a, 0xf848, 0xf97a, 0xf684, 0xf7d3, 0xf684, 0xf7d3, 0xf49a, 0xf60c, 0xf49a, -0xf60c, 0xf2d5, 0xf46f, 0xf2d5, 0xf46f, 0xf089, 0xf251, 0xf089, 0xf251, 0xef1a, 0xf115, -0xef1a, 0xf115, 0xede1, 0xf013, 0xede1, 0xf013, 0xede1, 0xf013, 0xec04, 0xee70, 0xec04, -0xee70, 0xea86, 0xed2e, 0xea86, 0xed2e, 0xe8f3, 0xebda, 0xe8f3, 0xebda, 0xe770, 0xea94, -0xe770, 0xea94, 0xe4d2, 0xe833, 0xe4d2, 0xe833, 0xe1d1, 0xe56b, 0xe1d1, 0xe56b, 0xe1d1, -0xe56b, 0xdfd6, 0xe3a5, 0xdfd6, 0xe3a5, 0xdf36, 0xe334, 0xdf36, 0xe334, 0xdd7b, 0xe1a0, -0xdd7b, 0xe1a0, 0xdbec, 0xe033, 0xdbec, 0xe033, 0xdb59, 0xdfb7, 0xdb59, 0xdfb7, 0xdb59, -0xdfb7, 0xda0a, 0xde76, 0xda0a, 0xde76, 0xd8a4, 0xdd15, 0xd8a4, 0xdd15, 0xd86c, 0xdcd8, -0xd86c, 0xdcd8, 0xd6f1, 0xdb4e, 0xd6f1, 0xdb4e, 0xd61e, 0xda62, 0xd61e, 0xda62, 0xd614, -0xda38, 0xd614, 0xda38, 0xd614, 0xda38, 0xd67a, 0xda75, 0xd67a, 0xda75, 0xd8c5, 0xdc8f, -0xd8c5, 0xdc8f, 0xda04, 0xdd98, 0xda04, 0xdd98, 0xdafc, 0xde55, 0xdafc, 0xde55, 0xdc03, -0xdf1e, 0xdc03, 0xdf1e, 0xdd57, 0xe032, 0xdd57, 0xe032, 0xdd57, 0xe032, 0xde75, 0xe10e, -0xde75, 0xe10e, 0xe009, 0xe261, 0xe009, 0xe261, 0xe245, 0xe45d, 0xe245, 0xe45d, 0xe451, -0xe62b, 0xe451, 0xe62b, 0xe6c4, 0xe864, 0xe6c4, 0xe864, 0xe6c4, 0xe864, 0xe957, 0xeac1, -0xe957, 0xeac1, 0xeb5e, 0xec96, 0xeb5e, 0xec96, 0xed63, 0xee6f, 0xed63, 0xee6f, 0xef0d, -0xeff0, 0xef0d, 0xeff0, 0xefef, 0xf0af, 0xefef, 0xf0af, 0xf156, 0xf1f7, 0xf156, 0xf1f7, -0xf156, 0xf1f7, 0xf285, 0xf30c, 0xf285, 0xf30c, 0xf39f, 0xf410, 0xf39f, 0xf410, 0xf3d4, -0xf433, 0xf3d4, 0xf433, 0xf493, 0xf4e2, 0xf493, 0xf4e2, 0xf6f4, 0xf736, 0xf6f4, 0xf736, -0xf7ca, 0xf800, 0xf7ca, 0xf800, 0xf7ca, 0xf800, 0xf95c, 0xf988, 0xf95c, 0xf988, 0xf96c, -0xf98e, 0xf96c, 0xf98e, 0xfaa4, 0xfabc, 0xfaa4, 0xfabc, 0xfd51, 0xfd5f, 0xfd51, 0xfd5f, -0xfcba, 0xfcbd, 0xfcba, 0xfcbd, 0xfcba, 0xfcbd, 0xfef0, 0xfee7, 0xfef0, 0xfee7, 0x1b8, -0x1a1, 0x1b8, 0x1a1, 0x339, 0x312, 0x339, 0x312, 0x4a4, 0x46c, 0x4a4, 0x46c, -0x60c, 0x5c2, 0x60c, 0x5c2, 0x770, 0x711, 0x770, 0x711, 0x770, 0x711, 0x9a8, -0x933, 0x9a8, 0x933, 0xb6a, 0xadf, 0xb6a, 0xadf, 0xc34, 0xb91, 0xc34, 0xb91, -0xd6a, 0xcb0, 0xd6a, 0xcb0, 0xf8d, 0xeba, 0xf8d, 0xeba, 0x1173, 0x1088, 0x1173, -0x1088, 0x1173, 0x1088, 0x126b, 0x1168, 0x126b, 0x1168, 0x13d7, 0x12bd, 0x13d7, 0x12bd, -0x134f, 0x121e, 0x134f, 0x121e, 0x1432, 0x12ec, 0x1432, 0x12ec, 0x1405, 0x12ac, 0x1405, -0x12ac, 0x1405, 0x12ac, 0x1385, 0x121a, 0x1385, 0x121a, 0x1476, 0x12fc, 0x1476, 0x12fc, -0x1391, 0x1209, 0x1391, 0x1209, 0x1398, 0x1205, 0x1398, 0x1205, 0x1454, 0x12b9, 0x1454, -0x12b9, 0x132b, 0x118b, 0x132b, 0x118b, 0x132b, 0x118b, 0x12ec, 0x114a, 0x12ec, 0x114a, -0x1344, 0x11a2, 0x1344, 0x11a2, 0x129b, 0x10fe, 0x129b, 0x10fe, 0x12d1, 0x113c, 0x12d1, -0x113c, 0x11dd, 0x1052, 0x11dd, 0x1052, 0x10bf, 0xf42, 0x10bf, 0xf42, 0x10bf, 0xf42, -0x10d2, 0xf67, 0x10d2, 0xf67, 0x1082, 0xf2c, 0x1082, 0xf2c, 0xd89, 0xc4a, 0xd89, -0xc4a, 0xcb8, 0xb93, 0xcb8, 0xb93, 0xda7, 0xc9e, 0xda7, 0xc9e, 0xda7, 0xc9e, -0xd82, 0xc98, 0xd82, 0xc98, 0xceb, 0xc21, 0xceb, 0xc21, 0xc1f, 0xb77, 0xc1f, -0xb77, 0xae8, 0xa62, 0xae8, 0xa62, 0xb05, 0xaa2, 0xb05, 0xaa2, 0xaf9, 0xab9, -0xaf9, 0xab9, 0xaf9, 0xab9, 0x8e5, 0x8c7, 0x8e5, 0x8c7, 0xa54, 0xa57, 0xa54, -0xa57, 0x69e, 0x6c0, 0x69e, 0x6c0, 0x5d2, 0x612, 0x5d2, 0x612, 0x68b, 0x6e7, -0x68b, 0x6e7, 0x34a, 0x3be, 0x34a, 0x3be, 0x34a, 0x3be, 0x4b5, 0x53f, 0x4b5, -0x53f, 0xd, 0xab, 0xd, 0xab, 0xfe53, 0xff01, 0xfe53, 0xff01, 0xfd42, 0xfdfd, -0xfd42, 0xfdfd, 0xfaaa, 0xfb6f, 0xfaaa, 0xfb6f, 0xfaaa, 0xfb6f, 0xfafd, 0xfbcb, 0xfafd, -0xfbcb, 0xf7a0, 0xf873, 0xf7a0, 0xf873, 0xf726, 0xf7fc, 0xf726, 0xf7fc, 0xf545, 0xf61d, -0xf545, 0xf61d, 0xf516, 0xf5ee, 0xf516, 0xf5ee, 0xf610, 0xf6e7, 0xf610, 0xf6e7, 0xf610, -0xf6e7, 0xf6e3, 0xf7b9, 0xf6e3, 0xf7b9, 0xf884, 0xf957, 0xf884, 0xf957, 0xf626, 0xf6f6, -0xf626, 0xf6f6, 0xf730, 0xf7fd, 0xf730, 0xf7fd, 0xf8c7, 0xf990, 0xf8c7, 0xf990, 0xf8c7, -0xf990, 0xf8ed, 0xf9b3, 0xf8ed, 0xf9b3, 0xfa2e, 0xfaf0, 0xfa2e, 0xfaf0, 0xf8e0, 0xf99d, -0xf8e0, 0xf99d, 0xf8e4, 0xf99b, 0xf8e4, 0xf99b, 0xfac7, 0xfb78, 0xfac7, 0xfb78, 0xf97b, -0xfa24, 0xf97b, 0xfa24, 0xf97b, 0xfa24, 0xf912, 0xf9b1, 0xf912, 0xf9b1, 0xf921, 0xf9b5, -0xf921, 0xf9b5, 0xf7b3, 0xf838, 0xf7b3, 0xf838, 0xf87f, 0xf8f2, 0xf87f, 0xf8f2, 0xf931, -0xf98f, 0xf931, 0xf98f, 0xf80e, 0xf855, 0xf80e, 0xf855, 0xf80e, 0xf855, 0xf8f7, 0xf923, -0xf8f7, 0xf923, 0xf7e0, 0xf7ee, 0xf7e0, 0xf7ee, 0xf74f, 0xf73c, 0xf74f, 0xf73c, 0xf871, -0xf83b, 0xf871, 0xf83b, 0xf67d, 0xf621, 0xf67d, 0xf621, 0xf67d, 0xf621, 0xf608, 0xf585, -0xf608, 0xf585, 0xf4dc, 0xf432, 0xf4dc, 0xf432, 0xf59e, 0xf4cc, 0xf59e, 0xf4cc, 0xf53f, -0xf448, 0xf53f, 0xf448, 0xf479, 0xf35d, 0xf479, 0xf35d, 0xf587, 0xf449, 0xf587, 0xf449, -0xf587, 0xf449, 0xf4db, 0xf37e, 0xf4db, 0xf37e, 0xf879, 0xf703, 0xf879, 0xf703, 0xf86b, -0xf6df, 0xf86b, 0xf6df, 0xf7be, 0xf622, 0xf7be, 0xf622, 0xfb08, 0xf962, 0xfb08, 0xf962, -0xfb2c, 0xf982, 0xfb2c, 0xf982, 0xfb2c, 0xf982, 0xfc30, 0xfa87, 0xfc30, 0xfa87, 0xfd7b, -0xfbda, 0xfd7b, 0xfbda, 0xfec1, 0xfd2c, 0xfec1, 0xfd2c, 0x1a, 0xfe96, 0x1a, 0xfe96, -0x2f4, 0x184, 0x2f4, 0x184, 0x2f4, 0x184, 0x4c0, 0x367, 0x4c0, 0x367, 0x501, -0x3c1, 0x501, 0x3c1, 0x714, 0x5ec, 0x714, 0x5ec, 0x71e, 0x60e, 0x71e, 0x60e, -0x97d, 0x883, 0x97d, 0x883, 0xa5e, 0x975, 0xa5e, 0x975, 0xa5e, 0x975, 0xa77, -0x99c, 0xa77, 0x99c, 0xc5e, 0xb8b, 0xc5e, 0xb8b, 0xbb3, 0xae2, 0xbb3, 0xae2, -0xe2c, 0xd56, 0xe2c, 0xd56, 0xfd0, 0xeee, 0xfd0, 0xeee, 0x1013, 0xf1d, 0x1013, -0xf1d, 0x1013, 0xf1d, 0x10dc, 0xfcc, 0x10dc, 0xfcc, 0xfc2, 0xe91, 0xfc2, 0xe91, -0x12ba, 0x1163, 0x12ba, 0x1163, 0x14ed, 0x136b, 0x14ed, 0x136b, 0x16e1, 0x152f, 0x16e1, -0x152f, 0x16e1, 0x152f, 0x1987, 0x17a5, 0x1987, 0x17a5, 0x19e2, 0x17cd, 0x19e2, 0x17cd, -0x1c55, 0x1a0f, 0x1c55, 0x1a0f, 0x1e31, 0x1bbc, 0x1e31, 0x1bbc, 0x1f81, 0x1ce0, 0x1f81, -0x1ce0, 0x1ee5, 0x1c1e, 0x1ee5, 0x1c1e, 0x1ee5, 0x1c1e, 0x1f2c, 0x1c46, 0x1f2c, 0x1c46, -0x1ee7, 0x1be9, 0x1ee7, 0x1be9, 0x1f33, 0x1c25, 0x1f33, 0x1c25, 0x20a1, 0x1d8c, 0x20a1, -0x1d8c, 0x2030, 0x1d1e, 0x2030, 0x1d1e, 0x216b, 0x1e65, 0x216b, 0x1e65, 0x216b, 0x1e65, -0x1f83, 0x1c92, 0x1f83, 0x1c92, 0x20cb, 0x1df8, 0x20cb, 0x1df8, 0x21bb, 0x1f0d, 0x21bb, -0x1f0d, 0x2060, 0x1dde, 0x2060, 0x1dde, 0x1ff2, 0x1da1, 0x1ff2, 0x1da1, 0x1ff2, 0x1da1, -0x1c47, 0x1a2d, 0x1c47, 0x1a2d, 0x1c90, 0x1aad, 0x1c90, 0x1aad, 0x1a97, 0x18ee, 0x1a97, -0x18ee, 0x19c2, 0x1852, 0x19c2, 0x1852, 0x18dc, 0x17a2, 0x18dc, 0x17a2, 0x15cf, 0x14c9, -0x15cf, 0x14c9, 0x15cf, 0x14c9, 0x157f, 0x14a8, 0x157f, 0x14a8, 0x1355, 0x12a8, 0x1355, -0x12a8, 0x12de, 0x1255, 0x12de, 0x1255, 0xeb3, 0xe47, 0xeb3, 0xe47, 0xc5b, 0xc06, -0xc5b, 0xc06, 0xa82, 0xa3c, 0xa82, 0xa3c, 0xa82, 0xa3c, 0x8c7, 0x88b, 0x8c7, -0x88b, 0x7dc, 0x7a4, 0x7dc, 0x7a4, 0x570, 0x536, 0x570, 0x536, 0x546, 0x508, -0x546, 0x508, 0x31e, 0x2d8, 0x31e, 0x2d8, 0x31e, 0x2d8, 0x32a, 0x2db, 0x32a, -0x2db, 0x267, 0x20f, 0x267, 0x20f, 0x143, 0xe2, 0x143, 0xe2, 0xaa, 0x42, -0xaa, 0x42, 0xffd9, 0xff6e, 0xffd9, 0xff6e, 0x62, 0xfff8, 0x62, 0xfff8, 0x62, -0xfff8, 0x1, 0xff9d, 0x1, 0xff9d, 0xfe64, 0xfe0b, 0xfe64, 0xfe0b, 0xfe01, 0xfdb8, -0xfe01, 0xfdb8, 0xfd8c, 0xfd59, 0xfd8c, 0xfd59, 0xfd25, 0xfd0c, 0xfd25, 0xfd0c, 0xfb98, -0xfb9f, 0xfb98, 0xfb9f, 0xfb98, 0xfb9f, 0xfa5e, 0xfa89, 0xfa5e, 0xfa89, 0xfbc5, 0xfc17, -0xfbc5, 0xfc17, 0xfa65, 0xfae0, 0xfa65, 0xfae0, 0xf913, 0xf9b9, 0xf913, 0xf9b9, 0xf793, -0xf863, 0xf793, 0xf863, 0xf793, 0xf863, 0xf638, 0xf72f, 0xf638, 0xf72f, 0xf65e, 0xf77b, -0xf65e, 0xf77b, 0xf4ad, 0xf5ec, 0xf4ad, 0xf5ec, 0xf3d3, 0xf52e, 0xf3d3, 0xf52e, 0xf393, -0xf503, 0xf393, 0xf503, 0xf1ad, 0xf32c, 0xf1ad, 0xf32c, 0xf1ad, 0xf32c, 0xf25b, 0xf3e2, -0xf25b, 0xf3e2, 0xf137, 0xf2bd, 0xf137, 0xf2bd, 0xf053, 0xf1d2, 0xf053, 0xf1d2, 0xf0b1, -0xf220, 0xf0b1, 0xf220, 0xf0e6, 0xf23e, 0xf0e6, 0xf23e, 0xf150, 0xf289, 0xf150, 0xf289, -0xf150, 0xf289, 0xf082, 0xf198, 0xf082, 0xf198, 0xf12b, 0xf217, 0xf12b, 0xf217, 0xf1a4, -0xf263, 0xf1a4, 0xf263, 0xf310, 0xf39e, 0xf310, 0xf39e, 0xf4c7, 0xf523, 0xf4c7, 0xf523, -0xf4c7, 0xf523, 0xf764, 0xf78c, 0xf764, 0xf78c, 0xf869, 0xf85f, 0xf869, 0xf85f, 0xf9e0, -0xf9a4, 0xf9e0, 0xf9a4, 0xfb5b, 0xfaf0, 0xfb5b, 0xfaf0, 0xfbe8, 0xfb51, 0xfbe8, 0xfb51, -0xfd91, 0xfcd2, 0xfd91, 0xfcd2, 0xfd91, 0xfcd2, 0xfef6, 0xfe12, 0xfef6, 0xfe12, 0xc8, -0xffc5, 0xc8, 0xffc5, 0x2c1, 0x1a4, 0x2c1, 0x1a4, 0x5ec, 0x4b9, 0x5ec, 0x4b9, -0x780, 0x63b, 0x780, 0x63b, 0x82c, 0x6da, 0x82c, 0x6da, 0x82c, 0x6da, 0x90a, -0x7ae, 0x90a, 0x7ae, 0x877, 0x714, 0x877, 0x714, 0xa48, 0x8e1, 0xa48, 0x8e1, -0xa43, 0x8d9, 0xa43, 0x8d9, 0x96a, 0x7ff, 0x96a, 0x7ff, 0x96a, 0x7ff, 0xba3, -0xa38, 0xba3, 0xa38, 0xc15, 0xaaa, 0xc15, 0xaaa, 0xc73, 0xb08, 0xc73, 0xb08, -0xc41, 0xad5, 0xc41, 0xad5, 0xc9e, 0xb30, 0xc9e, 0xb30, 0xb7c, 0xa0b, 0xb7c, -0xa0b, 0xb7c, 0xa0b, 0x839, 0x6c6, 0x839, 0x6c6, 0x816, 0x6a0, 0x816, 0x6a0, -0xab4, 0x93a, 0xab4, 0x93a, 0x8fe, 0x783, 0x8fe, 0x783, 0x7de, 0x661, 0x7de, -0x661, 0x7de, 0x661, 0x7bd, 0x642, 0x7bd, 0x642, 0x715, 0x59f, 0x715, 0x59f, -0x705, 0x596, 0x705, 0x596, 0x5c7, 0x466, 0x5c7, 0x466, 0x6ed, 0x59e, 0x6ed, -0x59e, 0x518, 0x3e1, 0x518, 0x3e1, 0x518, 0x3e1, 0x427, 0x310, 0x427, 0x310, -0x4d1, 0x3e1, 0x4d1, 0x3e1, 0x33e, 0x27d, 0x33e, 0x27d, 0x18b, 0x101, 0x18b, -0x101, 0xa6, 0x5c, 0xa6, 0x5c, 0xfd18, 0xfd16, 0xfd18, 0xfd16, 0xfd18, 0xfd16, -0xfc01, 0xfc4f, 0xfc01, 0xfc4f, 0xf9de, 0xfa82, 0xf9de, 0xfa82, 0xf81b, 0xf91e, 0xf81b, -0xf91e, 0xf532, 0xf697, 0xf532, 0xf697, 0xf242, 0xf40f, 0xf242, 0xf40f, 0xf242, 0xf40f, -0xf14e, 0xf388, 0xf14e, 0xf388, 0xecc7, 0xef6e, 0xecc7, 0xef6e, 0xeb51, 0xee68, 0xeb51, -0xee68, 0xe6f7, 0xea7c, 0xe6f7, 0xea7c, 0xe50e, 0xe8ff, 0xe50e, 0xe8ff, 0xe1a2, 0xe5fc, -0xe1a2, 0xe5fc, 0xe1a2, 0xe5fc, 0xe0ad, 0xe56c, 0xe0ad, 0xe56c, 0xdd5e, 0xe27a, 0xdd5e, -0xe27a, 0xdb07, 0xe07a, 0xdb07, 0xe07a, 0xdba6, 0xe167, 0xdba6, 0xe167, 0xd7c7, 0xddcc, -0xd7c7, 0xddcc, 0xd6b6, 0xdcf4, 0xd6b6, 0xdcf4, 0xd6b6, 0xdcf4, 0xd3b2, 0xda20, 0xd3b2, -0xda20, 0xd421, 0xdab2, 0xd421, 0xdab2, 0xd18e, 0xd837, 0xd18e, 0xd837, 0xd0f5, 0xd7aa, -0xd0f5, 0xd7aa, 0xcf59, 0xd60e, 0xcf59, 0xd60e, 0xcf59, 0xd60e, 0xccac, 0xd357, 0xccac, -0xd357, 0xcf14, 0xd5a9, 0xcf14, 0xd5a9, 0xcfe0, 0xd656, 0xcfe0, 0xd656, 0xd1c9, 0xd818, -0xd1c9, 0xd818, 0xd161, 0xd780, 0xd161, 0xd780, 0xd5bf, 0xdba7, 0xd5bf, 0xdba7, 0xd5bf, -0xdba7, 0xd7c7, 0xdd72, 0xd7c7, 0xdd72, 0xd5d3, 0xdb3d, 0xd5d3, 0xdb3d, 0xdaf4, 0xe019, -0xdaf4, 0xe019, 0xdb7a, 0xe057, 0xdb7a, 0xe057, 0xdc0f, 0xe0a3, 0xdc0f, 0xe0a3, 0xdd7b, -0xe1c5, 0xdd7b, 0xe1c5, 0xdd7b, 0xe1c5, 0xde51, 0xe250, 0xde51, 0xe250, 0xde9b, 0xe251, -0xde9b, 0xe251, 0xe021, 0xe38f, 0xe021, 0xe38f, 0xe2d1, 0xe5f8, 0xe2d1, 0xe5f8, 0xe445, -0xe725, 0xe445, 0xe725, 0xe445, 0xe725, 0xe955, 0xebf2, 0xe955, 0xebf2, 0xea24, 0xec7f, -0xea24, 0xec7f, 0xec27, 0xee41, 0xec27, 0xee41, 0xed78, 0xef52, 0xed78, 0xef52, 0xef64, -0xf0ff, 0xef64, 0xf0ff, 0xf26a, 0xf3c6, 0xf26a, 0xf3c6, 0xf26a, 0xf3c6, 0xf555, 0xf671, -0xf555, 0xf671, 0xf94a, 0xfa27, 0xf94a, 0xfa27, 0xfad0, 0xfb6b, 0xfad0, 0xfb6b, 0xff40, -0xff99, 0xff40, 0xff99, 0x2cb, 0x2df, 0x2cb, 0x2df, 0x4de, 0x4ac, 0x4de, 0x4ac, -0x4de, 0x4ac, 0x998, 0x91d, 0x998, 0x91d, 0xa7a, 0x9b5, 0xa7a, 0x9b5, 0xd46, -0xc34, 0xd46, 0xc34, 0x1069, 0xf0b, 0x1069, 0xf0b, 0x1219, 0x106d, 0x1219, 0x106d, -0x1219, 0x106d, 0x15ed, 0x13f3, 0x15ed, 0x13f3, 0x1747, 0x1501, 0x1747, 0x1501, 0x1b93, -0x1902, 0x1b93, 0x1902, 0x1b78, 0x18a1, 0x1b78, 0x18a1, 0x1e06, 0x1aed, 0x1e06, 0x1aed, -0x1e8f, 0x1b38, 0x1e8f, 0x1b38, 0x1e8f, 0x1b38, 0x1fa5, 0x1c18, 0x1fa5, 0x1c18, 0x2106, -0x1d4a, 0x2106, 0x1d4a, 0x1e1d, 0x1a3c, 0x1e1d, 0x1a3c, 0x1ea0, 0x1aa3, 0x1ea0, 0x1aa3, -0x1ddb, 0x19cc, 0x1ddb, 0x19cc, 0x1e36, 0x1a21, 0x1e36, 0x1a21, 0x1e36, 0x1a21, 0x1d8c, -0x197c, 0x1d8c, 0x197c, 0x1cb0, 0x18af, 0x1cb0, 0x18af, 0x1b3c, 0x1756, 0x1b3c, 0x1756, -0x1d4c, 0x198c, 0x1d4c, 0x198c, 0x1bf8, 0x1867, 0x1bf8, 0x1867, 0x1bf8, 0x1867, 0x1989, -0x1631, 0x1989, 0x1631, 0x1686, 0x136e, 0x1686, 0x136e, 0x11ba, 0xeea, 0x11ba, 0xeea, -0x10cb, 0xe48, 0x10cb, 0xe48, 0xe66, 0xc33, 0xe66, 0xc33, 0xaf0, 0x910, 0xaf0, -0x910, 0xaf0, 0x910, 0xada, 0x94e, 0xada, 0x94e, 0x883, 0x749, 0x883, 0x749, -0x63e, 0x554, 0x63e, 0x554, 0x580, 0x4e2, 0x580, 0x4e2, 0x3f7, 0x3a1, 0x3f7, -0x3a1, 0x27f, 0x26a, 0x27f, 0x26a, 0x27f, 0x26a, 0xfde7, 0xfe0d, 0xfde7, 0xfe0d, -0xfd0c, 0xfd65, 0xfd0c, 0xfd65, 0xfabb, 0xfb40, 0xfabb, 0xfb40, 0xf935, 0xf9dd, 0xf935, -0xf9dd, 0xf8c0, 0xf984, 0xf8c0, 0xf984, 0xf8c0, 0xf984, 0xf810, 0xf8e9, 0xf810, 0xf8e9, -0xf790, 0xf877, 0xf790, 0xf877, 0xf7dd, 0xf8cc, 0xf7dd, 0xf8cc, 0xf5a9, 0xf69a, 0xf5a9, -0xf69a, 0xf4a9, 0xf598, 0xf4a9, 0xf598, 0xf5ac, 0xf696, 0xf5ac, 0xf696, 0xf5ac, 0xf696, -0xf438, 0xf51b, 0xf438, 0xf51b, 0xf4ea, 0xf5c5, 0xf4ea, 0xf5c5, 0xf5fc, 0xf6cd, 0xf5fc, -0xf6cd, 0xf71a, 0xf7e4, 0xf71a, 0xf7e4, 0xf5e1, 0xf6a3, 0xf5e1, 0xf6a3, 0xf752, 0xf80f, -0xf752, 0xf80f, 0xf752, 0xf80f, 0xf84f, 0xf909, 0xf84f, 0xf909, 0xf877, 0xf92f, 0xf877, -0xf92f, 0xfa7c, 0xfb35, 0xfa7c, 0xfb35, 0xfd0a, 0xfdc6, 0xfd0a, 0xfdc6, 0xfd83, 0xfe43, -0xfd83, 0xfe43, 0xfd83, 0xfe43, 0xfec7, 0xff8c, 0xfec7, 0xff8c, 0x3a, 0x103, 0x3a, -0x103, 0x73, 0x140, 0x73, 0x140, 0xffbb, 0x8a, 0xffbb, 0x8a, 0, 0xd0, -0, 0xd0, 0xfe92, 0xff5e, 0xfe92, 0xff5e, 0xfe92, 0xff5e, 0xfc4a, 0xfd0f, 0xfc4a, -0xfd0f, 0xfd05, 0xfdbf, 0xfd05, 0xfdbf, 0xfd22, 0xfdca, 0xfd22, 0xfdca, 0xff2a, 0xffbc, -0xff2a, 0xffbc, 0xfee1, 0xff57, 0xfee1, 0xff57, 0xffb3, 0x7, 0xffb3, 0x7, 0xffb3, -0x7, 0xffd4, 0x2, 0xffd4, 0x2, 0xfd7e, 0xfd81, 0xfd7e, 0xfd81, 0xfca1, 0xfc75, -0xfca1, 0xfc75, 0xfed4, 0xfe76, 0xfed4, 0xfe76, 0xff60, 0xfece, 0xff60, 0xfece, 0xff60, -0xfece, 0xffad, 0xfee5, 0xffad, 0xfee5, 0xfef1, 0xfdf4, 0xfef1, 0xfdf4, 0xfff5, 0xfec6, -0xfff5, 0xfec6, 0x10b, 0xffac, 0x10b, 0xffac, 0x128, 0xff9e, 0x128, 0xff9e, 0x2f0, -0x13f, 0x2f0, 0x13f, 0x2f0, 0x13f, 0x20d, 0x3e, 0x20d, 0x3e, 0x327, 0x140, -0x327, 0x140, 0x3ad, 0x1b7, 0x3ad, 0x1b7, 0x588, 0x38c, 0x588, 0x38c, 0x694, -0x49a, 0x694, 0x49a, 0x694, 0x49a, 0x797, 0x5a9, 0x797, 0x5a9, 0x918, 0x73d, -0x918, 0x73d, 0x92d, 0x76e, 0x92d, 0x76e, 0x703, 0x568, 0x703, 0x568, 0x671, -0x500, 0x671, 0x500, 0x691, 0x54f, 0x691, 0x54f, 0x691, 0x54f, 0x63c, 0x52e, -0x63c, 0x52e, 0x64a, 0x571, 0x64a, 0x571, 0x7ab, 0x709, 0x7ab, 0x709, 0x7f4, -0x788, 0x7f4, 0x788, 0x9cc, 0x994, 0x9cc, 0x994, 0xa2e, 0xa27, 0xa2e, 0xa27, -0xa2e, 0xa27, 0x93c, 0x961, 0x93c, 0x961, 0x9d9, 0xa25, 0x9d9, 0xa25, 0x7fc, -0x867, 0x7fc, 0x867, 0x938, 0x9ba, 0x938, 0x9ba, 0x68b, 0x71d, 0x68b, 0x71d, -0x68b, 0x71d, 0x862, 0x8fa, 0x862, 0x8fa, 0x5a6, 0x63c, 0x5a6, 0x63c, 0x400, -0x48c, 0x400, 0x48c, 0x637, 0x6b1, 0x637, 0x6b1, 0x6c5, 0x726, 0x6c5, 0x726, -0x70b, 0x74b, 0x70b, 0x74b, 0x70b, 0x74b, 0x84d, 0x867, 0x84d, 0x867, 0xb83, -0xb73, 0xb83, 0xb73, 0xb8e, 0xb50, 0xb8e, 0xb50, 0xea6, 0xe38, 0xea6, 0xe38, -0xcce, 0xc2e, 0xcce, 0xc2e, 0xe3b, 0xd69, 0xe3b, 0xd69, 0xe3b, 0xd69, 0xefe, -0xdfa, 0xefe, 0xdfa, 0xedf, 0xdab, 0xedf, 0xdab, 0x1124, 0xfc2, 0x1124, 0xfc2, -0x1052, 0xec5, 0x1052, 0xec5, 0xf79, 0xdc4, 0xf79, 0xdc4, 0xf79, 0xdc4, 0x1210, -0x1037, 0x1210, 0x1037, 0x12bc, 0x10c3, 0x12bc, 0x10c3, 0x1487, 0x1270, 0x1487, 0x1270, -0x1562, 0x1331, 0x1562, 0x1331, 0x154f, 0x1306, 0x154f, 0x1306, 0x165b, 0x13fd, 0x165b, -0x13fd, 0x165b, 0x13fd, 0x151a, 0x12a8, 0x151a, 0x12a8, 0x1729, 0x14a5, 0x1729, 0x14a5, -0x1646, 0x13b0, 0x1646, 0x13b0, 0x13e8, 0x1140, 0x13e8, 0x1140, 0xfa1, 0xce7, 0xfa1, -0xce7, 0x104d, 0xd80, 0x104d, 0xd80, 0x104d, 0xd80, 0x11cf, 0xeed, 0x11cf, 0xeed, -0xffa, 0xd02, 0xffa, 0xd02, 0xf91, 0xc81, 0xf91, 0xc81, 0xf94, 0xc6b, 0xf94, -0xc6b, 0xf76, 0xc32, 0xf76, 0xc32, 0xf76, 0xc32, 0xcd2, 0x972, 0xcd2, 0x972, -0xa4f, 0x6d3, 0xa4f, 0x6d3, 0xb84, 0x7ec, 0xb84, 0x7ec, 0x9ed, 0x63a, 0x9ed, -0x63a, 0xa01, 0x634, 0xa01, 0x634, 0xbaa, 0x7c6, 0xbaa, 0x7c6, 0xbaa, 0x7c6, -0xadb, 0x6e3, 0xadb, 0x6e3, 0xc21, 0x819, 0xc21, 0x819, 0xbd4, 0x7c3, 0xbd4, -0x7c3, 0xdd7, 0x9c2, 0xdd7, 0x9c2, 0xf54, 0xb43, 0xf54, 0xb43, 0xde4, 0x9de, -0xde4, 0x9de, 0xde4, 0x9de, 0xe2a, 0xa38, 0xe2a, 0xa38, 0x1082, 0xcac, 0x1082, -0xcac, 0xfc0, 0xc10, 0xfc0, 0xc10, 0x11b1, 0xe30, 0x11b1, 0xe30, 0x1152, 0xe09, -0x1152, 0xe09, 0x1152, 0xe09, 0x1112, 0xe09, 0x1112, 0xe09, 0xffb, 0xd3b, 0xffb, -0xd3b, 0xe0f, 0xba0, 0xe0f, 0xba0, 0xd7c, 0xb64, 0xd7c, 0xb64, 0xb17, 0x95b, -0xb17, 0x95b, 0x9b9, 0x85d, 0x9b9, 0x85d, 0x9b9, 0x85d, 0x5f1, 0x4f9, 0x5f1, -0x4f9, 0x57c, 0x4e9, 0x57c, 0x4e9, 0x3f3, 0x3c3, 0x3f3, 0x3c3, 0x230, 0x264, -0x230, 0x264, 0x111, 0x1a4, 0x111, 0x1a4, 0xfe43, 0xff30, 0xfe43, 0xff30, 0xfe43, -0xff30, 0xfb43, 0xfc85, 0xfb43, 0xfc85, 0xfa2b, 0xfbba, 0xfa2b, 0xfbba, 0xf748, 0xf91a, -0xf748, 0xf91a, 0xf569, 0xf776, 0xf569, 0xf776, 0xf1b4, 0xf3f1, 0xf1b4, 0xf3f1, 0xf1b4, -0xf3f1, 0xf3ab, 0xf60e, 0xf3ab, 0xf60e, 0xf2a7, 0xf524, 0xf2a7, 0xf524, 0xefa1, 0xf22d, -0xefa1, 0xf22d, 0xf1bf, 0xf44f, 0xf1bf, 0xf44f, 0xf0a6, 0xf331, 0xf0a6, 0xf331, 0xf15a, -0xf3d6, 0xf15a, 0xf3d6, 0xf15a, 0xf3d6, 0xee49, 0xf0ad, 0xee49, 0xf0ad, 0xf0f4, 0xf339, -0xf0f4, 0xf339, 0xf29f, 0xf4c0, 0xf29f, 0xf4c0, 0xf6fe, 0xf8f7, 0xf6fe, 0xf8f7, 0xf7d4, -0xf9a1, 0xf7d4, 0xf9a1, 0xf8f4, 0xfa93, 0xf8f4, 0xfa93, 0xf8f4, 0xfa93, 0xfd23, 0xfe95, -0xfd23, 0xfe95, 0xff12, 0x58, 0xff12, 0x58, 0x2b6, 0x3d3, 0x2b6, 0x3d3, 0x2a0, -0x397, 0x2a0, 0x397, 0x294, 0x369, 0x294, 0x369, 0x294, 0x369, 0x37b, 0x435, -0x37b, 0x435, 0x439, 0x4dc, 0x439, 0x4dc, 0x4b2, 0x544, 0x4b2, 0x544, 0x675, -0x6fb, 0x675, 0x6fb, 0x476, 0x4f4, 0x476, 0x4f4, 0x628, 0x6a5, 0x628, 0x6a5, -0x628, 0x6a5, 0x45c, 0x4d9, 0x45c, 0x4d9, 0x49, 0xcb, 0x49, 0xcb, 0xfe6c, -0xfef4, 0xfe6c, 0xfef4, 0xfcf8, 0xfd86, 0xfcf8, 0xfd86, 0xfb25, 0xfbb9, 0xfb25, 0xfbb9, -0xfd05, 0xfd9f, 0xfd05, 0xfd9f, 0xfd05, 0xfd9f, 0xfd50, 0xfdee, 0xfd50, 0xfdee, 0xf9dc, -0xfa7b, 0xf9dc, 0xfa7b, 0xf9d4, 0xfa70, 0xf9d4, 0xfa70, 0xf845, 0xf8dc, 0xf845, 0xf8dc, -0xf834, 0xf8c2, 0xf834, 0xf8c2, 0xf834, 0xf8c2, 0xf62f, 0xf6b2, 0xf62f, 0xf6b2, 0xf5b5, -0xf62b, 0xf5b5, 0xf62b, 0xf69f, 0xf705, 0xf69f, 0xf705, 0xf488, 0xf4dd, 0xf488, 0xf4dd, -0xf45c, 0xf4a1, 0xf45c, 0xf4a1, 0xf6c4, 0xf6fb, 0xf6c4, 0xf6fb, 0xf6c4, 0xf6fb, 0xf6d4, -0xf700, 0xf6d4, 0xf700, 0xf754, 0xf779, 0xf754, 0xf779, 0xf544, 0xf567, 0xf544, 0xf567, -0xf4cb, 0xf4f2, 0xf4cb, 0xf4f2, 0xf564, 0xf597, 0xf564, 0xf597, 0xf48f, 0xf4d6, 0xf48f, -0xf4d6, 0xf48f, 0xf4d6, 0xf4c0, 0xf524, 0xf4c0, 0xf524, 0xf60c, 0xf696, 0xf60c, 0xf696, -0xf56b, 0xf623, 0xf56b, 0xf623, 0xf220, 0xf30f, 0xf220, 0xf30f, 0xf12d, 0xf25a, 0xf12d, -0xf25a, 0xf12d, 0xf25a, 0xeff9, 0xf16b, 0xeff9, 0xf16b, 0xee7a, 0xf036, 0xee7a, 0xf036, -0xec3e, 0xee48, 0xec3e, 0xee48, 0xe8b5, 0xeb0f, 0xe8b5, 0xeb0f, 0xe650, 0xe8fb, 0xe650, -0xe8fb, 0xe4d8, 0xe7d3, 0xe4d8, 0xe7d3, 0xe4d8, 0xe7d3, 0xe271, 0xe5b8, 0xe271, 0xe5b8, -0xe40a, 0xe798, 0xe40a, 0xe798, 0xe026, 0xe3f5, 0xe026, 0xe3f5, 0xde5c, 0xe264, 0xde5c, -0xe264, 0xde3d, 0xe276, 0xde3d, 0xe276, 0xde3d, 0xe276, 0xdcc4, 0xe124, 0xdcc4, 0xe124, -0xdbf4, 0xe070, 0xdbf4, 0xe070, 0xd966, 0xddf4, 0xd966, 0xddf4, 0xd893, 0xdd29, 0xd893, -0xdd29, 0xda3a, 0xdecd, 0xda3a, 0xdecd, 0xdaa3, 0xdf2b, 0xdaa3, 0xdf2b, 0xdaa3, 0xdf2b, -0xdb04, 0xdf76, 0xdb04, 0xdf76, 0xdc9b, 0xe0f1, 0xdc9b, 0xe0f1, 0xdb40, 0xdf73, 0xdb40, -0xdf73, 0xded7, 0xe2e2, 0xded7, 0xe2e2, 0xddeb, 0xe1c8, 0xddeb, 0xe1c8, 0xe1ef, 0xe59d, -0xe1ef, 0xe59d, 0xe1ef, 0xe59d, 0xe417, 0xe794, 0xe417, 0xe794, 0xe4b1, 0xe7fa, 0xe4b1, -0xe7fa, 0xe5f5, 0xe90b, 0xe5f5, 0xe90b, 0xe845, 0xeb29, 0xe845, 0xeb29, 0xec55, 0xef07, -0xec55, 0xef07, 0xec55, 0xef07, 0xeeba, 0xf13c, 0xeeba, 0xf13c, 0xf109, 0xf35b, 0xf109, -0xf35b, 0xeff6, 0xf219, 0xeff6, 0xf219, 0xf186, 0xf37c, 0xf186, 0xf37c, 0xf082, 0xf249, -0xf082, 0xf249, 0xf4b7, 0xf651, 0xf4b7, 0xf651, 0xf4b7, 0xf651, 0xf590, 0xf6fb, 0xf590, -0xf6fb, 0xf6e8, 0xf822, 0xf6e8, 0xf822, 0xf9ea, 0xfaf2, 0xf9ea, 0xfaf2, 0xfe01, 0xfed5, -0xfe01, 0xfed5, 0xfce6, 0xfd82, 0xfce6, 0xfd82, 0xfb1e, 0xfb80, 0xfb1e, 0xfb80, 0xfb1e, -0xfb80, 0xfd66, 0xfd8a, 0xfd66, 0xfd8a, 0xfd73, 0xfd58, 0xfd73, 0xfd58, 0x4, 0xffa6, -0x4, 0xffa6, 0x1f0, 0x14e, 0x1f0, 0x14e, 0x4cb, 0x3e3, 0x4cb, 0x3e3, 0x4cb, -0x3e3, 0x5f4, 0x4c5, 0x5f4, 0x4c5, 0xb5a, 0x9e4, 0xb5a, 0x9e4, 0xf1f, 0xd64, -0xf1f, 0xd64, 0x10bc, 0xebd, 0x10bc, 0xebd, 0x11c1, 0xf82, 0x11c1, 0xf82, 0x13f5, -0x1179, 0x13f5, 0x1179, 0x13f5, 0x1179, 0x164f, 0x139b, 0x164f, 0x139b, 0x1820, 0x1539, -0x1820, 0x1539, 0x1960, 0x164c, 0x1960, 0x164c, 0x1b7f, 0x1845, 0x1b7f, 0x1845, 0x1ce0, -0x1987, 0x1ce0, 0x1987, 0x1c5b, 0x18ea, 0x1c5b, 0x18ea, 0x1c5b, 0x18ea, 0x1ea7, 0x1b26, -0x1ea7, 0x1b26, 0x2060, 0x1cd7, 0x2060, 0x1cd7, 0x200b, 0x1c81, 0x200b, 0x1c81, 0x1cf7, -0x1973, 0x1cf7, 0x1973, 0x1d0e, 0x1997, 0x1d0e, 0x1997, 0x1d0e, 0x1997, 0x1d54, 0x19f2, -0x1d54, 0x19f2, 0x19cd, 0x1685, 0x19cd, 0x1685, 0x1920, 0x15f8, 0x1920, 0x15f8, 0x19dc, -0x16db, 0x19dc, 0x16db, 0x1906, 0x1632, 0x1906, 0x1632, 0x17eb, 0x1549, 0x17eb, 0x1549, -0x17eb, 0x1549, 0x15be, 0x1352, 0x15be, 0x1352, 0x13e1, 0x11b0, 0x13e1, 0x11b0, 0xdc0, -0xbce, 0xdc0, 0xbce, 0x9e4, 0x834, 0x9e4, 0x834, 0x821, 0x6b6, 0x821, 0x6b6, -0x5fa, 0x4d6, 0x5fa, 0x4d6, 0x5fa, 0x4d6, 0x45c, 0x381, 0x45c, 0x381, 0x38c, -0x2fb, 0x38c, 0x2fb, 0x241, 0x1fb, 0x241, 0x1fb, 0x97, 0x9a, 0x97, 0x9a, -0xfdf3, 0xfe3e, 0xfdf3, 0xfe3e, 0xfdf3, 0xfe3e, 0xfc26, 0xfcb7, 0xfc26, 0xfcb7, 0xf99a, -0xfa6d, 0xf99a, 0xfa6d, 0xf712, 0xf821, 0xf712, 0xf821, 0xf7f0, 0xf937, 0xf7f0, 0xf937, -0xf490, 0xf606, 0xf490, 0xf606, 0xf5a1, 0xf740, 0xf5a1, 0xf740, 0xf5a1, 0xf740, 0xf104, -0xf2c2, 0xf104, 0xf2c2, 0xefbc, 0xf190, 0xefbc, 0xf190, 0xefff, 0xf1df, 0xefff, 0xf1df, -0xedd2, 0xefb5, 0xedd2, 0xefb5, 0xede8, 0xefc4, 0xede8, 0xefc4, 0xede7, 0xefb2, 0xede7, -0xefb2, 0xede7, 0xefb2, 0xed6a, 0xef1c, 0xed6a, 0xef1c, 0xe9f2, 0xeb83, 0xe9f2, 0xeb83, -0xe9f7, 0xeb5f, 0xe9f7, 0xeb5f, 0xee39, 0xef73, 0xee39, 0xef73, 0xef14, 0xf01c, 0xef14, -0xf01c, 0xef14, 0xf01c, 0xec17, 0xecec, 0xec17, 0xecec, 0xee92, 0xef32, 0xee92, 0xef32, -0xeda8, 0xee15, 0xeda8, 0xee15, 0xf1af, 0xf1eb, 0xf1af, 0xf1eb, 0xefba, 0xefc9, 0xefba, -0xefc9, 0xf3fe, 0xf3e6, 0xf3fe, 0xf3e6, 0xf3fe, 0xf3e6, 0xf8cc, 0xf893, 0xf8cc, 0xf893, -0xf998, 0xf947, 0xf998, 0xf947, 0xfd18, 0xfcb7, 0xfd18, 0xfcb7, 0xfc47, 0xfbdf, 0xfc47, -0xfbdf, 0x14, 0xffac, 0x14, 0xffac, 0xfdd4, 0xfd75, 0xfdd4, 0xfd75, 0xfdd4, 0xfd75, -0x12e, 0xdf, 0x12e, 0xdf, 0x2c, 0xfff4, 0x2c, 0xfff4, 0xfef3, 0xfed8, 0xfef3, -0xfed8, 0x228, 0x22c, 0x228, 0x22c, 0x34c, 0x373, 0x34c, 0x373, 0x34c, 0x373, -0x5a0, 0x5e9, 0x5a0, 0x5e9, 0x64d, 0x6b9, 0x64d, 0x6b9, 0x7af, 0x83b, 0x7af, -0x83b, 0x826, 0x8ce, 0x826, 0x8ce, 0x6f4, 0x7b4, 0x6f4, 0x7b4, 0x8f3, 0x9c4, -0x8f3, 0x9c4, 0x8f3, 0x9c4, 0x8ec, 0x9c9, 0x8ec, 0x9c9, 0x9b0, 0xa93, 0x9b0, -0xa93, 0xad0, 0xbb1, 0xad0, 0xbb1, 0x920, 0x9fa, 0x920, 0x9fa, 0xb86, 0xc53, -0xb86, 0xc53, 0xa00, 0xaba, 0xa00, 0xaba, 0xa00, 0xaba, 0xb86, 0xc2a, 0xb86, -0xc2a, 0xbe9, 0xc74, 0xbe9, 0xc74, 0xb72, 0xbe3, 0xb72, 0xbe3, 0xd22, 0xd79, -0xd22, 0xd79, 0xc61, 0xc9e, 0xc61, 0xc9e, 0xc61, 0xc9e, 0xc92, 0xcb8, 0xc92, -0xcb8, 0xc61, 0xc74, 0xc61, 0xc74, 0xc0d, 0xc0f, 0xc0d, 0xc0f, 0xb05, 0xafc, -0xb05, 0xafc, 0xba9, 0xb99, 0xba9, 0xb99, 0xbec, 0xbdb, 0xbec, 0xbdb, 0xbec, -0xbdb, 0xa50, 0xa41, 0xa50, 0xa41, 0xb3b, 0xb32, 0xb3b, 0xb32, 0xbc7, 0xbc8, -0xbc7, 0xbc8, 0xd46, 0xd53, 0xd46, 0xd53, 0xd3a, 0xd54, 0xd3a, 0xd54, 0xe15, -0xe3b, 0xe15, 0xe3b, 0xe15, 0xe3b, 0xe04, 0xe36, 0xe04, 0xe36, 0xd6f, 0xda9, -0xd6f, 0xda9, 0xf05, 0xf44, 0xf05, 0xf44, 0xcc8, 0xd06, 0xcc8, 0xd06, 0xd7c, -0xdb3, 0xd7c, 0xdb3, 0xd7c, 0xdb3, 0xbef, 0xc18, 0xbef, 0xc18, 0xae2, 0xaf7, -0xae2, 0xaf7, 0xa23, 0xa1c, 0xa23, 0xa1c, 0x951, 0x927, 0x951, 0x927, 0x738, -0x6e4, 0x738, 0x6e4, 0x66f, 0x5eb, 0x66f, 0x5eb, 0x66f, 0x5eb, 0x511, 0x457, -0x511, 0x457, 0x650, 0x55b, 0x650, 0x55b, 0x9e3, 0x8b1, 0x9e3, 0x8b1, 0x8df, -0x76c, 0x8df, 0x76c, 0x7e9, 0x635, 0x7e9, 0x635, 0x7e9, 0x635, 0x8b0, 0x6bc, -0x8b0, 0x6bc, 0xb25, 0x8f2, 0xb25, 0x8f2, 0x9e2, 0x772, 0x9e2, 0x772, 0xb9b, -0x8f2, 0xb9b, 0x8f2, 0x9bc, 0x6de, 0x9bc, 0x6de, 0xb57, 0x849, 0xb57, 0x849, -0xb57, 0x849, 0xb66, 0x82f, 0xb66, 0x82f, 0xbe1, 0x885, 0xbe1, 0x885, 0xb0b, -0x790, 0xb0b, 0x790, 0xa37, 0x6a4, 0xa37, 0x6a4, 0xcab, 0x905, 0xcab, 0x905, -0xcd6, 0x922, 0xcd6, 0x922, 0xcd6, 0x922, 0xefb, 0xb3d, 0xefb, 0xb3d, 0xcef, -0x92c, 0xcef, 0x92c, 0xd75, 0x9b0, 0xd75, 0x9b0, 0xa7d, 0x6b9, 0xa7d, 0x6b9, -0xc08, 0x847, 0xc08, 0x847, 0xc08, 0x847, 0xa3b, 0x67f, 0xa3b, 0x67f, 0x901, -0x549, 0x901, 0x549, 0xa09, 0x658, 0xa09, 0x658, 0x9da, 0x62f, 0x9da, 0x62f, -0xbc0, 0x81b, 0xbc0, 0x81b, 0x9a8, 0x609, 0x9a8, 0x609, 0x9a8, 0x609, 0xb37, -0x79d, 0xb37, 0x79d, 0xa99, 0x704, 0xa99, 0x704, 0x80e, 0x47e, 0x80e, 0x47e, -0x92b, 0x59f, 0x92b, 0x59f, 0x9df, 0x659, 0x9df, 0x659, 0x8ff, 0x57f, 0x8ff, -0x57f, 0x8ff, 0x57f, 0xa33, 0x6b9, 0xa33, 0x6b9, 0x92a, 0x5b9, 0x92a, 0x5b9, -0x9c1, 0x65b, 0x9c1, 0x65b, 0xac9, 0x771, 0xac9, 0x771, 0xccc, 0x985, 0xccc, -0x985, 0xccc, 0x985, 0xcd0, 0x99f, 0xcd0, 0x99f, 0xd66, 0xa50, 0xd66, 0xa50, -0xf51, 0xc5b, 0xf51, 0xc5b, 0xeb3, 0xbe2, 0xeb3, 0xbe2, 0xf48, 0xca3, 0xf48, -0xca3, 0xec6, 0xc55, 0xec6, 0xc55, 0xec6, 0xc55, 0x113c, 0xf05, 0x113c, 0xf05, -0x100c, 0xe18, 0x100c, 0xe18, 0xf95, 0xdeb, 0xf95, 0xdeb, 0xf16, 0xdbe, 0xf16, -0xdbe, 0xde9, 0xceb, 0xde9, 0xceb, 0x102b, 0xf8e, 0x102b, 0xf8e, 0x102b, 0xf8e, -0xaa9, 0xa74, 0xaa9, 0xa74, 0x9cd, 0xa05, 0x9cd, 0xa05, 0x805, 0x8b0, 0x805, -0x8b0, 0x55f, 0x680, 0x55f, 0x680, 0x6d0, 0x869, 0x6d0, 0x869, 0x6d0, 0x869, -0x189, 0x39a, 0x189, 0x39a, 0x169, 0x3f1, 0x169, 0x3f1, 0xffc9, 0x2c4, 0xffc9, -0x2c4, 0xfed0, 0x239, 0xfed0, 0x239, 0xfde8, 0x1b7, 0xfde8, 0x1b7, 0xfbb1, 0xffdc, -0xfbb1, 0xffdc, 0xfbb1, 0xffdc, 0xfc05, 0x81, 0xfc05, 0x81, 0xfade, 0xff9c, 0xfade, -0xff9c, 0xfa14, 0xff06, 0xfa14, 0xff06, 0xf7f1, 0xfd07, 0xf7f1, 0xfd07, 0xf6b2, 0xfbdb, -0xf6b2, 0xfbdb, 0xf7bf, 0xfce8, 0xf7bf, 0xfce8, 0xf7bf, 0xfce8, 0xf751, 0xfc6a, 0xf751, -0xfc6a, 0xf77c, 0xfc73, 0xf77c, 0xfc73, 0xf92a, 0xfdef, 0xf92a, 0xfdef, 0xf98b, 0xfe0d, -0xf98b, 0xfe0d, 0xfa0b, 0xfe3f, 0xfa0b, 0xfe3f, 0xfa0b, 0xfe3f, 0xf97b, 0xfd55, 0xf97b, -0xfd55, 0xfe42, 0x1b9, 0xfe42, 0x1b9, 0xfede, 0x1ed, 0xfede, 0x1ed, 0x1b3, 0x455, -0x1b3, 0x455, 0x1ec, 0x421, 0x1ec, 0x421, 0x25f, 0x42a, 0x25f, 0x42a, 0x25f, -0x42a, 0x4eb, 0x650, 0x4eb, 0x650, 0x353, 0x45a, 0x353, 0x45a, 0x655, 0x708, -0x655, 0x708, 0x466, 0x4ce, 0x466, 0x4ce, 0x5b8, 0x5e3, 0x5b8, 0x5e3, 0x429, -0x424, 0x429, 0x424, 0x429, 0x424, 0x418, 0x3f0, 0x418, 0x3f0, 0x228, 0x1ea, -0x228, 0x1ea, 0xa1, 0x59, 0xa1, 0x59, 0xff28, 0xfee1, 0xff28, 0xfee1, 0xfc00, -0xfbc4, 0xfc00, 0xfbc4, 0xfc00, 0xfbc4, 0xfe32, 0xfe08, 0xfe32, 0xfe08, 0xfc63, 0xfc50, -0xfc63, 0xfc50, 0xfbcf, 0xfbd7, 0xfbcf, 0xfbd7, 0xfcc6, 0xfcea, 0xfcc6, 0xfcea, 0xfc8f, -0xfcce, 0xfc8f, 0xfcce, 0xfa55, 0xfaac, 0xfa55, 0xfaac, 0xfa55, 0xfaac, 0xf9d6, 0xfa41, -0xf9d6, 0xfa41, 0xf857, 0xf8d1, 0xf857, 0xf8d1, 0xf7e3, 0xf865, 0xf7e3, 0xf865, 0xf698, -0xf71c, 0xf698, 0xf71c, 0xf7ea, 0xf869, 0xf7ea, 0xf869, 0xf744, 0xf7ba, 0xf744, 0xf7ba, -0xf744, 0xf7ba, 0xf3ea, 0xf453, 0xf3ea, 0xf453, 0xf538, 0xf590, 0xf538, 0xf590, 0xf1b3, -0xf1fa, 0xf1b3, 0xf1fa, 0xf1d5, 0xf20b, 0xf1d5, 0xf20b, 0xf46f, 0xf498, 0xf46f, 0xf498, -0xf46f, 0xf498, 0xf279, 0xf299, 0xf279, 0xf299, 0xf086, 0xf0a5, 0xf086, 0xf0a5, 0xed9c, -0xedc3, 0xed9c, 0xedc3, 0xed56, 0xed8f, 0xed56, 0xed8f, 0xec79, 0xeccf, 0xec79, 0xeccf, -0xe89f, 0xe91e, 0xe89f, 0xe91e, 0xe89f, 0xe91e, 0xe96b, 0xea1f, 0xe96b, 0xea1f, 0xe6fa, -0xe7ed, 0xe6fa, 0xe7ed, 0xe3d3, 0xe510, 0xe3d3, 0xe510, 0xe2fd, 0xe48c, 0xe2fd, 0xe48c, -0xe1ee, 0xe3d6, 0xe1ee, 0xe3d6, 0xe125, 0xe36b, 0xe125, 0xe36b, 0xe125, 0xe36b, 0xded7, -0xe17b, 0xded7, 0xe17b, 0xdec3, 0xe1c4, 0xdec3, 0xe1c4, 0xdbcb, 0xdf25, 0xdbcb, 0xdf25, -0xdae8, 0xde93, 0xdae8, 0xde93, 0xdb5b, 0xdf4f, 0xdb5b, 0xdf4f, 0xdb5b, 0xdf4f, 0xd9fb, -0xde2c, 0xd9fb, 0xde2c, 0xd88f, 0xdcf0, 0xd88f, 0xdcf0, 0xd677, 0xdaf8, 0xd677, 0xdaf8, -0xd843, 0xdcd4, 0xd843, 0xdcd4, 0xd603, 0xda95, 0xd603, 0xda95, 0xd7b8, 0xdc3a, 0xd7b8, -0xdc3a, 0xd7b8, 0xdc3a, 0xd789, 0xdbed, 0xd789, 0xdbed, 0xd70c, 0xdb44, 0xd70c, 0xdb44, -0xda2e, 0xde2e, 0xda2e, 0xde2e, 0xdb0d, 0xdecd, 0xdb0d, 0xdecd, 0xdf67, 0xe2de, 0xdf67, -0xe2de, 0xde2c, 0xe156, 0xde2c, 0xe156, 0xde2c, 0xe156, 0xe248, 0xe523, 0xe248, 0xe523, -0xe446, 0xe6d3, 0xe446, 0xe6d3, 0xe69b, 0xe8dc, 0xe69b, 0xe8dc, 0xe947, 0xeb42, 0xe947, -0xeb42, 0xeb12, 0xeccc, 0xeb12, 0xeccc, 0xeb12, 0xeccc, 0xef13, 0xf094, 0xef13, 0xf094, -0xef59, 0xf0a9, 0xef59, 0xf0a9, 0xf37a, 0xf4a0, 0xf37a, 0xf4a0, 0xf38c, 0xf492, 0xf38c, -0xf492, 0xf427, 0xf512, 0xf427, 0xf512, 0xf3a3, 0xf479, 0xf3a3, 0xf479, 0xf3a3, 0xf479, -0xf587, 0xf64b, 0xf587, 0xf64b, 0xf8c0, 0xf975, 0xf8c0, 0xf975, 0xfb16, 0xfbbb, 0xfb16, -0xfbbb, 0xfced, 0xfd81, 0xfced, 0xfd81, 0xfcc9, 0xfd47, 0xfcc9, 0xfd47, 0xfcc9, 0xfd47, -0xff01, 0xff63, 0xff01, 0xff63, 0xc1, 0x100, 0xc1, 0x100, 0x219, 0x22c, 0x219, -0x22c, 0x2bc, 0x299, 0x2bc, 0x299, 0x4d7, 0x475, 0x4d7, 0x475, 0x797, 0x6ec, -0x797, 0x6ec, 0x797, 0x6ec, 0xa02, 0x906, 0xa02, 0x906, 0xeec, 0xd95, 0xeec, -0xd95, 0x113c, 0xf86, 0x113c, 0xf86, 0x125e, 0x1045, 0x125e, 0x1045, 0x1907, 0x1688, -0x1907, 0x1688, 0x19c0, 0x16dd, 0x19c0, 0x16dd, 0x19c0, 0x16dd, 0x1b7d, 0x1837, 0x1b7d, -0x1837, 0x1c4b, 0x18a9, 0x1c4b, 0x18a9, 0x1eee, 0x1af7, 0x1eee, 0x1af7, 0x21d0, 0x1d8e, -0x21d0, 0x1d8e, 0x1fbf, 0x1b3e, 0x1fbf, 0x1b3e, 0x1fbf, 0x1b3e, 0x2328, 0x1e76, 0x2328, -0x1e76, 0x1fd6, 0x1b01, 0x1fd6, 0x1b01, 0x200f, 0x1b26, 0x200f, 0x1b26, 0x2231, 0x1d45, -0x2231, 0x1d45, 0x22da, 0x1df9, 0x22da, 0x1df9, 0x2350, 0x1e89, 0x2350, 0x1e89, 0x2350, -0x1e89, 0x208b, 0x1bec, 0x208b, 0x1bec, 0x1f7a, 0x1b10, 0x1f7a, 0x1b10, 0x1c9b, 0x1872, -0x1c9b, 0x1872, 0x1b73, 0x1795, 0x1b73, 0x1795, 0x1b3a, 0x17af, 0x1b3a, 0x17af, 0x1a72, -0x1741, 0x1a72, 0x1741, 0x1a72, 0x1741, 0x1770, 0x149e, 0x1770, 0x149e, 0x15bf, 0x134f, -0x15bf, 0x134f, 0x1333, 0x1129, 0x1333, 0x1129, 0xda3, 0xbff, 0xda3, 0xbff, 0x9e8, -0x8ac, 0x9e8, 0x8ac, 0x9e8, 0x8ac, 0x712, 0x63c, 0x712, 0x63c, 0x50c, 0x49d, -0x50c, 0x49d, 0x34a, 0x340, 0x34a, 0x340, 0x216, 0x271, 0x216, 0x271, 0xffef, -0xac, 0xffef, 0xac, 0xfdc4, 0xfee1, 0xfdc4, 0xfee1, 0xfdc4, 0xfee1, 0xfbdb, 0xfd57, -0xfbdb, 0xfd57, 0xfaa5, 0xfc7d, 0xfaa5, 0xfc7d, 0xf80e, 0xfa41, 0xf80e, 0xfa41, 0xf75a, -0xf9e3, 0xf75a, 0xf9e3, 0xf602, 0xf8de, 0xf602, 0xf8de, 0xf354, 0xf67f, 0xf354, 0xf67f, -0xf354, 0xf67f, 0xf306, 0xf67a, 0xf306, 0xf67a, 0xef07, 0xf2be, 0xef07, 0xf2be, 0xee2f, -0xf221, 0xee2f, 0xf221, 0xec59, 0xf07d, 0xec59, 0xf07d, 0xec85, 0xf0d2, 0xec85, 0xf0d2, -0xec85, 0xf0d2, 0xebf5, 0xf060, 0xebf5, 0xf060, 0xe914, 0xed8f, 0xe914, 0xed8f, 0xe95b, -0xeddb, 0xe95b, 0xeddb, 0xe74a, 0xebc0, 0xe74a, 0xebc0, 0xe784, 0xebe4, 0xe784, 0xebe4, -0xe751, 0xeb8d, 0xe751, 0xeb8d, 0xe751, 0xeb8d, 0xe8d7, 0xece2, 0xe8d7, 0xece2, 0xe95b, -0xed28, 0xe95b, 0xed28, 0xe835, 0xebba, 0xe835, 0xebba, 0xea26, 0xed59, 0xea26, 0xed59, -0xeb84, 0xee5d, 0xeb84, 0xee5d, 0xeb54, 0xedce, 0xeb54, 0xedce, 0xeb54, 0xedce, 0xee71, -0xf089, 0xee71, 0xf089, 0xefca, 0xf17c, 0xefca, 0xf17c, 0xf2e8, 0xf437, 0xf2e8, 0xf437, -0xf699, 0xf788, 0xf699, 0xf788, 0xf74d, 0xf7e0, 0xf74d, 0xf7e0, 0xf74d, 0xf7e0, 0xf8d3, -0xf911, 0xf8d3, 0xf911, 0xf860, 0xf851, 0xf860, 0xf851, 0xfd33, 0xfcdf, 0xfd33, 0xfcdf, -0xfc07, 0xfb79, 0xfc07, 0xfb79, 0xfe1a, 0xfd5b, 0xfe1a, 0xfd5b, 0x1d3, 0xee, 0x1d3, -0xee, 0x1d3, 0xee, 0x4e, 0xff4a, 0x4e, 0xff4a, 0x2e0, 0x1c8, 0x2e0, 0x1c8, -0x3a1, 0x27a, 0x3a1, 0x27a, 0x6ec, 0x5bd, 0x6ec, 0x5bd, 0x77a, 0x647, 0x77a, -0x647, 0x835, 0x702, 0x835, 0x702, 0x835, 0x702, 0xa59, 0x926, 0xa59, 0x926, -0x9f7, 0x8c5, 0x9f7, 0x8c5, 0xa5d, 0x92b, 0xa5d, 0x92b, 0x9cb, 0x896, 0x9cb, -0x896, 0x8f3, 0x7b8, 0x8f3, 0x7b8, 0x8f3, 0x7b8, 0x70e, 0x5cb, 0x70e, 0x5cb, -0x6a2, 0x553, 0x6a2, 0x553, 0x8bd, 0x760, 0x8bd, 0x760, 0x6b2, 0x544, 0x6b2, -0x544, 0x739, 0x5b8, 0x739, 0x5b8, 0x69e, 0x50a, 0x69e, 0x50a, 0x69e, 0x50a, -0x539, 0x393, 0x539, 0x393, 0x726, 0x570, 0x726, 0x570, 0x759, 0x596, 0x759, -0x596, 0x973, 0x7a8, 0x973, 0x7a8, 0x6c2, 0x4f3, 0x6c2, 0x4f3, 0x8be, 0x6f2, -0x8be, 0x6f2, 0x8be, 0x6f2, 0x6d8, 0x516, 0x6d8, 0x516, 0x584, 0x3d1, 0x584, -0x3d1, 0xa7b, 0x8df, 0xa7b, 0x8df, 0x8f9, 0x77a, 0x8f9, 0x77a, 0xc4c, 0xaef, -0xc4c, 0xaef, 0xc4c, 0xaef, 0xb6f, 0xa38, 0xb6f, 0xa38, 0xc82, 0xb74, 0xc82, -0xb74, 0xc75, 0xb91, 0xc75, 0xb91, 0xb93, 0xad7, 0xb93, 0xad7, 0xdd5, 0xd40, -0xdd5, 0xd40, 0xbd2, 0xb61, 0xbd2, 0xb61, 0xbd2, 0xb61, 0xe07, 0xdb3, 0xe07, -0xdb3, 0xc5f, 0xc22, 0xc5f, 0xc22, 0xb97, 0xb69, 0xb97, 0xb69, 0xb61, 0xb39, -0xb61, 0xb39, 0x9a9, 0x97e, 0x9a9, 0x97e, 0xb90, 0xb5a, 0xb90, 0xb5a, 0xb90, -0xb5a, 0xae2, 0xa98, 0xae2, 0xa98, 0xb06, 0xaa0, 0xb06, 0xaa0, 0xd88, 0xd00, -0xd88, 0xd00, 0xc8f, 0xbde, 0xc8f, 0xbde, 0xc73, 0xb96, 0xc73, 0xb96, 0xc73, -0xb96, 0xcff, 0xbf4, 0xcff, 0xbf4, 0xd67, 0xc2d, 0xd67, 0xc2d, 0xe6b, 0xd03, -0xe6b, 0xd03, 0x1027, 0xe94, 0x1027, 0xe94, 0x13d0, 0x1217, 0x13d0, 0x1217, 0xf4b, -0xd70, 0xf4b, 0xd70, 0xf4b, 0xd70, 0xff2, 0xdfb, 0xff2, 0xdfb, 0x1204, 0xff8, -0x1204, 0xff8, 0xf2c, 0xd11, 0xf2c, 0xd11, 0xf01, 0xcdf, 0xf01, 0xcdf, 0xe7a, -0xc56, 0xe7a, 0xc56, 0xedd, 0xcbc, 0xedd, 0xcbc, 0xedd, 0xcbc, 0xdfa, 0xbe1, -0xdfa, 0xbe1, 0x102b, 0xe1c, 0x102b, 0xe1c, 0x10ad, 0xea9, 0x10ad, 0xea9, 0x117a, -0xf82, 0x117a, 0xf82, 0xf7f, 0xd91, 0xf7f, 0xd91, 0xf7f, 0xd91, 0xdde, 0xbf7, -0xdde, 0xbf7, 0xdab, 0xbc7, 0xdab, 0xbc7, 0xc07, 0xa20, 0xc07, 0xa20, 0xeaa, -0xcbb, 0xeaa, 0xcbb, 0xdb4, 0xbb7, 0xdb4, 0xbb7, 0xd37, 0xb24, 0xd37, 0xb24, -0xd37, 0xb24, 0xcd7, 0xaa9, 0xcd7, 0xaa9, 0xc7b, 0xa2c, 0xc7b, 0xa2c, 0xb8a, -0x915, 0xb8a, 0x915, 0x8ae, 0x60f, 0x8ae, 0x60f, 0x972, 0x6a8, 0x972, 0x6a8, -0x972, 0x6a8, 0x987, 0x68f, 0x987, 0x68f, 0x8ee, 0x5cb, 0x8ee, 0x5cb, 0xbc1, -0x874, 0xbc1, 0x874, 0x9d6, 0x664, 0x9d6, 0x664, 0x7f5, 0x462, 0x7f5, 0x462, -0x93a, 0x58f, 0x93a, 0x58f, 0x93a, 0x58f, 0x8ce, 0x512, 0x8ce, 0x512, 0x9ca, -0x608, 0x9ca, 0x608, 0xacc, 0x70d, 0xacc, 0x70d, 0xb61, 0x7ae, 0xb61, 0x7ae, -0xac0, 0x726, 0xac0, 0x726, 0xd3b, 0x9c4, 0xd3b, 0x9c4, 0xd3b, 0x9c4, 0xd48, -0x9ff, 0xd48, 0x9ff, 0xe25, 0xb14, 0xe25, 0xb14, 0xf01, 0xc31, 0xf01, 0xc31, -0xe25, 0xb9f, 0xe25, 0xb9f, 0xd4b, 0xb16, 0xd4b, 0xb16, 0xd4b, 0xb16, 0xb6d, -0x991, 0xb6d, 0x991, 0xc04, 0xa85, 0xc04, 0xa85, 0x8d3, 0x7b6, 0x8d3, 0x7b6, -0x9d2, 0x919, 0x9d2, 0x919, 0x81f, 0x7cc, 0x81f, 0x7cc, 0x7bc, 0x7d0, 0x7bc, -0x7d0, 0x7bc, 0x7d0, 0x6ba, 0x733, 0x6ba, 0x733, 0x38f, 0x46b, 0x38f, 0x46b, -0x4fc, 0x638, 0x4fc, 0x638, 0x1b3, 0x34c, 0x1b3, 0x34c, 0x16e, 0x35f, 0x16e, -0x35f, 0xfe51, 0x93, 0xfe51, 0x93, 0xfe51, 0x93, 0xfce3, 0xff70, 0xfce3, 0xff70, -0xfc7c, 0xff4a, 0xfc7c, 0xff4a, 0xfaf8, 0xfe01, 0xfaf8, 0xfe01, 0xfac3, 0xfdfc, 0xfac3, -0xfdfc, 0xf629, 0xf988, 0xf629, 0xf988, 0xf629, 0xf988, 0xf748, 0xfac2, 0xf748, 0xfac2, -0xf9d2, 0xfd5c, 0xf9d2, 0xfd5c, 0xf84e, 0xfbdc, 0xf84e, 0xfbdc, 0xf9cd, 0xfd55, 0xf9cd, -0xfd55, 0xf901, 0xfc78, 0xf901, 0xfc78, 0xf5e8, 0xf941, 0xf5e8, 0xf941, 0xf5e8, 0xf941, -0xf7a7, 0xfad8, 0xf7a7, 0xfad8, 0xfa5b, 0xfd5c, 0xfa5b, 0xfd5c, 0xfe35, 0xfb, 0xfe35, -0xfb, 0xff05, 0x189, 0xff05, 0x189, 0x1ba, 0x3f6, 0x1ba, 0x3f6, 0x468, 0x656, -0x468, 0x656, 0x468, 0x656, 0x3f4, 0x591, 0x3f4, 0x591, 0x4d4, 0x61e, 0x4d4, -0x61e, 0x3e8, 0x4df, 0x3e8, 0x4df, 0x48e, 0x533, 0x48e, 0x533, 0x37e, 0x3d4, -0x37e, 0x3d4, 0x37e, 0x3d4, 0x4f3, 0x4fe, 0x4f3, 0x4fe, 0x4ea, 0x4b1, 0x4ea, -0x4b1, 0x361, 0x2e8, 0x361, 0x2e8, 0x245, 0x195, 0x245, 0x195, 0x12d, 0x4d, -0x12d, 0x4d, 0x104, 0xfffd, 0x104, 0xfffd, 0x104, 0xfffd, 0xffd2, 0xfeab, 0xffd2, -0xfeab, 0x29e, 0x15e, 0x29e, 0x15e, 0x121, 0xffce, 0x121, 0xffce, 0xff4e, 0xfdf0, -0xff4e, 0xfdf0, 0xfff9, 0xfe94, 0xfff9, 0xfe94, 0xfd28, 0xfbc1, 0xfd28, 0xfbc1, 0xfd28, -0xfbc1, 0xfb33, 0xf9cd, 0xfb33, 0xf9cd, 0xfb52, 0xf9f0, 0xfb52, 0xf9f0, 0xf922, 0xf7c5, -0xf922, 0xf7c5, 0xf9b1, 0xf85a, 0xf9b1, 0xf85a, 0xfa31, 0xf8e1, 0xfa31, 0xf8e1, 0xfa31, -0xf8e1, 0xf92e, 0xf7e5, 0xf92e, 0xf7e5, 0xf658, 0xf517, 0xf658, 0xf517, 0xf3b5, 0xf27d, -0xf3b5, 0xf27d, 0xf3ed, 0xf2be, 0xf3ed, 0xf2be, 0xf08d, 0xef6a, 0xf08d, 0xef6a, 0xf346, -0xf232, 0xf346, 0xf232, 0xf346, 0xf232, 0xf210, 0xf10e, 0xf210, 0xf10e, 0xf159, 0xf070, -0xf159, 0xf070, 0xefb5, 0xeee9, 0xefb5, 0xeee9, 0xed1b, 0xec75, 0xed1b, 0xec75, 0xee8a, -0xee11, 0xee8a, 0xee11, 0xeaab, 0xea68, 0xeaab, 0xea68, 0xeaab, 0xea68, 0xebf2, 0xebee, -0xebf2, 0xebee, 0xe943, 0xe986, 0xe943, 0xe986, 0xe75e, 0xe7f2, 0xe75e, 0xe7f2, 0xe495, -0xe580, 0xe495, 0xe580, 0xe126, 0xe26f, 0xe126, 0xe26f, 0xe126, 0xe26f, 0xe1eb, 0xe396, -0xe1eb, 0xe396, 0xded6, 0xe0e6, 0xded6, 0xe0e6, 0xdfb5, 0xe22a, 0xdfb5, 0xe22a, 0xddfb, -0xe0d3, 0xddfb, 0xe0d3, 0xd9c1, 0xdcf7, 0xd9c1, 0xdcf7, 0xdb3c, 0xdecb, 0xdb3c, 0xdecb, -0xdb3c, 0xdecb, 0xdaad, 0xde89, 0xdaad, 0xde89, 0xd949, 0xdd68, 0xd949, 0xdd68, 0xd907, -0xdd5b, 0xd907, 0xdd5b, 0xd726, 0xdba1, 0xd726, 0xdba1, 0xd4fb, 0xd98b, 0xd4fb, 0xd98b, -0xd2f8, 0xd78e, 0xd2f8, 0xd78e, 0xd2f8, 0xd78e, 0xd4df, 0xd96c, 0xd4df, 0xd96c, 0xd46f, -0xd8e3, 0xd46f, 0xd8e3, 0xd65c, 0xdaa8, 0xd65c, 0xdaa8, 0xd7e4, 0xdbfc, 0xd7e4, 0xdbfc, -0xd8fd, 0xdcd8, 0xd8fd, 0xdcd8, 0xd8fd, 0xdcd8, 0xdc9c, 0xe030, 0xdc9c, 0xe030, 0xdced, -0xe037, 0xdced, 0xe037, 0xdfaf, 0xe2ab, 0xdfaf, 0xe2ab, 0xdfb2, 0xe262, 0xdfb2, 0xe262, -0xe361, 0xe5c9, 0xe361, 0xe5c9, 0xe5eb, 0xe810, 0xe5eb, 0xe810, 0xe5eb, 0xe810, 0xe863, -0xea4e, 0xe863, 0xea4e, 0xea6f, 0xec29, 0xea6f, 0xec29, 0xe9fb, 0xeb8f, 0xe9fb, 0xeb8f, -0xee1c, 0xef96, 0xee1c, 0xef96, 0xee25, 0xef90, 0xee25, 0xef90, 0xef71, 0xf0d8, 0xef71, -0xf0d8, 0xef71, 0xf0d8, 0xf0a5, 0xf212, 0xf0a5, 0xf212, 0xf0b3, 0xf22d, 0xf0b3, 0xf22d, -0xf0b3, 0xf23f, 0xf0b3, 0xf23f, 0xf2a0, 0xf443, 0xf2a0, 0xf443, 0xf3ba, 0xf573, 0xf3ba, -0xf573, 0xf3ba, 0xf573, 0xf512, 0xf6de, 0xf512, 0xf6de, 0xf6c0, 0xf89b, 0xf6c0, 0xf89b, -0xf6c1, 0xf8a2, 0xf6c1, 0xf8a2, 0xf8c1, 0xfa9e, 0xf8c1, 0xfa9e, 0xfb9a, 0xfd68, 0xfb9a, -0xfd68, 0xff4a, 0xfb, 0xff4a, 0xfb, 0xff4a, 0xfb, 0x6b, 0x1f1, 0x6b, 0x1f1, -0x4af, 0x5fd, 0x4af, 0x5fd, 0x621, 0x72a, 0x621, 0x72a, 0x9e4, 0xa9d, 0x9e4, -0xa9d, 0xe1b, 0xe78, 0xe1b, 0xe78, 0x1098, 0x1092, 0x1098, 0x1092, 0x1098, 0x1092, -0x1457, 0x13ea, 0x1457, 0x13ea, 0x166d, 0x1598, 0x166d, 0x1598, 0x1b2b, 0x19ee, 0x1b2b, -0x19ee, 0x1cac, 0x1b0d, 0x1cac, 0x1b0d, 0x1f47, 0x1d4e, 0x1f47, 0x1d4e, 0x1f47, 0x1d4e, -0x1f51, 0x1d0a, 0x1f51, 0x1d0a, 0x1fca, 0x1d42, 0x1fca, 0x1d42, 0x20bd, 0x1e03, 0x20bd, -0x1e03, 0x2147, 0x1e6d, 0x2147, 0x1e6d, 0x224f, 0x1f68, 0x224f, 0x1f68, 0x217b, 0x1e99, -0x217b, 0x1e99, 0x217b, 0x1e99, 0x2116, 0x1e4b, 0x2116, 0x1e4b, 0x2053, 0x1db1, 0x2053, -0x1db1, 0x1fa2, 0x1d38, 0x1fa2, 0x1d38, 0x1dd3, 0x1baf, 0x1dd3, 0x1baf, 0x1f0d, 0x1d39, -0x1f0d, 0x1d39, 0x1f0d, 0x1d39, 0x1dbe, 0x1c43, 0x1dbe, 0x1c43, 0x1aaa, 0x198d, 0x1aaa, -0x198d, 0x1960, 0x18a3, 0x1960, 0x18a3, 0x159c, 0x153f, 0x159c, 0x153f, 0x11f3, 0x11f2, -0x11f3, 0x11f2, 0xfb8, 0x100d, 0xfb8, 0x100d, 0xfb8, 0x100d, 0xcfd, 0xda0, 0xcfd, -0xda0, 0xbfd, 0xce5, 0xbfd, 0xce5, 0xac0, 0xbe2, 0xac0, 0xbe2, 0x9cc, 0xb1e, -0x9cc, 0xb1e, 0x74f, 0x8c4, 0x74f, 0x8c4, 0x4c7, 0x656, 0x4c7, 0x656, 0x4c7, -0x656, 0x3dd, 0x57b, 0x3dd, 0x57b, 0x10a, 0x2af, 0x10a, 0x2af, 0x1c2, 0x366, -0x1c2, 0x366, 0x4c, 0x1eb, 0x4c, 0x1eb, 0xffc1, 0x157, 0xffc1, 0x157, 0xffc1, -0x157, 0xfd97, 0xff20, 0xfd97, 0xff20, 0xf8f9, 0xfa76, 0xf8f9, 0xfa76, 0xf692, 0xf803, -0xf692, 0xf803, 0xf41f, 0xf586, 0xf41f, 0xf586, 0xf504, 0xf663, 0xf504, 0xf663, 0xf35c, -0xf4b5, 0xf35c, 0xf4b5, 0xf35c, 0xf4b5, 0xf35b, 0xf4b1, 0xf35b, 0xf4b1, 0xf085, 0xf1d9, -0xf085, 0xf1d9, 0xeeef, 0xf043, 0xeeef, 0xf043, 0xef10, 0xf065, 0xef10, 0xf065, 0xeaf3, -0xec46, 0xeaf3, 0xec46, 0xebd0, 0xed20, 0xebd0, 0xed20, 0xebd0, 0xed20, 0xeba4, 0xecee, -0xeba4, 0xecee, 0xed39, 0xee77, 0xed39, 0xee77, 0xee1f, 0xef49, 0xee1f, 0xef49, 0xeed9, -0xefea, 0xeed9, 0xefea, 0xee34, 0xef23, 0xee34, 0xef23, 0xee34, 0xef23, 0xedc8, 0xee8d, -0xedc8, 0xee8d, 0xefd5, 0xf069, 0xefd5, 0xf069, 0xf03e, 0xf098, 0xf03e, 0xf098, 0xf2d2, -0xf2eb, 0xf2d2, 0xf2eb, 0xf4a4, 0xf476, 0xf4a4, 0xf476, 0xf6db, 0xf662, 0xf6db, 0xf662, -0xf6db, 0xf662, 0xf883, 0xf7bd, 0xf883, 0xf7bd, 0xfb04, 0xf9f1, 0xfb04, 0xf9f1, 0xfcf1, -0xfb92, 0xfcf1, 0xfb92, 0x18, 0xfe71, 0x18, 0xfe71, 0x182, 0xff99, 0x182, 0xff99, -0x46c, 0x247, 0x46c, 0x247, 0x46c, 0x247, 0x5cf, 0x379, 0x5cf, 0x379, 0x60f, -0x392, 0x60f, 0x392, 0x670, 0x3d8, 0x670, 0x3d8, 0x699, 0x3f2, 0x699, 0x3f2, -0x8cc, 0x622, 0x8cc, 0x622, 0x8cc, 0x622, 0x6df, 0x43e, 0x6df, 0x43e, 0xb4a, -0x8be, 0xb4a, 0x8be, 0x9ad, 0x741, 0x9ad, 0x741, 0x9e5, 0x7a3, 0x9e5, 0x7a3, -0xbc9, 0x9b9, 0xbc9, 0x9b9, 0x920, 0x748, 0x920, 0x748, 0x920, 0x748, 0x812, -0x677, 0x812, 0x677, 0x694, 0x53b, 0x694, 0x53b, 0x7bb, 0x6a5, 0x7bb, 0x6a5, -0x600, 0x52d, 0x600, 0x52d, 0x623, 0x594, 0x623, 0x594, 0x5c7, 0x578, 0x5c7, -0x578, 0x5c7, 0x578, 0x527, 0x516, 0x527, 0x516, 0x76c, 0x795, 0x76c, 0x795, -0x908, 0x969, 0x908, 0x969, 0x81a, 0x8ae, 0x81a, 0x8ae, 0x7a8, 0x86b, 0x7a8, -0x86b, 0x7a8, 0x86b, 0x662, 0x751, 0x662, 0x751, 0x6ed, 0x805, 0x6ed, 0x805, -0x799, 0x8d6, 0x799, 0x8d6, 0x8e7, 0xa47, 0x8e7, 0xa47, 0x96d, 0xaed, 0x96d, -0xaed, 0x914, 0xab2, 0x914, 0xab2, 0x914, 0xab2, 0x8ee, 0xaa8, 0x8ee, 0xaa8, -0x897, 0xa6a, 0x897, 0xa6a, 0xb02, 0xceb, 0xb02, 0xceb, 0x934, 0xb30, 0x934, -0xb30, 0xb37, 0xd41, 0xb37, 0xd41, 0xb28, 0xd3d, 0xb28, 0xd3d, 0xb28, 0xd3d, -0xa16, 0xc2e, 0xa16, 0xc2e, 0xa2a, 0xc40, 0xa2a, 0xc40, 0x87a, 0xa86, 0x87a, -0xa86, 0x6d3, 0x8cc, 0x6d3, 0x8cc, 0x4fd, 0x6d9, 0x4fd, 0x6d9, 0x4fd, 0x6d9, -0x604, 0x7ba, 0x604, 0x7ba, 0x5a2, 0x728, 0x5a2, 0x728, 0x758, 0x8a5, 0x758, -0x8a5, 0x7f7, 0x900, 0x7f7, 0x900, 0x6a6, 0x762, 0x6a6, 0x762, 0x6bf, 0x728, -0x6bf, 0x728, 0x6bf, 0x728, 0x935, 0x942, 0x935, 0x942, 0xa8f, 0xa3c, 0xa8f, -0xa3c, 0xb2c, 0xa76, 0xb2c, 0xa76, 0xc56, 0xb3a, 0xc56, 0xb3a, 0xeae, 0xd2e, -0xeae, 0xd2e, 0x11aa, 0xfc8, 0x11aa, 0xfc8, 0x11aa, 0xfc8, 0x129b, 0x105b, 0x129b, -0x105b, 0x1549, 0x12b2, 0x1549, 0x12b2, 0x13e1, 0x10fb, 0x13e1, 0x10fb, 0x135d, 0x1031, -0x135d, 0x1031, 0x12ad, 0xf45, 0x12ad, 0xf45, 0x12ad, 0xf45, 0x1333, 0xf9b, 0x1333, -0xf9b, 0x1588, 0x11ca, 0x1588, 0x11ca, 0x13af, 0xfd6, 0x13af, 0xfd6, 0x16b3, 0x12c9, -0x16b3, 0x12c9, 0x1485, 0x1094, 0x1485, 0x1094, 0x1460, 0x1070, 0x1460, 0x1070, 0x1460, -0x1070, 0x1514, 0x112b, 0x1514, 0x112b, 0x1171, 0xd95, 0x1171, 0xd95, 0x1249, 0xe7e, -0x1249, 0xe7e, 0x11f6, 0xe3e, 0x11f6, 0xe3e, 0x11ae, 0xe09, 0x11ae, 0xe09, 0xfe0, -0xc4c, 0xfe0, 0xc4c, 0xfe0, 0xc4c, 0x108a, 0xd06, 0x108a, 0xd06, 0xee9, 0xb71, -0xee9, 0xb71, 0xca5, 0x935, 0xca5, 0x935, 0xcc4, 0x957, 0xcc4, 0x957, 0xc39, -0x8cb, 0xc39, 0x8cb, 0xc39, 0x8cb, 0xd19, 0x9a8, 0xd19, 0x9a8, 0xcc7, 0x94e, -0xcc7, 0x94e, 0xd2b, 0x9a9, 0xd2b, 0x9a9, 0xbef, 0x864, 0xbef, 0x864, 0xa04, -0x670, 0xa04, 0x670, 0xac2, 0x729, 0xac2, 0x729, 0xac2, 0x729, 0xa2f, 0x694, -0xa2f, 0x694, 0xad2, 0x73c, 0xad2, 0x73c, 0xbb5, 0x82a, 0xbb5, 0x82a, 0xb6e, -0x7f8, 0xb6e, 0x7f8, 0xc88, 0x931, 0xc88, 0x931, 0xb2f, 0x801, 0xb2f, 0x801, -0xb2f, 0x801, 0xd4d, 0xa53, 0xd4d, 0xa53, 0xd48, 0xa8c, 0xd48, 0xa8c, 0xd2c, -0xab8, 0xd2c, 0xab8, 0xe68, 0xc47, 0xe68, 0xc47, 0xc75, 0xaaf, 0xc75, 0xaaf, -0xc75, 0xaaf, 0xb53, 0x9ee, 0xb53, 0x9ee, 0xa32, 0x935, 0xa32, 0x935, 0x928, -0x896, 0x928, 0x896, 0x50d, 0x4e6, 0x50d, 0x4e6, 0x439, 0x47d, 0x439, 0x47d, -0x2a0, 0x34c, 0x2a0, 0x34c, 0x2a0, 0x34c, 0x92, 0x1a2, 0x92, 0x1a2, 0x99, -0x205, 0x99, 0x205, 0xfef0, 0xb1, 0xfef0, 0xb1, 0xfc38, 0xfe43, 0xfc38, 0xfe43, -0xfa53, 0xfc9e, 0xfa53, 0xfc9e, 0xfa53, 0xfc9e, 0xf9f1, 0xfc70, 0xf9f1, 0xfc70, 0xf91b, -0xfbc2, 0xf91b, 0xfbc2, 0xf7eb, 0xfaad, 0xf7eb, 0xfaad, 0xf4bb, 0xf78c, 0xf4bb, 0xf78c, -0xf364, 0xf639, 0xf364, 0xf639, 0xf255, 0xf523, 0xf255, 0xf523, 0xf255, 0xf523, 0xf3a1, -0xf65e, 0xf3a1, 0xf65e, 0xf43a, 0xf6dd, 0xf43a, 0xf6dd, 0xf2e2, 0xf563, 0xf2e2, 0xf563, -0xf3b5, 0xf60d, 0xf3b5, 0xf60d, 0xf4c5, 0xf6ef, 0xf4c5, 0xf6ef, 0xf669, 0xf862, 0xf669, -0xf862, 0xf669, 0xf862, 0xf587, 0xf74c, 0xf587, 0xf74c, 0xf638, 0xf7c6, 0xf638, 0xf7c6, -0xf8af, 0xfa06, 0xf8af, 0xfa06, 0xfb14, 0xfc33, 0xfb14, 0xfc33, 0xfec1, 0xffa9, 0xfec1, -0xffa9, 0xfec1, 0xffa9, 0x2aa, 0x35d, 0x2aa, 0x35d, 0x1a8, 0x226, 0x1a8, 0x226, -0x1e4, 0x230, 0x1e4, 0x230, 0x3ae, 0x3c9, 0x3ae, 0x3c9, 0x1d7, 0x1c2, 0x1d7, -0x1c2, 0x2a9, 0x266, 0x2a9, 0x266, 0x2a9, 0x266, 0x23c, 0x1cd, 0x23c, 0x1cd, -0x2d2, 0x237, 0x2d2, 0x237, 0x89, 0xffc3, 0x89, 0xffc3, 0xf1, 0x1, 0xf1, -0x1, 0x235, 0x11c, 0x235, 0x11c, 0x1b5, 0x75, 0x1b5, 0x75, 0x1b5, 0x75, -0x41f, 0x2b8, 0x41f, 0x2b8, 0x3c9, 0x23c, 0x3c9, 0x23c, 0x344, 0x192, 0x344, -0x192, 0x107, 0xff33, 0x107, 0xff33, 0x1c1, 0xffcc, 0x1c1, 0xffcc, 0x1c1, 0xffcc, -0x36, 0xfe22, 0x36, 0xfe22, 0xff3e, 0xfd10, 0xff3e, 0xfd10, 0xff58, 0xfd12, 0xff58, -0xfd12, 0xfebd, 0xfc66, 0xfebd, 0xfc66, 0xfdf9, 0xfb95, 0xfdf9, 0xfb95, 0xfbfe, 0xf992, -0xfbfe, 0xf992, 0xfbfe, 0xf992, 0xfbb6, 0xf94a, 0xfbb6, 0xf94a, 0xf8c5, 0xf662, 0xf8c5, -0xf662, 0xf708, 0xf4b4, 0xf708, 0xf4b4, 0xf761, 0xf526, 0xf761, 0xf526, 0xf625, 0xf40b, -0xf625, 0xf40b, 0xf56e, 0xf37f, 0xf56e, 0xf37f, 0xf56e, 0xf37f, 0xf6bc, 0xf502, 0xf6bc, -0xf502, 0xf5fa, 0xf47f, 0xf5fa, 0xf47f, 0xf564, 0xf430, 0xf564, 0xf430, 0xf3d5, 0xf2f1, -0xf3d5, 0xf2f1, 0xf37d, 0xf2f2, 0xf37d, 0xf2f2, 0xf37d, 0xf2f2, 0xf041, 0xf017, 0xf041, -0xf017, 0xee85, 0xeec3, 0xee85, 0xeec3, 0xed4c, 0xedf7, 0xed4c, 0xedf7, 0xea9c, 0xebb9, -0xea9c, 0xebb9, 0xea45, 0xebd7, 0xea45, 0xebd7, 0xe825, 0xea2e, 0xe825, 0xea2e, 0xe825, -0xea2e, 0xe7d6, 0xea56, 0xe7d6, 0xea56, 0xe3d8, 0xe6cc, 0xe3d8, 0xe6cc, 0xe27e, 0xe5e2, -0xe27e, 0xe5e2, 0xe101, 0xe4d0, 0xe101, 0xe4d0, 0xdef5, 0xe328, 0xdef5, 0xe328, 0xdf31, -0xe3bf, 0xdf31, 0xe3bf, 0xdf31, 0xe3bf, 0xdf0d, 0xe3ec, 0xdf0d, 0xe3ec, 0xdd27, 0xe24b, -0xdd27, 0xe24b, 0xdba2, 0xe100, 0xdba2, 0xe100, 0xdb48, 0xe0d1, 0xdb48, 0xe0d1, 0xdb35, -0xe0dc, 0xdb35, 0xe0dc, 0xdb35, 0xe0dc, 0xd9a8, 0xdf5f, 0xd9a8, 0xdf5f, 0xd68a, 0xdc42, -0xd68a, 0xdc42, 0xd7ca, 0xdd76, 0xd7ca, 0xdd76, 0xd6d4, 0xdc69, 0xd6d4, 0xdc69, 0xdab8, -0xe029, 0xdab8, 0xe029, 0xdc7d, 0xe1bf, 0xdc7d, 0xe1bf, 0xdc7d, 0xe1bf, 0xdb99, 0xe0a4, -0xdb99, 0xe0a4, 0xdf4e, 0xe41b, 0xdf4e, 0xe41b, 0xe11b, 0xe5a5, 0xe11b, 0xe5a5, 0xe344, -0xe788, 0xe344, 0xe788, 0xe3d1, 0xe7cd, 0xe3d1, 0xe7cd, 0xe54b, 0xe8ff, 0xe54b, 0xe8ff, -0xe54b, 0xe8ff, 0xe6f1, 0xea5f, 0xe6f1, 0xea5f, 0xe773, 0xea9e, 0xe773, 0xea9e, 0xeacb, -0xedb8, 0xeacb, 0xedb8, 0xed8b, 0xf03e, 0xed8b, 0xf03e, 0xf041, 0xf2c0, 0xf041, 0xf2c0, -0xf041, 0xf2c0, 0xf1fb, 0xf44d, 0xf1fb, 0xf44d, 0xf362, 0xf58d, 0xf362, 0xf58d, 0xf293, -0xf49c, 0xf293, 0xf49c, 0xf1c1, 0xf3ad, 0xf1c1, 0xf3ad, 0xf463, 0xf636, 0xf463, 0xf636, -0xf451, 0xf60c, 0xf451, 0xf60c, 0xf451, 0xf60c, 0xf595, 0xf73b, 0xf595, 0xf73b, 0xf552, -0xf6e3, 0xf552, 0xf6e3, 0xf682, 0xf7fb, 0xf682, 0xf7fb, 0xf6ff, 0xf85c, 0xf6ff, 0xf85c, -0xf87d, 0xf9bb, 0xf87d, 0xf9bb, 0xfc03, 0xfd1d, 0xfc03, 0xfd1d, 0xfc03, 0xfd1d, 0xfcc1, -0xfdaf, 0xfcc1, 0xfdaf, 0xffe9, 0xa5, 0xffe9, 0xa5, 0x31a, 0x39c, 0x31a, 0x39c, -0x45f, 0x4a0, 0x45f, 0x4a0, 0x6cd, 0x6c6, 0x6cd, 0x6c6, 0x6cd, 0x6c6, 0xb0e, -0xab9, 0xb0e, 0xab9, 0xdc6, 0xd1e, 0xdc6, 0xd1e, 0x108d, 0xf8e, 0x108d, 0xf8e, -0x12c9, 0x1171, 0x12c9, 0x1171, 0x14aa, 0x12f8, 0x14aa, 0x12f8, 0x1535, 0x132c, 0x1535, -0x132c, 0x1535, 0x132c, 0x188a, 0x162c, 0x188a, 0x162c, 0x1960, 0x16b3, 0x1960, 0x16b3, -0x1a11, 0x171c, 0x1a11, 0x171c, 0x1b82, 0x184c, 0x1b82, 0x184c, 0x1bbe, 0x1852, 0x1bbe, -0x1852, 0x1e04, 0x1a6c, 0x1e04, 0x1a6c, 0x1e04, 0x1a6c, 0x1e22, 0x1a6a, 0x1e22, 0x1a6a, -0x2038, 0x1c6e, 0x2038, 0x1c6e, 0x20b3, 0x1ce0, 0x20b3, 0x1ce0, 0x2036, 0x1c67, 0x2036, -0x1c67, 0x204b, 0x1c8c, 0x204b, 0x1c8c, 0x204b, 0x1c8c, 0x1ea7, 0x1b02, 0x1ea7, 0x1b02, -0x1d62, 0x19e1, 0x1d62, 0x19e1, 0x1d41, 0x19eb, 0x1d41, 0x19eb, 0x1b39, 0x1816, 0x1b39, -0x1816, 0x1a2a, 0x173e, 0x1a2a, 0x173e, 0x164d, 0x139e, 0x164d, 0x139e, 0x164d, 0x139e, -0x1534, 0x12c4, 0x1534, 0x12c4, 0x12b8, 0x1088, 0x12b8, 0x1088, 0x1048, 0xe59, 0x1048, -0xe59, 0x1220, 0x1072, 0x1220, 0x1072, 0xea2, 0xd33, 0xea2, 0xd33, 0xafc, 0x9cb, -0xafc, 0x9cb, 0xafc, 0x9cb, 0x792, 0x69c, 0x792, 0x69c, 0x844, 0x787, 0x844, -0x787, 0x62f, 0x5aa, 0x62f, 0x5aa, 0x61d, 0x5ce, 0x61d, 0x5ce, 0x47e, 0x462, -0x47e, 0x462, 0x47e, 0x462, 0x10c, 0x122, 0x10c, 0x122, 0xfeb7, 0xfefe, 0xfeb7, -0xfefe, 0xfc49, 0xfcc1, 0xfc49, 0xfcc1, 0xfc0b, 0xfcb2, 0xfc0b, 0xfcb2, 0xf859, 0xf92f, -0xf859, 0xf92f, 0xf8fc, 0xfa00, 0xf8fc, 0xfa00, 0xf8fc, 0xfa00, 0xf848, 0xf97a, 0xf848, -0xf97a, 0xf5be, 0xf71c, 0xf5be, 0xf71c, 0xf3b1, 0xf53b, 0xf3b1, 0xf53b, 0xf163, 0xf315, -0xf163, 0xf315, 0xef60, 0xf138, 0xef60, 0xf138, 0xef60, 0xf138, 0xed7e, 0xef78, 0xed7e, -0xef78, 0xeedd, 0xf0f6, 0xeedd, 0xf0f6, 0xef07, 0xf138, 0xef07, 0xf138, 0xed44, 0xef88, -0xed44, 0xef88, 0xedd1, 0xf020, 0xedd1, 0xf020, 0xecd7, 0xef2b, 0xecd7, 0xef2b, 0xecd7, -0xef2b, 0xec44, 0xee96, 0xec44, 0xee96, 0xed2e, 0xef75, 0xed2e, 0xef75, 0xeeba, 0xf0ee, -0xeeba, 0xf0ee, 0xee9b, 0xf0b7, 0xee9b, 0xf0b7, 0xefcd, 0xf1c9, 0xefcd, 0xf1c9, 0xf32b, -0xf502, 0xf32b, 0xf502, 0xf32b, 0xf502, 0xf275, 0xf422, 0xf275, 0xf422, 0xf48b, 0xf609, -0xf48b, 0xf609, 0xf6e2, 0xf830, 0xf6e2, 0xf830, 0xf97d, 0xfa9a, 0xf97d, 0xfa9a, 0xfbb8, -0xfca3, 0xfbb8, 0xfca3, 0xfbb8, 0xfca3, 0xfe90, 0xff4c, 0xfe90, 0xff4c, 0xffce, 0x5d, -0xffce, 0x5d, 0xfed9, 0xff3f, 0xfed9, 0xff3f, 0, 0x43, 0, 0x43, 0x13b, -0x15f, 0x13b, 0x15f, 0x352, 0x35e, 0x352, 0x35e, 0x352, 0x35e, 0x21d, 0x218, -0x21d, 0x218, 0x305, 0x2f5, 0x305, 0x2f5, 0x3c0, 0x3ac, 0x3c0, 0x3ac, 0x3a6, -0x392, 0x3a6, 0x392, 0x5ad, 0x5a0, 0x5ad, 0x5a0, 0x440, 0x43d, 0x440, 0x43d, -0x440, 0x43d, 0x3ba, 0x3c6, 0x3ba, 0x3c6, 0x38d, 0x3aa, 0x38d, 0x3aa, 0x457, -0x487, 0x457, 0x487, 0x42e, 0x472, 0x42e, 0x472, 0x212, 0x26a, 0x212, 0x26a, -0x212, 0x26a, 0x2f1, 0x35c, 0x2f1, 0x35c, 0x22e, 0x2aa, 0x22e, 0x2aa, 0x336, -0x3c2, 0x336, 0x3c2, 0x524, 0x5bd, 0x524, 0x5bd, 0x2ec, 0x391, 0x2ec, 0x391, -0x1e0, 0x28f, 0x1e0, 0x28f, 0x1e0, 0x28f, 0x334, 0x3ea, 0x334, 0x3ea, 0x3ef, -0x4aa, 0x3ef, 0x4aa, 0x3e2, 0x4a2, 0x3e2, 0x4a2, 0x41c, 0x4de, 0x41c, 0x4de, -0x506, 0x5ca, 0x506, 0x5ca, 0x433, 0x4f9, 0x433, 0x4f9, 0x433, 0x4f9, 0x43f, -0x508, 0x43f, 0x508, 0x5ae, 0x678, 0x5ae, 0x678, 0x63a, 0x705, 0x63a, 0x705, -0x67f, 0x74b, 0x67f, 0x74b, 0x76e, 0x83b, 0x76e, 0x83b, 0x76e, 0x83b, 0xa5e, -0xb2b, 0xa5e, 0xb2b, 0x954, 0xa1e, 0x954, 0xa1e, 0x7bd, 0x882, 0x7bd, 0x882, -0x6cd, 0x78a, 0x6cd, 0x78a, 0x5aa, 0x65b, 0x5aa, 0x65b, 0x5b6, 0x657, 0x5b6, -0x657, 0x5b6, 0x657, 0x69e, 0x728, 0x69e, 0x728, 0x64a, 0x6b8, 0x64a, 0x6b8, -0x361, 0x3ac, 0x361, 0x3ac, 0x426, 0x447, 0x426, 0x447, 0x550, 0x540, 0x550, -0x540, 0x519, 0x4d2, 0x519, 0x4d2, 0x519, 0x4d2, 0x663, 0x5de, 0x663, 0x5de, -0x622, 0x55a, 0x622, 0x55a, 0x63d, 0x52d, 0x63d, 0x52d, 0x918, 0x7bd, 0x918, -0x7bd, 0xc1f, 0xa78, 0xc1f, 0xa78, 0xc1f, 0xa78, 0xd7c, 0xb88, 0xd7c, 0xb88, -0xe14, 0xbd6, 0xe14, 0xbd6, 0x100d, 0xd89, 0x100d, 0xd89, 0xf51, 0xc8b, 0xf51, -0xc8b, 0x107c, 0xd7a, 0x107c, 0xd7a, 0x1182, 0xe4e, 0x1182, 0xe4e, 0x1182, 0xe4e, -0x1118, 0xdb9, 0x1118, 0xdb9, 0x134d, 0xfcf, 0x134d, 0xfcf, 0x1444, 0x10b1, 0x1444, -0x10b1, 0x1527, 0x118b, 0x1527, 0x118b, 0x1483, 0x10e8, 0x1483, 0x10e8, 0x1455, 0x10c5, -0x1455, 0x10c5, 0x1455, 0x10c5, 0x1604, 0x1288, 0x1604, 0x1288, 0x15da, 0x1279, 0x15da, -0x1279, 0x1641, 0x1302, 0x1641, 0x1302, 0x1723, 0x140b, 0x1723, 0x140b, 0x162a, 0x133a, -0x162a, 0x133a, 0x162a, 0x133a, 0x15ae, 0x12e7, 0x15ae, 0x12e7, 0x14c6, 0x1227, 0x14c6, -0x1227, 0x1690, 0x1415, 0x1690, 0x1415, 0x15c7, 0x136a, 0x15c7, 0x136a, 0x14f5, 0x12b0, -0x14f5, 0x12b0, 0x1518, 0x12e2, 0x1518, 0x12e2, 0x1518, 0x12e2, 0x11d3, 0xfa3, 0x11d3, -0xfa3, 0x1237, 0x1004, 0x1237, 0x1004, 0x12d6, 0x1097, 0x12d6, 0x1097, 0x1152, 0xefd, -0x1152, 0xefd, 0x113c, 0xec9, 0x113c, 0xec9, 0x1268, 0xfd0, 0x1268, 0xfd0, 0x1268, -0xfd0, 0x1264, 0xfa3, 0x1264, 0xfa3, 0x1107, 0xe18, 0x1107, 0xe18, 0x119e, 0xe80, -0x119e, 0xe80, 0x1277, 0xf2c, 0x1277, 0xf2c, 0x11a2, 0xe2c, 0x11a2, 0xe2c, 0x11a2, -0xe2c, 0x137b, 0xfe1, 0x137b, 0xfe1, 0x12ef, 0xf39, 0x12ef, 0xf39, 0x1420, 0x1057, -0x1420, 0x1057, 0x143f, 0x106f, 0x143f, 0x106f, 0x15e2, 0x1218, 0x15e2, 0x1218, 0x163b, -0x1285, 0x163b, 0x1285, 0x163b, 0x1285, 0x1405, 0x1072, 0x1405, 0x1072, 0x1458, 0x10f6, -0x1458, 0x10f6, 0x1119, 0xdf6, 0x1119, 0xdf6, 0xf79, 0xca3, 0xf79, 0xca3, 0xbf1, -0x973, 0xbf1, 0x973, 0xcb6, 0xa9a, 0xcb6, 0xa9a, 0xcb6, 0xa9a, 0xa33, 0x882, -0xa33, 0x882, 0x678, 0x538, 0x678, 0x538, 0x5c5, 0x4f9, 0x5c5, 0x4f9, 0x301, -0x2a9, 0x301, 0x2a9, 0x141, 0x15c, 0x141, 0x15c, 0x141, 0x15c, 0xff3d, 0xffc6, -0xff3d, 0xffc6, 0xfc83, 0xfd73, 0xfc83, 0xfd73, 0xf8de, 0xfa2c, 0xf8de, 0xfa2c, 0xf68a, -0xf82c, 0xf68a, 0xf82c, 0xf49d, 0xf687, 0xf49d, 0xf687, 0xf1aa, 0xf3ce, 0xf1aa, 0xf3ce, -0xf1aa, 0xf3ce, 0xf012, 0xf262, 0xf012, 0xf262, 0xefc2, 0xf231, 0xefc2, 0xf231, 0xedfc, -0xf07b, 0xedfc, 0xf07b, 0xf027, 0xf2a8, 0xf027, 0xf2a8, 0xef2f, 0xf1a8, 0xef2f, 0xf1a8, -0xeec8, 0xf12d, 0xeec8, 0xf12d, 0xeec8, 0xf12d, 0xeea4, 0xf0eb, 0xeea4, 0xf0eb, 0xefc9, -0xf1eb, 0xefc9, 0xf1eb, 0xf2fa, 0xf4f2, 0xf2fa, 0xf4f2, 0xf452, 0xf61c, 0xf452, 0xf61c, -0xf68f, 0xf829, 0xf68f, 0xf829, 0xf68f, 0xf829, 0xf7a2, 0xf90d, 0xf7a2, 0xf90d, 0xf910, -0xfa4c, 0xf910, 0xfa4c, 0xfabd, 0xfbcf, 0xfabd, 0xfbcf, 0xfd08, 0xfdf3, 0xfd08, 0xfdf3, -0xfd86, 0xfe51, 0xfd86, 0xfe51, 0xfdd4, 0xfe84, 0xfdd4, 0xfe84, 0xfdd4, 0xfe84, 0xfdde, -0xfe78, 0xfdde, 0xfe78, 0xff5a, 0xffe5, 0xff5a, 0xffe5, 0xfe42, 0xfec4, 0xfe42, 0xfec4, -0xffb6, 0x33, 0xffb6, 0x33, 0x2e, 0xaa, 0x2e, 0xaa, 0x2e, 0xaa, 0xfed3, -0xff51, 0xfed3, 0xff51, 0x129, 0x1ac, 0x129, 0x1ac, 0x2c8, 0x351, 0x2c8, 0x351, -0x10e, 0x19d, 0x10e, 0x19d, 0xfe43, 0xfed8, 0xfe43, 0xfed8, 0xfe77, 0xff10, 0xfe77, -0xff10, 0xfe77, 0xff10, 0xfd59, 0xfdf4, 0xfd59, 0xfdf4, 0xfdf4, 0xfe90, 0xfdf4, 0xfe90, -0xfe22, 0xfebb, 0xfe22, 0xfebb, 0xfde2, 0xfe77, 0xfde2, 0xfe77, 0xfbf2, 0xfc83, 0xfbf2, -0xfc83, 0xfa8e, 0xfb19, 0xfa8e, 0xfb19, 0xfa8e, 0xfb19, 0xf940, 0xf9c5, 0xf940, 0xf9c5, -0xf83d, 0xf8bd, 0xf83d, 0xf8bd, 0xf863, 0xf8e1, 0xf863, 0xf8e1, 0xf9db, 0xfa5c, 0xf9db, -0xfa5c, 0xfa56, 0xfade, 0xfa56, 0xfade, 0xfa56, 0xfade, 0xf8ae, 0xf943, 0xf8ae, 0xf943, -0xf703, 0xf7ad, 0xf703, 0xf7ad, 0xf5e5, 0xf6ad, 0xf5e5, 0xf6ad, 0xf69d, 0xf78b, 0xf69d, -0xf78b, 0xf708, 0xf825, 0xf708, 0xf825, 0xf793, 0xf8e9, 0xf793, 0xf8e9, 0xf793, 0xf8e9, -0xf384, 0xf51c, 0xf384, 0xf51c, 0xf08c, 0xf26e, 0xf08c, 0xf26e, 0xeea0, 0xf0d3, 0xeea0, -0xf0d3, 0xed0e, 0xef99, 0xed0e, 0xef99, 0xeb77, 0xee5e, 0xeb77, 0xee5e, 0xead5, 0xee1b, -0xead5, 0xee1b, 0xead5, 0xee1b, 0xe815, 0xebbb, 0xe815, 0xebbb, 0xe599, 0xe99d, 0xe599, -0xe99d, 0xe51e, 0xe97c, 0xe51e, 0xe97c, 0xe1be, 0xe672, 0xe1be, 0xe672, 0xde6d, 0xe36f, -0xde6d, 0xe36f, 0xde6d, 0xe36f, 0xdc03, 0xe14b, 0xdc03, 0xe14b, 0xdc74, 0xe1f7, 0xdc74, -0xe1f7, 0xdb7c, 0xe12d, 0xdb7c, 0xe12d, 0xdbff, 0xe1d1, 0xdbff, 0xe1d1, 0xd970, 0xdf57, -0xd970, 0xdf57, 0xd7e0, 0xddcd, 0xd7e0, 0xddcd, 0xd7e0, 0xddcd, 0xd7b9, 0xdd9e, 0xd7b9, -0xdd9e, 0xd600, 0xdbd0, 0xd600, 0xdbd0, 0xd597, 0xdb46, 0xd597, 0xdb46, 0xd39c, 0xd91e, -0xd39c, 0xd91e, 0xd419, 0xd964, 0xd419, 0xd964, 0xd513, 0xda1f, 0xd513, 0xda1f, 0xd513, -0xda1f, 0xd6e5, 0xdbab, 0xd6e5, 0xdbab, 0xda5e, 0xded9, 0xda5e, 0xded9, 0xdb64, 0xdf91, -0xdb64, 0xdf91, 0xdce1, 0xe0bf, 0xdce1, 0xe0bf, 0xde8a, 0xe21a, 0xde8a, 0xe21a, 0xde8a, -0xe21a, 0xe14f, 0xe492, 0xe14f, 0xe492, 0xe4db, 0xe7d6, 0xe4db, 0xe7d6, 0xe50b, 0xe7c2, -0xe50b, 0xe7c2, 0xe898, 0xeb10, 0xe898, 0xeb10, 0xea09, 0xec4a, 0xea09, 0xec4a, 0xeb1d, -0xed2b, 0xeb1d, 0xed2b, 0xeb1d, 0xed2b, 0xee50, 0xf033, 0xee50, 0xf033, 0xf015, 0xf1d2, -0xf015, 0xf1d2, 0xf04c, 0xf1ea, 0xf04c, 0xf1ea, 0xf07f, 0xf201, 0xf07f, 0xf201, 0xf2ba, -0xf425, 0xf2ba, 0xf425, 0xf1ed, 0xf343, 0xf1ed, 0xf343, 0xf1ed, 0xf343, 0xf17c, 0xf2bf, -0xf17c, 0xf2bf, 0xf1da, 0xf309, 0xf1da, 0xf309, 0xf222, 0xf33c, 0xf222, 0xf33c, 0xf2c4, -0xf3c7, 0xf2c4, 0xf3c7, 0xf3fb, 0xf4e2, 0xf3fb, 0xf4e2, 0xf3fb, 0xf4e2, 0xf639, 0xf701, -0xf639, 0xf701, 0xf72d, 0xf7d0, 0xf72d, 0xf7d0, 0xf89a, 0xf913, 0xf89a, 0xf913, 0xfba2, -0xfbea, 0xfba2, 0xfbea, 0xfdde, 0xfdef, 0xfdde, 0xfdef, 0x132, 0x106, 0x132, 0x106, -0x132, 0x106, 0x4b7, 0x449, 0x4b7, 0x449, 0x84c, 0x796, 0x84c, 0x796, 0xac3, -0x9c2, 0xac3, 0x9c2, 0xc8a, 0xb39, 0xc8a, 0xb39, 0xeb6, 0xd15, 0xeb6, 0xd15, -0xf43, 0xd50, 0xf43, 0xd50, 0xf43, 0xd50, 0x119b, 0xf56, 0x119b, 0xf56, 0x14de, -0x124a, 0x14de, 0x124a, 0x1626, 0x1346, 0x1626, 0x1346, 0x1683, 0x135a, 0x1683, 0x135a, -0x1748, 0x13dd, 0x1748, 0x13dd, 0x1748, 0x13dd, 0x17eb, 0x1444, 0x17eb, 0x1444, 0x19fe, -0x1623, 0x19fe, 0x1623, 0x1bef, 0x17e9, 0x1bef, 0x17e9, 0x1c84, 0x185c, 0x1c84, 0x185c, -0x1b97, 0x1757, 0x1b97, 0x1757, 0x1b53, 0x1704, 0x1b53, 0x1704, 0x1b53, 0x1704, 0x1ac5, -0x1672, 0x1ac5, 0x1672, 0x1a43, 0x15f6, 0x1a43, 0x15f6, 0x1b27, 0x16ea, 0x1b27, 0x16ea, -0x191f, 0x14fc, 0x191f, 0x14fc, 0x182b, 0x142a, 0x182b, 0x142a, 0x16ca, 0x12f4, 0x16ca, -0x12f4, 0x16ca, 0x12f4, 0x15b7, 0x1214, 0x15b7, 0x1214, 0x148e, 0x1125, 0x148e, 0x1125, -0x10ea, 0xdc2, 0x10ea, 0xdc2, 0x1024, 0xd42, 0x1024, 0xd42, 0xda4, 0xb0c, 0xda4, -0xb0c, 0xda4, 0xb0c, 0xbec, 0x9a2, 0xbec, 0x9a2, 0xb22, 0x929, 0xb22, 0x929, -0x9f4, 0x84d, 0x9f4, 0x84d, 0xa51, 0x8fd, 0xa51, 0x8fd, 0x84d, 0x74c, 0x84d, -0x74c, 0x80d, 0x75d, 0x80d, 0x75d, 0x80d, 0x75d, 0x676, 0x616, 0x676, 0x616, -0x41c, 0x40a, 0x41c, 0x40a, 0x28b, 0x2c2, 0x28b, 0x2c2, 0xffc9, 0x46, 0xffc9, -0x46, 0xfe7a, 0xff38, 0xfe7a, 0xff38, 0xff29, 0x22, 0xff29, 0x22, 0xff29, 0x22, -0xfe88, 0xffb7, 0xfe88, 0xffb7, 0xfb78, 0xfcd7, 0xfb78, 0xfcd7, 0xf938, 0xfac1, 0xf938, -0xfac1, 0xf84d, 0xf9f8, 0xf84d, 0xf9f8, 0xf6f8, 0xf8be, 0xf6f8, 0xf8be, 0xf6f8, 0xf8be, -0xf607, 0xf7e2, 0xf607, 0xf7e2, 0xf531, 0xf71a, 0xf531, 0xf71a, 0xf353, 0xf544, 0xf353, -0xf544, 0xf1a4, 0xf396, 0xf1a4, 0xf396, 0xf05d, 0xf249, 0xf05d, 0xf249, 0xf263, 0xf444, -0xf263, 0xf444, 0xf263, 0xf444, 0xf1fd, 0xf3cd, 0xf1fd, 0xf3cd, 0xf324, 0xf4df, 0xf324, -0xf4df, 0xf511, 0xf6b3, 0xf511, 0xf6b3, 0xf5af, 0xf734, 0xf5af, 0xf734, 0xf630, 0xf795, -0xf630, 0xf795, 0xf5dc, 0xf71f, 0xf5dc, 0xf71f, 0xf5dc, 0xf71f, 0xf7ba, 0xf8d9, 0xf7ba, -0xf8d9, 0xf85e, 0xf95a, 0xf85e, 0xf95a, 0xfbbe, 0xfc95, 0xfbbe, 0xfc95, 0xff10, 0xffc4, -0xff10, 0xffc4, 0xffd9, 0x69, 0xffd9, 0x69, 0xffd9, 0x69, 0xffb2, 0x21, 0xffb2, -0x21, 0x9a, 0xea, 0x9a, 0xea, 0x1d1, 0x205, 0x1d1, 0x205, 0x3b7, 0x3d0, -0x3b7, 0x3d0, 0x4f5, 0x4f7, 0x4f5, 0x4f7, 0x59e, 0x58b, 0x59e, 0x58b, 0x59e, -0x58b, 0x578, 0x554, 0x578, 0x554, 0x5c4, 0x592, 0x5c4, 0x592, 0x509, 0x4cc, -0x509, 0x4cc, 0x405, 0x3c0, 0x405, 0x3c0, 0x4e9, 0x49e, 0x4e9, 0x49e, 0x4e9, -0x49e, 0x4c1, 0x473, 0x4c1, 0x473, 0x67d, 0x62e, 0x67d, 0x62e, 0x599, 0x54b, -0x599, 0x54b, 0x4dd, 0x491, 0x4dd, 0x491, 0x3dc, 0x395, 0x3dc, 0x395, 0x315, -0x2d3, 0x315, 0x2d3, 0x315, 0x2d3, 0x389, 0x34e, 0x389, 0x34e, 0x404, 0x3d2, -0x404, 0x3d2, 0x2f2, 0x2c9, 0x2f2, 0x2c9, 0x238, 0x218, 0x238, 0x218, 0x1a6, -0x191, 0x1a6, 0x191, 0x1cc, 0x1c2, 0x1cc, 0x1c2, 0x1cc, 0x1c2, 0x2fe, 0x2ff, -0x2fe, 0x2ff, 0x30c, 0x31a, 0x30c, 0x31a, 0x4e7, 0x500, 0x4e7, 0x500, 0x57a, -0x59e, 0x57a, 0x59e, 0x80f, 0x83f, 0x80f, 0x83f, 0x80f, 0x83f, 0x8c3, 0x8fd, -0x8c3, 0x8fd, 0x7a5, 0x7e9, 0x7a5, 0x7e9, 0x7d4, 0x820, 0x7d4, 0x820, 0x727, -0x779, 0x727, 0x779, 0x6eb, 0x741, 0x6eb, 0x741, 0x923, 0x97c, 0x923, 0x97c, -0x923, 0x97c, 0x9cd, 0xa25, 0x9cd, 0xa25, 0x977, 0x9ca, 0x977, 0x9ca, 0x8b3, -0x8fe, 0x8b3, 0x8fe, 0x8bc, 0x8fb, 0x8bc, 0x8fb, 0x7b8, 0x7e6, 0x7b8, 0x7e6, -0x675, 0x68e, 0x675, 0x68e, 0x675, 0x68e, 0x6ed, 0x6eb, 0x6ed, 0x6eb, 0x6a3, -0x682, 0x6a3, 0x682, 0x72e, 0x6e9, 0x72e, 0x6e9, 0x630, 0x5c2, 0x630, 0x5c2, -0x679, 0x5df, 0x679, 0x5df, 0x679, 0x5df, 0x3fd, 0x332, 0x3fd, 0x332, 0x552, -0x453, 0x552, 0x453, 0x748, 0x613, 0x748, 0x613, 0x8e4, 0x777, 0x8e4, 0x777, -0xb08, 0x962, 0xb08, 0x962, 0xcd8, 0xaf9, 0xcd8, 0xaf9, 0xcd8, 0xaf9, 0xf35, -0xd1e, 0xf35, 0xd1e, 0xf17, 0xcca, 0xf17, 0xcca, 0x1134, 0xeb3, 0x1134, 0xeb3, -0x1228, 0xf76, 0x1228, 0xf76, 0x127b, 0xf9e, 0x127b, 0xf9e, 0x12f9, 0xff4, 0x12f9, -0xff4, 0x12f9, 0xff4, 0x14dd, 0x11b6, 0x14dd, 0x11b6, 0x147d, 0x1139, 0x147d, 0x1139, -0x1464, 0x110a, 0x1464, 0x110a, 0x1478, 0x110d, 0x1478, 0x110d, 0x14e8, 0x1170, 0x14e8, -0x1170, 0x14e8, 0x1170, 0x155d, 0x11de, 0x155d, 0x11de, 0x16fa, 0x1378, 0x16fa, 0x1378, -0x176b, 0x13ea, 0x176b, 0x13ea, 0x1649, 0x12cc, 0x1649, 0x12cc, 0x15e0, 0x1269, 0x15e0, -0x1269, 0x141c, 0x10aa, 0x141c, 0x10aa, 0x141c, 0x10aa, 0x14a1, 0x1135, 0x14a1, 0x1135, -0x13c1, 0x1059, 0x13c1, 0x1059, 0x1418, 0x10b2, 0x1418, 0x10b2, 0x1440, 0x10d9, 0x1440, -0x10d9, 0x1407, 0x109b, 0x1407, 0x109b, 0x141e, 0x10ab, 0x141e, 0x10ab, 0x141e, 0x10ab, -0x1184, 0xe02, 0x1184, 0xe02, 0xf59, 0xbc6, 0xf59, 0xbc6, 0x10a9, 0xd00, 0x10a9, -0xd00, 0x1065, 0xca2, 0x1065, 0xca2, 0x1177, 0xd97, 0x1177, 0xd97, 0x1177, 0xd97, -0x120f, 0xe10, 0x120f, 0xe10, 0x12c1, 0xea1, 0x12c1, 0xea1, 0x12d4, 0xe94, 0x12d4, -0xe94, 0x11ed, 0xd8f, 0x11ed, 0xd8f, 0x14d7, 0x105e, 0x14d7, 0x105e, 0x13d3, 0xf44, -0x13d3, 0xf44, 0x13d3, 0xf44, 0x142b, 0xf8c, 0x142b, 0xf8c, 0x149a, 0xff3, 0x149a, -0xff3, 0x14a8, 0x1003, 0x14a8, 0x1003, 0x14d6, 0x103e, 0x14d6, 0x103e, 0x160f, 0x118f, -0x160f, 0x118f, 0x16c4, 0x126a, 0x16c4, 0x126a, 0x16c4, 0x126a, 0x1574, 0x114b, 0x1574, -0x114b, 0x1609, 0x1220, 0x1609, 0x1220, 0x14c5, 0x1129, 0x14c5, 0x1129, 0x11f7, 0xeb5, -0x11f7, 0xeb5, 0xf9a, 0xcbd, 0xf9a, 0xcbd, 0xf9a, 0xcbd, 0xdb7, 0xb49, 0xdb7, -0xb49, 0xaed, 0x8f8, 0xaed, 0x8f8, 0x610, 0x49b, 0x610, 0x49b, 0x390, 0x2a0, -0x390, 0x2a0, 0x240, 0x1da, 0x240, 0x1da, 0x25, 0x49, 0x25, 0x49, 0x25, -0x49, 0x103, 0x1b0, 0x103, 0x1b0, 0xff1f, 0x52, 0xff1f, 0x52, 0xfafa, 0xfcad, -0xfafa, 0xfcad, 0xf5ff, 0xf82b, 0xf5ff, 0xf82b, 0xf2d2, 0xf56d, 0xf2d2, 0xf56d, 0xf03a, -0xf33a, 0xf03a, 0xf33a, 0xf03a, 0xf33a, 0xee05, 0xf15d, 0xee05, 0xf15d, 0xee2d, 0xf1d1, -0xee2d, 0xf1d1, 0xec02, 0xefe2, 0xec02, 0xefe2, 0xe8dd, 0xecec, 0xe8dd, 0xecec, 0xe7f3, -0xec22, 0xe7f3, 0xec22, 0xe7f3, 0xec22, 0xe7a1, 0xebe3, 0xe7a1, 0xebe3, 0xe716, 0xeb5d, -0xe716, 0xeb5d, 0xe8da, 0xed1a, 0xe8da, 0xed1a, 0xeaed, 0xef1a, 0xeaed, 0xef1a, 0xec05, -0xf016, 0xec05, 0xf016, 0xec84, 0xf06f, 0xec84, 0xf06f, 0xec84, 0xf06f, 0xee91, 0xf250, -0xee91, 0xf250, 0xee42, 0xf1cf, 0xee42, 0xf1cf, 0xf014, 0xf36c, 0xf014, 0xf36c, 0xf27d, -0xf59c, 0xf27d, 0xf59c, 0xf37f, 0xf664, 0xf37f, 0xf664, 0xf584, 0xf82f, 0xf584, 0xf82f, -0xf584, 0xf82f, 0xf4e0, 0xf752, 0xf4e0, 0xf752, 0xf670, 0xf8ab, 0xf670, 0xf8ab, 0xf5c4, -0xf7cb, 0xf5c4, 0xf7cb, 0xf725, 0xf8f9, 0xf725, 0xf8f9, 0xf9bd, 0xfb62, 0xf9bd, 0xfb62, -0xf9bd, 0xfb62, 0xf953, 0xfacb, 0xf953, 0xfacb, 0xfad0, 0xfc1f, 0xfad0, 0xfc1f, 0xfac5, -0xfbed, 0xfac5, 0xfbed, 0xfaf2, 0xfbf5, 0xfaf2, 0xfbf5, 0xfa8b, 0xfb6b, 0xfa8b, 0xfb6b, -0xfb0b, 0xfbca, 0xfb0b, 0xfbca, 0xfb0b, 0xfbca, 0xfc32, 0xfcd0, 0xfc32, 0xfcd0, 0xfbf7, -0xfc75, 0xfbf7, 0xfc75, 0xfdfb, 0xfe59, 0xfdfb, 0xfe59, 0xfeba, 0xfef9, 0xfeba, 0xfef9, -0xfe0c, 0xfe2d, 0xfe0c, 0xfe2d, 0xfcfd, 0xfd01, 0xfcfd, 0xfd01, 0xfcfd, 0xfd01, 0xfc62, -0xfc4a, 0xfc62, 0xfc4a, 0xfa53, 0xfa20, 0xfa53, 0xfa20, 0xfa22, 0xf9d8, 0xfa22, 0xf9d8, -0xfd60, 0xfd02, 0xfd60, 0xfd02, 0xfd30, 0xfcc2, 0xfd30, 0xfcc2, 0xfd30, 0xfcc2, 0xfce8, -0xfc70, 0xfce8, 0xfc70, 0xfcff, 0xfc82, 0xfcff, 0xfc82, 0xfcb8, 0xfc3e, 0xfcb8, 0xfc3e, -0xfc36, 0xfbc6, 0xfc36, 0xfbc6, 0xfb73, 0xfb16, 0xfb73, 0xfb16, 0xfbc4, 0xfb83, 0xfbc4, -0xfb83, 0xfbc4, 0xfb83, 0xfa51, 0xfa34, 0xfa51, 0xfa34, 0xf85a, 0xf86b, 0xf85a, 0xf86b, -0xf69b, 0xf6e2, 0xf69b, 0xf6e2, 0xf3fd, 0xf484, 0xf3fd, 0xf484, 0xf2e3, 0xf3b1, 0xf2e3, -0xf3b1, 0xf2e3, 0xf3b1, 0xf2b3, 0xf3cd, 0xf2b3, 0xf3cd, 0xf1ae, 0xf31c, 0xf1ae, 0xf31c, -0xefa5, 0xf169, 0xefa5, 0xf169, 0xee17, 0xf035, 0xee17, 0xf035, 0xeb44, 0xedbc, 0xeb44, -0xedbc, 0xe794, 0xea65, 0xe794, 0xea65, 0xe794, 0xea65, 0xe4f2, 0xe818, 0xe4f2, 0xe818, -0xe401, 0xe778, 0xe401, 0xe778, 0xe25d, 0xe620, 0xe25d, 0xe620, 0xe09c, 0xe4a3, 0xe09c, -0xe4a3, 0xe055, 0xe497, 0xe055, 0xe497, 0xde69, 0xe2dd, 0xde69, 0xe2dd, 0xde69, 0xe2dd, -0xdcea, 0xe186, 0xdcea, 0xe186, 0xdae5, 0xdf9d, 0xdae5, 0xdf9d, 0xd981, 0xde4b, 0xd981, -0xde4b, 0xd851, 0xdd23, 0xd851, 0xdd23, 0xd9a7, 0xde77, 0xd9a7, 0xde77, 0xd9a7, 0xde77, -0xda67, 0xdf2b, 0xda67, 0xdf2b, 0xd8ec, 0xdd9d, 0xd8ec, 0xdd9d, 0xd935, 0xddcd, 0xd935, -0xddcd, 0xd8b5, 0xdd2d, 0xd8b5, 0xdd2d, 0xda77, 0xdecc, 0xda77, 0xdecc, 0xddc7, 0xe1f6, -0xddc7, 0xe1f6, 0xddc7, 0xe1f6, 0xe115, 0xe51e, 0xe115, 0xe51e, 0xe3b4, 0xe796, 0xe3b4, -0xe796, 0xe4f7, 0xe8b5, 0xe4f7, 0xe8b5, 0xe777, 0xeb13, 0xe777, 0xeb13, 0xe8a9, 0xec26, -0xe8a9, 0xec26, 0xe81a, 0xeb7c, 0xe81a, 0xeb7c, 0xe81a, 0xeb7c, 0xea91, 0xeddb, 0xea91, -0xeddb, 0xed09, 0xf03f, 0xed09, 0xf03f, 0xef17, 0xf23c, 0xef17, 0xf23c, 0xf132, 0xf44a, -0xf132, 0xf44a, 0xf28c, 0xf597, 0xf28c, 0xf597, 0xf28c, 0xf597, 0xf1e8, 0xf4e7, 0xf1e8, -0xf4e7, 0xf131, 0xf424, 0xf131, 0xf424, 0xf2ef, 0xf5d4, 0xf2ef, 0xf5d4, 0xf493, 0xf767, -0xf493, 0xf767, 0xf4e2, 0xf79f, 0xf4e2, 0xf79f, 0xf645, 0xf8e7, 0xf645, 0xf8e7, 0xf645, -0xf8e7, 0xf6b9, 0xf937, 0xf6b9, 0xf937, 0xf537, 0xf78a, 0xf537, 0xf78a, 0xf792, 0xf9b1, -0xf792, 0xf9b1, 0xf9c1, 0xfba2, 0xf9c1, 0xfba2, 0xfb7a, 0xfd15, 0xfb7a, 0xfd15, 0xfe50, -0xff9b, 0xfe50, 0xff9b, 0xfe50, 0xff9b, 0x2ec, 0x3df, 0x2ec, 0x3df, 0x535, 0x5c8, -0x535, 0x5c8, 0x729, 0x757, 0x729, 0x757, 0x9ce, 0x990, 0x9ce, 0x990, 0xb39, -0xa8d, 0xb39, 0xa8d, 0xb39, 0xa8d, 0xcc2, 0xba6, 0xcc2, 0xba6, 0xe8d, 0xd00, -0xe8d, 0xd00, 0x1288, 0x108d, 0x1288, 0x108d, 0x135d, 0x10f8, 0x135d, 0x10f8, 0x1635, -0x136c, 0x1635, 0x136c, 0x19ad, 0x1687, 0x19ad, 0x1687, 0x19ad, 0x1687, 0x1ade, 0x1765, -0x1ade, 0x1765, 0x1b3a, 0x1778, 0x1b3a, 0x1778, 0x1b50, 0x1751, 0x1b50, 0x1751, 0x1cb0, -0x1880, 0x1cb0, 0x1880, 0x1ce6, 0x1891, 0x1ce6, 0x1891, 0x1d74, 0x1909, 0x1d74, 0x1909, -0x1d74, 0x1909, 0x1db3, 0x193d, 0x1db3, 0x193d, 0x1b2d, 0x16ba, 0x1b2d, 0x16ba, 0x1acd, -0x1668, 0x1acd, 0x1668, 0x1a37, 0x15eb, 0x1a37, 0x15eb, 0x183d, 0x1415, 0x183d, 0x1415, -0x183d, 0x1415, 0x17a4, 0x13a9, 0x17a4, 0x13a9, 0x16f8, 0x1333, 0x16f8, 0x1333, 0x16c7, -0x133d, 0x16c7, 0x133d, 0x138f, 0x1046, 0x138f, 0x1046, 0x1213, 0xf10, 0x1213, 0xf10, -0xe70, 0xbb4, 0xe70, 0xbb4, 0xe70, 0xbb4, 0xb4f, 0x8de, 0xb4f, 0x8de, 0xb67, -0x941, 0xb67, 0x941, 0xa55, 0x87c, 0xa55, 0x87c, 0xb1e, 0x98f, 0xb1e, 0x98f, -0x9a1, 0x85d, 0x9a1, 0x85d, 0x7af, 0x6b4, 0x7af, 0x6b4, 0x7af, 0x6b4, 0x637, -0x584, 0x637, 0x584, 0x408, 0x39b, 0x408, 0x39b, 0x452, 0x428, 0x452, 0x428, -0x342, 0x35a, 0x342, 0x35a, 0x142, 0x199, 0x142, 0x199, 0x142, 0x199, 0x42, -0xd7, 0x42, 0xd7, 0xfd2d, 0xfdfc, 0xfd2d, 0xfdfc, 0xfbba, 0xfcc1, 0xfbba, 0xfcc1, -0xf94d, 0xfa89, 0xf94d, 0xfa89, 0xf938, 0xfaa5, 0xf938, 0xfaa5, 0xf8f2, 0xfa8c, 0xf8f2, -0xfa8c, 0xf8f2, 0xfa8c, 0xf7b6, 0xf979, 0xf7b6, 0xf979, 0xf7ce, 0xf9b4, 0xf7ce, 0xf9b4, -0xf4e3, 0xf6e7, 0xf4e3, 0xf6e7, 0xf36f, 0xf58b, 0xf36f, 0xf58b, 0xf2d5, 0xf501, 0xf2d5, -0xf501, 0xf28c, 0xf4c3, 0xf28c, 0xf4c3, 0xf28c, 0xf4c3, 0xf1c0, 0xf3f8, 0xf1c0, 0xf3f8, -0xf387, 0xf5b9, 0xf387, 0xf5b9, 0xf4cf, 0xf6f3, 0xf4cf, 0xf6f3, 0xf385, 0xf592, 0xf385, -0xf592, 0xf46c, 0xf65b, 0xf46c, 0xf65b, 0xf46c, 0xf65b, 0xf57a, 0xf743, 0xf57a, 0xf743, -0xf6fe, 0xf89a, 0xf6fe, 0xf89a, 0xf923, 0xfa8c, 0xf923, 0xfa8c, 0xfb0e, 0xfc3f, 0xfb0e, -0xfc3f, 0xfcdb, 0xfdd1, 0xfcdb, 0xfdd1, 0xfc67, 0xfd1e, 0xfc67, 0xfd1e, 0xfc67, 0xfd1e, -0xfdb5, 0xfe2d, 0xfdb5, 0xfe2d, 0xfedc, 0xff14, 0xfedc, 0xff14, 0xffbc, 0xffb6, 0xffbc, -0xffb6, 0x2e1, 0x2a0, 0x2e1, 0x2a0, 0x413, 0x39b, 0x413, 0x39b, 0x551, 0x4a8, -0x551, 0x4a8, 0x551, 0x4a8, 0x4f0, 0x41c, 0x4f0, 0x41c, 0x5e4, 0x4ec, 0x5e4, -0x4ec, 0x4f1, 0x3dd, 0x4f1, 0x3dd, 0x2cf, 0x1a7, 0x2cf, 0x1a7, 0x437, 0x302, -0x437, 0x302, 0x437, 0x302, 0x4c1, 0x388, 0x4c1, 0x388, 0x4f0, 0x3ba, 0x4f0, -0x3ba, 0x5b6, 0x489, 0x5b6, 0x489, 0x627, 0x509, 0x627, 0x509, 0x4d7, 0x3cd, -0x4d7, 0x3cd, 0x2f3, 0x200, 0x2f3, 0x200, 0x2f3, 0x200, 0x255, 0x17c, 0x255, -0x17c, 0x190, 0xd1, 0x190, 0xd1, 0xc0, 0x1b, 0xc0, 0x1b, 0xe7, 0x5b, -0xe7, 0x5b, 0xfe4a, 0xfdd4, 0xfe4a, 0xfdd4, 0xfe2e, 0xfdcb, 0xfe2e, 0xfdcb, 0xfe2e, -0xfdcb, 0xfe52, 0xfdfe, 0xfe52, 0xfdfe, 0xfd48, 0xfcfe, 0xfd48, 0xfcfe, 0xfeda, 0xfe95, -0xfeda, 0xfe95, 0xffc6, 0xff81, 0xffc6, 0xff81, 0x23b, 0x1f2, 0x23b, 0x1f2, 0x23b, -0x1f2, 0x24f, 0x1fd, 0x24f, 0x1fd, 0x17c, 0x11e, 0x17c, 0x11e, 0x193, 0x124, -0x193, 0x124, 0xffea, 0xff67, 0xffea, 0xff67, 0xa6, 0xf, 0xa6, 0xf, 0x197, -0xea, 0x197, 0xea, 0x197, 0xea, 0x2f1, 0x22d, 0x2f1, 0x22d, 0x3f8, 0x31d, -0x3f8, 0x31d, 0x37f, 0x28e, 0x37f, 0x28e, 0x476, 0x371, 0x476, 0x371, 0x330, -0x217, 0x330, 0x217, 0x330, 0x217, 0x37b, 0x250, 0x37b, 0x250, 0x47b, 0x33f, -0x47b, 0x33f, 0x4bc, 0x371, 0x4bc, 0x371, 0x55a, 0x400, 0x55a, 0x400, 0x53a, -0x3d2, 0x53a, 0x3d2, 0x36c, 0x1f5, 0x36c, 0x1f5, 0x36c, 0x1f5, 0xfd, 0xff76, -0xfd, 0xff76, 0x342, 0x1aa, 0x342, 0x1aa, 0x4ab, 0x2ff, 0x4ab, 0x2ff, 0x686, -0x4c4, 0x686, 0x4c4, 0x903, 0x727, 0x903, 0x727, 0xaa1, 0x8a7, 0xaa1, 0x8a7, -0xaa1, 0x8a7, 0xc29, 0xa0d, 0xc29, 0xa0d, 0xc2d, 0x9ed, 0xc2d, 0x9ed, 0xd57, -0xaed, 0xd57, 0xaed, 0xe25, 0xb8e, 0xe25, 0xb8e, 0x1034, 0xd6e, 0x1034, 0xd6e, -0x1034, 0xd6e, 0x12d4, 0xfdd, 0x12d4, 0xfdd, 0x13fb, 0x10d2, 0x13fb, 0x10d2, 0x14b1, -0x1156, 0x14b1, 0x1156, 0x1538, 0x11ac, 0x1538, 0x11ac, 0x16f5, 0x133a, 0x16f5, 0x133a, -0x1844, 0x145d, 0x1844, 0x145d, 0x1844, 0x145d, 0x1947, 0x1539, 0x1947, 0x1539, 0x1ad9, -0x16a8, 0x1ad9, 0x16a8, 0x1ad7, 0x1689, 0x1ad7, 0x1689, 0x1a07, 0x15a3, 0x1a07, 0x15a3, -0x1a37, 0x15c3, 0x1a37, 0x15c3, 0x1a2f, 0x15b3, 0x1a2f, 0x15b3, 0x1a2f, 0x15b3, 0x190d, -0x148e, 0x190d, 0x148e, 0x193d, 0x14c2, 0x193d, 0x14c2, 0x18ed, 0x147c, 0x18ed, 0x147c, -0x1739, 0x12d7, 0x1739, 0x12d7, 0x166b, 0x121b, 0x166b, 0x121b, 0x166b, 0x121b, 0x15fe, -0x11c4, 0x15fe, 0x11c4, 0x1496, 0x1074, 0x1496, 0x1074, 0x142e, 0x1024, 0x142e, 0x1024, -0x1496, 0x10a4, 0x1496, 0x10a4, 0x12a3, 0xec9, 0x12a3, 0xec9, 0x1297, 0xed4, 0x1297, -0xed4, 0x1297, 0xed4, 0x136c, 0xfbc, 0x136c, 0xfbc, 0x144d, 0x10ae, 0x144d, 0x10ae, -0x156b, 0x11dc, 0x156b, 0x11dc, 0x143c, 0x10b9, 0x143c, 0x10b9, 0x1468, 0x10f0, 0x1468, -0x10f0, 0x1440, 0x10d2, 0x1440, 0x10d2, 0x1440, 0x10d2, 0x14ff, 0x119a, 0x14ff, 0x119a, -0x15f5, 0x129a, 0x15f5, 0x129a, 0x1549, 0x11fb, 0x1549, 0x11fb, 0x1639, 0x12fc, 0x1639, -0x12fc, 0x15d4, 0x12ac, 0x15d4, 0x12ac, 0x15d4, 0x12ac, 0x162c, 0x131f, 0x162c, 0x131f, -0x1604, 0x131b, 0x1604, 0x131b, 0x15e8, 0x132b, 0x15e8, 0x132b, 0x17bb, 0x1533, 0x17bb, -0x1533, 0x1711, 0x14c8, 0x1711, 0x14c8, 0x1667, 0x1467, 0x1667, 0x1467, 0x1667, 0x1467, -0x14b4, 0x1307, 0x14b4, 0x1307, 0x108b, 0xf3b, 0x108b, 0xf3b, 0xd27, 0xc3b, 0xd27, -0xc3b, 0xb49, 0xac9, 0xb49, 0xac9, 0x968, 0x95a, 0x968, 0x95a, 0x796, 0x7fd, -0x796, 0x7fd, 0x796, 0x7fd, 0x6d0, 0x7ae, 0x6d0, 0x7ae, 0x430, 0x583, 0x430, -0x583, 0x7d, 0x244, 0x7d, 0x244, 0xfe71, 0xa5, 0xfe71, 0xa5, 0xfbe6, 0xfe80, -0xfbe6, 0xfe80, 0xfbe6, 0xfe80, 0xf957, 0xfc4c, 0xf957, 0xfc4c, 0xf5fa, 0xf93f, 0xf5fa, -0xf93f, 0xf2ce, 0xf656, 0xf2ce, 0xf656, 0xf007, 0xf3c3, 0xf007, 0xf3c3, 0xec94, 0xf074, -0xec94, 0xf074, 0xeb0a, 0xef00, 0xeb0a, 0xef00, 0xeb0a, 0xef00, 0xe9df, 0xedda, 0xe9df, -0xedda, 0xea84, 0xee75, 0xea84, 0xee75, 0xec02, 0xefda, 0xec02, 0xefda, 0xedc9, 0xf17c, -0xedc9, 0xf17c, 0xeee9, 0xf26a, 0xeee9, 0xf26a, 0xed6f, 0xf0b4, 0xed6f, 0xf0b4, 0xed6f, -0xf0b4, 0xee1c, 0xf11e, 0xee1c, 0xf11e, 0xeef0, 0xf1a9, 0xeef0, 0xf1a9, 0xeff0, 0xf25c, -0xeff0, 0xf25c, 0xf31f, 0xf53c, 0xf31f, 0xf53c, 0xf4e7, 0xf6b6, 0xf4e7, 0xf6b6, 0xf4e7, -0xf6b6, 0xf5e5, 0xf768, 0xf5e5, 0xf768, 0xf639, 0xf774, 0xf639, 0xf774, 0xf704, 0xf7fd, -0xf704, 0xf7fd, 0xf769, 0xf824, 0xf769, 0xf824, 0xf807, 0xf88c, 0xf807, 0xf88c, 0xf9a2, -0xf9f8, 0xf9a2, 0xf9f8, 0xf9a2, 0xf9f8, 0xf95f, 0xf98e, 0xf95f, 0xf98e, 0xfac5, 0xfad3, -0xfac5, 0xfad3, 0xfab9, 0xfaac, 0xfab9, 0xfaac, 0xf9cf, 0xf9ae, 0xf9cf, 0xf9ae, 0xfada, -0xfaa9, 0xfada, 0xfaa9, 0xfa05, 0xf9c8, 0xfa05, 0xf9c8, 0xfa05, 0xf9c8, 0xf987, 0xf942, -0xf987, 0xf942, 0xf928, 0xf8de, 0xf928, 0xf8de, 0xf8f0, 0xf8a3, 0xf8f0, 0xf8a3, 0xf9a1, -0xf951, 0xf9a1, 0xf951, 0xf92f, 0xf8de, 0xf92f, 0xf8de, 0xf92f, 0xf8de, 0xf9ad, 0xf95c, -0xf9ad, 0xf95c, 0xf8ce, 0xf87f, 0xf8ce, 0xf87f, 0xf73d, 0xf6f0, 0xf73d, 0xf6f0, 0xf79a, -0xf752, 0xf79a, 0xf752, 0xf863, 0xf822, 0xf863, 0xf822, 0xfa7e, 0xfa49, 0xfa7e, 0xfa49, -0xfa7e, 0xfa49, 0xfa42, 0xfa1d, 0xfa42, 0xfa1d, 0xfaa9, 0xfa9a, 0xfaa9, 0xfa9a, 0xfbe1, -0xfbef, 0xfbe1, 0xfbef, 0xfabd, 0xfaf0, 0xfabd, 0xfaf0, 0xfab9, 0xfb19, 0xfab9, 0xfb19, -0xfa8b, 0xfb21, 0xfa8b, 0xfb21, 0xfa8b, 0xfb21, 0xf9f1, 0xfac8, 0xf9f1, 0xfac8, 0xfa30, -0xfb50, 0xfa30, 0xfb50, 0xfa0d, 0xfb81, 0xfa0d, 0xfb81, 0xf693, 0xf862, 0xf693, 0xf862, -0xf3bb, 0xf5ee, 0xf3bb, 0xf5ee, 0xf3bb, 0xf5ee, 0xf40d, 0xf6ab, 0xf40d, 0xf6ab, 0xf2a3, -0xf5b2, 0xf2a3, 0xf5b2, 0xf134, 0xf4b6, 0xf134, 0xf4b6, 0xef77, 0xf36e, 0xef77, 0xf36e, -0xecd7, 0xf143, 0xecd7, 0xf143, 0xe94e, 0xee2c, 0xe94e, 0xee2c, 0xe94e, 0xee2c, 0xe55b, -0xeaa6, 0xe55b, 0xeaa6, 0xe3bb, 0xe96e, 0xe3bb, 0xe96e, 0xe18a, 0xe79c, 0xe18a, 0xe79c, -0xe073, 0xe6da, 0xe073, 0xe6da, 0xdea8, 0xe557, 0xdea8, 0xe557, 0xdc17, 0xe303, 0xdc17, -0xe303, 0xdc17, 0xe303, 0xdae6, 0xe202, 0xdae6, 0xe202, 0xd9b1, 0xe0f0, 0xd9b1, 0xe0f0, -0xda6a, 0xe1be, 0xda6a, 0xe1be, 0xd923, 0xe07f, 0xd923, 0xe07f, 0xd7d8, 0xdf30, 0xd7d8, -0xdf30, 0xd7d8, 0xdf30, 0xd7d4, 0xdf1c, 0xd7d4, 0xdf1c, 0xd5aa, 0xdcd9, 0xd5aa, 0xdcd9, -0xd4c6, 0xdbd3, 0xd4c6, 0xdbd3, 0xd62c, 0xdd0f, 0xd62c, 0xdd0f, 0xd7e0, 0xde95, 0xd7e0, -0xde95, 0xd8ca, 0xdf4c, 0xd8ca, 0xdf4c, 0xd8ca, 0xdf4c, 0xdac2, 0xe10f, 0xdac2, 0xe10f, -0xdd2f, 0xe344, 0xdd2f, 0xe344, 0xdd8a, 0xe368, 0xdd8a, 0xe368, 0xdf36, 0xe4de, 0xdf36, -0xe4de, 0xe06e, 0xe5e1, 0xe06e, 0xe5e1, 0xe06e, 0xe5e1, 0xe025, 0xe565, 0xe025, 0xe565, -0xe2d1, 0xe7df, 0xe2d1, 0xe7df, 0xe57f, 0xea5c, 0xe57f, 0xea5c, 0xe7f4, 0xeca2, 0xe7f4, -0xeca2, 0xea5d, 0xeeda, 0xea5d, 0xeeda, 0xeb0c, 0xef59, 0xeb0c, 0xef59, 0xeb0c, 0xef59, -0xec0a, 0xf024, 0xec0a, 0xf024, 0xec32, 0xf016, 0xec32, 0xf016, 0xed9e, 0xf149, 0xed9e, -0xf149, 0xeedc, 0xf247, 0xeedc, 0xf247, 0xee68, 0xf18e, 0xee68, 0xf18e, 0xef74, 0xf24c, -0xef74, 0xf24c, 0xef74, 0xf24c, 0xef57, 0xf1dc, 0xef57, 0xf1dc, 0xf007, 0xf230, 0xf007, -0xf230, 0xf118, 0xf2dd, 0xf118, 0xf2dd, 0xf277, 0xf3d1, 0xf277, 0xf3d1, 0xf54b, 0xf633, -0xf54b, 0xf633, 0xf54b, 0xf633, 0xf694, 0xf704, 0xf694, 0xf704, 0xfa29, 0xfa1d, 0xfa29, -0xfa1d, 0xfdd8, 0xfd4c, 0xfdd8, 0xfd4c, 0xffca, 0xfebd, 0xffca, 0xfebd, 0x35d, 0x1ce, -0x35d, 0x1ce, 0x669, 0x45d, 0x669, 0x45d, 0x669, 0x45d, 0x857, 0x5d0, 0x857, -0x5d0, 0xb4e, 0x854, 0xb4e, 0x854, 0xe9b, 0xb36, 0xe9b, 0xb36, 0xfd7, 0xc10, -0xfd7, 0xc10, 0x11c9, 0xdac, 0x11c9, 0xdac, 0x1555, 0x10ef, 0x1555, 0x10ef, 0x1555, -0x10ef, 0x17c8, 0x1326, 0x17c8, 0x1326, 0x1943, 0x1473, 0x1943, 0x1473, 0x1ae2, 0x15f3, -0x1ae2, 0x15f3, 0x1c83, 0x1784, 0x1c83, 0x1784, 0x1d0c, 0x180a, 0x1d0c, 0x180a, 0x1d0c, -0x180a, 0x1dc7, 0x18cf, 0x1dc7, 0x18cf, 0x1da1, 0x18bf, 0x1da1, 0x18bf, 0x1c60, 0x17a0, -0x1c60, 0x17a0, 0x1b7a, 0x16e4, 0x1b7a, 0x16e4, 0x1a2e, 0x15c9, 0x1a2e, 0x15c9, 0x1936, -0x150a, 0x1936, 0x150a, 0x1936, 0x150a, 0x18d9, 0x14ea, 0x18d9, 0x14ea, 0x199b, 0x15eb, -0x199b, 0x15eb, 0x19da, 0x166b, 0x19da, 0x166b, 0x1777, 0x1449, 0x1777, 0x1449, 0x1499, -0x11ac, 0x1499, 0x11ac, 0x12c2, 0x1014, 0x12c2, 0x1014, 0x12c2, 0x1014, 0x10ad, 0xe3c, -0x10ad, 0xe3c, 0xf59, 0xd23, 0xf59, 0xd23, 0xeea, 0xceb, 0xeea, 0xceb, 0xd54, -0xb8c, 0xd54, 0xb8c, 0xb99, 0xa05, 0xb99, 0xa05, 0xb99, 0xa05, 0xb01, 0x9a1, -0xb01, 0x9a1, 0x9c1, 0x893, 0x9c1, 0x893, 0x6f7, 0x5fc, 0x6f7, 0x5fc, 0x5d7, -0x510, 0x5d7, 0x510, 0x3f2, 0x360, 0x3f2, 0x360, 0x166, 0x10a, 0x166, 0x10a, -0x166, 0x10a, 0xeb, 0xc8, 0xeb, 0xc8, 0xfef1, 0xff07, 0xfef1, 0xff07, 0xfd22, -0xfd74, 0xfd22, 0xfd74, 0xfb93, 0xfc21, 0xfb93, 0xfc21, 0xfaae, 0xfb77, 0xfaae, 0xfb77, -0xf9ba, 0xfabd, 0xf9ba, 0xfabd, 0xf9ba, 0xfabd, 0xf71e, 0xf859, 0xf71e, 0xf859, 0xf691, -0xf800, 0xf691, 0xf800, 0xf4fc, 0xf69a, 0xf4fc, 0xf69a, 0xf373, 0xf538, 0xf373, 0xf538, -0xf341, 0xf526, 0xf341, 0xf526, 0xf341, 0xf526, 0xf21f, 0xf41a, 0xf21f, 0xf41a, 0xf1ec, -0xf3f1, 0xf1ec, 0xf3f1, 0xf14f, 0xf354, 0xf14f, 0xf354, 0xf251, 0xf44a, 0xf251, 0xf44a, -0xf37b, 0xf55c, 0xf37b, 0xf55c, 0xf363, 0xf520, 0xf363, 0xf520, 0xf363, 0xf520, 0xf677, -0xf806, 0xf677, 0xf806, 0xf8fb, 0xfa51, 0xf8fb, 0xfa51, 0xf9f1, 0xfb06, 0xf9f1, 0xfb06, -0xfbea, 0xfcb7, 0xfbea, 0xfcb7, 0xfdbb, 0xfe3e, 0xfdbb, 0xfe3e, 0xff57, 0xff8c, 0xff57, -0xff8c, 0xff57, 0xff8c, 0x1bd, 0x1a4, 0x1bd, 0x1a4, 0x3d2, 0x36e, 0x3d2, 0x36e, -0x398, 0x2ef, 0x398, 0x2ef, 0x43a, 0x354, 0x43a, 0x354, 0x5dd, 0x4c3, 0x5dd, -0x4c3, 0x5dd, 0x4c3, 0x6fb, 0x5b6, 0x6fb, 0x5b6, 0x819, 0x6b7, 0x819, 0x6b7, -0x860, 0x6ee, 0x860, 0x6ee, 0x805, 0x691, 0x805, 0x691, 0x6f5, 0x58b, 0x6f5, -0x58b, 0x76e, 0x61b, 0x76e, 0x61b, 0x76e, 0x61b, 0x8af, 0x77f, 0x8af, 0x77f, -0x956, 0x852, 0x956, 0x852, 0x9b8, 0x8e9, 0x9b8, 0x8e9, 0x8b5, 0x822, 0x8b5, -0x822, 0x8a3, 0x84f, 0x8a3, 0x84f, 0x8a7, 0x893, 0x8a7, 0x893, 0x8a7, 0x893, -0x812, 0x83e, 0x812, 0x83e, 0x7bf, 0x828, 0x7bf, 0x828, 0x67e, 0x720, 0x67e, -0x720, 0x6c2, 0x795, 0x6c2, 0x795, 0x6b9, 0x7b5, 0x6b9, 0x7b5, 0x6b9, 0x7b5, -0x4e0, 0x5fd, 0x4e0, 0x5fd, 0x38e, 0x4c2, 0x38e, 0x4c2, 0x290, 0x3d0, 0x290, -0x3d0, 0x304, 0x446, 0x304, 0x446, 0x3fa, 0x536, 0x3fa, 0x536, 0x5d2, 0x6ff, -0x5d2, 0x6ff, 0x5d2, 0x6ff, 0x557, 0x66e, 0x557, 0x66e, 0x2cc, 0x3c7, 0x2cc, -0x3c7, 0x2cb, 0x3a6, 0x2cb, 0x3a6, 0x144, 0x1fc, 0x144, 0x1fc, 0x1bc, 0x24f, -0x1bc, 0x24f, 0x312, 0x380, 0x312, 0x380, 0x312, 0x380, 0x2b0, 0x2fb, 0x2b0, -0x2fb, 0x2bf, 0x2e8, 0x2bf, 0x2e8, 0x1e5, 0x1ef, 0x1e5, 0x1ef, 0x313, 0x301, -0x313, 0x301, 0x270, 0x245, 0x270, 0x245, 0x270, 0x245, 0x244, 0x202, 0x244, -0x202, 0x3e2, 0x38c, 0x3e2, 0x38c, 0x329, 0x2c0, 0x329, 0x2c0, 0x39a, 0x31d, -0x39a, 0x31d, 0x2da, 0x248, 0x2da, 0x248, 0x159, 0xaf, 0x159, 0xaf, 0x159, -0xaf, 0x7f, 0xffba, 0x7f, 0xffba, 0x5d, 0xff78, 0x5d, 0xff78, 0x237, 0x12d, -0x237, 0x12d, 0x2ef, 0x1b9, 0x2ef, 0x1b9, 0x491, 0x327, 0x491, 0x327, 0x7e5, -0x642, 0x7e5, 0x642, 0x7e5, 0x642, 0x97a, 0x797, 0x97a, 0x797, 0xa5c, 0x833, -0xa5c, 0x833, 0xc2c, 0x9b8, 0xc2c, 0x9b8, 0xe0e, 0xb4b, 0xe0e, 0xb4b, 0xfec, -0xcd9, 0xfec, 0xcd9, 0xfec, 0xcd9, 0x1344, 0xfe0, 0x1344, 0xfe0, 0x1544, 0x1190, -0x1544, 0x1190, 0x1575, 0x1175, 0x1575, 0x1175, 0x1742, 0x12fc, 0x1742, 0x12fc, 0x197a, -0x14f5, 0x197a, 0x14f5, 0x1a44, 0x1589, 0x1a44, 0x1589, 0x1a44, 0x1589, 0x19f7, 0x150f, -0x19f7, 0x150f, 0x1aeb, 0x15e3, 0x1aeb, 0x15e3, 0x1bd5, 0x16b7, 0x1bd5, 0x16b7, 0x1c37, -0x1711, 0x1c37, 0x1711, 0x1cfa, 0x17d7, 0x1cfa, 0x17d7, 0x1cfa, 0x17d7, 0x1c52, 0x173d, -0x1c52, 0x173d, 0x1bf7, 0x16fc, 0x1bf7, 0x16fc, 0x1b6e, 0x1696, 0x1b6e, 0x1696, 0x19bb, -0x150d, 0x19bb, 0x150d, 0x17e5, 0x1368, 0x17e5, 0x1368, 0x16d8, 0x1290, 0x16d8, 0x1290, -0x16d8, 0x1290, 0x16b7, 0x12a7, 0x16b7, 0x12a7, 0x159c, 0x11c5, 0x159c, 0x11c5, 0x149a, -0x10f9, 0x149a, 0x10f9, 0x158a, 0x121e, 0x158a, 0x121e, 0x1632, 0x12f6, 0x1632, 0x12f6, -0x152e, 0x121d, 0x152e, 0x121d, 0x152e, 0x121d, 0x1441, 0x1156, 0x1441, 0x1156, 0x13d3, -0x1108, 0x13d3, 0x1108, 0x1399, 0x10e7, 0x1399, 0x10e7, 0x1455, 0x11b7, 0x1455, 0x11b7, -0x152c, 0x129d, 0x152c, 0x129d, 0x152c, 0x129d, 0x1394, 0x1111, 0x1394, 0x1111, 0x12d1, -0x1055, 0x12d1, 0x1055, 0x1310, 0x109c, 0x1310, 0x109c, 0x1247, 0xfdb, 0x1247, 0xfdb, -0x130e, 0x10ac, 0x130e, 0x10ac, 0x1341, 0x10ed, 0x1341, 0x10ed, 0x1341, 0x10ed, 0x1324, -0x10e3, 0x1324, 0x10e3, 0x1243, 0x101d, 0x1243, 0x101d, 0x1255, 0x1051, 0x1255, 0x1051, -0x13cf, 0x11f5, 0x13cf, 0x11f5, 0x1232, 0x108c, 0x1232, 0x108c, 0x1081, 0xf18, 0x1081, -0xf18, 0x1081, 0xf18, 0xe17, 0xcf4, 0xe17, 0xcf4, 0xb46, 0xa71, 0xb46, 0xa71, -0xa0d, 0x98f, 0xa0d, 0x98f, 0x877, 0x856, 0x877, 0x856, 0x642, 0x684, 0x642, -0x684, 0x642, 0x684, 0x30c, 0x3b2, 0x30c, 0x3b2, 0xb5, 0x1c2, 0xb5, 0x1c2, -0xff52, 0xc5, 0xff52, 0xc5, 0xfca7, 0xfe7e, 0xfca7, 0xfe7e, 0xfa80, 0xfcb6, 0xfa80, -0xfcb6, 0xf931, 0xfbbf, 0xf931, 0xfbbf, 0xf931, 0xfbbf, 0xf67c, 0xf959, 0xf67c, 0xf959, -0xf3d9, 0xf6fc, 0xf3d9, 0xf6fc, 0xf144, 0xf4a2, 0xf144, 0xf4a2, 0xed52, 0xf0dd, 0xed52, -0xf0dd, 0xeaf5, 0xeea1, 0xeaf5, 0xeea1, 0xeab0, 0xee6f, 0xeab0, 0xee6f, 0xeab0, 0xee6f, -0xe915, 0xecd9, 0xe915, 0xecd9, 0xe7a9, 0xeb64, 0xe7a9, 0xeb64, 0xe875, 0xec1b, 0xe875, -0xec1b, 0xe973, 0xecf8, 0xe973, 0xecf8, 0xe92b, 0xec83, 0xe92b, 0xec83, 0xe92b, 0xec83, -0xe908, 0xec2a, 0xe908, 0xec2a, 0xeb02, 0xede6, 0xeb02, 0xede6, 0xec28, 0xeec9, 0xec28, -0xeec9, 0xecba, 0xef12, 0xecba, 0xef12, 0xee04, 0xf010, 0xee04, 0xf010, 0xee5c, 0xf01b, -0xee5c, 0xf01b, 0xee5c, 0xf01b, 0xefcd, 0xf140, 0xefcd, 0xf140, 0xf25d, 0xf387, 0xf25d, -0xf387, 0xf3f5, 0xf4d8, 0xf3f5, 0xf4d8, 0xf4a6, 0xf547, 0xf4a6, 0xf547, 0xf54a, 0xf5b0, -0xf54a, 0xf5b0, 0xf713, 0xf743, 0xf713, 0xf743, 0xf713, 0xf743, 0xf8c0, 0xf8c2, 0xf8c0, -0xf8c2, 0xf8f0, 0xf8ca, 0xf8f0, 0xf8ca, 0xfa8c, 0xfa47, 0xfa8c, 0xfa47, 0xfb55, 0xfaf7, -0xfb55, 0xfaf7, 0xfa59, 0xf9e9, 0xfa59, 0xf9e9, 0xfa59, 0xf9e9, 0xf9ee, 0xf971, 0xf9ee, -0xf971, 0xf919, 0xf895, 0xf919, 0xf895, 0xf93a, 0xf8b3, 0xf93a, 0xf8b3, 0xf9fa, 0xf974, -0xf9fa, 0xf974, 0xfa6f, 0xf9ec, 0xfa6f, 0xf9ec, 0xf831, 0xf7b3, 0xf831, 0xf7b3, 0xf831, -0xf7b3, 0xf6b8, 0xf640, 0xf6b8, 0xf640, 0xf750, 0xf6df, 0xf750, 0xf6df, 0xf72f, 0xf6c4, -0xf72f, 0xf6c4, 0xf86e, 0xf80b, 0xf86e, 0xf80b, 0xf849, 0xf7ee, 0xf849, 0xf7ee, 0xf94c, -0xf8f9, 0xf94c, 0xf8f9, 0xf94c, 0xf8f9, 0xfa3b, 0xf9f1, 0xfa3b, 0xf9f1, 0xfabb, 0xfa7c, -0xfabb, 0xfa7c, 0xfc6a, 0xfc3a, 0xfc6a, 0xfc3a, 0xfb55, 0xfb36, 0xfb55, 0xfb36, 0xfb9b, -0xfb93, 0xfb9b, 0xfb93, 0xfb9b, 0xfb93, 0xfb55, 0xfb6a, 0xfb55, 0xfb6a, 0xfb40, 0xfb78, -0xfb40, 0xfb78, 0xfc2d, 0xfc92, 0xfc2d, 0xfc92, 0xfa69, 0xfb03, 0xfa69, 0xfb03, 0xf990, -0xfa68, 0xf990, 0xfa68, 0xf7c1, 0xf8e1, 0xf7c1, 0xf8e1, 0xf7c1, 0xf8e1, 0xf71b, 0xf88c, -0xf71b, 0xf88c, 0xf79e, 0xf96b, 0xf79e, 0xf96b, 0xf504, 0xf734, 0xf504, 0xf734, 0xf29c, -0xf537, 0xf29c, 0xf537, 0xefd8, 0xf2e4, 0xefd8, 0xf2e4, 0xedd5, 0xf157, 0xedd5, 0xf157, -0xedd5, 0xf157, 0xecd6, 0xf0cf, 0xecd6, 0xf0cf, 0xeaf3, 0xef63, 0xeaf3, 0xef63, 0xe87f, -0xed64, 0xe87f, 0xed64, 0xe67a, 0xebcf, 0xe67a, 0xebcf, 0xe52d, 0xeae9, 0xe52d, 0xeae9, -0xe52d, 0xeae9, 0xe258, 0xe871, 0xe258, 0xe871, 0xe0d1, 0xe73c, 0xe0d1, 0xe73c, 0xe029, -0xe6d6, 0xe029, 0xe6d6, 0xdfa6, 0xe686, 0xdfa6, 0xe686, 0xdf23, 0xe625, 0xdf23, 0xe625, -0xdd84, 0xe497, 0xdd84, 0xe497, 0xdd84, 0xe497, 0xdce1, 0xe3f3, 0xdce1, 0xe3f3, 0xdb9e, -0xe29f, 0xdb9e, 0xe29f, 0xdb3c, 0xe21b, 0xdb3c, 0xe21b, 0xdafa, 0xe1a8, 0xdafa, 0xe1a8, -0xda28, 0xe099, 0xda28, 0xe099, 0xdb58, 0xe180, 0xdb58, 0xe180, 0xdb58, 0xe180, 0xdd7e, -0xe355, 0xdd7e, 0xe355, 0xdf16, 0xe497, 0xdf16, 0xe497, 0xdf9d, 0xe4c5, 0xdf9d, 0xe4c5, -0xe128, 0xe5f7, 0xe128, 0xe5f7, 0xe3dd, 0xe854, 0xe3dd, 0xe854, 0xe3dd, 0xe854, 0xe551, -0xe974, 0xe551, 0xe974, 0xe6ab, 0xea80, 0xe6ab, 0xea80, 0xe9d3, 0xed61, 0xe9d3, 0xed61, -0xebf8, 0xef47, 0xebf8, 0xef47, 0xed59, 0xf072, 0xed59, 0xf072, 0xef8e, 0xf278, 0xef8e, -0xf278, 0xef8e, 0xf278, 0xf16a, 0xf42d, 0xf16a, 0xf42d, 0xf1fa, 0xf49b, 0xf1fa, 0xf49b, -0xf29a, 0xf51d, 0xf29a, 0xf51d, 0xf30b, 0xf574, 0xf30b, 0xf574, 0xf1c2, 0xf40f, 0xf1c2, -0xf40f, 0xf1c9, 0xf3f9, 0xf1c9, 0xf3f9, 0xf1c9, 0xf3f9, 0xf14e, 0xf35d, 0xf14e, 0xf35d, -0xf19d, 0xf384, 0xf19d, 0xf384, 0xf208, 0xf3bd, 0xf208, 0xf3bd, 0xf1d3, 0xf34d, 0xf1d3, -0xf34d, 0xf3ee, 0xf522, 0xf3ee, 0xf522, 0xf3ee, 0xf522, 0xf534, 0xf615, 0xf534, 0xf615, -0xf831, 0xf8b3, 0xf831, 0xf8b3, 0xf974, 0xf98b, 0xf974, 0xf98b, 0xfa0a, 0xf9ab, 0xfa0a, -0xf9ab, 0xfcf2, 0xfc15, 0xfcf2, 0xfc15, 0xff41, 0xfdde, 0xff41, 0xfdde, 0xff41, 0xfdde, -0x3cb, 0x1df, 0x3cb, 0x1df, 0x68e, 0x416, 0x68e, 0x416, 0x903, 0x600, 0x903, -0x600, 0xbdb, 0x850, 0xbdb, 0x850, 0xd40, 0x936, 0xd40, 0x936, 0xd40, 0x936, -0x10c8, 0xc49, 0x10c8, 0xc49, 0x13a2, 0xeba, 0x13a2, 0xeba, 0x15d7, 0x1095, 0x15d7, -0x1095, 0x185a, 0x12ce, 0x185a, 0x12ce, 0x1ac6, 0x1503, 0x1ac6, 0x1503, 0x1cd3, 0x16ea, -0x1cd3, 0x16ea, 0x1cd3, 0x16ea, 0x1e44, 0x1848, 0x1e44, 0x1848, 0x1ef9, 0x18fc, 0x1ef9, -0x18fc, 0x1d88, 0x179a, 0x1d88, 0x179a, 0x1e25, 0x1856, 0x1e25, 0x1856, 0x1f60, 0x19be, -0x1f60, 0x19be, 0x1f04, 0x199a, 0x1f04, 0x199a, 0x1f04, 0x199a, 0x1eb4, 0x198c, 0x1eb4, -0x198c, 0x1d2a, 0x1849, 0x1d2a, 0x1849, 0x1c29, 0x1796, 0x1c29, 0x1796, 0x19f3, 0x15af, -0x19f3, 0x15af, 0x181c, 0x1428, 0x181c, 0x1428, 0x181c, 0x1428, 0x175c, 0x13b6, 0x175c, -0x13b6, 0x159a, 0x1241, 0x159a, 0x1241, 0x1452, 0x1141, 0x1452, 0x1141, 0x11fe, 0xf32, -0x11fe, 0xf32, 0x103a, 0xdb0, 0x103a, 0xdb0, 0xec5, 0xc79, 0xec5, 0xc79, 0xec5, -0xc79, 0xd6b, 0xb5a, 0xd6b, 0xb5a, 0xc58, 0xa81, 0xc58, 0xa81, 0x9e1, 0x842, -0x9e1, 0x842, 0x7f8, 0x691, 0x7f8, 0x691, 0x70a, 0x5dd, 0x70a, 0x5dd, 0x51b, -0x42a, 0x51b, 0x42a, 0x51b, 0x42a, 0x32b, 0x277, 0x32b, 0x277, 0x2e7, 0x274, -0x2e7, 0x274, 0x148, 0x11a, 0x148, 0x11a, 0xff90, 0xffa9, 0xff90, 0xffa9, 0xfeb1, -0xff13, 0xfeb1, 0xff13, 0xfeb1, 0xff13, 0xfc15, 0xfcc1, 0xfc15, 0xfcc1, 0xf994, 0xfa8b, -0xf994, 0xfa8b, 0xf8ab, 0xf9eb, 0xf8ab, 0xf9eb, 0xf74a, 0xf8cf, 0xf74a, 0xf8cf, 0xf4d4, -0xf69a, 0xf4d4, 0xf69a, 0xf336, 0xf534, 0xf336, 0xf534, 0xf336, 0xf534, 0xf1e0, 0xf40e, -0xf1e0, 0xf40e, 0xf0a0, 0xf2f2, 0xf0a0, 0xf2f2, 0xefd6, 0xf241, 0xefd6, 0xf241, 0xf08e, -0xf305, 0xf08e, 0xf305, 0xf19b, 0xf40f, 0xf19b, 0xf40f, 0xf241, 0xf4a4, 0xf241, 0xf4a4, -0xf241, 0xf4a4, 0xf425, 0xf66a, 0xf425, 0xf66a, 0xf488, 0xf6a0, 0xf488, 0xf6a0, 0xf4be, -0xf69e, 0xf4be, 0xf69e, 0xf646, 0xf7e5, 0xf646, 0xf7e5, 0xf7c2, 0xf916, 0xf7c2, 0xf916, -0xf7c2, 0xf916, 0xfa67, 0xfb6b, 0xfa67, 0xfb6b, 0xfc1b, 0xfcca, 0xfc1b, 0xfcca, 0xfc9f, -0xfcfa, 0xfc9f, 0xfcfa, 0xfd8d, 0xfd93, 0xfd8d, 0xfd93, 0xfe37, 0xfded, 0xfe37, 0xfded, -0x21, 0xff8d, 0x21, 0xff8d, 0x21, 0xff8d, 0xbe, 0xffe8, 0xbe, 0xffe8, 0x7, -0xfef9, 0x7, 0xfef9, 0x156, 0x19, 0x156, 0x19, 0x22f, 0xd0, 0x22f, 0xd0, -0x33d, 0x1c6, 0x33d, 0x1c6, 0x528, 0x3a4, 0x528, 0x3a4, 0x528, 0x3a4, 0x5d2, -0x44c, 0x5d2, 0x44c, 0x5a5, 0x427, 0x5a5, 0x427, 0x706, 0x597, 0x706, 0x597, -0x835, 0x6dc, 0x835, 0x6dc, 0x7a8, 0x66b, 0x7a8, 0x66b, 0x7a8, 0x66b, 0x7dd, -0x6be, 0x7dd, 0x6be, 0x8af, 0x7b0, 0x8af, 0x7b0, 0x8ed, 0x80f, 0x8ed, 0x80f, -0x7a3, 0x6e3, 0x7a3, 0x6e3, 0x6c1, 0x61f, 0x6c1, 0x61f, 0x571, 0x4e7, 0x571, -0x4e7, 0x571, 0x4e7, 0x3ab, 0x337, 0x3ab, 0x337, 0x377, 0x315, 0x377, 0x315, -0x396, 0x343, 0x396, 0x343, 0x401, 0x3b9, 0x401, 0x3b9, 0x345, 0x305, 0x345, -0x305, 0x253, 0x219, 0x253, 0x219, 0x253, 0x219, 0x148, 0x113, 0x148, 0x113, -0xff4c, 0xff1c, 0xff4c, 0xff1c, 0xff18, 0xfeee, 0xff18, 0xfeee, 0x89, 0x65, 0x89, -0x65, 0x35, 0x19, 0x35, 0x19, 0x35, 0x19, 0xff79, 0xff68, 0xff79, 0xff68, -0x8f, 0x8a, 0x8f, 0x8a, 0x42, 0x4b, 0x42, 0x4b, 0xff75, 0xff8d, 0xff75, -0xff8d, 0x5, 0x2d, 0x5, 0x2d, 0xfff5, 0x2c, 0xfff5, 0x2c, 0xfff5, 0x2c, -0x3b, 0x7f, 0x3b, 0x7f, 0x1b4, 0x203, 0x1b4, 0x203, 0x14e, 0x1a3, 0x14e, -0x1a3, 0x42, 0x96, 0x42, 0x96, 0xff2e, 0xff7c, 0xff2e, 0xff7c, 0xfda1, 0xfde0, -0xfda1, 0xfde0, 0xfda1, 0xfde0, 0xfd75, 0xfd9c, 0xfd75, 0xfd9c, 0xfd09, 0xfd10, 0xfd09, -0xfd10, 0xfdbf, 0xfd9b, 0xfdbf, 0xfd9b, 0xfe82, 0xfe2b, 0xfe82, 0xfe2b, 0x5, 0xff71, -0x5, 0xff71, 0x5, 0xff71, 0x285, 0x1ac, 0x285, 0x1ac, 0x259, 0x134, 0x259, -0x134, 0x3d7, 0x260, 0x3d7, 0x260, 0x61a, 0x44e, 0x61a, 0x44e, 0x784, 0x561, -0x784, 0x561, 0x973, 0x6f8, 0x973, 0x6f8, 0x973, 0x6f8, 0xb9f, 0x8ce, 0xb9f, -0x8ce, 0xf60, 0xc3c, 0xf60, 0xc3c, 0x11ce, 0xe5d, 0x11ce, 0xe5d, 0x147c, 0x10c5, -0x147c, 0x10c5, 0x17d9, 0x13e3, 0x17d9, 0x13e3, 0x1815, 0x13e9, 0x1815, 0x13e9, 0x1815, -0x13e9, 0x1814, 0x13bc, 0x1814, 0x13bc, 0x1916, 0x149c, 0x1916, 0x149c, 0x1a1f, 0x158d, -0x1a1f, 0x158d, 0x1ae5, 0x1643, 0x1ae5, 0x1643, 0x1c36, 0x178d, 0x1c36, 0x178d, 0x1c36, -0x178d, 0x1c9b, 0x17f4, 0x1c9b, 0x17f4, 0x1c3e, 0x179e, 0x1c3e, 0x179e, 0x1e4e, 0x19bb, -0x1e4e, 0x19bb, 0x1e41, 0x19bf, 0x1e41, 0x19bf, 0x1bb8, 0x1749, 0x1bb8, 0x1749, 0x19a7, -0x154c, 0x19a7, 0x154c, 0x19a7, 0x154c, 0x1880, 0x143a, 0x1880, 0x143a, 0x17ac, 0x137b, -0x17ac, 0x137b, 0x1704, 0x12e4, 0x1704, 0x12e4, 0x1861, 0x1451, 0x1861, 0x1451, 0x18b1, -0x14af, 0x18b1, 0x14af, 0x18e9, 0x14f1, 0x18e9, 0x14f1, 0x18e9, 0x14f1, 0x18f8, 0x1509, -0x18f8, 0x1509, 0x17a6, 0x13bd, 0x17a6, 0x13bd, 0x1744, 0x135f, 0x1744, 0x135f, 0x1707, -0x1327, 0x1707, 0x1327, 0x17db, 0x13fe, 0x17db, 0x13fe, 0x17db, 0x13fe, 0x1871, 0x1499, -0x1871, 0x1499, 0x17b9, 0x13e8, 0x17b9, 0x13e8, 0x17da, 0x1413, 0x17da, 0x1413, 0x18a7, -0x14ee, 0x18a7, 0x14ee, 0x189b, 0x14f4, 0x189b, 0x14f4, 0x18b0, 0x1522, 0x18b0, 0x1522, -0x18b0, 0x1522, 0x1a28, 0x16b8, 0x1a28, 0x16b8, 0x1a53, 0x1709, 0x1a53, 0x1709, 0x192b, -0x160d, 0x192b, 0x160d, 0x18d6, 0x15ec, 0x18d6, 0x15ec, 0x1740, 0x1491, 0x1740, 0x1491, -0x1740, 0x1491, 0x159f, 0x1331, 0x159f, 0x1331, 0x1546, 0x1320, 0x1546, 0x1320, 0x13c9, -0x11f2, 0x13c9, 0x11f2, 0x11cc, 0x1049, 0x11cc, 0x1049, 0xeb1, 0xd87, 0xeb1, 0xd87, -0xbaa, 0xadd, 0xbaa, 0xadd, 0xbaa, 0xadd, 0x8be, 0x851, 0x8be, 0x851, 0x5a4, -0x599, 0x5a4, 0x599, 0x3ab, 0x402, 0x3ab, 0x402, 0x163, 0x21d, 0x163, 0x21d, -0x1, 0x11c, 0x1, 0x11c, 0xfd68, 0xfee0, 0xfd68, 0xfee0, 0xfd68, 0xfee0, 0xfa06, -0xfbd9, 0xfa06, 0xfbd9, 0xf74a, 0xf972, 0xf74a, 0xf972, 0xf398, 0xf60f, 0xf398, 0xf60f, -0xf0aa, 0xf368, 0xf0aa, 0xf368, 0xee60, 0xf15e, 0xee60, 0xf15e, 0xee60, 0xf15e, 0xecda, -0xf00e, 0xecda, 0xf00e, 0xeb8a, 0xeeea, 0xeb8a, 0xeeea, 0xe9dd, 0xed5e, 0xe9dd, 0xed5e, -0xe92d, 0xecc4, 0xe92d, 0xecc4, 0xe8ee, 0xec8f, 0xe8ee, 0xec8f, 0xe7bc, 0xeb5d, 0xe7bc, -0xeb5d, 0xe7bc, 0xeb5d, 0xe815, 0xeba9, 0xe815, 0xeba9, 0xea4e, 0xedcb, 0xea4e, 0xedcb, -0xea42, 0xed9e, 0xea42, 0xed9e, 0xeab8, 0xedec, 0xeab8, 0xedec, 0xed29, 0xf02c, 0xed29, -0xf02c, 0xee48, 0xf114, 0xee48, 0xf114, 0xee48, 0xf114, 0xf02a, 0xf2ba, 0xf02a, 0xf2ba, -0xf410, 0xf661, 0xf410, 0xf661, 0xf74c, 0xf95e, 0xf74c, 0xf95e, 0xf7b8, 0xf98b, 0xf7b8, -0xf98b, 0xf7fd, 0xf993, 0xf7fd, 0xf993, 0xf7fd, 0xf993, 0xfa33, 0xfb90, 0xfa33, 0xfb90, -0xfaa2, 0xfbcc, 0xfaa2, 0xfbcc, 0xfb2b, 0xfc28, 0xfb2b, 0xfc28, 0xfc4d, 0xfd25, 0xfc4d, -0xfd25, 0xfbeb, 0xfca5, 0xfbeb, 0xfca5, 0xfc9d, 0xfd42, 0xfc9d, 0xfd42, 0xfc9d, 0xfd42, -0xfd10, 0xfda7, 0xfd10, 0xfda7, 0xfcc8, 0xfd5a, 0xfcc8, 0xfd5a, 0xfc20, 0xfcb3, 0xfc20, -0xfcb3, 0xfb37, 0xfbd1, 0xfb37, 0xfbd1, 0xfaa9, 0xfb4e, 0xfaa9, 0xfb4e, 0xf970, 0xfa25, -0xf970, 0xfa25, 0xf970, 0xfa25, 0xf827, 0xf8ee, 0xf827, 0xf8ee, 0xf7e2, 0xf8ba, 0xf7e2, -0xf8ba, 0xf8ed, 0xf9d7, 0xf8ed, 0xf9d7, 0xf9c6, 0xfac0, 0xf9c6, 0xfac0, 0xfac9, 0xfbd1, -0xfac9, 0xfbd1, 0xfac9, 0xfbd1, 0xfc32, 0xfd43, 0xfc32, 0xfd43, 0xfc67, 0xfd7f, 0xfc67, -0xfd7f, 0xfcc7, 0xfde3, 0xfcc7, 0xfde3, 0xfdab, 0xfec8, 0xfdab, 0xfec8, 0xfddd, 0xfef8, -0xfddd, 0xfef8, 0xfe96, 0xffb0, 0xfe96, 0xffb0, 0xfe96, 0xffb0, 0xfeee, 0x7, 0xfeee, -0x7, 0xfd9b, 0xfeb5, 0xfd9b, 0xfeb5, 0xfc43, 0xfd63, 0xfc43, 0xfd63, 0xfb86, 0xfcb1, -0xfb86, 0xfcb1, 0xfc05, 0xfd43, 0xfc05, 0xfd43, 0xfc10, 0xfd69, 0xfc10, 0xfd69, 0xfc10, -0xfd69, 0xfb5a, 0xfcd9, 0xfb5a, 0xfcd9, 0xf9d6, 0xfb86, 0xf9d6, 0xfb86, 0xf682, 0xf86f, -0xf682, 0xf86f, 0xf48b, 0xf6c0, 0xf48b, 0xf6c0, 0xf1f4, 0xf47b, 0xf1f4, 0xf47b, 0xf1f4, -0xf47b, 0xee83, 0xf168, 0xee83, 0xf168, 0xecaf, 0xeff9, 0xecaf, 0xeff9, 0xea24, 0xedda, -0xea24, 0xedda, 0xe879, 0xec9f, 0xe879, 0xec9f, 0xe664, 0xeafb, 0xe664, 0xeafb, 0xe33d, -0xe844, 0xe33d, 0xe844, 0xe33d, 0xe844, 0xe19b, 0xe70d, 0xe19b, 0xe70d, 0xdf0a, 0xe4e0, -0xdf0a, 0xe4e0, 0xddb7, 0xe3e6, 0xddb7, 0xe3e6, 0xdd53, 0xe3ce, 0xdd53, 0xe3ce, 0xda9b, -0xe154, 0xda9b, 0xe154, 0xd8f5, 0xdfdb, 0xd8f5, 0xdfdb, 0xd8f5, 0xdfdb, 0xd8ec, 0xdfee, -0xd8ec, 0xdfee, 0xd843, 0xdf4d, 0xd843, 0xdf4d, 0xd7ea, 0xdeeb, 0xd7ea, 0xdeeb, 0xd887, -0xdf6d, 0xd887, 0xdf6d, 0xd7ce, 0xde89, 0xd7ce, 0xde89, 0xd7ce, 0xde89, 0xd809, 0xde8a, -0xd809, 0xde8a, 0xda43, 0xe07e, 0xda43, 0xe07e, 0xdb73, 0xe15f, 0xdb73, 0xe15f, 0xdb9b, -0xe130, 0xdb9b, 0xe130, 0xdca7, 0xe1e2, 0xdca7, 0xe1e2, 0xdf70, 0xe450, 0xdf70, 0xe450, -0xdf70, 0xe450, 0xe064, 0xe4ea, 0xe064, 0xe4ea, 0xe20c, 0xe63d, 0xe20c, 0xe63d, 0xe4fc, -0xe8dd, 0xe4fc, 0xe8dd, 0xe5f0, 0xe989, 0xe5f0, 0xe989, 0xe87f, 0xebd8, 0xe87f, 0xebd8, -0xebc0, 0xeee2, 0xebc0, 0xeee2, 0xebc0, 0xeee2, 0xedff, 0xf0f3, 0xedff, 0xf0f3, 0xeefe, -0xf1cc, 0xeefe, 0xf1cc, 0xef81, 0xf230, 0xef81, 0xf230, 0xf08e, 0xf323, 0xf08e, 0xf323, -0xf029, 0xf2a7, 0xf029, 0xf2a7, 0xf029, 0xf2a7, 0xef42, 0xf1a9, 0xef42, 0xf1a9, 0xeeed, -0xf13c, 0xeeed, 0xf13c, 0xeef5, 0xf127, 0xeef5, 0xf127, 0xef44, 0xf153, 0xef44, 0xf153, -0xf0c4, 0xf2a8, 0xf0c4, 0xf2a8, 0xf2ca, 0xf478, 0xf2ca, 0xf478, 0xf2ca, 0xf478, 0xf2dc, -0xf44a, 0xf2dc, 0xf44a, 0xf343, 0xf464, 0xf343, 0xf464, 0xf3eb, 0xf4b3, 0xf3eb, 0xf4b3, -0xf442, 0xf4a7, 0xf442, 0xf4a7, 0xf72f, 0xf725, 0xf72f, 0xf725, 0xf9e6, 0xf964, 0xf9e6, -0xf964, 0xf9e6, 0xf964, 0xfc8d, 0xfb8d, 0xfc8d, 0xfb8d, 0xffe9, 0xfe65, 0xffe9, 0xfe65, -0x2a4, 0x9b, 0x2a4, 0x9b, 0x598, 0x30a, 0x598, 0x30a, 0x70b, 0x3fd, 0x70b, -0x3fd, 0x70b, 0x3fd, 0x991, 0x608, 0x991, 0x608, 0xc0c, 0x812, 0xc0c, 0x812, -0xe38, 0x9d7, 0xe38, 0x9d7, 0x1355, 0xe9a, 0x1355, 0xe9a, 0x1614, 0x110e, 0x1614, -0x110e, 0x16e4, 0x11a4, 0x16e4, 0x11a4, 0x16e4, 0x11a4, 0x1839, 0x12cd, 0x1839, 0x12cd, -0x1915, 0x138e, 0x1915, 0x138e, 0x1a4d, 0x14bc, 0x1a4d, 0x14bc, 0x1b3b, 0x15ad, 0x1b3b, -0x15ad, 0x1bce, 0x1651, 0x1bce, 0x1651, 0x1bbc, 0x165d, 0x1bbc, 0x165d, 0x1bbc, 0x165d, -0x1a8b, 0x1554, 0x1a8b, 0x1554, 0x1a02, 0x14fc, 0x1a02, 0x14fc, 0x1a80, 0x15b1, 0x1a80, -0x15b1, 0x18ac, 0x141b, 0x18ac, 0x141b, 0x16e0, 0x1290, 0x16e0, 0x1290, 0x16e0, 0x1290, -0x16a3, 0x1296, 0x16a3, 0x1296, 0x148f, 0x10c6, 0x148f, 0x10c6, 0x1388, 0x1004, 0x1388, -0x1004, 0x1314, 0xfd5, 0x1314, 0xfd5, 0x1199, 0xe9e, 0x1199, 0xe9e, 0x10a5, 0xdef, -0x10a5, 0xdef, 0x10a5, 0xdef, 0x1055, 0xde2, 0x1055, 0xde2, 0x100d, 0xdde, 0x100d, -0xdde, 0xd16, 0xb2c, 0xd16, 0xb2c, 0xab8, 0x914, 0xab8, 0x914, 0x9ac, 0x850, -0x9ac, 0x850, 0x9ac, 0x850, 0x74f, 0x63c, 0x74f, 0x63c, 0x685, 0x5be, 0x685, -0x5be, 0x603, 0x589, 0x603, 0x589, 0x505, 0x4da, 0x505, 0x4da, 0x40c, 0x431, -0x40c, 0x431, 0x224, 0x29a, 0x224, 0x29a, 0x224, 0x29a, 0xf, 0xd3, 0xf, -0xd3, 0xfdb6, 0xfec7, 0xfdb6, 0xfec7, 0xfc0b, 0xfd66, 0xfc0b, 0xfd66, 0xfa3c, 0xfbda, -0xfa3c, 0xfbda, 0xf7a4, 0xf97e, 0xf7a4, 0xf97e, 0xf5ca, 0xf7d8, 0xf5ca, 0xf7d8, 0xf5ca, -0xf7d8, 0xf462, 0xf69a, 0xf462, 0xf69a, 0xf39f, 0xf5f5, 0xf39f, 0xf5f5, 0xf337, 0xf5a0, -0xf337, 0xf5a0, 0xf44e, 0xf6bc, 0xf44e, 0xf6bc, 0xf5d9, 0xf83f, 0xf5d9, 0xf83f, 0xf5d9, -0xf83f, 0xf5bb, 0xf80c, 0xf5bb, 0xf80c, 0xf6f9, 0xf929, 0xf6f9, 0xf929, 0xf747, 0xf949, -0xf747, 0xf949, 0xf74e, 0xf918, 0xf74e, 0xf918, 0xf999, 0xfb23, 0xf999, 0xfb23, 0xfb0c, -0xfc4f, 0xfb0c, 0xfc4f, 0xfb0c, 0xfc4f, 0xfccf, 0xfdc5, 0xfccf, 0xfdc5, 0xfdd5, 0xfe7c, -0xfdd5, 0xfe7c, 0xfedd, 0xff35, 0xfedd, 0xff35, 0xffda, 0xffe4, 0xffda, 0xffe4, 0xffce, -0xff8d, 0xffce, 0xff8d, 0xfd, 0x79, 0xfd, 0x79, 0xfd, 0x79, 0x37, 0xff74, -0x37, 0xff74, 0xffb9, 0xfec1, 0xffb9, 0xfec1, 0x130, 0xc, 0x130, 0xc, 0x166, -0x1e, 0x166, 0x1e, 0x218, 0xb6, 0x218, 0xb6, 0x218, 0xb6, 0x404, 0x293, -0x404, 0x293, 0x52b, 0x3b1, 0x52b, 0x3b1, 0x5cd, 0x453, 0x5cd, 0x453, 0x70a, -0x596, 0x70a, 0x596, 0x778, 0x610, 0x778, 0x610, 0x79f, 0x647, 0x79f, 0x647, -0x79f, 0x647, 0x824, 0x6de, 0x824, 0x6de, 0xa21, 0x8ef, 0xa21, 0x8ef, 0xb6e, -0xa4f, 0xb6e, 0xa4f, 0x9de, 0x8d3, 0x9de, 0x8d3, 0x949, 0x850, 0x949, 0x850, -0x83d, 0x753, 0x83d, 0x753, 0x83d, 0x753, 0x79d, 0x6c1, 0x79d, 0x6c1, 0x8d7, -0x807, 0x8d7, 0x807, 0x98e, 0x8c7, 0x98e, 0x8c7, 0x943, 0x884, 0x943, 0x884, -0x7e0, 0x728, 0x7e0, 0x728, 0x7e0, 0x728, 0x81b, 0x76a, 0x81b, 0x76a, 0x7b4, -0x70a, 0x7b4, 0x70a, 0x58f, 0x4ee, 0x58f, 0x4ee, 0x588, 0x4f1, 0x588, 0x4f1, -0x5e9, 0x55e, 0x5e9, 0x55e, 0x4f6, 0x47b, 0x4f6, 0x47b, 0x4f6, 0x47b, 0x49e, -0x435, 0x49e, 0x435, 0x440, 0x3eb, 0x440, 0x3eb, 0x357, 0x318, 0x357, 0x318, -0x347, 0x320, 0x347, 0x320, 0x2a3, 0x295, 0x2a3, 0x295, 0x208, 0x212, 0x208, -0x212, 0x208, 0x212, 0x1a5, 0x1c5, 0x1a5, 0x1c5, 0x197, 0x1cb, 0x197, 0x1cb, -0x222, 0x265, 0x222, 0x265, 0x132, 0x180, 0x132, 0x180, 0x79, 0xcb, 0x79, -0xcb, 0x79, 0xcb, 0x14, 0x62, 0x14, 0x62, 0xff9d, 0xffdf, 0xff9d, 0xffdf, -0xffa3, 0xffd1, 0xffa3, 0xffd1, 0xd9, 0xe9, 0xd9, 0xe9, 0x223, 0x20c, 0x223, -0x20c, 0x244, 0x1fe, 0x244, 0x1fe, 0x244, 0x1fe, 0x3aa, 0x32d, 0x3aa, 0x32d, -0x3f1, 0x335, 0x3f1, 0x335, 0x41f, 0x320, 0x41f, 0x320, 0x5df, 0x497, 0x5df, -0x497, 0x74a, 0x5b6, 0x74a, 0x5b6, 0x95d, 0x77c, 0x95d, 0x77c, 0x95d, 0x77c, -0xb55, 0x927, 0xb55, 0x927, 0xe64, 0xbeb, 0xe64, 0xbeb, 0x10c0, 0xdff, 0x10c0, -0xdff, 0x1288, 0xf85, 0x1288, 0xf85, 0x160b, 0x12ca, 0x160b, 0x12ca, 0x160b, 0x12ca, -0x171f, 0x13a8, 0x171f, 0x13a8, 0x184b, 0x14a5, 0x184b, 0x14a5, 0x1a50, 0x1683, 0x1a50, -0x1683, 0x19cc, 0x15df, 0x19cc, 0x15df, 0x1991, 0x158d, 0x1991, 0x158d, 0x19ff, 0x15ec, -0x19ff, 0x15ec, 0x19ff, 0x15ec, 0x1a8e, 0x1673, 0x1a8e, 0x1673, 0x1b45, 0x1727, 0x1b45, -0x1727, 0x1b61, 0x1746, 0x1b61, 0x1746, 0x1b02, 0x16ef, 0x1b02, 0x16ef, 0x196a, 0x1563, -0x196a, 0x1563, 0x179a, 0x13a2, 0x179a, 0x13a2, 0x179a, 0x13a2, 0x16d1, 0x12ea, 0x16d1, -0x12ea, 0x1518, 0x1142, 0x1518, 0x1142, 0x13b8, 0xff4, 0x13b8, 0xff4, 0x14ca, 0x1118, -0x14ca, 0x1118, 0x14dd, 0x113c, 0x14dd, 0x113c, 0x14dd, 0x113c, 0x154b, 0x11bb, 0x154b, -0x11bb, 0x16ae, 0x132d, 0x16ae, 0x132d, 0x15f9, 0x1287, 0x15f9, 0x1287, 0x1592, 0x122d, -0x1592, 0x122d, 0x1629, 0x12d2, 0x1629, 0x12d2, 0x17f0, 0x14a5, 0x17f0, 0x14a5, 0x17f0, -0x14a5, 0x1871, 0x1533, 0x1871, 0x1533, 0x16c8, 0x1398, 0x16c8, 0x1398, 0x17d3, 0x14b1, -0x17d3, 0x14b1, 0x1825, 0x1514, 0x1825, 0x1514, 0x1763, 0x1465, 0x1763, 0x1465, 0x18ad, -0x15c4, 0x18ad, 0x15c4, 0x18ad, 0x15c4, 0x18b7, 0x15e6, 0x18b7, 0x15e6, 0x1885, 0x15d0, -0x1885, 0x15d0, 0x18af, 0x161b, 0x18af, 0x161b, 0x17f2, 0x1582, 0x17f2, 0x1582, 0x160a, -0x13c3, 0x160a, 0x13c3, 0x160a, 0x13c3, 0x141c, 0x1204, 0x141c, 0x1204, 0x13eb, 0x1207, -0x13eb, 0x1207, 0x12d2, 0x1127, 0x12d2, 0x1127, 0x10b0, 0xf43, 0x10b0, 0xf43, 0xe86, -0xd5d, 0xe86, 0xd5d, 0xcc9, 0xbe8, 0xcc9, 0xbe8, 0xcc9, 0xbe8, 0xab8, 0xa25, -0xab8, 0xa25, 0x876, 0x835, 0x876, 0x835, 0x7c9, 0x7de, 0x7c9, 0x7de, 0x4b5, -0x522, 0x4b5, 0x522, 0xe6, 0x1af, 0xe6, 0x1af, 0xfea8, 0xffce, 0xfea8, 0xffce, -0xfea8, 0xffce, 0xfb4f, 0xfcd2, 0xfb4f, 0xfcd2, 0xf870, 0xfa4e, 0xf870, 0xfa4e, 0xf5e0, -0xf819, 0xf5e0, 0xf819, 0xf397, 0xf626, 0xf397, 0xf626, 0xf10e, 0xf3ef, 0xf10e, 0xf3ef, -0xf10e, 0xf3ef, 0xee0d, 0xf138, 0xee0d, 0xf138, 0xecb7, 0xf025, 0xecb7, 0xf025, 0xe9f0, -0xed98, 0xe9f0, 0xed98, 0xe799, 0xeb70, 0xe799, 0xeb70, 0xe79a, 0xeb94, 0xe79a, 0xeb94, -0xe57b, 0xe98d, 0xe57b, 0xe98d, 0xe57b, 0xe98d, 0xe4d8, 0xe8f4, 0xe4d8, 0xe8f4, 0xe55d, -0xe976, 0xe55d, 0xe976, 0xe491, 0xe89a, 0xe491, 0xe89a, 0xe4f7, 0xe8e3, 0xe4f7, 0xe8e3, -0xe5b9, 0xe97c, 0xe5b9, 0xe97c, 0xe5b9, 0xe97c, 0xe72c, 0xeabb, 0xe72c, 0xeabb, 0xe86f, -0xebc0, 0xe86f, 0xebc0, 0xea02, 0xed0e, 0xea02, 0xed0e, 0xecbf, 0xef7f, 0xecbf, 0xef7f, -0xeebd, 0xf12c, 0xeebd, 0xf12c, 0xf0c0, 0xf2dc, 0xf0c0, 0xf2dc, 0xf0c0, 0xf2dc, 0xf39d, -0xf566, 0xf39d, 0xf566, 0xf4b6, 0xf62d, 0xf4b6, 0xf62d, 0xf512, 0xf63b, 0xf512, 0xf63b, -0xf6e1, 0xf7c0, 0xf6e1, 0xf7c0, 0xf715, 0xf7b1, 0xf715, 0xf7b1, 0xf808, 0xf868, 0xf808, -0xf868, 0xf808, 0xf868, 0xf967, 0xf993, 0xf967, 0xf993, 0xf9b2, 0xf9b3, 0xf9b2, 0xf9b3, -0xfaa6, 0xfa84, 0xfaa6, 0xfa84, 0xfa85, 0xfa48, 0xfa85, 0xfa48, 0xfb03, 0xfab2, 0xfb03, -0xfab2, 0xfb03, 0xfab2, 0xfa44, 0xf9e7, 0xfa44, 0xf9e7, 0xf910, 0xf8ac, 0xf910, 0xf8ac, -0xf99b, 0xf934, 0xf99b, 0xf934, 0xf994, 0xf92e, 0xf994, 0xf92e, 0xfa87, 0xfa23, 0xfa87, -0xfa23, 0xfb58, 0xfaf9, 0xfb58, 0xfaf9, 0xfb58, 0xfaf9, 0xfbcf, 0xfb74, 0xfbcf, 0xfb74, -0xfce1, 0xfc89, 0xfce1, 0xfc89, 0xfe83, 0xfe2e, 0xfe83, 0xfe2e, 0xffe5, 0xff93, 0xffe5, -0xff93, 0xffbf, 0xff6f, 0xffbf, 0xff6f, 0xaf, 0x61, 0xaf, 0x61, 0xaf, 0x61, -0x158, 0x10e, 0x158, 0x10e, 0x9e, 0x5a, 0x9e, 0x5a, 0xffe5, 0xffab, 0xffe5, -0xffab, 0xff4c, 0xff21, 0xff4c, 0xff21, 0xffcd, 0xffb9, 0xffcd, 0xffb9, 0xffcd, 0xffb9, -0xff9f, 0xffaa, 0xff9f, 0xffaa, 0xff87, 0xffba, 0xff87, 0xffba, 0xff45, 0xffad, 0xff45, -0xffad, 0xfc8a, 0xfd32, 0xfc8a, 0xfd32, 0xfa01, 0xfaf4, 0xfa01, 0xfaf4, 0xf7ff, 0xf94a, -0xf7ff, 0xf94a, 0xf7ff, 0xf94a, 0xf559, 0xf707, 0xf559, 0xf707, 0xf28b, 0xf4a8, 0xf28b, -0xf4a8, 0xf01b, 0xf2ae, 0xf01b, 0xf2ae, 0xee65, 0xf175, 0xee65, 0xf175, 0xeb6e, 0xeeff, -0xeb6e, 0xeeff, 0xe80e, 0xec22, 0xe80e, 0xec22, 0xe80e, 0xec22, 0xe652, 0xeae8, 0xe652, -0xeae8, 0xe2ec, 0xe7ff, 0xe2ec, 0xe7ff, 0xdfd3, 0xe55d, 0xdfd3, 0xe55d, 0xde33, 0xe428, -0xde33, 0xe428, 0xdb25, 0xe179, 0xdb25, 0xe179, 0xdb25, 0xe179, 0xda16, 0xe0b9, 0xda16, -0xe0b9, 0xd998, 0xe079, 0xd998, 0xe079, 0xd8ae, 0xdfbc, 0xd8ae, 0xdfbc, 0xd870, 0xdf97, -0xd870, 0xdf97, 0xd768, 0xde94, 0xd768, 0xde94, 0xd6cc, 0xddeb, 0xd6cc, 0xddeb, 0xd6cc, -0xddeb, 0xd655, 0xdd56, 0xd655, 0xdd56, 0xd6ba, 0xdd8e, 0xd6ba, 0xdd8e, 0xd7b7, 0xde4f, -0xd7b7, 0xde4f, 0xd7c3, 0xde15, 0xd7c3, 0xde15, 0xd8b0, 0xdeb2, 0xd8b0, 0xdeb2, 0xdade, -0xe08d, 0xdade, 0xe08d, 0xdade, 0xe08d, 0xdbe3, 0xe13b, 0xdbe3, 0xe13b, 0xddc9, 0xe2cb, -0xddc9, 0xe2cb, 0xe11a, 0xe5c8, 0xe11a, 0xe5c8, 0xe393, 0xe7f2, 0xe393, 0xe7f2, 0xe6ea, -0xeb00, 0xe6ea, 0xeb00, 0xe6ea, 0xeb00, 0xea3d, 0xee13, 0xea3d, 0xee13, 0xecff, 0xf09c, -0xecff, 0xf09c, 0xef03, 0xf270, 0xef03, 0xf270, 0xf18c, 0xf4d1, 0xf18c, 0xf4d1, 0xf499, -0xf7ba, 0xf499, 0xf7ba, 0xf470, 0xf775, 0xf470, 0xf775, 0xf470, 0xf775, 0xf384, 0xf66e, -0xf384, 0xf66e, 0xf340, 0xf60f, 0xf340, 0xf60f, 0xf313, 0xf5c5, 0xf313, 0xf5c5, 0xf395, -0xf628, 0xf395, 0xf628, 0xf3eb, 0xf657, 0xf3eb, 0xf657, 0xf4c7, 0xf702, 0xf4c7, 0xf702, -0xf4c7, 0xf702, 0xf58e, 0xf790, 0xf58e, 0xf790, 0xf5cf, 0xf78c, 0xf5cf, 0xf78c, 0xf6a8, -0xf812, 0xf6a8, 0xf812, 0xf747, 0xf853, 0xf747, 0xf853, 0xf840, 0xf8e2, 0xf840, 0xf8e2, -0xf840, 0xf8e2, 0xfa19, 0xfa45, 0xfa19, 0xfa45, 0xfca4, 0xfc52, 0xfca4, 0xfc52, 0xff49, -0xfe71, 0xff49, 0xfe71, 0x154, 0xfff2, 0x154, 0xfff2, 0x400, 0x212, 0x400, 0x212, -0x667, 0x3ee, 0x667, 0x3ee, 0x667, 0x3ee, 0x98c, 0x68c, 0x98c, 0x68c, 0xcdf, -0x95f, 0xcdf, 0x95f, 0xfa1, 0xbab, 0xfa1, 0xbab, 0x1370, 0xf11, 0x1370, 0xf11, -0x15ee, 0x1135, 0x15ee, 0x1135, 0x1872, 0x136e, 0x1872, 0x136e, 0x1872, 0x136e, 0x1a8b, -0x154f, 0x1a8b, 0x154f, 0x1b7e, 0x161b, 0x1b7e, 0x161b, 0x1d12, 0x179c, 0x1d12, 0x179c, -0x1cd9, 0x1760, 0x1cd9, 0x1760, 0x1d28, 0x17bd, 0x1d28, 0x17bd, 0x1d28, 0x17bd, 0x1e4f, -0x1902, 0x1e4f, 0x1902, 0x1d7f, 0x185c, 0x1d7f, 0x185c, 0x1d11, 0x1824, 0x1d11, 0x1824, -0x1beb, 0x173e, 0x1beb, 0x173e, 0x1a0a, 0x15a2, 0x1a0a, 0x15a2, 0x198d, 0x1570, 0x198d, -0x1570, 0x198d, 0x1570, 0x1870, 0x14a0, 0x1870, 0x14a0, 0x1682, 0x1300, 0x1682, 0x1300, -0x14fa, 0x11c5, 0x14fa, 0x11c5, 0x1438, 0x114f, 0x1438, 0x114f, 0x137d, 0x10dc, 0x137d, -0x10dc, 0x11b4, 0xf59, 0x11b4, 0xf59, 0x11b4, 0xf59, 0x1010, 0xdf8, 0x1010, 0xdf8, -0xe69, 0xc91, 0xe69, 0xc91, 0xb80, 0x9e7, 0xb80, 0x9e7, 0xa21, 0x8c5, 0xa21, -0x8c5, 0x96f, 0x850, 0x96f, 0x850, 0x96f, 0x850, 0x761, 0x67f, 0x761, 0x67f, -0x6ce, 0x629, 0x6ce, 0x629, 0x5e4, 0x57f, 0x5e4, 0x57f, 0x488, 0x466, 0x488, -0x466, 0x3fc, 0x41e, 0x3fc, 0x41e, 0x371, 0x3d9, 0x371, 0x3d9, 0x371, 0x3d9, -0x260, 0x310, 0x260, 0x310, 0xffa4, 0x9d, 0xffa4, 0x9d, 0xfe80, 0xffc2, 0xfe80, -0xffc2, 0xfd38, 0xfec0, 0xfd38, 0xfec0, 0xf985, 0xfb50, 0xf985, 0xfb50, 0xf798, 0xf9a0, -0xf798, 0xf9a0, 0xf798, 0xf9a0, 0xf700, 0xf93f, 0xf700, 0xf93f, 0xf5e1, 0xf84d, 0xf5e1, -0xf84d, 0xf51b, 0xf7a9, 0xf51b, 0xf7a9, 0xf4ad, 0xf751, 0xf4ad, 0xf751, 0xf4a7, 0xf754, -0xf4a7, 0xf754, 0xf4a7, 0xf754, 0xf535, 0xf7dd, 0xf535, 0xf7dd, 0xf651, 0xf8e5, 0xf651, -0xf8e5, 0xf72d, 0xf99e, 0xf72d, 0xf99e, 0xf705, 0xf947, 0xf705, 0xf947, 0xf77d, 0xf982, -0xf77d, 0xf982, 0xf8d0, 0xfa8c, 0xf8d0, 0xfa8c, 0xf8d0, 0xfa8c, 0xf9fe, 0xfb69, 0xf9fe, -0xfb69, 0xf9c3, 0xfad4, 0xf9c3, 0xfad4, 0xfa7c, 0xfb30, 0xfa7c, 0xfb30, 0xfc61, 0xfcb5, -0xfc61, 0xfcb5, 0xfcbc, 0xfcb0, 0xfcbc, 0xfcb0, 0xfcbc, 0xfcb0, 0xfe79, 0xfe11, 0xfe79, -0xfe11, 0xfeec, 0xfe2c, 0xfeec, 0xfe2c, 0xfe7b, 0xfd6a, 0xfe7b, 0xfd6a, 0xff3c, 0xfde4, -0xff3c, 0xfde4, 0xff49, 0xfdb3, 0xff49, 0xfdb3, 0xf7, 0xff30, 0xf7, 0xff30, 0xf7, -0xff30, 0x1c7, 0xffdb, 0x1c7, 0xffdb, 0x28d, 0x88, 0x28d, 0x88, 0x4a3, 0x292, -0x4a3, 0x292, 0x53f, 0x32d, 0x53f, 0x32d, 0x61f, 0x415, 0x61f, 0x415, 0x6a2, -0x4ab, 0x6a2, 0x4ab, 0x6a2, 0x4ab, 0x6b2, 0x4d4, 0x6b2, 0x4d4, 0x786, 0x5c7, -0x786, 0x5c7, 0x7aa, 0x60e, 0x7aa, 0x60e, 0x7f6, 0x681, 0x7f6, 0x681, 0x888, -0x73a, 0x888, 0x73a, 0x888, 0x73a, 0x7c7, 0x6a1, 0x7c7, 0x6a1, 0x6e0, 0x5e0, -0x6e0, 0x5e0, 0x6d0, 0x5f4, 0x6d0, 0x5f4, 0x716, 0x65c, 0x716, 0x65c, 0x6aa, -0x60f, 0x6aa, 0x60f, 0x52c, 0x4ac, 0x52c, 0x4ac, 0x52c, 0x4ac, 0x4f4, 0x48d, -0x4f4, 0x48d, 0x459, 0x409, 0x459, 0x409, 0x1eb, 0x1b1, 0x1eb, 0x1b1, 0x1f8, -0x1d2, 0x1f8, 0x1d2, 0x18d, 0x17b, 0x18d, 0x17b, 0xffd3, 0xffd4, 0xffd3, 0xffd4, -0xffd3, 0xffd4, 0x30, 0x45, 0x30, 0x45, 0xffce, 0xfff8, 0xffce, 0xfff8, 0xfe96, -0xfed4, 0xfe96, 0xfed4, 0xfdba, 0xfe0e, 0xfdba, 0xfe0e, 0xfe42, 0xfeaa, 0xfe42, 0xfeaa, -0xfe42, 0xfeaa, 0xfde2, 0xfe5f, 0xfde2, 0xfe5f, 0xfc15, 0xfca5, 0xfc15, 0xfca5, 0xfd52, -0xfdf1, 0xfd52, 0xfdf1, 0xff1c, 0xffc7, 0xff1c, 0xffc7, 0xfedf, 0xff91, 0xfedf, 0xff91, -0xfe9e, 0xff50, 0xfe9e, 0xff50, 0xfe9e, 0xff50, 0xfefe, 0xffa8, 0xfefe, 0xffa8, 0xfe57, -0xfef2, 0xfe57, 0xfef2, 0xfde5, 0xfe66, 0xfde5, 0xfe66, 0xfef7, 0xff54, 0xfef7, 0xff54, -0xffc8, 0xfff6, 0xffc8, 0xfff6, 0xca, 0xc0, 0xca, 0xc0, 0xca, 0xc0, 0x20f, -0x1c2, 0x20f, 0x1c2, 0x212, 0x179, 0x212, 0x179, 0x1b4, 0xc6, 0x1b4, 0xc6, -0x275, 0x12c, 0x275, 0x12c, 0x48d, 0x2e3, 0x48d, 0x2e3, 0x48d, 0x2e3, 0x69e, -0x490, 0x69e, 0x490, 0x796, 0x521, 0x796, 0x521, 0xaa0, 0x7c7, 0xaa0, 0x7c7, -0xd97, 0xa5c, 0xd97, 0xa5c, 0xfd2, 0xc38, 0xfd2, 0xc38, 0x1464, 0x1073, 0x1464, -0x1073, 0x1464, 0x1073, 0x16e2, 0x12a2, 0x16e2, 0x12a2, 0x1892, 0x140e, 0x1892, 0x140e, -0x1a92, 0x15d3, 0x1a92, 0x15d3, 0x1b44, 0x1656, 0x1b44, 0x1656, 0x1b7c, 0x166b, 0x1b7c, -0x166b, 0x1aa8, 0x1580, 0x1aa8, 0x1580, 0x1aa8, 0x1580, 0x1b68, 0x1634, 0x1b68, 0x1634, -0x1bff, 0x16c9, 0x1bff, 0x16c9, 0x1b5c, 0x162f, 0x1b5c, 0x162f, 0x1b8d, 0x1672, 0x1b8d, -0x1672, 0x1a2b, 0x1529, 0x1a2b, 0x1529, 0x1a2b, 0x1529, 0x1867, 0x1383, 0x1867, 0x1383, -0x16fd, 0x123c, 0x16fd, 0x123c, 0x1547, 0x10aa, 0x1547, 0x10aa, 0x151f, 0x10a8, 0x151f, -0x10a8, 0x153c, 0x10ec, 0x153c, 0x10ec, 0x14c1, 0x1095, 0x14c1, 0x1095, 0x14c1, 0x1095, -0x1469, 0x105f, 0x1469, 0x105f, 0x147c, 0x1092, 0x147c, 0x1092, 0x1526, 0x1156, 0x1526, -0x1156, 0x1557, 0x119e, 0x1557, 0x119e, 0x143b, 0x1096, 0x143b, 0x1096, 0x143a, 0x10a5, -0x143a, 0x10a5, 0x143a, 0x10a5, 0x149c, 0x1113, 0x149c, 0x1113, 0x1475, 0x10f6, 0x1475, -0x10f6, 0x1736, 0x13c0, 0x1736, 0x13c0, 0x188e, 0x151f, 0x188e, 0x151f, 0x17fa, 0x1493, -0x17fa, 0x1493, 0x17fa, 0x1493, 0x1873, 0x1517, 0x1873, 0x1517, 0x182e, 0x14de, 0x182e, -0x14de, 0x1803, 0x14c3, 0x1803, 0x14c3, 0x182c, 0x1502, 0x182c, 0x1502, 0x18e0, 0x15d1, -0x18e0, 0x15d1, 0x178c, 0x149f, 0x178c, 0x149f, 0x178c, 0x149f, 0x15ee, 0x132a, 0x15ee, -0x132a, 0x1692, 0x13ff, 0x1692, 0x13ff, 0x15fc, 0x13a2, 0x15fc, 0x13a2, 0x143f, 0x1227, -0x143f, 0x1227, 0x12d5, 0x1105, 0x12d5, 0x1105, 0x1256, 0x10d7, 0x1256, 0x10d7, 0x1256, -0x10d7, 0x10d2, 0xfac, 0x10d2, 0xfac, 0xe85, 0xdbd, 0xe85, 0xdbd, 0xc60, 0xbfc, -0xc60, 0xbfc, 0x938, 0x93c, 0x938, 0x93c, 0x6b4, 0x724, 0x6b4, 0x724, 0x6b4, -0x724, 0x4a9, 0x586, 0x4a9, 0x586, 0x1a5, 0x2f0, 0x1a5, 0x2f0, 0xfdd2, 0xff89, -0xfdd2, 0xff89, 0xfa8a, 0xfca9, 0xfa8a, 0xfca9, 0xf915, 0xfb98, 0xf915, 0xfb98, 0xf709, -0xf9ea, 0xf709, 0xf9ea, 0xf709, 0xf9ea, 0xf3e0, 0xf716, 0xf3e0, 0xf716, 0xf210, 0xf592, -0xf210, 0xf592, 0xefa8, 0xf36b, 0xefa8, 0xf36b, 0xedb2, 0xf1aa, 0xedb2, 0xf1aa, 0xed06, -0xf125, 0xed06, 0xf125, 0xeac4, 0xeefd, 0xeac4, 0xeefd, 0xeac4, 0xeefd, 0xe93e, 0xed83, -0xe93e, 0xed83, 0xe888, 0xecca, 0xe888, 0xecca, 0xe821, 0xec54, 0xe821, 0xec54, 0xe871, -0xec86, 0xe871, 0xec86, 0xe831, 0xec1b, 0xe831, 0xec1b, 0xe831, 0xec1b, 0xe8d8, 0xec8e, -0xe8d8, 0xec8e, 0xe93d, 0xecb4, 0xe93d, 0xecb4, 0xeaa9, 0xedda, 0xeaa9, 0xedda, 0xed60, -0xf046, 0xed60, 0xf046, 0xee0f, 0xf0a5, 0xee0f, 0xf0a5, 0xf060, 0xf2a4, 0xf060, 0xf2a4, -0xf060, 0xf2a4, 0xf37a, 0xf56d, 0xf37a, 0xf56d, 0xf4a4, 0xf649, 0xf4a4, 0xf649, 0xf614, -0xf770, 0xf614, 0xf770, 0xf732, 0xf84a, 0xf732, 0xf84a, 0xf717, 0xf7f4, 0xf717, 0xf7f4, -0xf729, 0xf7d2, 0xf729, 0xf7d2, 0xf729, 0xf7d2, 0xf82d, 0xf8ac, 0xf82d, 0xf8ac, 0xf942, -0xf9a0, 0xf942, 0xf9a0, 0xf988, 0xf9cf, 0xf988, 0xf9cf, 0xf835, 0xf86d, 0xf835, 0xf86d, -0xf8a0, 0xf8d1, 0xf8a0, 0xf8d1, 0xf8a0, 0xf8d1, 0xf8ee, 0xf920, 0xf8ee, 0xf920, 0xf80c, -0xf844, 0xf80c, 0xf844, 0xf99a, 0xf9dd, 0xf99a, 0xf9dd, 0xf93c, 0xf98b, 0xf93c, 0xf98b, -0xf8fa, 0xf957, 0xf8fa, 0xf957, 0xfa38, 0xfaa2, 0xfa38, 0xfaa2, 0xfa38, 0xfaa2, 0xfb6e, -0xfbe4, 0xfb6e, 0xfbe4, 0xfc91, 0xfd10, 0xfc91, 0xfd10, 0xfd4f, 0xfdd3, 0xfd4f, 0xfdd3, -0xff6d, 0xfff4, 0xff6d, 0xfff4, 0xff70, 0xfff5, 0xff70, 0xfff5, 0xff70, 0xfff5, 0xe, -0x90, 0xe, 0x90, 0x2a6, 0x322, 0x2a6, 0x322, 0x3d9, 0x44f, 0x3d9, 0x44f, -0x423, 0x493, 0x423, 0x493, 0x3b4, 0x422, 0x3b4, 0x422, 0x3d0, 0x441, 0x3d0, -0x441, 0x3d0, 0x441, 0x36a, 0x3e7, 0x36a, 0x3e7, 0x286, 0x317, 0x286, 0x317, -0x1c3, 0x272, 0x1c3, 0x272, 0xe0, 0x1bb, 0xe0, 0x1bb, 0xffa6, 0xbb, 0xffa6, -0xbb, 0xfd01, 0xfe5e, 0xfd01, 0xfe5e, 0xfd01, 0xfe5e, 0xfa1c, 0xfbd1, 0xfa1c, 0xfbd1, -0xf754, 0xf96d, 0xf754, 0xf96d, 0xf4a3, 0xf72f, 0xf4a3, 0xf72f, 0xf2fd, 0xf606, 0xf2fd, -0xf606, 0xf039, 0xf3c8, 0xf039, 0xf3c8, 0xf039, 0xf3c8, 0xed08, 0xf123, 0xed08, 0xf123, -0xeaaa, 0xef55, 0xeaaa, 0xef55, 0xe636, 0xeb6f, 0xe636, 0xeb6f, 0xe288, 0xe84b, 0xe288, -0xe84b, 0xe05e, 0xe6a2, 0xe05e, 0xe6a2, 0xddc8, 0xe481, 0xddc8, 0xe481, 0xddc8, 0xe481, -0xdca2, 0xe3c1, 0xdca2, 0xe3c1, 0xdb8d, 0xe2fe, 0xdb8d, 0xe2fe, 0xda88, 0xe237, 0xda88, -0xe237, 0xd968, 0xe13c, 0xd968, 0xe13c, 0xd7f8, 0xdfda, 0xd7f8, 0xdfda, 0xd7a0, 0xdf78, -0xd7a0, 0xdf78, 0xd7a0, 0xdf78, 0xd704, 0xdeb9, 0xd704, 0xdeb9, 0xd746, 0xdec0, 0xd746, -0xdec0, 0xd776, 0xde9f, 0xd776, 0xde9f, 0xd5d5, 0xdc9b, 0xd5d5, 0xdc9b, 0xd618, 0xdc6c, -0xd618, 0xdc6c, 0xd618, 0xdc6c, 0xd73d, 0xdd13, 0xd73d, 0xdd13, 0xd75d, 0xdcac, 0xd75d, -0xdcac, 0xd9ce, 0xde92, 0xd9ce, 0xde92, 0xdd07, 0xe141, 0xdd07, 0xe141, 0xde82, 0xe236, -0xde82, 0xe236, 0xe138, 0xe46c, 0xe138, 0xe46c, 0xe138, 0xe46c, 0xe46e, 0xe72d, 0xe46e, -0xe72d, 0xe69b, 0xe8f2, 0xe69b, 0xe8f2, 0xe832, 0xea2f, 0xe832, 0xea2f, 0xeab2, 0xec65, -0xeab2, 0xec65, 0xeecf, 0xf047, 0xeecf, 0xf047, 0xef22, 0xf06e, 0xef22, 0xf06e, 0xef22, -0xf06e, 0xef08, 0xf037, 0xef08, 0xf037, 0xf0b1, 0xf1cf, 0xf0b1, 0xf1cf, 0xeff6, 0xf10b, -0xeff6, 0xf10b, 0xefc3, 0xf0d7, 0xefc3, 0xf0d7, 0xf070, 0xf187, 0xf070, 0xf187, 0xf070, -0xf187, 0xf131, 0xf24a, 0xf131, 0xf24a, 0xf050, 0xf16a, 0xf050, 0xf16a, 0xf081, 0xf195, -0xf081, 0xf195, 0xf29a, 0xf39f, 0xf29a, 0xf39f, 0xf1ff, 0xf2eb, 0xf1ff, 0xf2eb, 0xf315, -0xf3dc, 0xf315, 0xf3dc, 0xf315, 0xf3dc, 0xf648, 0xf6db, 0xf648, 0xf6db, 0xf879, 0xf8cb, -0xf879, 0xf8cb, 0xfa36, 0xfa3a, 0xfa36, 0xfa3a, 0xfc1b, 0xfbc5, 0xfc1b, 0xfbc5, 0xff03, -0xfe47, 0xff03, 0xfe47, 0x1c8, 0x9d, 0x1c8, 0x9d, 0x1c8, 0x9d, 0x449, 0x2aa, -0x449, 0x2aa, 0x6b4, 0x49e, 0x6b4, 0x49e, 0x9a6, 0x719, 0x9a6, 0x719, 0xe08, -0xb06, 0xe08, 0xb06, 0x11ba, 0xe4b, 0x11ba, 0xe4b, 0x11ba, 0xe4b, 0x154b, 0x1178, -0x154b, 0x1178, 0x1820, 0x13f4, 0x1820, 0x13f4, 0x1937, 0x14c1, 0x1937, 0x14c1, 0x1b24, -0x1674, 0x1b24, 0x1674, 0x1b63, 0x1689, 0x1b63, 0x1689, 0x1b7b, 0x1688, 0x1b7b, 0x1688, -0x1b7b, 0x1688, 0x1ccc, 0x17d1, 0x1ccc, 0x17d1, 0x1ca1, 0x17b0, 0x1ca1, 0x17b0, 0x1d28, -0x184f, 0x1d28, 0x184f, 0x1cfc, 0x1849, 0x1cfc, 0x1849, 0x1be3, 0x1762, 0x1be3, 0x1762, -0x1b51, 0x170b, 0x1b51, 0x170b, 0x1b51, 0x170b, 0x1a62, 0x165f, 0x1a62, 0x165f, 0x196e, -0x15b2, 0x196e, 0x15b2, 0x188e, 0x151c, 0x188e, 0x151c, 0x17eb, 0x14c4, 0x17eb, 0x14c4, -0x16a2, 0x13c5, 0x16a2, 0x13c5, 0x16a2, 0x13c5, 0x145e, 0x11c8, 0x145e, 0x11c8, 0x12dc, -0x1089, 0x12dc, 0x1089, 0x1122, 0xf0e, 0x1122, 0xf0e, 0xe05, 0xc2b, 0xe05, 0xc2b, -0xc6c, 0xac7, 0xc6c, 0xac7, 0xb2b, 0x9b7, 0xb2b, 0x9b7, 0xb2b, 0x9b7, 0x890, -0x749, 0x890, 0x749, 0x735, 0x619, 0x735, 0x619, 0x633, 0x53e, 0x633, 0x53e, -0x511, 0x443, 0x511, 0x443, 0x4bf, 0x419, 0x4bf, 0x419, 0x400, 0x380, 0x400, -0x380, 0x400, 0x380, 0x272, 0x21b, 0x272, 0x21b, 0xff76, 0xff49, 0xff76, 0xff49, -0xfd51, 0xfd4f, 0xfd51, 0xfd4f, 0xfc46, 0xfc71, 0xfc46, 0xfc71, 0xf97d, 0xf9d6, 0xf97d, -0xf9d6, 0xf97d, 0xf9d6, 0xf879, 0xf900, 0xf879, 0xf900, 0xf789, 0xf83d, 0xf789, 0xf83d, -0xf57a, 0xf658, 0xf57a, 0xf658, 0xf535, 0xf63b, 0xf535, 0xf63b, 0xf4bb, 0xf5e5, 0xf4bb, -0xf5e5, 0xf409, 0xf550, 0xf409, 0xf550, 0xf409, 0xf550, 0xf2aa, 0xf407, 0xf2aa, 0xf407, -0xf3a6, 0xf511, 0xf3a6, 0xf511, 0xf5cc, 0xf73d, 0xf5cc, 0xf73d, 0xf54c, 0xf6ba, 0xf54c, -0xf6ba, 0xf712, 0xf873, 0xf712, 0xf873, 0xf95e, 0xfaa9, 0xf95e, 0xfaa9, 0xf95e, 0xfaa9, -0xf9bc, 0xfae9, 0xf9bc, 0xfae9, 0xfa7a, 0xfb81, 0xfa7a, 0xfb81, 0xfbef, 0xfcc9, 0xfbef, -0xfcc9, 0xfdae, 0xfe56, 0xfdae, 0xfe56, 0xfe0f, 0xfe81, 0xfe0f, 0xfe81, 0xfe0f, 0xfe81, -0xfead, 0xfee8, 0xfead, 0xfee8, 0xffa5, 0xffa8, 0xffa5, 0xffa8, 0x72, 0x3e, 0x72, -0x3e, 0x20b, 0x1a4, 0x20b, 0x1a4, 0x25f, 0x1c7, 0x25f, 0x1c7, 0x353, 0x290, -0x353, 0x290, 0x353, 0x290, 0x414, 0x32c, 0x414, 0x32c, 0x470, 0x36a, 0x470, -0x36a, 0x6c6, 0x5a8, 0x6c6, 0x5a8, 0x745, 0x616, 0x745, 0x616, 0x753, 0x619, -0x753, 0x619, 0x80e, 0x6ce, 0x80e, 0x6ce, 0x80e, 0x6ce, 0x895, 0x755, 0x895, -0x755, 0x96a, 0x82d, 0x96a, 0x82d, 0x9df, 0x8a8, 0x9df, 0x8a8, 0xafc, 0x9ce, -0xafc, 0x9ce, 0xbb6, 0xa91, 0xbb6, 0xa91, 0xbb6, 0xa91, 0xc47, 0xb2b, 0xc47, -0xb2b, 0xc89, 0xb75, 0xc89, 0xb75, 0xc07, 0xafc, 0xc07, 0xafc, 0xb9b, 0xa97, -0xb9b, 0xa97, 0xa9a, 0x99c, 0xa9a, 0x99c, 0xa07, 0x90f, 0xa07, 0x90f, 0xa07, -0x90f, 0xa14, 0x922, 0xa14, 0x922, 0x8f0, 0x804, 0x8f0, 0x804, 0x693, 0x5ae, -0x693, 0x5ae, 0x525, 0x44a, 0x525, 0x44a, 0x410, 0x341, 0x410, 0x341, 0x410, -0x341, 0x2ad, 0x1ed, 0x2ad, 0x1ed, 0x2be, 0x211, 0x2be, 0x211, 0x252, 0x1bc, -0x252, 0x1bc, 0x144, 0xc9, 0x144, 0xc9, 0xffdf, 0xff83, 0xffdf, 0xff83, 0xfe23, -0xfde8, 0xfe23, 0xfde8, 0xfe23, 0xfde8, 0xfd98, 0xfd81, 0xfd98, 0xfd81, 0xfb74, 0xfb82, -0xfb74, 0xfb82, 0xfbbe, 0xfbf2, 0xfbbe, 0xfbf2, 0xfdcc, 0xfe23, 0xfdcc, 0xfe23, 0xfcc1, -0xfd36, 0xfcc1, 0xfd36, 0xfcef, 0xfd7e, 0xfcef, 0xfd7e, 0xfcef, 0xfd7e, 0xfc24, 0xfcc4, -0xfc24, 0xfcc4, 0xfc14, 0xfcbe, 0xfc14, 0xfcbe, 0xfd1c, 0xfdc4, 0xfd1c, 0xfdc4, 0xfd1c, -0xfdb6, 0xfd1c, 0xfdb6, 0xfe49, 0xfec9, 0xfe49, 0xfec9, 0xfe49, 0xfec9, 0xfdb9, 0xfe11, -0xfdb9, 0xfe11, 0xfeb2, 0xfed6, 0xfeb2, 0xfed6, 0xffbf, 0xffa1, 0xffbf, 0xffa1, 0xff94, -0xff29, 0xff94, 0xff29, 0x1c5, 0x102, 0x1c5, 0x102, 0x356, 0x232, 0x356, 0x232, -0x356, 0x232, 0x53a, 0x3ad, 0x53a, 0x3ad, 0x75f, 0x565, 0x75f, 0x565, 0x9b8, -0x74f, 0x9b8, 0x74f, 0xc27, 0x94f, 0xc27, 0x94f, 0xe33, 0xaef, 0xe33, 0xaef, -0x124e, 0xea4, 0x124e, 0xea4, 0x124e, 0xea4, 0x1537, 0x112e, 0x1537, 0x112e, 0x17db, -0x137d, 0x17db, 0x137d, 0x1b62, 0x16ba, 0x1b62, 0x16ba, 0x1c33, 0x174f, 0x1c33, 0x174f, -0x1c3c, 0x1728, 0x1c3c, 0x1728, 0x1c3c, 0x1728, 0x1bfe, 0x16c7, 0x1bfe, 0x16c7, 0x1c6d, -0x1722, 0x1c6d, 0x1722, 0x1cd6, 0x1783, 0x1cd6, 0x1783, 0x1b91, 0x1642, 0x1b91, 0x1642, -0x1af8, 0x15b8, 0x1af8, 0x15b8, 0x1a25, 0x14fc, 0x1a25, 0x14fc, 0x1a25, 0x14fc, 0x195f, -0x1454, 0x195f, 0x1454, 0x189f, 0x13b7, 0x189f, 0x13b7, 0x1801, 0x133f, 0x1801, 0x133f, -0x177e, 0x12e3, 0x177e, 0x12e3, 0x163a, 0x11c6, 0x163a, 0x11c6, 0x1643, 0x11f3, 0x1643, -0x11f3, 0x1643, 0x11f3, 0x1673, 0x1242, 0x1673, 0x1242, 0x1623, 0x120d, 0x1623, 0x120d, -0x15f2, 0x11f3, 0x15f2, 0x11f3, 0x1536, 0x1147, 0x1536, 0x1147, 0x1457, 0x1072, 0x1457, -0x1072, 0x1457, 0x1072, 0x1499, 0x10b9, 0x1499, 0x10b9, 0x14a6, 0x10c8, 0x14a6, 0x10c8, -0x1455, 0x1074, 0x1455, 0x1074, 0x15f2, 0x120e, 0x15f2, 0x120e, 0x165c, 0x1273, 0x165c, -0x1273, 0x1644, 0x1259, 0x1644, 0x1259, 0x1644, 0x1259, 0x16f1, 0x1305, 0x16f1, 0x1305, -0x1629, 0x1242, 0x1629, 0x1242, 0x1613, 0x1237, 0x1613, 0x1237, 0x1597, 0x11cd, 0x1597, -0x11cd, 0x1561, 0x11b3, 0x1561, 0x11b3, 0x14e5, 0x115b, 0x14e5, 0x115b, 0x14e5, 0x115b, -0x120d, 0xeb2, 0x120d, 0xeb2, 0x11de, 0xebc, 0x11de, 0xebc, 0x113b, 0xe5e, 0x113b, -0xe5e, 0xf36, 0xca7, 0xf36, 0xca7, 0xf41, 0xd09, 0xf41, 0xd09, 0xf41, 0xd09, -0xe88, 0xcb1, 0xe88, 0xcb1, 0xda0, 0xc32, 0xda0, 0xc32, 0xbc4, 0xac6, 0xbc4, -0xac6, 0x9f3, 0x96a, 0x9f3, 0x96a, 0x772, 0x760, 0x772, 0x760, 0x3c0, 0x428, -0x3c0, 0x428, 0x3c0, 0x428, 0x260, 0x342, 0x260, 0x342, 0xffaf, 0x109, 0xffaf, -0x109, 0xfc43, 0xfe11, 0xfc43, 0xfe11, 0xfa50, 0xfc8f, 0xfa50, 0xfc8f, 0xf8d0, 0xfb77, -0xf8d0, 0xfb77, 0xf7e9, 0xfaf2, 0xf7e9, 0xfaf2, 0xf7e9, 0xfaf2, 0xf5f7, 0xf958, 0xf5f7, -0xf958, 0xf413, 0xf7c1, 0xf413, 0xf7c1, 0xf234, 0xf624, 0xf234, 0xf624, 0xef64, 0xf38a, -0xef64, 0xf38a, 0xed94, 0xf1e3, 0xed94, 0xf1e3, 0xed94, 0xf1e3, 0xeb53, 0xefbe, 0xeb53, -0xefbe, 0xe9af, 0xee2a, 0xe9af, 0xee2a, 0xe96c, 0xede8, 0xe96c, 0xede8, 0xe80c, 0xec7e, -0xe80c, 0xec7e, 0xe76d, 0xebc8, 0xe76d, 0xebc8, 0xe758, 0xeb91, 0xe758, 0xeb91, 0xe758, -0xeb91, 0xe7ac, 0xebb8, 0xe7ac, 0xebb8, 0xe7a8, 0xeb7d, 0xe7a8, 0xeb7d, 0xe7e4, 0xeb7b, -0xe7e4, 0xeb7b, 0xe992, 0xece4, 0xe992, 0xece4, 0xea52, 0xed59, 0xea52, 0xed59, 0xed0a, -0xefc4, 0xed0a, 0xefc4, 0xed0a, 0xefc4, 0xf094, 0xf2fd, 0xf094, 0xf2fd, 0xf29b, 0xf4b4, -0xf29b, 0xf4b4, 0xf43d, 0xf607, 0xf43d, 0xf607, 0xf568, 0xf6e5, 0xf568, 0xf6e5, 0xf751, -0xf885, 0xf751, 0xf885, 0xf751, 0xf885, 0xf824, 0xf915, 0xf824, 0xf915, 0xf81e, 0xf8d2, -0xf81e, 0xf8d2, 0xf8eb, 0xf968, 0xf8eb, 0xf968, 0xf8a6, 0xf8f4, 0xf8a6, 0xf8f4, 0xf868, -0xf88e, 0xf868, 0xf88e, 0xf9d3, 0xf9d8, 0xf9d3, 0xf9d8, 0xf9d3, 0xf9d8, 0xf9e4, 0xf9d0, -0xf9e4, 0xf9d0, 0xf8df, 0xf8b9, 0xf8df, 0xf8b9, 0xf960, 0xf92f, 0xf960, 0xf92f, 0xf9a1, -0xf969, 0xf9a1, 0xf969, 0xf991, 0xf958, 0xf991, 0xf958, 0xfa3c, 0xfa05, 0xfa3c, 0xfa05, -0xfa3c, 0xfa05, 0xfa82, 0xfa50, 0xfa82, 0xfa50, 0xfab4, 0xfa89, 0xfab4, 0xfa89, 0xfb4a, -0xfb27, 0xfb4a, 0xfb27, 0xfcb7, 0xfc9d, 0xfcb7, 0xfc9d, 0xfd65, 0xfd55, 0xfd65, 0xfd55, -0xfd65, 0xfd55, 0xfd3b, 0xfd34, 0xfd3b, 0xfd34, 0xff93, 0xff97, 0xff93, 0xff97, 0xe3, -0xf3, 0xe3, 0xf3, 0xdc, 0xf9, 0xdc, 0xf9, 0x1cc, 0x1fa, 0x1cc, 0x1fa, -0x1fb, 0x23e, 0x1fb, 0x23e, 0x1fb, 0x23e, 0x252, 0x2ae, 0x252, 0x2ae, 0x1b7, -0x232, 0x1b7, 0x232, 0x14a, 0x1ed, 0x14a, 0x1ed, 0xfff3, 0xc5, 0xfff3, 0xc5, -0xfd81, 0xfe8c, 0xfd81, 0xfe8c, 0xfd4d, 0xfe9a, 0xfd4d, 0xfe9a, 0xfd4d, 0xfe9a, 0xfb0e, -0xfca9, 0xfb0e, 0xfca9, 0xf83d, 0xfa2f, 0xf83d, 0xfa2f, 0xf761, 0xf9b4, 0xf761, 0xf9b4, -0xf633, 0xf8f1, 0xf633, 0xf8f1, 0xf504, 0xf833, 0xf504, 0xf833, 0xf504, 0xf833, 0xf230, -0xf5d7, 0xf230, 0xf5d7, 0xef3f, 0xf362, 0xef3f, 0xf362, 0xeb8d, 0xf02c, 0xeb8d, 0xf02c, -0xe71a, 0xec34, 0xe71a, 0xec34, 0xe578, 0xeb08, 0xe578, 0xeb08, 0xe394, 0xe993, 0xe394, -0xe993, 0xe394, 0xe993, 0xe1aa, 0xe80e, 0xe1aa, 0xe80e, 0xe039, 0xe6f4, 0xe039, 0xe6f4, -0xdf4a, 0xe64d, 0xdf4a, 0xe64d, 0xde2c, 0xe565, 0xde2c, 0xe565, 0xdc2d, 0xe388, 0xdc2d, -0xe388, 0xdc2d, 0xe388, 0xdce9, 0xe452, 0xdce9, 0xe452, 0xdbe9, 0xe34a, 0xdbe9, 0xe34a, -0xda0a, 0xe14f, 0xda0a, 0xe14f, 0xd959, 0xe06e, 0xd959, 0xe06e, 0xd7f6, 0xdec7, 0xd7f6, -0xdec7, 0xd834, 0xdeb0, 0xd834, 0xdeb0, 0xd834, 0xdeb0, 0xd807, 0xde1f, 0xd807, 0xde1f, -0xd8c7, 0xde70, 0xd8c7, 0xde70, 0xdabc, 0xdfeb, 0xdabc, 0xdfeb, 0xdcdf, 0xe18f, 0xdcdf, -0xe18f, 0xdf70, 0xe39f, 0xdf70, 0xe39f, 0xe10a, 0xe4b8, 0xe10a, 0xe4b8, 0xe10a, 0xe4b8, -0xe338, 0xe668, 0xe338, 0xe668, 0xe589, 0xe841, 0xe589, 0xe841, 0xe7c9, 0xea12, 0xe7c9, -0xea12, 0xeab0, 0xec94, 0xeab0, 0xec94, 0xedab, 0xef35, 0xedab, 0xef35, 0xedab, 0xef35, -0xeead, 0xefe9, 0xeead, 0xefe9, 0xee65, 0xef5e, 0xee65, 0xef5e, 0xf052, 0xf114, 0xf052, -0xf114, 0xf167, 0xf1fc, 0xf167, 0xf1fc, 0xf10e, 0xf17e, 0xf10e, 0xf17e, 0xf141, 0xf194, -0xf141, 0xf194, 0xf141, 0xf194, 0xf0e3, 0xf11d, 0xf0e3, 0xf11d, 0xf0b6, 0xf0d8, 0xf0b6, -0xf0d8, 0xf0b6, 0xf0c2, 0xf0b6, 0xf0c2, 0xf232, 0xf223, 0xf232, 0xf223, 0xf1e4, 0xf1b8, -0xf1e4, 0xf1b8, 0xf124, 0xf0d4, 0xf124, 0xf0d4, 0xf124, 0xf0d4, 0xf3fa, 0xf37d, 0xf3fa, -0xf37d, 0xf47f, 0xf3cd, 0xf47f, 0xf3cd, 0xf617, 0xf529, 0xf617, 0xf529, 0xf8ff, 0xf7ca, -0xf8ff, 0xf7ca, 0xfab1, 0xf92e, 0xfab1, 0xf92e, 0xfab1, 0xf92e, 0xfd34, 0xfb5c, 0xfd34, -0xfb5c, 0xfee1, 0xfcae, 0xfee1, 0xfcae, 0x1f1, 0xff60, 0x1f1, 0xff60, 0x43f, 0x14f, -0x43f, 0x14f, 0x7db, 0x48c, 0x7db, 0x48c, 0xd97, 0x9ed, 0xd97, 0x9ed, 0xd97, -0x9ed, 0x10b5, 0xcb6, 0x10b5, 0xcb6, 0x139a, 0xf4f, 0x139a, 0xf4f, 0x16bf, 0x1231, -0x16bf, 0x1231, 0x19eb, 0x1527, 0x19eb, 0x1527, 0x1bc0, 0x16d2, 0x1bc0, 0x16d2, 0x1cc3, -0x17ba, 0x1cc3, 0x17ba, 0x1cc3, 0x17ba, 0x1e6c, 0x1957, 0x1e6c, 0x1957, 0x1e5b, 0x1948, -0x1e5b, 0x1948, 0x1e79, 0x1976, 0x1e79, 0x1976, 0x1eaf, 0x19ca, 0x1eaf, 0x19ca, 0x1dcf, -0x1914, 0x1dcf, 0x1914, 0x1dcf, 0x1914, 0x1d38, 0x18b2, 0x1d38, 0x18b2, 0x1c9f, 0x1857, -0x1c9f, 0x1857, 0x1d05, 0x1902, 0x1d05, 0x1902, 0x1c3c, 0x1883, 0x1c3c, 0x1883, 0x1aee, -0x1783, 0x1aee, 0x1783, 0x1ad7, 0x17bc, 0x1ad7, 0x17bc, 0x1ad7, 0x17bc, 0x184b, 0x1581, -0x184b, 0x1581, 0x15f0, 0x1377, 0x15f0, 0x1377, 0x14ee, 0x12c4, 0x14ee, 0x12c4, 0x12f8, -0x111b, 0x12f8, 0x111b, 0x10e1, 0xf4f, 0x10e1, 0xf4f, 0xf0c, 0xdc1, 0xf0c, 0xdc1, -0xf0c, 0xdc1, 0xd90, 0xc8a, 0xd90, 0xc8a, 0xc1e, 0xb5a, 0xc1e, 0xb5a, 0xbb1, -0xb2d, 0xbb1, 0xb2d, 0xbcd, 0xb88, 0xbcd, 0xb88, 0xa83, 0xa7b, 0xa83, 0xa7b, -0xa83, 0xa7b, 0x854, 0x888, 0x854, 0x888, 0x60e, 0x67d, 0x60e, 0x67d, 0x387, -0x432, 0x387, 0x432, 0x144, 0x228, 0x144, 0x228, 0xff32, 0x4f, 0xff32, 0x4f, -0xfca1, 0xfdf5, 0xfca1, 0xfdf5, 0xfca1, 0xfdf5, 0xfaba, 0xfc42, 0xfaba, 0xfc42, 0xf962, -0xfb1c, 0xf962, 0xfb1c, 0xf7ac, 0xf993, 0xf7ac, 0xf993, 0xf6b6, 0xf8c5, 0xf6b6, 0xf8c5, -0xf55b, 0xf78c, 0xf55b, 0xf78c, 0xf3c3, 0xf60e, 0xf3c3, 0xf60e, 0xf3c3, 0xf60e, 0xf2cf, -0xf52c, 0xf2cf, 0xf52c, 0xf307, 0xf56d, 0xf307, 0xf56d, 0xf4cc, 0xf731, 0xf4cc, 0xf731, -0xf3a9, 0xf603, 0xf3a9, 0xf603, 0xf3ff, 0xf644, 0xf3ff, 0xf644, 0xf3ff, 0xf644, 0xf703, -0xf92b, 0xf703, 0xf92b, 0xf709, 0xf909, 0xf709, 0xf909, 0xf7b1, 0xf983, 0xf7b1, 0xf983, -0xf8c6, 0xfa62, 0xf8c6, 0xfa62, 0xf914, 0xfa75, 0xf914, 0xfa75, 0xf97d, 0xfaa0, 0xf97d, -0xfaa0, 0xf97d, 0xfaa0, 0xfad2, 0xfbb4, 0xfad2, 0xfbb4, 0xfbc9, 0xfc6b, 0xfbc9, 0xfc6b, -0xfb83, 0xfbe6, 0xfb83, 0xfbe6, 0xfd02, 0xfd29, 0xfd02, 0xfd29, 0xfe1b, 0xfe0b, 0xfe1b, -0xfe0b, 0xfeba, 0xfe7a, 0xfeba, 0xfe7a, 0xfeba, 0xfe7a, 0x2f, 0xffc4, 0x2f, 0xffc4, -0x1ee, 0x161, 0x1ee, 0x161, 0x3ef, 0x347, 0x3ef, 0x347, 0x4ee, 0x434, 0x4ee, -0x434, 0x5d5, 0x510, 0x5d5, 0x510, 0x5d5, 0x510, 0x6c3, 0x5f9, 0x6c3, 0x5f9, -0x6c2, 0x5fb, 0x6c2, 0x5fb, 0x7df, 0x71f, 0x7df, 0x71f, 0x91f, 0x86b, 0x91f, -0x86b, 0x958, 0x8b2, 0x958, 0x8b2, 0xa73, 0x9dd, 0xa73, 0x9dd, 0xa73, 0x9dd, -0xb6a, 0xae6, 0xb6a, 0xae6, 0xcd4, 0xc61, 0xcd4, 0xc61, 0xcc4, 0xc61, 0xcc4, -0xc61, 0xc02, 0xbae, 0xc02, 0xbae, 0xc79, 0xc31, 0xc79, 0xc31, 0xaa6, 0xa6a, -0xaa6, 0xa6a, 0xaa6, 0xa6a, 0x959, 0x927, 0x959, 0x927, 0x829, 0x7ff, 0x829, -0x7ff, 0x671, 0x64f, 0x671, 0x64f, 0x575, 0x559, 0x575, 0x559, 0x406, 0x3f3, -0x406, 0x3f3, 0x406, 0x3f3, 0x3ed, 0x3e3, 0x3ed, 0x3e3, 0x370, 0x371, 0x370, -0x371, 0x323, 0x331, 0x323, 0x331, 0x278, 0x295, 0x278, 0x295, 0xff76, 0xffa6, -0xff76, 0xffa6, 0xfdf5, 0xfe3a, 0xfdf5, 0xfe3a, 0xfdf5, 0xfe3a, 0xfd4d, 0xfda8, 0xfd4d, -0xfda8, 0xfc92, 0xfd05, 0xfc92, 0xfd05, 0xfd15, 0xfda1, 0xfd15, 0xfda1, 0xfd32, 0xfdd6, -0xfd32, 0xfdd6, 0xfc1b, 0xfcd5, 0xfc1b, 0xfcd5, 0xfba3, 0xfc6f, 0xfba3, 0xfc6f, 0xfba3, -0xfc6f, 0xfc34, 0xfd0e, 0xfc34, 0xfd0e, 0xfc6c, 0xfd4c, 0xfc6c, 0xfd4c, 0xfcbf, 0xfd9f, -0xfcbf, 0xfd9f, 0xfcaf, 0xfd85, 0xfcaf, 0xfd85, 0xfcfe, 0xfdc1, 0xfcfe, 0xfdc1, 0xfcfe, -0xfdc1, 0xfcc6, 0xfd6b, 0xfcc6, 0xfd6b, 0xfc3e, 0xfcbb, 0xfc3e, 0xfcbb, 0xfd38, 0xfd82, -0xfd38, 0xfd82, 0xfc71, 0xfc7f, 0xfc71, 0xfc7f, 0xfd24, 0xfcec, 0xfd24, 0xfcec, 0xff8b, -0xff05, 0xff8b, 0xff05, 0xff8b, 0xff05, 0x59, 0xff80, 0x59, 0xff80, 0x1c7, 0x96, -0x1c7, 0x96, 0x3e8, 0x25d, 0x3e8, 0x25d, 0x5ee, 0x409, 0x5ee, 0x409, 0x837, -0x5fa, 0x837, 0x5fa, 0x837, 0x5fa, 0xc9c, 0xa0a, 0xc9c, 0xa0a, 0xf92, 0xcb1, -0xf92, 0xcb1, 0x110d, 0xde6, 0x110d, 0xde6, 0x14ab, 0x1146, 0x14ab, 0x1146, 0x171c, -0x1384, 0x171c, 0x1384, 0x187a, 0x14b9, 0x187a, 0x14b9, 0x187a, 0x14b9, 0x19bc, 0x15de, -0x19bc, 0x15de, 0x1ae3, 0x16f3, 0x1ae3, 0x16f3, 0x1c43, 0x184b, 0x1c43, 0x184b, 0x1c08, -0x1811, 0x1c08, 0x1811, 0x1bab, 0x17bf, 0x1bab, 0x17bf, 0x1b44, 0x1769, 0x1b44, 0x1769, -0x1b44, 0x1769, 0x19f1, 0x162d, 0x19f1, 0x162d, 0x1998, 0x15ef, 0x1998, 0x15ef, 0x18b6, -0x152a, 0x18b6, 0x152a, 0x183c, 0x14ce, 0x183c, 0x14ce, 0x1820, 0x14ce, 0x1820, 0x14ce, -0x1820, 0x14ce, 0x180a, 0x14d1, 0x180a, 0x14d1, 0x18fb, 0x15d9, 0x18fb, 0x15d9, 0x178f, -0x147f, 0x178f, 0x147f, 0x16b4, 0x13b2, 0x16b4, 0x13b2, 0x15f9, 0x12ff, 0x15f9, 0x12ff, -0x147c, 0x1185, 0x147c, 0x1185, 0x147c, 0x1185, 0x1510, 0x1219, 0x1510, 0x1219, 0x152a, -0x1230, 0x152a, 0x1230, 0x1584, 0x1285, 0x1584, 0x1285, 0x15ea, 0x12e4, 0x15ea, 0x12e4, -0x166d, 0x1361, 0x166d, 0x1361, 0x1769, 0x1459, 0x1769, 0x1459, 0x1769, 0x1459, 0x1771, -0x145f, 0x1771, 0x145f, 0x1834, 0x1524, 0x1834, 0x1524, 0x18b7, 0x15b0, 0x18b7, 0x15b0, -0x1761, 0x1467, 0x1761, 0x1467, 0x1675, 0x1390, 0x1675, 0x1390, 0x1675, 0x1390, 0x15db, -0x1312, 0x15db, 0x1312, 0x1461, 0x11bc, 0x1461, 0x11bc, 0x13d3, 0x1159, 0x13d3, 0x1159, -0x12f4, 0x10ac, 0x12f4, 0x10ac, 0x112b, 0xf1e, 0x112b, 0xf1e, 0x1110, 0xf42, 0x1110, -0xf42, 0x1110, 0xf42, 0x10ce, 0xf45, 0x10ce, 0xf45, 0xee5, 0xda6, 0xee5, 0xda6, -0xcc5, 0xbd3, 0xcc5, 0xbd3, 0xb34, 0xa93, 0xb34, 0xa93, 0x9e4, 0x996, 0x9e4, -0x996, 0x728, 0x72c, 0x728, 0x72c, 0x728, 0x72c, 0x529, 0x580, 0x529, 0x580, -0x300, 0x3a9, 0x300, 0x3a9, 0xfe8d, 0xff87, 0xfe8d, 0xff87, 0xfc54, 0xfd9c, 0xfc54, -0xfd9c, 0xfbed, 0xfd81, 0xfbed, 0xfd81, 0xfbed, 0xfd81, 0xfa45, 0xfc22, 0xfa45, 0xfc22, -0xf780, 0xf9a1, 0xf780, 0xf9a1, 0xf62c, 0xf88e, 0xf62c, 0xf88e, 0xf464, 0xf701, 0xf464, -0xf701, 0xf0c3, 0xf398, 0xf0c3, 0xf398, 0xef11, 0xf218, 0xef11, 0xf218, 0xef11, 0xf218, -0xeccc, 0xefff, 0xeccc, 0xefff, 0xea4a, 0xeda2, 0xea4a, 0xeda2, 0xe998, 0xed10, 0xe998, -0xed10, 0xe8f5, 0xec83, 0xe8f5, 0xec83, 0xe850, 0xebef, 0xe850, 0xebef, 0xe750, 0xeaf7, -0xe750, 0xeaf7, 0xe750, 0xeaf7, 0xe6f9, 0xea9f, 0xe6f9, 0xea9f, 0xe771, 0xeb0e, 0xe771, -0xeb0e, 0xe800, 0xeb8c, 0xe800, 0xeb8c, 0xe98a, 0xecfb, 0xe98a, 0xecfb, 0xeb13, 0xee61, -0xeb13, 0xee61, 0xeb13, 0xee61, 0xece7, 0xf00a, 0xece7, 0xf00a, 0xef37, 0xf229, 0xef37, -0xf229, 0xf13c, 0xf3f5, 0xf13c, 0xf3f5, 0xf3e3, 0xf65d, 0xf3e3, 0xf65d, 0xf585, 0xf7be, -0xf585, 0xf7be, 0xf73b, 0xf92f, 0xf73b, 0xf92f, 0xf73b, 0xf92f, 0xf8f1, 0xfa9e, 0xf8f1, -0xfa9e, 0xf914, 0xfa7a, 0xf914, 0xfa7a, 0xfa20, 0xfb41, 0xfa20, 0xfb41, 0xfaa7, 0xfb86, -0xfaa7, 0xfb86, 0xfa47, 0xfae8, 0xfa47, 0xfae8, 0xfa63, 0xfacc, 0xfa63, 0xfacc, 0xfa63, -0xfacc, 0xfa0d, 0xfa44, 0xfa0d, 0xfa44, 0xf9ee, 0xf9fb, 0xf9ee, 0xf9fb, 0xfa8d, 0xfa78, -0xfa8d, 0xfa78, 0xfb1d, 0xfaed, 0xfb1d, 0xfaed, 0xfbdd, 0xfb99, 0xfbdd, 0xfb99, 0xfbdd, -0xfb99, 0xfc3e, 0xfbf0, 0xfc3e, 0xfbf0, 0xfccd, 0xfc7b, 0xfccd, 0xfc7b, 0xfd36, 0xfce7, -0xfd36, 0xfce7, 0xfcce, 0xfc88, 0xfcce, 0xfc88, 0xfe19, 0xfde0, 0xfe19, 0xfde0, 0xff01, -0xfeda, 0xff01, 0xfeda, 0xff01, 0xfeda, 0xffba, 0xffa6, 0xffba, 0xffa6, 0x152, 0x154, -0x152, 0x154, 0x19a, 0x1b4, 0x19a, 0x1b4, 0x1ca, 0x1fb, 0x1ca, 0x1fb, 0x2ce, -0x318, 0x2ce, 0x318, 0x405, 0x467, 0x405, 0x467, 0x405, 0x467, 0x3e1, 0x45c, -0x3e1, 0x45c, 0x320, 0x3b5, 0x320, 0x3b5, 0x2a2, 0x353, 0x2a2, 0x353, 0x106, -0x1d4, 0x106, 0x1d4, 0xfeec, 0xffdb, 0xfeec, 0xffdb, 0xfeec, 0xffdb, 0xfe6a, 0xff7e, -0xfe6a, 0xff7e, 0xfcf1, 0xfe2f, 0xfcf1, 0xfe2f, 0xf9e8, 0xfb56, 0xf9e8, 0xfb56, 0xf938, -0xfadc, 0xf938, 0xfadc, 0xf877, 0xfa58, 0xf877, 0xfa58, 0xf579, 0xf7a0, 0xf579, 0xf7a0, -0xf579, 0xf7a0, 0xf1f9, 0xf46b, 0xf1f9, 0xf46b, 0xef61, 0xf225, 0xef61, 0xf225, 0xec8a, -0xefa6, 0xec8a, 0xefa6, 0xe979, 0xecf1, 0xe979, 0xecf1, 0xe846, 0xec1d, 0xe846, 0xec1d, -0xe5cf, 0xea05, 0xe5cf, 0xea05, 0xe5cf, 0xea05, 0xe22c, 0xe6c0, 0xe22c, 0xe6c0, 0xe124, -0xe613, 0xe124, 0xe613, 0xe0f1, 0xe634, 0xe0f1, 0xe634, 0xdf6f, 0xe4fe, 0xdf6f, 0xe4fe, -0xddd8, 0xe3a9, 0xddd8, 0xe3a9, 0xddd8, 0xe3a9, 0xddd8, 0xe3dd, 0xddd8, 0xe3dd, 0xddcf, -0xe3f9, 0xddcf, 0xe3f9, 0xdc61, 0xe2a2, 0xdc61, 0xe2a2, 0xdb73, 0xe1b9, 0xdb73, 0xe1b9, -0xda21, 0xe05c, 0xda21, 0xe05c, 0xd8f2, 0xdf12, 0xd8f2, 0xdf12, 0xd8f2, 0xdf12, 0xd882, -0xde76, 0xd882, 0xde76, 0xd8ef, 0xdea8, 0xd8ef, 0xdea8, 0xdad1, 0xe042, 0xdad1, 0xe042, -0xdb74, 0xe094, 0xdb74, 0xe094, 0xdd41, 0xe207, 0xdd41, 0xe207, 0xdfae, 0xe413, 0xdfae, -0xe413, 0xdfae, 0xe413, 0xe158, 0xe55a, 0xe158, 0xe55a, 0xe449, 0xe7e7, 0xe449, 0xe7e7, -0xe671, 0xe9af, 0xe671, 0xe9af, 0xe871, 0xeb52, 0xe871, 0xeb52, 0xea32, 0xecbd, 0xea32, -0xecbd, 0xea32, 0xecbd, 0xeb8a, 0xedc7, 0xeb8a, 0xedc7, 0xed70, 0xef69, 0xed70, 0xef69, -0xef13, 0xf0d0, 0xef13, 0xf0d0, 0xf08b, 0xf218, 0xf08b, 0xf218, 0xf0f7, 0xf25c, 0xf0f7, -0xf25c, 0xf176, 0xf2bb, 0xf176, 0xf2bb, 0xf176, 0xf2bb, 0xf29b, 0xf3c6, 0xf29b, 0xf3c6, -0xf204, 0xf319, 0xf204, 0xf319, 0xf194, 0xf296, 0xf194, 0xf296, 0xf1ba, 0xf2a9, 0xf1ba, -0xf2a9, 0xf10e, 0xf1e8, 0xf10e, 0xf1e8, 0xf10e, 0xf1e8, 0xf198, 0xf257, 0xf198, 0xf257, -0xf30b, 0xf3a9, 0xf30b, 0xf3a9, 0xf3a4, 0xf418, 0xf3a4, 0xf418, 0xf45f, 0xf49f, 0xf45f, -0xf49f, 0xf640, 0xf641, 0xf640, 0xf641, 0xf72a, 0xf6e0, 0xf72a, 0xf6e0, 0xf72a, 0xf6e0, -0xf7c2, 0xf722, 0xf7c2, 0xf722, 0xf97c, 0xf87c, 0xf97c, 0xf87c, 0xfca1, 0xfb37, 0xfca1, -0xfb37, 0xffc7, 0xfdec, 0xffc7, 0xfdec, 0x271, 0x1e, 0x271, 0x1e, 0x752, 0x486, -0x752, 0x486, 0x752, 0x486, 0xa14, 0x6cd, 0xa14, 0x6cd, 0xbb1, 0x7f2, 0xbb1, -0x7f2, 0xf8e, 0xb5d, 0xf8e, 0xb5d, 0x12dd, 0xe42, 0x12dd, 0xe42, 0x151d, 0x1023, -0x151d, 0x1023, 0x151d, 0x1023, 0x16ad, 0x1161, 0x16ad, 0x1161, 0x1880, 0x12f0, 0x1880, -0x12f0, 0x1935, 0x1373, 0x1935, 0x1373, 0x19d2, 0x13ed, 0x19d2, 0x13ed, 0x1ab9, 0x14c4, -0x1ab9, 0x14c4, 0x1a3b, 0x1447, 0x1a3b, 0x1447, 0x1a3b, 0x1447, 0x1a0c, 0x142b, 0x1a0c, -0x142b, 0x1ae6, 0x1525, 0x1ae6, 0x1525, 0x1b75, 0x15e4, 0x1b75, 0x15e4, 0x1a18, 0x14c3, -0x1a18, 0x14c3, 0x18b7, 0x13a8, 0x18b7, 0x13a8, 0x18e1, 0x1421, 0x18e1, 0x1421, 0x18e1, -0x1421, 0x183c, 0x13d1, 0x183c, 0x13d1, 0x17e0, 0x13cf, 0x17e0, 0x13cf, 0x17c8, 0x1413, -0x17c8, 0x1413, 0x1517, 0x11bd, 0x1517, 0x11bd, 0x12ba, 0xfbb, 0x12ba, 0xfbb, 0x12ba, -0xfbb, 0x1166, 0xebf, 0x1166, 0xebf, 0x105c, 0xe0b, 0x105c, 0xe0b, 0xf12, 0xd12, -0xf12, 0xd12, 0xdc1, 0xc0f, 0xdc1, 0xc0f, 0xe60, 0xcf8, 0xe60, 0xcf8, 0xd15, -0xbf2, 0xd15, 0xbf2, 0xd15, 0xbf2, 0xad8, 0x9f7, 0xad8, 0x9f7, 0x91d, 0x87a, -0x91d, 0x87a, 0x6db, 0x673, 0x6db, 0x673, 0x4c1, 0x493, 0x4c1, 0x493, 0x23c, -0x245, 0x23c, 0x245, 0xdb, 0x119, 0xdb, 0x119, 0xdb, 0x119, 0xff22, 0xff94, -0xff22, 0xff94, 0xfd1b, 0xfdbf, 0xfd1b, 0xfdbf, 0xfbe6, 0xfcb9, 0xfbe6, 0xfcb9, 0xfa0e, -0xfb0e, 0xfa0e, 0xfb0e, 0xf94b, 0xfa76, 0xf94b, 0xfa76, 0xf94b, 0xfa76, 0xf936, 0xfa87, -0xf936, 0xfa87, 0xf7c1, 0xf934, 0xf7c1, 0xf934, 0xf706, 0xf895, 0xf706, 0xf895, 0xf6fb, -0xf8a0, 0xf6fb, 0xf8a0, 0xf603, 0xf7b7, 0xf603, 0xf7b7, 0xf6a0, 0xf85c, 0xf6a0, 0xf85c, -0xf6a0, 0xf85c, 0xf7f6, 0xf9b2, 0xf7f6, 0xf9b2, 0xf799, 0xf94c, 0xf799, 0xf94c, 0xf837, -0xf9da, 0xf837, 0xf9da, 0xf971, 0xfafc, 0xf971, 0xfafc, 0xf981, 0xfaed, 0xf981, 0xfaed, -0xf95c, 0xfaa2, 0xf95c, 0xfaa2, 0xf95c, 0xfaa2, 0xf9da, 0xfaf4, 0xf9da, 0xfaf4, 0xfaff, -0xfbe9, 0xfaff, 0xfbe9, 0xfaad, 0xfb65, 0xfaad, 0xfb65, 0xfb2c, 0xfbaf, 0xfb2c, 0xfbaf, -0xfced, 0xfd3c, 0xfced, 0xfd3c, 0xfced, 0xfd3c, 0xfd68, 0xfd84, 0xfd68, 0xfd84, 0xfe5b, -0xfe45, 0xfe5b, 0xfe45, 0xf, 0xffcc, 0xf, 0xffcc, 0x156, 0xea, 0x156, 0xea, -0x155, 0xc5, 0x155, 0xc5, 0x245, 0x198, 0x245, 0x198, 0x245, 0x198, 0x385, -0x2bf, 0x385, 0x2bf, 0x482, 0x3aa, 0x482, 0x3aa, 0x64b, 0x566, 0x64b, 0x566, -0x713, 0x626, 0x713, 0x626, 0x769, 0x679, 0x769, 0x679, 0x7d7, 0x6e8, 0x7d7, -0x6e8, 0x7d7, 0x6e8, 0x96d, 0x880, 0x96d, 0x880, 0xb25, 0xa3e, 0xb25, 0xa3e, -0xbc3, 0xae3, 0xbc3, 0xae3, 0xbc4, 0xaeb, 0xbc4, 0xaeb, 0xc66, 0xb94, 0xc66, -0xb94, 0xc66, 0xb94, 0xce5, 0xc19, 0xce5, 0xc19, 0xc24, 0xb5e, 0xc24, 0xb5e, -0xb2f, 0xa6f, 0xb2f, 0xa6f, 0x995, 0x8d9, 0x995, 0x8d9, 0x998, 0x8e0, 0x998, -0x8e0, 0x976, 0x8c2, 0x976, 0x8c2, 0x976, 0x8c2, 0x844, 0x795, 0x844, 0x795, -0x6e2, 0x639, 0x6e2, 0x639, 0x52c, 0x48b, 0x52c, 0x48b, 0x434, 0x39c, 0x434, -0x39c, 0x23e, 0x1b2, 0x23e, 0x1b2, 0x1ac, 0x12e, 0x1ac, 0x12e, 0x1ac, 0x12e, -0x10b, 0x9f, 0x10b, 0x9f, 0xff82, 0xff2a, 0xff82, 0xff2a, 0xff6e, 0xff2b, 0xff6e, -0xff2b, 0xfe9b, 0xfe6f, 0xfe9b, 0xfe6f, 0xfe13, 0xfdfe, 0xfe13, 0xfdfe, 0xfe13, 0xfdfe, -0xfd91, 0xfd93, 0xfd91, 0xfd93, 0xfd3c, 0xfd52, 0xfd3c, 0xfd52, 0xfe4c, 0xfe73, 0xfe4c, -0xfe73, 0xfe03, 0xfe36, 0xfe03, 0xfe36, 0xfe29, 0xfe63, 0xfe29, 0xfe63, 0xff69, 0xffa1, -0xff69, 0xffa1, 0xff69, 0xffa1, 0xfebd, 0xfeec, 0xfebd, 0xfeec, 0xfe02, 0xfe1f, 0xfe02, -0xfe1f, 0xfdd5, 0xfdd6, 0xfdd5, 0xfdd6, 0xfdea, 0xfdc6, 0xfdea, 0xfdc6, 0xff2e, 0xfedb, -0xff2e, 0xfedb, 0x1d, 0xff92, 0x1d, 0xff92, 0x1d, 0xff92, 0x2b, 0xff61, 0x2b, -0xff61, 0x132, 0x21, 0x132, 0x21, 0x345, 0x1ea, 0x345, 0x1ea, 0x4fc, 0x353, -0x4fc, 0x353, 0x6cd, 0x4d5, 0x6cd, 0x4d5, 0x6cd, 0x4d5, 0x9b1, 0x76a, 0x9b1, -0x76a, 0xc97, 0xa05, 0xc97, 0xa05, 0xe83, 0xbaa, 0xe83, 0xbaa, 0x10f7, 0xdde, -0x10f7, 0xdde, 0x1345, 0xff5, 0x1345, 0xff5, 0x1499, 0x111b, 0x1499, 0x111b, 0x1499, -0x111b, 0x164d, 0x12ac, 0x164d, 0x12ac, 0x1870, 0x14b6, 0x1870, 0x14b6, 0x19c0, 0x15f9, -0x19c0, 0x15f9, 0x19e2, 0x1617, 0x19e2, 0x1617, 0x1960, 0x159a, 0x1960, 0x159a, 0x1868, -0x14b1, 0x1868, 0x14b1, 0x1868, 0x14b1, 0x17df, 0x143d, 0x17df, 0x143d, 0x1787, 0x13ff, -0x1787, 0x13ff, 0x1708, 0x139e, 0x1708, 0x139e, 0x15f8, 0x12ad, 0x15f8, 0x12ad, 0x1598, -0x126c, 0x1598, 0x126c, 0x1598, 0x126c, 0x15f2, 0x12e3, 0x15f2, 0x12e3, 0x15e2, 0x12ed, -0x15e2, 0x12ed, 0x1523, 0x1242, 0x1523, 0x1242, 0x1372, 0x10a0, 0x1372, 0x10a0, 0x1416, -0x114c, 0x1416, 0x114c, 0x14f0, 0x1227, 0x14f0, 0x1227, 0x14f0, 0x1227, 0x1570, 0x12a2, -0x1570, 0x12a2, 0x15f2, 0x131a, 0x15f2, 0x131a, 0x1598, 0x12af, 0x1598, 0x12af, 0x1658, -0x135c, 0x1658, 0x135c, 0x1695, 0x1382, 0x1695, 0x1382, 0x1695, 0x1382, 0x17bc, 0x1492, -0x17bc, 0x1492, 0x17cf, 0x148f, 0x17cf, 0x148f, 0x17bd, 0x1468, 0x17bd, 0x1468, 0x1903, -0x159e, 0x1903, 0x159e, 0x183c, 0x14cd, 0x183c, 0x14cd, 0x1808, 0x1495, 0x1808, 0x1495, -0x1808, 0x1495, 0x16fb, 0x138c, 0x16fb, 0x138c, 0x15a7, 0x1247, 0x15a7, 0x1247, 0x1570, -0x1227, 0x1570, 0x1227, 0x144c, 0x1125, 0x144c, 0x1125, 0x13e8, 0x10ec, 0x13e8, 0x10ec, -0x12d2, 0x100c, 0x12d2, 0x100c, 0x12d2, 0x100c, 0x10f2, 0xe6b, 0x10f2, 0xe6b, 0x1007, -0xdc7, 0x1007, 0xdc7, 0xf3f, 0xd4f, 0xf3f, 0xd4f, 0xec2, 0xd28, 0xec2, 0xd28, -0xd8f, 0xc50, 0xd8f, 0xc50, 0xd8f, 0xc50, 0xb02, 0xa23, 0xb02, 0xa23, 0x84c, -0x7cf, 0x84c, 0x7cf, 0x59e, 0x585, 0x59e, 0x585, 0x294, 0x2e1, 0x294, 0x2e1, -0x67, 0x117, 0x67, 0x117, 0xfefe, 0xf, 0xfefe, 0xf, 0xfefe, 0xf, 0xfc72, -0xfde1, 0xfc72, 0xfde1, 0xf9c2, 0xfb8a, 0xf9c2, 0xfb8a, 0xf7dd, 0xf9fa, 0xf7dd, 0xf9fa, -0xf599, 0xf803, 0xf599, 0xf803, 0xf1b2, 0xf462, 0xf1b2, 0xf462, 0xef1a, 0xf209, 0xef1a, -0xf209, 0xef1a, 0xf209, 0xedd0, 0xf0f5, 0xedd0, 0xf0f5, 0xeb3a, 0xee8c, 0xeb3a, 0xee8c, -0xea37, 0xedac, 0xea37, 0xedac, 0xe91c, 0xecaa, 0xe91c, 0xecaa, 0xe720, 0xeabd, 0xe720, -0xeabd, 0xe720, 0xeabd, 0xe5bb, 0xe95c, 0xe5bb, 0xe95c, 0xe4d0, 0xe86b, 0xe4d0, 0xe86b, -0xe4a9, 0xe833, 0xe4a9, 0xe833, 0xe435, 0xe7a3, 0xe435, 0xe7a3, 0xe4f3, 0xe83c, 0xe4f3, -0xe83c, 0xe679, 0xe994, 0xe679, 0xe994, 0xe679, 0xe994, 0xe848, 0xeb2c, 0xe848, 0xeb2c, -0xeaeb, 0xed91, 0xeaeb, 0xed91, 0xec93, 0xeef6, 0xec93, 0xeef6, 0xed65, 0xef7f, 0xed65, -0xef7f, 0xef49, 0xf118, 0xef49, 0xf118, 0xf24c, 0xf3ce, 0xf24c, 0xf3ce, 0xf24c, 0xf3ce, -0xf4bd, 0xf5f3, 0xf4bd, 0xf5f3, 0xf583, 0xf66d, 0xf583, 0xf66d, 0xf68e, 0xf731, 0xf68e, -0xf731, 0xf88d, 0xf8ed, 0xf88d, 0xf8ed, 0xf922, 0xf946, 0xf922, 0xf946, 0xf922, 0xf946, -0xf997, 0xf986, 0xf997, 0xf986, 0xfa14, 0xf9d5, 0xfa14, 0xf9d5, 0xfa99, 0xfa36, 0xfa99, -0xfa36, 0xfb6a, 0xfaec, 0xfb6a, 0xfaec, 0xfbf7, 0xfb67, 0xfbf7, 0xfb67, 0xfca8, 0xfc0e, -0xfca8, 0xfc0e, 0xfca8, 0xfc0e, 0xfc08, 0xfb6d, 0xfc08, 0xfb6d, 0xfce2, 0xfc4e, 0xfce2, -0xfc4e, 0xfe6f, 0xfde8, 0xfe6f, 0xfde8, 0xfe63, 0xfdef, 0xfe63, 0xfdef, 0xffce, 0xff72, -0xffce, 0xff72, 0x100, 0xbf, 0x100, 0xbf, 0x100, 0xbf, 0x119, 0xf5, 0x119, -0xf5, 0x18b, 0x186, 0x18b, 0x186, 0x21c, 0x236, 0x21c, 0x236, 0x30a, 0x344, -0x30a, 0x344, 0x383, 0x3dc, 0x383, 0x3dc, 0x383, 0x3dc, 0x45b, 0x4d3, 0x45b, -0x4d3, 0x571, 0x608, 0x571, 0x608, 0x53d, 0x5f4, 0x53d, 0x5f4, 0x524, 0x5fb, -0x524, 0x5fb, 0x488, 0x582, 0x488, 0x582, 0x304, 0x424, 0x304, 0x424, 0x304, -0x424, 0x194, 0x2df, 0x194, 0x2df, 0x54, 0x1ce, 0x54, 0x1ce, 0xff7a, 0x12a, -0xff7a, 0x12a, 0xfdf6, 0xffe2, 0xfdf6, 0xffe2, 0xfb5f, 0xfd8f, 0xfb5f, 0xfd8f, 0xf8c3, -0xfb3f, 0xf8c3, 0xfb3f, 0xf8c3, 0xfb3f, 0xf60e, 0xf8dd, 0xf60e, 0xf8dd, 0xf3ba, 0xf6e3, -0xf3ba, 0xf6e3, 0xf0c7, 0xf450, 0xf0c7, 0xf450, 0xec7c, 0xf068, 0xec7c, 0xf068, 0xeace, -0xef20, 0xeace, 0xef20, 0xeace, 0xef20, 0xe896, 0xed4f, 0xe896, 0xed4f, 0xe4c1, 0xe9df, -0xe4c1, 0xe9df, 0xe372, 0xe8f0, 0xe372, 0xe8f0, 0xe1fe, 0xe7d5, 0xe1fe, 0xe7d5, 0xdfae, -0xe5d5, 0xdfae, 0xe5d5, 0xdda5, 0xe410, 0xdda5, 0xe410, 0xdda5, 0xe410, 0xdcfe, 0xe39e, -0xdcfe, 0xe39e, 0xdb99, 0xe25e, 0xdb99, 0xe25e, 0xd96c, 0xe045, 0xd96c, 0xe045, 0xd8c7, -0xdfa2, 0xd8c7, 0xdfa2, 0xd7c5, 0xde8f, 0xd7c5, 0xde8f, 0xd76f, 0xde16, 0xd76f, 0xde16, -0xd76f, 0xde16, 0xd7d4, 0xde47, 0xd7d4, 0xde47, 0xd7f3, 0xde21, 0xd7f3, 0xde21, 0xd7b5, -0xdd92, 0xd7b5, 0xdd92, 0xd83b, 0xddba, 0xd83b, 0xddba, 0xda6d, 0xdf85, 0xda6d, 0xdf85, -0xda6d, 0xdf85, 0xdc3c, 0xe0e6, 0xdc3c, 0xe0e6, 0xdd8d, 0xe1c8, 0xdd8d, 0xe1c8, 0xe02e, -0xe3f9, 0xe02e, 0xe3f9, 0xe38c, 0xe6ea, 0xe38c, 0xe6ea, 0xe6a8, 0xe99e, 0xe6a8, 0xe99e, -0xe98f, 0xec25, 0xe98f, 0xec25, 0xe98f, 0xec25, 0xeb11, 0xed50, 0xeb11, 0xed50, 0xec7b, -0xee6e, 0xec7b, 0xee6e, 0xee5a, 0xf00c, 0xee5a, 0xf00c, 0xf056, 0xf1d2, 0xf056, 0xf1d2, -0xf1e7, 0xf338, 0xf1e7, 0xf338, 0xf1eb, 0xf31a, 0xf1eb, 0xf31a, 0xf1eb, 0xf31a, 0xf33e, -0xf454, 0xf33e, 0xf454, 0xf3e1, 0xf4e4, 0xf3e1, 0xf4e4, 0xf2c1, 0xf3b5, 0xf2c1, 0xf3b5, -0xf2ee, 0xf3d4, 0xf2ee, 0xf3d4, 0xf2b8, 0xf38f, 0xf2b8, 0xf38f, 0xf2b8, 0xf38f, 0xf30d, -0xf3d2, 0xf30d, 0xf3d2, 0xf408, 0xf4b4, 0xf408, 0xf4b4, 0xf473, 0xf4ff, 0xf473, 0xf4ff, -0xf4e7, 0xf54b, 0xf4e7, 0xf54b, 0xf4b5, 0xf4e5, 0xf4b5, 0xf4e5, 0xf5ae, 0xf59f, 0xf5ae, -0xf59f, 0xf5ae, 0xf59f, 0xf697, 0xf63f, 0xf697, 0xf63f, 0xf7c7, 0xf71b, 0xf7c7, 0xf71b, -0xfb99, 0xfa8f, 0xfb99, 0xfa8f, 0xff0d, 0xfd9e, 0xff0d, 0xfd9e, 0x228, 0x4e, 0x228, -0x4e, 0x58e, 0x346, 0x58e, 0x346, 0x58e, 0x346, 0x8a4, 0x5ec, 0x8a4, 0x5ec, -0xbd5, 0x8af, 0xbd5, 0x8af, 0xe85, 0xaf6, 0xe85, 0xaf6, 0x10da, 0xce9, 0x10da, -0xce9, 0x136c, 0xf24, 0x136c, 0xf24, 0x136c, 0xf24, 0x15ba, 0x1127, 0x15ba, 0x1127, -0x1816, 0x1345, 0x1816, 0x1345, 0x194c, 0x144d, 0x194c, 0x144d, 0x18d8, 0x13ba, 0x18d8, -0x13ba, 0x19da, 0x14af, 0x19da, 0x14af, 0x1aa0, 0x1578, 0x1aa0, 0x1578, 0x1aa0, 0x1578, -0x1a94, 0x1580, 0x1a94, 0x1580, 0x1ac0, 0x15d0, 0x1ac0, 0x15d0, 0x19a2, 0x14e3, 0x19a2, -0x14e3, 0x1824, 0x13a2, 0x1824, 0x13a2, 0x179f, 0x1365, 0x179f, 0x1365, 0x179f, 0x1365, -0x17aa, 0x13c1, 0x17aa, 0x13c1, 0x160f, 0x127e, 0x160f, 0x127e, 0x14fc, 0x11c6, 0x14fc, -0x11c6, 0x14d5, 0x11fe, 0x14d5, 0x11fe, 0x12df, 0x1068, 0x12df, 0x1068, 0x1168, 0xf4f, -0x1168, 0xf4f, 0x1168, 0xf4f, 0x109f, 0xee3, 0x109f, 0xee3, 0xed8, 0xd75, 0xed8, -0xd75, 0xd0c, 0xbff, 0xd0c, 0xbff, 0xc1a, 0xb5d, 0xc1a, 0xb5d, 0xbc2, 0xb52, -0xbc2, 0xb52, 0xa77, 0xa4c, 0xa77, 0xa4c, 0xa77, 0xa4c, 0x7e2, 0x7f9, 0x7e2, -0x7f9, 0x674, 0x6c7, 0x674, 0x6c7, 0x566, 0x5f0, 0x566, 0x5f0, 0x474, 0x531, -0x474, 0x531, 0x35d, 0x449, 0x35d, 0x449, 0x35d, 0x449, 0x145, 0x25a, 0x145, -0x25a, 0x48, 0x183, 0x48, 0x183, 0xfef2, 0x4f, 0xfef2, 0x4f, 0xfdd2, 0xff4c, -0xfdd2, 0xff4c, 0xfc8b, 0xfe1e, 0xfc8b, 0xfe1e, 0xfa89, 0xfc32, 0xfa89, 0xfc32, 0xfa89, -0xfc32, 0xfa2f, 0xfbe7, 0xfa2f, 0xfbe7, 0xf95c, 0xfb20, 0xf95c, 0xfb20, 0xf940, 0xfb09, -0xf940, 0xfb09, 0xf969, 0xfb32, 0xf969, 0xfb32, 0xf7fe, 0xf9c1, 0xf7fe, 0xf9c1, 0xf7e4, -0xf99a, 0xf7e4, 0xf99a, 0xf7e4, 0xf99a, 0xf83d, 0xf9e1, 0xf83d, 0xf9e1, 0xf892, 0xfa1e, -0xf892, 0xfa1e, 0xf8f7, 0xfa65, 0xf8f7, 0xfa65, 0xf934, 0xfa7f, 0xf934, 0xfa7f, 0xfa50, -0xfb74, 0xfa50, 0xfb74, 0xfa50, 0xfb74, 0xfa8b, 0xfb83, 0xfa8b, 0xfb83, 0xfadf, 0xfba8, -0xfadf, 0xfba8, 0xfb8f, 0xfc27, 0xfb8f, 0xfc27, 0xfbca, 0xfc2f, 0xfbca, 0xfc2f, 0xfd1f, -0xfd51, 0xfd1f, 0xfd51, 0xfe69, 0xfe69, 0xfe69, 0xfe69, 0xfe69, 0xfe69, 0xfed9, 0xfea7, -0xfed9, 0xfea7, 0xffb6, 0xff56, 0xffb6, 0xff56, 0xe2, 0x56, 0xe2, 0x56, 0xb1, -0xfffc, 0xb1, 0xfffc, 0xa9, 0xffd0, 0xa9, 0xffd0, 0x1ed, 0xf4, 0x1ed, 0xf4, -0x1ed, 0xf4, 0x3bc, 0x2a7, 0x3bc, 0x2a7, 0x486, 0x35a, 0x486, 0x35a, 0x4b3, -0x374, 0x4b3, 0x374, 0x67f, 0x532, 0x67f, 0x532, 0x70e, 0x5b6, 0x70e, 0x5b6, -0x70e, 0x5b6, 0x78b, 0x62d, 0x78b, 0x62d, 0x8e1, 0x780, 0x8e1, 0x780, 0x954, -0x7f4, 0x954, 0x7f4, 0x993, 0x836, 0x993, 0x836, 0x9ed, 0x897, 0x9ed, 0x897, -0xaf7, 0x9ab, 0xaf7, 0x9ab, 0xaf7, 0x9ab, 0xa39, 0x8f9, 0xa39, 0x8f9, 0x955, -0x824, 0x955, 0x824, 0x95f, 0x83f, 0x95f, 0x83f, 0x86a, 0x75e, 0x86a, 0x75e, -0x8c1, 0x7cb, 0x8c1, 0x7cb, 0x891, 0x7b4, 0x891, 0x7b4, 0x891, 0x7b4, 0x6b8, -0x5f5, 0x6b8, 0x5f5, 0x565, 0x4bf, 0x565, 0x4bf, 0x3d3, 0x34b, 0x3d3, 0x34b, -0x257, 0x1ef, 0x257, 0x1ef, 0xab, 0x63, 0xab, 0x63, 0xab, 0x63, 0xff14, -0xfeec, 0xff14, 0xfeec, 0xfe58, 0xfe4f, 0xfe58, 0xfe4f, 0xfe2a, 0xfe3e, 0xfe2a, 0xfe3e, -0xff08, 0xff37, 0xff08, 0xff37, 0xfec8, 0xff0f, 0xfec8, 0xff0f, 0xfe84, 0xfedd, 0xfe84, -0xfedd, 0xfe84, 0xfedd, 0xfe41, 0xfea7, 0xfe41, 0xfea7, 0xfd6f, 0xfddc, 0xfd6f, 0xfddc, -0xfdfe, 0xfe6a, 0xfdfe, 0xfe6a, 0xfd57, 0xfdba, 0xfd57, 0xfdba, 0xfd42, 0xfd95, 0xfd42, -0xfd95, 0xfe59, 0xfe92, 0xfe59, 0xfe92, 0xfe59, 0xfe92, 0xfe47, 0xfe5f, 0xfe47, 0xfe5f, -0xfede, 0xfecd, 0xfede, 0xfecd, 0xff0d, 0xfecc, 0xff0d, 0xfecc, 0xfec8, 0xfe51, 0xfec8, -0xfe51, 0xffa4, 0xfef2, 0xffa4, 0xfef2, 0xffa4, 0xfef2, 0xfffe, 0xff0e, 0xfffe, 0xff0e, -0xbf, 0xff8d, 0xbf, 0xff8d, 0x1e0, 0x6d, 0x1e0, 0x6d, 0x277, 0xc3, 0x277, -0xc3, 0x3eb, 0x1f9, 0x3eb, 0x1f9, 0x56a, 0x33e, 0x56a, 0x33e, 0x56a, 0x33e, -0x855, 0x5f4, 0x855, 0x5f4, 0xb8c, 0x8fd, 0xb8c, 0x8fd, 0xd47, 0xa90, 0xd47, -0xa90, 0xfda, 0xd05, 0xfda, 0xd05, 0x1205, 0xf19, 0x1205, 0xf19, 0x1368, 0x106c, -0x1368, 0x106c, 0x1368, 0x106c, 0x1579, 0x1277, 0x1579, 0x1277, 0x172d, 0x142c, 0x172d, -0x142c, 0x181c, 0x1522, 0x181c, 0x1522, 0x1871, 0x1584, 0x1871, 0x1584, 0x1863, 0x1588, -0x1863, 0x1588, 0x1863, 0x1588, 0x1894, 0x15ce, 0x1894, 0x15ce, 0x176a, 0x14ba, 0x176a, -0x14ba, 0x16a5, 0x140c, 0x16a5, 0x140c, 0x16b0, 0x142d, 0x16b0, 0x142d, 0x1596, 0x1328, -0x1596, 0x1328, 0x15c0, 0x1363, 0x15c0, 0x1363, 0x15c0, 0x1363, 0x15db, 0x138b, 0x15db, -0x138b, 0x14a8, 0x1261, 0x14a8, 0x1261, 0x1371, 0x112f, 0x1371, 0x112f, 0x1364, 0x1123, -0x1364, 0x1123, 0x13b4, 0x116f, 0x13b4, 0x116f, 0x128b, 0x103f, 0x128b, 0x103f, 0x128b, -0x103f, 0x1263, 0x100b, 0x1263, 0x100b, 0x131d, 0x10b8, 0x131d, 0x10b8, 0x12ec, 0x1078, -0x12ec, 0x1078, 0x137c, 0x10f8, 0x137c, 0x10f8, 0x1500, 0x126d, 0x1500, 0x126d, 0x1500, -0x126d, 0x1589, 0x12e9, 0x1589, 0x12e9, 0x14bd, 0x1212, 0x14bd, 0x1212, 0x14a1, 0x11ee, -0x14a1, 0x11ee, 0x15b6, 0x12ff, 0x15b6, 0x12ff, 0x15ae, 0x12f9, 0x15ae, 0x12f9, 0x151d, -0x126f, 0x151d, 0x126f, 0x151d, 0x126f, 0x14c6, 0x1226, 0x14c6, 0x1226, 0x1581, 0x12f4, -0x1581, 0x12f4, 0x1646, 0x13d3, 0x1646, 0x13d3, 0x150f, 0x12bc, 0x150f, 0x12bc, 0x152b, -0x12fe, 0x152b, 0x12fe, 0x1439, 0x1237, 0x1439, 0x1237, 0x1439, 0x1237, 0x123f, 0x106e, -0x123f, 0x106e, 0x11df, 0x1046, 0x11df, 0x1046, 0xffd, 0xe9f, 0xffd, 0xe9f, 0xef8, -0xdda, 0xef8, 0xdda, 0xea7, 0xdcd, 0xea7, 0xdcd, 0xea7, 0xdcd, 0xcc5, 0xc32, -0xcc5, 0xc32, 0xba0, 0xb57, 0xba0, 0xb57, 0x9c7, 0x9cb, 0x9c7, 0x9cb, 0x710, -0x761, 0x710, 0x761, 0x55d, 0x5fe, 0x55d, 0x5fe, 0x31a, 0x40a, 0x31a, 0x40a, -0x31a, 0x40a, 0xf7, 0x235, 0xf7, 0x235, 0xfe38, 0xffc4, 0xfe38, 0xffc4, 0xfb3e, -0xfd15, 0xfb3e, 0xfd15, 0xf92d, 0xfb4c, 0xf92d, 0xfb4c, 0xf605, 0xf868, 0xf605, 0xf868, -0xf605, 0xf868, 0xf427, 0xf6c9, 0xf427, 0xf6c9, 0xf2de, 0xf5b7, 0xf2de, 0xf5b7, 0xf0f2, -0xf3fd, 0xf0f2, 0xf3fd, 0xef97, 0xf2ca, 0xef97, 0xf2ca, 0xeda5, 0xf0f7, 0xeda5, 0xf0f7, -0xebf7, 0xef5e, 0xebf7, 0xef5e, 0xebf7, 0xef5e, 0xead7, 0xee48, 0xead7, 0xee48, 0xe90d, -0xec7e, 0xe90d, 0xec7e, 0xe722, 0xea86, 0xe722, 0xea86, 0xe635, 0xe981, 0xe635, 0xe981, -0xe6d2, 0xe9fb, 0xe6d2, 0xe9fb, 0xe80a, 0xeb04, 0xe80a, 0xeb04, 0xe80a, 0xeb04, 0xe869, -0xeb2c, 0xe869, 0xeb2c, 0xe9cb, 0xec4e, 0xe9cb, 0xec4e, 0xebaa, 0xede4, 0xebaa, 0xede4, -0xec5e, 0xee4a, 0xec5e, 0xee4a, 0xedfd, 0xef97, 0xedfd, 0xef97, 0xedfd, 0xef97, 0xf05b, -0xf1a0, 0xf05b, 0xf1a0, 0xf1cc, 0xf2bb, 0xf1cc, 0xf2bb, 0xf32e, 0xf3ca, 0xf32e, 0xf3ca, -0xf54b, 0xf596, 0xf54b, 0xf596, 0xf69d, 0xf69b, 0xf69d, 0xf69b, 0xf713, 0xf6cb, 0xf713, -0xf6cb, 0xf713, 0xf6cb, 0xf7a4, 0xf71d, 0xf7a4, 0xf71d, 0xf7fd, 0xf73e, 0xf7fd, 0xf73e, -0xf83b, 0xf74e, 0xf83b, 0xf74e, 0xf957, 0xf845, 0xf957, 0xf845, 0xfa39, 0xf90b, 0xfa39, -0xf90b, 0xfa11, 0xf8d1, 0xfa11, 0xf8d1, 0xfa11, 0xf8d1, 0xf993, 0xf849, 0xf993, 0xf849, -0xfa9d, 0xf950, 0xfa9d, 0xf950, 0xfc71, 0xfb28, 0xfc71, 0xfb28, 0xfcbc, 0xfb7e, 0xfcbc, -0xfb7e, 0xfdee, 0xfcbf, 0xfdee, 0xfcbf, 0xfdee, 0xfcbf, 0xfe9e, 0xfd82, 0xfe9e, 0xfd82, -0xffdb, 0xfed5, 0xffdb, 0xfed5, 0x1e4, 0xf6, 0x1e4, 0xf6, 0x2b3, 0x1de, 0x2b3, -0x1de, 0x459, 0x39e, 0x459, 0x39e, 0x461, 0x3c1, 0x461, 0x3c1, 0x461, 0x3c1, -0x518, 0x494, 0x518, 0x494, 0x63d, 0x5d6, 0x63d, 0x5d6, 0x517, 0x4ce, 0x517, -0x4ce, 0x518, 0x4f0, 0x518, 0x4f0, 0x60d, 0x60a, 0x60d, 0x60a, 0x631, 0x656, -0x631, 0x656, 0x631, 0x656, 0x567, 0x5b8, 0x567, 0x5b8, 0x411, 0x495, 0x411, -0x495, 0x2e5, 0x3a2, 0x2e5, 0x3a2, 0x21b, 0x318, 0x21b, 0x318, 0x7a, 0x1bd, -0x7a, 0x1bd, 0x7a, 0x1bd, 0xfdfa, 0xff8c, 0xfdfa, 0xff8c, 0xfae9, 0xfcd0, 0xfae9, -0xfcd0, 0xf800, 0xfa42, 0xf800, 0xfa42, 0xf537, 0xf7da, 0xf537, 0xf7da, 0xf22b, 0xf531, -0xf22b, 0xf531, 0xf021, 0xf38d, 0xf021, 0xf38d, 0xf021, 0xf38d, 0xedd4, 0xf1a4, 0xedd4, -0xf1a4, 0xeba0, 0xefd4, 0xeba0, 0xefd4, 0xea39, 0xeecb, 0xea39, 0xeecb, 0xe7bc, 0xeca5, -0xe7bc, 0xeca5, 0xe566, 0xea9e, 0xe566, 0xea9e, 0xe3af, 0xe92a, 0xe3af, 0xe92a, 0xe3af, -0xe92a, 0xe198, 0xe749, 0xe198, 0xe749, 0xdfa6, 0xe57e, 0xdfa6, 0xe57e, 0xdd60, 0xe350, -0xdd60, 0xe350, 0xdc40, 0xe238, 0xdc40, 0xe238, 0xdb1d, 0xe10c, 0xdb1d, 0xe10c, 0xdb1d, -0xe10c, 0xd916, 0xdeeb, 0xd916, 0xdeeb, 0xd8d0, 0xde7c, 0xd8d0, 0xde7c, 0xd8e2, 0xde56, -0xd8e2, 0xde56, 0xd8fe, 0xde2e, 0xd8fe, 0xde2e, 0xd9ba, 0xde9b, 0xd9ba, 0xde9b, 0xda69, -0xdef3, 0xda69, 0xdef3, 0xda69, 0xdef3, 0xdab8, 0xdee5, 0xdab8, 0xdee5, 0xdc2b, 0xdff8, -0xdc2b, 0xdff8, 0xded8, 0xe245, 0xded8, 0xe245, 0xe09d, 0xe3ab, 0xe09d, 0xe3ab, 0xe23f, -0xe4f3, 0xe23f, 0xe4f3, 0xe493, 0xe6f4, 0xe493, 0xe6f4, 0xe493, 0xe6f4, 0xe677, 0xe88d, -0xe677, 0xe88d, 0xe7dd, 0xe9b1, 0xe7dd, 0xe9b1, 0xea2c, 0xebc9, 0xea2c, 0xebc9, 0xec63, -0xedd5, 0xec63, 0xedd5, 0xee16, 0xef66, 0xee16, 0xef66, 0xee16, 0xef66, 0xeeaa, 0xefe3, -0xeeaa, 0xefe3, 0xef8a, 0xf0b4, 0xef8a, 0xf0b4, 0xf117, 0xf23a, 0xf117, 0xf23a, 0xf13f, -0xf260, 0xf13f, 0xf260, 0xf172, 0xf295, 0xf172, 0xf295, 0xf176, 0xf29d, 0xf176, 0xf29d, -0xf176, 0xf29d, 0xf2cf, 0xf3f8, 0xf2cf, 0xf3f8, 0xf45f, 0xf588, 0xf45f, 0xf588, 0xf4d7, -0xf5fb, 0xf4d7, 0xf5fb, 0xf530, 0xf647, 0xf530, 0xf647, 0xf53e, 0xf641, 0xf53e, 0xf641, -0xf65d, 0xf741, 0xf65d, 0xf741, 0xf65d, 0xf741, 0xf68d, 0xf748, 0xf68d, 0xf748, 0xf6ea, -0xf771, 0xf6ea, 0xf771, 0xf97b, 0xf9c3, 0xf97b, 0xf9c3, 0xfc3e, 0xfc3d, 0xfc3e, 0xfc3d, -0xff00, 0xfead, 0xff00, 0xfead, 0xff00, 0xfead, 0x285, 0x1d8, 0x285, 0x1d8, 0x5c4, -0x4b7, 0x5c4, 0x4b7, 0x868, 0x6f8, 0x868, 0x6f8, 0xaf6, 0x920, 0xaf6, 0x920, -0xdd5, 0xb9a, 0xdd5, 0xb9a, 0x1036, 0xd99, 0x1036, 0xd99, 0x1036, 0xd99, 0x1109, -0xe0e, 0x1109, 0xe0e, 0x133e, 0xfee, 0x133e, 0xfee, 0x15cb, 0x122f, 0x15cb, 0x122f, -0x1722, 0x1346, 0x1722, 0x1346, 0x18fb, 0x14ec, 0x18fb, 0x14ec, 0x19dd, 0x15a8, 0x19dd, -0x15a8, 0x19dd, 0x15a8, 0x1a98, 0x164d, 0x1a98, 0x164d, 0x1b37, 0x16e4, 0x1b37, 0x16e4, -0x1a61, 0x1616, 0x1a61, 0x1616, 0x1a25, 0x15f0, 0x1a25, 0x15f0, 0x197d, 0x156e, 0x197d, -0x156e, 0x197d, 0x156e, 0x185f, 0x1481, 0x185f, 0x1481, 0x17ca, 0x1429, 0x17ca, 0x1429, -0x16b4, 0x135a, 0x16b4, 0x135a, 0x169c, 0x1392, 0x169c, 0x1392, 0x156c, 0x12b8, 0x156c, -0x12b8, 0x12fa, 0x10a1, 0x12fa, 0x10a1, 0x12fa, 0x10a1, 0x121f, 0x1024, 0x121f, 0x1024, -0x113c, 0xf9f, 0x113c, 0xf9f, 0xf44, 0xe05, 0xf44, 0xe05, 0xdc3, 0xce1, 0xdc3, -0xce1, 0xc59, 0xbce, 0xc59, 0xbce, 0x9eb, 0x9b4, 0x9eb, 0x9b4, 0x9eb, 0x9b4, -0x7e5, 0x7fd, 0x7e5, 0x7fd, 0x679, 0x6d8, 0x679, 0x6d8, 0x548, 0x5e8, 0x548, -0x5e8, 0x326, 0x3ff, 0x326, 0x3ff, 0x16f, 0x27a, 0x16f, 0x27a, 0x16f, 0x27a, -0x1b, 0x152, 0x1b, 0x152, 0xfeca, 0x25, 0xfeca, 0x25, 0xfea9, 0x22, 0xfea9, -0x22, 0xfd28, 0xfeb9, 0xfd28, 0xfeb9, 0xfb60, 0xfd03, 0xfb60, 0xfd03, 0xf955, 0xfb06, -0xf955, 0xfb06, 0xf955, 0xfb06, 0xf88f, 0xfa49, 0xf88f, 0xfa49, 0xf8b2, 0xfa71, 0xf8b2, -0xfa71, 0xf7b7, 0xf979, 0xf7b7, 0xf979, 0xf750, 0xf910, 0xf750, 0xf910, 0xf6e8, 0xf8a5, -0xf6e8, 0xf8a5, 0xf6e8, 0xf8a5, 0xf7b3, 0xf96a, 0xf7b3, 0xf96a, 0xf83d, 0xf9ec, 0xf83d, -0xf9ec, 0xf8c7, 0xfa6c, 0xf8c7, 0xfa6c, 0xf8f7, 0xfa90, 0xf8f7, 0xfa90, 0xf8a0, 0xfa29, -0xf8a0, 0xfa29, 0xfa4e, 0xfbc6, 0xfa4e, 0xfbc6, 0xfa4e, 0xfbc6, 0xfab3, 0xfc17, 0xfab3, -0xfc17, 0xfaa6, 0xfbf3, 0xfaa6, 0xfbf3, 0xfb88, 0xfcbb, 0xfb88, 0xfcbb, 0xfc0c, 0xfd22, -0xfc0c, 0xfd22, 0xfdc9, 0xfec0, 0xfdc9, 0xfec0, 0xff01, 0xffd4, 0xff01, 0xffd4, 0xff01, -0xffd4, 0xfedd, 0xff8a, 0xfedd, 0xff8a, 0xff90, 0x13, 0xff90, 0x13, 0xa2, 0xfa, -0xa2, 0xfa, 0x12d, 0x158, 0x12d, 0x158, 0x12c, 0x128, 0x12c, 0x128, 0x12c, -0x128, 0x1d1, 0x19e, 0x1d1, 0x19e, 0x342, 0x2e0, 0x342, 0x2e0, 0x3bd, 0x32d, -0x3bd, 0x32d, 0x3ef, 0x333, 0x3ef, 0x333, 0x5c4, 0x4e0, 0x5c4, 0x4e0, 0x72f, -0x627, 0x72f, 0x627, 0x72f, 0x627, 0x7e1, 0x6b9, 0x7e1, 0x6b9, 0x9ae, 0x86d, -0x9ae, 0x86d, 0xa77, 0x924, 0xa77, 0x924, 0xaf8, 0x999, 0xaf8, 0x999, 0xaea, -0x988, 0xaea, 0x988, 0xaea, 0x98c, 0xaea, 0x98c, 0xaea, 0x98c, 0xb4f, 0x9fe, -0xb4f, 0x9fe, 0xacb, 0x98f, 0xacb, 0x98f, 0xb75, 0xa55, 0xb75, 0xa55, 0xaa2, -0x9a6, 0xaa2, 0x9a6, 0x8e0, 0x80d, 0x8e0, 0x80d, 0x8e0, 0x80d, 0x86c, 0x7c8, -0x86c, 0x7c8, 0x79f, 0x72e, 0x79f, 0x72e, 0x60d, 0x5d3, 0x60d, 0x5d3, 0x43c, -0x43a, 0x43c, 0x43a, 0x22a, 0x260, 0x22a, 0x260, 0xff9d, 0xa, 0xff9d, 0xa, -0xff9d, 0xa, 0xfdf3, 0xfe94, 0xfdf3, 0xfe94, 0xfd67, 0xfe39, 0xfd67, 0xfe39, 0xfca7, -0xfda4, 0xfca7, 0xfda4, 0xfbaf, 0xfcd1, 0xfbaf, 0xfcd1, 0xfbc0, 0xfd00, 0xfbc0, 0xfd00, -0xfb2e, 0xfc83, 0xfb2e, 0xfc83, 0xfb2e, 0xfc83, 0xfa8f, 0xfbf1, 0xfa8f, 0xfbf1, 0xfa85, -0xfbeb, 0xfa85, 0xfbeb, 0xfa41, 0xfba3, 0xfa41, 0xfba3, 0xf9b7, 0xfb0a, 0xf9b7, 0xfb0a, -0xf897, 0xf9d4, 0xf897, 0xf9d4, 0xf897, 0xf9d4, 0xf960, 0xfa7e, 0xf960, 0xfa7e, 0xfa42, -0xfb3a, 0xfa42, 0xfb3a, 0xfa46, 0xfb10, 0xfa46, 0xfb10, 0xfa20, 0xfab8, 0xfa20, 0xfab8, -0xfad2, 0xfb32, 0xfad2, 0xfb32, 0xfcc7, 0xfceb, 0xfcc7, 0xfceb, 0xfcc7, 0xfceb, 0xfdc7, -0xfdac, 0xfdc7, 0xfdac, 0xff1d, 0xfec1, 0xff1d, 0xfec1, 0xffa8, 0xff0b, 0xffa8, 0xff0b, -0x50, 0xff70, 0x50, 0xff70, 0x266, 0x146, 0x266, 0x146, 0x38a, 0x22c, 0x38a, -0x22c, 0x38a, 0x22c, 0x559, 0x3be, 0x559, 0x3be, 0x7fc, 0x629, 0x7fc, 0x629, -0xa18, 0x80f, 0xa18, 0x80f, 0xc90, 0xa56, 0xc90, 0xa56, 0xf05, 0xc9d, 0xf05, -0xc9d, 0xf05, 0xc9d, 0x1103, 0xe73, 0x1103, 0xe73, 0x12d8, 0x1024, 0x12d8, 0x1024, -0x1466, 0x1193, 0x1466, 0x1193, 0x1585, 0x1297, 0x1585, 0x1297, 0x1682, 0x137d, 0x1682, -0x137d, 0x170b, 0x13f3, 0x170b, 0x13f3, 0x170b, 0x13f3, 0x1743, 0x141c, 0x1743, 0x141c, -0x1797, 0x1465, 0x1797, 0x1465, 0x172f, 0x13f5, 0x172f, 0x13f5, 0x16c9, 0x138a, 0x16c9, -0x138a, 0x1671, 0x132f, 0x1671, 0x132f, 0x171f, 0x13db, 0x171f, 0x13db, 0x171f, 0x13db, -0x173b, 0x13f8, 0x173b, 0x13f8, 0x15b1, 0x126f, 0x15b1, 0x126f, 0x1532, 0x11f2, 0x1532, -0x11f2, 0x14ce, 0x1190, 0x14ce, 0x1190, 0x14c8, 0x118d, 0x14c8, 0x118d, 0x14c8, 0x118d, -0x1337, 0xffc, 0x1337, 0xffc, 0x127b, 0xf41, 0x127b, 0xf41, 0x13c1, 0x1087, 0x13c1, -0x1087, 0x12df, 0xfa3, 0x12df, 0xfa3, 0x12cf, 0xf90, 0x12cf, 0xf90, 0x13e8, 0x10a5, -0x13e8, 0x10a5, 0x13e8, 0x10a5, 0x146f, 0x1126, 0x146f, 0x1126, 0x140a, 0x10bb, 0x140a, -0x10bb, 0x13d5, 0x1080, 0x13d5, 0x1080, 0x13fd, 0x10a2, 0x13fd, 0x10a2, 0x1359, 0xff8, -0x1359, 0xff8, 0x1346, 0xfe1, 0x1346, 0xfe1, 0x1346, 0xfe1, 0x13f7, 0x1091, 0x13f7, -0x1091, 0x1404, 0x109f, 0x1404, 0x109f, 0x1394, 0x1035, 0x1394, 0x1035, 0x138b, 0x1037, -0x138b, 0x1037, 0x12dd, 0xf9a, 0x12dd, 0xf9a, 0x12dd, 0xf9a, 0x1239, 0xf0d, 0x1239, -0xf0d, 0x1198, 0xe8c, 0x1198, 0xe8c, 0x1090, 0xdab, 0x1090, 0xdab, 0xeef, 0xc3b, -0xeef, 0xc3b, 0xd67, 0xaec, 0xd67, 0xaec, 0xd22, 0xae9, 0xd22, 0xae9, 0xd22, -0xae9, 0xc5e, 0xa70, 0xc5e, 0xa70, 0xb04, 0x969, 0xb04, 0x969, 0x962, 0x821, -0x962, 0x821, 0x871, 0x792, 0x871, 0x792, 0x790, 0x717, 0x790, 0x717, 0x614, -0x606, 0x614, 0x606, 0x614, 0x606, 0x4d3, 0x532, 0x4d3, 0x532, 0x1cf, 0x29a, -0x1cf, 0x29a, 0xfeca, 0x1, 0xfeca, 0x1, 0xfcef, 0xfe8f, 0xfcef, 0xfe8f, 0xf9df, -0xfbe1, 0xf9df, 0xfbe1, 0xf9df, 0xfbe1, 0xf724, 0xf982, 0xf724, 0xf982, 0xf523, 0xf7d5, -0xf523, 0xf7d5, 0xf388, 0xf683, 0xf388, 0xf683, 0xf2c1, 0xf5f9, 0xf2c1, 0xf5f9, 0xf1a7, -0xf50f, 0xf1a7, 0xf50f, 0xf00b, 0xf396, 0xf00b, 0xf396, 0xf00b, 0xf396, 0xed81, 0xf121, -0xed81, 0xf121, 0xeb73, 0xef19, 0xeb73, 0xef19, 0xe9d8, 0xed76, 0xe9d8, 0xed76, 0xe81f, -0xeba9, 0xe81f, 0xeba9, 0xe7ca, 0xeb33, 0xe7ca, 0xeb33, 0xe872, 0xebad, 0xe872, 0xebad, -0xe872, 0xebad, 0xe91c, 0xec21, 0xe91c, 0xec21, 0xe9e8, 0xecae, 0xe9e8, 0xecae, 0xeb86, -0xee06, 0xeb86, 0xee06, 0xed1e, 0xef53, 0xed1e, 0xef53, 0xeed9, 0xf0bf, 0xeed9, 0xf0bf, -0xeed9, 0xf0bf, 0xefeb, 0xf182, 0xefeb, 0xf182, 0xf1b8, 0xf2ff, 0xf1b8, 0xf2ff, 0xf3de, -0xf4d8, 0xf3de, 0xf4d8, 0xf4d7, 0xf586, 0xf4d7, 0xf586, 0xf728, 0xf791, 0xf728, 0xf791, -0xf83f, 0xf866, 0xf83f, 0xf866, 0xf83f, 0xf866, 0xf936, 0xf921, 0xf936, 0xf921, 0xfa48, -0xf9fd, 0xfa48, 0xf9fd, 0xf9b9, 0xf93e, 0xf9b9, 0xf93e, 0xfa46, 0xf9a0, 0xfa46, 0xf9a0, -0xfacc, 0xfa01, 0xfacc, 0xfa01, 0xfacc, 0xfa01, 0xfa73, 0xf988, 0xfa73, 0xf988, 0xfac3, -0xf9bd, 0xfac3, 0xf9bd, 0xfbfe, 0xfadf, 0xfbfe, 0xfadf, 0xfc80, 0xfb4c, 0xfc80, 0xfb4c, -0xfc9b, 0xfb52, 0xfc9b, 0xfb52, 0xfdd5, 0xfc7b, 0xfdd5, 0xfc7b, 0xfdd5, 0xfc7b, 0xfece, -0xfd63, 0xfece, 0xfd63, 0xfedf, 0xfd65, 0xfedf, 0xfd65, 0x4a, 0xfec1, 0x4a, 0xfec1, -0x1c7, 0x30, 0x1c7, 0x30, 0x23e, 0x9b, 0x23e, 0x9b, 0x2c0, 0x113, 0x2c0, -0x113, 0x2c0, 0x113, 0x348, 0x195, 0x348, 0x195, 0x401, 0x24b, 0x401, 0x24b, -0x3b7, 0x203, 0x3b7, 0x203, 0x4c8, 0x31d, 0x4c8, 0x31d, 0x64d, 0x4b2, 0x64d, -0x4b2, 0x64d, 0x4b2, 0x667, 0x4e5, 0x667, 0x4e5, 0x638, 0x4d8, 0x638, 0x4d8, -0x513, 0x3df, 0x513, 0x3df, 0x53f, 0x442, 0x53f, 0x442, 0x537, 0x47b, 0x537, -0x47b, 0x418, 0x3a9, 0x418, 0x3a9, 0x418, 0x3a9, 0x2f5, 0x2dd, 0x2f5, 0x2dd, -0xb, 0x53, 0xb, 0x53, 0xfdc1, 0xfe71, 0xfdc1, 0xfe71, 0xfb80, 0xfc9f, 0xfb80, -0xfc9f, 0xf7de, 0xf971, 0xf7de, 0xf971, 0xf588, 0xf791, 0xf588, 0xf791, 0xf588, 0xf791, -0xf370, 0xf5f0, 0xf370, 0xf5f0, 0xf1a1, 0xf496, 0xf1a1, 0xf496, 0xf024, 0xf389, 0xf024, -0xf389, 0xee2b, 0xf1fa, 0xee2b, 0xf1fa, 0xebca, 0xeff9, 0xebca, 0xeff9, 0xebca, 0xeff9, -0xe8d0, 0xed55, 0xe8d0, 0xed55, 0xe716, 0xebe4, 0xe716, 0xebe4, 0xe500, 0xea08, 0xe500, -0xea08, 0xe208, 0xe73c, 0xe208, 0xe73c, 0xdffe, 0xe54c, 0xdffe, 0xe54c, 0xdeba, 0xe413, -0xdeba, 0xe413, 0xdeba, 0xe413, 0xdd39, 0xe28d, 0xdd39, 0xe28d, 0xdcb1, 0xe1f1, 0xdcb1, -0xe1f1, 0xdcf5, 0xe213, 0xdcf5, 0xe213, 0xdcab, 0xe19b, 0xdcab, 0xe19b, 0xdd80, 0xe237, -0xdd80, 0xe237, 0xdda3, 0xe219, 0xdda3, 0xe219, 0xdda3, 0xe219, 0xde1a, 0xe248, 0xde1a, -0xe248, 0xdedb, 0xe2be, 0xdedb, 0xe2be, 0xdff3, 0xe389, 0xdff3, 0xe389, 0xe1d5, 0xe51f, -0xe1d5, 0xe51f, 0xe1f5, 0xe4f6, 0xe1f5, 0xe4f6, 0xe1f5, 0xe4f6, 0xe3ed, 0xe6aa, 0xe3ed, -0xe6aa, 0xe691, 0xe910, 0xe691, 0xe910, 0xe7c2, 0xea0b, 0xe7c2, 0xea0b, 0xe951, 0xeb6c, -0xe951, 0xeb6c, 0xeb68, 0xed5e, 0xeb68, 0xed5e, 0xece8, 0xeec0, 0xece8, 0xeec0, 0xece8, -0xeec0, 0xed2c, 0xeeef, 0xed2c, 0xeeef, 0xee9c, 0xf052, 0xee9c, 0xf052, 0xefc6, 0xf175, -0xefc6, 0xf175, 0xf00e, 0xf1b9, 0xf00e, 0xf1b9, 0xf14c, 0xf2f8, 0xf14c, 0xf2f8, 0xf137, -0xf2e4, 0xf137, 0xf2e4, 0xf137, 0xf2e4, 0xf148, 0xf2f6, 0xf148, 0xf2f6, 0xf27c, 0xf428, -0xf27c, 0xf428, 0xf213, 0xf3b9, 0xf213, 0xf3b9, 0xf1f5, 0xf38f, 0xf1f5, 0xf38f, 0xf1fd, -0xf383, 0xf1fd, 0xf383, 0xf1fd, 0xf383, 0xf23f, 0xf3ab, 0xf23f, 0xf3ab, 0xf2ca, 0xf412, -0xf2ca, 0xf412, 0xf313, 0xf42f, 0xf313, 0xf42f, 0xf51a, 0xf601, 0xf51a, 0xf601, 0xf6ef, -0xf797, 0xf6ef, 0xf797, 0xf964, 0xf9c7, 0xf964, 0xf9c7, 0xf964, 0xf9c7, 0xfcbf, 0xfcd6, -0xfcbf, 0xfcd6, 0xff7f, 0xff44, 0xff7f, 0xff44, 0x2c3, 0x234, 0x2c3, 0x234, 0x569, -0x484, 0x569, 0x484, 0x82c, 0x6f0, 0x82c, 0x6f0, 0xb02, 0x974, 0xb02, 0x974, -0xb02, 0x974, 0xcb5, 0xad7, 0xcb5, 0xad7, 0xfbc, 0xd94, 0xfbc, 0xd94, 0x1292, -0x1029, 0x1292, 0x1029, 0x13f9, 0x1157, 0x13f9, 0x1157, 0x15d5, 0x1305, 0x15d5, 0x1305, -0x15d5, 0x1305, 0x1724, 0x1431, 0x1724, 0x1431, 0x188c, 0x1583, 0x188c, 0x1583, 0x196e, -0x165a, 0x196e, 0x165a, 0x1968, 0x1656, 0x1968, 0x1656, 0x1907, 0x1602, 0x1907, 0x1602, -0x1827, 0x153b, 0x1827, 0x153b, 0x1827, 0x153b, 0x17f4, 0x152b, 0x17f4, 0x152b, 0x1766, -0x14c8, 0x1766, 0x14c8, 0x15f4, 0x1389, 0x15f4, 0x1389, 0x1535, 0x1304, 0x1535, 0x1304, -0x14d1, 0x12de, 0x14d1, 0x12de, 0x138e, 0x11dd, 0x138e, 0x11dd, 0x138e, 0x11dd, 0x1336, -0x11c7, 0x1336, 0x11c7, 0x1244, 0x1119, 0x1244, 0x1119, 0x10e9, 0x1000, 0x10e9, 0x1000, -0x1025, 0xf7c, 0x1025, 0xf7c, 0xe79, 0xe0e, 0xe79, 0xe0e, 0xe79, 0xe0e, 0xcef, -0xcbd, 0xcef, 0xcbd, 0xa77, 0xa79, 0xa77, 0xa79, 0x906, 0x938, 0x906, 0x938, -0x72d, 0x788, 0x72d, 0x788, 0x481, 0x502, 0x481, 0x502, 0x3f5, 0x495, 0x3f5, -0x495, 0x3f5, 0x495, 0x2f0, 0x3ab, 0x2f0, 0x3ab, 0x1ae, 0x280, 0x1ae, 0x280, -0x2a, 0x10f, 0x2a, 0x10f, 0xfec2, 0xffb5, 0xfec2, 0xffb5, 0xfd05, 0xfe04, 0xfd05, -0xfe04, 0xfaf6, 0xfbff, 0xfaf6, 0xfbff, 0xfaf6, 0xfbff, 0xfae7, 0xfbf7, 0xfae7, 0xfbf7, -0xf972, 0xfa88, 0xf972, 0xfa88, 0xf740, 0xf859, 0xf740, 0xf859, 0xf764, 0xf87f, 0xf764, -0xf87f, 0xf6c9, 0xf7e6, 0xf6c9, 0xf7e6, 0xf6c9, 0xf7e6, 0xf62b, 0xf749, 0xf62b, 0xf749, -0xf683, 0xf7a0, 0xf683, 0xf7a0, 0xf698, 0xf7b3, 0xf698, 0xf7b3, 0xf679, 0xf790, 0xf679, -0xf790, 0xf5c5, 0xf6d7, 0xf5c5, 0xf6d7, 0xf677, 0xf781, 0xf677, 0xf781, 0xf677, 0xf781, -0xf762, 0xf862, 0xf762, 0xf862, 0xf7b6, 0xf8aa, 0xf7b6, 0xf8aa, 0xf877, 0xf95b, 0xf877, -0xf95b, 0xf95d, 0xfa2f, 0xf95d, 0xfa2f, 0xfb05, 0xfbc1, 0xfb05, 0xfbc1, 0xfb7c, 0xfc1e, -0xfb7c, 0xfc1e, 0xfb7c, 0xfc1e, 0xfbbe, 0xfc44, 0xfbbe, 0xfc44, 0xfd3e, 0xfda5, 0xfd3e, -0xfda5, 0xfdda, 0xfe1f, 0xfdda, 0xfe1f, 0xfefc, 0xff1d, 0xfefc, 0xff1d, 0xe5, 0xe0, -0xe5, 0xe0, 0xe5, 0xe0, 0x1a2, 0x177, 0x1a2, 0x177, 0x2ab, 0x259, 0x2ab, -0x259, 0x324, 0x2aa, 0x324, 0x2aa, 0x375, 0x2d5, 0x375, 0x2d5, 0x501, 0x43e, -0x501, 0x43e, 0x5ec, 0x507, 0x5ec, 0x507, 0x5ec, 0x507, 0x757, 0x654, 0x757, -0x654, 0x8ef, 0x7d3, 0x8ef, 0x7d3, 0x9c9, 0x898, 0x9c9, 0x898, 0xa53, 0x913, -0xa53, 0x913, 0xa69, 0x91f, 0xa69, 0x91f, 0xa69, 0x91f, 0xb36, 0x9e8, 0xb36, -0x9e8, 0xbe2, 0xa97, 0xbe2, 0xa97, 0xb53, 0xa11, 0xb53, 0xa11, 0xb6a, 0xa37, -0xb6a, 0xa37, 0xb94, 0xa75, 0xb94, 0xa75, 0xbc6, 0xac1, 0xbc6, 0xac1, 0xbc6, -0xac1, 0xc23, 0xb3b, 0xc23, 0xb3b, 0xa6d, 0x9a6, 0xa6d, 0x9a6, 0x939, 0x896, -0x939, 0x896, 0x7fa, 0x77e, 0x7fa, 0x77e, 0x60a, 0x5b5, 0x60a, 0x5b5, 0x42c, -0x3fd, 0x42c, 0x3fd, 0x42c, 0x3fd, 0x1de, 0x1d4, 0x1de, 0x1d4, 0x147, 0x161, -0x147, 0x161, 0xffe6, 0x20, 0xffe6, 0x20, 0xfedd, 0xff33, 0xfedd, 0xff33, 0xff4b, -0xffb8, 0xff4b, 0xffb8, 0xff4b, 0xffb8, 0xfe2b, 0xfeab, 0xfe2b, 0xfeab, 0xfcf4, 0xfd80, -0xfcf4, 0xfd80, 0xfc0d, 0xfca0, 0xfc0d, 0xfca0, 0xfb76, 0xfc09, 0xfb76, 0xfc09, 0xfa96, -0xfb22, 0xfa96, 0xfb22, 0xf98c, 0xfa0b, 0xf98c, 0xfa0b, 0xf98c, 0xfa0b, 0xfa13, 0xfa80, -0xfa13, 0xfa80, 0xf981, 0xf9d5, 0xf981, 0xf9d5, 0xf902, 0xf939, 0xf902, 0xf939, 0xfa41, -0xfa56, 0xfa41, 0xfa56, 0xfa66, 0xfa56, 0xfa66, 0xfa56, 0xfb24, 0xfaea, 0xfb24, 0xfaea, -0xfb24, 0xfaea, 0xfbe5, 0xfb80, 0xfbe5, 0xfb80, 0xfc38, 0xfba6, 0xfc38, 0xfba6, 0xfcab, -0xfbea, 0xfcab, 0xfbea, 0xfd94, 0xfca4, 0xfd94, 0xfca4, 0xffc7, 0xfea8, 0xffc7, 0xfea8, -0xffc7, 0xfea8, 0x63, 0xff16, 0x63, 0xff16, 0x19e, 0x25, 0x19e, 0x25, 0x3ca, -0x226, 0x3ca, 0x226, 0x5ad, 0x3e1, 0x5ad, 0x3e1, 0x88b, 0x698, 0x88b, 0x698, -0xaa5, 0x88f, 0xaa5, 0x88f, 0xaa5, 0x88f, 0xd3a, 0xb02, 0xd3a, 0xb02, 0xfe3, -0xd8e, 0xfe3, 0xd8e, 0x1122, 0xeb2, 0x1122, 0xeb2, 0x1386, 0x10ff, 0x1386, 0x10ff, -0x161f, 0x1382, 0x161f, 0x1382, 0x179f, 0x14f1, 0x179f, 0x14f1, 0x179f, 0x14f1, 0x1962, -0x16a4, 0x1962, 0x16a4, 0x19fe, 0x1735, 0x19fe, 0x1735, 0x1995, 0x16c3, 0x1995, 0x16c3, -0x192c, 0x1653, 0x192c, 0x1653, 0x191b, 0x163f, 0x191b, 0x163f, 0x191b, 0x163f, 0x1987, -0x16a9, 0x1987, 0x16a9, 0x1985, 0x16a8, 0x1985, 0x16a8, 0x196a, 0x1691, 0x196a, 0x1691, -0x194a, 0x1676, 0x194a, 0x1676, 0x18e8, 0x161c, 0x18e8, 0x161c, 0x181b, 0x1558, 0x181b, -0x1558, 0x181b, 0x1558, 0x16b3, 0x13fc, 0x16b3, 0x13fc, 0x156d, 0x12c2, 0x156d, 0x12c2, -0x150f, 0x1272, 0x150f, 0x1272, 0x148a, 0x11fc, 0x148a, 0x11fc, 0x1502, 0x1283, 0x1502, -0x1283, 0x156d, 0x12fd, 0x156d, 0x12fd, 0x156d, 0x12fd, 0x1431, 0x11d1, 0x1431, 0x11d1, -0x14b7, 0x1266, 0x14b7, 0x1266, 0x155f, 0x131c, 0x155f, 0x131c, 0x159b, 0x1367, 0x159b, -0x1367, 0x1570, 0x134b, 0x1570, 0x134b, 0x1570, 0x134b, 0x14b6, 0x129e, 0x14b6, 0x129e, -0x151f, 0x1314, 0x151f, 0x1314, 0x143c, 0x123e, 0x143c, 0x123e, 0x1479, 0x1289, 0x1479, -0x1289, 0x1572, 0x138f, 0x1572, 0x138f, 0x13dd, 0x1209, 0x13dd, 0x1209, 0x13dd, 0x1209, -0x1279, 0x10b6, 0x1279, 0x10b6, 0x115e, 0xfae, 0x115e, 0xfae, 0x109e, 0xf04, 0x109e, -0xf04, 0xf23, 0xda2, 0xf23, 0xda2, 0xd77, 0xc14, 0xd77, 0xc14, 0xd49, 0xc07, -0xd49, 0xc07, 0xd49, 0xc07, 0xb71, 0xa56, 0xb71, 0xa56, 0xaa7, 0x9b8, 0xaa7, -0x9b8, 0xa76, 0x9b9, 0xa76, 0x9b9, 0x887, 0x801, 0x887, 0x801, 0x71c, 0x6d1, -0x71c, 0x6d1, 0x71c, 0x6d1, 0x597, 0x58c, 0x597, 0x58c, 0x484, 0x4be, 0x484, -0x4be, 0x1f0, 0x271, 0x1f0, 0x271, 0xff4a, 0x15, 0xff4a, 0x15, 0xfd4b, 0xfe60, -0xfd4b, 0xfe60, 0xf9d7, 0xfb36, 0xf9d7, 0xfb36, 0xf9d7, 0xfb36, 0xf7a0, 0xf947, 0xf7a0, -0xf947, 0xf590, 0xf77b, 0xf590, 0xf77b, 0xf43b, 0xf665, 0xf43b, 0xf665, 0xf3a9, 0xf60d, -0xf3a9, 0xf60d, 0xf1d2, 0xf467, 0xf1d2, 0xf467, 0xf02c, 0xf2eb, 0xf02c, 0xf2eb, 0xf02c, -0xf2eb, 0xee56, 0xf135, 0xee56, 0xf135, 0xec77, 0xef6b, 0xec77, 0xef6b, 0xeb27, 0xee25, -0xeb27, 0xee25, 0xe9c1, 0xecbf, 0xe9c1, 0xecbf, 0xe92a, 0xec1d, 0xe92a, 0xec1d, 0xe92a, -0xec1d, 0xe948, 0xec25, 0xe948, 0xec25, 0xe934, 0xebf3, 0xe934, 0xebf3, 0xe982, 0xec19, -0xe982, 0xec19, 0xea81, 0xece8, 0xea81, 0xece8, 0xec06, 0xee38, 0xec06, 0xee38, 0xed44, -0xef3d, 0xed44, 0xef3d, 0xed44, 0xef3d, 0xee92, 0xf04e, 0xee92, 0xf04e, 0xf077, 0xf1f3, -0xf077, 0xf1f3, 0xf1e4, 0xf322, 0xf1e4, 0xf322, 0xf39c, 0xf49d, 0xf39c, 0xf49d, 0xf652, -0xf718, 0xf652, 0xf718, 0xf7ae, 0xf83c, 0xf7ae, 0xf83c, 0xf7ae, 0xf83c, 0xf843, 0xf89e, -0xf843, 0xf89e, 0xf947, 0xf974, 0xf947, 0xf974, 0xf986, 0xf98b, 0xf986, 0xf98b, 0xfa82, -0xfa62, 0xfa82, 0xfa62, 0xfa59, 0xfa1b, 0xfa59, 0xfa1b, 0xfa59, 0xfa1b, 0xf9f2, 0xf99a, -0xf9f2, 0xf99a, 0xfbbc, 0xfb4e, 0xfbbc, 0xfb4e, 0xfc82, 0xfc02, 0xfc82, 0xfc02, 0xfd1b, -0xfc8a, 0xfd1b, 0xfc8a, 0xfd69, 0xfcc9, 0xfd69, 0xfcc9, 0xfe24, 0xfd77, 0xfe24, 0xfd77, -0xfe24, 0xfd77, 0xff88, 0xfecd, 0xff88, 0xfecd, 0xff4f, 0xfe86, 0xff4f, 0xfe86, 0x6e, -0xff96, 0x6e, 0xff96, 0x1b4, 0xcd, 0x1b4, 0xcd, 0x136, 0x3d, 0x136, 0x3d, -0x14b, 0x42, 0x14b, 0x42, 0x14b, 0x42, 0x1b7, 0x9b, 0x1b7, 0x9b, 0x289, -0x15d, 0x289, 0x15d, 0x300, 0x1c5, 0x300, 0x1c5, 0x377, 0x230, 0x377, 0x230, -0x466, 0x318, 0x466, 0x318, 0x466, 0x318, 0x40b, 0x2ba, 0x40b, 0x2ba, 0x502, -0x3b6, 0x502, 0x3b6, 0x5fc, 0x4bd, 0x5fc, 0x4bd, 0x523, 0x3fb, 0x523, 0x3fb, -0x444, 0x33c, 0x444, 0x33c, 0x2fa, 0x21d, 0x2fa, 0x21d, 0x2fa, 0x21d, 0x19e, -0xf7, 0x19e, 0xf7, 0xff0d, 0xfea6, 0xff0d, 0xfea6, 0xfd02, 0xfce6, 0xfd02, 0xfce6, -0xfb3b, 0xfb73, 0xfb3b, 0xfb73, 0xf822, 0xf8b6, 0xf822, 0xf8b6, 0xf822, 0xf8b6, 0xf612, -0xf709, 0xf612, 0xf709, 0xf3d2, 0xf531, 0xf3d2, 0xf531, 0xf1c8, 0xf391, 0xf1c8, 0xf391, -0xeffe, 0xf232, 0xeffe, 0xf232, 0xedb5, 0xf051, 0xedb5, 0xf051, 0xec4d, 0xef4f, 0xec4d, -0xef4f, 0xec4d, 0xef4f, 0xea48, 0xeda8, 0xea48, 0xeda8, 0xe83c, 0xebf2, 0xe83c, 0xebf2, -0xe6a7, 0xeaa8, 0xe6a7, 0xeaa8, 0xe443, 0xe883, 0xe443, 0xe883, 0xe257, 0xe6ca, 0xe257, -0xe6ca, 0xe0a1, 0xe539, 0xe0a1, 0xe539, 0xe0a1, 0xe539, 0xdfb6, 0xe464, 0xdfb6, 0xe464, -0xdf28, 0xe3df, 0xdf28, 0xe3df, 0xdda4, 0xe255, 0xdda4, 0xe255, 0xdd80, 0xe220, 0xdd80, -0xe220, 0xde46, 0xe2c8, 0xde46, 0xe2c8, 0xde46, 0xe2c8, 0xdefd, 0xe357, 0xdefd, 0xe357, -0xdffd, 0xe427, 0xdffd, 0xe427, 0xe061, 0xe454, 0xe061, 0xe454, 0xe15f, 0xe518, 0xe15f, -0xe518, 0xe2cb, 0xe646, 0xe2cb, 0xe646, 0xe2eb, 0xe628, 0xe2eb, 0xe628, 0xe2eb, 0xe628, -0xe405, 0xe705, 0xe405, 0xe705, 0xe5b0, 0xe876, 0xe5b0, 0xe876, 0xe6d3, 0xe963, 0xe6d3, -0xe963, 0xe92d, 0xeb8a, 0xe92d, 0xeb8a, 0xea99, 0xecca, 0xea99, 0xecca, 0xeba9, 0xedb3, -0xeba9, 0xedb3, 0xeba9, 0xedb3, 0xedbd, 0xefa4, 0xedbd, 0xefa4, 0xeff3, 0xf1bd, 0xeff3, -0xf1bd, 0xf211, 0xf3c2, 0xf211, 0xf3c2, 0xf2c0, 0xf45b, 0xf2c0, 0xf45b, 0xf384, 0xf50b, -0xf384, 0xf50b, 0xf384, 0xf50b, 0xf4af, 0xf621, 0xf4af, 0xf621, 0xf44c, 0xf5aa, 0xf44c, -0xf5aa, 0xf432, 0xf57a, 0xf432, 0xf57a, 0xf458, 0xf586, 0xf458, 0xf586, 0xf3b8, 0xf4c8, -0xf3b8, 0xf4c8, 0xf3a3, 0xf491, 0xf3a3, 0xf491, 0xf3a3, 0xf491, 0xf379, 0xf43f, 0xf379, -0xf43f, 0xf387, 0xf41f, 0xf387, 0xf41f, 0xf34c, 0xf3b1, 0xf34c, 0xf3b1, 0xf437, 0xf462, -0xf437, 0xf462, 0xf649, 0xf637, 0xf649, 0xf637, 0xf771, 0xf71c, 0xf771, 0xf71c, 0xf771, -0xf71c, 0xfa59, 0xf9c0, 0xfa59, 0xf9c0, 0xfcb2, 0xfbd2, 0xfcb2, 0xfbd2, 0xfe88, 0xfd62, -0xfe88, 0xfd62, 0xd5, 0xff6a, 0xd5, 0xff6a, 0x319, 0x16b, 0x319, 0x16b, 0x319, -0x16b, 0x649, 0x45c, 0x649, 0x45c, 0x817, 0x5f1, 0x817, 0x5f1, 0xae8, 0x88f, -0xae8, 0x88f, 0xd77, 0xaf2, 0xd77, 0xaf2, 0xf3d, 0xc95, 0xf3d, 0xc95, 0x11c8, -0xf06, 0x11c8, 0xf06, 0x11c8, 0xf06, 0x1378, 0x10a4, 0x1378, 0x10a4, 0x15d3, 0x12f6, -0x15d3, 0x12f6, 0x16ae, 0x13d0, 0x16ae, 0x13d0, 0x1700, 0x142a, 0x1700, 0x142a, 0x1794, -0x14cd, 0x1794, 0x14cd, 0x16aa, 0x13f9, 0x16aa, 0x13f9, 0x16aa, 0x13f9, 0x16ef, 0x145a, -0x16ef, 0x145a, 0x1714, 0x14a0, 0x1714, 0x14a0, 0x16f5, 0x14a6, 0x16f5, 0x14a6, 0x174c, -0x1525, 0x174c, 0x1525, 0x16b7, 0x14bb, 0x16b7, 0x14bb, 0x16b7, 0x14bb, 0x1605, 0x1436, -0x1605, 0x1436, 0x14f4, 0x1351, 0x14f4, 0x1351, 0x13e7, 0x1272, 0x13e7, 0x1272, 0x13a3, -0x125d, 0x13a3, 0x125d, 0x130d, 0x11f4, 0x130d, 0x11f4, 0x11b4, 0x10c7, 0x11b4, 0x10c7, -0x11b4, 0x10c7, 0x10b8, 0xff8, 0x10b8, 0xff8, 0xf02, 0xe6d, 0xf02, 0xe6d, 0xc8b, -0xc22, 0xc8b, 0xc22, 0xb04, 0xac5, 0xb04, 0xac5, 0x91b, 0x907, 0x91b, 0x907, -0x7a7, 0x7bc, 0x7a7, 0x7bc, 0x7a7, 0x7bc, 0x632, 0x671, 0x632, 0x671, 0x4d3, -0x53a, 0x4d3, 0x53a, 0x460, 0x4ef, 0x460, 0x4ef, 0x295, 0x34b, 0x295, 0x34b, -0xee, 0x1c9, 0xee, 0x1c9, 0xee, 0x1c9, 0x3, 0x102, 0x3, 0x102, 0xff46, -0x66, 0xff46, 0x66, 0xfd8c, 0xfeca, 0xfd8c, 0xfeca, 0xfb0e, 0xfc66, 0xfb0e, 0xfc66, -0xfaeb, 0xfc59, 0xfaeb, 0xfc59, 0xfa62, 0xfbe3, 0xfa62, 0xfbe3, 0xfa62, 0xfbe3, 0xf884, -0xfa12, 0xf884, 0xfa12, 0xf86b, 0xfa00, 0xf86b, 0xfa00, 0xf88d, 0xfa25, 0xf88d, 0xfa25, -0xf781, 0xf916, 0xf781, 0xf916, 0xf675, 0xf801, 0xf675, 0xf801, 0xf6f9, 0xf877, 0xf6f9, -0xf877, 0xf6f9, 0xf877, 0xf7ad, 0xf918, 0xf7ad, 0xf918, 0xf6c0, 0xf813, 0xf6c0, 0xf813, -0xf7a7, 0xf8df, 0xf7a7, 0xf8df, 0xf90a, 0xfa24, 0xf90a, 0xfa24, 0xf928, 0xfa21, 0xf928, -0xfa21, 0xf928, 0xfa21, 0xf9ec, 0xfac2, 0xf9ec, 0xfac2, 0xfa44, 0xfaf7, 0xfa44, 0xfaf7, -0xfad6, 0xfb66, 0xfad6, 0xfb66, 0xfb53, 0xfbc1, 0xfb53, 0xfbc1, 0xfc97, 0xfce3, 0xfc97, -0xfce3, 0xfd89, 0xfdb7, 0xfd89, 0xfdb7, 0xfd89, 0xfdb7, 0xfd64, 0xfd75, 0xfd64, 0xfd75, -0xfe8e, 0xfe86, 0xfe8e, 0xfe86, 0xff87, 0xff69, 0xff87, 0xff69, 0xba, 0x89, 0xba, -0x89, 0x174, 0x132, 0x174, 0x132, 0x23c, 0x1ed, 0x23c, 0x1ed, 0x23c, 0x1ed, -0x3b4, 0x35b, 0x3b4, 0x35b, 0x3f6, 0x395, 0x3f6, 0x395, 0x525, 0x4be, 0x525, -0x4be, 0x67f, 0x614, 0x67f, 0x614, 0x713, 0x6a5, 0x713, 0x6a5, 0x713, 0x6a5, -0x86c, 0x7fc, 0x86c, 0x7fc, 0x992, 0x921, 0x992, 0x921, 0xa39, 0x9c6, 0xa39, -0x9c6, 0xb30, 0xabd, 0xb30, 0xabd, 0xc3e, 0xbcb, 0xc3e, 0xbcb, 0xcb0, 0xc3d, -0xcb0, 0xc3d, 0xcb0, 0xc3d, 0xc6e, 0xbfc, 0xc6e, 0xbfc, 0xb6a, 0xaf9, 0xb6a, -0xaf9, 0xa2b, 0x9bc, 0xa2b, 0x9bc, 0x906, 0x89b, 0x906, 0x89b, 0x73e, 0x6d7, -0x73e, 0x6d7, 0x5bb, 0x55b, 0x5bb, 0x55b, 0x5bb, 0x55b, 0x44e, 0x3f6, 0x44e, -0x3f6, 0x340, 0x2f2, 0x340, 0x2f2, 0x255, 0x212, 0x255, 0x212, 0x7b, 0x46, -0x7b, 0x46, 0xff44, 0xff1e, 0xff44, 0xff1e, 0xff44, 0xff1e, 0xfdb9, 0xfda2, 0xfdb9, -0xfda2, 0xfcbe, 0xfcb7, 0xfcbe, 0xfcb7, 0xfbe0, 0xfbe9, 0xfbe0, 0xfbe9, 0xfa9f, 0xfab8, -0xfa9f, 0xfab8, 0xfa53, 0xfa78, 0xfa53, 0xfa78, 0xf980, 0xf9b0, 0xf980, 0xf9b0, 0xf980, -0xf9b0, 0xf9f6, 0xfa2e, 0xf9f6, 0xfa2e, 0xf9e2, 0xfa1e, 0xf9e2, 0xfa1e, 0xf909, 0xf943, -0xf909, 0xf943, 0xfa01, 0xfa36, 0xfa01, 0xfa36, 0xfa05, 0xfa2c, 0xfa05, 0xfa2c, 0xfa05, -0xfa2c, 0xf9a3, 0xf9b8, 0xf9a3, 0xf9b8, 0xfacb, 0xfac7, 0xfacb, 0xfac7, 0xfbb5, 0xfb93, -0xfbb5, 0xfb93, 0xfbce, 0xfb87, 0xfbce, 0xfb87, 0xfc69, 0xfbf7, 0xfc69, 0xfbf7, 0xfdc0, -0xfd1e, 0xfdc0, 0xfd1e, 0xfdc0, 0xfd1e, 0xfe80, 0xfdab, 0xfe80, 0xfdab, 0xfefc, 0xfdef, -0xfefc, 0xfdef, 0x12f, 0xffea, 0x12f, 0xffea, 0x2be, 0x140, 0x2be, 0x140, 0x3f3, -0x23b, 0x3f3, 0x23b, 0x67a, 0x48a, 0x67a, 0x48a, 0x67a, 0x48a, 0x82b, 0x607, -0x82b, 0x607, 0x91c, 0x6c6, 0x91c, 0x6c6, 0xa6d, 0x7ec, 0xa6d, 0x7ec, 0xd33, -0xa8c, 0xd33, 0xa8c, 0xee9, 0xc22, 0xee9, 0xc22, 0xee9, 0xc22, 0x101a, 0xd3a, -0x101a, 0xd3a, 0x1286, 0xf94, 0x1286, 0xf94, 0x13f2, 0x10f6, 0x13f2, 0x10f6, 0x14d5, -0x11d6, 0x14d5, 0x11d6, 0x1458, 0x115d, 0x1458, 0x115d, 0x1425, 0x1134, 0x1425, 0x1134, -0x1425, 0x1134, 0x14ab, 0x11cb, 0x14ab, 0x11cb, 0x140f, 0x1144, 0x140f, 0x1144, 0x14a0, -0x11ed, 0x14a0, 0x11ed, 0x14b6, 0x121f, 0x14b6, 0x121f, 0x142f, 0x11b5, 0x142f, 0x11b5, -0x1462, 0x1207, 0x1462, 0x1207, 0x1462, 0x1207, 0x140d, 0x11d0, 0x140d, 0x11d0, 0x1424, -0x1205, 0x1424, 0x1205, 0x142e, 0x122a, 0x142e, 0x122a, 0x142b, 0x1240, 0x142b, 0x1240, -0x139c, 0x11c8, 0x139c, 0x11c8, 0x139c, 0x11c8, 0x12dc, 0x111b, 0x12dc, 0x111b, 0x130b, -0x1159, 0x130b, 0x1159, 0x137d, 0x11d6, 0x137d, 0x11d6, 0x148c, 0x12ef, 0x148c, 0x12ef, -0x1525, 0x138d, 0x1525, 0x138d, 0x1536, 0x13a1, 0x1536, 0x13a1, 0x1536, 0x13a1, 0x1541, -0x13ac, 0x1541, 0x13ac, 0x1602, 0x146d, 0x1602, 0x146d, 0x160f, 0x1479, 0x160f, 0x1479, -0x15a1, 0x140b, 0x15a1, 0x140b, 0x15ca, 0x1434, 0x15ca, 0x1434, 0x14a2, 0x130e, 0x14a2, -0x130e, 0x14a2, 0x130e, 0x143f, 0x12b1, 0x143f, 0x12b1, 0x1303, 0x117f, 0x1303, 0x117f, -0x1177, 0x1000, 0x1177, 0x1000, 0x1103, 0xf9d, 0x1103, 0xf9d, 0x1061, 0xf13, 0x1061, -0xf13, 0x1061, 0xf13, 0x10e2, 0xfb2, 0x10e2, 0xfb2, 0xf78, 0xe6a, 0xf78, 0xe6a, -0xd47, 0xc62, 0xd47, 0xc62, 0xd0a, 0xc53, 0xd0a, 0xc53, 0xbeb, 0xb67, 0xbeb, -0xb67, 0x9b0, 0x964, 0x9b0, 0x964, 0x9b0, 0x964, 0x898, 0x888, 0x898, 0x888, -0x78b, 0x7bc, 0x78b, 0x7bc, 0x52e, 0x5a1, 0x52e, 0x5a1, 0x2ac, 0x363, 0x2ac, -0x363, 0x86, 0x181, 0x86, 0x181, 0xfd8d, 0xfecc, 0xfd8d, 0xfecc, 0xfd8d, 0xfecc, -0xfa8f, 0xfc11, 0xfa8f, 0xfc11, 0xf8e0, 0xfaa1, 0xf8e0, 0xfaa1, 0xf6ec, 0xf8e8, 0xf6ec, -0xf8e8, 0xf57a, 0xf7ac, 0xf57a, 0xf7ac, 0xf3eb, 0xf64e, 0xf3eb, 0xf64e, 0xf3eb, 0xf64e, -0xf21d, 0xf4a9, 0xf21d, 0xf4a9, 0xf063, 0xf310, 0xf063, 0xf310, 0xee42, 0xf109, 0xee42, -0xf109, 0xecc4, 0xef9b, 0xecc4, 0xef9b, 0xea5f, 0xed3d, 0xea5f, 0xed3d, 0xe937, 0xec14, -0xe937, 0xec14, 0xe937, 0xec14, 0xe8ca, 0xeb9c, 0xe8ca, 0xeb9c, 0xe86b, 0xeb29, 0xe86b, -0xeb29, 0xe960, 0xec02, 0xe960, 0xec02, 0xe8e8, 0xeb68, 0xe8e8, 0xeb68, 0xe940, 0xeb96, -0xe940, 0xeb96, 0xea59, 0xec81, 0xea59, 0xec81, 0xea59, 0xec81, 0xeb76, 0xed6b, 0xeb76, -0xed6b, 0xed7b, 0xef3b, 0xed7b, 0xef3b, 0xee96, 0xf020, 0xee96, 0xf020, 0xf0d5, 0xf229, -0xf0d5, 0xf229, 0xf3ad, 0xf4cc, 0xf3ad, 0xf4cc, 0xf3ad, 0xf4cc, 0xf5f5, 0xf6e2, 0xf5f5, -0xf6e2, 0xf822, 0xf8e1, 0xf822, 0xf8e1, 0xf962, 0xf9f6, 0xf962, 0xf9f6, 0xfa97, 0xfb07, -0xfa97, 0xfb07, 0xfb20, 0xfb71, 0xfb20, 0xfb71, 0xfbab, 0xfbe4, 0xfbab, 0xfbe4, 0xfbab, -0xfbe4, 0xfc2c, 0xfc52, 0xfc2c, 0xfc52, 0xfc6e, 0xfc88, 0xfc6e, 0xfc88, 0xfd51, 0xfd65, -0xfd51, 0xfd65, 0xfe58, 0xfe6a, 0xfe58, 0xfe6a, 0xff1c, 0xff30, 0xff1c, 0xff30, 0xffaa, -0xffc4, 0xffaa, 0xffc4, 0xffaa, 0xffc4, 0x129, 0x14b, 0x129, 0x14b, 0x160, 0x18c, -0x160, 0x18c, 0x194, 0x1cb, 0x194, 0x1cb, 0x20b, 0x24c, 0x20b, 0x24c, 0x176, -0x1c0, 0x176, 0x1c0, 0x176, 0x1c0, 0x226, 0x278, 0x226, 0x278, 0x23d, 0x294, -0x23d, 0x294, 0x2ba, 0x316, 0x2ba, 0x316, 0x3a3, 0x402, 0x3a3, 0x402, 0x475, -0x4d5, 0x475, 0x4d5, 0x5f3, 0x655, 0x5f3, 0x655, 0x5f3, 0x655, 0x61c, 0x67f, -0x61c, 0x67f, 0x647, 0x6ac, 0x647, 0x6ac, 0x747, 0x7b1, 0x747, 0x7b1, 0x745, -0x7b7, 0x745, 0x7b7, 0x60e, 0x68c, 0x60e, 0x68c, 0x4f9, 0x589, 0x4f9, 0x589, -0x4f9, 0x589, 0x392, 0x43b, 0x392, 0x43b, 0x161, 0x22a, 0x161, 0x22a, 0xffe4, -0xd5, 0xffe4, 0xd5, 0xfed0, 0xfff0, 0xfed0, 0xfff0, 0xfc08, 0xfd60, 0xfc08, 0xfd60, -0xfc08, 0xfd60, 0xf998, 0xfb2e, 0xf998, 0xfb2e, 0xf7d0, 0xf9ab, 0xf7d0, 0xf9ab, 0xf4e6, -0xf70a, 0xf4e6, 0xf70a, 0xf25a, 0xf4cd, 0xf25a, 0xf4cd, 0xefd2, 0xf294, 0xefd2, 0xf294, -0xeda7, 0xf0b9, 0xeda7, 0xf0b9, 0xeda7, 0xf0b9, 0xeb2a, 0xee8a, 0xeb2a, 0xee8a, 0xe8cd, -0xec77, 0xe8cd, 0xec77, 0xe708, 0xeaf5, 0xe708, 0xeaf5, 0xe43f, 0xe869, 0xe43f, 0xe869, -0xe20f, 0xe66c, 0xe20f, 0xe66c, 0xe053, 0xe4d8, 0xe053, 0xe4d8, 0xe053, 0xe4d8, 0xdf53, -0xe3f3, 0xdf53, 0xe3f3, 0xde2c, 0xe2da, 0xde2c, 0xe2da, 0xdc2f, 0xe0df, 0xdc2f, 0xe0df, -0xdc18, 0xe0bc, 0xdc18, 0xe0bc, 0xdc97, 0xe122, 0xdc97, 0xe122, 0xdc97, 0xe122, 0xdcf6, -0xe15d, 0xdcf6, 0xe15d, 0xdda4, 0xe1db, 0xdda4, 0xe1db, 0xde05, 0xe205, 0xde05, 0xe205, -0xdf3b, 0xe2fc, 0xdf3b, 0xe2fc, 0xe06d, 0xe3ea, 0xe06d, 0xe3ea, 0xe1fe, 0xe534, 0xe1fe, -0xe534, 0xe1fe, 0xe534, 0xe3f7, 0xe6e5, 0xe3f7, 0xe6e5, 0xe529, 0xe7d1, 0xe529, 0xe7d1, -0xe676, 0xe8da, 0xe676, 0xe8da, 0xe79b, 0xe9c1, 0xe79b, 0xe9c1, 0xe900, 0xeaee, 0xe900, -0xeaee, 0xe900, 0xeaee, 0xea79, 0xec36, 0xea79, 0xec36, 0xec3f, 0xedd2, 0xec3f, 0xedd2, -0xeea4, 0xf014, 0xeea4, 0xf014, 0xf0f1, 0xf247, 0xf0f1, 0xf247, 0xf256, 0xf399, 0xf256, -0xf399, 0xf3b5, 0xf4ea, 0xf3b5, 0xf4ea, 0xf3b5, 0xf4ea, 0xf57a, 0xf6a5, 0xf57a, 0xf6a5, -0xf58a, 0xf6af, 0xf58a, 0xf6af, 0xf611, 0xf731, 0xf611, 0xf731, 0xf60b, 0xf725, 0xf60b, -0xf725, 0xf512, 0xf623, 0xf512, 0xf623, 0xf4b4, 0xf5b8, 0xf4b4, 0xf5b8, 0xf4b4, 0xf5b8, -0xf3af, 0xf4a0, 0xf3af, 0xf4a0, 0xf3c0, 0xf498, 0xf3c0, 0xf498, 0xf416, 0xf4cd, 0xf416, -0xf4cd, 0xf564, 0xf5f1, 0xf564, 0xf5f1, 0xf77d, 0xf7d7, 0xf77d, 0xf7d7, 0xf77d, 0xf7d7, -0xf872, 0xf890, 0xf872, 0xf890, 0xf9df, 0xf9b9, 0xf9df, 0xf9b9, 0xfb63, 0xfaf2, 0xfb63, -0xfaf2, 0xfcf3, 0xfc32, 0xfcf3, 0xfc32, 0xfed4, 0xfdbd, 0xfed4, 0xfdbd, 0x11b, 0xffac, -0x11b, 0xffac, 0x11b, 0xffac, 0x414, 0x24b, 0x414, 0x24b, 0x633, 0x411, 0x633, -0x411, 0x8ca, 0x652, 0x8ca, 0x652, 0xbb8, 0x8f0, 0xbb8, 0x8f0, 0xd20, 0xa0e, -0xd20, 0xa0e, 0xf86, 0xc31, 0xf86, 0xc31, 0xf86, 0xc31, 0x11d8, 0xe4b, 0x11d8, -0xe4b, 0x1341, 0xf84, 0x1341, 0xf84, 0x14d5, 0x10f4, 0x14d5, 0x10f4, 0x1578, 0x117d, -0x1578, 0x117d, 0x1524, 0x111c, 0x1524, 0x111c, 0x1524, 0x111c, 0x14ae, 0x10a3, 0x14ae, -0x10a3, 0x15d3, 0x11ce, 0x15d3, 0x11ce, 0x1666, 0x1270, 0x1666, 0x1270, 0x159e, 0x11c0, -0x159e, 0x11c0, 0x153a, 0x117c, 0x153a, 0x117c, 0x149c, 0x1103, 0x149c, 0x1103, 0x149c, -0x1103, 0x1456, 0x10e6, 0x1456, 0x10e6, 0x1339, 0xff6, 0x1339, 0xff6, 0x11dc, 0xec9, -0x11dc, 0xec9, 0x115a, 0xe77, 0x115a, 0xe77, 0xfed, 0xd3b, 0xfed, 0xd3b, 0xf94, -0xd13, 0xf94, 0xd13, 0xf94, 0xd13, 0xf28, 0xcd7, 0xf28, 0xcd7, 0xcf3, 0xad1, -0xcf3, 0xad1, 0xbd7, 0x9e3, 0xbd7, 0x9e3, 0xaca, 0x902, 0xaca, 0x902, 0x980, -0x7e4, 0x980, 0x7e4, 0x980, 0x7e4, 0x830, 0x6bf, 0x830, 0x6bf, 0x72b, 0x5e3, -0x72b, 0x5e3, 0x6b3, 0x595, 0x6b3, 0x595, 0x575, 0x481, 0x575, 0x481, 0x461, -0x397, 0x461, 0x397, 0x376, 0x2d6, 0x376, 0x2d6, 0x376, 0x2d6, 0x23e, 0x1c8, -0x23e, 0x1c8, 0xde, 0x93, 0xde, 0x93, 0x1d, 0xfffc, 0x1d, 0xfffc, 0xff0f, -0xff18, 0xff0f, 0xff18, 0xfe3e, 0xfe70, 0xfe3e, 0xfe70, 0xfd64, 0xfdbd, 0xfd64, 0xfdbd, -0xfd64, 0xfdbd, 0xfb79, 0xfbf8, 0xfb79, 0xfbf8, 0xfa5b, 0xfafd, 0xfa5b, 0xfafd, 0xf8a0, -0xf961, 0xf8a0, 0xf961, 0xf7e9, 0xf8c5, 0xf7e9, 0xf8c5, 0xf7b4, 0xf8a7, 0xf7b4, 0xf8a7, -0xf7b4, 0xf8a7, 0xf6eb, 0xf7f0, 0xf6eb, 0xf7f0, 0xf720, 0xf832, 0xf720, 0xf832, 0xf75c, -0xf874, 0xf75c, 0xf874, 0xf8d8, 0xf9f0, 0xf8d8, 0xf9f0, 0xf987, 0xfa9b, 0xf987, 0xfa9b, -0xf974, 0xfa7e, 0xf974, 0xfa7e, 0xf974, 0xfa7e, 0xfa95, 0xfb90, 0xfa95, 0xfb90, 0xfb40, -0xfc27, 0xfb40, 0xfc27, 0xfbe8, 0xfcb7, 0xfbe8, 0xfcb7, 0xfc87, 0xfd3c, 0xfc87, 0xfd3c, -0xfd2b, 0xfdc2, 0xfd2b, 0xfdc2, 0xfe10, 0xfe88, 0xfe10, 0xfe88, 0xfe10, 0xfe88, 0xfe72, -0xfeca, 0xfe72, 0xfeca, 0xff9e, 0xffd6, 0xff9e, 0xffd6, 0x93, 0xac, 0x93, 0xac, -0x96, 0x90, 0x96, 0x90, 0x14d, 0x12c, 0x14d, 0x12c, 0x14d, 0x12c, 0x1d1, -0x195, 0x1d1, 0x195, 0x1e9, 0x196, 0x1e9, 0x196, 0x228, 0x1c0, 0x228, 0x1c0, -0x360, 0x2e6, 0x360, 0x2e6, 0x41a, 0x391, 0x41a, 0x391, 0x474, 0x3e0, 0x474, -0x3e0, 0x474, 0x3e0, 0x669, 0x5cb, 0x669, 0x5cb, 0x704, 0x660, 0x704, 0x660, -0x736, 0x68d, 0x736, 0x68d, 0x827, 0x77c, 0x827, 0x77c, 0x8ee, 0x842, 0x8ee, -0x842, 0xabd, 0xa12, 0xabd, 0xa12, 0xabd, 0xa12, 0xb2e, 0xa86, 0xb2e, 0xa86, -0xa4e, 0x9a9, 0xa4e, 0x9a9, 0x926, 0x886, 0x926, 0x886, 0x736, 0x69b, 0x736, -0x69b, 0x695, 0x600, 0x695, 0x600, 0x695, 0x600, 0x562, 0x4d3, 0x562, 0x4d3, -0x39c, 0x314, 0x39c, 0x314, 0x38c, 0x30b, 0x38c, 0x30b, 0x34b, 0x2d3, 0x34b, -0x2d3, 0x245, 0x1d4, 0x245, 0x1d4, 0x15f, 0xf7, 0x15f, 0xf7, 0x15f, 0xf7, -0xd4, 0x73, 0xd4, 0x73, 0xff37, 0xfede, 0xff37, 0xfede, 0xfd71, 0xfd1f, 0xfd71, -0xfd1f, 0xfcbe, 0xfc71, 0xfcbe, 0xfc71, 0xfc33, 0xfbea, 0xfc33, 0xfbea, 0xfb68, 0xfb21, -0xfb68, 0xfb21, 0xfb68, 0xfb21, 0xfb76, 0xfb2e, 0xfb76, 0xfb2e, 0xfc45, 0xfbfb, 0xfc45, -0xfbfb, 0xfba9, 0xfb59, 0xfba9, 0xfb59, 0xfbd7, 0xfb7e, 0xfbd7, 0xfb7e, 0xfc69, 0xfc03, -0xfc69, 0xfc03, 0xfc69, 0xfc03, 0xfce8, 0xfc73, 0xfce8, 0xfc73, 0xfdb4, 0xfd2a, 0xfdb4, -0xfd2a, 0xfdc5, 0xfd25, 0xfdc5, 0xfd25, 0xfefb, 0xfe3f, 0xfefb, 0xfe3f, 0xff59, 0xfe81, -0xff59, 0xfe81, 0xffa9, 0xfeaf, 0xffa9, 0xfeaf, 0xffa9, 0xfeaf, 0xe6, 0xffca, 0xe6, -0xffca, 0x21d, 0xdd, 0x21d, 0xdd, 0x463, 0x2fe, 0x463, 0x2fe, 0x5c9, 0x43f, -0x5c9, 0x43f, 0x6c0, 0x512, 0x6c0, 0x512, 0x80e, 0x63c, 0x80e, 0x63c, 0x80e, -0x63c, 0x8c7, 0x6d3, 0x8c7, 0x6d3, 0xa26, 0x813, 0xa26, 0x813, 0xbff, 0x9cf, -0xbff, 0x9cf, 0xe07, 0xbbd, 0xe07, 0xbbd, 0xff8, 0xd98, 0xff8, 0xd98, 0xff8, -0xd98, 0x117c, 0xf0a, 0x117c, 0xf0a, 0x136d, 0x10ed, 0x136d, 0x10ed, 0x1436, 0x11ab, -0x1436, 0x11ab, 0x14ed, 0x125b, 0x14ed, 0x125b, 0x1629, 0x1394, 0x1629, 0x1394, 0x169f, -0x1409, 0x169f, 0x1409, 0x169f, 0x1409, 0x16d6, 0x1441, 0x16d6, 0x1441, 0x165c, 0x13cc, -0x165c, 0x13cc, 0x167b, 0x13f0, 0x167b, 0x13f0, 0x158f, 0x130a, 0x158f, 0x130a, 0x14db, -0x125e, 0x14db, 0x125e, 0x14db, 0x125e, 0x1657, 0x13e1, 0x1657, 0x13e1, 0x1626, 0x13b8, -0x1626, 0x13b8, 0x1545, 0x12de, 0x1545, 0x12de, 0x14a7, 0x1247, 0x14a7, 0x1247, 0x140b, -0x11b1, 0x140b, 0x11b1, 0x13d3, 0x117e, 0x13d3, 0x117e, 0x13d3, 0x117e, 0x1309, 0x10b9, -0x1309, 0x10b9, 0x12e7, 0x109b, 0x12e7, 0x109b, 0x1331, 0x10e9, 0x1331, 0x10e9, 0x134b, -0x1107, 0x134b, 0x1107, 0x140e, 0x11ce, 0x140e, 0x11ce, 0x1442, 0x1208, 0x1442, 0x1208, -0x1442, 0x1208, 0x1445, 0x1211, 0x1445, 0x1211, 0x1525, 0x12f9, 0x1525, 0x12f9, 0x163e, -0x141c, 0x163e, 0x141c, 0x16fc, 0x14e6, 0x16fc, 0x14e6, 0x171c, 0x1514, 0x171c, 0x1514, -0x171c, 0x1514, 0x16f5, 0x14fd, 0x16f5, 0x14fd, 0x1631, 0x144d, 0x1631, 0x144d, 0x1501, -0x1335, 0x1501, 0x1335, 0x1440, 0x128f, 0x1440, 0x128f, 0x13b8, 0x1225, 0x13b8, 0x1225, -0x131b, 0x11a9, 0x131b, 0x11a9, 0x131b, 0x11a9, 0x1312, 0x11c6, 0x1312, 0x11c6, 0x121b, -0x10f8, 0x121b, 0x10f8, 0x108a, 0xf94, 0x108a, 0xf94, 0xfd5, 0xf10, 0xfd5, 0xf10, -0xe18, 0xd87, 0xe18, 0xd87, 0xc80, 0xc27, 0xc80, 0xc27, 0xc80, 0xc27, 0xb03, -0xae5, 0xb03, 0xae5, 0x960, 0x97f, 0x960, 0x97f, 0x7b9, 0x819, 0x7b9, 0x819, -0x527, 0x5c9, 0x527, 0x5c9, 0x335, 0x41a, 0x335, 0x41a, 0x335, 0x41a, 0xb3, -0x1dd, 0xb3, 0x1dd, 0xfe33, 0xffa0, 0xfe33, 0xffa0, 0xfd22, 0xfed2, 0xfd22, 0xfed2, -0xfb5a, 0xfd4c, 0xfb5a, 0xfd4c, 0xf946, 0xfb77, 0xf946, 0xfb77, 0xf7d8, 0xfa43, 0xf7d8, -0xfa43, 0xf7d8, 0xfa43, 0xf621, 0xf8c3, 0xf621, 0xf8c3, 0xf3e7, 0xf6b9, 0xf3e7, 0xf6b9, -0xf152, 0xf44d, 0xf152, 0xf44d, 0xef5d, 0xf27a, 0xef5d, 0xf27a, 0xed59, 0xf08f, 0xed59, -0xf08f, 0xeba3, 0xeeea, 0xeba3, 0xeeea, 0xeba3, 0xeeea, 0xeb12, 0xee60, 0xeb12, 0xee60, -0xe9c4, 0xed10, 0xe9c4, 0xed10, 0xe8ce, 0xec0e, 0xe8ce, 0xec0e, 0xe81f, 0xeb48, 0xe81f, -0xeb48, 0xe7ac, 0xeab6, 0xe7ac, 0xeab6, 0xe7ac, 0xeab6, 0xe7c2, 0xeaa5, 0xe7c2, 0xeaa5, -0xe83a, 0xeaee, 0xe83a, 0xeaee, 0xe9fb, 0xec7a, 0xe9fb, 0xec7a, 0xeaff, 0xed44, 0xeaff, -0xed44, 0xec95, 0xee9c, 0xec95, 0xee9c, 0xef58, 0xf11f, 0xef58, 0xf11f, 0xef58, 0xf11f, -0xf0fb, 0xf281, 0xf0fb, 0xf281, 0xf25a, 0xf3a1, 0xf25a, 0xf3a1, 0xf422, 0xf52d, 0xf422, -0xf52d, 0xf670, 0xf742, 0xf670, 0xf742, 0xf84a, 0xf8e7, 0xf84a, 0xf8e7, 0xf8c6, 0xf934, -0xf8c6, 0xf934, 0xf8c6, 0xf934, 0xf935, 0xf97b, 0xf935, 0xf97b, 0xf92d, 0xf952, 0xf92d, -0xf952, 0xf9c9, 0xf9d4, 0xf9c9, 0xf9d4, 0xfbb5, 0xfbad, 0xfbb5, 0xfbad, 0xfc51, 0xfc3c, -0xfc51, 0xfc3c, 0xfc51, 0xfc3c, 0xfcf3, 0xfcd9, 0xfcf3, 0xfcd9, 0xfdfc, 0xfde1, 0xfdfc, -0xfde1, 0xfef4, 0xfedb, 0xfef4, 0xfedb, 0xffa2, 0xff90, 0xffa2, 0xff90, 0xff75, 0xff6c, -0xff75, 0xff6c, 0x25, 0x25, 0x25, 0x25, 0x25, 0x25, 0x7a, 0x84, 0x7a, -0x84, 0x49, 0x5d, 0x49, 0x5d, 0x12a, 0x146, 0x12a, 0x146, 0x1e0, 0x204, -0x1e0, 0x204, 0x233, 0x25c, 0x233, 0x25c, 0x343, 0x371, 0x343, 0x371, 0x343, -0x371, 0x440, 0x471, 0x440, 0x471, 0x52f, 0x564, 0x52f, 0x564, 0x5ea, 0x624, -0x5ea, 0x624, 0x5cd, 0x60e, 0x5cd, 0x60e, 0x5e3, 0x62e, 0x5e3, 0x62e, 0x5e3, -0x62e, 0x525, 0x57e, 0x525, 0x57e, 0x3d3, 0x440, 0x3d3, 0x440, 0x299, 0x321, -0x299, 0x321, 0xf1, 0x19d, 0xf1, 0x19d, 0xff84, 0x5a, 0xff84, 0x5a, 0xfd61, -0xfe6c, 0xfd61, 0xfe6c, 0xfd61, 0xfe6c, 0xfb8e, 0xfcd7, 0xfb8e, 0xfcd7, 0xfac4, 0xfc53, -0xfac4, 0xfc53, 0xf817, 0xf9f6, 0xf817, 0xf9f6, 0xf510, 0xf745, 0xf510, 0xf745, 0xf345, -0xf5d6, 0xf345, 0xf5d6, 0xf094, 0xf384, 0xf094, 0xf384, 0xf094, 0xf384, 0xed84, 0xf0d6, -0xed84, 0xf0d6, 0xeb3e, 0xeef1, 0xeb3e, 0xeef1, 0xe97f, 0xed90, 0xe97f, 0xed90, 0xe6a3, -0xeb0e, 0xe6a3, 0xeb0e, 0xe423, 0xe8e0, 0xe423, 0xe8e0, 0xe423, 0xe8e0, 0xe2ae, 0xe7b3, -0xe2ae, 0xe7b3, 0xdff8, 0xe539, 0xdff8, 0xe539, 0xddd1, 0xe341, 0xddd1, 0xe341, 0xdcf5, -0xe285, 0xdcf5, 0xe285, 0xdc78, 0xe219, 0xdc78, 0xe219, 0xdba8, 0xe14a, 0xdba8, 0xe14a, -0xdba8, 0xe14a, 0xdb71, 0xe105, 0xdb71, 0xe105, 0xdc3a, 0xe1b0, 0xdc3a, 0xe1b0, 0xdbc3, -0xe10e, 0xdbc3, 0xe10e, 0xdbfb, 0xe10f, 0xdbfb, 0xe10f, 0xdd8c, 0xe25d, 0xdd8c, 0xe25d, -0xde67, 0xe2ef, 0xde67, 0xe2ef, 0xde67, 0xe2ef, 0xdebf, 0xe2f7, 0xdebf, 0xe2f7, 0xdf26, -0xe30b, 0xdf26, 0xe30b, 0xe076, 0xe408, 0xe076, 0xe408, 0xe172, 0xe4b1, 0xe172, 0xe4b1, -0xe27f, 0xe570, 0xe27f, 0xe570, 0xe27f, 0xe570, 0xe4fd, 0xe7a5, 0xe4fd, 0xe7a5, 0xe67b, -0xe8e2, 0xe67b, 0xe8e2, 0xe8a7, 0xead4, 0xe8a7, 0xead4, 0xeb5e, 0xed59, 0xeb5e, 0xed59, -0xec79, 0xee4c, 0xec79, 0xee4c, 0xee5b, 0xf00d, 0xee5b, 0xf00d, 0xee5b, 0xf00d, 0xf092, -0xf22b, 0xf092, 0xf22b, 0xf2c1, 0xf447, 0xf2c1, 0xf447, 0xf486, 0xf5fd, 0xf486, 0xf5fd, -0xf52c, 0xf696, 0xf52c, 0xf696, 0xf555, 0xf6b3, 0xf555, 0xf6b3, 0xf463, 0xf5b3, 0xf463, -0xf5b3, 0xf463, 0xf5b3, 0xf357, 0xf495, 0xf357, 0xf495, 0xf3d7, 0xf4fd, 0xf3d7, 0xf4fd, -0xf470, 0xf577, 0xf470, 0xf577, 0xf4ee, 0xf5cd, 0xf4ee, 0xf5cd, 0xf693, 0xf741, 0xf693, -0xf741, 0xf693, 0xf741, 0xf78e, 0xf800, 0xf78e, 0xf800, 0xf89f, 0xf8cb, 0xf89f, 0xf8cb, -0xfa3e, 0xfa1a, 0xfa3e, 0xfa1a, 0xfbcb, 0xfb4f, 0xfbcb, 0xfb4f, 0xfde1, 0xfd04, 0xfde1, -0xfd04, 0xffb7, 0xfe74, 0xffb7, 0xfe74, 0xffb7, 0xfe74, 0x24c, 0x9f, 0x24c, 0x9f, -0x4e4, 0x2cc, 0x4e4, 0x2cc, 0x729, 0x4a6, 0x729, 0x4a6, 0xa2f, 0x745, 0xa2f, -0x745, 0xcc9, 0x97f, 0xcc9, 0x97f, 0xcc9, 0x97f, 0xfd2, 0xc2f, 0xfd2, 0xc2f, -0x136e, 0xf7d, 0x136e, 0xf7d, 0x1572, 0x1140, 0x1572, 0x1140, 0x16bb, 0x1255, 0x16bb, -0x1255, 0x1805, 0x137a, 0x1805, 0x137a, 0x189f, 0x13fe, 0x189f, 0x13fe, 0x189f, 0x13fe, -0x18ef, 0x1447, 0x18ef, 0x1447, 0x1991, 0x14f2, 0x1991, 0x14f2, 0x19e4, 0x155d, 0x19e4, -0x155d, 0x18dc, 0x1479, 0x18dc, 0x1479, 0x18a8, 0x1475, 0x18a8, 0x1475, 0x1892, 0x1499, -0x1892, 0x1499, 0x1892, 0x1499, 0x16db, 0x1325, 0x16db, 0x1325, 0x1565, 0x11f8, 0x1565, -0x11f8, 0x144b, 0x112b, 0x144b, 0x112b, 0x12f8, 0x1026, 0x12f8, 0x1026, 0x1192, 0xf10, -0x1192, 0xf10, 0x1192, 0xf10, 0x1121, 0xeed, 0x1121, 0xeed, 0x102f, 0xe46, 0x102f, -0xe46, 0xdcd, 0xc2c, 0xdcd, 0xc2c, 0xc67, 0xb08, 0xc67, 0xb08, 0xb3c, 0xa1a, -0xb3c, 0xa1a, 0x969, 0x87f, 0x969, 0x87f, 0x969, 0x87f, 0x77b, 0x6c2, 0x77b, -0x6c2, 0x627, 0x599, 0x627, 0x599, 0x611, 0x5aa, 0x611, 0x5aa, 0x4f6, 0x4b1, -0x4f6, 0x4b1, 0x3cf, 0x3a7, 0x3cf, 0x3a7, 0x330, 0x322, 0x330, 0x322, 0x330, -0x322, 0x108, 0x112, 0x108, 0x112, 0x6a, 0x89, 0x6a, 0x89, 0x2d, 0x61, -0x2d, 0x61, 0xfe5c, 0xfea2, 0xfe5c, 0xfea2, 0xfd62, 0xfdbb, 0xfd62, 0xfdbb, 0xfd62, -0xfdbb, 0xfc93, 0xfcff, 0xfc93, 0xfcff, 0xfb94, 0xfc12, 0xfb94, 0xfc12, 0xfaa0, 0xfb30, -0xfaa0, 0xfb30, 0xf9fa, 0xfa9b, 0xf9fa, 0xfa9b, 0xf9f4, 0xfaa5, 0xf9f4, 0xfaa5, 0xf9a6, -0xfa66, 0xf9a6, 0xfa66, 0xf9a6, 0xfa66, 0xf94e, 0xfa1b, 0xf94e, 0xfa1b, 0xf939, 0xfa11, -0xf939, 0xfa11, 0xf8bf, 0xf99f, 0xf8bf, 0xf99f, 0xf904, 0xf9ea, 0xf904, 0xf9ea, 0xf9d0, -0xfab7, 0xf9d0, 0xfab7, 0xfa9b, 0xfb80, 0xfa9b, 0xfb80, 0xfa9b, 0xfb80, 0xfbf5, 0xfcd3, -0xfbf5, 0xfcd3, 0xfcac, 0xfd80, 0xfcac, 0xfd80, 0xfd3f, 0xfe05, 0xfd3f, 0xfe05, 0xfd8e, -0xfe43, 0xfd8e, 0xfe43, 0xfe1f, 0xfebf, 0xfe1f, 0xfebf, 0xfe1f, 0xfebf, 0xff71, 0xfff9, -0xff71, 0xfff9, 0xffe0, 0x4d, 0xffe0, 0x4d, 0x67, 0xb8, 0x67, 0xb8, 0x106, -0x13a, 0x106, 0x13a, 0xf8, 0x10d, 0xf8, 0x10d, 0x1ba, 0x1b1, 0x1ba, 0x1b1, -0x1ba, 0x1b1, 0x2d8, 0x2b1, 0x2d8, 0x2b1, 0x2cc, 0x289, 0x2cc, 0x289, 0x2e9, -0x28a, 0x2e9, 0x28a, 0x3de, 0x367, 0x3de, 0x367, 0x4c7, 0x439, 0x4c7, 0x439, -0x542, 0x4a1, 0x542, 0x4a1, 0x542, 0x4a1, 0x5f3, 0x541, 0x5f3, 0x541, 0x6f6, -0x636, 0x6f6, 0x636, 0x7c8, 0x6fe, 0x7c8, 0x6fe, 0x91c, 0x849, 0x91c, 0x849, -0xa0a, 0x934, 0xa0a, 0x934, 0xa0a, 0x934, 0xa05, 0x92d, 0xa05, 0x92d, 0x9d3, -0x8fc, 0x9d3, 0x8fc, 0x9b7, 0x8e4, 0x9b7, 0x8e4, 0x8e1, 0x815, 0x8e1, 0x815, -0x785, 0x6c1, 0x785, 0x6c1, 0x6b8, 0x600, 0x6b8, 0x600, 0x6b8, 0x600, 0x4d8, -0x42d, 0x4d8, 0x42d, 0x309, 0x26d, 0x309, 0x26d, 0x28f, 0x203, 0x28f, 0x203, -0x1da, 0x15f, 0x1da, 0x15f, 0x11a, 0xb0, 0x11a, 0xb0, 0xff69, 0xff11, 0xff69, -0xff11, 0xff69, 0xff11, 0xfd91, 0xfd4b, 0xfd91, 0xfd4b, 0xfca3, 0xfc6e, 0xfca3, 0xfc6e, -0xfb02, 0xfadd, 0xfb02, 0xfadd, 0xfa0b, 0xf9f3, 0xfa0b, 0xf9f3, 0xf93a, 0xf92e, 0xf93a, -0xf92e, 0xf93a, 0xf92e, 0xf82c, 0xf829, 0xf82c, 0xf829, 0xf8cb, 0xf8cc, 0xf8cb, 0xf8cc, -0xf8b8, 0xf8ba, 0xf8b8, 0xf8ba, 0xf7d5, 0xf7d4, 0xf7d5, 0xf7d4, 0xf7ec, 0xf7e3, 0xf7ec, -0xf7e3, 0xf8b1, 0xf89a, 0xf8b1, 0xf89a, 0xf8b1, 0xf89a, 0xf989, 0xf95f, 0xf989, 0xf95f, -0xfa50, 0xfa0e, 0xfa50, 0xfa0e, 0xfbbb, 0xfb5b, 0xfbbb, 0xfb5b, 0xfcdd, 0xfc5a, 0xfcdd, -0xfc5a, 0xfdda, 0xfd30, 0xfdda, 0xfd30, 0xff5f, 0xfe8a, 0xff5f, 0xfe8a, 0xff5f, 0xfe8a, -0x13, 0xff0e, 0x13, 0xff0e, 0xb8, 0xff82, 0xb8, 0xff82, 0x2bf, 0x156, 0x2bf, -0x156, 0x41f, 0x282, 0x41f, 0x282, 0x4eb, 0x31a, 0x4eb, 0x31a, 0x4eb, 0x31a, -0x61b, 0x418, 0x61b, 0x418, 0x6e6, 0x4b2, 0x6e6, 0x4b2, 0x899, 0x637, 0x899, -0x637, 0xa8f, 0x804, 0xa8f, 0x804, 0xc68, 0x9b8, 0xc68, 0x9b8, 0xe58, 0xb87, -0xe58, 0xb87, 0xe58, 0xb87, 0xf39, 0xc4d, 0xf39, 0xc4d, 0x1097, 0xd95, 0x1097, -0xd95, 0x1232, 0xf1f, 0x1232, 0xf1f, 0x1332, 0x1014, 0x1332, 0x1014, 0x1577, 0x1252, -0x1577, 0x1252, 0x177d, 0x1454, 0x177d, 0x1454, 0x177d, 0x1454, 0x1772, 0x144a, 0x1772, -0x144a, 0x177a, 0x1455, 0x177a, 0x1455, 0x17fd, 0x14dd, 0x17fd, 0x14dd, 0x17a8, 0x148e, -0x17a8, 0x148e, 0x173c, 0x1429, 0x173c, 0x1429, 0x173c, 0x1429, 0x1778, 0x146b, 0x1778, -0x146b, 0x173f, 0x1437, 0x173f, 0x1437, 0x16a2, 0x139d, 0x16a2, 0x139d, 0x161b, 0x1318, -0x161b, 0x1318, 0x1554, 0x1251, 0x1554, 0x1251, 0x13ee, 0x10e9, 0x13ee, 0x10e9, 0x13ee, -0x10e9, 0x12fb, 0xff2, 0x12fb, 0xff2, 0x13aa, 0x109b, 0x13aa, 0x109b, 0x1378, 0x1062, -0x1378, 0x1062, 0x1314, 0xff5, 0x1314, 0xff5, 0x1392, 0x106b, 0x1392, 0x106b, 0x1337, -0x1009, 0x1337, 0x1009, 0x1337, 0x1009, 0x1352, 0x101e, 0x1352, 0x101e, 0x13e0, 0x10a9, -0x13e0, 0x10a9, 0x1499, 0x1160, 0x1499, 0x1160, 0x1510, 0x11db, 0x1510, 0x11db, 0x1427, -0x10f9, 0x1427, 0x10f9, 0x1427, 0x10f9, 0x13de, 0x10bc, 0x13de, 0x10bc, 0x1410, 0x10ff, -0x1410, 0x10ff, 0x13ba, 0x10c1, 0x13ba, 0x10c1, 0x13c2, 0x10e5, 0x13c2, 0x10e5, 0x12d2, -0x1019, 0x12d2, 0x1019, 0x11f0, 0xf60, 0x11f0, 0xf60, 0x11f0, 0xf60, 0x11ea, 0xf8a, -0x11ea, 0xf8a, 0x112d, 0xf01, 0x112d, 0xf01, 0x1008, 0xe16, 0x1008, 0xe16, 0xe87, -0xcd4, 0xe87, 0xcd4, 0xd50, 0xbe1, 0xd50, 0xbe1, 0xd50, 0xbe1, 0xbfc, 0xad4, -0xbfc, 0xad4, 0xae7, 0xa0a, 0xae7, 0xa0a, 0xa9e, 0xa0d, 0xa9e, 0xa0d, 0x973, -0x931, 0x973, 0x931, 0x7ec, 0x7fa, 0x7ec, 0x7fa, 0x698, 0x6f6, 0x698, 0x6f6, -0x698, 0x6f6, 0x418, 0x4c7, 0x418, 0x4c7, 0x167, 0x265, 0x167, 0x265, 0x52, -0x19e, 0x52, 0x19e, 0xfe8c, 0x23, 0xfe8c, 0x23, 0xfc95, 0xfe74, 0xfc95, 0xfe74, -0xfb77, 0xfd9a, 0xfb77, 0xfd9a, 0xfb77, 0xfd9a, 0xf945, 0xfba7, 0xf945, 0xfba7, 0xf719, -0xf9b6, 0xf719, 0xf9b6, 0xf4e7, 0xf7b8, 0xf4e7, 0xf7b8, 0xf2b5, 0xf5b3, 0xf2b5, 0xf5b3, -0xf0c0, 0xf3e4, 0xf0c0, 0xf3e4, 0xf0c0, 0xf3e4, 0xee98, 0xf1da, 0xee98, 0xf1da, 0xed54, -0xf0ad, 0xed54, 0xf0ad, 0xebeb, 0xef52, 0xebeb, 0xef52, 0xe9ea, 0xed56, 0xe9ea, 0xed56, -0xe93c, 0xeca5, 0xe93c, 0xeca5, 0xe936, 0xec93, 0xe936, 0xec93, 0xe936, 0xec93, 0xe879, -0xebc2, 0xe879, 0xebc2, 0xe8e6, 0xec14, 0xe8e6, 0xec14, 0xeaa1, 0xedac, 0xeaa1, 0xedac, -0xeba6, 0xee88, 0xeba6, 0xee88, 0xecf2, 0xefa7, 0xecf2, 0xefa7, 0xeec9, 0xf14c, 0xeec9, -0xf14c, 0xeec9, 0xf14c, 0xf01b, 0xf269, 0xf01b, 0xf269, 0xf1e1, 0xf3f8, 0xf1e1, 0xf3f8, -0xf484, 0xf665, 0xf484, 0xf665, 0xf69d, 0xf848, 0xf69d, 0xf848, 0xf749, 0xf8bf, 0xf749, -0xf8bf, 0xf749, 0xf8bf, 0xf866, 0xf9ab, 0xf866, 0xf9ab, 0xfa11, 0xfb29, 0xfa11, 0xfb29, -0xfaa6, 0xfb95, 0xfaa6, 0xfb95, 0xfbb4, 0xfc7f, 0xfbb4, 0xfc7f, 0xfcea, 0xfd97, 0xfcea, -0xfd97, 0xfd3c, 0xfdd0, 0xfd3c, 0xfdd0, 0xfd3c, 0xfdd0, 0xfdd8, 0xfe59, 0xfdd8, 0xfe59, -0xfe94, 0xff08, 0xfe94, 0xff08, 0xff45, 0xffb1, 0xff45, 0xffb1, 0xfeeb, 0xff52, 0xfeeb, -0xff52, 0xfdfd, 0xfe64, 0xfdfd, 0xfe64, 0xfeef, 0xff57, 0xfeef, 0xff57, 0xfeef, 0xff57, -0xffa0, 0xc, 0xffa0, 0xc, 0xff9c, 0xd, 0xff9c, 0xd, 0x3f, 0xb6, 0x3f, -0xb6, 0x4c, 0xc9, 0x4c, 0xc9, 0x11f, 0x1a2, 0x11f, 0x1a2, 0x11f, 0x1a2, -0x2b5, 0x33c, 0x2b5, 0x33c, 0x3f4, 0x47f, 0x3f4, 0x47f, 0x47c, 0x50b, 0x47c, -0x50b, 0x481, 0x512, 0x481, 0x512, 0x54b, 0x5e0, 0x54b, 0x5e0, 0x5ac, 0x647, -0x5ac, 0x647, 0x5ac, 0x647, 0x5cc, 0x66e, 0x5cc, 0x66e, 0x644, 0x6f0, 0x644, -0x6f0, 0x5e1, 0x69c, 0x5e1, 0x69c, 0x4a7, 0x576, 0x4a7, 0x576, 0x37d, 0x466, -0x37d, 0x466, 0x1d9, 0x2e4, 0x1d9, 0x2e4, 0x1d9, 0x2e4, 0xf, 0x143, 0xf, -0x143, 0xfeda, 0x40, 0xfeda, 0x40, 0xfcb4, 0xfe53, 0xfcb4, 0xfe53, 0xfa81, 0xfc62, -0xfa81, 0xfc62, 0xf86a, 0xfa95, 0xf86a, 0xfa95, 0xf86a, 0xfa95, 0xf5e3, 0xf85d, 0xf5e3, -0xf85d, 0xf3bc, 0xf68a, 0xf3bc, 0xf68a, 0xf17a, 0xf4a0, 0xf17a, 0xf4a0, 0xef3c, 0xf2bd, -0xef3c, 0xf2bd, 0xecb8, 0xf093, 0xecb8, 0xf093, 0xe9f7, 0xee2a, 0xe9f7, 0xee2a, 0xe9f7, -0xee2a, 0xe754, 0xebdb, 0xe754, 0xebdb, 0xe498, 0xe96c, 0xe498, 0xe96c, 0xe274, 0xe78c, -0xe274, 0xe78c, 0xe178, 0xe6cb, 0xe178, 0xe6cb, 0xe084, 0xe606, 0xe084, 0xe606, 0xdf53, -0xe4f7, 0xdf53, 0xe4f7, 0xdf53, 0xe4f7, 0xdf28, 0xe4e0, 0xdf28, 0xe4e0, 0xdf86, 0xe544, -0xdf86, 0xe544, 0xdf6f, 0xe524, 0xdf6f, 0xe524, 0xdf68, 0xe507, 0xdf68, 0xe507, 0xdfdb, -0xe557, 0xdfdb, 0xe557, 0xdfdb, 0xe557, 0xdfce, 0xe51b, 0xdfce, 0xe51b, 0xdfb7, 0xe4cb, -0xdfb7, 0xe4cb, 0xe052, 0xe525, 0xe052, 0xe525, 0xe063, 0xe4ef, 0xe063, 0xe4ef, 0xe038, -0xe479, 0xe038, 0xe479, 0xe171, 0xe565, 0xe171, 0xe565, 0xe171, 0xe565, 0xe308, 0xe6af, -0xe308, 0xe6af, 0xe413, 0xe770, 0xe413, 0xe770, 0xe605, 0xe91a, 0xe605, 0xe91a, 0xe7c3, -0xea96, 0xe7c3, 0xea96, 0xe959, 0xebf0, 0xe959, 0xebf0, 0xebd6, 0xee36, 0xebd6, 0xee36, -0xebd6, 0xee36, 0xedf1, 0xf022, 0xedf1, 0xf022, 0xf026, 0xf22e, 0xf026, 0xf22e, 0xf132, -0xf316, 0xf132, 0xf316, 0xf13c, 0xf301, 0xf13c, 0xf301, 0xf238, 0xf3e0, 0xf238, 0xf3e0, -0xf238, 0xf3e0, 0xf268, 0xf3f6, 0xf268, 0xf3f6, 0xf278, 0xf3e9, 0xf278, 0xf3e9, 0xf285, -0xf3d9, 0xf285, 0xf3d9, 0xf1dd, 0xf30f, 0xf1dd, 0xf30f, 0xf250, 0xf35b, 0xf250, 0xf35b, -0xf330, 0xf40c, 0xf330, 0xf40c, 0xf330, 0xf40c, 0xf3c9, 0xf46f, 0xf3c9, 0xf46f, 0xf418, -0xf47d, 0xf418, 0xf47d, 0xf4f6, 0xf512, 0xf4f6, 0xf512, 0xf702, 0xf6cc, 0xf702, 0xf6cc, -0xf8cc, 0xf83b, 0xf8cc, 0xf83b, 0xfb05, 0xfa12, 0xfb05, 0xfa12, 0xfb05, 0xfa12, 0xfe3e, -0xfce1, 0xfe3e, 0xfce1, 0x108, 0xff3e, 0x108, 0xff3e, 0x3d2, 0x198, 0x3d2, 0x198, -0x721, 0x479, 0x721, 0x479, 0x9c6, 0x6b1, 0x9c6, 0x6b1, 0x9c6, 0x6b1, 0xc86, -0x90a, 0xc86, 0x90a, 0xf77, 0xb9b, 0xf77, 0xb9b, 0x11ff, 0xdcd, 0x11ff, 0xdcd, -0x1431, 0xfb6, 0x1431, 0xfb6, 0x15a6, 0x10f1, 0x15a6, 0x10f1, 0x1783, 0x12a1, 0x1783, -0x12a1, 0x1783, 0x12a1, 0x18f4, 0x13f8, 0x18f4, 0x13f8, 0x197c, 0x1475, 0x197c, 0x1475, -0x19f4, 0x14f4, 0x19f4, 0x14f4, 0x19f1, 0x1509, 0x19f1, 0x1509, 0x1991, 0x14d0, 0x1991, -0x14d0, 0x18c8, 0x143d, 0x18c8, 0x143d, 0x18c8, 0x143d, 0x1758, 0x130f, 0x1758, 0x130f, -0x15e8, 0x11eb, 0x15e8, 0x11eb, 0x150b, 0x1164, 0x150b, 0x1164, 0x1446, 0x10fa, 0x1446, -0x10fa, 0x13cb, 0x10df, 0x13cb, 0x10df, 0x13cb, 0x10df, 0x1327, 0x109c, 0x1327, 0x109c, -0x11c7, 0xf9e, 0x11c7, 0xf9e, 0xffd, 0xe32, 0xffd, 0xe32, 0xe2a, 0xcb8, 0xe2a, -0xcb8, 0xc98, 0xb7b, 0xc98, 0xb7b, 0xad5, 0xa05, 0xad5, 0xa05, 0xad5, 0xa05, -0x96c, 0x8e3, 0x96c, 0x8e3, 0x856, 0x80c, 0x856, 0x80c, 0x67f, 0x66a, 0x67f, -0x66a, 0x44b, 0x465, 0x44b, 0x465, 0x345, 0x387, 0x345, 0x387, 0x345, 0x387, -0x217, 0x279, 0x217, 0x279, 0x8c, 0x108, 0x8c, 0x108, 0x8e, 0x120, 0x8e, -0x120, 0xffce, 0x73, 0xffce, 0x73, 0xfe48, 0xfefc, 0xfe48, 0xfefc, 0xfce9, 0xfdaa, -0xfce9, 0xfdaa, 0xfce9, 0xfdaa, 0xfb31, 0xfbfe, 0xfb31, 0xfbfe, 0xfa2e, 0xfb07, 0xfa2e, -0xfb07, 0xf891, 0xf975, 0xf891, 0xf975, 0xf738, 0xf827, 0xf738, 0xf827, 0xf729, 0xf825, -0xf729, 0xf825, 0xf699, 0xf7a0, 0xf699, 0xf7a0, 0xf699, 0xf7a0, 0xf641, 0xf753, 0xf641, -0xf753, 0xf59e, 0xf6bc, 0xf59e, 0xf6bc, 0xf4e5, 0xf60b, 0xf4e5, 0xf60b, 0xf56d, 0xf69c, -0xf56d, 0xf69c, 0xf625, 0xf75a, 0xf625, 0xf75a, 0xf625, 0xf75a, 0xf6c9, 0xf800, 0xf6c9, -0xf800, 0xf6fc, 0xf832, 0xf6fc, 0xf832, 0xf76f, 0xf89f, 0xf76f, 0xf89f, 0xf893, 0xf9ba, -0xf893, 0xf9ba, 0xf983, 0xfa9b, 0xf983, 0xfa9b, 0xfb66, 0xfc6b, 0xfb66, 0xfc6b, 0xfb66, -0xfc6b, 0xfd85, 0xfe72, 0xfd85, 0xfe72, 0xfe6a, 0xff3c, 0xfe6a, 0xff3c, 0xffc2, 0x73, -0xffc2, 0x73, 0xa8, 0x135, 0xa8, 0x135, 0x4a, 0xb1, 0x4a, 0xb1, 0xa3, -0xe1, 0xa3, 0xe1, 0xa3, 0xe1, 0x111, 0x126, 0x111, 0x126, 0x19b, 0x185, -0x19b, 0x185, 0x233, 0x1f3, 0x233, 0x1f3, 0x2e7, 0x27f, 0x2e7, 0x27f, 0x425, -0x397, 0x425, 0x397, 0x425, 0x397, 0x49a, 0x3e9, 0x49a, 0x3e9, 0x56b, 0x49a, -0x56b, 0x49a, 0x6df, 0x5f2, 0x6df, 0x5f2, 0x7ba, 0x6b5, 0x7ba, 0x6b5, 0x891, -0x778, 0x891, 0x778, 0x986, 0x85f, 0x986, 0x85f, 0x986, 0x85f, 0x97c, 0x84c, -0x97c, 0x84c, 0x978, 0x843, 0x978, 0x843, 0xa5a, 0x925, 0xa5a, 0x925, 0xa64, -0x933, 0xa64, 0x933, 0x973, 0x84a, 0x973, 0x84a, 0x870, 0x752, 0x870, 0x752, -0x870, 0x752, 0x77b, 0x66d, 0x77b, 0x66d, 0x643, 0x547, 0x643, 0x547, 0x54d, -0x466, 0x54d, 0x466, 0x4af, 0x3df, 0x4af, 0x3df, 0x3a9, 0x2f1, 0x3a9, 0x2f1, -0x3a9, 0x2f1, 0x20e, 0x171, 0x20e, 0x171, 0x4f, 0xffcd, 0x4f, 0xffcd, 0xfe67, -0xfe01, 0xfe67, 0xfe01, 0xfc55, 0xfc0b, 0xfc55, 0xfc0b, 0xfba3, 0xfb75, 0xfba3, 0xfb75, -0xfad2, 0xfac0, 0xfad2, 0xfac0, 0xfad2, 0xfac0, 0xf9ba, 0xf9c2, 0xf9ba, 0xf9c2, 0xf9b8, -0xf9d8, 0xf9b8, 0xf9d8, 0xf916, 0xf94d, 0xf916, 0xf94d, 0xf8c4, 0xf90f, 0xf8c4, 0xf90f, -0xf898, 0xf8f5, 0xf898, 0xf8f5, 0xf856, 0xf8c0, 0xf856, 0xf8c0, 0xf856, 0xf8c0, 0xf89b, -0xf910, 0xf89b, 0xf910, 0xf81d, 0xf898, 0xf81d, 0xf898, 0xf8ce, 0xf94a, 0xf8ce, 0xf94a, -0xfa43, 0xfabb, 0xfa43, 0xfabb, 0xfb83, 0xfbf2, 0xfb83, 0xfbf2, 0xfb83, 0xfbf2, 0xfd6d, -0xfdce, 0xfd6d, 0xfdce, 0xfe14, 0xfe62, 0xfe14, 0xfe62, 0xfea6, 0xfedc, 0xfea6, 0xfedc, -0xffde, 0xfff8, 0xffde, 0xfff8, 0xe0, 0xd8, 0xe0, 0xd8, 0x1bc, 0x18f, 0x1bc, -0x18f, 0x1bc, 0x18f, 0x1fd, 0x1a7, 0x1fd, 0x1a7, 0x377, 0x2f6, 0x377, 0x2f6, -0x5d5, 0x526, 0x5d5, 0x526, 0x762, 0x684, 0x762, 0x684, 0x962, 0x856, 0x962, -0x856, 0xb7e, 0xa42, 0xb7e, 0xa42, 0xb7e, 0xa42, 0xd33, 0xbca, 0xd33, 0xbca, -0xffd, 0xe68, 0xffd, 0xe68, 0x122e, 0x1070, 0x122e, 0x1070, 0x1377, 0x1194, 0x1377, -0x1194, 0x1523, 0x131e, 0x1523, 0x131e, 0x1523, 0x131e, 0x167b, 0x1458, 0x167b, 0x1458, -0x1849, 0x160c, 0x1849, 0x160c, 0x1998, 0x1744, 0x1998, 0x1744, 0x1a1e, 0x17b9, 0x1a1e, -0x17b9, 0x1a6c, 0x17f8, 0x1a6c, 0x17f8, 0x1a27, 0x17a7, 0x1a27, 0x17a7, 0x1a27, 0x17a7, -0x1a42, 0x17ba, 0x1a42, 0x17ba, 0x1a06, 0x1779, 0x1a06, 0x1779, 0x18fa, 0x1668, 0x18fa, -0x1668, 0x180e, 0x1579, 0x180e, 0x1579, 0x1735, 0x149e, 0x1735, 0x149e, 0x15f6, 0x135c, -0x15f6, 0x135c, 0x15f6, 0x135c, 0x15ad, 0x1311, 0x15ad, 0x1311, 0x1658, 0x13b8, 0x1658, -0x13b8, 0x1635, 0x1391, 0x1635, 0x1391, 0x15ef, 0x1347, 0x15ef, 0x1347, 0x162e, 0x137f, -0x162e, 0x137f, 0x162e, 0x137f, 0x1645, 0x1390, 0x1645, 0x1390, 0x1662, 0x13a6, 0x1662, -0x13a6, 0x1704, 0x1443, 0x1704, 0x1443, 0x1765, 0x149e, 0x1765, 0x149e, 0x1752, 0x1488, -0x1752, 0x1488, 0x172b, 0x145f, 0x172b, 0x145f, 0x172b, 0x145f, 0x1744, 0x147a, 0x1744, -0x147a, 0x167a, 0x13b5, 0x167a, 0x13b5, 0x14f5, 0x123a, 0x14f5, 0x123a, 0x1504, 0x1258, -0x1504, 0x1258, 0x14c4, 0x122d, 0x14c4, 0x122d, 0x1445, 0x11c9, 0x1445, 0x11c9, 0x1445, -0x11c9, 0x1411, 0x11b7, 0x1411, 0x11b7, 0x130e, 0x10dc, 0x130e, 0x10dc, 0x120d, 0x100b, -0x120d, 0x100b, 0xfe2, 0xe17, 0xfe2, 0xe17, 0xe35, 0xca6, 0xe35, 0xca6, 0xe35, -0xca6, 0xcf3, 0xba7, 0xcf3, 0xba7, 0xae0, 0x9dc, 0xae0, 0x9dc, 0xa2e, 0x977, -0xa2e, 0x977, 0x912, 0x8aa, 0x912, 0x8aa, 0x773, 0x75e, 0x773, 0x75e, 0x5bb, -0x5fb, 0x5bb, 0x5fb, 0x5bb, 0x5fb, 0x32f, 0x3c2, 0x32f, 0x3c2, 0x18a, 0x271, -0x18a, 0x271, 0x2b, 0x163, 0x2b, 0x163, 0xfea2, 0x27, 0xfea2, 0x27, 0xfcc7, -0xfe95, 0xfcc7, 0xfe95, 0xfa3e, 0xfc4f, 0xfa3e, 0xfc4f, 0xfa3e, 0xfc4f, 0xf858, 0xfaa6, -0xf858, 0xfaa6, 0xf6c5, 0xf948, 0xf6c5, 0xf948, 0xf4e5, 0xf795, 0xf4e5, 0xf795, 0xf3d5, -0xf6a9, 0xf3d5, 0xf6a9, 0xf2a2, 0xf591, 0xf2a2, 0xf591, 0xf2a2, 0xf591, 0xf0ec, 0xf3ed, -0xf0ec, 0xf3ed, 0xefdc, 0xf2e4, 0xefdc, 0xf2e4, 0xedbc, 0xf0c3, 0xedbc, 0xf0c3, 0xeb37, -0xee34, 0xeb37, 0xee34, 0xe96e, 0xec59, 0xe96e, 0xec59, 0xe860, 0xeb30, 0xe860, 0xeb30, -0xe860, 0xeb30, 0xe887, 0xeb35, 0xe887, 0xeb35, 0xe872, 0xeaf7, 0xe872, 0xeaf7, 0xe883, -0xeadc, 0xe883, 0xeadc, 0xe92b, 0xeb51, 0xe92b, 0xeb51, 0xea7a, 0xec6c, 0xea7a, 0xec6c, -0xea7a, 0xec6c, 0xecb5, 0xee6f, 0xecb5, 0xee6f, 0xef1b, 0xf09d, 0xef1b, 0xf09d, 0xf0de, -0xf228, 0xf0de, 0xf228, 0xf22b, 0xf33f, 0xf22b, 0xf33f, 0xf3a1, 0xf480, 0xf3a1, 0xf480, -0xf4d9, 0xf586, 0xf4d9, 0xf586, 0xf4d9, 0xf586, 0xf730, 0xf7af, 0xf730, 0xf7af, 0xf9fe, -0xfa53, 0xf9fe, 0xfa53, 0xfb9c, 0xfbcb, 0xfb9c, 0xfbcb, 0xfd14, 0xfd21, 0xfd14, 0xfd21, -0xfe33, 0xfe24, 0xfe33, 0xfe24, 0xfe72, 0xfe4b, 0xfe72, 0xfe4b, 0xfe72, 0xfe4b, 0xfeb6, -0xfe7b, 0xfeb6, 0xfe7b, 0xff2d, 0xfee2, 0xff2d, 0xfee2, 0xff0c, 0xfeb4, 0xff0c, 0xfeb4, -0xfece, 0xfe6c, 0xfece, 0xfe6c, 0xfee9, 0xfe80, 0xfee9, 0xfe80, 0xfee9, 0xfe80, 0xff59, -0xfeea, 0xff59, 0xfeea, 0xff45, 0xfed1, 0xff45, 0xfed1, 0xff09, 0xfe90, 0xff09, 0xfe90, -0xff49, 0xfecc, 0xff49, 0xfecc, 0xff15, 0xfe94, 0xff15, 0xfe94, 0xffe5, 0xff5f, 0xffe5, -0xff5f, 0xffe5, 0xff5f, 0x12b, 0xa0, 0x12b, 0xa0, 0x1c4, 0x134, 0x1c4, 0x134, -0x217, 0x182, 0x217, 0x182, 0x253, 0x1ba, 0x253, 0x1ba, 0x3a9, 0x30d, 0x3a9, -0x30d, 0x3ca, 0x32f, 0x3ca, 0x32f, 0x3ca, 0x32f, 0x2e9, 0x251, 0x2e9, 0x251, -0x349, 0x2b9, 0x349, 0x2b9, 0x30f, 0x28d, 0x30f, 0x28d, 0x2e6, 0x277, 0x2e6, -0x277, 0x2b1, 0x25e, 0x2b1, 0x25e, 0x2b1, 0x25e, 0xf9, 0xca, 0xf9, 0xca, -0xff1d, 0xff1a, 0xff1d, 0xff1a, 0xfd6f, 0xfda1, 0xfd6f, 0xfda1, 0xfbdb, 0xfc4c, 0xfbdb, -0xfc4c, 0xf9d6, 0xfa8f, 0xf9d6, 0xfa8f, 0xf76a, 0xf872, 0xf76a, 0xf872, 0xf76a, 0xf872, -0xf5d8, 0xf737, 0xf5d8, 0xf737, 0xf40e, 0xf5ca, 0xf40e, 0xf5ca, 0xf1c6, 0xf3e4, 0xf1c6, -0xf3e4, 0xf014, 0xf296, 0xf014, 0xf296, 0xee04, 0xf0eb, 0xee04, 0xf0eb, 0xebe3, 0xef2e, -0xebe3, 0xef2e, 0xebe3, 0xef2e, 0xea29, 0xedd5, 0xea29, 0xedd5, 0xe7ba, 0xebc0, 0xe7ba, -0xebc0, 0xe537, 0xe98f, 0xe537, 0xe98f, 0xe31c, 0xe7bc, 0xe31c, 0xe7bc, 0xe1bc, 0xe699, -0xe1bc, 0xe699, 0xe1bc, 0xe699, 0xe0fb, 0xe608, 0xe0fb, 0xe608, 0xe089, 0xe5b7, 0xe089, -0xe5b7, 0xe0ad, 0xe5ed, 0xe0ad, 0xe5ed, 0xe0cb, 0xe60e, 0xe0cb, 0xe60e, 0xe131, 0xe667, -0xe131, 0xe667, 0xe1ca, 0xe6e5, 0xe1ca, 0xe6e5, 0xe1ca, 0xe6e5, 0xe1b8, 0xe6a9, 0xe1b8, -0xe6a9, 0xe0b2, 0xe56d, 0xe0b2, 0xe56d, 0xe02f, 0xe4aa, 0xe02f, 0xe4aa, 0xe066, 0xe498, -0xe066, 0xe498, 0xe083, 0xe466, 0xe083, 0xe466, 0xe1de, 0xe56e, 0xe1de, 0xe56e, 0xe1de, -0xe56e, 0xe39e, 0xe6d9, 0xe39e, 0xe6d9, 0xe48c, 0xe772, 0xe48c, 0xe772, 0xe5ba, 0xe84e, -0xe5ba, 0xe84e, 0xe807, 0xea4e, 0xe807, 0xea4e, 0xea47, 0xec47, 0xea47, 0xec47, 0xea47, -0xec47, 0xec59, 0xee18, 0xec59, 0xee18, 0xeeb5, 0xf03d, 0xeeb5, 0xf03d, 0xf02e, 0xf187, -0xf02e, 0xf187, 0xf186, 0xf2b8, 0xf186, 0xf2b8, 0xf31a, 0xf42d, 0xf31a, 0xf42d, 0xf424, -0xf51f, 0xf424, 0xf51f, 0xf424, 0xf51f, 0xf41b, 0xf503, 0xf41b, 0xf503, 0xf3c2, 0xf49c, -0xf3c2, 0xf49c, 0xf38f, 0xf45c, 0xf38f, 0xf45c, 0xf2d8, 0xf399, 0xf2d8, 0xf399, 0xf2c8, -0xf37b, 0xf2c8, 0xf37b, 0xf2f5, 0xf397, 0xf2f5, 0xf397, 0xf2f5, 0xf397, 0xf31b, 0xf3a5, -0xf31b, 0xf3a5, 0xf331, 0xf39e, 0xf331, 0xf39e, 0xf354, 0xf39b, 0xf354, 0xf39b, 0xf503, -0xf51b, 0xf503, 0xf51b, 0xf5f4, 0xf5d5, 0xf5f4, 0xf5d5, 0xf5f4, 0xf5d5, 0xf6c1, 0xf660, -0xf6c1, 0xf660, 0xf913, 0xf867, 0xf913, 0xf867, 0xfb05, 0xfa08, 0xfb05, 0xfa08, 0xfe31, -0xfcdc, 0xfe31, 0xfcdc, 0x1ce, 0x1c, 0x1ce, 0x1c, 0x46d, 0x25c, 0x46d, 0x25c, -0x46d, 0x25c, 0x798, 0x526, 0x798, 0x526, 0xb23, 0x854, 0xb23, 0x854, 0xe13, -0xae9, 0xe13, 0xae9, 0xfb1, 0xc35, 0xfb1, 0xc35, 0x11ae, 0xde8, 0x11ae, 0xde8, -0x146e, 0x1069, 0x146e, 0x1069, 0x146e, 0x1069, 0x1680, 0x1248, 0x1680, 0x1248, 0x188c, -0x142f, 0x188c, 0x142f, 0x1adf, 0x166b, 0x1adf, 0x166b, 0x1c0e, 0x1792, 0x1c0e, 0x1792, -0x1c3f, 0x17cb, 0x1c3f, 0x17cb, 0x1c3f, 0x17cb, 0x1be8, 0x1789, 0x1be8, 0x1789, 0x1a88, -0x164c, 0x1a88, 0x164c, 0x1927, 0x151a, 0x1927, 0x151a, 0x182d, 0x1459, 0x182d, 0x1459, -0x17ce, 0x143b, 0x17ce, 0x143b, 0x16ff, 0x13b3, 0x16ff, 0x13b3, 0x16ff, 0x13b3, 0x1582, -0x1281, 0x1582, 0x1281, 0x147a, 0x11c7, 0x147a, 0x11c7, 0x12f6, 0x1090, 0x12f6, 0x1090, -0x1196, 0xf7b, 0x1196, 0xf7b, 0x10bc, 0xee9, 0x10bc, 0xee9, 0xf2e, 0xd9e, 0xf2e, -0xd9e, 0xf2e, 0xd9e, 0xd0b, 0xbb6, 0xd0b, 0xbb6, 0xb6a, 0xa4a, 0xb6a, 0xa4a, -0x9b1, 0x8bf, 0x9b1, 0x8bf, 0x7ac, 0x6e0, 0x7ac, 0x6e0, 0x6a4, 0x5f7, 0x6a4, -0x5f7, 0x6a4, 0x5f7, 0x645, 0x5b2, 0x645, 0x5b2, 0x588, 0x509, 0x588, 0x509, -0x4c6, 0x456, 0x4c6, 0x456, 0x463, 0x3ff, 0x463, 0x3ff, 0x2cb, 0x271, 0x2cb, -0x271, 0xb2, 0x60, 0xb2, 0x60, 0xb2, 0x60, 0xff58, 0xff10, 0xff58, 0xff10, -0xfde4, 0xfda6, 0xfde4, 0xfda6, 0xfc9d, 0xfc6b, 0xfc9d, 0xfc6b, 0xfbf0, 0xfbce, 0xfbf0, -0xfbce, 0xfaf0, 0xfadf, 0xfaf0, 0xfadf, 0xf8d5, 0xf8d9, 0xf8d5, 0xf8d9, 0xf8d5, 0xf8d9, -0xf78e, 0xf7aa, 0xf78e, 0xf7aa, 0xf74b, 0xf77f, 0xf74b, 0xf77f, 0xf701, 0xf751, 0xf701, -0xf751, 0xf6fe, 0xf769, 0xf6fe, 0xf769, 0xf6a2, 0xf728, 0xf6a2, 0xf728, 0xf6a2, 0xf728, -0xf6af, 0xf74f, 0xf6af, 0xf74f, 0xf680, 0xf737, 0xf680, 0xf737, 0xf694, 0xf75f, 0xf694, -0xf75f, 0xf859, 0xf932, 0xf859, 0xf932, 0xf942, 0xfa25, 0xf942, 0xfa25, 0xfa50, 0xfb37, -0xfa50, 0xfb37, 0xfa50, 0xfb37, 0xfbf5, 0xfcd9, 0xfbf5, 0xfcd9, 0xfcbc, 0xfd97, 0xfcbc, -0xfd97, 0xfdb6, 0xfe82, 0xfdb6, 0xfe82, 0xfe55, 0xff0c, 0xfe55, 0xff0c, 0xfe63, 0xfeff, -0xfe63, 0xfeff, 0xfe63, 0xfeff, 0xfe25, 0xfea3, 0xfe25, 0xfea3, 0xfe98, 0xfef4, 0xfe98, -0xfef4, 0xff57, 0xff8e, 0xff57, 0xff8e, 0xff3b, 0xff4d, 0xff3b, 0xff4d, 0xff7b, 0xff67, -0xff7b, 0xff67, 0x1f, 0xffe8, 0x1f, 0xffe8, 0x1f, 0xffe8, 0xef, 0x97, 0xef, -0x97, 0x261, 0x1ec, 0x261, 0x1ec, 0x405, 0x377, 0x405, 0x377, 0x56b, 0x4cb, -0x56b, 0x4cb, 0x799, 0x6ec, 0x799, 0x6ec, 0x932, 0x87f, 0x932, 0x87f, 0x932, -0x87f, 0x985, 0x8d3, 0x985, 0x8d3, 0x9c3, 0x917, 0x9c3, 0x917, 0x9b3, 0x914, -0x9b3, 0x914, 0x9d9, 0x94c, 0x9d9, 0x94c, 0x987, 0x912, 0x987, 0x912, 0x987, -0x912, 0x92e, 0x8d4, 0x92e, 0x8d4, 0x913, 0x8d7, 0x913, 0x8d7, 0x845, 0x829, -0x845, 0x829, 0x72f, 0x735, 0x72f, 0x735, 0x623, 0x64c, 0x623, 0x64c, 0x479, -0x4c4, 0x479, 0x4c4, 0x479, 0x4c4, 0x25b, 0x2c8, 0x25b, 0x2c8, 0x114, 0x1a0, -0x114, 0x1a0, 0xff38, 0xffe1, 0xff38, 0xffe1, 0xfcd4, 0xfd98, 0xfcd4, 0xfd98, 0xfb73, -0xfc4e, 0xfb73, 0xfc4e, 0xfa97, 0xfb87, 0xfa97, 0xfb87, 0xfa97, 0xfb87, 0xf9b3, 0xfab5, -0xf9b3, 0xfab5, 0xf93e, 0xfa4e, 0xf93e, 0xfa4e, 0xf962, 0xfa7e, 0xf962, 0xfa7e, 0xf8d3, -0xf9f8, 0xf8d3, 0xf9f8, 0xf834, 0xf95f, 0xf834, 0xf95f, 0xf834, 0xf95f, 0xf807, 0xf935, -0xf807, 0xf935, 0xf77c, 0xf8aa, 0xf77c, 0xf8aa, 0xf76c, 0xf898, 0xf76c, 0xf898, 0xf89f, -0xf9c6, 0xf89f, 0xf9c6, 0xf9ca, 0xfae9, 0xf9ca, 0xfae9, 0xfa59, 0xfb6d, 0xfa59, 0xfb6d, -0xfa59, 0xfb6d, 0xfb9b, 0xfca0, 0xfb9b, 0xfca0, 0xfce0, 0xfdd3, 0xfce0, 0xfdd3, 0xfda8, -0xfe85, 0xfda8, 0xfe85, 0xfe4e, 0xff12, 0xfe4e, 0xff12, 0xfecb, 0xff70, 0xfecb, 0xff70, -0xffc3, 0x45, 0xffc3, 0x45, 0xffc3, 0x45, 0x50, 0xab, 0x50, 0xab, 0x167, -0x196, 0x167, 0x196, 0x2ec, 0x2ea, 0x2ec, 0x2ea, 0x2f0, 0x2ba, 0x2f0, 0x2ba, -0x3d7, 0x369, 0x3d7, 0x369, 0x3d7, 0x369, 0x5f2, 0x549, 0x5f2, 0x549, 0x85f, -0x77a, 0x85f, 0x77a, 0xaed, 0x9ca, 0xaed, 0x9ca, 0xccb, 0xb6a, 0xccb, 0xb6a, -0xe7d, 0xcdf, 0xe7d, 0xcdf, 0x100e, 0xe35, 0x100e, 0xe35, 0x100e, 0xe35, 0x1243, -0x1032, 0x1243, 0x1032, 0x145e, 0x1219, 0x145e, 0x1219, 0x1588, 0x1314, 0x1588, 0x1314, -0x170d, 0x1470, 0x170d, 0x1470, 0x1869, 0x15a9, 0x1869, 0x15a9, 0x18f6, 0x161b, 0x18f6, -0x161b, 0x18f6, 0x161b, 0x197a, 0x168b, 0x197a, 0x168b, 0x1960, 0x1663, 0x1960, 0x1663, -0x18d7, 0x15d5, 0x18d7, 0x15d5, 0x18c1, 0x15bf, 0x18c1, 0x15bf, 0x181f, 0x1523, 0x181f, -0x1523, 0x181f, 0x1523, 0x175e, 0x146d, 0x175e, 0x146d, 0x16ea, 0x1408, 0x16ea, 0x1408, -0x167d, 0x13ad, 0x167d, 0x13ad, 0x1664, 0x13a7, 0x1664, 0x13a7, 0x168c, 0x13e2, 0x168c, -0x13e2, 0x1679, 0x13e2, 0x1679, 0x13e2, 0x1679, 0x13e2, 0x164e, 0x13c8, 0x164e, 0x13c8, -0x1676, 0x13fd, 0x1676, 0x13fd, 0x1703, 0x1494, 0x1703, 0x1494, 0x17ed, 0x1584, 0x17ed, -0x1584, 0x17dc, 0x1575, 0x17dc, 0x1575, 0x17ad, 0x1542, 0x17ad, 0x1542, 0x17ad, 0x1542, -0x17b2, 0x1540, 0x17b2, 0x1540, 0x16d3, 0x1456, 0x16d3, 0x1456, 0x1663, 0x13d8, 0x1663, -0x13d8, 0x171b, 0x1481, 0x171b, 0x1481, 0x184e, 0x15a5, 0x184e, 0x15a5, 0x184e, 0x15a5, -0x189f, 0x15e8, 0x189f, 0x15e8, 0x18a1, 0x15de, 0x18a1, 0x15de, 0x17d8, 0x150f, 0x17d8, -0x150f, 0x1580, 0x12b5, 0x1580, 0x12b5, 0x13d8, 0x1114, 0x13d8, 0x1114, 0x12de, 0x1029, -0x12de, 0x1029, 0x12de, 0x1029, 0x1184, 0xee6, 0x1184, 0xee6, 0xffa, 0xd7f, 0xffa, -0xd7f, 0xe78, 0xc2a, 0xe78, 0xc2a, 0xc23, 0xa0e, 0xc23, 0xa0e, 0x98d, 0x7bb, -0x98d, 0x7bb, 0x80f, 0x68a, 0x80f, 0x68a, 0x80f, 0x68a, 0x645, 0x516, 0x645, -0x516, 0x471, 0x39f, 0x471, 0x39f, 0x2fa, 0x28c, 0x2fa, 0x28c, 0x150, 0x149, -0x150, 0x149, 0xff53, 0xffb6, 0xff53, 0xffb6, 0xff53, 0xffb6, 0xfc64, 0xfd2f, 0xfc64, -0xfd2f, 0xfa3c, 0xfb6e, 0xfa3c, 0xfb6e, 0xf834, 0xf9c7, 0xf834, 0xf9c7, 0xf597, 0xf785, -0xf597, 0xf785, 0xf43f, 0xf67e, 0xf43f, 0xf67e, 0xf2b5, 0xf53a, 0xf2b5, 0xf53a, 0xf2b5, -0xf53a, 0xf0c2, 0xf381, 0xf0c2, 0xf381, 0xef19, 0xf204, 0xef19, 0xf204, 0xed4a, 0xf054, -0xed4a, 0xf054, 0xeb5e, 0xee77, 0xeb5e, 0xee77, 0xe9af, 0xecc9, 0xe9af, 0xecc9, 0xe8ca, -0xebd7, 0xe8ca, 0xebd7, 0xe8ca, 0xebd7, 0xe771, 0xea64, 0xe771, 0xea64, 0xe5ce, 0xe89b, -0xe5ce, 0xe89b, 0xe5d4, 0xe871, 0xe5d4, 0xe871, 0xe6a1, 0xe906, 0xe6a1, 0xe906, 0xe7b0, -0xe9d7, 0xe7b0, 0xe9d7, 0xe7b0, 0xe9d7, 0xea11, 0xebf5, 0xea11, 0xebf5, 0xec7f, 0xee1d, -0xec7f, 0xee1d, 0xeea8, 0xf001, 0xeea8, 0xf001, 0xf126, 0xf23c, 0xf126, 0xf23c, 0xf312, -0xf3e9, 0xf312, 0xf3e9, 0xf4e5, 0xf580, 0xf4e5, 0xf580, 0xf4e5, 0xf580, 0xf773, 0xf7db, -0xf773, 0xf7db, 0xfa79, 0xfab3, 0xfa79, 0xfab3, 0xfd47, 0xfd5c, 0xfd47, 0xfd5c, 0xff31, -0xff29, 0xff31, 0xff29, 0x90, 0x72, 0x90, 0x72, 0x198, 0x16b, 0x198, 0x16b, -0x198, 0x16b, 0x181, 0x14d, 0x181, 0x14d, 0x16a, 0x133, 0x16a, 0x133, 0x1b4, -0x17f, 0x1b4, 0x17f, 0x15e, 0x12d, 0x15e, 0x12d, 0x10d, 0xe2, 0x10d, 0xe2, -0x10d, 0xe2, 0xc6, 0xa1, 0xc6, 0xa1, 0x4a, 0x2a, 0x4a, 0x2a, 0xffe8, -0xffcc, 0xffe8, 0xffcc, 0x63, 0x46, 0x63, 0x46, 0x103, 0xe2, 0x103, 0xe2, -0x12c, 0x104, 0x12c, 0x104, 0x12c, 0x104, 0x212, 0x1de, 0x212, 0x1de, 0x2aa, -0x267, 0x2aa, 0x267, 0x2f1, 0x29c, 0x2f1, 0x29c, 0x3f6, 0x38d, 0x3f6, 0x38d, -0x4ce, 0x451, 0x4ce, 0x451, 0x4ce, 0x451, 0x4c9, 0x439, 0x4c9, 0x439, 0x4c1, -0x420, 0x4c1, 0x420, 0x576, 0x4c9, 0x576, 0x4c9, 0x576, 0x4c3, 0x576, 0x4c3, -0x52f, 0x47d, 0x52f, 0x47d, 0x51d, 0x476, 0x51d, 0x476, 0x51d, 0x476, 0x385, -0x2f4, 0x385, 0x2f4, 0x143, 0xd3, 0x143, 0xd3, 0xff4a, 0xff07, 0xff4a, 0xff07, -0xfe16, 0xfe0d, 0xfe16, 0xfe0d, 0xfcab, 0xfce7, 0xfcab, 0xfce7, 0xfa0a, 0xfa98, 0xfa0a, -0xfa98, 0xfa0a, 0xfa98, 0xf7f6, 0xf8df, 0xf7f6, 0xf8df, 0xf543, 0xf691, 0xf543, 0xf691, -0xf217, 0xf3d0, 0xf217, 0xf3d0, 0xf000, 0xf229, 0xf000, 0xf229, 0xedca, 0xf066, 0xedca, -0xf066, 0xedca, 0xf066, 0xebad, 0xeebb, 0xebad, 0xeebb, 0xe9b3, 0xed31, 0xe9b3, 0xed31, -0xe74b, 0xeb32, 0xe74b, 0xeb32, 0xe491, 0xe8da, 0xe491, 0xe8da, 0xe21e, 0xe6be, 0xe21e, -0xe6be, 0xe0be, 0xe5a9, 0xe0be, 0xe5a9, 0xe0be, 0xe5a9, 0xdf6e, 0xe496, 0xdf6e, 0xe496, -0xde52, 0xe3a6, 0xde52, 0xe3a6, 0xdeb0, 0xe421, 0xdeb0, 0xe421, 0xdef2, 0xe46e, 0xdef2, -0xe46e, 0xded8, 0xe44f, 0xded8, 0xe44f, 0xdf50, 0xe4b2, 0xdf50, 0xe4b2, 0xdf50, 0xe4b2, -0xdf72, 0xe4af, 0xdf72, 0xe4af, 0xdfcd, 0xe4d9, 0xdfcd, 0xe4d9, 0xe0a3, 0xe571, 0xe0a3, -0xe571, 0xe0ef, 0xe577, 0xe0ef, 0xe577, 0xe0ad, 0xe4e6, 0xe0ad, 0xe4e6, 0xe0ad, 0xe4e6, -0xe0aa, 0xe492, 0xe0aa, 0xe492, 0xe186, 0xe518, 0xe186, 0xe518, 0xe2ab, 0xe5e9, 0xe2ab, -0xe5e9, 0xe3e3, 0xe6cf, 0xe3e3, 0xe6cf, 0xe5be, 0xe85c, 0xe5be, 0xe85c, 0xe7ed, 0xea42, -0xe7ed, 0xea42, 0xe7ed, 0xea42, 0xea06, 0xec1a, 0xea06, 0xec1a, 0xecb6, 0xee91, 0xecb6, -0xee91, 0xef5d, 0xf107, 0xef5d, 0xf107, 0xf0e6, 0xf268, 0xf0e6, 0xf268, 0xf237, 0xf398, -0xf237, 0xf398, 0xf37c, 0xf4c3, 0xf37c, 0xf4c3, 0xf37c, 0xf4c3, 0xf401, 0xf534, 0xf401, -0xf534, 0xf455, 0xf579, 0xf455, 0xf579, 0xf56c, 0xf683, 0xf56c, 0xf683, 0xf5b5, 0xf6c0, -0xf5b5, 0xf6c0, 0xf4bb, 0xf5b8, 0xf4bb, 0xf5b8, 0xf4bb, 0xf5b8, 0xf48a, 0xf577, 0xf48a, -0xf577, 0xf46c, 0xf544, 0xf46c, 0xf544, 0xf407, 0xf4c4, 0xf407, 0xf4c4, 0xf407, 0xf4a2, -0xf407, 0xf4a2, 0xf482, 0xf4f2, 0xf482, 0xf4f2, 0xf544, 0xf581, 0xf544, 0xf581, 0xf544, -0xf581, 0xf654, 0xf655, 0xf654, 0xf655, 0xf80e, 0xf7c9, 0xf80e, 0xf7c9, 0xf952, 0xf8c0, -0xf952, 0xf8c0, 0xfb30, 0xfa49, 0xfb30, 0xfa49, 0xfdef, 0xfcaf, 0xfdef, 0xfcaf, 0xb9, -0xff1a, 0xb9, 0xff1a, 0xb9, 0xff1a, 0x3da, 0x1da, 0x3da, 0x1da, 0x68f, 0x42d, -0x68f, 0x42d, 0x9a3, 0x6e2, 0x9a3, 0x6e2, 0xc15, 0x8f9, 0xc15, 0x8f9, 0xe12, -0xaa0, 0xe12, 0xaa0, 0xe12, 0xaa0, 0x1142, 0xd82, 0x1142, 0xd82, 0x13bd, 0xfb9, -0x13bd, 0xfb9, 0x15fb, 0x11be, 0x15fb, 0x11be, 0x184b, 0x13e1, 0x184b, 0x13e1, 0x1980, -0x14f7, 0x1980, 0x14f7, 0x19e7, 0x154c, 0x19e7, 0x154c, 0x19e7, 0x154c, 0x1975, 0x14d7, -0x1975, 0x14d7, 0x18c3, 0x142f, 0x18c3, 0x142f, 0x180f, 0x1393, 0x180f, 0x1393, 0x1762, -0x130b, 0x1762, 0x130b, 0x169e, 0x1278, 0x169e, 0x1278, 0x14e6, 0x10fb, 0x14e6, 0x10fb, -0x14e6, 0x10fb, 0x1307, 0xf5f, 0x1307, 0xf5f, 0x11dd, 0xe82, 0x11dd, 0xe82, 0x10ed, -0xde3, 0x10ed, 0xde3, 0x100b, 0xd56, 0x100b, 0xd56, 0xefd, 0xca1, 0xefd, 0xca1, -0xefd, 0xca1, 0xddb, 0xbd8, 0xddb, 0xbd8, 0xd0b, 0xb61, 0xd0b, 0xb61, 0xbfd, -0xaab, 0xbfd, 0xaab, 0xa4d, 0x950, 0xa4d, 0x950, 0x876, 0x7ca, 0x876, 0x7ca, -0x743, 0x6e4, 0x743, 0x6e4, 0x743, 0x6e4, 0x6b7, 0x6a0, 0x6b7, 0x6a0, 0x606, -0x632, 0x606, 0x632, 0x502, 0x56b, 0x502, 0x56b, 0x3de, 0x47e, 0x3de, 0x47e, -0x276, 0x349, 0x276, 0x349, 0x141, 0x241, 0x141, 0x241, 0x141, 0x241, 0xd8, -0x1ff, 0xd8, 0x1ff, 0xffd4, 0x11d, 0xffd4, 0x11d, 0xfdf2, 0xff59, 0xfdf2, 0xff59, -0xfc2c, 0xfdac, 0xfc2c, 0xfdac, 0xfa95, 0xfc2a, 0xfa95, 0xfc2a, 0xfa95, 0xfc2a, 0xf917, -0xfabb, 0xf917, 0xfabb, 0xf7e7, 0xf997, 0xf7e7, 0xf997, 0xf7c9, 0xf981, 0xf7c9, 0xf981, -0xf798, 0xf954, 0xf798, 0xf954, 0xf779, 0xf936, 0xf779, 0xf936, 0xf7ae, 0xf967, 0xf7ae, -0xf967, 0xf7ae, 0xf967, 0xf72b, 0xf8dc, 0xf72b, 0xf8dc, 0xf6cb, 0xf870, 0xf6cb, 0xf870, -0xf733, 0xf8c9, 0xf733, 0xf8c9, 0xf86a, 0xf9ed, 0xf86a, 0xf9ed, 0xf96c, 0xfad8, 0xf96c, -0xfad8, 0xfb16, 0xfc69, 0xfb16, 0xfc69, 0xfb16, 0xfc69, 0xfcdf, 0xfe15, 0xfcdf, 0xfe15, -0xfd2f, 0xfe46, 0xfd2f, 0xfe46, 0xfd99, 0xfe8f, 0xfd99, 0xfe8f, 0xfdf6, 0xfec9, 0xfdf6, -0xfec9, 0xfe30, 0xfedf, 0xfe30, 0xfedf, 0xfe30, 0xfedf, 0xfe01, 0xfe8c, 0xfe01, 0xfe8c, -0xfdf0, 0xfe57, 0xfdf0, 0xfe57, 0xfed1, 0xff16, 0xfed1, 0xff16, 0xfeb9, 0xfedc, 0xfeb9, -0xfedc, 0xfea0, 0xfea3, 0xfea0, 0xfea3, 0xff65, 0xff4c, 0xff65, 0xff4c, 0xff65, 0xff4c, -0xff8f, 0xff5d, 0xff8f, 0xff5d, 0xffa9, 0xff60, 0xffa9, 0xff60, 0x3c, 0xffe2, 0x3c, -0xffe2, 0x181, 0x119, 0x181, 0x119, 0x381, 0x311, 0x381, 0x311, 0x56e, 0x4f9, -0x56e, 0x4f9, 0x56e, 0x4f9, 0x6b0, 0x63a, 0x6b0, 0x63a, 0x704, 0x692, 0x704, -0x692, 0x749, 0x6de, 0x749, 0x6de, 0x797, 0x738, 0x797, 0x738, 0x764, 0x713, -0x764, 0x713, 0x764, 0x713, 0x770, 0x730, 0x770, 0x730, 0x77f, 0x752, 0x77f, -0x752, 0x716, 0x6fe, 0x716, 0x6fe, 0x6b0, 0x6af, 0x6b0, 0x6af, 0x5d8, 0x5ed, -0x5d8, 0x5ed, 0x4f2, 0x51f, 0x4f2, 0x51f, 0x4f2, 0x51f, 0x465, 0x4ab, 0x465, -0x4ab, 0x35f, 0x3bd, 0x35f, 0x3bd, 0x1d8, 0x24d, 0x1d8, 0x24d, 0xff86, 0x11, -0xff86, 0x11, 0xfd56, 0xfdf7, 0xfd56, 0xfdf7, 0xfd56, 0xfdf7, 0xfbe7, 0xfc9c, 0xfbe7, -0xfc9c, 0xfae2, 0xfbab, 0xfae2, 0xfbab, 0xfa93, 0xfb6e, 0xfa93, 0xfb6e, 0xfa92, 0xfb7d, -0xfa92, 0xfb7d, 0xfa37, 0xfb30, 0xfa37, 0xfb30, 0xf9da, 0xfadf, 0xf9da, 0xfadf, 0xf9da, -0xfadf, 0xf9f5, 0xfb04, 0xf9f5, 0xfb04, 0xf97f, 0xfa96, 0xf97f, 0xfa96, 0xf956, 0xfa72, -0xf956, 0xfa72, 0xfa30, 0xfb4e, 0xfa30, 0xfb4e, 0xfadf, 0xfbfa, 0xfadf, 0xfbfa, 0xfb26, -0xfc3b, 0xfb26, 0xfc3b, 0xfb26, 0xfc3b, 0xfbee, 0xfcf8, 0xfbee, 0xfcf8, 0xfd4f, 0xfe4a, -0xfd4f, 0xfe4a, 0xfe44, 0xff2b, 0xfe44, 0xff2b, 0xffb8, 0x86, 0xffb8, 0x86, 0x138, -0x1e8, 0x138, 0x1e8, 0x138, 0x1e8, 0x1d7, 0x263, 0x1d7, 0x263, 0x20b, 0x26e, -0x20b, 0x26e, 0x2b7, 0x2ec, 0x2b7, 0x2ec, 0x3d0, 0x3d3, 0x3d0, 0x3d3, 0x490, -0x45c, 0x490, 0x45c, 0x612, 0x5a5, 0x612, 0x5a5, 0x612, 0x5a5, 0x78a, 0x6e1, -0x78a, 0x6e1, 0x89b, 0x7b3, 0x89b, 0x7b3, 0xa46, 0x91f, 0xa46, 0x91f, 0xc18, -0xab2, 0xc18, 0xab2, 0xdbc, 0xc19, 0xdbc, 0xc19, 0xf2d, 0xd50, 0xf2d, 0xd50, -0xf2d, 0xd50, 0x115b, 0xf47, 0x115b, 0xf47, 0x139e, 0x1158, 0x139e, 0x1158, 0x14bf, -0x124b, 0x14bf, 0x124b, 0x16d5, 0x143a, 0x16d5, 0x143a, 0x192f, 0x1673, 0x192f, 0x1673, -0x192f, 0x1673, 0x1999, 0x16c3, 0x1999, 0x16c3, 0x1990, 0x16a7, 0x1990, 0x16a7, 0x1937, -0x1643, 0x1937, 0x1643, 0x185b, 0x1562, 0x185b, 0x1562, 0x1784, 0x148c, 0x1784, 0x148c, -0x1726, 0x1434, 0x1726, 0x1434, 0x1726, 0x1434, 0x16d9, 0x13f2, 0x16d9, 0x13f2, 0x15e2, -0x1309, 0x15e2, 0x1309, 0x15f5, 0x132d, 0x15f5, 0x132d, 0x165b, 0x13a5, 0x165b, 0x13a5, -0x1592, 0x12ed, 0x1592, 0x12ed, 0x1505, 0x1271, 0x1505, 0x1271, 0x1505, 0x1271, 0x14c4, -0x123f, 0x14c4, 0x123f, 0x14db, 0x1262, 0x14db, 0x1262, 0x1593, 0x1323, 0x1593, 0x1323, -0x1618, 0x13ad, 0x1618, 0x13ad, 0x16cf, 0x1465, 0x16cf, 0x1465, 0x16cf, 0x1465, 0x1768, -0x14fa, 0x1768, 0x14fa, 0x1808, 0x1592, 0x1808, 0x1592, 0x186f, 0x15ef, 0x186f, 0x15ef, -0x1835, 0x15a9, 0x1835, 0x15a9, 0x18ce, 0x1634, 0x18ce, 0x1634, 0x19d5, 0x172c, 0x19d5, -0x172c, 0x19d5, 0x172c, 0x1a5b, 0x17a6, 0x1a5b, 0x17a6, 0x1a47, 0x1788, 0x1a47, 0x1788, -0x1a18, 0x1753, 0x1a18, 0x1753, 0x18e4, 0x1620, 0x18e4, 0x1620, 0x1772, 0x14b5, 0x1772, -0x14b5, 0x16d8, 0x142b, 0x16d8, 0x142b, 0x16d8, 0x142b, 0x1556, 0x12c3, 0x1556, 0x12c3, -0x1386, 0x1116, 0x1386, 0x1116, 0x119b, 0xf59, 0x119b, 0xf59, 0xf0d, 0xd04, 0xf0d, -0xd04, 0xbfb, 0xa35, 0xbfb, 0xa35, 0xbfb, 0xa35, 0x9f5, 0x87c, 0x9f5, 0x87c, -0x8ce, 0x7ab, 0x8ce, 0x7ab, 0x75c, 0x698, 0x75c, 0x698, 0x6a2, 0x642, 0x6a2, -0x642, 0x592, 0x59a, 0x592, 0x59a, 0x3b0, 0x424, 0x3b0, 0x424, 0x3b0, 0x424, -0x126, 0x206, 0x126, 0x206, 0xfeda, 0x24, 0xfeda, 0x24, 0xfca0, 0xfe51, 0xfca0, -0xfe51, 0xf9cf, 0xfbe1, 0xf9cf, 0xfbe1, 0xf797, 0xfa02, 0xf797, 0xfa02, 0xf4ee, 0xf7a8, -0xf4ee, 0xf7a8, 0xf4ee, 0xf7a8, 0xf265, 0xf563, 0xf265, 0xf563, 0xf0d4, 0xf40a, 0xf0d4, -0xf40a, 0xef53, 0xf2b3, 0xef53, 0xf2b3, 0xed3d, 0xf0ba, 0xed3d, 0xf0ba, 0xea47, 0xedd2, -0xea47, 0xedd2, 0xea47, 0xedd2, 0xe89f, 0xec2c, 0xe89f, 0xec2c, 0xe76b, 0xeaec, 0xe76b, -0xeaec, 0xe555, 0xe8bd, 0xe555, 0xe8bd, 0xe4b2, 0xe7f7, 0xe4b2, 0xe7f7, 0xe480, 0xe797, -0xe480, 0xe797, 0xe465, 0xe748, 0xe465, 0xe748, 0xe465, 0xe748, 0xe559, 0xe801, 0xe559, -0xe801, 0xe6a9, 0xe910, 0xe6a9, 0xe910, 0xe84c, 0xea71, 0xe84c, 0xea71, 0xea5c, 0xec3d, -0xea5c, 0xec3d, 0xed12, 0xeeb0, 0xed12, 0xeeb0, 0xef71, 0xf0cf, 0xef71, 0xf0cf, 0xef71, -0xf0cf, 0xf19e, 0xf2be, 0xf19e, 0xf2be, 0xf4d9, 0xf5c0, 0xf4d9, 0xf5c0, 0xf7de, 0xf891, -0xf7de, 0xf891, 0xf9e8, 0xfa6d, 0xf9e8, 0xfa6d, 0xfc37, 0xfc93, 0xfc37, 0xfc93, 0xfc37, -0xfc93, 0xfdf6, 0xfe2e, 0xfdf6, 0xfe2e, 0xfe93, 0xfeae, 0xfe93, 0xfeae, 0xfef4, 0xfef6, -0xfef4, 0xfef6, 0xff17, 0xff05, 0xff17, 0xff05, 0xff67, 0xff44, 0xff67, 0xff44, 0xffb7, -0xff86, 0xffb7, 0xff86, 0xffb7, 0xff86, 0x43, 0x6, 0x43, 0x6, 0x60, 0x19, -0x60, 0x19, 0xffd1, 0xff7f, 0xffd1, 0xff7f, 0xffc8, 0xff6d, 0xffc8, 0xff6d, 0x6a, -0x5, 0x6a, 0x5, 0xfc, 0x8b, 0xfc, 0x8b, 0xfc, 0x8b, 0x186, 0x10a, -0x186, 0x10a, 0x292, 0x20a, 0x292, 0x20a, 0x2ec, 0x258, 0x2ec, 0x258, 0x383, -0x2e5, 0x383, 0x2e5, 0x472, 0x3cb, 0x472, 0x3cb, 0x472, 0x3cb, 0x4be, 0x40f, -0x4be, 0x40f, 0x511, 0x45e, 0x511, 0x45e, 0x5df, 0x52c, 0x5df, 0x52c, 0x631, -0x584, 0x631, 0x584, 0x527, 0x485, 0x527, 0x485, 0x4cf, 0x440, 0x4cf, 0x440, -0x4cf, 0x440, 0x442, 0x3cc, 0x442, 0x3cc, 0x319, 0x2c5, 0x319, 0x2c5, 0x213, -0x1e8, 0x213, 0x1e8, 0x79, 0x80, 0x79, 0x80, 0xfe60, 0xfea0, 0xfe60, 0xfea0, -0xfbe6, 0xfc67, 0xfbe6, 0xfc67, 0xfbe6, 0xfc67, 0xfa2b, 0xfaf3, 0xfa2b, 0xfaf3, 0xf7c2, -0xf8d7, 0xf7c2, 0xf8d7, 0xf51b, 0xf680, 0xf51b, 0xf680, 0xf310, 0xf4c8, 0xf310, 0xf4c8, -0xf077, 0xf282, 0xf077, 0xf282, 0xf077, 0xf282, 0xee36, 0xf094, 0xee36, 0xf094, 0xebc0, -0xee6f, 0xebc0, 0xee6f, 0xe94c, 0xec47, 0xe94c, 0xec47, 0xe6ad, 0xe9ee, 0xe6ad, 0xe9ee, -0xe3ff, 0xe77f, 0xe3ff, 0xe77f, 0xe300, 0xe6b6, 0xe300, 0xe6b6, 0xe300, 0xe6b6, 0xe1cc, -0xe5ae, 0xe1cc, 0xe5ae, 0xdff7, 0xe3fa, 0xdff7, 0xe3fa, 0xdf07, 0xe321, 0xdf07, 0xe321, -0xde22, 0xe247, 0xde22, 0xe247, 0xdd45, 0xe16b, 0xdd45, 0xe16b, 0xdd45, 0xe16b, 0xdd61, -0xe17b, 0xdd61, 0xe17b, 0xdd83, 0xe188, 0xdd83, 0xe188, 0xdd24, 0xe10a, 0xdd24, 0xe10a, -0xdd74, 0xe133, 0xdd74, 0xe133, 0xde17, 0xe1a8, 0xde17, 0xe1a8, 0xde52, 0xe1b1, 0xde52, -0xe1b1, 0xde52, 0xe1b1, 0xde2f, 0xe157, 0xde2f, 0xe157, 0xde94, 0xe181, 0xde94, 0xe181, -0xdf12, 0xe1c5, 0xdf12, 0xe1c5, 0xdf68, 0xe1e2, 0xdf68, 0xe1e2, 0xe0da, 0xe31c, 0xe0da, -0xe31c, 0xe284, 0xe492, 0xe284, 0xe492, 0xe284, 0xe492, 0xe536, 0xe713, 0xe536, 0xe713, -0xe862, 0xea12, 0xe862, 0xea12, 0xeb2c, 0xecb5, 0xeb2c, 0xecb5, 0xee10, 0xef77, 0xee10, -0xef77, 0xf07d, 0xf1c7, 0xf07d, 0xf1c7, 0xf07d, 0xf1c7, 0xf281, 0xf3b3, 0xf281, 0xf3b3, -0xf376, 0xf494, 0xf376, 0xf494, 0xf47b, 0xf589, 0xf47b, 0xf589, 0xf5a0, 0xf69f, 0xf5a0, -0xf69f, 0xf66e, 0xf760, 0xf66e, 0xf760, 0xf6a0, 0xf785, 0xf6a0, 0xf785, 0xf6a0, 0xf785, -0xf669, 0xf741, 0xf669, 0xf741, 0xf627, 0xf6ee, 0xf627, 0xf6ee, 0xf536, 0xf5eb, 0xf536, -0xf5eb, 0xf555, 0xf5f3, 0xf555, 0xf5f3, 0xf61f, 0xf6a1, 0xf61f, 0xf6a1, 0xf6a6, 0xf707, -0xf6a6, 0xf707, 0xf6a6, 0xf707, 0xf728, 0xf762, 0xf728, 0xf762, 0xf7fb, 0xf808, 0xf7fb, -0xf808, 0xf8ae, 0xf889, 0xf8ae, 0xf889, 0xf9b3, 0xf956, 0xf9b3, 0xf956, 0xfc5a, 0xfbc0, -0xfc5a, 0xfbc0, 0xfc5a, 0xfbc0, 0xfef4, 0xfe1a, 0xfef4, 0xfe1a, 0x1b6, 0x98, 0x1b6, -0x98, 0x4de, 0x37c, 0x4de, 0x37c, 0x7f0, 0x648, 0x7f0, 0x648, 0xa9d, 0x8b0, -0xa9d, 0x8b0, 0xd87, 0xb57, 0xd87, 0xb57, 0xd87, 0xb57, 0x1124, 0xeb6, 0x1124, -0xeb6, 0x1399, 0x10f2, 0x1399, 0x10f2, 0x1649, 0x136f, 0x1649, 0x136f, 0x190a, 0x1604, -0x190a, 0x1604, 0x1a78, 0x174f, 0x1a78, 0x174f, 0x1b81, 0x183e, 0x1b81, 0x183e, 0x1b81, -0x183e, 0x1bc5, 0x1872, 0x1bc5, 0x1872, 0x1b7d, 0x1826, 0x1b7d, 0x1826, 0x1a3e, 0x16ec, -0x1a3e, 0x16ec, 0x18d3, 0x1590, 0x18d3, 0x1590, 0x18a7, 0x157e, 0x18a7, 0x157e, 0x18a7, -0x157e, 0x177b, 0x1475, 0x177b, 0x1475, 0x1563, 0x1289, 0x1563, 0x1289, 0x141e, 0x1177, -0x141e, 0x1177, 0x1278, 0x100d, 0x1278, 0x100d, 0x10ab, 0xe80, 0x10ab, 0xe80, 0xf8f, -0xda8, 0xf8f, 0xda8, 0xf8f, 0xda8, 0xe15, 0xc75, 0xe15, 0xc75, 0xc75, 0xb1f, -0xc75, 0xb1f, 0xb8a, 0xa7d, 0xb8a, 0xa7d, 0xae5, 0xa22, 0xae5, 0xa22, 0x98a, -0x90d, 0x98a, 0x90d, 0x7ed, 0x7b3, 0x7ed, 0x7b3, 0x7ed, 0x7b3, 0x6b5, 0x6bc, -0x6b5, 0x6bc, 0x4c2, 0x503, 0x4c2, 0x503, 0x343, 0x3ba, 0x343, 0x3ba, 0x273, -0x319, 0x273, 0x319, 0x159, 0x229, 0x159, 0x229, 0x159, 0x229, 0x6e, 0x161, -0x6e, 0x161, 0xff31, 0x40, 0xff31, 0x40, 0xfe32, 0xff56, 0xfe32, 0xff56, 0xfd47, -0xfe7b, 0xfd47, 0xfe7b, 0xfc9f, 0xfddc, 0xfc9f, 0xfddc, 0xfbeb, 0xfd2c, 0xfbeb, 0xfd2c, -0xfbeb, 0xfd2c, 0xfab0, 0xfbf1, 0xfab0, 0xfbf1, 0xf9c4, 0xfafe, 0xf9c4, 0xfafe, 0xf909, -0xfa3a, 0xf909, 0xfa3a, 0xf8bc, 0xf9e0, 0xf8bc, 0xf9e0, 0xf869, 0xf97d, 0xf869, 0xf97d, -0xf87a, 0xf97a, 0xf87a, 0xf97a, 0xf87a, 0xf97a, 0xf838, 0xf925, 0xf838, 0xf925, 0xf816, -0xf8ed, 0xf816, 0xf8ed, 0xf937, 0xf9f7, 0xf937, 0xf9f7, 0xfa1b, 0xfac4, 0xfa1b, 0xfac4, -0xfac7, 0xfb59, 0xfac7, 0xfb59, 0xfac7, 0xfb59, 0xfbdd, 0xfc57, 0xfbdd, 0xfc57, 0xfd79, -0xfddc, 0xfd79, 0xfddc, 0xfe0c, 0xfe58, 0xfe0c, 0xfe58, 0xfe77, 0xfead, 0xfe77, 0xfead, -0xff41, 0xff61, 0xff41, 0xff61, 0xff15, 0xff20, 0xff15, 0xff20, 0xff15, 0xff20, 0xff10, -0xff07, 0xff10, 0xff07, 0xff6f, 0xff52, 0xff6f, 0xff52, 0x3e, 0xf, 0x3e, 0xf, -0x47, 0x6, 0x47, 0x6, 0x40, 0xffef, 0x40, 0xffef, 0xb0, 0x4e, 0xb0, -0x4e, 0xb0, 0x4e, 0x2f, 0xffbe, 0x2f, 0xffbe, 0x8c, 0xd, 0x8c, 0xd, -0x146, 0xba, 0x146, 0xba, 0x1ce, 0x135, 0x1ce, 0x135, 0x33c, 0x299, 0x33c, -0x299, 0x33c, 0x299, 0x4c6, 0x419, 0x4c6, 0x419, 0x621, 0x56b, 0x621, 0x56b, -0x6a2, 0x5e6, 0x6a2, 0x5e6, 0x735, 0x674, 0x735, 0x674, 0x867, 0x7a3, 0x867, -0x7a3, 0x808, 0x742, 0x808, 0x742, 0x808, 0x742, 0x73a, 0x674, 0x73a, 0x674, -0x707, 0x645, 0x707, 0x645, 0x684, 0x5c6, 0x684, 0x5c6, 0x604, 0x54e, 0x604, -0x54e, 0x595, 0x4e7, 0x595, 0x4e7, 0x48f, 0x3ed, 0x48f, 0x3ed, 0x48f, 0x3ed, -0x2c9, 0x233, 0x2c9, 0x233, 0x17c, 0xf5, 0x17c, 0xf5, 0x69, 0xfff1, 0x69, -0xfff1, 0xfe62, 0xfdfb, 0xfe62, 0xfdfb, 0xfc71, 0xfc1b, 0xfc71, 0xfc1b, 0xfc71, 0xfc1b, -0xfaf1, 0xfaad, 0xfaf1, 0xfaad, 0xf931, 0xf8ff, 0xf931, 0xf8ff, 0xf848, 0xf827, 0xf848, -0xf827, 0xf7fa, 0xf7e8, 0xf7fa, 0xf7e8, 0xf75f, 0xf75b, 0xf75f, 0xf75b, 0xf706, 0xf70d, -0xf706, 0xf70d, 0xf706, 0xf70d, 0xf721, 0xf731, 0xf721, 0xf731, 0xf810, 0xf825, 0xf810, -0xf825, 0xf95d, 0xf973, 0xf95d, 0xf973, 0xfa7e, 0xfa91, 0xfa7e, 0xfa91, 0xfafc, 0xfb07, -0xfafc, 0xfb07, 0xfaf2, 0xfaf0, 0xfaf2, 0xfaf0, 0xfaf2, 0xfaf0, 0xfb60, 0xfb4d, 0xfb60, -0xfb4d, 0xfcbf, 0xfc95, 0xfcbf, 0xfc95, 0xfe54, 0xfe0d, 0xfe54, 0xfe0d, 0xff83, 0xff1b, -0xff83, 0xff1b, 0xe9, 0x5a, 0xe9, 0x5a, 0xe9, 0x5a, 0x1c0, 0x107, 0x1c0, -0x107, 0x250, 0x169, 0x250, 0x169, 0x371, 0x257, 0x371, 0x257, 0x4a2, 0x353, -0x4a2, 0x353, 0x565, 0x3df, 0x565, 0x3df, 0x644, 0x486, 0x644, 0x486, 0x644, -0x486, 0x74a, 0x554, 0x74a, 0x554, 0x78f, 0x562, 0x78f, 0x562, 0x89b, 0x638, -0x89b, 0x638, 0xa86, 0x7ef, 0xa86, 0x7ef, 0xcac, 0x9e5, 0xcac, 0x9e5, 0xcac, -0x9e5, 0xf71, 0xc7e, 0xf71, 0xc7e, 0x121a, 0xf00, 0x121a, 0xf00, 0x1439, 0x10fd, -0x1439, 0x10fd, 0x15b7, 0x125f, 0x15b7, 0x125f, 0x17c2, 0x1455, 0x17c2, 0x1455, 0x19f5, -0x1679, 0x19f5, 0x1679, 0x19f5, 0x1679, 0x1b3a, 0x17b5, 0x1b3a, 0x17b5, 0x1c79, 0x18f2, -0x1c79, 0x18f2, 0x1ca1, 0x191d, 0x1ca1, 0x191d, 0x1b79, 0x17fe, 0x1b79, 0x17fe, 0x1a5b, -0x16ed, 0x1a5b, 0x16ed, 0x19a4, 0x1648, 0x19a4, 0x1648, 0x19a4, 0x1648, 0x196b, 0x1624, -0x196b, 0x1624, 0x1843, 0x1514, 0x1843, 0x1514, 0x1788, 0x1472, 0x1788, 0x1472, 0x17a6, -0x14a9, 0x17a6, 0x14a9, 0x16b9, 0x13d5, 0x16b9, 0x13d5, 0x16b9, 0x13d5, 0x163b, 0x136e, -0x163b, 0x136e, 0x161d, 0x1367, 0x161d, 0x1367, 0x15de, 0x133b, 0x15de, 0x133b, 0x15a8, -0x1317, 0x15a8, 0x1317, 0x1538, 0x12b5, 0x1538, 0x12b5, 0x14b4, 0x123b, 0x14b4, 0x123b, -0x14b4, 0x123b, 0x1495, 0x1223, 0x1495, 0x1223, 0x1599, 0x132b, 0x1599, 0x132b, 0x16a1, -0x1435, 0x16a1, 0x1435, 0x16ad, 0x1442, 0x16ad, 0x1442, 0x1701, 0x1495, 0x1701, 0x1495, -0x1785, 0x1518, 0x1785, 0x1518, 0x1785, 0x1518, 0x177e, 0x1513, 0x177e, 0x1513, 0x17d4, -0x156c, 0x17d4, 0x156c, 0x17d7, 0x1575, 0x17d7, 0x1575, 0x1774, 0x151d, 0x1774, 0x151d, -0x16a4, 0x145f, 0x16a4, 0x145f, 0x16a4, 0x145f, 0x1563, 0x1336, 0x1563, 0x1336, 0x1474, -0x1266, 0x1474, 0x1266, 0x1369, 0x1182, 0x1369, 0x1182, 0x1265, 0x10af, 0x1265, 0x10af, -0x10ab, 0xf2e, 0x10ab, 0xf2e, 0xe49, 0xd0d, 0xe49, 0xd0d, 0xe49, 0xd0d, 0xbf0, -0xafe, 0xbf0, 0xafe, 0xa55, 0x9b4, 0xa55, 0x9b4, 0x90a, 0x8c2, 0x90a, 0x8c2, -0x7d3, 0x7e8, 0x7d3, 0x7e8, 0x762, 0x7da, 0x762, 0x7da, 0x66f, 0x74b, 0x66f, -0x74b, 0x66f, 0x74b, 0x545, 0x686, 0x545, 0x686, 0x3a4, 0x549, 0x3a4, 0x549, -0xd6, 0x2dd, 0xd6, 0x2dd, 0xfd40, 0xffa2, 0xfd40, 0xffa2, 0xfa56, 0xfd0e, 0xfa56, -0xfd0e, 0xfa56, 0xfd0e, 0xf835, 0xfb3a, 0xf835, 0xfb3a, 0xf568, 0xf8b0, 0xf568, 0xf8b0, -0xf341, 0xf6c1, 0xf341, 0xf6c1, 0xf161, 0xf50d, 0xf161, 0xf50d, 0xef64, 0xf32f, 0xef64, -0xf32f, 0xedbf, 0xf19b, 0xedbf, 0xf19b, 0xedbf, 0xf19b, 0xec29, 0xf009, 0xec29, 0xf009, -0xeaa5, 0xee7b, 0xeaa5, 0xee7b, 0xe8a5, 0xec64, 0xe8a5, 0xec64, 0xe73d, 0xeada, 0xe73d, -0xeada, 0xe664, 0xe9d5, 0xe664, 0xe9d5, 0xe5cb, 0xe906, 0xe5cb, 0xe906, 0xe5cb, 0xe906, -0xe62f, 0xe92c, 0xe62f, 0xe92c, 0xe6a1, 0xe95a, 0xe6a1, 0xe95a, 0xe792, 0xea04, 0xe792, -0xea04, 0xe932, 0xeb5a, 0xe932, 0xeb5a, 0xeb9b, 0xed79, 0xeb9b, 0xed79, 0xeb9b, 0xed79, -0xee7f, 0xf014, 0xee7f, 0xf014, 0xf058, 0xf1a8, 0xf058, 0xf1a8, 0xf339, 0xf447, 0xf339, -0xf447, 0xf690, 0xf763, 0xf690, 0xf763, 0xf932, 0xf9d1, 0xf932, 0xf9d1, 0xfc64, 0xfcd5, -0xfc64, 0xfcd5, 0xfc64, 0xfcd5, 0xfe86, 0xfed2, 0xfe86, 0xfed2, 0xff63, 0xff91, 0xff63, -0xff91, 0xffa8, 0xffbf, 0xffa8, 0xffbf, 0xff90, 0xff98, 0xff90, 0xff98, 0xff44, 0xff43, -0xff44, 0xff43, 0xfee9, 0xfee4, 0xfee9, 0xfee4, 0xfee9, 0xfee4, 0xff85, 0xff80, 0xff85, -0xff80, 0xffe5, 0xffe3, 0xffe5, 0xffe3, 0xff39, 0xff3d, 0xff39, 0xff3d, 0xfef1, 0xfefb, -0xfef1, 0xfefb, 0xfed4, 0xfee5, 0xfed4, 0xfee5, 0xfed4, 0xfee5, 0xff03, 0xff19, 0xff03, -0xff19, 0xff98, 0xffb3, 0xff98, 0xffb3, 0xffe7, 0x3, 0xffe7, 0x3, 0x26, 0x41, -0x26, 0x41, 0x8f, 0xa8, 0x8f, 0xa8, 0x1bd, 0x1d1, 0x1bd, 0x1d1, 0x1bd, -0x1d1, 0x309, 0x316, 0x309, 0x316, 0x47d, 0x483, 0x47d, 0x483, 0x5d9, 0x5d7, -0x5d9, 0x5d7, 0x65a, 0x652, 0x65a, 0x652, 0x61f, 0x612, 0x61f, 0x612, 0x5d3, -0x5c6, 0x5d3, 0x5c6, 0x5d3, 0x5c6, 0x629, 0x620, 0x629, 0x620, 0x59e, 0x59f, -0x59e, 0x59f, 0x4f5, 0x507, 0x4f5, 0x507, 0x3d6, 0x402, 0x3d6, 0x402, 0x1b5, -0x202, 0x1b5, 0x202, 0x1b5, 0x202, 0xff96, 0xe, 0xff96, 0xe, 0xfda2, 0xfe4d, -0xfda2, 0xfe4d, 0xfbd0, 0xfcb7, 0xfbd0, 0xfcb7, 0xf955, 0xfa80, 0xf955, 0xfa80, 0xf785, -0xf8fc, 0xf785, 0xf8fc, 0xf50d, 0xf6d6, 0xf50d, 0xf6d6, 0xf50d, 0xf6d6, 0xf16d, 0xf38b, -0xf16d, 0xf38b, 0xee4b, 0xf0c3, 0xee4b, 0xf0c3, 0xeba5, 0xee77, 0xeba5, 0xee77, 0xe9ce, -0xecf8, 0xe9ce, 0xecf8, 0xe873, 0xebf4, 0xe873, 0xebf4, 0xe744, 0xeb16, 0xe744, 0xeb16, -0xe744, 0xeb16, 0xe4e9, 0xe905, 0xe4e9, 0xe905, 0xe25e, 0xe6bd, 0xe25e, 0xe6bd, 0xe10b, -0xe5a1, 0xe10b, 0xe5a1, 0xdfce, 0xe490, 0xdfce, 0xe490, 0xded5, 0xe3b7, 0xded5, 0xe3b7, -0xded5, 0xe3b7, 0xde4b, 0xe33f, 0xde4b, 0xe33f, 0xdddb, 0xe2d4, 0xdddb, 0xe2d4, 0xdd8c, -0xe27d, 0xdd8c, 0xe27d, 0xdd3b, 0xe217, 0xdd3b, 0xe217, 0xddbc, 0xe278, 0xddbc, 0xe278, -0xde1d, 0xe2ad, 0xde1d, 0xe2ad, 0xde1d, 0xe2ad, 0xdd3c, 0xe198, 0xdd3c, 0xe198, 0xdd69, -0xe189, 0xdd69, 0xe189, 0xddcb, 0xe1aa, 0xddcb, 0xe1aa, 0xdd8c, 0xe127, 0xdd8c, 0xe127, -0xde29, 0xe17d, 0xde29, 0xe17d, 0xdf2c, 0xe23a, 0xdf2c, 0xe23a, 0xdf2c, 0xe23a, 0xe0c3, -0xe38c, 0xe0c3, 0xe38c, 0xe325, 0xe5ae, 0xe325, 0xe5ae, 0xe606, 0xe853, 0xe606, 0xe853, -0xe8a3, 0xeaba, 0xe8a3, 0xeaba, 0xeae4, 0xeccc, 0xeae4, 0xeccc, 0xeae4, 0xeccc, 0xed92, -0xef51, 0xed92, 0xef51, 0xef55, 0xf0f3, 0xef55, 0xf0f3, 0xf043, 0xf1c6, 0xf043, 0xf1c6, -0xf19f, 0xf30d, 0xf19f, 0xf30d, 0xf276, 0xf3d4, 0xf276, 0xf3d4, 0xf2d2, 0xf423, 0xf2d2, -0xf423, 0xf2d2, 0xf423, 0xf2c3, 0xf408, 0xf2c3, 0xf408, 0xf284, 0xf3bf, 0xf284, 0xf3bf, -0xf228, 0xf357, 0xf228, 0xf357, 0xf1dc, 0xf2fc, 0xf1dc, 0xf2fc, 0xf279, 0xf386, 0xf279, -0xf386, 0xf279, 0xf386, 0xf334, 0xf429, 0xf334, 0xf429, 0xf408, 0xf4dd, 0xf408, 0xf4dd, -0xf52b, 0xf5d8, 0xf52b, 0xf5d8, 0xf6bc, 0xf739, 0xf6bc, 0xf739, 0xf801, 0xf845, 0xf801, -0xf845, 0xf997, 0xf99b, 0xf997, 0xf99b, 0xf997, 0xf99b, 0xfbba, 0xfb75, 0xfbba, 0xfb75, -0xfd5c, 0xfcc8, 0xfd5c, 0xfcc8, 0x14, 0xff2a, 0x14, 0xff2a, 0x393, 0x251, 0x393, -0x251, 0x717, 0x579, 0x717, 0x579, 0xab3, 0x8b9, 0xab3, 0x8b9, 0xab3, 0x8b9, -0xe8f, 0xc3b, 0xe8f, 0xc3b, 0x119d, 0xef2, 0x119d, 0xef2, 0x1429, 0x112e, 0x1429, -0x112e, 0x178b, 0x1447, 0x178b, 0x1447, 0x19ec, 0x1668, 0x19ec, 0x1668, 0x19ec, 0x1668, -0x1b3a, 0x1782, 0x1b3a, 0x1782, 0x1c10, 0x1830, 0x1c10, 0x1830, 0x1ca2, 0x18a7, 0x1ca2, -0x18a7, 0x1c8b, 0x1883, 0x1c8b, 0x1883, 0x1c1a, 0x1813, 0x1c1a, 0x1813, 0x1baf, 0x17b6, -0x1baf, 0x17b6, 0x1baf, 0x17b6, 0x1a42, 0x1666, 0x1a42, 0x1666, 0x1912, 0x155e, 0x1912, -0x155e, 0x1813, 0x1494, 0x1813, 0x1494, 0x1624, 0x12e2, 0x1624, 0x12e2, 0x13e4, 0x10e8, -0x13e4, 0x10e8, 0x1215, 0xf66, 0x1215, 0xf66, 0x1215, 0xf66, 0x1100, 0xea2, 0x1100, -0xea2, 0x101d, 0xe14, 0x101d, 0xe14, 0xf16, 0xd62, 0xf16, 0xd62, 0xe51, 0xcf2, -0xe51, 0xcf2, 0xc58, 0xb4b, 0xc58, 0xb4b, 0xc58, 0xb4b, 0x97f, 0x8bf, 0x97f, -0x8bf, 0x849, 0x7d3, 0x849, 0x7d3, 0x71a, 0x6e7, 0x71a, 0x6e7, 0x53f, 0x549, -0x53f, 0x549, 0x400, 0x43f, 0x400, 0x43f, 0x24b, 0x2b7, 0x24b, 0x2b7, 0x24b, -0x2b7, 0x64, 0xf7, 0x64, 0xf7, 0xff2b, 0xffdd, 0xff2b, 0xffdd, 0xfe30, 0xfefa, -0xfe30, 0xfefa, 0xfcba, 0xfd95, 0xfcba, 0xfd95, 0xfb10, 0xfbf6, 0xfb10, 0xfbf6, 0xfaad, -0xfb9a, 0xfaad, 0xfb9a, 0xfaad, 0xfb9a, 0xf9f3, 0xfae1, 0xf9f3, 0xfae1, 0xf89d, 0xf989, -0xf89d, 0xf989, 0xf793, 0xf87b, 0xf793, 0xf87b, 0xf67a, 0xf75a, 0xf67a, 0xf75a, 0xf5ec, -0xf6c3, 0xf5ec, 0xf6c3, 0xf5ec, 0xf6c3, 0xf54e, 0xf61b, 0xf54e, 0xf61b, 0xf58d, 0xf650, -0xf58d, 0xf650, 0xf5ad, 0xf665, 0xf5ad, 0xf665, 0xf59b, 0xf648, 0xf59b, 0xf648, 0xf680, -0xf722, 0xf680, 0xf722, 0xf7d0, 0xf867, 0xf7d0, 0xf867, 0xf7d0, 0xf867, 0xf9e0, 0xfa6c, -0xf9e0, 0xfa6c, 0xfbf2, 0xfc74, 0xfbf2, 0xfc74, 0xfdcf, 0xfe47, 0xfdcf, 0xfe47, 0xfe0a, -0xfe77, 0xfe0a, 0xfe77, 0xfe30, 0xfe92, 0xfe30, 0xfe92, 0xfed3, 0xff2a, 0xfed3, 0xff2a, -0xfed3, 0xff2a, 0xfee8, 0xff33, 0xfee8, 0xff33, 0xffc8, 0x7, 0xffc8, 0x7, 0x85, -0xb7, 0x85, 0xb7, 0xfa, 0x11f, 0xfa, 0x11f, 0x13a, 0x151, 0x13a, 0x151, -0x13a, 0x151, 0x1c5, 0x1ce, 0x1c5, 0x1ce, 0x1a4, 0x19e, 0x1a4, 0x19e, 0x15e, -0x148, 0x15e, 0x148, 0x1e6, 0x1c1, 0x1e6, 0x1c1, 0x1e1, 0x1ab, 0x1e1, 0x1ab, -0x216, 0x1d1, 0x216, 0x1d1, 0x216, 0x1d1, 0x2b4, 0x25f, 0x2b4, 0x25f, 0x452, -0x3ef, 0x452, 0x3ef, 0x624, 0x5b3, 0x624, 0x5b3, 0x7cf, 0x752, 0x7cf, 0x752, -0x8ec, 0x864, 0x8ec, 0x864, 0x862, 0x7cf, 0x862, 0x7cf, 0x862, 0x7cf, 0x853, -0x7b9, 0x853, 0x7b9, 0x876, 0x7d6, 0x876, 0x7d6, 0x812, 0x76e, 0x812, 0x76e, -0x7dc, 0x736, 0x7dc, 0x736, 0x7d8, 0x733, 0x7d8, 0x733, 0x7d8, 0x733, 0x7d6, -0x734, 0x7d6, 0x734, 0x6df, 0x643, 0x6df, 0x643, 0x55d, 0x4c7, 0x55d, 0x4c7, -0x3a3, 0x317, 0x3a3, 0x317, 0xdc, 0x5c, 0xdc, 0x5c, 0xfe75, 0xfe02, 0xfe75, -0xfe02, 0xfe75, 0xfe02, 0xfdd0, 0xfd6d, 0xfdd0, 0xfd6d, 0xfca3, 0xfc4f, 0xfca3, 0xfc4f, -0xfa7c, 0xfa3a, 0xfa7c, 0xfa3a, 0xf8e8, 0xf8b7, 0xf8e8, 0xf8b7, 0xf77c, 0xf75d, 0xf77c, -0xf75d, 0xf70f, 0xf701, 0xf70f, 0xf701, 0xf70f, 0xf701, 0xf798, 0xf799, 0xf798, 0xf799, -0xf7f8, 0xf808, 0xf7f8, 0xf808, 0xf783, 0xf79f, 0xf783, 0xf79f, 0xf786, 0xf7ab, 0xf786, -0xf7ab, 0xf8dc, 0xf907, 0xf8dc, 0xf907, 0xf8dc, 0xf907, 0xf958, 0xf986, 0xf958, 0xf986, -0xfa0e, 0xfa39, 0xfa0e, 0xfa39, 0xfab3, 0xfad7, 0xfab3, 0xfad7, 0xfb25, 0xfb3d, 0xfb25, -0xfb3d, 0xfc10, 0xfc16, 0xfc10, 0xfc16, 0xfd1e, 0xfd0d, 0xfd1e, 0xfd0d, 0xfd1e, 0xfd0d, -0xfed8, 0xfeaa, 0xfed8, 0xfeaa, 0xffd4, 0xff84, 0xffd4, 0xff84, 0x11f, 0xa7, 0x11f, -0xa7, 0x287, 0x1e2, 0x287, 0x1e2, 0x3dd, 0x307, 0x3dd, 0x307, 0x4fc, 0x3f1, -0x4fc, 0x3f1, 0x4fc, 0x3f1, 0x5ee, 0x4aa, 0x5ee, 0x4aa, 0x735, 0x5b7, 0x735, -0x5b7, 0x7aa, 0x5ef, 0x7aa, 0x5ef, 0x978, 0x780, 0x978, 0x780, 0xbcc, 0x998, -0xbcc, 0x998, 0xbcc, 0x998, 0xe1d, 0xbad, 0xe1d, 0xbad, 0x1098, 0xdf0, 0x1098, -0xdf0, 0x12b7, 0xfda, 0x12b7, 0xfda, 0x14e9, 0x11db, 0x14e9, 0x11db, 0x175c, 0x1422, -0x175c, 0x1422, 0x1a4a, 0x16eb, 0x1a4a, 0x16eb, 0x1a4a, 0x16eb, 0x1bb0, 0x1831, 0x1bb0, -0x1831, 0x1d25, 0x198e, 0x1d25, 0x198e, 0x1e43, 0x1a99, 0x1e43, 0x1a99, 0x1dc2, 0x1a0d, -0x1dc2, 0x1a0d, 0x1ce2, 0x1929, 0x1ce2, 0x1929, 0x1bd7, 0x181f, 0x1bd7, 0x181f, 0x1bd7, -0x181f, 0x1b5b, 0x17a9, 0x1b5b, 0x17a9, 0x1aad, 0x1708, 0x1aad, 0x1708, 0x1a8e, 0x16f7, -0x1a8e, 0x16f7, 0x1a4d, 0x16c9, 0x1a4d, 0x16c9, 0x19a8, 0x1639, 0x19a8, 0x1639, 0x19a8, -0x1639, 0x19d4, 0x167a, 0x19d4, 0x167a, 0x1961, 0x161c, 0x1961, 0x161c, 0x1857, 0x1527, -0x1857, 0x1527, 0x1746, 0x1429, 0x1746, 0x1429, 0x16a9, 0x139c, 0x16a9, 0x139c, 0x16a1, -0x13a2, 0x16a1, 0x13a2, 0x16a1, 0x13a2, 0x166f, 0x137a, 0x166f, 0x137a, 0x16a1, 0x13b3, -0x16a1, 0x13b3, 0x1703, 0x141a, 0x1703, 0x141a, 0x1699, 0x13b1, 0x1699, 0x13b1, 0x16cc, -0x13e3, 0x16cc, 0x13e3, 0x16cc, 0x13e3, 0x181c, 0x1531, 0x181c, 0x1531, 0x188a, 0x159d, -0x188a, 0x159d, 0x1876, 0x1588, 0x1876, 0x1588, 0x188e, 0x15a1, 0x188e, 0x15a1, 0x1825, -0x153c, 0x1825, 0x153c, 0x17ab, 0x14cb, 0x17ab, 0x14cb, 0x17ab, 0x14cb, 0x1734, 0x1463, -0x1734, 0x1463, 0x15e1, 0x1326, 0x15e1, 0x1326, 0x1381, 0x10e4, 0x1381, 0x10e4, 0x1242, -0xfcb, 0x1242, 0xfcb, 0x1189, 0xf42, 0x1189, 0xf42, 0xf73, 0xd64, 0xf73, 0xd64, -0xf73, 0xd64, 0xd01, 0xb35, 0xd01, 0xb35, 0xa2a, 0x8a9, 0xa2a, 0x8a9, 0x84a, -0x71e, 0x84a, 0x71e, 0x78a, 0x6b9, 0x78a, 0x6b9, 0x71c, 0x6ac, 0x71c, 0x6ac, -0x71c, 0x6ac, 0x64a, 0x642, 0x64a, 0x642, 0x4a5, 0x505, 0x4a5, 0x505, 0x31a, -0x3e5, 0x31a, 0x3e5, 0xd7, 0x20b, 0xd7, 0x20b, 0xfe58, 0xfff2, 0xfe58, 0xfff2, -0xfbcf, 0xfdcb, 0xfbcf, 0xfdcb, 0xfbcf, 0xfdcb, 0xf99a, 0xfbf0, 0xf99a, 0xfbf0, 0xf71d, -0xf9c5, 0xf71d, 0xf9c5, 0xf472, 0xf761, 0xf472, 0xf761, 0xf2e6, 0xf611, 0xf2e6, 0xf611, -0xf0f2, 0xf44b, 0xf0f2, 0xf44b, 0xef23, 0xf29d, 0xef23, 0xf29d, 0xef23, 0xf29d, 0xedd5, -0xf162, 0xedd5, 0xf162, 0xec34, 0xefc5, 0xec34, 0xefc5, 0xea02, 0xed8b, 0xea02, 0xed8b, -0xe8bc, 0xec30, 0xe8bc, 0xec30, 0xe817, 0xeb69, 0xe817, 0xeb69, 0xe817, 0xeb69, 0xe6c1, -0xe9e7, 0xe6c1, 0xe9e7, 0xe697, 0xe989, 0xe697, 0xe989, 0xe6e9, 0xe9a0, 0xe6e9, 0xe9a0, -0xe6ea, 0xe960, 0xe6ea, 0xe960, 0xe76c, 0xe99e, 0xe76c, 0xe99e, 0xe8dc, 0xeac9, 0xe8dc, -0xeac9, 0xe8dc, 0xeac9, 0xeb14, 0xecbe, 0xeb14, 0xecbe, 0xedeb, 0xef54, 0xedeb, 0xef54, -0xf1c8, 0xf2f4, 0xf1c8, 0xf2f4, 0xf520, 0xf615, 0xf520, 0xf615, 0xf7af, 0xf874, 0xf7af, -0xf874, 0xfaae, 0xfb4c, 0xfaae, 0xfb4c, 0xfaae, 0xfb4c, 0xfd04, 0xfd83, 0xfd04, 0xfd83, -0xfe78, 0xfee0, 0xfe78, 0xfee0, 0xff85, 0xffde, 0xff85, 0xffde, 0x7a, 0xcd, 0x7a, -0xcd, 0x135, 0x189, 0x135, 0x189, 0x135, 0x189, 0xaa, 0x106, 0xaa, 0x106, -0x86, 0xee, 0x86, 0xee, 0x71, 0xea, 0x71, 0xea, 0xff7a, 0x6, 0xff7a, -0x6, 0xff3f, 0xffe0, 0xff3f, 0xffe0, 0xff54, 0x9, 0xff54, 0x9, 0xff54, 0x9, -0xfecf, 0xff97, 0xfecf, 0xff97, 0xfe09, 0xfee2, 0xfe09, 0xfee2, 0xfdf1, 0xfed8, 0xfdf1, -0xfed8, 0xfe3a, 0xff2a, 0xfe3a, 0xff2a, 0xfea2, 0xff97, 0xfea2, 0xff97, 0xff75, 0x6b, -0xff75, 0x6b, 0xff75, 0x6b, 0xffcc, 0xc0, 0xffcc, 0xc0, 0xffc9, 0xb6, 0xffc9, -0xb6, 0x10d, 0x1f1, 0x10d, 0x1f1, 0x270, 0x348, 0x270, 0x348, 0x2d5, 0x3a0, -0x2d5, 0x3a0, 0x2d5, 0x3a0, 0x302, 0x3c0, 0x302, 0x3c0, 0x2bf, 0x373, 0x2bf, -0x373, 0x2b7, 0x364, 0x2b7, 0x364, 0x296, 0x33f, 0x296, 0x33f, 0x211, 0x2bc, -0x211, 0x2bc, 0x95, 0x149, 0x95, 0x149, 0x95, 0x149, 0xfe70, 0xff34, 0xfe70, -0xff34, 0xfcb1, 0xfd8d, 0xfcb1, 0xfd8d, 0xfaff, 0xfbfc, 0xfaff, 0xfbfc, 0xf9ac, 0xfad2, -0xf9ac, 0xfad2, 0xf7b9, 0xf90f, 0xf7b9, 0xf90f, 0xf551, 0xf6de, 0xf551, 0xf6de, 0xf551, -0xf6de, 0xf28e, 0xf459, 0xf28e, 0xf459, 0xf012, 0xf221, 0xf012, 0xf221, 0xee61, 0xf0b7, -0xee61, 0xf0b7, 0xec28, 0xeec6, 0xec28, 0xeec6, 0xea15, 0xecfc, 0xea15, 0xecfc, 0xea15, -0xecfc, 0xe827, 0xeb55, 0xe827, 0xeb55, 0xe620, 0xe992, 0xe620, 0xe992, 0xe42d, 0xe7de, -0xe42d, 0xe7de, 0xe31a, 0xe701, 0xe31a, 0xe701, 0xe1e6, 0xe5fc, 0xe1e6, 0xe5fc, 0xdfc6, -0xe400, 0xdfc6, 0xe400, 0xdfc6, 0xe400, 0xdeeb, 0xe33f, 0xdeeb, 0xe33f, 0xde36, 0xe297, -0xde36, 0xe297, 0xdd02, 0xe166, 0xdd02, 0xe166, 0xdc92, 0xe0ec, 0xdc92, 0xe0ec, 0xdd06, -0xe14a, 0xdd06, 0xe14a, 0xdda0, 0xe1c2, 0xdda0, 0xe1c2, 0xdda0, 0xe1c2, 0xddf7, 0xe1ef, -0xddf7, 0xe1ef, 0xdee0, 0xe2a4, 0xdee0, 0xe2a4, 0xdebc, 0xe245, 0xdebc, 0xe245, 0xde37, -0xe180, 0xde37, 0xe180, 0xdec7, 0xe1cc, 0xdec7, 0xe1cc, 0xdec7, 0xe1cc, 0xdf77, 0xe236, -0xdf77, 0xe236, 0xe0f8, 0xe371, 0xe0f8, 0xe371, 0xe2bf, 0xe4f5, 0xe2bf, 0xe4f5, 0xe575, -0xe76a, 0xe575, 0xe76a, 0xe854, 0xea0c, 0xe854, 0xea0c, 0xea59, 0xebdc, 0xea59, 0xebdc, -0xea59, 0xebdc, 0xed25, 0xee78, 0xed25, 0xee78, 0xef0f, 0xf039, 0xef0f, 0xf039, 0xefc9, -0xf0d3, 0xefc9, 0xf0d3, 0xf0c7, 0xf1b7, 0xf0c7, 0xf1b7, 0xf21a, 0xf2f7, 0xf21a, 0xf2f7, -0xf2ca, 0xf39a, 0xf2ca, 0xf39a, 0xf2ca, 0xf39a, 0xf31f, 0xf3e7, 0xf31f, 0xf3e7, 0xf3c3, -0xf486, 0xf3c3, 0xf486, 0xf3b7, 0xf478, 0xf3b7, 0xf478, 0xf33a, 0xf3f8, 0xf33a, 0xf3f8, -0xf2e3, 0xf39e, 0xf2e3, 0xf39e, 0xf2e3, 0xf39e, 0xf222, 0xf2d7, 0xf222, 0xf2d7, 0xf186, -0xf231, 0xf186, 0xf231, 0xf2d7, 0xf372, 0xf2d7, 0xf372, 0xf46b, 0xf4ee, 0xf46b, 0xf4ee, -0xf555, 0xf5ba, 0xf555, 0xf5ba, 0xf5f8, 0xf637, 0xf5f8, 0xf637, 0xf5f8, 0xf637, 0xf6d2, -0xf6e2, 0xf6d2, 0xf6e2, 0xf8bf, 0xf896, 0xf8bf, 0xf896, 0xfaea, 0xfa83, 0xfaea, 0xfa83, -0xfdbd, 0xfd0f, 0xfdbd, 0xfd0f, 0xbe, 0xffc4, 0xbe, 0xffc4, 0x469, 0x31e, 0x469, -0x31e, 0x469, 0x31e, 0x867, 0x6c9, 0x867, 0x6c9, 0xc57, 0xa64, 0xc57, 0xa64, -0x1068, 0xe22, 0x1068, 0xe22, 0x13d0, 0x1139, 0x13d0, 0x1139, 0x171c, 0x143a, 0x171c, -0x143a, 0x171c, 0x143a, 0x1960, 0x163a, 0x1960, 0x163a, 0x1b64, 0x1804, 0x1b64, 0x1804, -0x1cef, 0x195d, 0x1cef, 0x195d, 0x1d80, 0x19cb, 0x1d80, 0x19cb, 0x1dbc, 0x19ef, 0x1dbc, -0x19ef, 0x1d99, 0x19c3, 0x1d99, 0x19c3, 0x1d99, 0x19c3, 0x1d47, 0x1975, 0x1d47, 0x1975, -0x1c2d, 0x186d, 0x1c2d, 0x186d, 0x1b0d, 0x176c, 0x1b0d, 0x176c, 0x1901, 0x158d, 0x1901, -0x158d, 0x16fd, 0x13c2, 0x16fd, 0x13c2, 0x16fd, 0x13c2, 0x1639, 0x1340, 0x1639, 0x1340, -0x1545, 0x1297, 0x1545, 0x1297, 0x140a, 0x11ae, 0x140a, 0x11ae, 0x1239, 0x1033, 0x1239, -0x1033, 0x105a, 0xead, 0x105a, 0xead, 0xe70, 0xd1d, 0xe70, 0xd1d, 0xe70, 0xd1d, -0xd52, 0xc56, 0xd52, 0xc56, 0xca1, 0xbfa, 0xca1, 0xbfa, 0xa8a, 0xa34, 0xa8a, -0xa34, 0x89c, 0x88f, 0x89c, 0x88f, 0x6d4, 0x709, 0x6d4, 0x709, 0x4e5, 0x552, -0x4e5, 0x552, 0x4e5, 0x552, 0x32a, 0x3c8, 0x32a, 0x3c8, 0x1a1, 0x265, 0x1a1, -0x265, 0xed, 0x1ce, 0xed, 0x1ce, 0xffb7, 0xab, 0xffb7, 0xab, 0xfe57, 0xff58, -0xfe57, 0xff58, 0xfe57, 0xff58, 0xfdb1, 0xfeb5, 0xfdb1, 0xfeb5, 0xfc52, 0xfd53, 0xfc52, -0xfd53, 0xfa43, 0xfb3c, 0xfa43, 0xfb3c, 0xf8f2, 0xf9df, 0xf8f2, 0xf9df, 0xf830, 0xf90d, -0xf830, 0xf90d, 0xf74b, 0xf817, 0xf74b, 0xf817, 0xf74b, 0xf817, 0xf6a0, 0xf75a, 0xf6a0, -0xf75a, 0xf633, 0xf6dc, 0xf633, 0xf6dc, 0xf5f9, 0xf693, 0xf5f9, 0xf693, 0xf60a, 0xf698, -0xf60a, 0xf698, 0xf6ab, 0xf72f, 0xf6ab, 0xf72f, 0xf6d7, 0xf755, 0xf6d7, 0xf755, 0xf6d7, -0xf755, 0xf75a, 0xf7d5, 0xf75a, 0xf7d5, 0xf908, 0xf984, 0xf908, 0xf984, 0xfa3c, 0xfabb, -0xfa3c, 0xfabb, 0xfb1c, 0xfba2, 0xfb1c, 0xfba2, 0xfb96, 0xfc26, 0xfb96, 0xfc26, 0xfb96, -0xfc26, 0xfc65, 0xfd01, 0xfc65, 0xfd01, 0xfd16, 0xfdbe, 0xfd16, 0xfdbe, 0xfd71, 0xfe24, -0xfd71, 0xfe24, 0xfe02, 0xfec0, 0xfe02, 0xfec0, 0xfe15, 0xfedc, 0xfe15, 0xfedc, 0xfe85, -0xff54, 0xfe85, 0xff54, 0xfe85, 0xff54, 0xff0a, 0xffdf, 0xff0a, 0xffdf, 0xff7b, 0x50, -0xff7b, 0x50, 0xff79, 0x4c, 0xff79, 0x4c, 0xff9e, 0x6b, 0xff9e, 0x6b, 0x50, -0x113, 0x50, 0x113, 0xf2, 0x1a9, 0xf2, 0x1a9, 0xf2, 0x1a9, 0x214, 0x2bb, -0x214, 0x2bb, 0x331, 0x3c4, 0x331, 0x3c4, 0x474, 0x4f2, 0x474, 0x4f2, 0x5ec, -0x654, 0x5ec, 0x654, 0x76e, 0x7bf, 0x76e, 0x7bf, 0x76e, 0x7bf, 0x839, 0x873, -0x839, 0x873, 0x88f, 0x8b3, 0x88f, 0x8b3, 0x8fa, 0x90b, 0x8fa, 0x90b, 0x89f, -0x89f, 0x89f, 0x89f, 0x879, 0x86b, 0x879, 0x86b, 0x8e0, 0x8c8, 0x8e0, 0x8c8, -0x8e0, 0x8c8, 0x8fd, 0x8df, 0x8fd, 0x8df, 0x7ef, 0x7ce, 0x7ef, 0x7ce, 0x63a, -0x61d, 0x63a, 0x61d, 0x497, 0x481, 0x497, 0x481, 0x2a4, 0x298, 0x2a4, 0x298, -0x138, 0x13a, 0x138, 0x13a, 0x138, 0x13a, 0xffd6, 0xffe9, 0xffd6, 0xffe9, 0xfdcd, -0xfdf4, 0xfdcd, 0xfdf4, 0xfc34, 0xfc6f, 0xfc34, 0xfc6f, 0xfad8, 0xfb29, 0xfad8, 0xfb29, -0xf984, 0xf9ea, 0xf984, 0xf9ea, 0xf984, 0xf9ea, 0xf880, 0xf8fb, 0xf880, 0xf8fb, 0xf7b6, -0xf842, 0xf7b6, 0xf842, 0xf77f, 0xf81a, 0xf77f, 0xf81a, 0xf77a, 0xf821, 0xf77a, 0xf821, -0xf82f, 0xf8de, 0xf82f, 0xf8de, 0xf96e, 0xfa1f, 0xf96e, 0xfa1f, 0xf96e, 0xfa1f, 0xf968, -0xfa17, 0xf968, 0xfa17, 0xf8f1, 0xf998, 0xf8f1, 0xf998, 0xf90b, 0xf9a4, 0xf90b, 0xf9a4, -0xf94a, 0xf9d1, 0xf94a, 0xf9d1, 0xf9c8, 0xfa36, 0xf9c8, 0xfa36, 0xfab1, 0xfb00, 0xfab1, -0xfb00, 0xfab1, 0xfb00, 0xfc06, 0xfc33, 0xfc06, 0xfc33, 0xfd5c, 0xfd61, 0xfd5c, 0xfd61, -0xff0a, 0xfee4, 0xff0a, 0xfee4, 0xb5, 0x62, 0xb5, 0x62, 0xe5, 0x60, 0xe5, -0x60, 0xe5, 0x60, 0x11e, 0x67, 0x11e, 0x67, 0x223, 0x138, 0x223, 0x138, -0x36c, 0x24d, 0x36c, 0x24d, 0x4e9, 0x395, 0x4e9, 0x395, 0x609, 0x482, 0x609, -0x482, 0x786, 0x5cd, 0x786, 0x5cd, 0x786, 0x5cd, 0x951, 0x768, 0x951, 0x768, -0xbb0, 0x999, 0xbb0, 0x999, 0xe5e, 0xc1d, 0xe5e, 0xc1d, 0x10c8, 0xe5e, 0x10c8, -0xe5e, 0x136a, 0x10dc, 0x136a, 0x10dc, 0x15f9, 0x1349, 0x15f9, 0x1349, 0x15f9, 0x1349, -0x180e, 0x1540, 0x180e, 0x1540, 0x197f, 0x1697, 0x197f, 0x1697, 0x1b57, 0x1857, 0x1b57, -0x1857, 0x1cfa, 0x19e6, 0x1cfa, 0x19e6, 0x1d6c, 0x1a47, 0x1d6c, 0x1a47, 0x1d6c, 0x1a47, -0x1d60, 0x1a2b, 0x1d60, 0x1a2b, 0x1cab, 0x196a, 0x1cab, 0x196a, 0x1b7d, 0x1832, 0x1b7d, -0x1832, 0x1b0e, 0x17b9, 0x1b0e, 0x17b9, 0x1b7d, 0x1820, 0x1b7d, 0x1820, 0x1b40, 0x17dd, -0x1b40, 0x17dd, 0x1b40, 0x17dd, 0x1abc, 0x1753, 0x1abc, 0x1753, 0x1a81, 0x1711, 0x1a81, -0x1711, 0x19ad, 0x1637, 0x19ad, 0x1637, 0x18f9, 0x157c, 0x18f9, 0x157c, 0x1905, 0x1582, -0x1905, 0x1582, 0x18ce, 0x1543, 0x18ce, 0x1543, 0x18ce, 0x1543, 0x17c7, 0x1435, 0x17c7, -0x1435, 0x170c, 0x1372, 0x170c, 0x1372, 0x171c, 0x137a, 0x171c, 0x137a, 0x173d, 0x1393, -0x173d, 0x1393, 0x181e, 0x146d, 0x181e, 0x146d, 0x181e, 0x146d, 0x1956, 0x159f, 0x1956, -0x159f, 0x19ce, 0x1612, 0x19ce, 0x1612, 0x1a59, 0x169b, 0x1a59, 0x169b, 0x1aca, 0x170c, -0x1aca, 0x170c, 0x1ade, 0x1725, 0x1ade, 0x1725, 0x1a11, 0x1662, 0x1a11, 0x1662, 0x1a11, -0x1662, 0x1962, 0x15c1, 0x1962, 0x15c1, 0x198b, 0x15ff, 0x198b, 0x15ff, 0x1878, 0x1507, -0x1878, 0x1507, 0x16f1, 0x13a4, 0x16f1, 0x13a4, 0x1551, 0x122f, 0x1551, 0x122f, 0x1278, -0xf89, 0x1278, 0xf89, 0x1278, 0xf89, 0xf75, 0xcc2, 0xf75, 0xcc2, 0xd65, 0xaf7, -0xd65, 0xaf7, 0xbfe, 0x9dc, 0xbfe, 0x9dc, 0xa8e, 0x8c1, 0xa8e, 0x8c1, 0x933, -0x7c1, 0x933, 0x7c1, 0x933, 0x7c1, 0x7fc, 0x6ec, 0x7fc, 0x6ec, 0x69d, 0x5f4, -0x69d, 0x5f4, 0x55a, 0x51c, 0x55a, 0x51c, 0x392, 0x3c1, 0x392, 0x3c1, 0xae, -0x14a, 0xae, 0x14a, 0xfdd2, 0xfeda, 0xfdd2, 0xfeda, 0xfdd2, 0xfeda, 0xfb07, 0xfc79, -0xfb07, 0xfc79, 0xf842, 0xfa17, 0xf842, 0xfa17, 0xf555, 0xf788, 0xf555, 0xf788, 0xf296, -0xf51e, 0xf296, 0xf51e, 0xf0e3, 0xf3b6, 0xf0e3, 0xf3b6, 0xf0e3, 0xf3b6, 0xef45, 0xf258, -0xef45, 0xf258, 0xedb2, 0xf0f7, 0xedb2, 0xf0f7, 0xec33, 0xef9d, 0xec33, 0xef9d, 0xea6f, -0xedf1, 0xea6f, 0xedf1, 0xe884, 0xec0e, 0xe884, 0xec0e, 0xe752, 0xead7, 0xe752, 0xead7, -0xe752, 0xead7, 0xe6c1, 0xea33, 0xe6c1, 0xea33, 0xe631, 0xe983, 0xe631, 0xe983, 0xe658, -0xe97e, 0xe658, 0xe97e, 0xe673, 0xe963, 0xe673, 0xe963, 0xe6a8, 0xe959, 0xe6a8, 0xe959, -0xe7d5, 0xea40, 0xe7d5, 0xea40, 0xe7d5, 0xea40, 0xe9a8, 0xebc9, 0xe9a8, 0xebc9, 0xec2e, -0xee01, 0xec2e, 0xee01, 0xefe2, 0xf166, 0xefe2, 0xf166, 0xf3da, 0xf511, 0xf3da, 0xf511, -0xf691, 0xf77f, 0xf691, 0xf77f, 0xf691, 0xf77f, 0xf944, 0xf9ed, 0xf944, 0xf9ed, 0xfc28, -0xfc93, 0xfc28, 0xfc93, 0xfe75, 0xfea9, 0xfe75, 0xfea9, 0xae, 0xb4, 0xae, 0xb4, -0x29a, 0x27b, 0x29a, 0x27b, 0x399, 0x35e, 0x399, 0x35e, 0x399, 0x35e, 0x34c, -0x2ff, 0x34c, 0x2ff, 0x306, 0x2b0, 0x306, 0x2b0, 0x2de, 0x287, 0x2de, 0x287, -0x209, 0x1b8, 0x209, 0x1b8, 0x19b, 0x155, 0x19b, 0x155, 0x11f, 0xe9, 0x11f, -0xe9, 0x11f, 0xe9, 0x67, 0x46, 0x67, 0x46, 0x19, 0xc, 0x19, 0xc, -0x33, 0x3b, 0x33, 0x3b, 0x4e, 0x6b, 0x4e, 0x6b, 0xffd4, 0x3, 0xffd4, -0x3, 0xffd4, 0x3, 0x45, 0x83, 0x45, 0x83, 0x16f, 0x1b9, 0x16f, 0x1b9, -0x1be, 0x210, 0x1be, 0x210, 0x25c, 0x2b2, 0x25c, 0x2b2, 0x342, 0x398, 0x342, -0x398, 0x35b, 0x3af, 0x35b, 0x3af, 0x35b, 0x3af, 0x36e, 0x3bd, 0x36e, 0x3bd, -0x3c1, 0x40b, 0x3c1, 0x40b, 0x3b8, 0x3fd, 0x3b8, 0x3fd, 0x310, 0x353, 0x310, -0x353, 0x255, 0x298, 0x255, 0x298, 0x1a7, 0x1ef, 0x1a7, 0x1ef, 0x1a7, 0x1ef, -0x4b, 0x9f, 0x4b, 0x9f, 0xfebb, 0xff22, 0xfebb, 0xff22, 0xfc82, 0xfd05, 0xfc82, -0xfd05, 0xf98f, 0xfa38, 0xf98f, 0xfa38, 0xf703, 0xf7db, 0xf703, 0xf7db, 0xf703, 0xf7db, -0xf525, 0xf637, 0xf525, 0xf637, 0xf393, 0xf4e7, 0xf393, 0xf4e7, 0xf102, 0xf2a2, 0xf102, -0xf2a2, 0xee24, 0xf017, 0xee24, 0xf017, 0xeba5, 0xedf2, 0xeba5, 0xedf2, 0xe94c, 0xebf7, -0xe94c, 0xebf7, 0xe94c, 0xebf7, 0xe72b, 0xea36, 0xe72b, 0xea36, 0xe55f, 0xe8ca, 0xe55f, -0xe8ca, 0xe3eb, 0xe7b4, 0xe3eb, 0xe7b4, 0xe24a, 0xe66d, 0xe24a, 0xe66d, 0xe0e1, 0xe556, -0xe0e1, 0xe556, 0xdefe, 0xe3bb, 0xdefe, 0xe3bb, 0xdefe, 0xe3bb, 0xdd3c, 0xe237, 0xdd3c, -0xe237, 0xdc67, 0xe194, 0xdc67, 0xe194, 0xdbc0, 0xe10f, 0xdbc0, 0xe10f, 0xdb97, 0xe0fa, -0xdb97, 0xe0fa, 0xdbfd, 0xe164, 0xdbfd, 0xe164, 0xdbfd, 0xe164, 0xdc9b, 0xe1f6, 0xdc9b, -0xe1f6, 0xdca9, 0xe1e9, 0xdca9, 0xe1e9, 0xdcfe, 0xe215, 0xdcfe, 0xe215, 0xdd3e, 0xe21f, -0xdd3e, 0xe21f, 0xdd03, 0xe1a3, 0xdd03, 0xe1a3, 0xddcc, 0xe222, 0xddcc, 0xe222, 0xddcc, -0xe222, 0xdebc, 0xe2c2, 0xdebc, 0xe2c2, 0xdfa4, 0xe355, 0xdfa4, 0xe355, 0xe13d, 0xe497, -0xe13d, 0xe497, 0xe390, 0xe694, 0xe390, 0xe694, 0xe5cd, 0xe87e, 0xe5cd, 0xe87e, 0xe7e9, -0xea4b, 0xe7e9, 0xea4b, 0xe7e9, 0xea4b, 0xea90, 0xecaa, 0xea90, 0xecaa, 0xec8a, 0xee63, -0xec8a, 0xee63, 0xedff, 0xefa1, 0xedff, 0xefa1, 0xefc7, 0xf13b, 0xefc7, 0xf13b, 0xf111, -0xf261, 0xf111, 0xf261, 0xf111, 0xf261, 0xf200, 0xf334, 0xf200, 0xf334, 0xf348, 0xf468, -0xf348, 0xf468, 0xf476, 0xf589, 0xf476, 0xf589, 0xf4b5, 0xf5c0, 0xf4b5, 0xf5c0, 0xf3f8, -0xf4ff, 0xf3f8, 0xf4ff, 0xf3b6, 0xf4b9, 0xf3b6, 0xf4b9, 0xf3b6, 0xf4b9, 0xf3c7, 0xf4c5, -0xf3c7, 0xf4c5, 0xf332, 0xf427, 0xf332, 0xf427, 0xf371, 0xf458, 0xf371, 0xf458, 0xf3db, -0xf4ae, 0xf3db, 0xf4ae, 0xf3b1, 0xf465, 0xf3b1, 0xf465, 0xf438, 0xf4c4, 0xf438, 0xf4c4, -0xf438, 0xf4c4, 0xf566, 0xf5bf, 0xf566, 0xf5bf, 0xf6ad, 0xf6c8, 0xf6ad, 0xf6c8, 0xf801, -0xf7d2, 0xf801, 0xf7d2, 0xfa40, 0xf9bd, 0xfa40, 0xf9bd, 0xfce9, 0xfc09, 0xfce9, 0xfc09, -0xfce9, 0xfc09, 0x2d, 0xfee8, 0x2d, 0xfee8, 0x480, 0x2cf, 0x480, 0x2cf, 0x821, -0x602, 0x821, 0x602, 0xb6f, 0x8e0, 0xb6f, 0x8e0, 0xf28, 0xc2d, 0xf28, 0xc2d, -0x12e9, 0xf85, 0x12e9, 0xf85, 0x12e9, 0xf85, 0x15b2, 0x11ef, 0x15b2, 0x11ef, 0x17a6, -0x138c, 0x17a6, 0x138c, 0x19b8, 0x1555, 0x19b8, 0x1555, 0x1b9b, 0x16ff, 0x1b9b, 0x16ff, -0x1d2c, 0x1866, 0x1d2c, 0x1866, 0x1dbe, 0x18e2, 0x1dbe, 0x18e2, 0x1dbe, 0x18e2, 0x1d4f, -0x1870, 0x1d4f, 0x1870, 0x1bba, 0x16ea, 0x1bba, 0x16ea, 0x1a31, 0x1584, 0x1a31, 0x1584, -0x1990, 0x1518, 0x1990, 0x1518, 0x1854, 0x1423, 0x1854, 0x1423, 0x1854, 0x1423, 0x172e, -0x1351, 0x172e, 0x1351, 0x1613, 0x1298, 0x1613, 0x1298, 0x1485, 0x1177, 0x1485, 0x1177, -0x1301, 0x1067, 0x1301, 0x1067, 0x11ea, 0xfc9, 0x11ea, 0xfc9, 0x109f, 0xef8, 0x109f, -0xef8, 0x109f, 0xef8, 0xef2, 0xdc5, 0xef2, 0xdc5, 0xe3d, 0xd86, 0xe3d, 0xd86, -0xcce, 0xc86, 0xcce, 0xc86, 0xa5b, 0xa7a, 0xa5b, 0xa7a, 0x891, 0x90b, 0x891, -0x90b, 0x6a2, 0x76d, 0x6a2, 0x76d, 0x6a2, 0x76d, 0x480, 0x58e, 0x480, 0x58e, -0x327, 0x46a, 0x327, 0x46a, 0x28f, 0x3fb, 0x28f, 0x3fb, 0x16a, 0x2f0, 0x16a, -0x2f0, 0xffa3, 0x138, 0xffa3, 0x138, 0xffa3, 0x138, 0xfdfc, 0xff94, 0xfdfc, 0xff94, -0xfc18, 0xfda9, 0xfc18, 0xfda9, 0xfaa5, 0xfc26, 0xfaa5, 0xfc26, 0xfa07, 0xfb72, 0xfa07, -0xfb72, 0xf965, 0xfab6, 0xf965, 0xfab6, 0xf8b1, 0xf9e4, 0xf8b1, 0xf9e4, 0xf8b1, 0xf9e4, -0xf80a, 0xf91f, 0xf80a, 0xf91f, 0xf78b, 0xf882, 0xf78b, 0xf882, 0xf6d8, 0xf7b3, 0xf6d8, -0xf7b3, 0xf64c, 0xf70e, 0xf64c, 0xf70e, 0xf753, 0xf801, 0xf753, 0xf801, 0xf753, 0xf801, -0xf886, 0xf925, 0xf886, 0xf925, 0xf918, 0xf9ad, 0xf918, 0xf9ad, 0xfa72, 0xfb02, 0xfa72, -0xfb02, 0xfb58, 0xfbe9, 0xfb58, 0xfbe9, 0xfb5e, 0xfbf4, 0xfb5e, 0xfbf4, 0xfbee, 0xfc8e, -0xfbee, 0xfc8e, 0xfbee, 0xfc8e, 0xfcda, 0xfd86, 0xfcda, 0xfd86, 0xfd43, 0xfdfd, 0xfd43, -0xfdfd, 0xfda3, 0xfe6d, 0xfda3, 0xfe6d, 0xfe90, 0xff69, 0xfe90, 0xff69, 0xfeef, 0xffd8, -0xfeef, 0xffd8, 0xff2a, 0x1f, 0xff2a, 0x1f, 0xff2a, 0x1f, 0xff98, 0x96, 0xff98, -0x96, 0xff26, 0x2a, 0xff26, 0x2a, 0xfe75, 0xff7b, 0xfe75, 0xff7b, 0xfe6c, 0xff6f, -0xfe6c, 0xff6f, 0xfee1, 0xffdd, 0xfee1, 0xffdd, 0xfee1, 0xffdd, 0xff31, 0x23, 0xff31, -0x23, 0xffb9, 0x9b, 0xffb9, 0x9b, 0xa1, 0x16f, 0xa1, 0x16f, 0x19e, 0x256, -0x19e, 0x256, 0x2cc, 0x36d, 0x2cc, 0x36d, 0x40b, 0x492, 0x40b, 0x492, 0x40b, -0x492, 0x52e, 0x59b, 0x52e, 0x59b, 0x5b8, 0x60c, 0x5b8, 0x60c, 0x6b6, 0x6f1, -0x6b6, 0x6f1, 0x797, 0x7bc, 0x797, 0x7bc, 0x73a, 0x74a, 0x73a, 0x74a, 0x777, -0x776, 0x777, 0x776, 0x777, 0x776, 0x825, 0x818, 0x825, 0x818, 0x862, 0x84b, -0x862, 0x84b, 0x850, 0x834, 0x850, 0x834, 0x7f2, 0x7d4, 0x7f2, 0x7d4, 0x658, -0x63c, 0x658, 0x63c, 0x658, 0x63c, 0x3eb, 0x3d6, 0x3eb, 0x3d6, 0x2c2, 0x2b5, -0x2c2, 0x2b5, 0x19b, 0x199, 0x19b, 0x199, 0x49, 0x54, 0x49, 0x54, 0xff77, -0xff90, 0xff77, 0xff90, 0xfe0c, 0xfe33, 0xfe0c, 0xfe33, 0xfe0c, 0xfe33, 0xfc3a, 0xfc6f, -0xfc3a, 0xfc6f, 0xfadc, 0xfb1e, 0xfadc, 0xfb1e, 0xfa91, 0xfadf, 0xfa91, 0xfadf, 0xfa5f, -0xfab5, 0xfa5f, 0xfab5, 0xfa62, 0xfabe, 0xfa62, 0xfabe, 0xfae8, 0xfb47, 0xfae8, 0xfb47, -0xfae8, 0xfb47, 0xfaf0, 0xfb4c, 0xfaf0, 0xfb4c, 0xfafe, 0xfb55, 0xfafe, 0xfb55, 0xfb2a, -0xfb77, 0xfb2a, 0xfb77, 0xfb58, 0xfb97, 0xfb58, 0xfb97, 0xfb88, 0xfbb3, 0xfb88, 0xfbb3, -0xfb88, 0xfbb3, 0xfc01, 0xfc15, 0xfc01, 0xfc15, 0xfd6b, 0xfd63, 0xfd6b, 0xfd63, 0xfe99, -0xfe70, 0xfe99, 0xfe70, 0xff4c, 0xfeff, 0xff4c, 0xfeff, 0xb8, 0x43, 0xb8, 0x43, -0x1dd, 0x13d, 0x1dd, 0x13d, 0x1dd, 0x13d, 0x268, 0x19a, 0x268, 0x19a, 0x39e, -0x29e, 0x39e, 0x29e, 0x4af, 0x37d, 0x4af, 0x37d, 0x547, 0x3e0, 0x547, 0x3e0, -0x634, 0x498, 0x634, 0x498, 0x770, 0x59e, 0x770, 0x59e, 0x770, 0x59e, 0x8ad, -0x6a6, 0x8ad, 0x6a6, 0xa60, 0x825, 0xa60, 0x825, 0xccd, 0xa5e, 0xccd, 0xa5e, -0xefc, 0xc5c, 0xefc, 0xc5c, 0x117e, 0xeaf, 0x117e, 0xeaf, 0x117e, 0xeaf, 0x142a, -0x1130, 0x142a, 0x1130, 0x15b9, 0x1297, 0x15b9, 0x1297, 0x16e3, 0x139c, 0x16e3, 0x139c, -0x1866, 0x1500, 0x1866, 0x1500, 0x1a01, 0x1681, 0x1a01, 0x1681, 0x1b15, 0x177e, 0x1b15, -0x177e, 0x1b15, 0x177e, 0x1ba4, 0x17fb, 0x1ba4, 0x17fb, 0x1bbe, 0x1809, 0x1bbe, 0x1809, -0x1b9c, 0x17dd, 0x1b9c, 0x17dd, 0x1b17, 0x1754, 0x1b17, 0x1754, 0x1a41, 0x167d, 0x1a41, -0x167d, 0x1999, 0x15d7, 0x1999, 0x15d7, 0x1999, 0x15d7, 0x18b9, 0x14fb, 0x18b9, 0x14fb, -0x186f, 0x14b6, 0x186f, 0x14b6, 0x1843, 0x1491, 0x1843, 0x1491, 0x1793, 0x13e7, 0x1793, -0x13e7, 0x1731, 0x138a, 0x1731, 0x138a, 0x1731, 0x138a, 0x16c7, 0x1324, 0x16c7, 0x1324, -0x1650, 0x12ae, 0x1650, 0x12ae, 0x15f1, 0x124e, 0x15f1, 0x124e, 0x1615, 0x126e, 0x1615, -0x126e, 0x1627, 0x1279, 0x1627, 0x1279, 0x16ba, 0x1302, 0x16ba, 0x1302, 0x16ba, 0x1302, -0x187d, 0x14b7, 0x187d, 0x14b7, 0x1962, 0x158d, 0x1962, 0x158d, 0x19e9, 0x1603, 0x19e9, -0x1603, 0x1a81, 0x1689, 0x1a81, 0x1689, 0x1a99, 0x168f, 0x1a99, 0x168f, 0x1ad2, 0x16b9, -0x1ad2, 0x16b9, 0x1ad2, 0x16b9, 0x1b93, 0x176e, 0x1b93, 0x176e, 0x1c5a, 0x182d, 0x1c5a, -0x182d, 0x1b9f, 0x1770, 0x1b9f, 0x1770, 0x19f1, 0x15c8, 0x19f1, 0x15c8, 0x17d4, 0x13ba, -0x17d4, 0x13ba, 0x17d4, 0x13ba, 0x1593, 0x1193, 0x1593, 0x1193, 0x140c, 0x1030, 0x140c, -0x1030, 0x127f, 0xed5, 0x127f, 0xed5, 0x10fb, 0xd8e, 0x10fb, 0xd8e, 0xf40, 0xc1d, -0xf40, 0xc1d, 0xd64, 0xa97, 0xd64, 0xa97, 0xd64, 0xa97, 0xc3a, 0x9cf, 0xc3a, -0x9cf, 0xa9a, 0x89c, 0xa9a, 0x89c, 0x8a9, 0x721, 0x8a9, 0x721, 0x76e, 0x663, -0x76e, 0x663, 0x59d, 0x515, 0x59d, 0x515, 0x2e4, 0x2e2, 0x2e4, 0x2e2, 0x2e4, -0x2e2, 0x1a, 0x9d, 0x1a, 0x9d, 0xfc9e, 0xfda5, 0xfc9e, 0xfda5, 0xf8d3, 0xfa58, -0xf8d3, 0xfa58, 0xf5fc, 0xf7f8, 0xf5fc, 0xf7f8, 0xf3c8, 0xf631, 0xf3c8, 0xf631, 0xf3c8, -0xf631, 0xf168, 0xf431, 0xf168, 0xf431, 0xef2e, 0xf249, 0xef2e, 0xf249, 0xed1a, 0xf077, -0xed1a, 0xf077, 0xeac8, 0xee55, 0xeac8, 0xee55, 0xe927, 0xecd4, 0xe927, 0xecd4, 0xe7d4, -0xeb8e, 0xe7d4, 0xeb8e, 0xe7d4, 0xeb8e, 0xe626, 0xe9db, 0xe626, 0xe9db, 0xe4d9, 0xe877, -0xe4d9, 0xe877, 0xe3ec, 0xe764, 0xe3ec, 0xe764, 0xe35b, 0xe69f, 0xe35b, 0xe69f, 0xe352, -0xe656, 0xe352, 0xe656, 0xe3bb, 0xe675, 0xe3bb, 0xe675, 0xe3bb, 0xe675, 0xe4da, 0xe742, -0xe4da, 0xe742, 0xe740, 0xe952, 0xe740, 0xe952, 0xea35, 0xebef, 0xea35, 0xebef, 0xed71, -0xeed4, 0xed71, 0xeed4, 0xf0ce, 0xf1dd, 0xf0ce, 0xf1dd, 0xf0ce, 0xf1dd, 0xf3a9, 0xf46a, -0xf3a9, 0xf46a, 0xf6cf, 0xf749, 0xf6cf, 0xf749, 0xf99b, 0xf9d8, 0xf99b, 0xf9d8, 0xfbf6, -0xfc00, 0xfbf6, 0xfc00, 0xfe8f, 0xfe72, 0xfe8f, 0xfe72, 0x102, 0xc9, 0x102, 0xc9, -0x102, 0xc9, 0x2fa, 0x2b0, 0x2fa, 0x2b0, 0x407, 0x3b6, 0x407, 0x3b6, 0x44b, -0x3fd, 0x44b, 0x3fd, 0x36a, 0x328, 0x36a, 0x328, 0x2d3, 0x2a3, 0x2d3, 0x2a3, -0x2d3, 0x2a3, 0x2ed, 0x2d3, 0x2ed, 0x2d3, 0x25b, 0x25c, 0x25b, 0x25c, 0x221, -0x23c, 0x221, 0x23c, 0x1ca, 0x1ff, 0x1ca, 0x1ff, 0x12f, 0x17b, 0x12f, 0x17b, -0x10f, 0x16d, 0x10f, 0x16d, 0x10f, 0x16d, 0x15e, 0x1c9, 0x15e, 0x1c9, 0x1ae, -0x221, 0x1ae, 0x221, 0x1d3, 0x246, 0x1d3, 0x246, 0x2a4, 0x311, 0x2a4, 0x311, -0x2e7, 0x348, 0x2e7, 0x348, 0x2d1, 0x320, 0x2d1, 0x320, 0x2d1, 0x320, 0x34f, -0x389, 0x34f, 0x389, 0x37a, 0x39c, 0x37a, 0x39c, 0x39c, 0x3a4, 0x39c, 0x3a4, -0x3a0, 0x390, 0x3a0, 0x390, 0x3ec, 0x3c7, 0x3ec, 0x3c7, 0x3ec, 0x3c7, 0x40b, -0x3d6, 0x40b, 0x3d6, 0x2bc, 0x27f, 0x2bc, 0x27f, 0x115, 0xd8, 0x115, 0xd8, -0xff97, 0xff64, 0xff97, 0xff64, 0xfd74, 0xfd57, 0xfd74, 0xfd57, 0xfb6c, 0xfb72, 0xfb6c, -0xfb72, 0xfb6c, 0xfb72, 0xfa00, 0xfa34, 0xfa00, 0xfa34, 0xf7d9, 0xf849, 0xf7d9, 0xf849, -0xf4e8, 0xf59e, 0xf4e8, 0xf59e, 0xf1f5, 0xf2fd, 0xf1f5, 0xf2fd, 0xeed7, 0xf03a, 0xeed7, -0xf03a, 0xebcb, 0xed90, 0xebcb, 0xed90, 0xebcb, 0xed90, 0xe9b8, 0xebe3, 0xe9b8, 0xebe3, -0xe7eb, 0xea80, 0xe7eb, 0xea80, 0xe5e2, 0xe8e0, 0xe5e2, 0xe8e0, 0xe49b, 0xe800, 0xe49b, -0xe800, 0xe2f1, 0xe6b8, 0xe2f1, 0xe6b8, 0xe2f1, 0xe6b8, 0xe02f, 0xe44f, 0xe02f, 0xe44f, -0xdd91, 0xe201, 0xdd91, 0xe201, 0xdbbf, 0xe072, 0xdbbf, 0xe072, 0xdaae, 0xdf97, 0xdaae, -0xdf97, 0xda31, 0xdf42, 0xda31, 0xdf42, 0xd9fa, 0xdf23, 0xd9fa, 0xdf23, 0xd9fa, 0xdf23, -0xd9e8, 0xdf1b, 0xd9e8, 0xdf1b, 0xda1a, 0xdf46, 0xda1a, 0xdf46, 0xda31, 0xdf49, 0xda31, -0xdf49, 0xda8c, 0xdf84, 0xda8c, 0xdf84, 0xdad6, 0xdfa2, 0xdad6, 0xdfa2, 0xdb02, 0xdf99, -0xdb02, 0xdf99, 0xdb02, 0xdf99, 0xdbb7, 0xe012, 0xdbb7, 0xe012, 0xdc4a, 0xe064, 0xdc4a, -0xe064, 0xdd5e, 0xe135, 0xdd5e, 0xe135, 0xdf55, 0xe2e9, 0xdf55, 0xe2e9, 0xe1b8, 0xe50b, -0xe1b8, 0xe50b, 0xe1b8, 0xe50b, 0xe3f9, 0xe70e, 0xe3f9, 0xe70e, 0xe64a, 0xe928, 0xe64a, -0xe928, 0xe8b6, 0xeb64, 0xe8b6, 0xeb64, 0xea4b, 0xecd0, 0xea4b, 0xecd0, 0xec60, 0xeec4, -0xec60, 0xeec4, 0xee62, 0xf0ad, 0xee62, 0xf0ad, 0xee62, 0xf0ad, 0xef5e, 0xf197, 0xef5e, -0xf197, 0xf0b9, 0xf2e7, 0xf0b9, 0xf2e7, 0xf24a, 0xf470, 0xf24a, 0xf470, 0xf38e, 0xf5b0, -0xf38e, 0xf5b0, 0xf440, 0xf660, 0xf440, 0xf660, 0xf4ea, 0xf706, 0xf4ea, 0xf706, 0xf4ea, -0xf706, 0xf4ff, 0xf714, 0xf4ff, 0xf714, 0xf444, 0xf64e, 0xf444, 0xf64e, 0xf3e2, 0xf5d7, -0xf3e2, 0xf5d7, 0xf33f, 0xf519, 0xf33f, 0xf519, 0xf307, 0xf4ba, 0xf307, 0xf4ba, 0xf307, -0xf4ba, 0xf376, 0xf4f6, 0xf376, 0xf4f6, 0xf41c, 0xf55e, 0xf41c, 0xf55e, 0xf554, 0xf64a, -0xf554, 0xf64a, 0xf693, 0xf733, 0xf693, 0xf733, 0xf867, 0xf8a4, 0xf867, 0xf8a4, 0xfa98, -0xfa69, 0xfa98, 0xfa69, 0xfa98, 0xfa69, 0xfcce, 0xfc2a, 0xfcce, 0xfc2a, 0x3a, 0xff1b, -0x3a, 0xff1b, 0x46f, 0x2d1, 0x46f, 0x2d1, 0x85e, 0x641, 0x85e, 0x641, 0xc56, -0x9bb, 0xc56, 0x9bb, 0x1040, 0xd2c, 0x1040, 0xd2c, 0x1040, 0xd2c, 0x1336, 0xfb0, -0x1336, 0xfb0, 0x1591, 0x11a3, 0x1591, 0x11a3, 0x1854, 0x140c, 0x1854, 0x140c, 0x1ac2, -0x162e, 0x1ac2, 0x162e, 0x1c54, 0x1784, 0x1c54, 0x1784, 0x1c54, 0x1784, 0x1dd1, 0x18d7, -0x1dd1, 0x18d7, 0x1e53, 0x1943, 0x1e53, 0x1943, 0x1d9f, 0x188c, 0x1d9f, 0x188c, 0x1d32, -0x182f, 0x1d32, 0x182f, 0x1cad, 0x17cd, 0x1cad, 0x17cd, 0x1b53, 0x16a8, 0x1b53, 0x16a8, -0x1b53, 0x16a8, 0x199c, 0x1535, 0x199c, 0x1535, 0x17e0, 0x13cc, 0x17e0, 0x13cc, 0x1619, -0x1265, 0x1619, 0x1265, 0x1457, 0x110c, 0x1457, 0x110c, 0x12ab, 0xfd1, 0x12ab, 0xfd1, -0x115e, 0xef9, 0x115e, 0xef9, 0x115e, 0xef9, 0x1022, 0xe36, 0x1022, 0xe36, 0xec4, -0xd4f, 0xec4, 0xd4f, 0xd4c, 0xc4d, 0xd4c, 0xc4d, 0xaf0, 0xa63, 0xaf0, 0xa63, -0x885, 0x861, 0x885, 0x861, 0x885, 0x861, 0x6bd, 0x6fc, 0x6bd, 0x6fc, 0x4eb, -0x585, 0x4eb, 0x585, 0x328, 0x411, 0x328, 0x411, 0x204, 0x333, 0x204, 0x333, -0x157, 0x2c1, 0x157, 0x2c1, 0x2d, 0x1c7, 0x2d, 0x1c7, 0x2d, 0x1c7, 0xff31, -0xf1, 0xff31, 0xf1, 0xfe36, 0x14, 0xfe36, 0x14, 0xfc93, 0xfe84, 0xfc93, 0xfe84, -0xfbb8, 0xfdb6, 0xfbb8, 0xfdb6, 0xfb16, 0xfd19, 0xfb16, 0xfd19, 0xf9d8, 0xfbdc, 0xf9d8, -0xfbdc, 0xf9d8, 0xfbdc, 0xf8bd, 0xfabb, 0xf8bd, 0xfabb, 0xf808, 0xf9fe, 0xf808, 0xf9fe, -0xf781, 0xf96b, 0xf781, 0xf96b, 0xf71a, 0xf8f6, 0xf71a, 0xf8f6, 0xf7ab, 0xf978, 0xf7ab, -0xf978, 0xf7ab, 0xf978, 0xf87f, 0xfa3c, 0xf87f, 0xfa3c, 0xf95b, 0xfb05, 0xf95b, 0xfb05, -0xfa7e, 0xfc17, 0xfa7e, 0xfc17, 0xfae3, 0xfc6a, 0xfae3, 0xfc6a, 0xfb0d, 0xfc80, 0xfb0d, -0xfc80, 0xfb31, 0xfc90, 0xfb31, 0xfc90, 0xfb31, 0xfc90, 0xfbfa, 0xfd44, 0xfbfa, 0xfd44, -0xfd6b, 0xfea0, 0xfd6b, 0xfea0, 0xfe7c, 0xff99, 0xfe7c, 0xff99, 0xffe2, 0xe7, 0xffe2, -0xe7, 0xa1, 0x18c, 0xa1, 0x18c, 0x26, 0xf5, 0x26, 0xf5, 0x26, 0xf5, -0xffec, 0x9e, 0xffec, 0x9e, 0x24, 0xb8, 0x24, 0xb8, 0x2a, 0x9e, 0x2a, -0x9e, 0x33, 0x86, 0x33, 0x86, 0xc2, 0xf4, 0xc2, 0xf4, 0xc2, 0xf4, -0x139, 0x14a, 0x139, 0x14a, 0x143, 0x134, 0x143, 0x134, 0x180, 0x151, 0x180, -0x151, 0x1df, 0x193, 0x1df, 0x193, 0x261, 0x1fb, 0x261, 0x1fb, 0x36e, 0x2f0, -0x36e, 0x2f0, 0x36e, 0x2f0, 0x451, 0x3be, 0x451, 0x3be, 0x4fe, 0x45b, 0x4fe, -0x45b, 0x5c7, 0x518, 0x5c7, 0x518, 0x60d, 0x556, 0x60d, 0x556, 0x5fe, 0x545, -0x5fe, 0x545, 0x5fe, 0x545, 0x62d, 0x575, 0x62d, 0x575, 0x6b7, 0x606, 0x6b7, -0x606, 0x72e, 0x687, 0x72e, 0x687, 0x6fd, 0x665, 0x6fd, 0x665, 0x66b, 0x5e4, -0x66b, 0x5e4, 0x5c0, 0x54e, 0x5c0, 0x54e, 0x5c0, 0x54e, 0x47d, 0x423, 0x47d, -0x423, 0x2f6, 0x2b6, 0x2f6, 0x2b6, 0x1a0, 0x17a, 0x1a0, 0x17a, 0x2f, 0x24, -0x2f, 0x24, 0xfee7, 0xfef7, 0xfee7, 0xfef7, 0xfd88, 0xfdb3, 0xfd88, 0xfdb3, 0xfd88, -0xfdb3, 0xfba5, 0xfbea, 0xfba5, 0xfbea, 0xf9b9, 0xfa16, 0xf9b9, 0xfa16, 0xf8a6, 0xf918, -0xf8a6, 0xf918, 0xf885, 0xf90b, 0xf885, 0xf90b, 0xf8ee, 0xf983, 0xf8ee, 0xf983, 0xf8ee, -0xf983, 0xf9c9, 0xfa6b, 0xf9c9, 0xfa6b, 0xfa18, 0xfac4, 0xfa18, 0xfac4, 0xfa09, 0xfaba, -0xfa09, 0xfaba, 0xfa79, 0xfb2b, 0xfa79, 0xfb2b, 0xfab3, 0xfb62, 0xfab3, 0xfb62, 0xfac4, -0xfb6d, 0xfac4, 0xfb6d, 0xfac4, 0xfb6d, 0xfb25, 0xfbc2, 0xfb25, 0xfbc2, 0xfc16, 0xfca4, -0xfc16, 0xfca4, 0xfd27, 0xfda0, 0xfd27, 0xfda0, 0xfe57, 0xfeb8, 0xfe57, 0xfeb8, 0x12, -0x56, 0x12, 0x56, 0x164, 0x186, 0x164, 0x186, 0x164, 0x186, 0x2b2, 0x2af, -0x2b2, 0x2af, 0x3e4, 0x3b8, 0x3e4, 0x3b8, 0x46b, 0x413, 0x46b, 0x413, 0x4ea, -0x462, 0x4ea, 0x462, 0x588, 0x4cd, 0x588, 0x4cd, 0x588, 0x4cd, 0x6ec, 0x5fc, -0x6ec, 0x5fc, 0x876, 0x750, 0x876, 0x750, 0x9fa, 0x89c, 0x9fa, 0x89c, 0xc46, -0xab0, 0xc46, 0xab0, 0xe4f, 0xc81, 0xe4f, 0xc81, 0x1036, 0xe31, 0x1036, 0xe31, -0x1036, 0xe31, 0x12b9, 0x107f, 0x12b9, 0x107f, 0x14ca, 0x125f, 0x14ca, 0x125f, 0x1647, -0x13ae, 0x1647, 0x13ae, 0x17d9, 0x1515, 0x17d9, 0x1515, 0x195b, 0x1672, 0x195b, 0x1672, -0x1a93, 0x178a, 0x1a93, 0x178a, 0x1a93, 0x178a, 0x1b7a, 0x1857, 0x1b7a, 0x1857, 0x1c5a, -0x1922, 0x1c5a, 0x1922, 0x1c6a, 0x1924, 0x1c6a, 0x1924, 0x1bbe, 0x186f, 0x1bbe, 0x186f, -0x1b2d, 0x17db, 0x1b2d, 0x17db, 0x1b2d, 0x17db, 0x1a26, 0x16d6, 0x1a26, 0x16d6, 0x18f7, -0x15ad, 0x18f7, 0x15ad, 0x181b, 0x14dc, 0x181b, 0x14dc, 0x179f, 0x146d, 0x179f, 0x146d, -0x1705, 0x13e2, 0x1705, 0x13e2, 0x15fc, 0x12e9, 0x15fc, 0x12e9, 0x15fc, 0x12e9, 0x1513, -0x1210, 0x1513, 0x1210, 0x145f, 0x116c, 0x145f, 0x116c, 0x13d3, 0x10ee, 0x13d3, 0x10ee, -0x13b1, 0x10d8, 0x13b1, 0x10d8, 0x1421, 0x1151, 0x1421, 0x1151, 0x14d0, 0x1205, 0x14d0, -0x1205, 0x14d0, 0x1205, 0x15a8, 0x12de, 0x15a8, 0x12de, 0x1639, 0x136e, 0x1639, 0x136e, -0x16c0, 0x13f0, 0x16c0, 0x13f0, 0x17df, 0x1508, 0x17df, 0x1508, 0x18da, 0x15fb, 0x18da, -0x15fb, 0x18da, 0x15fb, 0x1944, 0x165b, 0x1944, 0x165b, 0x1982, 0x1690, 0x1982, 0x1690, -0x19ff, 0x1706, 0x19ff, 0x1706, 0x1a39, 0x173d, 0x1a39, 0x173d, 0x1a3a, 0x173e, 0x1a3a, -0x173e, 0x19b8, 0x16c4, 0x19b8, 0x16c4, 0x19b8, 0x16c4, 0x17f7, 0x1512, 0x17f7, 0x1512, -0x1630, 0x1363, 0x1630, 0x1363, 0x14ee, 0x1241, 0x14ee, 0x1241, 0x13bb, 0x113a, 0x13bb, -0x113a, 0x1233, 0xfe8, 0x1233, 0xfe8, 0x109a, 0xe90, 0x109a, 0xe90, 0x109a, 0xe90, -0xf19, 0xd5a, 0xf19, 0xd5a, 0xd35, 0xbcc, 0xd35, 0xbcc, 0xbee, 0xae4, 0xbee, -0xae4, 0xad4, 0xa30, 0xad4, 0xa30, 0x8bb, 0x882, 0x8bb, 0x882, 0x8bb, 0x882, -0x667, 0x69e, 0x667, 0x69e, 0x3c1, 0x46a, 0x3c1, 0x46a, 0x61, 0x17c, 0x61, -0x17c, 0xfcda, 0xfe63, 0xfcda, 0xfe63, 0xf9ef, 0xfbe0, 0xf9ef, 0xfbe0, 0xf78c, 0xf9e0, -0xf78c, 0xf9e0, 0xf78c, 0xf9e0, 0xf4c4, 0xf76f, 0xf4c4, 0xf76f, 0xf265, 0xf55d, 0xf265, -0xf55d, 0xf112, 0xf449, 0xf112, 0xf449, 0xeef8, 0xf25f, 0xeef8, 0xf25f, 0xecd4, 0xf05c, -0xecd4, 0xf05c, 0xebc3, 0xef5c, 0xebc3, 0xef5c, 0xebc3, 0xef5c, 0xea3d, 0xedd7, 0xea3d, -0xedd7, 0xe8b3, 0xec3e, 0xe8b3, 0xec3e, 0xe7bd, 0xeb2b, 0xe7bd, 0xeb2b, 0xe6f5, 0xea38, -0xe6f5, 0xea38, 0xe5f5, 0xe901, 0xe5f5, 0xe901, 0xe5f5, 0xe901, 0xe550, 0xe81c, 0xe550, -0xe81c, 0xe5c9, 0xe84c, 0xe5c9, 0xe84c, 0xe68f, 0xe8c4, 0xe68f, 0xe8c4, 0xe88d, 0xea71, -0xe88d, 0xea71, 0xeba7, 0xed39, 0xeba7, 0xed39, 0xee7b, 0xefbd, 0xee7b, 0xefbd, 0xee7b, -0xefbd, 0xf14d, 0xf242, 0xf14d, 0xf242, 0xf450, 0xf4fe, 0xf450, 0xf4fe, 0xf706, 0xf774, -0xf706, 0xf774, 0xf914, 0xf94a, 0xf914, 0xf94a, 0xfb98, 0xfb9f, 0xfb98, 0xfb9f, 0xfe95, -0xfe78, 0xfe95, 0xfe78, 0xfe95, 0xfe78, 0xd4, 0x9d, 0xd4, 0x9d, 0x22a, 0x1e1, -0x22a, 0x1e1, 0x31a, 0x2c9, 0x31a, 0x2c9, 0x333, 0x2e2, 0x333, 0x2e2, 0x279, -0x22d, 0x279, 0x22d, 0x279, 0x22d, 0x1ff, 0x1bf, 0x1ff, 0x1bf, 0x163, 0x133, -0x163, 0x133, 0x96, 0x76, 0x96, 0x76, 0xb, 0xfffe, 0xb, 0xfffe, 0xffa0, -0xffa4, 0xffa0, 0xffa4, 0xfed2, 0xfee5, 0xfed2, 0xfee5, 0xfed2, 0xfee5, 0xfe6f, 0xfe8c, -0xfe6f, 0xfe8c, 0xff46, 0xff6b, 0xff46, 0xff6b, 0x6d, 0x94, 0x6d, 0x94, 0x1d5, -0x1fa, 0x1d5, 0x1fa, 0x29f, 0x2bd, 0x29f, 0x2bd, 0x272, 0x286, 0x272, 0x286, -0x272, 0x286, 0x295, 0x29a, 0x295, 0x29a, 0x387, 0x37c, 0x387, 0x37c, 0x4a3, -0x487, 0x4a3, 0x487, 0x4e5, 0x4ba, 0x4e5, 0x4ba, 0x506, 0x4cd, 0x506, 0x4cd, -0x506, 0x4cd, 0x4e0, 0x49e, 0x4e0, 0x49e, 0x406, 0x3c0, 0x406, 0x3c0, 0x383, -0x340, 0x383, 0x340, 0x2e6, 0x2ae, 0x2e6, 0x2ae, 0x195, 0x173, 0x195, 0x173, -0xffc6, 0xffc4, 0xffc6, 0xffc4, 0xffc6, 0xffc4, 0xfd86, 0xfdaf, 0xfd86, 0xfdaf, 0xfb0f, -0xfb6c, 0xfb0f, 0xfb6c, 0xf831, 0xf8cd, 0xf831, 0xf8cd, 0xf519, 0xf5fd, 0xf519, 0xf5fd, -0xf25a, 0xf38f, 0xf25a, 0xf38f, 0xf25a, 0xf38f, 0xef66, 0xf0f2, 0xef66, 0xf0f2, 0xecfb, -0xeee4, 0xecfb, 0xeee4, 0xeb77, 0xedc0, 0xeb77, 0xedc0, 0xe8ec, 0xeb95, 0xe8ec, 0xeb95, -0xe654, 0xe95d, 0xe654, 0xe95d, 0xe44e, 0xe7b2, 0xe44e, 0xe7b2, 0xe44e, 0xe7b2, 0xe1bc, -0xe576, 0xe1bc, 0xe576, 0xdf65, 0xe36d, 0xdf65, 0xe36d, 0xdd8c, 0xe1d9, 0xdd8c, 0xe1d9, -0xdc0d, 0xe094, 0xdc0d, 0xe094, 0xda6d, 0xdf21, 0xda6d, 0xdf21, 0xd931, 0xde07, 0xd931, -0xde07, 0xd931, 0xde07, 0xd876, 0xdd60, 0xd876, 0xdd60, 0xd7c1, 0xdcb2, 0xd7c1, 0xdcb2, -0xd80e, 0xdcf9, 0xd80e, 0xdcf9, 0xd871, 0xdd4a, 0xd871, 0xdd4a, 0xd86f, 0xdd2c, 0xd86f, -0xdd2c, 0xd86f, 0xdd2c, 0xd8c6, 0xdd5d, 0xd8c6, 0xdd5d, 0xd9a6, 0xde11, 0xd9a6, 0xde11, -0xdac9, 0xdf01, 0xdac9, 0xdf01, 0xdb99, 0xdf9a, 0xdb99, 0xdf9a, 0xdc8c, 0xe055, 0xdc8c, -0xe055, 0xde04, 0xe195, 0xde04, 0xe195, 0xde04, 0xe195, 0xdfc8, 0xe322, 0xdfc8, 0xe322, -0xe1c3, 0xe4e9, 0xe1c3, 0xe4e9, 0xe421, 0xe717, 0xe421, 0xe717, 0xe616, 0xe8e3, 0xe616, -0xe8e3, 0xe7e7, 0xea8f, 0xe7e7, 0xea8f, 0xe9f7, 0xec81, 0xe9f7, 0xec81, 0xe9f7, 0xec81, -0xeb5f, 0xedd0, 0xeb5f, 0xedd0, 0xecb8, 0xef17, 0xecb8, 0xef17, 0xee92, 0xf0e2, 0xee92, -0xf0e2, 0xf02b, 0xf270, 0xf02b, 0xf270, 0xf0cd, 0xf309, 0xf0cd, 0xf309, 0xf0cd, 0xf309, -0xf1ae, 0xf3e1, 0xf1ae, 0xf3e1, 0xf2dd, 0xf506, 0xf2dd, 0xf506, 0xf318, 0xf535, 0xf318, -0xf535, 0xf32e, 0xf53a, 0xf32e, 0xf53a, 0xf313, 0xf508, 0xf313, 0xf508, 0xf2c9, 0xf49f, -0xf2c9, 0xf49f, 0xf2c9, 0xf49f, 0xf2e2, 0xf491, 0xf2e2, 0xf491, 0xf392, 0xf511, 0xf392, -0xf511, 0xf467, 0xf5ac, 0xf467, 0xf5ac, 0xf4ac, 0xf5ad, 0xf4ac, 0xf5ad, 0xf59d, 0xf651, -0xf59d, 0xf651, 0xf78c, 0xf7e9, 0xf78c, 0xf7e9, 0xf78c, 0xf7e9, 0xfa08, 0xfa07, 0xfa08, -0xfa07, 0xfd35, 0xfcce, 0xfd35, 0xfcce, 0xa6, 0xffd6, 0xa6, 0xffd6, 0x469, 0x32b, -0x469, 0x32b, 0x866, 0x6ba, 0x866, 0x6ba, 0x866, 0x6ba, 0xc64, 0xa4b, 0xc64, -0xa4b, 0x1024, 0xda2, 0x1024, 0xda2, 0x1339, 0x1052, 0x1339, 0x1052, 0x1612, 0x12cf, -0x1612, 0x12cf, 0x18d8, 0x1543, 0x18d8, 0x1543, 0x1ac7, 0x16ea, 0x1ac7, 0x16ea, 0x1ac7, -0x16ea, 0x1cce, 0x18b8, 0x1cce, 0x18b8, 0x1f02, 0x1ac0, 0x1f02, 0x1ac0, 0x1fa2, 0x1b44, -0x1fa2, 0x1b44, 0x1f9a, 0x1b2f, 0x1f9a, 0x1b2f, 0x1f33, 0x1acb, 0x1f33, 0x1acb, 0x1e1e, -0x19c8, 0x1e1e, 0x19c8, 0x1e1e, 0x19c8, 0x1cc7, 0x1892, 0x1cc7, 0x1892, 0x1b34, 0x172e, -0x1b34, 0x172e, 0x19ba, 0x15f0, 0x19ba, 0x15f0, 0x17c4, 0x1440, 0x17c4, 0x1440, 0x15ff, -0x12cc, 0x15ff, 0x12cc, 0x15ff, 0x12cc, 0x1434, 0x115a, 0x1434, 0x115a, 0x1241, 0xfc4, -0x1241, 0xfc4, 0x10db, 0xec0, 0x10db, 0xec0, 0xeea, 0xd33, 0xeea, 0xd33, 0xc98, -0xb44, 0xc98, 0xb44, 0xa72, 0x980, 0xa72, 0x980, 0xa72, 0x980, 0x8bb, 0x827, -0x8bb, 0x827, 0x702, 0x6c8, 0x702, 0x6c8, 0x4ed, 0x506, 0x4ed, 0x506, 0x2de, -0x344, 0x2de, 0x344, 0x12c, 0x1d6, 0x12c, 0x1d6, 0xffe4, 0xca, 0xffe4, 0xca, -0xffe4, 0xca, 0xfe9f, 0xffba, 0xfe9f, 0xffba, 0xfd76, 0xfebc, 0xfd76, 0xfebc, 0xfc06, -0xfd6f, 0xfc06, 0xfd6f, 0xfaf5, 0xfc78, 0xfaf5, 0xfc78, 0xfa16, 0xfbac, 0xfa16, 0xfbac, -0xfa16, 0xfbac, 0xf8e3, 0xfa85, 0xf8e3, 0xfa85, 0xf7e9, 0xf990, 0xf7e9, 0xf990, 0xf6e7, -0xf88e, 0xf6e7, 0xf88e, 0xf5e9, 0xf78a, 0xf5e9, 0xf78a, 0xf509, 0xf6a0, 0xf509, 0xf6a0, -0xf568, 0xf6f1, 0xf568, 0xf6f1, 0xf568, 0xf6f1, 0xf66f, 0xf7e7, 0xf66f, 0xf7e7, 0xf77a, -0xf8df, 0xf77a, 0xf8df, 0xf929, 0xfa78, 0xf929, 0xfa78, 0xf9e5, 0xfb1d, 0xf9e5, 0xfb1d, -0xfa06, 0xfb26, 0xfa06, 0xfb26, 0xfaea, 0xfbf1, 0xfaea, 0xfbf1, 0xfaea, 0xfbf1, 0xfc56, -0xfd44, 0xfc56, 0xfd44, 0xfd4d, 0xfe21, 0xfd4d, 0xfe21, 0xfe1e, 0xfed6, 0xfe1e, 0xfed6, -0xffbc, 0x5a, 0xffbc, 0x5a, 0xd1, 0x152, 0xd1, 0x152, 0xd1, 0x152, 0x14c, -0x1b2, 0x14c, 0x1b2, 0x1c5, 0x20f, 0x1c5, 0x20f, 0x1c2, 0x1ef, 0x1c2, 0x1ef, -0x1b2, 0x1c2, 0x1b2, 0x1c2, 0x206, 0x1fa, 0x206, 0x1fa, 0x269, 0x240, 0x269, -0x240, 0x269, 0x240, 0x252, 0x20c, 0x252, 0x20c, 0x1e5, 0x182, 0x1e5, 0x182, -0x201, 0x182, 0x201, 0x182, 0x2bd, 0x223, 0x2bd, 0x223, 0x374, 0x2c0, 0x374, -0x2c0, 0x4df, 0x411, 0x4df, 0x411, 0x4df, 0x411, 0x5eb, 0x506, 0x5eb, 0x506, -0x5c1, 0x4c7, 0x5c1, 0x4c7, 0x65d, 0x54f, 0x65d, 0x54f, 0x777, 0x657, 0x777, -0x657, 0x86d, 0x73f, 0x86d, 0x73f, 0x86d, 0x73f, 0x917, 0x7dd, 0x917, 0x7dd, -0x9a4, 0x862, 0x9a4, 0x862, 0x9b1, 0x86a, 0x9b1, 0x86a, 0x8f0, 0x7a7, 0x8f0, -0x7a7, 0x894, 0x74d, 0x894, 0x74d, 0x7bb, 0x679, 0x7bb, 0x679, 0x7bb, 0x679, -0x6c8, 0x58e, 0x6c8, 0x58e, 0x654, 0x525, 0x654, 0x525, 0x54c, 0x42c, 0x54c, -0x42c, 0x38b, 0x27d, 0x38b, 0x27d, 0x1b2, 0xb7, 0x1b2, 0xb7, 0x1b, 0xff36, -0x1b, 0xff36, 0x1b, 0xff36, 0xfe33, 0xfd67, 0xfe33, 0xfd67, 0xfc50, 0xfb9c, 0xfc50, -0xfb9c, 0xfab9, 0xfa1f, 0xfab9, 0xfa1f, 0xf9c1, 0xf942, 0xf9c1, 0xf942, 0xf92c, 0xf8c6, -0xf92c, 0xf8c6, 0xf92c, 0xf8c6, 0xf8ec, 0xf89f, 0xf8ec, 0xf89f, 0xf8f4, 0xf8be, 0xf8f4, -0xf8be, 0xf8b5, 0xf894, 0xf8b5, 0xf894, 0xf8f2, 0xf8e4, 0xf8f2, 0xf8e4, 0xf938, 0xf939, -0xf938, 0xf939, 0xf95e, 0xf96b, 0xf95e, 0xf96b, 0xf95e, 0xf96b, 0xf991, 0xf9a4, 0xf991, -0xf9a4, 0xfa0c, 0xfa21, 0xfa0c, 0xfa21, 0xfaa7, 0xfaba, 0xfaa7, 0xfaba, 0xfb07, 0xfb11, -0xfb07, 0xfb11, 0xfc80, 0xfc7c, 0xfc80, 0xfc7c, 0xfc80, 0xfc7c, 0xfe18, 0xfe01, 0xfe18, -0xfe01, 0xff87, 0xff56, 0xff87, 0xff56, 0x16a, 0x11b, 0x16a, 0x11b, 0x298, 0x224, -0x298, 0x224, 0x36d, 0x2d1, 0x36d, 0x2d1, 0x49b, 0x3d3, 0x49b, 0x3d3, 0x49b, -0x3d3, 0x5e1, 0x4e7, 0x5e1, 0x4e7, 0x6ba, 0x58d, 0x6ba, 0x58d, 0x7f9, 0x696, -0x7f9, 0x696, 0xa05, 0x86b, 0xa05, 0x86b, 0xbd6, 0xa05, 0xbd6, 0xa05, 0xdfe, -0xbf6, 0xdfe, 0xbf6, 0xdfe, 0xbf6, 0x1075, 0xe37, 0x1075, 0xe37, 0x126e, 0xffe, -0x126e, 0xffe, 0x147a, 0x11da, 0x147a, 0x11da, 0x16b2, 0x13e6, 0x16b2, 0x13e6, 0x1896, -0x15a3, 0x1896, 0x15a3, 0x1896, 0x15a3, 0x19d5, 0x16c0, 0x19d5, 0x16c0, 0x1aa3, 0x1773, -0x1aa3, 0x1773, 0x1c13, 0x18cc, 0x1c13, 0x18cc, 0x1d48, 0x19f1, 0x1d48, 0x19f1, 0x1d6c, -0x1a0b, 0x1d6c, 0x1a0b, 0x1dc8, 0x1a62, 0x1dc8, 0x1a62, 0x1dc8, 0x1a62, 0x1d4f, 0x19ea, -0x1d4f, 0x19ea, 0x1be8, 0x1889, 0x1be8, 0x1889, 0x1b37, 0x17e1, 0x1b37, 0x17e1, 0x1aa9, -0x1760, 0x1aa9, 0x1760, 0x199e, 0x1664, 0x199e, 0x1664, 0x1850, 0x1528, 0x1850, 0x1528, -0x1850, 0x1528, 0x1795, 0x147e, 0x1795, 0x147e, 0x16ee, 0x13e9, 0x16ee, 0x13e9, 0x1663, -0x136e, 0x1663, 0x136e, 0x163e, 0x1357, 0x163e, 0x1357, 0x157b, 0x12a1, 0x157b, 0x12a1, -0x157b, 0x12a1, 0x14e7, 0x1216, 0x14e7, 0x1216, 0x1508, 0x123d, 0x1508, 0x123d, 0x157a, -0x12b3, 0x157a, 0x12b3, 0x15f2, 0x132b, 0x15f2, 0x132b, 0x16b1, 0x13e7, 0x16b1, 0x13e7, -0x179a, 0x14cc, 0x179a, 0x14cc, 0x179a, 0x14cc, 0x17f9, 0x1526, 0x17f9, 0x1526, 0x17fb, -0x1521, 0x17fb, 0x1521, 0x17f8, 0x151a, 0x17f8, 0x151a, 0x1814, 0x1533, 0x1814, 0x1533, -0x17e1, 0x1500, 0x17e1, 0x1500, 0x17ba, 0x14dd, 0x17ba, 0x14dd, 0x17ba, 0x14dd, 0x1730, -0x145d, 0x1730, 0x145d, 0x15ce, 0x130b, 0x15ce, 0x130b, 0x146c, 0x11c2, 0x146c, 0x11c2, -0x12f4, 0x1069, 0x12f4, 0x1069, 0x117e, 0xf1d, 0x117e, 0xf1d, 0x117e, 0xf1d, 0x1032, -0xe03, 0x1032, 0xe03, 0xf23, 0xd2f, 0xf23, 0xd2f, 0xd89, 0xbd9, 0xd89, 0xbd9, -0xb85, 0xa21, 0xb85, 0xa21, 0xa19, 0x908, 0xa19, 0x908, 0x835, 0x77d, 0x835, -0x77d, 0x835, 0x77d, 0x637, 0x5dc, 0x637, 0x5dc, 0x492, 0x497, 0x492, 0x497, -0x274, 0x2da, 0x274, 0x2da, 0xffdc, 0xa3, 0xffdc, 0xa3, 0xfd21, 0xfe45, 0xfd21, -0xfe45, 0xfa9d, 0xfc19, 0xfa9d, 0xfc19, 0xfa9d, 0xfc19, 0xf7aa, 0xf977, 0xf7aa, 0xf977, -0xf502, 0xf718, 0xf502, 0xf718, 0xf32b, 0xf57f, 0xf32b, 0xf57f, 0xf0ff, 0xf386, 0xf0ff, -0xf386, 0xef25, 0xf1d3, 0xef25, 0xf1d3, 0xef25, 0xf1d3, 0xeda2, 0xf06a, 0xeda2, 0xf06a, -0xec58, 0xef2c, 0xec58, 0xef2c, 0xeba4, 0xee77, 0xeba4, 0xee77, 0xea9b, 0xed5f, 0xea9b, -0xed5f, 0xe927, 0xebd1, 0xe927, 0xebd1, 0xe788, 0xea0d, 0xe788, 0xea0d, 0xe788, 0xea0d, -0xe63d, 0xe892, 0xe63d, 0xe892, 0xe63e, 0xe85c, 0xe63e, 0xe85c, 0xe6f1, 0xe8d1, 0xe6f1, -0xe8d1, 0xe849, 0xe9e7, 0xe849, 0xe9e7, 0xeac2, 0xec1c, 0xeac2, 0xec1c, 0xed23, 0xee37, -0xed23, 0xee37, 0xed23, 0xee37, 0xefab, 0xf07b, 0xefab, 0xf07b, 0xf2e8, 0xf377, 0xf2e8, -0xf377, 0xf604, 0xf657, 0xf604, 0xf657, 0xf895, 0xf8b2, 0xf895, 0xf8b2, 0xfb11, 0xfafe, -0xfb11, 0xfafe, 0xfb11, 0xfafe, 0xfe0e, 0xfdd2, 0xfe0e, 0xfdd2, 0x88, 0x2d, 0x88, -0x2d, 0x286, 0x212, 0x286, 0x212, 0x3de, 0x359, 0x3de, 0x359, 0x3f9, 0x36a, -0x3f9, 0x36a, 0x415, 0x384, 0x415, 0x384, 0x415, 0x384, 0x42e, 0x39f, 0x42e, -0x39f, 0x38f, 0x306, 0x38f, 0x306, 0x259, 0x1da, 0x259, 0x1da, 0x138, 0xc4, -0x138, 0xc4, 0x4a, 0xffe2, 0x4a, 0xffe2, 0xff8b, 0xff2e, 0xff8b, 0xff2e, 0xff8b, -0xff2e, 0xff37, 0xfee4, 0xff37, 0xfee4, 0xff27, 0xfedc, 0xff27, 0xfedc, 0xff3f, 0xfef9, -0xff3f, 0xfef9, 0xff42, 0xfefe, 0xff42, 0xfefe, 0xff8f, 0xff4a, 0xff8f, 0xff4a, 0xff8f, -0xff4a, 0xfff3, 0xffab, 0xfff3, 0xffab, 0x55, 0x6, 0x55, 0x6, 0x11e, 0xc9, -0x11e, 0xc9, 0x1ca, 0x16e, 0x1ca, 0x16e, 0x209, 0x1a6, 0x209, 0x1a6, 0x238, -0x1d1, 0x238, 0x1d1, 0x238, 0x1d1, 0x284, 0x21c, 0x284, 0x21c, 0x20d, 0x1a9, -0x20d, 0x1a9, 0x171, 0x118, 0x171, 0x118, 0x158, 0x111, 0x158, 0x111, 0xf5, -0xc9, 0xf5, 0xc9, 0x87, 0x7f, 0x87, 0x7f, 0x87, 0x7f, 0xff5f, 0xff85, -0xff5f, 0xff85, 0xfd21, 0xfd7e, 0xfd21, 0xfd7e, 0xfa77, 0xfb16, 0xfa77, 0xfb16, 0xf827, -0xf910, 0xf827, 0xf910, 0xf62d, 0xf76a, 0xf62d, 0xf76a, 0xf62d, 0xf76a, 0xf358, 0xf4ef, -0xf358, 0xf4ef, 0xf0ca, 0xf2c1, 0xf0ca, 0xf2c1, 0xeebf, 0xf119, 0xeebf, 0xf119, 0xec5c, -0xef1e, 0xec5c, 0xef1e, 0xea35, 0xed5d, 0xea35, 0xed5d, 0xe7ea, 0xeb77, 0xe7ea, 0xeb77, -0xe7ea, 0xeb77, 0xe5ca, 0xe9b8, 0xe5ca, 0xe9b8, 0xe3f1, 0xe839, 0xe3f1, 0xe839, 0xe1cb, -0xe666, 0xe1cb, 0xe666, 0xdf8f, 0xe473, 0xdf8f, 0xe473, 0xdd3a, 0xe25d, 0xdd3a, 0xe25d, -0xdb4f, 0xe0a5, 0xdb4f, 0xe0a5, 0xdb4f, 0xe0a5, 0xda5a, 0xdfd6, 0xda5a, 0xdfd6, 0xd972, -0xdf07, 0xd972, 0xdf07, 0xd8d2, 0xde73, 0xd8d2, 0xde73, 0xd901, 0xdea1, 0xd901, 0xdea1, -0xd92d, 0xdec1, 0xd92d, 0xdec1, 0xd92d, 0xdec1, 0xd99c, 0xdf19, 0xd99c, 0xdf19, 0xda64, -0xdfbf, 0xda64, 0xdfbf, 0xdb4f, 0xe081, 0xdb4f, 0xe081, 0xdbf9, 0xe0fc, 0xdbf9, 0xe0fc, -0xdcb9, 0xe187, 0xdcb9, 0xe187, 0xde36, 0xe2cc, 0xde36, 0xe2cc, 0xde36, 0xe2cc, 0xdfb6, -0xe413, 0xdfb6, 0xe413, 0xe15b, 0xe57f, 0xe15b, 0xe57f, 0xe27a, 0xe667, 0xe27a, 0xe667, -0xe30e, 0xe6c6, 0xe30e, 0xe6c6, 0xe495, 0xe81c, 0xe495, 0xe81c, 0xe495, 0xe81c, 0xe6bc, -0xea15, 0xe6bc, 0xea15, 0xe878, 0xeba8, 0xe878, 0xeba8, 0xe9ec, 0xecf7, 0xe9ec, 0xecf7, -0xeb8b, 0xee75, 0xeb8b, 0xee75, 0xed06, 0xefd2, 0xed06, 0xefd2, 0xee75, 0xf124, 0xee75, -0xf124, 0xee75, 0xf124, 0xefa2, 0xf237, 0xefa2, 0xf237, 0xf05d, 0xf2d6, 0xf05d, 0xf2d6, -0xf0c8, 0xf324, 0xf0c8, 0xf324, 0xf0fc, 0xf337, 0xf0fc, 0xf337, 0xf16f, 0xf386, 0xf16f, -0xf386, 0xf1a7, 0xf394, 0xf1a7, 0xf394, 0xf1a7, 0xf394, 0xf15f, 0xf31b, 0xf15f, 0xf31b, -0xf133, 0xf2b5, 0xf133, 0xf2b5, 0xf150, 0xf291, 0xf150, 0xf291, 0xf1be, 0xf2b5, 0xf1be, -0xf2b5, 0xf31f, 0xf3c4, 0xf31f, 0xf3c4, 0xf31f, 0xf3c4, 0xf4fc, 0xf547, 0xf4fc, 0xf547, -0xf679, 0xf662, 0xf679, 0xf662, 0xf8ba, 0xf83b, 0xf8ba, 0xf83b, 0xfba8, 0xfabc, 0xfba8, -0xfabc, 0xfee9, 0xfd8d, 0xfee9, 0xfd8d, 0x342, 0x174, 0x342, 0x174, 0x342, 0x174, -0x7ef, 0x5b1, 0x7ef, 0x5b1, 0xc12, 0x965, 0xc12, 0x965, 0xf9f, 0xc8a, 0xf9f, -0xc8a, 0x1353, 0xfdc, 0x1353, 0xfdc, 0x169d, 0x12cd, 0x169d, 0x12cd, 0x18b5, 0x1496, -0x18b5, 0x1496, 0x18b5, 0x1496, 0x1b18, 0x16b7, 0x1b18, 0x16b7, 0x1d72, 0x18dd, 0x1d72, -0x18dd, 0x1f0a, 0x1a50, 0x1f0a, 0x1a50, 0x203a, 0x1b6a, 0x203a, 0x1b6a, 0x2087, 0x1bb1, -0x2087, 0x1bb1, 0x2087, 0x1bb1, 0x201f, 0x1b53, 0x201f, 0x1b53, 0x1f3e, 0x1a8b, 0x1f3e, -0x1a8b, 0x1e3d, 0x19b2, 0x1e3d, 0x19b2, 0x1d0a, 0x18b3, 0x1d0a, 0x18b3, 0x1af5, 0x16e0, -0x1af5, 0x16e0, 0x191d, 0x1554, 0x191d, 0x1554, 0x191d, 0x1554, 0x1781, 0x140c, 0x1781, -0x140c, 0x151b, 0x1202, 0x151b, 0x1202, 0x134b, 0x1093, 0x134b, 0x1093, 0x1206, 0xfb2, -0x1206, 0xfb2, 0x1037, 0xe48, 0x1037, 0xe48, 0xe34, 0xca9, 0xe34, 0xca9, 0xe34, -0xca9, 0xc4d, 0xb25, 0xc4d, 0xb25, 0xa5b, 0x992, 0xa5b, 0x992, 0x7de, 0x76f, -0x7de, 0x76f, 0x5e3, 0x5c8, 0x5e3, 0x5c8, 0x48a, 0x4bb, 0x48a, 0x4bb, 0x48a, -0x4bb, 0x2b4, 0x32b, 0x2b4, 0x32b, 0xd9, 0x18e, 0xd9, 0x18e, 0xff10, 0xfffa, -0xff10, 0xfffa, 0xfd4a, 0xfe62, 0xfd4a, 0xfe62, 0xfc34, 0xfd72, 0xfc34, 0xfd72, 0xfb87, -0xfce2, 0xfb87, 0xfce2, 0xfb87, 0xfce2, 0xfa3e, 0xfbb0, 0xfa3e, 0xfbb0, 0xf89d, 0xfa1f, -0xf89d, 0xfa1f, 0xf75a, 0xf8e7, 0xf75a, 0xf8e7, 0xf68f, 0xf820, 0xf68f, 0xf820, 0xf61d, -0xf7ad, 0xf61d, 0xf7ad, 0xf5c1, 0xf74b, 0xf5c1, 0xf74b, 0xf5c1, 0xf74b, 0xf557, 0xf6d8, -0xf557, 0xf6d8, 0xf534, 0xf6a8, 0xf534, 0xf6a8, 0xf5ed, 0xf750, 0xf5ed, 0xf750, 0xf70f, -0xf85e, 0xf70f, 0xf85e, 0xf7da, 0xf914, 0xf7da, 0xf914, 0xf7da, 0xf914, 0xf878, 0xf998, -0xf878, 0xf998, 0xf973, 0xfa77, 0xf973, 0xfa77, 0xfa80, 0xfb65, 0xfa80, 0xfb65, 0xfb4e, -0xfc12, 0xfb4e, 0xfc12, 0xfcc0, 0xfd61, 0xfcc0, 0xfd61, 0xfe1b, 0xfe97, 0xfe1b, 0xfe97, -0xfe1b, 0xfe97, 0xfe9e, 0xfef4, 0xfe9e, 0xfef4, 0xff6a, 0xff97, 0xff6a, 0xff97, 0x32, -0x36, 0x32, 0x36, 0xb9, 0x93, 0xb9, 0x93, 0x175, 0x124, 0x175, 0x124, -0x223, 0x1a8, 0x223, 0x1a8, 0x223, 0x1a8, 0x279, 0x1d4, 0x279, 0x1d4, 0x2b5, -0x1e9, 0x2b5, 0x1e9, 0x3e2, 0x2f0, 0x3e2, 0x2f0, 0x4d3, 0x3be, 0x4d3, 0x3be, -0x4dc, 0x3a8, 0x4dc, 0x3a8, 0x4dc, 0x3a8, 0x55b, 0x40c, 0x55b, 0x40c, 0x589, -0x424, 0x589, 0x424, 0x5a3, 0x42d, 0x5a3, 0x42d, 0x665, 0x4e3, 0x665, 0x4e3, -0x764, 0x5dd, 0x764, 0x5dd, 0x89e, 0x717, 0x89e, 0x717, 0x89e, 0x717, 0x999, -0x818, 0x999, 0x818, 0xa66, 0x8f0, 0xa66, 0x8f0, 0xa7d, 0x919, 0xa7d, 0x919, -0x96a, 0x81d, 0x96a, 0x81d, 0x8ce, 0x79b, 0x8ce, 0x79b, 0x890, 0x77c, 0x890, -0x77c, 0x890, 0x77c, 0x7e4, 0x6f3, 0x7e4, 0x6f3, 0x7cc, 0x700, 0x7cc, 0x700, -0x799, 0x6f3, 0x799, 0x6f3, 0x652, 0x5d3, 0x652, 0x5d3, 0x49d, 0x446, 0x49d, -0x446, 0x49d, 0x446, 0x31f, 0x2ee, 0x31f, 0x2ee, 0x174, 0x168, 0x174, 0x168, -0xff73, 0xff8b, 0xff73, 0xff8b, 0xfe3e, 0xfe75, 0xfe3e, 0xfe75, 0xfd2c, 0xfd80, 0xfd2c, -0xfd80, 0xfbc6, 0xfc34, 0xfbc6, 0xfc34, 0xfbc6, 0xfc34, 0xfb07, 0xfb89, 0xfb07, 0xfb89, -0xfa7b, 0xfb0d, 0xfa7b, 0xfb0d, 0xf9c6, 0xfa65, 0xf9c6, 0xfa65, 0xf9ae, 0xfa54, 0xf9ae, -0xfa54, 0xfa06, 0xfaaf, 0xfa06, 0xfaaf, 0xf9bf, 0xfa66, 0xf9bf, 0xfa66, 0xf9bf, 0xfa66, -0xf95a, 0xf9fa, 0xf95a, 0xf9fa, 0xf999, 0xfa2f, 0xf999, 0xfa2f, 0xfa1f, 0xfaa6, 0xfa1f, -0xfaa6, 0xfa65, 0xfada, 0xfa65, 0xfada, 0xfaa2, 0xfb00, 0xfaa2, 0xfb00, 0xfaa2, 0xfb00, -0xfb50, 0xfb95, 0xfb50, 0xfb95, 0xfc3b, 0xfc63, 0xfc3b, 0xfc63, 0xfd9f, 0xfda6, 0xfd9f, -0xfda6, 0xff52, 0xff37, 0xff52, 0xff37, 0x79, 0x39, 0x79, 0x39, 0x12e, 0xc7, -0x12e, 0xc7, 0x12e, 0xc7, 0x21b, 0x18a, 0x21b, 0x18a, 0x33a, 0x27e, 0x33a, -0x27e, 0x457, 0x36f, 0x457, 0x36f, 0x604, 0x4ee, 0x604, 0x4ee, 0x793, 0x650, -0x793, 0x650, 0x8c3, 0x752, 0x8c3, 0x752, 0x8c3, 0x752, 0xa94, 0x8f6, 0xa94, -0x8f6, 0xca7, 0xadb, 0xca7, 0xadb, 0xf0f, 0xd19, 0xf0f, 0xd19, 0x11c3, 0xfa3, -0x11c3, 0xfa3, 0x145a, 0x1212, 0x145a, 0x1212, 0x145a, 0x1212, 0x165e, 0x13f3, 0x165e, -0x13f3, 0x17f4, 0x1568, 0x17f4, 0x1568, 0x1a41, 0x1798, 0x1a41, 0x1798, 0x1bd4, 0x1912, -0x1bd4, 0x1912, 0x1c84, 0x19ae, 0x1c84, 0x19ae, 0x1d76, 0x1a91, 0x1d76, 0x1a91, 0x1d76, -0x1a91, 0x1dd7, 0x1ae7, 0x1dd7, 0x1ae7, 0x1da4, 0x1aae, 0x1da4, 0x1aae, 0x1cdf, 0x19e8, -0x1cdf, 0x19e8, 0x1ba6, 0x18b2, 0x1ba6, 0x18b2, 0x1a81, 0x1795, 0x1a81, 0x1795, 0x1a81, -0x1795, 0x19ae, 0x16cc, 0x19ae, 0x16cc, 0x1975, 0x16a1, 0x1975, 0x16a1, 0x18fe, 0x163a, -0x18fe, 0x163a, 0x179f, 0x14ec, 0x179f, 0x14ec, 0x169c, 0x13fb, 0x169c, 0x13fb, 0x15ed, -0x135f, 0x15ed, 0x135f, 0x15ed, 0x135f, 0x1545, 0x12c9, 0x1545, 0x12c9, 0x1582, 0x1317, -0x1582, 0x1317, 0x1607, 0x13aa, 0x1607, 0x13aa, 0x164c, 0x13fc, 0x164c, 0x13fc, 0x16bc, -0x1476, 0x16bc, 0x1476, 0x178f, 0x1550, 0x178f, 0x1550, 0x178f, 0x1550, 0x17ed, 0x15b4, -0x17ed, 0x15b4, 0x17f7, 0x15c2, 0x17f7, 0x15c2, 0x1853, 0x161f, 0x1853, 0x161f, 0x186f, -0x163b, 0x186f, 0x163b, 0x187c, 0x1648, 0x187c, 0x1648, 0x187c, 0x1648, 0x1883, 0x164f, -0x1883, 0x164f, 0x17d8, 0x15a6, 0x17d8, 0x15a6, 0x1690, 0x1463, 0x1690, 0x1463, 0x15be, -0x1399, 0x15be, 0x1399, 0x14d8, 0x12be, 0x14d8, 0x12be, 0x134c, 0x1144, 0x134c, 0x1144, -0x134c, 0x1144, 0x1229, 0x1039, 0x1229, 0x1039, 0x1133, 0xf62, 0x1133, 0xf62, 0xffa, -0xe4f, 0xffa, 0xe4f, 0xe13, 0xc95, 0xe13, 0xc95, 0xbc0, 0xa77, 0xbc0, 0xa77, -0x94f, 0x842, 0x94f, 0x842, 0x94f, 0x842, 0x6b8, 0x5ed, 0x6b8, 0x5ed, 0x4c7, -0x445, 0x4c7, 0x445, 0x2e0, 0x2ab, 0x2e0, 0x2ab, 0x35, 0x51, 0x35, 0x51, -0xfd84, 0xfdf2, 0xfd84, 0xfdf2, 0xfd84, 0xfdf2, 0xfb54, 0xfc15, 0xfb54, 0xfc15, 0xf88b, -0xf99f, 0xf88b, 0xf99f, 0xf55d, 0xf6c0, 0xf55d, 0xf6c0, 0xf2db, 0xf488, 0xf2db, 0xf488, -0xf019, 0xf209, 0xf019, 0xf209, 0xedc2, 0xefee, 0xedc2, 0xefee, 0xedc2, 0xefee, 0xec94, -0xeef2, 0xec94, 0xeef2, 0xeba5, 0xee2c, 0xeba5, 0xee2c, 0xeab6, 0xed59, 0xeab6, 0xed59, -0xe9d0, 0xec84, 0xe9d0, 0xec84, 0xe955, 0xec0f, 0xe955, 0xec0f, 0xe88b, 0xeb3e, 0xe88b, -0xeb3e, 0xe88b, 0xeb3e, 0xe7b8, 0xea59, 0xe7b8, 0xea59, 0xe7b3, 0xea37, 0xe7b3, 0xea37, -0xe77a, 0xe9d7, 0xe77a, 0xe9d7, 0xe7b0, 0xe9dd, 0xe7b0, 0xe9dd, 0xe8fd, 0xeaf4, 0xe8fd, -0xeaf4, 0xe8fd, 0xeaf4, 0xeac7, 0xec81, 0xeac7, 0xec81, 0xed30, 0xeeaa, 0xed30, 0xeeaa, -0xf02c, 0xf164, 0xf02c, 0xf164, 0xf356, 0xf44c, 0xf356, 0xf44c, 0xf6af, 0xf764, 0xf6af, -0xf764, 0xfa3a, 0xfab1, 0xfa3a, 0xfab1, 0xfa3a, 0xfab1, 0xfda0, 0xfddd, 0xfda0, 0xfddd, -0xffe9, 0xfff2, 0xffe9, 0xfff2, 0x17b, 0x155, 0x17b, 0x155, 0x3a4, 0x357, 0x3a4, -0x357, 0x564, 0x4f7, 0x564, 0x4f7, 0x651, 0x5cc, 0x651, 0x5cc, 0x651, 0x5cc, -0x6dc, 0x646, 0x6dc, 0x646, 0x694, 0x5f4, 0x694, 0x5f4, 0x56b, 0x4c8, 0x56b, -0x4c8, 0x450, 0x3af, 0x450, 0x3af, 0x3d3, 0x339, 0x3d3, 0x339, 0x3d3, 0x339, -0x30d, 0x27e, 0x30d, 0x27e, 0x232, 0x1b1, 0x232, 0x1b1, 0x1a8, 0x138, 0x1a8, -0x138, 0x14a, 0xec, 0x14a, 0xec, 0x129, 0xde, 0x129, 0xde, 0x14a, 0x111, -0x14a, 0x111, 0x14a, 0x111, 0x130, 0x10a, 0x130, 0x10a, 0xdd, 0xc9, 0xdd, -0xc9, 0x180, 0x17e, 0x180, 0x17e, 0x1e0, 0x1f0, 0x1e0, 0x1f0, 0x17b, 0x19d, -0x17b, 0x19d, 0x16a, 0x19f, 0x16a, 0x19f, 0x16a, 0x19f, 0x16d, 0x1b6, 0x16d, -0x1b6, 0x150, 0x1b0, 0x150, 0x1b0, 0xef, 0x169, 0xef, 0x169, 0x69, 0x101, -0x69, 0x101, 0xffc7, 0x81, 0xffc7, 0x81, 0xffc7, 0x81, 0xff12, 0xfff5, 0xff12, -0xfff5, 0xfe3e, 0xff4e, 0xfe3e, 0xff4e, 0xfca1, 0xfde5, 0xfca1, 0xfde5, 0xfa22, 0xfba0, -0xfa22, 0xfba0, 0xf7f3, 0xf9b2, 0xf7f3, 0xf9b2, 0xf630, 0xf834, 0xf630, 0xf834, 0xf630, -0xf834, 0xf380, 0xf5cf, 0xf380, 0xf5cf, 0xf0c1, 0xf360, 0xf0c1, 0xf360, 0xee88, 0xf179, -0xee88, 0xf179, 0xebd6, 0xef1a, 0xebd6, 0xef1a, 0xe986, 0xed1f, 0xe986, 0xed1f, 0xe7c8, -0xebb3, 0xe7c8, 0xebb3, 0xe7c8, 0xebb3, 0xe577, 0xe9b3, 0xe577, 0xe9b3, 0xe306, 0xe78d, -0xe306, 0xe78d, 0xe181, 0xe64d, 0xe181, 0xe64d, 0xe06a, 0xe574, 0xe06a, 0xe574, 0xde7c, -0xe3ba, 0xde7c, 0xe3ba, 0xde7c, 0xe3ba, 0xdccf, 0xe237, 0xdccf, 0xe237, 0xdbb8, 0xe141, -0xdbb8, 0xe141, 0xd9f3, 0xdf90, 0xd9f3, 0xdf90, 0xd8b9, 0xde5f, 0xd8b9, 0xde5f, 0xd8ae, -0xde51, 0xd8ae, 0xde51, 0xd90a, 0xde9f, 0xd90a, 0xde9f, 0xd90a, 0xde9f, 0xd987, 0xdf03, -0xd987, 0xdf03, 0xda33, 0xdf8d, 0xda33, 0xdf8d, 0xdb58, 0xe088, 0xdb58, 0xe088, 0xdc9b, -0xe199, 0xdc9b, 0xe199, 0xddf3, 0xe2ba, 0xddf3, 0xe2ba, 0xdf8b, 0xe418, 0xdf8b, 0xe418, -0xdf8b, 0xe418, 0xe04a, 0xe499, 0xe04a, 0xe499, 0xe070, 0xe480, 0xe070, 0xe480, 0xe113, -0xe4e6, 0xe113, 0xe4e6, 0xe1a8, 0xe53f, 0xe1a8, 0xe53f, 0xe29f, 0xe5fd, 0xe29f, 0xe5fd, -0xe29f, 0xe5fd, 0xe4d1, 0xe7fb, 0xe4d1, 0xe7fb, 0xe736, 0xea2e, 0xe736, 0xea2e, 0xe915, -0xebe2, 0xe915, 0xebe2, 0xeb21, 0xedc6, 0xeb21, 0xedc6, 0xecfd, 0xef7f, 0xecfd, 0xef7f, -0xedf6, 0xf059, 0xedf6, 0xf059, 0xedf6, 0xf059, 0xeeb9, 0xf101, 0xeeb9, 0xf101, 0xeff9, -0xf227, 0xeff9, 0xf227, 0xf16d, 0xf381, 0xf16d, 0xf381, 0xf29e, 0xf499, 0xf29e, 0xf499, -0xf379, 0xf559, 0xf379, 0xf559, 0xf308, 0xf4cb, 0xf308, 0xf4cb, 0xf308, 0xf4cb, 0xf1f4, -0xf395, 0xf1f4, 0xf395, 0xf1bf, 0xf338, 0xf1bf, 0xf338, 0xf1d9, 0xf326, 0xf1d9, 0xf326, -0xf1e8, 0xf301, 0xf1e8, 0xf301, 0xf230, 0xf30f, 0xf230, 0xf30f, 0xf230, 0xf30f, 0xf2f5, -0xf392, 0xf2f5, 0xf392, 0xf3f5, 0xf449, 0xf3f5, 0xf449, 0xf562, 0xf567, 0xf562, 0xf567, -0xf777, 0xf727, 0xf777, 0xf727, 0xf9da, 0xf931, 0xf9da, 0xf931, 0xfcbc, 0xfbb6, 0xfcbc, -0xfbb6, 0xfcbc, 0xfbb6, 0x3c, 0xfed5, 0x3c, 0xfed5, 0x3ef, 0x229, 0x3ef, 0x229, -0x746, 0x522, 0x746, 0x522, 0xaf5, 0x875, 0xaf5, 0x875, 0xebe, 0xbe8, 0xebe, -0xbe8, 0xebe, 0xbe8, 0x1173, 0xe4c, 0x1173, 0xe4c, 0x13fc, 0x108d, 0x13fc, 0x108d, -0x16a5, 0x12f7, 0x16a5, 0x12f7, 0x18c3, 0x14e0, 0x18c3, 0x14e0, 0x1ab1, 0x16a4, 0x1ab1, -0x16a4, 0x1c28, 0x17fe, 0x1c28, 0x17fe, 0x1c28, 0x17fe, 0x1c8e, 0x1853, 0x1c8e, 0x1853, -0x1c54, 0x1815, 0x1c54, 0x1815, 0x1c62, 0x182a, 0x1c62, 0x182a, 0x1c1a, 0x17f6, 0x1c1a, -0x17f6, 0x1abc, 0x16b7, 0x1abc, 0x16b7, 0x19ad, 0x15d1, 0x19ad, 0x15d1, 0x19ad, 0x15d1, -0x187c, 0x14d1, 0x187c, 0x14d1, 0x1641, 0x12d0, 0x1641, 0x12d0, 0x146c, 0x113c, 0x146c, -0x113c, 0x1312, 0x1026, 0x1312, 0x1026, 0x1174, 0xed2, 0x1174, 0xed2, 0x1174, 0xed2, -0xfb5, 0xd5f, 0xfb5, 0xd5f, 0xe07, 0xbfd, 0xe07, 0xbfd, 0xc7f, 0xac1, 0xc7f, -0xac1, 0xaf0, 0x97e, 0xaf0, 0x97e, 0x989, 0x860, 0x989, 0x860, 0x821, 0x73e, -0x821, 0x73e, 0x821, 0x73e, 0x59f, 0x4fe, 0x59f, 0x4fe, 0x32d, 0x2ca, 0x32d, -0x2ca, 0x1e4, 0x1ba, 0x1e4, 0x1ba, 0x7c, 0x87, 0x7c, 0x87, 0xff05, 0xff40, -0xff05, 0xff40, 0xfe22, 0xfe88, 0xfe22, 0xfe88, 0xfe22, 0xfe88, 0xfd54, 0xfddf, 0xfd54, -0xfddf, 0xfc27, 0xfcd4, 0xfc27, 0xfcd4, 0xfb4e, 0xfc17, 0xfb4e, 0xfc17, 0xfabc, 0xfb9d, -0xfabc, 0xfb9d, 0xf9af, 0xfaa4, 0xf9af, 0xfaa4, 0xf9af, 0xfaa4, 0xf89e, 0xf9a4, 0xf89e, -0xf9a4, 0xf81d, 0xf92f, 0xf81d, 0xf92f, 0xf808, 0xf922, 0xf808, 0xf922, 0xf82f, 0xf94d, -0xf82f, 0xf94d, 0xf887, 0xf9a6, 0xf887, 0xf9a6, 0xf8c0, 0xf9dc, 0xf8c0, 0xf9dc, 0xf8c0, -0xf9dc, 0xf96c, 0xfa82, 0xf96c, 0xfa82, 0xfaae, 0xfbba, 0xfaae, 0xfbba, 0xfb9f, 0xfc9e, -0xfb9f, 0xfc9e, 0xfbf4, 0xfce1, 0xfbf4, 0xfce1, 0xfc3b, 0xfd14, 0xfc3b, 0xfd14, 0xfd2c, -0xfded, 0xfd2c, 0xfded, 0xfd2c, 0xfded, 0xfe44, 0xfeeb, 0xfe44, 0xfeeb, 0xff20, 0xffaa, -0xff20, 0xffaa, 0xff8c, 0xfff6, 0xff8c, 0xfff6, 0xff90, 0xffd9, 0xff90, 0xffd9, 0xff83, -0xffa8, 0xff83, 0xffa8, 0xff83, 0xffa8, 0xffc0, 0xffc1, 0xffc0, 0xffc1, 0x4b, 0x27, -0x4b, 0x27, 0x9a, 0x51, 0x9a, 0x51, 0x17b, 0x10f, 0x17b, 0x10f, 0x266, -0x1d8, 0x266, 0x1d8, 0x282, 0x1d4, 0x282, 0x1d4, 0x282, 0x1d4, 0x2aa, 0x1df, -0x2aa, 0x1df, 0x2be, 0x1d9, 0x2be, 0x1d9, 0x302, 0x205, 0x302, 0x205, 0x39e, -0x28f, 0x39e, 0x28f, 0x47f, 0x362, 0x47f, 0x362, 0x582, 0x45c, 0x582, 0x45c, -0x582, 0x45c, 0x64e, 0x524, 0x64e, 0x524, 0x7b9, 0x68e, 0x7b9, 0x68e, 0x8d6, -0x7af, 0x8d6, 0x7af, 0x914, 0x7f6, 0x914, 0x7f6, 0x980, 0x86f, 0x980, 0x86f, -0x980, 0x86f, 0x966, 0x865, 0x966, 0x865, 0x911, 0x824, 0x911, 0x824, 0x94e, -0x878, 0x94e, 0x878, 0x969, 0x8ac, 0x969, 0x8ac, 0x90b, 0x868, 0x90b, 0x868, -0x839, 0x7b2, 0x839, 0x7b2, 0x839, 0x7b2, 0x6dd, 0x672, 0x6dd, 0x672, 0x545, -0x4f6, 0x545, 0x4f6, 0x3c4, 0x391, 0x3c4, 0x391, 0x276, 0x25d, 0x276, 0x25d, -0xef, 0xf1, 0xef, 0xf1, 0xff15, 0xff2f, 0xff15, 0xff2f, 0xff15, 0xff2f, 0xfdd7, -0xfe07, 0xfdd7, 0xfe07, 0xfd02, 0xfd46, 0xfd02, 0xfd46, 0xfc20, 0xfc76, 0xfc20, 0xfc76, -0xfb94, 0xfbf9, 0xfb94, 0xfbf9, 0xfbba, 0xfc2b, 0xfbba, 0xfc2b, 0xfbba, 0xfc2b, 0xfc00, -0xfc7b, 0xfc00, 0xfc7b, 0xfc2a, 0xfcab, 0xfc2a, 0xfcab, 0xfca6, 0xfd2a, 0xfca6, 0xfd2a, -0xfc8d, 0xfd10, 0xfc8d, 0xfd10, 0xfbf7, 0xfc76, 0xfbf7, 0xfc76, 0xfbe4, 0xfc5b, 0xfbe4, -0xfc5b, 0xfbe4, 0xfc5b, 0xfc90, 0xfcfb, 0xfc90, 0xfcfb, 0xfd79, 0xfdd4, 0xfd79, 0xfdd4, -0xfeb2, 0xfef9, 0xfeb2, 0xfef9, 0xa, 0x3a, 0xa, 0x3a, 0xac, 0xc0, 0xac, -0xc0, 0x193, 0x187, 0x193, 0x187, 0x193, 0x187, 0x2bb, 0x28b, 0x2bb, 0x28b, -0x398, 0x341, 0x398, 0x341, 0x420, 0x39e, 0x420, 0x39e, 0x4d3, 0x423, 0x4d3, -0x423, 0x60e, 0x52e, 0x60e, 0x52e, 0x60e, 0x52e, 0x739, 0x628, 0x739, 0x628, -0x86b, 0x727, 0x86b, 0x727, 0x999, 0x822, 0x999, 0x822, 0xb58, 0x9ae, 0xb58, -0x9ae, 0xd84, 0xba9, 0xd84, 0xba9, 0x1008, 0xdfd, 0x1008, 0xdfd, 0x1008, 0xdfd, -0x124b, 0x1013, 0x124b, 0x1013, 0x13af, 0x114d, 0x13af, 0x114d, 0x15aa, 0x1322, 0x15aa, -0x1322, 0x1757, 0x14ae, 0x1757, 0x14ae, 0x1897, 0x15d2, 0x1897, 0x15d2, 0x1a03, 0x1727, -0x1a03, 0x1727, 0x1a03, 0x1727, 0x1acc, 0x17de, 0x1acc, 0x17de, 0x1ae5, 0x17eb, 0x1ae5, -0x17eb, 0x1a4f, 0x174d, 0x1a4f, 0x174d, 0x19c4, 0x16c0, 0x19c4, 0x16c0, 0x18f2, 0x15ee, -0x18f2, 0x15ee, 0x18f2, 0x15ee, 0x1822, 0x1523, 0x1822, 0x1523, 0x1854, 0x155d, 0x1854, -0x155d, 0x1821, 0x1532, 0x1821, 0x1532, 0x1756, 0x1471, 0x1756, 0x1471, 0x16f8, 0x141d, -0x16f8, 0x141d, 0x167d, 0x13ab, 0x167d, 0x13ab, 0x167d, 0x13ab, 0x15c1, 0x12f6, 0x15c1, -0x12f6, 0x159f, 0x12d9, 0x159f, 0x12d9, 0x15cd, 0x1309, 0x15cd, 0x1309, 0x1604, 0x1340, -0x1604, 0x1340, 0x164f, 0x1387, 0x164f, 0x1387, 0x16a2, 0x13d3, 0x16a2, 0x13d3, 0x16a2, -0x13d3, 0x1748, 0x146f, 0x1748, 0x146f, 0x17f1, 0x150b, 0x17f1, 0x150b, 0x18d2, 0x15de, -0x18d2, 0x15de, 0x195b, 0x1658, 0x195b, 0x1658, 0x190b, 0x15f9, 0x190b, 0x15f9, 0x190b, -0x15f9, 0x189c, 0x157d, 0x189c, 0x157d, 0x181a, 0x14f0, 0x181a, 0x14f0, 0x1788, 0x1457, -0x1788, 0x1457, 0x16ef, 0x13bc, 0x16ef, 0x13bc, 0x166b, 0x133d, 0x166b, 0x133d, 0x1575, -0x1254, 0x1575, 0x1254, 0x1575, 0x1254, 0x143c, 0x1130, 0x143c, 0x1130, 0x132c, 0x103f, -0x132c, 0x103f, 0x11b3, 0xeee, 0x11b3, 0xeee, 0xf9c, 0xd0a, 0xf9c, 0xd0a, 0xd35, -0xadf, 0xd35, 0xadf, 0xd35, 0xadf, 0xaf3, 0x8e3, 0xaf3, 0x8e3, 0x891, 0x6d0, -0x891, 0x6d0, 0x6c2, 0x557, 0x6c2, 0x557, 0x4e4, 0x3d7, 0x4e4, 0x3d7, 0x28e, -0x1e3, 0x28e, 0x1e3, 0xe6, 0xa2, 0xe6, 0xa2, 0xe6, 0xa2, 0xfefe, 0xff22, -0xfefe, 0xff22, 0xfc42, 0xfccd, 0xfc42, 0xfccd, 0xf8cc, 0xf9bc, 0xf8cc, 0xf9bc, 0xf5dc, -0xf72c, 0xf5dc, 0xf72c, 0xf386, 0xf531, 0xf386, 0xf531, 0xf157, 0xf354, 0xf157, 0xf354, -0xf157, 0xf354, 0xefb9, 0xf1fe, 0xefb9, 0xf1fe, 0xee06, 0xf088, 0xee06, 0xf088, 0xec98, -0xef4b, 0xec98, 0xef4b, 0xeb6a, 0xee41, 0xeb6a, 0xee41, 0xeaac, 0xed9a, 0xeaac, 0xed9a, -0xeaac, 0xed9a, 0xe9a2, 0xec99, 0xe9a2, 0xec99, 0xe82e, 0xeb22, 0xe82e, 0xeb22, 0xe7cc, -0xeab0, 0xe7cc, 0xeab0, 0xe758, 0xea20, 0xe758, 0xea20, 0xe6ea, 0xe98d, 0xe6ea, 0xe98d, -0xe743, 0xe9b7, 0xe743, 0xe9b7, 0xe743, 0xe9b7, 0xe7fb, 0xea3a, 0xe7fb, 0xea3a, 0xe950, -0xeb53, 0xe950, 0xeb53, 0xeb95, 0xed5a, 0xeb95, 0xed5a, 0xeed4, 0xf057, 0xeed4, 0xf057, -0xf1df, 0xf321, 0xf1df, 0xf321, 0xf4eb, 0xf5ee, 0xf4eb, 0xf5ee, 0xf4eb, 0xf5ee, 0xf88a, -0xf950, 0xf88a, 0xf950, 0xfb4f, 0xfbdc, 0xfb4f, 0xfbdc, 0xfdaf, 0xfe09, 0xfdaf, 0xfe09, -0xa3, 0xd0, 0xa3, 0xd0, 0x2db, 0x2e1, 0x2db, 0x2e1, 0x2db, 0x2e1, 0x404, -0x3e9, 0x404, 0x3e9, 0x518, 0x4e3, 0x518, 0x4e3, 0x5be, 0x575, 0x5be, 0x575, -0x56c, 0x515, 0x56c, 0x515, 0x49c, 0x43c, 0x49c, 0x43c, 0x40d, 0x3a8, 0x40d, -0x3a8, 0x40d, 0x3a8, 0x37d, 0x316, 0x37d, 0x316, 0x2cf, 0x269, 0x2cf, 0x269, -0x2df, 0x27c, 0x2df, 0x27c, 0x2ac, 0x24e, 0x2ac, 0x24e, 0x1d2, 0x178, 0x1d2, -0x178, 0x185, 0x131, 0x185, 0x131, 0x185, 0x131, 0x1c1, 0x171, 0x1c1, 0x171, -0x18f, 0x145, 0x18f, 0x145, 0x139, 0xf3, 0x139, 0xf3, 0x1d2, 0x193, 0x1d2, -0x193, 0x267, 0x22e, 0x267, 0x22e, 0x267, 0x22e, 0x283, 0x254, 0x283, 0x254, -0x2f1, 0x2ce, 0x2f1, 0x2ce, 0x37a, 0x367, 0x37a, 0x367, 0x330, 0x332, 0x330, -0x332, 0x2aa, 0x2c5, 0x2aa, 0x2c5, 0x28a, 0x2c6, 0x28a, 0x2c6, 0x28a, 0x2c6, -0x20e, 0x273, 0x20e, 0x273, 0x1a1, 0x236, 0x1a1, 0x236, 0xbe, 0x18b, 0xbe, -0x18b, 0xfeee, 0xfffc, 0xfeee, 0xfffc, 0xfcad, 0xfe04, 0xfcad, 0xfe04, 0xfa2d, 0xfbd4, -0xfa2d, 0xfbd4, 0xfa2d, 0xfbd4, 0xf77d, 0xf97b, 0xf77d, 0xf97b, 0xf46e, 0xf6ca, 0xf46e, -0xf6ca, 0xf1b4, 0xf471, 0xf1b4, 0xf471, 0xef41, 0xf262, 0xef41, 0xf262, 0xecfa, 0xf081, -0xecfa, 0xf081, 0xecfa, 0xf081, 0xea85, 0xee71, 0xea85, 0xee71, 0xe7d7, 0xec26, 0xe7d7, -0xec26, 0xe5c9, 0xea76, 0xe5c9, 0xea76, 0xe401, 0xe905, 0xe401, 0xe905, 0xe257, 0xe7ab, -0xe257, 0xe7ab, 0xe028, 0xe5c1, 0xe028, 0xe5c1, 0xe028, 0xe5c1, 0xddf2, 0xe3c7, 0xddf2, -0xe3c7, 0xdc77, 0xe27a, 0xdc77, 0xe27a, 0xdac3, 0xe0e8, 0xdac3, 0xe0e8, 0xd949, 0xdf83, -0xd949, 0xdf83, 0xd848, 0xde8a, 0xd848, 0xde8a, 0xd7de, 0xde1b, 0xd7de, 0xde1b, 0xd7de, -0xde1b, 0xd80e, 0xde39, 0xd80e, 0xde39, 0xd8c7, 0xded5, 0xd8c7, 0xded5, 0xda1d, 0xe003, -0xda1d, 0xe003, 0xdb0c, 0xe0c1, 0xdb0c, 0xe0c1, 0xdc72, 0xe1ef, 0xdc72, 0xe1ef, 0xdc72, -0xe1ef, 0xde6d, 0xe3ab, 0xde6d, 0xe3ab, 0xdf73, 0xe46f, 0xdf73, 0xe46f, 0xe022, 0xe4d9, -0xe022, 0xe4d9, 0xe11a, 0xe58b, 0xe11a, 0xe58b, 0xe1bd, 0xe5e9, 0xe1bd, 0xe5e9, 0xe282, -0xe669, 0xe282, 0xe669, 0xe282, 0xe669, 0xe437, 0xe7dd, 0xe437, 0xe7dd, 0xe671, 0xe9d9, -0xe671, 0xe9d9, 0xe898, 0xebc5, 0xe898, 0xebc5, 0xea91, 0xed88, 0xea91, 0xed88, 0xec6e, -0xef33, 0xec6e, 0xef33, 0xedb6, 0xf04c, 0xedb6, 0xf04c, 0xedb6, 0xf04c, 0xef17, 0xf180, -0xef17, 0xf180, 0xf10b, 0xf34a, 0xf10b, 0xf34a, 0xf24a, 0xf460, 0xf24a, 0xf460, 0xf2ec, -0xf4d9, 0xf2ec, 0xf4d9, 0xf399, 0xf55c, 0xf399, 0xf55c, 0xf399, 0xf55c, 0xf406, 0xf59c, -0xf406, 0xf59c, 0xf36e, 0xf4d5, 0xf36e, 0xf4d5, 0xf2e7, 0xf41c, 0xf2e7, 0xf41c, 0xf33e, -0xf43b, 0xf33e, 0xf43b, 0xf345, 0xf404, 0xf345, 0xf404, 0xf34c, 0xf3c8, 0xf34c, 0xf3c8, -0xf34c, 0xf3c8, 0xf3f5, 0xf429, 0xf3f5, 0xf429, 0xf4ef, 0xf4d5, 0xf4ef, 0xf4d5, 0xf5ae, -0xf541, 0xf5ae, 0xf541, 0xf711, 0xf64d, 0xf711, 0xf64d, 0xf94b, 0xf82d, 0xf94b, 0xf82d, -0xfb91, 0xfa17, 0xfb91, 0xfa17, 0xfb91, 0xfa17, 0xfe94, 0xfcbc, 0xfe94, 0xfcbc, 0x1e5, -0xffb1, 0x1e5, 0xffb1, 0x501, 0x273, 0x501, 0x273, 0x83a, 0x556, 0x83a, 0x556, -0xbe5, 0x8b0, 0xbe5, 0x8b0, 0xbe5, 0x8b0, 0xf5e, 0xbdf, 0xf5e, 0xbdf, 0x11db, -0xe19, 0x11db, 0xe19, 0x1455, 0x105a, 0x1455, 0x105a, 0x16c7, 0x129c, 0x16c7, 0x129c, -0x18fe, 0x14af, 0x18fe, 0x14af, 0x1ac2, 0x165a, 0x1ac2, 0x165a, 0x1ac2, 0x165a, 0x1bdf, -0x176a, 0x1bdf, 0x176a, 0x1c8a, 0x1812, 0x1c8a, 0x1812, 0x1c58, 0x17e9, 0x1c58, 0x17e9, -0x1b9c, 0x1742, 0x1b9c, 0x1742, 0x1a5a, 0x161e, 0x1a5a, 0x161e, 0x1914, 0x1500, 0x1914, -0x1500, 0x1914, 0x1500, 0x17d3, 0x13ef, 0x17d3, 0x13ef, 0x162d, 0x1281, 0x162d, 0x1281, -0x1472, 0x1104, 0x1472, 0x1104, 0x1262, 0xf37, 0x1262, 0xf37, 0x1085, 0xda1, 0x1085, -0xda1, 0x1085, 0xda1, 0xedf, 0xc45, 0xedf, 0xc45, 0xd92, 0xb44, 0xd92, 0xb44, -0xc3d, 0xa3c, 0xc3d, 0xa3c, 0xa27, 0x873, 0xa27, 0x873, 0x8aa, 0x742, 0x8aa, -0x742, 0x77e, 0x660, 0x77e, 0x660, 0x77e, 0x660, 0x590, 0x4bb, 0x590, 0x4bb, -0x412, 0x383, 0x412, 0x383, 0x318, 0x2cb, 0x318, 0x2cb, 0x17c, 0x16f, 0x17c, -0x16f, 0x1c, 0x4b, 0x1c, 0x4b, 0x1c, 0x4b, 0xff5e, 0xffc5, 0xff5e, 0xffc5, -0xfea1, 0xff3c, 0xfea1, 0xff3c, 0xfdce, 0xfe99, 0xfdce, 0xfe99, 0xfcfc, 0xfdf3, 0xfcfc, -0xfdf3, 0xfc3b, 0xfd59, 0xfc3b, 0xfd59, 0xfb3f, 0xfc7f, 0xfb3f, 0xfc7f, 0xfb3f, 0xfc7f, -0xfaaa, 0xfc07, 0xfaaa, 0xfc07, 0xfa65, 0xfbd9, 0xfa65, 0xfbd9, 0xf9af, 0xfb36, 0xf9af, -0xfb36, 0xf92e, 0xfac2, 0xf92e, 0xfac2, 0xf965, 0xfb00, 0xf965, 0xfb00, 0xf9f5, 0xfb92, -0xf9f5, 0xfb92, 0xf9f5, 0xfb92, 0xfa4e, 0xfbe5, 0xfa4e, 0xfbe5, 0xfaef, 0xfc7b, 0xfaef, -0xfc7b, 0xfc04, 0xfd7f, 0xfc04, 0xfd7f, 0xfcf2, 0xfe55, 0xfcf2, 0xfe55, 0xfdcb, 0xff13, -0xfdcb, 0xff13, 0xfdcb, 0xff13, 0xfed0, 0xfff5, 0xfed0, 0xfff5, 0xff5f, 0x5d, 0xff5f, -0x5d, 0xff76, 0x4a, 0xff76, 0x4a, 0x1b, 0xc0, 0x1b, 0xc0, 0x7a, 0xed, -0x7a, 0xed, 0xde, 0x11e, 0xde, 0x11e, 0xde, 0x11e, 0x1b4, 0x1c0, 0x1b4, -0x1c0, 0x1d2, 0x1a9, 0x1d2, 0x1a9, 0x1ef, 0x192, 0x1ef, 0x192, 0x281, 0x1f2, -0x281, 0x1f2, 0x358, 0x299, 0x358, 0x299, 0x377, 0x28c, 0x377, 0x28c, 0x377, -0x28c, 0x309, 0x1f5, 0x309, 0x1f5, 0x33f, 0x208, 0x33f, 0x208, 0x356, 0x200, -0x356, 0x200, 0x375, 0x206, 0x375, 0x206, 0x3da, 0x257, 0x3da, 0x257, 0x3da, -0x257, 0x439, 0x2a9, 0x439, 0x2a9, 0x4b6, 0x31e, 0x4b6, 0x31e, 0x5d6, 0x43b, -0x5d6, 0x43b, 0x716, 0x57e, 0x716, 0x57e, 0x76f, 0x5df, 0x76f, 0x5df, 0x7e2, -0x65e, 0x7e2, 0x65e, 0x7e2, 0x65e, 0x870, 0x6fb, 0x870, 0x6fb, 0x87f, 0x71c, -0x87f, 0x71c, 0x88f, 0x742, 0x88f, 0x742, 0x8a8, 0x773, 0x8a8, 0x773, 0x8c7, -0x7ab, 0x8c7, 0x7ab, 0x8b5, 0x7b3, 0x8b5, 0x7b3, 0x8b5, 0x7b3, 0x818, 0x731, -0x818, 0x731, 0x6bf, 0x5f2, 0x6bf, 0x5f2, 0x47f, 0x3cd, 0x47f, 0x3cd, 0x2fe, -0x266, 0x2fe, 0x266, 0x27e, 0x200, 0x27e, 0x200, 0x27e, 0x200, 0x13e, 0xd9, -0x13e, 0xd9, 0x26, 0xffd8, 0x26, 0xffd8, 0xff17, 0xfedf, 0xff17, 0xfedf, 0xfd9d, -0xfd7b, 0xfd9d, 0xfd7b, 0xfce9, 0xfcda, 0xfce9, 0xfcda, 0xfcbb, 0xfcbf, 0xfcbb, 0xfcbf, -0xfcbb, 0xfcbf, 0xfc97, 0xfcad, 0xfc97, 0xfcad, 0xfc2f, 0xfc54, 0xfc2f, 0xfc54, 0xfc0d, -0xfc3e, 0xfc0d, 0xfc3e, 0xfbfb, 0xfc37, 0xfbfb, 0xfc37, 0xfb6d, 0xfbb1, 0xfb6d, 0xfbb1, -0xfba6, 0xfbf0, 0xfba6, 0xfbf0, 0xfba6, 0xfbf0, 0xfc4a, 0xfc97, 0xfc4a, 0xfc97, 0xfcc7, -0xfd11, 0xfcc7, 0xfd11, 0xfd8f, 0xfdd4, 0xfd8f, 0xfdd4, 0xfeab, 0xfee6, 0xfeab, 0xfee6, -0xffde, 0xb, 0xffde, 0xb, 0xffde, 0xb, 0xa8, 0xc1, 0xa8, 0xc1, 0x1bd, -0x1be, 0x1bd, 0x1be, 0x353, 0x336, 0x353, 0x336, 0x486, 0x447, 0x486, 0x447, -0x538, 0x4d2, 0x538, 0x4d2, 0x638, 0x5a5, 0x638, 0x5a5, 0x638, 0x5a5, 0x720, -0x65d, 0x720, 0x65d, 0x7c6, 0x6d0, 0x7c6, 0x6d0, 0x94a, 0x81e, 0x94a, 0x81e, -0xadb, 0x977, 0xadb, 0x977, 0xcdd, 0xb3f, 0xcdd, 0xb3f, 0xf1f, 0xd49, 0xf1f, -0xd49, 0xf1f, 0xd49, 0x1092, 0xe84, 0x1092, 0xe84, 0x1217, 0xfd2, 0x1217, 0xfd2, -0x13de, 0x1166, 0x13de, 0x1166, 0x1599, 0x12f2, 0x1599, 0x12f2, 0x169d, 0x13cb, 0x169d, -0x13cb, 0x169d, 0x13cb, 0x1786, 0x148e, 0x1786, 0x148e, 0x186d, 0x1555, 0x186d, 0x1555, -0x1922, 0x15f0, 0x1922, 0x15f0, 0x19ce, 0x1687, 0x19ce, 0x1687, 0x19b9, 0x1665, 0x19b9, -0x1665, 0x18fb, 0x159e, 0x18fb, 0x159e, 0x18fb, 0x159e, 0x17ec, 0x148c, 0x17ec, 0x148c, -0x1786, 0x1428, 0x1786, 0x1428, 0x16db, 0x1382, 0x16db, 0x1382, 0x15a1, 0x1252, 0x15a1, -0x1252, 0x1548, 0x1204, 0x1548, 0x1204, 0x1501, 0x11ca, 0x1501, 0x11ca, 0x1501, 0x11ca, -0x1493, 0x1168, 0x1493, 0x1168, 0x1445, 0x1128, 0x1445, 0x1128, 0x140a, 0x10f9, 0x140a, -0x10f9, 0x13d0, 0x10ca, 0x13d0, 0x10ca, 0x1389, 0x108c, 0x1389, 0x108c, 0x1389, 0x108c, -0x140a, 0x1112, 0x140a, 0x1112, 0x14ad, 0x11ba, 0x14ad, 0x11ba, 0x14be, 0x11cc, 0x14be, -0x11cc, 0x15d2, 0x12e1, 0x15d2, 0x12e1, 0x1704, 0x1412, 0x1704, 0x1412, 0x1708, 0x1415, -0x1708, 0x1415, 0x1708, 0x1415, 0x1747, 0x1453, 0x1747, 0x1453, 0x17bf, 0x14cd, 0x17bf, -0x14cd, 0x17e3, 0x14f5, 0x17e3, 0x14f5, 0x17b4, 0x14cc, 0x17b4, 0x14cc, 0x17ab, 0x14d1, -0x17ab, 0x14d1, 0x1769, 0x14a2, 0x1769, 0x14a2, 0x1769, 0x14a2, 0x1627, 0x1379, 0x1627, -0x1379, 0x154a, 0x12be, 0x154a, 0x12be, 0x1460, 0x11fd, 0x1460, 0x11fd, 0x128c, 0x105c, -0x128c, 0x105c, 0x10c5, 0xecf, 0x10c5, 0xecf, 0x10c5, 0xecf, 0xec0, 0xd0d, 0xec0, -0xd0d, 0xc40, 0xad8, 0xc40, 0xad8, 0x9a4, 0x88f, 0x9a4, 0x88f, 0x786, 0x6c8, -0x786, 0x6c8, 0x563, 0x501, 0x563, 0x501, 0x2eb, 0x2ea, 0x2eb, 0x2ea, 0x2eb, -0x2ea, 0xbc, 0x11b, 0xbc, 0x11b, 0xfe9e, 0xff5e, 0xfe9e, 0xff5e, 0xfc2d, 0xfd4c, -0xfc2d, 0xfd4c, 0xf94c, 0xfac6, 0xf94c, 0xfac6, 0xf716, 0xf8e5, 0xf716, 0xf8e5, 0xf4ea, -0xf707, 0xf4ea, 0xf707, 0xf4ea, 0xf707, 0xf29b, 0xf4fd, 0xf29b, 0xf4fd, 0xf119, 0xf3b6, -0xf119, 0xf3b6, 0xef94, 0xf25f, 0xef94, 0xf25f, 0xee7e, 0xf16d, 0xee7e, 0xf16d, 0xedb8, -0xf0bf, 0xedb8, 0xf0bf, 0xedb8, 0xf0bf, 0xec9d, 0xefb0, 0xec9d, 0xefb0, 0xeb50, 0xee62, -0xeb50, 0xee62, 0xea44, 0xed4b, 0xea44, 0xed4b, 0xe979, 0xec6a, 0xe979, 0xec6a, 0xe8ac, -0xeb7e, 0xe8ac, 0xeb7e, 0xe822, 0xeacc, 0xe822, 0xeacc, 0xe822, 0xeacc, 0xe843, 0xeac0, -0xe843, 0xeac0, 0xe9be, 0xec08, 0xe9be, 0xec08, 0xebab, 0xedbe, 0xebab, 0xedbe, 0xed9f, -0xef7b, 0xed9f, 0xef7b, 0xefc6, 0xf16a, 0xefc6, 0xf16a, 0xefc6, 0xf16a, 0xf228, 0xf395, -0xf228, 0xf395, 0xf51c, 0xf655, 0xf51c, 0xf655, 0xf79e, 0xf8a6, 0xf79e, 0xf8a6, 0xf9b8, -0xfa94, 0xf9b8, 0xfa94, 0xfbe5, 0xfc9b, 0xfbe5, 0xfc9b, 0xfdca, 0xfe60, 0xfdca, 0xfe60, -0xfdca, 0xfe60, 0xffa9, 0x24, 0xffa9, 0x24, 0x160, 0x1c6, 0x160, 0x1c6, 0x253, -0x2a9, 0x253, 0x2a9, 0x29c, 0x2e6, 0x29c, 0x2e6, 0x293, 0x2d7, 0x293, 0x2d7, -0x270, 0x2b1, 0x270, 0x2b1, 0x270, 0x2b1, 0x1a1, 0x1e0, 0x1a1, 0x1e0, 0x7c, -0xbc, 0x7c, 0xbc, 0xa7, 0xea, 0xa7, 0xea, 0xcd, 0x112, 0xcd, 0x112, -0x4e, 0x94, 0x4e, 0x94, 0x4e, 0x94, 0x88, 0xcf, 0x88, 0xcf, 0x88, -0xcf, 0x88, 0xcf, 0x20, 0x65, 0x20, 0x65, 0x2, 0x44, 0x2, 0x44, -0x63, 0xa0, 0x63, 0xa0, 0xdf, 0x117, 0xdf, 0x117, 0xdf, 0x117, 0x14d, -0x181, 0x14d, 0x181, 0x26e, 0x29e, 0x26e, 0x29e, 0x2f5, 0x322, 0x2f5, 0x322, -0x2ba, 0x2e8, 0x2ba, 0x2e8, 0x32e, 0x35f, 0x32e, 0x35f, 0x3d2, 0x40c, 0x3d2, -0x40c, 0x3d2, 0x40c, 0x3d3, 0x41b, 0x3d3, 0x41b, 0x38a, 0x3e6, 0x38a, 0x3e6, -0x35f, 0x3d6, 0x35f, 0x3d6, 0x231, 0x2ca, 0x231, 0x2ca, 0xfff9, 0xbc, 0xfff9, -0xbc, 0xfff9, 0xbc, 0xfdd6, 0xfeca, 0xfdd6, 0xfeca, 0xfbe7, 0xfd14, 0xfbe7, 0xfd14, -0xf985, 0xfaf1, 0xf985, 0xfaf1, 0xf70f, 0xf8c0, 0xf70f, 0xf8c0, 0xf50f, 0xf70a, 0xf50f, -0xf70a, 0xf283, 0xf4cb, 0xf283, 0xf4cb, 0xf283, 0xf4cb, 0xefcb, 0xf262, 0xefcb, 0xf262, -0xed36, 0xf01e, 0xed36, 0xf01e, 0xeaa3, 0xeddb, 0xeaa3, 0xeddb, 0xe85d, 0xebe2, 0xe85d, -0xebe2, 0xe638, 0xea06, 0xe638, 0xea06, 0xe413, 0xe826, 0xe413, 0xe826, 0xe413, 0xe826, -0xe17d, 0xe5cd, 0xe17d, 0xe5cd, 0xdf54, 0xe3da, 0xdf54, 0xe3da, 0xdd6d, 0xe21f, 0xdd6d, -0xe21f, 0xdb54, 0xe028, 0xdb54, 0xe028, 0xd9fc, 0xdee9, 0xd9fc, 0xdee9, 0xd9fc, 0xdee9, -0xd927, 0xde22, 0xd927, 0xde22, 0xd8f9, 0xddf7, 0xd8f9, 0xddf7, 0xd924, 0xde1a, 0xd924, -0xde1a, 0xd9d4, 0xdeba, 0xd9d4, 0xdeba, 0xdb02, 0xdfcf, 0xdb02, 0xdfcf, 0xdc0a, 0xe0b5, -0xdc0a, 0xe0b5, 0xdc0a, 0xe0b5, 0xdd5f, 0xe1e3, 0xdd5f, 0xe1e3, 0xdde5, 0xe23a, 0xdde5, -0xe23a, 0xde0b, 0xe230, 0xde0b, 0xe230, 0xdeb4, 0xe2a4, 0xdeb4, 0xe2a4, 0xdf81, 0xe33c, -0xdf81, 0xe33c, 0xe0f5, 0xe47a, 0xe0f5, 0xe47a, 0xe0f5, 0xe47a, 0xe25d, 0xe5ad, 0xe25d, -0xe5ad, 0xe385, 0xe6a3, 0xe385, 0xe6a3, 0xe4f7, 0xe7e5, 0xe4f7, 0xe7e5, 0xe6ba, 0xe97b, -0xe6ba, 0xe97b, 0xe89a, 0xeb33, 0xe89a, 0xeb33, 0xe89a, 0xeb33, 0xe9f1, 0xec65, 0xe9f1, -0xec65, 0xeb33, 0xed86, 0xeb33, 0xed86, 0xed08, 0xef3d, 0xed08, 0xef3d, 0xee26, 0xf040, -0xee26, 0xf040, 0xef38, 0xf13a, 0xef38, 0xf13a, 0xf112, 0xf2fb, 0xf112, 0xf2fb, 0xf112, -0xf2fb, 0xf241, 0xf413, 0xf241, 0xf413, 0xf32c, 0xf4e5, 0xf32c, 0xf4e5, 0xf3b7, 0xf554, -0xf3b7, 0xf554, 0xf3df, 0xf55f, 0xf3df, 0xf55f, 0xf394, 0xf4f1, 0xf394, 0xf4f1, 0xf349, -0xf47e, 0xf349, 0xf47e, 0xf349, 0xf47e, 0xf434, 0xf53b, 0xf434, 0xf53b, 0xf48d, 0xf560, -0xf48d, 0xf560, 0xf51f, 0xf5b7, 0xf51f, 0xf5b7, 0xf6cb, 0xf722, 0xf6cb, 0xf722, 0xf861, -0xf871, 0xf861, 0xf871, 0xf861, 0xf871, 0xfa0d, 0xf9cf, 0xfa0d, 0xf9cf, 0xfbf4, 0xfb63, -0xfbf4, 0xfb63, 0xfea7, 0xfdbe, 0xfea7, 0xfdbe, 0x139, 0xfff6, 0x139, 0xfff6, 0x3d4, -0x235, 0x3d4, 0x235, 0x76a, 0x56f, 0x76a, 0x56f, 0x76a, 0x56f, 0xac2, 0x86d, -0xac2, 0x86d, 0xd8d, 0xae1, 0xd8d, 0xae1, 0x1092, 0xd93, 0x1092, 0xd93, 0x13a0, -0x1055, 0x13a0, 0x1055, 0x15fe, 0x1270, 0x15fe, 0x1270, 0x185f, 0x1497, 0x185f, 0x1497, -0x185f, 0x1497, 0x1a53, 0x165c, 0x1a53, 0x165c, 0x1b61, 0x1748, 0x1b61, 0x1748, 0x1c2c, -0x17fc, 0x1c2c, 0x17fc, 0x1ca1, 0x1869, 0x1ca1, 0x1869, 0x1c21, 0x17ee, 0x1c21, 0x17ee, -0x1c21, 0x17ee, 0x1a78, 0x1658, 0x1a78, 0x1658, 0x1923, 0x1522, 0x1923, 0x1522, 0x177a, -0x13a5, 0x177a, 0x13a5, 0x1589, 0x11ed, 0x1589, 0x11ed, 0x139e, 0x1043, 0x139e, 0x1043, -0x1179, 0xe6a, 0x1179, 0xe6a, 0x1179, 0xe6a, 0xffe, 0xd42, 0xffe, 0xd42, 0xe23, -0xbc0, 0xe23, 0xbc0, 0xc65, 0xa5f, 0xc65, 0xa5f, 0xa84, 0x8de, 0xa84, 0x8de, -0x8ba, 0x773, 0x8ba, 0x773, 0x751, 0x669, 0x751, 0x669, 0x751, 0x669, 0x504, -0x477, 0x504, 0x477, 0x2f4, 0x2bf, 0x2f4, 0x2bf, 0x16b, 0x188, 0x16b, 0x188, -0x58, 0xbf, 0x58, 0xbf, 0xff8f, 0x39, 0xff8f, 0x39, 0xff8f, 0x39, 0xfe84, -0xff69, 0xfe84, 0xff69, 0xfd9a, 0xfeb0, 0xfd9a, 0xfeb0, 0xfcd1, 0xfe10, 0xfcd1, 0xfe10, -0xfc0a, 0xfd69, 0xfc0a, 0xfd69, 0xfb6e, 0xfce3, 0xfb6e, 0xfce3, 0xf9e5, 0xfb68, 0xf9e5, -0xfb68, 0xf9e5, 0xfb68, 0xf85a, 0xf9e3, 0xf85a, 0xf9e3, 0xf835, 0xf9be, 0xf835, 0xf9be, -0xf821, 0xf9a2, 0xf821, 0xf9a2, 0xf889, 0xf9fe, 0xf889, 0xf9fe, 0xf91a, 0xfa7e, 0xf91a, -0xfa7e, 0xf9a0, 0xfaf0, 0xf9a0, 0xfaf0, 0xf9a0, 0xfaf0, 0xfa49, 0xfb82, 0xfa49, 0xfb82, -0xfae6, 0xfc07, 0xfae6, 0xfc07, 0xfc34, 0xfd3c, 0xfc34, 0xfd3c, 0xfd04, 0xfdf3, 0xfd04, -0xfdf3, 0xfdd8, 0xfeae, 0xfdd8, 0xfeae, 0xfdd8, 0xfeae, 0xfecd, 0xff8b, 0xfecd, 0xff8b, -0xfef8, 0xffa0, 0xfef8, 0xffa0, 0xff90, 0x22, 0xff90, 0x22, 0x66, 0xe4, 0x66, -0xe4, 0x126, 0x192, 0x126, 0x192, 0x1d1, 0x22b, 0x1d1, 0x22b, 0x1d1, 0x22b, -0x264, 0x2ad, 0x264, 0x2ad, 0x31f, 0x358, 0x31f, 0x358, 0x325, 0x34d, 0x325, -0x34d, 0x314, 0x32c, 0x314, 0x32c, 0x390, 0x397, 0x390, 0x397, 0x390, 0x397, -0x3f4, 0x3e8, 0x3f4, 0x3e8, 0x450, 0x431, 0x450, 0x431, 0x4e3, 0x4b0, 0x4e3, -0x4b0, 0x52c, 0x4e3, 0x52c, 0x4e3, 0x51c, 0x4bb, 0x51c, 0x4bb, 0x536, 0x4bd, -0x536, 0x4bd, 0x536, 0x4bd, 0x4eb, 0x459, 0x4eb, 0x459, 0x4f3, 0x447, 0x4f3, -0x447, 0x567, 0x4a0, 0x567, 0x4a0, 0x644, 0x564, 0x644, 0x564, 0x716, 0x61e, -0x716, 0x61e, 0x746, 0x637, 0x746, 0x637, 0x746, 0x637, 0x7f7, 0x6d4, 0x7f7, -0x6d4, 0x838, 0x704, 0x838, 0x704, 0x87f, 0x73d, 0x87f, 0x73d, 0x8f1, 0x7a6, -0x8f1, 0x7a6, 0x94c, 0x7fc, 0x94c, 0x7fc, 0x94c, 0x7fc, 0x962, 0x813, 0x962, -0x813, 0x8e6, 0x79c, 0x8e6, 0x79c, 0x8a9, 0x76a, 0x8a9, 0x76a, 0x746, 0x617, -0x746, 0x617, 0x5a0, 0x486, 0x5a0, 0x486, 0x43f, 0x33f, 0x43f, 0x33f, 0x43f, -0x33f, 0x26b, 0x188, 0x26b, 0x188, 0xfb, 0x39, 0xfb, 0x39, 0xffb6, 0xff16, -0xffb6, 0xff16, 0xfe91, 0xfe15, 0xfe91, 0xfe15, 0xfd95, 0xfd3d, 0xfd95, 0xfd3d, 0xfcb4, -0xfc7f, 0xfcb4, 0xfc7f, 0xfcb4, 0xfc7f, 0xfc1c, 0xfc08, 0xfc1c, 0xfc08, 0xfb7d, 0xfb86, -0xfb7d, 0xfb86, 0xfb65, 0xfb87, 0xfb65, 0xfb87, 0xfb8a, 0xfbc1, 0xfb8a, 0xfbc1, 0xfac0, -0xfb04, 0xfac0, 0xfb04, 0xfac0, 0xfb04, 0xfa9d, 0xfae8, 0xfa9d, 0xfae8, 0xfb35, 0xfb7f, -0xfb35, 0xfb7f, 0xfbf5, 0xfc36, 0xfbf5, 0xfc36, 0xfd11, 0xfd41, 0xfd11, 0xfd41, 0xfdfc, -0xfe13, 0xfdfc, 0xfe13, 0xff5b, 0xff51, 0xff5b, 0xff51, 0xff5b, 0xff51, 0x9f, 0x6c, -0x9f, 0x6c, 0x1fb, 0x199, 0x1fb, 0x199, 0x3b0, 0x319, 0x3b0, 0x319, 0x441, -0x36f, 0x441, 0x36f, 0x4ba, 0x3a9, 0x4ba, 0x3a9, 0x5e4, 0x492, 0x5e4, 0x492, -0x5e4, 0x492, 0x6da, 0x544, 0x6da, 0x544, 0x814, 0x63a, 0x814, 0x63a, 0x977, -0x75a, 0x977, 0x75a, 0xb2b, 0x8ce, 0xb2b, 0x8ce, 0xcbf, 0xa25, 0xcbf, 0xa25, -0xcbf, 0xa25, 0xe0f, 0xb3c, 0xe0f, 0xb3c, 0x101b, 0xd14, 0x101b, 0xd14, 0x11f6, -0xec1, 0x11f6, 0xec1, 0x1371, 0x1015, 0x1371, 0x1015, 0x14ae, 0x1132, 0x14ae, 0x1132, -0x15ee, 0x1259, 0x15ee, 0x1259, 0x15ee, 0x1259, 0x1700, 0x1359, 0x1700, 0x1359, 0x1802, -0x1451, 0x1802, 0x1451, 0x194d, 0x1598, 0x194d, 0x1598, 0x1a45, 0x1692, 0x1a45, 0x1692, -0x1afa, 0x174f, 0x1afa, 0x174f, 0x1ac4, 0x1725, 0x1ac4, 0x1725, 0x1ac4, 0x1725, 0x1a24, -0x1695, 0x1a24, 0x1695, 0x1987, 0x160b, 0x1987, 0x160b, 0x18bb, 0x1555, 0x18bb, 0x1555, -0x17bb, 0x146b, 0x17bb, 0x146b, 0x16d4, 0x139a, 0x16d4, 0x139a, 0x16d4, 0x139a, 0x1625, -0x1301, 0x1625, 0x1301, 0x155d, 0x124c, 0x155d, 0x124c, 0x14b1, 0x11b2, 0x14b1, 0x11b2, -0x1391, 0x10a2, 0x1391, 0x10a2, 0x12c5, 0xfe2, 0x12c5, 0xfe2, 0x1264, 0xf8a, 0x1264, -0xf8a, 0x1264, 0xf8a, 0x123c, 0xf6a, 0x123c, 0xf6a, 0x127f, 0xfb1, 0x127f, 0xfb1, -0x1286, 0xfba, 0x1286, 0xfba, 0x1330, 0x1064, 0x1330, 0x1064, 0x13ca, 0x10fe, 0x13ca, -0x10fe, 0x13a8, 0x10dc, 0x13a8, 0x10dc, 0x13a8, 0x10dc, 0x13fe, 0x1134, 0x13fe, 0x1134, -0x146d, 0x11a6, 0x146d, 0x11a6, 0x14a7, 0x11e6, 0x14a7, 0x11e6, 0x14bb, 0x1204, 0x14bb, -0x1204, 0x14ac, 0x1204, 0x14ac, 0x1204, 0x14ac, 0x1204, 0x14ba, 0x1227, 0x14ba, 0x1227, -0x1499, 0x1222, 0x1499, 0x1222, 0x1452, 0x11ff, 0x1452, 0x11ff, 0x12d3, 0x10ab, 0x12d3, -0x10ab, 0x10c8, 0xed3, 0x10c8, 0xed3, 0xf7c, 0xdc2, 0xf7c, 0xdc2, 0xf7c, 0xdc2, -0xe18, 0xca1, 0xe18, 0xca1, 0xcad, 0xb7f, 0xcad, 0xb7f, 0xa91, 0x9b5, 0xa91, -0x9b5, 0x876, 0x7f0, 0x876, 0x7f0, 0x6db, 0x6af, 0x6db, 0x6af, 0x4ad, 0x4df, -0x4ad, 0x4df, 0x4ad, 0x4df, 0x2d1, 0x362, 0x2d1, 0x362, 0xb3, 0x1a5, 0xb3, -0x1a5, 0xfde6, 0xff35, 0xfde6, 0xff35, 0xfbcd, 0xfd78, 0xfbcd, 0xfd78, 0xf9d7, 0xfbd9, -0xf9d7, 0xfbd9, 0xf9d7, 0xfbd9, 0xf7ad, 0xfa01, 0xf7ad, 0xfa01, 0xf5bf, 0xf85c, 0xf5bf, -0xf85c, 0xf415, 0xf6f3, 0xf415, 0xf6f3, 0xf2cf, 0xf5e3, 0xf2cf, 0xf5e3, 0xf18e, 0xf4cf, -0xf18e, 0xf4cf, 0xf0a5, 0xf406, 0xf0a5, 0xf406, 0xf0a5, 0xf406, 0xefa2, 0xf317, 0xefa2, -0xf317, 0xee0d, 0xf18b, 0xee0d, 0xf18b, 0xec56, 0xefd1, 0xec56, 0xefd1, 0xeb2b, 0xee98, -0xeb2b, 0xee98, 0xea90, 0xede5, 0xea90, 0xede5, 0xe9e3, 0xed15, 0xe9e3, 0xed15, 0xe9e3, -0xed15, 0xea0e, 0xed15, 0xea0e, 0xed15, 0xeae6, 0xedbb, 0xeae6, 0xedbb, 0xec0d, 0xeeab, -0xec0d, 0xeeab, 0xed61, 0xefc2, 0xed61, 0xefc2, 0xef18, 0xf13b, 0xef18, 0xf13b, 0xef18, -0xf13b, 0xf186, 0xf369, 0xf186, 0xf369, 0xf3fd, 0xf5a2, 0xf3fd, 0xf5a2, 0xf69f, 0xf807, -0xf69f, 0xf807, 0xf89b, 0xf9c9, 0xf89b, 0xf9c9, 0xfac6, 0xfbbf, 0xfac6, 0xfbbf, 0xfd20, -0xfde9, 0xfd20, 0xfde9, 0xfd20, 0xfde9, 0xfee2, 0xff81, 0xfee2, 0xff81, 0xe7, 0x164, -0xe7, 0x164, 0x21f, 0x27f, 0x21f, 0x27f, 0x324, 0x36f, 0x324, 0x36f, 0x400, -0x43d, 0x400, 0x43d, 0x3e0, 0x415, 0x3e0, 0x415, 0x3e0, 0x415, 0x2fc, 0x32e, -0x2fc, 0x32e, 0x272, 0x2a7, 0x272, 0x2a7, 0x23f, 0x27a, 0x23f, 0x27a, 0x145, -0x189, 0x145, 0x189, 0x12b, 0x17b, 0x12b, 0x17b, 0x12b, 0x17b, 0x9e, 0xfb, -0x9e, 0xfb, 0x20, 0x8a, 0x20, 0x8a, 0xffee, 0x65, 0xffee, 0x65, 0xfefa, -0xff7d, 0xfefa, 0xff7d, 0xff4f, 0xffdd, 0xff4f, 0xffdd, 0xff36, 0xffcb, 0xff36, 0xffcb, -0xff36, 0xffcb, 0xff39, 0xffd6, 0xff39, 0xffd6, 0x18, 0xba, 0x18, 0xba, 0x41, -0xe6, 0x41, 0xe6, 0xffeb, 0x93, 0xffeb, 0x93, 0xb5, 0x15f, 0xb5, 0x15f, -0xb5, 0x15f, 0x1e3, 0x290, 0x1e3, 0x290, 0x1f7, 0x2a9, 0x1f7, 0x2a9, 0x279, -0x332, 0x279, 0x332, 0x2ac, 0x370, 0x2ac, 0x370, 0x250, 0x324, 0x250, 0x324, -0x175, 0x25d, 0x175, 0x25d, 0x175, 0x25d, 0x1c, 0x120, 0x1c, 0x120, 0xfe14, -0xff39, 0xfe14, 0xff39, 0xfb97, 0xfce4, 0xfb97, 0xfce4, 0xf980, 0xfafe, 0xf980, 0xfafe, -0xf776, 0xf92b, 0xf776, 0xf92b, 0xf577, 0xf76a, 0xf577, 0xf76a, 0xf577, 0xf76a, 0xf332, -0xf568, 0xf332, 0xf568, 0xf0ed, 0xf36d, 0xf0ed, 0xf36d, 0xee66, 0xf133, 0xee66, 0xf133, -0xec58, 0xef74, 0xec58, 0xef74, 0xea25, 0xed92, 0xea25, 0xed92, 0xea25, 0xed92, 0xe822, -0xebe0, 0xe822, 0xebe0, 0xe603, 0xea0f, 0xe603, 0xea0f, 0xe34b, 0xe7a1, 0xe34b, 0xe7a1, -0xe195, 0xe630, 0xe195, 0xe630, 0xdf2a, 0xe402, 0xdf2a, 0xe402, 0xddc1, 0xe2ce, 0xddc1, -0xe2ce, 0xddc1, 0xe2ce, 0xdcfd, 0xe234, 0xdcfd, 0xe234, 0xdc03, 0xe15a, 0xdc03, 0xe15a, -0xdc20, 0xe18c, 0xdc20, 0xe18c, 0xdc94, 0xe208, 0xdc94, 0xe208, 0xdd3a, 0xe2ab, 0xdd3a, -0xe2ab, 0xdd62, 0xe2c3, 0xdd62, 0xe2c3, 0xdd62, 0xe2c3, 0xde10, 0xe358, 0xde10, 0xe358, -0xdea7, 0xe3ca, 0xdea7, 0xe3ca, 0xdeff, 0xe3f4, 0xdeff, 0xe3f4, 0xdf9d, 0xe45e, 0xdf9d, -0xe45e, 0xe024, 0xe4a9, 0xe024, 0xe4a9, 0xe024, 0xe4a9, 0xe10a, 0xe550, 0xe10a, 0xe550, -0xe1e4, 0xe5e7, 0xe1e4, 0xe5e7, 0xe2d6, 0xe696, 0xe2d6, 0xe696, 0xe3fe, 0xe77b, 0xe3fe, -0xe77b, 0xe56b, 0xe8a8, 0xe56b, 0xe8a8, 0xe6ef, 0xe9ee, 0xe6ef, 0xe9ee, 0xe6ef, 0xe9ee, -0xe884, 0xeb49, 0xe884, 0xeb49, 0xe9fc, 0xec8d, 0xe9fc, 0xec8d, 0xeb34, 0xed97, 0xeb34, -0xed97, 0xecaa, 0xeee4, 0xecaa, 0xeee4, 0xede1, 0xeff8, 0xede1, 0xeff8, 0xef1d, 0xf116, -0xef1d, 0xf116, 0xef1d, 0xf116, 0xf09b, 0xf27a, 0xf09b, 0xf27a, 0xf194, 0xf35b, 0xf194, -0xf35b, 0xf22c, 0xf3de, 0xf22c, 0xf3de, 0xf276, 0xf413, 0xf276, 0xf413, 0xf270, 0xf3f7, -0xf270, 0xf3f7, 0xf270, 0xf3f7, 0xf224, 0xf393, 0xf224, 0xf393, 0xf248, 0xf39c, 0xf248, -0xf39c, 0xf2a8, 0xf3da, 0xf2a8, 0xf3da, 0xf29f, 0xf3a9, 0xf29f, 0xf3a9, 0xf41c, 0xf4f7, -0xf41c, 0xf4f7, 0xf5b2, 0xf656, 0xf5b2, 0xf656, 0xf5b2, 0xf656, 0xf69f, 0xf703, 0xf69f, -0xf703, 0xf866, 0xf882, 0xf866, 0xf882, 0xfa6f, 0xfa3c, 0xfa6f, 0xfa3c, 0xfd0e, 0xfc84, -0xfd0e, 0xfc84, 0xffa2, 0xfebc, 0xffa2, 0xfebc, 0x258, 0x111, 0x258, 0x111, 0x258, -0x111, 0x4f3, 0x348, 0x4f3, 0x348, 0x7fb, 0x5eb, 0x7fb, 0x5eb, 0xbea, 0x977, -0xbea, 0x977, 0xf26, 0xc53, 0xf26, 0xc53, 0x1239, 0xf0c, 0x1239, 0xf0c, 0x1239, -0xf0c, 0x14e1, 0x1163, 0x14e1, 0x1163, 0x1735, 0x1370, 0x1735, 0x1370, 0x1901, 0x1500, -0x1901, 0x1500, 0x1a35, 0x1607, 0x1a35, 0x1607, 0x1b29, 0x16dc, 0x1b29, 0x16dc, 0x1b47, -0x16eb, 0x1b47, 0x16eb, 0x1b47, 0x16eb, 0x1aa1, 0x1648, 0x1aa1, 0x1648, 0x1944, 0x14fe, -0x1944, 0x14fe, 0x1847, 0x1423, 0x1847, 0x1423, 0x170e, 0x131d, 0x170e, 0x131d, 0x15a2, -0x11f2, 0x15a2, 0x11f2, 0x141c, 0x10ba, 0x141c, 0x10ba, 0x141c, 0x10ba, 0x122c, 0xf22, -0x122c, 0xf22, 0x10c3, 0xe1b, 0x10c3, 0xe1b, 0xf2f, 0xcef, 0xf2f, 0xcef, 0xd3b, -0xb68, 0xd3b, 0xb68, 0xaf0, 0x98c, 0xaf0, 0x98c, 0xaf0, 0x98c, 0x913, 0x81b, -0x913, 0x81b, 0x74c, 0x6be, 0x74c, 0x6be, 0x558, 0x52e, 0x558, 0x52e, 0x447, -0x479, 0x447, 0x479, 0x2fb, 0x380, 0x2fb, 0x380, 0x15f, 0x22d, 0x15f, 0x22d, -0x15f, 0x22d, 0x4b, 0x156, 0x4b, 0x156, 0xff66, 0xa0, 0xff66, 0xa0, 0xfe8a, -0xffe8, 0xfe8a, 0xffe8, 0xfd42, 0xfeb7, 0xfd42, 0xfeb7, 0xfc07, 0xfd86, 0xfc07, 0xfd86, -0xfb47, 0xfcc5, 0xfb47, 0xfcc5, 0xfb47, 0xfcc5, 0xfa4c, 0xfbbe, 0xfa4c, 0xfbbe, 0xf9ce, -0xfb2d, 0xf9ce, 0xfb2d, 0xf97d, 0xfabf, 0xf97d, 0xfabf, 0xf94c, 0xfa6c, 0xf94c, 0xfa6c, -0xf921, 0xfa1a, 0xf921, 0xfa1a, 0xf921, 0xfa1a, 0xf977, 0xfa47, 0xf977, 0xfa47, 0xfa62, -0xfb07, 0xfa62, 0xfb07, 0xfa96, 0xfb10, 0xfa96, 0xfb10, 0xfb4a, 0xfb9b, 0xfb4a, 0xfb9b, -0xfbf3, 0xfc1e, 0xfbf3, 0xfc1e, 0xfcee, 0xfcf7, 0xfcee, 0xfcf7, 0xfcee, 0xfcf7, 0xfdc1, -0xfdab, 0xfdc1, 0xfdab, 0xfe28, 0xfdf8, 0xfe28, 0xfdf8, 0xfeca, 0xfe85, 0xfeca, 0xfe85, -0xff34, 0xfede, 0xff34, 0xfede, 0x87, 0x25, 0x87, 0x25, 0x148, 0xde, 0x148, -0xde, 0x148, 0xde, 0x222, 0x1b2, 0x222, 0x1b2, 0x352, 0x2df, 0x352, 0x2df, -0x3c7, 0x354, 0x3c7, 0x354, 0x40f, 0x39b, 0x40f, 0x39b, 0x406, 0x392, 0x406, -0x392, 0x406, 0x392, 0x3e2, 0x36d, 0x3e2, 0x36d, 0x3cb, 0x353, 0x3cb, 0x353, -0x416, 0x39a, 0x416, 0x39a, 0x412, 0x390, 0x412, 0x390, 0x3e1, 0x355, 0x3e1, -0x355, 0x3f4, 0x35d, 0x3f4, 0x35d, 0x3f4, 0x35d, 0x416, 0x371, 0x416, 0x371, -0x46e, 0x3bb, 0x46e, 0x3bb, 0x512, 0x44e, 0x512, 0x44e, 0x599, 0x4c4, 0x599, -0x4c4, 0x605, 0x520, 0x605, 0x520, 0x6c0, 0x5ca, 0x6c0, 0x5ca, 0x6c0, 0x5ca, -0x7d2, 0x6cf, 0x7d2, 0x6cf, 0x8b4, 0x7a6, 0x8b4, 0x7a6, 0x944, 0x82e, 0x944, -0x82e, 0xa10, 0x8f6, 0xa10, 0x8f6, 0xa3d, 0x924, 0xa3d, 0x924, 0xa3d, 0x924, -0xa64, 0x951, 0xa64, 0x951, 0xa8d, 0x987, 0xa8d, 0x987, 0xa22, 0x92c, 0xa22, -0x92c, 0x96d, 0x88e, 0x96d, 0x88e, 0x806, 0x743, 0x806, 0x743, 0x66f, 0x5cc, -0x66f, 0x5cc, 0x66f, 0x5cc, 0x52d, 0x4af, 0x52d, 0x4af, 0x3f4, 0x39d, 0x3f4, -0x39d, 0x25e, 0x22f, 0x25e, 0x22f, 0x136, 0x131, 0x136, 0x131, 0x33, 0x58, -0x33, 0x58, 0x33, 0x58, 0xff35, 0xff81, 0xff35, 0xff81, 0xfe26, 0xfe98, 0xfe26, -0xfe98, 0xfcdd, 0xfd6f, 0xfcdd, 0xfd6f, 0xfc38, 0xfce6, 0xfc38, 0xfce6, 0xfbb0, 0xfc74, -0xfbb0, 0xfc74, 0xfb46, 0xfc1a, 0xfb46, 0xfc1a, 0xfb46, 0xfc1a, 0xfb5c, 0xfc37, 0xfb5c, -0xfc37, 0xfbb8, 0xfc93, 0xfbb8, 0xfc93, 0xfbcf, 0xfca1, 0xfbcf, 0xfca1, 0xfbc8, 0xfc89, -0xfbc8, 0xfc89, 0xfc63, 0xfd0d, 0xfc63, 0xfd0d, 0xfd65, 0xfdee, 0xfd65, 0xfdee, 0xfd65, -0xfdee, 0xfdf6, 0xfe58, 0xfdf6, 0xfe58, 0xfeae, 0xfee2, 0xfeae, 0xfee2, 0xffb9, 0xffba, -0xffb9, 0xffba, 0x42, 0xb, 0x42, 0xb, 0xfc, 0x8a, 0xfc, 0x8a, 0xfc, -0x8a, 0x210, 0x161, 0x210, 0x161, 0x314, 0x225, 0x314, 0x225, 0x3e7, 0x2bb, -0x3e7, 0x2bb, 0x519, 0x3ae, 0x519, 0x3ae, 0x69d, 0x4f7, 0x69d, 0x4f7, 0x831, -0x652, 0x831, 0x652, 0x831, 0x652, 0x9c7, 0x7b3, 0x9c7, 0x7b3, 0xb89, 0x944, -0xb89, 0x944, 0xd77, 0xb07, 0xd77, 0xb07, 0xee9, 0xc51, 0xee9, 0xc51, 0x108c, -0xdd3, 0x108c, 0xdd3, 0x11de, 0xf09, 0x11de, 0xf09, 0x11de, 0xf09, 0x1311, 0x1025, -0x1311, 0x1025, 0x1474, 0x1176, 0x1474, 0x1176, 0x15a5, 0x1299, 0x15a5, 0x1299, 0x1700, -0x13eb, 0x1700, 0x13eb, 0x1824, 0x150a, 0x1824, 0x150a, 0x1824, 0x150a, 0x18f0, 0x15d4, -0x18f0, 0x15d4, 0x18f3, 0x15d7, 0x18f3, 0x15d7, 0x18ac, 0x1592, 0x18ac, 0x1592, 0x1806, -0x14f0, 0x1806, 0x14f0, 0x1722, 0x140f, 0x1722, 0x140f, 0x16a3, 0x1395, 0x16a3, 0x1395, -0x16a3, 0x1395, 0x15ef, 0x12e5, 0x15ef, 0x12e5, 0x1563, 0x125c, 0x1563, 0x125c, 0x14ed, -0x11e9, 0x14ed, 0x11e9, 0x143a, 0x1138, 0x143a, 0x1138, 0x1363, 0x1062, 0x1363, 0x1062, -0x12b9, 0xfb9, 0x12b9, 0xfb9, 0x12b9, 0xfb9, 0x1296, 0xf97, 0x1296, 0xf97, 0x1282, -0xf82, 0x1282, 0xf82, 0x126a, 0xf6a, 0x126a, 0xf6a, 0x126e, 0xf70, 0x126e, 0xf70, -0x12dd, 0xfe2, 0x12dd, 0xfe2, 0x12dd, 0xfe2, 0x139e, 0x10a7, 0x139e, 0x10a7, 0x1435, -0x1144, 0x1435, 0x1144, 0x14c4, 0x11dd, 0x14c4, 0x11dd, 0x1502, 0x1229, 0x1502, 0x1229, -0x151a, 0x1253, 0x151a, 0x1253, 0x1567, 0x12b7, 0x1567, 0x12b7, 0x1567, 0x12b7, 0x15c9, -0x1335, 0x15c9, 0x1335, 0x157f, 0x130c, 0x157f, 0x130c, 0x149d, 0x1251, 0x149d, 0x1251, -0x13d3, 0x11b4, 0x13d3, 0x11b4, 0x1275, 0x1088, 0x1275, 0x1088, 0x1112, 0xf5e, 0x1112, -0xf5e, 0x1112, 0xf5e, 0xfa1, 0xe2b, 0xfa1, 0xe2b, 0xdaf, 0xc7a, 0xdaf, 0xc7a, -0xbe8, 0xaf9, 0xbe8, 0xaf9, 0xa3d, 0x999, 0xa3d, 0x999, 0x843, 0x7eb, 0x843, -0x7eb, 0x843, 0x7eb, 0x607, 0x5fc, 0x607, 0x5fc, 0x403, 0x446, 0x403, 0x446, -0x15f, 0x1f0, 0x15f, 0x1f0, 0xfed9, 0xffb7, 0xfed9, 0xffb7, 0xfd6f, 0xfe96, 0xfd6f, -0xfe96, 0xfbc3, 0xfd2f, 0xfbc3, 0xfd2f, 0xfbc3, 0xfd2f, 0xf9bb, 0xfb67, 0xf9bb, 0xfb67, -0xf7ea, 0xf9cf, 0xf7ea, 0xf9cf, 0xf676, 0xf88e, 0xf676, 0xf88e, 0xf513, 0xf756, 0xf513, -0xf756, 0xf38e, 0xf5f3, 0xf38e, 0xf5f3, 0xf237, 0xf4b5, 0xf237, 0xf4b5, 0xf237, 0xf4b5, -0xf109, 0xf397, 0xf109, 0xf397, 0xefb4, 0xf247, 0xefb4, 0xf247, 0xee4f, 0xf0de, 0xee4f, -0xf0de, 0xeda1, 0xf023, 0xeda1, 0xf023, 0xece9, 0xef54, 0xece9, 0xef54, 0xece9, 0xef54, -0xebed, 0xee39, 0xebed, 0xee39, 0xebf2, 0xee17, 0xebf2, 0xee17, 0xec42, 0xee3a, 0xec42, -0xee3a, 0xec9f, 0xee63, 0xec9f, 0xee63, 0xedbb, 0xef47, 0xedbb, 0xef47, 0xef64, 0xf0b4, -0xef64, 0xf0b4, 0xef64, 0xf0b4, 0xf11e, 0xf22f, 0xf11e, 0xf22f, 0xf312, 0xf3e5, 0xf312, -0xf3e5, 0xf540, 0xf5d5, 0xf540, 0xf5d5, 0xf70f, 0xf766, 0xf70f, 0xf766, 0xf929, 0xf946, -0xf929, 0xf946, 0xfb8b, 0xfb73, 0xfb8b, 0xfb73, 0xfb8b, 0xfb73, 0xfd8d, 0xfd42, 0xfd8d, -0xfd42, 0xff9f, 0xff29, 0xff9f, 0xff29, 0x190, 0xf3, 0x190, 0xf3, 0x2be, 0x201, -0x2be, 0x201, 0x3bc, 0x2e6, 0x3bc, 0x2e6, 0x3bc, 0x2e6, 0x405, 0x31d, 0x405, -0x31d, 0x3b5, 0x2c2, 0x3b5, 0x2c2, 0x36d, 0x275, 0x36d, 0x275, 0x2b2, 0x1ba, -0x2b2, 0x1ba, 0x21d, 0x12c, 0x21d, 0x12c, 0x161, 0x7b, 0x161, 0x7b, 0x161, -0x7b, 0x8e, 0xffb9, 0x8e, 0xffb9, 0xff61, 0xfe9f, 0xff61, 0xfe9f, 0xfe8f, 0xfde3, -0xfe8f, 0xfde3, 0xfe67, 0xfdd4, 0xfe67, 0xfdd4, 0xfde9, 0xfd70, 0xfde9, 0xfd70, 0xfde7, -0xfd8b, 0xfde7, 0xfd8b, 0xfde7, 0xfd8b, 0xfdc4, 0xfd84, 0xfdc4, 0xfd84, 0xfdbf, 0xfd9c, -0xfdbf, 0xfd9c, 0xfe04, 0xfdff, 0xfe04, 0xfdff, 0xfec0, 0xfed8, 0xfec0, 0xfed8, 0xff9d, -0xffd2, 0xff9d, 0xffd2, 0xff9d, 0xffd2, 0x23, 0x76, 0x23, 0x76, 0xd8, 0x14a, -0xd8, 0x14a, 0xff, 0x18f, 0xff, 0x18f, 0x18d, 0x23d, 0x18d, 0x23d, 0x1bf, -0x290, 0x1bf, 0x290, 0xe8, 0x1dc, 0xe8, 0x1dc, 0xe8, 0x1dc, 0x3, 0x11d, -0x3, 0x11d, 0xfebd, 0xffff, 0xfebd, 0xffff, 0xfd47, 0xfeb5, 0xfd47, 0xfeb5, 0xfb8d, -0xfd29, 0xfb8d, 0xfd29, 0xf9ab, 0xfb78, 0xf9ab, 0xfb78, 0xf80c, 0xfa0d, 0xf80c, 0xfa0d, -0xf80c, 0xfa0d, 0xf66b, 0xf8a3, 0xf66b, 0xf8a3, 0xf4af, 0xf720, 0xf4af, 0xf720, 0xf2a8, -0xf555, 0xf2a8, 0xf555, 0xf0a4, 0xf38d, 0xf0a4, 0xf38d, 0xee80, 0xf1a5, 0xee80, 0xf1a5, -0xee80, 0xf1a5, 0xec2b, 0xef8d, 0xec2b, 0xef8d, 0xea61, 0xedfd, 0xea61, 0xedfd, 0xe87e, -0xec52, 0xe87e, 0xec52, 0xe6bd, 0xeac7, 0xe6bd, 0xeac7, 0xe4be, 0xe8f9, 0xe4be, 0xe8f9, -0xe2fa, 0xe75f, 0xe2fa, 0xe75f, 0xe2fa, 0xe75f, 0xe1fb, 0xe686, 0xe1fb, 0xe686, 0xe102, -0xe5ab, 0xe102, 0xe5ab, 0xe0ef, 0xe5af, 0xe0ef, 0xe5af, 0xe0eb, 0xe5ba, 0xe0eb, 0xe5ba, -0xe112, 0xe5e7, 0xe112, 0xe5e7, 0xe112, 0xe5e7, 0xe143, 0xe617, 0xe143, 0xe617, 0xe198, -0xe663, 0xe198, 0xe663, 0xe26d, 0xe725, 0xe26d, 0xe725, 0xe2e5, 0xe785, 0xe2e5, 0xe785, -0xe35b, 0xe7dc, 0xe35b, 0xe7dc, 0xe386, 0xe7e1, 0xe386, 0xe7e1, 0xe386, 0xe7e1, 0xe3f0, -0xe821, 0xe3f0, 0xe821, 0xe42c, 0xe82f, 0xe42c, 0xe82f, 0xe4a6, 0xe878, 0xe4a6, 0xe878, -0xe5b4, 0xe953, 0xe5b4, 0xe953, 0xe694, 0xe9ff, 0xe694, 0xe9ff, 0xe79f, 0xead7, 0xe79f, -0xead7, 0xe79f, 0xead7, 0xe833, 0xeb37, 0xe833, 0xeb37, 0xe911, 0xebe4, 0xe911, 0xebe4, -0xe9fb, 0xec9f, 0xe9fb, 0xec9f, 0xeadb, 0xed53, 0xeadb, 0xed53, 0xec28, 0xee76, 0xec28, -0xee76, 0xec28, 0xee76, 0xecec, 0xef12, 0xecec, 0xef12, 0xee2a, 0xf02c, 0xee2a, 0xf02c, -0xef66, 0xf146, 0xef66, 0xf146, 0xf020, 0xf1de, 0xf020, 0xf1de, 0xf0c3, 0xf261, 0xf0c3, -0xf261, 0xf11d, 0xf29b, 0xf11d, 0xf29b, 0xf11d, 0xf29b, 0xf151, 0xf2ae, 0xf151, 0xf2ae, -0xf0f1, 0xf22c, 0xf0f1, 0xf22c, 0xf120, 0xf236, 0xf120, 0xf236, 0xf15e, 0xf24b, 0xf15e, -0xf24b, 0xf14b, 0xf20d, 0xf14b, 0xf20d, 0xf1ce, 0xf260, 0xf1ce, 0xf260, 0xf1ce, 0xf260, -0xf291, 0xf2ed, 0xf291, 0xf2ed, 0xf3b5, 0xf3d8, 0xf3b5, 0xf3d8, 0xf514, 0xf4f7, 0xf514, -0xf4f7, 0xf704, 0xf6a3, 0xf704, 0xf6a3, 0xf8dc, 0xf833, 0xf8dc, 0xf833, 0xf8dc, 0xf833, -0xfaac, 0xf9b6, 0xfaac, 0xf9b6, 0xfd1a, 0xfbd6, 0xfd1a, 0xfbd6, 0xfffd, 0xfe68, 0xfffd, -0xfe68, 0x359, 0x173, 0x359, 0x173, 0x68a, 0x453, 0x68a, 0x453, 0x995, 0x710, -0x995, 0x710, 0x995, 0x710, 0xc67, 0x998, 0xc67, 0x998, 0xed9, 0xbc5, 0xed9, -0xbc5, 0x10b8, 0xd66, 0x10b8, 0xd66, 0x11e4, 0xe5c, 0x11e4, 0xe5c, 0x1306, 0xf51, -0x1306, 0xf51, 0x143f, 0x1067, 0x143f, 0x1067, 0x143f, 0x1067, 0x14d9, 0x10e8, 0x14d9, -0x10e8, 0x14c2, 0x10c5, 0x14c2, 0x10c5, 0x1433, 0x1036, 0x1433, 0x1036, 0x13cd, 0xfdb, -0x13cd, 0xfdb, 0x1349, 0xf6f, 0x1349, 0xf6f, 0x1349, 0xf6f, 0x12b0, 0xef7, 0x12b0, -0xef7, 0x123c, 0xeb0, 0x123c, 0xeb0, 0x10e4, 0xd8f, 0x10e4, 0xd8f, 0xf6b, 0xc54, -0xf6b, 0xc54, 0xd8d, 0xabb, 0xd8d, 0xabb, 0xbef, 0x968, 0xbef, 0x968, 0xbef, -0x968, 0xa6b, 0x832, 0xa6b, 0x832, 0x86a, 0x683, 0x86a, 0x683, 0x6d6, 0x540, -0x6d6, 0x540, 0x523, 0x3dd, 0x523, 0x3dd, 0x389, 0x291, 0x389, 0x291, 0x196, -0xe8, 0x196, 0xe8, 0x196, 0xe8, 0x2c, 0xffc3, 0x2c, 0xffc3, 0xfe69, 0xfe3f, -0xfe69, 0xfe3f, 0xfc32, 0xfc3e, 0xfc32, 0xfc3e, 0xfabf, 0xfafc, 0xfabf, 0xfafc, 0xf8d8, -0xf93d, 0xf8d8, 0xf93d, 0xf8d8, 0xf93d, 0xf79c, 0xf821, 0xf79c, 0xf821, 0xf690, 0xf72d, -0xf690, 0xf72d, 0xf570, 0xf61d, 0xf570, 0xf61d, 0xf50d, 0xf5c3, 0xf50d, 0xf5c3, 0xf4f1, -0xf5a9, 0xf4f1, 0xf5a9, 0xf4f5, 0xf5a8, 0xf4f5, 0xf5a8, 0xf4f5, 0xf5a8, 0xf521, 0xf5cb, -0xf521, 0xf5cb, 0xf609, 0xf6a5, 0xf609, 0xf6a5, 0xf6d6, 0xf761, 0xf6d6, 0xf761, 0xf7b2, -0xf828, 0xf7b2, 0xf828, 0xf89e, 0xf8fe, 0xf89e, 0xf8fe, 0xf8e3, 0xf92c, 0xf8e3, 0xf92c, -0xf8e3, 0xf92c, 0xfa21, 0xfa52, 0xfa21, 0xfa52, 0xfb48, 0xfb61, 0xfb48, 0xfb61, 0xfc01, -0xfc04, 0xfc01, 0xfc04, 0xfd28, 0xfd16, 0xfd28, 0xfd16, 0xfdec, 0xfdc5, 0xfdec, 0xfdc5, -0xfdec, 0xfdc5, 0xfeac, 0xfe72, 0xfeac, 0xfe72, 0xff64, 0xff19, 0xff64, 0xff19, 0x8d, -0x32, 0x8d, 0x32, 0x11a, 0xb1, 0x11a, 0xb1, 0x148, 0xd1, 0x148, 0xd1, -0x222, 0x19f, 0x222, 0x19f, 0x222, 0x19f, 0x2b8, 0x22a, 0x2b8, 0x22a, 0x30f, -0x276, 0x30f, 0x276, 0x340, 0x29c, 0x340, 0x29c, 0x3e8, 0x338, 0x3e8, 0x338, -0x4eb, 0x430, 0x4eb, 0x430, 0x5df, 0x51a, 0x5df, 0x51a, 0x5df, 0x51a, 0x6da, -0x60a, 0x6da, 0x60a, 0x7f4, 0x719, 0x7f4, 0x719, 0x8be, 0x7d8, 0x8be, 0x7d8, -0x990, 0x8a0, 0x990, 0x8a0, 0xac7, 0x9cd, 0xac7, 0x9cd, 0xac7, 0x9cd, 0xbf4, -0xaf2, 0xbf4, 0xaf2, 0xcc5, 0xbbd, 0xcc5, 0xbbd, 0xd8e, 0xc81, 0xd8e, 0xc81, -0xea6, 0xd97, 0xea6, 0xd97, 0xf3e, 0xe31, 0xf3e, 0xe31, 0xfb7, 0xeaf, 0xfb7, -0xeaf, 0xfb7, 0xeaf, 0xf92, 0xe93, 0xf92, 0xe93, 0xf3e, 0xe4b, 0xf3e, 0xe4b, -0xea7, 0xdc5, 0xea7, 0xdc5, 0xe14, 0xd46, 0xe14, 0xd46, 0xd95, 0xce0, 0xd95, -0xce0, 0xc02, 0xb6b, 0xc02, 0xb6b, 0xc02, 0xb6b, 0xad1, 0xa5a, 0xad1, 0xa5a, -0x953, 0x900, 0x953, 0x900, 0x818, 0x7eb, 0x818, 0x7eb, 0x757, 0x752, 0x757, -0x752, 0x64f, 0x674, 0x64f, 0x674, 0x64f, 0x674, 0x549, 0x598, 0x549, 0x598, -0x403, 0x47b, 0x403, 0x47b, 0x301, 0x3a1, 0x301, 0x3a1, 0x256, 0x31c, 0x256, -0x31c, 0x1ab, 0x293, 0x1ab, 0x293, 0x161, 0x267, 0x161, 0x267, 0x161, 0x267, -0x18a, 0x2a9, 0x18a, 0x2a9, 0x155, 0x288, 0x155, 0x288, 0x1cb, 0x30a, 0x1cb, -0x30a, 0x20c, 0x352, 0x20c, 0x352, 0x248, 0x38e, 0x248, 0x38e, 0x2cd, 0x40b, -0x2cd, 0x40b, 0x2cd, 0x40b, 0x33c, 0x46b, 0x33c, 0x46b, 0x435, 0x54e, 0x435, -0x54e, 0x4ac, 0x5a9, 0x4ac, 0x5a9, 0x59d, 0x677, 0x59d, 0x677, 0x61a, 0x6cd, -0x61a, 0x6cd, 0x61a, 0x6cd, 0x6f2, 0x778, 0x6f2, 0x778, 0x84b, 0x89f, 0x84b, -0x89f, 0x8c4, 0x8e4, 0x8c4, 0x8e4, 0x98b, 0x975, 0x98b, 0x975, 0xa4b, 0x9fd, -0xa4b, 0x9fd, 0xb73, 0xaee, 0xb73, 0xaee, 0xb73, 0xaee, 0xc21, 0xb65, 0xc21, -0xb65, 0xcf9, 0xc09, 0xcf9, 0xc09, 0xe16, 0xcf3, 0xe16, 0xcf3, 0xe64, 0xd12, -0xe64, 0xd12, 0xfce, 0xe51, 0xfce, 0xe51, 0xfce, 0xe51, 0x10d5, 0xf32, 0x10d5, -0xf32, 0x11cb, 0x1006, 0x11cb, 0x1006, 0x136a, 0x1188, 0x136a, 0x1188, 0x143e, 0x1244, -0x143e, 0x1244, 0x1589, 0x137c, 0x1589, 0x137c, 0x1623, 0x1407, 0x1623, 0x1407, 0x1623, -0x1407, 0x1697, 0x1471, 0x1697, 0x1471, 0x16d2, 0x14a5, 0x16d2, 0x14a5, 0x1642, 0x1411, -0x1642, 0x1411, 0x15d9, 0x13a6, 0x15d9, 0x13a6, 0x1572, 0x133f, 0x1572, 0x133f, 0x152a, -0x12f7, 0x152a, 0x12f7, 0x152a, 0x12f7, 0x137c, 0x114a, 0x137c, 0x114a, 0x1257, 0x1024, -0x1257, 0x1024, 0x116e, 0xf39, 0x116e, 0xf39, 0x10c8, 0xe8e, 0x10c8, 0xe8e, 0x10b2, -0xe71, 0x10b2, 0xe71, 0x10b2, 0xe71, 0xfa6, 0xd5b, 0xfa6, 0xd5b, 0xf17, 0xcc0, -0xf17, 0xcc0, 0xea3, 0xc3b, 0xea3, 0xc3b, 0xea6, 0xc2c, 0xea6, 0xc2c, 0xebe, -0xc2d, 0xebe, 0xc2d, 0xeea, 0xc42, 0xeea, 0xc42, 0xeea, 0xc42, 0xf4a, 0xc88, -0xf4a, 0xc88, 0xf9b, 0xcbf, 0xf9b, 0xcbf, 0xfe7, 0xcf0, 0xfe7, 0xcf0, 0x10ce, -0xdbe, 0x10ce, 0xdbe, 0x1136, 0xe0e, 0x1136, 0xe0e, 0x10ec, 0xdb0, 0x10ec, 0xdb0, -0x10ec, 0xdb0, 0x1151, 0xe05, 0x1151, 0xe05, 0x112c, 0xdd6, 0x112c, 0xdd6, 0x11db, -0xe7f, 0x11db, 0xe7f, 0x119c, 0xe44, 0x119c, 0xe44, 0x1130, 0xde1, 0x1130, 0xde1, -0x1130, 0xde1, 0x1088, 0xd4c, 0x1088, 0xd4c, 0xecc, 0xbab, 0xecc, 0xbab, 0xe6d, -0xb70, 0xe6d, 0xb70, 0xd99, 0xac9, 0xd99, 0xac9, 0xc83, 0x9e8, 0xc83, 0x9e8, -0xb21, 0x8c3, 0xb21, 0x8c3, 0xb21, 0x8c3, 0x991, 0x776, 0x991, 0x776, 0x84e, -0x67e, 0x84e, 0x67e, 0x6d9, 0x558, 0x6d9, 0x558, 0x571, 0x443, 0x571, 0x443, -0x41e, 0x345, 0x41e, 0x345, 0x287, 0x204, 0x287, 0x204, 0x287, 0x204, 0x177, -0x14b, 0x177, 0x14b, 0x21, 0x48, 0x21, 0x48, 0xfedc, 0xff53, 0xfedc, 0xff53, -0xfdee, 0xfeb1, 0xfdee, 0xfeb1, 0xfb9a, 0xfca2, 0xfb9a, 0xfca2, 0xfb9a, 0xfca2, 0xf96b, -0xfab1, 0xf96b, 0xfab1, 0xf777, 0xf8f4, 0xf777, 0xf8f4, 0xf5cb, 0xf775, 0xf5cb, 0xf775, -0xf33a, 0xf507, 0xf33a, 0xf507, 0xf33a, 0xf521, 0xf33a, 0xf521, 0xf381, 0xf577, 0xf381, -0xf577, 0xf381, 0xf577, 0xf163, 0xf35f, 0xf163, 0xf35f, 0xf171, 0xf36a, 0xf171, 0xf36a, -0xf073, 0xf262, 0xf073, 0xf262, 0xf0a5, 0xf281, 0xf0a5, 0xf281, 0xf114, 0xf2d6, 0xf114, -0xf2d6, 0xf13c, 0xf2de, 0xf13c, 0xf2de, 0xf13c, 0xf2de, 0xf3a6, 0xf523, 0xf3a6, 0xf523, -0xf468, 0xf5be, 0xf468, 0xf5be, 0xf519, 0xf644, 0xf519, 0xf644, 0xf735, 0xf835, 0xf735, -0xf835, 0xf8af, 0xf984, 0xf8af, 0xf984, 0xf8af, 0xf984, 0xfa8b, 0xfb36, 0xfa8b, 0xfb36, -0xfc94, 0xfd16, 0xfc94, 0xfd16, 0xfe38, 0xfe94, 0xfe38, 0xfe94, 0xff7e, 0xffb7, 0xff7e, -0xffb7, 0xa1, 0xba, 0xa1, 0xba, 0x1b2, 0x1b0, 0x1b2, 0x1b0, 0x1b2, 0x1b0, -0x1b6, 0x19c, 0x1b6, 0x19c, 0x3ac, 0x37e, 0x3ac, 0x37e, 0x39e, 0x360, 0x39e, -0x360, 0x43a, 0x3ef, 0x43a, 0x3ef, 0x463, 0x40d, 0x463, 0x40d, 0x294, 0x237, -0x294, 0x237, 0x294, 0x237, 0x3af, 0x34c, 0x3af, 0x34c, 0x2d7, 0x26f, 0x2d7, -0x26f, 0x3ca, 0x35f, 0x3ca, 0x35f, 0x108, 0x9a, 0x108, 0x9a, 0x145, 0xd6, -0x145, 0xd6, 0x145, 0xd6, 0x398, 0x328, 0x398, 0x328, 0x63, 0xfff2, 0x63, -0xfff2, 0x2e3, 0x272, 0x2e3, 0x272, 0x38d, 0x31c, 0x38d, 0x31c, 0x272, 0x204, -0x272, 0x204, 0x475, 0x40b, 0x475, 0x40b, 0x475, 0x40b, 0x597, 0x533, 0x597, -0x533, 0x41e, 0x3c4, 0x41e, 0x3c4, 0x4de, 0x493, 0x4de, 0x493, 0x4d8, 0x49f, -0x4d8, 0x49f, 0x428, 0x407, 0x428, 0x407, 0x47c, 0x479, 0x47c, 0x479, 0x47c, -0x479, 0x3de, 0x3ff, 0x3de, 0x3ff, 0x409, 0x456, 0x409, 0x456, 0x2ec, 0x36b, -0x2ec, 0x36b, 0x479, 0x532, 0x479, 0x532, 0xfed0, 0xffc9, 0xfed0, 0xffc9, 0xfed0, -0xffc9, 0xfd43, 0xfe83, 0xfd43, 0xfe83, 0xffec, 0x178, 0xffec, 0x178, 0xfa68, 0xfc46, -0xfa68, 0xfc46, 0xf720, 0xf953, 0xf720, 0xf953, 0xf55a, 0xf7e5, 0xf55a, 0xf7e5, 0xf4ea, -0xf7ce, 0xf4ea, 0xf7ce, 0xf4ea, 0xf7ce, 0xef79, 0xf2b7, 0xef79, 0xf2b7, 0xed32, 0xf0c9, -0xed32, 0xf0c9, 0xe9b8, 0xeda3, 0xe9b8, 0xeda3, 0xe3d9, 0xe815, 0xe3d9, 0xe815, 0xe40b, -0xe891, 0xe40b, 0xe891, 0xe0ef, 0xe5b8, 0xe0ef, 0xe5b8, 0xe0ef, 0xe5b8, 0xdf5b, 0xe45e, -0xdf5b, 0xe45e, 0xdf03, 0xe436, 0xdf03, 0xe436, 0xdc90, 0xe1e9, 0xdc90, 0xe1e9, 0xd9cd, -0xdf43, 0xd9cd, 0xdf43, 0xdb2a, 0xe0b0, 0xdb2a, 0xe0b0, 0xdb2a, 0xe0b0, 0xd9a9, 0xdf34, -0xd9a9, 0xdf34, 0xd823, 0xdda9, 0xd823, 0xdda9, 0xdb38, 0xe0ae, 0xdb38, 0xe0ae, 0xdc02, -0xe160, 0xdc02, 0xe160, 0xdd8b, 0xe2c7, 0xdd8b, 0xe2c7, 0xdcc8, 0xe1db, 0xdcc8, 0xe1db, -0xdcc8, 0xe1db, 0xdd69, 0xe24e, 0xdd69, 0xe24e, 0xdf05, 0xe3b6, 0xdf05, 0xe3b6, 0xde5e, -0xe2d8, 0xde5e, 0xe2d8, 0xdf13, 0xe355, 0xdf13, 0xe355, 0xe0c8, 0xe4d1, 0xe0c8, 0xe4d1, -0xe1a1, 0xe572, 0xe1a1, 0xe572, 0xe1a1, 0xe572, 0xe200, 0xe59a, 0xe200, 0xe59a, 0xe352, -0xe6b9, 0xe352, 0xe6b9, 0xe464, 0xe79b, 0xe464, 0xe79b, 0xe665, 0xe970, 0xe665, 0xe970, -0xe972, 0xec55, 0xe972, 0xec55, 0xe972, 0xec55, 0xeb1b, 0xeddb, 0xeb1b, 0xeddb, 0xecc2, -0xef63, 0xecc2, 0xef63, 0xeebe, 0xf144, 0xeebe, 0xf144, 0xf020, 0xf28d, 0xf020, 0xf28d, -0xf083, 0xf2da, 0xf083, 0xf2da, 0xf04d, 0xf28e, 0xf04d, 0xf28e, 0xf04d, 0xf28e, 0xf33f, -0xf56b, 0xf33f, 0xf56b, 0xf301, 0xf517, 0xf301, 0xf517, 0xf4ba, 0xf6b7, 0xf4ba, 0xf6b7, -0xf66e, 0xf84f, 0xf66e, 0xf84f, 0xf274, 0xf435, 0xf274, 0xf435, 0xf274, 0xf435, 0xf5b7, -0xf752, 0xf5b7, 0xf752, 0xf821, 0xf990, 0xf821, 0xf990, 0xf813, 0xf950, 0xf813, 0xf950, -0xf9a6, 0xfaa9, 0xf9a6, 0xfaa9, 0xfb23, 0xfbe6, 0xfb23, 0xfbe6, 0xfd2a, 0xfda7, 0xfd2a, -0xfda7, 0xfd2a, 0xfda7, 0x14, 0x43, 0x14, 0x43, 0x2cb, 0x2a8, 0x2cb, 0x2a8, -0x519, 0x49e, 0x519, 0x49e, 0x864, 0x78f, 0x864, 0x78f, 0xaf1, 0x9c0, 0xaf1, -0x9c0, 0xf5c, 0xdcf, 0xf5c, 0xdcf, 0xf5c, 0xdcf, 0x10e9, 0xf02, 0x10e9, 0xf02, -0x140b, 0x11cd, 0x140b, 0x11cd, 0x160e, 0x137e, 0x160e, 0x137e, 0x1793, 0x14b7, 0x1793, -0x14b7, 0x1b1e, 0x1800, 0x1b1e, 0x1800, 0x1b1e, 0x1800, 0x18d4, 0x157d, 0x18d4, 0x157d, -0x1ac6, 0x1740, 0x1ac6, 0x1740, 0x1a80, 0x16d9, 0x1a80, 0x16d9, 0x19ab, 0x15f0, 0x19ab, -0x15f0, 0x1948, 0x1587, 0x1948, 0x1587, 0x154d, 0x1194, 0x154d, 0x1194, 0x154d, 0x1194, -0x1751, 0x13ad, 0x1751, 0x13ad, 0x15b5, 0x1234, 0x15b5, 0x1234, 0x11e4, 0xe93, 0x11e4, -0xe93, 0x10c4, 0xdae, 0x10c4, 0xdae, 0xdd2, 0xb03, 0xdd2, 0xb03, 0xc88, 0xa08, -0xc88, 0xa08, 0xc88, 0xa08, 0xad8, 0x8af, 0xad8, 0x8af, 0x76d, 0x5a0, 0x76d, -0x5a0, 0x7f0, 0x684, 0x7f0, 0x684, 0x72a, 0x61f, 0x72a, 0x61f, 0x507, 0x45e, -0x507, 0x45e, 0x507, 0x45e, 0x499, 0x44f, 0x499, 0x44f, 0x1d1, 0x1e3, 0x1d1, -0x1e3, 0xa3, 0x10b, 0xa3, 0x10b, 0xfd41, 0xfdf8, 0xfd41, 0xfdf8, 0xfc04, 0xfd01, -0xfc04, 0xfd01, 0xfb41, 0xfc7b, 0xfb41, 0xfc7b, 0xfb41, 0xfc7b, 0xf7c7, 0xf935, 0xf7c7, -0xf935, 0xf9fa, 0xfb91, 0xf9fa, 0xfb91, 0xf8ec, 0xfaa0, 0xf8ec, 0xfaa0, 0xf7ca, 0xf991, -0xf7ca, 0xf991, 0xf898, 0xfa68, 0xf898, 0xfa68, 0xf7dc, 0xf9aa, 0xf7dc, 0xf9aa, 0xf7dc, -0xf9aa, 0xf8e5, 0xfaa9, 0xf8e5, 0xfaa9, 0xfa9d, 0xfc4e, 0xfa9d, 0xfc4e, 0xf9b0, 0xfb47, -0xf9b0, 0xfb47, 0xf7de, 0xf954, 0xf7de, 0xf954, 0xf975, 0xfac6, 0xf975, 0xfac6, 0xf975, -0xfac6, 0xf9af, 0xfad6, 0xf9af, 0xfad6, 0xfa1f, 0xfb19, 0xfa1f, 0xfb19, 0xfb30, 0xfbfc, -0xfb30, 0xfbfc, 0xfd38, 0xfdd4, 0xfd38, 0xfdd4, 0xfd72, 0xfddf, 0xfd72, 0xfddf, 0xfe33, -0xfe72, 0xfe33, 0xfe72, 0xfe33, 0xfe72, 0x9e, 0xaf, 0x9e, 0xaf, 0xfee2, 0xfec8, -0xfee2, 0xfec8, 0xd0, 0x8e, 0xd0, 0x8e, 0x28c, 0x223, 0x28c, 0x223, 0x260, -0x1d2, 0x260, 0x1d2, 0x327, 0x277, 0x327, 0x277, 0x327, 0x277, 0x36e, 0x29f, -0x36e, 0x29f, 0x4fc, 0x40f, 0x4fc, 0x40f, 0x565, 0x45d, 0x565, 0x45d, 0x32e, -0x20c, 0x32e, 0x20c, 0x45f, 0x324, 0x45f, 0x324, 0x45f, 0x324, 0x5bc, 0x468, -0x5bc, 0x468, 0x520, 0x3b6, 0x520, 0x3b6, 0x629, 0x4a9, 0x629, 0x4a9, 0x412, -0x27c, 0x412, 0x27c, 0x49e, 0x2f4, 0x49e, 0x2f4, 0x3ea, 0x22d, 0x3ea, 0x22d, -0x3ea, 0x22d, 0x49b, 0x2cc, 0x49b, 0x2cc, 0x4d6, 0x2f8, 0x4d6, 0x2f8, 0x38d, -0x1a2, 0x38d, 0x1a2, 0x758, 0x563, 0x758, 0x563, 0x5a0, 0x3a4, 0x5a0, 0x3a4, -0x880, 0x681, 0x880, 0x681, 0x880, 0x681, 0xaca, 0x8cd, 0xaca, 0x8cd, 0x837, -0x642, 0x837, 0x642, 0x9ff, 0x817, 0x9ff, 0x817, 0xaa2, 0x8cd, 0xaa2, 0x8cd, -0x9a2, 0x7e6, 0x9a2, 0x7e6, 0x9a2, 0x7e6, 0x839, 0x69c, 0x839, 0x69c, 0x855, -0x6df, 0x855, 0x6df, 0x8df, 0x794, 0x8df, 0x794, 0x684, 0x56a, 0x684, 0x56a, -0x5de, 0x4fa, 0x5de, 0x4fa, 0x5d0, 0x527, 0x5d0, 0x527, 0x5d0, 0x527, 0x1e2, -0x176, 0x1e2, 0x176, 0x2ac, 0x27e, 0x2ac, 0x27e, 0xff15, 0xff27, 0xff15, 0xff27, -0xfcc2, 0xfd14, 0xfcc2, 0xfd14, 0xff03, 0xff92, 0xff03, 0xff92, 0xfa95, 0xfb5e, 0xfa95, -0xfb5e, 0xfa95, 0xfb5e, 0xfc02, 0xfd00, 0xfc02, 0xfd00, 0xfc70, 0xfd9e, 0xfc70, 0xfd9e, -0xfb95, 0xfceb, 0xfb95, 0xfceb, 0xfcad, 0xfe24, 0xfcad, 0xfe24, 0xfca1, 0xfe2f, 0xfca1, -0xfe2f, 0xfca1, 0xfe2f, 0xfd1e, 0xfebb, 0xfd1e, 0xfebb, 0xfcf5, 0xfe95, 0xfcf5, 0xfe95, -0xfe1f, 0xffb9, 0xfe1f, 0xffb9, 0xfc18, 0xfda2, 0xfc18, 0xfda2, 0xfc3c, 0xfdab, 0xfc3c, -0xfdab, 0xfef1, 0x3e, 0xfef1, 0x3e, 0xfef1, 0x3e, 0xfe30, 0xff51, 0xfe30, 0xff51, -0xff9e, 0x8c, 0xff9e, 0x8c, 0x212, 0x2c7, 0x212, 0x2c7, 0xe7, 0x15e, 0xe7, -0x15e, 0x2ed, 0x322, 0x2ed, 0x322, 0x5d3, 0x5c5, 0x5d3, 0x5c5, 0x5d3, 0x5c5, -0x58d, 0x53c, 0x58d, 0x53c, 0x748, 0x6b4, 0x748, 0x6b4, 0x912, 0x83e, 0x912, -0x83e, 0xa69, 0x958, 0xa69, 0x958, 0xa94, 0x94b, 0xa94, 0x94b, 0xa94, 0x94b, -0xd0a, 0xb8e, 0xd0a, 0xb8e, 0x1054, 0xead, 0x1054, 0xead, 0x1091, 0xec4, 0x1091, -0xec4, 0x132a, 0x1140, 0x132a, 0x1140, 0x144c, 0x124b, 0x144c, 0x124b, 0x14dc, 0x12cb, -0x14dc, 0x12cb, 0x14dc, 0x12cb, 0x1667, 0x144c, 0x1667, 0x144c, 0x16a5, 0x1487, 0x16a5, -0x1487, 0x1707, 0x14e9, 0x1707, 0x14e9, 0x166a, 0x1451, 0x166a, 0x1451, 0x15bc, 0x13aa, -0x15bc, 0x13aa, 0x14c6, 0x12bd, 0x14c6, 0x12bd, 0x14c6, 0x12bd, 0x1367, 0x1167, 0x1367, -0x1167, 0x12cd, 0x10d4, 0x12cd, 0x10d4, 0x145b, 0x1269, 0x145b, 0x1269, 0x1238, 0x1049, -0x1238, 0x1049, 0x12f3, 0x1103, 0x12f3, 0x1103, 0x12f3, 0x1103, 0x14fa, 0x1304, 0x14fa, -0x1304, 0x103e, 0xe3f, 0x103e, 0xe3f, 0x1297, 0x1089, 0x1297, 0x1089, 0x1258, 0x1037, -0x1258, 0x1037, 0x10b7, 0xe7d, 0x10b7, 0xe7d, 0x11b6, 0xf5f, 0x11b6, 0xf5f, 0x11b6, -0xf5f, 0x10bb, 0xe45, 0x10bb, 0xe45, 0x122e, 0xf97, 0x122e, 0xf97, 0x1103, 0xe49, -0x1103, 0xe49, 0x12da, 0xffe, 0x12da, 0xffe, 0x13e3, 0x10e7, 0x13e3, 0x10e7, 0x13e3, -0x10e7, 0x13aa, 0x1090, 0x13aa, 0x1090, 0x14fa, 0x11c7, 0x14fa, 0x11c7, 0x13b9, 0x1073, -0x13b9, 0x1073, 0x12a8, 0xf56, 0x12a8, 0xf56, 0x126f, 0xf1a, 0x126f, 0xf1a, 0x1215, -0xec4, 0x1215, 0xec4, 0x1215, 0xec4, 0x11ce, 0xe8e, 0x11ce, 0xe8e, 0x10ca, 0xda4, -0x10ca, 0xda4, 0xfdd, 0xcdc, 0xfdd, 0xcdc, 0xfa4, 0xcd3, 0xfa4, 0xcd3, 0xd47, -0xab0, 0xd47, 0xab0, 0xb9f, 0x94c, 0xb9f, 0x94c, 0xb9f, 0x94c, 0xa19, 0x813, -0xa19, 0x813, 0x822, 0x671, 0x822, 0x671, 0x4ec, 0x396, 0x4ec, 0x396, 0x315, -0x220, 0x315, 0x220, 0x140, 0xae, 0x140, 0xae, 0x140, 0xae, 0xfed4, 0xfea7, -0xfed4, 0xfea7, 0xff21, 0xff5a, 0xff21, 0xff5a, 0xfd98, 0xfe34, 0xfd98, 0xfe34, 0xfb51, -0xfc4c, 0xfb51, 0xfc4c, 0xfae6, 0xfc3c, 0xfae6, 0xfc3c, 0xf954, 0xfafd, 0xf954, 0xfafd, -0xf954, 0xfafd, 0xf4d8, 0xf6cc, 0xf4d8, 0xf6cc, 0xf5f1, 0xf828, 0xf5f1, 0xf828, 0xf48e, -0xf6fd, 0xf48e, 0xf6fd, 0xf286, 0xf524, 0xf286, 0xf524, 0xf12b, 0xf3ec, 0xf12b, 0xf3ec, -0xeffe, 0xf2d7, 0xeffe, 0xf2d7, 0xeffe, 0xf2d7, 0xf23f, 0xf525, 0xf23f, 0xf525, 0xee8e, -0xf176, 0xee8e, 0xf176, 0xf024, 0xf305, 0xf024, 0xf305, 0xf05c, 0xf32d, 0xf05c, 0xf32d, -0xf03a, 0xf2f3, 0xf03a, 0xf2f3, 0xf03a, 0xf2f3, 0xf078, 0xf312, 0xf078, 0xf312, 0xf045, -0xf2ba, 0xf045, 0xf2ba, 0xf1ea, 0xf436, 0xf1ea, 0xf436, 0xf0e1, 0xf2ff, 0xf0e1, 0xf2ff, -0xf389, 0xf579, 0xf389, 0xf579, 0xf47b, 0xf63a, 0xf47b, 0xf63a, 0xf47b, 0xf63a, 0xf702, -0xf890, 0xf702, 0xf890, 0xfa49, 0xfba7, 0xfa49, 0xfba7, 0xfa5a, 0xfb8a, 0xfa5a, 0xfb8a, -0xfa2b, 0xfb2f, 0xfa2b, 0xfb2f, 0x3b, 0x116, 0x3b, 0x116, 0x52, 0x107, 0x52, -0x107, 0x52, 0x107, 0xff91, 0x22, 0xff91, 0x22, 0x25e, 0x2cf, 0x25e, 0x2cf, -0x205, 0x258, 0x205, 0x258, 0x4a2, 0x4db, 0x4a2, 0x4db, 0x1be, 0x1df, 0x1be, -0x1df, 0x1be, 0x1df, 0x402, 0x40d, 0x402, 0x40d, 0xef, 0xe5, 0xef, 0xe5, -0x55, 0x39, 0x55, 0x39, 0x390, 0x363, 0x390, 0x363, 0xff4c, 0xff0f, 0xff4c, -0xff0f, 0x16b, 0x11e, 0x16b, 0x11e, 0x16b, 0x11e, 0xd2, 0x76, 0xd2, 0x76, -0xfe77, 0xfe0d, 0xfe77, 0xfe0d, 0xff1b, 0xfea4, 0xff1b, 0xfea4, 0xff9d, 0xff1a, 0xff9d, -0xff1a, 0xfcec, 0xfc5e, 0xfcec, 0xfc5e, 0xff7b, 0xfee4, 0xff7b, 0xfee4, 0xff7b, 0xfee4, -0x6d, 0xffcf, 0x6d, 0xffcf, 0x8e, 0xffed, 0x8e, 0xffed, 0x1b2, 0x110, 0x1b2, -0x110, 0x220, 0x181, 0x220, 0x181, 0x3ed, 0x355, 0x3ed, 0x355, 0x3ed, 0x355, -0x430, 0x3a4, 0x430, 0x3a4, 0x6b7, 0x63c, 0x6b7, 0x63c, 0x27a, 0x216, 0x27a, -0x216, 0x476, 0x42e, 0x476, 0x42e, 0x33e, 0x318, 0x33e, 0x318, 0xda, 0xdb, -0xda, 0xdb, 0xda, 0xdb, 0x2ca, 0x2f7, 0x2ca, 0x2f7, 0xffbf, 0x1d, 0xffbf, -0x1d, 0xff89, 0x1d, 0xff89, 0x1d, 0xfc61, 0xfd2d, 0xfc61, 0xfd2d, 0xfbeb, 0xfcf2, -0xfbeb, 0xfcf2, 0xf7ee, 0xf932, 0xf7ee, 0xf932, 0xf7ee, 0xf932, 0xf691, 0xf812, 0xf691, -0xf812, 0xf679, 0xf837, 0xf679, 0xf837, 0xf0f5, 0xf2ef, 0xf0f5, 0xf2ef, 0xf031, 0xf264, -0xf031, 0xf264, 0xefab, 0xf214, 0xefab, 0xf214, 0xefab, 0xf214, 0xece4, 0xef7e, 0xece4, -0xef7e, 0xe9d2, 0xec98, 0xe9d2, 0xec98, 0xe806, 0xeaf4, 0xe806, 0xeaf4, 0xe61b, 0xe92a, -0xe61b, 0xe92a, 0xe58f, 0xe8b7, 0xe58f, 0xe8b7, 0xe48b, 0xe7c7, 0xe48b, 0xe7c7, 0xe48b, -0xe7c7, 0xe30b, 0xe654, 0xe30b, 0xe654, 0xe275, 0xe5c6, 0xe275, 0xe5c6, 0xe0ab, 0xe3fc, -0xe0ab, 0xe3fc, 0xde3b, 0xe188, 0xde3b, 0xe188, 0xdf00, 0xe244, 0xdf00, 0xe244, 0xde92, -0xe1ca, 0xde92, 0xe1ca, 0xde92, 0xe1ca, 0xdeb6, 0xe1df, 0xdeb6, 0xe1df, 0xdef2, 0xe20a, -0xdef2, 0xe20a, 0xdd5c, 0xe061, 0xdd5c, 0xe061, 0xe024, 0xe316, 0xe024, 0xe316, 0xe004, -0xe2e5, 0xe004, 0xe2e5, 0xe004, 0xe2e5, 0xdf8b, 0xe25b, 0xdf8b, 0xe25b, 0xdf6d, 0xe22e, -0xdf6d, 0xe22e, 0xe0ce, 0xe382, 0xe0ce, 0xe382, 0xe284, 0xe530, 0xe284, 0xe530, 0xe1df, -0xe484, 0xe1df, 0xe484, 0xe439, 0xe6da, 0xe439, 0xe6da, 0xe439, 0xe6da, 0xe596, 0xe835, -0xe596, 0xe835, 0xe528, 0xe7c7, 0xe528, 0xe7c7, 0xe7c6, 0xea67, 0xe7c6, 0xea67, 0xe95f, -0xec02, 0xe95f, 0xec02, 0xea4d, 0xecf3, 0xea4d, 0xecf3, 0xebae, 0xee54, 0xebae, 0xee54, -0xebae, 0xee54, 0xe9a0, 0xec45, 0xe9a0, 0xec45, 0xec8a, 0xef2b, 0xec8a, 0xef2b, 0xeaf5, -0xed8c, 0xeaf5, 0xed8c, 0xea4a, 0xecd2, 0xea4a, 0xecd2, 0xec97, 0xef0a, 0xec97, 0xef0a, -0xec97, 0xef0a, 0xec90, 0xeee7, 0xec90, 0xeee7, 0xefc9, 0xf1fc, 0xefc9, 0xf1fc, 0xef82, -0xf189, 0xef82, 0xf189, 0xf1bd, 0xf390, 0xf1bd, 0xf390, 0xf32b, 0xf4c1, 0xf32b, 0xf4c1, -0xf6a6, 0xf7f9, 0xf6a6, 0xf7f9, 0xf6a6, 0xf7f9, 0xf7ea, 0xf8f1, 0xf7ea, 0xf8f1, 0xf8a2, -0xf956, 0xf8a2, 0xf956, 0xfc6a, 0xfcc6, 0xfc6a, 0xfcc6, 0xfee1, 0xfee0, 0xfee1, 0xfee0, -0x35b, 0x2f9, 0x35b, 0x2f9, 0x774, 0x6af, 0x774, 0x6af, 0x774, 0x6af, 0xc2e, -0xb07, 0xc2e, 0xb07, 0xdd7, 0xc4e, 0xdd7, 0xc4e, 0x132f, 0x1147, 0x132f, 0x1147, -0x157d, 0x133b, 0x157d, 0x133b, 0x1878, 0x15e1, 0x1878, 0x15e1, 0x1878, 0x15e1, 0x1cd9, -0x19f5, 0x1cd9, 0x19f5, 0x1d80, 0x1a59, 0x1d80, 0x1a59, 0x1fd4, 0x1c73, 0x1fd4, 0x1c73, -0x1e66, 0x1ad5, 0x1e66, 0x1ad5, 0x2045, 0x1c91, 0x2045, 0x1c91, 0x2097, 0x1ccb, 0x2097, -0x1ccb, 0x2097, 0x1ccb, 0x1fa2, 0x1bcb, 0x1fa2, 0x1bcb, 0x1ef0, 0x1b1a, 0x1ef0, 0x1b1a, -0x1ca8, 0x18e0, 0x1ca8, 0x18e0, 0x1ba1, 0x17f2, 0x1ba1, 0x17f2, 0x1b95, 0x180a, 0x1b95, -0x180a, 0x1b95, 0x180a, 0x1b00, 0x17a2, 0x1b00, 0x17a2, 0x167a, 0x1354, 0x167a, 0x1354, -0x13ca, 0x10e2, 0x13ca, 0x10e2, 0x1309, 0x1067, 0x1309, 0x1067, 0x1061, 0xe08, 0x1061, -0xe08, 0xe47, 0xc3c, 0xe47, 0xc3c, 0xe47, 0xc3c, 0xc6d, 0xab2, 0xc6d, 0xab2, -0x7d7, 0x66c, 0x7d7, 0x66c, 0x5d8, 0x4bc, 0x5d8, 0x4bc, 0x7aa, 0x6db, 0x7aa, -0x6db, 0x5dc, 0x558, 0x5dc, 0x558, 0x133, 0xf5, 0x133, 0xf5, 0x133, 0xf5, -0x6, 0x8, 0x6, 0x8, 0xfd34, 0xfd71, 0xfd34, 0xfd71, 0xfbba, 0xfc2b, 0xfbba, -0xfc2b, 0xfa45, 0xfae3, 0xfa45, 0xfae3, 0xf850, 0xf913, 0xf850, 0xf913, 0xf850, 0xf913, -0xf8f4, 0xf9d5, 0xf8f4, 0xf9d5, 0xf6f6, 0xf7ef, 0xf6f6, 0xf7ef, 0xf8b7, 0xf9bf, 0xf8b7, -0xf9bf, 0xf62b, 0xf73c, 0xf62b, 0xf73c, 0xf6cf, 0xf7e3, 0xf6cf, 0xf7e3, 0xf738, 0xf847, -0xf738, 0xf847, 0xf738, 0xf847, 0xf530, 0xf635, 0xf530, 0xf635, 0xf77f, 0xf876, 0xf77f, -0xf876, 0xf53b, 0xf61f, 0xf53b, 0xf61f, 0xf7c8, 0xf895, 0xf7c8, 0xf895, 0xf795, 0xf848, -0xf795, 0xf848, 0xf6dd, 0xf773, 0xf6dd, 0xf773, 0xf6dd, 0xf773, 0xf9fe, 0xfa75, 0xf9fe, -0xfa75, 0xfb63, 0xfbb9, 0xfb63, 0xfbb9, 0xfa65, 0xfa98, 0xfa65, 0xfa98, 0xfb6d, 0xfb7e, -0xfb6d, 0xfb7e, 0xfcd4, 0xfcc1, 0xfcd4, 0xfcc1, 0xfcd4, 0xfcc1, 0xfb53, 0xfb1c, 0xfb53, -0xfb1c, 0xfc0c, 0xfbb1, 0xfc0c, 0xfbb1, 0xfae4, 0xfa66, 0xfae4, 0xfa66, 0xfbbb, 0xfb1a, -0xfbbb, 0xfb1a, 0xfca6, 0xfbe4, 0xfca6, 0xfbe4, 0xfdfe, 0xfd1c, 0xfdfe, 0xfd1c, 0xfdfe, -0xfd1c, 0xfee1, 0xfddf, 0xfee1, 0xfddf, 0xfea2, 0xfd84, 0xfea2, 0xfd84, 0x8d, 0xff53, -0x8d, 0xff53, 0x1bd, 0x6a, 0x1bd, 0x6a, 0x1f7, 0x8d, 0x1f7, 0x8d, 0x46b, -0x2ed, 0x46b, 0x2ed, 0x46b, 0x2ed, 0x461, 0x2d3, 0x461, 0x2d3, 0x3ee, 0x251, -0x3ee, 0x251, 0x6f7, 0x550, 0x6f7, 0x550, 0x79f, 0x5f1, 0x79f, 0x5f1, 0xa76, -0x8c6, 0xa76, 0x8c6, 0xa76, 0x8c6, 0x8eb, 0x73b, 0x8eb, 0x73b, 0xaa4, 0x8fa, -0xaa4, 0x8fa, 0xbf4, 0xa52, 0xbf4, 0xa52, 0xc6c, 0xad9, 0xc6c, 0xad9, 0xee7, -0xd65, 0xee7, 0xd65, 0xd45, 0xbd9, 0xd45, 0xbd9, 0xd45, 0xbd9, 0xe82, 0xd2e, -0xe82, 0xd2e, 0xaf2, 0x9bc, 0xaf2, 0x9bc, 0xb76, 0xa60, 0xb76, 0xa60, 0x9cf, -0x8db, 0x9cf, 0x8db, 0x946, 0x876, 0x946, 0x876, 0x843, 0x798, 0x843, 0x798, -0x843, 0x798, 0x360, 0x2dd, 0x360, 0x2dd, 0x519, 0x4bc, 0x519, 0x4bc, 0x54b, -0x514, 0x54b, 0x514, 0x4df, 0x4ce, 0x4df, 0x4ce, 0x23f, 0x252, 0x23f, 0x252, -0x23f, 0x252, 0x1a7, 0x1da, 0x1a7, 0x1da, 0xff20, 0xff71, 0xff20, 0xff71, 0xff71, -0xffdc, 0xff71, 0xffdc, 0xff14, 0xff96, 0xff14, 0xff96, 0xfcfb, 0xfd8e, 0xfcfb, 0xfd8e, -0xfd31, 0xfdd1, 0xfd31, 0xfdd1, 0xfd31, 0xfdd1, 0xfb85, 0xfc2c, 0xfb85, 0xfc2c, 0xfd02, -0xfdac, 0xfd02, 0xfdac, 0xfced, 0xfd93, 0xfced, 0xfd93, 0xfcba, 0xfd59, 0xfcba, 0xfd59, -0xf98f, 0xfa21, 0xf98f, 0xfa21, 0xfaf3, 0xfb73, 0xfaf3, 0xfb73, 0xfaf3, 0xfb73, 0xfb98, -0xfc02, 0xfb98, 0xfc02, 0xfa27, 0xfa78, 0xfa27, 0xfa78, 0xfce1, 0xfd15, 0xfce1, 0xfd15, -0xfc06, 0xfc1b, 0xfc06, 0xfc1b, 0xfd88, 0xfd7c, 0xfd88, 0xfd7c, 0xfd88, 0xfd7c, 0xff24, -0xfef5, 0xff24, 0xfef5, 0x53, 0, 0x53, 0, 0x118, 0xa1, 0x118, 0xa1, -0x1f6, 0x15b, 0x1f6, 0x15b, 0x3aa, 0x2ed, 0x3aa, 0x2ed, 0x3cf, 0x2f0, 0x3cf, -0x2f0, 0x3cf, 0x2f0, 0x617, 0x518, 0x617, 0x518, 0x7c0, 0x6a3, 0x7c0, 0x6a3, -0x76d, 0x635, 0x76d, 0x635, 0xa23, 0x8d0, 0xa23, 0x8d0, 0xc45, 0xadb, 0xc45, -0xadb, 0xe66, 0xce6, 0xe66, 0xce6, 0xe66, 0xce6, 0x1096, 0xf04, 0x1096, 0xf04, -0x12c1, 0x111c, 0x12c1, 0x111c, 0x13c4, 0x1210, 0x13c4, 0x1210, 0x132e, 0x116b, 0x132e, -0x116b, 0x14d3, 0x1302, 0x14d3, 0x1302, 0x14d3, 0x1302, 0x1410, 0x1231, 0x1410, 0x1231, -0x1576, 0x138a, 0x1576, 0x138a, 0x1484, 0x128b, 0x1484, 0x128b, 0x1565, 0x135e, 0x1565, -0x135e, 0x1762, 0x154c, 0x1762, 0x154c, 0x15d2, 0x13ac, 0x15d2, 0x13ac, 0x15d2, 0x13ac, -0x15fc, 0x13c7, 0x15fc, 0x13c7, 0x14b4, 0x126d, 0x14b4, 0x126d, 0x15bd, 0x1364, 0x15bd, -0x1364, 0x1597, 0x132a, 0x1597, 0x132a, 0x15d3, 0x1353, 0x15d3, 0x1353, 0x1466, 0x11d2, -0x1466, 0x11d2, 0x1466, 0x11d2, 0x1365, 0x10bd, 0x1365, 0x10bd, 0x11a2, 0xee8, 0x11a2, -0xee8, 0x113f, 0xe73, 0x113f, 0xe73, 0x1309, 0x102d, 0x1309, 0x102d, 0x1160, 0xe78, -0x1160, 0xe78, 0x1160, 0xe78, 0x11a7, 0xeb6, 0x11a7, 0xeb6, 0x121c, 0xf26, 0x121c, -0xf26, 0x15d7, 0x12e0, 0x15d7, 0x12e0, 0x1517, 0x1226, 0x1517, 0x1226, 0x1315, 0x102f, -0x1315, 0x102f, 0x1141, 0xe6c, 0x1141, 0xe6c, 0x1141, 0xe6c, 0xf87, 0xcca, 0xf87, -0xcca, 0x10d2, 0xe34, 0x10d2, 0xe34, 0xf9a, 0xd22, 0xf9a, 0xd22, 0xe4c, 0xc02, -0xe4c, 0xc02, 0xc34, 0xa1d, 0xc34, 0xa1d, 0xbf7, 0xa1b, 0xbf7, 0xa1b, 0xbf7, -0xa1b, 0xa6c, 0x8d1, 0xa6c, 0x8d1, 0xa4b, 0x8f6, 0xa4b, 0x8f6, 0x837, 0x72e, -0x837, 0x72e, 0x387, 0x2ce, 0x387, 0x2ce, 0x333, 0x2cc, 0x333, 0x2cc, 0x333, -0x2cc, 0x2cf, 0x2bc, 0x2cf, 0x2bc, 0x185, 0x1c7, 0x185, 0x1c7, 0x95, 0x12c, -0x95, 0x12c, 0xfc81, 0xfd6b, 0xfc81, 0xfd6b, 0xfa02, 0xfb3d, 0xfa02, 0xfb3d, 0xfbf7, -0xfd7e, 0xfbf7, 0xfd7e, 0xfbf7, 0xfd7e, 0xf8c5, 0xfa94, 0xf8c5, 0xfa94, 0xf702, 0xf913, -0xf702, 0xf913, 0xf712, 0xf95d, 0xf712, 0xf95d, 0xf426, 0xf6a4, 0xf426, 0xf6a4, 0xf2c5, -0xf56f, 0xf2c5, 0xf56f, 0xf2c5, 0xf56f, 0xf2d5, 0xf5a0, 0xf2d5, 0xf5a0, 0xf0af, 0xf392, -0xf0af, 0xf392, 0xeef3, 0xf1e5, 0xeef3, 0xf1e5, 0xef2b, 0xf222, 0xef2b, 0xf222, 0xefc8, -0xf2ba, 0xefc8, 0xf2ba, 0xf100, 0xf3e4, 0xf100, 0xf3e4, 0xf100, 0xf3e4, 0xf184, 0xf452, -0xf184, 0xf452, 0xf199, 0xf448, 0xf199, 0xf448, 0xefdf, 0xf266, 0xefdf, 0xf266, 0xf299, -0xf4f3, 0xf299, 0xf4f3, 0xf413, 0xf63b, 0xf413, 0xf63b, 0xf3aa, 0xf59a, 0xf3aa, 0xf59a, -0xf3aa, 0xf59a, 0xf5c1, 0xf774, 0xf5c1, 0xf774, 0xf696, 0xf80b, 0xf696, 0xf80b, 0xf93a, -0xfa6e, 0xf93a, 0xfa6e, 0xfc27, 0xfd1b, 0xfc27, 0xfd1b, 0xfcd5, 0xfd88, 0xfcd5, 0xfd88, -0xfcd5, 0xfd88, 0xfe73, 0xfee8, 0xfe73, 0xfee8, 0xac, 0xe5, 0xac, 0xe5, 0x105, -0x104, 0x105, 0x104, 0x3d1, 0x39b, 0x3d1, 0x39b, 0x2c7, 0x262, 0x2c7, 0x262, -0x208, 0x178, 0x208, 0x178, 0x208, 0x178, 0x1d5, 0x120, 0x1d5, 0x120, 0x105, -0x31, 0x105, 0x31, 0x1a1, 0xb5, 0x1a1, 0xb5, 0xe7, 0xffea, 0xe7, 0xffea, -0x4b, 0xff44, 0x4b, 0xff44, 0xfc9a, 0xfb8f, 0xfc9a, 0xfb8f, 0xfc9a, 0xfb8f, 0xfedc, -0xfdd4, 0xfedc, 0xfdd4, 0xfef4, 0xfdf6, 0xfef4, 0xfdf6, 0xfe20, 0xfd31, 0xfe20, 0xfd31, -0xae, 0xffd4, 0xae, 0xffd4, 0xff47, 0xfe88, 0xff47, 0xfe88, 0xff47, 0xfe88, 0xff38, -0xfe99, 0xff38, 0xfe99, 0x200, 0x184, 0x200, 0x184, 0x34d, 0x2f9, 0x34d, 0x2f9, -0x297, 0x26d, 0x297, 0x26d, 0x373, 0x376, 0x373, 0x376, 0x43c, 0x46e, 0x43c, -0x46e, 0x43c, 0x46e, 0x5f1, 0x654, 0x5f1, 0x654, 0x65a, 0x6ef, 0x65a, 0x6ef, -0x63d, 0x703, 0x63d, 0x703, 0x264, 0x35b, 0x264, 0x35b, 0x1d2, 0x2f9, 0x1d2, -0x2f9, 0x205, 0x35b, 0x205, 0x35b, 0x205, 0x35b, 0xff36, 0xb8, 0xff36, 0xb8, -0xfdf6, 0xffa2, 0xfdf6, 0xffa2, 0xf967, 0xfb3a, 0xf967, 0xfb3a, 0xf7ce, 0xf9c4, 0xf7ce, -0xf9c4, 0xf86b, 0xfa81, 0xf86b, 0xfa81, 0xf86b, 0xfa81, 0xf936, 0xfb67, 0xf936, 0xfb67, -0xf500, 0xf748, 0xf500, 0xf748, 0xf543, 0xf79d, 0xf543, 0xf79d, 0xf2e4, 0xf54c, 0xf2e4, -0xf54c, 0xeefc, 0xf16b, 0xeefc, 0xf16b, 0xef7c, 0xf1ef, 0xef7c, 0xf1ef, 0xef7c, 0xf1ef, -0xe83c, 0xeaae, 0xe83c, 0xeaae, 0xe63a, 0xe8a7, 0xe63a, 0xe8a7, 0xe65b, 0xe8be, 0xe65b, -0xe8be, 0xe4cf, 0xe724, 0xe4cf, 0xe724, 0xe233, 0xe477, 0xe233, 0xe477, 0xe37b, 0xe5a9, -0xe37b, 0xe5a9, 0xe37b, 0xe5a9, 0xe247, 0xe45e, 0xe247, 0xe45e, 0xdf63, 0xe160, 0xdf63, -0xe160, 0xe0c8, 0xe2aa, 0xe0c8, 0xe2aa, 0xde93, 0xe05a, 0xde93, 0xe05a, 0xde8e, 0xe039, -0xde8e, 0xe039, 0xde8e, 0xe039, 0xdf50, 0xe0df, 0xdf50, 0xe0df, 0xe01f, 0xe194, 0xe01f, -0xe194, 0xe2b9, 0xe416, 0xe2b9, 0xe416, 0xe528, 0xe66e, 0xe528, 0xe66e, 0xe496, 0xe5c9, -0xe496, 0xe5c9, 0xe619, 0xe73c, 0xe619, 0xe73c, 0xe619, 0xe73c, 0xe674, 0xe78b, 0xe674, -0xe78b, 0xe5bf, 0xe6cd, 0xe5bf, 0xe6cd, 0xe6f3, 0xe7fc, 0xe6f3, 0xe7fc, 0xe818, 0xe921, -0xe818, 0xe921, 0xe7a6, 0xe8b2, 0xe7a6, 0xe8b2, 0xe860, 0xe974, 0xe860, 0xe974, 0xe860, -0xe974, 0xe9b2, 0xead1, 0xe9b2, 0xead1, 0xe93b, 0xea68, 0xe93b, 0xea68, 0xecf9, 0xee36, -0xecf9, 0xee36, 0xeb0a, 0xec5a, 0xeb0a, 0xec5a, 0xebfb, 0xed5e, 0xebfb, 0xed5e, 0xebfb, -0xed5e, 0xeee7, 0xf05f, 0xeee7, 0xf05f, 0xf124, 0xf2b0, 0xf124, 0xf2b0, 0xf19d, 0xf33c, -0xf19d, 0xf33c, 0xf1bd, 0xf36e, 0xf1bd, 0xf36e, 0xf435, 0xf5f4, 0xf435, 0xf5f4, 0xf210, -0xf3db, 0xf210, 0xf3db, 0xf210, 0xf3db, 0xf511, 0xf6e4, 0xf511, 0xf6e4, 0xf370, 0xf546, -0xf370, 0xf546, 0xf3e8, 0xf5be, 0xf3e8, 0xf5be, 0xf68f, 0xf85f, 0xf68f, 0xf85f, 0xf65d, -0xf821, 0xf65d, 0xf821, 0xf7a7, 0xf95a, 0xf7a7, 0xf95a, 0xf7a7, 0xf95a, 0xfb48, 0xfce5, -0xfb48, 0xfce5, 0xfc4d, 0xfdcd, 0xfc4d, 0xfdcd, 0xfc13, 0xfd72, 0xfc13, 0xfd72, 0x156, -0x28e, 0x156, 0x28e, 0x101, 0x20f, 0x101, 0x20f, 0x101, 0x20f, 0x4af, 0x58e, -0x4af, 0x58e, 0x80a, 0x8b7, 0x80a, 0x8b7, 0xa66, 0xade, 0xa66, 0xade, 0xdda, -0xe1c, 0xdda, 0xe1c, 0x11d5, 0x11df, 0x11d5, 0x11df, 0x15a2, 0x1574, 0x15a2, 0x1574, -0x15a2, 0x1574, 0x175f, 0x16fa, 0x175f, 0x16fa, 0x1ac2, 0x1a26, 0x1ac2, 0x1a26, 0x194e, -0x187e, 0x194e, 0x187e, 0x18f3, 0x17f1, 0x18f3, 0x17f1, 0x1a9a, 0x196a, 0x1a9a, 0x196a, -0x1943, 0x17e9, 0x1943, 0x17e9, 0x1943, 0x17e9, 0x174a, 0x15ca, 0x174a, 0x15ca, 0x1974, -0x17d4, 0x1974, 0x17d4, 0x16d6, 0x151b, 0x16d6, 0x151b, 0x1708, 0x1538, 0x1708, 0x1538, -0x16f4, 0x1516, 0x16f4, 0x1516, 0x16f4, 0x1516, 0x13e8, 0x1202, 0x13e8, 0x1202, 0x1462, -0x127b, 0x1462, 0x127b, 0x1309, 0x1126, 0x1309, 0x1126, 0x12bc, 0x10e4, 0x12bc, 0x10e4, -0x101b, 0xe54, 0x101b, 0xe54, 0x11a0, 0xff0, 0x11a0, 0xff0, 0x11a0, 0xff0, 0xe6c, -0xcd8, 0xe6c, 0xcd8, 0xde6, 0xc73, 0xde6, 0xc73, 0xdaa, 0xc5c, 0xdaa, 0xc5c, -0x98f, 0x869, 0x98f, 0x869, 0xa9b, 0x9a0, 0xa9b, 0x9a0, 0x79b, 0x6ce, 0x79b, -0x6ce, 0x79b, 0x6ce, 0x540, 0x4a2, 0x540, 0x4a2, 0x39e, 0x330, 0x39e, 0x330, -0x195, 0x157, 0x195, 0x157, 0xff27, 0xff18, 0xff27, 0xff18, 0xfed9, 0xfef6, 0xfed9, -0xfef6, 0xfed9, 0xfef6, 0xfb8b, 0xfbd4, 0xfb8b, 0xfbd4, 0xf9c3, 0xfa34, 0xf9c3, 0xfa34, -0xf9c7, 0xfa5e, 0xf9c7, 0xfa5e, 0xf9ac, 0xfa64, 0xf9ac, 0xfa64, 0xf7fa, 0xf8cf, 0xf7fa, -0xf8cf, 0xf756, 0xf844, 0xf756, 0xf844, 0xf756, 0xf844, 0xf8bb, 0xf9bd, 0xf8bb, 0xf9bd, -0xf56d, 0xf67e, 0xf56d, 0xf67e, 0xf815, 0xf931, 0xf815, 0xf931, 0xf601, 0xf723, 0xf601, -0xf723, 0xf334, 0xf457, 0xf334, 0xf457, 0xf334, 0xf457, 0xf3db, 0xf4fc, 0xf3db, 0xf4fc, -0xf39f, 0xf4b9, 0xf39f, 0xf4b9, 0xf2e2, 0xf3f2, 0xf2e2, 0xf3f2, 0xf488, 0xf58b, 0xf488, -0xf58b, 0xf48c, 0xf57f, 0xf48c, 0xf57f, 0xf390, 0xf471, 0xf390, 0xf471, 0xf390, 0xf471, -0xf6d3, 0xf7a1, 0xf6d3, 0xf7a1, 0xf4b1, 0xf569, 0xf4b1, 0xf569, 0xf557, 0xf5f9, 0xf557, -0xf5f9, 0xf496, 0xf522, 0xf496, 0xf522, 0xf50e, 0xf584, 0xf50e, 0xf584, 0xf5d7, 0xf637, -0xf5d7, 0xf637, 0xf5d7, 0xf637, 0xf856, 0xf8a0, 0xf856, 0xf8a0, 0xf859, 0xf88e, 0xf859, -0xf88e, 0xf89a, 0xf8bb, 0xf89a, 0xf8bb, 0xfd69, 0xfd76, 0xfd69, 0xfd76, 0xfbf1, 0xfbec, -0xfbf1, 0xfbec, 0xfbf1, 0xfbec, 0xfebd, 0xfea6, 0xfebd, 0xfea6, 0xff28, 0xff01, 0xff28, -0xff01, 0x23, 0xffed, 0x23, 0xffed, 0xb7, 0x72, 0xb7, 0x72, 0x2cb, 0x278, -0x2cb, 0x278, 0x3a7, 0x346, 0x3a7, 0x346, 0x3a7, 0x346, 0x3a7, 0x33a, 0x3a7, -0x33a, 0x7f0, 0x776, 0x7f0, 0x776, 0x830, 0x7ab, 0x830, 0x7ab, 0x9ac, 0x91b, -0x9ac, 0x91b, 0xcd8, 0xc3c, 0xcd8, 0xc3c, 0xe41, 0xd9b, 0xe41, 0xd9b, 0xe41, -0xd9b, 0xce4, 0xc34, 0xce4, 0xc34, 0x102b, 0xf71, 0x102b, 0xf71, 0xf2b, 0xe69, -0xf2b, 0xe69, 0xdf5, 0xd2b, 0xdf5, 0xd2b, 0xca5, 0xbd3, 0xca5, 0xbd3, 0xca5, -0xbd3, 0xa10, 0x937, 0xa10, 0x937, 0xb1c, 0xa3d, 0xb1c, 0xa3d, 0xa3b, 0x957, -0xa3b, 0x957, 0x8ce, 0x7e6, 0x8ce, 0x7e6, 0x77e, 0x693, 0x77e, 0x693, 0x7fd, -0x710, 0x7fd, 0x710, 0x7fd, 0x710, 0x539, 0x44b, 0x539, 0x44b, 0x6ae, 0x5bf, -0x6ae, 0x5bf, 0x4e3, 0x3f4, 0x4e3, 0x3f4, 0x2aa, 0x1bb, 0x2aa, 0x1bb, 0x23d, -0x14f, 0x23d, 0x14f, 0xffba, 0xfece, 0xffba, 0xfece, 0xffba, 0xfece, 0xff84, 0xfe99, -0xff84, 0xfe99, 0x52, 0xff68, 0x52, 0xff68, 0xffe4, 0xfefb, 0xffe4, 0xfefb, 0xfd39, -0xfc50, 0xfd39, 0xfc50, 0xba, 0xffd1, 0xba, 0xffd1, 0xba, 0xffd1, 0, 0xff16, -0, 0xff16, 0x68, 0xff7c, 0x68, 0xff7c, 0xa6, 0xffb8, 0xa6, 0xffb8, 0xffee, -0xfefc, 0xffee, 0xfefc, 0xff2a, 0xfe35, 0xff2a, 0xfe35, 0xfff8, 0xfefe, 0xfff8, 0xfefe, -0xfff8, 0xfefe, 0x21a, 0x11b, 0x21a, 0x11b, 0xba, 0xffb6, 0xba, 0xffb6, 0x32c, -0x222, 0x32c, 0x222, 0x15f, 0x50, 0x15f, 0x50, 0x376, 0x262, 0x376, 0x262, -0x594, 0x47b, 0x594, 0x47b, 0x594, 0x47b, 0x615, 0x4f9, 0x615, 0x4f9, 0x6ae, -0x590, 0x6ae, 0x590, 0x893, 0x773, 0x893, 0x773, 0x929, 0x808, 0x929, 0x808, -0xa05, 0x8e4, 0xa05, 0x8e4, 0xa05, 0x8e4, 0xd1f, 0xc00, 0xd1f, 0xc00, 0xb84, -0xa67, 0xb84, 0xa67, 0xffc, 0xee3, 0xffc, 0xee3, 0x1189, 0x1072, 0x1189, 0x1072, -0x11e0, 0x10cd, 0x11e0, 0x10cd, 0x12a0, 0x118f, 0x12a0, 0x118f, 0x12a0, 0x118f, 0x131c, -0x120c, 0x131c, 0x120c, 0x1146, 0x1036, 0x1146, 0x1036, 0x1183, 0x1071, 0x1183, 0x1071, -0x122b, 0x1113, 0x122b, 0x1113, 0xdbb, 0xc9a, 0xdbb, 0xc9a, 0xf45, 0xe18, 0xf45, -0xe18, 0xf45, 0xe18, 0x10b6, 0xf78, 0x10b6, 0xf78, 0x1133, 0xfe0, 0x1133, 0xfe0, -0x10e2, 0xf75, 0x10e2, 0xf75, 0x11fd, 0x1071, 0x11fd, 0x1071, 0x10a3, 0xef4, 0x10a3, -0xef4, 0x10a3, 0xef4, 0x1112, 0xf3b, 0x1112, 0xf3b, 0x113a, 0xf38, 0x113a, 0xf38, -0x1074, 0xe42, 0x1074, 0xe42, 0xff6, 0xd92, 0xff6, 0xd92, 0xed8, 0xc41, 0xed8, -0xc41, 0x117c, 0xeb0, 0x117c, 0xeb0, 0x117c, 0xeb0, 0x1200, 0xf00, 0x1200, 0xf00, -0x1464, 0x1132, 0x1464, 0x1132, 0x1396, 0x1033, 0x1396, 0x1033, 0x13c2, 0x1034, 0x13c2, -0x1034, 0x128b, 0xed6, 0x128b, 0xed6, 0x1301, 0xf2e, 0x1301, 0xf2e, 0x1301, 0xf2e, -0x137c, 0xf91, 0x137c, 0xf91, 0x109a, 0xca0, 0x109a, 0xca0, 0xfdf, 0xbe0, 0xfdf, -0xbe0, 0xeb6, 0xabe, 0xeb6, 0xabe, 0xf23, 0xb3b, 0xf23, 0xb3b, 0xf23, 0xb3b, -0xca4, 0x8d8, 0xca4, 0x8d8, 0xca5, 0x901, 0xca5, 0x901, 0x95a, 0x5e8, 0x95a, -0x5e8, 0x6d3, 0x39f, 0x6d3, 0x39f, 0x863, 0x578, 0x863, 0x578, 0x7fc, 0x562, -0x7fc, 0x562, 0x7fc, 0x562, 0x4f7, 0x2b7, 0x4f7, 0x2b7, 0x3d7, 0x1f8, 0x3d7, -0x1f8, 0xaf, 0xff36, 0xaf, 0xff36, 0xfc74, 0xfb66, 0xfc74, 0xfb66, 0xfd5f, 0xfcbd, -0xfd5f, 0xfcbd, 0xf95a, 0xf927, 0xf95a, 0xf927, 0xf95a, 0xf927, 0xf859, 0xf893, 0xf859, -0xf893, 0xf5c7, 0xf66a, 0xf5c7, 0xf66a, 0xf511, 0xf61a, 0xf511, 0xf61a, 0xf55f, 0xf6c9, -0xf55f, 0xf6c9, 0xf387, 0xf549, 0xf387, 0xf549, 0xf387, 0xf549, 0xf336, 0xf54a, 0xf336, -0xf54a, 0xf1c0, 0xf41d, 0xf1c0, 0xf41d, 0xf14b, 0xf3e6, 0xf14b, 0xf3e6, 0xef67, 0xf236, -0xef67, 0xf236, 0xef4c, 0xf244, 0xef4c, 0xf244, 0xed9b, 0xf0b1, 0xed9b, 0xf0b1, 0xed9b, -0xf0b1, 0xec9e, 0xefc8, 0xec9e, 0xefc8, 0xed4a, 0xf07d, 0xed4a, 0xf07d, 0xeef7, 0xf22a, -0xeef7, 0xf22a, 0xee37, 0xf15f, 0xee37, 0xf15f, 0xf045, 0xf35a, 0xf045, 0xf35a, 0xf12d, -0xf428, 0xf12d, 0xf428, 0xf12d, 0xf428, 0xf10b, 0xf3e5, 0xf10b, 0xf3e5, 0xf4a3, 0xf755, -0xf4a3, 0xf755, 0xf4fd, 0xf783, 0xf4fd, 0xf783, 0xf65f, 0xf8b5, 0xf65f, 0xf8b5, 0xf77c, -0xf99f, 0xf77c, 0xf99f, 0xf77c, 0xf99f, 0xfcc4, 0xfeb2, 0xfcc4, 0xfeb2, 0xfe3c, 0xfff3, -0xfe3c, 0xfff3, 0x8d, 0x20c, 0x8d, 0x20c, 0x377, 0x4bf, 0x377, 0x4bf, 0x309, -0x41a, 0x309, 0x41a, 0x5a0, 0x67a, 0x5a0, 0x67a, 0x5a0, 0x67a, 0x801, 0x8a5, -0x801, 0x8a5, 0x8e2, 0x953, 0x8e2, 0x953, 0x74f, 0x78e, 0x74f, 0x78e, 0x6f2, -0x701, 0x6f2, 0x701, 0x6f5, 0x6d5, 0x6f5, 0x6d5, 0x6f5, 0x6d5, 0x92c, 0x8e0, -0x92c, 0x8e0, 0x749, 0x6d3, 0x749, 0x6d3, 0x813, 0x776, 0x813, 0x776, 0x79f, -0x6dd, 0x79f, 0x6dd, 0x678, 0x594, 0x678, 0x594, 0x8c7, 0x7c5, 0x8c7, 0x7c5, -0x8c7, 0x7c5, 0x7f6, 0x6da, 0x7f6, 0x6da, 0x8d6, 0x7a2, 0x8d6, 0x7a2, 0x848, -0x702, 0x848, 0x702, 0x90c, 0x7b9, 0x90c, 0x7b9, 0x880, 0x724, 0x880, 0x724, -0xab2, 0x955, 0xab2, 0x955, 0xab2, 0x955, 0xac9, 0x970, 0xac9, 0x970, 0x962, -0x814, 0x962, 0x814, 0x914, 0x7d9, 0x914, 0x7d9, 0x9be, 0x89d, 0x9be, 0x89d, -0x984, 0x885, 0x984, 0x885, 0x984, 0x885, 0x59c, 0x4c6, 0x59c, 0x4c6, 0x45b, -0x3b6, 0x45b, 0x3b6, 0xfffc, 0xff8f, 0xfffc, 0xff8f, 0xfdb8, 0xfd8b, 0xfdb8, 0xfd8b, -0xfb3e, 0xfb56, 0xfb3e, 0xfb56, 0xf9b8, 0xfa1b, 0xf9b8, 0xfa1b, 0xf9b8, 0xfa1b, 0xf7c7, -0xf879, 0xf7c7, 0xf879, 0xf581, 0xf688, 0xf581, 0xf688, 0xf451, 0xf5ad, 0xf451, 0xf5ad, -0xf285, 0xf438, 0xf285, 0xf438, 0xefee, 0xf1f8, 0xefee, 0xf1f8, 0xebc6, 0xee25, 0xebc6, -0xee25, 0xebc6, 0xee25, 0xe881, 0xeb33, 0xe881, 0xeb33, 0xe3c2, 0xe6c3, 0xe3c2, 0xe6c3, -0xe1e3, 0xe52d, 0xe1e3, 0xe52d, 0xde15, 0xe1a2, 0xde15, 0xe1a2, 0xdccc, 0xe094, 0xdccc, -0xe094, 0xdccc, 0xe094, 0xdb40, 0xdf3b, 0xdb40, 0xdf3b, 0xda9b, 0xdec0, 0xda9b, 0xdec0, -0xda18, 0xde5d, 0xda18, 0xde5d, 0xd8ca, 0xdd27, 0xd8ca, 0xdd27, 0xdabe, 0xdf28, 0xdabe, -0xdf28, 0xd962, 0xddd0, 0xd962, 0xddd0, 0xd962, 0xddd0, 0xd9cd, 0xde36, 0xd9cd, 0xde36, -0xda61, 0xdebd, 0xda61, 0xdebd, 0xdbe7, 0xe02e, 0xdbe7, 0xe02e, 0xdbc9, 0xdff5, 0xdbc9, -0xdff5, 0xddc1, 0xe1cd, 0xddc1, 0xe1cd, 0xde62, 0xe248, 0xde62, 0xe248, 0xde62, 0xe248, -0xdd68, 0xe127, 0xdd68, 0xe127, 0xde0a, 0xe19f, 0xde0a, 0xe19f, 0xdfe8, 0xe353, 0xdfe8, -0xe353, 0xe187, 0xe4c8, 0xe187, 0xe4c8, 0xe1f7, 0xe50f, 0xe1f7, 0xe50f, 0xe1f7, 0xe50f, -0xe617, 0xe90a, 0xe617, 0xe90a, 0xe62f, 0xe900, 0xe62f, 0xe900, 0xe83e, 0xeaf0, 0xe83e, -0xeaf0, 0xe88c, 0xeb23, 0xe88c, 0xeb23, 0xeae6, 0xed67, 0xeae6, 0xed67, 0xedb9, 0xf027, -0xedb9, 0xf027, 0xedb9, 0xf027, 0xee61, 0xf0c1, 0xee61, 0xf0c1, 0xf0b6, 0xf30b, 0xf0b6, -0xf30b, 0xf098, 0xf2e4, 0xf098, 0xf2e4, 0xf371, 0xf5b7, 0xf371, 0xf5b7, 0xf5e2, 0xf823, -0xf5e2, 0xf823, 0xf6c8, 0xf903, 0xf6c8, 0xf903, 0xf6c8, 0xf903, 0xf709, 0xf93e, 0xf709, -0xf93e, 0xf920, 0xfb4e, 0xf920, 0xfb4e, 0xf89e, 0xfac0, 0xf89e, 0xfac0, 0xf9f0, 0xfc04, -0xf9f0, 0xfc04, 0xfaf3, 0xfcf4, 0xfaf3, 0xfcf4, 0xfaf3, 0xfcf4, 0xfc5b, 0xfe44, 0xfc5b, -0xfe44, 0xfd4c, 0xff16, 0xfd4c, 0xff16, 0xfd18, 0xfebf, 0xfd18, 0xfebf, 0x12a, 0x2a7, -0x12a, 0x2a7, 0x16d, 0x2bb, 0x16d, 0x2bb, 0x3ec, 0x505, 0x3ec, 0x505, 0x3ec, -0x505, 0x5ab, 0x68b, 0x5ab, 0x68b, 0x808, 0x8a9, 0x808, 0x8a9, 0xa2e, 0xa8f, -0xa2e, 0xa8f, 0xc93, 0xcb2, 0xc93, 0xcb2, 0x102e, 0x1009, 0x102e, 0x1009, 0x142a, -0x13c1, 0x142a, 0x13c1, 0x142a, 0x13c1, 0x16b2, 0x1608, 0x16b2, 0x1608, 0x18aa, 0x17c2, -0x18aa, 0x17c2, 0x1be0, 0x1abd, 0x1be0, 0x1abd, 0x1b07, 0x19af, 0x1b07, 0x19af, 0x1cf0, -0x1b69, 0x1cf0, 0x1b69, 0x1cf0, 0x1b69, 0x1b77, 0x19c8, 0x1b77, 0x19c8, 0x1aff, 0x1931, -0x1aff, 0x1931, 0x19bf, 0x17d9, 0x19bf, 0x17d9, 0x18e2, 0x16ee, 0x18e2, 0x16ee, 0x17e5, -0x15ea, 0x17e5, 0x15ea, 0x1580, 0x1388, 0x1580, 0x1388, 0x1580, 0x1388, 0x1679, 0x148b, -0x1679, 0x148b, 0x14b6, 0x12da, 0x14b6, 0x12da, 0x14b5, 0x12f1, 0x14b5, 0x12f1, 0x1371, -0x11cc, 0x1371, 0x11cc, 0x12d8, 0x1155, 0x12d8, 0x1155, 0x1106, 0xfa9, 0x1106, 0xfa9, -0x1106, 0xfa9, 0xfa8, 0xe73, 0xfa8, 0xe73, 0xcc8, 0xbbb, 0xcc8, 0xbbb, 0xa73, -0x98f, 0xa73, 0x98f, 0x9b5, 0x8f7, 0x9b5, 0x8f7, 0x884, 0x7ea, 0x884, 0x7ea, -0x884, 0x7ea, 0x75a, 0x6df, 0x75a, 0x6df, 0x4d4, 0x474, 0x4d4, 0x474, 0x4fa, -0x4b0, 0x4fa, 0x4b0, 0x22e, 0x1f4, 0x22e, 0x1f4, 0x20c, 0x1dd, 0x20c, 0x1dd, -0xffa9, 0xff7d, 0xffa9, 0xff7d, 0xffa9, 0xff7d, 0xfddd, 0xfdaf, 0xfddd, 0xfdaf, 0xfc0b, -0xfbd6, 0xfc0b, 0xfbd6, 0xfa0c, 0xf9ca, 0xfa0c, 0xf9ca, 0xfbad, 0xfb59, 0xfbad, 0xfb59, -0xfb53, 0xfae9, 0xfb53, 0xfae9, 0xfb42, 0xfac0, 0xfb42, 0xfac0, 0xfb42, 0xfac0, 0xf990, -0xf8f4, 0xf990, 0xf8f4, 0xf8a4, 0xf7ec, 0xf8a4, 0xf7ec, 0xf737, 0xf663, 0xf737, 0xf663, -0xf828, 0xf739, 0xf828, 0xf739, 0xf670, 0xf568, 0xf670, 0xf568, 0xf670, 0xf568, 0xf5e2, -0xf4c2, 0xf5e2, 0xf4c2, 0xf595, 0xf461, 0xf595, 0xf461, 0xf4eb, 0xf3a6, 0xf4eb, 0xf3a6, -0xf740, 0xf5ee, 0xf740, 0xf5ee, 0xf7a8, 0xf64c, 0xf7a8, 0xf64c, 0xf716, 0xf5b5, 0xf716, -0xf5b5, 0xf716, 0xf5b5, 0xf3c3, 0xf260, 0xf3c3, 0xf260, 0xf514, 0xf3b3, 0xf514, 0xf3b3, -0xf60d, 0xf4b2, 0xf60d, 0xf4b2, 0xf6e4, 0xf590, 0xf6e4, 0xf590, 0xf74c, 0xf603, 0xf74c, -0xf603, 0xf6d3, 0xf596, 0xf6d3, 0xf596, 0xf6d3, 0xf596, 0xf775, 0xf645, 0xf775, 0xf645, -0xf91e, 0xf7fa, 0xf91e, 0xf7fa, 0xf9c3, 0xf8ad, 0xf9c3, 0xf8ad, 0xf94d, 0xf843, 0xf94d, -0xf843, 0xfad4, 0xf9d5, 0xfad4, 0xf9d5, 0xfad4, 0xf9d5, 0xf9c9, 0xf8d4, 0xf9c9, 0xf8d4, -0xfbf7, 0xfb09, 0xfbf7, 0xfb09, 0xfc45, 0xfb5d, 0xfc45, 0xfb5d, 0xfcae, 0xfbc9, 0xfcae, -0xfbc9, 0xfe9c, 0xfdb9, 0xfe9c, 0xfdb9, 0x46, 0xff64, 0x46, 0xff64, 0x46, 0xff64, -0xbd, 0xffd9, 0xbd, 0xffd9, 0xde, 0xfffa, 0xde, 0xfffa, 0x235, 0x14f, 0x235, -0x14f, 0x2d0, 0x1e9, 0x2d0, 0x1e9, 0x59f, 0x4b8, 0x59f, 0x4b8, 0x59f, 0x4b8, -0x63d, 0x558, 0x63d, 0x558, 0x739, 0x658, 0x739, 0x658, 0x74f, 0x675, 0x74f, -0x675, 0x946, 0x875, 0x946, 0x875, 0x9b0, 0x8ed, 0x9b0, 0x8ed, 0x985, 0x8d3, -0x985, 0x8d3, 0x985, 0x8d3, 0x903, 0x866, 0x903, 0x866, 0x6cd, 0x648, 0x6cd, -0x648, 0x6a8, 0x63f, 0x6a8, 0x63f, 0x5be, 0x574, 0x5be, 0x574, 0x636, 0x60c, -0x636, 0x60c, 0x43b, 0x433, 0x43b, 0x433, 0x43b, 0x433, 0x48a, 0x4a5, 0x48a, -0x4a5, 0x3d1, 0x40e, 0x3d1, 0x40e, 0x303, 0x361, 0x303, 0x361, 0x329, 0x3a4, -0x329, 0x3a4, 0x2d6, 0x36c, 0x2d6, 0x36c, 0x2d6, 0x36c, 0x2e5, 0x391, 0x2e5, -0x391, 0x78, 0x133, 0x78, 0x133, 0xffab, 0x71, 0xffab, 0x71, 0xdc, 0x1a4, -0xdc, 0x1a4, 0x20a, 0x2cc, 0x20a, 0x2cc, 0x1fd, 0x2b1, 0x1fd, 0x2b1, 0x1fd, -0x2b1, 0x440, 0x4df, 0x440, 0x4df, 0x411, 0x492, 0x411, 0x492, 0x571, 0x5cc, -0x571, 0x5cc, 0x617, 0x644, 0x617, 0x644, 0x5e2, 0x5dc, 0x5e2, 0x5dc, 0x767, -0x727, 0x767, 0x727, 0x767, 0x727, 0x6d4, 0x656, 0x6d4, 0x656, 0x714, 0x654, -0x714, 0x654, 0x63e, 0x53a, 0x63e, 0x53a, 0x786, 0x63e, 0x786, 0x63e, 0x6cd, -0x542, 0x6cd, 0x542, 0x6cd, 0x542, 0x5c6, 0x3fa, 0x5c6, 0x3fa, 0x754, 0x54b, -0x754, 0x54b, 0xa21, 0x7df, 0xa21, 0x7df, 0xbdb, 0x967, 0xbdb, 0x967, 0xe1f, -0xb80, 0xe1f, 0xb80, 0xe0a, 0xb48, 0xe0a, 0xb48, 0xe0a, 0xb48, 0xe09, 0xb2d, -0xe09, 0xb2d, 0x1183, 0xe95, 0x1183, 0xe95, 0x1105, 0xe0e, 0x1105, 0xe0e, 0x1374, -0x107e, 0x1374, 0x107e, 0x1435, 0x1148, 0x1435, 0x1148, 0x13a3, 0x10c6, 0x13a3, 0x10c6, -0x13a3, 0x10c6, 0x14fd, 0x1237, 0x14fd, 0x1237, 0x1661, 0x13b8, 0x1661, 0x13b8, 0x1494, -0x120d, 0x1494, 0x120d, 0x12c4, 0x1062, 0x12c4, 0x1062, 0x12ba, 0x107f, 0x12ba, 0x107f, -0x12ba, 0x107f, 0x1009, 0xdf6, 0x1009, 0xdf6, 0xfe6, 0xdfb, 0xfe6, 0xdfb, 0xf7d, -0xdb7, 0xf7d, 0xdb7, 0xfd6, 0xe33, 0xfd6, 0xe33, 0x1053, 0xecf, 0x1053, 0xecf, -0xfc1, 0xe56, 0xfc1, 0xe56, 0xfc1, 0xe56, 0xd78, 0xc22, 0xd78, 0xc22, 0xd5a, -0xc14, 0xd5a, 0xc14, 0xca3, 0xb65, 0xca3, 0xb65, 0xb93, 0xa59, 0xb93, 0xa59, -0xc7d, 0xb41, 0xc7d, 0xb41, 0xafa, 0x9b7, 0xafa, 0x9b7, 0xafa, 0x9b7, 0xbdc, -0xa8f, 0xbdc, 0xa8f, 0xc40, 0xae6, 0xc40, 0xae6, 0xda1, 0xc37, 0xda1, 0xc37, -0xdd7, 0xc5e, 0xdd7, 0xc5e, 0xdfa, 0xc70, 0xdfa, 0xc70, 0xdfa, 0xc70, 0xded, -0xc55, 0xded, 0xc55, 0xcdb, 0xb39, 0xcdb, 0xb39, 0xd83, 0xbda, 0xd83, 0xbda, -0xd28, 0xb7e, 0xd28, 0xb7e, 0xd06, 0xb61, 0xd06, 0xb61, 0xe03, 0xc6a, 0xe03, -0xc6a, 0xe03, 0xc6a, 0xcae, 0xb27, 0xcae, 0xb27, 0xa0a, 0x89d, 0xa0a, 0x89d, -0xb55, 0xa0a, 0xb55, 0xa0a, 0x9a8, 0x886, 0x9a8, 0x886, 0x8e9, 0x7f6, 0x8e9, -0x7f6, 0x76f, 0x6b0, 0x76f, 0x6b0, 0x76f, 0x6b0, 0x5be, 0x539, 0x5be, 0x539, -0x6e2, 0x69b, 0x6e2, 0x69b, 0x4d4, 0x4cd, 0x4d4, 0x4cd, 0x301, 0x33a, 0x301, -0x33a, 0x103, 0x17d, 0x103, 0x17d, 0x103, 0x17d, 0xff17, 0xffcf, 0xff17, 0xffcf, -0xfc4a, 0xfd3d, 0xfc4a, 0xfd3d, 0xfa3a, 0xfb65, 0xfa3a, 0xfb65, 0xf8cf, 0xfa29, 0xf8cf, -0xfa29, 0xf736, 0xf8ba, 0xf736, 0xf8ba, 0xf501, 0xf6a7, 0xf501, 0xf6a7, 0xf501, 0xf6a7, -0xf588, 0xf746, 0xf588, 0xf746, 0xf580, 0xf74e, 0xf580, 0xf74e, 0xf47c, 0xf651, 0xf47c, -0xf651, 0xf513, 0xf6e5, 0xf513, 0xf6e5, 0xf28f, 0xf456, 0xf28f, 0xf456, 0xf29e, 0xf452, -0xf29e, 0xf452, 0xf29e, 0xf452, 0xf27a, 0xf413, 0xf27a, 0xf413, 0xf1b8, 0xf330, 0xf1b8, -0xf330, 0xf14a, 0xf29c, 0xf14a, 0xf29c, 0xf141, 0xf269, 0xf141, 0xf269, 0xf077, 0xf171, -0xf077, 0xf171, 0xf077, 0xf171, 0xf0f0, 0xf1bb, 0xf0f0, 0xf1bb, 0xf323, 0xf3bf, 0xf323, -0xf3bf, 0xf2d7, 0xf346, 0xf2d7, 0xf346, 0xf3cd, 0xf410, 0xf3cd, 0xf410, 0xf54d, 0xf568, -0xf54d, 0xf568, 0xf746, 0xf73e, 0xf746, 0xf73e, 0xf746, 0xf73e, 0xf97b, 0xf953, 0xf97b, -0xf953, 0xfbeb, 0xfbaa, 0xfbeb, 0xfbaa, 0xfc12, 0xfbbc, 0xfc12, 0xfbbc, 0xff22, 0xfebd, -0xff22, 0xfebd, 0x238, 0x1c9, 0x238, 0x1c9, 0x2b9, 0x246, 0x2b9, 0x246, 0x2b9, -0x246, 0x501, 0x48e, 0x501, 0x48e, 0x48c, 0x41d, 0x48c, 0x41d, 0x4dd, 0x475, -0x4dd, 0x475, 0x641, 0x5e2, 0x641, 0x5e2, 0x675, 0x621, 0x675, 0x621, 0x675, -0x621, 0x57c, 0x533, 0x57c, 0x533, 0x631, 0x5f2, 0x631, 0x5f2, 0x5f6, 0x5c2, -0x5f6, 0x5c2, 0x508, 0x4dd, 0x508, 0x4dd, 0x54c, 0x527, 0x54c, 0x527, 0x5ba, -0x59a, 0x5ba, 0x59a, 0x5ba, 0x59a, 0x66c, 0x650, 0x66c, 0x650, 0x848, 0x82d, -0x848, 0x82d, 0x975, 0x959, 0x975, 0x959, 0x885, 0x867, 0x885, 0x867, 0xb2c, -0xb0c, 0xb2c, 0xb0c, 0xaa1, 0xa7f, 0xaa1, 0xa7f, 0xaa1, 0xa7f, 0xb88, 0xb66, -0xb88, 0xb66, 0xde3, 0xdc4, 0xde3, 0xdc4, 0xbf3, 0xbda, 0xbf3, 0xbda, 0xc9a, -0xc8c, 0xc9a, 0xc8c, 0xcc3, 0xcc4, 0xcc3, 0xcc4, 0xcc3, 0xcc4, 0xa4e, 0xa66, -0xa4e, 0xa66, 0x868, 0x89d, 0x868, 0x89d, 0x64e, 0x6a9, 0x64e, 0x6a9, 0x37a, -0x402, 0x37a, 0x402, 0x237, 0x2f4, 0x237, 0x2f4, 0xff3d, 0x36, 0xff3d, 0x36, -0xff3d, 0x36, 0xfce0, 0xfe1e, 0xfce0, 0xfe1e, 0xfa65, 0xfbee, 0xfa65, 0xfbee, 0xf7ea, -0xf9c4, 0xf7ea, 0xf9c4, 0xf41b, 0xf64b, 0xf41b, 0xf64b, 0xef36, 0xf1bf, 0xef36, 0xf1bf, -0xef36, 0xf1bf, 0xedc6, 0xf0aa, 0xedc6, 0xf0aa, 0xe9f7, 0xed35, 0xe9f7, 0xed35, 0xe7ab, -0xeb41, 0xe7ab, 0xeb41, 0xe5fd, 0xe9e9, 0xe5fd, 0xe9e9, 0xe28b, 0xe6c7, 0xe28b, 0xe6c7, -0xdfb7, 0xe43c, 0xdfb7, 0xe43c, 0xdfb7, 0xe43c, 0xdd29, 0xe1ee, 0xdd29, 0xe1ee, 0xdb5a, -0xe056, 0xdb5a, 0xe056, 0xda26, 0xdf4c, 0xda26, 0xdf4c, 0xd85a, 0xdda0, 0xd85a, 0xdda0, -0xd721, 0xdc79, 0xd721, 0xdc79, 0xd790, 0xdced, 0xd790, 0xdced, 0xd790, 0xdced, 0xd729, -0xdc7d, 0xd729, 0xdc7d, 0xd763, 0xdca2, 0xd763, 0xdca2, 0xd7ed, 0xdd0b, 0xd7ed, 0xdd0b, -0xd88b, 0xdd7c, 0xd88b, 0xdd7c, 0xd7be, 0xdc77, 0xd7be, 0xdc77, 0xd7be, 0xdc77, 0xd84d, -0xdcc6, 0xd84d, 0xdcc6, 0xd8b4, 0xdce5, 0xd8b4, 0xdce5, 0xd6fc, 0xdadf, 0xd6fc, 0xdadf, -0xd828, 0xdbb9, 0xd828, 0xdbb9, 0xd986, 0xdcc2, 0xd986, 0xdcc2, 0xdb3a, 0xde21, 0xdb3a, -0xde21, 0xdb3a, 0xde21, 0xded7, 0xe169, 0xded7, 0xe169, 0xe092, 0xe2d2, 0xe092, 0xe2d2, -0xe0ad, 0xe29f, 0xe0ad, 0xe29f, 0xe3f3, 0xe59b, 0xe3f3, 0xe59b, 0xe5a7, 0xe70b, 0xe5a7, -0xe70b, 0xe5bc, 0xe6e3, 0xe5bc, 0xe6e3, 0xe5bc, 0xe6e3, 0xe842, 0xe932, 0xe842, 0xe932, -0xea9c, 0xeb5c, 0xea9c, 0xeb5c, 0xec3c, 0xecd3, 0xec3c, 0xecd3, 0xef2d, 0xefa0, 0xef2d, -0xefa0, 0xf23a, 0xf28f, 0xf23a, 0xf28f, 0xf23a, 0xf28f, 0xf382, 0xf3be, 0xf382, 0xf3be, -0xf671, 0xf697, 0xf671, 0xf697, 0xf77f, 0xf792, 0xf77f, 0xf792, 0xf83b, 0xf83d, 0xf83b, -0xf83d, 0xfa0f, 0xfa00, 0xfa0f, 0xfa00, 0xfa0a, 0xf9ea, 0xfa0a, 0xf9ea, 0xfa0a, 0xf9ea, -0xfc89, 0xfc56, 0xfc89, 0xfc56, 0xff89, 0xff40, 0xff89, 0xff40, 0xffc4, 0xff62, 0xffc4, -0xff62, 0x1d9, 0x15c, 0x1d9, 0x15c, 0x51c, 0x47f, 0x51c, 0x47f, 0x638, 0x578, -0x638, 0x578, 0x638, 0x578, 0x8cd, 0x7e5, 0x8cd, 0x7e5, 0xa8d, 0x97b, 0xa8d, -0x97b, 0xc29, 0xaec, 0xc29, 0xaec, 0xfbf, 0xe54, 0xfbf, 0xe54, 0x12ce, 0x1136, -0x12ce, 0x1136, 0x12ce, 0x1136, 0x14e2, 0x131d, 0x14e2, 0x131d, 0x1739, 0x1549, 0x1739, -0x1549, 0x1ae6, 0x18cf, 0x1ae6, 0x18cf, 0x1bdb, 0x19a1, 0x1bdb, 0x19a1, 0x1c1b, 0x19c4, -0x1c1b, 0x19c4, 0x1d3c, 0x1acf, 0x1d3c, 0x1acf, 0x1d3c, 0x1acf, 0x1cca, 0x1a50, 0x1cca, -0x1a50, 0x1cf0, 0x1a71, 0x1cf0, 0x1a71, 0x1d2a, 0x1aae, 0x1d2a, 0x1aae, 0x1c55, 0x19e7, -0x1c55, 0x19e7, 0x1bc1, 0x196a, 0x1bc1, 0x196a, 0x19a8, 0x1772, 0x19a8, 0x1772, 0x19a8, -0x1772, 0x1805, 0x15f7, 0x1805, 0x15f7, 0x17fd, 0x161f, 0x17fd, 0x161f, 0x15bd, 0x1416, -0x15bd, 0x1416, 0x14ec, 0x1381, 0x14ec, 0x1381, 0x147e, 0x1354, 0x147e, 0x1354, 0x147e, -0x1354, 0x1182, 0x109b, 0x1182, 0x109b, 0xfdd, 0xf39, 0xfdd, 0xf39, 0xe53, 0xdf2, -0xe53, 0xdf2, 0xb02, 0xae0, 0xb02, 0xae0, 0x89a, 0x8b5, 0x89a, 0x8b5, 0x73a, -0x78b, 0x73a, 0x78b, 0x73a, 0x78b, 0x4dc, 0x55c, 0x4dc, 0x55c, 0x32b, 0x3d2, -0x32b, 0x3d2, 0x313, 0x3d9, 0x313, 0x3d9, 0x191, 0x26d, 0x191, 0x26d, 0xfeaf, -0xff95, 0xfeaf, 0xff95, 0xfdd0, 0xfeb9, 0xfdd0, 0xfeb9, 0xfdd0, 0xfeb9, 0xfc54, 0xfd35, -0xfc54, 0xfd35, 0xf9f2, 0xfac3, 0xf9f2, 0xfac3, 0xfa03, 0xfabc, 0xfa03, 0xfabc, 0xf970, -0xfa0a, 0xf970, 0xfa0a, 0xf752, 0xf7c8, 0xf752, 0xf7c8, 0xf752, 0xf7c8, 0xf5ef, 0xf63b, -0xf5ef, 0xf63b, 0xf50e, 0xf52f, 0xf50e, 0xf52f, 0xf436, 0xf428, 0xf436, 0xf428, 0xf48b, -0xf450, 0xf48b, 0xf450, 0xf41b, 0xf3b4, 0xf41b, 0xf3b4, 0xf29b, 0xf20a, 0xf29b, 0xf20a, -0xf29b, 0xf20a, 0xf3e3, 0xf32c, 0xf3e3, 0xf32c, 0xf5e8, 0xf50f, 0xf5e8, 0xf50f, 0xf764, -0xf671, 0xf764, 0xf671, 0xf84b, 0xf743, 0xf84b, 0xf743, 0xf6de, 0xf5c7, 0xf6de, 0xf5c7, -0xf741, 0xf622, 0xf741, 0xf622, 0xf741, 0xf622, 0xf917, 0xf7f6, 0xf917, 0xf7f6, 0xf90d, -0xf7f1, 0xf90d, 0xf7f1, 0xf954, 0xf842, 0xf954, 0xf842, 0xf901, 0xf7fd, 0xf901, 0xf7fd, -0xf97a, 0xf889, 0xf97a, 0xf889, 0xf97a, 0xf889, 0xfb2c, 0xfa50, 0xfb2c, 0xfa50, 0xfbd8, -0xfb12, 0xfbd8, 0xfb12, 0xfd39, 0xfc8a, 0xfd39, 0xfc8a, 0xfde4, 0xfd4c, 0xfde4, 0xfd4c, -0xfe06, 0xfd83, 0xfe06, 0xfd83, 0xfc8f, 0xfc1f, 0xfc8f, 0xfc1f, 0xfc8f, 0xfc1f, 0xfaff, -0xfa9e, 0xfaff, 0xfa9e, 0xfca6, 0xfc51, 0xfca6, 0xfc51, 0xfd73, 0xfd25, 0xfd73, 0xfd25, -0xfe3a, 0xfded, 0xfe3a, 0xfded, 0xfeee, 0xfe9f, 0xfeee, 0xfe9f, 0xff63, 0xff0e, 0xff63, -0xff0e, 0xff63, 0xff0e, 0x239, 0x1d8, 0x239, 0x1d8, 0x3e8, 0x378, 0x3e8, 0x378, -0x45c, 0x3dc, 0x45c, 0x3dc, 0x4d8, 0x444, 0x4d8, 0x444, 0x44a, 0x3a1, 0x44a, -0x3a1, 0x44a, 0x3a1, 0x5dd, 0x521, 0x5dd, 0x521, 0x7a0, 0x6d0, 0x7a0, 0x6d0, -0x86b, 0x78a, 0x86b, 0x78a, 0x9b2, 0x8c3, 0x9b2, 0x8c3, 0x9eb, 0x8f2, 0x9eb, -0x8f2, 0x95c, 0x85e, 0x95c, 0x85e, 0x95c, 0x85e, 0x8af, 0x7b1, 0x8af, 0x7b1, -0x8da, 0x7e1, 0x8da, 0x7e1, 0x7a8, 0x6bb, 0x7a8, 0x6bb, 0x6bc, 0x5e1, 0x6bc, -0x5e1, 0x58e, 0x4c8, 0x58e, 0x4c8, 0x26f, 0x1c6, 0x26f, 0x1c6, 0x26f, 0x1c6, -0x24c, 0x1c3, 0x24c, 0x1c3, 0x304, 0x2a0, 0x304, 0x2a0, 0x245, 0x207, 0x245, -0x207, 0x1cf, 0x1ba, 0x1cf, 0x1ba, 0x119, 0x12c, 0x119, 0x12c, 0x119, 0x12c, -0x5a, 0x95, 0x5a, 0x95, 0xfed2, 0xff32, 0xfed2, 0xff32, 0xfe38, 0xfebb, 0xfe38, -0xfebb, 0xfe3e, 0xfedf, 0xfe3e, 0xfedf, 0xfc70, 0xfd29, 0xfc70, 0xfd29, 0xfe13, 0xfedd, -0xfe13, 0xfedd, 0xfe13, 0xfedd, 0x10, 0xe5, 0x10, 0xe5, 0xff97, 0x6f, 0xff97, -0x6f, 0x1a9, 0x27c, 0x1a9, 0x27c, 0x2b2, 0x378, 0x2b2, 0x378, 0x22b, 0x2db, -0x22b, 0x2db, 0x22b, 0x2db, 0x2aa, 0x33d, 0x2aa, 0x33d, 0x424, 0x492, 0x424, -0x492, 0x5af, 0x5f2, 0x5af, 0x5f2, 0x5a5, 0x5b8, 0x5a5, 0x5b8, 0x5f2, 0x5cf, -0x5f2, 0x5cf, 0x61d, 0x5c1, 0x61d, 0x5c1, 0x61d, 0x5c1, 0x700, 0x668, 0x700, -0x668, 0x97e, 0x8a9, 0x97e, 0x8a9, 0xaf0, 0x9de, 0xaf0, 0x9de, 0xbf3, 0xaa5, -0xbf3, 0xaa5, 0xdce, 0xc46, 0xdce, 0xc46, 0xf8c, 0xdcd, 0xf8c, 0xdcd, 0xf8c, -0xdcd, 0x1143, 0xf51, 0x1143, 0xf51, 0x1247, 0x1027, 0x1247, 0x1027, 0x132f, 0x10e6, -0x132f, 0x10e6, 0x1471, 0x1205, 0x1471, 0x1205, 0x14ad, 0x1223, 0x14ad, 0x1223, 0x14ad, -0x1223, 0x1669, 0x13c8, 0x1669, 0x13c8, 0x17dd, 0x152a, 0x17dd, 0x152a, 0x16ea, 0x142b, -0x16ea, 0x142b, 0x15ac, 0x12e5, 0x15ac, 0x12e5, 0x153e, 0x1275, 0x153e, 0x1275, 0x1456, -0x118f, 0x1456, 0x118f, 0x1456, 0x118f, 0x147d, 0x11bb, 0x147d, 0x11bb, 0x157c, 0x12c1, -0x157c, 0x12c1, 0x14ed, 0x123c, 0x14ed, 0x123c, 0x1344, 0x109e, 0x1344, 0x109e, 0x11be, -0xf23, 0x11be, 0xf23, 0x1189, 0xefb, 0x1189, 0xefb, 0x1189, 0xefb, 0x10dd, 0xe5a, -0x10dd, 0xe5a, 0xf67, 0xcee, 0xf67, 0xcee, 0xe02, 0xb94, 0xe02, 0xb94, 0xdc7, -0xb61, 0xdc7, 0xb61, 0xd95, 0xb36, 0xd95, 0xb36, 0xd95, 0xb36, 0xe2c, 0xbd4, -0xe2c, 0xbd4, 0xf08, 0xcb5, 0xf08, 0xcb5, 0xe67, 0xc19, 0xe67, 0xc19, 0xe30, -0xbe7, 0xe30, 0xbe7, 0xeff, 0xcbb, 0xeff, 0xcbb, 0xe39, 0xbfa, 0xe39, 0xbfa, -0xe39, 0xbfa, 0xd88, 0xb4f, 0xd88, 0xb4f, 0xdcc, 0xb9c, 0xdcc, 0xb9c, 0xc64, -0xa3e, 0xc64, 0xa3e, 0xc52, 0xa3a, 0xc52, 0xa3a, 0xd5d, 0xb54, 0xd5d, 0xb54, -0xdc2, 0xbcd, 0xdc2, 0xbcd, 0xdc2, 0xbcd, 0xdcf, 0xbf1, 0xdcf, 0xbf1, 0xd5d, -0xb99, 0xd5d, 0xb99, 0xb18, 0x972, 0xb18, 0x972, 0x889, 0x705, 0x889, 0x705, -0x7fb, 0x69c, 0x7fb, 0x69c, 0x7fb, 0x69c, 0x75f, 0x628, 0x75f, 0x628, 0x5a1, -0x495, 0x5a1, 0x495, 0x56a, 0x48a, 0x56a, 0x48a, 0x491, 0x3df, 0x491, 0x3df, -0x252, 0x1cf, 0x252, 0x1cf, 0x10e, 0xba, 0x10e, 0xba, 0x10e, 0xba, 0x13, -0xffec, 0x13, 0xffec, 0xfe78, 0xfe7e, 0xfe78, 0xfe7e, 0xfbc7, 0xfbf7, 0xfbc7, 0xfbf7, -0xfa35, 0xfa8b, 0xfa35, 0xfa8b, 0xf8fc, 0xf975, 0xf8fc, 0xf975, 0xf843, 0xf8db, 0xf843, -0xf8db, 0xf843, 0xf8db, 0xf91c, 0xf9ce, 0xf91c, 0xf9ce, 0xf7d8, 0xf89f, 0xf7d8, 0xf89f, -0xf5fe, 0xf6d5, 0xf5fe, 0xf6d5, 0xf617, 0xf6f7, 0xf617, 0xf6f7, 0xf469, 0xf54e, 0xf469, -0xf54e, 0xf469, 0xf54e, 0xf3fb, 0xf4de, 0xf3fb, 0xf4de, 0xf410, 0xf4ed, 0xf410, 0xf4ed, -0xf30e, 0xf3e1, 0xf30e, 0xf3e1, 0xf1af, 0xf274, 0xf1af, 0xf274, 0xf02a, 0xf0dd, 0xf02a, -0xf0dd, 0xf161, 0xf201, 0xf161, 0xf201, 0xf161, 0xf201, 0xf17f, 0xf209, 0xf17f, 0xf209, -0xf010, 0xf083, 0xf010, 0xf083, 0xf18c, 0xf1e8, 0xf18c, 0xf1e8, 0xf2fc, 0xf342, 0xf2fc, -0xf342, 0xf3f4, 0xf425, 0xf3f4, 0xf425, 0xf6c6, 0xf6e6, 0xf6c6, 0xf6e6, 0xf6c6, 0xf6e6, -0xf7da, 0xf7eb, 0xf7da, 0xf7eb, 0xf8f1, 0xf8f6, 0xf8f1, 0xf8f6, 0xfa10, 0xfa0e, 0xfa10, -0xfa0e, 0xfc89, 0xfc84, 0xfc89, 0xfc84, 0xff08, 0xff04, 0xff08, 0xff04, 0xff08, 0xff04, -0xc1, 0xc3, 0xc1, 0xc3, 0x2cb, 0x2d7, 0x2cb, 0x2d7, 0x2fb, 0x316, 0x2fb, -0x316, 0x362, 0x38f, 0x362, 0x38f, 0x55e, 0x5a1, 0x55e, 0x5a1, 0x753, 0x7ae, -0x753, 0x7ae, 0x753, 0x7ae, 0x6cf, 0x745, 0x6cf, 0x745, 0x4aa, 0x53b, 0x4aa, -0x53b, 0x35a, 0x407, 0x35a, 0x407, 0x36a, 0x433, 0x36a, 0x433, 0x2bc, 0x3a0, -0x2bc, 0x3a0, 0x32d, 0x42a, 0x32d, 0x42a, 0x32d, 0x42a, 0x36c, 0x47f, 0x36c, -0x47f, 0x383, 0x4aa, 0x383, 0x4aa, 0x43d, 0x576, 0x43d, 0x576, 0x5a1, 0x6e8, -0x5a1, 0x6e8, 0x66c, 0x7be, 0x66c, 0x7be, 0x66c, 0x7be, 0x6c4, 0x81d, 0x6c4, -0x81d, 0x7f9, 0x958, 0x7f9, 0x958, 0x707, 0x869, 0x707, 0x869, 0x6d8, 0x83b, -0x6d8, 0x83b, 0x8ef, 0xa52, 0x8ef, 0xa52, 0x88e, 0x9f2, 0x88e, 0x9f2, 0x88e, -0x9f2, 0x732, 0x897, 0x732, 0x897, 0x68a, 0x7f1, 0x68a, 0x7f1, 0x3ab, 0x516, -0x3ab, 0x516, 0x253, 0x3c6, 0x253, 0x3c6, 0x185, 0x303, 0x185, 0x303, 0x18a, -0x317, 0x18a, 0x317, 0x18a, 0x317, 0x15, 0x1b6, 0x15, 0x1b6, 0xfc2f, 0xfde9, -0xfc2f, 0xfde9, 0xf9f1, 0xfbca, 0xf9f1, 0xfbca, 0xf775, 0xf971, 0xf775, 0xf971, 0xf4e0, -0xf703, 0xf4e0, 0xf703, 0xf4e0, 0xf703, 0xf3d3, 0xf621, 0xf3d3, 0xf621, 0xf157, 0xf3d3, -0xf157, 0xf3d3, 0xee00, 0xf0ac, 0xee00, 0xf0ac, 0xeba8, 0xee85, 0xeba8, 0xee85, 0xe851, -0xeb60, 0xe851, 0xeb60, 0xe5a6, 0xe8e4, 0xe5a6, 0xe8e4, 0xe5a6, 0xe8e4, 0xe33f, 0xe6a9, -0xe33f, 0xe6a9, 0xe1c9, 0xe55a, 0xe1c9, 0xe55a, 0xdfc2, 0xe376, 0xdfc2, 0xe376, 0xde17, -0xe1e6, 0xde17, 0xe1e6, 0xdd0b, 0xe0ec, 0xdd0b, 0xe0ec, 0xdb0c, 0xdef7, 0xdb0c, 0xdef7, -0xdb0c, 0xdef7, 0xd94e, 0xdd38, 0xd94e, 0xdd38, 0xd8e7, 0xdcc7, 0xd8e7, 0xdcc7, 0xd920, -0xdceb, 0xd920, 0xdceb, 0xda8c, 0xde38, 0xda8c, 0xde38, 0xdbf3, 0xdf75, 0xdbf3, 0xdf75, -0xdbf3, 0xdf75, 0xdbd5, 0xdf25, 0xdbd5, 0xdf25, 0xdb2c, 0xde40, 0xdb2c, 0xde40, 0xda14, -0xdce5, 0xda14, 0xdce5, 0xda10, 0xdc98, 0xda10, 0xdc98, 0xdaa8, 0xdce2, 0xdaa8, 0xdce2, -0xdc82, 0xde6c, 0xdc82, 0xde6c, 0xdc82, 0xde6c, 0xde00, 0xdf99, 0xde00, 0xdf99, 0xdf95, -0xe0dc, 0xdf95, 0xe0dc, 0xe102, 0xe1f9, 0xe102, 0xe1f9, 0xe2e5, 0xe390, 0xe2e5, 0xe390, -0xe4a0, 0xe503, 0xe4a0, 0xe503, 0xe4a0, 0xe503, 0xe5ca, 0xe5ec, 0xe5ca, 0xe5ec, 0xe6d5, -0xe6be, 0xe6d5, 0xe6be, 0xe8bf, 0xe875, 0xe8bf, 0xe875, 0xeaea, 0xea75, 0xeaea, 0xea75, -0xece8, 0xec52, 0xece8, 0xec52, 0xef1e, 0xee6f, 0xef1e, 0xee6f, 0xef1e, 0xee6f, 0xf0b7, -0xeff6, 0xf0b7, 0xeff6, 0xf348, 0xf27d, 0xf348, 0xf27d, 0xf545, 0xf476, 0xf545, 0xf476, -0xf765, 0xf698, 0xf765, 0xf698, 0xf8a8, 0xf7e0, 0xf8a8, 0xf7e0, 0xfa28, 0xf969, 0xfa28, -0xf969, 0xfa28, 0xf969, 0xfb4f, 0xfa9b, 0xfb4f, 0xfa9b, 0xfbd6, 0xfb2c, 0xfbd6, 0xfb2c, -0xfd15, 0xfc75, 0xfd15, 0xfc75, 0xfed3, 0xfe3d, 0xfed3, 0xfe3d, 0xff4b, 0xfebb, 0xff4b, -0xfebb, 0xff4b, 0xfebb, 0x151, 0xc3, 0x151, 0xc3, 0x3dd, 0x34d, 0x3dd, 0x34d, -0x577, 0x4e3, 0x577, 0x4e3, 0x8ba, 0x81c, 0x8ba, 0x81c, 0xb4b, 0xaa0, 0xb4b, -0xaa0, 0xe34, 0xd79, 0xe34, 0xd79, 0xe34, 0xd79, 0x10b5, 0xfe6, 0x10b5, 0xfe6, -0x134b, 0x1267, 0x134b, 0x1267, 0x16a7, 0x15ad, 0x16a7, 0x15ad, 0x1979, 0x1869, 0x1979, -0x1869, 0x1aba, 0x1995, 0x1aba, 0x1995, 0x1c3d, 0x1b07, 0x1c3d, 0x1b07, 0x1c3d, 0x1b07, -0x1cd7, 0x1b93, 0x1cd7, 0x1b93, 0x1e50, 0x1d02, 0x1e50, 0x1d02, 0x1f33, 0x1de2, 0x1f33, -0x1de2, 0x1eed, 0x1d9e, 0x1eed, 0x1d9e, 0x1e2b, 0x1ce4, 0x1e2b, 0x1ce4, 0x1e2b, 0x1ce4, -0x1d3f, 0x1c07, 0x1d3f, 0x1c07, 0x1ceb, 0x1bc9, 0x1ceb, 0x1bc9, 0x1a86, 0x197f, 0x1a86, -0x197f, 0x19a1, 0x18bd, 0x19a1, 0x18bd, 0x1915, 0x1857, 0x1915, 0x1857, 0x16e3, 0x164f, -0x16e3, 0x164f, 0x16e3, 0x164f, 0x144d, 0x13e6, 0x144d, 0x13e6, 0x1219, 0x11e1, 0x1219, -0x11e1, 0xfe2, 0xfd9, 0xfe2, 0xfd9, 0xf9a, 0xfbe, 0xf9a, 0xfbe, 0xdb7, 0xe06, -0xdb7, 0xe06, 0xb7e, 0xbf5, 0xb7e, 0xbf5, 0xb7e, 0xbf5, 0xa03, 0xa9c, 0xa03, -0xa9c, 0x7a3, 0x859, 0x7a3, 0x859, 0x5c4, 0x68f, 0x5c4, 0x68f, 0x39d, 0x477, -0x39d, 0x477, 0xe5, 0x1c7, 0xe5, 0x1c7, 0xe5, 0x1c7, 0xfdca, 0xfeac, 0xfdca, -0xfeac, 0xfbfe, 0xfcd9, 0xfbfe, 0xfcd9, 0xfa70, 0xfb3e, 0xfa70, 0xfb3e, 0xf9d4, 0xfa8f, -0xf9d4, 0xfa8f, 0xf9ba, 0xfa5d, 0xf9ba, 0xfa5d, 0xf82e, 0xf8b6, 0xf82e, 0xf8b6, 0xf82e, -0xf8b6, 0xf63f, 0xf6a9, 0xf63f, 0xf6a9, 0xf57e, 0xf5c9, 0xf57e, 0xf5c9, 0xf350, 0xf37c, -0xf350, 0xf37c, 0xf283, 0xf291, 0xf283, 0xf291, 0xf23a, 0xf22d, 0xf23a, 0xf22d, 0xf1a5, -0xf180, 0xf1a5, 0xf180, 0xf1a5, 0xf180, 0xf273, 0xf239, 0xf273, 0xf239, 0xf3c3, 0xf37b, -0xf3c3, 0xf37b, 0xf47a, 0xf427, 0xf47a, 0xf427, 0xf4b5, 0xf45f, 0xf4b5, 0xf45f, 0xf585, -0xf52f, 0xf585, 0xf52f, 0xf585, 0xf52f, 0xf627, 0xf5d8, 0xf627, 0xf5d8, 0xf6fb, 0xf6b6, -0xf6fb, 0xf6b6, 0xf7ae, 0xf778, 0xf7ae, 0xf778, 0xf786, 0xf761, 0xf786, 0xf761, 0xf683, -0xf671, 0xf683, 0xf671, 0xf87b, 0xf87d, 0xf87b, 0xf87d, 0xf87b, 0xf87d, 0xfa4a, 0xfa60, -0xfa4a, 0xfa60, 0xfca5, 0xfccd, 0xfca5, 0xfccd, 0xfdff, 0xfe37, 0xfdff, 0xfe37, 0xfebc, -0xff01, 0xfebc, 0xff01, 0x6e, 0xbb, 0x6e, 0xbb, 0xfffa, 0x4b, 0xfffa, 0x4b, -0xfffa, 0x4b, 0xfee0, 0xff30, 0xfee0, 0xff30, 0xff00, 0xff48, 0xff00, 0xff48, 0x61, -0x9e, 0x61, 0x9e, 0x21a, 0x247, 0x21a, 0x247, 0x309, 0x320, 0x309, 0x320, -0x309, 0x320, 0x36d, 0x36d, 0x36d, 0x36d, 0x593, 0x577, 0x593, 0x577, 0x639, -0x601, 0x639, 0x601, 0x6e0, 0x68c, 0x6e0, 0x68c, 0x693, 0x623, 0x693, 0x623, -0x787, 0x6fe, 0x787, 0x6fe, 0x787, 0x6fe, 0x91a, 0x87a, 0x91a, 0x87a, 0x8db, -0x82a, 0x8db, 0x82a, 0x906, 0x849, 0x906, 0x849, 0x96a, 0x8a7, 0x96a, 0x8a7, -0x939, 0x878, 0x939, 0x878, 0x952, 0x899, 0x952, 0x899, 0x952, 0x899, 0x849, -0x7a0, 0x849, 0x7a0, 0x791, 0x700, 0x791, 0x700, 0x957, 0x8e5, 0x957, 0x8e5, -0x80a, 0x7bc, 0x80a, 0x7bc, 0x66c, 0x649, 0x66c, 0x649, 0x66c, 0x649, 0x4a7, -0x4b4, 0x4a7, 0x4b4, 0x24e, 0x28e, 0x24e, 0x28e, 0x124, 0x197, 0x124, 0x197, -0x156, 0x200, 0x156, 0x200, 0xfebc, 0xff9a, 0xfebc, 0xff9a, 0xfc3b, 0xfd4b, 0xfc3b, -0xfd4b, 0xfc3b, 0xfd4b, 0xfb67, 0xfca6, 0xfb67, 0xfca6, 0xf9a8, 0xfb11, 0xf9a8, 0xfb11, -0xf908, 0xfa94, 0xf908, 0xfa94, 0xf88a, 0xfa33, 0xf88a, 0xfa33, 0xf78f, 0xf94c, 0xf78f, -0xf94c, 0xf7ae, 0xf976, 0xf7ae, 0xf976, 0xf7ae, 0xf976, 0xf8ec, 0xfab6, 0xf8ec, 0xfab6, -0xf852, 0xfa16, 0xf852, 0xfa16, 0xf8d2, 0xfa84, 0xf8d2, 0xfa84, 0xf958, 0xfaf0, 0xf958, -0xfaf0, 0xf960, 0xfad5, 0xf960, 0xfad5, 0xf960, 0xfad5, 0xfa39, 0xfb82, 0xfa39, 0xfb82, -0xfbd6, 0xfcec, 0xfbd6, 0xfcec, 0xfc6a, 0xfd46, 0xfc6a, 0xfd46, 0xfcf0, 0xfd8d, 0xfcf0, -0xfd8d, 0xfde2, 0xfe3b, 0xfde2, 0xfe3b, 0xfe0c, 0xfe1f, 0xfe0c, 0xfe1f, 0xfe0c, 0xfe1f, -0xff06, 0xfecf, 0xff06, 0xfecf, 0x189, 0x108, 0x189, 0x108, 0x2e8, 0x21e, 0x2e8, -0x21e, 0x48c, 0x379, 0x48c, 0x379, 0x718, 0x5be, 0x718, 0x5be, 0x8b8, 0x71b, -0x8b8, 0x71b, 0x8b8, 0x71b, 0xb8c, 0x9b0, 0xb8c, 0x9b0, 0xccb, 0xab3, 0xccb, -0xab3, 0xebb, 0xc6e, 0xebb, 0xc6e, 0x12ad, 0x1030, 0x12ad, 0x1030, 0x1578, 0x12d0, -0x1578, 0x12d0, 0x1578, 0x12d0, 0x1655, 0x1388, 0x1655, 0x1388, 0x17f6, 0x150a, 0x17f6, -0x150a, 0x17eb, 0x14e6, 0x17eb, 0x14e6, 0x18cf, 0x15b7, 0x18cf, 0x15b7, 0x199f, 0x1678, -0x199f, 0x1678, 0x1925, 0x15f5, 0x1925, 0x15f5, 0x1925, 0x15f5, 0x19f1, 0x16bb, 0x19f1, -0x16bb, 0x19b9, 0x1682, 0x19b9, 0x1682, 0x199f, 0x166a, 0x199f, 0x166a, 0x19a1, 0x1671, -0x19a1, 0x1671, 0x19b4, 0x168b, 0x19b4, 0x168b, 0x19b4, 0x168b, 0x188f, 0x1570, 0x188f, -0x1570, 0x178c, 0x1476, 0x178c, 0x1476, 0x1597, 0x128c, 0x1597, 0x128c, 0x14d1, 0x11d1, -0x14d1, 0x11d1, 0x14ab, 0x11b5, 0x14ab, 0x11b5, 0x14df, 0x11f4, 0x14df, 0x11f4, 0x14df, -0x11f4, 0x135e, 0x107c, 0x135e, 0x107c, 0x1256, 0xf7c, 0x1256, 0xf7c, 0x135c, 0x108a, -0x135c, 0x108a, 0x13a6, 0x10da, 0x13a6, 0x10da, 0x148d, 0x11c8, 0x148d, 0x11c8, 0x13ce, -0x110e, 0x13ce, 0x110e, 0x13ce, 0x110e, 0x1169, 0xeae, 0x1169, 0xeae, 0x10b7, 0xe02, -0x10b7, 0xe02, 0x1165, 0xeb6, 0x1165, 0xeb6, 0xfef, 0xd47, 0xfef, 0xd47, 0x1021, -0xd82, 0x1021, 0xd82, 0x1021, 0xd82, 0x10c1, 0xe2e, 0x10c1, 0xe2e, 0x1087, 0xe02, -0x1087, 0xe02, 0x1007, 0xd93, 0x1007, 0xd93, 0xfea, 0xd8c, 0xfea, 0xd8c, 0xce3, -0xa9f, 0xce3, 0xa9f, 0xadf, 0x8b9, 0xadf, 0x8b9, 0xadf, 0x8b9, 0xacc, 0x8c9, -0xacc, 0x8c9, 0x808, 0x62d, 0x808, 0x62d, 0x628, 0x47a, 0x628, 0x47a, 0x4b0, -0x333, 0x4b0, 0x333, 0x2a4, 0x15d, 0x2a4, 0x15d, 0x12e, 0x20, 0x12e, 0x20, -0x12e, 0x20, 0x89, 0xffb7, 0x89, 0xffb7, 0xfe45, 0xfdb2, 0xfe45, 0xfdb2, 0xfc89, -0xfc35, 0xfc89, 0xfc35, 0xfb04, 0xfaf0, 0xfb04, 0xfaf0, 0xf9a3, 0xf9ce, 0xf9a3, 0xf9ce, -0xf9a3, 0xf9ce, 0xf7ee, 0xf856, 0xf7ee, 0xf856, 0xf741, 0xf7e2, 0xf741, 0xf7e2, 0xf5d0, -0xf6a6, 0xf5d0, 0xf6a6, 0xf427, 0xf52d, 0xf427, 0xf52d, 0xf2d3, 0xf404, 0xf2d3, 0xf404, -0xf25f, 0xf3b3, 0xf25f, 0xf3b3, 0xf25f, 0xf3b3, 0xf416, 0xf585, 0xf416, 0xf585, 0xf350, -0xf4d3, 0xf350, 0xf4d3, 0xf282, 0xf40f, 0xf282, 0xf40f, 0xf2f5, 0xf485, 0xf2f5, 0xf485, -0xf20e, 0xf39a, 0xf20e, 0xf39a, 0xf15e, 0xf2de, 0xf15e, 0xf2de, 0xf15e, 0xf2de, 0xf1b1, -0xf31f, 0xf1b1, 0xf31f, 0xf12a, 0xf280, 0xf12a, 0xf280, 0xf246, 0xf380, 0xf246, 0xf380, -0xf34b, 0xf465, 0xf34b, 0xf465, 0xf446, 0xf53e, 0xf446, 0xf53e, 0xf446, 0xf53e, 0xf4df, -0xf5b4, 0xf4df, 0xf5b4, 0xf629, 0xf6dc, 0xf629, 0xf6dc, 0xf777, 0xf809, 0xf777, 0xf809, -0xf9c4, 0xfa3a, 0xf9c4, 0xfa3a, 0xfcd3, 0xfd2f, 0xfcd3, 0xfd2f, 0xfe34, 0xfe7c, 0xfe34, -0xfe7c, 0xfe34, 0xfe7c, 0xff00, 0xff39, 0xff00, 0xff39, 0x43, 0x72, 0x43, 0x72, -0x240, 0x26b, 0x240, 0x26b, 0x403, 0x432, 0x403, 0x432, 0x553, 0x589, 0x553, -0x589, 0x3f2, 0x435, 0x3f2, 0x435, 0x3f2, 0x435, 0x4a2, 0x4f6, 0x4a2, 0x4f6, -0x4b3, 0x51a, 0x4b3, 0x51a, 0x42e, 0x4ab, 0x42e, 0x4ab, 0x424, 0x4b7, 0x424, -0x4b7, 0x3a9, 0x452, 0x3a9, 0x452, 0x3a9, 0x452, 0x23b, 0x2f9, 0x23b, 0x2f9, -0x2c7, 0x396, 0x2c7, 0x396, 0x429, 0x507, 0x429, 0x507, 0x48d, 0x575, 0x48d, -0x575, 0x5f5, 0x6e2, 0x5f5, 0x6e2, 0x53b, 0x628, 0x53b, 0x628, 0x53b, 0x628, -0x4d9, 0x5c2, 0x4d9, 0x5c2, 0x64c, 0x72c, 0x64c, 0x72c, 0x85f, 0x934, 0x85f, -0x934, 0x791, 0x856, 0x791, 0x856, 0x7e4, 0x899, 0x7e4, 0x899, 0x7ad, 0x851, -0x7ad, 0x851, 0x7ad, 0x851, 0x50b, 0x5a0, 0x50b, 0x5a0, 0x36c, 0x3f5, 0x36c, -0x3f5, 0x3b5, 0x438, 0x3b5, 0x438, 0x257, 0x2d9, 0x257, 0x2d9, 0x17e, 0x208, -0x17e, 0x208, 0x17e, 0x208, 0x216, 0x2af, 0x216, 0x2af, 0x79, 0x12e, 0x79, -0x12e, 0xfe18, 0xfef2, 0xfe18, 0xfef2, 0xfc8b, 0xfd95, 0xfc8b, 0xfd95, 0xfa3c, 0xfb83, -0xfa3c, 0xfb83, 0xf6ba, 0xf848, 0xf6ba, 0xf848, 0xf6ba, 0xf848, 0xf4a0, 0xf67e, 0xf4a0, -0xf67e, 0xf0bd, 0xf2f5, 0xf0bd, 0xf2f5, 0xee24, 0xf0bb, 0xee24, 0xf0bb, 0xeb24, 0xee1f, -0xeb24, 0xee1f, 0xe8ef, 0xec51, 0xe8ef, 0xec51, 0xe736, 0xeaff, 0xe736, 0xeaff, 0xe736, -0xeaff, 0xe4f5, 0xe922, 0xe4f5, 0xe922, 0xe43d, 0xe8c9, 0xe43d, 0xe8c9, 0xe3e0, 0xe8c3, -0xe3e0, 0xe8c3, 0xe189, 0xe6b8, 0xe189, 0xe6b8, 0xdfa7, 0xe515, 0xdfa7, 0xe515, 0xdfa7, -0xe515, 0xde96, 0xe434, 0xde96, 0xe434, 0xdc6d, 0xe22c, 0xdc6d, 0xe22c, 0xdd31, 0xe2ff, -0xdd31, 0xe2ff, 0xde8f, 0xe45a, 0xde8f, 0xe45a, 0xdf0a, 0xe4bf, 0xdf0a, 0xe4bf, 0xdf06, -0xe495, 0xdf06, 0xe495, 0xdf06, 0xe495, 0xdfd2, 0xe529, 0xdfd2, 0xe529, 0xde80, 0xe391, -0xde80, 0xe391, 0xde44, 0xe302, 0xde44, 0xe302, 0xe021, 0xe480, 0xe021, 0xe480, 0xe0a4, -0xe49d, 0xe0a4, 0xe49d, 0xe04f, 0xe3dc, 0xe04f, 0xe3dc, 0xe04f, 0xe3dc, 0xe1ac, 0xe4cb, -0xe1ac, 0xe4cb, 0xe2fb, 0xe5ab, 0xe2fb, 0xe5ab, 0xe46e, 0xe6b4, 0xe46e, 0xe6b4, 0xe51a, -0xe6fc, 0xe51a, 0xe6fc, 0xe495, 0xe61b, 0xe495, 0xe61b, 0xe495, 0xe61b, 0xe687, 0xe7bb, -0xe687, 0xe7bb, 0xe931, 0xea20, 0xe931, 0xea20, 0xeba9, 0xec5f, 0xeba9, 0xec5f, 0xed43, -0xedce, 0xed43, 0xedce, 0xee43, 0xeeb2, 0xee43, 0xeeb2, 0xef32, 0xef91, 0xef32, 0xef91, -0xef32, 0xef91, 0xf27e, 0xf2da, 0xf27e, 0xf2da, 0xf314, 0xf378, 0xf314, 0xf378, 0xf3f1, -0xf466, 0xf3f1, 0xf466, 0xf625, 0xf6b1, 0xf625, 0xf6b1, 0xf750, 0xf7f7, 0xf750, 0xf7f7, -0xf797, 0xf85c, 0xf797, 0xf85c, 0xf797, 0xf85c, 0xf900, 0xf9e1, 0xf900, 0xf9e1, 0xf999, -0xfa93, 0xf999, 0xfa93, 0xf85b, 0xf968, 0xf85b, 0xf968, 0xf9c8, 0xfadf, 0xf9c8, 0xfadf, -0xfb06, 0xfc1e, 0xfb06, 0xfc1e, 0xfb06, 0xfc1e, 0xfbb4, 0xfcc2, 0xfbb4, 0xfcc2, 0xfd1c, -0xfe13, 0xfd1c, 0xfe13, 0xffb5, 0x89, 0xffb5, 0x89, 0x61, 0x105, 0x61, 0x105, -0x29a, 0x303, 0x29a, 0x303, 0x57f, 0x5a2, 0x57f, 0x5a2, 0x57f, 0x5a2, 0x821, -0x7f5, 0x821, 0x7f5, 0xa7c, 0x9f9, 0xa7c, 0x9f9, 0xdac, 0xccf, 0xdac, 0xccf, -0xf29, 0xdee, 0xf29, 0xdee, 0x10a1, 0xf0a, 0x10a1, 0xf0a, 0x10a1, 0xf0a, 0x1383, -0x1193, 0x1383, 0x1193, 0x14e8, 0x12a5, 0x14e8, 0x12a5, 0x16bc, 0x142e, 0x16bc, 0x142e, -0x17de, 0x150f, 0x17de, 0x150f, 0x1997, 0x1694, 0x1997, 0x1694, 0x19db, 0x16b2, 0x19db, -0x16b2, 0x19db, 0x16b2, 0x1948, 0x1609, 0x1948, 0x1609, 0x19c2, 0x167b, 0x19c2, 0x167b, -0x1b17, 0x17d9, 0x1b17, 0x17d9, 0x19ec, 0x16c5, 0x19ec, 0x16c5, 0x18b5, 0x15b4, 0x18b5, -0x15b4, 0x1698, 0x13c9, 0x1698, 0x13c9, 0x1698, 0x13c9, 0x1596, 0x1304, 0x1596, 0x1304, -0x1524, 0x12d8, 0x1524, 0x12d8, 0x1383, 0x1183, 0x1383, 0x1183, 0x1125, 0xf75, 0x1125, -0xf75, 0xf0f, 0xdb0, 0xf0f, 0xdb0, 0xf0f, 0xdb0, 0xe2b, 0xd1b, 0xe2b, 0xd1b, -0xbb3, 0xaee, 0xbb3, 0xaee, 0xb18, 0xa98, 0xb18, 0xa98, 0xae6, 0xaa3, 0xae6, -0xaa3, 0x7ea, 0x7da, 0x7ea, 0x7da, 0x363, 0x37b, 0x363, 0x37b, 0x363, 0x37b, -0x212, 0x245, 0x212, 0x245, 0x26, 0x68, 0x26, 0x68, 0xff22, 0xff68, 0xff22, -0xff68, 0xfdd2, 0xfe0f, 0xfdd2, 0xfe0f, 0xfb80, 0xfbaa, 0xfb80, 0xfbaa, 0xfa81, 0xfa8d, -0xfa81, 0xfa8d, 0xfa81, 0xfa8d, 0xfa98, 0xfa80, 0xfa98, 0xfa80, 0xfa20, 0xf9dd, 0xfa20, -0xf9dd, 0xf85f, 0xf7ee, 0xf85f, 0xf7ee, 0xf6cb, 0xf629, 0xf6cb, 0xf629, 0xf595, 0xf4c3, -0xf595, 0xf4c3, 0xf595, 0xf4c3, 0xf638, 0xf537, 0xf638, 0xf537, 0xf578, 0xf44c, 0xf578, -0xf44c, 0xf47d, 0xf32b, 0xf47d, 0xf32b, 0xf4dc, 0xf36a, 0xf4dc, 0xf36a, 0xf5c5, 0xf43c, -0xf5c5, 0xf43c, 0xf6d5, 0xf53b, 0xf6d5, 0xf53b, 0xf6d5, 0xf53b, 0xf933, 0xf791, 0xf933, -0xf791, 0xf845, 0xf6a4, 0xf845, 0xf6a4, 0xf74c, 0xf5b2, 0xf74c, 0xf5b2, 0xf86a, 0xf6df, -0xf86a, 0xf6df, 0xf8bc, 0xf744, 0xf8bc, 0xf744, 0xf832, 0xf6d2, 0xf832, 0xf6d2, 0xf832, -0xf6d2, 0xf986, 0xf841, 0xf986, 0xf841, 0xfabc, 0xf993, 0xfabc, 0xf993, 0xfb30, 0xfa23, -0xfb30, 0xfa23, 0xfcb3, 0xfbc0, 0xfcb3, 0xfbc0, 0xfd03, 0xfc27, 0xfd03, 0xfc27, 0xfd03, -0xfc27, 0xfc9a, 0xfbd1, 0xfc9a, 0xfbd1, 0xfc28, 0xfb6b, 0xfc28, 0xfb6b, 0xfd61, 0xfcab, -0xfd61, 0xfcab, 0xfcb5, 0xfc00, 0xfcb5, 0xfc00, 0xfe79, 0xfdbd, 0xfe79, 0xfdbd, 0x58, -0xff8f, 0x58, 0xff8f, 0x58, 0xff8f, 0x11d, 0x42, 0x11d, 0x42, 0x149, 0x56, -0x149, 0x56, 0x215, 0x107, 0x215, 0x107, 0x3b7, 0x28c, 0x3b7, 0x28c, 0x486, -0x33c, 0x486, 0x33c, 0x553, 0x3ea, 0x553, 0x3ea, 0x553, 0x3ea, 0x6be, 0x53a, -0x6be, 0x53a, 0x8a8, 0x70c, 0x8a8, 0x70c, 0x901, 0x751, 0x901, 0x751, 0x990, -0x7d4, 0x990, 0x7d4, 0x93b, 0x77b, 0x93b, 0x77b, 0x93b, 0x77b, 0xa48, 0x88d, -0xa48, 0x88d, 0xbe1, 0xa34, 0xbe1, 0xa34, 0xd72, 0xbdc, 0xd72, 0xbdc, 0xc64, -0xaf0, 0xc64, 0xaf0, 0xbb1, 0xa69, 0xbb1, 0xa69, 0xae2, 0x9ce, 0xae2, 0x9ce, -0xae2, 0x9ce, 0x8f7, 0x820, 0x8f7, 0x820, 0x7e8, 0x753, 0x7e8, 0x753, 0x7b0, -0x763, 0x7b0, 0x763, 0x515, 0x514, 0x515, 0x514, 0x217, 0x263, 0x217, 0x263, -0x14f, 0x1e8, 0x14f, 0x1e8, 0x14f, 0x1e8, 0xfef8, 0xffdc, 0xfef8, 0xffdc, 0xfd44, -0xfe6e, 0xfd44, 0xfe6e, 0xfa9f, 0xfc0a, 0xfa9f, 0xfc0a, 0xf914, 0xfab8, 0xf914, 0xfab8, -0xf8c0, 0xfa94, 0xf8c0, 0xfa94, 0xf8c0, 0xfa94, 0xf9ef, 0xfbe9, 0xf9ef, 0xfbe9, 0xf9e5, -0xfbf8, 0xf9e5, 0xfbf8, 0xf933, 0xfb55, 0xf933, 0xfb55, 0xf7dc, 0xfa00, 0xf7dc, 0xfa00, -0xf7c0, 0xf9d9, 0xf7c0, 0xf9d9, 0xf92a, 0xfb2c, 0xf92a, 0xfb2c, 0xf92a, 0xfb2c, 0xf9b4, -0xfb94, 0xf9b4, 0xfb94, 0xf9d1, 0xfb84, 0xf9d1, 0xfb84, 0xfa06, 0xfb82, 0xfa06, 0xfb82, -0xfa72, 0xfbaf, 0xfa72, 0xfbaf, 0xfada, 0xfbd0, 0xfada, 0xfbd0, 0xfd68, 0xfe12, 0xfd68, -0xfe12, 0xfd68, 0xfe12, 0xfe1c, 0xfe77, 0xfe1c, 0xfe77, 0xfe7b, 0xfe85, 0xfe7b, 0xfe85, -0x48, 0, 0x48, 0, 0x1c7, 0x12e, 0x1c7, 0x12e, 0x2d1, 0x1ea, 0x2d1, -0x1ea, 0x2d1, 0x1ea, 0x4fd, 0x3cc, 0x4fd, 0x3cc, 0x568, 0x3f3, 0x568, 0x3f3, -0x787, 0x5d4, 0x787, 0x5d4, 0xb0b, 0x922, 0xb0b, 0x922, 0xcb9, 0xaa1, 0xcb9, -0xaa1, 0xe30, 0xbf2, 0xe30, 0xbf2, 0xe30, 0xbf2, 0x112b, 0xed0, 0x112b, 0xed0, -0x12fc, 0x108c, 0x12fc, 0x108c, 0x1309, 0x108b, 0x1309, 0x108b, 0x142b, 0x11a7, 0x142b, -0x11a7, 0x1454, 0x11d0, 0x1454, 0x11d0, 0x14dc, 0x125e, 0x14dc, 0x125e, 0x14dc, 0x125e, -0x1576, 0x1303, 0x1576, 0x1303, 0x16ae, 0x1449, 0x16ae, 0x1449, 0x177e, 0x152a, 0x177e, -0x152a, 0x17dd, 0x159b, 0x17dd, 0x159b, 0x16a2, 0x1472, 0x16a2, 0x1472, 0x16a2, 0x1472, -0x171f, 0x14ff, 0x171f, 0x14ff, 0x16db, 0x14c9, 0x16db, 0x14c9, 0x16f7, 0x14f0, 0x16f7, -0x14f0, 0x16e5, 0x14e5, 0x16e5, 0x14e5, 0x156e, 0x1371, 0x156e, 0x1371, 0x15da, 0x13da, -0x15da, 0x13da, 0x15da, 0x13da, 0x169d, 0x1497, 0x169d, 0x1497, 0x1692, 0x147f, 0x1692, -0x147f, 0x15ef, 0x13cb, 0x15ef, 0x13cb, 0x16ec, 0x14b3, 0x16ec, 0x14b3, 0x161d, 0x13ca, -0x161d, 0x13ca, 0x14ff, 0x1290, 0x14ff, 0x1290, 0x14ff, 0x1290, 0x148f, 0x1203, 0x148f, -0x1203, 0x165a, 0x13af, 0x165a, 0x13af, 0x157f, 0x12b6, 0x157f, 0x12b6, 0x1543, 0x125f, -0x1543, 0x125f, 0x1643, 0x1346, 0x1643, 0x1346, 0x1643, 0x1346, 0x1681, 0x1371, 0x1681, -0x1371, 0x1659, 0x133a, 0x1659, 0x133a, 0x1431, 0x110c, 0x1431, 0x110c, 0x132c, 0x1009, -0x132c, 0x1009, 0x1231, 0xf17, 0x1231, 0xf17, 0x1110, 0xe0a, 0x1110, 0xe0a, 0x1110, -0xe0a, 0xfcb, 0xce2, 0xfcb, 0xce2, 0xe32, 0xb70, 0xe32, 0xb70, 0xb89, 0x8f7, -0xb89, 0x8f7, 0xa64, 0x80b, 0xa64, 0x80b, 0x833, 0x61b, 0x833, 0x61b, 0x833, -0x61b, 0x5cb, 0x3fb, 0x5cb, 0x3fb, 0x33b, 0x1ba, 0x33b, 0x1ba, 0xaf, 0xff80, -0xaf, 0xff80, 0xfdd8, 0xfcff, 0xfdd8, 0xfcff, 0xfd15, 0xfc93, 0xfd15, 0xfc93, 0xfce2, -0xfcb6, 0xfce2, 0xfcb6, 0xfce2, 0xfcb6, 0xfa93, 0xfaba, 0xfa93, 0xfaba, 0xf8b2, 0xf928, -0xf8b2, 0xf928, 0xf71d, 0xf7de, 0xf71d, 0xf7de, 0xf54e, 0xf651, 0xf54e, 0xf651, 0xf356, -0xf494, 0xf356, 0xf494, 0xf2fa, 0xf469, 0xf2fa, 0xf469, 0xf2fa, 0xf469, 0xf19c, 0xf332, -0xf19c, 0xf332, 0xf0b5, 0xf266, 0xf0b5, 0xf266, 0xefff, 0xf1c2, 0xefff, 0xf1c2, 0xef5b, -0xf125, 0xef5b, 0xf125, 0xee6a, 0xf02f, 0xee6a, 0xf02f, 0xee6a, 0xf02f, 0xef1a, 0xf0d1, -0xef1a, 0xf0d1, 0xef3a, 0xf0db, 0xef3a, 0xf0db, 0xef27, 0xf0ab, 0xef27, 0xf0ab, 0xef9a, -0xf0fa, 0xef9a, 0xf0fa, 0xeeef, 0xf027, 0xeeef, 0xf027, 0xeefa, 0xf006, 0xeefa, 0xf006, -0xeefa, 0xf006, 0xf014, 0xf0f4, 0xf014, 0xf0f4, 0xf1f7, 0xf2ab, 0xf1f7, 0xf2ab, 0xf4c6, -0xf550, 0xf4c6, 0xf550, 0xf710, 0xf773, 0xf710, 0xf773, 0xf8e7, 0xf927, 0xf8e7, 0xf927, -0xfc4b, 0xfc6f, 0xfc4b, 0xfc6f, 0xfc4b, 0xfc6f, 0xfe51, 0xfe5e, 0xfe51, 0xfe5e, 0xc7, -0xc5, 0xc7, 0xc5, 0x21d, 0x212, 0x21d, 0x212, 0x320, 0x314, 0x320, 0x314, -0x49a, 0x492, 0x49a, 0x492, 0x49a, 0x492, 0x662, 0x666, 0x662, 0x666, 0x633, -0x648, 0x633, 0x648, 0x6d8, 0x702, 0x6d8, 0x702, 0x6b0, 0x6f3, 0x6b0, 0x6f3, -0x5a8, 0x606, 0x5a8, 0x606, 0x5f4, 0x66d, 0x5f4, 0x66d, 0x5f4, 0x66d, 0x631, -0x6c5, 0x631, 0x6c5, 0x74d, 0x7fb, 0x74d, 0x7fb, 0x641, 0x706, 0x641, 0x706, -0x686, 0x75f, 0x686, 0x75f, 0x65a, 0x743, 0x65a, 0x743, 0x6a7, 0x79c, 0x6a7, -0x79c, 0x6a7, 0x79c, 0x616, 0x712, 0x616, 0x712, 0x5d6, 0x6d6, 0x5d6, 0x6d6, -0x664, 0x763, 0x664, 0x763, 0x6f6, 0x7f2, 0x6f6, 0x7f2, 0x6a1, 0x797, 0x6a1, -0x797, 0x6a1, 0x797, 0x63e, 0x72c, 0x63e, 0x72c, 0x4de, 0x5c4, 0x4de, 0x5c4, -0x2f7, 0x3d7, 0x2f7, 0x3d7, 0x34c, 0x429, 0x34c, 0x429, 0x2ca, 0x3a6, 0x2ca, -0x3a6, 0x1c5, 0x2a6, 0x1c5, 0x2a6, 0x1c5, 0x2a6, 0x31, 0x11d, 0x31, 0x11d, -0xff15, 0x13, 0xff15, 0x13, 0xfcf2, 0xfe0b, 0xfcf2, 0xfe0b, 0xfc50, 0xfd8b, 0xfc50, -0xfd8b, 0xfa10, 0xfb76, 0xfa10, 0xfb76, 0xf706, 0xf89f, 0xf706, 0xf89f, 0xf706, 0xf89f, -0xf4c2, 0xf695, 0xf4c2, 0xf695, 0xf205, 0xf41a, 0xf205, 0xf41a, 0xeea9, 0xf104, 0xeea9, -0xf104, 0xebdf, 0xee85, 0xebdf, 0xee85, 0xe92e, 0xec21, 0xe92e, 0xec21, 0xe92e, 0xec21, -0xe636, 0xe978, 0xe636, 0xe978, 0xe453, 0xe7e2, 0xe453, 0xe7e2, 0xe335, 0xe70e, 0xe335, -0xe70e, 0xe263, 0xe681, 0xe263, 0xe681, 0xdfa2, 0xe3ff, 0xdfa2, 0xe3ff, 0xde2a, 0xe2bc, -0xde2a, 0xe2bc, 0xde2a, 0xe2bc, 0xdd11, 0xe1d0, 0xdd11, 0xe1d0, 0xdbfd, 0xe0dd, 0xdbfd, -0xe0dd, 0xdba9, 0xe09e, 0xdba9, 0xe09e, 0xdc5d, 0xe159, 0xdc5d, 0xe159, 0xdbde, 0xe0d6, -0xdbde, 0xe0d6, 0xdb42, 0xe028, 0xdb42, 0xe028, 0xdb42, 0xe028, 0xdb63, 0xe02c, 0xdb63, -0xe02c, 0xdcc1, 0xe161, 0xdcc1, 0xe161, 0xdcea, 0xe157, 0xdcea, 0xe157, 0xdd6f, 0xe1a1, -0xdd6f, 0xe1a1, 0xdfb6, 0xe3a6, 0xdfb6, 0xe3a6, 0xdfb6, 0xe3a6, 0xe162, 0xe50b, 0xe162, -0xe50b, 0xe2b8, 0xe617, 0xe2b8, 0xe617, 0xe2f5, 0xe609, 0xe2f5, 0xe609, 0xe3e9, 0xe6b4, -0xe3e9, 0xe6b4, 0xe5f4, 0xe878, 0xe5f4, 0xe878, 0xe84b, 0xea8c, 0xe84b, 0xea8c, 0xe84b, -0xea8c, 0xe8e0, 0xeae5, 0xe8e0, 0xeae5, 0xeaf8, 0xecc7, 0xeaf8, 0xecc7, 0xecb0, 0xee52, -0xecb0, 0xee52, 0xeead, 0xf029, 0xeead, 0xf029, 0xf009, 0xf168, 0xf009, 0xf168, 0xf233, -0xf37d, 0xf233, 0xf37d, 0xf233, 0xf37d, 0xf467, 0xf5a3, 0xf467, 0xf5a3, 0xf5c1, 0xf6f6, -0xf5c1, 0xf6f6, 0xf6e0, 0xf812, 0xf6e0, 0xf812, 0xf78e, 0xf8c2, 0xf78e, 0xf8c2, 0xf9bc, -0xfaf3, 0xf9bc, 0xfaf3, 0xf9bc, 0xfaf3, 0xf978, 0xfab3, 0xf978, 0xfab3, 0xf84b, 0xf988, -0xf84b, 0xf988, 0xf8f3, 0xfa30, 0xf8f3, 0xfa30, 0xfa47, 0xfb7d, 0xfa47, 0xfb7d, 0xfadd, -0xfc07, 0xfadd, 0xfc07, 0xfcf5, 0xfe0b, 0xfcf5, 0xfe0b, 0xfcf5, 0xfe0b, 0xfd49, 0xfe44, -0xfd49, 0xfe44, 0xfe8b, 0xff60, 0xfe8b, 0xff60, 0xff3e, 0xffe5, 0xff3e, 0xffe5, 0x1c, -0x8b, 0x1c, 0x8b, 0x17f, 0x1ae, 0x17f, 0x1ae, 0x2ed, 0x2d5, 0x2ed, 0x2d5, -0x2ed, 0x2d5, 0x46d, 0x406, 0x46d, 0x406, 0x582, 0x4c8, 0x582, 0x4c8, 0x8eb, -0x7d9, 0x8eb, 0x7d9, 0xaee, 0x984, 0xaee, 0x984, 0xd35, 0xb72, 0xd35, 0xb72, -0xd35, 0xb72, 0x1007, 0xdef, 0x1007, 0xdef, 0x12f1, 0x1088, 0x12f1, 0x1088, 0x1422, -0x116e, 0x1422, 0x116e, 0x14dd, 0x11e7, 0x14dd, 0x11e7, 0x1506, 0x11d8, 0x1506, 0x11d8, -0x15a5, 0x1249, 0x15a5, 0x1249, 0x15a5, 0x1249, 0x15b9, 0x123d, 0x15b9, 0x123d, 0x164a, -0x12b9, 0x164a, 0x12b9, 0x1733, 0x139b, 0x1733, 0x139b, 0x16a8, 0x1316, 0x16a8, 0x1316, -0x15fa, 0x127a, 0x15fa, 0x127a, 0x150b, 0x11a8, 0x150b, 0x11a8, 0x150b, 0x11a8, 0x13c1, -0x1086, 0x13c1, 0x1086, 0x1236, 0xf2c, 0x1236, 0xf2c, 0x1123, 0xe51, 0x1123, 0xe51, -0xf30, 0xc9c, 0xf30, 0xc9c, 0xd4c, 0xaf9, 0xd4c, 0xaf9, 0xd4c, 0xaf9, 0xd0f, -0xaff, 0xd0f, 0xaff, 0xd43, 0xb76, 0xd43, 0xb76, 0xad7, 0x94b, 0xad7, 0x94b, -0xa09, 0x8bc, 0xa09, 0x8bc, 0x849, 0x733, 0x849, 0x733, 0x608, 0x524, 0x608, -0x524, 0x608, 0x524, 0x4b1, 0x3f8, 0x4b1, 0x3f8, 0x2d5, 0x23f, 0x2d5, 0x23f, -0xe2, 0x65, 0xe2, 0x65, 0x53, 0xffe8, 0x53, 0xffe8, 0xffbc, 0xff5a, 0xffbc, -0xff5a, 0xffbc, 0xff5a, 0xfe8a, 0xfe2a, 0xfe8a, 0xfe2a, 0xfda7, 0xfd41, 0xfda7, 0xfd41, -0xfc8b, 0xfc1a, 0xfc8b, 0xfc1a, 0xfce0, 0xfc5e, 0xfce0, 0xfc5e, 0xfbe0, 0xfb48, 0xfbe0, -0xfb48, 0xfbc4, 0xfb14, 0xfbc4, 0xfb14, 0xfbc4, 0xfb14, 0xfb0b, 0xfa43, 0xfb0b, 0xfa43, -0xfa72, 0xf990, 0xfa72, 0xf990, 0xf9fe, 0xf904, 0xf9fe, 0xf904, 0xfa73, 0xf963, 0xfa73, -0xf963, 0xfb65, 0xfa41, 0xfb65, 0xfa41, 0xfb57, 0xfa22, 0xfb57, 0xfa22, 0xfb57, 0xfa22, -0xfaca, 0xf989, 0xfaca, 0xf989, 0xfb9d, 0xfa55, 0xfb9d, 0xfa55, 0xfb84, 0xfa38, 0xfb84, -0xfa38, 0xfbba, 0xfa70, 0xfbba, 0xfa70, 0xfd79, 0xfc34, 0xfd79, 0xfc34, 0xfd79, 0xfc34, -0xfd4f, 0xfc14, 0xfd4f, 0xfc14, 0xfe18, 0xfce9, 0xfe18, 0xfce9, 0xfeac, 0xfd8c, 0xfeac, -0xfd8c, 0xff96, 0xfe87, 0xff96, 0xfe87, 0xfeb3, 0xfdb7, 0xfeb3, 0xfdb7, 0xfe79, 0xfd8f, -0xfe79, 0xfd8f, 0xfe79, 0xfd8f, 0xfdcd, 0xfcf7, 0xfdcd, 0xfcf7, 0xfdf0, 0xfd2d, 0xfdf0, -0xfd2d, 0xff05, 0xfe54, 0xff05, 0xfe54, 0xff4e, 0xfeae, 0xff4e, 0xfeae, 0xffd8, 0xff46, -0xffd8, 0xff46, 0x5f, 0xffda, 0x5f, 0xffda, 0x5f, 0xffda, 0xa4, 0x2b, 0xa4, -0x2b, 0xc5, 0x56, 0xc5, 0x56, 0x116, 0xb0, 0x116, 0xb0, 0xcf, 0x70, -0xcf, 0x70, 0x18c, 0x134, 0x18c, 0x134, 0x18c, 0x134, 0x1b3, 0x163, 0x1b3, -0x163, 0x320, 0x2d6, 0x320, 0x2d6, 0x3ac, 0x36b, 0x3ac, 0x36b, 0x36d, 0x335, -0x36d, 0x335, 0x4a4, 0x478, 0x4a4, 0x478, 0x6ad, 0x68d, 0x6ad, 0x68d, 0x6ad, -0x68d, 0x741, 0x731, 0x741, 0x731, 0x7e0, 0x7e0, 0x7e0, 0x7e0, 0x884, 0x898, -0x884, 0x898, 0x7d5, 0x7ff, 0x7d5, 0x7ff, 0x618, 0x65a, 0x618, 0x65a, 0x67e, -0x6da, 0x67e, 0x6da, 0x67e, 0x6da, 0x74b, 0x7c2, 0x74b, 0x7c2, 0x55f, 0x5f1, -0x55f, 0x5f1, 0x499, 0x547, 0x499, 0x547, 0x357, 0x420, 0x357, 0x420, 0x247, -0x329, 0x247, 0x329, 0x247, 0x329, 0x16e, 0x268, 0x16e, 0x268, 0xff81, 0x91, -0xff81, 0x91, 0xfd32, 0xfe55, 0xfd32, 0xfe55, 0xfcf2, 0xfe24, 0xfcf2, 0xfe24, 0xfc29, -0xfd66, 0xfc29, 0xfd66, 0xfb36, 0xfc79, 0xfb36, 0xfc79, 0xfb36, 0xfc79, 0xfaae, 0xfbf2, -0xfaae, 0xfbf2, 0xfaf0, 0xfc31, 0xfaf0, 0xfc31, 0xfa91, 0xfbca, 0xfa91, 0xfbca, 0xfa80, -0xfbab, 0xfa80, 0xfbab, 0xfbfa, 0xfd13, 0xfbfa, 0xfd13, 0xfc1b, 0xfd1d, 0xfc1b, 0xfd1d, -0xfc1b, 0xfd1d, 0xfb82, 0xfc69, 0xfb82, 0xfc69, 0xfaf2, 0xfbba, 0xfaf2, 0xfbba, 0xfb45, -0xfbeb, 0xfb45, 0xfbeb, 0xfb2d, 0xfbac, 0xfb2d, 0xfbac, 0xfb39, 0xfb91, 0xfb39, 0xfb91, -0xfb39, 0xfb91, 0xfc00, 0xfc2f, 0xfc00, 0xfc2f, 0xfdf8, 0xfdfb, 0xfdf8, 0xfdfb, 0xfdc8, -0xfda0, 0xfdc8, 0xfda0, 0xffa5, 0xff50, 0xffa5, 0xff50, 0x1d4, 0x154, 0x1d4, 0x154, -0x2b0, 0x205, 0x2b0, 0x205, 0x2b0, 0x205, 0x413, 0x33e, 0x413, 0x33e, 0x57e, -0x481, 0x57e, 0x481, 0x6c6, 0x5a3, 0x6c6, 0x5a3, 0x7f4, 0x6ac, 0x7f4, 0x6ac, -0xad9, 0x96f, 0xad9, 0x96f, 0xc0d, 0xa83, 0xc0d, 0xa83, 0xc0d, 0xa83, 0xd96, -0xbee, 0xd96, 0xbee, 0xf78, 0xdb5, 0xf78, 0xdb5, 0x1047, 0xe6d, 0x1047, 0xe6d, -0x1037, 0xe46, 0x1037, 0xe46, 0x1141, 0xf3d, 0x1141, 0xf3d, 0x1141, 0xf3d, 0x120d, -0xff7, 0x120d, 0xff7, 0x1286, 0x1062, 0x1286, 0x1062, 0x1237, 0x1006, 0x1237, 0x1006, -0x1270, 0x1034, 0x1270, 0x1034, 0x12bd, 0x1077, 0x12bd, 0x1077, 0x1221, 0xfd3, 0x1221, -0xfd3, 0x1221, 0xfd3, 0x12e5, 0x1090, 0x12e5, 0x1090, 0x1352, 0x10f7, 0x1352, 0x10f7, -0x12be, 0x105e, 0x12be, 0x105e, 0x129c, 0x1038, 0x129c, 0x1038, 0x1366, 0x10fe, 0x1366, -0x10fe, 0x1328, 0x10bd, 0x1328, 0x10bd, 0x1328, 0x10bd, 0x1340, 0x10d3, 0x1340, 0x10d3, -0x13ca, 0x115b, 0x13ca, 0x115b, 0x13fc, 0x118b, 0x13fc, 0x118b, 0x1300, 0x108e, 0x1300, -0x108e, 0x13af, 0x113d, 0x13af, 0x113d, 0x13af, 0x113d, 0x1325, 0x10b3, 0x1325, 0x10b3, -0x122e, 0xfbd, 0x122e, 0xfbd, 0x138a, 0x111c, 0x138a, 0x111c, 0x1473, 0x120a, 0x1473, -0x120a, 0x15cb, 0x1368, 0x15cb, 0x1368, 0x1788, 0x152e, 0x1788, 0x152e, 0x1788, 0x152e, -0x17b3, 0x1566, 0x17b3, 0x1566, 0x1744, 0x1505, 0x1744, 0x1505, 0x17a6, 0x157a, 0x17a6, -0x157a, 0x1749, 0x1534, 0x1749, 0x1534, 0x1632, 0x1439, 0x1632, 0x1439, 0x1526, 0x134c, -0x1526, 0x134c, 0x1526, 0x134c, 0x149f, 0x12ea, 0x149f, 0x12ea, 0x1269, 0x10dd, 0x1269, -0x10dd, 0x10c6, 0xf69, 0x10c6, 0xf69, 0xf35, 0xe0a, 0xf35, 0xe0a, 0xd39, 0xc46, -0xd39, 0xc46, 0xd39, 0xc46, 0xb16, 0xa5d, 0xb16, 0xa5d, 0x934, 0x8ba, 0x934, -0x8ba, 0x71c, 0x6e3, 0x71c, 0x6e3, 0x4bf, 0x4c9, 0x4bf, 0x4c9, 0x220, 0x26f, -0x220, 0x26f, 0xffdc, 0x6f, 0xffdc, 0x6f, 0xffdc, 0x6f, 0xfde6, 0xfebe, 0xfde6, -0xfebe, 0xfb1c, 0xfc36, 0xfb1c, 0xfc36, 0xfa6f, 0xfbc9, 0xfa6f, 0xfbc9, 0xf896, 0xfa2b, -0xf896, 0xfa2b, 0xf6f9, 0xf8c5, 0xf6f9, 0xf8c5, 0xf649, 0xf846, 0xf649, 0xf846, 0xf649, -0xf846, 0xf4ee, 0xf716, 0xf4ee, 0xf716, 0xf1b6, 0xf402, 0xf1b6, 0xf402, 0xefc2, 0xf22a, -0xefc2, 0xf22a, 0xefac, 0xf229, 0xefac, 0xf229, 0xee92, 0xf11b, 0xee92, 0xf11b, 0xee92, -0xf11b, 0xee47, 0xf0d5, 0xee47, 0xf0d5, 0xeebc, 0xf146, 0xeebc, 0xf146, 0xedea, 0xf06a, -0xedea, 0xf06a, 0xed1c, 0xef8b, 0xed1c, 0xef8b, 0xed8d, 0xefe5, 0xed8d, 0xefe5, 0xed46, -0xef81, 0xed46, 0xef81, 0xed46, 0xef81, 0xed64, 0xef7e, 0xed64, 0xef7e, 0xede4, 0xefda, -0xede4, 0xefda, 0xef4f, 0xf11d, 0xef4f, 0xf11d, 0xf04f, 0xf1f4, 0xf04f, 0xf1f4, 0xf21d, -0xf39a, 0xf21d, 0xf39a, 0xf21d, 0xf39a, 0xf4f1, 0xf646, 0xf4f1, 0xf646, 0xf73b, 0xf868, -0xf73b, 0xf868, 0xf8e1, 0xf9e9, 0xf8e1, 0xf9e9, 0xfb8f, 0xfc75, 0xfb8f, 0xfc75, 0xfe52, -0xff19, 0xfe52, 0xff19, 0xff0c, 0xffb6, 0xff0c, 0xffb6, 0xff0c, 0xffb6, 0xff6d, 0xffff, -0xff6d, 0xffff, 0x83, 0x100, 0x83, 0x100, 0xa2, 0x10f, 0xa2, 0x10f, 0xe9, -0x147, 0xe9, 0x147, 0x358, 0x3ac, 0x358, 0x3ac, 0x361, 0x3ac, 0x361, 0x3ac, -0x361, 0x3ac, 0x3a3, 0x3e8, 0x3a3, 0x3e8, 0x520, 0x561, 0x520, 0x561, 0x602, -0x63f, 0x602, 0x63f, 0x71d, 0x757, 0x71d, 0x757, 0x6d9, 0x710, 0x6d9, 0x710, -0x6d9, 0x710, 0x5f3, 0x627, 0x5f3, 0x627, 0x6bf, 0x6f1, 0x6bf, 0x6f1, 0x7cd, -0x7fc, 0x7cd, 0x7fc, 0x832, 0x85d, 0x832, 0x85d, 0x79b, 0x7c2, 0x79b, 0x7c2, -0x7de, 0x801, 0x7de, 0x801, 0x7de, 0x801, 0x7d8, 0x7f7, 0x7d8, 0x7f7, 0x658, -0x675, 0x658, 0x675, 0x6c8, 0x6e3, 0x6c8, 0x6e3, 0x74c, 0x768, 0x74c, 0x768, -0x6bc, 0x6db, 0x6bc, 0x6db, 0x5e8, 0x60d, 0x5e8, 0x60d, 0x5e8, 0x60d, 0x579, -0x5a7, 0x579, 0x5a7, 0x46f, 0x4ab, 0x46f, 0x4ab, 0x32d, 0x37b, 0x32d, 0x37b, -0x8a, 0xef, 0x8a, 0xef, 0xfe71, 0xfef1, 0xfe71, 0xfef1, 0xfe71, 0xfef1, 0xfc53, -0xfcf4, 0xfc53, 0xfcf4, 0xf968, 0xfa2f, 0xf968, 0xfa2f, 0xf6fc, 0xf7ed, 0xf6fc, 0xf7ed, -0xf3df, 0xf4ff, 0xf3df, 0xf4ff, 0xf159, 0xf2ab, 0xf159, 0xf2ab, 0xef9b, 0xf122, 0xef9b, -0xf122, 0xef9b, 0xf122, 0xedfb, 0xefb9, 0xedfb, 0xefb9, 0xeb6c, 0xed64, 0xeb6c, 0xed64, -0xe970, 0xeba1, 0xe970, 0xeba1, 0xe632, 0xe89d, 0xe632, 0xe89d, 0xe2a6, 0xe548, 0xe2a6, -0xe548, 0xe171, 0xe448, 0xe171, 0xe448, 0xe171, 0xe448, 0xe0de, 0xe3e8, 0xe0de, 0xe3e8, -0xdf43, 0xe27b, 0xdf43, 0xe27b, 0xdeb9, 0xe21b, 0xdeb9, 0xe21b, 0xde80, 0xe205, 0xde80, -0xe205, 0xdd81, 0xe126, 0xdd81, 0xe126, 0xdd81, 0xe126, 0xdc68, 0xe025, 0xdc68, 0xe025, -0xdbb9, 0xdf88, 0xdbb9, 0xdf88, 0xdb99, 0xdf75, 0xdb99, 0xdf75, 0xdb18, 0xdefa, 0xdb18, -0xdefa, 0xdc6d, 0xe04f, 0xdc6d, 0xe04f, 0xdd56, 0xe132, 0xdd56, 0xe132, 0xdd56, 0xe132, -0xddd9, 0xe1ab, 0xddd9, 0xe1ab, 0xdf56, 0xe319, 0xdf56, 0xe319, 0xe0cc, 0xe47b, 0xe0cc, -0xe47b, 0xe210, 0xe5a9, 0xe210, 0xe5a9, 0xe371, 0xe6ef, 0xe371, 0xe6ef, 0xe46e, 0xe7cf, -0xe46e, 0xe7cf, 0xe46e, 0xe7cf, 0xe593, 0xe8d4, 0xe593, 0xe8d4, 0xe61f, 0xe940, 0xe61f, -0xe940, 0xe808, 0xeb05, 0xe808, 0xeb05, 0xeb53, 0xee2c, 0xeb53, 0xee2c, 0xec12, 0xeec6, -0xec12, 0xeec6, 0xec12, 0xeec6, 0xee5a, 0xf0e6, 0xee5a, 0xf0e6, 0xf19f, 0xf402, 0xf19f, -0xf402, 0xf3ab, 0xf5e4, 0xf3ab, 0xf5e4, 0xf6b3, 0xf8c0, 0xf6b3, 0xf8c0, 0xf837, 0xfa17, -0xf837, 0xfa17, 0xf7b7, 0xf967, 0xf7b7, 0xf967, 0xf7b7, 0xf967, 0xf85a, 0xf9d6, 0xf85a, -0xf9d6, 0xfa06, 0xfb4d, 0xfa06, 0xfb4d, 0xfbff, 0xfd0c, 0xfbff, 0xfd0c, 0xfd24, 0xfdf6, -0xfd24, 0xfdf6, 0xfea1, 0xff33, 0xfea1, 0xff33, 0xff95, 0xffe5, 0xff95, 0xffe5, 0xff95, -0xffe5, 0x66, 0x71, 0x66, 0x71, 0x1d9, 0x19c, 0x1d9, 0x19c, 0x28d, 0x204, -0x28d, 0x204, 0x372, 0x29e, 0x372, 0x29e, 0x4b8, 0x397, 0x4b8, 0x397, 0x4b8, -0x397, 0x58a, 0x41a, 0x58a, 0x41a, 0x5fc, 0x43f, 0x5fc, 0x43f, 0x775, 0x56c, -0x775, 0x56c, 0x903, 0x6b1, 0x903, 0x6b1, 0xaa5, 0x80c, 0xaa5, 0x80c, 0xc18, -0x93d, 0xc18, 0x93d, 0xc18, 0x93d, 0xed5, 0xbbd, 0xed5, 0xbbd, 0x11e6, 0xe96, -0x11e6, 0xe96, 0x13a1, 0x1022, 0x13a1, 0x1022, 0x1498, 0x10f0, 0x1498, 0x10f0, 0x15d3, -0x120b, 0x15d3, 0x120b, 0x1735, 0x1357, 0x1735, 0x1357, 0x1735, 0x1357, 0x1793, 0x13a7, -0x1793, 0x13a7, 0x17db, 0x13ea, 0x17db, 0x13ea, 0x17a6, 0x13ba, 0x17a6, 0x13ba, 0x16fe, -0x1320, 0x16fe, 0x1320, 0x16b8, 0x12f1, 0x16b8, 0x12f1, 0x16b8, 0x12f1, 0x15b6, 0x120e, -0x15b6, 0x120e, 0x13fd, 0x107c, 0x13fd, 0x107c, 0x12f0, 0xf9c, 0x12f0, 0xf9c, 0x10dc, -0xdbc, 0x10dc, 0xdbc, 0xf81, 0xc9a, 0xf81, 0xc9a, 0xe4a, 0xba1, 0xe4a, 0xba1, -0xe4a, 0xba1, 0xca8, 0xa3f, 0xca8, 0xa3f, 0xa7e, 0x857, 0xa7e, 0x857, 0x81d, -0x639, 0x81d, 0x639, 0x68f, 0x4ee, 0x68f, 0x4ee, 0x3c4, 0x264, 0x3c4, 0x264, -0x14a, 0x2a, 0x14a, 0x2a, 0x14a, 0x2a, 0x32, 0xff4e, 0x32, 0xff4e, 0xfeaf, -0xfe05, 0xfeaf, 0xfe05, 0xfc62, 0xfbec, 0xfc62, 0xfbec, 0xfb02, 0xfabc, 0xfb02, 0xfabc, -0xf9da, 0xf9bf, 0xf9da, 0xf9bf, 0xf9da, 0xf9bf, 0xf8ac, 0xf8b7, 0xf8ac, 0xf8b7, 0xf718, -0xf743, 0xf718, 0xf743, 0xf6d2, 0xf718, 0xf6d2, 0xf718, 0xf710, 0xf76d, 0xf710, 0xf76d, -0xf68e, 0xf6fb, 0xf68e, 0xf6fb, 0xf6d7, 0xf751, 0xf6d7, 0xf751, 0xf6d7, 0xf751, 0xf620, -0xf6a2, 0xf620, 0xf6a2, 0xf625, 0xf6ad, 0xf625, 0xf6ad, 0xf850, 0xf8db, 0xf850, 0xf8db, -0xf8e3, 0xf96d, 0xf8e3, 0xf96d, 0xf8f0, 0xf978, 0xf8f0, 0xf978, 0xfa77, 0xfafb, 0xfa77, -0xfafb, 0xfa77, 0xfafb, 0xfbe6, 0xfc67, 0xfbe6, 0xfc67, 0xfbc5, 0xfc40, 0xfbc5, 0xfc40, -0xfb32, 0xfba8, 0xfb32, 0xfba8, 0xfd10, 0xfd82, 0xfd10, 0xfd82, 0xfe1e, 0xfe8b, 0xfe1e, -0xfe8b, 0xfe1e, 0xfe8b, 0xfefb, 0xff64, 0xfefb, 0xff64, 0xe7, 0x14d, 0xe7, 0x14d, -0x1ac, 0x20f, 0x1ac, 0x20f, 0x168, 0x1c9, 0x168, 0x1c9, 0x108, 0x167, 0x108, -0x167, 0x102, 0x15e, 0x102, 0x15e, 0x102, 0x15e, 0x13b, 0x196, 0x13b, 0x196, -0xb8, 0x110, 0xb8, 0x110, 0xb1, 0x106, 0xb1, 0x106, 0x1d1, 0x223, 0x1d1, -0x223, 0x1d8, 0x224, 0x1d8, 0x224, 0x1d8, 0x224, 0x23b, 0x281, 0x23b, 0x281, -0x322, 0x361, 0x322, 0x361, 0x3a9, 0x3e0, 0x3a9, 0x3e0, 0x33a, 0x367, 0x33a, -0x367, 0x2d1, 0x2f3, 0x2d1, 0x2f3, 0x2d9, 0x2f1, 0x2d9, 0x2f1, 0x2d9, 0x2f1, -0x2f7, 0x303, 0x2f7, 0x303, 0x2c9, 0x2ca, 0x2c9, 0x2ca, 0x26e, 0x263, 0x26e, -0x263, 0x2cd, 0x2b8, 0x2cd, 0x2b8, 0x3e4, 0x3c6, 0x3e4, 0x3c6, 0x545, 0x520, -0x545, 0x520, 0x545, 0x520, 0x713, 0x6ea, 0x713, 0x6ea, 0x813, 0x7e8, 0x813, -0x7e8, 0x7f5, 0x7cd, 0x7f5, 0x7cd, 0x7e5, 0x7c3, 0x7e5, 0x7c3, 0x6ba, 0x6a2, -0x6ba, 0x6a2, 0x6ba, 0x6a2, 0x5f1, 0x5e7, 0x5f1, 0x5e7, 0x4a4, 0x4ad, 0x4a4, -0x4ad, 0x37e, 0x39e, 0x37e, 0x39e, 0x325, 0x360, 0x325, 0x360, 0x1d8, 0x230, -0x1d8, 0x230, 0x6f, 0xea, 0x6f, 0xea, 0x6f, 0xea, 0xfef6, 0xff95, 0xfef6, -0xff95, 0xfd4e, 0xfe13, 0xfd4e, 0xfe13, 0xfc24, 0xfd11, 0xfc24, 0xfd11, 0xfae8, 0xfbfb, -0xfae8, 0xfbfb, 0xf94f, 0xfa89, 0xf94f, 0xfa89, 0xf797, 0xf8f5, 0xf797, 0xf8f5, 0xf797, -0xf8f5, 0xf5fe, 0xf77e, 0xf5fe, 0xf77e, 0xf5c4, 0xf761, 0xf5c4, 0xf761, 0xf595, 0xf74b, -0xf595, 0xf74b, 0xf5f6, 0xf7c0, 0xf5f6, 0xf7c0, 0xf788, 0xf95f, 0xf788, 0xf95f, 0xf788, -0xf95f, 0xf779, 0xf955, 0xf779, 0xf955, 0xf790, 0xf96a, 0xf790, 0xf96a, 0xf866, 0xfa35, -0xf866, 0xfa35, 0xf7db, 0xf999, 0xf7db, 0xf999, 0xf8f3, 0xfa97, 0xf8f3, 0xfa97, 0xfa5e, -0xfbdf, 0xfa5e, 0xfbdf, 0xfa5e, 0xfbdf, 0xfba6, 0xfcfe, 0xfba6, 0xfcfe, 0xfd23, 0xfe4a, -0xfd23, 0xfe4a, 0xfe4e, 0xff3f, 0xfe4e, 0xff3f, 0x81, 0x135, 0x81, 0x135, 0x1bc, -0x22e, 0x1bc, 0x22e, 0x350, 0x37e, 0x350, 0x37e, 0x350, 0x37e, 0x5ca, 0x5b0, -0x5ca, 0x5b0, 0x6fb, 0x697, 0x6fb, 0x697, 0x8aa, 0x7fb, 0x8aa, 0x7fb, 0xb7d, -0xa84, 0xb7d, 0xa84, 0xd77, 0xc34, 0xd77, 0xc34, 0xd77, 0xc34, 0xf21, 0xd96, -0xf21, 0xd96, 0x1045, 0xe73, 0x1045, 0xe73, 0x1128, 0xf13, 0x1128, 0xf13, 0x11b2, -0xf5d, 0x11b2, 0xf5d, 0x1217, 0xf85, 0x1217, 0xf85, 0x132d, 0x1064, 0x132d, 0x1064, -0x132d, 0x1064, 0x1474, 0x1177, 0x1474, 0x1177, 0x14ce, 0x11a0, 0x14ce, 0x11a0, 0x14e2, -0x1189, 0x14e2, 0x1189, 0x15f6, 0x1275, 0x15f6, 0x1275, 0x1631, 0x128c, 0x1631, 0x128c, -0x163f, 0x127b, 0x163f, 0x127b, 0x163f, 0x127b, 0x16e7, 0x1308, 0x16e7, 0x1308, 0x16de, -0x12e7, 0x16de, 0x12e7, 0x16a0, 0x1294, 0x16a0, 0x1294, 0x167c, 0x1260, 0x167c, 0x1260, -0x162b, 0x1203, 0x162b, 0x1203, 0x162b, 0x1203, 0x1680, 0x124f, 0x1680, 0x124f, 0x1629, -0x11f2, 0x1629, 0x11f2, 0x1632, 0x11f9, 0x1632, 0x11f9, 0x163d, 0x1207, 0x163d, 0x1207, -0x14e3, 0x10b3, 0x14e3, 0x10b3, 0x1419, 0xff5, 0x1419, 0xff5, 0x1419, 0xff5, 0x127c, -0xe67, 0x127c, 0xe67, 0x11a6, 0xda5, 0x11a6, 0xda5, 0x129a, 0xeb1, 0x129a, 0xeb1, -0x1352, 0xf87, 0x1352, 0xf87, 0x1457, 0x10ae, 0x1457, 0x10ae, 0x15a1, 0x1220, 0x15a1, -0x1220, 0x15a1, 0x1220, 0x16dd, 0x1389, 0x16dd, 0x1389, 0x177a, 0x1457, 0x177a, 0x1457, -0x16c6, 0x13d9, 0x16c6, 0x13d9, 0x15ea, 0x1339, 0x15ea, 0x1339, 0x1521, 0x12af, 0x1521, -0x12af, 0x1521, 0x12af, 0x13aa, 0x117c, 0x13aa, 0x117c, 0x12d4, 0x10ed, 0x12d4, 0x10ed, -0x11d5, 0x1039, 0x11d5, 0x1039, 0x10da, 0xf8c, 0x10da, 0xf8c, 0x108f, 0xf90, 0x108f, -0xf90, 0xea7, 0xdfa, 0xea7, 0xdfa, 0xea7, 0xdfa, 0xda3, 0xd49, 0xda3, 0xd49, -0xcad, 0xca5, 0xcad, 0xca5, 0xa24, 0xa6e, 0xa24, 0xa6e, 0x893, 0x92e, 0x893, -0x92e, 0x697, 0x781, 0x697, 0x781, 0x49f, 0x5d5, 0x49f, 0x5d5, 0x49f, 0x5d5, -0x276, 0x3f5, 0x276, 0x3f5, 0x37, 0x1f9, 0x37, 0x1f9, 0xff9c, 0x19d, 0xff9c, -0x19d, 0xfe4f, 0x89, 0xfe4f, 0x89, 0xfcc5, 0xff31, 0xfcc5, 0xff31, 0xfcc5, 0xff31, -0xfbb1, 0xfe48, 0xfbb1, 0xfe48, 0xf96d, 0xfc27, 0xf96d, 0xfc27, 0xf777, 0xfa4c, 0xf777, -0xfa4c, 0xf61d, 0xf903, 0xf61d, 0xf903, 0xf4fc, 0xf7eb, 0xf4fc, 0xf7eb, 0xf3cd, 0xf6bb, -0xf3cd, 0xf6bb, 0xf3cd, 0xf6bb, 0xf2a4, 0xf589, 0xf2a4, 0xf589, 0xf19f, 0xf472, 0xf19f, -0xf472, 0xf0c0, 0xf379, 0xf0c0, 0xf379, 0xf089, 0xf31e, 0xf089, 0xf31e, 0xefd5, 0xf240, -0xefd5, 0xf240, 0xefe8, 0xf221, 0xefe8, 0xf221, 0xefe8, 0xf221, 0xf02f, 0xf232, 0xf02f, -0xf232, 0xeff5, 0xf1bb, 0xeff5, 0xf1bb, 0xf0f8, 0xf27f, 0xf0f8, 0xf27f, 0xf1cf, 0xf314, -0xf1cf, 0xf314, 0xf2a9, 0xf3ab, 0xf2a9, 0xf3ab, 0xf2a9, 0xf3ab, 0xf44a, 0xf508, 0xf44a, -0xf508, 0xf58a, 0xf606, 0xf58a, 0xf606, 0xf7e2, 0xf81f, 0xf7e2, 0xf81f, 0xfa70, 0xfa72, -0xfa70, 0xfa72, 0xfb41, 0xfb0b, 0xfb41, 0xfb0b, 0xfc14, 0xfbad, 0xfc14, 0xfbad, 0xfc14, -0xfbad, 0xfd23, 0xfc90, 0xfd23, 0xfc90, 0xfe6b, 0xfdb4, 0xfe6b, 0xfdb4, 0xff11, 0xfe3c, -0xff11, 0xfe3c, 0xffd3, 0xfee9, 0xffd3, 0xfee9, 0x11b, 0x24, 0x11b, 0x24, 0xec, -0xffee, 0xec, 0xffee, 0xec, 0xffee, 0x1b6, 0xb9, 0x1b6, 0xb9, 0x2fd, 0x207, -0x2fd, 0x207, 0x324, 0x23c, 0x324, 0x23c, 0x356, 0x280, 0x356, 0x280, 0x37a, -0x2bb, 0x37a, 0x2bb, 0x37a, 0x2bb, 0x38f, 0x2ea, 0x38f, 0x2ea, 0x348, 0x2c0, -0x348, 0x2c0, 0x355, 0x2ec, 0x355, 0x2ec, 0x41a, 0x3cf, 0x41a, 0x3cf, 0x33a, -0x30f, 0x33a, 0x30f, 0x162, 0x156, 0x162, 0x156, 0x162, 0x156, 0x174, 0x187, -0x174, 0x187, 0x137, 0x167, 0x137, 0x167, 0xe7, 0x133, 0xe7, 0x133, 0x11d, -0x183, 0x11d, 0x183, 0xcb, 0x14b, 0xcb, 0x14b, 0xcb, 0x14b, 0x1ef, 0x288, -0x1ef, 0x288, 0x242, 0x2f4, 0x242, 0x2f4, 0x1ac, 0x277, 0x1ac, 0x277, 0x14c, -0x232, 0x14c, 0x232, 0xffe8, 0xeb, 0xffe8, 0xeb, 0xfeec, 0xd, 0xfeec, 0xd, -0xfeec, 0xd, 0xfd26, 0xfe69, 0xfd26, 0xfe69, 0xfb2d, 0xfc95, 0xfb2d, 0xfc95, 0xf9d0, -0xfb61, 0xf9d0, 0xfb61, 0xf6f4, 0xf8b2, 0xf6f4, 0xf8b2, 0xf494, 0xf684, 0xf494, 0xf684, -0xf2bd, 0xf4e2, 0xf2bd, 0xf4e2, 0xf2bd, 0xf4e2, 0xf105, 0xf362, 0xf105, 0xf362, 0xef5c, -0xf1f4, 0xef5c, 0xf1f4, 0xecc4, 0xef98, 0xecc4, 0xef98, 0xea44, 0xed55, 0xea44, 0xed55, -0xe6d9, 0xea27, 0xe6d9, 0xea27, 0xe6d9, 0xea27, 0xe471, 0xe7f9, 0xe471, 0xe7f9, 0xe369, -0xe729, 0xe369, 0xe729, 0xe1cb, 0xe5bd, 0xe1cb, 0xe5bd, 0xe051, 0xe470, 0xe051, 0xe470, -0xdf36, 0xe379, 0xdf36, 0xe379, 0xdefd, 0xe35b, 0xdefd, 0xe35b, 0xdefd, 0xe35b, 0xde1e, -0xe28d, 0xde1e, 0xe28d, 0xdd04, 0xe179, 0xdd04, 0xe179, 0xdd11, 0xe180, 0xdd11, 0xe180, -0xdc77, 0xe0d5, 0xdc77, 0xe0d5, 0xdb9e, 0xdfde, 0xdb9e, 0xdfde, 0xdbe5, 0xdffc, 0xdbe5, -0xdffc, 0xdbe5, 0xdffc, 0xdc94, 0xe076, 0xdc94, 0xe076, 0xddd9, 0xe17e, 0xddd9, 0xe17e, -0xdf43, 0xe2a1, 0xdf43, 0xe2a1, 0xe08b, 0xe39b, 0xe08b, 0xe39b, 0xe1b5, 0xe472, 0xe1b5, -0xe472, 0xe1b5, 0xe472, 0xe288, 0xe4ef, 0xe288, 0xe4ef, 0xe400, 0xe60e, 0xe400, 0xe60e, -0xe4f7, 0xe6ad, 0xe4f7, 0xe6ad, 0xe66e, 0xe7ce, 0xe66e, 0xe7ce, 0xe7a2, 0xe8b0, 0xe7a2, -0xe8b0, 0xe7ee, 0xe8af, 0xe7ee, 0xe8af, 0xe7ee, 0xe8af, 0xeaa1, 0xeb1c, 0xeaa1, 0xeb1c, -0xedac, 0xede9, 0xedac, 0xede9, 0xefe0, 0xefe7, 0xefe0, 0xefe7, 0xf202, 0xf1dc, 0xf202, -0xf1dc, 0xf36d, 0xf323, 0xf36d, 0xf323, 0xf491, 0xf42c, 0xf491, 0xf42c, 0xf491, 0xf42c, -0xf4ef, 0xf476, 0xf4ef, 0xf476, 0xf5e4, 0xf55e, 0xf5e4, 0xf55e, 0xf82d, 0xf7a0, 0xf82d, -0xf7a0, 0xf8a2, 0xf812, 0xf8a2, 0xf812, 0xf96b, 0xf8db, 0xf96b, 0xf8db, 0xf96b, 0xf8db, -0xfb9f, 0xfb11, 0xfb9f, 0xfb11, 0xfc1c, 0xfb8e, 0xfc1c, 0xfb8e, 0xfd74, 0xfce6, 0xfd74, -0xfce6, 0xfe9c, 0xfe09, 0xfe9c, 0xfe09, 0xfec2, 0xfe26, 0xfec2, 0xfe26, 0x77, 0xffcd, -0x77, 0xffcd, 0x77, 0xffcd, 0x153, 0x95, 0x153, 0x95, 0x1f9, 0x120, 0x1f9, -0x120, 0x31d, 0x223, 0x31d, 0x223, 0x432, 0x311, 0x432, 0x311, 0x6d9, 0x58c, -0x6d9, 0x58c, 0x978, 0x7fb, 0x978, 0x7fb, 0x978, 0x7fb, 0xc54, 0xaa4, 0xc54, -0xaa4, 0xf5d, 0xd78, 0xf5d, 0xd78, 0x1161, 0xf47, 0x1161, 0xf47, 0x136b, 0x111e, -0x136b, 0x111e, 0x1557, 0x12da, 0x1557, 0x12da, 0x1557, 0x12da, 0x17d3, 0x152c, 0x17d3, -0x152c, 0x18c5, 0x15fb, 0x18c5, 0x15fb, 0x191b, 0x1635, 0x191b, 0x1635, 0x1a43, 0x1749, -0x1a43, 0x1749, 0x199f, 0x169c, 0x199f, 0x169c, 0x1992, 0x1690, 0x1992, 0x1690, 0x1992, -0x1690, 0x1a07, 0x1711, 0x1a07, 0x1711, 0x18e0, 0x15fe, 0x18e0, 0x15fe, 0x1687, 0x13c3, -0x1687, 0x13c3, 0x148d, 0x11ef, 0x148d, 0x11ef, 0x134a, 0x10d8, 0x134a, 0x10d8, 0x11a2, -0xf63, 0x11a2, 0xf63, 0x11a2, 0xf63, 0x10a9, 0xea0, 0x10a9, 0xea0, 0xf7a, 0xda9, -0xf7a, 0xda9, 0xcf1, 0xb57, 0xcf1, 0xb57, 0xa2d, 0x8c9, 0xa2d, 0x8c9, 0x774, -0x644, 0x774, 0x644, 0x774, 0x644, 0x5a5, 0x4a3, 0x5a5, 0x4a3, 0x4c7, 0x3ee, -0x4c7, 0x3ee, 0x3bc, 0x304, 0x3bc, 0x304, 0x3f9, 0x35b, 0x3f9, 0x35b, 0x419, -0x38d, 0x419, 0x38d, 0x391, 0x310, 0x391, 0x310, 0x391, 0x310, 0x3c6, 0x349, -0x3c6, 0x349, 0x2ec, 0x26d, 0x2ec, 0x26d, 0x293, 0x20d, 0x293, 0x20d, 0x189, -0xf8, 0x189, 0xf8, 0xffb0, 0xff12, 0xffb0, 0xff12, 0x79, 0xffcd, 0x79, 0xffcd, -0x79, 0xffcd, 0x8f, 0xffd8, 0x8f, 0xffd8, 0xff9f, 0xfede, 0xff9f, 0xfede, 0xa8, -0xffe2, 0xa8, 0xffe2, 0x2cf, 0x20a, 0x2cf, 0x20a, 0x45f, 0x3a1, 0x45f, 0x3a1, -0x45f, 0x3a1, 0x3f3, 0x345, 0x3f3, 0x345, 0x3c6, 0x330, 0x3c6, 0x330, 0x366, -0x2f0, 0x366, 0x2f0, 0x45, 0xfff8, 0x45, 0xfff8, 0xff14, 0xfef7, 0xff14, 0xfef7, -0xff75, 0xff8f, 0xff75, 0xff8f, 0xff75, 0xff8f, 0xfee4, 0xff3b, 0xfee4, 0xff3b, 0x9, -0xa0, 0x9, 0xa0, 0x10a, 0x1e3, 0x10a, 0x1e3, 0x166, 0x282, 0x166, 0x282, -0x1c1, 0x31f, 0x1c1, 0x31f, 0xbf, 0x25c, 0xbf, 0x25c, 0xbf, 0x25c, 0xff63, -0x13a, 0xff63, 0x13a, 0xfd24, 0xff2d, 0xfd24, 0xff2d, 0xfac5, 0xfcfa, 0xfac5, 0xfcfa, -0xf9d2, 0xfc29, 0xf9d2, 0xfc29, 0xf925, 0xfb94, 0xf925, 0xfb94, 0xf925, 0xfb94, 0xf86e, -0xfaeb, 0xf86e, 0xfaeb, 0xf77b, 0xf9fb, 0xf77b, 0xf9fb, 0xf7c0, 0xfa3a, 0xf7c0, 0xfa3a, -0xf79f, 0xfa07, 0xf79f, 0xfa07, 0xf6ed, 0xf93c, 0xf6ed, 0xf93c, 0xf84b, 0xfa7a, 0xf84b, -0xfa7a, 0xf84b, 0xfa7a, 0xf84b, 0xfa53, 0xf84b, 0xfa53, 0xf7e9, 0xf9c5, 0xf7e9, 0xf9c5, -0xf7e8, 0xf996, 0xf7e8, 0xf996, 0xf790, 0xf90d, 0xf790, 0xf90d, 0xf8b4, 0xfa02, 0xf8b4, -0xfa02, 0xf9c8, 0xfae6, 0xf9c8, 0xfae6, 0xf9c8, 0xfae6, 0xfad6, 0xfbc9, 0xfad6, 0xfbc9, -0xfbda, 0xfca5, 0xfbda, 0xfca5, 0xfcb2, 0xfd5a, 0xfcb2, 0xfd5a, 0xfdba, 0xfe44, 0xfdba, -0xfe44, 0xfef5, 0xff67, 0xfef5, 0xff67, 0xfef5, 0xff67, 0xffde, 0x3c, 0xffde, 0x3c, -0xff16, 0xff66, 0xff16, 0xff66, 0xfeaa, 0xfef1, 0xfeaa, 0xfef1, 0xff56, 0xff97, 0xff56, -0xff97, 0xfe6c, 0xfea9, 0xfe6c, 0xfea9, 0xfd99, 0xfdd6, 0xfd99, 0xfdd6, 0xfd99, 0xfdd6, -0xfe03, 0xfe40, 0xfe03, 0xfe40, 0xfcf8, 0xfd33, 0xfcf8, 0xfd33, 0xfbca, 0xfc03, 0xfbca, -0xfc03, 0xfbbf, 0xfbf4, 0xfbbf, 0xfbf4, 0xfc62, 0xfc8f, 0xfc62, 0xfc8f, 0xfc62, 0xfc8f, -0xfb96, 0xfbb8, 0xfb96, 0xfbb8, 0xf9b0, 0xf9c3, 0xf9b0, 0xf9c3, 0xfb04, 0xfb04, 0xfb04, -0xfb04, 0xfb6a, 0xfb53, 0xfb6a, 0xfb53, 0xf985, 0xf954, 0xf985, 0xf954, 0xfa50, 0xfa02, -0xfa50, 0xfa02, 0xfa50, 0xfa02, 0xfb32, 0xfac4, 0xfb32, 0xfac4, 0xfacb, 0xfa3d, 0xfacb, -0xfa3d, 0xfb82, 0xfad4, 0xfb82, 0xfad4, 0xfddf, 0xfd11, 0xfddf, 0xfd11, 0xff87, 0xfe9c, -0xff87, 0xfe9c, 0xfe78, 0xfd72, 0xfe78, 0xfd72, 0xfe78, 0xfd72, 0xff41, 0xfe25, 0xff41, -0xfe25, 0x150, 0x22, 0x150, 0x22, 0x156, 0x1a, 0x156, 0x1a, 0x1d9, 0x96, -0x1d9, 0x96, 0x279, 0x133, 0x279, 0x133, 0x279, 0x133, 0x32a, 0x1e6, 0x32a, -0x1e6, 0x351, 0x215, 0x351, 0x215, 0x305, 0x1d5, 0x305, 0x1d5, 0x565, 0x443, -0x565, 0x443, 0x855, 0x744, 0x855, 0x744, 0x9dd, 0x8de, 0x9dd, 0x8de, 0x9dd, -0x8de, 0xb2c, 0xa3f, 0xb2c, 0xa3f, 0xc86, 0xba9, 0xc86, 0xba9, 0xd77, 0xca9, -0xd77, 0xca9, 0xc35, 0xb72, 0xc35, 0xb72, 0xb89, 0xacc, 0xb89, 0xacc, 0xc35, -0xb7a, 0xc35, 0xb7a, 0xc35, 0xb7a, 0xa9b, 0x9dc, 0xa9b, 0x9dc, 0xa39, 0x96f, -0xa39, 0x96f, 0xb0e, 0xa33, 0xb0e, 0xa33, 0xbb0, 0xabf, 0xbb0, 0xabf, 0xcdb, -0xbcf, 0xcdb, 0xbcf, 0xcdb, 0xbcf, 0xddb, 0xcae, 0xddb, 0xcae, 0xfe8, 0xe97, -0xfe8, 0xe97, 0x10b3, 0xf39, 0x10b3, 0xf39, 0x10f4, 0xf50, 0x10f4, 0xf50, 0x1285, -0x10b6, 0x1285, 0x10b6, 0x136b, 0x1170, 0x136b, 0x1170, 0x136b, 0x1170, 0x128b, 0x1066, -0x128b, 0x1066, 0x11f7, 0xfa9, 0x11f7, 0xfa9, 0x1385, 0x1110, 0x1385, 0x1110, 0x1394, -0x10fc, 0x1394, 0x10fc, 0x12b7, 0x1001, 0x12b7, 0x1001, 0x1371, 0x109f, 0x1371, 0x109f, -0x1371, 0x109f, 0x133a, 0x1051, 0x133a, 0x1051, 0x125a, 0xf5d, 0x125a, 0xf5d, 0x12b5, -0xfa9, 0x12b5, 0xfa9, 0x1376, 0x105e, 0x1376, 0x105e, 0x13e1, 0x10c0, 0x13e1, 0x10c0, -0x13e1, 0x10c0, 0x1379, 0x1052, 0x1379, 0x1052, 0x13d2, 0x10a6, 0x13d2, 0x10a6, 0x157d, -0x124e, 0x157d, 0x124e, 0x15eb, 0x12ba, 0x15eb, 0x12ba, 0x1664, 0x1332, 0x1664, 0x1332, -0x1721, 0x13ef, 0x1721, 0x13ef, 0x1721, 0x13ef, 0x1703, 0x13d1, 0x1703, 0x13d1, 0x16d9, -0x13a9, 0x16d9, 0x13a9, 0x15bf, 0x1292, 0x15bf, 0x1292, 0x15de, 0x12b6, 0x15de, 0x12b6, -0x16a1, 0x1381, 0x16a1, 0x1381, 0x1504, 0x11f0, 0x1504, 0x11f0, 0x1504, 0x11f0, 0x14b2, -0x11ae, 0x14b2, 0x11ae, 0x157e, 0x128f, 0x157e, 0x128f, 0x14f9, 0x1225, 0x14f9, 0x1225, -0x13a9, 0x10f9, 0x13a9, 0x10f9, 0x1390, 0x110b, 0x1390, 0x110b, 0x1390, 0x110b, 0x14b9, -0x1267, 0x14b9, 0x1267, 0x121a, 0x1004, 0x121a, 0x1004, 0xfdc, 0xe0b, 0xfdc, 0xe0b, -0x1064, 0xee0, 0x1064, 0xee0, 0xe64, 0xd36, 0xe64, 0xd36, 0xc24, 0xb52, 0xc24, -0xb52, 0xc24, 0xb52, 0xab0, 0xa42, 0xab0, 0xa42, 0x897, 0x890, 0x897, 0x890, -0x56e, 0x5d2, 0x56e, 0x5d2, 0x161, 0x230, 0x161, 0x230, 0xfed9, 0x13, 0xfed9, -0x13, 0xfc13, 0xfdb5, 0xfc13, 0xfdb5, 0xfc13, 0xfdb5, 0xf922, 0xfb27, 0xf922, 0xfb27, -0xf8c6, 0xfb28, 0xf8c6, 0xfb28, 0xf791, 0xfa46, 0xf791, 0xfa46, 0xf5c3, 0xf8c1, 0xf5c3, -0xf8c1, 0xf449, 0xf785, 0xf449, 0xf785, 0xf449, 0xf785, 0xf205, 0xf573, 0xf205, 0xf573, -0xf00c, 0xf39e, 0xf00c, 0xf39e, 0xed2c, 0xf0d4, 0xed2c, 0xf0d4, 0xeb33, 0xeee4, 0xeb33, -0xeee4, 0xeaa0, 0xee4e, 0xeaa0, 0xee4e, 0xeaa2, 0xee40, 0xeaa2, 0xee40, 0xeaa2, 0xee40, -0xead3, 0xee56, 0xead3, 0xee56, 0xeb6e, 0xeecd, 0xeb6e, 0xeecd, 0xede4, 0xf118, 0xede4, -0xf118, 0xef3e, 0xf241, 0xef3e, 0xf241, 0xf02e, 0xf2fb, 0xf02e, 0xf2fb, 0xf16f, 0xf403, -0xf16f, 0xf403, 0xf16f, 0xf403, 0xf23c, 0xf498, 0xf23c, 0xf498, 0xf39b, 0xf5bf, 0xf39b, -0xf5bf, 0xf434, 0xf622, 0xf434, 0xf622, 0xf5aa, 0xf766, 0xf5aa, 0xf766, 0xf7d5, 0xf962, -0xf7d5, 0xf962, 0xf7d5, 0xf962, 0xf84f, 0xf9b1, 0xf84f, 0xf9b1, 0xf98f, 0xfacb, 0xf98f, -0xfacb, 0xfb66, 0xfc80, 0xfb66, 0xfc80, 0xfba6, 0xfca1, 0xfba6, 0xfca1, 0xfbdb, 0xfcba, -0xfbdb, 0xfcba, 0xfc37, 0xfcfa, 0xfc37, 0xfcfa, 0xfc37, 0xfcfa, 0xfc0c, 0xfcb5, 0xfc0c, -0xfcb5, 0xfbf4, 0xfc82, 0xfbf4, 0xfc82, 0xfcdc, 0xfd4d, 0xfcdc, 0xfd4d, 0xfe7c, 0xfecc, -0xfe7c, 0xfecc, 0xfebc, 0xfee8, 0xfebc, 0xfee8, 0xfedf, 0xfee3, 0xfedf, 0xfee3, 0xfedf, -0xfee3, 0xffd9, 0xffaf, 0xffd9, 0xffaf, 0xff85, 0xff29, 0xff85, 0xff29, 0xffb7, 0xff24, -0xffb7, 0xff24, 0xd7, 0x9, 0xd7, 0x9, 0x1fc, 0xf2, 0x1fc, 0xf2, 0x1fc, -0xf2, 0x394, 0x24c, 0x394, 0x24c, 0x4c8, 0x343, 0x4c8, 0x343, 0x75e, 0x5a0, -0x75e, 0x5a0, 0x865, 0x673, 0x865, 0x673, 0x79e, 0x580, 0x79e, 0x580, 0x7c8, -0x589, 0x7c8, 0x589, 0x7c8, 0x589, 0x660, 0x40c, 0x660, 0x40c, 0x58d, 0x333, -0x58d, 0x333, 0x3c3, 0x172, 0x3c3, 0x172, 0x124, 0xfeef, 0x124, 0xfeef, 0x190, -0xff89, 0x190, 0xff89, 0x6, 0xfe40, 0x6, 0xfe40, 0x6, 0xfe40, 0xfc0b, 0xfa99, -0xfc0b, 0xfa99, 0xfa43, 0xf936, 0xfa43, 0xf936, 0xf8fb, 0xf864, 0xf8fb, 0xf864, 0xf530, -0xf51d, 0xf530, 0xf51d, 0xf022, 0xf09f, 0xf022, 0xf09f, 0xf022, 0xf09f, 0xed48, 0xee5e, -0xed48, 0xee5e, 0xea8d, 0xec43, 0xea8d, 0xec43, 0xe5af, 0xe806, 0xe5af, 0xe806, 0xe358, -0xe651, 0xe358, 0xe651, 0xe30b, 0xe69f, 0xe30b, 0xe69f, 0xe22f, 0xe657, 0xe22f, 0xe657, -0xe22f, 0xe657, 0xe06f, 0xe520, 0xe06f, 0xe520, 0xde8a, 0xe3b5, 0xde8a, 0xe3b5, 0xdc9d, -0xe231, 0xdc9d, 0xe231, 0xd8b3, 0xde9d, 0xd8b3, 0xde9d, 0xd66b, 0xdc98, 0xd66b, 0xdc98, -0xd66b, 0xdc98, 0xd4d6, 0xdb2f, 0xd4d6, 0xdb2f, 0xd28e, 0xd8fe, 0xd28e, 0xd8fe, 0xd21b, -0xd88e, 0xd21b, 0xd88e, 0xd23d, 0xd89e, 0xd23d, 0xd89e, 0xd30c, 0xd949, 0xd30c, 0xd949, -0xd379, 0xd982, 0xd379, 0xd982, 0xd379, 0xd982, 0xd443, 0xda09, 0xd443, 0xda09, 0xd6b3, -0xdc2c, 0xd6b3, 0xdc2c, 0xd8fb, 0xde1d, 0xd8fb, 0xde1d, 0xdb35, 0xdff9, 0xdb35, 0xdff9, -0xdd3e, 0xe1a3, 0xdd3e, 0xe1a3, 0xdfa5, 0xe3a8, 0xdfa5, 0xe3a8, 0xdfa5, 0xe3a8, 0xe2b7, -0xe65b, 0xe2b7, 0xe65b, 0xe4f1, 0xe839, 0xe4f1, 0xe839, 0xe75e, 0xea4f, 0xe75e, 0xea4f, -0xe9ed, 0xec8c, 0xe9ed, 0xec8c, 0xebcb, 0xee1f, 0xebcb, 0xee1f, 0xebcb, 0xee1f, 0xed74, -0xef82, 0xed74, 0xef82, 0xeee9, 0xf0b8, 0xeee9, 0xf0b8, 0xf0f9, 0xf28e, 0xf0f9, 0xf28e, -0xf23b, 0xf398, 0xf23b, 0xf398, 0xf2c8, 0xf3f0, 0xf2c8, 0xf3f0, 0xf4ed, 0xf5e0, 0xf4ed, -0xf5e0, 0xf4ed, 0xf5e0, 0xf5f2, 0xf6af, 0xf5f2, 0xf6af, 0xf598, 0xf61d, 0xf598, 0xf61d, -0xf753, 0xf79a, 0xf753, 0xf79a, 0xf83b, 0xf83d, 0xf83b, 0xf83d, 0xf876, 0xf82c, 0xf876, -0xf82c, 0xf9fe, 0xf960, 0xf9fe, 0xf960, 0xf9fe, 0xf960, 0xfc17, 0xfb1f, 0xfc17, 0xfb1f, -0xff28, 0xfdcc, 0xff28, 0xfdcc, 0x51, 0xfe8b, 0x51, 0xfe8b, 0x341, 0x10b, 0x341, -0x10b, 0x869, 0x5bf, 0x869, 0x5bf, 0x869, 0x5bf, 0xb40, 0x821, 0xb40, 0x821, -0xe60, 0xacc, 0xe60, 0xacc, 0x1171, 0xd6c, 0x1171, 0xd6c, 0x14e0, 0x1072, 0x14e0, -0x1072, 0x1920, 0x1452, 0x1920, 0x1452, 0x1c8b, 0x176a, 0x1c8b, 0x176a, 0x1c8b, 0x176a, -0x2032, 0x1acd, 0x2032, 0x1acd, 0x2392, 0x1dfc, 0x2392, 0x1dfc, 0x25a6, 0x1ff3, 0x25a6, -0x1ff3, 0x26ed, 0x2132, 0x26ed, 0x2132, 0x2813, 0x2267, 0x2813, 0x2267, 0x293e, 0x23b8, -0x293e, 0x23b8, 0x293e, 0x23b8, 0x2837, 0x22ee, 0x2837, 0x22ee, 0x268b, 0x2194, 0x268b, -0x2194, 0x24fb, 0x206b, 0x24fb, 0x206b, 0x20bf, 0x1ca7, 0x20bf, 0x1ca7, 0x1d8b, 0x19fb, -0x1d8b, 0x19fb, 0x1d8b, 0x19fb, 0x1b87, 0x188b, 0x1b87, 0x188b, 0x1922, 0x16c3, 0x1922, -0x16c3, 0x1685, 0x14c8, 0x1685, 0x14c8, 0x13bb, 0x12a1, 0x13bb, 0x12a1, 0x118a, 0x1111, -0x118a, 0x1111, 0xc72, 0xc93, 0xc72, 0xc93, 0xc72, 0xc93, 0x65f, 0x712, 0x65f, -0x712, 0x1a0, 0x2d8, 0x1a0, 0x2d8, 0xfcdb, 0xfe89, 0xfcdb, 0xfe89, 0xf898, 0xfaac, -0xf898, 0xfaac, 0xf4cc, 0xf732, 0xf4cc, 0xf732, 0xf251, 0xf4f7, 0xf251, 0xf4f7, 0xf251, -0xf4f7, 0xefc6, 0xf298, 0xefc6, 0xf298, 0xed64, 0xf04f, 0xed64, 0xf04f, 0xecdc, 0xefcf, -0xecdc, 0xefcf, 0xeb6d, 0xee56, 0xeb6d, 0xee56, 0xe9d4, 0xeca4, 0xe9d4, 0xeca4, 0xe9d4, -0xeca4, 0xe8ed, 0xeb97, 0xe8ed, 0xeb97, 0xe804, 0xea7f, 0xe804, 0xea7f, 0xe871, 0xeab4, -0xe871, 0xeab4, 0xe83e, 0xea44, 0xe83e, 0xea44, 0xe8af, 0xea75, 0xe8af, 0xea75, 0xea39, -0xebbd, 0xea39, 0xebbd, 0xea39, 0xebbd, 0xea85, 0xebca, 0xea85, 0xebca, 0xebd8, 0xece1, -0xebd8, 0xece1, 0xedb6, 0xee86, 0xedb6, 0xee86, 0xef0b, 0xefa8, 0xef0b, 0xefa8, 0xf144, -0xf1b5, 0xf144, 0xf1b5, 0xf247, 0xf291, 0xf247, 0xf291, 0xf247, 0xf291, 0xf2f6, 0xf320, -0xf2f6, 0xf320, 0xf559, 0xf566, 0xf559, 0xf566, 0xf65a, 0xf650, 0xf65a, 0xf650, 0xf7dc, -0xf7bf, 0xf7dc, 0xf7bf, 0xf9f0, 0xf9c1, 0xf9f0, 0xf9c1, 0xf9f0, 0xf9c1, 0xfb5d, 0xfb1d, -0xfb5d, 0xfb1d, 0xfd73, 0xfd21, 0xfd73, 0xfd21, 0xfecf, 0xfe6a, 0xfecf, 0xfe6a, 0x13c, -0xc0, 0x13c, 0xc0, 0x383, 0x2ed, 0x383, 0x2ed, 0x580, 0x4cd, 0x580, 0x4cd, -0x580, 0x4cd, 0x808, 0x733, 0x808, 0x733, 0x91a, 0x81e, 0x91a, 0x81e, 0xa35, -0x910, 0xa35, 0x910, 0xb88, 0xa36, 0xb88, 0xa36, 0xcf4, 0xb75, 0xcf4, 0xb75, -0xe41, 0xc93, 0xe41, 0xc93, 0xe41, 0xc93, 0xf2d, 0xd52, 0xf2d, 0xd52, 0x1188, -0xf83, 0x1188, 0xf83, 0x1355, 0x112c, 0x1355, 0x112c, 0x1367, 0x1120, 0x1367, 0x1120, -0x1496, 0x1239, 0x1496, 0x1239, 0x1496, 0x1239, 0x1594, 0x132c, 0x1594, 0x132c, 0x1632, -0x13ca, 0x1632, 0x13ca, 0x169d, 0x1440, 0x169d, 0x1440, 0x16c6, 0x1483, 0x16c6, 0x1483, -0x1777, 0x155b, 0x1777, 0x155b, 0x1582, 0x139a, 0x1582, 0x139a, 0x1582, 0x139a, 0x12a5, -0x10ff, 0x12a5, 0x10ff, 0x1092, 0xf3a, 0x1092, 0xf3a, 0xe6a, 0xd69, 0xe6a, 0xd69, -0xbc3, 0xb24, 0xbc3, 0xb24, 0x927, 0x8f1, 0x927, 0x8f1, 0x805, 0x83e, 0x805, -0x83e, 0x805, 0x83e, 0x528, 0x5d2, 0x528, 0x5d2, 0x1aa, 0x2c7, 0x1aa, 0x2c7, -0xfef9, 0x86, 0xfef9, 0x86, 0xfa67, 0xfc61, 0xfa67, 0xfc61, 0xf578, 0xf7d9, 0xf578, -0xf7d9, 0xf578, 0xf7d9, 0xf12d, 0xf3ed, 0xf12d, 0xf3ed, 0xeea8, 0xf1bc, 0xeea8, 0xf1bc, -0xed9e, 0xf0fc, 0xed9e, 0xf0fc, 0xeb0d, 0xeea8, 0xeb0d, 0xeea8, 0xe917, 0xece1, 0xe917, -0xece1, 0xe793, 0xeb7c, 0xe793, 0xeb7c, 0xe793, 0xeb7c, 0xe637, 0xea32, 0xe637, 0xea32, -0xe702, 0xeb01, 0xe702, 0xeb01, 0xe7b4, 0xeba7, 0xe7b4, 0xeba7, 0xe885, 0xec60, 0xe885, -0xec60, 0xe936, 0xeceb, 0xe936, 0xeceb, 0xea33, 0xedb6, 0xea33, 0xedb6, 0xea33, 0xedb6, -0xeca8, 0xefee, 0xeca8, 0xefee, 0xee0e, 0xf10c, 0xee0e, 0xf10c, 0xef9b, 0xf24a, 0xef9b, -0xf24a, 0xf337, 0xf58e, 0xf337, 0xf58e, 0xf56e, 0xf767, 0xf56e, 0xf767, 0xf56e, 0xf767, -0xf666, 0xf7fb, 0xf666, 0xf7fb, 0xf89e, 0xf9cc, 0xf89e, 0xf9cc, 0xfafb, 0xfbbe, 0xfafb, -0xfbbe, 0xfd31, 0xfd86, 0xfd31, 0xfd86, 0xfef8, 0xfede, 0xfef8, 0xfede, 0x266, 0x1db, -0x266, 0x1db, 0x266, 0x1db, 0x5d5, 0x4d9, 0x5d5, 0x4d9, 0x7b2, 0x647, 0x7b2, -0x647, 0xa74, 0x899, 0xa74, 0x899, 0xc9d, 0xa54, 0xc9d, 0xa54, 0xed4, 0xc1f, -0xed4, 0xc1f, 0xed4, 0xc1f, 0x1057, 0xd39, 0x1057, 0xd39, 0x11eb, 0xe67, 0x11eb, -0xe67, 0x1527, 0x1142, 0x1527, 0x1142, 0x1774, 0x1334, 0x1774, 0x1334, 0x19b4, 0x151d, -0x19b4, 0x151d, 0x1c26, 0x1740, 0x1c26, 0x1740, 0x1c26, 0x1740, 0x1e05, 0x18d7, 0x1e05, -0x18d7, 0x20a1, 0x1b34, 0x20a1, 0x1b34, 0x227c, 0x1cd9, 0x227c, 0x1cd9, 0x2425, 0x1e55, -0x2425, 0x1e55, 0x26be, 0x20cd, 0x26be, 0x20cd, 0x2781, 0x2179, 0x2781, 0x2179, 0x2781, -0x2179, 0x27f8, 0x21e6, 0x27f8, 0x21e6, 0x288c, 0x2279, 0x288c, 0x2279, 0x288e, 0x2289, -0x288e, 0x2289, 0x27f2, 0x2204, 0x27f2, 0x2204, 0x26d6, 0x210b, 0x26d6, 0x210b, 0x26d6, -0x210b, 0x26fa, 0x215e, 0x26fa, 0x215e, 0x2635, 0x20d0, 0x2635, 0x20d0, 0x24b6, 0x1f91, -0x24b6, 0x1f91, 0x232b, 0x1e4f, 0x232b, 0x1e4f, 0x2172, 0x1ce5, 0x2172, 0x1ce5, 0x1f7d, -0x1b45, 0x1f7d, 0x1b45, 0x1f7d, 0x1b45, 0x1d6e, 0x198f, 0x1d6e, 0x198f, 0x1e08, 0x1a86, -0x1e08, 0x1a86, 0x1e40, 0x1b1c, 0x1e40, 0x1b1c, 0x1c10, 0x194c, 0x1c10, 0x194c, 0x1b13, -0x18ae, 0x1b13, 0x18ae, 0x193d, 0x1736, 0x193d, 0x1736, 0x193d, 0x1736, 0x15c4, 0x141a, -0x15c4, 0x141a, 0x130c, 0x11bb, 0x130c, 0x11bb, 0x1088, 0xf90, 0x1088, 0xf90, 0xe34, -0xd91, 0xe34, 0xd91, 0xae2, 0xa90, 0xae2, 0xa90, 0xae2, 0xa90, 0x896, 0x894, -0x896, 0x894, 0x6f6, 0x741, 0x6f6, 0x741, 0x3b1, 0x445, 0x3b1, 0x445, 0x160, -0x23c, 0x160, 0x23c, 0xffb6, 0xd7, 0xffb6, 0xd7, 0xfe9e, 0x1, 0xfe9e, 0x1, -0xfe9e, 0x1, 0xfd90, 0xff34, 0xfd90, 0xff34, 0xfb80, 0xfd62, 0xfb80, 0xfd62, 0xf9c6, -0xfbe4, 0xf9c6, 0xfbe4, 0xf7ce, 0xfa24, 0xf7ce, 0xfa24, 0xf52a, 0xf7b3, 0xf52a, 0xf7b3, -0xf3cc, 0xf686, 0xf3cc, 0xf686, 0xf3cc, 0xf686, 0xf2a6, 0xf58a, 0xf2a6, 0xf58a, 0xf129, -0xf42f, 0xf129, 0xf42f, 0xefce, 0xf2f0, 0xefce, 0xf2f0, 0xeeb6, 0xf1ec, 0xeeb6, 0xf1ec, -0xef13, 0xf253, 0xef13, 0xf253, 0xef13, 0xf253, 0xed6d, 0xf0ac, 0xed6d, 0xf0ac, 0xec94, -0xefc7, 0xec94, 0xefc7, 0xee3a, 0xf155, 0xee3a, 0xf155, 0xee2f, 0xf125, 0xee2f, 0xf125, -0xee6d, 0xf133, 0xee6d, 0xf133, 0xeed7, 0xf160, 0xeed7, 0xf160, 0xeed7, 0xf160, 0xef3e, -0xf17f, 0xef3e, 0xf17f, 0xf03d, 0xf22c, 0xf03d, 0xf22c, 0xf0e8, 0xf27c, 0xf0e8, 0xf27c, -0xf276, 0xf3a8, 0xf276, 0xf3a8, 0xf461, 0xf52d, 0xf461, 0xf52d, 0xf665, 0xf6c7, 0xf665, -0xf6c7, 0xf665, 0xf6c7, 0xfa0f, 0xfa07, 0xfa0f, 0xfa07, 0xfcbe, 0xfc4e, 0xfcbe, 0xfc4e, -0xfe5c, 0xfd8a, 0xfe5c, 0xfd8a, 0x110, 0xffe3, 0x110, 0xffe3, 0x3db, 0x25d, 0x3db, -0x25d, 0x3db, 0x25d, 0x63e, 0x47c, 0x63e, 0x47c, 0x827, 0x62f, 0x827, 0x62f, -0xb06, 0x8e8, 0xb06, 0x8e8, 0xd55, 0xb22, 0xd55, 0xb22, 0xe63, 0xc2c, 0xe63, -0xc2c, 0xf73, 0xd4b, 0xf73, 0xd4b, 0xf73, 0xd4b, 0x10f3, 0xeea, 0x10f3, 0xeea, -0x1337, 0x115e, 0x1337, 0x115e, 0x1425, 0x128b, 0x1425, 0x128b, 0x13da, 0x128b, 0x13da, -0x128b, 0x1266, 0x116e, 0x1266, 0x116e, 0xff9, 0xf5f, 0xff9, 0xf5f, 0xff9, 0xf5f, -0xe05, 0xdd0, 0xe05, 0xdd0, 0xb41, 0xb72, 0xb41, 0xb72, 0x85d, 0x8f5, 0x85d, -0x8f5, 0x704, 0x800, 0x704, 0x800, 0x581, 0x6db, 0x581, 0x6db, 0x581, 0x6db, -0x49e, 0x64e, 0x49e, 0x64e, 0x3cd, 0x5ca, 0x3cd, 0x5ca, 0x152, 0x392, 0x152, -0x392, 0xfe5c, 0xd1, 0xfe5c, 0xd1, 0xfbb0, 0xfe50, 0xfbb0, 0xfe50, 0xfa1e, 0xfcdc, -0xfa1e, 0xfcdc, 0xfa1e, 0xfcdc, 0xf74a, 0xfa1b, 0xf74a, 0xfa1b, 0xf53d, 0xf816, 0xf53d, -0xf816, 0xf525, 0xf7fd, 0xf525, 0xf7fd, 0xf322, 0xf5f3, 0xf322, 0xf5f3, 0xf164, 0xf429, -0xf164, 0xf429, 0xf079, 0xf330, 0xf079, 0xf330, 0xf079, 0xf330, 0xeead, 0xf155, 0xeead, -0xf155, 0xed0c, 0xefa6, 0xed0c, 0xefa6, 0xeb6a, 0xedfb, 0xeb6a, 0xedfb, 0xea18, 0xeca5, -0xea18, 0xeca5, 0xe90e, 0xeb9f, 0xe90e, 0xeb9f, 0xe90e, 0xeb9f, 0xe6b8, 0xe953, 0xe6b8, -0xe953, 0xe540, 0xe7ef, 0xe540, 0xe7ef, 0xe360, 0xe62b, 0xe360, 0xe62b, 0xe16b, 0xe459, -0xe16b, 0xe459, 0xe1d2, 0xe4ea, 0xe1d2, 0xe4ea, 0xe051, 0xe398, 0xe051, 0xe398, 0xe051, -0xe398, 0xde38, 0xe1b2, 0xde38, 0xe1b2, 0xdcc6, 0xe073, 0xdcc6, 0xe073, 0xdb2a, 0xdf09, -0xdb2a, 0xdf09, 0xdaec, 0xdef7, 0xdaec, 0xdef7, 0xda3b, 0xde6c, 0xda3b, 0xde6c, 0xd923, -0xdd72, 0xd923, 0xdd72, 0xd923, 0xdd72, 0xd989, 0xdde9, 0xd989, 0xdde9, 0xda48, 0xdeac, -0xda48, 0xdeac, 0xda05, 0xde5e, 0xda05, 0xde5e, 0xd99a, 0xddd8, 0xd99a, 0xddd8, 0xdae8, -0xdefb, 0xdae8, 0xdefb, 0xdae8, 0xdefb, 0xdd2e, 0xe106, 0xdd2e, 0xe106, 0xde79, 0xe206, -0xde79, 0xe206, 0xe0f7, 0xe42d, 0xe0f7, 0xe42d, 0xe42a, 0xe6fd, 0xe42a, 0xe6fd, 0xe631, -0xe898, 0xe631, 0xe898, 0xe7b0, 0xe9a6, 0xe7b0, 0xe9a6, 0xe7b0, 0xe9a6, 0xe9fa, 0xeb7b, -0xe9fa, 0xeb7b, 0xecbd, 0xedcb, 0xecbd, 0xedcb, 0xee36, 0xeed4, 0xee36, 0xeed4, 0xf085, -0xf0bc, 0xf085, 0xf0bc, 0xf387, 0xf362, 0xf387, 0xf362, 0xf603, 0xf58f, 0xf603, 0xf58f, -0xf603, 0xf58f, 0xf893, 0xf7e2, 0xf893, 0xf7e2, 0xfb4f, 0xfa72, 0xfb4f, 0xfa72, 0xfd1f, -0xfc2a, 0xfd1f, 0xfc2a, 0xfd59, 0xfc60, 0xfd59, 0xfc60, 0xfea7, 0xfdbe, 0xfea7, 0xfdbe, -0xfea7, 0xfdbe, 0x90, 0xffca, 0x90, 0xffca, 0x1d, 0xff8c, 0x1d, 0xff8c, 0xfea0, -0xfe53, 0xfea0, 0xfe53, 0xfd61, 0xfd64, 0xfd61, 0xfd64, 0xfc3d, 0xfc9a, 0xfc3d, 0xfc9a, -0xfc6d, 0xfd29, 0xfc6d, 0xfd29, 0xfc6d, 0xfd29, 0xfca7, 0xfdc5, 0xfca7, 0xfdc5, 0xfd1c, -0xfe9a, 0xfd1c, 0xfe9a, 0xfd35, 0xff0d, 0xfd35, 0xff0d, 0xfc92, 0xfebb, 0xfc92, 0xfebb, -0xfc9c, 0xff0a, 0xfc9c, 0xff0a, 0xfc9c, 0xff0a, 0xfac7, 0xfd6b, 0xfac7, 0xfd6b, 0xf8c1, -0xfb89, 0xf8c1, 0xfb89, 0xf72a, 0xfa03, 0xf72a, 0xfa03, 0xf578, 0xf84f, 0xf578, 0xf84f, -0xf627, 0xf8e8, 0xf627, 0xf8e8, 0xf6a0, 0xf938, 0xf6a0, 0xf938, 0xf6a0, 0xf938, 0xf608, -0xf865, 0xf608, 0xf865, 0xf7d9, 0xf9eb, 0xf7d9, 0xf9eb, 0xfa3a, 0xfbf2, 0xfa3a, 0xfbf2, -0xfba7, 0xfcfb, 0xfba7, 0xfcfb, 0xfde0, 0xfec8, 0xfde0, 0xfec8, 0xc0, 0x137, 0xc0, -0x137, 0xc0, 0x137, 0x3cd, 0x3d3, 0x3cd, 0x3d3, 0x4f3, 0x489, 0x4f3, 0x489, -0x707, 0x633, 0x707, 0x633, 0xa91, 0x95b, 0xa91, 0x95b, 0xb93, 0xa06, 0xb93, -0xa06, 0xb93, 0xa06, 0xcf2, 0xb19, 0xcf2, 0xb19, 0xf17, 0xd00, 0xf17, 0xd00, -0xfa4, 0xd5e, 0xfa4, 0xd5e, 0xf66, 0xcff, 0xf66, 0xcff, 0xf0d, 0xc93, 0xf0d, -0xc93, 0xe67, 0xbe6, 0xe67, 0xbe6, 0xe67, 0xbe6, 0xdb3, 0xb37, 0xdb3, 0xb37, -0xd85, 0xb17, 0xd85, 0xb17, 0xdbd, 0xb64, 0xdbd, 0xb64, 0xd11, 0xad2, 0xd11, -0xad2, 0xc1f, 0x9fb, 0xc1f, 0x9fb, 0xab4, 0x8ab, 0xab4, 0x8ab, 0xab4, 0x8ab, -0x883, 0x693, 0x883, 0x693, 0x771, 0x595, 0x771, 0x595, 0x675, 0x4a5, 0x675, -0x4a5, 0x5c0, 0x3f5, 0x5c0, 0x3f5, 0x5a6, 0x3d6, 0x5a6, 0x3d6, 0x5a6, 0x3d6, -0x5c9, 0x3ec, 0x5c9, 0x3ec, 0x5fb, 0x408, 0x5fb, 0x408, 0x68d, 0x47c, 0x68d, -0x47c, 0x75d, 0x526, 0x75d, 0x526, 0x71a, 0x4b9, 0x71a, 0x4b9, 0x75a, 0x4ca, -0x75a, 0x4ca, 0x75a, 0x4ca, 0x7f4, 0x535, 0x7f4, 0x535, 0x85b, 0x56f, 0x85b, -0x56f, 0x858, 0x541, 0x858, 0x541, 0x86a, 0x530, 0x86a, 0x530, 0x9fd, 0x6a7, -0x9fd, 0x6a7, 0xa91, 0x72a, 0xa91, 0x72a, 0xa91, 0x72a, 0x9de, 0x672, 0x9de, -0x672, 0xa79, 0x715, 0xa79, 0x715, 0xa66, 0x717, 0xa66, 0x717, 0x9cb, 0x6a0, -0x9cb, 0x6a0, 0xa0d, 0x714, 0xa0d, 0x714, 0xa0d, 0x714, 0x91b, 0x65f, 0x91b, -0x65f, 0x807, 0x594, 0x807, 0x594, 0x6b0, 0x48f, 0x6b0, 0x48f, 0x5de, 0x417, -0x5de, 0x417, 0x5ca, 0x460, 0x5ca, 0x460, 0x4ac, 0x3a3, 0x4ac, 0x3a3, 0x4ac, -0x3a3, 0x403, 0x359, 0x403, 0x359, 0x2e3, 0x295, 0x2e3, 0x295, 0x139, 0x141, -0x139, 0x141, 0x71, 0xc7, 0x71, 0xc7, 0xff7c, 0x16, 0xff7c, 0x16, 0xfe65, -0xff37, 0xfe65, 0xff37, 0xfe65, 0xff37, 0xfd7c, 0xfe79, 0xfd7c, 0xfe79, 0xfb13, 0xfc2d, -0xfb13, 0xfc2d, 0xf899, 0xf9c2, 0xf899, 0xf9c2, 0xf710, 0xf83b, 0xf710, 0xf83b, 0xf5f0, -0xf710, 0xf5f0, 0xf710, 0xf5f0, 0xf710, 0xf56a, 0xf674, 0xf56a, 0xf674, 0xf51d, 0xf607, -0xf51d, 0xf607, 0xf6b6, 0xf778, 0xf6b6, 0xf778, 0xf845, 0xf8da, 0xf845, 0xf8da, 0xf8ad, -0xf911, 0xf8ad, 0xf911, 0xf9f9, 0xfa2c, 0xf9f9, 0xfa2c, 0xf9f9, 0xfa2c, 0xfb10, 0xfb12, -0xfb10, 0xfb12, 0xfbbe, 0xfb93, 0xfbbe, 0xfb93, 0xfd55, 0xfd01, 0xfd55, 0xfd01, 0xfea3, -0xfe2e, 0xfea3, 0xfe2e, 0xff18, 0xfe89, 0xff18, 0xfe89, 0x32, 0xff91, 0x32, 0xff91, -0x32, 0xff91, 0x1ca, 0x121, 0x1ca, 0x121, 0x26d, 0x1c6, 0x26d, 0x1c6, 0x23a, -0x19b, 0x23a, 0x19b, 0x373, 0x2e5, 0x373, 0x2e5, 0x3d6, 0x35f, 0x3d6, 0x35f, -0x3d6, 0x35f, 0x29d, 0x242, 0x29d, 0x242, 0x24c, 0x210, 0x24c, 0x210, 0x234, -0x21a, 0x234, 0x21a, 0x176, 0x17c, 0x176, 0x17c, 0xffe9, 0xf, 0xffe9, 0xf, -0xff57, 0xff98, 0xff57, 0xff98, 0xff57, 0xff98, 0xff39, 0xff91, 0xff39, 0xff91, 0xfef5, -0xff5f, 0xfef5, 0xff5f, 0xfe7d, 0xfef1, 0xfe7d, 0xfef1, 0xfdd1, 0xfe48, 0xfdd1, 0xfe48, -0xfdf2, 0xfe65, 0xfdf2, 0xfe65, 0xfd7c, 0xfde3, 0xfd7c, 0xfde3, 0xfd7c, 0xfde3, 0xfd97, -0xfdeb, 0xfd97, 0xfdeb, 0xfe1d, 0xfe59, 0xfe1d, 0xfe59, 0xfdd3, 0xfdf1, 0xfdd3, 0xfdf1, -0xfe6b, 0xfe68, 0xfe6b, 0xfe68, 0xfef7, 0xfed0, 0xfef7, 0xfed0, 0xfef7, 0xfed0, 0xff97, -0xff4b, 0xff97, 0xff4b, 0xb9, 0x49, 0xb9, 0x49, 0x11b, 0x89, 0x11b, 0x89, -0x318, 0x266, 0x318, 0x266, 0x563, 0x496, 0x563, 0x496, 0x671, 0x58e, 0x671, -0x58e, 0x671, 0x58e, 0x802, 0x70e, 0x802, 0x70e, 0x8ab, 0x7ad, 0x8ab, 0x7ad, -0x8c5, 0x7c3, 0x8c5, 0x7c3, 0x8a7, 0x7a6, 0x8a7, 0x7a6, 0x922, 0x829, 0x922, -0x829, 0xa2e, 0x940, 0xa2e, 0x940, 0xa2e, 0x940, 0xa54, 0x975, 0xa54, 0x975, -0xbc2, 0xaf5, 0xbc2, 0xaf5, 0xde2, 0xd28, 0xde2, 0xd28, 0xe0d, 0xd66, 0xe0d, -0xd66, 0xdf2, 0xd5e, 0xdf2, 0xd5e, 0xdf2, 0xd5e, 0xe66, 0xde3, 0xe66, 0xde3, -0xde7, 0xd72, 0xde7, 0xd72, 0xc8c, 0xc20, 0xc8c, 0xc20, 0xae2, 0xa7c, 0xae2, -0xa7c, 0xa3c, 0x9d6, 0xa3c, 0x9d6, 0x955, 0x8ea, 0x955, 0x8ea, 0x955, 0x8ea, -0x841, 0x7cc, 0x841, 0x7cc, 0x940, 0x8bc, 0x940, 0x8bc, 0xa52, 0x9bb, 0xa52, -0x9bb, 0xaac, 0x9fc, 0xaac, 0x9fc, 0xb73, 0xaa9, 0xb73, 0xaa9, 0xc96, 0xbae, -0xc96, 0xbae, 0xc96, 0xbae, 0xd9e, 0xc98, 0xd9e, 0xc98, 0xe2e, 0xd07, 0xe2e, -0xd07, 0xdbb, 0xc74, 0xdbb, 0xc74, 0xd74, 0xc0e, 0xd74, 0xc0e, 0xd9a, 0xc14, -0xd9a, 0xc14, 0xd9a, 0xc14, 0xe3a, 0xc97, 0xe3a, 0xc97, 0xeee, 0xd30, 0xeee, -0xd30, 0xf57, 0xd7e, 0xf57, 0xd7e, 0x1119, 0xf28, 0x1119, 0xf28, 0x1204, 0xffd, -0x1204, 0xffd, 0x1315, 0x10f7, 0x1315, 0x10f7, 0x1315, 0x10f7, 0x1549, 0x1316, 0x1549, -0x1316, 0x1691, 0x1449, 0x1691, 0x1449, 0x1773, 0x1517, 0x1773, 0x1517, 0x1881, 0x1610, -0x1881, 0x1610, 0x1986, 0x1700, 0x1986, 0x1700, 0x1986, 0x1700, 0x196b, 0x16cf, 0x196b, -0x16cf, 0x19f2, 0x173f, 0x19f2, 0x173f, 0x1afc, 0x1832, 0x1afc, 0x1832, 0x1b83, 0x18a1, -0x1b83, 0x18a1, 0x1c08, 0x1910, 0x1c08, 0x1910, 0x1c62, 0x1955, 0x1c62, 0x1955, 0x1c62, -0x1955, 0x1ca6, 0x1987, 0x1ca6, 0x1987, 0x1acf, 0x17a0, 0x1acf, 0x17a0, 0x194c, 0x1613, -0x194c, 0x1613, 0x1a18, 0x16dc, 0x1a18, 0x16dc, 0x18d0, 0x1598, 0x18d0, 0x1598, 0x1645, -0x131a, 0x1645, 0x131a, 0x1645, 0x131a, 0x1483, 0x116f, 0x1483, 0x116f, 0x127f, 0xf8c, -0x127f, 0xf8c, 0x1114, 0xe4e, 0x1114, 0xe4e, 0xf8e, 0xd01, 0xf8e, 0xd01, 0xe5a, -0xc13, 0xe5a, 0xc13, 0xe5a, 0xc13, 0xcb4, 0xabf, 0xcb4, 0xabf, 0x9d3, 0x83b, -0x9d3, 0x83b, 0x811, 0x6e0, 0x811, 0x6e0, 0x5eb, 0x52a, 0x5eb, 0x52a, 0x359, -0x310, 0x359, 0x310, 0x89, 0xbe, 0x89, 0xbe, 0x89, 0xbe, 0xfd08, 0xfdbd, -0xfd08, 0xfdbd, 0xfab2, 0xfbe8, 0xfab2, 0xfbe8, 0xf7c1, 0xf976, 0xf7c1, 0xf976, 0xf4a4, -0xf6d6, 0xf4a4, 0xf6d6, 0xf39c, 0xf642, 0xf39c, 0xf642, 0xf241, 0xf553, 0xf241, 0xf553, -0xf241, 0xf553, 0xf073, 0xf3e7, 0xf073, 0xf3e7, 0xeec9, 0xf291, 0xeec9, 0xf291, 0xecbb, -0xf0c9, 0xecbb, 0xf0c9, 0xeafa, 0xef40, 0xeafa, 0xef40, 0xe881, 0xecee, 0xe881, 0xecee, -0xe881, 0xecee, 0xe6fe, 0xeb83, 0xe6fe, 0xeb83, 0xe6f0, 0xeb7c, 0xe6f0, 0xeb7c, 0xe5bf, -0xea42, 0xe5bf, 0xea42, 0xe4f0, 0xe95e, 0xe4f0, 0xe95e, 0xe5f2, 0xea3e, 0xe5f2, 0xea3e, -0xe6fa, 0xeb17, 0xe6fa, 0xeb17, 0xe6fa, 0xeb17, 0xe840, 0xec25, 0xe840, 0xec25, 0xe9fe, -0xeda5, 0xe9fe, 0xeda5, 0xeb14, 0xee76, 0xeb14, 0xee76, 0xec46, 0xef60, 0xec46, 0xef60, -0xedf3, 0xf0c3, 0xedf3, 0xf0c3, 0xf118, 0xf39f, 0xf118, 0xf39f, 0xf118, 0xf39f, 0xf403, -0xf642, 0xf403, 0xf642, 0xf609, 0xf803, 0xf609, 0xf803, 0xf917, 0xfacf, 0xf917, 0xfacf, -0xfb56, 0xfcd1, 0xfb56, 0xfcd1, 0xfc5e, 0xfda0, 0xfc5e, 0xfda0, 0xfc5e, 0xfda0, 0xfd5c, -0xfe6b, 0xfd5c, 0xfe6b, 0xfebb, 0xff99, 0xfebb, 0xff99, 0xff46, 0xfff8, 0xff46, 0xfff8, -0xffb6, 0x3f, 0xffb6, 0x3f, 0xac, 0x10e, 0xac, 0x10e, 0x192, 0x1cf, 0x192, -0x1cf, 0x192, 0x1cf, 0x28d, 0x2a5, 0x28d, 0x2a5, 0x203, 0x1f4, 0x203, 0x1f4, -0x20d, 0x1d8, 0x20d, 0x1d8, 0x33d, 0x2df, 0x33d, 0x2df, 0x425, 0x39d, 0x425, -0x39d, 0x554, 0x4a0, 0x554, 0x4a0, 0x554, 0x4a0, 0x5e1, 0x4ff, 0x5e1, 0x4ff, -0x72b, 0x61b, 0x72b, 0x61b, 0x8bf, 0x781, 0x8bf, 0x781, 0x8b1, 0x746, 0x8b1, -0x746, 0x9a1, 0x80d, 0x9a1, 0x80d, 0x9a1, 0x80d, 0x9f5, 0x83c, 0x9f5, 0x83c, -0x869, 0x690, 0x869, 0x690, 0x7e2, 0x5f1, 0x7e2, 0x5f1, 0x72a, 0x52b, 0x72a, -0x52b, 0x615, 0x413, 0x615, 0x413, 0x459, 0x260, 0x459, 0x260, 0x459, 0x260, -0x3b2, 0x1cf, 0x3b2, 0x1cf, 0x41e, 0x25f, 0x41e, 0x25f, 0x188, 0xfffb, 0x188, -0xfffb, 0xfee4, 0xfd98, 0xfee4, 0xfd98, 0xfc46, 0xfb49, 0xfc46, 0xfb49, 0xf865, 0xf7c2, -0xf865, 0xf7c2, 0xf865, 0xf7c2, 0xf5b2, 0xf574, 0xf5b2, 0xf574, 0xf2d1, 0xf302, 0xf2d1, -0xf302, 0xef79, 0xf021, 0xef79, 0xf021, 0xec5a, 0xed7e, 0xec5a, 0xed7e, 0xe8d4, 0xea75, -0xe8d4, 0xea75, 0xe8d4, 0xea75, 0xe5b1, 0xe7cf, 0xe5b1, 0xe7cf, 0xe265, 0xe4fd, 0xe265, -0xe4fd, 0xdf44, 0xe251, 0xdf44, 0xe251, 0xddae, 0xe128, 0xddae, 0xe128, 0xdbf0, 0xdfcc, -0xdbf0, 0xdfcc, 0xda32, 0xde64, 0xda32, 0xde64, 0xda32, 0xde64, 0xd991, 0xde0d, 0xd991, -0xde0d, 0xd8a9, 0xdd60, 0xd8a9, 0xdd60, 0xd6ba, 0xdb9c, 0xd6ba, 0xdb9c, 0xd48a, 0xd98a, -0xd48a, 0xd98a, 0xd314, 0xd823, 0xd314, 0xd823, 0xd2fc, 0xd80b, 0xd2fc, 0xd80b, 0xd2fc, -0xd80b, 0xd32c, 0xd830, 0xd32c, 0xd830, 0xd2e3, 0xd7d1, 0xd2e3, 0xd7d1, 0xd3ab, 0xd878, -0xd3ab, 0xd878, 0xd5db, 0xda82, 0xd5db, 0xda82, 0xd840, 0xdcbb, 0xd840, 0xdcbb, 0xd840, -0xdcbb, 0xda27, 0xde73, 0xda27, 0xde73, 0xdcc6, 0xe0e2, 0xdcc6, 0xe0e2, 0xdf9f, 0xe38a, -0xdf9f, 0xe38a, 0xe1b6, 0xe574, 0xe1b6, 0xe574, 0xe3e0, 0xe773, 0xe3e0, 0xe773, 0xe686, -0xe9f3, 0xe686, 0xe9f3, 0xe686, 0xe9f3, 0xe92f, 0xec79, 0xe92f, 0xec79, 0xeae3, 0xee0f, -0xeae3, 0xee0f, 0xed0e, 0xf020, 0xed0e, 0xf020, 0xef6f, 0xf269, 0xef6f, 0xf269, 0xf140, -0xf424, 0xf140, 0xf424, 0xf32c, 0xf5fa, 0xf32c, 0xf5fa, 0xf32c, 0xf5fa, 0xf4e6, 0xf79d, -0xf4e6, 0xf79d, 0xf6c3, 0xf960, 0xf6c3, 0xf960, 0xf89d, 0xfb1a, 0xf89d, 0xfb1a, 0xfa7d, -0xfcd5, 0xfa7d, 0xfcd5, 0xfbaf, 0xfdd9, 0xfbaf, 0xfdd9, 0xfbaf, 0xfdd9, 0xfb46, 0xfd39, -0xfb46, 0xfd39, 0xfb8f, 0xfd3f, 0xfb8f, 0xfd3f, 0xfd4d, 0xfeb1, 0xfd4d, 0xfeb1, 0xfecc, -0xffd8, 0xfecc, 0xffd8, 0xb1, 0x159, 0xb1, 0x159, 0x22e, 0x269, 0x22e, 0x269, -0x22e, 0x269, 0x40d, 0x3d3, 0x40d, 0x3d3, 0x6f4, 0x63c, 0x6f4, 0x63c, 0x9cc, -0x892, 0x9cc, 0x892, 0xdc1, 0xc02, 0xdc1, 0xc02, 0x10e0, 0xe9d, 0x10e0, 0xe9d, -0x13ae, 0x10e9, 0x13ae, 0x10e9, 0x13ae, 0x10e9, 0x162c, 0x12ec, 0x162c, 0x12ec, 0x17f6, -0x1442, 0x17f6, 0x1442, 0x1b4f, 0x1734, 0x1b4f, 0x1734, 0x1ddc, 0x1968, 0x1ddc, 0x1968, -0x1fe2, 0x1b24, 0x1fe2, 0x1b24, 0x1fe2, 0x1b24, 0x22de, 0x1dea, 0x22de, 0x1dea, 0x23ff, -0x1ee7, 0x23ff, 0x1ee7, 0x231b, 0x1df4, 0x231b, 0x1df4, 0x228e, 0x1d6d, 0x228e, 0x1d6d, -0x2266, 0x1d60, 0x2266, 0x1d60, 0x2170, 0x1c98, 0x2170, 0x1c98, 0x2170, 0x1c98, 0x1ea7, -0x1a10, 0x1ea7, 0x1a10, 0x1bf2, 0x17ad, 0x1bf2, 0x17ad, 0x190d, 0x1529, 0x190d, 0x1529, -0x1463, 0x10ed, 0x1463, 0x10ed, 0x1134, 0xe35, 0x1134, 0xe35, 0x1134, 0xe35, 0xf49, -0xcc9, 0xf49, 0xcc9, 0xca2, 0xaa5, 0xca2, 0xaa5, 0x93c, 0x7c3, 0x93c, 0x7c3, -0x5ce, 0x4d8, 0x5ce, 0x4d8, 0x2b1, 0x23a, 0x2b1, 0x23a, 0xfeb0, 0xfeb3, 0xfeb0, -0xfeb3, 0xfeb0, 0xfeb3, 0xfa9b, 0xfb10, 0xfa9b, 0xfb10, 0xf73a, 0xf816, 0xf73a, 0xf816, -0xf3c1, 0xf4fb, 0xf3c1, 0xf4fb, 0xf173, 0xf2fe, 0xf173, 0xf2fe, 0xf044, 0xf214, 0xf044, -0xf214, 0xee89, 0xf093, 0xee89, 0xf093, 0xee89, 0xf093, 0xed87, 0xefbe, 0xed87, 0xefbe, -0xed4c, 0xefa5, 0xed4c, 0xefa5, 0xed7e, 0xefed, 0xed7e, 0xefed, 0xee40, 0xf0bc, 0xee40, -0xf0bc, 0xef2e, 0xf1ae, 0xef2e, 0xf1ae, 0xef2e, 0xf1ae, 0xf062, 0xf2dd, 0xf062, 0xf2dd, -0xf17c, 0xf3eb, 0xf17c, 0xf3eb, 0xf27c, 0xf4d9, 0xf27c, 0xf4d9, 0xf382, 0xf5c6, 0xf382, -0xf5c6, 0xf522, 0xf749, 0xf522, 0xf749, 0xf6b8, 0xf8bd, 0xf6b8, 0xf8bd, 0xf6b8, 0xf8bd, -0xf84f, 0xfa2d, 0xf84f, 0xfa2d, 0xfa9f, 0xfc53, 0xfa9f, 0xfc53, 0xfccd, 0xfe51, 0xfccd, -0xfe51, 0xfea0, 0xfff0, 0xfea0, 0xfff0, 0xff4b, 0x63, 0xff4b, 0x63, 0xff54, 0x30, -0xff54, 0x30, 0xff54, 0x30, 0x9b, 0x135, 0x9b, 0x135, 0x158, 0x1ab, 0x158, -0x1ab, 0x1ab, 0x1b3, 0x1ab, 0x1b3, 0x347, 0x2fe, 0x347, 0x2fe, 0x481, 0x3e3, -0x481, 0x3e3, 0x481, 0x3e3, 0x5b3, 0x4bc, 0x5b3, 0x4bc, 0x682, 0x52f, 0x682, -0x52f, 0x81c, 0x66b, 0x81c, 0x66b, 0xa62, 0x854, 0xa62, 0x854, 0xa75, 0x809, -0xa75, 0x809, 0xb4d, 0x886, 0xb4d, 0x886, 0xb4d, 0x886, 0xcab, 0x98e, 0xcab, -0x98e, 0xd07, 0x99b, 0xd07, 0x99b, 0xdc6, 0xa13, 0xdc6, 0xa13, 0xe2b, 0xa3b, -0xe2b, 0xa3b, 0xedf, 0xabe, 0xedf, 0xabe, 0x105b, 0xc18, 0x105b, 0xc18, 0x105b, -0xc18, 0x1171, 0xd1a, 0x1171, 0xd1a, 0x133c, 0xee2, 0x133c, 0xee2, 0x14cd, 0x1080, -0x14cd, 0x1080, 0x152d, 0x10ff, 0x152d, 0x10ff, 0x1595, 0x1197, 0x1595, 0x1197, 0x1595, -0x1197, 0x1499, 0x10db, 0x1499, 0x10db, 0x1368, 0xffa, 0x1368, 0xffa, 0x11cd, 0xebd, -0x11cd, 0xebd, 0xf9a, 0xcf5, 0xf9a, 0xcf5, 0xe5b, 0xc2c, 0xe5b, 0xc2c, 0xbf2, -0xa41, 0xbf2, 0xa41, 0xbf2, 0xa41, 0x8ca, 0x79c, 0x8ca, 0x79c, 0x653, 0x5ad, -0x653, 0x5ad, 0x41d, 0x3fe, 0x41d, 0x3fe, 0x225, 0x28c, 0x225, 0x28c, 0x76, -0x15e, 0x76, 0x15e, 0xfe1b, 0xff7e, 0xfe1b, 0xff7e, 0xfe1b, 0xff7e, 0xfa78, 0xfc4c, -0xfa78, 0xfc4c, 0xf5ff, 0xf839, 0xf5ff, 0xf839, 0xf2a2, 0xf536, 0xf2a2, 0xf536, 0xef62, -0xf242, 0xef62, 0xf242, 0xeaf6, 0xee14, 0xeaf6, 0xee14, 0xeaf6, 0xee14, 0xe854, 0xeba2, -0xe854, 0xeba2, 0xe6fd, 0xea6a, 0xe6fd, 0xea6a, 0xe56f, 0xe8ef, 0xe56f, 0xe8ef, 0xe46f, -0xe7f2, 0xe46f, 0xe7f2, 0xe4fa, 0xe873, 0xe4fa, 0xe873, 0xe57c, 0xe8df, 0xe57c, 0xe8df, -0xe57c, 0xe8df, 0xe58a, 0xe8cb, 0xe58a, 0xe8cb, 0xe6f7, 0xea0d, 0xe6f7, 0xea0d, 0xe944, -0xec27, 0xe944, 0xec27, 0xebce, 0xee76, 0xebce, 0xee76, 0xed51, 0xefb8, 0xed51, 0xefb8, -0xeee0, 0xf101, 0xeee0, 0xf101, 0xeee0, 0xf101, 0xf13f, 0xf316, 0xf13f, 0xf316, 0xf3be, -0xf549, 0xf3be, 0xf549, 0xf746, 0xf882, 0xf746, 0xf882, 0xfa9c, 0xfb87, 0xfa9c, 0xfb87, -0xfd5b, 0xfdf5, 0xfd5b, 0xfdf5, 0xfd5b, 0xfdf5, 0xe7, 0x12e, 0xe7, 0x12e, 0x3e8, -0x3dc, 0x3e8, 0x3dc, 0x63b, 0x5dc, 0x63b, 0x5dc, 0x845, 0x792, 0x845, 0x792, -0x98d, 0x887, 0x98d, 0x887, 0xb97, 0xa3e, 0xb97, 0xa3e, 0xb97, 0xa3e, 0xd8e, -0xbe3, 0xd8e, 0xbe3, 0xfde, 0xde0, 0xfde, 0xde0, 0x12c1, 0x1072, 0x12c1, 0x1072, -0x14ea, 0x124d, 0x14ea, 0x124d, 0x1798, 0x14ae, 0x1798, 0x14ae, 0x1a04, 0x16d0, 0x1a04, -0x16d0, 0x1a04, 0x16d0, 0x1be5, 0x186c, 0x1be5, 0x186c, 0x1e57, 0x1a9c, 0x1e57, 0x1a9c, -0x1fea, 0x1bf4, 0x1fea, 0x1bf4, 0x20aa, 0x1c7f, 0x20aa, 0x1c7f, 0x220d, 0x1db4, 0x220d, -0x1db4, 0x220d, 0x1db4, 0x234d, 0x1ecf, 0x234d, 0x1ecf, 0x2486, 0x1feb, 0x2486, 0x1feb, -0x2570, 0x20c2, 0x2570, 0x20c2, 0x26cf, 0x2218, 0x26cf, 0x2218, 0x27d4, 0x231d, 0x27d4, -0x231d, 0x26d5, 0x2228, 0x26d5, 0x2228, 0x26d5, 0x2228, 0x2612, 0x2179, 0x2612, 0x2179, -0x24f7, 0x207a, 0x24f7, 0x207a, 0x2398, 0x1f40, 0x2398, 0x1f40, 0x2327, 0x1efa, 0x2327, -0x1efa, 0x2373, 0x1f78, 0x2373, 0x1f78, 0x23c2, 0x1ffe, 0x23c2, 0x1ffe, 0x23c2, 0x1ffe, -0x22c5, 0x1f3b, 0x22c5, 0x1f3b, 0x2152, 0x1e05, 0x2152, 0x1e05, 0x20a5, 0x1d97, 0x20a5, -0x1d97, 0x1f2d, 0x1c5d, 0x1f2d, 0x1c5d, 0x1ccf, 0x1a3c, 0x1ccf, 0x1a3c, 0x1ccf, 0x1a3c, -0x1b71, 0x1918, 0x1b71, 0x1918, 0x1b04, 0x18e4, 0x1b04, 0x18e4, 0x1b67, 0x197c, 0x1b67, -0x197c, 0x19c8, 0x180e, 0x19c8, 0x180e, 0x16b8, 0x152b, 0x16b8, 0x152b, 0x1426, 0x12c4, -0x1426, 0x12c4, 0x1426, 0x12c4, 0x110d, 0xfd2, 0x110d, 0xfd2, 0xe07, 0xcf0, 0xe07, -0xcf0, 0xb67, 0xa74, 0xb67, 0xa74, 0x987, 0x8b5, 0x987, 0x8b5, 0x6b5, 0x606, -0x6b5, 0x606, 0x3e4, 0x357, 0x3e4, 0x357, 0x3e4, 0x357, 0x214, 0x1ab, 0x214, -0x1ab, 0x13, 0xffd2, 0x13, 0xffd2, 0xfea0, 0xfe88, 0xfea0, 0xfe88, 0xfd8a, 0xfd9f, -0xfd8a, 0xfd9f, 0xfc1d, 0xfc63, 0xfc1d, 0xfc63, 0xfc1d, 0xfc63, 0xfa06, 0xfa80, 0xfa06, -0xfa80, 0xf8b0, 0xf960, 0xf8b0, 0xf960, 0xf81b, 0xf903, 0xf81b, 0xf903, 0xf5dd, 0xf6ff, -0xf5dd, 0xf6ff, 0xf34e, 0xf4a9, 0xf34e, 0xf4a9, 0xf2e4, 0xf477, 0xf2e4, 0xf477, 0xf2e4, -0xf477, 0xf28b, 0xf453, 0xf28b, 0xf453, 0xf1a7, 0xf3a0, 0xf1a7, 0xf3a0, 0xf0ba, 0xf2dc, -0xf0ba, 0xf2dc, 0xef67, 0xf1ad, 0xef67, 0xf1ad, 0xedb8, 0xf017, 0xedb8, 0xf017, 0xedb8, -0xf017, 0xec2f, 0xee9d, 0xec2f, 0xee9d, 0xec83, 0xeef6, 0xec83, 0xeef6, 0xecc2, 0xef2e, -0xecc2, 0xef2e, 0xec6c, 0xeec5, 0xec6c, 0xeec5, 0xed02, 0xef3b, 0xed02, 0xef3b, 0xedd4, -0xefe2, 0xedd4, 0xefe2, 0xedd4, 0xefe2, 0xef01, 0xf0da, 0xef01, 0xf0da, 0xf05d, 0xf1f7, -0xf05d, 0xf1f7, 0xf17b, 0xf2cf, 0xf17b, 0xf2cf, 0xf39a, 0xf4a2, 0xf39a, 0xf4a2, 0xf5de, -0xf695, 0xf5de, 0xf695, 0xf7a8, 0xf80e, 0xf7a8, 0xf80e, 0xf7a8, 0xf80e, 0xf9e5, 0xf9f9, -0xf9e5, 0xf9f9, 0xfbb0, 0xfb76, 0xfbb0, 0xfb76, 0xfe0f, 0xfd8c, 0xfe0f, 0xfd8c, 0xff54, -0xfe8e, 0xff54, 0xfe8e, 0x75, 0xff77, 0x75, 0xff77, 0x75, 0xff77, 0x3d9, 0x2ab, -0x3d9, 0x2ab, 0x614, 0x4c3, 0x614, 0x4c3, 0x7ea, 0x682, 0x7ea, 0x682, 0xa4a, -0x8d7, 0xa4a, 0x8d7, 0xb68, 0x9f7, 0xb68, 0x9f7, 0xc02, 0xa9f, 0xc02, 0xa9f, -0xc02, 0xa9f, 0xcb6, 0xb6d, 0xcb6, 0xb6d, 0xd45, 0xc1e, 0xd45, 0xc1e, 0xd97, -0xc9c, 0xd97, 0xc9c, 0xc82, 0xbba, 0xc82, 0xbba, 0xb3f, 0xaaf, 0xb3f, 0xaaf, -0x92c, 0x8d7, 0x92c, 0x8d7, 0x92c, 0x8d7, 0x611, 0x5fa, 0x611, 0x5fa, 0x4ed, -0x512, 0x4ed, 0x512, 0x42b, 0x48b, 0x42b, 0x48b, 0x34c, 0x3e3, 0x34c, 0x3e3, -0x2b2, 0x37d, 0x2b2, 0x37d, 0x2b2, 0x37d, 0x2b8, 0x3b2, 0x2b8, 0x3b2, 0x256, -0x379, 0x256, 0x379, 0x98, 0x1dd, 0x98, 0x1dd, 0xff0c, 0x6f, 0xff0c, 0x6f, -0xfcfd, 0xfe78, 0xfcfd, 0xfe78, 0xfae8, 0xfc77, 0xfae8, 0xfc77, 0xfae8, 0xfc77, 0xf8ee, -0xfa8e, 0xf8ee, 0xfa8e, 0xf6aa, 0xf858, 0xf6aa, 0xf858, 0xf499, 0xf653, 0xf499, 0xf653, -0xf2c1, 0xf488, 0xf2c1, 0xf488, 0xf161, 0xf335, 0xf161, 0xf335, 0xf07b, 0xf25e, 0xf07b, -0xf25e, 0xf07b, 0xf25e, 0xf040, 0xf235, 0xf040, 0xf235, 0xefb8, 0xf1c2, 0xefb8, 0xf1c2, -0xed6f, 0xef92, 0xed6f, 0xef92, 0xeb89, 0xedc9, 0xeb89, 0xedc9, 0xe998, 0xebf9, 0xe998, -0xebf9, 0xe998, 0xebf9, 0xe651, 0xe8d5, 0xe651, 0xe8d5, 0xe4a2, 0xe74c, 0xe4a2, 0xe74c, -0xe32d, 0xe5fe, 0xe32d, 0xe5fe, 0xe10a, 0xe402, 0xe10a, 0xe402, 0xded5, 0xe1f3, 0xded5, -0xe1f3, 0xdda0, 0xe0e1, 0xdda0, 0xe0e1, 0xdda0, 0xe0e1, 0xdd5b, 0xe0ba, 0xdd5b, 0xe0ba, -0xdb2b, 0xdea3, 0xdb2b, 0xdea3, 0xd968, 0xdcf1, 0xd968, 0xdcf1, 0xd8c9, 0xdc5a, 0xd8c9, -0xdc5a, 0xd772, 0xdb03, 0xd772, 0xdb03, 0xd776, 0xdafc, 0xd776, 0xdafc, 0xd776, 0xdafc, -0xd881, 0xdbf2, 0xd881, 0xdbf2, 0xd866, 0xdbb8, 0xd866, 0xdbb8, 0xd905, 0xdc2e, 0xd905, -0xdc2e, 0xda1e, 0xdd15, 0xda1e, 0xdd15, 0xdbc2, 0xde7f, 0xdbc2, 0xde7f, 0xdbc2, 0xde7f, -0xde24, 0xe0a0, 0xde24, 0xe0a0, 0xe077, 0xe2af, 0xe077, 0xe2af, 0xe422, 0xe612, 0xe422, -0xe612, 0xe661, 0xe809, 0xe661, 0xe809, 0xe7dc, 0xe93d, 0xe7dc, 0xe93d, 0xea23, 0xeb42, -0xea23, 0xeb42, 0xea23, 0xeb42, 0xeb78, 0xec59, 0xeb78, 0xec59, 0xed41, 0xeded, 0xed41, -0xeded, 0xf020, 0xf0a1, 0xf020, 0xf0a1, 0xf2d8, 0xf338, 0xf2d8, 0xf338, 0xf5a4, 0xf5ef, -0xf5a4, 0xf5ef, 0xf884, 0xf8c6, 0xf884, 0xf8c6, 0xf884, 0xf8c6, 0xfa3e, 0xfa84, 0xfa3e, -0xfa84, 0xfbba, 0xfc0f, 0xfbba, 0xfc0f, 0xfd8e, 0xfdfe, 0xfd8e, 0xfdfe, 0xff18, 0xffad, -0xff18, 0xffad, 0xff37, 0xfff9, 0xff37, 0xfff9, 0xff37, 0xfff9, 0xff44, 0x3a, 0xff44, -0x3a, 0xff9c, 0xc9, 0xff9c, 0xc9, 0xfe2c, 0xff92, 0xfe2c, 0xff92, 0xfc9e, 0xfe3c, -0xfc9e, 0xfe3c, 0xfc4f, 0xfe23, 0xfc4f, 0xfe23, 0xfcac, 0xfeb0, 0xfcac, 0xfeb0, 0xfcac, -0xfeb0, 0xfc95, 0xfec0, 0xfc95, 0xfec0, 0xfd37, 0xff81, 0xfd37, 0xff81, 0xfe58, 0xb4, -0xfe58, 0xb4, 0xfd64, 0xffc6, 0xfd64, 0xffc6, 0xfbbb, 0xfe16, 0xfbbb, 0xfe16, 0xfb1b, -0xfd60, 0xfb1b, 0xfd60, 0xfb1b, 0xfd60, 0xfaa4, 0xfcc7, 0xfaa4, 0xfcc7, 0xf9f7, 0xfbea, -0xf9f7, 0xfbea, 0xfa92, 0xfc4a, 0xfa92, 0xfc4a, 0xfc1f, 0xfd91, 0xfc1f, 0xfd91, 0xfd03, -0xfe27, 0xfd03, 0xfe27, 0xfd03, 0xfe27, 0xfe8c, 0xff5b, 0xfe8c, 0xff5b, 0x75, 0xeb, -0x75, 0xeb, 0x152, 0x16d, 0x152, 0x16d, 0x3e5, 0x3a6, 0x3e5, 0x3a6, 0x731, -0x69c, 0x731, 0x69c, 0x9b6, 0x8d0, 0x9b6, 0x8d0, 0x9b6, 0x8d0, 0xbfe, 0xace, -0xbfe, 0xace, 0xcc6, 0xb56, 0xcc6, 0xb56, 0xd9c, 0xbf7, 0xd9c, 0xbf7, 0xe6a, -0xc9b, 0xe6a, 0xc9b, 0xf1e, 0xd31, 0xf1e, 0xd31, 0x101c, 0xe1e, 0x101c, 0xe1e, -0x101c, 0xe1e, 0x10c4, 0xec1, 0x10c4, 0xec1, 0x1174, 0xf76, 0x1174, 0xf76, 0x10f6, -0xf07, 0x10f6, 0xf07, 0xf0d, 0xd37, 0xf0d, 0xd37, 0xdbe, 0xc07, 0xdbe, 0xc07, -0xdbe, 0xc07, 0xbb5, 0xa23, 0xbb5, 0xa23, 0x86c, 0x702, 0x86c, 0x702, 0x6dd, -0x59c, 0x6dd, 0x59c, 0x536, 0x41e, 0x536, 0x41e, 0x340, 0x24f, 0x340, 0x24f, -0x203, 0x135, 0x203, 0x135, 0x203, 0x135, 0x1b5, 0x105, 0x1b5, 0x105, 0x249, -0x1b2, 0x249, 0x1b2, 0x1b4, 0x12f, 0x1b4, 0x12f, 0x1c6, 0x14e, 0x1c6, 0x14e, -0x1de, 0x16c, 0x1de, 0x16c, 0x6f, 0xfffe, 0x6f, 0xfffe, 0x6f, 0xfffe, 0xffcb, -0xff55, 0xffcb, 0xff55, 0x98, 0x1a, 0x98, 0x1a, 0x137, 0xae, 0x137, 0xae, -0x19f, 0x109, 0x19f, 0x109, 0x2c7, 0x225, 0x2c7, 0x225, 0x2c7, 0x225, 0x4cf, -0x423, 0x4cf, 0x423, 0x697, 0x5e3, 0x697, 0x5e3, 0x7b4, 0x6fd, 0x7b4, 0x6fd, -0x880, 0x7cb, 0x880, 0x7cb, 0x83e, 0x790, 0x83e, 0x790, 0x902, 0x862, 0x902, -0x862, 0x902, 0x862, 0xa24, 0x998, 0xa24, 0x998, 0xa97, 0xa25, 0xa97, 0xa25, -0xb75, 0xb23, 0xb75, 0xb23, 0xba5, 0xb78, 0xba5, 0xb78, 0xaec, 0xae8, 0xaec, -0xae8, 0xaec, 0xae8, 0x974, 0x99c, 0x974, 0x99c, 0x85f, 0x8b3, 0x85f, 0x8b3, -0x7ae, 0x82f, 0x7ae, 0x82f, 0x760, 0x80c, 0x760, 0x80c, 0x7d3, 0x8a6, 0x7d3, -0x8a6, 0x7e9, 0x8df, 0x7e9, 0x8df, 0x7e9, 0x8df, 0x73e, 0x852, 0x73e, 0x852, -0x5fc, 0x726, 0x5fc, 0x726, 0x478, 0x5b2, 0x478, 0x5b2, 0x270, 0x3b2, 0x270, -0x3b2, 0xb, 0x14c, 0xb, 0x14c, 0xff58, 0x92, 0xff58, 0x92, 0xff58, 0x92, -0xfe50, 0xff7c, 0xfe50, 0xff7c, 0xfba0, 0xfcb7, 0xfba0, 0xfcb7, 0xfb3e, 0xfc3d, 0xfb3e, -0xfc3d, 0xfb18, 0xfbfa, 0xfb18, 0xfbfa, 0xfa9b, 0xfb5e, 0xfa9b, 0xfb5e, 0xfa9b, 0xfb5e, -0xfb54, 0xfbf9, 0xfb54, 0xfbf9, 0xfbea, 0xfc71, 0xfbea, 0xfc71, 0xfcc8, 0xfd33, 0xfcc8, -0xfd33, 0xfd36, 0xfd8a, 0xfd36, 0xfd8a, 0xfe26, 0xfe68, 0xfe26, 0xfe68, 0xff40, 0xff75, -0xff40, 0xff75, 0xff40, 0xff75, 0xffad, 0xffdd, 0xffad, 0xffdd, 0xe4, 0x116, 0xe4, -0x116, 0x1ca, 0x206, 0x1ca, 0x206, 0x1a1, 0x1ed, 0x1a1, 0x1ed, 0x129, 0x18b, -0x129, 0x18b, 0xffdd, 0x5b, 0xffdd, 0x5b, 0xffdd, 0x5b, 0xff12, 0xffaf, 0xff12, -0xffaf, 0xfeb6, 0xff75, 0xfeb6, 0xff75, 0xfd5f, 0xfe41, 0xfd5f, 0xfe41, 0xfc8d, 0xfd91, -0xfc8d, 0xfd91, 0xfb7e, 0xfca2, 0xfb7e, 0xfca2, 0xfb7e, 0xfca2, 0xfa6d, 0xfbac, 0xfa6d, -0xfbac, 0xf999, 0xfaee, 0xf999, 0xfaee, 0xf83a, 0xf99e, 0xf83a, 0xf99e, 0xf6f4, 0xf85f, -0xf6f4, 0xf85f, 0xf506, 0xf66f, 0xf506, 0xf66f, 0xf37b, 0xf4d8, 0xf37b, 0xf4d8, 0xf37b, -0xf4d8, 0xf38b, 0xf4d3, 0xf38b, 0xf4d3, 0xf3ff, 0xf529, 0xf3ff, 0xf529, 0xf44b, 0xf54e, -0xf44b, 0xf54e, 0xf473, 0xf547, 0xf473, 0xf547, 0xf45f, 0xf4fe, 0xf45f, 0xf4fe, 0xf4b2, -0xf516, 0xf4b2, 0xf516, 0xf4b2, 0xf516, 0xf5dc, 0xf602, 0xf5dc, 0xf602, 0xf85c, 0xf841, -0xf85c, 0xf841, 0xfa65, 0xfa0a, 0xfa65, 0xfa0a, 0xfb87, 0xfaec, 0xfb87, 0xfaec, 0xfdab, -0xfcd4, 0xfdab, 0xfcd4, 0xfdab, 0xfcd4, 0xd, 0xfefe, 0xd, 0xfefe, 0x1c6, 0x86, -0x1c6, 0x86, 0x356, 0x1ec, 0x356, 0x1ec, 0x5e6, 0x45a, 0x5e6, 0x45a, 0x892, -0x6eb, 0x892, 0x6eb, 0xb51, 0x998, 0xb51, 0x998, 0xb51, 0x998, 0xdb6, 0xbf3, -0xdb6, 0xbf3, 0xed3, 0xd0e, 0xed3, 0xd0e, 0xf95, 0xdd4, 0xf95, 0xdd4, 0xf95, -0xdde, 0xf95, 0xdde, 0xfa8, 0xe00, 0xfa8, 0xe00, 0x107c, 0xee6, 0x107c, 0xee6, -0x107c, 0xee6, 0x1186, 0x1002, 0x1186, 0x1002, 0x12a1, 0x1131, 0x12a1, 0x1131, 0x13c8, -0x126a, 0x13c8, 0x126a, 0x14a9, 0x135b, 0x14a9, 0x135b, 0x15cf, 0x148d, 0x15cf, 0x148d, -0x15cf, 0x148d, 0x15f6, 0x14bb, 0x15f6, 0x14bb, 0x1559, 0x141f, 0x1559, 0x141f, 0x1537, -0x13f9, 0x1537, 0x13f9, 0x136a, 0x1220, 0x136a, 0x1220, 0x11b0, 0x1056, 0x11b0, 0x1056, -0x10c4, 0xf54, 0x10c4, 0xf54, 0x10c4, 0xf54, 0xfe3, 0xe57, 0xfe3, 0xe57, 0xf4f, -0xda2, 0xf4f, 0xda2, 0xfa1, 0xdd0, 0xfa1, 0xdd0, 0x111b, 0xf24, 0x111b, 0xf24, -0x1153, 0xf34, 0x1153, 0xf34, 0x116e, 0xf27, 0x116e, 0xf27, 0x116e, 0xf27, 0x1208, -0xf9a, 0x1208, 0xf9a, 0x1184, 0xef1, 0x1184, 0xef1, 0x10fb, 0xe46, 0x10fb, 0xe46, -0x11ba, 0xee6, 0x11ba, 0xee6, 0x12b9, 0xfcb, 0x12b9, 0xfcb, 0x12b9, 0xfcb, 0x1408, -0x1104, 0x1408, 0x1104, 0x15bb, 0x12a7, 0x15bb, 0x12a7, 0x16bc, 0x139d, 0x16bc, 0x139d, -0x1737, 0x1411, 0x1737, 0x1411, 0x16af, 0x1387, 0x16af, 0x1387, 0x172b, 0x1406, 0x172b, -0x1406, 0x172b, 0x1406, 0x1848, 0x1529, 0x1848, 0x1529, 0x1775, 0x145f, 0x1775, 0x145f, -0x1686, 0x137d, 0x1686, 0x137d, 0x15ad, 0x12b3, 0x15ad, 0x12b3, 0x14db, 0x11f0, 0x14db, -0x11f0, 0x1490, 0x11b6, 0x1490, 0x11b6, 0x1490, 0x11b6, 0x14a6, 0x11df, 0x14a6, 0x11df, -0x1585, 0x12d1, 0x1585, 0x12d1, 0x1555, 0x12b6, 0x1555, 0x12b6, 0x14b2, 0x1229, 0x14b2, -0x1229, 0x14ff, 0x128d, 0x14ff, 0x128d, 0x14ff, 0x128d, 0x1513, 0x12bb, 0x1513, 0x12bb, -0x14c5, 0x1289, 0x14c5, 0x1289, 0x1367, 0x114a, 0x1367, 0x114a, 0x119a, 0xfa0, 0x119a, -0xfa0, 0x1013, 0xe41, 0x1013, 0xe41, 0xe99, 0xcf3, 0xe99, 0xcf3, 0xe99, 0xcf3, -0xd3c, 0xbc7, 0xd3c, 0xbc7, 0xbfe, 0xac0, 0xbfe, 0xac0, 0xa7b, 0x97a, 0xa7b, -0x97a, 0x899, 0x7da, 0x899, 0x7da, 0x7c6, 0x74e, 0x7c6, 0x74e, 0x76b, 0x73e, -0x76b, 0x73e, 0x76b, 0x73e, 0x64a, 0x66c, 0x64a, 0x66c, 0x472, 0x4e6, 0x472, -0x4e6, 0x235, 0x2fc, 0x235, 0x2fc, 0xff65, 0x7f, 0xff65, 0x7f, 0xfc39, 0xfda4, -0xfc39, 0xfda4, 0xfc39, 0xfda4, 0xf8e6, 0xfa9f, 0xf8e6, 0xfa9f, 0xf656, 0xf858, 0xf656, -0xf858, 0xf4a0, 0xf6e5, 0xf4a0, 0xf6e5, 0xf31f, 0xf59e, 0xf31f, 0xf59e, 0xf346, 0xf5f7, -0xf346, 0xf5f7, 0xf2ca, 0xf5a3, 0xf2ca, 0xf5a3, 0xf2ca, 0xf5a3, 0xf1bb, 0xf4b0, 0xf1bb, -0xf4b0, 0xf0e6, 0xf3eb, 0xf0e6, 0xf3eb, 0xef82, 0xf28c, 0xef82, 0xf28c, 0xee42, 0xf143, -0xee42, 0xf143, 0xec33, 0xef21, 0xec33, 0xef21, 0xeb01, 0xedd0, 0xeb01, 0xedd0, 0xeb01, -0xedd0, 0xe9b0, 0xec55, 0xe9b0, 0xec55, 0xe7fe, 0xea72, 0xe7fe, 0xea72, 0xe7d3, 0xea0d, -0xe7d3, 0xea0d, 0xe897, 0xea90, 0xe897, 0xea90, 0xeacd, 0xec81, 0xeacd, 0xec81, 0xeacd, -0xec81, 0xedbb, 0xef28, 0xedbb, 0xef28, 0xefd9, 0xf0fc, 0xefd9, 0xf0fc, 0xf1e5, 0xf2bf, -0xf1e5, 0xf2bf, 0xf3b8, 0xf44b, 0xf3b8, 0xf44b, 0xf474, 0xf4c1, 0xf474, 0xf4c1, 0xf604, -0xf610, 0xf604, 0xf610, 0xf604, 0xf610, 0xf79a, 0xf769, 0xf79a, 0xf769, 0xf8ec, 0xf883, -0xf8ec, 0xf883, 0xfaac, 0xfa0f, 0xfaac, 0xfa0f, 0xfbf0, 0xfb25, 0xfbf0, 0xfb25, 0xfd89, -0xfc94, 0xfd89, 0xfc94, 0xfd89, 0xfc94, 0xfe1a, 0xfd01, 0xfe1a, 0xfd01, 0xfdc8, 0xfc8d, -0xfdc8, 0xfc8d, 0xfdb3, 0xfc5b, 0xfdb3, 0xfc5b, 0xfcfb, 0xfb88, 0xfcfb, 0xfb88, 0xfc6e, -0xfae2, 0xfc6e, 0xfae2, 0xfcb7, 0xfb13, 0xfcb7, 0xfb13, 0xfcb7, 0xfb13, 0xfd8b, 0xfbd0, -0xfd8b, 0xfbd0, 0xfe28, 0xfc57, 0xfe28, 0xfc57, 0xfee5, 0xfcfe, 0xfee5, 0xfcfe, 0x134, -0xff38, 0x134, 0xff38, 0x351, 0x140, 0x351, 0x140, 0x478, 0x254, 0x478, 0x254, -0x478, 0x254, 0x56b, 0x336, 0x56b, 0x336, 0x524, 0x2e1, 0x524, 0x2e1, 0x40d, -0x1c0, 0x40d, 0x1c0, 0x3bd, 0x16c, 0x3bd, 0x16c, 0x4f2, 0x2a3, 0x4f2, 0x2a3, -0x4f2, 0x2a3, 0x563, 0x31f, 0x563, 0x31f, 0x4cd, 0x29c, 0x4cd, 0x29c, 0x4bb, -0x2a7, 0x4bb, 0x2a7, 0x442, 0x257, 0x442, 0x257, 0x321, 0x16a, 0x321, 0x16a, -0x1ae, 0x37, 0x1ae, 0x37, 0x1ae, 0x37, 0x63, 0xff38, 0x63, 0xff38, 0xfe8a, -0xfdb6, 0xfe8a, 0xfdb6, 0xfbd2, 0xfb61, 0xfbd2, 0xfb61, 0xf9e5, 0xf9df, 0xf9e5, 0xf9df, -0xf862, 0xf8d0, 0xf862, 0xf8d0, 0xf5f9, 0xf6e1, 0xf5f9, 0xf6e1, 0xf5f9, 0xf6e1, 0xf318, -0xf47e, 0xf318, 0xf47e, 0xef31, 0xf118, 0xef31, 0xf118, 0xeb79, 0xeddf, 0xeb79, 0xeddf, -0xe897, 0xeb7b, 0xe897, 0xeb7b, 0xe5a2, 0xe8fd, 0xe5a2, 0xe8fd, 0xe5a2, 0xe8fd, 0xe35e, -0xe72a, 0xe35e, 0xe72a, 0xe147, 0xe57a, 0xe147, 0xe57a, 0xe010, 0xe49f, 0xe010, 0xe49f, -0xdec4, 0xe3a1, 0xdec4, 0xe3a1, 0xdd23, 0xe240, 0xdd23, 0xe240, 0xdc22, 0xe171, 0xdc22, -0xe171, 0xdc22, 0xe171, 0xda31, 0xdfa3, 0xda31, 0xdfa3, 0xd81e, 0xdda3, 0xd81e, 0xdda3, -0xd66c, 0xdbf6, 0xd66c, 0xdbf6, 0xd535, 0xdab7, 0xd535, 0xdab7, 0xd53d, 0xdaaa, 0xd53d, -0xdaaa, 0xd5f0, 0xdb3e, 0xd5f0, 0xdb3e, 0xd5f0, 0xdb3e, 0xd688, 0xdbad, 0xd688, 0xdbad, -0xd7ae, 0xdca3, 0xd7ae, 0xdca3, 0xd985, 0xde45, 0xd985, 0xde45, 0xdb80, 0xe008, 0xdb80, -0xe008, 0xdd5a, 0xe1a7, 0xdd5a, 0xe1a7, 0xdd5a, 0xe1a7, 0xdef9, 0xe30d, 0xdef9, 0xe30d, -0xe11b, 0xe4f6, 0xe11b, 0xe4f6, 0xe359, 0xe6fd, 0xe359, 0xe6fd, 0xe57c, 0xe8ed, 0xe57c, -0xe8ed, 0xe83d, 0xeb7e, 0xe83d, 0xeb7e, 0xeacd, 0xede1, 0xeacd, 0xede1, 0xeacd, 0xede1, -0xec42, 0xef2b, 0xec42, 0xef2b, 0xed29, 0xefea, 0xed29, 0xefea, 0xed79, 0xf014, 0xed79, -0xf014, 0xede6, 0xf059, 0xede6, 0xf059, 0xee96, 0xf0df, 0xee96, 0xf0df, 0xefe1, 0xf1fe, -0xefe1, 0xf1fe, 0xefe1, 0xf1fe, 0xf1dd, 0xf3c8, 0xf1dd, 0xf3c8, 0xf300, 0xf4b3, 0xf300, -0xf4b3, 0xf4c2, 0xf636, 0xf4c2, 0xf636, 0xf6a5, 0xf7d1, 0xf6a5, 0xf7d1, 0xf87d, 0xf958, -0xf87d, 0xf958, 0xf87d, 0xf958, 0xfa83, 0xfb04, 0xfa83, 0xfb04, 0xfbd9, 0xfbf7, 0xfbd9, -0xfbf7, 0xfe6c, 0xfe1f, 0xfe6c, 0xfe1f, 0x1c4, 0x104, 0x1c4, 0x104, 0x4aa, 0x372, -0x4aa, 0x372, 0x731, 0x57e, 0x731, 0x57e, 0x731, 0x57e, 0xa36, 0x806, 0xa36, -0x806, 0xdee, 0xb43, 0xdee, 0xb43, 0x1171, 0xe50, 0x1171, 0xe50, 0x14f3, 0x1162, -0x14f3, 0x1162, 0x18b6, 0x14c0, 0x18b6, 0x14c0, 0x1bd1, 0x1782, 0x1bd1, 0x1782, 0x1bd1, -0x1782, 0x1e05, 0x196e, 0x1e05, 0x196e, 0x2092, 0x1bc4, 0x2092, 0x1bc4, 0x22f4, 0x1e03, -0x22f4, 0x1e03, 0x2402, 0x1f02, 0x2402, 0x1f02, 0x24a2, 0x1faa, 0x24a2, 0x1faa, 0x24a2, -0x1faa, 0x255a, 0x2080, 0x255a, 0x2080, 0x251a, 0x2075, 0x251a, 0x2075, 0x24c0, 0x2063, -0x24c0, 0x2063, 0x2419, 0x2019, 0x2419, 0x2019, 0x21f1, 0x1e5e, 0x21f1, 0x1e5e, 0x1e67, -0x1b50, 0x1e67, 0x1b50, 0x1e67, 0x1b50, 0x19ba, 0x172b, 0x19ba, 0x172b, 0x1582, 0x1383, -0x1582, 0x1383, 0x1122, 0xfb8, 0x1122, 0xfb8, 0xcea, 0xc16, 0xcea, 0xc16, 0x9dc, -0x99d, 0x9dc, 0x99d, 0x66b, 0x6bb, 0x66b, 0x6bb, 0x66b, 0x6bb, 0x357, 0x42e, -0x357, 0x42e, 0xdf, 0x231, 0xdf, 0x231, 0xfe2d, 0xffec, 0xfe2d, 0xffec, 0xfbb9, -0xfdd6, 0xfbb9, 0xfdd6, 0xf832, 0xfa9d, 0xf832, 0xfa9d, 0xf832, 0xfa9d, 0xf3ff, 0xf6a7, -0xf3ff, 0xf6a7, 0xf0b3, 0xf386, 0xf0b3, 0xf386, 0xee0b, 0xf0f8, 0xee0b, 0xf0f8, 0xed1c, -0xf014, 0xed1c, 0xf014, 0xed23, 0xf015, 0xed23, 0xf015, 0xed29, 0xf00b, 0xed29, 0xf00b, -0xed29, 0xf00b, 0xed86, 0xf04a, 0xed86, 0xf04a, 0xedbb, 0xf05a, 0xedbb, 0xf05a, 0xee94, -0xf107, 0xee94, 0xf107, 0xf01e, 0xf261, 0xf01e, 0xf261, 0xf139, 0xf34b, 0xf139, 0xf34b, -0xf2b1, 0xf490, 0xf2b1, 0xf490, 0xf2b1, 0xf490, 0xf485, 0xf634, 0xf485, 0xf634, 0xf5dc, -0xf75e, 0xf5dc, 0xf75e, 0xf797, 0xf8f1, 0xf797, 0xf8f1, 0xf921, 0xfa56, 0xf921, 0xfa56, -0xfb14, 0xfc2a, 0xfb14, 0xfc2a, 0xfb14, 0xfc2a, 0xfc84, 0xfd80, 0xfc84, 0xfd80, 0xfd28, -0xfe0d, 0xfd28, 0xfe0d, 0xfec6, 0xff98, 0xfec6, 0xff98, 0xffd6, 0x97, 0xffd6, 0x97, -0xfd, 0x1ae, 0xfd, 0x1ae, 0x1ba, 0x259, 0x1ba, 0x259, 0x1ba, 0x259, 0x197, -0x222, 0x197, 0x222, 0x1e1, 0x255, 0x1e1, 0x255, 0x2d4, 0x32c, 0x2d4, 0x32c, -0x3ce, 0x404, 0x3ce, 0x404, 0x451, 0x45e, 0x451, 0x45e, 0x5b5, 0x591, 0x5b5, -0x591, 0x5b5, 0x591, 0x791, 0x735, 0x791, 0x735, 0x97a, 0x8e1, 0x97a, 0x8e1, -0xb05, 0xa29, 0xb05, 0xa29, 0xcab, 0xb87, 0xcab, 0xb87, 0xf3f, 0xdd1, 0xf3f, -0xdd1, 0xf3f, 0xdd1, 0x117c, 0xfc2, 0x117c, 0xfc2, 0x134e, 0x114a, 0x134e, 0x114a, -0x1482, 0x1239, 0x1482, 0x1239, 0x14fd, 0x1274, 0x14fd, 0x1274, 0x16ad, 0x13ee, 0x16ad, -0x13ee, 0x181a, 0x152f, 0x181a, 0x152f, 0x181a, 0x152f, 0x185a, 0x1551, 0x185a, 0x1551, -0x19d3, 0x16bb, 0x19d3, 0x16bb, 0x1a5f, 0x1749, 0x1a5f, 0x1749, 0x198c, 0x1689, 0x198c, -0x1689, 0x1869, 0x158b, 0x1869, 0x158b, 0x1869, 0x158b, 0x16c4, 0x141c, 0x16c4, 0x141c, -0x14af, 0x1250, 0x14af, 0x1250, 0x1158, 0xf52, 0x1158, 0xf52, 0xe30, 0xc92, 0xe30, -0xc92, 0xa9c, 0x971, 0xa9c, 0x971, 0x639, 0x58d, 0x639, 0x58d, 0x639, 0x58d, -0x31b, 0x2f4, 0x31b, 0x2f4, 0x8e, 0xf1, 0x8e, 0xf1, 0xfded, 0xfeda, 0xfded, -0xfeda, 0xfbae, 0xfd24, 0xfbae, 0xfd24, 0xf8d9, 0xfad1, 0xf8d9, 0xfad1, 0xf53a, 0xf7ad, -0xf53a, 0xf7ad, 0xf53a, 0xf7ad, 0xf0f2, 0xf3d4, 0xf0f2, 0xf3d4, 0xec9b, 0xefde, 0xec9b, -0xefde, 0xe8b4, 0xec48, 0xe8b4, 0xec48, 0xe498, 0xe86c, 0xe498, 0xe86c, 0xe13d, 0xe53e, -0xe13d, 0xe53e, 0xe13d, 0xe53e, 0xdf26, 0xe340, 0xdf26, 0xe340, 0xde5a, 0xe27a, 0xde5a, -0xe27a, 0xdf34, 0xe346, 0xdf34, 0xe346, 0xe0ee, 0xe4e1, 0xe0ee, 0xe4e1, 0xe1c9, 0xe58a, -0xe1c9, 0xe58a, 0xe2d5, 0xe655, 0xe2d5, 0xe655, 0xe2d5, 0xe655, 0xe4a6, 0xe7d7, 0xe4a6, -0xe7d7, 0xe616, 0xe8eb, 0xe616, 0xe8eb, 0xe7d3, 0xea43, 0xe7d3, 0xea43, 0xe9ff, 0xec03, -0xe9ff, 0xec03, 0xed8e, 0xef20, 0xed8e, 0xef20, 0xf146, 0xf263, 0xf146, 0xf263, 0xf146, -0xf263, 0xf4a3, 0xf54a, 0xf4a3, 0xf54a, 0xf864, 0xf895, 0xf864, 0xf895, 0xfbc2, 0xfb80, -0xfbc2, 0xfb80, 0xff35, 0xfe83, 0xff35, 0xfe83, 0x1eb, 0xcc, 0x1eb, 0xcc, 0x1eb, -0xcc, 0x392, 0x20c, 0x392, 0x20c, 0x561, 0x37a, 0x561, 0x37a, 0x815, 0x5d2, -0x815, 0x5d2, 0xa89, 0x7ef, 0xa89, 0x7ef, 0xd02, 0xa16, 0xd02, 0xa16, 0x10ff, -0xdc6, 0x10ff, 0xdc6, 0x10ff, 0xdc6, 0x1560, 0x11dd, 0x1560, 0x11dd, 0x18b4, 0x14ec, -0x18b4, 0x14ec, 0x1b1a, 0x1710, 0x1b1a, 0x1710, 0x1d51, 0x1906, 0x1d51, 0x1906, 0x1f55, -0x1acc, 0x1f55, 0x1acc, 0x20e4, 0x1c1f, 0x20e4, 0x1c1f, 0x20e4, 0x1c1f, 0x22b9, 0x1dbb, -0x22b9, 0x1dbb, 0x250d, 0x1fd7, 0x250d, 0x1fd7, 0x270e, 0x21a2, 0x270e, 0x21a2, 0x2977, -0x23d9, 0x2977, 0x23d9, 0x2ae6, 0x2519, 0x2ae6, 0x2519, 0x2ae6, 0x2519, 0x2afb, 0x2503, -0x2afb, 0x2503, 0x2bd4, 0x25b6, 0x2bd4, 0x25b6, 0x2c8d, 0x264f, 0x2c8d, 0x264f, 0x2d06, -0x26b0, 0x2d06, 0x26b0, 0x2da8, 0x2741, 0x2da8, 0x2741, 0x2e2e, 0x27bf, 0x2e2e, 0x27bf, -0x2e2e, 0x27bf, 0x2e27, 0x27ba, 0x2e27, 0x27ba, 0x2e4b, 0x27ea, 0x2e4b, 0x27ea, 0x2eb0, -0x2866, 0x2eb0, 0x2866, 0x2d53, 0x272b, 0x2d53, 0x272b, 0x2ad9, 0x24df, 0x2ad9, 0x24df, -0x28c3, 0x2302, 0x28c3, 0x2302, 0x28c3, 0x2302, 0x25ef, 0x2071, 0x25ef, 0x2071, 0x232c, -0x1dfd, 0x232c, 0x1dfd, 0x21bc, 0x1ce4, 0x21bc, 0x1ce4, 0x1fee, 0x1b78, 0x1fee, 0x1b78, -0x1e5a, 0x1a4b, 0x1e5a, 0x1a4b, 0x1e5a, 0x1a4b, 0x1cbd, 0x191e, 0x1cbd, 0x191e, 0x1a93, -0x1768, 0x1a93, 0x1768, 0x179d, 0x14ec, 0x179d, 0x14ec, 0x1361, 0x112b, 0x1361, 0x112b, -0xfa7, 0xded, 0xfa7, 0xded, 0xb84, 0xa47, 0xb84, 0xa47, 0xb84, 0xa47, 0x6e1, -0x61f, 0x6e1, 0x61f, 0x3f3, 0x3ab, 0x3f3, 0x3ab, 0x199, 0x1c6, 0x199, 0x1c6, -0xfe5c, 0xfef9, 0xfe5c, 0xfef9, 0xfbb7, 0xfcbf, 0xfbb7, 0xfcbf, 0xf953, 0xfac1, 0xf953, -0xfac1, 0xf953, 0xfac1, 0xf686, 0xf852, 0xf686, 0xf852, 0xf39b, 0xf5bd, 0xf39b, 0xf5bd, -0xf146, 0xf3b6, 0xf146, 0xf3b6, 0xf037, 0xf2ec, 0xf037, 0xf2ec, 0xef37, 0xf22a, 0xef37, -0xf22a, 0xef37, 0xf22a, 0xeed4, 0xf1fb, 0xeed4, 0xf1fb, 0xee13, 0xf165, 0xee13, 0xf165, -0xed34, 0xf0a6, 0xed34, 0xf0a6, 0xece2, 0xf06c, 0xece2, 0xf06c, 0xec01, 0xef99, 0xec01, -0xef99, 0xeb34, 0xeed0, 0xeb34, 0xeed0, 0xeb34, 0xeed0, 0xea07, 0xed9f, 0xea07, 0xed9f, -0xe943, 0xeccb, 0xe943, 0xeccb, 0xe8c1, 0xec31, 0xe8c1, 0xec31, 0xe85f, 0xebae, 0xe85f, -0xebae, 0xe8e6, 0xec0b, 0xe8e6, 0xec0b, 0xe989, 0xec7c, 0xe989, 0xec7c, 0xe989, 0xec7c, -0xea72, 0xed2c, 0xea72, 0xed2c, 0xebdd, 0xee56, 0xebdd, 0xee56, 0xedc7, 0xeffa, 0xedc7, -0xeffa, 0xefdf, 0xf1c6, 0xefdf, 0xf1c6, 0xf1e1, 0xf377, 0xf1e1, 0xf377, 0xf1e1, 0xf377, -0xf449, 0xf58c, 0xf449, 0xf58c, 0xf604, 0xf6f1, 0xf604, 0xf6f1, 0xf7ba, 0xf851, 0xf7ba, -0xf851, 0xfabe, 0xfaff, 0xfabe, 0xfaff, 0xfd28, 0xfd14, 0xfd28, 0xfd14, 0x7, 0xffa3, -0x7, 0xffa3, 0x7, 0xffa3, 0x35a, 0x2a9, 0x35a, 0x2a9, 0x60e, 0x516, 0x60e, -0x516, 0x86c, 0x733, 0x86c, 0x733, 0x9eb, 0x878, 0x9eb, 0x878, 0xbde, 0xa3a, -0xbde, 0xa3a, 0xd31, 0xb64, 0xd31, 0xb64, 0xd31, 0xb64, 0xe61, 0xc73, 0xe61, -0xc73, 0x10c4, 0xebf, 0x10c4, 0xebf, 0x11af, 0xf9c, 0x11af, 0xf9c, 0x1196, 0xf7e, -0x1196, 0xf7e, 0x11bf, 0xfa9, 0x11bf, 0xfa9, 0x11bf, 0xfa9, 0x1114, 0xf0a, 0x1114, -0xf0a, 0x1093, 0xe99, 0x1093, 0xe99, 0xf4b, 0xd69, 0xf4b, 0xd69, 0xc50, 0xa8b, -0xc50, 0xa8b, 0x9b7, 0x815, 0x9b7, 0x815, 0x770, 0x5f3, 0x770, 0x5f3, 0x770, -0x5f3, 0x5a5, 0x451, 0x5a5, 0x451, 0x492, 0x368, 0x492, 0x368, 0x468, 0x36b, -0x468, 0x36b, 0x48a, 0x3bb, 0x48a, 0x3bb, 0x334, 0x294, 0x334, 0x294, 0xde, -0x6e, 0xde, 0x6e, 0xde, 0x6e, 0xfecd, 0xfe8e, 0xfecd, 0xfe8e, 0xfc18, 0xfc0b, -0xfc18, 0xfc0b, 0xf885, 0xf8ab, 0xf885, 0xf8ab, 0xf5d6, 0xf632, 0xf5d6, 0xf632, 0xf348, -0xf3dc, 0xf348, 0xf3dc, 0xf348, 0xf3dc, 0xf0e8, 0xf1b6, 0xf0e8, 0xf1b6, 0xef0b, 0xf016, -0xef0b, 0xf016, 0xed70, 0xeebb, 0xed70, 0xeebb, 0xeb81, 0xed0f, 0xeb81, 0xed0f, 0xe9a9, -0xeb7e, 0xe9a9, 0xeb7e, 0xe8bf, 0xeade, 0xe8bf, 0xeade, 0xe8bf, 0xeade, 0xe6fe, 0xe969, -0xe6fe, 0xe969, 0xe5ae, 0xe868, 0xe5ae, 0xe868, 0xe4fd, 0xe806, 0xe4fd, 0xe806, 0xe381, -0xe6d9, 0xe381, 0xe6d9, 0xe186, 0xe52c, 0xe186, 0xe52c, 0xe186, 0xe52c, 0xdff7, 0xe3e9, -0xdff7, 0xe3e9, 0xdeda, 0xe312, 0xdeda, 0xe312, 0xdd4a, 0xe1c4, 0xdd4a, 0xe1c4, 0xdc1a, -0xe0ce, 0xdc1a, 0xe0ce, 0xdb4c, 0xe030, 0xdb4c, 0xe030, 0xdaa3, 0xdfae, 0xdaa3, 0xdfae, -0xdaa3, 0xdfae, 0xd9cf, 0xdef3, 0xd9cf, 0xdef3, 0xd92f, 0xde61, 0xd92f, 0xde61, 0xd9f9, -0xdf2b, 0xd9f9, 0xdf2b, 0xdafa, 0xe01e, 0xdafa, 0xe01e, 0xdb5c, 0xe064, 0xdb5c, 0xe064, -0xdc88, 0xe165, 0xdc88, 0xe165, 0xdc88, 0xe165, 0xdd4c, 0xe1f3, 0xdd4c, 0xe1f3, 0xde6f, -0xe2d3, 0xde6f, 0xe2d3, 0xe0a6, 0xe4bd, 0xe0a6, 0xe4bd, 0xe1e2, 0xe5a2, 0xe1e2, 0xe5a2, -0xe488, 0xe7ed, 0xe488, 0xe7ed, 0xe488, 0xe7ed, 0xe7e9, 0xeaed, 0xe7e9, 0xeaed, 0xead2, -0xed73, 0xead2, 0xed73, 0xedc7, 0xf006, 0xedc7, 0xf006, 0xf01d, 0xf1fd, 0xf01d, 0xf1fd, -0xf2b2, 0xf439, 0xf2b2, 0xf439, 0xf490, 0xf5c5, 0xf490, 0xf5c5, 0xf490, 0xf5c5, 0xf67b, -0xf76a, 0xf67b, 0xf76a, 0xf96a, 0xfa1d, 0xf96a, 0xfa1d, 0xfbcf, 0xfc54, 0xfbcf, 0xfc54, -0xfdb7, 0xfe1b, 0xfdb7, 0xfe1b, 0xff44, 0xff95, 0xff44, 0xff95, 0xffcb, 0x18, 0xffcb, -0x18, 0xffcb, 0x18, 0x83, 0xda, 0x83, 0xda, 0x171, 0x1de, 0x171, 0x1de, -0x15c, 0x1ea, 0x15c, 0x1ea, 0x3e, 0xf7, 0x3e, 0xf7, 0xfe93, 0xff7e, 0xfe93, -0xff7e, 0xfe93, 0xff7e, 0xfd59, 0xfe7b, 0xfd59, 0xfe7b, 0xfbe0, 0xfd3a, 0xfbe0, 0xfd3a, -0xfa6a, 0xfbfd, 0xfa6a, 0xfbfd, 0xf9dc, 0xfba4, 0xf9dc, 0xfba4, 0xf972, 0xfb6b, 0xf972, -0xfb6b, 0xf9a3, 0xfbc3, 0xf9a3, 0xfbc3, 0xf9a3, 0xfbc3, 0xfaa2, 0xfce1, 0xfaa2, 0xfce1, -0xfae8, 0xfd3a, 0xfae8, 0xfd3a, 0xfa9e, 0xfcf6, 0xfa9e, 0xfcf6, 0xfa23, 0xfc74, 0xfa23, -0xfc74, 0xf929, 0xfb65, 0xf929, 0xfb65, 0xf7dd, 0xf9f6, 0xf7dd, 0xf9f6, 0xf7dd, 0xf9f6, -0xf6ab, 0xf894, 0xf6ab, 0xf894, 0xf6bc, 0xf86a, 0xf6bc, 0xf86a, 0xf744, 0xf8ad, 0xf744, -0xf8ad, 0xf8b1, 0xf9cd, 0xf8b1, 0xf9cd, 0xfab8, 0xfb81, 0xfab8, 0xfb81, 0xfab8, 0xfb81, -0xfc7c, 0xfcee, 0xfc7c, 0xfcee, 0xff72, 0xff8c, 0xff72, 0xff8c, 0x221, 0x1e6, 0x221, -0x1e6, 0x3a0, 0x313, 0x3a0, 0x313, 0x50e, 0x435, 0x50e, 0x435, 0x778, 0x65b, -0x778, 0x65b, 0x778, 0x65b, 0x9b6, 0x85f, 0x9b6, 0x85f, 0xa99, 0x914, 0xa99, -0x914, 0xbdb, 0xa32, 0xbdb, 0xa32, 0xd39, 0xb78, 0xd39, 0xb78, 0xddf, 0xc13, -0xddf, 0xc13, 0xe10, 0xc43, 0xe10, 0xc43, 0xe10, 0xc43, 0xd16, 0xb52, 0xd16, -0xb52, 0xc05, 0xa53, 0xc05, 0xa53, 0xa7b, 0x8e0, 0xa7b, 0x8e0, 0x815, 0x697, -0x815, 0x697, 0x6a6, 0x548, 0x6a6, 0x548, 0x6a6, 0x548, 0x519, 0x3da, 0x519, -0x3da, 0x544, 0x421, 0x544, 0x421, 0x5de, 0x4d5, 0x5de, 0x4d5, 0x463, 0x36d, -0x463, 0x36d, 0x39e, 0x2b6, 0x39e, 0x2b6, 0x33b, 0x257, 0x33b, 0x257, 0x33b, -0x257, 0x341, 0x259, 0x341, 0x259, 0x329, 0x234, 0x329, 0x234, 0x373, 0x269, -0x373, 0x269, 0x4cb, 0x3a3, 0x4cb, 0x3a3, 0x5b1, 0x465, 0x5b1, 0x465, 0x70e, -0x599, 0x70e, 0x599, 0x70e, 0x599, 0x81d, 0x67c, 0x81d, 0x67c, 0x816, 0x648, -0x816, 0x648, 0x846, 0x64c, 0x846, 0x64c, 0x883, 0x660, 0x883, 0x660, 0x94f, -0x708, 0x94f, 0x708, 0x94f, 0x708, 0xb2f, 0x8cd, 0xb2f, 0x8cd, 0xd11, 0xa9e, -0xd11, 0xa9e, 0xf09, 0xc8f, 0xf09, 0xc8f, 0xfe6, 0xd71, 0xfe6, 0xd71, 0xffb, -0xd98, 0xffb, 0xd98, 0x1079, 0xe35, 0x1079, 0xe35, 0x1079, 0xe35, 0x105b, 0xe43, -0x105b, 0xe43, 0x1019, 0xe39, 0x1019, 0xe39, 0xef5, 0xd56, 0xef5, 0xd56, 0xc67, -0xb13, 0xc67, 0xb13, 0xa56, 0x954, 0xa56, 0x954, 0x95c, 0x8b1, 0x95c, 0x8b1, -0x95c, 0x8b1, 0x840, 0x7ed, 0x840, 0x7ed, 0x71d, 0x722, 0x71d, 0x722, 0x646, -0x6a0, 0x646, 0x6a0, 0x53a, 0x5e3, 0x53a, 0x5e3, 0x2f7, 0x3e8, 0x2f7, 0x3e8, -0x2f7, 0x3e8, 0xffb4, 0xe4, 0xffb4, 0xe4, 0xfd30, 0xfe93, 0xfd30, 0xfe93, 0xfb50, -0xfcda, 0xfb50, 0xfcda, 0xfa72, 0xfc16, 0xfa72, 0xfc16, 0xf9d7, 0xfb88, 0xf9d7, 0xfb88, -0xf908, 0xfab8, 0xf908, 0xfab8, 0xf908, 0xfab8, 0xf8f9, 0xfa9e, 0xf8f9, 0xfa9e, 0xf916, -0xfaa5, 0xf916, 0xfaa5, 0xf901, 0xfa70, 0xf901, 0xfa70, 0xf90a, 0xfa53, 0xf90a, 0xfa53, -0xf9f3, 0xfb11, 0xf9f3, 0xfb11, 0xfb25, 0xfc15, 0xfb25, 0xfc15, 0xfb25, 0xfc15, 0xfc36, -0xfcf8, 0xfc36, 0xfcf8, 0xfd7f, 0xfe14, 0xfd7f, 0xfe14, 0xfe7e, 0xfeea, 0xfe7e, 0xfeea, -0xff9d, 0xffe7, 0xff9d, 0xffe7, 0xa5, 0xd4, 0xa5, 0xd4, 0xa5, 0xd4, 0xe5, -0x101, 0xe5, 0x101, 0x165, 0x178, 0x165, 0x178, 0x162, 0x175, 0x162, 0x175, -0xe0, 0xfd, 0xe0, 0xfd, 0x35, 0x65, 0x35, 0x65, 0xfeaa, 0xfef4, 0xfeaa, -0xfef4, 0xfeaa, 0xfef4, 0xfe16, 0xfe80, 0xfe16, 0xfe80, 0xfd35, 0xfdc5, 0xfd35, 0xfdc5, -0xfbcb, 0xfc83, 0xfbcb, 0xfc83, 0xfb0e, 0xfbee, 0xfb0e, 0xfbee, 0xfa4b, 0xfb53, 0xfa4b, -0xfb53, 0xfa1f, 0xfb4b, 0xfa1f, 0xfb4b, 0xfa1f, 0xfb4b, 0xf96b, 0xfab5, 0xf96b, 0xfab5, -0xf7fd, 0xf95f, 0xf7fd, 0xf95f, 0xf652, 0xf7c3, 0xf652, 0xf7c3, 0xf4b7, 0xf62c, 0xf4b7, -0xf62c, 0xf4d8, 0xf647, 0xf4d8, 0xf647, 0xf4d8, 0xf647, 0xf552, 0xf6b0, 0xf552, 0xf6b0, -0xf521, 0xf662, 0xf521, 0xf662, 0xf57e, 0xf697, 0xf57e, 0xf697, 0xf596, 0xf67e, 0xf596, -0xf67e, 0xf6e4, 0xf791, 0xf6e4, 0xf791, 0xf95e, 0xf9cb, 0xf95e, 0xf9cb, 0xf95e, 0xf9cb, -0xfadd, 0xfb03, 0xfadd, 0xfb03, 0xfcfc, 0xfcd7, 0xfcfc, 0xfcd7, 0xff75, 0xff04, 0xff75, -0xff04, 0x1d0, 0x113, 0x1d0, 0x113, 0x409, 0x304, 0x409, 0x304, 0x409, 0x304, -0x5c8, 0x47e, 0x5c8, 0x47e, 0x844, 0x6bb, 0x844, 0x6bb, 0xa9a, 0x8d9, 0xa9a, -0x8d9, 0xb72, 0x982, 0xb72, 0x982, 0xc9a, 0xa85, 0xc9a, 0xa85, 0xe07, 0xbd5, -0xe07, 0xbd5, 0xe07, 0xbd5, 0xe39, 0xbf5, 0xe39, 0xbf5, 0xe0d, 0xbc0, 0xe0d, -0xbc0, 0xe02, 0xbb5, 0xe02, 0xbb5, 0xee5, 0xc9f, 0xee5, 0xc9f, 0xfd0, 0xd99, -0xfd0, 0xd99, 0x10cd, 0xeaa, 0x10cd, 0xeaa, 0x10cd, 0xeaa, 0x1222, 0x1017, 0x1222, -0x1017, 0x12b1, 0x10c1, 0x12b1, 0x10c1, 0x131a, 0x1146, 0x131a, 0x1146, 0x1282, 0x10c9, -0x1282, 0x10c9, 0x1129, 0xf89, 0x1129, 0xf89, 0x1129, 0xf89, 0xfd5, 0xe4c, 0xfd5, -0xe4c, 0xf48, 0xdd1, 0xf48, 0xdd1, 0xf1b, 0xdb1, 0xf1b, 0xdb1, 0xe5f, 0xcfe, -0xe5f, 0xcfe, 0xe09, 0xcaa, 0xe09, 0xcaa, 0xda9, 0xc46, 0xda9, 0xc46, 0xda9, -0xc46, 0xdb8, 0xc4d, 0xdb8, 0xc4d, 0xe73, 0xcfa, 0xe73, 0xcfa, 0xf83, 0xdf8, -0xf83, 0xdf8, 0x1103, 0xf61, 0x1103, 0xf61, 0x120c, 0x1052, 0x120c, 0x1052, 0x138a, -0x11b4, 0x138a, 0x11b4, 0x138a, 0x11b4, 0x15c8, 0x13d5, 0x15c8, 0x13d5, 0x1726, 0x1516, -0x1726, 0x1516, 0x187e, 0x1652, 0x187e, 0x1652, 0x1995, 0x174e, 0x1995, 0x174e, 0x1a15, -0x17b4, 0x1a15, 0x17b4, 0x1a15, 0x17b4, 0x1b1c, 0x18a3, 0x1b1c, 0x18a3, 0x1b50, 0x18c4, -0x1b50, 0x18c4, 0x1b22, 0x1885, 0x1b22, 0x1885, 0x1b0e, 0x1864, 0x1b0e, 0x1864, 0x1b3d, -0x1888, 0x1b3d, 0x1888, 0x1be8, 0x192e, 0x1be8, 0x192e, 0x1be8, 0x192e, 0x1b6a, 0x18ad, -0x1b6a, 0x18ad, 0x1ae3, 0x1827, 0x1ae3, 0x1827, 0x1a21, 0x176a, 0x1a21, 0x176a, 0x1864, -0x15b5, 0x1864, 0x15b5, 0x1797, 0x14f4, 0x1797, 0x14f4, 0x1681, 0x13ed, 0x1681, 0x13ed, -0x1681, 0x13ed, 0x1528, 0x12a8, 0x1528, 0x12a8, 0x1436, 0x11cc, 0x1436, 0x11cc, 0x128a, -0x103b, 0x128a, 0x103b, 0x1225, 0xff4, 0x1225, 0xff4, 0x123a, 0x102c, 0x123a, 0x102c, -0x123a, 0x102c, 0x10f8, 0xf11, 0x10f8, 0xf11, 0xf67, 0xdac, 0xf67, 0xdac, 0xd98, -0xc0f, 0xd98, 0xc0f, 0xc26, 0xad2, 0xc26, 0xad2, 0xb51, 0xa38, 0xb51, 0xa38, -0xa1d, 0x944, 0xa1d, 0x944, 0xa1d, 0x944, 0x8c1, 0x82b, 0x8c1, 0x82b, 0x6fe, -0x6b0, 0x6fe, 0x6b0, 0x488, 0x484, 0x488, 0x484, 0x30c, 0x355, 0x30c, 0x355, -0x19c, 0x235, 0x19c, 0x235, 0xff7d, 0x65, 0xff7d, 0x65, 0xff7d, 0x65, 0xfd87, -0xfebd, 0xfd87, 0xfebd, 0xfb7b, 0xfcfe, 0xfb7b, 0xfcfe, 0xf8b4, 0xfa80, 0xf8b4, 0xfa80, -0xf4ec, 0xf6fc, 0xf4ec, 0xf6fc, 0xf213, 0xf463, 0xf213, 0xf463, 0xf213, 0xf463, 0xefe0, -0xf268, 0xefe0, 0xf268, 0xedff, 0xf0b6, 0xedff, 0xf0b6, 0xed1c, 0xeffb, 0xed1c, 0xeffb, -0xed11, 0xf00d, 0xed11, 0xf00d, 0xed41, 0xf04f, 0xed41, 0xf04f, 0xecd3, 0xefeb, 0xecd3, -0xefeb, 0xecd3, 0xefeb, 0xec58, 0xef6e, 0xec58, 0xef6e, 0xeb03, 0xee0d, 0xeb03, 0xee0d, -0xe9a0, 0xec96, 0xe9a0, 0xec96, 0xe8ed, 0xebc5, 0xe8ed, 0xebc5, 0xe824, 0xead6, 0xe824, -0xead6, 0xe7d0, 0xea56, 0xe7d0, 0xea56, 0xe7d0, 0xea56, 0xe815, 0xea69, 0xe815, 0xea69, -0xe970, 0xeb8e, 0xe970, 0xeb8e, 0xeafa, 0xecdf, 0xeafa, 0xecdf, 0xebef, 0xed99, 0xebef, -0xed99, 0xee2f, 0xef9d, 0xee2f, 0xef9d, 0xee2f, 0xef9d, 0xf0ea, 0xf21d, 0xf0ea, 0xf21d, -0xf2ea, 0xf3e4, 0xf2ea, 0xf3e4, 0xf543, 0xf606, 0xf543, 0xf606, 0xf6e5, 0xf773, 0xf6e5, -0xf773, 0xf8e3, 0xf93f, 0xf8e3, 0xf93f, 0xfbd9, 0xfc07, 0xfbd9, 0xfc07, 0xfbd9, 0xfc07, -0xfded, 0xfdef, 0xfded, 0xfdef, 0xff51, 0xff2b, 0xff51, 0xff2b, 0xffe0, 0xff95, 0xffe0, -0xff95, 0xb1, 0x41, 0xb1, 0x41, 0x142, 0xaf, 0x142, 0xaf, 0x8b, 0xffd7, -0x8b, 0xffd7, 0x8b, 0xffd7, 0xf5, 0x20, 0xf5, 0x20, 0x1c8, 0xd1, 0x1c8, -0xd1, 0x204, 0xec, 0x204, 0xec, 0x372, 0x239, 0x372, 0x239, 0x45f, 0x305, -0x45f, 0x305, 0x45f, 0x305, 0x460, 0x2e6, 0x460, 0x2e6, 0x48c, 0x2f2, 0x48c, -0x2f2, 0x3cb, 0x213, 0x3cb, 0x213, 0x3a0, 0x1cd, 0x3a0, 0x1cd, 0x43a, 0x251, -0x43a, 0x251, 0x4d2, 0x2d8, 0x4d2, 0x2d8, 0x4d2, 0x2d8, 0x571, 0x36c, 0x571, -0x36c, 0x518, 0x311, 0x518, 0x311, 0x4a0, 0x2a0, 0x4a0, 0x2a0, 0x45b, 0x26e, -0x45b, 0x26e, 0x332, 0x163, 0x332, 0x163, 0x18c, 0xffe8, 0x18c, 0xffe8, 0x18c, -0xffe8, 0xffcf, 0xfe64, 0xffcf, 0xfe64, 0xfe48, 0xfd23, 0xfe48, 0xfd23, 0xfdb9, 0xfce6, -0xfdb9, 0xfce6, 0xfcfb, 0xfc88, 0xfcfb, 0xfc88, 0xfb4c, 0xfb44, 0xfb4c, 0xfb44, 0xfb4c, -0xfb44, 0xf926, 0xf993, 0xf926, 0xf993, 0xf739, 0xf823, 0xf739, 0xf823, 0xf4e1, 0xf64f, -0xf4e1, 0xf64f, 0xf15d, 0xf351, 0xf15d, 0xf351, 0xeded, 0xf069, 0xeded, 0xf069, 0xea38, -0xed3b, 0xea38, 0xed3b, 0xea38, 0xed3b, 0xe659, 0xe9dd, 0xe659, 0xe9dd, 0xe319, 0xe718, -0xe319, 0xe718, 0xe0ad, 0xe51d, 0xe0ad, 0xe51d, 0xdf11, 0xe3e6, 0xdf11, 0xe3e6, 0xde2e, -0xe35a, 0xde2e, 0xe35a, 0xdd90, 0xe303, 0xdd90, 0xe303, 0xdd90, 0xe303, 0xdbfe, 0xe1a8, -0xdbfe, 0xe1a8, 0xdb12, 0xe0e1, 0xdb12, 0xe0e1, 0xda72, 0xe054, 0xda72, 0xe054, 0xd8f6, -0xdeda, 0xd8f6, 0xdeda, 0xd7e3, 0xddb9, 0xd7e3, 0xddb9, 0xd7e3, 0xddb9, 0xd6ce, 0xdc87, -0xd6ce, 0xdc87, 0xd6f8, 0xdc87, 0xd6f8, 0xdc87, 0xd782, 0xdcdb, 0xd782, 0xdcdb, 0xd75c, -0xdc76, 0xd75c, 0xdc76, 0xd8f8, 0xddcc, 0xd8f8, 0xddcc, 0xdaba, 0xdf45, 0xdaba, 0xdf45, -0xdaba, 0xdf45, 0xdcb8, 0xe0f7, 0xdcb8, 0xe0f7, 0xdf93, 0xe388, 0xdf93, 0xe388, 0xe19e, -0xe54b, 0xe19e, 0xe54b, 0xe44e, 0xe7b7, 0xe44e, 0xe7b7, 0xe73f, 0xea6a, 0xe73f, 0xea6a, -0xe73f, 0xea6a, 0xe945, 0xec3a, 0xe945, 0xec3a, 0xeace, 0xed93, 0xeace, 0xed93, 0xec33, -0xeecf, 0xec33, 0xeecf, 0xee1a, 0xf095, 0xee1a, 0xf095, 0xf005, 0xf264, 0xf005, 0xf264, -0xf111, 0xf359, 0xf111, 0xf359, 0xf111, 0xf359, 0xf207, 0xf43a, 0xf207, 0xf43a, 0xf2a8, -0xf4c6, 0xf2a8, 0xf4c6, 0xf2fe, 0xf507, 0xf2fe, 0xf507, 0xf4be, 0xf6ae, 0xf4be, 0xf6ae, -0xf62e, 0xf800, 0xf62e, 0xf800, 0xf710, 0xf8bd, 0xf710, 0xf8bd, 0xf710, 0xf8bd, 0xf84d, -0xf9cc, 0xf84d, 0xf9cc, 0xf961, 0xfaa7, 0xf961, 0xfaa7, 0xfae5, 0xfbe8, 0xfae5, 0xfbe8, -0xfca3, 0xfd56, 0xfca3, 0xfd56, 0xfec6, 0xff1f, 0xfec6, 0xff1f, 0xfec6, 0xff1f, 0xea, -0xde, 0xea, 0xde, 0x2ed, 0x272, 0x2ed, 0x272, 0x53e, 0x44e, 0x53e, 0x44e, -0x7ae, 0x643, 0x7ae, 0x643, 0xa69, 0x87f, 0xa69, 0x87f, 0xd89, 0xb23, 0xd89, -0xb23, 0xd89, 0xb23, 0x104f, 0xd6e, 0x104f, 0xd6e, 0x12cb, 0xf77, 0x12cb, 0xf77, -0x15e2, 0x1225, 0x15e2, 0x1225, 0x18e4, 0x14cb, 0x18e4, 0x14cb, 0x1b3e, 0x16d8, 0x1b3e, -0x16d8, 0x1cf4, 0x1854, 0x1cf4, 0x1854, 0x1cf4, 0x1854, 0x1ef8, 0x1a32, 0x1ef8, 0x1a32, -0x2078, 0x1ba2, 0x2078, 0x1ba2, 0x2037, 0x1b67, 0x2037, 0x1b67, 0x1fa2, 0x1aee, 0x1fa2, -0x1aee, 0x1f0a, 0x1a89, 0x1f0a, 0x1a89, 0x1f0a, 0x1a89, 0x1dda, 0x199f, 0x1dda, 0x199f, -0x1bd7, 0x17f6, 0x1bd7, 0x17f6, 0x193b, 0x15c3, 0x193b, 0x15c3, 0x158b, 0x128b, 0x158b, -0x128b, 0x120b, 0xf8c, 0x120b, 0xf8c, 0xeee, 0xcf7, 0xeee, 0xcf7, 0xeee, 0xcf7, -0xb1d, 0x9b1, 0xb1d, 0x9b1, 0x8c2, 0x7e0, 0x8c2, 0x7e0, 0x6a2, 0x644, 0x6a2, -0x644, 0x415, 0x435, 0x415, 0x435, 0x1ea, 0x27c, 0x1ea, 0x27c, 0xfe9a, 0xff91, -0xfe9a, 0xff91, 0xfe9a, 0xff91, 0xfbe5, 0xfd31, 0xfbe5, 0xfd31, 0xf9c5, 0xfb54, 0xf9c5, -0xfb54, 0xf748, 0xf909, 0xf748, 0xf909, 0xf5ad, 0xf78d, 0xf5ad, 0xf78d, 0xf427, 0xf614, -0xf427, 0xf614, 0xf427, 0xf614, 0xf35b, 0xf545, 0xf35b, 0xf545, 0xf2c8, 0xf49f, 0xf2c8, -0xf49f, 0xf18a, 0xf33f, 0xf18a, 0xf33f, 0xf159, 0xf2e2, 0xf159, 0xf2e2, 0xf1d2, 0xf326, -0xf1d2, 0xf326, 0xf283, 0xf39a, 0xf283, 0xf39a, 0xf283, 0xf39a, 0xf386, 0xf45e, 0xf386, -0xf45e, 0xf576, 0xf60e, 0xf576, 0xf60e, 0xf834, 0xf88e, 0xf834, 0xf88e, 0xfab4, 0xfad2, -0xfab4, 0xfad2, 0xfd6e, 0xfd57, 0xfd6e, 0xfd57, 0xffb2, 0xff6c, 0xffb2, 0xff6c, 0xffb2, -0xff6c, 0xeb, 0x7d, 0xeb, 0x7d, 0x23b, 0x1ae, 0x23b, 0x1ae, 0x38f, 0x2ea, -0x38f, 0x2ea, 0x3c9, 0x313, 0x3c9, 0x313, 0x3b4, 0x2f3, 0x3b4, 0x2f3, 0x3b4, -0x2f3, 0x3b4, 0x2ee, 0x3b4, 0x2ee, 0x3a5, 0x2db, 0x3a5, 0x2db, 0x3fd, 0x332, -0x3fd, 0x332, 0x411, 0x344, 0x411, 0x344, 0x3f4, 0x322, 0x3f4, 0x322, 0x387, -0x2ad, 0x387, 0x2ad, 0x387, 0x2ad, 0x336, 0x24e, 0x336, 0x24e, 0x3bd, 0x2c0, -0x3bd, 0x2c0, 0x406, 0x2ed, 0x406, 0x2ed, 0x500, 0x3c4, 0x500, 0x3c4, 0x72b, -0x5c3, 0x72b, 0x5c3, 0x888, 0x6ef, 0x888, 0x6ef, 0x888, 0x6ef, 0x9f1, 0x822, -0x9f1, 0x822, 0xc37, 0xa2d, 0xc37, 0xa2d, 0xe6e, 0xc28, 0xe6e, 0xc28, 0x100e, -0xd8c, 0x100e, 0xd8c, 0x1163, 0xeaa, 0x1163, 0xeaa, 0x1163, 0xeaa, 0x134b, 0x105f, -0x134b, 0x105f, 0x147c, 0x1167, 0x147c, 0x1167, 0x14b5, 0x1182, 0x14b5, 0x1182, 0x14c1, -0x117f, 0x14c1, 0x117f, 0x1525, 0x11e3, 0x1525, 0x11e3, 0x156f, 0x123f, 0x156f, 0x123f, -0x156f, 0x123f, 0x14f2, 0x11e6, 0x14f2, 0x11e6, 0x1490, 0x11bc, 0x1490, 0x11bc, 0x1357, -0x10ce, 0x1357, 0x10ce, 0x120b, 0xfdf, 0x120b, 0xfdf, 0x103c, 0xe80, 0x103c, 0xe80, -0xca6, 0xb69, 0xca6, 0xb69, 0xca6, 0xb69, 0x96c, 0x8ba, 0x96c, 0x8ba, 0x5ca, -0x5ad, 0x5ca, 0x5ad, 0x1f7, 0x275, 0x1f7, 0x275, 0xff12, 0x2f, 0xff12, 0x2f, -0xfc23, 0xfddd, 0xfc23, 0xfddd, 0xfc23, 0xfddd, 0xf9bb, 0xfc0d, 0xf9bb, 0xfc0d, 0xf772, -0xfa54, 0xf772, 0xfa54, 0xf512, 0xf878, 0xf512, 0xf878, 0xf22e, 0xf607, 0xf22e, 0xf607, -0xee98, 0xf2d3, 0xee98, 0xf2d3, 0xebdd, 0xf063, 0xebdd, 0xf063, 0xebdd, 0xf063, 0xe890, -0xed4d, 0xe890, 0xed4d, 0xe562, 0xea3d, 0xe562, 0xea3d, 0xe376, 0xe858, 0xe376, 0xe858, -0xe1fc, 0xe6cd, 0xe1fc, 0xe6cd, 0xe1a3, 0xe64b, 0xe1a3, 0xe64b, 0xe178, 0xe5e2, 0xe178, -0xe5e2, 0xe178, 0xe5e2, 0xe263, 0xe67c, 0xe263, 0xe67c, 0xe47c, 0xe832, 0xe47c, 0xe832, -0xe6ac, 0xe9f2, 0xe6ac, 0xe9f2, 0xe9f6, 0xecc0, 0xe9f6, 0xecc0, 0xed2a, 0xef70, 0xed2a, -0xef70, 0xed2a, 0xef70, 0xefca, 0xf187, 0xefca, 0xf187, 0xf342, 0xf474, 0xf342, 0xf474, -0xf67d, 0xf724, 0xf67d, 0xf724, 0xf89e, 0xf8be, 0xf89e, 0xf8be, 0xfb17, 0xfab6, 0xfb17, -0xfab6, 0xfd02, 0xfc27, 0xfd02, 0xfc27, 0xfd02, 0xfc27, 0xfe70, 0xfd24, 0xfe70, 0xfd24, -0xdb, 0xff27, 0xdb, 0xff27, 0x38d, 0x17b, 0x38d, 0x17b, 0x66f, 0x408, 0x66f, -0x408, 0x98b, 0x6d9, 0x98b, 0x6d9, 0xcfe, 0xa0a, 0xcfe, 0xa0a, 0xcfe, 0xa0a, -0xff0, 0xcc0, 0xff0, 0xcc0, 0x1150, 0xdea, 0x1150, 0xdea, 0x12c8, 0xf32, 0x12c8, -0xf32, 0x144c, 0x1088, 0x144c, 0x1088, 0x1501, 0x1112, 0x1501, 0x1112, 0x1501, 0x1112, -0x169c, 0x1281, 0x169c, 0x1281, 0x18f2, 0x14ac, 0x18f2, 0x14ac, 0x1b0c, 0x169a, 0x1b0c, -0x169a, 0x1ca1, 0x1801, 0x1ca1, 0x1801, 0x1ebc, 0x19ee, 0x1ebc, 0x19ee, 0x2167, 0x1c69, -0x2167, 0x1c69, 0x2167, 0x1c69, 0x22f3, 0x1dc5, 0x22f3, 0x1dc5, 0x2464, 0x1f06, 0x2464, -0x1f06, 0x251c, 0x1f91, 0x251c, 0x1f91, 0x25ca, 0x2016, 0x25ca, 0x2016, 0x27b0, 0x21d7, -0x27b0, 0x21d7, 0x27b0, 0x21d7, 0x297e, 0x2388, 0x297e, 0x2388, 0x2b37, 0x252c, 0x2b37, -0x252c, 0x2c40, 0x262b, 0x2c40, 0x262b, 0x2d48, 0x2735, 0x2d48, 0x2735, 0x2daa, 0x27a6, -0x2daa, 0x27a6, 0x2cd9, 0x26f2, 0x2cd9, 0x26f2, 0x2cd9, 0x26f2, 0x2c32, 0x2676, 0x2c32, -0x2676, 0x2a8d, 0x250c, 0x2a8d, 0x250c, 0x289b, 0x2363, 0x289b, 0x2363, 0x26ee, 0x220d, -0x26ee, 0x220d, 0x24fb, 0x207f, 0x24fb, 0x207f, 0x22ef, 0x1ee3, 0x22ef, 0x1ee3, 0x22ef, -0x1ee3, 0x2026, 0x1c94, 0x2026, 0x1c94, 0x1e3c, 0x1b2c, 0x1e3c, 0x1b2c, 0x1c19, 0x198f, -0x1c19, 0x198f, 0x1956, 0x1758, 0x1956, 0x1758, 0x17c4, 0x1651, 0x17c4, 0x1651, 0x17c4, -0x1651, 0x1491, 0x13a9, 0x1491, 0x13a9, 0x114b, 0x10ea, 0x114b, 0x10ea, 0xe40, 0xe60, -0xe40, 0xe60, 0xa2b, 0xac4, 0xa2b, 0xac4, 0x6cc, 0x7d6, 0x6cc, 0x7d6, 0x2ce, -0x43e, 0x2ce, 0x43e, 0x2ce, 0x43e, 0xff97, 0x162, 0xff97, 0x162, 0xfd08, 0xff22, -0xfd08, 0xff22, 0xfa4e, 0xfcac, 0xfa4e, 0xfcac, 0xf8cf, 0xfb64, 0xf8cf, 0xfb64, 0xf6f9, -0xf9bb, 0xf6f9, 0xf9bb, 0xf4b3, 0xf797, 0xf4b3, 0xf797, 0xf4b3, 0xf797, 0xf36a, 0xf666, -0xf36a, 0xf666, 0xf277, 0xf582, 0xf277, 0xf582, 0xf164, 0xf476, 0xf164, 0xf476, 0xf08a, -0xf39e, 0xf08a, 0xf39e, 0xef22, 0xf231, 0xef22, 0xf231, 0xef22, 0xf231, 0xee11, 0xf118, -0xee11, 0xf118, 0xed9e, 0xf099, 0xed9e, 0xf099, 0xecfa, 0xefe5, 0xecfa, 0xefe5, 0xec6a, -0xef43, 0xec6a, 0xef43, 0xebeb, 0xeeb0, 0xebeb, 0xeeb0, 0xebe9, 0xee97, 0xebe9, 0xee97, -0xebe9, 0xee97, 0xeb5b, 0xedf0, 0xeb5b, 0xedf0, 0xea94, 0xed0d, 0xea94, 0xed0d, 0xeaa3, -0xecfd, 0xeaa3, 0xecfd, 0xea2e, 0xec66, 0xea2e, 0xec66, 0xea02, 0xec13, 0xea02, 0xec13, -0xeb40, 0xed25, 0xeb40, 0xed25, 0xeb40, 0xed25, 0xecd3, 0xee86, 0xecd3, 0xee86, 0xee4c, -0xefc8, 0xee4c, 0xefc8, 0xefd7, 0xf116, 0xefd7, 0xf116, 0xf243, 0xf340, 0xf243, 0xf340, -0xf492, 0xf548, 0xf492, 0xf548, 0xf492, 0xf548, 0xf612, 0xf67c, 0xf612, 0xf67c, 0xf810, -0xf829, 0xf810, 0xf829, 0xf976, 0xf93c, 0xf976, 0xf93c, 0xfb54, 0xfac6, 0xfb54, 0xfac6, -0xfe42, 0xfd5f, 0xfe42, 0xfd5f, 0x9b, 0xff65, 0x9b, 0xff65, 0x9b, 0xff65, 0x2b6, -0x12f, 0x2b6, 0x12f, 0x510, 0x33f, 0x510, 0x33f, 0x811, 0x5fc, 0x811, 0x5fc, -0xa9e, 0x84d, 0xa9e, 0x84d, 0xd03, 0xa80, 0xd03, 0xa80, 0xed8, 0xc2e, 0xed8, -0xc2e, 0xed8, 0xc2e, 0xebc, 0xbf8, 0xebc, 0xbf8, 0xefb, 0xc29, 0xefb, 0xc29, -0xf3f, 0xc6c, 0xf3f, 0xc6c, 0xef9, 0xc33, 0xef9, 0xc33, 0xe21, 0xb74, 0xe21, -0xb74, 0xe21, 0xb74, 0xc3a, 0x9b4, 0xc3a, 0x9b4, 0xb7e, 0x929, 0xb7e, 0x929, -0xa01, 0x7e7, 0xa01, 0x7e7, 0x897, 0x6c0, 0x897, 0x6c0, 0x8ac, 0x720, 0x8ac, -0x720, 0x6f0, 0x5b5, 0x6f0, 0x5b5, 0x6f0, 0x5b5, 0x5b9, 0x4d1, 0x5b9, 0x4d1, -0x51e, 0x48b, 0x51e, 0x48b, 0x3de, 0x3a2, 0x3de, 0x3a2, 0x26a, 0x283, 0x26a, -0x283, 0xffb5, 0x20, 0xffb5, 0x20, 0xfd79, 0xfe32, 0xfd79, 0xfe32, 0xfd79, 0xfe32, -0xfb38, 0xfc3c, 0xfb38, 0xfc3c, 0xf825, 0xf96f, 0xf825, 0xf96f, 0xf5b9, 0xf744, 0xf5b9, -0xf744, 0xf320, 0xf4e7, 0xf320, 0xf4e7, 0xf04b, 0xf24b, 0xf04b, 0xf24b, 0xf04b, 0xf24b, -0xee3a, 0xf06e, 0xee3a, 0xf06e, 0xec1f, 0xee84, 0xec1f, 0xee84, 0xea3f, 0xecd3, 0xea3f, -0xecd3, 0xe891, 0xeb50, 0xe891, 0xeb50, 0xe71b, 0xea07, 0xe71b, 0xea07, 0xe630, 0xe946, -0xe630, 0xe946, 0xe630, 0xe946, 0xe520, 0xe861, 0xe520, 0xe861, 0xe48d, 0xe7fa, 0xe48d, -0xe7fa, 0xe380, 0xe718, 0xe380, 0xe718, 0xe1f1, 0xe5b6, 0xe1f1, 0xe5b6, 0xe08a, 0xe47a, -0xe08a, 0xe47a, 0xdead, 0xe2c8, 0xdead, 0xe2c8, 0xdead, 0xe2c8, 0xdd3b, 0xe17f, 0xdd3b, -0xe17f, 0xdc53, 0xe0bc, 0xdc53, 0xe0bc, 0xdb30, 0xdfbc, 0xdb30, 0xdfbc, 0xda24, 0xdecd, -0xda24, 0xdecd, 0xd9a9, 0xde67, 0xd9a9, 0xde67, 0xd9a9, 0xde67, 0xd9c8, 0xde94, 0xd9c8, -0xde94, 0xda35, 0xdf06, 0xda35, 0xdf06, 0xda3e, 0xdf0a, 0xda3e, 0xdf0a, 0xdaf8, 0xdfb3, -0xdaf8, 0xdfb3, 0xdc0d, 0xe0ae, 0xdc0d, 0xe0ae, 0xdcab, 0xe126, 0xdcab, 0xe126, 0xdcab, -0xe126, 0xdd5a, 0xe1a4, 0xdd5a, 0xe1a4, 0xde19, 0xe228, 0xde19, 0xe228, 0xe039, 0xe405, -0xe039, 0xe405, 0xe304, 0xe685, 0xe304, 0xe685, 0xe599, 0xe8ca, 0xe599, 0xe8ca, 0xe8b4, -0xeb92, 0xe8b4, 0xeb92, 0xe8b4, 0xeb92, 0xed37, 0xefbf, 0xed37, 0xefbf, 0xf210, 0xf446, -0xf210, 0xf446, 0xf507, 0xf6ed, 0xf507, 0xf6ed, 0xf7c5, 0xf961, 0xf7c5, 0xf961, 0xfa0c, -0xfb67, 0xfa0c, 0xfb67, 0xfa0c, 0xfb67, 0xfb93, 0xfcb7, 0xfb93, 0xfcb7, 0xfdd0, 0xfec9, -0xfdd0, 0xfec9, 0xfed6, 0xffaf, 0xfed6, 0xffaf, 0xff6d, 0x35, 0xff6d, 0x35, 0xffe4, -0xa8, 0xffe4, 0xa8, 0xff4a, 0x17, 0xff4a, 0x17, 0xff4a, 0x17, 0xffe9, 0xcb, -0xffe9, 0xcb, 0x2b, 0x12d, 0x2b, 0x12d, 0x30, 0x15b, 0x30, 0x15b, 0x69, -0x1c3, 0x69, 0x1c3, 0xfee2, 0x6f, 0xfee2, 0x6f, 0xfe11, 0xffd2, 0xfe11, 0xffd2, -0xfe11, 0xffd2, 0xfdf4, 0xffe8, 0xfdf4, 0xffe8, 0xfe4f, 0x72, 0xfe4f, 0x72, 0xfee0, -0x12b, 0xfee0, 0x12b, 0xfeaa, 0x113, 0xfeaa, 0x113, 0xfeff, 0x17a, 0xfeff, 0x17a, -0xfeff, 0x17a, 0xfee9, 0x16a, 0xfee9, 0x16a, 0xfec5, 0x13d, 0xfec5, 0x13d, 0xfe9b, -0xfb, 0xfe9b, 0xfb, 0xfd91, 0xffcb, 0xfd91, 0xffcb, 0xfd3c, 0xff41, 0xfd3c, 0xff41, -0xfd98, 0xff5b, 0xfd98, 0xff5b, 0xfd98, 0xff5b, 0xfde1, 0xff58, 0xfde1, 0xff58, 0xfe30, -0xff50, 0xfe30, 0xff50, 0xfe7a, 0xff3e, 0xfe7a, 0xff3e, 0xff72, 0xffd5, 0xff72, 0xffd5, -0xa2, 0xa4, 0xa2, 0xa4, 0xa2, 0xa4, 0x199, 0x13c, 0x199, 0x13c, 0x3de, -0x328, 0x3de, 0x328, 0x635, 0x52d, 0x635, 0x52d, 0x7e7, 0x699, 0x7e7, 0x699, -0x9a3, 0x81b, 0x9a3, 0x81b, 0x9e6, 0x830, 0x9e6, 0x830, 0x9e6, 0x830, 0x993, -0x7bf, 0x993, 0x7bf, 0x963, 0x780, 0x963, 0x780, 0x84d, 0x669, 0x84d, 0x669, -0x6a0, 0x4c9, 0x6a0, 0x4c9, 0x550, 0x391, 0x550, 0x391, 0x526, 0x38a, 0x526, -0x38a, 0x526, 0x38a, 0x491, 0x31e, 0x491, 0x31e, 0x34b, 0x207, 0x34b, 0x207, -0x28b, 0x177, 0x28b, 0x177, 0x1a3, 0xbe, 0x1a3, 0xbe, 0x74, 0xffb9, 0x74, -0xffb9, 0x74, 0xffb9, 0xfecf, 0xfe38, 0xfecf, 0xfe38, 0xfd82, 0xfd05, 0xfd82, 0xfd05, -0xfcd2, 0xfc63, 0xfcd2, 0xfc63, 0xfcba, 0xfc4d, 0xfcba, 0xfc4d, 0xfd9d, 0xfd23, 0xfd9d, -0xfd23, 0xfe50, 0xfdbc, 0xfe50, 0xfdbc, 0xfe50, 0xfdbc, 0xffe8, 0xff2c, 0xffe8, 0xff2c, -0x26a, 0x179, 0x26a, 0x179, 0x424, 0x2f3, 0x424, 0x2f3, 0x565, 0x3eb, 0x565, -0x3eb, 0x624, 0x45c, 0x624, 0x45c, 0x730, 0x517, 0x730, 0x517, 0x730, 0x517, -0x93c, 0x6d1, 0x93c, 0x6d1, 0xab8, 0x7fe, 0xab8, 0x7fe, 0xc89, 0x987, 0xc89, -0x987, 0xf13, 0xbd3, 0xf13, 0xbd3, 0x1191, 0xe1f, 0x1191, 0xe1f, 0x1191, 0xe1f, -0x14ab, 0x1115, 0x14ab, 0x1115, 0x162d, 0x1283, 0x162d, 0x1283, 0x16ae, 0x1303, 0x16ae, -0x1303, 0x171c, 0x1381, 0x171c, 0x1381, 0x16c6, 0x134d, 0x16c6, 0x134d, 0x1651, 0x130a, -0x1651, 0x130a, 0x1651, 0x130a, 0x1518, 0x1214, 0x1518, 0x1214, 0x141d, 0x1167, 0x141d, -0x1167, 0x11ef, 0xf94, 0x11ef, 0xf94, 0xe82, 0xc88, 0xe82, 0xc88, 0xc5e, 0xaca, -0xc5e, 0xaca, 0xa7e, 0x952, 0xa7e, 0x952, 0xa7e, 0x952, 0x964, 0x89e, 0x964, -0x89e, 0x8c8, 0x864, 0x8c8, 0x864, 0x6f4, 0x6e9, 0x6f4, 0x6e9, 0x55f, 0x5a3, -0x55f, 0x5a3, 0x441, 0x4c9, 0x441, 0x4c9, 0x441, 0x4c9, 0x2ea, 0x3a8, 0x2ea, -0x3a8, 0x1cb, 0x2b0, 0x1cb, 0x2b0, 0xffd5, 0xd4, 0xffd5, 0xd4, 0xfdfd, 0xff08, -0xfdfd, 0xff08, 0xfd34, 0xfe3e, 0xfd34, 0xfe3e, 0xfc9d, 0xfd9c, 0xfc9d, 0xfd9c, 0xfc9d, -0xfd9c, 0xfc9b, 0xfd85, 0xfc9b, 0xfd85, 0xfc52, 0xfd22, 0xfc52, 0xfd22, 0xfc6e, 0xfd21, -0xfc6e, 0xfd21, 0xfdad, 0xfe40, 0xfdad, 0xfe40, 0xfdef, 0xfe66, 0xfdef, 0xfe66, 0xfdfb, -0xfe5b, 0xfdfb, 0xfe5b, 0xfdfb, 0xfe5b, 0xfee2, 0xff31, 0xfee2, 0xff31, 0xff4b, 0xff93, -0xff4b, 0xff93, 0xfed0, 0xff1a, 0xfed0, 0xff1a, 0xfe2d, 0xfe86, 0xfe2d, 0xfe86, 0xfe0e, -0xfe81, 0xfe0e, 0xfe81, 0xfe0e, 0xfe81, 0xfd2d, 0xfdc5, 0xfd2d, 0xfdc5, 0xfc24, 0xfceb, -0xfc24, 0xfceb, 0xfbc9, 0xfcc9, 0xfbc9, 0xfcc9, 0xfa51, 0xfb8f, 0xfa51, 0xfb8f, 0xf89e, -0xfa20, 0xf89e, 0xfa20, 0xf705, 0xf8cb, 0xf705, 0xf8cb, 0xf705, 0xf8cb, 0xf506, 0xf70c, -0xf506, 0xf70c, 0xf31d, 0xf560, 0xf31d, 0xf560, 0xf1ca, 0xf441, 0xf1ca, 0xf441, 0xf119, -0xf3b9, 0xf119, 0xf3b9, 0xefb8, 0xf272, 0xefb8, 0xf272, 0xef18, 0xf1dc, 0xef18, 0xf1dc, -0xef18, 0xf1dc, 0xef0e, 0xf1cb, 0xef0e, 0xf1cb, 0xee8b, 0xf12c, 0xee8b, 0xf12c, 0xef06, -0xf17a, 0xef06, 0xf17a, 0xef9c, 0xf1cf, 0xef9c, 0xf1cf, 0xf08c, 0xf26c, 0xf08c, 0xf26c, -0xf08c, 0xf26c, 0xf1e8, 0xf364, 0xf1e8, 0xf364, 0xf38e, 0xf499, 0xf38e, 0xf499, 0xf629, -0xf6b7, 0xf629, 0xf6b7, 0xf848, 0xf851, 0xf848, 0xf851, 0xfb3c, 0xfabb, 0xfb3c, 0xfabb, -0xff73, 0xfe67, 0xff73, 0xfe67, 0xff73, 0xfe67, 0x329, 0x195, 0x329, 0x195, 0x671, -0x45c, 0x671, 0x45c, 0x8ed, 0x65f, 0x8ed, 0x65f, 0xaee, 0x7f4, 0xaee, 0x7f4, -0xc8b, 0x935, 0xc8b, 0x935, 0xd7b, 0x9d9, 0xd7b, 0x9d9, 0xd7b, 0x9d9, 0xf17, -0xb3a, 0xf17, 0xb3a, 0x1096, 0xc91, 0x1096, 0xc91, 0x11e7, 0xdce, 0x11e7, 0xdce, -0x1421, 0x1004, 0x1421, 0x1004, 0x1528, 0x1118, 0x1528, 0x1118, 0x1528, 0x1118, 0x1615, -0x1220, 0x1615, 0x1220, 0x1745, 0x1378, 0x1745, 0x1378, 0x16e1, 0x1344, 0x16e1, 0x1344, -0x16f6, 0x1390, 0x16f6, 0x1390, 0x1772, 0x1446, 0x1772, 0x1446, 0x175e, 0x146d, 0x175e, -0x146d, 0x175e, 0x146d, 0x16c8, 0x140e, 0x16c8, 0x140e, 0x154a, 0x12c1, 0x154a, 0x12c1, -0x13c6, 0x1168, 0x13c6, 0x1168, 0x125d, 0x1020, 0x125d, 0x1020, 0x1122, 0xefb, 0x1122, -0xefb, 0x106f, 0xe53, 0x106f, 0xe53, 0x106f, 0xe53, 0xf54, 0xd36, 0xf54, 0xd36, -0xe58, 0xc2f, 0xe58, 0xc2f, 0xe30, 0xbf0, 0xe30, 0xbf0, 0xe26, 0xbc8, 0xe26, -0xbc8, 0xf51, 0xccd, 0xf51, 0xccd, 0xf51, 0xccd, 0x10f0, 0xe42, 0x10f0, 0xe42, -0x1204, 0xf2b, 0x1204, 0xf2b, 0x1377, 0x1071, 0x1377, 0x1071, 0x151c, 0x11ee, 0x151c, -0x11ee, 0x16cd, 0x137b, 0x16cd, 0x137b, 0x1748, 0x13d9, 0x1748, 0x13d9, 0x1748, 0x13d9, -0x17ca, 0x1448, 0x17ca, 0x1448, 0x1907, 0x157c, 0x1907, 0x157c, 0x195e, 0x15d6, 0x195e, -0x15d6, 0x19bf, 0x1645, 0x19bf, 0x1645, 0x19b8, 0x1658, 0x19b8, 0x1658, 0x190e, 0x15d3, -0x190e, 0x15d3, 0x190e, 0x15d3, 0x1801, 0x14f5, 0x1801, 0x14f5, 0x1731, 0x145d, 0x1731, -0x145d, 0x1613, 0x137d, 0x1613, 0x137d, 0x1426, 0x11d3, 0x1426, 0x11d3, 0x13f1, 0x11e4, -0x13f1, 0x11e4, 0x13f1, 0x11e4, 0x1324, 0x115d, 0x1324, 0x115d, 0x114d, 0xfca, 0x114d, -0xfca, 0x1036, 0xef3, 0x1036, 0xef3, 0xebf, 0xdb6, 0xebf, 0xdb6, 0xda3, 0xccd, -0xda3, 0xccd, 0xc57, 0xbab, 0xc57, 0xbab, 0xc57, 0xbab, 0xb78, 0xaed, 0xb78, -0xaed, 0xb7b, 0xb09, 0xb7b, 0xb09, 0xb15, 0xab2, 0xb15, 0xab2, 0xb36, 0xada, -0xb36, 0xada, 0xb63, 0xb07, 0xb63, 0xb07, 0xb63, 0xb07, 0xad4, 0xa72, 0xad4, -0xa72, 0xaa7, 0xa3b, 0xaa7, 0xa3b, 0xa2b, 0x9b4, 0xa2b, 0x9b4, 0x97d, 0x8fb, -0x97d, 0x8fb, 0x8ee, 0x864, 0x8ee, 0x864, 0x7de, 0x74f, 0x7de, 0x74f, 0x7de, -0x74f, 0x74a, 0x6bd, 0x74a, 0x6bd, 0x56b, 0x4e7, 0x56b, 0x4e7, 0x389, 0x318, -0x389, 0x318, 0x30d, 0x2b8, 0x30d, 0x2b8, 0x15d, 0x12f, 0x15d, 0x12f, 0x3d, -0x3f, 0x3d, 0x3f, 0x3d, 0x3f, 0xfea6, 0xfee2, 0xfea6, 0xfee2, 0xfb95, 0xfc13, -0xfb95, 0xfc13, 0xf93c, 0xfa03, 0xf93c, 0xfa03, 0xf6f1, 0xf806, 0xf6f1, 0xf806, 0xf4f7, -0xf65d, 0xf4f7, 0xf65d, 0xf4f7, 0xf65d, 0xf3ae, 0xf566, 0xf3ae, 0xf566, 0xf2e7, 0xf4ee, -0xf2e7, 0xf4ee, 0xf2a0, 0xf4f2, 0xf2a0, 0xf4f2, 0xf1ad, 0xf443, 0xf1ad, 0xf443, 0xf0b6, -0xf388, 0xf0b6, 0xf388, 0xf017, 0xf31a, 0xf017, 0xf31a, 0xf017, 0xf31a, 0xeea1, 0xf1c7, -0xeea1, 0xf1c7, 0xedef, 0xf12c, 0xedef, 0xf12c, 0xed58, 0xf09e, 0xed58, 0xf09e, 0xebac, -0xeeec, 0xebac, 0xeeec, 0xeaaf, 0xeddb, 0xeaaf, 0xeddb, 0xea12, 0xed1b, 0xea12, 0xed1b, -0xea12, 0xed1b, 0xe9f4, 0xeccf, 0xe9f4, 0xeccf, 0xea47, 0xece8, 0xea47, 0xece8, 0xebe3, -0xee42, 0xebe3, 0xee42, 0xeec0, 0xf0d5, 0xeec0, 0xf0d5, 0xf0b5, 0xf27b, 0xf0b5, 0xf27b, -0xf0b5, 0xf27b, 0xf2bd, 0xf432, 0xf2bd, 0xf432, 0xf4d0, 0xf5f3, 0xf4d0, 0xf5f3, 0xf6c4, -0xf796, 0xf6c4, 0xf796, 0xf863, 0xf8e9, 0xf863, 0xf8e9, 0xf8f5, 0xf933, 0xf8f5, 0xf933, -0xf96c, 0xf96a, 0xf96c, 0xf96a, 0xf96c, 0xf96a, 0xfa30, 0xf9f5, 0xfa30, 0xf9f5, 0xfb77, -0xfb0c, 0xfb77, 0xfb0c, 0xfc0b, 0xfb77, 0xfc0b, 0xfb77, 0xfc87, 0xfbd4, 0xfc87, 0xfbd4, -0xfe58, 0xfd8e, 0xfe58, 0xfd8e, 0xff86, 0xfead, 0xff86, 0xfead, 0xff86, 0xfead, 0xffd2, -0xfef1, 0xffd2, 0xfef1, 0x62, 0xff7d, 0x62, 0xff7d, 0xb7, 0xffd4, 0xb7, 0xffd4, -0x9c, 0xffbc, 0x9c, 0xffbc, 0xfff8, 0xff1f, 0xfff8, 0xff1f, 0xfff8, 0xff1f, 0xffdb, -0xff09, 0xffdb, 0xff09, 0x30, 0xff65, 0x30, 0xff65, 0x28, 0xff64, 0x28, 0xff64, -0x14a, 0x8b, 0x14a, 0x8b, 0x172, 0xb7, 0x172, 0xb7, 0x114, 0x5c, 0x114, -0x5c, 0x114, 0x5c, 0x17a, 0xc4, 0x17a, 0xc4, 0xed, 0x3b, 0xed, 0x3b, -0xfb, 0x4b, 0xfb, 0x4b, 0x9e, 0xfff4, 0x9e, 0xfff4, 0x54, 0xffb3, 0x54, -0xffb3, 0x54, 0xffc1, 0x54, 0xffc1, 0x54, 0xffc1, 0xff37, 0xfeb7, 0xff37, 0xfeb7, -0xfea6, 0xfe40, 0xfea6, 0xfe40, 0xfdad, 0xfd68, 0xfdad, 0xfd68, 0xfb5e, 0xfb44, 0xfb5e, -0xfb44, 0xf984, 0xf99d, 0xf984, 0xf99d, 0xf984, 0xf99d, 0xf7a3, 0xf7f9, 0xf7a3, 0xf7f9, -0xf51d, 0xf5b8, 0xf51d, 0xf5b8, 0xf361, 0xf44b, 0xf361, 0xf44b, 0xf147, 0xf287, 0xf147, -0xf287, 0xeea7, 0xf044, 0xeea7, 0xf044, 0xeb54, 0xed53, 0xeb54, 0xed53, 0xeb54, 0xed53, -0xe813, 0xea77, 0xe813, 0xea77, 0xe59e, 0xe867, 0xe59e, 0xe867, 0xe28e, 0xe5bd, 0xe28e, -0xe5bd, 0xe15a, 0xe4ec, 0xe15a, 0xe4ec, 0xe039, 0xe429, 0xe039, 0xe429, 0xde8e, 0xe2d5, -0xde8e, 0xe2d5, 0xde8e, 0xe2d5, 0xde44, 0xe2da, 0xde44, 0xe2da, 0xdcf8, 0xe1d4, 0xdcf8, -0xe1d4, 0xdb44, 0xe059, 0xdb44, 0xe059, 0xda32, 0xdf75, 0xda32, 0xdf75, 0xd9c2, 0xdf25, -0xd9c2, 0xdf25, 0xd9c2, 0xdf25, 0xd9c8, 0xdf3f, 0xd9c8, 0xdf3f, 0xd9d1, 0xdf4e, 0xd9d1, -0xdf4e, 0xdaad, 0xe025, 0xdaad, 0xe025, 0xdc1c, 0xe183, 0xdc1c, 0xe183, 0xdd1b, 0xe266, -0xdd1b, 0xe266, 0xdebe, 0xe3e4, 0xdebe, 0xe3e4, 0xdebe, 0xe3e4, 0xe11d, 0xe616, 0xe11d, -0xe616, 0xe2a6, 0xe76c, 0xe2a6, 0xe76c, 0xe382, 0xe80f, 0xe382, 0xe80f, 0xe419, 0xe86b, -0xe419, 0xe86b, 0xe4ce, 0xe8e2, 0xe4ce, 0xe8e2, 0xe5e9, 0xe9bd, 0xe5e9, 0xe9bd, 0xe5e9, -0xe9bd, 0xe7a5, 0xeb3a, 0xe7a5, 0xeb3a, 0xe956, 0xecab, 0xe956, 0xecab, 0xeadc, 0xedf3, -0xeadc, 0xedf3, 0xed35, 0xf00f, 0xed35, 0xf00f, 0xef08, 0xf1a5, 0xef08, 0xf1a5, 0xef08, -0xf1a5, 0xf0f5, 0xf356, 0xf0f5, 0xf356, 0xf2f0, 0xf514, 0xf2f0, 0xf514, 0xf449, 0xf630, -0xf449, 0xf630, 0xf5f8, 0xf7a0, 0xf5f8, 0xf7a0, 0xf71d, 0xf884, 0xf71d, 0xf884, 0xf91c, -0xfa3e, 0xf91c, 0xfa3e, 0xf91c, 0xfa3e, 0xfa48, 0xfb22, 0xfa48, 0xfb22, 0xfb27, 0xfbb4, -0xfb27, 0xfbb4, 0xfdc2, 0xfdfd, 0xfdc2, 0xfdfd, 0xff4e, 0xff34, 0xff4e, 0xff34, 0x23d, -0x1c9, 0x23d, 0x1c9, 0x5d6, 0x505, 0x5d6, 0x505, 0x5d6, 0x505, 0x8b1, 0x781, -0x8b1, 0x781, 0xbeb, 0xa5b, 0xbeb, 0xa5b, 0xe7a, 0xc89, 0xe7a, 0xc89, 0x116c, -0xf1d, 0x116c, 0xf1d, 0x1446, 0x119e, 0x1446, 0x119e, 0x1446, 0x119e, 0x1735, 0x1439, -0x1735, 0x1439, 0x1a46, 0x16fe, 0x1a46, 0x16fe, 0x1c28, 0x189f, 0x1c28, 0x189f, 0x1dde, -0x1a1f, 0x1dde, 0x1a1f, 0x1fb1, 0x1bcb, 0x1fb1, 0x1bcb, 0x2027, 0x1c28, 0x2027, 0x1c28, -0x2027, 0x1c28, 0x1fc4, 0x1bbc, 0x1fc4, 0x1bbc, 0x1ef0, 0x1af1, 0x1ef0, 0x1af1, 0x1d8f, -0x19a7, 0x1d8f, 0x19a7, 0x1bf2, 0x1834, 0x1bf2, 0x1834, 0x196e, 0x15e8, 0x196e, 0x15e8, -0x1763, 0x1424, 0x1763, 0x1424, 0x1763, 0x1424, 0x1526, 0x123a, 0x1526, 0x123a, 0x11c4, -0xf36, 0x11c4, 0xf36, 0xf3f, 0xd17, 0xf3f, 0xd17, 0xbf4, 0xa39, 0xbf4, 0xa39, -0x85d, 0x712, 0x85d, 0x712, 0x85d, 0x712, 0x6e7, 0x60b, 0x6e7, 0x60b, 0x47e, -0x410, 0x47e, 0x410, 0x13a, 0x134, 0x13a, 0x134, 0xfef4, 0xff50, 0xfef4, 0xff50, -0xfd19, 0xfdce, 0xfd19, 0xfdce, 0xfb7a, 0xfc7c, 0xfb7a, 0xfc7c, 0xfb7a, 0xfc7c, 0xf937, -0xfa7a, 0xf937, 0xfa7a, 0xf7b8, 0xf930, 0xf7b8, 0xf930, 0xf5d8, 0xf779, 0xf5d8, 0xf779, -0xf38e, 0xf548, 0xf38e, 0xf548, 0xf23e, 0xf406, 0xf23e, 0xf406, 0xf23e, 0xf406, 0xf0c0, -0xf289, 0xf0c0, 0xf289, 0xf08d, 0xf24d, 0xf08d, 0xf24d, 0xf0bf, 0xf26e, 0xf0bf, 0xf26e, -0xf1b1, 0xf345, 0xf1b1, 0xf345, 0xf3b5, 0xf52a, 0xf3b5, 0xf52a, 0xf5b7, 0xf708, 0xf5b7, -0xf708, 0xf5b7, 0xf708, 0xf87f, 0xf9aa, 0xf87f, 0xf9aa, 0xfa3c, 0xfb41, 0xfa3c, 0xfb41, -0xfbe7, 0xfcc6, 0xfbe7, 0xfcc6, 0xfe72, 0xff2c, 0xfe72, 0xff2c, 0x90, 0x128, 0x90, -0x128, 0x20c, 0x286, 0x20c, 0x286, 0x20c, 0x286, 0x2d9, 0x337, 0x2d9, 0x337, -0x3af, 0x3f4, 0x3af, 0x3f4, 0x3b3, 0x3e2, 0x3b3, 0x3e2, 0x3b5, 0x3d1, 0x3b5, -0x3d1, 0x3d5, 0x3dd, 0x3d5, 0x3dd, 0x3d5, 0x3dd, 0x36b, 0x360, 0x36b, 0x360, -0x3a3, 0x383, 0x3a3, 0x383, 0x368, 0x331, 0x368, 0x331, 0x368, 0x318, 0x368, -0x318, 0x498, 0x429, 0x498, 0x429, 0x5d1, 0x53f, 0x5d1, 0x53f, 0x5d1, 0x53f, -0x69f, 0x5e5, 0x69f, 0x5e5, 0x7ca, 0x6e3, 0x7ca, 0x6e3, 0x950, 0x838, 0x950, -0x838, 0xb0f, 0x9c1, 0xb0f, 0x9c1, 0xcc9, 0xb44, 0xcc9, 0xb44, 0xe43, 0xc84, -0xe43, 0xc84, 0xe43, 0xc84, 0x106d, 0xe76, 0x106d, 0xe76, 0x11dd, 0xfb0, 0x11dd, -0xfb0, 0x13f7, 0x1199, 0x13f7, 0x1199, 0x1649, 0x13c1, 0x1649, 0x13c1, 0x1754, 0x14ab, -0x1754, 0x14ab, 0x1754, 0x14ab, 0x18cc, 0x160d, 0x18cc, 0x160d, 0x18ff, 0x1638, 0x18ff, -0x1638, 0x18cc, 0x160c, 0x18cc, 0x160c, 0x1879, 0x15cf, 0x1879, 0x15cf, 0x1788, 0x1506, -0x1788, 0x1506, 0x1679, 0x142f, 0x1679, 0x142f, 0x1679, 0x142f, 0x1425, 0x1225, 0x1425, -0x1225, 0x11be, 0x1017, 0x11be, 0x1017, 0xf44, 0xe05, 0xf44, 0xe05, 0xc2c, 0xb62, -0xc2c, 0xb62, 0x979, 0x92d, 0x979, 0x92d, 0x699, 0x6d4, 0x699, 0x6d4, 0x699, -0x6d4, 0x288, 0x34f, 0x288, 0x34f, 0xfe2e, 0xff81, 0xfe2e, 0xff81, 0xfb09, 0xfce6, -0xfb09, 0xfce6, 0xf802, 0xfa64, 0xf802, 0xfa64, 0xf413, 0xf6f1, 0xf413, 0xf6f1, 0xf413, -0xf6f1, 0xf11c, 0xf46a, 0xf11c, 0xf46a, 0xeea8, 0xf257, 0xeea8, 0xf257, 0xeb88, 0xef86, -0xeb88, 0xef86, 0xe8fd, 0xed38, 0xe8fd, 0xed38, 0xe70d, 0xeb70, 0xe70d, 0xeb70, 0xe49c, -0xe912, 0xe49c, 0xe912, 0xe49c, 0xe912, 0xe285, 0xe6f8, 0xe285, 0xe6f8, 0xe0f6, 0xe551, -0xe0f6, 0xe551, 0xdf59, 0xe389, 0xdf59, 0xe389, 0xdf7c, 0xe36d, 0xdf7c, 0xe36d, 0xe04b, -0xe3ed, 0xe04b, 0xe3ed, 0xe192, 0xe4d6, 0xe192, 0xe4d6, 0xe192, 0xe4d6, 0xe3fd, 0xe6d7, -0xe3fd, 0xe6d7, 0xe6a0, 0xe907, 0xe6a0, 0xe907, 0xe9cf, 0xebbc, 0xe9cf, 0xebbc, 0xecc1, -0xee31, 0xecc1, 0xee31, 0xefda, 0xf0cb, 0xefda, 0xf0cb, 0xefda, 0xf0cb, 0xf297, 0xf30b, -0xf297, 0xf30b, 0xf568, 0xf561, 0xf568, 0xf561, 0xf862, 0xf7e6, 0xf862, 0xf7e6, 0xfb62, -0xfa77, 0xfb62, 0xfa77, 0xff77, 0xfe25, 0xff77, 0xfe25, 0x22a, 0x78, 0x22a, 0x78, -0x22a, 0x78, 0x595, 0x38c, 0x595, 0x38c, 0x9c7, 0x76d, 0x9c7, 0x76d, 0xc13, -0x970, 0xc13, 0x970, 0xf1c, 0xc37, 0xf1c, 0xc37, 0x117a, 0xe57, 0x117a, 0xe57, -0x12d5, 0xf77, 0x12d5, 0xf77, 0x12d5, 0xf77, 0x13f7, 0x1062, 0x13f7, 0x1062, 0x149b, -0x10d0, 0x149b, 0x10d0, 0x1649, 0x124a, 0x1649, 0x124a, 0x17ce, 0x1399, 0x17ce, 0x1399, -0x1978, 0x150c, 0x1978, 0x150c, 0x1978, 0x150c, 0x1b29, 0x1686, 0x1b29, 0x1686, 0x1ca4, -0x17c9, 0x1ca4, 0x17c9, 0x1eca, 0x19b7, 0x1eca, 0x19b7, 0x20d7, 0x1b8d, 0x20d7, 0x1b8d, -0x2332, 0x1db1, 0x2332, 0x1db1, 0x2576, 0x1fc3, 0x2576, 0x1fc3, 0x2576, 0x1fc3, 0x2766, -0x2184, 0x2766, 0x2184, 0x29a0, 0x2397, 0x29a0, 0x2397, 0x2bf4, 0x25cb, 0x2bf4, 0x25cb, -0x2d89, 0x274b, 0x2d89, 0x274b, 0x2e6d, 0x2827, 0x2e6d, 0x2827, 0x2ef6, 0x28b5, 0x2ef6, -0x28b5, 0x2ef6, 0x28b5, 0x2f31, 0x2903, 0x2f31, 0x2903, 0x2ef7, 0x28ec, 0x2ef7, 0x28ec, -0x2e57, 0x287f, 0x2e57, 0x287f, 0x2dce, 0x283a, 0x2dce, 0x283a, 0x2c9c, 0x275b, 0x2c9c, -0x275b, 0x2c9c, 0x275b, 0x2b02, 0x2624, 0x2b02, 0x2624, 0x28de, 0x2471, 0x28de, 0x2471, -0x260a, 0x221a, 0x260a, 0x221a, 0x22da, 0x1f72, 0x22da, 0x1f72, 0x1f35, 0x1c5d, 0x1f35, -0x1c5d, 0x1b7e, 0x193a, 0x1b7e, 0x193a, 0x1b7e, 0x193a, 0x17af, 0x1603, 0x17af, 0x1603, -0x1415, 0x1300, 0x1415, 0x1300, 0x11a0, 0x111f, 0x11a0, 0x111f, 0xf5a, 0xf69, 0xf5a, -0xf69, 0xbe6, 0xc7b, 0xbe6, 0xc7b, 0x8d2, 0x9e3, 0x8d2, 0x9e3, 0x8d2, 0x9e3, -0x538, 0x6ba, 0x538, 0x6ba, 0x141, 0x326, 0x141, 0x326, 0xfdf0, 0x2a, 0xfdf0, -0x2a, 0xfa61, 0xfce2, 0xfa61, 0xfce2, 0xf730, 0xf9e8, 0xf730, 0xf9e8, 0xf730, 0xf9e8, -0xf451, 0xf733, 0xf451, 0xf733, 0xf27e, 0xf57b, 0xf27e, 0xf57b, 0xf0df, 0xf3ec, 0xf0df, -0xf3ec, 0xef9f, 0xf2b0, 0xef9f, 0xf2b0, 0xeed2, 0xf1de, 0xeed2, 0xf1de, 0xedaa, 0xf0aa, -0xedaa, 0xf0aa, 0xedaa, 0xf0aa, 0xecf0, 0xefdd, 0xecf0, 0xefdd, 0xec2b, 0xef01, 0xec2b, -0xef01, 0xebd6, 0xee93, 0xebd6, 0xee93, 0xebc1, 0xee64, 0xebc1, 0xee64, 0xeb6b, 0xedf4, -0xeb6b, 0xedf4, 0xeb57, 0xedc6, 0xeb57, 0xedc6, 0xeb57, 0xedc6, 0xebaa, 0xee02, 0xebaa, -0xee02, 0xeb62, 0xeda5, 0xeb62, 0xeda5, 0xeb88, 0xedb8, 0xeb88, 0xedb8, 0xec2a, 0xee49, -0xec2a, 0xee49, 0xebb7, 0xedc6, 0xebb7, 0xedc6, 0xebb7, 0xedc6, 0xec3a, 0xee38, 0xec3a, -0xee38, 0xed54, 0xef42, 0xed54, 0xef42, 0xedf4, 0xefcf, 0xedf4, 0xefcf, 0xee60, 0xf027, -0xee60, 0xf027, 0xef74, 0xf122, 0xef74, 0xf122, 0xf0e2, 0xf272, 0xf0e2, 0xf272, 0xf0e2, -0xf272, 0xf23c, 0xf3aa, 0xf23c, 0xf3aa, 0xf470, 0xf5b5, 0xf470, 0xf5b5, 0xf619, 0xf72e, -0xf619, 0xf72e, 0xf7f5, 0xf8d6, 0xf7f5, 0xf8d6, 0xf993, 0xfa39, 0xf993, 0xfa39, 0xf993, -0xfa39, 0xfb4d, 0xfbb2, 0xfb4d, 0xfbb2, 0xfdff, 0xfe20, 0xfdff, 0xfe20, 0xff9d, 0xff77, -0xff9d, 0xff77, 0x1ab, 0x13d, 0x1ab, 0x13d, 0x49e, 0x3e8, 0x49e, 0x3e8, 0x72e, -0x631, 0x72e, 0x631, 0x72e, 0x631, 0x90f, 0x7d0, 0x90f, 0x7d0, 0xaed, 0x972, -0xaed, 0x972, 0xceb, 0xb3b, 0xceb, 0xb3b, 0xe8e, 0xcb1, 0xe8e, 0xcb1, 0xf41, -0xd42, 0xf41, 0xd42, 0xed3, 0xcbe, 0xed3, 0xcbe, 0xed3, 0xcbe, 0xe52, 0xc32, -0xe52, 0xc32, 0xdfe, 0xbdf, 0xdfe, 0xbdf, 0xe03, 0xbf3, 0xe03, 0xbf3, 0xce9, -0xaf3, 0xce9, 0xaf3, 0xb7d, 0x9ac, 0xb7d, 0x9ac, 0xb7d, 0x9ac, 0xa4d, 0x8ac, -0xa4d, 0x8ac, 0x89b, 0x733, 0x89b, 0x733, 0x6f4, 0x5cd, 0x6f4, 0x5cd, 0x4ea, -0x40a, 0x4ea, 0x40a, 0x348, 0x2b3, 0x348, 0x2b3, 0x1d6, 0x18f, 0x1d6, 0x18f, -0x1d6, 0x18f, 0xb2, 0xba, 0xb2, 0xba, 0xff35, 0xff8b, 0xff35, 0xff8b, 0xfd51, -0xfdf3, 0xfd51, 0xfdf3, 0xfade, 0xfbc8, 0xfade, 0xfbc8, 0xf764, 0xf892, 0xf764, 0xf892, -0xf412, 0xf57f, 0xf412, 0xf57f, 0xf412, 0xf57f, 0xf0ba, 0xf260, 0xf0ba, 0xf260, 0xee07, -0xefe2, 0xee07, 0xefe2, 0xebdd, 0xede5, 0xebdd, 0xede5, 0xea36, 0xec67, 0xea36, 0xec67, -0xe8aa, 0xeafe, 0xe8aa, 0xeafe, 0xe8aa, 0xeafe, 0xe7a9, 0xea1c, 0xe7a9, 0xea1c, 0xe6db, -0xe96a, 0xe6db, 0xe96a, 0xe5b6, 0xe85d, 0xe5b6, 0xe85d, 0xe4d5, 0xe793, 0xe4d5, 0xe793, -0xe3bc, 0xe68f, 0xe3bc, 0xe68f, 0xe34e, 0xe635, 0xe34e, 0xe635, 0xe34e, 0xe635, 0xe2ac, -0xe5a7, 0xe2ac, 0xe5a7, 0xe244, 0xe553, 0xe244, 0xe553, 0xe1e2, 0xe504, 0xe1e2, 0xe504, -0xe1a3, 0xe4d8, 0xe1a3, 0xe4d8, 0xe1a1, 0xe4e9, 0xe1a1, 0xe4e9, 0xe0de, 0xe436, 0xe0de, -0xe436, 0xe0de, 0xe436, 0xe09d, 0xe403, 0xe09d, 0xe403, 0xdfc2, 0xe334, 0xdfc2, 0xe334, -0xdef8, 0xe272, 0xdef8, 0xe272, 0xde91, 0xe20f, 0xde91, 0xe20f, 0xdde9, 0xe165, 0xdde9, -0xe165, 0xdde9, 0xe165, 0xddfb, 0xe16e, 0xddfb, 0xe16e, 0xdecf, 0xe232, 0xdecf, 0xe232, -0xdf8a, 0xe2d6, 0xdf8a, 0xe2d6, 0xe074, 0xe3a2, 0xe074, 0xe3a2, 0xe246, 0xe550, 0xe246, -0xe550, 0xe415, 0xe6f3, 0xe415, 0xe6f3, 0xe415, 0xe6f3, 0xe683, 0xe92e, 0xe683, 0xe92e, -0xe8f0, 0xeb63, 0xe8f0, 0xeb63, 0xeb85, 0xedbc, 0xeb85, 0xedbc, 0xeef3, 0xf0eb, 0xeef3, -0xf0eb, 0xf1d6, 0xf38e, 0xf1d6, 0xf38e, 0xf53e, 0xf6b6, 0xf53e, 0xf6b6, 0xf53e, 0xf6b6, -0xf82f, 0xf96a, 0xf82f, 0xf96a, 0xfa08, 0xfb08, 0xfa08, 0xfb08, 0xfc13, 0xfcdd, 0xfc13, -0xfcdd, 0xfd69, 0xfe05, 0xfd69, 0xfe05, 0xfe79, 0xfeed, 0xfe79, 0xfeed, 0xfe79, 0xfeed, -0xfed6, 0xff2b, 0xfed6, 0xff2b, 0xff11, 0xff4f, 0xff11, 0xff4f, 0xffd4, 0x5, 0xffd4, -0x5, 0xffb5, 0xffe0, 0xffb5, 0xffe0, 0xff85, 0xffb3, 0xff85, 0xffb3, 0xffb1, 0xffea, -0xffb1, 0xffea, 0xffb1, 0xffea, 0xffe2, 0x2b, 0xffe2, 0x2b, 0xffca, 0x28, 0xffca, -0x28, 0xff7f, 0xfff5, 0xff7f, 0xfff5, 0xfeeb, 0xff7b, 0xfeeb, 0xff7b, 0xfe76, 0xff1f, -0xfe76, 0xff1f, 0xfe27, 0xfee6, 0xfe27, 0xfee6, 0xfe27, 0xfee6, 0xfd87, 0xfe58, 0xfd87, -0xfe58, 0xfcea, 0xfdc6, 0xfcea, 0xfdc6, 0xfccc, 0xfdae, 0xfccc, 0xfdae, 0xfd7b, 0xfe5a, -0xfd7b, 0xfe5a, 0xfde5, 0xfeb9, 0xfde5, 0xfeb9, 0xfde5, 0xfeb9, 0xfe71, 0xff31, 0xfe71, -0xff31, 0xfe72, 0xff15, 0xfe72, 0xff15, 0xfe33, 0xfeb0, 0xfe33, 0xfeb0, 0xfe05, 0xfe55, -0xfe05, 0xfe55, 0xfd8b, 0xfda8, 0xfd8b, 0xfda8, 0xfd78, 0xfd5d, 0xfd78, 0xfd5d, 0xfd78, -0xfd5d, 0xfdb0, 0xfd5a, 0xfdb0, 0xfd5a, 0xfe8d, 0xfdfb, 0xfe8d, 0xfdfb, 0xff11, 0xfe43, -0xff11, 0xfe43, 0x12, 0xff0b, 0x12, 0xff0b, 0xeb, 0xffaf, 0xeb, 0xffaf, 0x28d, -0x122, 0x28d, 0x122, 0x28d, 0x122, 0x40e, 0x27c, 0x40e, 0x27c, 0x3db, 0x229, -0x3db, 0x229, 0x4d8, 0x30f, 0x4d8, 0x30f, 0x514, 0x33f, 0x514, 0x33f, 0x52f, -0x356, 0x52f, 0x356, 0x52f, 0x356, 0x57f, 0x3aa, 0x57f, 0x3aa, 0x5bf, 0x3f8, -0x5bf, 0x3f8, 0x5cc, 0x419, 0x5cc, 0x419, 0x55f, 0x3c4, 0x55f, 0x3c4, 0x583, -0x405, 0x583, 0x405, 0x46e, 0x310, 0x46e, 0x310, 0x46e, 0x310, 0x358, 0x219, -0x358, 0x219, 0x22c, 0x10a, 0x22c, 0x10a, 0xf4, 0xffec, 0xf4, 0xffec, 0x4b, -0xff58, 0x4b, 0xff58, 0xffa3, 0xfebf, 0xffa3, 0xfebf, 0xff6a, 0xfe8f, 0xff6a, 0xfe8f, -0xff6a, 0xfe8f, 0xff85, 0xfeab, 0xff85, 0xfeab, 0x14, 0xff34, 0x14, 0xff34, 0x65, -0xff77, 0x65, 0xff77, 0xed, 0xffec, 0xed, 0xffec, 0x1ca, 0xb0, 0x1ca, 0xb0, -0x1ca, 0xb0, 0x379, 0x242, 0x379, 0x242, 0x586, 0x430, 0x586, 0x430, 0x785, -0x60e, 0x785, 0x60e, 0xa5f, 0x8cb, 0xa5f, 0x8cb, 0xc4b, 0xa9c, 0xc4b, 0xa9c, -0xe6b, 0xca6, 0xe6b, 0xca6, 0xe6b, 0xca6, 0x109d, 0xeca, 0x109d, 0xeca, 0x11ff, -0x1025, 0x11ff, 0x1025, 0x13da, 0x1203, 0x13da, 0x1203, 0x1532, 0x1369, 0x1532, 0x1369, -0x1652, 0x14a0, 0x1652, 0x14a0, 0x162a, 0x149b, 0x162a, 0x149b, 0x162a, 0x149b, 0x157c, -0x1418, 0x157c, 0x1418, 0x1592, 0x1463, 0x1592, 0x1463, 0x14f9, 0x1405, 0x14f9, 0x1405, -0x13ea, 0x1338, 0x13ea, 0x1338, 0x121d, 0x11b1, 0x121d, 0x11b1, 0x121d, 0x11b1, 0xfc9, -0xfa3, 0xfc9, 0xfa3, 0xda8, 0xdc9, 0xda8, 0xdc9, 0xb05, 0xb69, 0xb05, 0xb69, -0x83d, 0x8e0, 0x83d, 0x8e0, 0x7a2, 0x87c, 0x7a2, 0x87c, 0x772, 0x87c, 0x772, -0x87c, 0x772, 0x87c, 0x656, 0x786, 0x656, 0x786, 0x598, 0x6e3, 0x598, 0x6e3, -0x4bb, 0x618, 0x4bb, 0x618, 0x3db, 0x53e, 0x3db, 0x53e, 0x259, 0x3b7, 0x259, -0x3b7, 0x259, 0x3b7, 0xb2, 0x203, 0xb2, 0x203, 0xff96, 0xd1, 0xff96, 0xd1, -0xfe59, 0xff78, 0xfe59, 0xff78, 0xfcff, 0xfdfd, 0xfcff, 0xfdfd, 0xfcd6, 0xfdb1, 0xfcd6, -0xfdb1, 0xfd7e, 0xfe37, 0xfd7e, 0xfe37, 0xfd7e, 0xfe37, 0xfd13, 0xfda9, 0xfd13, 0xfda9, -0xfc86, 0xfcff, 0xfc86, 0xfcff, 0xfe0d, 0xfe6e, 0xfe0d, 0xfe6e, 0xfe7a, 0xfec9, 0xfe7a, -0xfec9, 0xfde3, 0xfe28, 0xfde3, 0xfe28, 0xfef0, 0xff35, 0xfef0, 0xff35, 0xfef0, 0xff35, -0xfdff, 0xfe4c, 0xfdff, 0xfe4c, 0xfe18, 0xfe77, 0xfe18, 0xfe77, 0xfd84, 0xfdfc, 0xfd84, -0xfdfc, 0xfbc8, 0xfc61, 0xfbc8, 0xfc61, 0xfba8, 0xfc67, 0xfba8, 0xfc67, 0xfba8, 0xfc67, -0xfa36, 0xfb1f, 0xfa36, 0xfb1f, 0xf975, 0xfa8a, 0xf975, 0xfa8a, 0xf7b4, 0xf8f4, 0xf7b4, -0xf8f4, 0xf646, 0xf7af, 0xf646, 0xf7af, 0xf42a, 0xf5b6, 0xf42a, 0xf5b6, 0xf191, 0xf33a, -0xf191, 0xf33a, 0xf191, 0xf33a, 0xf03a, 0xf1f8, 0xf03a, 0xf1f8, 0xee82, 0xf049, 0xee82, -0xf049, 0xee38, 0xeffc, 0xee38, 0xeffc, 0xed5d, 0xef11, 0xed5d, 0xef11, 0xed36, 0xeecd, -0xed36, 0xeecd, 0xede4, 0xef51, 0xede4, 0xef51, 0xede4, 0xef51, 0xee6c, 0xefa3, 0xee6c, -0xefa3, 0xee60, 0xef56, 0xee60, 0xef56, 0xef92, 0xf03b, 0xef92, 0xf03b, 0xf1b0, 0xf206, -0xf1b0, 0xf206, 0xf2fb, 0xf2f5, 0xf2fb, 0xf2f5, 0xf2fb, 0xf2f5, 0xf609, 0xf5a5, 0xf609, -0xf5a5, 0xf913, 0xf84f, 0xf913, 0xf84f, 0xfc38, 0xfb14, 0xfc38, 0xfb14, 0xff1c, 0xfd9d, -0xff1c, 0xfd9d, 0x24a, 0x75, 0x24a, 0x75, 0x46c, 0x247, 0x46c, 0x247, 0x46c, -0x247, 0x655, 0x3eb, 0x655, 0x3eb, 0x964, 0x6be, 0x964, 0x6be, 0xa19, 0x744, -0xa19, 0x744, 0xc4d, 0x954, 0xc4d, 0x954, 0xedb, 0xbca, 0xedb, 0xbca, 0x100a, -0xced, 0x100a, 0xced, 0x100a, 0xced, 0x12fb, 0xfde, 0x12fb, 0xfde, 0x14db, 0x11c6, -0x14db, 0x11c6, 0x144d, 0x1149, 0x144d, 0x1149, 0x1550, 0x1265, 0x1550, 0x1265, 0x15e3, -0x1314, 0x15e3, 0x1314, 0x15e3, 0x1314, 0x14ba, 0x120b, 0x14ba, 0x120b, 0x14cf, 0x1241, -0x14cf, 0x1241, 0x1459, 0x11eb, 0x1459, 0x11eb, 0x146a, 0x1219, 0x146a, 0x1219, 0x1442, -0x120a, 0x1442, 0x120a, 0x134d, 0x1129, 0x134d, 0x1129, 0x134d, 0x1129, 0x1298, 0x1081, -0x1298, 0x1081, 0x10ea, 0xeda, 0x10ea, 0xeda, 0x1026, 0xe15, 0x1026, 0xe15, 0xfcb, -0xdb2, 0xfcb, 0xdb2, 0xf29, 0xd02, 0xf29, 0xd02, 0xf11, 0xcd6, 0xf11, 0xcd6, -0xf11, 0xcd6, 0x100c, 0xdb8, 0x100c, 0xdb8, 0x11f9, 0xf89, 0x11f9, 0xf89, 0x1247, -0xfb9, 0x1247, 0xfb9, 0x12d4, 0x1027, 0x12d4, 0x1027, 0x14f5, 0x122b, 0x14f5, 0x122b, -0x14f5, 0x122b, 0x1642, 0x135d, 0x1642, 0x135d, 0x17da, 0x14de, 0x17da, 0x14de, 0x1939, -0x162c, 0x1939, 0x162c, 0x1a6f, 0x1756, 0x1a6f, 0x1756, 0x1b6b, 0x184e, 0x1b6b, 0x184e, -0x1c42, 0x1928, 0x1c42, 0x1928, 0x1c42, 0x1928, 0x1d06, 0x19f7, 0x1d06, 0x19f7, 0x1bf5, -0x18f7, 0x1bf5, 0x18f7, 0x1c4b, 0x1966, 0x1c4b, 0x1966, 0x1bb7, 0x18f1, 0x1bb7, 0x18f1, -0x1989, 0x16e8, 0x1989, 0x16e8, 0x17e0, 0x1568, 0x17e0, 0x1568, 0x17e0, 0x1568, 0x15a3, -0x1356, 0x15a3, 0x1356, 0x1447, 0x1227, 0x1447, 0x1227, 0x1249, 0x1058, 0x1249, 0x1058, -0x1017, 0xe53, 0x1017, 0xe53, 0xe25, 0xc8d, 0xe25, 0xc8d, 0xe25, 0xc8d, 0xcfb, -0xb8c, 0xcfb, 0xb8c, 0xbf2, 0xaa9, 0xbf2, 0xaa9, 0xa4a, 0x923, 0xa4a, 0x923, -0x8d1, 0x7c8, 0x8d1, 0x7c8, 0x789, 0x69b, 0x789, 0x69b, 0x820, 0x749, 0x820, -0x749, 0x820, 0x749, 0x7ea, 0x729, 0x7ea, 0x729, 0x716, 0x667, 0x716, 0x667, -0x733, 0x696, 0x733, 0x696, 0x7bc, 0x732, 0x7bc, 0x732, 0x78e, 0x717, 0x78e, -0x717, 0x6af, 0x64d, 0x6af, 0x64d, 0x6af, 0x64d, 0x64b, 0x604, 0x64b, 0x604, -0x4f9, 0x4cf, 0x4f9, 0x4cf, 0x4aa, 0x4a3, 0x4aa, 0x4a3, 0x3bc, 0x3de, 0x3bc, -0x3de, 0x210, 0x260, 0x210, 0x260, 0x210, 0x260, 0x18b, 0x210, 0x18b, 0x210, -0xfff9, 0xb8, 0xfff9, 0xb8, 0xfe23, 0xff20, 0xfe23, 0xff20, 0xfce8, 0xfe28, 0xfce8, -0xfe28, 0xfbce, 0xfd53, 0xfbce, 0xfd53, 0xf9ce, 0xfb99, 0xf9ce, 0xfb99, 0xf9ce, 0xfb99, -0xf819, 0xfa29, 0xf819, 0xfa29, 0xf6e6, 0xf939, 0xf6e6, 0xf939, 0xf415, 0xf6a8, 0xf415, -0xf6a8, 0xf1d0, 0xf49c, 0xf1d0, 0xf49c, 0xf152, 0xf450, 0xf152, 0xf450, 0xf0cf, 0xf3f6, -0xf0cf, 0xf3f6, 0xf0cf, 0xf3f6, 0xf075, 0xf3bb, 0xf075, 0xf3bb, 0xefba, 0xf314, 0xefba, -0xf314, 0xef5e, 0xf2c0, 0xef5e, 0xf2c0, 0xef36, 0xf293, 0xef36, 0xf293, 0xed78, 0xf0c4, -0xed78, 0xf0c4, 0xed78, 0xf0c4, 0xec82, 0xefb1, 0xec82, 0xefb1, 0xec4c, 0xef53, 0xec4c, -0xef53, 0xeb54, 0xee28, 0xeb54, 0xee28, 0xeb0d, 0xeda4, 0xeb0d, 0xeda4, 0xebc1, 0xee14, -0xebc1, 0xee14, 0xec66, 0xee6f, 0xec66, 0xee6f, 0xec66, 0xee6f, 0xee2f, 0xefe9, 0xee2f, -0xefe9, 0xefdb, 0xf143, 0xefdb, 0xf143, 0xf0ae, 0xf1c4, 0xf0ae, 0xf1c4, 0xf1e2, 0xf2a6, -0xf1e2, 0xf2a6, 0xf363, 0xf3d7, 0xf363, 0xf3d7, 0xf493, 0xf4bb, 0xf493, 0xf4bb, 0xf493, -0xf4bb, 0xf4c2, 0xf4a2, 0xf4c2, 0xf4a2, 0xf730, 0xf6cf, 0xf730, 0xf6cf, 0xf828, 0xf78c, -0xf828, 0xf78c, 0xf894, 0xf7c4, 0xf894, 0xf7c4, 0xfbd4, 0xfad7, 0xfbd4, 0xfad7, 0xfbd4, -0xfad7, 0xfd47, 0xfc24, 0xfd47, 0xfc24, 0xfe87, 0xfd44, 0xfe87, 0xfd44, 0xff52, 0xfdf5, -0xff52, 0xfdf5, 0xffd5, 0xfe63, 0xffd5, 0xfe63, 0x61, 0xfee0, 0x61, 0xfee0, 0x93, -0xff06, 0x93, 0xff06, 0x93, 0xff06, 0xfa, 0xff65, 0xfa, 0xff65, 0xbc, 0xff23, -0xbc, 0xff23, 0x59, 0xfebc, 0x59, 0xfebc, 0x8, 0xfe6b, 0x8, 0xfe6b, 0x50, -0xfeb3, 0x50, 0xfeb3, 0x50, 0xfeb3, 0x4b, 0xfeb1, 0x4b, 0xfeb1, 0xff6d, 0xfdd8, -0xff6d, 0xfdd8, 0xff42, 0xfdb3, 0xff42, 0xfdb3, 0xe5, 0xff60, 0xe5, 0xff60, 0x14c, -0xffd5, 0x14c, 0xffd5, 0x1c0, 0x5a, 0x1c0, 0x5a, 0x1c0, 0x5a, 0x2c7, 0x178, -0x2c7, 0x178, 0x25f, 0x12c, 0x25f, 0x12c, 0x353, 0x243, 0x353, 0x243, 0x2ce, -0x1e8, 0x2ce, 0x1e8, 0xba, 0x5, 0xba, 0x5, 0xd9, 0x5e, 0xd9, 0x5e, -0xd9, 0x5e, 0x54, 0x1b, 0x54, 0x1b, 0xfdd3, 0xfde3, 0xfdd3, 0xfde3, 0xfcb6, -0xfd15, 0xfcb6, 0xfd15, 0xfb5c, 0xfc11, 0xfb5c, 0xfc11, 0xf8d5, 0xf9e5, 0xf8d5, 0xf9e5, -0xf8d5, 0xf9e5, 0xf6de, 0xf84c, 0xf6de, 0xf84c, 0xf488, 0xf657, 0xf488, 0xf657, 0xf0fb, -0xf32b, 0xf0fb, 0xf32b, 0xed0d, 0xef9d, 0xed0d, 0xef9d, 0xeae2, 0xedcd, 0xeae2, 0xedcd, -0xe80a, 0xeb4c, 0xe80a, 0xeb4c, 0xe80a, 0xeb4c, 0xe578, 0xe909, 0xe578, 0xe909, 0xe3fd, -0xe7d4, 0xe3fd, 0xe7d4, 0xe2b2, 0xe6c5, 0xe2b2, 0xe6c5, 0xe2e6, 0xe72a, 0xe2e6, 0xe72a, -0xe1ee, 0xe656, 0xe1ee, 0xe656, 0xe13f, 0xe5bd, 0xe13f, 0xe5bd, 0xe13f, 0xe5bd, 0xe1a1, -0xe629, 0xe1a1, 0xe629, 0xe101, 0xe587, 0xe101, 0xe587, 0xe0cf, 0xe545, 0xe0cf, 0xe545, -0xe073, 0xe4cf, 0xe073, 0xe4cf, 0xe016, 0xe44d, 0xe016, 0xe44d, 0xe016, 0xe44d, 0xe163, -0xe56c, 0xe163, 0xe56c, 0xe19c, 0xe570, 0xe19c, 0xe570, 0xe155, 0xe4ee, 0xe155, 0xe4ee, -0xe1c3, 0xe51f, 0xe1c3, 0xe51f, 0xe24b, 0xe567, 0xe24b, 0xe567, 0xe2fa, 0xe5d5, 0xe2fa, -0xe5d5, 0xe2fa, 0xe5d5, 0xe345, 0xe5e2, 0xe345, 0xe5e2, 0xe4f2, 0xe752, 0xe4f2, 0xe752, -0xe541, 0xe769, 0xe541, 0xe769, 0xe5f5, 0xe7e9, 0xe5f5, 0xe7e9, 0xe92a, 0xeaed, 0xe92a, -0xeaed, 0xea2d, 0xebc4, 0xea2d, 0xebc4, 0xea2d, 0xebc4, 0xeafc, 0xec6d, 0xeafc, 0xec6d, -0xed3f, 0xee8c, 0xed3f, 0xee8c, 0xeeb7, 0xefe2, 0xeeb7, 0xefe2, 0xf03a, 0xf146, 0xf03a, -0xf146, 0xf1ff, 0xf2eb, 0xf1ff, 0xf2eb, 0xf1ff, 0xf2eb, 0xf239, 0xf304, 0xf239, 0xf304, -0xf27e, 0xf326, 0xf27e, 0xf326, 0xf3cd, 0xf44e, 0xf3cd, 0xf44e, 0xf55f, 0xf5b4, 0xf55f, -0xf5b4, 0xf72a, 0xf74c, 0xf72a, 0xf74c, 0xf94d, 0xf937, 0xf94d, 0xf937, 0xf94d, 0xf937, -0xfb73, 0xfb1d, 0xfb73, 0xfb1d, 0xfd94, 0xfcf8, 0xfd94, 0xfcf8, 0x23, 0xff3b, 0x23, -0xff3b, 0x2b5, 0x17b, 0x2b5, 0x17b, 0x5b7, 0x428, 0x5b7, 0x428, 0x887, 0x6a1, -0x887, 0x6a1, 0x887, 0x6a1, 0xbb5, 0x976, 0xbb5, 0x976, 0xeed, 0xc58, 0xeed, -0xc58, 0x1194, 0xead, 0x1194, 0xead, 0x149b, 0x1168, 0x149b, 0x1168, 0x1748, 0x13d2, -0x1748, 0x13d2, 0x1748, 0x13d2, 0x188a, 0x14dd, 0x188a, 0x14dd, 0x18d2, 0x14fb, 0x18d2, -0x14fb, 0x1a62, 0x1670, 0x1a62, 0x1670, 0x1aaf, 0x16b4, 0x1aaf, 0x16b4, 0x19df, 0x15eb, -0x19df, 0x15eb, 0x1a1f, 0x1646, 0x1a1f, 0x1646, 0x1a1f, 0x1646, 0x1910, 0x1563, 0x1910, -0x1563, 0x16ec, 0x137c, 0x16ec, 0x137c, 0x1501, 0x11df, 0x1501, 0x11df, 0x139f, 0x10da, -0x139f, 0x10da, 0x1152, 0xef7, 0x1152, 0xef7, 0xf2a, 0xd42, 0xf2a, 0xd42, 0xf2a, -0xd42, 0xce5, 0xb79, 0xce5, 0xb79, 0xa17, 0x92b, 0xa17, 0x92b, 0x878, 0x80e, -0x878, 0x80e, 0x548, 0x55d, 0x548, 0x55d, 0x34a, 0x3d9, 0x34a, 0x3d9, 0x34a, -0x3d9, 0x23d, 0x33f, 0x23d, 0x33f, 0xff9c, 0x106, 0xff9c, 0x106, 0xfda7, 0xff6d, -0xfda7, 0xff6d, 0xfae8, 0xfcfa, 0xfae8, 0xfcfa, 0xf90c, 0xfb5b, 0xf90c, 0xfb5b, 0xf767, -0xf9e2, 0xf767, 0xf9e2, 0xf767, 0xf9e2, 0xf596, 0xf82d, 0xf596, 0xf82d, 0xf492, 0xf735, -0xf492, 0xf735, 0xf3c9, 0xf667, 0xf3c9, 0xf667, 0xf452, 0xf6dc, 0xf452, 0xf6dc, 0xf413, -0xf67e, 0xf413, 0xf67e, 0xf501, 0xf741, 0xf501, 0xf741, 0xf501, 0xf741, 0xf654, 0xf861, -0xf654, 0xf861, 0xf6c0, 0xf893, 0xf6c0, 0xf893, 0xf94d, 0xfae2, 0xf94d, 0xfae2, 0xfb60, -0xfcb5, 0xfb60, 0xfcb5, 0xfd06, 0xfe1d, 0xfd06, 0xfe1d, 0xfd06, 0xfe1d, 0xff85, 0x60, -0xff85, 0x60, 0x13f, 0x1e1, 0x13f, 0x1e1, 0x320, 0x38f, 0x320, 0x38f, 0x4e5, -0x527, 0x4e5, 0x527, 0x5c5, 0x5df, 0x5c5, 0x5df, 0x592, 0x58c, 0x592, 0x58c, -0x592, 0x58c, 0x4de, 0x4bd, 0x4de, 0x4bd, 0x589, 0x552, 0x589, 0x552, 0x53d, -0x4f5, 0x53d, 0x4f5, 0x4ea, 0x493, 0x4ea, 0x493, 0x543, 0x4de, 0x543, 0x4de, -0x3ff, 0x38d, 0x3ff, 0x38d, 0x3ff, 0x38d, 0x49a, 0x417, 0x49a, 0x417, 0x5b6, -0x520, 0x5b6, 0x520, 0x576, 0x4ca, 0x576, 0x4ca, 0x627, 0x55e, 0x627, 0x55e, -0x72d, 0x641, 0x72d, 0x641, 0x72d, 0x641, 0x8fa, 0x7e6, 0x8fa, 0x7e6, 0xb9a, -0xa59, 0xb9a, 0xa59, 0xcf6, 0xb82, 0xcf6, 0xb82, 0xf46, 0xd9b, 0xf46, 0xd9b, -0x124b, 0x1068, 0x124b, 0x1068, 0x12f9, 0x10de, 0x12f9, 0x10de, 0x12f9, 0x10de, 0x142f, -0x11de, 0x142f, 0x11de, 0x158f, 0x130c, 0x158f, 0x130c, 0x1686, 0x13d9, 0x1686, 0x13d9, -0x178f, 0x14c1, 0x178f, 0x14c1, 0x17d4, 0x14f0, 0x17d4, 0x14f0, 0x17d0, 0x14e5, 0x17d0, -0x14e5, 0x17d0, 0x14e5, 0x1652, 0x136f, 0x1652, 0x136f, 0x151f, 0x1256, 0x151f, 0x1256, -0x1395, 0x10f8, 0x1395, 0x10f8, 0x10b1, 0xe53, 0x10b1, 0xe53, 0xecd, 0xcbf, 0xecd, -0xcbf, 0xecd, 0xcbf, 0xc18, 0xa6d, 0xc18, 0xa6d, 0x9ce, 0x895, 0x9ce, 0x895, -0x83e, 0x786, 0x83e, 0x786, 0x478, 0x44c, 0x478, 0x44c, 0x102, 0x16c, 0x102, -0x16c, 0xfd48, 0xfe4b, 0xfd48, 0xfe4b, 0xfd48, 0xfe4b, 0xf927, 0xfac6, 0xf927, 0xfac6, -0xf617, 0xf850, 0xf617, 0xf850, 0xf29b, 0xf568, 0xf29b, 0xf568, 0xf0a5, 0xf3fc, 0xf0a5, -0xf3fc, 0xeecd, 0xf2a2, 0xeecd, 0xf2a2, 0xeecd, 0xf2a2, 0xec8c, 0xf0cd, 0xec8c, 0xf0cd, -0xea9d, 0xef38, 0xea9d, 0xef38, 0xe80b, 0xecea, 0xe80b, 0xecea, 0xe694, 0xeba1, 0xe694, -0xeba1, 0xe44b, 0xe96d, 0xe44b, 0xe96d, 0xe25f, 0xe77f, 0xe25f, 0xe77f, 0xe25f, 0xe77f, -0xe19e, 0xe6a2, 0xe19e, 0xe6a2, 0xe0c4, 0xe596, 0xe0c4, 0xe596, 0xe228, 0xe6b2, 0xe228, -0xe6b2, 0xe33f, 0xe76d, 0xe33f, 0xe76d, 0xe453, 0xe814, 0xe453, 0xe814, 0xe6b8, 0xe9fe, -0xe6b8, 0xe9fe, 0xe6b8, 0xe9fe, 0xe8b2, 0xeb71, 0xe8b2, 0xeb71, 0xeb96, 0xedc7, 0xeb96, -0xedc7, 0xef35, 0xf0d3, 0xef35, 0xf0d3, 0xf221, 0xf32a, 0xf221, 0xf32a, 0xf51c, 0xf592, -0xf51c, 0xf592, 0xf51c, 0xf592, 0xf982, 0xf969, 0xf982, 0xf969, 0xfd28, 0xfc86, 0xfd28, -0xfc86, 0x5, 0xfee2, 0x5, 0xfee2, 0x3f4, 0x25c, 0x3f4, 0x25c, 0x716, 0x512, -0x716, 0x512, 0x93a, 0x6d7, 0x93a, 0x6d7, 0x93a, 0x6d7, 0xc29, 0x972, 0xc29, -0x972, 0xef7, 0xbf7, 0xef7, 0xbf7, 0x1058, 0xd19, 0x1058, 0xd19, 0x1268, 0xef5, -0x1268, 0xef5, 0x1430, 0x108f, 0x1430, 0x108f, 0x15ab, 0x11e5, 0x15ab, 0x11e5, 0x15ab, -0x11e5, 0x17a4, 0x13bd, 0x17a4, 0x13bd, 0x17e2, 0x13de, 0x17e2, 0x13de, 0x1915, 0x14f7, -0x1915, 0x14f7, 0x1b27, 0x16ef, 0x1b27, 0x16ef, 0x1c7d, 0x182c, 0x1c7d, 0x182c, 0x1c7d, -0x182c, 0x1edd, 0x1a72, 0x1edd, 0x1a72, 0x21ad, 0x1d29, 0x21ad, 0x1d29, 0x2443, 0x1fa4, -0x2443, 0x1fa4, 0x26d2, 0x2218, 0x26d2, 0x2218, 0x299e, 0x24c9, 0x299e, 0x24c9, 0x2bf0, -0x2702, 0x2bf0, 0x2702, 0x2bf0, 0x2702, 0x2d58, 0x2854, 0x2d58, 0x2854, 0x2ea1, 0x298c, -0x2ea1, 0x298c, 0x2f1e, 0x29fd, 0x2f1e, 0x29fd, 0x2f9b, 0x2a75, 0x2f9b, 0x2a75, 0x2fdd, -0x2abc, 0x2fdd, 0x2abc, 0x2eae, 0x299d, 0x2eae, 0x299d, 0x2eae, 0x299d, 0x2ea2, 0x29ab, -0x2ea2, 0x29ab, 0x2e0b, 0x293b, 0x2e0b, 0x293b, 0x2bd2, 0x2736, 0x2bd2, 0x2736, 0x2a3f, -0x25e6, 0x2a3f, 0x25e6, 0x27e7, 0x23dd, 0x27e7, 0x23dd, 0x27e7, 0x23dd, 0x2464, 0x20b7, -0x2464, 0x20b7, 0x207e, 0x1d39, 0x207e, 0x1d39, 0x1cf9, 0x1a27, 0x1cf9, 0x1a27, 0x1974, -0x171e, 0x1974, 0x171e, 0x15a1, 0x13ce, 0x15a1, 0x13ce, 0x121f, 0x10d5, 0x121f, 0x10d5, -0x121f, 0x10d5, 0xeba, 0xdfa, 0xeba, 0xdfa, 0xc1a, 0xbe4, 0xc1a, 0xbe4, 0x902, -0x954, 0x902, 0x954, 0x51e, 0x5f4, 0x51e, 0x5f4, 0x1ce, 0x320, 0x1ce, 0x320, -0xfe49, 0xe, 0xfe49, 0xe, 0xfe49, 0xe, 0xfac2, 0xfcef, 0xfac2, 0xfcef, 0xf854, -0xfadc, 0xf854, 0xfadc, 0xf636, 0xf90c, 0xf636, 0xf90c, 0xf3d1, 0xf6e7, 0xf3d1, 0xf6e7, -0xf1a5, 0xf4eb, 0xf1a5, 0xf4eb, 0xf1a5, 0xf4eb, 0xef98, 0xf2ff, 0xef98, 0xf2ff, 0xeec3, -0xf23e, 0xeec3, 0xf23e, 0xee33, 0xf1b3, 0xee33, 0xf1b3, 0xec76, 0xefef, 0xec76, 0xefef, -0xeb70, 0xeed6, 0xeb70, 0xeed6, 0xeb9a, 0xeee4, 0xeb9a, 0xeee4, 0xeb9a, 0xeee4, 0xeb23, -0xee47, 0xeb23, 0xee47, 0xea7e, 0xed76, 0xea7e, 0xed76, 0xebeb, 0xeeb2, 0xebeb, 0xeeb2, -0xebe6, 0xee78, 0xebe6, 0xee78, 0xec43, 0xee9e, 0xec43, 0xee9e, 0xeeed, 0xf110, 0xeeed, -0xf110, 0xeeed, 0xf110, 0xef16, 0xf102, 0xef16, 0xf102, 0xefc4, 0xf179, 0xefc4, 0xf179, -0xf084, 0xf205, 0xf084, 0xf205, 0xf049, 0xf197, 0xf049, 0xf197, 0xf0e7, 0xf206, 0xf0e7, -0xf206, 0xf0e7, 0xf206, 0xf1a3, 0xf297, 0xf1a3, 0xf297, 0xf20b, 0xf2d5, 0xf20b, 0xf2d5, -0xf292, 0xf334, 0xf292, 0xf334, 0xf45b, 0xf4d8, 0xf45b, 0xf4d8, 0xf497, 0xf4f2, 0xf497, -0xf4f2, 0xf542, 0xf57b, 0xf542, 0xf57b, 0xf542, 0xf57b, 0xf7a2, 0xf7bb, 0xf7a2, 0xf7bb, -0xf904, 0xf8fd, 0xf904, 0xf8fd, 0xfa99, 0xfa74, 0xfa99, 0xfa74, 0xfcd1, 0xfc8e, 0xfcd1, -0xfc8e, 0xfee7, 0xfe86, 0xfee7, 0xfe86, 0x10e, 0x90, 0x10e, 0x90, 0x10e, 0x90, -0x2f9, 0x25f, 0x2f9, 0x25f, 0x3c5, 0x311, 0x3c5, 0x311, 0x5bf, 0x4f2, 0x5bf, -0x4f2, 0x706, 0x623, 0x706, 0x623, 0x6a8, 0x5b2, 0x6a8, 0x5b2, 0x6a8, 0x5b2, -0x87b, 0x776, 0x87b, 0x776, 0x99e, 0x88d, 0x99e, 0x88d, 0x9f2, 0x8db, 0x9f2, -0x8db, 0xbb0, 0xa99, 0xbb0, 0xa99, 0xbe2, 0xad0, 0xbe2, 0xad0, 0xac7, 0x9c1, -0xac7, 0x9c1, 0xac7, 0x9c1, 0xa66, 0x972, 0xa66, 0x972, 0xa3b, 0x960, 0xa3b, -0x960, 0x914, 0x858, 0x914, 0x858, 0x7f5, 0x75e, 0x7f5, 0x75e, 0x6bc, 0x64f, -0x6bc, 0x64f, 0x48a, 0x44c, 0x48a, 0x44c, 0x48a, 0x44c, 0x414, 0x40a, 0x414, -0x40a, 0x2e5, 0x313, 0x2e5, 0x313, 0x81, 0xe8, 0x81, 0xe8, 0xfec0, 0xff64, -0xfec0, 0xff64, 0xfc6a, 0xfd4b, 0xfc6a, 0xfd4b, 0xfc6a, 0xfd4b, 0xfa81, 0xfb9f, 0xfa81, -0xfb9f, 0xf7e2, 0xf93d, 0xf7e2, 0xf93d, 0xf571, 0xf708, 0xf571, 0xf708, 0xf340, 0xf510, -0xf340, 0xf510, 0xf186, 0xf38d, 0xf186, 0xf38d, 0xf02f, 0xf26a, 0xf02f, 0xf26a, 0xf02f, -0xf26a, 0xee21, 0xf08e, 0xee21, 0xf08e, 0xed27, 0xefc2, 0xed27, 0xefc2, 0xeb27, 0xedec, -0xeb27, 0xedec, 0xe95a, 0xec46, 0xe95a, 0xec46, 0xe832, 0xeb41, 0xe832, 0xeb41, 0xe679, -0xe9a7, 0xe679, 0xe9a7, 0xe679, 0xe9a7, 0xe710, 0xea5a, 0xe710, 0xea5a, 0xe79f, 0xeb01, -0xe79f, 0xeb01, 0xe67d, 0xe9f4, 0xe67d, 0xe9f4, 0xe70c, 0xea94, 0xe70c, 0xea94, 0xe86f, -0xec03, 0xe86f, 0xec03, 0xe86f, 0xec03, 0xe7e1, 0xeb7e, 0xe7e1, 0xeb7e, 0xe7aa, 0xeb4c, -0xe7aa, 0xeb4c, 0xe74b, 0xeaec, 0xe74b, 0xeaec, 0xe564, 0xe900, 0xe564, 0xe900, 0xe527, -0xe8b9, 0xe527, 0xe8b9, 0xe503, 0xe886, 0xe503, 0xe886, 0xe503, 0xe886, 0xe3a2, 0xe710, -0xe3a2, 0xe710, 0xe35a, 0xe6ad, 0xe35a, 0xe6ad, 0xe383, 0xe6b5, 0xe383, 0xe6b5, 0xe317, -0xe624, 0xe317, 0xe624, 0xe2fe, 0xe5de, 0xe2fe, 0xe5de, 0xe2fe, 0xe5de, 0xe3e8, 0xe698, -0xe3e8, 0xe698, 0xe470, 0xe6ea, 0xe470, 0xe6ea, 0xe56c, 0xe7ad, 0xe56c, 0xe7ad, 0xe76c, -0xe971, 0xe76c, 0xe971, 0xe8fd, 0xeac5, 0xe8fd, 0xeac5, 0xeaf4, 0xec7c, 0xeaf4, 0xec7c, -0xeaf4, 0xec7c, 0xed40, 0xee8a, 0xed40, 0xee8a, 0xef7e, 0xf08b, 0xef7e, 0xf08b, 0xf188, -0xf25b, 0xf188, 0xf25b, 0xf31e, 0xf3bb, 0xf31e, 0xf3bb, 0xf4eb, 0xf557, 0xf4eb, 0xf557, -0xf7d6, 0xf818, 0xf7d6, 0xf818, 0xf7d6, 0xf818, 0xf99c, 0xf9bc, 0xf99c, 0xf9bc, 0xfa82, -0xfa87, 0xfa82, 0xfa87, 0xfcd8, 0xfcca, 0xfcd8, 0xfcca, 0xfd45, 0xfd2e, 0xfd45, 0xfd2e, -0xfce8, 0xfccf, 0xfce8, 0xfccf, 0xfce8, 0xfccf, 0xfdbe, 0xfdaa, 0xfdbe, 0xfdaa, 0xfd7b, -0xfd74, 0xfd7b, 0xfd74, 0xfccf, 0xfcdb, 0xfccf, 0xfcdb, 0xfd38, 0xfd5c, 0xfd38, 0xfd5c, -0xfd28, 0xfd67, 0xfd28, 0xfd67, 0xfc92, 0xfcee, 0xfc92, 0xfcee, 0xfc92, 0xfcee, 0xfd43, -0xfdbd, 0xfd43, 0xfdbd, 0xfceb, 0xfd80, 0xfceb, 0xfd80, 0xfbc8, 0xfc75, 0xfbc8, 0xfc75, -0xfba4, 0xfc65, 0xfba4, 0xfc65, 0xfb58, 0xfc27, 0xfb58, 0xfc27, 0xfb7a, 0xfc4f, 0xfb7a, -0xfc4f, 0xfb7a, 0xfc4f, 0xfc8f, 0xfd63, 0xfc8f, 0xfd63, 0xfce3, 0xfdad, 0xfce3, 0xfdad, -0xfc76, 0xfd2d, 0xfc76, 0xfd2d, 0xfd31, 0xfdcd, 0xfd31, 0xfdcd, 0xfdf4, 0xfe6c, 0xfdf4, -0xfe6c, 0xfdf4, 0xfe6c, 0xfe89, 0xfed7, 0xfe89, 0xfed7, 0xfe9a, 0xfeb8, 0xfe9a, 0xfeb8, -0xfdba, 0xfda3, 0xfdba, 0xfda3, 0xfebb, 0xfe6c, 0xfebb, 0xfe6c, 0xff27, 0xfea0, 0xff27, -0xfea0, 0xfe2f, 0xfd70, 0xfe2f, 0xfd70, 0xfe2f, 0xfd70, 0xfe88, 0xfd94, 0xfe88, 0xfd94, -0xfef4, 0xfdd0, 0xfef4, 0xfdd0, 0xff16, 0xfdc7, 0xff16, 0xfdc7, 0x37, 0xfec5, 0x37, -0xfec5, 0x252, 0xc7, 0x252, 0xc7, 0x33c, 0x1a1, 0x33c, 0x1a1, 0x33c, 0x1a1, -0x4ef, 0x34d, 0x4ef, 0x34d, 0x659, 0x4ba, 0x659, 0x4ba, 0x5f0, 0x45f, 0x5f0, -0x45f, 0x74e, 0x5d3, 0x74e, 0x5d3, 0x7c5, 0x667, 0x7c5, 0x667, 0x7c5, 0x667, -0x75f, 0x625, 0x75f, 0x625, 0x835, 0x722, 0x835, 0x722, 0x8d8, 0x7f0, 0x8d8, -0x7f0, 0x78c, 0x6cf, 0x78c, 0x6cf, 0x6e9, 0x656, 0x6e9, 0x656, 0x7ef, 0x783, -0x7ef, 0x783, 0x7ef, 0x783, 0x6e0, 0x694, 0x6e0, 0x694, 0x617, 0x5e5, 0x617, -0x5e5, 0x58d, 0x56c, 0x58d, 0x56c, 0x488, 0x46f, 0x488, 0x46f, 0x374, 0x359, -0x374, 0x359, 0x2cc, 0x2a4, 0x2cc, 0x2a4, 0x2cc, 0x2a4, 0x39e, 0x360, 0x39e, -0x360, 0x4a9, 0x44c, 0x4a9, 0x44c, 0x690, 0x60c, 0x690, 0x60c, 0x893, 0x7e0, -0x893, 0x7e0, 0xb1b, 0xa35, 0xb1b, 0xa35, 0xb1b, 0xa35, 0xdc7, 0xcab, 0xdc7, -0xcab, 0xfc4, 0xe70, 0xfc4, 0xe70, 0x11a6, 0x101c, 0x11a6, 0x101c, 0x1262, 0x10a6, -0x1262, 0x10a6, 0x1348, 0x115f, 0x1348, 0x115f, 0x14ca, 0x12bc, 0x14ca, 0x12bc, 0x14ca, -0x12bc, 0x15b6, 0x138c, 0x15b6, 0x138c, 0x16b8, 0x147c, 0x16b8, 0x147c, 0x17a1, 0x155f, -0x17a1, 0x155f, 0x16cd, 0x1491, 0x16cd, 0x1491, 0x15d3, 0x13a8, 0x15d3, 0x13a8, 0x1616, -0x1408, 0x1616, 0x1408, 0x1616, 0x1408, 0x1399, 0x11b2, 0x1399, 0x11b2, 0xfee, 0xe37, -0xfee, 0xe37, 0xee0, 0xd60, 0xee0, 0xd60, 0xcac, 0xb69, 0xcac, 0xb69, 0xa1b, -0x918, 0xa1b, 0x918, 0xa1b, 0x918, 0x840, 0x77f, 0x840, 0x77f, 0x57b, 0x4fa, -0x57b, 0x4fa, 0x30d, 0x2c9, 0x30d, 0x2c9, 0x16a, 0x15e, 0x16a, 0x15e, 0xa2, -0xc6, 0xa2, 0xc6, 0x29, 0x75, 0x29, 0x75, 0x29, 0x75, 0xfff2, 0x5d, -0xfff2, 0x5d, 0xfe97, 0xff17, 0xfe97, 0xff17, 0xfe24, 0xfeae, 0xfe24, 0xfeae, 0xfebd, -0xff47, 0xfebd, 0xff47, 0xfd71, 0xfdf3, 0xfd71, 0xfdf3, 0xfcf1, 0xfd62, 0xfcf1, 0xfd62, -0xfcf1, 0xfd62, 0xfbe1, 0xfc3b, 0xfbe1, 0xfc3b, 0xfa20, 0xfa5f, 0xfa20, 0xfa5f, 0xfa75, -0xfa95, 0xfa75, 0xfa95, 0xfa86, 0xfa87, 0xfa86, 0xfa87, 0xf9d0, 0xf9b5, 0xf9d0, 0xf9b5, -0xf9d0, 0xf9b5, 0xfa32, 0xf9fe, 0xfa32, 0xf9fe, 0xfac1, 0xfa7a, 0xfac1, 0xfa7a, 0xfa7f, -0xfa2c, 0xfa7f, 0xfa2c, 0xfae5, 0xfa90, 0xfae5, 0xfa90, 0xfaad, 0xfa5e, 0xfaad, 0xfa5e, -0xf89e, 0xf860, 0xf89e, 0xf860, 0xf89e, 0xf860, 0xf90d, 0xf8eb, 0xf90d, 0xf8eb, 0xf977, -0xf97b, 0xf977, 0xf97b, 0xf73c, 0xf76e, 0xf73c, 0xf76e, 0xf6b8, 0xf720, 0xf6b8, 0xf720, -0xf615, 0xf6b9, 0xf615, 0xf6b9, 0xf4bb, 0xf59e, 0xf4bb, 0xf59e, 0xf4bb, 0xf59e, 0xf3f9, -0xf51c, 0xf3f9, 0xf51c, 0xf32a, 0xf48c, 0xf32a, 0xf48c, 0xf1c2, 0xf361, 0xf1c2, 0xf361, -0xf0be, 0xf292, 0xf0be, 0xf292, 0xf02b, 0xf22c, 0xf02b, 0xf22c, 0xf02b, 0xf22c, 0xeed4, -0xf0f7, 0xeed4, 0xf0f7, 0xee65, 0xf09d, 0xee65, 0xf09d, 0xedf6, 0xf036, 0xedf6, 0xf036, -0xee52, 0xf08b, 0xee52, 0xf08b, 0xef14, 0xf136, 0xef14, 0xf136, 0xf03b, 0xf236, 0xf03b, -0xf236, 0xf03b, 0xf236, 0xf225, 0xf3eb, 0xf225, 0xf3eb, 0xf338, 0xf4bb, 0xf338, 0xf4bb, -0xf4fb, 0xf62e, 0xf4fb, 0xf62e, 0xf701, 0xf7da, 0xf701, 0xf7da, 0xf990, 0xfa06, 0xf990, -0xfa06, 0xfbcb, 0xfbd7, 0xfbcb, 0xfbd7, 0xfbcb, 0xfbd7, 0xfece, 0xfe6f, 0xfece, 0xfe6f, -0x225, 0x158, 0x225, 0x158, 0x403, 0x2ca, 0x403, 0x2ca, 0x7f8, 0x658, 0x7f8, -0x658, 0xb9e, 0x99d, 0xb9e, 0x99d, 0xb9e, 0x99d, 0xcb3, 0xa5a, 0xcb3, 0xa5a, -0xdaa, 0xb04, 0xdaa, 0xb04, 0xf7d, 0xc95, 0xf7d, 0xc95, 0x1096, 0xd79, 0x1096, -0xd79, 0x1199, 0xe53, 0x1199, 0xe53, 0x13cf, 0x106e, 0x13cf, 0x106e, 0x13cf, 0x106e, -0x13c1, 0x1050, 0x13c1, 0x1050, 0x13b1, 0x103d, 0x13b1, 0x103d, 0x1540, 0x11d2, 0x1540, -0x11d2, 0x1552, 0x11f2, 0x1552, 0x11f2, 0x15c8, 0x127e, 0x15c8, 0x127e, 0x15c8, 0x127e, -0x15d6, 0x12a7, 0x15d6, 0x12a7, 0x1502, 0x11f1, 0x1502, 0x11f1, 0x1518, 0x1226, 0x1518, -0x1226, 0x1489, 0x11b5, 0x1489, 0x11b5, 0x13ed, 0x1135, 0x13ed, 0x1135, 0x144d, 0x11ac, -0x144d, 0x11ac, 0x144d, 0x11ac, 0x1411, 0x1183, 0x1411, 0x1183, 0x1386, 0x1105, 0x1386, -0x1105, 0x14ce, 0x1253, 0x14ce, 0x1253, 0x1611, 0x1396, 0x1611, 0x1396, 0x1610, 0x138f, -0x1610, 0x138f, 0x163e, 0x13b1, 0x163e, 0x13b1, 0x163e, 0x13b1, 0x1694, 0x13f6, 0x1694, -0x13f6, 0x1787, 0x14d4, 0x1787, 0x14d4, 0x196a, 0x169f, 0x196a, 0x169f, 0x1a2c, 0x1749, -0x1a2c, 0x1749, 0x19f2, 0x16f7, 0x19f2, 0x16f7, 0x19f2, 0x16f7, 0x1bcf, 0x18be, 0x1bcf, -0x18be, 0x1cba, 0x1997, 0x1cba, 0x1997, 0x1bc1, 0x1890, 0x1bc1, 0x1890, 0x1bb0, 0x1877, -0x1bb0, 0x1877, 0x1ae1, 0x17a7, 0x1ae1, 0x17a7, 0x19ff, 0x16cb, 0x19ff, 0x16cb, 0x19ff, -0x16cb, 0x19fc, 0x16d6, 0x19fc, 0x16d6, 0x193c, 0x162c, 0x193c, 0x162c, 0x1722, 0x142f, -0x1722, 0x142f, 0x14f6, 0x1225, 0x14f6, 0x1225, 0x12d7, 0x102f, 0x12d7, 0x102f, 0x1024, -0xdaa, 0x1024, 0xdaa, 0x1024, 0xdaa, 0xda3, 0xb5a, 0xda3, 0xb5a, 0xafb, 0x8e5, -0xafb, 0x8e5, 0x887, 0x6a5, 0x887, 0x6a5, 0x714, 0x565, 0x714, 0x565, 0x581, -0x404, 0x581, 0x404, 0x581, 0x404, 0x42e, 0x2de, 0x42e, 0x2de, 0x3ba, 0x294, -0x3ba, 0x294, 0x319, 0x218, 0x319, 0x218, 0x2fd, 0x21c, 0x2fd, 0x21c, 0x263, -0x19b, 0x263, 0x19b, 0x19f, 0xec, 0x19f, 0xec, 0x19f, 0xec, 0x2ae, 0x20a, -0x2ae, 0x20a, 0x29c, 0x203, 0x29c, 0x203, 0x20d, 0x17b, 0x20d, 0x17b, 0x2d7, -0x249, 0x2d7, 0x249, 0x252, 0x1c8, 0x252, 0x1c8, 0xbc, 0x34, 0xbc, 0x34, -0xbc, 0x34, 0xffc9, 0xff45, 0xffc9, 0xff45, 0xfed7, 0xfe59, 0xfed7, 0xfe59, 0xfd0a, -0xfc95, 0xfd0a, 0xfc95, 0xfc0b, 0xfba4, 0xfc0b, 0xfba4, 0xfbea, 0xfb96, 0xfbea, 0xfb96, -0xfbea, 0xfb96, 0xfa98, 0xfa5c, 0xfa98, 0xfa5c, 0xf9c1, 0xf9a3, 0xf9c1, 0xf9a3, 0xf995, -0xf99c, 0xf995, 0xf99c, 0xf864, 0xf895, 0xf864, 0xf895, 0xf70c, 0xf76c, 0xf70c, 0xf76c, -0xf5df, 0xf674, 0xf5df, 0xf674, 0xf5df, 0xf674, 0xf40e, 0xf4d9, 0xf40e, 0xf4d9, 0xf28d, -0xf391, 0xf28d, 0xf391, 0xf1d2, 0xf30f, 0xf1d2, 0xf30f, 0xf071, 0xf1e6, 0xf071, 0xf1e6, -0xf043, 0xf1ee, 0xf043, 0xf1ee, 0xf0a2, 0xf280, 0xf0a2, 0xf280, 0xf0a2, 0xf280, 0xf035, -0xf23f, 0xf035, 0xf23f, 0xf133, 0xf363, 0xf133, 0xf363, 0xf16c, 0xf3bb, 0xf16c, 0xf3bb, -0xf09e, 0xf304, 0xf09e, 0xf304, 0xf08d, 0xf301, 0xf08d, 0xf301, 0xf08d, 0xf301, 0xf06f, -0xf2e7, 0xf06f, 0xf2e7, 0xf099, 0xf30d, 0xf099, 0xf30d, 0xf127, 0xf38e, 0xf127, 0xf38e, -0xf0ea, 0xf33b, 0xf0ea, 0xf33b, 0xf047, 0xf27c, 0xf047, 0xf27c, 0xf1fd, 0xf40f, 0xf1fd, -0xf40f, 0xf1fd, 0xf40f, 0xf3f2, 0xf5dc, 0xf3f2, 0xf5dc, 0xf579, 0xf737, 0xf579, 0xf737, -0xf82a, 0xf9ba, 0xf82a, 0xf9ba, 0xf98b, 0xfaeb, 0xf98b, 0xfaeb, 0xfb74, 0xfca5, 0xfb74, -0xfca5, 0xfe73, 0xff76, 0xfe73, 0xff76, 0xfe73, 0xff76, 0x99, 0x16f, 0x99, 0x16f, -0x1a5, 0x252, 0x1a5, 0x252, 0x27d, 0x305, 0x27d, 0x305, 0x3a6, 0x40d, 0x3a6, -0x40d, 0x3f3, 0x43d, 0x3f3, 0x43d, 0x3f3, 0x43d, 0x4bf, 0x4f2, 0x4bf, 0x4f2, -0x457, 0x477, 0x457, 0x477, 0x3bf, 0x3d1, 0x3bf, 0x3d1, 0x489, 0x491, 0x489, -0x491, 0x433, 0x436, 0x433, 0x436, 0x3ec, 0x3ec, 0x3ec, 0x3ec, 0x3ec, 0x3ec, -0x2d1, 0x2d2, 0x2d1, 0x2d2, 0x128, 0x12c, 0x128, 0x12c, 0x8c, 0x95, 0x8c, -0x95, 0x5d, 0x6d, 0x5d, 0x6d, 0x11, 0x29, 0x11, 0x29, 0xc3, 0xe5, -0xc3, 0xe5, 0xc3, 0xe5, 0x17b, 0x1a8, 0x17b, 0x1a8, 0x8a, 0xc4, 0x8a, -0xc4, 0x196, 0x1e0, 0x196, 0x1e0, 0x1e6, 0x242, 0x1e6, 0x242, 0xec, 0x15d, -0xec, 0x15d, 0xec, 0x15d, 0x218, 0x2a1, 0x218, 0x2a1, 0x15b, 0x200, 0x15b, -0x200, 0x4f, 0x115, 0x4f, 0x115, 0x93, 0x17e, 0x93, 0x17e, 0xffa8, 0xbf, -0xffa8, 0xbf, 0xfe38, 0xff7e, 0xfe38, 0xff7e, 0xfe38, 0xff7e, 0xfcd5, 0xfe50, 0xfcd5, -0xfe50, 0xfaac, 0xfc62, 0xfaac, 0xfc62, 0xf758, 0xf94d, 0xf758, 0xf94d, 0xf51e, 0xf756, -0xf51e, 0xf756, 0xf2f2, 0xf571, 0xf2f2, 0xf571, 0xf030, 0xf2f6, 0xf030, 0xf2f6, 0xf030, -0xf2f6, 0xedfd, 0xf10e, 0xedfd, 0xf10e, 0xeac5, 0xee1f, 0xeac5, 0xee1f, 0xe7ca, 0xeb6d, -0xe7ca, 0xeb6d, 0xe596, 0xe97e, 0xe596, 0xe97e, 0xe3d6, 0xe7ff, 0xe3d6, 0xe7ff, 0xe3d6, -0xe7ff, 0xe2c8, 0xe72d, 0xe2c8, 0xe72d, 0xe22f, 0xe6c9, 0xe22f, 0xe6c9, 0xe1d7, 0xe69f, -0xe1d7, 0xe69f, 0xe0e5, 0xe5d2, 0xe0e5, 0xe5d2, 0xe08c, 0xe595, 0xe08c, 0xe595, 0xe0e7, -0xe602, 0xe0e7, 0xe602, 0xe0e7, 0xe602, 0xe0d4, 0xe5f7, 0xe0d4, 0xe5f7, 0xe009, 0xe52b, -0xe009, 0xe52b, 0xde62, 0xe379, 0xde62, 0xe379, 0xde1e, 0xe321, 0xde1e, 0xe321, 0xdf5f, -0xe446, 0xdf5f, 0xe446, 0xdfbf, 0xe482, 0xdfbf, 0xe482, 0xdfbf, 0xe482, 0xe04d, 0xe4e5, -0xe04d, 0xe4e5, 0xe0f8, 0xe561, 0xe0f8, 0xe561, 0xe15f, 0xe593, 0xe15f, 0xe593, 0xe32e, -0xe72b, 0xe32e, 0xe72b, 0xe55b, 0xe91f, 0xe55b, 0xe91f, 0xe55b, 0xe91f, 0xe641, 0xe9c9, -0xe641, 0xe9c9, 0xe6b5, 0xea02, 0xe6b5, 0xea02, 0xe7ba, 0xeacb, 0xe7ba, 0xeacb, 0xe8d2, -0xeba7, 0xe8d2, 0xeba7, 0xeb0c, 0xeda6, 0xeb0c, 0xeda6, 0xed5d, 0xefbc, 0xed5d, 0xefbc, -0xed5d, 0xefbc, 0xee54, 0xf079, 0xee54, 0xf079, 0xefb1, 0xf19b, 0xefb1, 0xf19b, 0xf1cf, -0xf37e, 0xf1cf, 0xf37e, 0xf439, 0xf5ac, 0xf439, 0xf5ac, 0xf62a, 0xf760, 0xf62a, 0xf760, -0xf62a, 0xf760, 0xf7ad, 0xf8a3, 0xf7ad, 0xf8a3, 0xf85f, 0xf913, 0xf85f, 0xf913, 0xf97f, -0xf9ee, 0xf97f, 0xf9ee, 0xfb80, 0xfba7, 0xfb80, 0xfba7, 0xfd0f, 0xfceb, 0xfd0f, 0xfceb, -0xff33, 0xfec1, 0xff33, 0xfec1, 0xff33, 0xfec1, 0xac, 0xffea, 0xac, 0xffea, 0x225, -0x111, 0x225, 0x111, 0x527, 0x3bf, 0x527, 0x3bf, 0x818, 0x65e, 0x818, 0x65e, -0x9db, 0x7d0, 0x9db, 0x7d0, 0xb90, 0x936, 0xb90, 0x936, 0xb90, 0x936, 0xe04, -0xb60, 0xe04, 0xb60, 0xf96, 0xcae, 0xf96, 0xcae, 0x1174, 0xe50, 0x1174, 0xe50, -0x1316, 0xfbe, 0x1316, 0xfbe, 0x13d7, 0x1056, 0x13d7, 0x1056, 0x13d7, 0x1056, 0x155e, -0x11bf, 0x155e, 0x11bf, 0x1546, 0x1195, 0x1546, 0x1195, 0x1544, 0x118f, 0x1544, 0x118f, -0x1665, 0x12ba, 0x1665, 0x12ba, 0x15b7, 0x1221, 0x15b7, 0x1221, 0x1557, 0x11e4, 0x1557, -0x11e4, 0x1557, 0x11e4, 0x1552, 0x120d, 0x1552, 0x120d, 0x13b6, 0x10aa, 0x13b6, 0x10aa, -0x12a4, 0xfdb, 0x12a4, 0xfdb, 0x123f, 0xfc1, 0x123f, 0xfc1, 0x109f, 0xe71, 0x109f, -0xe71, 0xecc, 0xcf2, 0xecc, 0xcf2, 0xecc, 0xcf2, 0xcf8, 0xb74, 0xcf8, 0xb74, -0xae9, 0x9ba, 0xae9, 0x9ba, 0x908, 0x82d, 0x908, 0x82d, 0x791, 0x705, 0x791, -0x705, 0x67e, 0x63b, 0x67e, 0x63b, 0x67e, 0x63b, 0x53f, 0x53d, 0x53f, 0x53d, -0x426, 0x45e, 0x426, 0x45e, 0x263, 0x2cb, 0x263, 0x2cb, 0x21e, 0x2ac, 0x21e, -0x2ac, 0x2cd, 0x378, 0x2cd, 0x378, 0x24b, 0x30a, 0x24b, 0x30a, 0x24b, 0x30a, -0x1ca, 0x293, 0x1ca, 0x293, 0x48, 0x113, 0x48, 0x113, 0xffd5, 0x9c, 0xffd5, -0x9c, 0x103, 0x1c0, 0x103, 0x1c0, 0x1fd, 0x2ab, 0x1fd, 0x2ab, 0x196, 0x233, -0x196, 0x233, 0x196, 0x233, 0x153, 0x1dc, 0x153, 0x1dc, 0x24d, 0x2c3, 0x24d, -0x2c3, 0x2c4, 0x327, 0x2c4, 0x327, 0x483, 0x4d4, 0x483, 0x4d4, 0x548, 0x58a, -0x548, 0x58a, 0x548, 0x58a, 0x3f0, 0x425, 0x3f0, 0x425, 0x3b0, 0x3db, 0x3b0, -0x3db, 0x44c, 0x470, 0x44c, 0x470, 0x4ad, 0x4cc, 0x4ad, 0x4cc, 0x485, 0x4a0, -0x485, 0x4a0, 0x363, 0x37b, 0x363, 0x37b, 0x363, 0x37b, 0x151, 0x167, 0x151, -0x167, 0xffd1, 0xffe2, 0xffd1, 0xffe2, 0xfef9, 0xff03, 0xfef9, 0xff03, 0xfea3, 0xfea4, -0xfea3, 0xfea4, 0xfe92, 0xfe84, 0xfe92, 0xfe84, 0xfdbc, 0xfd9b, 0xfdbc, 0xfd9b, 0xfdbc, -0xfd9b, 0xfd5c, 0xfd23, 0xfd5c, 0xfd23, 0xfea4, 0xfe4c, 0xfea4, 0xfe4c, 0x5f, 0xffe3, -0x5f, 0xffe3, 0xed, 0x48, 0xed, 0x48, 0x12a, 0x56, 0x12a, 0x56, 0x12a, -0x56, 0x286, 0x181, 0x286, 0x181, 0x3d1, 0x299, 0x3d1, 0x299, 0x530, 0x3c4, -0x530, 0x3c4, 0x6dd, 0x53e, 0x6dd, 0x53e, 0x80f, 0x640, 0x80f, 0x640, 0x926, -0x72c, 0x926, 0x72c, 0x926, 0x72c, 0x9df, 0x7c1, 0x9df, 0x7c1, 0xad2, 0x899, -0xad2, 0x899, 0xb2c, 0x8e2, 0xb2c, 0x8e2, 0xa32, 0x7e2, 0xa32, 0x7e2, 0x9a8, -0x760, 0x9a8, 0x760, 0x912, 0x6df, 0x912, 0x6df, 0x912, 0x6df, 0x6e0, 0x4d0, -0x6e0, 0x4d0, 0x5bf, 0x3de, 0x5bf, 0x3de, 0x506, 0x362, 0x506, 0x362, 0x1e6, -0x8b, 0x1e6, 0x8b, 0xfffb, 0xfef3, 0xfffb, 0xfef3, 0xfffb, 0xfef3, 0xfec6, 0xfe19, -0xfec6, 0xfe19, 0xfc7b, 0xfc2e, 0xfc7b, 0xfc2e, 0xfaab, 0xfac4, 0xfaab, 0xfac4, 0xf946, -0xf9c6, 0xf946, 0xf9c6, 0xf6b5, 0xf79a, 0xf6b5, 0xf79a, 0xf4b6, 0xf5fc, 0xf4b6, 0xf5fc, -0xf4b6, 0xf5fc, 0xf3b0, 0xf552, 0xf3b0, 0xf552, 0xf171, 0xf365, 0xf171, 0xf365, 0xf129, -0xf364, 0xf129, 0xf364, 0xf072, 0xf2e9, 0xf072, 0xf2e9, 0xee41, 0xf0e5, 0xee41, 0xf0e5, -0xeca5, 0xef69, 0xeca5, 0xef69, 0xeca5, 0xef69, 0xeaa6, 0xed7a, 0xeaa6, 0xed7a, 0xe9cd, -0xeca1, 0xe9cd, 0xeca1, 0xe9cb, 0xec93, 0xe9cb, 0xec93, 0xe9d3, 0xec7f, 0xe9d3, 0xec7f, -0xe917, 0xeb9c, 0xe917, 0xeb9c, 0xe917, 0xeb9c, 0xe926, 0xeb78, 0xe926, 0xeb78, 0xea01, -0xec18, 0xea01, 0xec18, 0xebd9, 0xedae, 0xebd9, 0xedae, 0xef55, 0xf0e2, 0xef55, 0xf0e2, -0xf110, 0xf253, 0xf110, 0xf253, 0xf2ed, 0xf3e4, 0xf2ed, 0xf3e4, 0xf2ed, 0xf3e4, 0xf650, -0xf6fb, 0xf650, 0xf6fb, 0xfa1e, 0xfa81, 0xfa1e, 0xfa81, 0xfdf3, 0xfe10, 0xfdf3, 0xfe10, -0xc4, 0xa0, 0xc4, 0xa0, 0x340, 0x2de, 0x340, 0x2de, 0x59c, 0x503, 0x59c, -0x503, 0x59c, 0x503, 0x8c5, 0x7f8, 0x8c5, 0x7f8, 0xb9f, 0xaa3, 0xb9f, 0xaa3, -0xe24, 0xcfd, 0xe24, 0xcfd, 0x10c1, 0xf70, 0x10c1, 0xf70, 0x1128, 0xfb0, 0x1128, -0xfb0, 0x1128, 0xfb0, 0x12ee, 0x114f, 0x12ee, 0x114f, 0x14e1, 0x131a, 0x14e1, 0x131a, -0x1572, 0x1380, 0x1572, 0x1380, 0x166b, 0x144a, 0x166b, 0x144a, 0x15ff, 0x13ad, 0x15ff, -0x13ad, 0x16cf, 0x1446, 0x16cf, 0x1446, 0x16cf, 0x1446, 0x1875, 0x15b0, 0x1875, 0x15b0, -0x1ac7, 0x17c1, 0x1ac7, 0x17c1, 0x1d7d, 0x1a33, 0x1d7d, 0x1a33, 0x1fb2, 0x1c20, 0x1fb2, -0x1c20, 0x2255, 0x1e77, 0x2255, 0x1e77, 0x24a8, 0x207e, 0x24a8, 0x207e, 0x24a8, 0x207e, -0x2816, 0x23a0, 0x2816, 0x23a0, 0x2a39, 0x257b, 0x2a39, 0x257b, 0x2bb1, 0x26ae, 0x2bb1, -0x26ae, 0x2e14, 0x28d3, 0x2e14, 0x28d3, 0x2f0c, 0x2996, 0x2f0c, 0x2996, 0x2f0c, 0x2996, -0x2f65, 0x29c4, 0x2f65, 0x29c4, 0x2ff7, 0x2a38, 0x2ff7, 0x2a38, 0x3016, 0x2a46, 0x3016, -0x2a46, 0x2e90, 0x28bf, 0x2e90, 0x28bf, 0x2d05, 0x2742, 0x2d05, 0x2742, 0x2c1a, 0x2675, -0x2c1a, 0x2675, 0x2c1a, 0x2675, 0x29d4, 0x245d, 0x29d4, 0x245d, 0x27a9, 0x226f, 0x27a9, -0x226f, 0x260f, 0x2121, 0x260f, 0x2121, 0x22a1, 0x1e0c, 0x22a1, 0x1e0c, 0x1f3e, 0x1b0d, -0x1f3e, 0x1b0d, 0x1f3e, 0x1b0d, 0x1bee, 0x182b, 0x1bee, 0x182b, 0x1719, 0x13cb, 0x1719, -0x13cb, 0x1378, 0x10a3, 0x1378, 0x10a3, 0x1021, 0xdc7, 0x1021, 0xdc7, 0xbe9, 0xa0b, -0xbe9, 0xa0b, 0x8c4, 0x75e, 0x8c4, 0x75e, 0x8c4, 0x75e, 0x687, 0x596, 0x687, -0x596, 0x439, 0x3b6, 0x439, 0x3b6, 0x227, 0x20a, 0x227, 0x20a, 0xffc1, 0x1, -0xffc1, 0x1, 0xfc93, 0xfd26, 0xfc93, 0xfd26, 0xf973, 0xfa4e, 0xf973, 0xfa4e, 0xf973, -0xfa4e, 0xf66f, 0xf787, 0xf66f, 0xf787, 0xf3e1, 0xf52c, 0xf3e1, 0xf52c, 0xf14a, 0xf2bf, -0xf14a, 0xf2bf, 0xee2a, 0xefc0, 0xee2a, 0xefc0, 0xebd9, 0xed87, 0xebd9, 0xed87, 0xebd9, -0xed87, 0xeac1, 0xec81, 0xeac1, 0xec81, 0xe9df, 0xebac, 0xe9df, 0xebac, 0xe91a, 0xeaf0, -0xe91a, 0xeaf0, 0xe87a, 0xea57, 0xe87a, 0xea57, 0xe754, 0xe935, 0xe754, 0xe935, 0xe770, -0xe956, 0xe770, 0xe956, 0xe770, 0xe956, 0xe8d7, 0xeac1, 0xe8d7, 0xeac1, 0xe911, 0xeb01, -0xe911, 0xeb01, 0xe97e, 0xeb74, 0xe97e, 0xeb74, 0xe9c0, 0xebbc, 0xe9c0, 0xebbc, 0xe95d, -0xeb5f, 0xe95d, 0xeb5f, 0xea69, 0xec72, 0xea69, 0xec72, 0xea69, 0xec72, 0xeb46, 0xed53, -0xeb46, 0xed53, 0xeaf2, 0xed01, 0xeaf2, 0xed01, 0xea2a, 0xec38, 0xea2a, 0xec38, 0xea04, -0xec0b, 0xea04, 0xec0b, 0xeaf4, 0xecef, 0xeaf4, 0xecef, 0xeaf4, 0xecef, 0xec7d, 0xee64, -0xec7d, 0xee64, 0xee3d, 0xf007, 0xee3d, 0xf007, 0xef03, 0xf0a8, 0xef03, 0xf0a8, 0xf03a, -0xf1b1, 0xf03a, 0xf1b1, 0xf1f7, 0xf336, 0xf1f7, 0xf336, 0xf3d6, 0xf4d3, 0xf3d6, 0xf4d3, -0xf3d6, 0xf4d3, 0xf6e2, 0xf796, 0xf6e2, 0xf796, 0xf8d2, 0xf934, 0xf8d2, 0xf934, 0xfa54, -0xfa5f, 0xfa54, 0xfa5f, 0xfd09, 0xfcb8, 0xfd09, 0xfcb8, 0xff15, 0xfe66, 0xff15, 0xfe66, -0x137, 0x29, 0x137, 0x29, 0x137, 0x29, 0x425, 0x2ba, 0x425, 0x2ba, 0x693, -0x4cf, 0x693, 0x4cf, 0x899, 0x683, 0x899, 0x683, 0xb1d, 0x8be, 0xb1d, 0x8be, -0xda2, 0xb05, 0xda2, 0xb05, 0xda2, 0xb05, 0xece, 0xbff, 0xece, 0xbff, 0x101a, -0xd28, 0x101a, 0xd28, 0x11b1, 0xead, 0x11b1, 0xead, 0x11eb, 0xee4, 0x11eb, 0xee4, -0x11ea, 0xef0, 0x11ea, 0xef0, 0x11b7, 0xedb, 0x11b7, 0xedb, 0x11b7, 0xedb, 0x10b0, -0xe02, 0x10b0, 0xe02, 0x102c, 0xdbb, 0x102c, 0xdbb, 0x1007, 0xde1, 0x1007, 0xde1, -0xe18, 0xc49, 0xe18, 0xc49, 0xbf0, 0xa81, 0xbf0, 0xa81, 0xa70, 0x96a, 0xa70, -0x96a, 0xa70, 0x96a, 0x81c, 0x785, 0x81c, 0x785, 0x6dd, 0x6b8, 0x6dd, 0x6b8, -0x578, 0x5c5, 0x578, 0x5c5, 0x301, 0x3c1, 0x301, 0x3c1, 0x105, 0x233, 0x105, -0x233, 0x105, 0x233, 0xfebf, 0x58, 0xfebf, 0x58, 0xfc5e, 0xfe5c, 0xfc5e, 0xfe5c, -0xf97c, 0xfbd7, 0xf97c, 0xfbd7, 0xf669, 0xf91a, 0xf669, 0xf91a, 0xf413, 0xf711, 0xf413, -0xf711, 0xf27d, 0xf5be, 0xf27d, 0xf5be, 0xf27d, 0xf5be, 0xf114, 0xf492, 0xf114, 0xf492, -0xefe7, 0xf398, 0xefe7, 0xf398, 0xef01, 0xf2de, 0xef01, 0xf2de, 0xed44, 0xf145, 0xed44, -0xf145, 0xed01, 0xf121, 0xed01, 0xf121, 0xecf8, 0xf132, 0xecf8, 0xf132, 0xecf8, 0xf132, -0xeaf5, 0xef45, 0xeaf5, 0xef45, 0xe9b1, 0xee13, 0xe9b1, 0xee13, 0xe877, 0xece8, 0xe877, -0xece8, 0xe6c5, 0xeb44, 0xe6c5, 0xeb44, 0xe6ab, 0xeb35, 0xe6ab, 0xeb35, 0xe6ab, 0xeb35, -0xe6d4, 0xeb66, 0xe6d4, 0xeb66, 0xe4cf, 0xe968, 0xe4cf, 0xe968, 0xe2e7, 0xe784, 0xe2e7, -0xe784, 0xe214, 0xe6b3, 0xe214, 0xe6b3, 0xe194, 0xe632, 0xe194, 0xe632, 0xe1b0, 0xe647, -0xe1b0, 0xe647, 0xe1b0, 0xe647, 0xe0ed, 0xe578, 0xe0ed, 0xe578, 0xdff5, 0xe46f, 0xdff5, -0xe46f, 0xdfce, 0xe42f, 0xdfce, 0xe42f, 0xe090, 0xe4d1, 0xe090, 0xe4d1, 0xe15a, 0xe573, -0xe15a, 0xe573, 0xe1d7, 0xe5bf, 0xe1d7, 0xe5bf, 0xe1d7, 0xe5bf, 0xe20f, 0xe5bf, 0xe20f, -0xe5bf, 0xe2ac, 0xe61b, 0xe2ac, 0xe61b, 0xe524, 0xe849, 0xe524, 0xe849, 0xe730, 0xea05, -0xe730, 0xea05, 0xe93e, 0xebbc, 0xe93e, 0xebbc, 0xe93e, 0xebbc, 0xeb8a, 0xedad, 0xeb8a, -0xedad, 0xed63, 0xef27, 0xed63, 0xef27, 0xf020, 0xf185, 0xf020, 0xf185, 0xf358, 0xf45d, -0xf358, 0xf45d, 0xf5e8, 0xf68f, 0xf5e8, 0xf68f, 0xf6ee, 0xf73c, 0xf6ee, 0xf73c, 0xf6ee, -0xf73c, 0xf840, 0xf83a, 0xf840, 0xf83a, 0xf930, 0xf8de, 0xf930, 0xf8de, 0xfa22, 0xf98d, -0xfa22, 0xf98d, 0xfbd5, 0xfb07, 0xfbd5, 0xfb07, 0xfb88, 0xfa8d, 0xfb88, 0xfa8d, 0xfb6b, -0xfa4e, 0xfb6b, 0xfa4e, 0xfb6b, 0xfa4e, 0xfc41, 0xfb0f, 0xfc41, 0xfb0f, 0xfd26, 0xfbea, -0xfd26, 0xfbea, 0xfdba, 0xfc7f, 0xfdba, 0xfc7f, 0xfd94, 0xfc65, 0xfd94, 0xfc65, 0xfdf1, -0xfcd9, 0xfdf1, 0xfcd9, 0xfdf1, 0xfcd9, 0xfdf3, 0xfcf8, 0xfdf3, 0xfcf8, 0xfe40, 0xfd69, -0xfe40, 0xfd69, 0xfe92, 0xfde3, 0xfe92, 0xfde3, 0xfe32, 0xfdae, 0xfe32, 0xfdae, 0xfee4, -0xfe8d, 0xfee4, 0xfe8d, 0xff9c, 0xff6f, 0xff9c, 0xff6f, 0xff9c, 0xff6f, 0xffef, 0xffeb, -0xffef, 0xffeb, 0x56, 0x75, 0x56, 0x75, 0x1c, 0x5b, 0x1c, 0x5b, 0xffae, -0x6, 0xffae, 0x6, 0xffd3, 0x3d, 0xffd3, 0x3d, 0xffe5, 0x5a, 0xffe5, 0x5a, -0xffe5, 0x5a, 0xffa9, 0x22, 0xffa9, 0x22, 0xff21, 0xff97, 0xff21, 0xff97, 0xfdce, -0xfe3b, 0xfdce, 0xfe3b, 0xfdce, 0xfe2d, 0xfdce, 0xfe2d, 0xfddd, 0xfe2a, 0xfddd, 0xfe2a, -0xfddd, 0xfe2a, 0xfd31, 0xfd69, 0xfd31, 0xfd69, 0xfe0c, 0xfe2d, 0xfe0c, 0xfe2d, 0xfee8, -0xfef2, 0xfee8, 0xfef2, 0xffc1, 0xffb5, 0xffc1, 0xffb5, 0x162, 0x142, 0x162, 0x142, -0x384, 0x353, 0x384, 0x353, 0x384, 0x353, 0x487, 0x448, 0x487, 0x448, 0x4fc, -0x4b4, 0x4fc, 0x4b4, 0x644, 0x5f7, 0x644, 0x5f7, 0x64d, 0x5ff, 0x64d, 0x5ff, -0x687, 0x63d, 0x687, 0x63d, 0x687, 0x63d, 0x697, 0x653, 0x697, 0x653, 0x59a, -0x55f, 0x59a, 0x55f, 0x5a9, 0x578, 0x5a9, 0x578, 0x5b1, 0x58b, 0x5b1, 0x58b, -0x52f, 0x513, 0x52f, 0x513, 0x460, 0x44b, 0x460, 0x44b, 0x460, 0x44b, 0x33a, -0x329, 0x33a, 0x329, 0x37d, 0x36b, 0x37d, 0x36b, 0x4b5, 0x49d, 0x4b5, 0x49d, -0x5ce, 0x5aa, 0x5ce, 0x5aa, 0x6f3, 0x6bb, 0x6f3, 0x6bb, 0x7a7, 0x756, 0x7a7, -0x756, 0x7a7, 0x756, 0x983, 0x912, 0x983, 0x912, 0xc2b, 0xb94, 0xc2b, 0xb94, -0xe99, 0xdd7, 0xe99, 0xdd7, 0x10e1, 0xff0, 0x10e1, 0xff0, 0x122f, 0x110b, 0x122f, -0x110b, 0x122f, 0x110b, 0x13ff, 0x12a9, 0x13ff, 0x12a9, 0x1640, 0x14b8, 0x1640, 0x14b8, -0x18b3, 0x16fb, 0x18b3, 0x16fb, 0x1ac0, 0x18dc, 0x1ac0, 0x18dc, 0x1a6a, 0x185f, 0x1a6a, -0x185f, 0x197e, 0x1755, 0x197e, 0x1755, 0x197e, 0x1755, 0x19b0, 0x1770, 0x19b0, 0x1770, -0x1987, 0x173b, 0x1987, 0x173b, 0x18c2, 0x1674, 0x18c2, 0x1674, 0x17b9, 0x1573, 0x17b9, -0x1573, 0x157a, 0x1347, 0x157a, 0x1347, 0x136a, 0x1155, 0x136a, 0x1155, 0x136a, 0x1155, -0x121a, 0x102c, 0x121a, 0x102c, 0xfd0, 0xe12, 0xfd0, 0xe12, 0xcd3, 0xb4e, 0xcd3, -0xb4e, 0x9c1, 0x879, 0x9c1, 0x879, 0x6f5, 0x5ef, 0x6f5, 0x5ef, 0x6f5, 0x5ef, -0x4fc, 0x439, 0x4fc, 0x439, 0x370, 0x2f3, 0x370, 0x2f3, 0x225, 0x1eb, 0x225, -0x1eb, 0xc7, 0xcd, 0xc7, 0xcd, 0xa, 0x4c, 0xa, 0x4c, 0xffe2, 0x5a, -0xffe2, 0x5a, 0xffe2, 0x5a, 0xff04, 0xffab, 0xff04, 0xffab, 0xfdfd, 0xfecb, 0xfdfd, -0xfecb, 0xfc2c, 0xfd1a, 0xfc2c, 0xfd1a, 0xfab1, 0xfbb7, 0xfab1, 0xfbb7, 0xf950, 0xfa66, -0xf950, 0xfa66, 0xf788, 0xf8a8, 0xf788, 0xf8a8, 0xf788, 0xf8a8, 0xf6b9, 0xf7dc, 0xf6b9, -0xf7dc, 0xf51f, 0xf641, 0xf51f, 0xf641, 0xf3cf, 0xf4eb, 0xf3cf, 0xf4eb, 0xf374, 0xf48a, -0xf374, 0xf48a, 0xf364, 0xf473, 0xf364, 0xf473, 0xf364, 0xf473, 0xf2e0, 0xf3e8, 0xf2e0, -0xf3e8, 0xf23c, 0xf33f, 0xf23c, 0xf33f, 0xf1e3, 0xf2e4, 0xf1e3, 0xf2e4, 0xf0cb, 0xf1cf, -0xf0cb, 0xf1cf, 0xf096, 0xf1a1, 0xf096, 0xf1a1, 0xf053, 0xf169, 0xf053, 0xf169, 0xf053, -0xf169, 0xefb6, 0xf0dc, 0xefb6, 0xf0dc, 0xefac, 0xf0e7, 0xefac, 0xf0e7, 0xefc9, 0xf11c, -0xefc9, 0xf11c, 0xef7a, 0xf0e7, 0xef7a, 0xf0e7, 0xeeea, 0xf073, 0xeeea, 0xf073, 0xee72, -0xf015, 0xee72, 0xf015, 0xee72, 0xf015, 0xedec, 0xefa7, 0xedec, 0xefa7, 0xee57, 0xf026, -0xee57, 0xf026, 0xee07, 0xefe5, 0xee07, 0xefe5, 0xed36, 0xef1a, 0xed36, 0xef1a, 0xed07, -0xeeea, 0xed07, 0xeeea, 0xed07, 0xeeea, 0xece7, 0xeebe, 0xece7, 0xeebe, 0xed99, 0xef59, -0xed99, 0xef59, 0xeeee, 0xf08d, 0xeeee, 0xf08d, 0xefdc, 0xf14d, 0xefdc, 0xf14d, 0xf114, -0xf24d, 0xf114, 0xf24d, 0xf364, 0xf45a, 0xf364, 0xf45a, 0xf364, 0xf45a, 0xf619, 0xf6c4, -0xf619, 0xf6c4, 0xf9c4, 0xfa1b, 0xf9c4, 0xfa1b, 0xfd09, 0xfd06, 0xfd09, 0xfd06, 0xff49, -0xfee8, 0xff49, 0xfee8, 0x28b, 0x1cb, 0x28b, 0x1cb, 0x6a8, 0x589, 0x6a8, 0x589, -0x6a8, 0x589, 0x9a3, 0x828, 0x9a3, 0x828, 0xbdf, 0xa0e, 0xbdf, 0xa0e, 0xe4e, -0xc2e, 0xe4e, 0xc2e, 0xfca, 0xd65, 0xfca, 0xd65, 0x1238, 0xf98, 0x1238, 0xf98, -0x1238, 0xf98, 0x156c, 0x129e, 0x156c, 0x129e, 0x168b, 0x139b, 0x168b, 0x139b, 0x16e1, -0x13dd, 0x16e1, 0x13dd, 0x17f6, 0x14eb, 0x17f6, 0x14eb, 0x1883, 0x157e, 0x1883, 0x157e, -0x1939, 0x1645, 0x1939, 0x1645, 0x1939, 0x1645, 0x19c9, 0x16f0, 0x19c9, 0x16f0, 0x1842, -0x158d, 0x1842, 0x158d, 0x1767, 0x14dc, 0x1767, 0x14dc, 0x1749, 0x14ed, 0x1749, 0x14ed, -0x16f7, 0x14cb, 0x16f7, 0x14cb, 0x1780, 0x1584, 0x1780, 0x1584, 0x1780, 0x1584, 0x175b, -0x158d, 0x175b, 0x158d, 0x1781, 0x15dd, 0x1781, 0x15dd, 0x17e0, 0x1660, 0x17e0, 0x1660, -0x175e, 0x15fa, 0x175e, 0x15fa, 0x1792, 0x1642, 0x1792, 0x1642, 0x1792, 0x1642, 0x1760, -0x161b, 0x1760, 0x161b, 0x16d6, 0x1592, 0x16d6, 0x1592, 0x16e3, 0x1598, 0x16e3, 0x1598, -0x16e8, 0x158d, 0x16e8, 0x158d, 0x16f1, 0x157f, 0x16f1, 0x157f, 0x174b, 0x15bc, 0x174b, -0x15bc, 0x174b, 0x15bc, 0x1830, 0x167f, 0x1830, 0x167f, 0x180a, 0x1633, 0x180a, 0x1633, -0x17d6, 0x15da, 0x17d6, 0x15da, 0x177a, 0x155a, 0x177a, 0x155a, 0x1679, 0x1438, 0x1679, -0x1438, 0x16ac, 0x144e, 0x16ac, 0x144e, 0x16ac, 0x144e, 0x1723, 0x14af, 0x1723, 0x14af, -0x1736, 0x14b3, 0x1736, 0x14b3, 0x167c, 0x13f3, 0x167c, 0x13f3, 0x156b, 0x12e5, 0x156b, -0x12e5, 0x141e, 0x11a3, 0x141e, 0x11a3, 0x141e, 0x11a3, 0x12dd, 0x1076, 0x12dd, 0x1076, -0x10dd, 0xe93, 0x10dd, 0xe93, 0xe1f, 0xbf9, 0xe1f, 0xbf9, 0xb64, 0x968, 0xb64, -0x968, 0x8c0, 0x6f3, 0x8c0, 0x6f3, 0x78b, 0x5ef, 0x78b, 0x5ef, 0x78b, 0x5ef, -0x59b, 0x433, 0x59b, 0x433, 0x4c3, 0x38d, 0x4c3, 0x38d, 0x428, 0x322, 0x428, -0x322, 0x2c1, 0x1e8, 0x2c1, 0x1e8, 0x2c6, 0x215, 0x2c6, 0x215, 0x20e, 0x17f, -0x20e, 0x17f, 0x20e, 0x17f, 0x246, 0x1d3, 0x246, 0x1d3, 0x213, 0x1b5, 0x213, -0x1b5, 0x12a, 0xda, 0x12a, 0xda, 0x179, 0x131, 0x179, 0x131, 0x1ec, 0x1a7, -0x1ec, 0x1a7, 0x1ec, 0x1a7, 0x1ea, 0x1a2, 0x1ea, 0x1a2, 0x16a, 0x11d, 0x16a, -0x11d, 0xfd, 0xaa, 0xfd, 0xaa, 0xffe5, 0xff8a, 0xffe5, 0xff8a, 0xfff4, 0xff94, -0xfff4, 0xff94, 0x50, 0xffef, 0x50, 0xffef, 0x50, 0xffef, 0xff13, 0xfeb4, 0xff13, -0xfeb4, 0xfdb6, 0xfd60, 0xfdb6, 0xfd60, 0xfce1, 0xfc9c, 0xfce1, 0xfc9c, 0xfc30, 0xfc04, -0xfc30, 0xfc04, 0xfb68, 0xfb5d, 0xfb68, 0xfb5d, 0xfb68, 0xfb5d, 0xfa5f, 0xfa7c, 0xfa5f, -0xfa7c, 0xf7b6, 0xf805, 0xf7b6, 0xf805, 0xf5da, 0xf661, 0xf5da, 0xf661, 0xf542, 0xf607, -0xf542, 0xf607, 0xf452, 0xf55a, 0xf452, 0xf55a, 0xf3fc, 0xf549, 0xf3fc, 0xf549, 0xf3fc, -0xf549, 0xf2a3, 0xf436, 0xf2a3, 0xf436, 0xf11f, 0xf2f7, 0xf11f, 0xf2f7, 0xf0d7, 0xf2f0, -0xf0d7, 0xf2f0, 0xf0da, 0xf32f, 0xf0da, 0xf32f, 0xf0f0, 0xf379, 0xf0f0, 0xf379, 0xf0ae, -0xf362, 0xf0ae, 0xf362, 0xf0ae, 0xf362, 0xf010, 0xf2e5, 0xf010, 0xf2e5, 0xef92, 0xf27c, -0xef92, 0xf27c, 0xef7b, 0xf26d, 0xef7b, 0xf26d, 0xeeb7, 0xf1a6, 0xeeb7, 0xf1a6, 0xee3f, -0xf11c, 0xee3f, 0xf11c, 0xee3f, 0xf11c, 0xee0c, 0xf0cd, 0xee0c, 0xf0cd, 0xed38, 0xefd2, -0xed38, 0xefd2, 0xedf5, 0xf05e, 0xedf5, 0xf05e, 0xeec4, 0xf0f3, 0xeec4, 0xf0f3, 0xefc9, -0xf1b9, 0xefc9, 0xf1b9, 0xf22b, 0xf3d8, 0xf22b, 0xf3d8, 0xf22b, 0xf3d8, 0xf434, 0xf59b, -0xf434, 0xf59b, 0xf629, 0xf74b, 0xf629, 0xf74b, 0xf863, 0xf941, 0xf863, 0xf941, 0xfa90, -0xfb2f, 0xfa90, 0xfb2f, 0xfc3a, 0xfc9f, 0xfc3a, 0xfc9f, 0xfe8b, 0xfebd, 0xfe8b, 0xfebd, -0xfe8b, 0xfebd, 0x78, 0x7f, 0x78, 0x7f, 0x130, 0x116, 0x130, 0x116, 0x1a0, -0x16d, 0x1a0, 0x16d, 0x1ee, 0x1ac, 0x1ee, 0x1ac, 0x283, 0x23b, 0x283, 0x23b, -0x283, 0x23b, 0x21e, 0x1d8, 0x21e, 0x1d8, 0x1e8, 0x1ac, 0x1e8, 0x1ac, 0x19d, -0x170, 0x19d, 0x170, 0x11a, 0x102, 0x11a, 0x102, 0x14c, 0x14e, 0x14c, 0x14e, -0x163, 0x180, 0x163, 0x180, 0x163, 0x180, 0x1c3, 0x1fd, 0x1c3, 0x1fd, 0x176, -0x1cc, 0x176, 0x1cc, 0x135, 0x1a6, 0x135, 0x1a6, 0x1a2, 0x22d, 0x1a2, 0x22d, -0x2a1, 0x343, 0x2a1, 0x343, 0x387, 0x43c, 0x387, 0x43c, 0x387, 0x43c, 0x414, -0x4da, 0x414, 0x4da, 0x50d, 0x5e1, 0x50d, 0x5e1, 0x52c, 0x60b, 0x52c, 0x60b, -0x622, 0x70b, 0x622, 0x70b, 0x72b, 0x81d, 0x72b, 0x81d, 0x72b, 0x81d, 0x5d8, -0x6d2, 0x5d8, 0x6d2, 0x402, 0x505, 0x402, 0x505, 0x1fa, 0x309, 0x1fa, 0x309, -0xffd7, 0xf3, 0xffd7, 0xf3, 0xfe7b, 0xffa9, 0xfe7b, 0xffa9, 0xfc6e, 0xfdb1, 0xfc6e, -0xfdb1, 0xfc6e, 0xfdb1, 0xf90d, 0xfa6b, 0xf90d, 0xfa6b, 0xf633, 0xf7b1, 0xf633, 0xf7b1, -0xf452, 0xf5f3, 0xf452, 0xf5f3, 0xf32b, 0xf4f5, 0xf32b, 0xf4f5, 0xf195, 0xf38c, 0xf195, -0xf38c, 0xee90, 0xf0b7, 0xee90, 0xf0b7, 0xee90, 0xf0b7, 0xec21, 0xee7a, 0xec21, 0xee7a, -0xea5c, 0xece8, 0xea5c, 0xece8, 0xe87a, 0xeb38, 0xe87a, 0xeb38, 0xe695, 0xe984, 0xe695, -0xe984, 0xe4ba, 0xe7d5, 0xe4ba, 0xe7d5, 0xe4ba, 0xe7d5, 0xe36c, 0xe6b0, 0xe36c, 0xe6b0, -0xe318, 0xe67e, 0xe318, 0xe67e, 0xe3fc, 0xe77d, 0xe3fc, 0xe77d, 0xe39d, 0xe730, 0xe39d, -0xe730, 0xe285, 0xe621, 0xe285, 0xe621, 0xe1ed, 0xe589, 0xe1ed, 0xe589, 0xe1ed, 0xe589, -0xe0a1, 0xe433, 0xe0a1, 0xe433, 0xe09b, 0xe41a, 0xe09b, 0xe41a, 0xe065, 0xe3c6, 0xe065, -0xe3c6, 0xdf84, 0xe2c0, 0xdf84, 0xe2c0, 0xe02b, 0xe339, 0xe02b, 0xe339, 0xe0ab, 0xe384, -0xe0ab, 0xe384, 0xe0ab, 0xe384, 0xe0de, 0xe37e, 0xe0de, 0xe37e, 0xe1ef, 0xe451, 0xe1ef, -0xe451, 0xe2e7, 0xe507, 0xe2e7, 0xe507, 0xe393, 0xe571, 0xe393, 0xe571, 0xe589, 0xe722, -0xe589, 0xe722, 0xe589, 0xe722, 0xe7a3, 0xe8fa, 0xe7a3, 0xe8fa, 0xe95d, 0xea74, 0xe95d, -0xea74, 0xebc9, 0xeca2, 0xebc9, 0xeca2, 0xee31, 0xeecf, 0xee31, 0xeecf, 0xf01b, 0xf082, -0xf01b, 0xf082, 0xf1ae, 0xf1e1, 0xf1ae, 0xf1e1, 0xf1ae, 0xf1e1, 0xf3e4, 0xf3e6, 0xf3e4, -0xf3e6, 0xf575, 0xf549, 0xf575, 0xf549, 0xf6f5, 0xf69f, 0xf6f5, 0xf69f, 0xf97c, 0xf8fe, -0xf97c, 0xf8fe, 0xfb4d, 0xfaa9, 0xfb4d, 0xfaa9, 0xfd06, 0xfc3b, 0xfd06, 0xfc3b, 0xfd06, -0xfc3b, 0xfdce, 0xfcdd, 0xfdce, 0xfcdd, 0xfefb, 0xfde4, 0xfefb, 0xfde4, 0x110, 0xffd1, -0x110, 0xffd1, 0x29f, 0x138, 0x29f, 0x138, 0x524, 0x393, 0x524, 0x393, 0x524, -0x393, 0x73d, 0x581, 0x73d, 0x581, 0x92a, 0x743, 0x92a, 0x743, 0xb0e, 0x8fa, -0xb0e, 0x8fa, 0xd08, 0xac8, 0xd08, 0xac8, 0xf58, 0xced, 0xf58, 0xced, 0x1076, -0xde2, 0x1076, 0xde2, 0x1076, 0xde2, 0x11bb, 0xf03, 0x11bb, 0xf03, 0x12ec, 0x1014, -0x12ec, 0x1014, 0x144e, 0x115c, 0x144e, 0x115c, 0x15e3, 0x12e0, 0x15e3, 0x12e0, 0x1675, -0x1368, 0x1675, 0x1368, 0x1672, 0x1364, 0x1672, 0x1364, 0x1672, 0x1364, 0x164d, 0x1349, -0x164d, 0x1349, 0x1679, 0x138a, 0x1679, 0x138a, 0x168a, 0x13ba, 0x168a, 0x13ba, 0x15da, -0x1333, 0x15da, 0x1333, 0x1450, 0x11dc, 0x1450, 0x11dc, 0x1450, 0x11dc, 0x12e4, 0x10ad, -0x12e4, 0x10ad, 0x1162, 0xf70, 0x1162, 0xf70, 0xf91, 0xdea, 0xf91, 0xdea, 0xd8a, -0xc34, 0xd8a, 0xc34, 0xab7, 0x9b4, 0xab7, 0x9b4, 0x81d, 0x76e, 0x81d, 0x76e, -0x81d, 0x76e, 0x6bf, 0x665, 0x6bf, 0x665, 0x5fc, 0x5f3, 0x5fc, 0x5f3, 0x522, -0x565, 0x522, 0x565, 0x45b, 0x4e4, 0x45b, 0x4e4, 0x3a0, 0x467, 0x3a0, 0x467, -0x356, 0x452, 0x356, 0x452, 0x356, 0x452, 0x2e6, 0x40c, 0x2e6, 0x40c, 0x1df, -0x325, 0x1df, 0x325, 0x87, 0x1e1, 0x87, 0x1e1, 0xffce, 0x131, 0xffce, 0x131, -0xfff5, 0x155, 0xfff5, 0x155, 0xfff5, 0x155, 0x2, 0x155, 0x2, 0x155, 0x7d, -0x1ba, 0x7d, 0x1ba, 0x7b, 0x19a, 0x7b, 0x19a, 0xd9, 0x1d2, 0xd9, 0x1d2, -0x1fd, 0x2cb, 0x1fd, 0x2cb, 0x23c, 0x2db, 0x23c, 0x2db, 0x23c, 0x2db, 0x210, -0x27e, 0x210, 0x27e, 0x2a5, 0x2e1, 0x2a5, 0x2e1, 0x436, 0x43f, 0x436, 0x43f, -0x4c7, 0x4a1, 0x4c7, 0x4a1, 0x539, 0x4e5, 0x539, 0x4e5, 0x539, 0x4e5, 0x5cc, -0x54e, 0x5cc, 0x54e, 0x555, 0x4b1, 0x555, 0x4b1, 0x52e, 0x468, 0x52e, 0x468, -0x4c3, 0x3df, 0x4c3, 0x3df, 0x407, 0x30a, 0x407, 0x30a, 0x36e, 0x25a, 0x36e, -0x25a, 0x36e, 0x25a, 0x2ae, 0x187, 0x2ae, 0x187, 0x245, 0x10e, 0x245, 0x10e, -0x1ce, 0x88, 0x1ce, 0x88, 0x18f, 0x3b, 0x18f, 0x3b, 0x1ac, 0x4a, 0x1ac, -0x4a, 0x21b, 0xab, 0x21b, 0xab, 0x21b, 0xab, 0x2c3, 0x146, 0x2c3, 0x146, -0x33b, 0x1af, 0x33b, 0x1af, 0x458, 0x2bc, 0x458, 0x2bc, 0x534, 0x387, 0x534, -0x387, 0x626, 0x468, 0x626, 0x468, 0x626, 0x468, 0x750, 0x581, 0x750, 0x581, -0x7c2, 0x5e4, 0x7c2, 0x5e4, 0x8df, 0x6f4, 0x8df, 0x6f4, 0x987, 0x791, 0x987, -0x791, 0x920, 0x723, 0x920, 0x723, 0x93c, 0x73e, 0x93c, 0x73e, 0x93c, 0x73e, -0x8e4, 0x6ed, 0x8e4, 0x6ed, 0x79b, 0x5b0, 0x79b, 0x5b0, 0x734, 0x560, 0x734, -0x560, 0x660, 0x4a9, 0x660, 0x4a9, 0x49a, 0x30b, 0x49a, 0x30b, 0x35f, 0x202, -0x35f, 0x202, 0x35f, 0x202, 0x1b7, 0x94, 0x1b7, 0x94, 0xff70, 0xfe90, 0xff70, -0xfe90, 0xfd7e, 0xfce8, 0xfd7e, 0xfce8, 0xfbcb, 0xfb86, 0xfbcb, 0xfb86, 0xf983, 0xf994, -0xf983, 0xf994, 0xf983, 0xf994, 0xf815, 0xf87f, 0xf815, 0xf87f, 0xf6b6, 0xf77a, 0xf6b6, -0xf77a, 0xf49d, 0xf5bb, 0xf49d, 0xf5bb, 0xf29a, 0xf40e, 0xf29a, 0xf40e, 0xeff4, 0xf1ba, -0xeff4, 0xf1ba, 0xedb0, 0xefbf, 0xedb0, 0xefbf, 0xedb0, 0xefbf, 0xebd3, 0xee23, 0xebd3, -0xee23, 0xea6d, 0xecf3, 0xea6d, 0xecf3, 0xe96a, 0xec1a, 0xe96a, 0xec1a, 0xe8a1, 0xeb6e, -0xe8a1, 0xeb6e, 0xe7b7, 0xea93, 0xe7b7, 0xea93, 0xe750, 0xea2b, 0xe750, 0xea2b, 0xe750, -0xea2b, 0xe70b, 0xe9d8, 0xe70b, 0xe9d8, 0xe641, 0xe8f1, 0xe641, 0xe8f1, 0xe6cc, 0xe953, -0xe6cc, 0xe953, 0xe7b9, 0xea0a, 0xe7b9, 0xea0a, 0xe9a5, 0xebb6, 0xe9a5, 0xebb6, 0xe9a5, -0xebb6, 0xeb0d, 0xecd3, 0xeb0d, 0xecd3, 0xec6f, 0xede5, 0xec6f, 0xede5, 0xef4d, 0xf06d, -0xef4d, 0xf06d, 0xf18b, 0xf251, 0xf18b, 0xf251, 0xf581, 0xf5ec, 0xf581, 0xf5ec, 0xf954, -0xf964, 0xf954, 0xf964, 0xf954, 0xf964, 0xfc6a, 0xfc22, 0xfc6a, 0xfc22, 0x5b, 0xffbd, -0x5b, 0xffbd, 0x3b0, 0x2c1, 0x3b0, 0x2c1, 0x720, 0x5e6, 0x720, 0x5e6, 0xa42, -0x8c4, 0xa42, 0x8c4, 0xc97, 0xadb, 0xc97, 0xadb, 0xc97, 0xadb, 0xe98, 0xca4, -0xe98, 0xca4, 0x109a, 0xe74, 0x109a, 0xe74, 0x120a, 0xfb9, 0x120a, 0xfb9, 0x1338, -0x10c0, 0x1338, 0x10c0, 0x14d7, 0x123c, 0x14d7, 0x123c, 0x14d7, 0x123c, 0x1602, 0x1348, -0x1602, 0x1348, 0x16cf, 0x13f8, 0x16cf, 0x13f8, 0x1828, 0x1535, 0x1828, 0x1535, 0x19df, -0x16d1, 0x19df, 0x16d1, 0x1b64, 0x183a, 0x1b64, 0x183a, 0x1d3d, 0x19f7, 0x1d3d, 0x19f7, -0x1d3d, 0x19f7, 0x1efc, 0x1b99, 0x1efc, 0x1b99, 0x20e3, 0x1d62, 0x20e3, 0x1d62, 0x2313, -0x1f72, 0x2313, 0x1f72, 0x24cc, 0x210b, 0x24cc, 0x210b, 0x2727, 0x2347, 0x2727, 0x2347, -0x2922, 0x2524, 0x2922, 0x2524, 0x2922, 0x2524, 0x2ae0, 0x26c6, 0x2ae0, 0x26c6, 0x2d85, -0x2953, 0x2d85, 0x2953, 0x2e6b, 0x2a25, 0x2e6b, 0x2a25, 0x2dd2, 0x297e, 0x2dd2, 0x297e, -0x2df1, 0x2997, 0x2df1, 0x2997, 0x2df1, 0x2997, 0x2d66, 0x290f, 0x2d66, 0x290f, 0x2bf0, -0x27a5, 0x2bf0, 0x27a5, 0x2ac7, 0x2693, 0x2ac7, 0x2693, 0x28d3, 0x24c1, 0x28d3, 0x24c1, -0x2652, 0x226e, 0x2652, 0x226e, 0x246c, 0x20c1, 0x246c, 0x20c1, 0x246c, 0x20c1, 0x2202, -0x1e9c, 0x2202, 0x1e9c, 0x1eb8, 0x1ba2, 0x1eb8, 0x1ba2, 0x1b55, 0x1897, 0x1b55, 0x1897, -0x17ac, 0x1550, 0x17ac, 0x1550, 0x13b6, 0x11c2, 0x13b6, 0x11c2, 0xfe7, 0xe61, 0xfe7, -0xe61, 0xfe7, 0xe61, 0xbf4, 0xae0, 0xbf4, 0xae0, 0x8eb, 0x84a, 0x8eb, 0x84a, -0x6fc, 0x6cf, 0x6fc, 0x6cf, 0x489, 0x4cd, 0x489, 0x4cd, 0x2c2, 0x373, 0x2c2, -0x373, 0x2c2, 0x373, 0x7b, 0x194, 0x7b, 0x194, 0xfd0c, 0xfe85, 0xfd0c, 0xfe85, -0xfaef, 0xfcc0, 0xfaef, 0xfcc0, 0xf896, 0xfab6, 0xf896, 0xfab6, 0xf617, 0xf87c, 0xf617, -0xf87c, 0xf3c4, 0xf664, 0xf3c4, 0xf664, 0xf3c4, 0xf664, 0xf0fc, 0xf3cb, 0xf0fc, 0xf3cb, -0xeebc, 0xf1b1, 0xeebc, 0xf1b1, 0xec96, 0xefa7, 0xec96, 0xefa7, 0xeb83, 0xeea7, 0xeb83, -0xeea7, 0xead5, 0xee03, 0xead5, 0xee03, 0xe9d7, 0xed07, 0xe9d7, 0xed07, 0xe9d7, 0xed07, -0xe9e5, 0xed12, 0xe9e5, 0xed12, 0xeaac, 0xedcf, 0xeaac, 0xedcf, 0xec09, 0xef20, 0xec09, -0xef20, 0xecf3, 0xeff9, 0xecf3, 0xeff9, 0xeca4, 0xef97, 0xeca4, 0xef97, 0xeca4, 0xef97, -0xecb5, 0xef92, 0xecb5, 0xef92, 0xed8b, 0xf053, 0xed8b, 0xf053, 0xee18, 0xf0c9, 0xee18, -0xf0c9, 0xee78, 0xf111, 0xee78, 0xf111, 0xef27, 0xf1a8, 0xef27, 0xf1a8, 0xef98, 0xf201, -0xef98, 0xf201, 0xef98, 0xf201, 0xefd1, 0xf220, 0xefd1, 0xf220, 0xf057, 0xf28b, 0xf057, -0xf28b, 0xf08d, 0xf2a5, 0xf08d, 0xf2a5, 0xf0eb, 0xf2e5, 0xf0eb, 0xf2e5, 0xf189, 0xf361, -0xf189, 0xf361, 0xf269, 0xf41c, 0xf269, 0xf41c, 0xf269, 0xf41c, 0xf3b2, 0xf53e, 0xf3b2, -0xf53e, 0xf472, 0xf5d2, 0xf472, 0xf5d2, 0xf570, 0xf6a2, 0xf570, 0xf6a2, 0xf661, 0xf760, -0xf661, 0xf760, 0xf770, 0xf83b, 0xf770, 0xf83b, 0xf770, 0xf83b, 0xf926, 0xf9b8, 0xf926, -0xf9b8, 0xfb7f, 0xfbd8, 0xfb7f, 0xfbd8, 0xfdd9, 0xfdf7, 0xfdd9, 0xfdf7, 0x5, 0xffe9, -0x5, 0xffe9, 0x2ea, 0x295, 0x2ea, 0x295, 0x430, 0x3a5, 0x430, 0x3a5, 0x430, -0x3a5, 0x556, 0x499, 0x556, 0x499, 0x762, 0x678, 0x762, 0x678, 0x8b6, 0x7a6, -0x8b6, 0x7a6, 0x9c3, 0x895, 0x9c3, 0x895, 0xaff, 0x9bb, 0xaff, 0x9bb, 0xaff, -0x9bb, 0xc44, 0xaf5, 0xc44, 0xaf5, 0xc3c, 0xaec, 0xc3c, 0xaec, 0xc69, 0xb23, -0xc69, 0xb23, 0xc2a, 0xaf7, 0xc2a, 0xaf7, 0xb48, 0xa34, 0xb48, 0xa34, 0xa98, -0x9ad, 0xa98, 0x9ad, 0xa98, 0x9ad, 0x8d8, 0x820, 0x8d8, 0x820, 0x76d, 0x6f1, -0x76d, 0x6f1, 0x5e0, 0x5a6, 0x5e0, 0x5a6, 0x405, 0x414, 0x405, 0x414, 0x2bc, -0x318, 0x2bc, 0x318, 0xfd, 0x1a9, 0xfd, 0x1a9, 0xfd, 0x1a9, 0xff21, 0x1f, -0xff21, 0x1f, 0xfdfb, 0xff4a, 0xfdfb, 0xff4a, 0xfd01, 0xfea0, 0xfd01, 0xfea0, 0xfb61, -0xfd4d, 0xfb61, 0xfd4d, 0xf99f, 0xfbd3, 0xf99f, 0xfbd3, 0xf99f, 0xfbd3, 0xf860, 0xfad5, -0xf860, 0xfad5, 0xf651, 0xf903, 0xf651, 0xf903, 0xf4a0, 0xf786, 0xf4a0, 0xf786, 0xf396, -0xf6a9, 0xf396, 0xf6a9, 0xf1e3, 0xf51b, 0xf1e3, 0xf51b, 0xf151, 0xf4a6, 0xf151, 0xf4a6, -0xf151, 0xf4a6, 0xefe6, 0xf350, 0xefe6, 0xf350, 0xedf5, 0xf16c, 0xedf5, 0xf16c, 0xed73, -0xf0f0, 0xed73, 0xf0f0, 0xeca8, 0xf024, 0xeca8, 0xf024, 0xebee, 0xef63, 0xebee, 0xef63, -0xeb1b, 0xee84, 0xeb1b, 0xee84, 0xeb1b, 0xee84, 0xeabb, 0xee13, 0xeabb, 0xee13, 0xeabe, -0xee01, 0xeabe, 0xee01, 0xea2f, 0xed58, 0xea2f, 0xed58, 0xea10, 0xed1c, 0xea10, 0xed1c, -0xe9a4, 0xec91, 0xe9a4, 0xec91, 0xe9a4, 0xec91, 0xe90a, 0xebd6, 0xe90a, 0xebd6, 0xe938, -0xebe0, 0xe938, 0xebe0, 0xe88c, 0xeb0e, 0xe88c, 0xeb0e, 0xe75e, 0xe9b9, 0xe75e, 0xe9b9, -0xe68e, 0xe8be, 0xe68e, 0xe8be, 0xe5f7, 0xe7fb, 0xe5f7, 0xe7fb, 0xe5f7, 0xe7fb, 0xe643, -0xe819, 0xe643, 0xe819, 0xe65a, 0xe800, 0xe65a, 0xe800, 0xe654, 0xe7c7, 0xe654, 0xe7c7, -0xe6db, 0xe81a, 0xe6db, 0xe81a, 0xe6e0, 0xe7e8, 0xe6e0, 0xe7e8, 0xe7be, 0xe88e, 0xe7be, -0xe88e, 0xe7be, 0xe88e, 0xe9c0, 0xea56, 0xe9c0, 0xea56, 0xeb52, 0xebae, 0xeb52, 0xebae, -0xedfb, 0xee1c, 0xedfb, 0xee1c, 0xf0b7, 0xf09d, 0xf0b7, 0xf09d, 0xf215, 0xf1c3, 0xf215, -0xf1c3, 0xf215, 0xf1c3, 0xf3c2, 0xf339, 0xf3c2, 0xf339, 0xf591, 0xf4d3, 0xf591, 0xf4d3, -0xf721, 0xf633, 0xf721, 0xf633, 0xf824, 0xf70b, 0xf824, 0xf70b, 0xf953, 0xf814, 0xf953, -0xf814, 0xfa68, 0xf909, 0xfa68, 0xf909, 0xfa68, 0xf909, 0xfb37, 0xf9c0, 0xfb37, 0xf9c0, -0xfcdc, 0xfb55, 0xfcdc, 0xfb55, 0xfd4b, 0xfbba, 0xfd4b, 0xfbba, 0xfd0d, 0xfb7b, 0xfd0d, -0xfb7b, 0xfd5b, 0xfbd0, 0xfd5b, 0xfbd0, 0xfd2e, 0xfbb1, 0xfd2e, 0xfbb1, 0xfd2e, 0xfbb1, -0xfda6, 0xfc3e, 0xfda6, 0xfc3e, 0xfe62, 0xfd17, 0xfe62, 0xfd17, 0xff28, 0xfdfe, 0xff28, -0xfdfe, 0x2, 0xfefe, 0x2, 0xfefe, 0xffb9, 0xfedf, 0xffb9, 0xfedf, 0xffb9, 0xfedf, -0xff6b, 0xfebd, 0xff6b, 0xfebd, 0xff38, 0xfeb8, 0xff38, 0xfeb8, 0xff91, 0xff3e, 0xff91, -0xff3e, 0xfff4, 0xffce, 0xfff4, 0xffce, 0xfffe, 0x2, 0xfffe, 0x2, 0xe0, 0x10b, -0xe0, 0x10b, 0xe0, 0x10b, 0xac, 0xfa, 0xac, 0xfa, 0xbd, 0x12b, 0xbd, -0x12b, 0xcb, 0x153, 0xcb, 0x153, 0xff67, 0x4, 0xff67, 0x4, 0xff34, 0xffe1, -0xff34, 0xffe1, 0xfeeb, 0xffa2, 0xfeeb, 0xffa2, 0xfeeb, 0xffa2, 0xfe1c, 0xfeda, 0xfe1c, -0xfeda, 0xfea0, 0xff5e, 0xfea0, 0xff5e, 0xfea9, 0xff65, 0xfea9, 0xff65, 0xfe06, 0xfebc, -0xfe06, 0xfebc, 0xff19, 0xffc7, 0xff19, 0xffc7, 0xff19, 0xffc7, 0x30, 0xd3, 0x30, -0xd3, 0x103, 0x199, 0x103, 0x199, 0x2a9, 0x333, 0x2a9, 0x333, 0x3ec, 0x468, -0x3ec, 0x468, 0x548, 0x5b6, 0x548, 0x5b6, 0x5c6, 0x626, 0x5c6, 0x626, 0x5c6, -0x626, 0x61d, 0x66f, 0x61d, 0x66f, 0x6cf, 0x712, 0x6cf, 0x712, 0x63a, 0x66e, -0x63a, 0x66e, 0x602, 0x627, 0x602, 0x627, 0x5d0, 0x5e4, 0x5d0, 0x5e4, 0x516, -0x517, 0x516, 0x517, 0x516, 0x517, 0x489, 0x475, 0x489, 0x475, 0x41e, 0x3f2, -0x41e, 0x3f2, 0x433, 0x3eb, 0x433, 0x3eb, 0x45c, 0x3f6, 0x45c, 0x3f6, 0x53b, -0x4b2, 0x53b, 0x4b2, 0x53b, 0x4b2, 0x5e7, 0x536, 0x5e7, 0x536, 0x5c9, 0x4eb, -0x5c9, 0x4eb, 0x6bd, 0x5b0, 0x6bd, 0x5b0, 0x832, 0x6f0, 0x832, 0x6f0, 0x956, -0x7de, 0x956, 0x7de, 0xb27, 0x976, 0xb27, 0x976, 0xb27, 0x976, 0xd43, 0xb59, -0xd43, 0xb59, 0xf5c, 0xd37, 0xf5c, 0xd37, 0x1228, 0xfcb, 0x1228, 0xfcb, 0x1434, -0x11a1, 0x1434, 0x11a1, 0x14ff, 0x123a, 0x14ff, 0x123a, 0x15d4, 0x12e1, 0x15d4, 0x12e1, -0x15d4, 0x12e1, 0x1730, 0x1417, 0x1730, 0x1417, 0x17ac, 0x1475, 0x17ac, 0x1475, 0x1754, -0x1407, 0x1754, 0x1407, 0x1708, 0x13ae, 0x1708, 0x13ae, 0x15ec, 0x128f, 0x15ec, 0x128f, -0x15ec, 0x128f, 0x156a, 0x1215, 0x156a, 0x1215, 0x1475, 0x1131, 0x1475, 0x1131, 0x1288, -0xf5f, 0x1288, 0xf5f, 0x1097, 0xd93, 0x1097, 0xd93, 0xe97, 0xbc0, 0xe97, 0xbc0, -0xd28, 0xa87, 0xd28, 0xa87, 0xd28, 0xa87, 0xb5f, 0x8f8, 0xb5f, 0x8f8, 0x997, -0x771, 0x997, 0x771, 0x6ec, 0x50a, 0x6ec, 0x50a, 0x4e8, 0x34c, 0x4e8, 0x34c, -0x3cd, 0x277, 0x3cd, 0x277, 0x21c, 0x10b, 0x21c, 0x10b, 0x21c, 0x10b, 0x1d3, -0x106, 0x1d3, 0x106, 0x11c, 0x90, 0x11c, 0x90, 0x47, 0xfff8, 0x47, 0xfff8, -0, 0xffe8, 0, 0xffe8, 0xfef4, 0xff10, 0xfef4, 0xff10, 0xfef4, 0xff10, 0xfe62, -0xfeac, 0xfe62, 0xfeac, 0xfe2b, 0xfe9e, 0xfe2b, 0xfe9e, 0xfd16, 0xfdad, 0xfd16, 0xfdad, -0xfb01, 0xfbb7, 0xfb01, 0xfbb7, 0xf9c9, 0xfa9c, 0xf9c9, 0xfa9c, 0xf8cc, 0xf9ba, 0xf8cc, -0xf9ba, 0xf8cc, 0xf9ba, 0xf6e8, 0xf7ee, 0xf6e8, 0xf7ee, 0xf5f5, 0xf712, 0xf5f5, 0xf712, -0xf566, 0xf69b, 0xf566, 0xf69b, 0xf4a5, 0xf5f4, 0xf4a5, 0xf5f4, 0xf47c, 0xf5e5, 0xf47c, -0xf5e5, 0xf47c, 0xf5e5, 0xf485, 0xf60a, 0xf485, 0xf60a, 0xf482, 0xf626, 0xf482, 0xf626, -0xf460, 0xf625, 0xf460, 0xf625, 0xf3f2, 0xf5db, 0xf3f2, 0xf5db, 0xf368, 0xf575, 0xf368, -0xf575, 0xf2ba, 0xf4ed, 0xf2ba, 0xf4ed, 0xf2ba, 0xf4ed, 0xf1d4, 0xf42b, 0xf1d4, 0xf42b, -0xf196, 0xf411, 0xf196, 0xf411, 0xf09b, 0xf337, 0xf09b, 0xf337, 0xeef4, 0xf1ad, 0xeef4, -0xf1ad, 0xeea0, 0xf16f, 0xeea0, 0xf16f, 0xed93, 0xf072, 0xed93, 0xf072, 0xed93, 0xf072, -0xed01, 0xefe8, 0xed01, 0xefe8, 0xed6d, 0xf053, 0xed6d, 0xf053, 0xecba, 0xef92, 0xecba, -0xef92, 0xec66, 0xef27, 0xec66, 0xef27, 0xec52, 0xeef0, 0xec52, 0xeef0, 0xec52, 0xeef0, -0xec92, 0xef01, 0xec92, 0xef01, 0xeda8, 0xefde, 0xeda8, 0xefde, 0xefaa, 0xf19c, 0xefaa, -0xf19c, 0xf248, 0xf3ec, 0xf248, 0xf3ec, 0xf43b, 0xf589, 0xf43b, 0xf589, 0xf713, 0xf804, -0xf713, 0xf804, 0xf713, 0xf804, 0xf9e5, 0xfa75, 0xf9e5, 0xfa75, 0xfbff, 0xfc2b, 0xfbff, -0xfc2b, 0xff26, 0xfeed, 0xff26, 0xfeed, 0x177, 0xdb, 0x177, 0xdb, 0x3d6, 0x2da, -0x3d6, 0x2da, 0x716, 0x5c0, 0x716, 0x5c0, 0x716, 0x5c0, 0x9ed, 0x844, 0x9ed, -0x844, 0xc95, 0xaa2, 0xc95, 0xaa2, 0xe22, 0xbee, 0xe22, 0xbee, 0xfdb, 0xd70, -0xfdb, 0xd70, 0x1178, 0xee2, 0x1178, 0xee2, 0x1178, 0xee2, 0x12bb, 0x1006, 0x12bb, -0x1006, 0x146a, 0x11a0, 0x146a, 0x11a0, 0x1485, 0x11b1, 0x1485, 0x11b1, 0x14d4, 0x11ff, -0x14d4, 0x11ff, 0x156f, 0x12a1, 0x156f, 0x12a1, 0x1527, 0x1266, 0x1527, 0x1266, 0x1527, -0x1266, 0x153c, 0x128e, 0x153c, 0x128e, 0x14f2, 0x125a, 0x14f2, 0x125a, 0x153d, 0x12bc, -0x153d, 0x12bc, 0x1621, 0x13b7, 0x1621, 0x13b7, 0x1656, 0x1403, 0x1656, 0x1403, 0x16e2, -0x14a1, 0x16e2, 0x14a1, 0x16e2, 0x14a1, 0x1803, 0x15d1, 0x1803, 0x15d1, 0x18b2, 0x168a, -0x18b2, 0x168a, 0x18c3, 0x169f, 0x18c3, 0x169f, 0x18f2, 0x16cd, 0x18f2, 0x16cd, 0x196e, -0x1742, 0x196e, 0x1742, 0x196e, 0x1742, 0x1a2b, 0x17f3, 0x1a2b, 0x17f3, 0x1a88, 0x1840, -0x1a88, 0x1840, 0x1a0f, 0x17b4, 0x1a0f, 0x17b4, 0x192b, 0x16bb, 0x192b, 0x16bb, 0x18f0, -0x166b, 0x18f0, 0x166b, 0x19ae, 0x1714, 0x19ae, 0x1714, 0x19ae, 0x1714, 0x19af, 0x1703, -0x19af, 0x1703, 0x19ab, 0x16f0, 0x19ab, 0x16f0, 0x19d4, 0x170f, 0x19d4, 0x170f, 0x1986, -0x16bd, 0x1986, 0x16bd, 0x19ad, 0x16e7, 0x19ad, 0x16e7, 0x18d9, 0x161e, 0x18d9, 0x161e, -0x18d9, 0x161e, 0x17b7, 0x150d, 0x17b7, 0x150d, 0x1657, 0x13c6, 0x1657, 0x13c6, 0x13de, -0x116e, 0x13de, 0x116e, 0x126c, 0x1023, 0x126c, 0x1023, 0x10ad, 0xe90, 0x10ad, 0xe90, -0x10ad, 0xe90, 0xe77, 0xc8a, 0xe77, 0xc8a, 0xd2d, 0xb74, 0xd2d, 0xb74, 0xb26, -0x9a2, 0xb26, 0x9a2, 0x8bd, 0x76d, 0x8bd, 0x76d, 0x72b, 0x60e, 0x72b, 0x60e, -0x5a6, 0x4ba, 0x5a6, 0x4ba, 0x5a6, 0x4ba, 0x400, 0x33f, 0x400, 0x33f, 0x2dd, -0x243, 0x2dd, 0x243, 0x143, 0xc9, 0x143, 0xc9, 0xfff7, 0xff98, 0xfff7, 0xff98, -0x3d, 0xfff1, 0x3d, 0xfff1, 0xc, 0xffcd, 0xc, 0xffcd, 0xc, 0xffcd, 0xff9a, -0xff62, 0xff9a, 0xff62, 0xffa0, 0xff69, 0xffa0, 0xff69, 0xfef1, 0xfeb8, 0xfef1, 0xfeb8, -0xfe90, 0xfe52, 0xfe90, 0xfe52, 0xff15, 0xfed1, 0xff15, 0xfed1, 0xff15, 0xfed1, 0xffa5, -0xff5b, 0xffa5, 0xff5b, 0x2f, 0xffe1, 0x2f, 0xffe1, 0x2b, 0xffdd, 0x2b, 0xffdd, -0xff74, 0xff2a, 0xff74, 0xff2a, 0xfe7e, 0xfe40, 0xfe7e, 0xfe40, 0xfe0f, 0xfde3, 0xfe0f, -0xfde3, 0xfe0f, 0xfde3, 0xfd76, 0xfd65, 0xfd76, 0xfd65, 0xfbd3, 0xfbe5, 0xfbd3, 0xfbe5, -0xfad3, 0xfb10, 0xfad3, 0xfb10, 0xfa0a, 0xfa7b, 0xfa0a, 0xfa7b, 0xf972, 0xfa1d, 0xf972, -0xfa1d, 0xf8d8, 0xf9c4, 0xf8d8, 0xf9c4, 0xf8d8, 0xf9c4, 0xf781, 0xf8b4, 0xf781, 0xf8b4, -0xf68d, 0xf809, 0xf68d, 0xf809, 0xf54a, 0xf712, 0xf54a, 0xf712, 0xf45f, 0xf671, 0xf45f, -0xf671, 0xf3f8, 0xf652, 0xf3f8, 0xf652, 0xf3f8, 0xf652, 0xf3a1, 0xf63f, 0xf3a1, 0xf63f, -0xf352, 0xf62c, 0xf352, 0xf62c, 0xf2f5, 0xf604, 0xf2f5, 0xf604, 0xf2d9, 0xf613, 0xf2d9, -0xf613, 0xf215, 0xf56e, 0xf215, 0xf56e, 0xf1ac, 0xf519, 0xf1ac, 0xf519, 0xf1ac, 0xf519, -0xf190, 0xf505, 0xf190, 0xf505, 0xf122, 0xf491, 0xf122, 0xf491, 0xf073, 0xf3d1, 0xf073, -0xf3d1, 0xef9f, 0xf2e0, 0xef9f, 0xf2e0, 0xef8c, 0xf2a4, 0xef8c, 0xf2a4, 0xefda, 0xf2c1, -0xefda, 0xf2c1, 0xefda, 0xf2c1, 0xf08d, 0xf33a, 0xf08d, 0xf33a, 0xf139, 0xf3a6, 0xf139, -0xf3a6, 0xf26f, 0xf498, 0xf26f, 0xf498, 0xf45a, 0xf63d, 0xf45a, 0xf63d, 0xf635, 0xf7d1, -0xf635, 0xf7d1, 0xf635, 0xf7d1, 0xf81d, 0xf974, 0xf81d, 0xf974, 0xf94f, 0xfa63, 0xf94f, -0xfa63, 0xfab5, 0xfb8b, 0xfab5, 0xfb8b, 0xfc7e, 0xfd1c, 0xfc7e, 0xfd1c, 0xfe1f, 0xfe8b, -0xfe1f, 0xfe8b, 0xff50, 0xff92, 0xff50, 0xff92, 0xff50, 0xff92, 0xffc6, 0xffe4, 0xffc6, -0xffe4, 0xffda, 0xffde, 0xffda, 0xffde, 0xff1b, 0xff0b, 0xff1b, 0xff0b, 0xfed0, 0xfeb4, -0xfed0, 0xfeb4, 0xfeac, 0xfe8a, 0xfeac, 0xfe8a, 0xfe00, 0xfddd, 0xfe00, 0xfddd, 0xfe00, -0xfddd, 0xfdeb, 0xfdcd, 0xfdeb, 0xfdcd, 0xfd11, 0xfcfc, 0xfd11, 0xfcfc, 0xfc10, 0xfc06, -0xfc10, 0xfc06, 0xfc77, 0xfc7a, 0xfc77, 0xfc7a, 0xfc60, 0xfc73, 0xfc60, 0xfc73, 0xfc60, -0xfc73, 0xfc12, 0xfc34, 0xfc12, 0xfc34, 0xfc08, 0xfc39, 0xfc08, 0xfc39, 0xfb94, 0xfbd5, -0xfb94, 0xfbd5, 0xfce4, 0xfd34, 0xfce4, 0xfd34, 0xfe7c, 0xfedb, 0xfe7c, 0xfedb, 0xfedf, -0xff4e, 0xfedf, 0xff4e, 0xfedf, 0xff4e, 0xff20, 0xff9f, 0xff20, 0xff9f, 0xfefe, 0xff8f, -0xfefe, 0xff8f, 0xff2a, 0xffce, 0xff2a, 0xffce, 0xff11, 0xffcb, 0xff11, 0xffcb, 0xfefa, -0xffcc, 0xfefa, 0xffcc, 0xfefa, 0xffcc, 0xfdb1, 0xfe9f, 0xfdb1, 0xfe9f, 0xfbbc, 0xfcca, -0xfbbc, 0xfcca, 0xfaf3, 0xfc25, 0xfaf3, 0xfc25, 0xf959, 0xfab4, 0xf959, 0xfab4, 0xf7e4, -0xf96c, 0xf7e4, 0xf96c, 0xf639, 0xf7f1, 0xf639, 0xf7f1, 0xf639, 0xf7f1, 0xf43d, 0xf629, -0xf43d, 0xf629, 0xf303, 0xf525, 0xf303, 0xf525, 0xf111, 0xf36b, 0xf111, 0xf36b, 0xef14, -0xf1a8, 0xef14, 0xf1a8, 0xedc6, 0xf092, 0xedc6, 0xf092, 0xec76, 0xef78, 0xec76, 0xef78, -0xec76, 0xef78, 0xeaf5, 0xee2a, 0xeaf5, 0xee2a, 0xe9ef, 0xed52, 0xe9ef, 0xed52, 0xe8eb, -0xec77, 0xe8eb, 0xec77, 0xe7f7, 0xeba5, 0xe7f7, 0xeba5, 0xe798, 0xeb60, 0xe798, 0xeb60, -0xe798, 0xeb60, 0xe732, 0xeb0b, 0xe732, 0xeb0b, 0xe778, 0xeb59, 0xe778, 0xeb59, 0xe7dc, -0xebb9, 0xe7dc, 0xebb9, 0xe7a1, 0xeb73, 0xe7a1, 0xeb73, 0xe74e, 0xeb0a, 0xe74e, 0xeb0a, -0xe738, 0xead5, 0xe738, 0xead5, 0xe738, 0xead5, 0xe70d, 0xea82, 0xe70d, 0xea82, 0xe5f8, -0xe93d, 0xe5f8, 0xe93d, 0xe547, 0xe856, 0xe547, 0xe856, 0xe50a, 0xe7dc, 0xe50a, 0xe7dc, -0xe56b, 0xe7fb, 0xe56b, 0xe7fb, 0xe6c2, 0xe90e, 0xe6c2, 0xe90e, 0xe6c2, 0xe90e, 0xe761, -0xe967, 0xe761, 0xe967, 0xe849, 0xea07, 0xe849, 0xea07, 0xe9da, 0xeb51, 0xe9da, 0xeb51, -0xebd9, 0xed0a, 0xebd9, 0xed0a, 0xee14, 0xef00, 0xee14, 0xef00, 0xee14, 0xef00, 0xeff4, -0xf09f, 0xeff4, 0xf09f, 0xf1dd, 0xf249, 0xf1dd, 0xf249, 0xf3e1, 0xf412, 0xf3e1, 0xf412, -0xf5fe, 0xf5f8, 0xf5fe, 0xf5f8, 0xf776, 0xf73d, 0xf776, 0xf73d, 0xf8ab, 0xf842, 0xf8ab, -0xf842, 0xf8ab, 0xf842, 0xf9ac, 0xf916, 0xf9ac, 0xf916, 0xfabb, 0xf9fb, 0xfabb, 0xf9fb, -0xfc99, 0xfbb2, 0xfc99, 0xfbb2, 0xfe8e, 0xfd81, 0xfe8e, 0xfd81, 0xffdf, 0xfeaf, 0xffdf, -0xfeaf, 0xd6, 0xff84, 0xd6, 0xff84, 0xd6, 0xff84, 0x1a6, 0x32, 0x1a6, 0x32, -0x207, 0x73, 0x207, 0x73, 0x2fe, 0x14b, 0x2fe, 0x14b, 0x45a, 0x289, 0x45a, -0x289, 0x5b1, 0x3c4, 0x5b1, 0x3c4, 0x5b1, 0x3c4, 0x73e, 0x536, 0x73e, 0x536, -0x91b, 0x6fb, 0x91b, 0x6fb, 0xa82, 0x84d, 0xa82, 0x84d, 0xc6e, 0xa27, 0xc6e, -0xa27, 0xf0f, 0xcba, 0xf0f, 0xcba, 0xfd6, 0xd79, 0xfd6, 0xd79, 0xfd6, 0xd79, -0x1121, 0xec0, 0x1121, 0xec0, 0x12d3, 0x1075, 0x12d3, 0x1075, 0x13cb, 0x1176, 0x13cb, -0x1176, 0x1497, 0x1251, 0x1497, 0x1251, 0x144e, 0x121e, 0x144e, 0x121e, 0x13e3, 0x11d0, -0x13e3, 0x11d0, 0x13e3, 0x11d0, 0x13dd, 0x11ec, 0x13dd, 0x11ec, 0x13c4, 0x11fc, 0x13c4, -0x11fc, 0x1281, 0x10e5, 0x1281, 0x10e5, 0x1154, 0xfea, 0x1154, 0xfea, 0x1076, 0xf40, -0x1076, 0xf40, 0x1076, 0xf40, 0xf55, 0xe55, 0xf55, 0xe55, 0xead, 0xde4, 0xead, -0xde4, 0xd8f, 0xcfc, 0xd8f, 0xcfc, 0xc57, 0xbf8, 0xc57, 0xbf8, 0xb67, 0xb3a, -0xb67, 0xb3a, 0xa1d, 0xa1d, 0xa1d, 0xa1d, 0xa1d, 0xa1d, 0x8f1, 0x91a, 0x8f1, -0x91a, 0x855, 0x8a1, 0x855, 0x8a1, 0x779, 0x7e1, 0x779, 0x7e1, 0x705, 0x782, -0x705, 0x782, 0x73f, 0x7cb, 0x73f, 0x7cb, 0x6bb, 0x750, 0x6bb, 0x750, 0x6bb, -0x750, 0x67b, 0x710, 0x67b, 0x710, 0x694, 0x725, 0x694, 0x725, 0x57f, 0x606, -0x57f, 0x606, 0x489, 0x502, 0x489, 0x502, 0x38b, 0x3f0, 0x38b, 0x3f0, 0x38b, -0x3f0, 0x203, 0x252, 0x203, 0x252, 0x126, 0x15d, 0x126, 0x15d, 0xdb, 0xf9, -0xdb, 0xf9, 0xf7, 0xfb, 0xf7, 0xfb, 0x11f, 0x109, 0x11f, 0x109, 0x1be, -0x18f, 0x1be, 0x18f, 0x1be, 0x18f, 0x1c9, 0x182, 0x1c9, 0x182, 0x182, 0x124, -0x182, 0x124, 0x1ea, 0x178, 0x1ea, 0x178, 0x1fc, 0x177, 0x1fc, 0x177, 0x1de, -0x145, 0x1de, 0x145, 0xd4, 0x2a, 0xd4, 0x2a, 0xd4, 0x2a, 0xffb8, 0xfefe, -0xffb8, 0xfefe, 0xff64, 0xfe99, 0xff64, 0xfe99, 0xfec2, 0xfde6, 0xfec2, 0xfde6, 0xfe12, -0xfd24, 0xfe12, 0xfd24, 0xfe17, 0xfd16, 0xfe17, 0xfd16, 0xfe17, 0xfd16, 0xfde8, 0xfcd3, -0xfde8, 0xfcd3, 0xfded, 0xfcc3, 0xfded, 0xfcc3, 0xfe1c, 0xfcda, 0xfe1c, 0xfcda, 0xfdc7, -0xfc6c, 0xfdc7, 0xfc6c, 0xfe29, 0xfcb5, 0xfe29, 0xfcb5, 0xfefa, 0xfd6c, 0xfefa, 0xfd6c, -0xfefa, 0xfd6c, 0x7b, 0xfed3, 0x7b, 0xfed3, 0x138, 0xff78, 0x138, 0xff78, 0x25c, -0x87, 0x25c, 0x87, 0x487, 0x29f, 0x487, 0x29f, 0x4e9, 0x2f4, 0x4e9, 0x2f4, -0x5ba, 0x3bd, 0x5ba, 0x3bd, 0x5ba, 0x3bd, 0x6a6, 0x4a9, 0x6a6, 0x4a9, 0x6bd, -0x4c8, 0x6bd, 0x4c8, 0x747, 0x564, 0x747, 0x564, 0x723, 0x55b, 0x723, 0x55b, -0x689, 0x4e7, 0x689, 0x4e7, 0x689, 0x4e7, 0x6e4, 0x572, 0x6e4, 0x572, 0x6c0, -0x589, 0x6c0, 0x589, 0x597, 0x4a5, 0x597, 0x4a5, 0x4a4, 0x400, 0x4a4, 0x400, -0x35c, 0x30e, 0x35c, 0x30e, 0x207, 0x217, 0x207, 0x217, 0x207, 0x217, 0xff, -0x172, 0xff, 0x172, 0xff82, 0x5a, 0xff82, 0x5a, 0xfd6a, 0xfeaa, 0xfd6a, 0xfeaa, -0xfb5b, 0xfd02, 0xfb5b, 0xfd02, 0xf9b4, 0xfbbf, 0xf9b4, 0xfbbf, 0xf85f, 0xfaca, 0xf85f, -0xfaca, 0xf85f, 0xfaca, 0xf6b5, 0xf978, 0xf6b5, 0xf978, 0xf45b, 0xf76e, 0xf45b, 0xf76e, -0xf287, 0xf5df, 0xf287, 0xf5df, 0xf1a7, 0xf53a, 0xf1a7, 0xf53a, 0xf08c, 0xf44b, 0xf08c, -0xf44b, 0xf08c, 0xf44b, 0xefdc, 0xf3ba, 0xefdc, 0xf3ba, 0xef79, 0xf369, 0xef79, 0xf369, -0xee8d, 0xf27f, 0xee8d, 0xf27f, 0xee8e, 0xf275, 0xee8e, 0xf275, 0xede4, 0xf1b2, 0xede4, -0xf1b2, 0xec66, 0xf00f, 0xec66, 0xf00f, 0xec66, 0xf00f, 0xebef, 0xef67, 0xebef, 0xef67, -0xec00, 0xef3d, 0xec00, 0xef3d, 0xec16, 0xef0f, 0xec16, 0xef0f, 0xed0c, 0xefbb, 0xed0c, -0xefbb, 0xef54, 0xf1b2, 0xef54, 0xf1b2, 0xef54, 0xf1b2, 0xf0ed, 0xf2f7, 0xf0ed, 0xf2f7, -0xf2ed, 0xf49f, 0xf2ed, 0xf49f, 0xf603, 0xf75d, 0xf603, 0xf75d, 0xf8d6, 0xf9d8, 0xf8d6, -0xf9d8, 0xfbd2, 0xfc7c, 0xfbd2, 0xfc7c, 0xfea9, 0xfefc, 0xfea9, 0xfefc, 0xfea9, 0xfefc, -0x14e, 0x14d, 0x14e, 0x14d, 0x436, 0x3e3, 0x436, 0x3e3, 0x664, 0x5c2, 0x664, -0x5c2, 0x7dc, 0x6ed, 0x7dc, 0x6ed, 0x988, 0x84e, 0x988, 0x84e, 0xa77, 0x8f3, -0xa77, 0x8f3, 0xa77, 0x8f3, 0xbb5, 0x9ea, 0xbb5, 0x9ea, 0xda5, 0xb94, 0xda5, -0xb94, 0xeeb, 0xc93, 0xeeb, 0xc93, 0xfe3, 0xd45, 0xfe3, 0xd45, 0x1159, 0xe76, -0x1159, 0xe76, 0x1159, 0xe76, 0x12d6, 0xfad, 0x12d6, 0xfad, 0x1399, 0x102b, 0x1399, -0x102b, 0x1505, 0x1153, 0x1505, 0x1153, 0x16ac, 0x12b7, 0x16ac, 0x12b7, 0x18a9, 0x1473, -0x18a9, 0x1473, 0x1bdd, 0x176a, 0x1bdd, 0x176a, 0x1bdd, 0x176a, 0x1e98, 0x19ec, 0x1e98, -0x19ec, 0x20a7, 0x1bc7, 0x20a7, 0x1bc7, 0x229e, 0x1d91, 0x229e, 0x1d91, 0x247a, 0x1f49, -0x247a, 0x1f49, 0x2673, 0x2129, 0x2673, 0x2129, 0x28d3, 0x237a, 0x28d3, 0x237a, 0x28d3, -0x237a, 0x2a47, 0x24ea, 0x2a47, 0x24ea, 0x2a6d, 0x251b, 0x2a6d, 0x251b, 0x2b1f, 0x25e6, -0x2b1f, 0x25e6, 0x2b70, 0x265d, 0x2b70, 0x265d, 0x2a98, 0x25ba, 0x2a98, 0x25ba, 0x2a98, -0x25ba, 0x2965, 0x24ca, 0x2965, 0x24ca, 0x27ae, 0x2363, 0x27ae, 0x2363, 0x2596, 0x21a8, -0x2596, 0x21a8, 0x2337, 0x1fb2, 0x2337, 0x1fb2, 0x20fa, 0x1de6, 0x20fa, 0x1de6, 0x1ed4, -0x1c3a, 0x1ed4, 0x1c3a, 0x1ed4, 0x1c3a, 0x1c4c, 0x1a30, 0x1c4c, 0x1a30, 0x18fe, 0x1765, -0x18fe, 0x1765, 0x1608, 0x14f3, 0x1608, 0x14f3, 0x13a5, 0x1312, 0x13a5, 0x1312, 0x10ce, -0x10bb, 0x10ce, 0x10bb, 0xdf7, 0xe5d, 0xdf7, 0xe5d, 0xdf7, 0xe5d, 0xa1f, 0xaf7, -0xa1f, 0xaf7, 0x6f9, 0x83a, 0x6f9, 0x83a, 0x557, 0x6f7, 0x557, 0x6f7, 0x364, -0x557, 0x364, 0x557, 0xe1, 0x31c, 0xe1, 0x31c, 0xe1, 0x31c, 0xfe1f, 0x94, -0xfe1f, 0x94, 0xfbca, 0xfe6e, 0xfbca, 0xfe6e, 0xf909, 0xfbcf, 0xf909, 0xfbcf, 0xf758, -0xfa35, 0xf758, 0xfa35, 0xf5e2, 0xf8ca, 0xf5e2, 0xf8ca, 0xf2eb, 0xf5d6, 0xf2eb, 0xf5d6, -0xf2eb, 0xf5d6, 0xf0fa, 0xf3e0, 0xf0fa, 0xf3e0, 0xefcb, 0xf2a5, 0xefcb, 0xf2a5, 0xee2f, -0xf0f7, 0xee2f, 0xf0f7, 0xed6c, 0xf01f, 0xed6c, 0xf01f, 0xed23, 0xefbe, 0xed23, 0xefbe, -0xec95, 0xef16, 0xec95, 0xef16, 0xec95, 0xef16, 0xed4c, 0xefb3, 0xed4c, 0xefb3, 0xedd0, -0xf01e, 0xedd0, 0xf01e, 0xee48, 0xf07d, 0xee48, 0xf07d, 0xef3a, 0xf158, 0xef3a, 0xf158, -0xef56, 0xf15e, 0xef56, 0xf15e, 0xef56, 0xf15e, 0xef87, 0xf179, 0xef87, 0xf179, 0xef87, -0xf165, 0xef87, 0xf165, 0xef69, 0xf132, 0xef69, 0xf132, 0xef38, 0xf0eb, 0xef38, 0xf0eb, -0xeffe, 0xf19b, 0xeffe, 0xf19b, 0xf093, 0xf216, 0xf093, 0xf216, 0xf093, 0xf216, 0xf06a, -0xf1d1, 0xf06a, 0xf1d1, 0xf13f, 0xf285, 0xf13f, 0xf285, 0xf108, 0xf228, 0xf108, 0xf228, -0xf123, 0xf21a, 0xf123, 0xf21a, 0xf27d, 0xf345, 0xf27d, 0xf345, 0xf36c, 0xf3ff, 0xf36c, -0xf3ff, 0xf36c, 0xf3ff, 0xf4b1, 0xf50b, 0xf4b1, 0xf50b, 0xf60e, 0xf62b, 0xf60e, 0xf62b, -0xf74e, 0xf72a, 0xf74e, 0xf72a, 0xf93b, 0xf8d3, 0xf93b, 0xf8d3, 0xfb9b, 0xfaef, 0xfb9b, -0xfaef, 0xfb9b, 0xfaef, 0xfd63, 0xfc73, 0xfd63, 0xfc73, 0xff5d, 0xfe29, 0xff5d, 0xfe29, -0x23c, 0xca, 0x23c, 0xca, 0x504, 0x358, 0x504, 0x358, 0x76e, 0x58e, 0x76e, -0x58e, 0x94b, 0x740, 0x94b, 0x740, 0x94b, 0x740, 0xa89, 0x85c, 0xa89, 0x85c, -0xb3f, 0x8fb, 0xb3f, 0x8fb, 0xc80, 0xa2f, 0xc80, 0xa2f, 0xe15, 0xbc3, 0xe15, -0xbc3, 0xe6e, 0xc29, 0xe6e, 0xc29, 0xe00, 0xbd2, 0xe00, 0xbd2, 0xe00, 0xbd2, -0xd3a, 0xb2f, 0xd3a, 0xb2f, 0xd16, 0xb39, 0xd16, 0xb39, 0xc8b, 0xae6, 0xc8b, -0xae6, 0xb6a, 0xa06, 0xb6a, 0xa06, 0xa51, 0x934, 0xa51, 0x934, 0xa51, 0x934, -0x796, 0x6c6, 0x796, 0x6c6, 0x550, 0x4d0, 0x550, 0x4d0, 0x3e6, 0x3b9, 0x3e6, -0x3b9, 0x1ee, 0x214, 0x1ee, 0x214, 0xffb6, 0x2e, 0xffb6, 0x2e, 0xfd91, 0xfe59, -0xfd91, 0xfe59, 0xfd91, 0xfe59, 0xfbda, 0xfced, 0xfbda, 0xfced, 0xfacd, 0xfc26, 0xfacd, -0xfc26, 0xfad2, 0xfc6b, 0xfad2, 0xfc6b, 0xfa20, 0xfbf3, 0xfa20, 0xfbf3, 0xf781, 0xf986, -0xf781, 0xf986, 0xf486, 0xf6b7, 0xf486, 0xf6b7, 0xf486, 0xf6b7, 0xf219, 0xf46e, 0xf219, -0xf46e, 0xefdf, 0xf253, 0xefdf, 0xf253, 0xee65, 0xf0f0, 0xee65, 0xf0f0, 0xec17, 0xeeb5, -0xec17, 0xeeb5, 0xe98f, 0xec3b, 0xe98f, 0xec3b, 0xe98f, 0xec3b, 0xe931, 0xebe6, 0xe931, -0xebe6, 0xe89f, 0xeb5b, 0xe89f, 0xeb5b, 0xe821, 0xeae2, 0xe821, 0xeae2, 0xe7f0, 0xeab4, -0xe7f0, 0xeab4, 0xe74a, 0xea0f, 0xe74a, 0xea0f, 0xe6ae, 0xe973, 0xe6ae, 0xe973, 0xe6ae, -0xe973, 0xe5ec, 0xe8b2, 0xe5ec, 0xe8b2, 0xe587, 0xe84c, 0xe587, 0xe84c, 0xe4e4, 0xe7a6, -0xe4e4, 0xe7a6, 0xe461, 0xe721, 0xe461, 0xe721, 0xe3a4, 0xe65f, 0xe3a4, 0xe65f, 0xe323, -0xe5d6, 0xe323, 0xe5d6, 0xe323, 0xe5d6, 0xe35e, 0xe606, 0xe35e, 0xe606, 0xe2f6, 0xe590, -0xe2f6, 0xe590, 0xe30a, 0xe593, 0xe30a, 0xe593, 0xe357, 0xe5c8, 0xe357, 0xe5c8, 0xe386, -0xe5da, 0xe386, 0xe5da, 0xe386, 0xe5da, 0xe428, 0xe65a, 0xe428, 0xe65a, 0xe4b8, 0xe6c1, -0xe4b8, 0xe6c1, 0xe57c, 0xe756, 0xe57c, 0xe756, 0xe747, 0xe8ec, 0xe747, 0xe8ec, 0xe99d, -0xeb08, 0xe99d, 0xeb08, 0xeb08, 0xec34, 0xeb08, 0xec34, 0xeb08, 0xec34, 0xec7d, 0xed66, -0xec7d, 0xed66, 0xeea0, 0xef43, 0xeea0, 0xef43, 0xf140, 0xf19c, 0xf140, 0xf19c, 0xf434, -0xf447, 0xf434, 0xf447, 0xf6a4, 0xf671, 0xf6a4, 0xf671, 0xf6a4, 0xf671, 0xf8b1, 0xf839, -0xf8b1, 0xf839, 0xfa7b, 0xf9c2, 0xfa7b, 0xf9c2, 0xfc81, 0xfb8e, 0xfc81, 0xfb8e, 0xfe47, -0xfd1f, 0xfe47, 0xfd1f, 0xff60, 0xfe0b, 0xff60, 0xfe0b, 0x44, 0xfecb, 0x44, 0xfecb, -0x44, 0xfecb, 0xfe, 0xff69, 0xfe, 0xff69, 0x268, 0xc1, 0x268, 0xc1, 0x3ce, -0x21f, 0x3ce, 0x21f, 0x48f, 0x2e1, 0x48f, 0x2e1, 0x4d7, 0x333, 0x4d7, 0x333, -0x4a7, 0x315, 0x4a7, 0x315, 0x4a7, 0x315, 0x56d, 0x3f4, 0x56d, 0x3f4, 0x68d, -0x534, 0x68d, 0x534, 0x699, 0x563, 0x699, 0x563, 0x618, 0x50b, 0x618, 0x50b, -0x5c1, 0x4dd, 0x5c1, 0x4dd, 0x5c1, 0x4dd, 0x526, 0x46d, 0x526, 0x46d, 0x4a5, -0x416, 0x4a5, 0x416, 0x4f6, 0x48f, 0x4f6, 0x48f, 0x483, 0x442, 0x483, 0x442, -0x373, 0x354, 0x373, 0x354, 0x31b, 0x31a, 0x31b, 0x31a, 0x31b, 0x31a, 0x2e5, -0x2fd, 0x2e5, 0x2fd, 0x25f, 0x28b, 0x25f, 0x28b, 0x1db, 0x216, 0x1db, 0x216, -0x50, 0x95, 0x50, 0x95, 0xfec1, 0xff0b, 0xfec1, 0xff0b, 0xfeb6, 0xff02, 0xfeb6, -0xff02, 0xfeb6, 0xff02, 0xfe44, 0xfe8d, 0xfe44, 0xfe8d, 0xfe40, 0xfe86, 0xfe40, 0xfe86, -0xfe14, 0xfe53, 0xfe14, 0xfe53, 0xfd20, 0xfd58, 0xfd20, 0xfd58, 0xfd1d, 0xfd4c, 0xfd1d, -0xfd4c, 0xfd1d, 0xfd4c, 0xfe08, 0xfe2f, 0xfe08, 0xfe2f, 0xff39, 0xff58, 0xff39, 0xff58, -0xff82, 0xff9b, 0xff82, 0xff9b, 0x35, 0x48, 0x35, 0x48, 0xb1, 0xbf, 0xb1, -0xbf, 0x116, 0x120, 0x116, 0x120, 0x116, 0x120, 0x1c2, 0x1c8, 0x1c2, 0x1c8, -0x1c3, 0x1c4, 0x1c3, 0x1c4, 0x280, 0x27d, 0x280, 0x27d, 0x2d8, 0x2cf, 0x2d8, -0x2cf, 0x2ea, 0x2d8, 0x2ea, 0x2d8, 0x336, 0x31a, 0x336, 0x31a, 0x336, 0x31a, -0x2dc, 0x2b2, 0x2dc, 0x2b2, 0x2a9, 0x26d, 0x2a9, 0x26d, 0x39a, 0x349, 0x39a, -0x349, 0x450, 0x3e6, 0x450, 0x3e6, 0x432, 0x3a9, 0x432, 0x3a9, 0x432, 0x3a9, -0x560, 0x4b6, 0x560, 0x4b6, 0x77c, 0x6ad, 0x77c, 0x6ad, 0x9d1, 0x8d9, 0x9d1, -0x8d9, 0xbfc, 0xada, 0xbfc, 0xada, 0xd64, 0xc16, 0xd64, 0xc16, 0xeb6, 0xd3c, -0xeb6, 0xd3c, 0xeb6, 0xd3c, 0x107a, 0xed5, 0x107a, 0xed5, 0x126c, 0x109f, 0x126c, -0x109f, 0x13fd, 0x120c, 0x13fd, 0x120c, 0x154d, 0x133c, 0x154d, 0x133c, 0x15b2, 0x1386, -0x15b2, 0x1386, 0x1584, 0x1345, 0x1584, 0x1345, 0x1584, 0x1345, 0x1607, 0x13bc, 0x1607, -0x13bc, 0x161a, 0x13cc, 0x161a, 0x13cc, 0x1578, 0x132f, 0x1578, 0x132f, 0x145f, 0x1223, -0x145f, 0x1223, 0x1293, 0x106d, 0x1293, 0x106d, 0x1293, 0x106d, 0x10ed, 0xee5, 0x10ed, -0xee5, 0xf63, 0xd7f, 0xf63, 0xd7f, 0xd28, 0xb6e, 0xd28, 0xb6e, 0xacb, 0x940, -0xacb, 0x940, 0x922, 0x7ca, 0x922, 0x7ca, 0x78c, 0x66a, 0x78c, 0x66a, 0x78c, -0x66a, 0x65b, 0x56e, 0x65b, 0x56e, 0x4fc, 0x446, 0x4fc, 0x446, 0x2f7, 0x274, -0x2f7, 0x274, 0x11b, 0xca, 0x11b, 0xca, 0xfff0, 0xffcc, 0xfff0, 0xffcc, 0xff8b, -0xff90, 0xff8b, 0xff90, 0xff8b, 0xff90, 0xff4f, 0xff78, 0xff4f, 0xff78, 0xff28, 0xff70, -0xff28, 0xff70, 0xfdcb, 0xfe2d, 0xfdcb, 0xfe2d, 0xfd50, 0xfdc7, 0xfd50, 0xfdc7, 0xfd22, -0xfda8, 0xfd22, 0xfda8, 0xfd22, 0xfda8, 0xfb5d, 0xfbef, 0xfb5d, 0xfbef, 0xf9c3, 0xfa5f, -0xf9c3, 0xfa5f, 0xf78c, 0xf82f, 0xf78c, 0xf82f, 0xf5a3, 0xf64d, 0xf5a3, 0xf64d, 0xf3e3, -0xf494, 0xf3e3, 0xf494, 0xf2c6, 0xf37f, 0xf2c6, 0xf37f, 0xf2c6, 0xf37f, 0xf1a4, 0xf266, -0xf1a4, 0xf266, 0xf08e, 0xf15d, 0xf08e, 0xf15d, 0xf086, 0xf164, 0xf086, 0xf164, 0xf05d, -0xf150, 0xf05d, 0xf150, 0xf16c, 0xf276, 0xf16c, 0xf276, 0xf203, 0xf327, 0xf203, 0xf327, -0xf203, 0xf327, 0xf1dd, 0xf320, 0xf1dd, 0xf320, 0xf16d, 0xf2d0, 0xf16d, 0xf2d0, 0xf0d2, -0xf257, 0xf0d2, 0xf257, 0xf07e, 0xf225, 0xf07e, 0xf225, 0xf008, 0xf1cf, 0xf008, 0xf1cf, -0xf008, 0xf1cf, 0xefa6, 0xf18b, 0xefa6, 0xf18b, 0xeebc, 0xf0bc, 0xeebc, 0xf0bc, 0xef20, -0xf134, 0xef20, 0xf134, 0xefa6, 0xf1c8, 0xefa6, 0xf1c8, 0xef6d, 0xf196, 0xef6d, 0xf196, -0xefbd, 0xf1e3, 0xefbd, 0xf1e3, 0xefbd, 0xf1e3, 0xefd1, 0xf1eb, 0xefd1, 0xf1eb, 0xf078, -0xf27b, 0xf078, 0xf27b, 0xf189, 0xf36b, 0xf189, 0xf36b, 0xf1ee, 0xf3a5, 0xf1ee, 0xf3a5, -0xf27e, 0xf401, 0xf27e, 0xf401, 0xf42a, 0xf570, 0xf42a, 0xf570, 0xf42a, 0xf570, 0xf667, -0xf769, 0xf667, 0xf769, 0xf8d7, 0xf98e, 0xf8d7, 0xf98e, 0xfb7c, 0xfbe4, 0xfb7c, 0xfbe4, -0xfdfc, 0xfe12, 0xfdfc, 0xfe12, 0xed, 0xb0, 0xed, 0xb0, 0xed, 0xb0, 0x4c6, -0x436, 0x4c6, 0x436, 0x848, 0x769, 0x848, 0x769, 0xae1, 0x9b5, 0xae1, 0x9b5, -0xd2c, 0xbba, 0xd2c, 0xbba, 0xf59, 0xda7, 0xf59, 0xda7, 0x11d2, 0xfe8, 0x11d2, -0xfe8, 0x11d2, 0xfe8, 0x140b, 0x11f1, 0x140b, 0x11f1, 0x14bd, 0x127b, 0x14bd, 0x127b, -0x14f6, 0x1294, 0x14f6, 0x1294, 0x14f0, 0x1278, 0x14f0, 0x1278, 0x1530, 0x12a7, 0x1530, -0x12a7, 0x166a, 0x13d7, 0x166a, 0x13d7, 0x166a, 0x13d7, 0x172c, 0x1494, 0x172c, 0x1494, -0x17b6, 0x151d, 0x17b6, 0x151d, 0x17c3, 0x152d, 0x17c3, 0x152d, 0x1774, 0x14e0, 0x1774, -0x14e0, 0x1728, 0x1497, 0x1728, 0x1497, 0x1728, 0x1497, 0x1701, 0x1471, 0x1701, 0x1471, -0x1608, 0x1376, 0x1608, 0x1376, 0x14ca, 0x1233, 0x14ca, 0x1233, 0x15d8, 0x1339, 0x15d8, -0x1339, 0x170f, 0x1462, 0x170f, 0x1462, 0x17fa, 0x153c, 0x17fa, 0x153c, 0x17fa, 0x153c, -0x1868, 0x1595, 0x1868, 0x1595, 0x1808, 0x151e, 0x1808, 0x151e, 0x17c7, 0x14c3, 0x17c7, -0x14c3, 0x17e0, 0x14c1, 0x17e0, 0x14c1, 0x178e, 0x1456, 0x178e, 0x1456, 0x178e, 0x1456, -0x15ff, 0x12af, 0x15ff, 0x12af, 0x158c, 0x1228, 0x158c, 0x1228, 0x1565, 0x11f2, 0x1565, -0x11f2, 0x14e4, 0x1169, 0x14e4, 0x1169, 0x1505, 0x1189, 0x1505, 0x1189, 0x150c, 0x1199, -0x150c, 0x1199, 0x150c, 0x1199, 0x14aa, 0x1149, 0x14aa, 0x1149, 0x1498, 0x1153, 0x1498, -0x1153, 0x144d, 0x1130, 0x144d, 0x1130, 0x13fd, 0x1110, 0x13fd, 0x1110, 0x1383, 0x10d0, -0x1383, 0x10d0, 0x1169, 0xef8, 0x1169, 0xef8, 0x1169, 0xef8, 0x103f, 0xe18, 0x103f, -0xe18, 0xf64, 0xd8c, 0xf64, 0xd8c, 0xe89, 0xd03, 0xe89, 0xd03, 0xd63, 0xc32, -0xd63, 0xc32, 0xaf1, 0xa15, 0xaf1, 0xa15, 0xaf1, 0xa15, 0x959, 0x8cf, 0x959, -0x8cf, 0x81c, 0x7e1, 0x81c, 0x7e1, 0x6e9, 0x6f6, 0x6e9, 0x6f6, 0x50c, 0x55b, -0x50c, 0x55b, 0x398, 0x41f, 0x398, 0x41f, 0x2ca, 0x381, 0x2ca, 0x381, 0x2ca, -0x381, 0x24d, 0x32a, 0x24d, 0x32a, 0x288, 0x381, 0x288, 0x381, 0x1cb, 0x2d6, -0x1cb, 0x2d6, 0x1b0, 0x2c4, 0x1b0, 0x2c4, 0x247, 0x35b, 0x247, 0x35b, 0x36b, -0x478, 0x36b, 0x478, 0x36b, 0x478, 0x49c, 0x59d, 0x49c, 0x59d, 0x3ae, 0x49e, -0x3ae, 0x49e, 0x367, 0x446, 0x367, 0x446, 0x3c3, 0x48e, 0x3c3, 0x48e, 0x3de, -0x497, 0x3de, 0x497, 0x3de, 0x497, 0x3d3, 0x47d, 0x3d3, 0x47d, 0x243, 0x2e2, -0x243, 0x2e2, 0x199, 0x232, 0x199, 0x232, 0x1f2, 0x28b, 0x1f2, 0x28b, 0x1e9, -0x289, 0x1e9, 0x289, 0x107, 0x1b4, 0x107, 0x1b4, 0x107, 0x1b4, 0xff9a, 0x5b, -0xff9a, 0x5b, 0xfe27, 0xff00, 0xfe27, 0xff00, 0xfd54, 0xfe4c, 0xfd54, 0xfe4c, 0xfcb7, -0xfdd0, 0xfcb7, 0xfdd0, 0xfb39, 0xfc77, 0xfb39, 0xfc77, 0xfab1, 0xfc14, 0xfab1, 0xfc14, -0xfab1, 0xfc14, 0xf89b, 0xfa22, 0xf89b, 0xfa22, 0xf6bf, 0xf867, 0xf6bf, 0xf867, 0xf648, -0xf80d, 0xf648, 0xf80d, 0xf434, 0xf611, 0xf434, 0xf611, 0xf330, 0xf51e, 0xf330, 0xf51e, -0xf330, 0xf51e, 0xf337, 0xf52e, 0xf337, 0xf52e, 0xf2e0, 0xf4d8, 0xf2e0, 0xf4d8, 0xf249, -0xf439, 0xf249, 0xf439, 0xf249, 0xf428, 0xf249, 0xf428, 0xf170, 0xf336, 0xf170, 0xf336, -0xf020, 0xf1c6, 0xf020, 0xf1c6, 0xf020, 0xf1c6, 0xefaf, 0xf12e, 0xefaf, 0xf12e, 0xef24, -0xf076, 0xef24, 0xf076, 0xeecd, 0xefef, 0xeecd, 0xefef, 0xeeda, 0xefca, 0xeeda, 0xefca, -0xef1b, 0xefd9, 0xef1b, 0xefd9, 0xef16, 0xefa3, 0xef16, 0xefa3, 0xef16, 0xefa3, 0xf098, -0xf0f8, 0xf098, 0xf0f8, 0xf233, 0xf26b, 0xf233, 0xf26b, 0xf393, 0xf3a8, 0xf393, 0xf3a8, -0xf5be, 0xf5b9, 0xf5be, 0xf5b9, 0xf746, 0xf72f, 0xf746, 0xf72f, 0xf746, 0xf72f, 0xf95c, -0xf93b, 0xf95c, 0xf93b, 0xfb2c, 0xfb0b, 0xfb2c, 0xfb0b, 0xfc7d, 0xfc65, 0xfc7d, 0xfc65, -0xfd7e, 0xfd77, 0xfd7e, 0xfd77, 0xfdcc, 0xfddd, 0xfdcc, 0xfddd, 0xfe66, 0xfe96, 0xfe66, -0xfe96, 0xfe66, 0xfe96, 0xfeea, 0xff3e, 0xfeea, 0xff3e, 0xfed2, 0xff4e, 0xfed2, 0xff4e, -0xfe3b, 0xfee0, 0xfe3b, 0xfee0, 0xfdf3, 0xfec3, 0xfdf3, 0xfec3, 0xfd87, 0xfe81, 0xfd87, -0xfe81, 0xfbff, 0xfd21, 0xfbff, 0xfd21, 0xfbff, 0xfd21, 0xfbe3, 0xfd28, 0xfbe3, 0xfd28, -0xfc96, 0xfdfb, 0xfc96, 0xfdfb, 0xfc5e, 0xfdde, 0xfc5e, 0xfdde, 0xfc70, 0xfe07, 0xfc70, -0xfe07, 0xfc32, 0xfdd9, 0xfc32, 0xfdd9, 0xfc32, 0xfdd9, 0xfc8c, 0xfe3f, 0xfc8c, 0xfe3f, -0xfd15, 0xfece, 0xfd15, 0xfece, 0xfcf2, 0xfeae, 0xfcf2, 0xfeae, 0xfc82, 0xfe3f, 0xfc82, -0xfe3f, 0xfccc, 0xfe88, 0xfccc, 0xfe88, 0xfdd8, 0xff92, 0xfdd8, 0xff92, 0xfdd8, 0xff92, -0xfd9f, 0xff58, 0xfd9f, 0xff58, 0xfd9b, 0xff55, 0xfd9b, 0xff55, 0xfd6b, 0xff29, 0xfd6b, -0xff29, 0xfc37, 0xfdfd, 0xfc37, 0xfdfd, 0xfb77, 0xfd4a, 0xfb77, 0xfd4a, 0xfa8e, 0xfc74, -0xfa8e, 0xfc74, 0xfa8e, 0xfc74, 0xf89c, 0xfa99, 0xf89c, 0xfa99, 0xf6bd, 0xf8d8, 0xf6bd, -0xf8d8, 0xf4f2, 0xf72f, 0xf4f2, 0xf72f, 0xf2d3, 0xf537, 0xf2d3, 0xf537, 0xf17e, 0xf40c, -0xf17e, 0xf40c, 0xf17e, 0xf40c, 0xef69, 0xf223, 0xef69, 0xf223, 0xedf7, 0xf0df, 0xedf7, -0xf0df, 0xee3e, 0xf152, 0xee3e, 0xf152, 0xec49, 0xef87, 0xec49, 0xef87, 0xea51, 0xedb6, -0xea51, 0xedb6, 0xe9a1, 0xed27, 0xe9a1, 0xed27, 0xe9a1, 0xed27, 0xe774, 0xeb16, 0xe774, -0xeb16, 0xe642, 0xe9f7, 0xe642, 0xe9f7, 0xe604, 0xe9c4, 0xe604, 0xe9c4, 0xe548, 0xe909, -0xe548, 0xe909, 0xe502, 0xe8ba, 0xe502, 0xe8ba, 0xe575, 0xe91b, 0xe575, 0xe91b, 0xe575, -0xe91b, 0xe58c, 0xe917, 0xe58c, 0xe917, 0xe539, 0xe89f, 0xe539, 0xe89f, 0xe569, 0xe8a2, -0xe569, 0xe8a2, 0xe45f, 0xe764, 0xe45f, 0xe764, 0xe3fb, 0xe6c6, 0xe3fb, 0xe6c6, 0xe3fb, -0xe6c6, 0xe49e, 0xe72b, 0xe49e, 0xe72b, 0xe476, 0xe6c2, 0xe476, 0xe6c2, 0xe4fa, 0xe703, -0xe4fa, 0xe703, 0xe56a, 0xe730, 0xe56a, 0xe730, 0xe545, 0xe6c9, 0xe545, 0xe6c9, 0xe6ad, -0xe7f1, 0xe6ad, 0xe7f1, 0xe6ad, 0xe7f1, 0xe939, 0xea41, 0xe939, 0xea41, 0xeb84, 0xec53, -0xeb84, 0xec53, 0xee1a, 0xeeb5, 0xee1a, 0xeeb5, 0xeff5, 0xf060, 0xeff5, 0xf060, 0xf28c, -0xf2cc, 0xf28c, 0xf2cc, 0xf58f, 0xf5a9, 0xf58f, 0xf5a9, 0xf58f, 0xf5a9, 0xf75a, 0xf751, -0xf75a, 0xf751, 0xf8be, 0xf895, 0xf8be, 0xf895, 0xfa63, 0xfa1e, 0xfa63, 0xfa1e, 0xfc91, -0xfc30, 0xfc91, 0xfc30, 0xfe23, 0xfda7, 0xfe23, 0xfda7, 0xfe23, 0xfda7, 0x8e, 0xfff7, -0x8e, 0xfff7, 0x18c, 0xda, 0x18c, 0xda, 0x176, 0xa7, 0x176, 0xa7, 0x2ea, -0x1fc, 0x2ea, 0x1fc, 0x3bd, 0x2ae, 0x3bd, 0x2ae, 0x51f, 0x3ee, 0x51f, 0x3ee, -0x51f, 0x3ee, 0x6f0, 0x59a, 0x6f0, 0x59a, 0x75d, 0x5e1, 0x75d, 0x5e1, 0x7e3, -0x641, 0x7e3, 0x641, 0xa89, 0x8c1, 0xa89, 0x8c1, 0xcc4, 0xad7, 0xcc4, 0xad7, -0xcc4, 0xad7, 0xe14, 0xc06, 0xe14, 0xc06, 0xfc9, 0xd9d, 0xfc9, 0xd9d, 0x1038, -0xdf4, 0x1038, 0xdf4, 0x10f2, 0xe9b, 0x10f2, 0xe9b, 0x1316, 0x10b4, 0x1316, 0x10b4, -0x1473, 0x120f, 0x1473, 0x120f, 0x1473, 0x120f, 0x147f, 0x1221, 0x147f, 0x1221, 0x145b, -0x120c, 0x145b, 0x120c, 0x135c, 0x1125, 0x135c, 0x1125, 0x12ef, 0x10d9, 0x12ef, 0x10d9, -0x12eb, 0x10ff, 0x12eb, 0x10ff, 0x1163, 0xfa9, 0x1163, 0xfa9, 0x1163, 0xfa9, 0x109f, -0xf1c, 0x109f, 0xf1c, 0xffe, 0xeb7, 0xffe, 0xeb7, 0xe6c, 0xd65, 0xe6c, 0xd65, -0xd98, 0xcd2, 0xd98, 0xcd2, 0xcce, 0xc49, 0xcce, 0xc49, 0xcce, 0xc49, 0xb2f, -0xae9, 0xb2f, 0xae9, 0xa0f, 0xa04, 0xa0f, 0xa04, 0x84c, 0x876, 0x84c, 0x876, -0x51f, 0x578, 0x51f, 0x578, 0x3a9, 0x427, 0x3a9, 0x427, 0x309, 0x3a4, 0x309, -0x3a4, 0x309, 0x3a4, 0x1fb, 0x2a8, 0x1fb, 0x2a8, 0x1fd, 0x2b3, 0x1fd, 0x2b3, -0x1e9, 0x29d, 0x1e9, 0x29d, 0x17b, 0x224, 0x17b, 0x224, 0x1c7, 0x25b, 0x1c7, -0x25b, 0x1a9, 0x221, 0x1a9, 0x221, 0x1a9, 0x221, 0x46, 0x9b, 0x46, 0x9b, -0xffc6, 0xfff2, 0xffc6, 0xfff2, 0xfec9, 0xfeca, 0xfec9, 0xfeca, 0xfc84, 0xfc58, 0xfc84, -0xfc58, 0xfc6e, 0xfc14, 0xfc6e, 0xfc14, 0xfc6e, 0xfc14, 0xfce5, 0xfc5f, 0xfce5, 0xfc5f, -0xfd49, 0xfc99, 0xfd49, 0xfc99, 0xfd4e, 0xfc79, 0xfd4e, 0xfc79, 0xfc30, 0xfb3a, 0xfc30, -0xfb3a, 0xfd0b, 0xfbfc, 0xfd0b, 0xfbfc, 0xfec3, 0xfd9f, 0xfec3, 0xfd9f, 0xfec3, 0xfd9f, -0xfea4, 0xfd72, 0xfea4, 0xfd72, 0xfe34, 0xfcfa, 0xfe34, 0xfcfa, 0xfe3c, 0xfd00, 0xfe3c, -0xfd00, 0xfe08, 0xfcce, 0xfe08, 0xfcce, 0xfee5, 0xfdb0, 0xfee5, 0xfdb0, 0xff58, 0xfe2c, -0xff58, 0xfe2c, 0xff58, 0xfe2c, 0xfe4e, 0xfd2c, 0xfe4e, 0xfd2c, 0xfe20, 0xfd07, 0xfe20, -0xfd07, 0xff35, 0xfe26, 0xff35, 0xfe26, 0x32, 0xff2a, 0x32, 0xff2a, 0x6c, 0xff68, -0x6c, 0xff68, 0x6c, 0xff68, 0x55, 0xff51, 0x55, 0xff51, 0xffb0, 0xfea9, 0xffb0, -0xfea9, 0x90, 0xff82, 0x90, 0xff82, 0x213, 0xfa, 0x213, 0xfa, 0x1df, 0xb7, -0x1df, 0xb7, 0x210, 0xd7, 0x210, 0xd7, 0x210, 0xd7, 0x309, 0x1be, 0x309, -0x1be, 0x403, 0x2a5, 0x403, 0x2a5, 0x491, 0x324, 0x491, 0x324, 0x51d, 0x3a2, -0x51d, 0x3a2, 0x610, 0x48d, 0x610, 0x48d, 0x735, 0x5af, 0x735, 0x5af, 0x735, -0x5af, 0x7f9, 0x679, 0x7f9, 0x679, 0x84b, 0x6db, 0x84b, 0x6db, 0x8df, 0x788, -0x8df, 0x788, 0x8dc, 0x7a9, 0x8dc, 0x7a9, 0x7f3, 0x6ef, 0x7f3, 0x6ef, 0x7f3, -0x6ef, 0x70f, 0x645, 0x70f, 0x645, 0x5f0, 0x56b, 0x5f0, 0x56b, 0x45b, 0x424, -0x45b, 0x424, 0x313, 0x332, 0x313, 0x332, 0xc5, 0x140, 0xc5, 0x140, 0xfdc8, -0xfea5, 0xfdc8, 0xfea5, 0xfdc8, 0xfea5, 0xfc4b, 0xfd8c, 0xfc4b, 0xfd8c, 0xfaf6, 0xfc9a, -0xfaf6, 0xfc9a, 0xf94f, 0xfb54, 0xf94f, 0xfb54, 0xf88b, 0xfaec, 0xf88b, 0xfaec, 0xf7c8, -0xfa7c, 0xf7c8, 0xfa7c, 0xf699, 0xf998, 0xf699, 0xf998, 0xf699, 0xf998, 0xf5ea, 0xf928, -0xf5ea, 0xf928, 0xf494, 0xf803, 0xf494, 0xf803, 0xf2c7, 0xf658, 0xf2c7, 0xf658, 0xf216, -0xf5ba, 0xf216, 0xf5ba, 0xf1c0, 0xf567, 0xf1c0, 0xf567, 0xf1c0, 0xf567, 0xf18a, 0xf523, -0xf18a, 0xf523, 0xf1b8, 0xf534, 0xf1b8, 0xf534, 0xf142, 0xf493, 0xf142, 0xf493, 0xeff9, -0xf311, 0xeff9, 0xf311, 0xef62, 0xf236, 0xef62, 0xf236, 0xeffc, 0xf282, 0xeffc, 0xf282, -0xeffc, 0xf282, 0xf102, 0xf332, 0xf102, 0xf332, 0xf1ba, 0xf38e, 0xf1ba, 0xf38e, 0xf31c, -0xf490, 0xf31c, 0xf490, 0xf625, 0xf738, 0xf625, 0xf738, 0xf8ff, 0xf9b2, 0xf8ff, 0xf9b2, -0xfb22, 0xfb77, 0xfb22, 0xfb77, 0xfb22, 0xfb77, 0xfd8e, 0xfd89, 0xfd8e, 0xfd89, 0x13, -0xffb8, 0x13, 0xffb8, 0x2b2, 0x206, 0x2b2, 0x206, 0x5ec, 0x4f6, 0x5ec, 0x4f6, -0x932, 0x7f8, 0x932, 0x7f8, 0x932, 0x7f8, 0xb71, 0x9f8, 0xb71, 0x9f8, 0xd63, -0xbaf, 0xd63, 0xbaf, 0xf86, 0xd9c, 0xf86, 0xd9c, 0x119e, 0xf81, 0x119e, 0xf81, -0x1414, 0x11c6, 0x1414, 0x11c6, 0x15a5, 0x1325, 0x15a5, 0x1325, 0x15a5, 0x1325, 0x1632, -0x1381, 0x1632, 0x1381, 0x1778, 0x1494, 0x1778, 0x1494, 0x18e0, 0x15c7, 0x18e0, 0x15c7, -0x1975, 0x1623, 0x1975, 0x1623, 0x19d3, 0x1644, 0x19d3, 0x1644, 0x1af1, 0x1722, 0x1af1, -0x1722, 0x1af1, 0x1722, 0x1c13, 0x1801, 0x1c13, 0x1801, 0x1d3b, 0x18e3, 0x1d3b, 0x18e3, -0x1f48, 0x1aa9, 0x1f48, 0x1aa9, 0x20c1, 0x1bdb, 0x20c1, 0x1bdb, 0x216f, 0x1c43, 0x216f, -0x1c43, 0x216f, 0x1c43, 0x22a1, 0x1d32, 0x22a1, 0x1d32, 0x2464, 0x1eb9, 0x2464, 0x1eb9, -0x25d2, 0x1ff2, 0x25d2, 0x1ff2, 0x26cb, 0x20bf, 0x26cb, 0x20bf, 0x277b, 0x214f, 0x277b, -0x214f, 0x27a6, 0x2167, 0x27a6, 0x2167, 0x27a6, 0x2167, 0x2795, 0x2152, 0x2795, 0x2152, -0x26d1, 0x209a, 0x26d1, 0x209a, 0x2579, 0x1f5e, 0x2579, 0x1f5e, 0x23d5, 0x1de8, 0x23d5, -0x1de8, 0x21c6, 0x1c18, 0x21c6, 0x1c18, 0x2031, 0x1ad2, 0x2031, 0x1ad2, 0x2031, 0x1ad2, -0x1e77, 0x1975, 0x1e77, 0x1975, 0x1b9c, 0x1706, 0x1b9c, 0x1706, 0x1894, 0x1475, 0x1894, -0x1475, 0x1636, 0x1299, 0x1636, 0x1299, 0x1477, 0x1161, 0x1477, 0x1161, 0x1477, 0x1161, -0x1263, 0xfdb, 0x1263, 0xfdb, 0xf37, 0xd3d, 0xf37, 0xd3d, 0xc1d, 0xab1, 0xc1d, -0xab1, 0x9d8, 0x8f7, 0x9d8, 0x8f7, 0x770, 0x713, 0x770, 0x713, 0x507, 0x526, -0x507, 0x526, 0x507, 0x526, 0x3a1, 0x432, 0x3a1, 0x432, 0x243, 0x33a, 0x243, -0x33a, 0xa3, 0x1f5, 0xa3, 0x1f5, 0x78, 0x217, 0x78, 0x217, 0x4d, 0x22b, -0x4d, 0x22b, 0x4d, 0x22b, 0xfe34, 0x45, 0xfe34, 0x45, 0xfc31, 0xfe68, 0xfc31, -0xfe68, 0xfb12, 0xfd63, 0xfb12, 0xfd63, 0xf9d4, 0xfc34, 0xf9d4, 0xfc34, 0xf83f, 0xfaa7, -0xf83f, 0xfaa7, 0xf62c, 0xf894, 0xf62c, 0xf894, 0xf62c, 0xf894, 0xf469, 0xf6ca, 0xf469, -0xf6ca, 0xf3c8, 0xf620, 0xf3c8, 0xf620, 0xf39d, 0xf5e8, 0xf39d, 0xf5e8, 0xf37f, 0xf5bd, -0xf37f, 0xf5bd, 0xf47c, 0xf6ad, 0xf47c, 0xf6ad, 0xf557, 0xf77c, 0xf557, 0xf77c, 0xf557, -0xf77c, 0xf527, 0xf741, 0xf527, 0xf741, 0xf607, 0xf819, 0xf607, 0xf819, 0xf713, 0xf91f, -0xf713, 0xf91f, 0xf71e, 0xf925, 0xf71e, 0xf925, 0xf6ba, 0xf8bd, 0xf6ba, 0xf8bd, 0xf6ba, -0xf8bd, 0xf620, 0xf820, 0xf620, 0xf820, 0xf5e3, 0xf7df, 0xf5e3, 0xf7df, 0xf58c, 0xf781, -0xf58c, 0xf781, 0xf4a1, 0xf68d, 0xf4a1, 0xf68d, 0xf367, 0xf545, 0xf367, 0xf545, 0xf205, -0xf3d1, 0xf205, 0xf3d1, 0xf205, 0xf3d1, 0xf13d, 0xf2f0, 0xf13d, 0xf2f0, 0xf155, 0xf2e9, -0xf155, 0xf2e9, 0xf19a, 0xf307, 0xf19a, 0xf307, 0xf180, 0xf2bf, 0xf180, 0xf2bf, 0xf16a, -0xf274, 0xf16a, 0xf274, 0xf2a8, 0xf376, 0xf2a8, 0xf376, 0xf2a8, 0xf376, 0xf418, 0xf4a5, -0xf418, 0xf4a5, 0xf5b2, 0xf5f9, 0xf5b2, 0xf5f9, 0xf76e, 0xf76d, 0xf76e, 0xf76d, 0xf8cc, -0xf883, 0xf8cc, 0xf883, 0xfc12, 0xfb81, 0xfc12, 0xfb81, 0xfc12, 0xfb81, 0xff02, 0xfe2c, -0xff02, 0xfe2c, 0x173, 0x5c, 0x173, 0x5c, 0x48e, 0x33e, 0x48e, 0x33e, 0x620, -0x49f, 0x620, 0x49f, 0x7b0, 0x609, 0x7b0, 0x609, 0x9a2, 0x7e1, 0x9a2, 0x7e1, -0x9a2, 0x7e1, 0x9cb, 0x7fe, 0x9cb, 0x7fe, 0x958, 0x78b, 0x958, 0x78b, 0xa1a, -0x85a, 0xa1a, 0x85a, 0xa79, 0x8d6, 0xa79, 0x8d6, 0xa9e, 0x924, 0xa9e, 0x924, -0xab5, 0x971, 0xab5, 0x971, 0xab5, 0x971, 0x9fa, 0x8f8, 0x9fa, 0x8f8, 0x9cd, -0x916, 0x9cd, 0x916, 0x97a, 0x916, 0x97a, 0x916, 0x7c8, 0x7be, 0x7c8, 0x7be, -0x65e, 0x6b1, 0x65e, 0x6b1, 0x65e, 0x6b1, 0x59d, 0x650, 0x59d, 0x650, 0x3eb, -0x4fe, 0x3eb, 0x4fe, 0x23f, 0x3af, 0x23f, 0x3af, 0x17c, 0x347, 0x17c, 0x347, -0x111, 0x330, 0x111, 0x330, 0xffe7, 0x256, 0xffe7, 0x256, 0xffe7, 0x256, 0xfe34, -0xea, 0xfe34, 0xea, 0xfcf0, 0xffe5, 0xfcf0, 0xffe5, 0xfba8, 0xfed3, 0xfba8, 0xfed3, -0xf9f6, 0xfd51, 0xf9f6, 0xfd51, 0xf773, 0xfaf4, 0xf773, 0xfaf4, 0xf529, 0xf8c9, 0xf529, -0xf8c9, 0xf529, 0xf8c9, 0xf31d, 0xf6d5, 0xf31d, 0xf6d5, 0xf127, 0xf4f2, 0xf127, 0xf4f2, -0xef8d, 0xf365, 0xef8d, 0xf365, 0xee09, 0xf1eb, 0xee09, 0xf1eb, 0xecf0, 0xf0d9, 0xecf0, -0xf0d9, 0xecf0, 0xf0d9, 0xeb6c, 0xef59, 0xeb6c, 0xef59, 0xea0e, 0xedff, 0xea0e, 0xedff, -0xe93e, 0xed32, 0xe93e, 0xed32, 0xe828, 0xec1e, 0xe828, 0xec1e, 0xe6ea, 0xeae3, 0xe6ea, -0xeae3, 0xe644, 0xea3f, 0xe644, 0xea3f, 0xe644, 0xea3f, 0xe65d, 0xea5a, 0xe65d, 0xea5a, -0xe5ff, 0xe9fe, 0xe5ff, 0xe9fe, 0xe524, 0xe921, 0xe524, 0xe921, 0xe48a, 0xe885, 0xe48a, -0xe885, 0xe352, 0xe746, 0xe352, 0xe746, 0xe22d, 0xe616, 0xe22d, 0xe616, 0xe22d, 0xe616, -0xe27b, 0xe653, 0xe27b, 0xe653, 0xe288, 0xe64a, 0xe288, 0xe64a, 0xe288, 0xe62c, 0xe288, -0xe62c, 0xe2fe, 0xe67e, 0xe2fe, 0xe67e, 0xe2a5, 0xe5f7, 0xe2a5, 0xe5f7, 0xe2a5, 0xe5f7, -0xe342, 0xe65f, 0xe342, 0xe65f, 0xe4c3, 0xe7a3, 0xe4c3, 0xe7a3, 0xe5a4, 0xe83f, 0xe5a4, -0xe83f, 0xe712, 0xe962, 0xe712, 0xe962, 0xe8f5, 0xeaf4, 0xe8f5, 0xeaf4, 0xeb1b, 0xecc4, -0xeb1b, 0xecc4, 0xeb1b, 0xecc4, 0xed7b, 0xeecb, 0xed7b, 0xeecb, 0xf001, 0xf0f7, 0xf001, -0xf0f7, 0xf2ba, 0xf356, 0xf2ba, 0xf356, 0xf527, 0xf56c, 0xf527, 0xf56c, 0xf7ec, 0xf7dc, -0xf7ec, 0xf7dc, 0xfa14, 0xf9b5, 0xfa14, 0xf9b5, 0xfa14, 0xf9b5, 0xfbb4, 0xfb0d, 0xfbb4, -0xfb0d, 0xfe20, 0xfd39, 0xfe20, 0xfd39, 0xff52, 0xfe34, 0xff52, 0xfe34, 0x8b, 0xff40, -0x8b, 0xff40, 0x2e1, 0x173, 0x2e1, 0x173, 0x2e1, 0x173, 0x394, 0x20e, 0x394, -0x20e, 0x596, 0x403, 0x596, 0x403, 0x722, 0x58b, 0x722, 0x58b, 0x742, 0x5b0, -0x742, 0x5b0, 0x937, 0x7b3, 0x937, 0x7b3, 0x905, 0x796, 0x905, 0x796, 0x905, -0x796, 0x99a, 0x845, 0x99a, 0x845, 0xa1b, 0x8e4, 0xa1b, 0x8e4, 0x98f, 0x879, -0x98f, 0x879, 0xaf2, 0x9fe, 0xaf2, 0x9fe, 0x9e0, 0x90e, 0x9e0, 0x90e, 0x8f2, -0x841, 0x8f2, 0x841, 0x8f2, 0x841, 0x8e3, 0x850, 0x8e3, 0x850, 0x8f0, 0x87a, -0x8f0, 0x87a, 0x93f, 0x8e0, 0x93f, 0x8e0, 0x8ea, 0x89f, 0x8ea, 0x89f, 0x8e4, -0x8a8, 0x8e4, 0x8a8, 0x8e4, 0x8a8, 0x71b, 0x6ea, 0x71b, 0x6ea, 0x60e, 0x5e4, -0x60e, 0x5e4, 0x4d4, 0x4af, 0x4d4, 0x4af, 0x231, 0x20d, 0x231, 0x20d, 0x19f, -0x17b, 0x19f, 0x17b, 0x18, 0xfff4, 0x18, 0xfff4, 0x18, 0xfff4, 0xfef9, 0xfed3, -0xfef9, 0xfed3, 0xffd8, 0xffb2, 0xffd8, 0xffb2, 0xfe6c, 0xfe46, 0xfe6c, 0xfe46, 0xfe78, -0xfe54, 0xfe78, 0xfe54, 0x60, 0x41, 0x60, 0x41, 0xa4, 0x8a, 0xa4, 0x8a, -0xa4, 0x8a, 0x211, 0x1fe, 0x211, 0x1fe, 0x2d2, 0x2c9, 0x2d2, 0x2c9, 0x25f, -0x261, 0x25f, 0x261, 0x31d, 0x329, 0x31d, 0x329, 0x2ee, 0x304, 0x2ee, 0x304, -0x2ee, 0x304, 0x2e9, 0x307, 0x2e9, 0x307, 0x309, 0x32d, 0x309, 0x32d, 0x174, -0x19a, 0x174, 0x19a, 0x11e, 0x141, 0x11e, 0x141, 0xbe, 0xd9, 0xbe, 0xd9, -0x79, 0x85, 0x79, 0x85, 0x79, 0x85, 0x15b, 0x152, 0x15b, 0x152, 0x12c, -0x106, 0x12c, 0x106, 0x232, 0x1e9, 0x232, 0x1e9, 0x2cc, 0x257, 0x2cc, 0x257, -0x357, 0x2b1, 0x357, 0x2b1, 0x357, 0x2b1, 0x48d, 0x3b0, 0x48d, 0x3b0, 0x4f2, -0x3da, 0x4f2, 0x3da, 0x6f0, 0x599, 0x6f0, 0x599, 0x797, 0x600, 0x797, 0x600, -0x8a9, 0x6d2, 0x8a9, 0x6d2, 0xb44, 0x92d, 0xb44, 0x92d, 0xb44, 0x92d, 0xb2e, -0x8dd, 0xb2e, 0x8dd, 0xbab, 0x923, 0xbab, 0x923, 0xcc6, 0xa0f, 0xcc6, 0xa0f, -0xd1f, 0xa41, 0xd1f, 0xa41, 0xdda, 0xade, 0xdda, 0xade, 0xd4c, 0xa3c, 0xd4c, -0xa3c, 0xd4c, 0xa3c, 0xc57, 0x93f, 0xc57, 0x93f, 0xb3d, 0x828, 0xb3d, 0x828, -0x941, 0x639, 0x941, 0x639, 0x83f, 0x551, 0x83f, 0x551, 0x748, 0x47d, 0x748, -0x47d, 0x748, 0x47d, 0x50b, 0x26d, 0x50b, 0x26d, 0x37b, 0x112, 0x37b, 0x112, -0x291, 0x64, 0x291, 0x64, 0x1e6, 0xfffa, 0x1e6, 0xfffa, 0x166, 0xffc0, 0x166, -0xffc0, 0x88, 0xff29, 0x88, 0xff29, 0x88, 0xff29, 0x76, 0xff5e, 0x76, 0xff5e, -0xffb6, 0xfee5, 0xffb6, 0xfee5, 0xfe89, 0xfdfc, 0xfe89, 0xfdfc, 0xfebf, 0xfe74, 0xfebf, -0xfe74, 0xfeea, 0xfedb, 0xfeea, 0xfedb, 0xfed9, 0xff03, 0xfed9, 0xff03, 0xfed9, 0xff03, -0xff48, 0xffa5, 0xff48, 0xffa5, 0xffa7, 0x32, 0xffa7, 0x32, 0xff15, 0xffc9, 0xff15, -0xffc9, 0xfe8a, 0xff62, 0xfe8a, 0xff62, 0xfdfd, 0xfef6, 0xfdfd, 0xfef6, 0xfdfd, 0xfef6, -0xfd67, 0xfe7d, 0xfd67, 0xfe7d, 0xfc7f, 0xfdb1, 0xfc7f, 0xfdb1, 0xfac6, 0xfc12, 0xfac6, -0xfc12, 0xf9dc, 0xfb42, 0xf9dc, 0xfb42, 0xf982, 0xfb03, 0xf982, 0xfb03, 0xf994, 0xfb30, -0xf994, 0xfb30, 0xf994, 0xfb30, 0xf96e, 0xfb28, 0xf96e, 0xfb28, 0xf8c4, 0xfa9d, 0xf8c4, -0xfa9d, 0xf82e, 0xfa29, 0xf82e, 0xfa29, 0xf77d, 0xf99c, 0xf77d, 0xf99c, 0xf750, 0xf994, -0xf750, 0xf994, 0xf765, 0xf9cf, 0xf765, 0xf9cf, 0xf765, 0xf9cf, 0xf7bb, 0xfa4a, 0xf7bb, -0xfa4a, 0xf797, 0xfa4b, 0xf797, 0xfa4b, 0xf6ab, 0xf982, 0xf6ab, 0xf982, 0xf67c, 0xf971, -0xf67c, 0xf971, 0xf631, 0xf93e, 0xf631, 0xf93e, 0xf631, 0xf93e, 0xf574, 0xf894, 0xf574, -0xf894, 0xf518, 0xf842, 0xf518, 0xf842, 0xf457, 0xf782, 0xf457, 0xf782, 0xf365, 0xf687, -0xf365, 0xf687, 0xf2fd, 0xf60b, 0xf2fd, 0xf60b, 0xf2ee, 0xf5db, 0xf2ee, 0xf5db, 0xf2ee, -0xf5db, 0xf2c6, 0xf589, 0xf2c6, 0xf589, 0xf301, 0xf58e, 0xf301, 0xf58e, 0xf385, 0xf5d1, -0xf385, 0xf5d1, 0xf49b, 0xf69e, 0xf49b, 0xf69e, 0xf662, 0xf811, 0xf662, 0xf811, 0xf7e8, -0xf93d, 0xf7e8, 0xf93d, 0xf7e8, 0xf93d, 0xfa79, 0xfb70, 0xfa79, 0xfb70, 0xfd10, 0xfda5, -0xfd10, 0xfda5, 0x5, 0x36, 0x5, 0x36, 0x3c1, 0x38e, 0x3c1, 0x38e, 0x67f, -0x5eb, 0x67f, 0x5eb, 0x67f, 0x5eb, 0x9b8, 0x8c8, 0x9b8, 0x8c8, 0xc56, 0xb0f, -0xc56, 0xb0f, 0xe9e, 0xd08, 0xe9e, 0xd08, 0x111c, 0xf3f, 0x111c, 0xf3f, 0x1257, -0x103c, 0x1257, 0x103c, 0x1389, 0x1139, 0x1389, 0x1139, 0x1389, 0x1139, 0x1489, 0x120f, -0x1489, 0x120f, 0x156d, 0x12d1, 0x156d, 0x12d1, 0x1694, 0x13e0, 0x1694, 0x13e0, 0x17b3, -0x14ef, 0x17b3, 0x14ef, 0x18c2, 0x15f4, 0x18c2, 0x15f4, 0x19db, 0x170a, 0x19db, 0x170a, -0x19db, 0x170a, 0x1b02, 0x1831, 0x1b02, 0x1831, 0x1adb, 0x180c, 0x1adb, 0x180c, 0x1ab0, -0x17e5, 0x1ab0, 0x17e5, 0x1b54, 0x188d, 0x1b54, 0x188d, 0x1b8e, 0x18c9, 0x1b8e, 0x18c9, -0x1b8e, 0x18c9, 0x1c01, 0x193a, 0x1c01, 0x193a, 0x1cb8, 0x19ed, 0x1cb8, 0x19ed, 0x1d69, -0x1a94, 0x1d69, 0x1a94, 0x1dde, 0x1afb, 0x1dde, 0x1afb, 0x1ed1, 0x1bdc, 0x1ed1, 0x1bdc, -0x1fd5, 0x1cc9, 0x1fd5, 0x1cc9, 0x1fd5, 0x1cc9, 0x203e, 0x1d18, 0x203e, 0x1d18, 0x202d, -0x1cea, 0x202d, 0x1cea, 0x1f7d, 0x1c1b, 0x1f7d, 0x1c1b, 0x1f41, 0x1bbf, 0x1f41, 0x1bbf, -0x1e93, 0x1af3, 0x1e93, 0x1af3, 0x1db0, 0x19f3, 0x1db0, 0x19f3, 0x1db0, 0x19f3, 0x1cee, -0x1918, 0x1cee, 0x1918, 0x1bcf, 0x17e6, 0x1bcf, 0x17e6, 0x1ad2, 0x16db, 0x1ad2, 0x16db, -0x19b3, 0x15b6, 0x19b3, 0x15b6, 0x1910, 0x1516, 0x1910, 0x1516, 0x1910, 0x1516, 0x18da, -0x14ea, 0x18da, 0x14ea, 0x18fe, 0x1521, 0x18fe, 0x1521, 0x1883, 0x14c2, 0x1883, 0x14c2, -0x1783, 0x13e7, 0x1783, 0x13e7, 0x16aa, 0x133a, 0x16aa, 0x133a, 0x146e, 0x1130, 0x146e, -0x1130, 0x146e, 0x1130, 0x1268, 0xf61, 0x1268, 0xf61, 0x10ad, 0xde1, 0x10ad, 0xde1, -0xda0, 0xb12, 0xda0, 0xb12, 0xb5e, 0x90f, 0xb5e, 0x90f, 0x94a, 0x738, 0x94a, -0x738, 0x6bc, 0x4e5, 0x6bc, 0x4e5, 0x6bc, 0x4e5, 0x543, 0x3a5, 0x543, 0x3a5, -0x417, 0x2ac, 0x417, 0x2ac, 0x2ef, 0x1b2, 0x2ef, 0x1b2, 0x205, 0xef, 0x205, -0xef, 0x13d, 0x47, 0x13d, 0x47, 0x13d, 0x47, 0x6c, 0xff91, 0x6c, 0xff91, -0x70, 0xffa8, 0x70, 0xffa8, 0x12d, 0x73, 0x12d, 0x73, 0x17d, 0xcc, 0x17d, -0xcc, 0x238, 0x18c, 0x238, 0x18c, 0x2b0, 0x206, 0x2b0, 0x206, 0x2b0, 0x206, -0x2cc, 0x223, 0x2cc, 0x223, 0x3f6, 0x34e, 0x3f6, 0x34e, 0x565, 0x4bf, 0x565, -0x4bf, 0x627, 0x587, 0x627, 0x587, 0x668, 0x5d1, 0x668, 0x5d1, 0x559, 0x4d2, -0x559, 0x4d2, 0x559, 0x4d2, 0x47e, 0x40b, 0x47e, 0x40b, 0x4b1, 0x459, 0x4b1, -0x459, 0x379, 0x342, 0x379, 0x342, 0x255, 0x246, 0x255, 0x246, 0x1ba, 0x1db, -0x1ba, 0x1db, 0x1ba, 0x1db, 0x9a, 0xef, 0x9a, 0xef, 0xffee, 0x7b, 0xffee, -0x7b, 0xff0d, 0xffd6, 0xff0d, 0xffd6, 0xfe6f, 0xff76, 0xfe6f, 0xff76, 0xfd28, 0xfe6d, -0xfd28, 0xfe6d, 0xfb88, 0xfd0b, 0xfb88, 0xfd0b, 0xfb88, 0xfd0b, 0xfada, 0xfc97, 0xfada, -0xfc97, 0xf7d4, 0xf9c7, 0xf7d4, 0xf9c7, 0xf592, 0xf7b5, 0xf592, 0xf7b5, 0xf566, 0xf7b2, -0xf566, 0xf7b2, 0xf472, 0xf6de, 0xf472, 0xf6de, 0xf472, 0xf6de, 0xf448, 0xf6cc, 0xf448, -0xf6cc, 0xf38f, 0xf620, 0xf38f, 0xf620, 0xf2b3, 0xf548, 0xf2b3, 0xf548, 0xf25a, 0xf4e8, -0xf25a, 0xf4e8, 0xf2d2, 0xf551, 0xf2d2, 0xf551, 0xf28c, 0xf4f2, 0xf28c, 0xf4f2, 0xf28c, -0xf4f2, 0xf0aa, 0xf2f0, 0xf0aa, 0xf2f0, 0xf058, 0xf278, 0xf058, 0xf278, 0xef6f, 0xf164, -0xef6f, 0xf164, 0xef2b, 0xf0ef, 0xef2b, 0xf0ef, 0xf04e, 0xf1e1, 0xf04e, 0xf1e1, 0xf0b4, -0xf215, 0xf0b4, 0xf215, 0xf0b4, 0xf215, 0xf1fe, 0xf32e, 0xf1fe, 0xf32e, 0xf3c2, 0xf4c3, -0xf3c2, 0xf4c3, 0xf5ac, 0xf683, 0xf5ac, 0xf683, 0xf76e, 0xf81f, 0xf76e, 0xf81f, 0xf8cf, -0xf95f, 0xf8cf, 0xf95f, 0xf8cf, 0xf95f, 0xfae0, 0xfb57, 0xfae0, 0xfb57, 0xfca0, 0xfd03, -0xfca0, 0xfd03, 0xfd70, 0xfdc8, 0xfd70, 0xfdc8, 0xfe7b, 0xfecd, 0xfe7b, 0xfecd, 0xfe66, -0xfeb8, 0xfe66, 0xfeb8, 0xfd08, 0xfd60, 0xfd08, 0xfd60, 0xfd08, 0xfd60, 0xfd07, 0xfd6a, -0xfd07, 0xfd6a, 0xfc89, 0xfcfb, 0xfc89, 0xfcfb, 0xfac0, 0xfb43, 0xfac0, 0xfb43, 0xfa3c, -0xfad2, 0xfa3c, 0xfad2, 0xf8d2, 0xf97d, 0xf8d2, 0xf97d, 0xf6d7, 0xf796, 0xf6d7, 0xf796, -0xf6d7, 0xf796, 0xf64a, 0xf71c, 0xf64a, 0xf71c, 0xf50c, 0xf5f0, 0xf50c, 0xf5f0, 0xf40e, -0xf501, 0xf40e, 0xf501, 0xf43c, 0xf53c, 0xf43c, 0xf53c, 0xf43a, 0xf545, 0xf43a, 0xf545, -0xf43a, 0xf545, 0xf48f, 0xf5a2, 0xf48f, 0xf5a2, 0xf57a, 0xf692, 0xf57a, 0xf692, 0xf611, -0xf72d, 0xf611, 0xf72d, 0xf7f0, 0xf90e, 0xf7f0, 0xf90e, 0xf95f, 0xfa81, 0xf95f, 0xfa81, -0xf8c7, 0xf9ec, 0xf8c7, 0xf9ec, 0xf8c7, 0xf9ec, 0xf985, 0xfaae, 0xf985, 0xfaae, 0xf962, -0xfa91, 0xf962, 0xfa91, 0xf826, 0xf95f, 0xf826, 0xf95f, 0xf7a8, 0xf8ef, 0xf7a8, 0xf8ef, -0xf694, 0xf7ed, 0xf694, 0xf7ed, 0xf536, 0xf6a5, 0xf536, 0xf6a5, 0xf536, 0xf6a5, 0xf3bf, -0xf54a, 0xf3bf, 0xf54a, 0xf313, 0xf4bf, 0xf313, 0xf4bf, 0xf20f, 0xf3df, 0xf20f, 0xf3df, -0xf0a7, 0xf2a0, 0xf0a7, 0xf2a0, 0xf025, 0xf24b, 0xf025, 0xf24b, 0xf025, 0xf24b, 0xeeca, -0xf120, 0xeeca, 0xf120, 0xedb0, 0xf037, 0xedb0, 0xf037, 0xed31, 0xefe9, 0xed31, 0xefe9, -0xeba5, 0xee8e, 0xeba5, 0xee8e, 0xeac3, 0xedda, 0xeac3, 0xedda, 0xea45, 0xed88, 0xea45, -0xed88, 0xea45, 0xed88, 0xe979, 0xece1, 0xe979, 0xece1, 0xe89d, 0xec26, 0xe89d, 0xec26, -0xe7dc, 0xeb7f, 0xe7dc, 0xeb7f, 0xe884, 0xec39, 0xe884, 0xec39, 0xe8bd, 0xec7b, 0xe8bd, -0xec7b, 0xe84a, 0xec08, 0xe84a, 0xec08, 0xe84a, 0xec08, 0xe814, 0xebc8, 0xe814, 0xebc8, -0xe740, 0xeae1, 0xe740, 0xeae1, 0xe741, 0xeac6, 0xe741, 0xeac6, 0xe745, 0xeaa4, 0xe745, -0xeaa4, 0xe72d, 0xea5d, 0xe72d, 0xea5d, 0xe72d, 0xea5d, 0xe78a, 0xea84, 0xe78a, 0xea84, -0xe719, 0xe9d5, 0xe719, 0xe9d5, 0xe86a, 0xeae4, 0xe86a, 0xeae4, 0xea05, 0xec36, 0xea05, -0xec36, 0xeb0d, 0xecf2, 0xeb0d, 0xecf2, 0xed80, 0xef16, 0xed80, 0xef16, 0xed80, 0xef16, -0xef03, 0xf049, 0xef03, 0xf049, 0xf06d, 0xf162, 0xf06d, 0xf162, 0xf2c0, 0xf365, 0xf2c0, -0xf365, 0xf539, 0xf590, 0xf539, 0xf590, 0xf751, 0xf75c, 0xf751, 0xf75c, 0xf966, 0xf927, -0xf966, 0xf927, 0xf966, 0xf927, 0xfad9, 0xfa56, 0xfad9, 0xfa56, 0xfb6b, 0xfaa6, 0xfb6b, -0xfaa6, 0xfcf1, 0xfbf0, 0xfcf1, 0xfbf0, 0xfcfa, 0xfbc0, 0xfcfa, 0xfbc0, 0xfc87, 0xfb1a, -0xfc87, 0xfb1a, 0xfc87, 0xfb1a, 0xfdcd, 0xfc31, 0xfdcd, 0xfc31, 0xfee5, 0xfd1e, 0xfee5, -0xfd1e, 0xff0c, 0xfd20, 0xff0c, 0xfd20, 0xc, 0xfdff, 0xc, 0xfdff, 0x1b1, 0xff86, -0x1b1, 0xff86, 0x118, 0xfed4, 0x118, 0xfed4, 0x118, 0xfed4, 0x222, 0xffc7, 0x222, -0xffc7, 0x448, 0x1da, 0x448, 0x1da, 0x547, 0x2ca, 0x547, 0x2ca, 0x637, 0x3ae, -0x637, 0x3ae, 0x68e, 0x3fb, 0x68e, 0x3fb, 0x964, 0x6cb, 0x964, 0x6cb, 0x964, -0x6cb, 0xb8f, 0x8f3, 0xb8f, 0x8f3, 0xccf, 0xa32, 0xccf, 0xa32, 0xe55, 0xbbb, -0xe55, 0xbbb, 0xe56, 0xbc2, 0xe56, 0xbc2, 0x10a4, 0xe1a, 0x10a4, 0xe1a, 0x10a4, -0xe1a, 0x1197, 0xf1b, 0x1197, 0xf1b, 0x10de, 0xe72, 0x10de, 0xe72, 0x10c5, 0xe6e, -0x10c5, 0xe6e, 0x1070, 0xe31, 0x1070, 0xe31, 0x1224, 0x1002, 0x1224, 0x1002, 0x126e, -0x106c, 0x126e, 0x106c, 0x126e, 0x106c, 0x11a0, 0xfc1, 0x11a0, 0xfc1, 0x1130, 0xf78, -0x1130, 0xf78, 0x105c, 0xecd, 0x105c, 0xecd, 0x10a1, 0xf3f, 0x10a1, 0xf3f, 0x104c, -0xf17, 0x104c, 0xf17, 0xeca, 0xdc5, 0xeca, 0xdc5, 0xeca, 0xdc5, 0xda0, 0xcca, -0xda0, 0xcca, 0xd2d, 0xc87, 0xd2d, 0xc87, 0xcb1, 0xc3a, 0xcb1, 0xc3a, 0xc24, -0xbdb, 0xc24, 0xbdb, 0xb1e, 0xb02, 0xb1e, 0xb02, 0xb1e, 0xb02, 0x9fa, 0xa07, -0x9fa, 0xa07, 0x8ec, 0x920, 0x8ec, 0x920, 0x8c5, 0x91b, 0x8c5, 0x91b, 0x9ec, -0xa62, 0x9ec, 0xa62, 0x8fc, 0x98c, 0x8fc, 0x98c, 0x737, 0x7de, 0x737, 0x7de, -0x737, 0x7de, 0x643, 0x6fb, 0x643, 0x6fb, 0x4bc, 0x581, 0x4bc, 0x581, 0x46b, -0x538, 0x46b, 0x538, 0x2f4, 0x3c5, 0x2f4, 0x3c5, 0xe1, 0x1b2, 0xe1, 0x1b2, -0x62, 0x12e, 0x62, 0x12e, 0x62, 0x12e, 0xff32, 0xfff6, 0xff32, 0xfff6, 0xfffb, -0xb4, 0xfffb, 0xb4, 0x9f, 0x14a, 0x9f, 0x14a, 0xffd2, 0x6c, 0xffd2, 0x6c, -0x21, 0xaa, 0x21, 0xaa, 0x21, 0xaa, 0xbd, 0x131, 0xbd, 0x131, 0x1c0, -0x21f, 0x1c0, 0x21f, 0x14d, 0x195, 0x14d, 0x195, 0xffb0, 0xffe1, 0xffb0, 0xffe1, -0xff58, 0xff73, 0xff58, 0xff73, 0xff55, 0xff59, 0xff55, 0xff59, 0xff55, 0xff59, 0xfef4, -0xfee2, 0xfef4, 0xfee2, 0xfebe, 0xfe97, 0xfebe, 0xfe97, 0xfe1b, 0xfdde, 0xfe1b, 0xfdde, -0xfd41, 0xfcf2, 0xfd41, 0xfcf2, 0xfdd6, 0xfd75, 0xfdd6, 0xfd75, 0xfdd6, 0xfd75, 0xfebc, -0xfe4c, 0xfebc, 0xfe4c, 0xfe82, 0xfe05, 0xfe82, 0xfe05, 0xfdea, 0xfd63, 0xfdea, 0xfd63, -0xfcd7, 0xfc49, 0xfcd7, 0xfc49, 0xfd7b, 0xfcec, 0xfd7b, 0xfcec, 0xff6b, 0xfedd, 0xff6b, -0xfedd, 0xff6b, 0xfedd, 0x15d, 0xd6, 0x15d, 0xd6, 0x249, 0x1ce, 0x249, 0x1ce, -0x20e, 0x1a5, 0x20e, 0x1a5, 0x457, 0x406, 0x457, 0x406, 0x610, 0x5dd, 0x610, -0x5dd, 0x658, 0x649, 0x658, 0x649, 0x658, 0x649, 0x6ba, 0x6d7, 0x6ba, 0x6d7, -0x545, 0x593, 0x545, 0x593, 0x460, 0x4e4, 0x460, 0x4e4, 0x4b5, 0x576, 0x4b5, -0x576, 0x2f8, 0x3fa, 0x2f8, 0x3fa, 0x2f8, 0x3fa, 0xa2, 0x1e9, 0xa2, 0x1e9, -0xfe62, 0xfff0, 0xfe62, 0xfff0, 0xfcdc, 0xfeb4, 0xfcdc, 0xfeb4, 0xfcd9, 0xfefb, 0xfcd9, -0xfefb, 0xfafa, 0xfd64, 0xfafa, 0xfd64, 0xf862, 0xfb12, 0xf862, 0xfb12, 0xf862, 0xfb12, -0xf682, 0xf973, 0xf682, 0xf973, 0xf5be, 0xf8ec, 0xf5be, 0xf8ec, 0xf46e, 0xf7d2, 0xf46e, -0xf7d2, 0xf286, 0xf617, 0xf286, 0xf617, 0xf136, 0xf4eb, 0xf136, 0xf4eb, 0xed67, 0xf135, -0xed67, 0xf135, 0xed67, 0xf135, 0xeb83, 0xef61, 0xeb83, 0xef61, 0xebc4, 0xefa5, 0xebc4, -0xefa5, 0xea8c, 0xee65, 0xea8c, 0xee65, 0xeaa8, 0xee6c, 0xeaa8, 0xee6c, 0xeac8, 0xee6d, -0xeac8, 0xee6d, 0xeac8, 0xee6d, 0xebdf, 0xef59, 0xebdf, 0xef59, 0xecef, 0xf034, 0xecef, -0xf034, 0xee2f, 0xf136, 0xee2f, 0xf136, 0xef1e, 0xf1df, 0xef1e, 0xf1df, 0xeddd, 0xf051, -0xeddd, 0xf051, 0xef9b, 0xf1bb, 0xef9b, 0xf1bb, 0xef9b, 0xf1bb, 0xf0e3, 0xf2ac, 0xf0e3, -0xf2ac, 0xf1c1, 0xf32e, 0xf1c1, 0xf32e, 0xf46b, 0xf57b, 0xf46b, 0xf57b, 0xf657, 0xf709, -0xf657, 0xf709, 0xf94d, 0xf9a1, 0xf94d, 0xf9a1, 0xfd96, 0xfd8d, 0xfd96, 0xfd8d, 0xfd96, -0xfd8d, 0x9f, 0x39, 0x9f, 0x39, 0x324, 0x264, 0x324, 0x264, 0x605, 0x4eb, -0x605, 0x4eb, 0x8ff, 0x78f, 0x8ff, 0x78f, 0xd32, 0xb6b, 0xd32, 0xb6b, 0xd32, -0xb6b, 0x1005, 0xde9, 0x1005, 0xde9, 0x11a6, 0xf37, 0x11a6, 0xf37, 0x131b, 0x1057, -0x131b, 0x1057, 0x159a, 0x1282, 0x159a, 0x1282, 0x1882, 0x1514, 0x1882, 0x1514, 0x19a3, -0x15df, 0x19a3, 0x15df, 0x19a3, 0x15df, 0x1a87, 0x166a, 0x1a87, 0x166a, 0x1b10, 0x169a, -0x1b10, 0x169a, 0x1b6a, 0x1699, 0x1b6a, 0x1699, 0x1d5c, 0x1830, 0x1d5c, 0x1830, 0x1e5c, -0x18d4, 0x1e5c, 0x18d4, 0x1eec, 0x190a, 0x1eec, 0x190a, 0x1eec, 0x190a, 0x210a, 0x1ad0, -0x210a, 0x1ad0, 0x2307, 0x1c79, 0x2307, 0x1c79, 0x266f, 0x1f93, 0x266f, 0x1f93, 0x28f5, -0x21d2, 0x28f5, 0x21d2, 0x2ad1, 0x2371, 0x2ad1, 0x2371, 0x2ad1, 0x2371, 0x2d30, 0x259e, -0x2d30, 0x259e, 0x2e5d, 0x26a6, 0x2e5d, 0x26a6, 0x2fb8, 0x27eb, 0x2fb8, 0x27eb, 0x30e2, -0x2910, 0x30e2, 0x2910, 0x30cd, 0x2908, 0x30cd, 0x2908, 0x30af, 0x2908, 0x30af, 0x2908, -0x30af, 0x2908, 0x2f7e, 0x280b, 0x2f7e, 0x280b, 0x2f01, 0x27d4, 0x2f01, 0x27d4, 0x2e43, -0x276f, 0x2e43, 0x276f, 0x2b29, 0x24c0, 0x2b29, 0x24c0, 0x2882, 0x2295, 0x2882, 0x2295, -0x249a, 0x1f38, 0x249a, 0x1f38, 0x249a, 0x1f38, 0x21e9, 0x1d20, 0x21e9, 0x1d20, 0x1e91, -0x1a6b, 0x1e91, 0x1a6b, 0x1abe, 0x1742, 0x1abe, 0x1742, 0x16e2, 0x1416, 0x16e2, 0x1416, -0x1207, 0xfec, 0x1207, 0xfec, 0x1207, 0xfec, 0xf70, 0xe04, 0xf70, 0xe04, 0xc39, -0xb78, 0xc39, 0xb78, 0x7fd, 0x7e0, 0x7fd, 0x7e0, 0x448, 0x4c4, 0x448, 0x4c4, -0x18a, 0x292, 0x18a, 0x292, 0xffae, 0x135, 0xffae, 0x135, 0xffae, 0x135, 0xfe5b, -0x50, 0xfe5b, 0x50, 0xfb58, 0xfdab, 0xfb58, 0xfdab, 0xf920, 0xfbbf, 0xf920, 0xfbbf, -0xf790, 0xfa6a, 0xf790, 0xfa6a, 0xf581, 0xf887, 0xf581, 0xf887, 0xf468, 0xf789, 0xf468, -0xf789, 0xf468, 0xf789, 0xf137, 0xf464, 0xf137, 0xf464, 0xedf4, 0xf122, 0xedf4, 0xf122, -0xecf4, 0xf017, 0xecf4, 0xf017, 0xeb17, 0xee28, 0xeb17, 0xee28, 0xe971, 0xec68, 0xe971, -0xec68, 0xe971, 0xec68, 0xe94f, 0xec29, 0xe94f, 0xec29, 0xe81d, 0xead6, 0xe81d, 0xead6, -0xe7fb, 0xea93, 0xe7fb, 0xea93, 0xe84f, 0xeac8, 0xe84f, 0xeac8, 0xe8e3, 0xeb3e, 0xe8e3, -0xeb3e, 0xeab9, 0xecf9, 0xeab9, 0xecf9, 0xeab9, 0xecf9, 0xeb79, 0xeda1, 0xeb79, 0xeda1, -0xebfd, 0xee10, 0xebfd, 0xee10, 0xed88, 0xef8a, 0xed88, 0xef8a, 0xedd4, 0xefc6, 0xedd4, -0xefc6, 0xee0c, 0xefed, 0xee0c, 0xefed, 0xee4d, 0xf01f, 0xee4d, 0xf01f, 0xee4d, 0xf01f, -0xed5f, 0xef20, 0xed5f, 0xef20, 0xecb0, 0xee5c, 0xecb0, 0xee5c, 0xecfe, 0xee90, 0xecfe, -0xee90, 0xed9d, 0xef0e, 0xed9d, 0xef0e, 0xec52, 0xed9b, 0xec52, 0xed9b, 0xec52, 0xed9b, -0xec48, 0xed61, 0xec48, 0xed61, 0xed25, 0xee06, 0xed25, 0xee06, 0xee2b, 0xeec9, 0xee2b, -0xeec9, 0xef7c, 0xefd0, 0xef7c, 0xefd0, 0xf13f, 0xf13f, 0xf13f, 0xf13f, 0xf3cd, 0xf374, -0xf3cd, 0xf374, 0xf3cd, 0xf374, 0xf629, 0xf571, 0xf629, 0xf571, 0xf932, 0xf818, 0xf932, -0xf818, 0xfc15, 0xfa99, 0xfc15, 0xfa99, 0xfecb, 0xfcee, 0xfecb, 0xfcee, 0x16e, 0xff35, -0x16e, 0xff35, 0x485, 0x1f8, 0x485, 0x1f8, 0x485, 0x1f8, 0x764, 0x48d, 0x764, -0x48d, 0x9e8, 0x6d4, 0x9e8, 0x6d4, 0xc3f, 0x8fe, 0xc3f, 0x8fe, 0xd4b, 0x9ee, -0xd4b, 0x9ee, 0xd3d, 0x9d8, 0xd3d, 0x9d8, 0xd3d, 0x9d8, 0xed1, 0xb78, 0xed1, -0xb78, 0xf89, 0xc50, 0xf89, 0xc50, 0xf80, 0xc7d, 0xf80, 0xc7d, 0xef9, 0xc3f, -0xef9, 0xc3f, 0xd9c, 0xb3f, 0xd9c, 0xb3f, 0xcf5, 0xb05, 0xcf5, 0xb05, 0xcf5, -0xb05, 0xa7d, 0x909, 0xa7d, 0x909, 0x900, 0x815, 0x900, 0x815, 0x7be, 0x764, -0x7be, 0x764, 0x626, 0x663, 0x626, 0x663, 0x41d, 0x4f4, 0x41d, 0x4f4, 0x41d, -0x4f4, 0x173, 0x2e2, 0x173, 0x2e2, 0xfe83, 0x87, 0xfe83, 0x87, 0xfb2b, 0xfdbb, -0xfb2b, 0xfdbb, 0xf92b, 0xfc3e, 0xf92b, 0xfc3e, 0xf74a, 0xfad3, 0xf74a, 0xfad3, 0xf546, -0xf936, 0xf546, 0xf936, 0xf546, 0xf936, 0xf36e, 0xf7b6, 0xf36e, 0xf7b6, 0xf15b, 0xf5eb, -0xf15b, 0xf5eb, 0xf0a7, 0xf56e, 0xf0a7, 0xf56e, 0xef05, 0xf3f1, 0xef05, 0xf3f1, 0xed33, -0xf236, 0xed33, 0xf236, 0xeb82, 0xf08d, 0xeb82, 0xf08d, 0xeb82, 0xf08d, 0xe739, 0xec41, -0xe739, 0xec41, 0xe571, 0xea69, 0xe571, 0xea69, 0xe3e9, 0xe8c9, 0xe3e9, 0xe8c9, 0xe2ea, -0xe7ac, 0xe2ea, 0xe7ac, 0xe228, 0xe6c9, 0xe228, 0xe6c9, 0xe228, 0xe6c9, 0xe23e, 0xe6ba, -0xe23e, 0xe6ba, 0xe356, 0xe7af, 0xe356, 0xe7af, 0xe417, 0xe84e, 0xe417, 0xe84e, 0xe5c1, -0xe9d8, 0xe5c1, 0xe9d8, 0xe5ac, 0xe9a8, 0xe5ac, 0xe9a8, 0xe6f6, 0xeadc, 0xe6f6, 0xeadc, -0xe6f6, 0xeadc, 0xe687, 0xea59, 0xe687, 0xea59, 0xe5e1, 0xe9a4, 0xe5e1, 0xe9a4, 0xe60f, -0xe9c6, 0xe60f, 0xe9c6, 0xe51d, 0xe8cb, 0xe51d, 0xe8cb, 0xe4cf, 0xe873, 0xe4cf, 0xe873, -0xe532, 0xe8cd, 0xe532, 0xe8cd, 0xe532, 0xe8cd, 0xe5b1, 0xe93f, 0xe5b1, 0xe93f, 0xe613, -0xe990, 0xe613, 0xe990, 0xe6a6, 0xea0c, 0xe6a6, 0xea0c, 0xe61d, 0xe964, 0xe61d, 0xe964, -0xe67b, 0xe99b, 0xe67b, 0xe99b, 0xe67b, 0xe99b, 0xe824, 0xeb14, 0xe824, 0xeb14, 0xe9d4, -0xec8a, 0xe9d4, 0xec8a, 0xeba9, 0xee19, 0xeba9, 0xee19, 0xed4d, 0xef6f, 0xed4d, 0xef6f, -0xef55, 0xf121, 0xef55, 0xf121, 0xf273, 0xf3e0, 0xf273, 0xf3e0, 0xf273, 0xf3e0, 0xf53d, -0xf647, 0xf53d, 0xf647, 0xf8a5, 0xf947, 0xf8a5, 0xf947, 0xfa9e, 0xfad6, 0xfa9e, 0xfad6, -0xfc65, 0xfc35, 0xfc65, 0xfc35, 0xfea4, 0xfe0e, 0xfea4, 0xfe0e, 0x72, 0xff7c, 0x72, -0xff7c, 0x72, 0xff7c, 0x183, 0x37, 0x183, 0x37, 0x17c, 0xffe4, 0x17c, 0xffe4, -0x2a4, 0xcb, 0x2a4, 0xcb, 0x39e, 0x193, 0x39e, 0x193, 0x47a, 0x24c, 0x47a, -0x24c, 0x47a, 0x24c, 0x50d, 0x2cc, 0x50d, 0x2cc, 0x604, 0x3bf, 0x604, 0x3bf, -0x5ee, 0x3b5, 0x5ee, 0x3b5, 0x69a, 0x47c, 0x69a, 0x47c, 0x679, 0x483, 0x679, -0x483, 0x665, 0x4a3, 0x665, 0x4a3, 0x665, 0x4a3, 0x690, 0x50c, 0x690, 0x50c, -0x62a, 0x4eb, 0x62a, 0x4eb, 0x663, 0x56e, 0x663, 0x56e, 0x4be, 0x415, 0x4be, -0x415, 0x40f, 0x3b2, 0x40f, 0x3b2, 0x2de, 0x2cb, 0x2de, 0x2cb, 0x2de, 0x2cb, -0x2c6, 0x2f9, 0x2c6, 0x2f9, 0x20d, 0x27e, 0x20d, 0x27e, 0x29d, 0x345, 0x29d, -0x345, 0x3f1, 0x4c8, 0x3f1, 0x4c8, 0x1cc, 0x2c6, 0x1cc, 0x2c6, 0x1cc, 0x2c6, -0xec, 0x200, 0xec, 0x200, 0xffa2, 0xc5, 0xffa2, 0xc5, 0xfd77, 0xfea0, 0xfd77, -0xfea0, 0xfc8a, 0xfdaf, 0xfc8a, 0xfdaf, 0xfabf, 0xfbd9, 0xfabf, 0xfbd9, 0xfa4c, 0xfb54, -0xfa4c, 0xfb54, 0xfa4c, 0xfb54, 0xfb35, 0xfc26, 0xfb35, 0xfc26, 0xfc17, 0xfcef, 0xfc17, -0xfcef, 0xfd9c, 0xfe57, 0xfd9c, 0xfe57, 0xfe8c, 0xff2b, 0xfe8c, 0xff2b, 0x10d, 0x18f, -0x10d, 0x18f, 0x299, 0x300, 0x299, 0x300, 0x299, 0x300, 0x3dd, 0x42c, 0x3dd, -0x42c, 0x4e1, 0x51c, 0x4e1, 0x51c, 0x631, 0x65a, 0x631, 0x65a, 0x6fd, 0x717, -0x6fd, 0x717, 0x80a, 0x818, 0x80a, 0x818, 0x80a, 0x818, 0x940, 0x944, 0x940, -0x944, 0x8b2, 0x8ad, 0x8b2, 0x8ad, 0x9e6, 0x9d8, 0x9e6, 0x9d8, 0x9d2, 0x9ba, -0x9d2, 0x9ba, 0xaf2, 0xacd, 0xaf2, 0xacd, 0xb37, 0xb02, 0xb37, 0xb02, 0xb37, -0xb02, 0xabb, 0xa72, 0xabb, 0xa72, 0xbe8, 0xb84, 0xbe8, 0xb84, 0xbc7, 0xb43, -0xbc7, 0xb43, 0xca3, 0xbf9, 0xca3, 0xbf9, 0xee5, 0xe0f, 0xee5, 0xe0f, 0xfae, -0xea5, 0xfae, 0xea5, 0xfae, 0xea5, 0x1181, 0x1040, 0x1181, 0x1040, 0x13cb, 0x124e, -0x13cb, 0x124e, 0x1548, 0x138d, 0x1548, 0x138d, 0x1824, 0x1628, 0x1824, 0x1628, 0x195c, -0x1721, 0x195c, 0x1721, 0x195c, 0x1721, 0x1a4a, 0x17d2, 0x1a4a, 0x17d2, 0x1aa3, 0x17f1, -0x1aa3, 0x17f1, 0x1a45, 0x1760, 0x1a45, 0x1760, 0x19fe, 0x16ed, 0x19fe, 0x16ed, 0x1856, -0x1524, 0x1856, 0x1524, 0x1680, 0x1336, 0x1680, 0x1336, 0x1680, 0x1336, 0x15d9, 0x1283, -0x15d9, 0x1283, 0x133d, 0xfe7, 0x133d, 0xfe7, 0x1208, 0xec0, 0x1208, 0xec0, 0x1153, -0xe25, 0x1153, 0xe25, 0xeaf, 0xba6, 0xeaf, 0xba6, 0xd70, 0xa98, 0xd70, 0xa98, -0xd70, 0xa98, 0xb5d, 0x8bf, 0xb5d, 0x8bf, 0xa4f, 0x7f5, 0xa4f, 0x7f5, 0x8ff, -0x6ef, 0x8ff, 0x6ef, 0x785, 0x5c4, 0x785, 0x5c4, 0x72c, 0x5bd, 0x72c, 0x5bd, -0x72c, 0x5bd, 0x54a, 0x42e, 0x54a, 0x42e, 0x284, 0x1ba, 0x284, 0x1ba, 0x1d0, -0x157, 0x1d0, 0x157, 0xffb4, 0xff87, 0xffb4, 0xff87, 0xfe6c, 0xfe85, 0xfe6c, 0xfe85, -0xfe4d, 0xfea8, 0xfe4d, 0xfea8, 0xfe4d, 0xfea8, 0xfd98, 0xfe2d, 0xfd98, 0xfe2d, 0xfcde, -0xfda8, 0xfcde, 0xfda8, 0xfa1d, 0xfb15, 0xfa1d, 0xfb15, 0xf8dd, 0xf9fe, 0xf8dd, 0xf9fe, -0xf643, 0xf787, 0xf643, 0xf787, 0xf3d4, 0xf537, 0xf3d4, 0xf537, 0xf3d4, 0xf537, 0xf24d, -0xf3cc, 0xf24d, 0xf3cc, 0xee93, 0xf02c, 0xee93, 0xf02c, 0xebfe, 0xedb0, 0xebfe, 0xedb0, -0xeb78, 0xed44, 0xeb78, 0xed44, 0xe8fa, 0xeae1, 0xe8fa, 0xeae1, 0xe8fa, 0xeae1, 0xe7e9, -0xe9ed, 0xe7e9, 0xe9ed, 0xe6d7, 0xe8fb, 0xe6d7, 0xe8fb, 0xe602, 0xe848, 0xe602, 0xe848, -0xe67e, 0xe8e9, 0xe67e, 0xe8e9, 0xe69b, 0xe92c, 0xe69b, 0xe92c, 0xe838, 0xeaf2, 0xe838, -0xeaf2, 0xe838, 0xeaf2, 0xe6cc, 0xe9ad, 0xe6cc, 0xe9ad, 0xe643, 0xe94b, 0xe643, 0xe94b, -0xe65f, 0xe98b, 0xe65f, 0xe98b, 0xe5ce, 0xe918, 0xe5ce, 0xe918, 0xe42a, 0xe78c, 0xe42a, -0xe78c, 0xe42a, 0xe78c, 0xe34e, 0xe6bf, 0xe34e, 0xe6bf, 0xe203, 0xe57a, 0xe203, 0xe57a, -0xe11f, 0xe48f, 0xe11f, 0xe48f, 0xe248, 0xe5a5, 0xe248, 0xe5a5, 0xe221, 0xe55c, 0xe221, -0xe55c, 0xe335, 0xe641, 0xe335, 0xe641, 0xe335, 0xe641, 0xe494, 0xe762, 0xe494, 0xe762, -0xe6ed, 0xe970, 0xe6ed, 0xe970, 0xe8fa, 0xeb25, 0xe8fa, 0xeb25, 0xec01, 0xedc8, 0xec01, -0xedc8, 0xef98, 0xf0f1, 0xef98, 0xf0f1, 0xf35f, 0xf443, 0xf35f, 0xf443, 0xf35f, 0xf443, -0xf739, 0xf7a2, 0xf739, 0xf7a2, 0xfb81, 0xfb6d, 0xfb81, 0xfb6d, 0x1f, 0xff8e, 0x1f, -0xff8e, 0x4a0, 0x393, 0x4a0, 0x393, 0x865, 0x6e3, 0x865, 0x6e3, 0x865, 0x6e3, -0xbbe, 0x9ce, 0xbbe, 0x9ce, 0xf11, 0xcbc, 0xf11, 0xcbc, 0x111e, 0xe70, 0x111e, -0xe70, 0x13a1, 0x10a7, 0x13a1, 0x10a7, 0x152d, 0x11f5, 0x152d, 0x11f5, 0x175d, 0x13f4, -0x175d, 0x13f4, 0x175d, 0x13f4, 0x1812, 0x1485, 0x1812, 0x1485, 0x1920, 0x157d, 0x1920, -0x157d, 0x1a5a, 0x16ac, 0x1a5a, 0x16ac, 0x1ae4, 0x1734, 0x1ae4, 0x1734, 0x1c52, 0x18a9, -0x1c52, 0x18a9, 0x1dd4, 0x1a38, 0x1dd4, 0x1a38, 0x1dd4, 0x1a38, 0x1f74, 0x1be8, 0x1f74, -0x1be8, 0x207c, 0x1d02, 0x207c, 0x1d02, 0x2054, 0x1cea, 0x2054, 0x1cea, 0x1fb0, 0x1c54, -0x1fb0, 0x1c54, 0x1f93, 0x1c40, 0x1f93, 0x1c40, 0x1f93, 0x1c40, 0x1ec9, 0x1b78, 0x1ec9, -0x1b78, 0x206e, 0x1d18, 0x206e, 0x1d18, 0x2113, 0x1db0, 0x2113, 0x1db0, 0x21c3, 0x1e4a, -0x21c3, 0x1e4a, 0x2333, 0x1f9f, 0x2333, 0x1f9f, 0x2355, 0x1f9e, 0x2355, 0x1f9e, 0x2355, -0x1f9e, 0x234e, 0x1f6f, 0x234e, 0x1f6f, 0x2236, 0x1e2c, 0x2236, 0x1e2c, 0x21bc, 0x1d86, -0x21bc, 0x1d86, 0x2192, 0x1d32, 0x2192, 0x1d32, 0x2082, 0x1bfb, 0x2082, 0x1bfb, 0x202f, -0x1b87, 0x202f, 0x1b87, 0x202f, 0x1b87, 0x1fd0, 0x1b10, 0x1fd0, 0x1b10, 0x1e83, 0x19b6, -0x1e83, 0x19b6, 0x1e4b, 0x197d, 0x1e4b, 0x197d, 0x1e84, 0x19c2, 0x1e84, 0x19c2, 0x1e4f, -0x19a8, 0x1e4f, 0x19a8, 0x1e4f, 0x19a8, 0x1d1f, 0x18a3, 0x1d1f, 0x18a3, 0x1d0d, 0x18c9, -0x1d0d, 0x18c9, 0x1caa, 0x18ad, 0x1caa, 0x18ad, 0x1b7b, 0x17d1, 0x1b7b, 0x17d1, 0x19a2, -0x1656, 0x19a2, 0x1656, 0x1829, 0x1544, 0x1829, 0x1544, 0x1829, 0x1544, 0x14e2, 0x1269, -0x14e2, 0x1269, 0x1251, 0x1047, 0x1251, 0x1047, 0x1136, 0xf9c, 0x1136, 0xf9c, 0xdc6, -0xc97, 0xdc6, 0xc97, 0xb08, 0xa40, 0xb08, 0xa40, 0x830, 0x7c6, 0x830, 0x7c6, -0x830, 0x7c6, 0x716, 0x6fe, 0x716, 0x6fe, 0x45b, 0x489, 0x45b, 0x489, 0x356, -0x3bc, 0x356, 0x3bc, 0x34d, 0x3dc, 0x34d, 0x3dc, 0x1b1, 0x25a, 0x1b1, 0x25a, -0x1b1, 0x25a, 0x12b, 0x1df, 0x12b, 0x1df, 0x18a, 0x23c, 0x18a, 0x23c, 0x267, -0x30c, 0x267, 0x30c, 0x2b9, 0x345, 0x2b9, 0x345, 0x279, 0x2e7, 0x279, 0x2e7, -0x173, 0x1bd, 0x173, 0x1bd, 0x173, 0x1bd, 0x19b, 0x1c0, 0x19b, 0x1c0, 0x12e, -0x130, 0x12e, 0x130, 0xd3, 0xb5, 0xd3, 0xb5, 0xfff4, 0xffbf, 0xfff4, 0xffbf, -0xfefb, 0xfeb8, 0xfefb, 0xfeb8, 0xfd6b, 0xfd25, 0xfd6b, 0xfd25, 0xfd6b, 0xfd25, 0xfcd2, -0xfc97, 0xfcd2, 0xfc97, 0xfaf4, 0xfad0, 0xfaf4, 0xfad0, 0xf98d, 0xf98f, 0xf98d, 0xf98f, -0xf865, 0xf89b, 0xf865, 0xf89b, 0xf703, 0xf779, 0xf703, 0xf779, 0xf703, 0xf779, 0xf65a, -0xf71c, 0xf65a, 0xf71c, 0xf3ba, 0xf4d0, 0xf3ba, 0xf4d0, 0xf352, 0xf4c2, 0xf352, 0xf4c2, -0xf016, 0xf1e5, 0xf016, 0xf1e5, 0xed30, 0xef5d, 0xed30, 0xef5d, 0xeb94, 0xee1d, 0xeb94, -0xee1d, 0xeb94, 0xee1d, 0xe90d, 0xebed, 0xe90d, 0xebed, 0xe5c8, 0xe8f4, 0xe5c8, 0xe8f4, -0xe4cf, 0xe83d, 0xe4cf, 0xe83d, 0xe588, 0xe92a, 0xe588, 0xe92a, 0xe6ba, 0xea80, 0xe6ba, -0xea80, 0xe7ad, 0xeb87, 0xe7ad, 0xeb87, 0xe7ad, 0xeb87, 0xe68d, 0xea6a, 0xe68d, 0xea6a, -0xe756, 0xeb24, 0xe756, 0xeb24, 0xe688, 0xea37, 0xe688, 0xea37, 0xe678, 0xe9f9, 0xe678, -0xe9f9, 0xe640, 0xe987, 0xe640, 0xe987, 0xe640, 0xe987, 0xe6af, 0xe9af, 0xe6af, 0xe9af, -0xe83a, 0xeaee, 0xe83a, 0xeaee, 0xe9d1, 0xec32, 0xe9d1, 0xec32, 0xebe8, 0xedf4, 0xebe8, -0xedf4, 0xeda9, 0xef63, 0xeda9, 0xef63, 0xeebb, 0xf026, 0xeebb, 0xf026, 0xeebb, 0xf026, -0xf17a, 0xf29e, 0xf17a, 0xf29e, 0xf5f4, 0xf6d9, 0xf5f4, 0xf6d9, 0xf8c8, 0xf97a, 0xf8c8, -0xf97a, 0xfb84, 0xfc10, 0xfb84, 0xfc10, 0xfd31, 0xfda5, 0xfd31, 0xfda5, 0xfe7d, 0xfee6, -0xfe7d, 0xfee6, 0xfe7d, 0xfee6, 0xfff8, 0x65, 0xfff8, 0x65, 0x189, 0x205, 0x189, -0x205, 0x183, 0x21a, 0x183, 0x21a, 0x17f, 0x23a, 0x17f, 0x23a, 0xd1, 0x1b6, -0xd1, 0x1b6, 0xd1, 0x1b6, 0x6a, 0x17e, 0x6a, 0x17e, 0xfffa, 0x13f, 0xfffa, -0x13f, 0xfefc, 0x71, 0xfefc, 0x71, 0xfed4, 0x75, 0xfed4, 0x75, 0xfdb5, 0xff7d, -0xfdb5, 0xff7d, 0xfd3b, 0xff20, 0xfd3b, 0xff20, 0xfd3b, 0xff20, 0xfd53, 0xff4c, 0xfd53, -0xff4c, 0xfcf5, 0xfef6, 0xfcf5, 0xfef6, 0xfc6c, 0xfe6b, 0xfc6c, 0xfe6b, 0xfd0a, 0xfefb, -0xfd0a, 0xfefb, 0xfd5c, 0xff32, 0xfd5c, 0xff32, 0xfec6, 0x78, 0xfec6, 0x78, 0xfec6, -0x78, 0xff84, 0x109, 0xff84, 0x109, 0xffc8, 0x11a, 0xffc8, 0x11a, 0xb2, 0x1cb, -0xb2, 0x1cb, 0xec, 0x1cb, 0xec, 0x1cb, 0x10f, 0x1b4, 0x10f, 0x1b4, 0x10f, -0x1b4, 0x118, 0x187, 0x118, 0x187, 0xff38, 0xff77, 0xff38, 0xff77, 0xfe00, 0xfe17, -0xfe00, 0xfe17, 0xfd63, 0xfd5c, 0xfd63, 0xfd5c, 0xfb9d, 0xfb84, 0xfb9d, 0xfb84, 0xfae6, -0xfac8, 0xfae6, 0xfac8, 0xfae6, 0xfac8, 0xf93a, 0xf925, 0xf93a, 0xf925, 0xf8a7, 0xf8a7, -0xf8a7, 0xf8a7, 0xf677, 0xf69a, 0xf677, 0xf69a, 0xf436, 0xf488, 0xf436, 0xf488, 0xf2cd, -0xf358, 0xf2cd, 0xf358, 0xf2cd, 0xf358, 0xf1f2, 0xf2be, 0xf1f2, 0xf2be, 0xf025, 0xf139, -0xf025, 0xf139, 0xee5c, 0xefba, 0xee5c, 0xefba, 0xed9f, 0xef48, 0xed9f, 0xef48, 0xeb60, -0xed52, 0xeb60, 0xed52, 0xea54, 0xec8a, 0xea54, 0xec8a, 0xea54, 0xec8a, 0xe942, 0xebb4, -0xe942, 0xebb4, 0xe91b, 0xebc0, 0xe91b, 0xebc0, 0xe96a, 0xec36, 0xe96a, 0xec36, 0xe950, -0xec36, 0xe950, 0xec36, 0xe7f9, 0xeae9, 0xe7f9, 0xeae9, 0xe7e7, 0xead5, 0xe7e7, 0xead5, -0xe7e7, 0xead5, 0xe7d8, 0xeab3, 0xe7d8, 0xeab3, 0xe8e8, 0xeba4, 0xe8e8, 0xeba4, 0xe914, -0xeba4, 0xe914, 0xeba4, 0xe84d, 0xeaa6, 0xe84d, 0xeaa6, 0xe7fa, 0xea12, 0xe7fa, 0xea12, -0xe7fa, 0xea12, 0xe7e2, 0xe9b1, 0xe7e2, 0xe9b1, 0xe8ae, 0xea31, 0xe8ae, 0xea31, 0xe894, -0xe9c8, 0xe894, 0xe9c8, 0xeae4, 0xebc9, 0xeae4, 0xebc9, 0xec39, 0xecd0, 0xec39, 0xecd0, -0xefbd, 0xf00b, 0xefbd, 0xf00b, 0xefbd, 0xf00b, 0xf242, 0xf24d, 0xf242, 0xf24d, 0xf4b2, -0xf481, 0xf4b2, 0xf481, 0xf750, 0xf6ec, 0xf750, 0xf6ec, 0xf895, 0xf806, 0xf895, 0xf806, -0xfaec, 0xfa3b, 0xfaec, 0xfa3b, 0xfbef, 0xfb25, 0xfbef, 0xfb25, 0xfbef, 0xfb25, 0xfccb, -0xfbf0, 0xfccb, 0xfbf0, 0xfd1e, 0xfc3a, 0xfd1e, 0xfc3a, 0xfdbd, 0xfcd5, 0xfdbd, 0xfcd5, -0xfde5, 0xfcfd, 0xfde5, 0xfcfd, 0xfe29, 0xfd45, 0xfe29, 0xfd45, 0xfe29, 0xfd45, 0xfd8d, -0xfcac, 0xfd8d, 0xfcac, 0xfdb5, 0xfcd7, 0xfdb5, 0xfcd7, 0xfd99, 0xfcbd, 0xfd99, 0xfcbd, -0xfcfe, 0xfc20, 0xfcfe, 0xfc20, 0xfc39, 0xfb55, 0xfc39, 0xfb55, 0xfd8c, 0xfc9d, 0xfd8c, -0xfc9d, 0xfd8c, 0xfc9d, 0xfebc, 0xfdbe, 0xfebc, 0xfdbe, 0xff51, 0xfe3e, 0xff51, 0xfe3e, -0xf1, 0xffc5, 0xf1, 0xffc5, 0x251, 0x108, 0x251, 0x108, 0x549, 0x3e0, 0x549, -0x3e0, 0x709, 0x57e, 0x709, 0x57e, 0x709, 0x57e, 0x979, 0x7cd, 0x979, 0x7cd, -0xa67, 0x89c, 0xa67, 0x89c, 0xb47, 0x95f, 0xb47, 0x95f, 0xc39, 0xa39, 0xc39, -0xa39, 0xd56, 0xb45, 0xd56, 0xb45, 0xd56, 0xb45, 0xe15, 0xbfb, 0xe15, 0xbfb, -0xd6d, 0xb52, 0xd6d, 0xb52, 0xd86, 0xb73, 0xd86, 0xb73, 0xcc6, 0xac5, 0xcc6, -0xac5, 0xb80, 0x99a, 0xb80, 0x99a, 0xabd, 0x8fc, 0xabd, 0x8fc, 0xabd, 0x8fc, -0xa2e, 0x899, 0xa2e, 0x899, 0x932, 0x7d1, 0x932, 0x7d1, 0x958, 0x831, 0x958, -0x831, 0x9b4, 0x8cc, 0x9b4, 0x8cc, 0x959, 0x8b2, 0x959, 0x8b2, 0x867, 0x801, -0x867, 0x801, 0x867, 0x801, 0x85b, 0x836, 0x85b, 0x836, 0x763, 0x77b, 0x763, -0x77b, 0x700, 0x751, 0x700, 0x751, 0x65f, 0x6e2, 0x65f, 0x6e2, 0x644, 0x6f2, -0x644, 0x6f2, 0x644, 0x6f2, 0x682, 0x753, 0x682, 0x753, 0x6a1, 0x78c, 0x6a1, -0x78c, 0x823, 0x920, 0x823, 0x920, 0x7ea, 0x8ef, 0x7ea, 0x8ef, 0x7c9, 0x8ce, -0x7c9, 0x8ce, 0x808, 0x905, 0x808, 0x905, 0x808, 0x905, 0x76d, 0x85e, 0x76d, -0x85e, 0x5ba, 0x698, 0x5ba, 0x698, 0x502, 0x5ca, 0x502, 0x5ca, 0x2fa, 0x3ab, -0x2fa, 0x3ab, 0x29d, 0x337, 0x29d, 0x337, 0x2fb, 0x37e, 0x2fb, 0x37e, 0x2fb, -0x37e, 0x34d, 0x3bc, 0x34d, 0x3bc, 0x442, 0x4a1, 0x442, 0x4a1, 0x4e8, 0x53a, -0x4e8, 0x53a, 0x602, 0x64e, 0x602, 0x64e, 0x688, 0x6d3, 0x688, 0x6d3, 0x688, -0x6d3, 0x7a1, 0x7f0, 0x7a1, 0x7f0, 0x7d1, 0x828, 0x7d1, 0x828, 0x8f5, 0x959, -0x8f5, 0x959, 0x961, 0x9d6, 0x961, 0x9d6, 0xa4f, 0xad7, 0xa4f, 0xad7, 0xa55, -0xaef, 0xa55, 0xaef, 0xa55, 0xaef, 0xa11, 0xabe, 0xa11, 0xabe, 0x967, 0xa25, -0x967, 0xa25, 0x8aa, 0x977, 0x8aa, 0x977, 0x87c, 0x953, 0x87c, 0x953, 0x890, -0x96b, 0x890, 0x96b, 0x995, 0xa70, 0x995, 0xa70, 0x995, 0xa70, 0x8b1, 0x984, -0x8b1, 0x984, 0x838, 0x8ff, 0x838, 0x8ff, 0x892, 0x947, 0x892, 0x947, 0x9bb, -0xa59, 0x9bb, 0xa59, 0xb21, 0xba4, 0xb21, 0xba4, 0xb21, 0xba4, 0xc09, 0xc6f, -0xc09, 0xc6f, 0xaab, 0xaf3, 0xaab, 0xaf3, 0xb78, 0xba2, 0xb78, 0xba2, 0xb45, -0xb54, 0xb45, 0xb54, 0xa85, 0xa7d, 0xa85, 0xa7d, 0x96e, 0x954, 0x96e, 0x954, -0x96e, 0x954, 0x6fb, 0x6d7, 0x6fb, 0x6d7, 0x6b0, 0x689, 0x6b0, 0x689, 0x4b7, -0x495, 0x4b7, 0x495, 0x2ef, 0x2dd, 0x2ef, 0x2dd, 0xcd, 0xd3, 0xcd, 0xd3, -0xfe01, 0xfe28, 0xfe01, 0xfe28, 0xfe01, 0xfe28, 0xfb3a, 0xfb8a, 0xfb3a, 0xfb8a, 0xfaa5, -0xfb23, 0xfaa5, 0xfb23, 0xf786, 0xf839, 0xf786, 0xf839, 0xf3f6, 0xf4e0, 0xf3f6, 0xf4e0, -0xf1f7, 0xf318, 0xf1f7, 0xf318, 0xf1f7, 0xf318, 0xf02d, 0xf184, 0xf02d, 0xf184, 0xee7e, -0xf008, 0xee7e, 0xf008, 0xeaf4, 0xeca9, 0xeaf4, 0xeca9, 0xe8a2, 0xea7b, 0xe8a2, 0xea7b, -0xe655, 0xe846, 0xe655, 0xe846, 0xe4f5, 0xe6f3, 0xe4f5, 0xe6f3, 0xe4f5, 0xe6f3, 0xe512, -0xe70f, 0xe512, 0xe70f, 0xe53d, 0xe72b, 0xe53d, 0xe72b, 0xe506, 0xe6d7, 0xe506, 0xe6d7, -0xe6b2, 0xe858, 0xe6b2, 0xe858, 0xe777, 0xe8e4, 0xe777, 0xe8e4, 0xe82b, 0xe953, 0xe82b, -0xe953, 0xe82b, 0xe953, 0xe9e5, 0xeabd, 0xe9e5, 0xeabd, 0xeb93, 0xec12, 0xeb93, 0xec12, -0xeca4, 0xecc3, 0xeca4, 0xecc3, 0xee61, 0xee1c, 0xee61, 0xee1c, 0xefcf, 0xef24, 0xefcf, -0xef24, 0xefcf, 0xef24, 0xf087, 0xef77, 0xf087, 0xef77, 0xf310, 0xf19d, 0xf310, 0xf19d, -0xf610, 0xf440, 0xf610, 0xf440, 0xfa2e, 0xf808, 0xfa2e, 0xf808, 0xfd04, 0xfa90, 0xfd04, -0xfa90, 0x146, 0xfe8e, 0x146, 0xfe8e, 0x146, 0xfe8e, 0x3b4, 0xc1, 0x3b4, 0xc1, -0x532, 0x20f, 0x532, 0x20f, 0x963, 0x61a, 0x963, 0x61a, 0xc87, 0x921, 0xc87, -0x921, 0xeac, 0xb31, 0xeac, 0xb31, 0xeac, 0xb31, 0x11f0, 0xe65, 0x11f0, 0xe65, -0x1390, 0xffb, 0x1390, 0xffb, 0x14c1, 0x1125, 0x14c1, 0x1125, 0x16b7, 0x1313, 0x16b7, -0x1313, 0x17b2, 0x1406, 0x17b2, 0x1406, 0x198d, 0x15d5, 0x198d, 0x15d5, 0x198d, 0x15d5, -0x19e7, 0x161f, 0x19e7, 0x161f, 0x1b2b, 0x174d, 0x1b2b, 0x174d, 0x1c69, 0x1870, 0x1c69, -0x1870, 0x1df2, 0x19d6, 0x1df2, 0x19d6, 0x1fb6, 0x1b73, 0x1fb6, 0x1b73, 0x229a, 0x1e28, -0x229a, 0x1e28, 0x229a, 0x1e28, 0x2458, 0x1fb4, 0x2458, 0x1fb4, 0x26ec, 0x2213, 0x26ec, -0x2213, 0x2ad7, 0x25c7, 0x2ad7, 0x25c7, 0x2d40, 0x27fb, 0x2d40, 0x27fb, 0x30a4, 0x2b2f, -0x30a4, 0x2b2f, 0x30a4, 0x2b2f, 0x31dc, 0x2c3d, 0x31dc, 0x2c3d, 0x33a1, 0x2de2, 0x33a1, -0x2de2, 0x3441, 0x2e6d, 0x3441, 0x2e6d, 0x349c, 0x2ec2, 0x349c, 0x2ec2, 0x3487, 0x2eb5, -0x3487, 0x2eb5, 0x3273, 0x2cbb, 0x3273, 0x2cbb, 0x3273, 0x2cbb, 0x3099, 0x2b0e, 0x3099, -0x2b0e, 0x2f87, 0x2a3b, 0x2f87, 0x2a3b, 0x2cc5, 0x27cb, 0x2cc5, 0x27cb, 0x298f, 0x24f7, -0x298f, 0x24f7, 0x270a, 0x22e6, 0x270a, 0x22e6, 0x244a, 0x20a8, 0x244a, 0x20a8, 0x244a, -0x20a8, 0x2140, 0x1e2b, 0x2140, 0x1e2b, 0x1e68, 0x1bea, 0x1e68, 0x1bea, 0x1bc8, 0x19e6, -0x1bc8, 0x19e6, 0x1783, 0x1640, 0x1783, 0x1640, 0x1516, 0x1472, 0x1516, 0x1472, 0x1516, -0x1472, 0x1153, 0x1149, 0x1153, 0x1149, 0xda8, 0xe31, 0xda8, 0xe31, 0x9fe, 0xb10, -0x9fe, 0xb10, 0x7d3, 0x961, 0x7d3, 0x961, 0x5c3, 0x7c0, 0x5c3, 0x7c0, 0x2c9, -0x524, 0x2c9, 0x524, 0x2c9, 0x524, 0x189, 0x432, 0x189, 0x432, 0xffa5, 0x28a, -0xffa5, 0x28a, 0xfe37, 0x148, 0xfe37, 0x148, 0xfc5a, 0xff88, 0xfc5a, 0xff88, 0xfaf3, -0xfe2e, 0xfaf3, 0xfe2e, 0xf80f, 0xfb4c, 0xf80f, 0xfb4c, 0xf80f, 0xfb4c, 0xf543, 0xf876, -0xf543, 0xf876, 0xf271, 0xf593, 0xf271, 0xf593, 0xef23, 0xf22e, 0xef23, 0xf22e, 0xed22, -0xf014, 0xed22, 0xf014, 0xecba, 0xef91, 0xecba, 0xef91, 0xecba, 0xef91, 0xeb6e, 0xee2c, -0xeb6e, 0xee2c, 0xeaba, 0xed62, 0xeaba, 0xed62, 0xeaa7, 0xed3e, 0xeaa7, 0xed3e, 0xea38, -0xecc2, 0xea38, 0xecc2, 0xeaf4, 0xed79, 0xeaf4, 0xed79, 0xebc7, 0xee4d, 0xebc7, 0xee4d, -0xebc7, 0xee4d, 0xec3d, 0xeec9, 0xec3d, 0xeec9, 0xeb04, 0xed9b, 0xeb04, 0xed9b, 0xeb50, -0xedf4, 0xeb50, 0xedf4, 0xea96, 0xed49, 0xea96, 0xed49, 0xe908, 0xebca, 0xe908, 0xebca, -0xe73b, 0xea08, 0xe73b, 0xea08, 0xe73b, 0xea08, 0xe50e, 0xe7e3, 0xe50e, 0xe7e3, 0xe3b6, -0xe68a, 0xe3b6, 0xe68a, 0xe33f, 0xe60a, 0xe33f, 0xe60a, 0xe2c2, 0xe579, 0xe2c2, 0xe579, -0xe238, 0xe4d0, 0xe238, 0xe4d0, 0xe238, 0xe4d0, 0xe1ff, 0xe46a, 0xe1ff, 0xe46a, 0xe232, -0xe464, 0xe232, 0xe464, 0xe340, 0xe52c, 0xe340, 0xe52c, 0xe4b4, 0xe64e, 0xe4b4, 0xe64e, -0xe74c, 0xe889, 0xe74c, 0xe889, 0xe9e8, 0xeac0, 0xe9e8, 0xeac0, 0xe9e8, 0xeac0, 0xee1e, -0xee8a, 0xee1e, 0xee8a, 0xf119, 0xf115, 0xf119, 0xf115, 0xf467, 0xf3f2, 0xf467, 0xf3f2, -0xf708, 0xf626, 0xf708, 0xf626, 0xf9d1, 0xf886, 0xf9d1, 0xf886, 0xfdbc, 0xfc10, 0xfdbc, -0xfc10, 0xfdbc, 0xfc10, 0x188, 0xff87, 0x188, 0xff87, 0x49b, 0x252, 0x49b, 0x252, -0x59d, 0x31e, 0x59d, 0x31e, 0x690, 0x3eb, 0x690, 0x3eb, 0x6f7, 0x440, 0x6f7, -0x440, 0x6f7, 0x440, 0x7c9, 0x513, 0x7c9, 0x513, 0x708, 0x467, 0x708, 0x467, -0x647, 0x3cd, 0x647, 0x3cd, 0x43d, 0x1fc, 0x43d, 0x1fc, 0x2f2, 0xf9, 0x2f2, -0xf9, 0x2c0, 0x11d, 0x2c0, 0x11d, 0x2c0, 0x11d, 0x1ce, 0x8b, 0x1ce, 0x8b, -0x30, 0xff57, 0x30, 0xff57, 0xfecb, 0xfe5f, 0xfecb, 0xfe5f, 0xfcd8, 0xfcdb, 0xfcd8, -0xfcdb, 0xfb2e, 0xfba0, 0xfb2e, 0xfba0, 0xfa63, 0xfb3f, 0xfa63, 0xfb3f, 0xfa63, 0xfb3f, -0xf7e7, 0xf927, 0xf7e7, 0xf927, 0xf710, 0xf8ac, 0xf710, 0xf8ac, 0xf579, 0xf764, 0xf579, -0xf764, 0xf51d, 0xf74e, 0xf51d, 0xf74e, 0xf3ac, 0xf615, 0xf3ac, 0xf615, 0xf3ac, 0xf615, -0xf27c, 0xf511, 0xf27c, 0xf511, 0xf21a, 0xf4ce, 0xf21a, 0xf4ce, 0xeffa, 0xf2c1, 0xeffa, -0xf2c1, 0xee41, 0xf111, 0xee41, 0xf111, 0xec41, 0xef10, 0xec41, 0xef10, 0xe908, 0xebd0, -0xe908, 0xebd0, 0xe908, 0xebd0, 0xe6cf, 0xe989, 0xe6cf, 0xe989, 0xe6f9, 0xe9a1, 0xe6f9, -0xe9a1, 0xe61b, 0xe8b0, 0xe61b, 0xe8b0, 0xe64a, 0xe8cd, 0xe64a, 0xe8cd, 0xe75d, 0xe9cd, -0xe75d, 0xe9cd, 0xe83a, 0xea9b, 0xe83a, 0xea9b, 0xe83a, 0xea9b, 0xe85f, 0xeab4, 0xe85f, -0xeab4, 0xea55, 0xeca3, 0xea55, 0xeca3, 0xebc7, 0xee12, 0xebc7, 0xee12, 0xed4a, 0xef96, -0xed4a, 0xef96, 0xee28, 0xf078, 0xee28, 0xf078, 0xee28, 0xf078, 0xee62, 0xf0b9, 0xee62, -0xf0b9, 0xef0e, 0xf16b, 0xef0e, 0xf16b, 0xee24, 0xf087, 0xee24, 0xf087, 0xeded, 0xf054, -0xeded, 0xf054, 0xec77, 0xeedf, 0xec77, 0xeedf, 0xec1b, 0xee7d, 0xec1b, 0xee7d, 0xec1b, -0xee7d, 0xec05, 0xee5b, 0xec05, 0xee5b, 0xec6c, 0xeeab, 0xec6c, 0xeeab, 0xec2c, 0xee4c, -0xec2c, 0xee4c, 0xec68, 0xee5e, 0xec68, 0xee5e, 0xeda1, 0xef61, 0xeda1, 0xef61, 0xef19, -0xf09a, 0xef19, 0xf09a, 0xef19, 0xf09a, 0xf190, 0xf2c8, 0xf190, 0xf2c8, 0xf44e, 0xf533, -0xf44e, 0xf533, 0xf745, 0xf7cf, 0xf745, 0xf7cf, 0xf9ca, 0xf9f3, 0xf9ca, 0xf9f3, 0xfd33, -0xfcf8, 0xfd33, 0xfcf8, 0xfd33, 0xfcf8, 0xffc2, 0xff22, 0xffc2, 0xff22, 0x1c4, 0xbe, -0x1c4, 0xbe, 0x3c2, 0x25b, 0x3c2, 0x25b, 0x610, 0x44e, 0x610, 0x44e, 0x802, -0x5ed, 0x802, 0x5ed, 0x941, 0x6e4, 0x941, 0x6e4, 0x941, 0x6e4, 0x945, 0x6ac, -0x945, 0x6ac, 0xa25, 0x75f, 0xa25, 0x75f, 0xb15, 0x82f, 0xb15, 0x82f, 0xbc7, -0x8d3, 0xbc7, 0x8d3, 0xc50, 0x95e, 0xc50, 0x95e, 0xc50, 0x95e, 0xbc6, 0x8e5, -0xbc6, 0x8e5, 0xb50, 0x88f, 0xb50, 0x88f, 0xb24, 0x891, 0xb24, 0x891, 0xb3e, -0x8e5, 0xb3e, 0x8e5, 0xa80, 0x86d, 0xa80, 0x86d, 0xa19, 0x854, 0xa19, 0x854, -0xa19, 0x854, 0x857, 0x6e6, 0x857, 0x6e6, 0x6c0, 0x5a7, 0x6c0, 0x5a7, 0x51f, -0x461, 0x51f, 0x461, 0x3d0, 0x36c, 0x3d0, 0x36c, 0x1be, 0x1b1, 0x1be, 0x1b1, -0xffe9, 0x30, 0xffe9, 0x30, 0xffe9, 0x30, 0xfed7, 0xff6b, 0xfed7, 0xff6b, 0xfd77, -0xfe52, 0xfd77, 0xfe52, 0xfd55, 0xfe6f, 0xfd55, 0xfe6f, 0xfca5, 0xfdf6, 0xfca5, 0xfdf6, -0xfb78, 0xfcf8, 0xfb78, 0xfcf8, 0xfb78, 0xfcf8, 0xfa00, 0xfba5, 0xfa00, 0xfba5, 0xf8c4, -0xfa87, 0xf8c4, 0xfa87, 0xf624, 0xf7fd, 0xf624, 0xf7fd, 0xf48b, 0xf674, 0xf48b, 0xf674, -0xf440, 0xf633, 0xf440, 0xf633, 0xf47c, 0xf674, 0xf47c, 0xf674, 0xf47c, 0xf674, 0xf4e4, -0xf6dd, 0xf4e4, 0xf6dd, 0xf624, 0xf81b, 0xf624, 0xf81b, 0xf75e, 0xf950, 0xf75e, 0xf950, -0xf8a7, 0xfa93, 0xf8a7, 0xfa93, 0xfa83, 0xfc67, 0xfa83, 0xfc67, 0xfc2d, 0xfe07, 0xfc2d, -0xfe07, 0xfc2d, 0xfe07, 0xfd9f, 0xff6f, 0xfd9f, 0xff6f, 0xfe98, 0x5c, 0xfe98, 0x5c, -0x26, 0x1dc, 0x26, 0x1dc, 0xffeb, 0x190, 0xffeb, 0x190, 0x15, 0x1a5, 0x15, -0x1a5, 0x15, 0x1a5, 0xff8d, 0x105, 0xff8d, 0x105, 0x10, 0x16b, 0x10, 0x16b, -0xe6, 0x21e, 0xe6, 0x21e, 0x1d9, 0x2e8, 0x1d9, 0x2e8, 0x324, 0x404, 0x324, -0x404, 0x347, 0x3f0, 0x347, 0x3f0, 0x347, 0x3f0, 0x3a8, 0x415, 0x3a8, 0x415, -0x46d, 0x496, 0x46d, 0x496, 0x5d8, 0x5b8, 0x5d8, 0x5b8, 0x75e, 0x6ef, 0x75e, -0x6ef, 0xa92, 0x9d1, 0xa92, 0x9d1, 0xcf1, 0xbda, 0xcf1, 0xbda, 0xcf1, 0xbda, -0xf69, 0xdfb, 0xf69, 0xdfb, 0x112c, 0xf68, 0x112c, 0xf68, 0x12c7, 0x10b0, 0x12c7, -0x10b0, 0x142d, 0x11c6, 0x142d, 0x11c6, 0x15ce, 0x131d, 0x15ce, 0x131d, 0x15ce, 0x131d, -0x1658, 0x1366, 0x1658, 0x1366, 0x16e9, 0x13be, 0x16e9, 0x13be, 0x17ad, 0x1455, 0x17ad, -0x1455, 0x166e, 0x12f4, 0x166e, 0x12f4, 0x16f5, 0x1366, 0x16f5, 0x1366, 0x1642, 0x12ab, -0x1642, 0x12ab, 0x1642, 0x12ab, 0x1633, 0x12a3, 0x1633, 0x12a3, 0x164e, 0x12d2, 0x164e, -0x12d2, 0x15cd, 0x1273, 0x15cd, 0x1273, 0x1578, 0x124b, 0x1578, 0x124b, 0x1594, 0x129f, -0x1594, 0x129f, 0x1513, 0x1262, 0x1513, 0x1262, 0x1513, 0x1262, 0x139d, 0x1137, 0x139d, -0x1137, 0x1224, 0x1011, 0x1224, 0x1011, 0x1190, 0xfd6, 0x1190, 0xfd6, 0x1143, 0xfe5, -0x1143, 0xfe5, 0xfda, 0xedb, 0xfda, 0xedb, 0xfda, 0xedb, 0xe70, 0xdd1, 0xe70, -0xdd1, 0xcb0, 0xc71, 0xcb0, 0xc71, 0xc05, 0xc24, 0xc05, 0xc24, 0xaf8, 0xb72, -0xaf8, 0xb72, 0xa55, 0xb29, 0xa55, 0xb29, 0x8f3, 0xa1d, 0x8f3, 0xa1d, 0x8f3, -0xa1d, 0x7f4, 0x970, 0x7f4, 0x970, 0x67a, 0x844, 0x67a, 0x844, 0x3f2, 0x607, -0x3f2, 0x607, 0xb3, 0x310, 0xb3, 0x310, 0xfc6a, 0xff0b, 0xfc6a, 0xff0b, 0xf8b2, -0xfb95, 0xf8b2, 0xfb95, 0xf8b2, 0xfb95, 0xf53c, 0xf85d, 0xf53c, 0xf85d, 0xf307, 0xf664, -0xf307, 0xf664, 0xf05b, 0xf3f2, 0xf05b, 0xf3f2, 0xeddf, 0xf1ae, 0xeddf, 0xf1ae, 0xec7f, -0xf082, 0xec7f, 0xf082, 0xec7f, 0xf082, 0xec7a, 0xf0ad, 0xec7a, 0xf0ad, 0xeba2, 0xf002, -0xeba2, 0xf002, 0xeb07, 0xef8d, 0xeb07, 0xef8d, 0xea1b, 0xeec3, 0xea1b, 0xeec3, 0xe8b9, -0xed7a, 0xe8b9, 0xed7a, 0xe773, 0xec45, 0xe773, 0xec45, 0xe773, 0xec45, 0xe535, 0xea0e, -0xe535, 0xea0e, 0xe2ec, 0xe7c0, 0xe2ec, 0xe7c0, 0xe0e6, 0xe5aa, 0xe0e6, 0xe5aa, 0xdff4, -0xe49a, 0xdff4, 0xe49a, 0xdf29, 0xe3a3, 0xdf29, 0xe3a3, 0xdebe, 0xe2fd, 0xdebe, 0xe2fd, -0xdebe, 0xe2fd, 0xde66, 0xe25d, 0xde66, 0xe25d, 0xddfe, 0xe19c, 0xddfe, 0xe19c, 0xdd85, -0xe0be, 0xdd85, 0xe0be, 0xdeef, 0xe1b6, 0xdeef, 0xe1b6, 0xe034, 0xe27d, 0xe034, 0xe27d, -0xe034, 0xe27d, 0xe175, 0xe335, 0xe175, 0xe335, 0xe4ef, 0xe61f, 0xe4ef, 0xe61f, 0xe990, -0xea2a, 0xe990, 0xea2a, 0xee3e, 0xee40, 0xee3e, 0xee40, 0xf2ce, 0xf236, 0xf2ce, 0xf236, -0xf6da, 0xf5ab, 0xf6da, 0xf5ab, 0xf6da, 0xf5ab, 0xfa43, 0xf881, 0xfa43, 0xf881, 0xfe4d, -0xfc00, 0xfe4d, 0xfc00, 0x309, 0x39, 0x309, 0x39, 0x7a1, 0x45b, 0x7a1, 0x45b, -0xa3e, 0x68e, 0xa3e, 0x68e, 0xca0, 0x895, 0xca0, 0x895, 0xca0, 0x895, 0xe70, -0xa18, 0xe70, 0xa18, 0x100d, 0xb78, 0x100d, 0xb78, 0x112d, 0xc6b, 0x112d, 0xc6b, -0x132c, 0xe4a, 0x132c, 0xe4a, 0x146a, 0xf78, 0x146a, 0xf78, 0x146a, 0xf78, 0x14ec, -0xff6, 0x14ec, 0xff6, 0x16a6, 0x11b5, 0x16a6, 0x11b5, 0x176f, 0x128e, 0x176f, 0x128e, -0x1879, 0x13af, 0x1879, 0x13af, 0x18f0, 0x1442, 0x18f0, 0x1442, 0x19d2, 0x1543, 0x19d2, -0x1543, 0x19d2, 0x1543, 0x1a70, 0x1602, 0x1a70, 0x1602, 0x1b49, 0x16fa, 0x1b49, 0x16fa, -0x1b90, 0x175f, 0x1b90, 0x175f, 0x1b34, 0x171f, 0x1b34, 0x171f, 0x1bad, 0x17b0, 0x1bad, -0x17b0, 0x1cc9, 0x18e1, 0x1cc9, 0x18e1, 0x1cc9, 0x18e1, 0x1e34, 0x1a5c, 0x1e34, 0x1a5c, -0x1f67, 0x1b9c, 0x1f67, 0x1b9c, 0x1f9b, 0x1bdc, 0x1f9b, 0x1bdc, 0x2042, 0x1c8d, 0x2042, -0x1c8d, 0x2077, 0x1ccb, 0x2077, 0x1ccb, 0x2077, 0x1ccb, 0x1fd4, 0x1c33, 0x1fd4, 0x1c33, -0x2016, 0x1c84, 0x2016, 0x1c84, 0x1df7, 0x1a79, 0x1df7, 0x1a79, 0x1c59, 0x18f4, 0x1c59, -0x18f4, 0x1b85, 0x1841, 0x1b85, 0x1841, 0x1b37, 0x181c, 0x1b37, 0x181c, 0x1b37, 0x181c, -0x1a2d, 0x1745, 0x1a2d, 0x1745, 0x1942, 0x1696, 0x1942, 0x1696, 0x18bc, 0x1654, 0x18bc, -0x1654, 0x1844, 0x162a, 0x1844, 0x162a, 0x1854, 0x168f, 0x1854, 0x168f, 0x1854, 0x168f, -0x17ea, 0x1682, 0x17ea, 0x1682, 0x17ed, 0x16e5, 0x17ed, 0x16e5, 0x16b3, 0x160c, 0x16b3, -0x160c, 0x165e, 0x1619, 0x165e, 0x1619, 0x1402, 0x141e, 0x1402, 0x141e, 0x10b9, 0x112f, -0x10b9, 0x112f, 0x10b9, 0x112f, 0xe33, 0xefb, 0xe33, 0xefb, 0xbb7, 0xcc8, 0xbb7, -0xcc8, 0x9bd, 0xb0a, 0x9bd, 0xb0a, 0x816, 0x992, 0x816, 0x992, 0x606, 0x7a1, -0x606, 0x7a1, 0x377, 0x521, 0x377, 0x521, 0x377, 0x521, 0x252, 0x3fa, 0x252, -0x3fa, 0x1d1, 0x367, 0x1d1, 0x367, 0x20b, 0x380, 0x20b, 0x380, 0x2be, 0x404, -0x2be, 0x404, 0x373, 0x47e, 0x373, 0x47e, 0x373, 0x47e, 0x40d, 0x4d3, 0x40d, -0x4d3, 0x564, 0x5de, 0x564, 0x5de, 0x663, 0x68d, 0x663, 0x68d, 0x798, 0x771, -0x798, 0x771, 0x82b, 0x7b4, 0x82b, 0x7b4, 0x9c8, 0x907, 0x9c8, 0x907, 0x9c8, -0x907, 0xa45, 0x942, 0xa45, 0x942, 0x924, 0x7ea, 0x924, 0x7ea, 0x94f, 0x7ea, -0x94f, 0x7ea, 0x815, 0x694, 0x815, 0x694, 0x724, 0x597, 0x724, 0x597, 0x5b5, -0x42c, 0x5b5, 0x42c, 0x5b5, 0x42c, 0x4e5, 0x370, 0x4e5, 0x370, 0x3cf, 0x27e, -0x3cf, 0x27e, 0x16a, 0x4a, 0x16a, 0x4a, 0xfed7, 0xfdf6, 0xfed7, 0xfdf6, 0xfbda, -0xfb42, 0xfbda, 0xfb42, 0xfbda, 0xfb42, 0xf998, 0xf950, 0xf998, 0xf950, 0xf810, 0xf81e, -0xf810, 0xf81e, 0xf58c, 0xf5f1, 0xf58c, 0xf5f1, 0xf30c, 0xf3c7, 0xf30c, 0xf3c7, 0xf126, -0xf233, 0xf126, 0xf233, 0xeedf, 0xf037, 0xeedf, 0xf037, 0xeedf, 0xf037, 0xed40, 0xeedb, -0xed40, 0xeedb, 0xebc9, 0xed9c, 0xebc9, 0xed9c, 0xea34, 0xec31, 0xea34, 0xec31, 0xe8f4, -0xeb0f, 0xe8f4, 0xeb0f, 0xe95f, 0xeb88, 0xe95f, 0xeb88, 0xea47, 0xec72, 0xea47, 0xec72, -0xea47, 0xec72, 0xeb7d, 0xed9d, 0xeb7d, 0xed9d, 0xeb86, 0xed8f, 0xeb86, 0xed8f, 0xeaa3, -0xec8c, 0xeaa3, 0xec8c, 0xeafa, 0xecba, 0xeafa, 0xecba, 0xeb34, 0xecc6, 0xeb34, 0xecc6, -0xeb34, 0xecc6, 0xeb5f, 0xecc1, 0xeb5f, 0xecc1, 0xec3c, 0xed6d, 0xec3c, 0xed6d, 0xecf7, -0xedfb, 0xecf7, 0xedfb, 0xedfe, 0xeed9, 0xedfe, 0xeed9, 0xeff7, 0xf0b1, 0xeff7, 0xf0b1, -0xf20d, 0xf2af, 0xf20d, 0xf2af, 0xf20d, 0xf2af, 0xf421, 0xf4b5, 0xf421, 0xf4b5, 0xf5ee, -0xf681, 0xf5ee, 0xf681, 0xf89e, 0xf93b, 0xf89e, 0xf93b, 0xfa24, 0xfad7, 0xfa24, 0xfad7, -0xfab1, 0xfb84, 0xfab1, 0xfb84, 0xfada, 0xfbd7, 0xfada, 0xfbd7, 0xfada, 0xfbd7, 0xf9bd, -0xfaec, 0xf9bd, 0xfaec, 0xf883, 0xf9eb, 0xf883, 0xf9eb, 0xf7c0, 0xf965, 0xf7c0, 0xf965, -0xf6a4, 0xf885, 0xf6a4, 0xf885, 0xf4f6, 0xf713, 0xf4f6, 0xf713, 0xf4f6, 0xf713, 0xf3b3, -0xf608, 0xf3b3, 0xf608, 0xf321, 0xf5a7, 0xf321, 0xf5a7, 0xf299, 0xf547, 0xf299, 0xf547, -0xf19d, 0xf469, 0xf19d, 0xf469, 0xf17d, 0xf45c, 0xf17d, 0xf45c, 0xf0aa, 0xf38e, 0xf0aa, -0xf38e, 0xf0aa, 0xf38e, 0xf0df, 0xf3bb, 0xf0df, 0xf3bb, 0xf1cc, 0xf492, 0xf1cc, 0xf492, -0xf238, 0xf4dc, 0xf238, 0xf4dc, 0xf2e2, 0xf559, 0xf2e2, 0xf559, 0xf413, 0xf655, 0xf413, -0xf655, 0xf585, 0xf789, 0xf585, 0xf789, 0xf585, 0xf789, 0xf6be, 0xf87f, 0xf6be, 0xf87f, -0xf8b2, 0xfa2e, 0xf8b2, 0xfa2e, 0xfa36, 0xfb6d, 0xfa36, 0xfb6d, 0xfae2, 0xfbd8, 0xfae2, -0xfbd8, 0xfaeb, 0xfba6, 0xfaeb, 0xfba6, 0xfaeb, 0xfba6, 0xfbaa, 0xfc31, 0xfbaa, 0xfc31, -0xfbe5, 0xfc42, 0xfbe5, 0xfc42, 0xfbe2, 0xfc22, 0xfbe2, 0xfc22, 0xfb5b, 0xfb8b, 0xfb5b, -0xfb8b, 0xfaf0, 0xfb1e, 0xfaf0, 0xfb1e, 0xfb71, 0xfbaa, 0xfb71, 0xfbaa, 0xfb71, 0xfbaa, -0xfbd4, 0xfc26, 0xfbd4, 0xfc26, 0xfaa0, 0xfb18, 0xfaa0, 0xfb18, 0xf83e, 0xf8e8, 0xf83e, -0xf8e8, 0xf73b, 0xf81f, 0xf73b, 0xf81f, 0xf648, 0xf76e, 0xf648, 0xf76e, 0xf5f2, 0xf75f, -0xf5f2, 0xf75f, 0xf5f2, 0xf75f, 0xf500, 0xf6b5, 0xf500, 0xf6b5, 0xf2f6, 0xf4f2, 0xf2f6, -0xf4f2, 0xf122, 0xf363, 0xf122, 0xf363, 0xf003, 0xf282, 0xf003, 0xf282, 0xef1e, 0xf1d3, -0xef1e, 0xf1d3, 0xef1e, 0xf1d3, 0xef0c, 0xf1ed, 0xef0c, 0xf1ed, 0xeeab, 0xf1ac, 0xeeab, -0xf1ac, 0xeed0, 0xf1e3, 0xeed0, 0xf1e3, 0xefe7, 0xf2fe, 0xefe7, 0xf2fe, 0xf011, 0xf31f, -0xf011, 0xf31f, 0xefd5, 0xf2cc, 0xefd5, 0xf2cc, 0xefd5, 0xf2cc, 0xee2c, 0xf0ff, 0xee2c, -0xf0ff, 0xed87, 0xf02a, 0xed87, 0xf02a, 0xecbb, 0xef25, 0xecbb, 0xef25, 0xec50, 0xee77, -0xec50, 0xee77, 0xec5a, 0xee38, 0xec5a, 0xee38, 0xec0d, 0xed9e, 0xec0d, 0xed9e, 0xec0d, -0xed9e, 0xedd8, 0xef1a, 0xedd8, 0xef1a, 0xf097, 0xf18b, 0xf097, 0xf18b, 0xf344, 0xf3ec, -0xf344, 0xf3ec, 0xf5c1, 0xf621, 0xf5c1, 0xf621, 0xf814, 0xf830, 0xf814, 0xf830, 0xf814, -0xf830, 0xf9f2, 0xf9d3, 0xf9f2, 0xf9d3, 0xfbd3, 0xfb7f, 0xfbd3, 0xfb7f, 0xfda6, 0xfd26, -0xfda6, 0xfd26, 0xfe60, 0xfdbb, 0xfe60, 0xfdbb, 0xfe45, 0xfd84, 0xfe45, 0xfd84, 0xfeb9, -0xfde3, 0xfeb9, 0xfde3, 0xfeb9, 0xfde3, 0xff3b, 0xfe56, 0xff3b, 0xfe56, 0xffc8, 0xfed8, -0xffc8, 0xfed8, 0xff89, 0xfe93, 0xff89, 0xfe93, 0xff1a, 0xfe20, 0xff1a, 0xfe20, 0xfe58, -0xfd5c, 0xfe58, 0xfd5c, 0xfd2c, 0xfc2e, 0xfd2c, 0xfc2e, 0xfd2c, 0xfc2e, 0xfd29, 0xfc26, -0xfd29, 0xfc26, 0xfc60, 0xfb57, 0xfc60, 0xfb57, 0xfc64, 0xfb52, 0xfc64, 0xfb52, 0xfe54, -0xfd35, 0xfe54, 0xfd35, 0xff7a, 0xfe49, 0xff7a, 0xfe49, 0xff7a, 0xfe49, 0xfffc, 0xfeb6, -0xfffc, 0xfeb6, 0x162, 0x3, 0x162, 0x3, 0x2df, 0x164, 0x2df, 0x164, 0x4ce, -0x335, 0x4ce, 0x335, 0x6df, 0x527, 0x6df, 0x527, 0x8d8, 0x701, 0x8d8, 0x701, -0x8d8, 0x701, 0xa2a, 0x835, 0xa2a, 0x835, 0xa53, 0x842, 0xa53, 0x842, 0xabf, -0x895, 0xabf, 0x895, 0xa7a, 0x83c, 0xa7a, 0x83c, 0xab9, 0x86d, 0xab9, 0x86d, -0xab9, 0x86d, 0xb6d, 0x919, 0xb6d, 0x919, 0xaed, 0x898, 0xaed, 0x898, 0xab9, -0x869, 0xab9, 0x869, 0xa35, 0x7f2, 0xa35, 0x7f2, 0x991, 0x761, 0x991, 0x761, -0x93c, 0x726, 0x93c, 0x726, 0x93c, 0x726, 0x8cd, 0x6d6, 0x8cd, 0x6d6, 0x864, -0x690, 0x864, 0x690, 0x726, 0x578, 0x726, 0x578, 0x6a5, 0x521, 0x6a5, 0x521, -0x5ea, 0x490, 0x5ea, 0x490, 0x4bd, 0x38d, 0x4bd, 0x38d, 0x4bd, 0x38d, 0x383, -0x27c, 0x383, 0x27c, 0x235, 0x154, 0x235, 0x154, 0x229, 0x16b, 0x229, 0x16b, -0x243, 0x1a5, 0x243, 0x1a5, 0x280, 0x1fe, 0x280, 0x1fe, 0x280, 0x1fe, 0x242, -0x1d6, 0x242, 0x1d6, 0x1d1, 0x177, 0x1d1, 0x177, 0x12c, 0xe0, 0x12c, 0xe0, -0x12, 0xffcf, 0x12, 0xffcf, 0xff34, 0xfef7, 0xff34, 0xfef7, 0xfe22, 0xfde8, 0xfe22, -0xfde8, 0xfe22, 0xfde8, 0xfd22, 0xfce8, 0xfd22, 0xfce8, 0xfc23, 0xfbe9, 0xfc23, 0xfbe9, -0xfacd, 0xfa91, 0xfacd, 0xfa91, 0xfa81, 0xfa43, 0xfa81, 0xfa43, 0xfa5f, 0xfa1f, 0xfa5f, -0xfa1f, 0xfaa4, 0xfa62, 0xfaa4, 0xfa62, 0xfaa4, 0xfa62, 0xfc7c, 0xfc3b, 0xfc7c, 0xfc3b, -0xfe52, 0xfe12, 0xfe52, 0xfe12, 0xac, 0x6f, 0xac, 0x6f, 0x2e3, 0x2aa, 0x2e3, -0x2aa, 0x483, 0x44f, 0x483, 0x44f, 0x483, 0x44f, 0x5a9, 0x57b, 0x5a9, 0x57b, -0x6af, 0x686, 0x6af, 0x686, 0x789, 0x766, 0x789, 0x766, 0x824, 0x805, 0x824, -0x805, 0x898, 0x87c, 0x898, 0x87c, 0x932, 0x918, 0x932, 0x918, 0x932, 0x918, -0x9e1, 0x9c6, 0x9e1, 0x9c6, 0x959, 0x93b, 0x959, 0x93b, 0x9e6, 0x9c5, 0x9e6, -0x9c5, 0xa8b, 0xa63, 0xa8b, 0xa63, 0xa49, 0xa1a, 0xa49, 0xa1a, 0xa6c, 0xa35, -0xa6c, 0xa35, 0xa6c, 0xa35, 0xb5e, 0xb1e, 0xb5e, 0xb1e, 0xcad, 0xc67, 0xcad, -0xc67, 0xc77, 0xc2c, 0xc77, 0xc2c, 0xd20, 0xcd4, 0xd20, 0xcd4, 0xe46, 0xdfd, -0xe46, 0xdfd, 0xe46, 0xdfd, 0xe82, 0xe40, 0xe82, 0xe40, 0xf1f, 0xeec, 0xf1f, -0xeec, 0xebf, 0xea1, 0xebf, 0xea1, 0xdbd, 0xdbb, 0xdbd, 0xdbb, 0xd1e, 0xd40, -0xd1e, 0xd40, 0xce5, 0xd32, 0xce5, 0xd32, 0xce5, 0xd32, 0xbe7, 0xc66, 0xbe7, -0xc66, 0xa45, 0xafc, 0xa45, 0xafc, 0x8a1, 0x994, 0x8a1, 0x994, 0x5a6, 0x6da, -0x5a6, 0x6da, 0x2de, 0x456, 0x2de, 0x456, 0xff56, 0x112, 0xff56, 0x112, 0xff56, -0x112, 0xfb44, 0xfd42, 0xfb44, 0xfd42, 0xf7d5, 0xfa12, 0xf7d5, 0xfa12, 0xf46b, 0xf6e1, -0xf46b, 0xf6e1, 0xf32e, 0xf5d7, 0xf32e, 0xf5d7, 0xf162, 0xf435, 0xf162, 0xf435, 0xf162, -0xf435, 0xeedb, 0xf1cc, 0xeedb, 0xf1cc, 0xed73, 0xf079, 0xed73, 0xf079, 0xeb82, 0xee8f, -0xeb82, 0xee8f, 0xea1b, 0xed23, 0xea1b, 0xed23, 0xe89d, 0xeb93, 0xe89d, 0xeb93, 0xe706, -0xe9de, 0xe706, 0xe9de, 0xe706, 0xe9de, 0xe6e1, 0xe98e, 0xe6e1, 0xe98e, 0xe75e, 0xe9d6, -0xe75e, 0xe9d6, 0xe8c8, 0xeb02, 0xe8c8, 0xeb02, 0xea58, 0xec4c, 0xea58, 0xec4c, 0xeae3, -0xec8b, 0xeae3, 0xec8b, 0xec77, 0xedd1, 0xec77, 0xedd1, 0xec77, 0xedd1, 0xee05, 0xef0e, -0xee05, 0xef0e, 0xeec4, 0xef7c, 0xeec4, 0xef7c, 0xefd1, 0xf03b, 0xefd1, 0xf03b, 0xf044, -0xf062, 0xf044, 0xf062, 0xf184, 0xf15c, 0xf184, 0xf15c, 0xf184, 0xf15c, 0xf36f, 0xf307, -0xf36f, 0xf307, 0xf5c5, 0xf522, 0xf5c5, 0xf522, 0xf8b4, 0xf7dd, 0xf8b4, 0xf7dd, 0xfbc2, -0xfabd, 0xfbc2, 0xfabd, 0xff15, 0xfde8, 0xff15, 0xfde8, 0x25f, 0x10c, 0x25f, 0x10c, -0x25f, 0x10c, 0x65d, 0x4ea, 0x65d, 0x4ea, 0x942, 0x7ae, 0x942, 0x7ae, 0xbc8, -0xa15, 0xbc8, 0xa15, 0xe58, 0xc82, 0xe58, 0xc82, 0x1055, 0xe5a, 0x1055, 0xe5a, -0x12bb, 0x1096, 0x12bb, 0x1096, 0x12bb, 0x1096, 0x13ea, 0x1194, 0x13ea, 0x1194, 0x158e, -0x1300, 0x158e, 0x1300, 0x176f, 0x14a1, 0x176f, 0x14a1, 0x18f1, 0x15db, 0x18f1, 0x15db, -0x1ae2, 0x177c, 0x1ae2, 0x177c, 0x1ae2, 0x177c, 0x1ce7, 0x192b, 0x1ce7, 0x192b, 0x1f2b, -0x1b12, 0x1f2b, 0x1b12, 0x20c9, 0x1c51, 0x20c9, 0x1c51, 0x22be, 0x1de4, 0x22be, 0x1de4, -0x2518, 0x1fde, 0x2518, 0x1fde, 0x274a, 0x21b3, 0x274a, 0x21b3, 0x274a, 0x21b3, 0x29e4, -0x23f7, 0x29e4, 0x23f7, 0x2c82, 0x2648, 0x2c82, 0x2648, 0x2ea7, 0x282c, 0x2ea7, 0x282c, -0x3170, 0x2ac4, 0x3170, 0x2ac4, 0x33ad, 0x2ce2, 0x33ad, 0x2ce2, 0x3431, 0x2d5a, 0x3431, -0x2d5a, 0x3431, 0x2d5a, 0x3501, 0x2e33, 0x3501, 0x2e33, 0x3512, 0x2e62, 0x3512, 0x2e62, -0x348c, 0x2e11, 0x348c, 0x2e11, 0x335c, 0x2d2c, 0x335c, 0x2d2c, 0x3128, 0x2b58, 0x3128, -0x2b58, 0x3128, 0x2b58, 0x2f62, 0x2a04, 0x2f62, 0x2a04, 0x2c8f, 0x27b6, 0x2c8f, 0x27b6, -0x2967, 0x2521, 0x2967, 0x2521, 0x2655, 0x22ad, 0x2655, 0x22ad, 0x2281, 0x1f7f, 0x2281, -0x1f7f, 0x1edf, 0x1c87, 0x1edf, 0x1c87, 0x1edf, 0x1c87, 0x1b85, 0x19d8, 0x1b85, 0x19d8, -0x185f, 0x1759, 0x185f, 0x1759, 0x14a5, 0x1440, 0x14a5, 0x1440, 0x10c0, 0x10f2, 0x10c0, -0x10f2, 0xcda, 0xd96, 0xcda, 0xd96, 0x87a, 0x9b0, 0x87a, 0x9b0, 0x87a, 0x9b0, -0x4f7, 0x696, 0x4f7, 0x696, 0x20f, 0x406, 0x20f, 0x406, 0xffbb, 0x1f7, 0xffbb, -0x1f7, 0xfe4e, 0xbd, 0xfe4e, 0xbd, 0xfd5b, 0xffeb, 0xfd5b, 0xffeb, 0xfd5b, 0xffeb, -0xfbed, 0xfe8d, 0xfbed, 0xfe8d, 0xf9e6, 0xfc88, 0xf9e6, 0xfc88, 0xf861, 0xfaf9, 0xf861, -0xfaf9, 0xf65a, 0xf8dd, 0xf65a, 0xf8dd, 0xf447, 0xf6ae, 0xf447, 0xf6ae, 0xf235, 0xf47d, -0xf235, 0xf47d, 0xf235, 0xf47d, 0xef40, 0xf166, 0xef40, 0xf166, 0xecb6, 0xeebb, 0xecb6, -0xeebb, 0xead6, 0xecbd, 0xead6, 0xecbd, 0xe9e0, 0xebaf, 0xe9e0, 0xebaf, 0xe9ff, 0xebbb, -0xe9ff, 0xebbb, 0xe9ff, 0xebbb, 0xea4c, 0xebfd, 0xea4c, 0xebfd, 0xeb27, 0xecd5, 0xeb27, -0xecd5, 0xec06, 0xedb8, 0xec06, 0xedb8, 0xec4a, 0xee05, 0xec4a, 0xee05, 0xeccb, 0xee96, -0xeccb, 0xee96, 0xec16, 0xedf4, 0xec16, 0xedf4, 0xec16, 0xedf4, 0xeb50, 0xed43, 0xeb50, -0xed43, 0xeb04, 0xed0a, 0xeb04, 0xed0a, 0xea00, 0xec17, 0xea00, 0xec17, 0xe998, 0xebba, -0xe998, 0xebba, 0xe8ee, 0xeb12, 0xe8ee, 0xeb12, 0xe8d4, 0xeaf1, 0xe8d4, 0xeaf1, 0xe8d4, -0xeaf1, 0xe8b5, 0xeabe, 0xe8b5, 0xeabe, 0xe743, 0xe92b, 0xe743, 0xe92b, 0xe6ff, 0xe8b7, -0xe6ff, 0xe8b7, 0xe75c, 0xe8d6, 0xe75c, 0xe8d6, 0xe808, 0xe935, 0xe808, 0xe935, 0xe808, -0xe935, 0xea1d, 0xeaf1, 0xea1d, 0xeaf1, 0xeba9, 0xec17, 0xeba9, 0xec17, 0xed6d, 0xed6d, -0xed6d, 0xed6d, 0xf041, 0xefcb, 0xf041, 0xefcb, 0xf30d, 0xf21d, 0xf30d, 0xf21d, 0xf696, -0xf52c, 0xf696, 0xf52c, 0xf696, 0xf52c, 0xfa6a, 0xf888, 0xfa6a, 0xf888, 0xfe7e, 0xfc2b, -0xfe7e, 0xfc2b, 0x1e3, 0xff2a, 0x1e3, 0xff2a, 0x51f, 0x20d, 0x51f, 0x20d, 0x7ef, -0x496, 0x7ef, 0x496, 0x9e1, 0x653, 0x9e1, 0x653, 0x9e1, 0x653, 0xbac, 0x7ff, -0xbac, 0x7ff, 0xbba, 0x805, 0xbba, 0x805, 0xc31, 0x88c, 0xc31, 0x88c, 0xb37, -0x7ba, 0xb37, 0x7ba, 0x973, 0x635, 0x973, 0x635, 0x973, 0x635, 0x8cd, 0x5e3, -0x8cd, 0x5e3, 0x679, 0x3f8, 0x679, 0x3f8, 0x497, 0x292, 0x497, 0x292, 0x27b, -0xff, 0x27b, 0xff, 0x57, 0xff70, 0x57, 0xff70, 0xfde4, 0xfd99, 0xfde4, 0xfd99, -0xfde4, 0xfd99, 0xfa91, 0xfae7, 0xfa91, 0xfae7, 0xf843, 0xf93a, 0xf843, 0xf93a, 0xf546, -0xf6da, 0xf546, 0xf6da, 0xf36c, 0xf597, 0xf36c, 0xf597, 0xf225, 0xf4dc, 0xf225, 0xf4dc, -0xef89, 0xf2c1, 0xef89, 0xf2c1, 0xef89, 0xf2c1, 0xeda3, 0xf14c, 0xeda3, 0xf14c, 0xeb59, -0xef64, 0xeb59, 0xef64, 0xe910, 0xed6b, 0xe910, 0xed6b, 0xe729, 0xebc2, 0xe729, 0xebc2, -0xe56a, 0xea31, 0xe56a, 0xea31, 0xe56a, 0xea31, 0xe458, 0xe93c, 0xe458, 0xe93c, 0xe2db, -0xe7ce, 0xe2db, 0xe7ce, 0xe111, 0xe604, 0xe111, 0xe604, 0xdef6, 0xe3df, 0xdef6, 0xe3df, -0xdd3f, 0xe213, 0xdd3f, 0xe213, 0xdc46, 0xe100, 0xdc46, 0xe100, 0xdc46, 0xe100, 0xdbf4, -0xe08f, 0xdbf4, 0xe08f, 0xdc1d, 0xe095, 0xdc1d, 0xe095, 0xdd01, 0xe157, 0xdd01, 0xe157, -0xdf1e, 0xe352, 0xdf1e, 0xe352, 0xe15f, 0xe574, 0xe15f, 0xe574, 0xe391, 0xe78c, 0xe391, -0xe78c, 0xe391, 0xe78c, 0xe56b, 0xe94e, 0xe56b, 0xe94e, 0xe74b, 0xeb1a, 0xe74b, 0xeb1a, -0xe89c, 0xec5c, 0xe89c, 0xec5c, 0xe9be, 0xed71, 0xe9be, 0xed71, 0xeb2a, 0xeed2, 0xeb2a, -0xeed2, 0xeb2a, 0xeed2, 0xeb7c, 0xef1a, 0xeb7c, 0xef1a, 0xeb44, 0xeed5, 0xeb44, 0xeed5, -0xeb35, 0xeeb7, 0xeb35, 0xeeb7, 0xebc4, 0xef31, 0xebc4, 0xef31, 0xec29, 0xef7b, 0xec29, -0xef7b, 0xec78, 0xefa8, 0xec78, 0xefa8, 0xec78, 0xefa8, 0xecfc, 0xefff, 0xecfc, 0xefff, -0xeddc, 0xf0a8, 0xeddc, 0xf0a8, 0xefa1, 0xf22b, 0xefa1, 0xf22b, 0xf0fc, 0xf339, 0xf0fc, -0xf339, 0xf284, 0xf469, 0xf284, 0xf469, 0xf4ce, 0xf651, 0xf4ce, 0xf651, 0xf4ce, 0xf651, -0xf78c, 0xf8a4, 0xf78c, 0xf8a4, 0xfb13, 0xfbb9, 0xfb13, 0xfbb9, 0xfdd2, 0xfe00, 0xfdd2, -0xfe00, 0x6d, 0x21, 0x6d, 0x21, 0x3bb, 0x2f4, 0x3bb, 0x2f4, 0x3bb, 0x2f4, -0x650, 0x511, 0x650, 0x511, 0x95f, 0x7ac, 0x95f, 0x7ac, 0xc46, 0xa28, 0xc46, -0xa28, 0xec4, 0xc44, 0xec4, 0xc44, 0x1089, 0xdb5, 0x1089, 0xdb5, 0x115a, 0xe3f, -0x115a, 0xe3f, 0x115a, 0xe3f, 0x123b, 0xeea, 0x123b, 0xeea, 0x1157, 0xde1, 0x1157, -0xde1, 0x10ed, 0xd65, 0x10ed, 0xd65, 0x10b8, 0xd30, 0x10b8, 0xd30, 0xf4e, 0xbd7, -0xf4e, 0xbd7, 0xe82, 0xb2e, 0xe82, 0xb2e, 0xe82, 0xb2e, 0xd38, 0xa17, 0xd38, -0xa17, 0xc0c, 0x92b, 0xc0c, 0x92b, 0xbd9, 0x946, 0xbd9, 0x946, 0xb55, 0x919, -0xb55, 0x919, 0x9c5, 0x7e8, 0x9c5, 0x7e8, 0x9c5, 0x7e8, 0x77a, 0x600, 0x77a, -0x600, 0x4bd, 0x3a9, 0x4bd, 0x3a9, 0x295, 0x1e6, 0x295, 0x1e6, 0x100, 0xb4, -0x100, 0xb4, 0xff8e, 0xff9f, 0xff8e, 0xff9f, 0xfe4c, 0xfeb4, 0xfe4c, 0xfeb4, 0xfe4c, -0xfeb4, 0xfd4d, 0xfe04, 0xfd4d, 0xfe04, 0xfc88, 0xfd83, 0xfc88, 0xfd83, 0xfbd3, 0xfd07, -0xfbd3, 0xfd07, 0xfb3e, 0xfca1, 0xfb3e, 0xfca1, 0xf996, 0xfb1c, 0xf996, 0xfb1c, 0xf7f8, -0xf995, 0xf7f8, 0xf995, 0xf7f8, 0xf995, 0xf5cd, 0xf777, 0xf5cd, 0xf777, 0xf3e3, 0xf58f, -0xf3e3, 0xf58f, 0xf403, 0xf5a8, 0xf403, 0xf5a8, 0xf3e8, 0xf57d, 0xf3e8, 0xf57d, 0xf4b4, -0xf633, 0xf4b4, 0xf633, 0xf4b4, 0xf633, 0xf5ef, 0xf751, 0xf5ef, 0xf751, 0xf7d3, 0xf914, -0xf7d3, 0xf914, 0xfa5a, 0xfb75, 0xfa5a, 0xfb75, 0xfc0c, 0xfcff, 0xfc0c, 0xfcff, 0xfe95, -0xff5d, 0xfe95, 0xff5d, 0x22, 0xbe, 0x22, 0xbe, 0x22, 0xbe, 0x190, 0x1ff, -0x190, 0x1ff, 0x37e, 0x3c0, 0x37e, 0x3c0, 0x3fa, 0x40e, 0x3fa, 0x40e, 0x44c, -0x431, 0x44c, 0x431, 0x3c6, 0x37c, 0x3c6, 0x37c, 0x34e, 0x2d4, 0x34e, 0x2d4, -0x34e, 0x2d4, 0x3b4, 0x308, 0x3b4, 0x308, 0x439, 0x35b, 0x439, 0x35b, 0x4f3, -0x3e1, 0x4f3, 0x3e1, 0x549, 0x400, 0x549, 0x400, 0x5e3, 0x463, 0x5e3, 0x463, -0x5e3, 0x463, 0x6d3, 0x519, 0x6d3, 0x519, 0x7d3, 0x5df, 0x7d3, 0x5df, 0x8b0, -0x680, 0x8b0, 0x680, 0xa30, 0x7c3, 0xa30, 0x7c3, 0xc67, 0x9bf, 0xc67, 0x9bf, -0xe3b, 0xb59, 0xe3b, 0xb59, 0xe3b, 0xb59, 0xfdf, 0xcc5, 0xfdf, 0xcc5, 0x11b4, -0xe67, 0x11b4, 0xe67, 0x1345, 0xfc8, 0x1345, 0xfc8, 0x146d, 0x10c8, 0x146d, 0x10c8, -0x1613, 0x124d, 0x1613, 0x124d, 0x1613, 0x124d, 0x1651, 0x1273, 0x1651, 0x1273, 0x1600, -0x1213, 0x1600, 0x1213, 0x169a, 0x12a9, 0x169a, 0x12a9, 0x16e9, 0x1300, 0x16e9, 0x1300, -0x1660, 0x1289, 0x1660, 0x1289, 0x1528, 0x1171, 0x1528, 0x1171, 0x1528, 0x1171, 0x1470, -0x10e4, 0x1470, 0x10e4, 0x1322, 0xfcd, 0x1322, 0xfcd, 0x12d6, 0xfc4, 0x12d6, 0xfc4, -0x12a8, 0xfe2, 0x12a8, 0xfe2, 0x1195, 0xf25, 0x1195, 0xf25, 0x10e1, 0xed0, 0x10e1, -0xed0, 0x10e1, 0xed0, 0xf5d, 0xdb1, 0xf5d, 0xdb1, 0xe88, 0xd47, 0xe88, 0xd47, -0xd16, 0xc45, 0xd16, 0xc45, 0xb2b, 0xacb, 0xb2b, 0xacb, 0x964, 0x977, 0x964, -0x977, 0x964, 0x977, 0x723, 0x7a8, 0x723, 0x7a8, 0x562, 0x657, 0x562, 0x657, -0x3af, 0x512, 0x3af, 0x512, 0x261, 0x42e, 0x261, 0x42e, 0x16b, 0x39c, 0x16b, -0x39c, 0xc6, 0x356, 0xc6, 0x356, 0xc6, 0x356, 0xff26, 0x20d, 0xff26, 0x20d, -0xfc88, 0xffc1, 0xfc88, 0xffc1, 0xf99d, 0xfd20, 0xf99d, 0xfd20, 0xf5e3, 0xf9a9, 0xf5e3, -0xf9a9, 0xf298, 0xf698, 0xf298, 0xf698, 0xf05f, 0xf492, 0xf05f, 0xf492, 0xf05f, 0xf492, -0xeecc, 0xf32b, 0xeecc, 0xf32b, 0xed2e, 0xf1af, 0xed2e, 0xf1af, 0xec9b, 0xf138, 0xec9b, -0xf138, 0xecbb, 0xf16c, 0xecbb, 0xf16c, 0xec1b, 0xf0d8, 0xec1b, 0xf0d8, 0xec1b, 0xf0d8, -0xebd5, 0xf095, 0xebd5, 0xf095, 0xeb87, 0xf042, 0xeb87, 0xf042, 0xeafd, 0xefaa, 0xeafd, -0xefaa, 0xea4c, 0xeee3, 0xea4c, 0xeee3, 0xe913, 0xed8b, 0xe913, 0xed8b, 0xe83b, 0xec8a, -0xe83b, 0xec8a, 0xe83b, 0xec8a, 0xe7f1, 0xec0e, 0xe7f1, 0xec0e, 0xe7c5, 0xeba7, 0xe7c5, -0xeba7, 0xe728, 0xeac5, 0xe728, 0xeac5, 0xe695, 0xe9e4, 0xe695, 0xe9e4, 0xe639, 0xe92f, -0xe639, 0xe92f, 0xe678, 0xe90e, 0xe678, 0xe90e, 0xe678, 0xe90e, 0xe760, 0xe98e, 0xe760, -0xe98e, 0xe80a, 0xe9c7, 0xe80a, 0xe9c7, 0xe9a8, 0xeaef, 0xe9a8, 0xeaef, 0xeb46, 0xec13, -0xeb46, 0xec13, 0xed29, 0xed77, 0xed29, 0xed77, 0xed29, 0xed77, 0xf06d, 0xf03a, 0xf06d, -0xf03a, 0xf3fd, 0xf349, 0xf3fd, 0xf349, 0xf7e1, 0xf6ad, 0xf7e1, 0xf6ad, 0xfba1, 0xf9f1, -0xfba1, 0xf9f1, 0xffdc, 0xfdb4, 0xffdc, 0xfdb4, 0x3dc, 0x144, 0x3dc, 0x144, 0x3dc, -0x144, 0x749, 0x448, 0x749, 0x448, 0xb66, 0x806, 0xb66, 0x806, 0xec6, 0xb13, -0xec6, 0xb13, 0x1115, 0xd1a, 0x1115, 0xd1a, 0x132a, 0xef3, 0x132a, 0xef3, 0x1458, -0xff2, 0x1458, 0xff2, 0x1458, 0xff2, 0x1504, 0x107c, 0x1504, 0x107c, 0x15ff, 0x1163, -0x15ff, 0x1163, 0x16c3, 0x121d, 0x16c3, 0x121d, 0x1745, 0x12a2, 0x1745, 0x12a2, 0x1792, -0x12fc, 0x1792, 0x12fc, 0x1792, 0x12fc, 0x17cd, 0x134d, 0x17cd, 0x134d, 0x17d4, 0x1371, -0x17d4, 0x1371, 0x17d8, 0x1399, 0x17d8, 0x1399, 0x184e, 0x1437, 0x184e, 0x1437, 0x192e, -0x1543, 0x192e, 0x1543, 0x19a8, 0x15eb, 0x19a8, 0x15eb, 0x19a8, 0x15eb, 0x1997, 0x1607, -0x1997, 0x1607, 0x1a4f, 0x16ec, 0x1a4f, 0x16ec, 0x1a7e, 0x1746, 0x1a7e, 0x1746, 0x1a8d, -0x177f, 0x1a8d, 0x177f, 0x1b04, 0x181c, 0x1b04, 0x181c, 0x1acc, 0x1807, 0x1acc, 0x1807, -0x1acc, 0x1807, 0x1b96, 0x18f1, 0x1b96, 0x18f1, 0x1ca8, 0x1a21, 0x1ca8, 0x1a21, 0x1cb7, -0x1a4c, 0x1cb7, 0x1a4c, 0x1c18, 0x19c7, 0x1c18, 0x19c7, 0x1ae9, 0x18b2, 0x1ae9, 0x18b2, -0x1ae9, 0x18b2, 0x1989, 0x176d, 0x1989, 0x176d, 0x181b, 0x1619, 0x181b, 0x1619, 0x173c, -0x1557, 0x173c, 0x1557, 0x1686, 0x14c2, 0x1686, 0x14c2, 0x1548, 0x13a7, 0x1548, 0x13a7, -0x1501, 0x1387, 0x1501, 0x1387, 0x1501, 0x1387, 0x1566, 0x1417, 0x1566, 0x1417, 0x155d, -0x143d, 0x155d, 0x143d, 0x156a, 0x147c, 0x156a, 0x147c, 0x1523, 0x146b, 0x1523, 0x146b, -0x14a5, 0x1424, 0x14a5, 0x1424, 0x145d, 0x1414, 0x145d, 0x1414, 0x145d, 0x1414, 0x1417, -0x1407, 0x1417, 0x1407, 0x12ae, 0x12d5, 0x12ae, 0x12d5, 0x103c, 0x1097, 0x103c, 0x1097, -0xdf2, 0xe7c, 0xdf2, 0xe7c, 0xbcf, 0xc83, 0xbcf, 0xc83, 0xbcf, 0xc83, 0x978, -0xa4f, 0x978, 0xa4f, 0x6ec, 0x7de, 0x6ec, 0x7de, 0x595, 0x69a, 0x595, 0x69a, -0x46c, 0x57a, 0x46c, 0x57a, 0x31f, 0x42c, 0x31f, 0x42c, 0x26f, 0x371, 0x26f, -0x371, 0x26f, 0x371, 0x130, 0x21e, 0x130, 0x21e, 0xc4, 0x195, 0xc4, 0x195, -0x1ae, 0x25b, 0x1ae, 0x25b, 0x2c0, 0x343, 0x2c0, 0x343, 0x34c, 0x3a0, 0x34c, -0x3a0, 0x3d3, 0x3f6, 0x3d3, 0x3f6, 0x3d3, 0x3f6, 0x4fb, 0x4ec, 0x4fb, 0x4ec, -0x5a5, 0x566, 0x5a5, 0x566, 0x640, 0x5d2, 0x640, 0x5d2, 0x6dd, 0x647, 0x6dd, -0x647, 0x699, 0x5e1, 0x699, 0x5e1, 0x699, 0x5e1, 0x642, 0x571, 0x642, 0x571, -0x68b, 0x5a9, 0x68b, 0x5a9, 0x680, 0x598, 0x680, 0x598, 0x4e1, 0x3ff, 0x4e1, -0x3ff, 0x2dd, 0x20b, 0x2dd, 0x20b, 0xb3, 0xfffb, 0xb3, 0xfffb, 0xb3, 0xfffb, -0xfe09, 0xfd75, 0xfe09, 0xfd75, 0xfb86, 0xfb1f, 0xfb86, 0xfb1f, 0xf8ff, 0xf8cc, 0xf8ff, -0xf8cc, 0xf72b, 0xf731, 0xf72b, 0xf731, 0xf580, 0xf5c3, 0xf580, 0xf5c3, 0xf482, 0xf504, -0xf482, 0xf504, 0xf482, 0xf504, 0xf34a, 0xf409, 0xf34a, 0xf409, 0xf0c4, 0xf1bf, 0xf0c4, -0xf1bf, 0xef23, 0xf054, 0xef23, 0xf054, 0xedab, 0xef0c, 0xedab, 0xef0c, 0xec58, 0xede1, -0xec58, 0xede1, 0xec58, 0xede1, 0xebe0, 0xed89, 0xebe0, 0xed89, 0xec58, 0xee16, 0xec58, -0xee16, 0xec6d, 0xee34, 0xec6d, 0xee34, 0xec82, 0xee49, 0xec82, 0xee49, 0xee3b, 0xeff8, -0xee3b, 0xeff8, 0xef70, 0xf118, 0xef70, 0xf118, 0xef70, 0xf118, 0xf017, 0xf1a2, 0xf017, -0xf1a2, 0xf0f5, 0xf25c, 0xf0f5, 0xf25c, 0xf233, 0xf371, 0xf233, 0xf371, 0xf2d7, 0xf3e8, -0xf2d7, 0xf3e8, 0xf384, 0xf466, 0xf384, 0xf466, 0xf384, 0xf466, 0xf4da, 0xf58e, 0xf4da, -0xf58e, 0xf599, 0xf620, 0xf599, 0xf620, 0xf6c7, 0xf725, 0xf6c7, 0xf725, 0xf7be, 0xf7f9, -0xf7be, 0xf7f9, 0xf8c9, 0xf8e8, 0xf8c9, 0xf8e8, 0xfa7b, 0xfa85, 0xfa7b, 0xfa85, 0xfa7b, -0xfa85, 0xfc71, 0xfc6f, 0xfc71, 0xfc6f, 0xfe80, 0xfe7a, 0xfe80, 0xfe7a, 0xffe0, 0xffdf, -0xffe0, 0xffdf, 0xbb, 0xc8, 0xbb, 0xc8, 0xa6, 0xc7, 0xa6, 0xc7, 0xff14, -0xff4f, 0xff14, 0xff4f, 0xff14, 0xff4f, 0xfd5f, 0xfdbb, 0xfd5f, 0xfdbb, 0xfc70, 0xfcef, -0xfc70, 0xfcef, 0xfac0, 0xfb64, 0xfac0, 0xfb64, 0xf923, 0xf9ed, 0xf923, 0xf9ed, 0xf82e, -0xf91c, 0xf82e, 0xf91c, 0xf82e, 0xf91c, 0xf683, 0xf791, 0xf683, 0xf791, 0xf4c6, 0xf5f1, -0xf4c6, 0xf5f1, 0xf33a, 0xf47d, 0xf33a, 0xf47d, 0xf1d5, 0xf32a, 0xf1d5, 0xf32a, 0xf09c, -0xf1fc, 0xf09c, 0xf1fc, 0xefbf, 0xf124, 0xefbf, 0xf124, 0xefbf, 0xf124, 0xeff5, 0xf159, -0xeff5, 0xf159, 0xf01b, 0xf176, 0xf01b, 0xf176, 0xf011, 0xf161, 0xf011, 0xf161, 0xf07e, -0xf1be, 0xf07e, 0xf1be, 0xf0c9, 0xf1f7, 0xf0c9, 0xf1f7, 0xf1fb, 0xf316, 0xf1fb, 0xf316, -0xf1fb, 0xf316, 0xf37d, 0xf485, 0xf37d, 0xf485, 0xf46e, 0xf567, 0xf46e, 0xf567, 0xf586, -0xf673, 0xf586, 0xf673, 0xf69e, 0xf784, 0xf69e, 0xf784, 0xf72b, 0xf811, 0xf72b, 0xf811, -0xf72b, 0xf811, 0xf6be, 0xf7ac, 0xf6be, 0xf7ac, 0xf5e0, 0xf6de, 0xf5e0, 0xf6de, 0xf48b, -0xf5a2, 0xf48b, 0xf5a2, 0xf358, 0xf48f, 0xf358, 0xf48f, 0xf246, 0xf3a7, 0xf246, 0xf3a7, -0xf0f6, 0xf288, 0xf0f6, 0xf288, 0xf0f6, 0xf288, 0xefc5, 0xf18e, 0xefc5, 0xf18e, 0xee6b, -0xf06f, 0xee6b, 0xf06f, 0xedb3, 0xeff6, 0xedb3, 0xeff6, 0xecc6, 0xef48, 0xecc6, 0xef48, -0xeb99, 0xee5a, 0xeb99, 0xee5a, 0xeb8d, 0xee8b, 0xeb8d, 0xee8b, 0xeb8d, 0xee8b, 0xeb1b, -0xee51, 0xeb1b, 0xee51, 0xea58, 0xedbf, 0xea58, 0xedbf, 0xea05, 0xed95, 0xea05, 0xed95, -0xe979, 0xed28, 0xe979, 0xed28, 0xe942, 0xed05, 0xe942, 0xed05, 0xe942, 0xed05, 0xe9b8, -0xed84, 0xe9b8, 0xed84, 0xeb2d, 0xeef5, 0xeb2d, 0xeef5, 0xec5f, 0xf017, 0xec5f, 0xf017, -0xecba, 0xf057, 0xecba, 0xf057, 0xed31, 0xf0a6, 0xed31, 0xf0a6, 0xed6c, 0xf0b0, 0xed6c, -0xf0b0, 0xed6c, 0xf0b0, 0xedb9, 0xf0c3, 0xedb9, 0xf0c3, 0xee6f, 0xf136, 0xee6f, 0xf136, -0xef65, 0xf1e4, 0xef65, 0xf1e4, 0xf055, 0xf288, 0xf055, 0xf288, 0xf21c, 0xf400, 0xf21c, -0xf400, 0xf42a, 0xf5be, 0xf42a, 0xf5be, 0xf42a, 0xf5be, 0xf651, 0xf796, 0xf651, 0xf796, -0xf8dd, 0xf9d6, 0xf8dd, 0xf9d6, 0xfb72, 0xfc22, 0xfb72, 0xfc22, 0xfe85, 0xfef1, 0xfe85, -0xfef1, 0x83, 0xb1, 0x83, 0xb1, 0x83, 0xb1, 0x257, 0x24d, 0x257, 0x24d, -0x3db, 0x3a0, 0x3db, 0x3a0, 0x490, 0x429, 0x490, 0x429, 0x595, 0x50a, 0x595, -0x50a, 0x5fc, 0x551, 0x5fc, 0x551, 0x5bc, 0x4f7, 0x5bc, 0x4f7, 0x5bc, 0x4f7, -0x562, 0x487, 0x562, 0x487, 0x567, 0x479, 0x567, 0x479, 0x4b5, 0x3b6, 0x4b5, -0x3b6, 0x3bc, 0x2af, 0x3bc, 0x2af, 0x330, 0x215, 0x330, 0x215, 0x28d, 0x164, -0x28d, 0x164, 0x28d, 0x164, 0x208, 0xd0, 0x208, 0xd0, 0x253, 0x10c, 0x253, -0x10c, 0x2f5, 0x19e, 0x2f5, 0x19e, 0x2ea, 0x182, 0x2ea, 0x182, 0x3c2, 0x248, -0x3c2, 0x248, 0x3c2, 0x248, 0x547, 0x3bb, 0x547, 0x3bb, 0x701, 0x564, 0x701, -0x564, 0x875, 0x6c9, 0x875, 0x6c9, 0x98f, 0x7d4, 0x98f, 0x7d4, 0xab7, 0x8f0, -0xab7, 0x8f0, 0xbac, 0x9dd, 0xbac, 0x9dd, 0xbac, 0x9dd, 0xcfb, 0xb28, 0xcfb, -0xb28, 0xd8f, 0xbbc, 0xd8f, 0xbbc, 0xdb5, 0xbe9, 0xdb5, 0xbe9, 0xdac, 0xbec, -0xdac, 0xbec, 0xd2b, 0xb7d, 0xd2b, 0xb7d, 0xc5c, 0xac6, 0xc5c, 0xac6, 0xc5c, -0xac6, 0xb8c, 0xa13, 0xb8c, 0xa13, 0xacc, 0x975, 0xacc, 0x975, 0x922, 0x7f1, -0x922, 0x7f1, 0x7d6, 0x6d0, 0x7d6, 0x6d0, 0x727, 0x64d, 0x727, 0x64d, 0x727, -0x64d, 0x624, 0x578, 0x624, 0x578, 0x4d7, 0x459, 0x4d7, 0x459, 0x3da, 0x389, -0x3da, 0x389, 0x36e, 0x348, 0x36e, 0x348, 0x285, 0x287, 0x285, 0x287, 0x195, -0x1bb, 0x195, 0x1bb, 0x195, 0x1bb, 0xed, 0x131, 0xed, 0x131, 0x3f, 0x9c, -0x3f, 0x9c, 0x5, 0x76, 0x5, 0x76, 0x11, 0x8e, 0x11, 0x8e, 0xffdf, -0x63, 0xffdf, 0x63, 0xff9b, 0x20, 0xff9b, 0x20, 0xff9b, 0x20, 0xff92, 0x12, -0xff92, 0x12, 0xfeef, 0xff64, 0xfeef, 0xff64, 0xfdbf, 0xfe25, 0xfdbf, 0xfe25, 0xfc73, -0xfcc7, 0xfc73, 0xfcc7, 0xfaf6, 0xfb34, 0xfaf6, 0xfb34, 0xfaf6, 0xfb34, 0xf9d4, 0xf9fb, -0xf9d4, 0xf9fb, 0xf94d, 0xf95b, 0xf94d, 0xf95b, 0xfa3b, 0xfa30, 0xfa3b, 0xfa30, 0xfbad, -0xfb88, 0xfbad, 0xfb88, 0xfcb0, 0xfc72, 0xfcb0, 0xfc72, 0xfeae, 0xfe59, 0xfeae, 0xfe59, -0xfeae, 0xfe59, 0x123, 0xb8, 0x123, 0xb8, 0x313, 0x293, 0x313, 0x293, 0x4ed, -0x45a, 0x4ed, 0x45a, 0x69a, 0x5f5, 0x69a, 0x5f5, 0x7ca, 0x716, 0x7ca, 0x716, -0x909, 0x845, 0x909, 0x845, 0x909, 0x845, 0xa10, 0x93f, 0xa10, 0x93f, 0xad1, -0x9f2, 0xad1, 0x9f2, 0xae4, 0x9f7, 0xae4, 0x9f7, 0xaa6, 0x9ac, 0xaa6, 0x9ac, -0xab8, 0x9b1, 0xab8, 0x9b1, 0xab8, 0x9b1, 0x9cf, 0x8ba, 0x9cf, 0x8ba, 0x8e1, -0x7c0, 0x8e1, 0x7c0, 0x7c1, 0x694, 0x7c1, 0x694, 0x6d0, 0x597, 0x6d0, 0x597, -0x760, 0x61d, 0x760, 0x61d, 0x84b, 0x700, 0x84b, 0x700, 0x84b, 0x700, 0x933, -0x7e2, 0x933, 0x7e2, 0x982, 0x831, 0x982, 0x831, 0x972, 0x823, 0x972, 0x823, -0x95d, 0x816, 0x95d, 0x816, 0x94d, 0x814, 0x94d, 0x814, 0x94d, 0x814, 0x9ba, -0x896, 0x9ba, 0x896, 0xa19, 0x912, 0xa19, 0x912, 0x9eb, 0x906, 0x9eb, 0x906, -0x968, 0x8ae, 0x968, 0x8ae, 0x87c, 0x7f3, 0x87c, 0x7f3, 0x70e, 0x6bd, 0x70e, -0x6bd, 0x70e, 0x6bd, 0x4d5, 0x4c2, 0x4d5, 0x4c2, 0x1fb, 0x229, 0x1fb, 0x229, -0xfecc, 0xff40, 0xfecc, 0xff40, 0xfb7c, 0xfc38, 0xfb7c, 0xfc38, 0xf8da, 0xf9dd, 0xf8da, -0xf9dd, 0xf60a, 0xf754, 0xf60a, 0xf754, 0xf60a, 0xf754, 0xf3ed, 0xf57a, 0xf3ed, 0xf57a, -0xf265, 0xf431, 0xf265, 0xf431, 0xf090, 0xf295, 0xf090, 0xf295, 0xef04, 0xf138, 0xef04, -0xf138, 0xed4f, 0xefaa, 0xed4f, 0xefaa, 0xed4f, 0xefaa, 0xecc4, 0xef3b, 0xecc4, 0xef3b, -0xec55, 0xeedc, 0xec55, 0xeedc, 0xec27, 0xeeb3, 0xec27, 0xeeb3, 0xec2d, 0xeeb1, 0xec2d, -0xeeb1, 0xeba6, 0xee17, 0xeba6, 0xee17, 0xec68, 0xeeba, 0xec68, 0xeeba, 0xec68, 0xeeba, -0xed2c, 0xef56, 0xed2c, 0xef56, 0xee3b, 0xf031, 0xee3b, 0xf031, 0xef9b, 0xf156, 0xef9b, -0xf156, 0xf106, 0xf280, 0xf106, 0xf280, 0xf2f8, 0xf42b, 0xf2f8, 0xf42b, 0xf4bd, 0xf5a5, -0xf4bd, 0xf5a5, 0xf4bd, 0xf5a5, 0xf682, 0xf71d, 0xf682, 0xf71d, 0xf792, 0xf7df, 0xf792, -0xf7df, 0xf897, 0xf898, 0xf897, 0xf898, 0xfa34, 0xf9ea, 0xfa34, 0xf9ea, 0xfc76, 0xfbe4, -0xfc76, 0xfbe4, 0xfc76, 0xfbe4, 0xff51, 0xfe7b, 0xff51, 0xfe7b, 0x1fa, 0xe3, 0x1fa, -0xe3, 0x504, 0x3af, 0x504, 0x3af, 0x84d, 0x6be, 0x84d, 0x6be, 0xba3, 0x9dd, -0xba3, 0x9dd, 0xebd, 0xcc2, 0xebd, 0xcc2, 0xebd, 0xcc2, 0x1191, 0xf63, 0x1191, -0xf63, 0x1404, 0x11a3, 0x1404, 0x11a3, 0x15af, 0x131b, 0x15af, 0x131b, 0x1838, 0x1570, -0x1838, 0x1570, 0x1a3e, 0x1740, 0x1a3e, 0x1740, 0x1b4e, 0x1817, 0x1b4e, 0x1817, 0x1b4e, -0x1817, 0x1c86, 0x1913, 0x1c86, 0x1913, 0x1d10, 0x195e, 0x1d10, 0x195e, 0x1dfd, 0x1a09, -0x1dfd, 0x1a09, 0x1ed4, 0x1a9c, 0x1ed4, 0x1a9c, 0x2039, 0x1bbb, 0x2039, 0x1bbb, 0x2039, -0x1bbb, 0x2222, 0x1d5d, 0x2222, 0x1d5d, 0x238d, 0x1e83, 0x238d, 0x1e83, 0x2553, 0x2006, -0x2553, 0x2006, 0x265d, 0x20d1, 0x265d, 0x20d1, 0x272d, 0x2169, 0x272d, 0x2169, 0x2844, -0x2250, 0x2844, 0x2250, 0x2844, 0x2250, 0x29e3, 0x23c9, 0x29e3, 0x23c9, 0x2bb6, 0x2583, -0x2bb6, 0x2583, 0x2cef, 0x26b1, 0x2cef, 0x26b1, 0x2e29, 0x27ef, 0x2e29, 0x27ef, 0x2ed6, -0x28b0, 0x2ed6, 0x28b0, 0x2fa9, 0x29a8, 0x2fa9, 0x29a8, 0x2fa9, 0x29a8, 0x2feb, 0x2a22, -0x2feb, 0x2a22, 0x2ebe, 0x293d, 0x2ebe, 0x293d, 0x2d51, 0x2829, 0x2d51, 0x2829, 0x2b57, -0x2699, 0x2b57, 0x2699, 0x28e7, 0x24a0, 0x28e7, 0x24a0, 0x28e7, 0x24a0, 0x25a5, 0x21e3, -0x25a5, 0x21e3, 0x2220, 0x1eee, 0x2220, 0x1eee, 0x1ef5, 0x1c5a, 0x1ef5, 0x1c5a, 0x1ae0, -0x18e3, 0x1ae0, 0x18e3, 0x16db, 0x157e, 0x16db, 0x157e, 0x136d, 0x12af, 0x136d, 0x12af, -0x136d, 0x12af, 0x1025, 0x1005, 0x1025, 0x1005, 0xd55, 0xdcd, 0xd55, 0xdcd, 0xa6e, -0xb76, 0xa6e, 0xb76, 0x77b, 0x90a, 0x77b, 0x90a, 0x4f1, 0x6fb, 0x4f1, 0x6fb, -0x24a, 0x4c1, 0x24a, 0x4c1, 0x24a, 0x4c1, 0xff61, 0x239, 0xff61, 0x239, 0xfd21, -0x4a, 0xfd21, 0x4a, 0xfb15, 0xfe81, 0xfb15, 0xfe81, 0xf96c, 0xfd0c, 0xf96c, 0xfd0c, -0xf851, 0xfc17, 0xf851, 0xfc17, 0xf851, 0xfc17, 0xf6c8, 0xfaa7, 0xf6c8, 0xfaa7, 0xf562, -0xf94f, 0xf562, 0xf94f, 0xf36f, 0xf75e, 0xf36f, 0xf75e, 0xf0e0, 0xf4ca, 0xf0e0, 0xf4ca, -0xeed5, 0xf2b2, 0xeed5, 0xf2b2, 0xecf6, 0xf0c1, 0xecf6, 0xf0c1, 0xecf6, 0xf0c1, 0xeb4a, -0xeeff, 0xeb4a, 0xeeff, 0xe9ad, 0xed49, 0xe9ad, 0xed49, 0xe88d, 0xec10, 0xe88d, 0xec10, -0xe86f, 0xebd7, 0xe86f, 0xebd7, 0xe853, 0xeba2, 0xe853, 0xeba2, 0xe88d, 0xebc3, 0xe88d, -0xebc3, 0xe88d, 0xebc3, 0xe8e3, 0xec02, 0xe8e3, 0xec02, 0xe8f0, 0xebf8, 0xe8f0, 0xebf8, -0xe9f7, 0xece8, 0xe9f7, 0xece8, 0xeaeb, 0xedc6, 0xeaeb, 0xedc6, 0xeb79, 0xee3d, 0xeb79, -0xee3d, 0xeb79, 0xee3d, 0xeb5d, 0xee07, 0xeb5d, 0xee07, 0xe9f8, 0xec85, 0xe9f8, 0xec85, -0xe8b5, 0xeb22, 0xe8b5, 0xeb22, 0xe834, 0xea7b, 0xe834, 0xea7b, 0xe8a2, 0xeabd, 0xe8a2, -0xeabd, 0xe90b, 0xeaf3, 0xe90b, 0xeaf3, 0xe90b, 0xeaf3, 0xe93e, 0xeaed, 0xe93e, 0xeaed, -0xe99e, 0xeb0c, 0xe99e, 0xeb0c, 0xea48, 0xeb6e, 0xea48, 0xeb6e, 0xeb48, 0xec20, 0xeb48, -0xec20, 0xec98, 0xed1c, 0xec98, 0xed1c, 0xeed7, 0xef03, 0xeed7, 0xef03, 0xeed7, 0xef03, -0xf124, 0xf0f5, 0xf124, 0xf0f5, 0xf415, 0xf38a, 0xf415, 0xf38a, 0xf7f5, 0xf70e, 0xf7f5, -0xf70e, 0xfbeb, 0xfaad, 0xfbeb, 0xfaad, 0xffeb, 0xfe5a, 0xffeb, 0xfe5a, 0xffeb, 0xfe5a, -0x38a, 0x1ae, 0x38a, 0x1ae, 0x687, 0x46a, 0x687, 0x46a, 0x8b1, 0x65e, 0x8b1, -0x65e, 0xabb, 0x841, 0xabb, 0x841, 0xc04, 0x971, 0xc04, 0x971, 0xc94, 0x9f8, -0xc94, 0x9f8, 0xc94, 0x9f8, 0xd78, 0xae5, 0xd78, 0xae5, 0xdbe, 0xb44, 0xdbe, -0xb44, 0xcbf, 0xa70, 0xcbf, 0xa70, 0xb3b, 0x927, 0xb3b, 0x927, 0x9b8, 0x7ee, -0x9b8, 0x7ee, 0x7d8, 0x665, 0x7d8, 0x665, 0x7d8, 0x665, 0x61e, 0x50f, 0x61e, -0x50f, 0x3ed, 0x34b, 0x3ed, 0x34b, 0xee, 0xbf, 0xee, 0xbf, 0xfe8e, 0xfed8, -0xfe8e, 0xfed8, 0xfcb2, 0xfd76, 0xfcb2, 0xfd76, 0xfcb2, 0xfd76, 0xfa9d, 0xfbda, 0xfa9d, -0xfbda, 0xf7c4, 0xf976, 0xf7c4, 0xf976, 0xf4ae, 0xf6cf, 0xf4ae, 0xf6cf, 0xf205, 0xf48d, -0xf205, 0xf48d, 0xefa0, 0xf285, 0xefa0, 0xf285, 0xed79, 0xf0af, 0xed79, 0xf0af, 0xed79, -0xf0af, 0xeaff, 0xee79, 0xeaff, 0xee79, 0xe855, 0xec06, 0xe855, 0xec06, 0xe638, 0xea12, -0xe638, 0xea12, 0xe4ef, 0xe8e5, 0xe4ef, 0xe8e5, 0xe3ed, 0xe7f2, 0xe3ed, 0xe7f2, 0xe3ed, -0xe7f2, 0xe20d, 0xe616, 0xe20d, 0xe616, 0xdfed, 0xe3ee, 0xdfed, 0xe3ee, 0xde2f, 0xe21e, -0xde2f, 0xe21e, 0xdd18, 0xe0ef, 0xdd18, 0xe0ef, 0xdd0d, 0xe0c4, 0xdd0d, 0xe0c4, 0xdd51, -0xe0e4, 0xdd51, 0xe0e4, 0xdd51, 0xe0e4, 0xdd7c, 0xe0e9, 0xdd7c, 0xe0e9, 0xddcc, 0xe110, -0xddcc, 0xe110, 0xdf18, 0xe234, 0xdf18, 0xe234, 0xe053, 0xe348, 0xe053, 0xe348, 0xe0f5, -0xe3c3, 0xe0f5, 0xe3c3, 0xe1dc, 0xe487, 0xe1dc, 0xe487, 0xe1dc, 0xe487, 0xe2ad, 0xe535, -0xe2ad, 0xe535, 0xe401, 0xe669, 0xe401, 0xe669, 0xe53a, 0xe783, 0xe53a, 0xe783, 0xe601, -0xe82c, 0xe601, 0xe82c, 0xe6e5, 0xe8f2, 0xe6e5, 0xe8f2, 0xe6e5, 0xe8f2, 0xe76c, 0xe95b, -0xe76c, 0xe95b, 0xe800, 0xe9ce, 0xe800, 0xe9ce, 0xe885, 0xea2f, 0xe885, 0xea2f, 0xe85a, -0xe9dd, 0xe85a, 0xe9dd, 0xe85b, 0xe9b1, 0xe85b, 0xe9b1, 0xe91b, 0xea3f, 0xe91b, 0xea3f, -0xe91b, 0xea3f, 0xea2a, 0xeb16, 0xea2a, 0xeb16, 0xebdd, 0xec8a, 0xebdd, 0xec8a, 0xede4, -0xee4e, 0xede4, 0xee4e, 0xefba, 0xefda, 0xefba, 0xefda, 0xf252, 0xf224, 0xf252, 0xf224, -0xf57a, 0xf4fb, 0xf57a, 0xf4fb, 0xf57a, 0xf4fb, 0xf892, 0xf7bf, 0xf892, 0xf7bf, 0xfc2d, -0xfb06, 0xfc2d, 0xfb06, 0x64, 0xfeea, 0x64, 0xfeea, 0x497, 0x2cd, 0x497, 0x2cd, -0x7e6, 0x5d1, 0x7e6, 0x5d1, 0x7e6, 0x5d1, 0xb53, 0x8fb, 0xb53, 0x8fb, 0xe42, -0xbaf, 0xe42, 0xbaf, 0xfa4, 0xce1, 0xfa4, 0xce1, 0x1194, 0xead, 0x1194, 0xead, -0x12f4, 0xff6, 0x12f4, 0xff6, 0x1351, 0x104a, 0x1351, 0x104a, 0x1351, 0x104a, 0x1377, -0x1075, 0x1377, 0x1075, 0x1317, 0x102a, 0x1317, 0x102a, 0x12b5, 0xfe9, 0x12b5, 0xfe9, -0x1266, 0xfca, 0x1266, 0xfca, 0x1224, 0xfc3, 0x1224, 0xfc3, 0x1104, 0xee9, 0x1104, -0xee9, 0x1104, 0xee9, 0xf96, 0xdca, 0xf96, 0xdca, 0xe80, 0xd0a, 0xe80, 0xd0a, -0xdd8, 0xcbd, 0xdd8, 0xcbd, 0xd17, 0xc5a, 0xd17, 0xc5a, 0xbd5, 0xb75, 0xbd5, -0xb75, 0xbd5, 0xb75, 0xa86, 0xa82, 0xa86, 0xa82, 0x83c, 0x890, 0x83c, 0x890, -0x626, 0x6cc, 0x626, 0x6cc, 0x4e3, 0x5d3, 0x4e3, 0x5d3, 0x33a, 0x46c, 0x33a, -0x46c, 0x1a9, 0x312, 0x1a9, 0x312, 0x1a9, 0x312, 0xbe, 0x254, 0xbe, 0x254, -0xffe5, 0x19d, 0xffe5, 0x19d, 0xfe89, 0x58, 0xfe89, 0x58, 0xfd38, 0xff14, 0xfd38, -0xff14, 0xfc11, 0xfdef, 0xfc11, 0xfdef, 0xfa6c, 0xfc44, 0xfa6c, 0xfc44, 0xfa6c, 0xfc44, -0xf949, 0xfb13, 0xf949, 0xfb13, 0xf916, 0xfac9, 0xf916, 0xfac9, 0xf8ed, 0xfa85, 0xf8ed, -0xfa85, 0xf94d, 0xfac4, 0xf94d, 0xfac4, 0xfa18, 0xfb6c, 0xfa18, 0xfb6c, 0xfa18, 0xfb6c, -0xfb14, 0xfc41, 0xfb14, 0xfc41, 0xfc42, 0xfd48, 0xfc42, 0xfd48, 0xfe11, 0xfef0, 0xfe11, -0xfef0, 0x63, 0x11a, 0x63, 0x11a, 0x21f, 0x2ae, 0x21f, 0x2ae, 0x352, 0x3ba, -0x352, 0x3ba, 0x352, 0x3ba, 0x39b, 0x3dc, 0x39b, 0x3dc, 0x34b, 0x366, 0x34b, -0x366, 0x28c, 0x281, 0x28c, 0x281, 0x22b, 0x1f9, 0x22b, 0x1f9, 0x27c, 0x222, -0x27c, 0x222, 0x21d, 0x19a, 0x21d, 0x19a, 0x21d, 0x19a, 0x206, 0x158, 0x206, -0x158, 0x24a, 0x16e, 0x24a, 0x16e, 0x29b, 0x18f, 0x29b, 0x18f, 0x351, 0x212, -0x351, 0x212, 0x413, 0x29e, 0x413, 0x29e, 0x413, 0x29e, 0x534, 0x388, 0x534, -0x388, 0x6a9, 0x4c3, 0x6a9, 0x4c3, 0x8aa, 0x689, 0x8aa, 0x689, 0xa68, 0x80c, -0xa68, 0x80c, 0xbdb, 0x945, 0xbdb, 0x945, 0xe0e, 0xb40, 0xe0e, 0xb40, 0xe0e, -0xb40, 0xfbf, 0xcbd, 0xfbf, 0xcbd, 0x112d, 0xdfb, 0x112d, 0xdfb, 0x12e8, 0xf8d, -0x12e8, 0xf8d, 0x14c7, 0x114b, 0x14c7, 0x114b, 0x166e, 0x12da, 0x166e, 0x12da, 0x176d, -0x13ca, 0x176d, 0x13ca, 0x176d, 0x13ca, 0x17e5, 0x1440, 0x17e5, 0x1440, 0x172c, 0x138f, -0x172c, 0x138f, 0x166f, 0x12e7, 0x166f, 0x12e7, 0x1603, 0x129c, 0x1603, 0x129c, 0x1590, -0x1256, 0x1590, 0x1256, 0x1590, 0x1256, 0x150b, 0x120a, 0x150b, 0x120a, 0x1481, 0x11c3, -0x1481, 0x11c3, 0x1457, 0x11e5, 0x1457, 0x11e5, 0x136a, 0x114d, 0x136a, 0x114d, 0x128e, -0x10ce, 0x128e, 0x10ce, 0x1148, 0xfe9, 0x1148, 0xfe9, 0x1148, 0xfe9, 0xf08, 0xe0e, -0xf08, 0xe0e, 0xd42, 0xcaf, 0xd42, 0xcaf, 0xbb7, 0xb8b, 0xbb7, 0xb8b, 0x9bf, -0x9f8, 0x9bf, 0x9f8, 0x75a, 0x7f7, 0x75a, 0x7f7, 0x528, 0x624, 0x528, 0x624, -0x528, 0x624, 0x2ce, 0x423, 0x2ce, 0x423, 0x9f, 0x247, 0x9f, 0x247, 0xff37, -0x12c, 0xff37, 0x12c, 0xfd92, 0xffcc, 0xfd92, 0xffcc, 0xfb1c, 0xfd93, 0xfb1c, 0xfd93, -0xfb1c, 0xfd93, 0xf8e7, 0xfb95, 0xf8e7, 0xfb95, 0xf6c9, 0xf9a6, 0xf6c9, 0xf9a6, 0xf3de, -0xf6e2, 0xf3de, 0xf6e2, 0xf12c, 0xf451, 0xf12c, 0xf451, 0xee96, 0xf1d7, 0xee96, 0xf1d7, -0xebe9, 0xef3f, 0xebe9, 0xef3f, 0xebe9, 0xef3f, 0xe9d4, 0xed3b, 0xe9d4, 0xed3b, 0xe868, -0xebda, 0xe868, 0xebda, 0xe75a, 0xead2, 0xe75a, 0xead2, 0xe6d2, 0xea4c, 0xe6d2, 0xea4c, -0xe6f0, 0xea68, 0xe6f0, 0xea68, 0xe760, 0xead1, 0xe760, 0xead1, 0xe760, 0xead1, 0xe795, -0xeafa, 0xe795, 0xeafa, 0xe731, 0xea86, 0xe731, 0xea86, 0xe6d4, 0xea12, 0xe6d4, 0xea12, -0xe60b, 0xe92e, 0xe60b, 0xe92e, 0xe57e, 0xe87e, 0xe57e, 0xe87e, 0xe57e, 0xe87e, 0xe595, -0xe86b, 0xe595, 0xe86b, 0xe58a, 0xe82f, 0xe58a, 0xe82f, 0xe62e, 0xe89a, 0xe62e, 0xe89a, -0xe70e, 0xe939, 0xe70e, 0xe939, 0xe7dd, 0xe9bf, 0xe7dd, 0xe9bf, 0xe8a7, 0xea38, 0xe8a7, -0xea38, 0xe8a7, 0xea38, 0xe9be, 0xeaf8, 0xe9be, 0xeaf8, 0xeba1, 0xec7c, 0xeba1, 0xec7c, -0xedc2, 0xee39, 0xedc2, 0xee39, 0xf0e4, 0xf0f2, 0xf0e4, 0xf0f2, 0xf511, 0xf4b3, 0xf511, -0xf4b3, 0xf511, 0xf4b3, 0xf924, 0xf859, 0xf924, 0xf859, 0xfcf6, 0xfbbe, 0xfcf6, 0xfbbe, -0x12c, 0xff89, 0x12c, 0xff89, 0x5d8, 0x3ce, 0x5d8, 0x3ce, 0xa4d, 0x7e2, 0xa4d, -0x7e2, 0xe54, 0xb8f, 0xe54, 0xb8f, 0xe54, 0xb8f, 0x1181, 0xe6b, 0x1181, 0xe6b, -0x1465, 0x1109, 0x1465, 0x1109, 0x17a1, 0x140a, 0x17a1, 0x140a, 0x1a49, 0x1683, 0x1a49, -0x1683, 0x1bad, 0x17c5, 0x1bad, 0x17c5, 0x1c1a, 0x181c, 0x1c1a, 0x181c, 0x1c1a, 0x181c, -0x1c7d, 0x1877, 0x1c7d, 0x1877, 0x1ce9, 0x18e6, 0x1ce9, 0x18e6, 0x1d67, 0x1972, 0x1d67, -0x1972, 0x1dfc, 0x1a1f, 0x1dfc, 0x1a1f, 0x1e04, 0x1a47, 0x1e04, 0x1a47, 0x1e04, 0x1a47, -0x1db3, 0x1a1e, 0x1db3, 0x1a1e, 0x1e33, 0x1aca, 0x1e33, 0x1aca, 0x1eff, 0x1bc6, 0x1eff, -0x1bc6, 0x1ef9, 0x1bf2, 0x1ef9, 0x1bf2, 0x1f07, 0x1c32, 0x1f07, 0x1c32, 0x1f2c, 0x1c87, -0x1f2c, 0x1c87, 0x1f2c, 0x1c87, 0x1ef9, 0x1c82, 0x1ef9, 0x1c82, 0x1e5e, 0x1c12, 0x1e5e, -0x1c12, 0x1dd9, 0x1bb4, 0x1dd9, 0x1bb4, 0x1cef, 0x1aeb, 0x1cef, 0x1aeb, 0x1ba8, 0x19c2, -0x1ba8, 0x19c2, 0x1b94, 0x19c6, 0x1b94, 0x19c6, 0x1b94, 0x19c6, 0x1b48, 0x1990, 0x1b48, -0x1990, 0x1a91, 0x18ec, 0x1a91, 0x18ec, 0x1996, 0x1802, 0x1996, 0x1802, 0x1814, 0x1690, -0x1814, 0x1690, 0x163e, 0x14ca, 0x163e, 0x14ca, 0x163e, 0x14ca, 0x1469, 0x1307, 0x1469, -0x1307, 0x1387, 0x1239, 0x1387, 0x1239, 0x125f, 0x112b, 0x125f, 0x112b, 0x11a0, 0x1089, -0x11a0, 0x1089, 0x1128, 0x1033, 0x1128, 0x1033, 0x101d, 0xf50, 0x101d, 0xf50, 0x101d, -0xf50, 0xf05, 0xe65, 0xf05, 0xe65, 0xdff, 0xd91, 0xdff, 0xd91, 0xd81, 0xd49, -0xd81, 0xd49, 0xc8b, 0xc8b, 0xc8b, 0xc8b, 0xba2, 0xbde, 0xba2, 0xbde, 0xa4f, -0xac6, 0xa4f, 0xac6, 0xa4f, 0xac6, 0x83b, 0x8ec, 0x83b, 0x8ec, 0x6f6, 0x7dc, -0x6f6, 0x7dc, 0x597, 0x6af, 0x597, 0x6af, 0x3ba, 0x4fd, 0x3ba, 0x4fd, 0x1b5, -0x31a, 0x1b5, 0x31a, 0x1b5, 0x31a, 0x2, 0x17f, 0x2, 0x17f, 0xfe80, 0xb, -0xfe80, 0xb, 0xfc9d, 0xfe2a, 0xfc9d, 0xfe2a, 0xfb87, 0xfd0a, 0xfb87, 0xfd0a, 0xfb30, -0xfc9e, 0xfb30, 0xfc9e, 0xfaa2, 0xfbf0, 0xfaa2, 0xfbf0, 0xfaa2, 0xfbf0, 0xfaa4, 0xfbc7, -0xfaa4, 0xfbc7, 0xfb47, 0xfc37, 0xfb47, 0xfc37, 0xfc18, 0xfccf, 0xfc18, 0xfccf, 0xfd49, -0xfdc2, 0xfd49, 0xfdc2, 0xfe84, 0xfebc, 0xfe84, 0xfebc, 0xffd5, 0xffcd, 0xffd5, 0xffcd, -0xffd5, 0xffcd, 0x13d, 0xf6, 0x13d, 0xf6, 0x2ad, 0x22d, 0x2ad, 0x22d, 0x3fc, -0x34b, 0x3fc, 0x34b, 0x46f, 0x396, 0x46f, 0x396, 0x432, 0x33b, 0x432, 0x33b, -0x432, 0x33b, 0x39d, 0x296, 0x39d, 0x296, 0x2c7, 0x1bb, 0x2c7, 0x1bb, 0x1f0, -0xee, 0x1f0, 0xee, 0xfe, 0x13, 0xfe, 0x13, 0xff90, 0xfec9, 0xff90, 0xfec9, -0xfdc4, 0xfd2c, 0xfdc4, 0xfd2c, 0xfdc4, 0xfd2c, 0xfbf3, 0xfb94, 0xfbf3, 0xfb94, 0xf9fc, -0xf9de, 0xf9fc, 0xf9de, 0xf7dd, 0xf805, 0xf7dd, 0xf805, 0xf617, 0xf687, 0xf617, 0xf687, -0xf4eb, 0xf5a3, 0xf4eb, 0xf5a3, 0xf3d4, 0xf4d3, 0xf3d4, 0xf4d3, 0xf3d4, 0xf4d3, 0xf2d2, -0xf411, 0xf2d2, 0xf411, 0xf264, 0xf3dc, 0xf264, 0xf3dc, 0xf1c6, 0xf36d, 0xf1c6, 0xf36d, -0xf0d0, 0xf29b, 0xf0d0, 0xf29b, 0xf055, 0xf237, 0xf055, 0xf237, 0xf055, 0xf237, 0xeff6, -0xf1e1, 0xeff6, 0xf1e1, 0xefb0, 0xf197, 0xefb0, 0xf197, 0xf091, 0xf267, 0xf091, 0xf267, -0xf224, 0xf3dc, 0xf224, 0xf3dc, 0xf34b, 0xf4da, 0xf34b, 0xf4da, 0xf463, 0xf5bf, 0xf463, -0xf5bf, 0xf463, 0xf5bf, 0xf525, 0xf649, 0xf525, 0xf649, 0xf59e, 0xf684, 0xf59e, 0xf684, -0xf624, 0xf6c9, 0xf624, 0xf6c9, 0xf65b, 0xf6c2, 0xf65b, 0xf6c2, 0xf6e7, 0xf711, 0xf6e7, -0xf711, 0xf76f, 0xf763, 0xf76f, 0xf763, 0xf76f, 0xf763, 0xf835, 0xf7fa, 0xf835, 0xf7fa, -0xf919, 0xf8ba, 0xf919, 0xf8ba, 0xf9d8, 0xf95f, 0xf9d8, 0xf95f, 0xfb80, 0xfaf9, 0xfb80, -0xfaf9, 0xfcd2, 0xfc49, 0xfcd2, 0xfc49, 0xfcd2, 0xfc49, 0xfdf2, 0xfd74, 0xfdf2, 0xfd74, -0xff4f, 0xfee8, 0xff4f, 0xfee8, 0xffc1, 0xff79, 0xffc1, 0xff79, 0xff5e, 0xff40, 0xff5e, -0xff40, 0xfe43, 0xfe54, 0xfe43, 0xfe54, 0xfd13, 0xfd59, 0xfd13, 0xfd59, 0xfd13, 0xfd59, -0xfb71, 0xfbec, 0xfb71, 0xfbec, 0xf966, 0xfa17, 0xf966, 0xfa17, 0xf82e, 0xf912, 0xf82e, -0xf912, 0xf6d7, 0xf7e8, 0xf6d7, 0xf7e8, 0xf52c, 0xf663, 0xf52c, 0xf663, 0xf372, 0xf4c5, -0xf372, 0xf4c5, 0xf372, 0xf4c5, 0xf1c7, 0xf32c, 0xf1c7, 0xf32c, 0xf0e9, 0xf255, 0xf0e9, -0xf255, 0xf0ad, 0xf215, 0xf0ad, 0xf215, 0xf0cb, 0xf223, 0xf0cb, 0xf223, 0xf07d, 0xf1bc, -0xf07d, 0xf1bc, 0xf07d, 0xf1bc, 0xf0a2, 0xf1be, 0xf0a2, 0xf1be, 0xf173, 0xf265, 0xf173, -0xf265, 0xf25e, 0xf321, 0xf25e, 0xf321, 0xf40f, 0xf49f, 0xf40f, 0xf49f, 0xf5c3, 0xf621, -0xf5c3, 0xf621, 0xf7a0, 0xf7cf, 0xf7a0, 0xf7cf, 0xf7a0, 0xf7cf, 0xf944, 0xf948, 0xf944, -0xf948, 0xfa86, 0xfa67, 0xfa86, 0xfa67, 0xfb42, 0xfb09, 0xfb42, 0xfb09, 0xfacd, 0xfa86, -0xfacd, 0xfa86, 0xf9f4, 0xf9ac, 0xf9f4, 0xf9ac, 0xf8bf, 0xf884, 0xf8bf, 0xf884, 0xf8bf, -0xf884, 0xf78d, 0xf76c, 0xf78d, 0xf76c, 0xf5f7, 0xf5fd, 0xf5f7, 0xf5fd, 0xf414, 0xf44d, -0xf414, 0xf44d, 0xf2d1, 0xf34a, 0xf2d1, 0xf34a, 0xf183, 0xf244, 0xf183, 0xf244, 0xf183, -0xf244, 0xf030, 0xf13f, 0xf030, 0xf13f, 0xef2d, 0xf08f, 0xef2d, 0xf08f, 0xedf6, 0xefac, -0xedf6, 0xefac, 0xece8, 0xeeef, 0xece8, 0xeeef, 0xec59, 0xeead, 0xec59, 0xeead, 0xebc9, -0xee61, 0xebc9, 0xee61, 0xebc9, 0xee61, 0xeb05, 0xedd7, 0xeb05, 0xedd7, 0xe9d9, 0xecd8, -0xe9d9, 0xecd8, 0xe8a2, 0xebbe, 0xe8a2, 0xebbe, 0xe784, 0xeaae, 0xe784, 0xeaae, 0xe6d0, -0xe9f7, 0xe6d0, 0xe9f7, 0xe6d0, 0xe9f7, 0xe702, 0xea14, 0xe702, 0xea14, 0xe821, 0xeb0e, -0xe821, 0xeb0e, 0xe9c3, 0xec7c, 0xe9c3, 0xec7c, 0xeb27, 0xed9c, 0xeb27, 0xed9c, 0xec53, -0xee78, 0xec53, 0xee78, 0xed11, 0xeedd, 0xed11, 0xeedd, 0xed11, 0xeedd, 0xedbe, 0xef29, -0xedbe, 0xef29, 0xeec2, 0xefc9, 0xeec2, 0xefc9, 0xeff2, 0xf092, 0xeff2, 0xf092, 0xf157, -0xf192, 0xf157, 0xf192, 0xf2c7, 0xf2a3, 0xf2c7, 0xf2a3, 0xf488, 0xf40a, 0xf488, 0xf40a, -0xf488, 0xf40a, 0xf71b, 0xf64d, 0xf71b, 0xf64d, 0xfa54, 0xf940, 0xfa54, 0xf940, 0xfd75, -0xfc28, 0xfd75, 0xfc28, 0xffef, 0xfe76, 0xffef, 0xfe76, 0x19f, 0x6, 0x19f, 0x6, -0x19f, 0x6, 0x2cd, 0x121, 0x2cd, 0x121, 0x39f, 0x1ed, 0x39f, 0x1ed, 0x4b5, -0x307, 0x4b5, 0x307, 0x582, 0x3e2, 0x582, 0x3e2, 0x55c, 0x3d0, 0x55c, 0x3d0, -0x569, 0x3f8, 0x569, 0x3f8, 0x569, 0x3f8, 0x545, 0x3f1, 0x545, 0x3f1, 0x503, -0x3ce, 0x503, 0x3ce, 0x52e, 0x416, 0x52e, 0x416, 0x470, 0x372, 0x470, 0x372, -0x3a3, 0x2bb, 0x3a3, 0x2bb, 0x3d9, 0x302, 0x3d9, 0x302, 0x3d9, 0x302, 0x462, -0x394, 0x462, 0x394, 0x54f, 0x484, 0x54f, 0x484, 0x625, 0x556, 0x625, 0x556, -0x723, 0x64b, 0x723, 0x64b, 0x845, 0x75d, 0x845, 0x75d, 0x845, 0x75d, 0x9b9, -0x8bd, 0x9b9, 0x8bd, 0xc11, 0xafe, 0xc11, 0xafe, 0xde1, 0xcb7, 0xde1, 0xcb7, -0xf36, 0xdf5, 0xf36, 0xdf5, 0x1048, 0xef2, 0x1048, 0xef2, 0x10eb, 0xf85, 0x10eb, -0xf85, 0x10eb, 0xf85, 0x1121, 0xfb1, 0x1121, 0xfb1, 0x110a, 0xf96, 0x110a, 0xf96, -0x10f1, 0xf83, 0x10f1, 0xf83, 0x1069, 0xf0a, 0x1069, 0xf0a, 0xf58, 0xe11, 0xf58, -0xe11, 0xdf3, 0xcce, 0xdf3, 0xcce, 0xdf3, 0xcce, 0xc81, 0xb86, 0xc81, 0xb86, -0xaf6, 0xa2e, 0xaf6, 0xa2e, 0x9a4, 0x916, 0x9a4, 0x916, 0x846, 0x7f5, 0x846, -0x7f5, 0x6d3, 0x6c4, 0x6d3, 0x6c4, 0x6d3, 0x6c4, 0x57c, 0x5b0, 0x57c, 0x5b0, -0x494, 0x509, 0x494, 0x509, 0x3a8, 0x45b, 0x3a8, 0x45b, 0x23a, 0x327, 0x23a, -0x327, 0x9f, 0x1bf, 0x9f, 0x1bf, 0xfec0, 0x9, 0xfec0, 0x9, 0xfec0, 0x9, -0xfe57, 0xffbf, 0xfe57, 0xffbf, 0xfe13, 0xff8f, 0xfe13, 0xff8f, 0xfd7d, 0xff02, 0xfd7d, -0xff02, 0xfd4c, 0xfecd, 0xfd4c, 0xfecd, 0xfc48, 0xfdba, 0xfc48, 0xfdba, 0xfbaa, 0xfd03, -0xfbaa, 0xfd03, 0xfbaa, 0xfd03, 0xfaef, 0xfc24, 0xfaef, 0xfc24, 0xfa61, 0xfb6a, 0xfa61, -0xfb6a, 0xfa0f, 0xfae6, 0xfa0f, 0xfae6, 0xf9a2, 0xfa41, 0xf9a2, 0xfa41, 0xf9e9, 0xfa4e, -0xf9e9, 0xfa4e, 0xf9e9, 0xfa4e, 0xfa3c, 0xfa66, 0xfa3c, 0xfa66, 0xfb2b, 0xfb1a, 0xfb2b, -0xfb1a, 0xfc17, 0xfbd0, 0xfc17, 0xfbd0, 0xfcfd, 0xfc83, 0xfcfd, 0xfc83, 0xfef7, 0xfe50, -0xfef7, 0xfe50, 0x11c, 0x50, 0x11c, 0x50, 0x11c, 0x50, 0x389, 0x2a0, 0x389, -0x2a0, 0x642, 0x544, 0x642, 0x544, 0x880, 0x775, 0x880, 0x775, 0x9c2, 0x8b4, -0x9c2, 0x8b4, 0xa4d, 0x942, 0xa4d, 0x942, 0xaf7, 0x9f6, 0xaf7, 0x9f6, 0xaf7, -0x9f6, 0xb70, 0xa7f, 0xb70, 0xa7f, 0xb9b, 0xabf, 0xb9b, 0xabf, 0xb09, 0xa46, -0xb09, 0xa46, 0xa29, 0x981, 0xa29, 0x981, 0x9a3, 0x918, 0x9a3, 0x918, 0x9a3, -0x918, 0x8f8, 0x88a, 0x8f8, 0x88a, 0x835, 0x7e2, 0x835, 0x7e2, 0x736, 0x6fe, -0x736, 0x6fe, 0x6a9, 0x68a, 0x6a9, 0x68a, 0x67c, 0x674, 0x67c, 0x674, 0x68e, -0x69b, 0x68e, 0x69b, 0x68e, 0x69b, 0x70c, 0x72d, 0x70c, 0x72d, 0x7a2, 0x7d5, -0x7a2, 0x7d5, 0x7ea, 0x830, 0x7ea, 0x830, 0x7ff, 0x857, 0x7ff, 0x857, 0x851, -0x8be, 0x851, 0x8be, 0x848, 0x8ca, 0x848, 0x8ca, 0x848, 0x8ca, 0x784, 0x820, -0x784, 0x820, 0x5f5, 0x6ad, 0x5f5, 0x6ad, 0x432, 0x50c, 0x432, 0x50c, 0x22a, -0x329, 0x22a, 0x329, 0x86, 0x1af, 0x86, 0x1af, 0x86, 0x1af, 0xfefe, 0x55, -0xfefe, 0x55, 0xfc78, 0xfe00, 0xfc78, 0xfe00, 0xf9c1, 0xfb7d, 0xf9c1, 0xfb7d, 0xf6a8, -0xf89a, 0xf6a8, 0xf89a, 0xf3ba, 0xf5e3, 0xf3ba, 0xf5e3, 0xf185, 0xf3e3, 0xf185, 0xf3e3, -0xf185, 0xf3e3, 0xefee, 0xf27e, 0xefee, 0xf27e, 0xee62, 0xf11f, 0xee62, 0xf11f, 0xed04, -0xefe8, 0xed04, 0xefe8, 0xebf4, 0xeef7, 0xebf4, 0xeef7, 0xeb59, 0xee71, 0xeb59, 0xee71, -0xeb84, 0xeea6, 0xeb84, 0xeea6, 0xeb84, 0xeea6, 0xeb54, 0xee74, 0xeb54, 0xee74, 0xeb47, -0xee59, 0xeb47, 0xee59, 0xeb2d, 0xee25, 0xeb2d, 0xee25, 0xeb2d, 0xedfc, 0xeb2d, 0xedfc, -0xebe8, 0xee83, 0xebe8, 0xee83, 0xebe8, 0xee83, 0xed6b, 0xefc5, 0xed6b, 0xefc5, 0xef94, -0xf1a3, 0xef94, 0xf1a3, 0xf17f, 0xf339, 0xf17f, 0xf339, 0xf35e, 0xf4bd, 0xf35e, 0xf4bd, -0xf50d, 0xf60a, 0xf50d, 0xf60a, 0xf6bd, 0xf754, 0xf6bd, 0xf754, 0xf6bd, 0xf754, 0xf8d5, -0xf905, 0xf8d5, 0xf905, 0xfad1, 0xfa99, 0xfad1, 0xfa99, 0xfc93, 0xfbf6, 0xfc93, 0xfbf6, -0xfeac, 0xfdae, 0xfeac, 0xfdae, 0x12d, 0xffd2, 0x12d, 0xffd2, 0x3be, 0x20c, 0x3be, -0x20c, 0x3be, 0x20c, 0x71c, 0x51b, 0x71c, 0x51b, 0xac9, 0x880, 0xac9, 0x880, -0xd85, 0xafc, 0xd85, 0xafc, 0x10a6, 0xde4, 0x10a6, 0xde4, 0x13ed, 0x10f8, 0x13ed, -0x10f8, 0x13ed, 0x10f8, 0x16fa, 0x13d9, 0x16fa, 0x13d9, 0x19c7, 0x167e, 0x19c7, 0x167e, -0x1b4f, 0x17e2, 0x1b4f, 0x17e2, 0x1d34, 0x19a5, 0x1d34, 0x19a5, 0x1eda, 0x1b2b, 0x1eda, -0x1b2b, 0x209d, 0x1cce, 0x209d, 0x1cce, 0x209d, 0x1cce, 0x2215, 0x1e25, 0x2215, 0x1e25, -0x21e4, 0x1dd3, 0x21e4, 0x1dd3, 0x227a, 0x1e46, 0x227a, 0x1e46, 0x238c, 0x1f32, 0x238c, -0x1f32, 0x24d7, 0x2057, 0x24d7, 0x2057, 0x24d7, 0x2057, 0x2607, 0x2160, 0x2607, 0x2160, -0x26f1, 0x2224, 0x26f1, 0x2224, 0x27d2, 0x22e0, 0x27d2, 0x22e0, 0x2885, 0x2371, 0x2885, -0x2371, 0x2a41, 0x2511, 0x2a41, 0x2511, 0x2be9, 0x26a3, 0x2be9, 0x26a3, 0x2be9, 0x26a3, -0x2cd6, 0x2784, 0x2cd6, 0x2784, 0x2e2a, 0x28d6, 0x2e2a, 0x28d6, 0x2f6e, 0x2a25, 0x2f6e, -0x2a25, 0x2fde, 0x2aad, 0x2fde, 0x2aad, 0x2fbd, 0x2ab3, 0x2fbd, 0x2ab3, 0x2ee8, 0x2a15, -0x2ee8, 0x2a15, 0x2ee8, 0x2a15, 0x2cff, 0x2874, 0x2cff, 0x2874, 0x2a69, 0x2635, 0x2a69, -0x2635, 0x27ba, 0x23ec, 0x27ba, 0x23ec, 0x2445, 0x20ec, 0x2445, 0x20ec, 0x206d, 0x1d94, -0x206d, 0x1d94, 0x206d, 0x1d94, 0x1cba, 0x1a6b, 0x1cba, 0x1a6b, 0x1889, 0x16cd, 0x1889, -0x16cd, 0x147d, 0x1358, 0x147d, 0x1358, 0x1095, 0x1009, 0x1095, 0x1009, 0xd24, 0xd30, -0xd24, 0xd30, 0xa43, 0xae3, 0xa43, 0xae3, 0xa43, 0xae3, 0x724, 0x851, 0x724, -0x851, 0x40c, 0x5bb, 0x40c, 0x5bb, 0xd3, 0x2f8, 0xd3, 0x2f8, 0xfd57, 0xffe3, -0xfd57, 0xffe3, 0xfa4c, 0xfd2e, 0xfa4c, 0xfd2e, 0xf73b, 0xfa64, 0xf73b, 0xfa64, 0xf73b, -0xfa64, 0xf45f, 0xf7bb, 0xf45f, 0xf7bb, 0xf21f, 0xf59d, 0xf21f, 0xf59d, 0xf009, 0xf397, -0xf009, 0xf397, 0xee90, 0xf21e, 0xee90, 0xf21e, 0xed73, 0xf0f1, 0xed73, 0xf0f1, 0xed73, -0xf0f1, 0xecfe, 0xf061, 0xecfe, 0xf061, 0xec06, 0xef42, 0xec06, 0xef42, 0xea8a, 0xed97, -0xea8a, 0xed97, 0xe98d, 0xec65, 0xe98d, 0xec65, 0xe7f8, 0xea98, 0xe7f8, 0xea98, 0xe6bf, -0xe927, 0xe6bf, 0xe927, 0xe6bf, 0xe927, 0xe61d, 0xe84d, 0xe61d, 0xe84d, 0xe5af, 0xe7ac, -0xe5af, 0xe7ac, 0xe58e, 0xe75a, 0xe58e, 0xe75a, 0xe65f, 0xe802, 0xe65f, 0xe802, 0xe7f0, -0xe971, 0xe7f0, 0xe971, 0xe99a, 0xeaff, 0xe99a, 0xeaff, 0xe99a, 0xeaff, 0xeb21, 0xec70, -0xeb21, 0xec70, 0xebd8, 0xed18, 0xebd8, 0xed18, 0xec76, 0xedab, 0xec76, 0xedab, 0xed20, -0xee4c, 0xed20, 0xee4c, 0xee16, 0xef3b, 0xee16, 0xef3b, 0xee16, 0xef3b, 0xee95, 0xefb3, -0xee95, 0xefb3, 0xee77, 0xef8a, 0xee77, 0xef8a, 0xeefe, 0xf003, 0xeefe, 0xf003, 0xef8c, -0xf07c, 0xef8c, 0xf07c, 0xefeb, 0xf0bf, 0xefeb, 0xf0bf, 0xf0a5, 0xf154, 0xf0a5, 0xf154, -0xf0a5, 0xf154, 0xf1a0, 0xf220, 0xf1a0, 0xf220, 0xf2a2, 0xf2eb, 0xf2a2, 0xf2eb, 0xf453, -0xf45b, 0xf453, 0xf45b, 0xf6f4, 0xf6b4, 0xf6f4, 0xf6b4, 0xf965, 0xf8d4, 0xf965, 0xf8d4, -0xfb6f, 0xfa8a, 0xfb6f, 0xfa8a, 0xfb6f, 0xfa8a, 0xfe57, 0xfd1b, 0xfe57, 0xfd1b, 0x180, -0xffec, 0x180, 0xffec, 0x454, 0x26b, 0x454, 0x26b, 0x7c5, 0x58e, 0x7c5, 0x58e, -0xb22, 0x8a5, 0xb22, 0x8a5, 0xb22, 0x8a5, 0xd70, 0xab9, 0xd70, 0xab9, 0xf75, -0xc94, 0xf75, 0xc94, 0x10fd, 0xe01, 0x10fd, 0xe01, 0x116f, 0xe6b, 0x116f, 0xe6b, -0x11db, 0xee4, 0x11db, 0xee4, 0x1182, 0xead, 0x1182, 0xead, 0x1182, 0xead, 0x1020, -0xd82, 0x1020, 0xd82, 0xe17, 0xbc5, 0xe17, 0xbc5, 0xb96, 0x9a3, 0xb96, 0x9a3, -0x94c, 0x7c9, 0x94c, 0x7c9, 0x686, 0x583, 0x686, 0x583, 0x3c9, 0x352, 0x3c9, -0x352, 0x3c9, 0x352, 0x104, 0x122, 0x104, 0x122, 0xfe08, 0xfec1, 0xfe08, 0xfec1, -0xfb73, 0xfcc8, 0xfb73, 0xfcc8, 0xf86b, 0xfa5a, 0xf86b, 0xfa5a, 0xf4fa, 0xf77d, 0xf4fa, -0xf77d, 0xf4fa, 0xf77d, 0xf1e3, 0xf4f1, 0xf1e3, 0xf4f1, 0xef22, 0xf2b0, 0xef22, 0xf2b0, -0xec41, 0xf040, 0xec41, 0xf040, 0xe964, 0xedc3, 0xe964, 0xedc3, 0xe716, 0xebc2, 0xe716, -0xebc2, 0xe486, 0xe96d, 0xe486, 0xe96d, 0xe486, 0xe96d, 0xe21e, 0xe72e, 0xe21e, 0xe72e, -0xe0cc, 0xe5f1, 0xe0cc, 0xe5f1, 0xdfcf, 0xe4f9, 0xdfcf, 0xe4f9, 0xdee0, 0xe3fe, 0xdee0, -0xe3fe, 0xde0a, 0xe30f, 0xde0a, 0xe30f, 0xddf1, 0xe2d2, 0xddf1, 0xe2d2, 0xddf1, 0xe2d2, -0xdd41, 0xe1f5, 0xdd41, 0xe1f5, 0xdc6d, 0xe0ef, 0xdc6d, 0xe0ef, 0xdc9b, 0xe0e6, 0xdc9b, -0xe0e6, 0xdc4e, 0xe063, 0xdc4e, 0xe063, 0xdd3f, 0xe120, 0xdd3f, 0xe120, 0xdd3f, 0xe120, -0xde7d, 0xe22b, 0xde7d, 0xe22b, 0xdf50, 0xe2d3, 0xdf50, 0xe2d3, 0xe0f5, 0xe452, 0xe0f5, -0xe452, 0xe2e3, 0xe621, 0xe2e3, 0xe621, 0xe575, 0xe89c, 0xe575, 0xe89c, 0xe731, 0xea45, -0xe731, 0xea45, 0xe731, 0xea45, 0xe85a, 0xeb62, 0xe85a, 0xeb62, 0xe97f, 0xec7f, 0xe97f, -0xec7f, 0xe9d6, 0xeccf, 0xe9d6, 0xeccf, 0xea80, 0xed72, 0xea80, 0xed72, 0xeb42, 0xee2b, -0xeb42, 0xee2b, 0xeb71, 0xee4d, 0xeb71, 0xee4d, 0xeb71, 0xee4d, 0xeb65, 0xee2c, 0xeb65, -0xee2c, 0xeba6, 0xee51, 0xeba6, 0xee51, 0xec82, 0xef07, 0xec82, 0xef07, 0xecca, 0xef1e, -0xecca, 0xef1e, 0xed1f, 0xef35, 0xed1f, 0xef35, 0xed1f, 0xef35, 0xee43, 0xf010, 0xee43, -0xf010, 0xef95, 0xf10d, 0xef95, 0xf10d, 0xf1f3, 0xf30b, 0xf1f3, 0xf30b, 0xf523, 0xf5d1, -0xf523, 0xf5d1, 0xf885, 0xf8c2, 0xf885, 0xf8c2, 0xfbf1, 0xfbb8, 0xfbf1, 0xfbb8, 0xfbf1, -0xfbb8, 0xffea, 0xff39, 0xffea, 0xff39, 0x3ad, 0x284, 0x3ad, 0x284, 0x615, 0x477, -0x615, 0x477, 0x86f, 0x663, 0x86f, 0x663, 0xa87, 0x818, 0xa87, 0x818, 0xc42, -0x97b, 0xc42, 0x97b, 0xc42, 0x97b, 0xdfb, 0xaec, 0xdfb, 0xaec, 0xf7f, 0xc38, -0xf7f, 0xc38, 0x103b, 0xccf, 0x103b, 0xccf, 0xffe, 0xc80, 0xffe, 0xc80, 0xf8f, -0xc13, 0xf8f, 0xc13, 0xf8f, 0xc13, 0xee8, 0xb81, 0xee8, 0xb81, 0xe3b, 0xafc, -0xe3b, 0xafc, 0xd9d, 0xa97, 0xd9d, 0xa97, 0xca5, 0x9e7, 0xca5, 0x9e7, 0xb55, -0x8eb, 0xb55, 0x8eb, 0xaa0, 0x895, 0xaa0, 0x895, 0xaa0, 0x895, 0xa09, 0x863, -0xa09, 0x863, 0x8a5, 0x769, 0x8a5, 0x769, 0x74a, 0x677, 0x74a, 0x677, 0x5bd, -0x551, 0x5bd, 0x551, 0x414, 0x40b, 0x414, 0x40b, 0x414, 0x40b, 0x29c, 0x2ec, -0x29c, 0x2ec, 0x157, 0x1f7, 0x157, 0x1f7, 0xffd3, 0xb7, 0xffd3, 0xb7, 0xfdcd, -0xfee8, 0xfdcd, 0xfee8, 0xfd46, 0xfe8a, 0xfd46, 0xfe8a, 0xfd3a, 0xfe9a, 0xfd3a, 0xfe9a, -0xfd3a, 0xfe9a, 0xfc9a, 0xfe07, 0xfc9a, 0xfe07, 0xfcaa, 0xfe17, 0xfcaa, 0xfe17, 0xfc11, -0xfd72, 0xfc11, 0xfd72, 0xfb2f, 0xfc7b, 0xfb2f, 0xfc7b, 0xfaff, 0xfc2c, 0xfaff, 0xfc2c, -0xfacb, 0xfbd3, 0xfacb, 0xfbd3, 0xfacb, 0xfbd3, 0xfa77, 0xfb56, 0xfa77, 0xfb56, 0xfae9, -0xfb9b, 0xfae9, 0xfb9b, 0xfc9a, 0xfd1f, 0xfc9a, 0xfd1f, 0xfddd, 0xfe35, 0xfddd, 0xfe35, -0xfed5, 0xff03, 0xfed5, 0xff03, 0xfed5, 0xff03, 0x6a, 0x70, 0x6a, 0x70, 0x21d, -0x201, 0x21d, 0x201, 0x374, 0x339, 0x374, 0x339, 0x4ce, 0x478, 0x4ce, 0x478, -0x5f9, 0x58e, 0x5f9, 0x58e, 0x667, 0x5e8, 0x667, 0x5e8, 0x667, 0x5e8, 0x6fa, -0x66c, 0x6fa, 0x66c, 0x754, 0x6b8, 0x754, 0x6b8, 0x716, 0x66c, 0x716, 0x66c, -0x67c, 0x5c4, 0x67c, 0x5c4, 0x5fd, 0x534, 0x5fd, 0x534, 0x604, 0x527, 0x604, -0x527, 0x604, 0x527, 0x630, 0x53b, 0x630, 0x53b, 0x677, 0x565, 0x677, 0x565, -0x6c8, 0x593, 0x6c8, 0x593, 0x715, 0x5b8, 0x715, 0x5b8, 0x7b4, 0x62a, 0x7b4, -0x62a, 0x7b4, 0x62a, 0x931, 0x775, 0x931, 0x775, 0xaae, 0x8bc, 0xaae, 0x8bc, -0xc77, 0xa4d, 0xc77, 0xa4d, 0xebd, 0xc5a, 0xebd, 0xc5a, 0x1079, 0xddc, 0x1079, -0xddc, 0x124f, 0xf7c, 0x124f, 0xf7c, 0x124f, 0xf7c, 0x13a1, 0x109c, 0x13a1, 0x109c, -0x148f, 0x115d, 0x148f, 0x115d, 0x156b, 0x1215, 0x156b, 0x1215, 0x15e0, 0x126f, 0x15e0, -0x126f, 0x16c7, 0x1347, 0x16c7, 0x1347, 0x174b, 0x13c7, 0x174b, 0x13c7, 0x174b, 0x13c7, -0x170e, 0x1394, 0x170e, 0x1394, 0x168e, 0x132b, 0x168e, 0x132b, 0x15d1, 0x1293, 0x15d1, -0x1293, 0x150e, 0x1202, 0x150e, 0x1202, 0x1426, 0x1159, 0x1426, 0x1159, 0x1426, 0x1159, -0x131c, 0x1099, 0x131c, 0x1099, 0x11a1, 0xf73, 0x11a1, 0xf73, 0x1027, 0xe56, 0x1027, -0xe56, 0xee8, 0xd7d, 0xee8, 0xd7d, 0xd43, 0xc41, 0xd43, 0xc41, 0xbc7, 0xb31, -0xbc7, 0xb31, 0xbc7, 0xb31, 0xa41, 0xa19, 0xa41, 0xa19, 0x846, 0x88a, 0x846, -0x88a, 0x5c2, 0x66f, 0x5c2, 0x66f, 0x317, 0x429, 0x317, 0x429, 0x123, 0x294, -0x123, 0x294, 0xff03, 0xcc, 0xff03, 0xcc, 0xff03, 0xcc, 0xfcf0, 0xff09, 0xfcf0, -0xff09, 0xfb06, 0xfd65, 0xfb06, 0xfd65, 0xf91b, 0xfbb9, 0xf91b, 0xfbb9, 0xf833, 0xfb05, -0xf833, 0xfb05, 0xf68b, 0xf989, 0xf68b, 0xf989, 0xf68b, 0xf989, 0xf3c6, 0xf6e6, 0xf3c6, -0xf6e6, 0xf0ee, 0xf429, 0xf0ee, 0xf429, 0xee09, 0xf156, 0xee09, 0xf156, 0xebd1, 0xef2a, -0xebd1, 0xef2a, 0xea3a, 0xed98, 0xea3a, 0xed98, 0xe9be, 0xed1c, 0xe9be, 0xed1c, 0xe9be, -0xed1c, 0xe922, 0xec7a, 0xe922, 0xec7a, 0xe826, 0xeb75, 0xe826, 0xeb75, 0xe83e, 0xeb7f, -0xe83e, 0xeb7f, 0xe7fc, 0xeb2b, 0xe7fc, 0xeb2b, 0xe7e4, 0xeafd, 0xe7e4, 0xeafd, 0xe859, -0xeb58, 0xe859, 0xeb58, 0xe859, 0xeb58, 0xe8c7, 0xeba8, 0xe8c7, 0xeba8, 0xe922, 0xebe0, -0xe922, 0xebe0, 0xe910, 0xeba7, 0xe910, 0xeba7, 0xe979, 0xebe4, 0xe979, 0xebe4, 0xe9c6, -0xebff, 0xe9c6, 0xebff, 0xe9c6, 0xebff, 0xe9e4, 0xebe5, 0xe9e4, 0xebe5, 0xea2d, 0xebf2, -0xea2d, 0xebf2, 0xea7a, 0xebfb, 0xea7a, 0xebfb, 0xeb85, 0xecbc, 0xeb85, 0xecbc, 0xed0b, -0xedf2, 0xed0b, 0xedf2, 0xeeb3, 0xef46, 0xeeb3, 0xef46, 0xeeb3, 0xef46, 0xf0b9, 0xf0f3, -0xf0b9, 0xf0f3, 0xf399, 0xf375, 0xf399, 0xf375, 0xf6e5, 0xf662, 0xf6e5, 0xf662, 0xfa31, -0xf94d, 0xfa31, 0xf94d, 0xfd72, 0xfc2d, 0xfd72, 0xfc2d, 0x97, 0xfef2, 0x97, 0xfef2, -0x97, 0xfef2, 0x41e, 0x21c, 0x41e, 0x21c, 0x7e0, 0x585, 0x7e0, 0x585, 0xb8b, -0x8de, 0xb8b, 0x8de, 0xee9, 0xbf0, 0xee9, 0xbf0, 0x126c, 0xf2f, 0x126c, 0xf2f, -0x126c, 0xf2f, 0x15aa, 0x1233, 0x15aa, 0x1233, 0x17be, 0x1417, 0x17be, 0x1417, 0x1940, -0x1574, 0x1940, 0x1574, 0x1a4c, 0x1666, 0x1a4c, 0x1666, 0x1ae8, 0x16f2, 0x1ae8, 0x16f2, -0x1b13, 0x1719, 0x1b13, 0x1719, 0x1b13, 0x1719, 0x1b22, 0x172d, 0x1b22, 0x172d, 0x1b80, -0x1798, 0x1b80, 0x1798, 0x1c1b, 0x184a, 0x1c1b, 0x184a, 0x1cd2, 0x191f, 0x1cd2, 0x191f, -0x1d0a, 0x197b, 0x1d0a, 0x197b, 0x1d41, 0x19da, 0x1d41, 0x19da, 0x1d41, 0x19da, 0x1d50, -0x1a14, 0x1d50, 0x1a14, 0x1ce9, 0x19db, 0x1ce9, 0x19db, 0x1d4f, 0x1a6e, 0x1d4f, 0x1a6e, -0x1dcc, 0x1b19, 0x1dcc, 0x1b19, 0x1d9f, 0x1b19, 0x1d9f, 0x1b19, 0x1d9f, 0x1b19, 0x1cf4, -0x1a99, 0x1cf4, 0x1a99, 0x1bf5, 0x19c3, 0x1bf5, 0x19c3, 0x1b7b, 0x196e, 0x1b7b, 0x196e, -0x1b0d, 0x1924, 0x1b0d, 0x1924, 0x1acf, 0x1907, 0x1acf, 0x1907, 0x1ac9, 0x191f, 0x1ac9, -0x191f, 0x1ac9, 0x191f, 0x1a64, 0x18d7, 0x1a64, 0x18d7, 0x1a53, 0x18e2, 0x1a53, 0x18e2, -0x1a16, 0x18c1, 0x1a16, 0x18c1, 0x1912, 0x17d8, 0x1912, 0x17d8, 0x1783, 0x1665, 0x1783, -0x1665, 0x157f, 0x147d, 0x157f, 0x147d, 0x157f, 0x147d, 0x13e8, 0x1305, 0x13e8, 0x1305, -0x12f8, 0x1236, 0x12f8, 0x1236, 0x11c9, 0x1129, 0x11c9, 0x1129, 0x106e, 0xff2, 0x106e, -0xff2, 0xf56, 0xf00, 0xf56, 0xf00, 0xf56, 0xf00, 0xeac, 0xe7c, 0xeac, 0xe7c, -0xe53, 0xe4a, 0xe53, 0xe4a, 0xddf, 0xdfc, 0xddf, 0xdfc, 0xd11, 0xd53, 0xd11, -0xd53, 0xbc5, 0xc29, 0xbc5, 0xc29, 0xa19, 0xa9c, 0xa19, 0xa9c, 0xa19, 0xa9c, -0x7dd, 0x87a, 0x7dd, 0x87a, 0x59b, 0x64c, 0x59b, 0x64c, 0x381, 0x441, 0x381, -0x441, 0x1c7, 0x28e, 0x1c7, 0x28e, 0x47, 0x10f, 0x47, 0x10f, 0x47, 0x10f, -0xfe0a, 0xfeca, 0xfe0a, 0xfeca, 0xfc42, 0xfcf2, 0xfc42, 0xfcf2, 0xfaf7, 0xfb90, 0xfaf7, -0xfb90, 0xf9e2, 0xfa5d, 0xf9e2, 0xfa5d, 0xf907, 0xf95f, 0xf907, 0xf95f, 0xf81f, 0xf84e, -0xf81f, 0xf84e, 0xf81f, 0xf84e, 0xf83e, 0xf841, 0xf83e, 0xf841, 0xf900, 0xf8d4, 0xf900, -0xf8d4, 0xfa2a, 0xf9d0, 0xfa2a, 0xf9d0, 0xfb75, 0xfaed, 0xfb75, 0xfaed, 0xfc58, 0xfba5, -0xfc58, 0xfba5, 0xfd00, 0xfc26, 0xfd00, 0xfc26, 0xfd00, 0xfc26, 0xfd1b, 0xfc20, 0xfd1b, -0xfc20, 0xfda4, 0xfc90, 0xfda4, 0xfc90, 0xfe87, 0xfd60, 0xfe87, 0xfd60, 0xfecb, 0xfd9c, -0xfecb, 0xfd9c, 0xfebf, 0xfd90, 0xfebf, 0xfd90, 0xfebf, 0xfd90, 0xfdc1, 0xfc9b, 0xfdc1, -0xfc9b, 0xfc24, 0xfb11, 0xfc24, 0xfb11, 0xfab2, 0xf9bb, 0xfab2, 0xf9bb, 0xf92f, 0xf85c, -0xf92f, 0xf85c, 0xf7d4, 0xf72d, 0xf7d4, 0xf72d, 0xf698, 0xf622, 0xf698, 0xf622, 0xf698, -0xf622, 0xf566, 0xf525, 0xf566, 0xf525, 0xf433, 0xf42a, 0xf433, 0xf42a, 0xf345, 0xf375, -0xf345, 0xf375, 0xf28e, 0xf2f7, 0xf28e, 0xf2f7, 0xf1b9, 0xf258, 0xf1b9, 0xf258, 0xf180, -0xf253, 0xf180, 0xf253, 0xf180, 0xf253, 0xf1ae, 0xf2af, 0xf1ae, 0xf2af, 0xf1a8, 0xf2d1, -0xf1a8, 0xf2d1, 0xf1df, 0xf32a, 0xf1df, 0xf32a, 0xf213, 0xf379, 0xf213, 0xf379, 0xf268, -0xf3e1, 0xf268, 0xf3e1, 0xf268, 0xf3e1, 0xf316, 0xf49b, 0xf316, 0xf49b, 0xf42a, 0xf5b4, -0xf42a, 0xf5b4, 0xf5a2, 0xf72a, 0xf5a2, 0xf72a, 0xf683, 0xf804, 0xf683, 0xf804, 0xf7dc, -0xf951, 0xf7dc, 0xf951, 0xf8f3, 0xfa5a, 0xf8f3, 0xfa5a, 0xf8f3, 0xfa5a, 0xf93e, 0xfa95, -0xf93e, 0xfa95, 0xf9e1, 0xfb27, 0xf9e1, 0xfb27, 0xfa2f, 0xfb64, 0xfa2f, 0xfb64, 0xfac6, -0xfbed, 0xfac6, 0xfbed, 0xfb48, 0xfc65, 0xfb48, 0xfc65, 0xfc57, 0xfd6c, 0xfc57, 0xfd6c, -0xfc57, 0xfd6c, 0xfd75, 0xfe87, 0xfd75, 0xfe87, 0xfdcc, 0xfee0, 0xfdcc, 0xfee0, 0xfe7d, -0xff99, 0xfe7d, 0xff99, 0xfec5, 0xffed, 0xfec5, 0xffed, 0xff28, 0x61, 0xff28, 0x61, -0xff28, 0x61, 0xff50, 0x9e, 0xff50, 0x9e, 0xff25, 0x8b, 0xff25, 0x8b, 0xfeb6, -0x36, 0xfeb6, 0x36, 0xfd87, 0xff23, 0xfd87, 0xff23, 0xfbea, 0xfda1, 0xfbea, 0xfda1, -0xf9d4, 0xfba4, 0xf9d4, 0xfba4, 0xf9d4, 0xfba4, 0xf803, 0xf9e9, 0xf803, 0xf9e9, 0xf683, -0xf87c, 0xf683, 0xf87c, 0xf516, 0xf71d, 0xf516, 0xf71d, 0xf300, 0xf50f, 0xf300, 0xf50f, -0xf0a1, 0xf2b1, 0xf0a1, 0xf2b1, 0xeeb2, 0xf0be, 0xeeb2, 0xf0be, 0xeeb2, 0xf0be, 0xed23, -0xef24, 0xed23, 0xef24, 0xec9a, 0xee89, 0xec9a, 0xee89, 0xec87, 0xee60, 0xec87, 0xee60, -0xecdb, 0xee98, 0xecdb, 0xee98, 0xedd8, 0xef75, 0xedd8, 0xef75, 0xedd8, 0xef75, 0xeef4, -0xf06f, 0xeef4, 0xf06f, 0xf059, 0xf1b0, 0xf059, 0xf1b0, 0xf1bc, 0xf2ef, 0xf1bc, 0xf2ef, -0xf2b3, 0xf3c5, 0xf2b3, 0xf3c5, 0xf3c6, 0xf4b8, 0xf3c6, 0xf4b8, 0xf4b2, 0xf58a, 0xf4b2, -0xf58a, 0xf4b2, 0xf58a, 0xf532, 0xf5f5, 0xf532, 0xf5f5, 0xf5a5, 0xf659, 0xf5a5, 0xf659, -0xf5d1, 0xf67d, 0xf5d1, 0xf67d, 0xf5a0, 0xf64c, 0xf5a0, 0xf64c, 0xf583, 0xf638, 0xf583, -0xf638, 0xf4eb, 0xf5b0, 0xf4eb, 0xf5b0, 0xf4eb, 0xf5b0, 0xf3c8, 0xf4a5, 0xf3c8, 0xf4a5, -0xf2f7, 0xf3f2, 0xf2f7, 0xf3f2, 0xf1db, 0xf2f9, 0xf1db, 0xf2f9, 0xf090, 0xf1d7, 0xf090, -0xf1d7, 0xef84, 0xf0f5, 0xef84, 0xf0f5, 0xef84, 0xf0f5, 0xeeac, 0xf049, 0xeeac, 0xf049, -0xee5e, 0xf028, 0xee5e, 0xf028, 0xee21, 0xf016, 0xee21, 0xf016, 0xedb0, 0xefcc, 0xedb0, -0xefcc, 0xecff, 0xef3d, 0xecff, 0xef3d, 0xec3b, 0xee94, 0xec3b, 0xee94, 0xec3b, 0xee94, -0xebf5, 0xee62, 0xebf5, 0xee62, 0xeb7b, 0xedf5, 0xeb7b, 0xedf5, 0xeb31, 0xedad, 0xeb31, -0xedad, 0xebe7, 0xee5c, 0xebe7, 0xee5c, 0xecd7, 0xef3c, 0xecd7, 0xef3c, 0xee61, 0xf0ab, -0xee61, 0xf0ab, 0xee61, 0xf0ab, 0xefa7, 0xf1cf, 0xefa7, 0xf1cf, 0xf0a2, 0xf2a0, 0xf0a2, -0xf2a0, 0xf15c, 0xf328, 0xf15c, 0xf328, 0xf18a, 0xf31f, 0xf18a, 0xf31f, 0xf285, 0xf3e0, -0xf285, 0xf3e0, 0xf285, 0xf3e0, 0xf356, 0xf473, 0xf356, 0xf473, 0xf48d, 0xf56b, 0xf48d, -0xf56b, 0xf631, 0xf6cf, 0xf631, 0xf6cf, 0xf7cc, 0xf82c, 0xf7cc, 0xf82c, 0xf963, 0xf989, -0xf963, 0xf989, 0xfaf8, 0xfae7, 0xfaf8, 0xfae7, 0xfaf8, 0xfae7, 0xfd29, 0xfce5, 0xfd29, -0xfce5, 0xfed1, 0xfe60, 0xfed1, 0xfe60, 0xdc, 0x44, 0xdc, 0x44, 0x2bf, 0x206, -0x2bf, 0x206, 0x3f8, 0x323, 0x3f8, 0x323, 0x4f1, 0x406, 0x4f1, 0x406, 0x4f1, -0x406, 0x52e, 0x432, 0x52e, 0x432, 0x551, 0x448, 0x551, 0x448, 0x49b, 0x389, -0x49b, 0x389, 0x41a, 0x302, 0x41a, 0x302, 0x3f6, 0x2da, 0x3f6, 0x2da, 0x3f6, -0x2da, 0x30e, 0x1ed, 0x30e, 0x1ed, 0x262, 0x13d, 0x262, 0x13d, 0x1f1, 0xc8, -0x1f1, 0xc8, 0x239, 0x109, 0x239, 0x109, 0x2fd, 0x1c4, 0x2fd, 0x1c4, 0x33f, -0x1fb, 0x33f, 0x1fb, 0x33f, 0x1fb, 0x3e9, 0x297, 0x3e9, 0x297, 0x4d2, 0x36f, -0x4d2, 0x36f, 0x60b, 0x495, 0x60b, 0x495, 0x76b, 0x5e1, 0x76b, 0x5e1, 0x898, -0x6f9, 0x898, 0x6f9, 0xa4b, 0x896, 0xa4b, 0x896, 0xa4b, 0x896, 0xc09, 0xa3f, -0xc09, 0xa3f, 0xda7, 0xbc9, 0xda7, 0xbc9, 0xedf, 0xcf1, 0xedf, 0xcf1, 0xfbc, -0xdc0, 0xfbc, 0xdc0, 0xfdc, 0xdd6, 0xfdc, 0xdd6, 0xfdc, 0xdd6, 0xf61, 0xd56, -0xf61, 0xd56, 0xeff, 0xcf6, 0xeff, 0xcf6, 0xe07, 0xc06, 0xe07, 0xc06, 0xce2, -0xaee, 0xce2, 0xaee, 0xbd0, 0x9f0, 0xbd0, 0x9f0, 0xadb, 0x915, 0xadb, 0x915, -0xadb, 0x915, 0xa17, 0x870, 0xa17, 0x870, 0x8f9, 0x777, 0x8f9, 0x777, 0x7a8, -0x64f, 0x7a8, 0x64f, 0x661, 0x533, 0x661, 0x533, 0x592, 0x491, 0x592, 0x491, -0x592, 0x491, 0x557, 0x485, 0x557, 0x485, 0x490, 0x3ed, 0x490, 0x3ed, 0x36f, -0x2f9, 0x36f, 0x2f9, 0x230, 0x1e4, 0x230, 0x1e4, 0xe1, 0xbc, 0xe1, 0xbc, -0xfff3, 0xffef, 0xfff3, 0xffef, 0xfff3, 0xffef, 0xfedb, 0xfef3, 0xfedb, 0xfef3, 0xfe89, -0xfeb7, 0xfe89, 0xfeb7, 0xfed2, 0xff10, 0xfed2, 0xff10, 0xff02, 0xff48, 0xff02, 0xff48, -0xff6c, 0xffb5, 0xff6c, 0xffb5, 0xff95, 0xffd9, 0xff95, 0xffd9, 0xff95, 0xffd9, 0xff04, -0xff3f, 0xff04, 0xff3f, 0xfe90, 0xfebc, 0xfe90, 0xfebc, 0xfe87, 0xfe9f, 0xfe87, 0xfe9f, -0xfe53, 0xfe54, 0xfe53, 0xfe54, 0xfec1, 0xfea8, 0xfec1, 0xfea8, 0xfec1, 0xfea8, 0xff24, -0xfef1, 0xff24, 0xfef1, 0x55, 0x6, 0x55, 0x6, 0x2be, 0x254, 0x2be, 0x254, -0x49f, 0x41b, 0x49f, 0x41b, 0x64a, 0x5af, 0x64a, 0x5af, 0x7df, 0x730, 0x7df, -0x730, 0x7df, 0x730, 0x9cc, 0x90c, 0x9cc, 0x90c, 0xb32, 0xa65, 0xb32, 0xa65, -0xb50, 0xa7b, 0xb50, 0xa7b, 0xb5f, 0xa86, 0xb5f, 0xa86, 0xb66, 0xa8c, 0xb66, -0xa8c, 0xb03, 0xa2d, 0xb03, 0xa2d, 0xb03, 0xa2d, 0xa69, 0x99b, 0xa69, 0x99b, -0x9b9, 0x8f6, 0x9b9, 0x8f6, 0x8d1, 0x81b, 0x8d1, 0x81b, 0x78b, 0x6e5, 0x78b, -0x6e5, 0x639, 0x5a4, 0x639, 0x5a4, 0x639, 0x5a4, 0x4d1, 0x44f, 0x4d1, 0x44f, -0x3c0, 0x353, 0x3c0, 0x353, 0x368, 0x30f, 0x368, 0x30f, 0x32e, 0x2e9, 0x32e, -0x2e9, 0x35b, 0x32a, 0x35b, 0x32a, 0x386, 0x36a, 0x386, 0x36a, 0x386, 0x36a, -0x327, 0x31e, 0x327, 0x31e, 0x290, 0x29b, 0x290, 0x29b, 0x2b2, 0x2d2, 0x2b2, -0x2d2, 0x31f, 0x353, 0x31f, 0x353, 0x2e0, 0x329, 0x2e0, 0x329, 0x302, 0x360, -0x302, 0x360, 0x302, 0x360, 0x2e5, 0x35a, 0x2e5, 0x35a, 0x1da, 0x267, 0x1da, -0x267, 0x66, 0x10c, 0x66, 0x10c, 0xfed2, 0xff93, 0xfed2, 0xff93, 0xfce0, 0xfdbd, -0xfce0, 0xfdbd, 0xfce0, 0xfdbd, 0xfa90, 0xfb89, 0xfa90, 0xfb89, 0xf87b, 0xf992, 0xf87b, -0xf992, 0xf6a5, 0xf7d9, 0xf6a5, 0xf7d9, 0xf4e9, 0xf63c, 0xf4e9, 0xf63c, 0xf38b, 0xf4fb, -0xf38b, 0xf4fb, 0xf252, 0xf3dd, 0xf252, 0xf3dd, 0xf252, 0xf3dd, 0xf0dc, 0xf27f, 0xf0dc, -0xf27f, 0xf023, 0xf1dd, 0xf023, 0xf1dd, 0xef95, 0xf160, 0xef95, 0xf160, 0xef24, 0xf0fc, -0xef24, 0xf0fc, 0xef17, 0xf0f6, 0xef17, 0xf0f6, 0xef0e, 0xf0ee, 0xef0e, 0xf0ee, 0xef0e, -0xf0ee, 0xefae, 0xf188, 0xefae, 0xf188, 0xf039, 0xf207, 0xf039, 0xf207, 0xf0fd, 0xf2b7, -0xf0fd, 0xf2b7, 0xf245, 0xf3e3, 0xf245, 0xf3e3, 0xf397, 0xf513, 0xf397, 0xf513, 0xf397, -0xf513, 0xf4ef, 0xf641, 0xf4ef, 0xf641, 0xf68d, 0xf7ae, 0xf68d, 0xf7ae, 0xf850, 0xf93a, -0xf850, 0xf93a, 0xf983, 0xfa32, 0xf983, 0xfa32, 0xfb0a, 0xfb77, 0xfb0a, 0xfb77, 0xfcde, -0xfd08, 0xfcde, 0xfd08, 0xfcde, 0xfd08, 0xfebc, 0xfe9f, 0xfebc, 0xfe9f, 0x103, 0x9e, -0x103, 0x9e, 0x30a, 0x25c, 0x30a, 0x25c, 0x510, 0x41a, 0x510, 0x41a, 0x75a, -0x61b, 0x75a, 0x61b, 0xa59, 0x8d4, 0xa59, 0x8d4, 0xa59, 0x8d4, 0xd80, 0xbb7, -0xd80, 0xbb7, 0xfcf, 0xdc5, 0xfcf, 0xdc5, 0x12b0, 0x1068, 0x12b0, 0x1068, 0x1535, -0x12b2, 0x1535, 0x12b2, 0x1758, 0x149c, 0x1758, 0x149c, 0x1758, 0x149c, 0x196f, 0x167f, -0x196f, 0x167f, 0x1ade, 0x17bc, 0x1ade, 0x17bc, 0x1c9b, 0x1949, 0x1c9b, 0x1949, 0x1d88, -0x1a0a, 0x1d88, 0x1a0a, 0x1e50, 0x1aa8, 0x1e50, 0x1aa8, 0x1ee9, 0x1b19, 0x1ee9, 0x1b19, -0x1ee9, 0x1b19, 0x1f16, 0x1b21, 0x1f16, 0x1b21, 0x1fb4, 0x1b9b, 0x1fb4, 0x1b9b, 0x1fd5, -0x1b9b, 0x1fd5, 0x1b9b, 0x2004, 0x1bac, 0x2004, 0x1bac, 0x20fe, 0x1c8b, 0x20fe, 0x1c8b, -0x2230, 0x1da5, 0x2230, 0x1da5, 0x2230, 0x1da5, 0x232a, 0x1e8b, 0x232a, 0x1e8b, 0x24f9, -0x204c, 0x24f9, 0x204c, 0x2652, 0x219c, 0x2652, 0x219c, 0x26b0, 0x21f8, 0x26b0, 0x21f8, -0x27d8, 0x2326, 0x27d8, 0x2326, 0x27d8, 0x2326, 0x28ff, 0x245b, 0x28ff, 0x245b, 0x2972, -0x24e6, 0x2972, 0x24e6, 0x2983, 0x2518, 0x2983, 0x2518, 0x290c, 0x24cd, 0x290c, 0x24cd, -0x2805, 0x23fe, 0x2805, 0x23fe, 0x26b9, 0x22f3, 0x26b9, 0x22f3, 0x26b9, 0x22f3, 0x251f, -0x21a5, 0x251f, 0x21a5, 0x233c, 0x2018, 0x233c, 0x2018, 0x2053, 0x1d8d, 0x2053, 0x1d8d, -0x1d26, 0x1ac7, 0x1d26, 0x1ac7, 0x1a02, 0x1812, 0x1a02, 0x1812, 0x165e, 0x14e0, 0x165e, -0x14e0, 0x165e, 0x14e0, 0x1314, 0x120d, 0x1314, 0x120d, 0xfe0, 0xf52, 0xfe0, 0xf52, -0xcca, 0xcb3, 0xcca, 0xcb3, 0x990, 0x9ee, 0x990, 0x9ee, 0x6a5, 0x774, 0x6a5, -0x774, 0x6a5, 0x774, 0x3da, 0x513, 0x3da, 0x513, 0xd8, 0x274, 0xd8, 0x274, -0xfdb9, 0xffae, 0xfdb9, 0xffae, 0xfa8e, 0xfcd2, 0xfa8e, 0xfcd2, 0xf7e5, 0xfa6a, 0xf7e5, -0xfa6a, 0xf4f0, 0xf7ac, 0xf4f0, 0xf7ac, 0xf4f0, 0xf7ac, 0xf2f4, 0xf5da, 0xf2f4, 0xf5da, -0xf145, 0xf447, 0xf145, 0xf447, 0xef97, 0xf2aa, 0xef97, 0xf2aa, 0xee6f, 0xf187, 0xee6f, -0xf187, 0xec74, 0xef86, 0xec74, 0xef86, 0xeb29, 0xee2d, 0xeb29, 0xee2d, 0xeb29, 0xee2d, -0xe9f5, 0xece2, 0xe9f5, 0xece2, 0xe91f, 0xebef, 0xe91f, 0xebef, 0xe867, 0xeb16, 0xe867, -0xeb16, 0xe70f, 0xe99a, 0xe70f, 0xe99a, 0xe713, 0xe979, 0xe713, 0xe979, 0xe713, 0xe979, -0xe6d9, 0xe91a, 0xe6d9, 0xe91a, 0xe6b2, 0xe8cd, 0xe6b2, 0xe8cd, 0xe6e4, 0xe8dd, 0xe6e4, -0xe8dd, 0xe78f, 0xe968, 0xe78f, 0xe968, 0xe913, 0xeacf, 0xe913, 0xeacf, 0xe9d5, 0xeb78, -0xe9d5, 0xeb78, 0xe9d5, 0xeb78, 0xeb7f, 0xed0c, 0xeb7f, 0xed0c, 0xecdd, 0xee55, 0xecdd, -0xee55, 0xedc3, 0xef29, 0xedc3, 0xef29, 0xee4e, 0xefa2, 0xee4e, 0xefa2, 0xee3a, 0xef7d, -0xee3a, 0xef7d, 0xee3a, 0xef7d, 0xef17, 0xf046, 0xef17, 0xf046, 0xeeeb, 0xf005, 0xeeeb, -0xf005, 0xef1d, 0xf01e, 0xef1d, 0xf01e, 0xefca, 0xf0ae, 0xefca, 0xf0ae, 0xf0de, 0xf1a0, -0xf0de, 0xf1a0, 0xf254, 0xf2ee, 0xf254, 0xf2ee, 0xf254, 0xf2ee, 0xf33e, 0xf3ab, 0xf33e, -0xf3ab, 0xf5ca, 0xf606, 0xf5ca, 0xf606, 0xf7d4, 0xf7d9, 0xf7d4, 0xf7d9, 0xf9c7, 0xf992, -0xf9c7, 0xf992, 0xfcc3, 0xfc52, 0xfcc3, 0xfc52, 0xff77, 0xfec9, 0xff77, 0xfec9, 0xff77, -0xfec9, 0x22f, 0x144, 0x22f, 0x144, 0x494, 0x370, 0x494, 0x370, 0x793, 0x63b, -0x793, 0x63b, 0xa3e, 0x8b9, 0xa3e, 0x8b9, 0xc76, 0xace, 0xc76, 0xace, 0xc76, -0xace, 0xe9c, 0xcdb, 0xe9c, 0xcdb, 0xf79, 0xdad, 0xf79, 0xdad, 0xfd7, 0xe0e, -0xfd7, 0xe0e, 0xf86, 0xdce, 0xf86, 0xdce, 0xe89, 0xcf4, 0xe89, 0xcf4, 0xd2b, -0xbc8, 0xd2b, 0xbc8, 0xd2b, 0xbc8, 0xb93, 0xa72, 0xb93, 0xa72, 0x9b0, 0x8df, -0x9b0, 0x8df, 0x6ad, 0x63a, 0x6ad, 0x63a, 0x3e7, 0x3de, 0x3e7, 0x3de, 0x180, -0x1ea, 0x180, 0x1ea, 0xff1d, 0x2, 0xff1d, 0x2, 0xff1d, 0x2, 0xfc6d, 0xfdd1, -0xfc6d, 0xfdd1, 0xf986, 0xfb6b, 0xf986, 0xfb6b, 0xf734, 0xf999, 0xf734, 0xf999, 0xf41e, -0xf6ff, 0xf41e, 0xf6ff, 0xf182, 0xf4d7, 0xf182, 0xf4d7, 0xf182, 0xf4d7, 0xeeec, 0xf2ad, -0xeeec, 0xf2ad, 0xebdc, 0xeffe, 0xebdc, 0xeffe, 0xe957, 0xedcd, 0xe957, 0xedcd, 0xe651, -0xeb0b, 0xe651, 0xeb0b, 0xe456, 0xe945, 0xe456, 0xe945, 0xe2e3, 0xe7f8, 0xe2e3, 0xe7f8, -0xe2e3, 0xe7f8, 0xe1b4, 0xe6de, 0xe1b4, 0xe6de, 0xe0e0, 0xe611, 0xe0e0, 0xe611, 0xdf78, -0xe4a1, 0xdf78, 0xe4a1, 0xdebc, 0xe3d0, 0xdebc, 0xe3d0, 0xde17, 0xe30b, 0xde17, 0xe30b, -0xdd69, 0xe232, 0xdd69, 0xe232, 0xdd69, 0xe232, 0xdc79, 0xe111, 0xdc79, 0xe111, 0xdbfe, -0xe05e, 0xdbfe, 0xe05e, 0xdc3b, 0xe060, 0xdc3b, 0xe060, 0xdca9, 0xe091, 0xdca9, 0xe091, -0xde74, 0xe21e, 0xde74, 0xe21e, 0xde74, 0xe21e, 0xdfe9, 0xe356, 0xdfe9, 0xe356, 0xe18b, -0xe4bf, 0xe18b, 0xe4bf, 0xe34f, 0xe64b, 0xe34f, 0xe64b, 0xe47e, 0xe747, 0xe47e, 0xe747, -0xe631, 0xe8c8, 0xe631, 0xe8c8, 0xe6d2, 0xe93d, 0xe6d2, 0xe93d, 0xe6d2, 0xe93d, 0xe7cb, -0xea0a, 0xe7cb, 0xea0a, 0xe858, 0xea6e, 0xe858, 0xea6e, 0xe87c, 0xea69, 0xe87c, 0xea69, -0xe996, 0xeb5b, 0xe996, 0xeb5b, 0xe972, 0xeb0d, 0xe972, 0xeb0d, 0xe9c6, 0xeb34, 0xe9c6, -0xeb34, 0xe9c6, 0xeb34, 0xea92, 0xebcf, 0xea92, 0xebcf, 0xeb66, 0xec6f, 0xeb66, 0xec6f, -0xec83, 0xed53, 0xec83, 0xed53, 0xee18, 0xeea8, 0xee18, 0xeea8, 0xf076, 0xf0c2, 0xf076, -0xf0c2, 0xf076, 0xf0c2, 0xf29b, 0xf29e, 0xf29b, 0xf29e, 0xf5a1, 0xf557, 0xf5a1, 0xf557, -0xf80f, 0xf774, 0xf80f, 0xf774, 0xfa78, 0xf98b, 0xfa78, 0xf98b, 0xfd73, 0xfc33, 0xfd73, -0xfc33, 0xa1, 0xff10, 0xa1, 0xff10, 0xa1, 0xff10, 0x415, 0x236, 0x415, 0x236, -0x668, 0x441, 0x668, 0x441, 0x9c3, 0x75a, 0x9c3, 0x75a, 0xc36, 0x996, 0xc36, -0x996, 0xd9f, 0xad2, 0xd9f, 0xad2, 0xf40, 0xc53, 0xf40, 0xc53, 0xf40, 0xc53, -0xffb, 0xcfc, 0xffb, 0xcfc, 0x1106, 0xe02, 0x1106, 0xe02, 0x1103, 0xe0a, 0x1103, -0xe0a, 0x10ed, 0xe0e, 0x10ed, 0xe0e, 0x1095, 0xdde, 0x1095, 0xdde, 0x1095, 0xdde, -0xfa3, 0xd23, 0xfa3, 0xd23, 0xf0b, 0xcce, 0xf0b, 0xcce, 0xdaf, 0xbbf, 0xdaf, -0xbbf, 0xca3, 0xb0a, 0xca3, 0xb0a, 0xb52, 0xa18, 0xb52, 0xa18, 0x9ce, 0x8f7, -0x9ce, 0x8f7, 0x9ce, 0x8f7, 0x84f, 0x7dd, 0x84f, 0x7dd, 0x714, 0x707, 0x714, -0x707, 0x606, 0x65b, 0x606, 0x65b, 0x42d, 0x4e1, 0x42d, 0x4e1, 0x321, 0x42c, -0x321, 0x42c, 0x180, 0x2d9, 0x180, 0x2d9, 0x180, 0x2d9, 0xffc9, 0x166, 0xffc9, -0x166, 0xfe97, 0x6d, 0xfe97, 0x6d, 0xfd30, 0xff32, 0xfd30, 0xff32, 0xfcbb, 0xfedc, -0xfcbb, 0xfedc, 0xfbdf, 0xfe12, 0xfbdf, 0xfe12, 0xfbdf, 0xfe12, 0xfafd, 0xfd37, 0xfafd, -0xfd37, 0xfa36, 0xfc6a, 0xfa36, 0xfc6a, 0xf9bf, 0xfbe1, 0xf9bf, 0xfbe1, 0xf98d, 0xfb94, -0xf98d, 0xfb94, 0xf927, 0xfb09, 0xf927, 0xfb09, 0xf98f, 0xfb45, 0xf98f, 0xfb45, 0xf98f, -0xfb45, 0xfa00, 0xfb84, 0xfa00, 0xfb84, 0xfa7d, 0xfbca, 0xfa7d, 0xfbca, 0xfaeb, 0xfbfe, -0xfaeb, 0xfbfe, 0xfc37, 0xfd0e, 0xfc37, 0xfd0e, 0xfdec, 0xfe87, 0xfdec, 0xfe87, 0xfe99, -0xfef7, 0xfe99, 0xfef7, 0xfe99, 0xfef7, 0xffa7, 0xffc9, 0xffa7, 0xffc9, 0xc5, 0xae, -0xc5, 0xae, 0x1f3, 0x1a3, 0x1f3, 0x1a3, 0x2f0, 0x269, 0x2f0, 0x269, 0x36d, -0x2b1, 0x36d, 0x2b1, 0x36d, 0x2b1, 0x45f, 0x371, 0x45f, 0x371, 0x4e8, 0x3c8, -0x4e8, 0x3c8, 0x4ec, 0x39c, 0x4ec, 0x39c, 0x4c0, 0x340, 0x4c0, 0x340, 0x50e, -0x35e, 0x50e, 0x35e, 0x5dd, 0x3fd, 0x5dd, 0x3fd, 0x5dd, 0x3fd, 0x61e, 0x40e, -0x61e, 0x40e, 0x75c, 0x51c, 0x75c, 0x51c, 0x8a1, 0x632, 0x8a1, 0x632, 0xa07, -0x768, 0xa07, 0x768, 0xc73, 0x9a4, 0xc73, 0x9a4, 0xdf6, 0xafa, 0xdf6, 0xafa, -0xdf6, 0xafa, 0x101c, 0xcf4, 0x101c, 0xcf4, 0x1210, 0xebf, 0x1210, 0xebf, 0x138d, -0x1017, 0x138d, 0x1017, 0x1557, 0x11c2, 0x1557, 0x11c2, 0x16af, 0x1301, 0x16af, 0x1301, -0x16af, 0x1301, 0x17d7, 0x1419, 0x17d7, 0x1419, 0x186c, 0x14a5, 0x186c, 0x14a5, 0x19b7, -0x15f2, 0x19b7, 0x15f2, 0x1a70, 0x16b6, 0x1a70, 0x16b6, 0x1ad8, 0x1736, 0x1ad8, 0x1736, -0x1ac7, 0x1747, 0x1ac7, 0x1747, 0x1ac7, 0x1747, 0x19c9, 0x1677, 0x19c9, 0x1677, 0x1981, -0x1667, 0x1981, 0x1667, 0x17d4, 0x14fe, 0x17d4, 0x14fe, 0x169c, 0x1414, 0x169c, 0x1414, -0x158e, 0x135e, 0x158e, 0x135e, 0x158e, 0x135e, 0x1371, 0x119f, 0x1371, 0x119f, 0x1207, -0x109a, 0x1207, 0x109a, 0xfe0, 0xede, 0xfe0, 0xede, 0xdcc, 0xd38, 0xdcc, 0xd38, -0xbf3, 0xbcf, 0xbf3, 0xbcf, 0x996, 0x9e2, 0x996, 0x9e2, 0x996, 0x9e2, 0x700, -0x7ba, 0x700, 0x7ba, 0x46f, 0x593, 0x46f, 0x593, 0x250, 0x3da, 0x250, 0x3da, -0xffde, 0x1c6, 0xffde, 0x1c6, 0xfd55, 0xff95, 0xfd55, 0xff95, 0xfa6b, 0xfcfb, 0xfa6b, -0xfcfb, 0xfa6b, 0xfcfb, 0xf754, 0xfa2a, 0xf754, 0xfa2a, 0xf53b, 0xf84d, 0xf53b, 0xf84d, -0xf325, 0xf669, 0xf325, 0xf669, 0xf099, 0xf405, 0xf099, 0xf405, 0xee5e, 0xf1e9, 0xee5e, -0xf1e9, 0xee5e, 0xf1e9, 0xecca, 0xf069, 0xecca, 0xf069, 0xeadb, 0xee85, 0xeadb, 0xee85, -0xe916, 0xecc2, 0xe916, 0xecc2, 0xe7c1, 0xeb66, 0xe7c1, 0xeb66, 0xe657, 0xe9ee, 0xe657, -0xe9ee, 0xe60d, 0xe98e, 0xe60d, 0xe98e, 0xe60d, 0xe98e, 0xe570, 0xe8d5, 0xe570, 0xe8d5, -0xe560, 0xe8a3, 0xe560, 0xe8a3, 0xe60f, 0xe92a, 0xe60f, 0xe92a, 0xe62e, 0xe91b, 0xe62e, -0xe91b, 0xe730, 0xe9eb, 0xe730, 0xe9eb, 0xe7ab, 0xea2f, 0xe7ab, 0xea2f, 0xe7ab, 0xea2f, -0xe853, 0xea9b, 0xe853, 0xea9b, 0xe958, 0xeb60, 0xe958, 0xeb60, 0xe9bc, 0xeb7f, 0xe9bc, -0xeb7f, 0xea1c, 0xeb96, 0xea1c, 0xeb96, 0xea93, 0xebc0, 0xea93, 0xebc0, 0xea93, 0xebc0, -0xebea, 0xecc6, 0xebea, 0xecc6, 0xed9d, 0xee24, 0xed9d, 0xee24, 0xefaf, 0xefde, 0xefaf, -0xefde, 0xf1b3, 0xf188, 0xf1b3, 0xf188, 0xf43e, 0xf3b5, 0xf43e, 0xf3b5, 0xf72a, 0xf643, -0xf72a, 0xf643, 0xf72a, 0xf643, 0xf971, 0xf829, 0xf971, 0xf829, 0xfcce, 0xfb27, 0xfcce, -0xfb27, 0xfffd, 0xfdf8, 0xfffd, 0xfdf8, 0x31b, 0xb8, 0x31b, 0xb8, 0x6f7, 0x43c, -0x6f7, 0x43c, 0xa5b, 0x74b, 0xa5b, 0x74b, 0xa5b, 0x74b, 0xde3, 0xa85, 0xde3, -0xa85, 0x1114, 0xd6e, 0x1114, 0xd6e, 0x1463, 0x107e, 0x1463, 0x107e, 0x179f, 0x1384, -0x179f, 0x1384, 0x199e, 0x1557, 0x199e, 0x1557, 0x199e, 0x1557, 0x1b46, 0x16dd, 0x1b46, -0x16dd, 0x1d01, 0x1880, 0x1d01, 0x1880, 0x1df3, 0x1967, 0x1df3, 0x1967, 0x1e55, 0x19c8, -0x1e55, 0x19c8, 0x1eaa, 0x1a28, 0x1eaa, 0x1a28, 0x1e1f, 0x19b1, 0x1e1f, 0x19b1, 0x1e1f, -0x19b1, 0x1dd9, 0x198b, 0x1dd9, 0x198b, 0x1de8, 0x19c1, 0x1de8, 0x19c1, 0x1df4, 0x19fd, -0x1df4, 0x19fd, 0x1dfe, 0x1a3c, 0x1dfe, 0x1a3c, 0x1e00, 0x1a7a, 0x1e00, 0x1a7a, 0x1dc3, -0x1a7e, 0x1dc3, 0x1a7e, 0x1dc3, 0x1a7e, 0x1caa, 0x19a8, 0x1caa, 0x19a8, 0x1c8d, 0x19cf, -0x1c8d, 0x19cf, 0x1c19, 0x19a0, 0x1c19, 0x19a0, 0x1b4c, 0x1919, 0x1b4c, 0x1919, 0x1a8e, -0x189e, 0x1a8e, 0x189e, 0x1a8e, 0x189e, 0x1997, 0x17e8, 0x1997, 0x17e8, 0x1920, 0x17b0, -0x1920, 0x17b0, 0x1834, 0x16ff, 0x1834, 0x16ff, 0x1788, 0x168b, 0x1788, 0x168b, 0x16e8, -0x1620, 0x16e8, 0x1620, 0x1680, 0x15e9, 0x1680, 0x15e9, 0x1680, 0x15e9, 0x1555, 0x14ec, -0x1555, 0x14ec, 0x13f3, 0x13b5, 0x13f3, 0x13b5, 0x1286, 0x1272, 0x1286, 0x1272, 0x1084, -0x1097, 0x1084, 0x1097, 0xf4b, 0xf83, 0xf4b, 0xf83, 0xdc5, 0xe22, 0xdc5, 0xe22, -0xdc5, 0xe22, 0xcc9, 0xd4a, 0xcc9, 0xd4a, 0xbbc, 0xc60, 0xbbc, 0xc60, 0xa90, -0xb57, 0xa90, 0xb57, 0xa24, 0xb0d, 0xa24, 0xb0d, 0x959, 0xa65, 0x959, 0xa65, -0x959, 0xa65, 0x8ca, 0x9f6, 0x8ca, 0x9f6, 0x87c, 0x9c8, 0x87c, 0x9c8, 0x7c6, -0x92f, 0x7c6, 0x92f, 0x6c4, 0x848, 0x6c4, 0x848, 0x585, 0x721, 0x585, 0x721, -0x3b2, 0x563, 0x3b2, 0x563, 0x3b2, 0x563, 0x1d7, 0x396, 0x1d7, 0x396, 0x18, -0x1e1, 0x18, 0x1e1, 0xfe47, 0x14, 0xfe47, 0x14, 0xfc5e, 0xfe28, 0xfc5e, 0xfe28, -0xfab6, 0xfc77, 0xfab6, 0xfc77, 0xf9ea, 0xfb9b, 0xf9ea, 0xfb9b, 0xf9ea, 0xfb9b, 0xf94d, -0xfae8, 0xf94d, 0xfae8, 0xf8ae, 0xfa2c, 0xf8ae, 0xfa2c, 0xf8a4, 0xf9fe, 0xf8a4, 0xf9fe, -0xf860, 0xf992, 0xf860, 0xf992, 0xf833, 0xf939, 0xf833, 0xf939, 0xf833, 0xf939, 0xf8a2, -0xf979, 0xf8a2, 0xf979, 0xf943, 0xf9e9, 0xf943, 0xf9e9, 0xfae6, 0xfb5a, 0xfae6, 0xfb5a, -0xfc27, 0xfc6b, 0xfc27, 0xfc6b, 0xfce3, 0xfcf8, 0xfce3, 0xfcf8, 0xfdf4, 0xfddf, 0xfdf4, -0xfddf, 0xfdf4, 0xfddf, 0xfe6e, 0xfe34, 0xfe6e, 0xfe34, 0xfea3, 0xfe49, 0xfea3, 0xfe49, -0xfed5, 0xfe63, 0xfed5, 0xfe63, 0xfebf, 0xfe3e, 0xfebf, 0xfe3e, 0xfe2d, 0xfda3, 0xfe2d, -0xfda3, 0xfd36, 0xfcad, 0xfd36, 0xfcad, 0xfd36, 0xfcad, 0xfc77, 0xfbf6, 0xfc77, 0xfbf6, -0xfbc9, 0xfb58, 0xfbc9, 0xfb58, 0xfa67, 0xfa0e, 0xfa67, 0xfa0e, 0xf987, 0xf94c, 0xf987, -0xf94c, 0xf8f7, 0xf8de, 0xf8f7, 0xf8de, 0xf8f7, 0xf8de, 0xf7b7, 0xf7c5, 0xf7b7, 0xf7c5, -0xf6e4, 0xf71c, 0xf6e4, 0xf71c, 0xf645, 0xf6a8, 0xf645, 0xf6a8, 0xf59f, 0xf62c, 0xf59f, -0xf62c, 0xf562, 0xf618, 0xf562, 0xf618, 0xf52a, 0xf605, 0xf52a, 0xf605, 0xf52a, 0xf605, -0xf51c, 0xf618, 0xf51c, 0xf618, 0xf56b, 0xf683, 0xf56b, 0xf683, 0xf57f, 0xf6ad, 0xf57f, -0xf6ad, 0xf5a5, 0xf6e2, 0xf5a5, 0xf6e2, 0xf601, 0xf746, 0xf601, 0xf746, 0xf637, 0xf77d, -0xf637, 0xf77d, 0xf637, 0xf77d, 0xf6c3, 0xf804, 0xf6c3, 0xf804, 0xf7cb, 0xf900, 0xf7cb, -0xf900, 0xf859, 0xf97d, 0xf859, 0xf97d, 0xf926, 0xfa37, 0xf926, 0xfa37, 0xf9cd, 0xfac5, -0xf9cd, 0xfac5, 0xf9cd, 0xfac5, 0xf9fa, 0xfad9, 0xf9fa, 0xfad9, 0xfafd, 0xfbc1, 0xfafd, -0xfbc1, 0xfb2f, 0xfbda, 0xfb2f, 0xfbda, 0xfb2d, 0xfbc0, 0xfb2d, 0xfbc0, 0xfb8f, 0xfc0d, -0xfb8f, 0xfc0d, 0xfbe9, 0xfc57, 0xfbe9, 0xfc57, 0xfbe9, 0xfc57, 0xfc4a, 0xfcac, 0xfc4a, -0xfcac, 0xfc44, 0xfc9f, 0xfc44, 0xfc9f, 0xfc9e, 0xfcf7, 0xfc9e, 0xfcf7, 0xfd0c, 0xfd68, -0xfd0c, 0xfd68, 0xfd08, 0xfd6d, 0xfd08, 0xfd6d, 0xfd08, 0xfd6d, 0xfcc9, 0xfd3b, 0xfcc9, -0xfd3b, 0xfc2f, 0xfcb2, 0xfc2f, 0xfcb2, 0xfb1b, 0xfbb1, 0xfb1b, 0xfbb1, 0xf9fa, 0xfaa6, -0xf9fa, 0xfaa6, 0xf80f, 0xf8d1, 0xf80f, 0xf8d1, 0xf693, 0xf76c, 0xf693, 0xf76c, 0xf693, -0xf76c, 0xf557, 0xf644, 0xf557, 0xf644, 0xf3e1, 0xf4df, 0xf3e1, 0xf4df, 0xf242, 0xf34f, -0xf242, 0xf34f, 0xf075, 0xf18b, 0xf075, 0xf18b, 0xeffe, 0xf118, 0xeffe, 0xf118, 0xeed2, -0xefec, 0xeed2, 0xefec, 0xeed2, 0xefec, 0xee8c, 0xef9f, 0xee8c, 0xef9f, 0xef58, 0xf060, -0xef58, 0xf060, 0xefb7, 0xf0af, 0xefb7, 0xf0af, 0xf037, 0xf11a, 0xf037, 0xf11a, 0xf08c, -0xf158, 0xf08c, 0xf158, 0xf08c, 0xf158, 0xf039, 0xf0ec, 0xf039, 0xf0ec, 0xf037, 0xf0cf, -0xf037, 0xf0cf, 0xf19d, 0xf21c, 0xf19d, 0xf21c, 0xf2bd, 0xf325, 0xf2bd, 0xf325, 0xf3bc, -0xf410, 0xf3bc, 0xf410, 0xf38e, 0xf3d4, 0xf38e, 0xf3d4, 0xf38e, 0xf3d4, 0xf519, 0xf555, -0xf519, 0xf555, 0xf541, 0xf57b, 0xf541, 0xf57b, 0xf377, 0xf3b7, 0xf377, 0xf3b7, 0xf4a9, -0xf4f7, 0xf4a9, 0xf4f7, 0xf3f6, 0xf45a, 0xf3f6, 0xf45a, 0xf2d0, 0xf351, 0xf2d0, 0xf351, -0xf2d0, 0xf351, 0xf24d, 0xf2f3, 0xf24d, 0xf2f3, 0xf1d1, 0xf2a3, 0xf1d1, 0xf2a3, 0xf0b9, -0xf1bc, 0xf0b9, 0xf1bc, 0xef83, 0xf0bc, 0xef83, 0xf0bc, 0xef0f, 0xf081, 0xef0f, 0xf081, -0xef0f, 0xf081, 0xee37, 0xefe2, 0xee37, 0xefe2, 0xede1, 0xefc5, 0xede1, 0xefc5, 0xeccc, -0xeee7, 0xeccc, 0xeee7, 0xec48, 0xee96, 0xec48, 0xee96, 0xec8b, 0xef05, 0xec8b, 0xef05, -0xed2f, 0xefcf, 0xed2f, 0xefcf, 0xed2f, 0xefcf, 0xed47, 0xf004, 0xed47, 0xf004, 0xed3f, -0xf010, 0xed3f, 0xf010, 0xecf7, 0xefd2, 0xecf7, 0xefd2, 0xeccf, 0xefaa, 0xeccf, 0xefaa, -0xedbc, 0xf08d, 0xedbc, 0xf08d, 0xedec, 0xf0a8, 0xedec, 0xf0a8, 0xedec, 0xf0a8, 0xefc8, -0xf266, 0xefc8, 0xf266, 0xf0dd, 0xf355, 0xf0dd, 0xf355, 0xf1ba, 0xf404, 0xf1ba, 0xf404, -0xf3b5, 0xf5cb, 0xf3b5, 0xf5cb, 0xf4dd, 0xf6bb, 0xf4dd, 0xf6bb, 0xf4dd, 0xf6bb, 0xf692, -0xf834, 0xf692, 0xf834, 0xf7bf, 0xf925, 0xf7bf, 0xf925, 0xf954, 0xfa7d, 0xf954, 0xfa7d, -0xfb60, 0xfc4d, 0xfb60, 0xfc4d, 0xfdc4, 0xfe79, 0xfdc4, 0xfe79, 0xffc0, 0x41, 0xffc0, -0x41, 0xffc0, 0x41, 0xbe, 0x10f, 0xbe, 0x10f, 0x2f9, 0x320, 0x2f9, 0x320, -0x4e3, 0x4e4, 0x4e3, 0x4e4, 0x5bd, 0x59f, 0x5bd, 0x59f, 0x774, 0x73c, 0x774, -0x73c, 0x7ff, 0x7b2, 0x7ff, 0x7b2, 0x7ff, 0x7b2, 0x7fa, 0x79c, 0x7fa, 0x79c, -0x922, 0x8b7, 0x922, 0x8b7, 0x846, 0x7cf, 0x846, 0x7cf, 0x7fe, 0x77d, 0x7fe, -0x77d, 0x7be, 0x733, 0x7be, 0x733, 0x7be, 0x733, 0x713, 0x67c, 0x713, 0x67c, -0x8b1, 0x80d, 0x8b1, 0x80d, 0x784, 0x6d1, 0x784, 0x6d1, 0x734, 0x66d, 0x734, -0x66d, 0x834, 0x757, 0x834, 0x757, 0x72c, 0x634, 0x72c, 0x634, 0x72c, 0x634, -0x866, 0x74f, 0x866, 0x74f, 0x93d, 0x803, 0x93d, 0x803, 0x93b, 0x7dc, 0x93b, -0x7dc, 0x9fe, 0x877, 0x9fe, 0x877, 0xb37, 0x987, 0xb37, 0x987, 0xcea, 0xb11, -0xcea, 0xb11, 0xcea, 0xb11, 0xd29, 0xb28, 0xd29, 0xb28, 0xd29, 0xb02, 0xd29, -0xb02, 0xe29, 0xbe0, 0xe29, 0xbe0, 0xe3b, 0xbd5, 0xe3b, 0xbd5, 0xcd6, 0xa58, -0xcd6, 0xa58, 0xcd6, 0xa58, 0xbff, 0x970, 0xbff, 0x970, 0xc0d, 0x975, 0xc0d, -0x975, 0xb68, 0x8cf, 0xb68, 0x8cf, 0x9fd, 0x76a, 0x9fd, 0x76a, 0x998, 0x714, -0x998, 0x714, 0x87b, 0x60d, 0x87b, 0x60d, 0x87b, 0x60d, 0x6db, 0x48a, 0x6db, -0x48a, 0x620, 0x3f2, 0x620, 0x3f2, 0x47d, 0x277, 0x47d, 0x277, 0x3c0, 0x1e6, -0x3c0, 0x1e6, 0x2e7, 0x13b, 0x2e7, 0x13b, 0x1b6, 0x38, 0x1b6, 0x38, 0x1b6, -0x38, 0x1c5, 0x76, 0x1c5, 0x76, 0x13e, 0x1a, 0x13e, 0x1a, 0xe0, 0xffe5, -0xe0, 0xffe5, 0x9b, 0xffc4, 0x9b, 0xffc4, 0xffdf, 0xff26, 0xffdf, 0xff26, 0xffdf, -0xff26, 0x51, 0xffb1, 0x51, 0xffb1, 0x1, 0xff72, 0x1, 0xff72, 0xff59, 0xfed4, -0xff59, 0xfed4, 0xff62, 0xfee1, 0xff62, 0xfee1, 0xff8a, 0xff05, 0xff8a, 0xff05, 0x3f, -0xffb1, 0x3f, 0xffb1, 0x3f, 0xffb1, 0xff6c, 0xfed0, 0xff6c, 0xfed0, 0xffec, 0xff3d, -0xffec, 0xff3d, 0x71, 0xffac, 0x71, 0xffac, 0x14e, 0x71, 0x14e, 0x71, 0x28c, -0x197, 0x28c, 0x197, 0x26e, 0x161, 0x26e, 0x161, 0x26e, 0x161, 0x4c0, 0x39d, -0x4c0, 0x39d, 0x664, 0x52f, 0x664, 0x52f, 0x7e0, 0x69b, 0x7e0, 0x69b, 0x8de, -0x78f, 0x8de, 0x78f, 0xb6a, 0xa16, 0xb6a, 0xa16, 0xb6a, 0xa16, 0xcda, 0xb87, -0xcda, 0xb87, 0xd17, 0xbca, 0xd17, 0xbca, 0xe1d, 0xcdc, 0xe1d, 0xcdc, 0xb42, -0xa12, 0xb42, 0xa12, 0xc8b, 0xb70, 0xc8b, 0xb70, 0xc62, 0xb60, 0xc62, 0xb60, -0xc62, 0xb60, 0xa35, 0x950, 0xa35, 0x950, 0x963, 0x89e, 0x963, 0x89e, 0x777, -0x6d1, 0x777, 0x6d1, 0x6b9, 0x634, 0x6b9, 0x634, 0x4c5, 0x461, 0x4c5, 0x461, -0x3e4, 0x39f, 0x3e4, 0x39f, 0x3e4, 0x39f, 0x24c, 0x225, 0x24c, 0x225, 0x165, -0x158, 0x165, 0x158, 0xe, 0x1a, 0xe, 0x1a, 0xffeb, 0xc, 0xffeb, 0xc, -0x121, 0x155, 0x121, 0x155, 0x121, 0x155, 0xff5a, 0xff9f, 0xff5a, 0xff9f, 0xffd8, -0x2b, 0xffd8, 0x2b, 0xa8, 0x108, 0xa8, 0x108, 0xff8f, 0xfffa, 0xff8f, 0xfffa, -0xfe7d, 0xfef2, 0xfe7d, 0xfef2, 0xfee7, 0xff67, 0xfee7, 0xff67, 0xfee7, 0xff67, 0xfe19, -0xfea6, 0xfe19, 0xfea6, 0xfc80, 0xfd1a, 0xfc80, 0xfd1a, 0xfb27, 0xfbd0, 0xfb27, 0xfbd0, -0xf96d, 0xfa26, 0xf96d, 0xfa26, 0xf8a9, 0xf975, 0xf8a9, 0xf975, 0xf8a9, 0xf975, 0xf669, -0xf74b, 0xf669, 0xf74b, 0xf3fd, 0xf4f6, 0xf3fd, 0xf4f6, 0xf27f, 0xf391, 0xf27f, 0xf391, -0xf1bd, 0xf2ea, 0xf1bd, 0xf2ea, 0xf050, 0xf197, 0xf050, 0xf197, 0xef18, 0xf079, 0xef18, -0xf079, 0xef18, 0xf079, 0xef43, 0xf0bc, 0xef43, 0xf0bc, 0xef5a, 0xf0e8, 0xef5a, 0xf0e8, -0xf02e, 0xf1cf, 0xf02e, 0xf1cf, 0xf11c, 0xf2ca, 0xf11c, 0xf2ca, 0xf1b9, 0xf36e, 0xf1b9, -0xf36e, 0xf284, 0xf43a, 0xf284, 0xf43a, 0xf284, 0xf43a, 0xf30f, 0xf4bf, 0xf30f, 0xf4bf, -0xf34b, 0xf4ec, 0xf34b, 0xf4ec, 0xf46b, 0xf5f6, 0xf46b, 0xf5f6, 0xf612, 0xf77e, 0xf612, -0xf77e, 0xf74f, 0xf893, 0xf74f, 0xf893, 0xf74f, 0xf893, 0xf89f, 0xf9b4, 0xf89f, 0xf9b4, -0xfb20, 0xfbfd, 0xfb20, 0xfbfd, 0xfc8e, 0xfd2f, 0xfc8e, 0xfd2f, 0xfe86, 0xfee3, 0xfe86, -0xfee3, 0x122, 0x138, 0x122, 0x138, 0x103, 0xce, 0x103, 0xce, 0x103, 0xce, -0x2dc, 0x25a, 0x2dc, 0x25a, 0x58d, 0x4be, 0x58d, 0x4be, 0x7fb, 0x6df, 0x7fb, -0x6df, 0xb28, 0x9c1, 0xb28, 0x9c1, 0xce2, 0xb33, 0xce2, 0xb33, 0xe85, 0xc93, -0xe85, 0xc93, 0xe85, 0xc93, 0x11b5, 0xf83, 0x11b5, 0xf83, 0x1422, 0x11b6, 0x1422, -0x11b6, 0x1575, 0x12d6, 0x1575, 0x12d6, 0x17e3, 0x1516, 0x17e3, 0x1516, 0x1985, 0x1690, -0x1985, 0x1690, 0x1985, 0x1690, 0x1b07, 0x17f1, 0x1b07, 0x17f1, 0x1be7, 0x18b5, 0x1be7, -0x18b5, 0x1c70, 0x1929, 0x1c70, 0x1929, 0x1c4e, 0x18f6, 0x1c4e, 0x18f6, 0x1bc7, 0x1863, -0x1bc7, 0x1863, 0x1d13, 0x19a6, 0x1d13, 0x19a6, 0x1d13, 0x19a6, 0x1d74, 0x1a04, 0x1d74, -0x1a04, 0x1d5d, 0x19ec, 0x1d5d, 0x19ec, 0x1d90, 0x1a20, 0x1d90, 0x1a20, 0x1f35, 0x1bca, -0x1f35, 0x1bca, 0x2103, 0x1da0, 0x2103, 0x1da0, 0x2078, 0x1d1f, 0x2078, 0x1d1f, 0x2078, -0x1d1f, 0x203c, 0x1cf1, 0x203c, 0x1cf1, 0x2112, 0x1dd7, 0x2112, 0x1dd7, 0x2122, 0x1dfc, -0x2122, 0x1dfc, 0x21bb, 0x1eae, 0x21bb, 0x1eae, 0x21fc, 0x1f0c, 0x21fc, 0x1f0c, 0x21fc, -0x1f0c, 0x21ba, 0x1eed, 0x21ba, 0x1eed, 0x2269, 0x1fc4, 0x2269, 0x1fc4, 0x217e, 0x1f09, -0x217e, 0x1f09, 0x209a, 0x1e5b, 0x209a, 0x1e5b, 0x1ee7, 0x1ce5, 0x1ee7, 0x1ce5, 0x1ca8, -0x1ae9, 0x1ca8, 0x1ae9, 0x1ca8, 0x1ae9, 0x1990, 0x181c, 0x1990, 0x181c, 0x16ed, 0x15c9, -0x16ed, 0x15c9, 0x1500, 0x1433, 0x1500, 0x1433, 0x1074, 0x1002, 0x1074, 0x1002, 0xe40, -0xe2c, 0xe40, 0xe2c, 0xa83, 0xad1, 0xa83, 0xad1, 0xa83, 0xad1, 0x674, 0x725, -0x674, 0x725, 0x452, 0x565, 0x452, 0x565, 0xf4, 0x267, 0xf4, 0x267, 0xfeb2, -0x82, 0xfeb2, 0x82, 0xfb85, 0xfdad, 0xfb85, 0xfdad, 0xfb85, 0xfdad, 0xf9a0, 0xfc18, -0xf9a0, 0xfc18, 0xf820, 0xfae1, 0xf820, 0xfae1, 0xf55d, 0xf85d, 0xf55d, 0xf85d, 0xf3a2, -0xf6d6, 0xf3a2, 0xf6d6, 0xf11d, 0xf47c, 0xf11d, 0xf47c, 0xeeba, 0xf237, 0xeeba, 0xf237, -0xeeba, 0xf237, 0xede2, 0xf171, 0xede2, 0xf171, 0xed63, 0xf0fa, 0xed63, 0xf0fa, 0xed95, -0xf127, 0xed95, 0xf127, 0xed1f, 0xf0a3, 0xed1f, 0xf0a3, 0xecb9, 0xf024, 0xecb9, 0xf024, -0xecf0, 0xf03b, 0xecf0, 0xf03b, 0xecf0, 0xf03b, 0xec50, 0xef72, 0xec50, 0xef72, 0xec0a, -0xeefd, 0xec0a, 0xeefd, 0xeb13, 0xedd2, 0xeb13, 0xedd2, 0xebb9, 0xee42, 0xebb9, 0xee42, -0xed95, 0xefe5, 0xed95, 0xefe5, 0xed95, 0xefe5, 0xee78, 0xf08e, 0xee78, 0xf08e, 0xeeec, -0xf0c8, 0xeeec, 0xf0c8, 0xefe0, 0xf183, 0xefe0, 0xf183, 0xf252, 0xf3be, 0xf252, 0xf3be, -0xf3b0, 0xf4e7, 0xf3b0, 0xf4e7, 0xf459, 0xf55e, 0xf459, 0xf55e, 0xf459, 0xf55e, 0xf518, -0xf5ed, 0xf518, 0xf5ed, 0xf683, 0xf72a, 0xf683, 0xf72a, 0xf68b, 0xf706, 0xf68b, 0xf706, -0xf66b, 0xf6be, 0xf66b, 0xf6be, 0xf7cb, 0xf7f5, 0xf7cb, 0xf7f5, 0xf803, 0xf805, 0xf803, -0xf805, 0xf803, 0xf805, 0xf889, 0xf865, 0xf889, 0xf865, 0xf8a7, 0xf85b, 0xf8a7, 0xf85b, -0xfaf0, 0xfa7c, 0xfaf0, 0xfa7c, 0xfd48, 0xfcab, 0xfd48, 0xfcab, 0xfcbb, 0xfbf5, 0xfcbb, -0xfbf5, 0xfcbb, 0xfbf5, 0xfeb3, 0xfdc2, 0xfeb3, 0xfdc2, 0x76, 0xff5a, 0x76, 0xff5a, -0x1a1, 0x5b, 0x1a1, 0x5b, 0x410, 0x29f, 0x410, 0x29f, 0x58e, 0x3f5, 0x58e, -0x3f5, 0x877, 0x6b8, 0x877, 0x6b8, 0x877, 0x6b8, 0xaca, 0x8e8, 0xaca, 0x8e8, -0xcb7, 0xab7, 0xcb7, 0xab7, 0xfae, 0xd97, 0xfae, 0xd97, 0x108a, 0xe62, 0x108a, -0xe62, 0x1012, 0xde1, 0x1012, 0xde1, 0xef2, 0xcc1, 0xef2, 0xcc1, 0xef2, 0xcc1, -0xfe6, 0xdc0, 0xfe6, 0xdc0, 0xf60, 0xd4f, 0xf60, 0xd4f, 0xc2f, 0xa3c, 0xc2f, -0xa3c, 0xaf2, 0x929, 0xaf2, 0x929, 0x876, 0x6e0, 0x876, 0x6e0, 0x876, 0x6e0, -0x669, 0x510, 0x669, 0x510, 0x52e, 0x41a, 0x52e, 0x41a, 0x217, 0x150, 0x217, -0x150, 0xfe6d, 0xfdf8, 0xfe6d, 0xfdf8, 0xfc19, 0xfbfb, 0xfc19, 0xfbfb, 0xfa86, 0xfac1, -0xfa86, 0xfac1, 0xfa86, 0xfac1, 0xf709, 0xf79e, 0xf709, 0xf79e, 0xf41c, 0xf509, 0xf41c, -0xf509, 0xf0c1, 0xf205, 0xf0c1, 0xf205, 0xeced, 0xee82, 0xeced, 0xee82, 0xec73, 0xee55, -0xec73, 0xee55, 0xea75, 0xec9b, 0xea75, 0xec9b, 0xea75, 0xec9b, 0xe7be, 0xea20, 0xe7be, -0xea20, 0xe5f2, 0xe887, 0xe5f2, 0xe887, 0xe376, 0xe636, 0xe376, 0xe636, 0xe2aa, 0xe58b, -0xe2aa, 0xe58b, 0xe102, 0xe3fa, 0xe102, 0xe3fa, 0xe102, 0xe3fa, 0xdf84, 0xe28b, 0xdf84, -0xe28b, 0xdea5, 0xe1b3, 0xdea5, 0xe1b3, 0xded2, 0xe1e1, 0xded2, 0xe1e1, 0xde5d, 0xe166, -0xde5d, 0xe166, 0xde3c, 0xe139, 0xde3c, 0xe139, 0xe0c1, 0xe3b0, 0xe0c1, 0xe3b0, 0xe0c1, -0xe3b0, 0xdf02, 0xe1df, 0xdf02, 0xe1df, 0xdf27, 0xe1f1, 0xdf27, 0xe1f1, 0xe08e, 0xe345, -0xe08e, 0xe345, 0xe09c, 0xe340, 0xe09c, 0xe340, 0xe376, 0xe609, 0xe376, 0xe609, 0xe376, -0xe609, 0xe468, 0xe6ea, 0xe468, 0xe6ea, 0xe53e, 0xe7b1, 0xe53e, 0xe7b1, 0xe59a, 0xe801, -0xe59a, 0xe801, 0xe662, 0xe8bd, 0xe662, 0xe8bd, 0xe819, 0xea6a, 0xe819, 0xea6a, 0xe886, -0xeacd, 0xe886, 0xeacd, 0xe886, 0xeacd, 0xe96a, 0xeba6, 0xe96a, 0xeba6, 0xe916, 0xeb48, -0xe916, 0xeb48, 0xeb01, 0xed25, 0xeb01, 0xed25, 0xed49, 0xef5e, 0xed49, 0xef5e, 0xeb96, -0xed97, 0xeb96, 0xed97, 0xecce, 0xeeb9, 0xecce, 0xeeb9, 0xecce, 0xeeb9, 0xee3f, 0xf00e, -0xee3f, 0xf00e, 0xeed7, 0xf087, 0xeed7, 0xf087, 0xf0eb, 0xf276, 0xf0eb, 0xf276, 0xf12f, -0xf291, 0xf12f, 0xf291, 0xf320, 0xf455, 0xf320, 0xf455, 0xf320, 0xf455, 0xf590, 0xf694, -0xf590, 0xf694, 0xf87f, 0xf94e, 0xf87f, 0xf94e, 0xfb0f, 0xfba9, 0xfb0f, 0xfba9, 0xfd21, -0xfd84, 0xfd21, 0xfd84, 0x13, 0x40, 0x13, 0x40, 0x137, 0x12f, 0x137, 0x12f, -0x137, 0x12f, 0x455, 0x41c, 0x455, 0x41c, 0x625, 0x5be, 0x625, 0x5be, 0x785, -0x6f6, 0x785, 0x6f6, 0xafc, 0xa4a, 0xafc, 0xa4a, 0xc27, 0xb5a, 0xc27, 0xb5a, -0xe26, 0xd44, 0xe26, 0xd44, 0xe26, 0xd44, 0x10de, 0xfef, 0x10de, 0xfef, 0x106a, -0xf77, 0x106a, 0xf77, 0xe54, 0xd62, 0xe54, 0xd62, 0xe78, 0xd8f, 0xe78, 0xd8f, -0xe73, 0xd99, 0xe73, 0xd99, 0xe73, 0xd99, 0xc7e, 0xbb8, 0xc7e, 0xbb8, 0xc3e, -0xb90, 0xc3e, 0xb90, 0xbf3, 0xb60, 0xbf3, 0xb60, 0xada, 0xa64, 0xada, 0xa64, -0xb56, 0xafd, 0xb56, 0xafd, 0xaf0, 0xab3, 0xaf0, 0xab3, 0xaf0, 0xab3, 0xa7d, -0xa5c, 0xa7d, 0xa5c, 0x9b7, 0x9ad, 0x9b7, 0x9ad, 0x793, 0x79d, 0x793, 0x79d, -0x73a, 0x752, 0x73a, 0x752, 0x715, 0x738, 0x715, 0x738, 0x58c, 0x5b3, 0x58c, -0x5b3, 0x58c, 0x5b3, 0x2ef, 0x315, 0x2ef, 0x315, 0xf2, 0x112, 0xf2, 0x112, -0x5f, 0x73, 0x5f, 0x73, 0x123, 0x128, 0x123, 0x128, 0xb4, 0xa5, 0xb4, -0xa5, 0xb4, 0xa5, 0xfe1d, 0xfdf7, 0xfe1d, 0xfdf7, 0xfe7d, 0xfe3e, 0xfe7d, 0xfe3e, -0xfec8, 0xfe6f, 0xfec8, 0xfe6f, 0xfdb1, 0xfd3e, 0xfdb1, 0xfd3e, 0xfe54, 0xfdc6, 0xfe54, -0xfdc6, 0xfe03, 0xfd5c, 0xfe03, 0xfd5c, 0xfe03, 0xfd5c, 0xfd2f, 0xfc71, 0xfd2f, 0xfc71, -0xfd2c, 0xfc58, 0xfd2c, 0xfc58, 0xfd6d, 0xfc87, 0xfd6d, 0xfc87, 0xfe40, 0xfd4a, 0xfe40, -0xfd4a, 0xfeaf, 0xfdac, 0xfeaf, 0xfdac, 0xff2f, 0xfe21, 0xff2f, 0xfe21, 0xff2f, 0xfe21, -0x5, 0xfeef, 0x5, 0xfeef, 0x225, 0x109, 0x225, 0x109, 0x390, 0x26e, 0x390, -0x26e, 0x1f3, 0xce, 0x1f3, 0xce, 0x23a, 0x111, 0x23a, 0x111, 0x23a, 0x111, -0x1e8, 0xbb, 0x1e8, 0xbb, 0xcc, 0xff9a, 0xcc, 0xff9a, 0x235, 0xfd, 0x235, -0xfd, 0x30a, 0x1c9, 0x30a, 0x1c9, 0x38f, 0x244, 0x38f, 0x244, 0x459, 0x302, -0x459, 0x302, 0x459, 0x302, 0x5da, 0x475, 0x5da, 0x475, 0x70b, 0x596, 0x70b, -0x596, 0x7c5, 0x63f, 0x7c5, 0x63f, 0x805, 0x66d, 0x805, 0x66d, 0x820, 0x676, -0x820, 0x676, 0xa5a, 0x89f, 0xa5a, 0x89f, 0xa5a, 0x89f, 0xb60, 0x996, 0xb60, -0x996, 0xbdf, 0xa08, 0xbdf, 0xa08, 0xe48, 0xc68, 0xe48, 0xc68, 0xf0d, 0xd29, -0xf0d, 0xd29, 0x1068, 0xe84, 0x1068, 0xe84, 0x1068, 0xe84, 0x128d, 0x10af, 0x128d, -0x10af, 0x11fd, 0x102c, 0x11fd, 0x102c, 0x1216, 0x1059, 0x1216, 0x1059, 0x12c4, 0x1122, -0x12c4, 0x1122, 0x12e5, 0x1165, 0x12e5, 0x1165, 0x11bc, 0x1066, 0x11bc, 0x1066, 0x11bc, -0x1066, 0x1040, 0xf19, 0x1040, 0xf19, 0xf98, 0xea7, 0xf98, 0xea7, 0xe2c, 0xd75, -0xe2c, 0xd75, 0xef8, 0xe7f, 0xef8, 0xe7f, 0xdc8, 0xd91, 0xdc8, 0xd91, 0xb2d, -0xb39, 0xb2d, 0xb39, 0xb2d, 0xb39, 0xaf9, 0xb49, 0xaf9, 0xb49, 0x937, 0x9c9, -0x937, 0x9c9, 0x833, 0x907, 0x833, 0x907, 0x6e2, 0x7f3, 0x6e2, 0x7f3, 0x4ce, -0x619, 0x4ce, 0x619, 0x4ce, 0x619, 0x32a, 0x4aa, 0x32a, 0x4aa, 0x1e, 0x1ce, -0x1e, 0x1ce, 0xfeac, 0x84, 0xfeac, 0x84, 0xfe7e, 0x79, 0xfe7e, 0x79, 0xfc25, -0xfe3c, 0xfc25, 0xfe3c, 0xf8da, 0xfb07, 0xf8da, 0xfb07, 0xf8da, 0xfb07, 0xf7ba, 0xf9f6, -0xf7ba, 0xf9f6, 0xf67a, 0xf8bf, 0xf67a, 0xf8bf, 0xf547, 0xf790, 0xf547, 0xf790, 0xf4ab, -0xf6f2, 0xf4ab, 0xf6f2, 0xf0e6, 0xf329, 0xf0e6, 0xf329, 0xef7a, 0xf1b4, 0xef7a, 0xf1b4, -0xef7a, 0xf1b4, 0xef7e, 0xf1ac, 0xef7e, 0xf1ac, 0xed74, 0xef94, 0xed74, 0xef94, 0xec7a, -0xee8a, 0xec7a, 0xee8a, 0xead4, 0xecd2, 0xead4, 0xecd2, 0xe9b3, 0xeb9f, 0xe9b3, 0xeb9f, -0xe9b3, 0xeb9f, 0xe989, 0xeb60, 0xe989, 0xeb60, 0xeb6a, 0xed2c, 0xeb6a, 0xed2c, 0xeca0, -0xee4c, 0xeca0, 0xee4c, 0xeb7b, 0xed10, 0xeb7b, 0xed10, 0xec13, 0xed8f, 0xec13, 0xed8f, -0xec0c, 0xed6c, 0xec0c, 0xed6c, 0xec0c, 0xed6c, 0xed16, 0xee58, 0xed16, 0xee58, 0xee80, -0xefa0, 0xee80, 0xefa0, 0xeeac, 0xefa8, 0xeeac, 0xefa8, 0xef8a, 0xf05d, 0xef8a, 0xf05d, -0xf142, 0xf1e8, 0xf142, 0xf1e8, 0xf389, 0xf3fd, 0xf389, 0xf3fd, 0xf389, 0xf3fd, 0xf463, -0xf4a2, 0xf463, 0xf4a2, 0xf627, 0xf62c, 0xf627, 0xf62c, 0xf72a, 0xf6f1, 0xf72a, 0xf6f1, -0xf843, 0xf7c9, 0xf843, 0xf7c9, 0xfb73, 0xfab5, 0xfb73, 0xfab5, 0xfb73, 0xfab5, 0xfd72, -0xfc6f, 0xfd72, 0xfc6f, 0x121, 0xffd7, 0x121, 0xffd7, 0x480, 0x2f0, 0x480, 0x2f0, -0x66a, 0x496, 0x66a, 0x496, 0xa0c, 0x7f5, 0xa0c, 0x7f5, 0xd6b, 0xb15, 0xd6b, -0xb15, 0xd6b, 0xb15, 0xf83, 0xcf4, 0xf83, 0xcf4, 0x119a, 0xed8, 0x119a, 0xed8, -0x14f7, 0x1207, 0x14f7, 0x1207, 0x1758, 0x1442, 0x1758, 0x1442, 0x18bf, 0x158c, 0x18bf, -0x158c, 0x18bf, 0x158c, 0x1ab2, 0x1769, 0x1ab2, 0x1769, 0x19f3, 0x169d, 0x19f3, 0x169d, -0x1a65, 0x170b, 0x1a65, 0x170b, 0x1cf6, 0x199f, 0x1cf6, 0x199f, 0x1bef, 0x18a4, 0x1bef, -0x18a4, 0x1cbe, 0x1984, 0x1cbe, 0x1984, 0x1cbe, 0x1984, 0x1ddd, 0x1abc, 0x1ddd, 0x1abc, -0x1c7c, 0x1977, 0x1c7c, 0x1977, 0x1d80, 0x1a9c, 0x1d80, 0x1a9c, 0x1dac, 0x1aeb, 0x1dac, -0x1aeb, 0x1c9c, 0x19ff, 0x1c9c, 0x19ff, 0x1c29, 0x19b2, 0x1c29, 0x19b2, 0x1c29, 0x19b2, -0x1cf5, 0x1aa2, 0x1cf5, 0x1aa2, 0x1deb, 0x1bbc, 0x1deb, 0x1bbc, 0x1e62, 0x1c55, 0x1e62, -0x1c55, 0x1d44, 0x1b57, 0x1d44, 0x1b57, 0x1b2b, 0x195a, 0x1b2b, 0x195a, 0x1b2b, 0x195a, -0x1bd0, 0x1a19, 0x1bd0, 0x1a19, 0x19f6, 0x1856, 0x19f6, 0x1856, 0x180e, 0x1684, 0x180e, -0x1684, 0x1763, 0x15eb, 0x1763, 0x15eb, 0x1493, 0x132d, 0x1493, 0x132d, 0x134d, 0x11f9, -0x134d, 0x11f9, 0x134d, 0x11f9, 0x1292, 0x114e, 0x1292, 0x114e, 0x11a7, 0x1076, 0x11a7, -0x1076, 0x1023, 0xf05, 0x1023, 0xf05, 0xe3b, 0xd32, 0xe3b, 0xd32, 0xbc6, 0xad5, -0xbc6, 0xad5, 0xb76, 0xa9f, 0xb76, 0xa9f, 0xb76, 0xa9f, 0xc9f, 0xbe6, 0xc9f, -0xbe6, 0x9ac, 0x914, 0x9ac, 0x914, 0x641, 0x5cc, 0x641, 0x5cc, 0x520, 0x4d2, -0x520, 0x4d2, 0x4c4, 0x49e, 0x4c4, 0x49e, 0x4c4, 0x49e, 0x325, 0x327, 0x325, -0x327, 0x227, 0x251, 0x227, 0x251, 0xf4, 0x146, 0xf4, 0x146, 0xfe0b, 0xfe82, -0xfe0b, 0xfe82, 0xfdc3, 0xfe5c, 0xfdc3, 0xfe5c, 0xfcd8, 0xfd90, 0xfcd8, 0xfd90, 0xfcd8, -0xfd90, 0xfb4a, 0xfc1a, 0xfb4a, 0xfc1a, 0xf9e6, 0xfac9, 0xf9e6, 0xfac9, 0xf6fc, 0xf7eb, -0xf6fc, 0xf7eb, 0xf680, 0xf774, 0xf680, 0xf774, 0xf668, 0xf75a, 0xf668, 0xf75a, 0xf52a, -0xf612, 0xf52a, 0xf612, 0xf52a, 0xf612, 0xf47e, 0xf556, 0xf47e, 0xf556, 0xf4d4, 0xf595, -0xf4d4, 0xf595, 0xf668, 0xf70d, 0xf668, 0xf70d, 0xf7e3, 0xf867, 0xf7e3, 0xf867, 0xf8d0, -0xf92f, 0xf8d0, 0xf92f, 0xf8d0, 0xf92f, 0xf960, 0xf99a, 0xf960, 0xf99a, 0xfa85, 0xfa98, -0xfa85, 0xfa98, 0xfb35, 0xfb21, 0xfb35, 0xfb21, 0xfb4e, 0xfb17, 0xfb4e, 0xfb17, 0xfd1d, -0xfcc6, 0xfd1d, 0xfcc6, 0xfeb2, 0xfe40, 0xfeb2, 0xfe40, 0xfeb2, 0xfe40, 0xfe26, 0xfd9f, -0xfe26, 0xfd9f, 0xff0c, 0xfe76, 0xff0c, 0xfe76, 0x21, 0xff83, 0x21, 0xff83, 0xfe29, -0xfd8a, 0xfe29, 0xfd8a, 0xfe4e, 0xfdb7, 0xfe4e, 0xfdb7, 0xfedf, 0xfe55, 0xfedf, 0xfe55, -0xfedf, 0xfe55, 0xfcbc, 0xfc47, 0xfcbc, 0xfc47, 0xfcf7, 0xfc9a, 0xfcf7, 0xfc9a, 0xfd07, -0xfcc8, 0xfd07, 0xfcc8, 0xfb7a, 0xfb5b, 0xfb7a, 0xfb5b, 0xfbe9, 0xfbeb, 0xfbe9, 0xfbeb, -0xfbe9, 0xfbeb, 0xfb78, 0xfb9d, 0xfb78, 0xfb9d, 0xfb3d, 0xfb82, 0xfb3d, 0xfb82, 0xfca9, -0xfd0b, 0xfca9, 0xfd0b, 0xfbf0, 0xfc6b, 0xfbf0, 0xfc6b, 0xfa79, 0xfb09, 0xfa79, 0xfb09, -0xfb74, 0xfc11, 0xfb74, 0xfc11, 0xfb74, 0xfc11, 0xfc80, 0xfd25, 0xfc80, 0xfd25, 0xfba0, -0xfc46, 0xfba0, 0xfc46, 0xfb40, 0xfbe0, 0xfb40, 0xfbe0, 0xfa65, 0xfaf8, 0xfa65, 0xfaf8, -0xfbf9, 0xfc7b, 0xfbf9, 0xfc7b, 0xfd86, 0xfdf0, 0xfd86, 0xfdf0, 0xfd86, 0xfdf0, 0xfc52, -0xfca1, 0xfc52, 0xfca1, 0xfdce, 0xfe01, 0xfdce, 0xfe01, 0xfd3e, 0xfd53, 0xfd3e, 0xfd53, -0xfc80, 0xfc77, 0xfc80, 0xfc77, 0xfdbf, 0xfd9c, 0xfdbf, 0xfd9c, 0xfdbf, 0xfd9c, 0xfecf, -0xfe95, 0xfecf, 0xfe95, 0xfeba, 0xfe6f, 0xfeba, 0xfe6f, 0xfdf1, 0xfd9b, 0xfdf1, 0xfd9b, -0xff0d, 0xfeb4, 0xff0d, 0xfeb4, 0xff06, 0xfeb2, 0xff06, 0xfeb2, 0xff7e, 0xff38, 0xff7e, -0xff38, 0xff7e, 0xff38, 0xfe55, 0xfe25, 0xfe55, 0xfe25, 0xfc81, 0xfc70, 0xfc81, 0xfc70, -0xfd7a, 0xfd8f, 0xfd7a, 0xfd8f, 0xfe93, 0xfed5, 0xfe93, 0xfed5, 0xfe2a, 0xfe9f, 0xfe2a, -0xfe9f, 0xfbe6, 0xfc94, 0xfbe6, 0xfc94, 0xfbe6, 0xfc94, 0xfa21, 0xfb09, 0xfa21, 0xfb09, -0xf7d4, 0xf8f8, 0xf7d4, 0xf8f8, 0xf559, 0xf6b8, 0xf559, 0xf6b8, 0xf322, 0xf4ba, 0xf322, -0xf4ba, 0xf111, 0xf2e0, 0xf111, 0xf2e0, 0xf111, 0xf2e0, 0xeeac, 0xf0ab, 0xeeac, 0xf0ab, -0xec82, 0xeeac, 0xec82, 0xeeac, 0xec0a, 0xee59, 0xec0a, 0xee59, 0xec81, 0xeeed, 0xec81, -0xeeed, 0xed1e, 0xef9f, 0xed1e, 0xef9f, 0xeb6b, 0xedfa, 0xeb6b, 0xedfa, 0xeb6b, 0xedfa, -0xeb17, 0xedad, 0xeb17, 0xedad, 0xebce, 0xee66, 0xebce, 0xee66, 0xeb4d, 0xede1, 0xeb4d, -0xede1, 0xec40, 0xeecd, 0xec40, 0xeecd, 0xeba7, 0xee2a, 0xeba7, 0xee2a, 0xeb4d, 0xedc5, -0xeb4d, 0xedc5, 0xeb4d, 0xedc5, 0xedeb, 0xf059, 0xedeb, 0xf059, 0xee99, 0xf101, 0xee99, -0xf101, 0xeec2, 0xf126, 0xeec2, 0xf126, 0xf0fd, 0xf363, 0xf0fd, 0xf363, 0xf01d, 0xf28b, -0xf01d, 0xf28b, 0xf01d, 0xf28b, 0xedd1, 0xf04e, 0xedd1, 0xf04e, 0xed87, 0xf019, 0xed87, -0xf019, 0xeccc, 0xef7c, 0xeccc, 0xef7c, 0xec2e, 0xef01, 0xec2e, 0xef01, 0xec4f, 0xef4c, -0xec4f, 0xef4c, 0xec48, 0xef74, 0xec48, 0xef74, 0xec48, 0xef74, 0xebbb, 0xef18, 0xebbb, -0xef18, 0xecd0, 0xf062, 0xecd0, 0xf062, 0xecca, 0xf08f, 0xecca, 0xf08f, 0xea89, 0xee7f, -0xea89, 0xee7f, 0xeb34, 0xef59, 0xeb34, 0xef59, 0xeb13, 0xef5f, 0xeb13, 0xef5f, 0xeb13, -0xef5f, 0xeb36, 0xefa1, 0xeb36, 0xefa1, 0xec93, 0xf114, 0xec93, 0xf114, 0xece9, 0xf174, -0xece9, 0xf174, 0xed02, 0xf18b, 0xed02, 0xf18b, 0xec54, 0xf0cd, 0xec54, 0xf0cd, 0xec54, -0xf0cd, 0xedb3, 0xf20f, 0xedb3, 0xf20f, 0xedea, 0xf21b, 0xedea, 0xf21b, 0xee6f, 0xf267, -0xee6f, 0xf267, 0xef9f, 0xf350, 0xef9f, 0xf350, 0xf13a, 0xf49a, 0xf13a, 0xf49a, 0xf367, -0xf66c, 0xf367, 0xf66c, 0xf367, 0xf66c, 0xf2f4, 0xf595, 0xf2f4, 0xf595, 0xf56d, 0xf7a4, -0xf56d, 0xf7a4, 0xf79b, 0xf962, 0xf79b, 0xf962, 0xf9bf, 0xfb15, 0xf9bf, 0xfb15, 0xfce4, -0xfdca, 0xfce4, 0xfdca, 0xfce4, 0xfdca, 0xfe97, 0xff0e, 0xfe97, 0xff0e, 0x1b, 0x26, -0x1b, 0x26, 0x1d2, 0x178, 0x1d2, 0x178, 0x4f1, 0x439, 0x4f1, 0x439, 0x5c1, -0x4b2, 0x5c1, 0x4b2, 0x601, 0x4a4, 0x601, 0x4a4, 0x601, 0x4a4, 0x680, 0x4de, -0x680, 0x4de, 0x7c2, 0x5e5, 0x7c2, 0x5e5, 0x9d7, 0x7c6, 0x9d7, 0x7c6, 0xaf9, -0x8be, 0xaf9, 0x8be, 0xa6f, 0x811, 0xa6f, 0x811, 0x939, 0x6bd, 0x939, 0x6bd, -0x939, 0x6bd, 0xb2b, 0x897, 0xb2b, 0x897, 0xbae, 0x905, 0xbae, 0x905, 0xb89, -0x8cd, 0xb89, 0x8cd, 0xbdd, 0x90e, 0xbdd, 0x90e, 0xadf, 0x7ff, 0xadf, 0x7ff, -0xadf, 0x7ff, 0xa77, 0x782, 0xa77, 0x782, 0x9f0, 0x6e6, 0x9f0, 0x6e6, 0x9e9, -0x6c7, 0x9e9, 0x6c7, 0xa65, 0x728, 0xa65, 0x728, 0xa95, 0x73a, 0xa95, 0x73a, -0xa74, 0x6fa, 0xa74, 0x6fa, 0xa74, 0x6fa, 0xc06, 0x86b, 0xc06, 0x86b, 0xd99, -0x9dd, 0xd99, 0x9dd, 0xdfd, 0xa1f, 0xdfd, 0xa1f, 0x100f, 0xc13, 0x100f, 0xc13, -0x1132, 0xd1b, 0x1132, 0xd1b, 0x11b3, 0xd86, 0x11b3, 0xd86, 0x11b3, 0xd86, 0x13d6, -0xf9a, 0x13d6, 0xf9a, 0x139b, 0xf58, 0x139b, 0xf58, 0x12c3, 0xe82, 0x12c3, 0xe82, -0x13a4, 0xf6f, 0x13a4, 0xf6f, 0x1212, 0xdf4, 0x1212, 0xdf4, 0x1212, 0xdf4, 0x10f7, -0xcfb, 0x10f7, 0xcfb, 0x11d9, 0xe0b, 0x11d9, 0xe0b, 0x1030, 0xc9b, 0x1030, 0xc9b, -0xdf4, 0xaa2, 0xdf4, 0xaa2, 0xcb1, 0x9ac, 0xcb1, 0x9ac, 0xaac, 0x7fd, 0xaac, -0x7fd, 0xaac, 0x7fd, 0x7fc, 0x5a8, 0x7fc, 0x5a8, 0x683, 0x48f, 0x683, 0x48f, -0x624, 0x494, 0x624, 0x494, 0x3d4, 0x2aa, 0x3d4, 0x2aa, 0x250, 0x189, 0x250, -0x189, 0x185, 0x120, 0x185, 0x120, 0x185, 0x120, 0xbd, 0xb4, 0xbd, 0xb4, -0x59, 0xa6, 0x59, 0xa6, 0xfef1, 0xff8c, 0xfef1, 0xff8c, 0xfe6d, 0xff4d, 0xfe6d, -0xff4d, 0xfbf7, 0xfd12, 0xfbf7, 0xfd12, 0xfbf7, 0xfd12, 0xfa8c, 0xfbd8, 0xfa8c, 0xfbd8, -0xfa44, 0xfbb6, 0xfa44, 0xfbb6, 0xf91f, 0xfaad, 0xf91f, 0xfaad, 0xf8ff, 0xfa9e, 0xf8ff, -0xfa9e, 0xf835, 0xf9dc, 0xf835, 0xf9dc, 0xf870, 0xfa16, 0xf870, 0xfa16, 0xf870, 0xfa16, -0xf7e7, 0xf985, 0xf7e7, 0xf985, 0xf9ac, 0xfb3c, 0xf9ac, 0xfb3c, 0xfb2f, 0xfcac, 0xfb2f, -0xfcac, 0xf99f, 0xfb05, 0xf99f, 0xfb05, 0xfaf2, 0xfc3f, 0xfaf2, 0xfc3f, 0xfc15, 0xfd49, -0xfc15, 0xfd49, 0xfc15, 0xfd49, 0xfc8a, 0xfda5, 0xfc8a, 0xfda5, 0xfe81, 0xff84, 0xfe81, -0xff84, 0x18, 0x106, 0x18, 0x106, 0xffe5, 0xbf, 0xffe5, 0xbf, 0x128, 0x1f2, -0x128, 0x1f2, 0x128, 0x1f2, 0x335, 0x3f2, 0x335, 0x3f2, 0x37c, 0x42f, 0x37c, -0x42f, 0x3ae, 0x45a, 0x3ae, 0x45a, 0x235, 0x2dc, 0x235, 0x2dc, 0xc3, 0x167, -0xc3, 0x167, 0x213, 0x2b5, 0x213, 0x2b5, 0x213, 0x2b5, 0x2bb, 0x35b, 0x2bb, -0x35b, 0xd7, 0x175, 0xd7, 0x175, 0xffb7, 0x52, 0xffb7, 0x52, 0xff22, 0xffb9, -0xff22, 0xffb9, 0xff7a, 0xa, 0xff7a, 0xa, 0x138, 0x1c0, 0x138, 0x1c0, 0x138, -0x1c0, 0xfff6, 0x73, 0xfff6, 0x73, 0xfeec, 0xff5c, 0xfeec, 0xff5c, 0xffd1, 0x31, -0xffd1, 0x31, 0xe, 0x5e, 0xe, 0x5e, 0xe8, 0x125, 0xe8, 0x125, 0xe8, -0x125, 0x10f, 0x139, 0x10f, 0x139, 0xe0, 0xf7, 0xe0, 0xf7, 0x69, 0x6d, -0x69, 0x6d, 0x1d, 0x10, 0x1d, 0x10, 0xffa1, 0xff86, 0xffa1, 0xff86, 0xfe94, -0xfe6d, 0xfe94, 0xfe6d, 0xfe94, 0xfe6d, 0xfefd, 0xfecd, 0xfefd, 0xfecd, 0xfc99, 0xfc66, -0xfc99, 0xfc66, 0xfb15, 0xfae2, 0xfb15, 0xfae2, 0xfb93, 0xfb64, 0xfb93, 0xfb64, 0xf957, -0xf931, 0xf957, 0xf931, 0xf82d, 0xf815, 0xf82d, 0xf815, 0xf82d, 0xf815, 0xf830, 0xf829, -0xf830, 0xf829, 0xf78d, 0xf79b, 0xf78d, 0xf79b, 0xf609, 0xf62d, 0xf609, 0xf62d, 0xf56d, -0xf5ab, 0xf56d, 0xf5ab, 0xf4c6, 0xf51e, 0xf4c6, 0xf51e, 0xf4c6, 0xf51e, 0xf47f, 0xf4f1, -0xf47f, 0xf4f1, 0xf553, 0xf5df, 0xf553, 0xf5df, 0xf504, 0xf5a8, 0xf504, 0xf5a8, 0xf594, -0xf64d, 0xf594, 0xf64d, 0xf64d, 0xf719, 0xf64d, 0xf719, 0xf787, 0xf860, 0xf787, 0xf860, -0xf787, 0xf860, 0xf8ce, 0xf9b1, 0xf8ce, 0xf9b1, 0xf816, 0xf8ff, 0xf816, 0xf8ff, 0xf7d3, -0xf8bc, 0xf7d3, 0xf8bc, 0xf87e, 0xf962, 0xf87e, 0xf962, 0xf960, 0xfa3b, 0xf960, 0xfa3b, -0xfc75, 0xfd42, 0xfc75, 0xfd42, 0xfc75, 0xfd42, 0xff7e, 0x39, 0xff7e, 0x39, 0x75, -0x119, 0x75, 0x119, 0x299, 0x323, 0x299, 0x323, 0x620, 0x68d, 0x620, 0x68d, -0x880, 0x8ce, 0x880, 0x8ce, 0x880, 0x8ce, 0x9f2, 0xa1e, 0x9f2, 0xa1e, 0xc98, -0xca1, 0xc98, 0xca1, 0xd2c, 0xd10, 0xd2c, 0xd10, 0xdcd, 0xd8c, 0xdcd, 0xd8c, -0x1240, 0x11da, 0x1240, 0x11da, 0x15b3, 0x1526, 0x15b3, 0x1526, 0x15b3, 0x1526, 0x16fd, -0x1648, 0x16fd, 0x1648, 0x1834, 0x1758, 0x1834, 0x1758, 0x1926, 0x1821, 0x1926, 0x1821, -0x1974, 0x1846, 0x1974, 0x1846, 0x1b81, 0x1a28, 0x1b81, 0x1a28, 0x1c45, 0x1ac0, 0x1c45, -0x1ac0, 0x1c45, 0x1ac0, 0x1b14, 0x1962, 0x1b14, 0x1962, 0x1b50, 0x196f, 0x1b50, 0x196f, -0x1b96, 0x1986, 0x1b96, 0x1986, 0x1cf1, 0x1ab0, 0x1cf1, 0x1ab0, 0x1f3c, 0x1cca, 0x1f3c, -0x1cca, 0x1f3c, 0x1cca, 0x1fec, 0x1d48, 0x1fec, 0x1d48, 0x1e88, 0x1bb2, 0x1e88, 0x1bb2, -0x1e14, 0x1b0f, 0x1e14, 0x1b0f, 0x1e3e, 0x1b0b, 0x1e3e, 0x1b0b, 0x1e5d, 0x1afe, 0x1e5d, -0x1afe, 0x1e6b, 0x1ae4, 0x1e6b, 0x1ae4, 0x1e6b, 0x1ae4, 0x1ccc, 0x1923, 0x1ccc, 0x1923, -0x1da4, 0x19de, 0x1da4, 0x19de, 0x1e72, 0x1a95, 0x1e72, 0x1a95, 0x1cf5, 0x190a, 0x1cf5, -0x190a, 0x1d86, 0x1993, 0x1d86, 0x1993, 0x1d86, 0x1993, 0x1cf7, 0x1906, 0x1cf7, 0x1906, -0x1a17, 0x1630, 0x1a17, 0x1630, 0x17a2, 0x13cf, 0x17a2, 0x13cf, 0x156e, 0x11b7, 0x156e, -0x11b7, 0x129e, 0xf0b, 0x129e, 0xf0b, 0x101e, 0xcb7, 0x101e, 0xcb7, 0x101e, 0xcb7, -0xed5, 0xba0, 0xed5, 0xba0, 0xba3, 0x8a6, 0xba3, 0x8a6, 0x832, 0x571, 0x832, -0x571, 0x5c2, 0x341, 0x5c2, 0x341, 0x2a5, 0x66, 0x2a5, 0x66, 0x4f, 0xfe51, -0x4f, 0xfe51, 0x4f, 0xfe51, 0xfcb0, 0xfaf2, 0xfcb0, 0xfaf2, 0xf916, 0xf795, 0xf916, -0xf795, 0xf6fd, 0xf5b5, 0xf6fd, 0xf5b5, 0xf525, 0xf412, 0xf525, 0xf412, 0xf411, 0xf32d, -0xf411, 0xf32d, 0xf411, 0xf32d, 0xf235, 0xf179, 0xf235, 0xf179, 0xf051, 0xefb7, 0xf051, -0xefb7, 0xee63, 0xede4, 0xee63, 0xede4, 0xec3d, 0xebd3, 0xec3d, 0xebd3, 0xeb8b, 0xeb31, -0xeb8b, 0xeb31, 0xeaef, 0xea9f, 0xeaef, 0xea9f, 0xeaef, 0xea9f, 0xea09, 0xe9be, 0xea09, -0xe9be, 0xe81e, 0xe7d6, 0xe81e, 0xe7d6, 0xe786, 0xe73f, 0xe786, 0xe73f, 0xe9de, 0xe997, -0xe9de, 0xe997, 0xea7f, 0xea39, 0xea7f, 0xea39, 0xeaab, 0xea66, 0xeaab, 0xea66, 0xeaab, -0xea66, 0xea78, 0xea38, 0xea78, 0xea38, 0xe9a7, 0xe96f, 0xe9a7, 0xe96f, 0xea53, 0xea27, -0xea53, 0xea27, 0xebff, 0xebe4, 0xebff, 0xebe4, 0xeda0, 0xed9b, 0xeda0, 0xed9b, 0xeda0, -0xed9b, 0xee82, 0xee97, 0xee82, 0xee97, 0xf100, 0xf133, 0xf100, 0xf133, 0xf209, 0xf25c, -0xf209, 0xf25c, 0xf355, 0xf3cc, 0xf355, 0xf3cc, 0xf740, 0xf7db, 0xf740, 0xf7db, 0xf84d, -0xf90c, 0xf84d, 0xf90c, 0xf84d, 0xf90c, 0xf828, 0xf90b, 0xf828, 0xf90b, 0xf99c, 0xfaa0, -0xf99c, 0xfaa0, 0xfa5b, 0xfb7c, 0xfa5b, 0xfb7c, 0xfb04, 0xfc3c, 0xfb04, 0xfc3c, 0xfd82, -0xfecd, 0xfd82, 0xfecd, 0xfe7a, 0xffd0, 0xfe7a, 0xffd0, 0xfe7a, 0xffd0, 0xffeb, 0x145, -0xffeb, 0x145, 0x248, 0x39f, 0x248, 0x39f, 0x400, 0x54d, 0x400, 0x54d, 0x69b, -0x7d8, 0x69b, 0x7d8, 0x841, 0x969, 0x841, 0x969, 0x841, 0x969, 0xa2b, 0xb38, -0xa2b, 0xb38, 0xc16, 0xd07, 0xc16, 0xd07, 0xd91, 0xe64, 0xd91, 0xe64, 0xf5e, -0x1013, 0xf5e, 0x1013, 0x1293, 0x132e, 0x1293, 0x132e, 0x13fc, 0x1481, 0x13fc, 0x1481, -0x13fc, 0x1481, 0x13c7, 0x143c, 0x13c7, 0x143c, 0x1660, 0x16cd, 0x1660, 0x16cd, 0x1778, -0x17e8, 0x1778, 0x17e8, 0x16d4, 0x1750, 0x16d4, 0x1750, 0x16bd, 0x1751, 0x16bd, 0x1751, -0x16bc, 0x1775, 0x16bc, 0x1775, 0x16bc, 0x1775, 0x1521, 0x160a, 0x1521, 0x160a, 0x137d, -0x14a1, 0x137d, 0x14a1, 0x11aa, 0x1315, 0x11aa, 0x1315, 0xed5, 0x108f, 0xed5, 0x108f, -0xd1a, 0xf2d, 0xd1a, 0xf2d, 0xd1a, 0xf2d, 0x8b1, 0xb20, 0x8b1, 0xb20, 0x41c, -0x6ed, 0x41c, 0x6ed, 0x195, 0x4c8, 0x195, 0x4c8, 0xfea1, 0x234, 0xfea1, 0x234, -0xfa70, 0xfe60, 0xfa70, 0xfe60, 0xf6a8, 0xfaed, 0xf6a8, 0xfaed, 0xf6a8, 0xfaed, 0xf3a8, -0xf83b, 0xf3a8, 0xf83b, 0xeff3, 0xf4c8, 0xeff3, 0xf4c8, 0xee2e, 0xf338, 0xee2e, 0xf338, -0xeb7a, 0xf0ac, 0xeb7a, 0xf0ac, 0xe9b1, 0xeefc, 0xe9b1, 0xeefc, 0xe867, 0xedba, 0xe867, -0xedba, 0xe867, 0xedba, 0xe45d, 0xe9aa, 0xe45d, 0xe9aa, 0xe275, 0xe7ac, 0xe275, 0xe7ac, -0xe091, 0xe5a3, 0xe091, 0xe5a3, 0xde57, 0xe338, 0xde57, 0xe338, 0xdc7c, 0xe120, 0xdc7c, -0xe120, 0xdc7c, 0xe120, 0xdb65, 0xdfc3, 0xdb65, 0xdfc3, 0xdaea, 0xdefa, 0xdaea, 0xdefa, -0xda79, 0xde36, 0xda79, 0xde36, 0xdb36, 0xde9c, 0xdb36, 0xde9c, 0xda36, 0xdd45, 0xda36, -0xdd45, 0xda9f, 0xdd58, 0xda9f, 0xdd58, 0xda9f, 0xdd58, 0xdb2d, 0xdd92, 0xdb2d, 0xdd92, -0xdae2, 0xdcf8, 0xdae2, 0xdcf8, 0xdcb1, 0xde7d, 0xdcb1, 0xde7d, 0xdddc, 0xdf65, 0xdddc, -0xdf65, 0xde8c, 0xdfd9, 0xde8c, 0xdfd9, 0xdfbb, 0xe0d2, 0xdfbb, 0xe0d2, 0xdfbb, 0xe0d2, -0xe248, 0xe330, 0xe248, 0xe330, 0xe331, 0xe3ef, 0xe331, 0xe3ef, 0xe3b5, 0xe44e, 0xe3b5, -0xe44e, 0xe5da, 0xe653, 0xe5da, 0xe653, 0xe687, 0xe6e0, 0xe687, 0xe6e0, 0xe687, 0xe6e0, -0xe7ce, 0xe809, 0xe7ce, 0xe809, 0xeabc, 0xead9, 0xeabc, 0xead9, 0xeccf, 0xecca, 0xeccf, -0xecca, 0xedea, 0xedc1, 0xedea, 0xedc1, 0xf012, 0xefc0, 0xf012, 0xefc0, 0xf146, 0xf0c6, -0xf146, 0xf0c6, 0xf146, 0xf0c6, 0xf3a3, 0xf2ef, 0xf3a3, 0xf2ef, 0xf5e6, 0xf4f8, 0xf5e6, -0xf4f8, 0xf6a2, 0xf576, 0xf6a2, 0xf576, 0xfa3b, 0xf8cc, 0xfa3b, 0xf8cc, 0xfc83, 0xfacd, -0xfc83, 0xfacd, 0xfe98, 0xfc98, 0xfe98, 0xfc98, 0xfe98, 0xfc98, 0x27b, 0x32, 0x27b, -0x32, 0x5ea, 0x358, 0x5ea, 0x358, 0x920, 0x649, 0x920, 0x649, 0xc61, 0x94b, -0xc61, 0x94b, 0xe8f, 0xb41, 0xe8f, 0xb41, 0xe8f, 0xb41, 0x1103, 0xd88, 0x1103, -0xd88, 0x147a, 0x10dc, 0x147a, 0x10dc, 0x1465, 0x10b2, 0x1465, 0x10b2, 0x146e, 0x10b3, -0x146e, 0x10b3, 0x150e, 0x115b, 0x150e, 0x115b, 0x1388, 0xfec, 0x1388, 0xfec, 0x1388, -0xfec, 0x12dd, 0xf69, 0x12dd, 0xf69, 0x12af, 0xf71, 0x12af, 0xf71, 0x121d, 0xf24, -0x121d, 0xf24, 0x1175, 0xecd, 0x1175, 0xecd, 0x10b3, 0xe67, 0x10b3, 0xe67, 0xf6b, -0xd86, 0xf6b, 0xd86, 0xf6b, 0xd86, 0xe55, 0xcdc, 0xe55, 0xcdc, 0xd0e, 0xc07, -0xd0e, 0xc07, 0xad8, 0xa44, 0xad8, 0xa44, 0x946, 0x924, 0x946, 0x924, 0x921, -0x96f, 0x921, 0x96f, 0x921, 0x96f, 0x7ce, 0x884, 0x7ce, 0x884, 0x61f, 0x737, -0x61f, 0x737, 0x541, 0x6b1, 0x541, 0x6b1, 0x2f7, 0x4b3, 0x2f7, 0x4b3, 0x144, -0x341, 0x144, 0x341, 0xff7f, 0x1af, 0xff7f, 0x1af, 0xff7f, 0x1af, 0xfd73, 0xffc7, -0xfd73, 0xffc7, 0xfd00, 0xff6c, 0xfd00, 0xff6c, 0xfcf6, 0xff6c, 0xfcf6, 0xff6c, 0xfd0a, -0xff7e, 0xfd0a, 0xff7e, 0xfde3, 0x4b, 0xfde3, 0x4b, 0xfde3, 0x4b, 0xfe7f, 0xcf, -0xfe7f, 0xcf, 0xfe36, 0x66, 0xfe36, 0x66, 0xffab, 0x1b4, 0xffab, 0x1b4, 0x64, -0x242, 0x64, 0x242, 0xff98, 0x147, 0xff98, 0x147, 0xdd, 0x25b, 0xdd, 0x25b, -0xdd, 0x25b, 0x16d, 0x2b9, 0x16d, 0x2b9, 0x139, 0x256, 0x139, 0x256, 0x270, -0x35e, 0x270, 0x35e, 0x2fd, 0x3bf, 0x2fd, 0x3bf, 0x27e, 0x317, 0x27e, 0x317, -0x315, 0x38a, 0x315, 0x38a, 0x315, 0x38a, 0x4a5, 0x4f9, 0x4a5, 0x4f9, 0x487, -0x4bd, 0x487, 0x4bd, 0x3f7, 0x414, 0x3f7, 0x414, 0x395, 0x399, 0x395, 0x399, -0x270, 0x25f, 0x270, 0x25f, 0x270, 0x25f, 0x2f5, 0x2d0, 0x2f5, 0x2d0, 0x3d8, -0x39f, 0x3d8, 0x39f, 0x3d7, 0x389, 0x3d7, 0x389, 0x4be, 0x45b, 0x4be, 0x45b, -0x59a, 0x520, 0x59a, 0x520, 0x4dc, 0x44a, 0x4dc, 0x44a, 0x4dc, 0x44a, 0x4e0, -0x433, 0x4e0, 0x433, 0x5f1, 0x527, 0x5f1, 0x527, 0x5c0, 0x4d8, 0x5c0, 0x4d8, -0x647, 0x53e, 0x647, 0x53e, 0x6ef, 0x5c6, 0x6ef, 0x5c6, 0x733, 0x5e9, 0x733, -0x5e9, 0x733, 0x5e9, 0x835, 0x6cb, 0x835, 0x6cb, 0x7c0, 0x638, 0x7c0, 0x638, -0x782, 0x5e0, 0x782, 0x5e0, 0x7ea, 0x631, 0x7ea, 0x631, 0x6c5, 0x4fa, 0x6c5, -0x4fa, 0x6c5, 0x4fa, 0x714, 0x53f, 0x714, 0x53f, 0x7cc, 0x5f3, 0x7cc, 0x5f3, -0x73b, 0x566, 0x73b, 0x566, 0x75e, 0x595, 0x75e, 0x595, 0x813, 0x65f, 0x813, -0x65f, 0x7bb, 0x626, 0x7bb, 0x626, 0x7bb, 0x626, 0x615, 0x4a6, 0x615, 0x4a6, -0x519, 0x3da, 0x519, 0x3da, 0x2b2, 0x1aa, 0x2b2, 0x1aa, 0x1ef, 0x124, 0x1ef, -0x124, 0x159, 0xd3, 0x159, 0xd3, 0xfdeb, 0xfdad, 0xfdeb, 0xfdad, 0xfdeb, 0xfdad, -0xfc87, 0xfc95, 0xfc87, 0xfc95, 0xfae2, 0xfb3e, 0xfae2, 0xfb3e, 0xf9c9, 0xfa74, 0xf9c9, -0xfa74, 0xf815, 0xf90d, 0xf815, 0xf90d, 0xf671, 0xf7b6, 0xf671, 0xf7b6, 0xf671, 0xf7b6, -0xf513, 0xf6a1, 0xf513, 0xf6a1, 0xf260, 0xf432, 0xf260, 0xf432, 0xf109, 0xf31a, 0xf109, -0xf31a, 0xef1c, 0xf166, 0xef1c, 0xf166, 0xeef5, 0xf170, 0xeef5, 0xf170, 0xed17, 0xefbc, -0xed17, 0xefbc, 0xed17, 0xefbc, 0xeafe, 0xedc6, 0xeafe, 0xedc6, 0xec63, 0xef44, 0xec63, -0xef44, 0xeb8e, 0xee82, 0xeb8e, 0xee82, 0xea64, 0xed61, 0xea64, 0xed61, 0xea3d, 0xed3c, -0xea3d, 0xed3c, 0xe975, 0xec6d, 0xe975, 0xec6d, 0xe975, 0xec6d, 0xe89b, 0xeb85, 0xe89b, -0xeb85, 0xe9b2, 0xec87, 0xe9b2, 0xec87, 0xea73, 0xed2c, 0xea73, 0xed2c, 0xe9ed, 0xec84, -0xe9ed, 0xec84, 0xeb34, 0xeda3, 0xeb34, 0xeda3, 0xeb34, 0xeda3, 0xec85, 0xeec6, 0xec85, -0xeec6, 0xede9, 0xeff7, 0xede9, 0xeff7, 0xf0a9, 0xf27e, 0xf0a9, 0xf27e, 0xf22f, 0xf3c7, -0xf22f, 0xf3c7, 0xf27c, 0xf3d2, 0xf27c, 0xf3d2, 0xf3e1, 0xf4f2, 0xf3e1, 0xf4f2, 0xf3e1, -0xf4f2, 0xf4ee, 0xf5b6, 0xf4ee, 0xf5b6, 0xf5d4, 0xf64f, 0xf5d4, 0xf64f, 0xf8ca, 0xf8f5, -0xf8ca, 0xf8f5, 0xfbb0, 0xfb89, 0xfbb0, 0xfb89, 0xfdd4, 0xfd5a, 0xfdd4, 0xfd5a, 0xe7, -0x17, 0xe7, 0x17, 0xe7, 0x17, 0x329, 0x203, 0x329, 0x203, 0x55b, 0x3df, -0x55b, 0x3df, 0x867, 0x697, 0x867, 0x697, 0xa76, 0x853, 0xa76, 0x853, 0xcc5, -0xa52, 0xcc5, 0xa52, 0xcc5, 0xa52, 0xf23, 0xc63, 0xf23, 0xc63, 0x119f, 0xe96, -0x119f, 0xe96, 0x1557, 0x120b, 0x1557, 0x120b, 0x192a, 0x15a0, 0x192a, 0x15a0, 0x1ba5, -0x17e4, 0x1ba5, 0x17e4, 0x1db4, 0x19c3, 0x1db4, 0x19c3, 0x1db4, 0x19c3, 0x2127, 0x1d0e, -0x2127, 0x1d0e, 0x235d, 0x1f23, 0x235d, 0x1f23, 0x24ee, 0x209a, 0x24ee, 0x209a, 0x2669, -0x2203, 0x2669, 0x2203, 0x25af, 0x213e, 0x25af, 0x213e, 0x26f2, 0x227d, 0x26f2, 0x227d, -0x26f2, 0x227d, 0x271f, 0x22ad, 0x271f, 0x22ad, 0x24dd, 0x2073, 0x24dd, 0x2073, 0x25b9, -0x215c, 0x25b9, 0x215c, 0x2607, 0x21bb, 0x2607, 0x21bb, 0x2431, 0x1ffa, 0x2431, 0x1ffa, -0x2431, 0x1ffa, 0x22a2, 0x1e82, 0x22a2, 0x1e82, 0x225b, 0x1e54, 0x225b, 0x1e54, 0x2178, -0x1d8b, 0x2178, 0x1d8b, 0x20af, 0x1cdd, 0x20af, 0x1cdd, 0x1ff6, 0x1c3f, 0x1ff6, 0x1c3f, -0x1dfb, 0x1a60, 0x1dfb, 0x1a60, 0x1dfb, 0x1a60, 0x1dc2, 0x1a41, 0x1dc2, 0x1a41, 0x1c5d, -0x18f9, 0x1c5d, 0x18f9, 0x1a4d, 0x1704, 0x1a4d, 0x1704, 0x184c, 0x151f, 0x184c, 0x151f, -0x1566, 0x1257, 0x1566, 0x1257, 0x12f6, 0x1006, 0x12f6, 0x1006, 0x12f6, 0x1006, 0x11af, -0xee0, 0x11af, 0xee0, 0x10a9, 0xdfe, 0x10a9, 0xdfe, 0xe9e, 0xc1b, 0xe9e, 0xc1b, -0xe83, 0xc29, 0xe83, 0xc29, 0xca0, 0xa74, 0xca0, 0xa74, 0xca0, 0xa74, 0xa6e, -0x875, 0xa6e, 0x875, 0x9f0, 0x82d, 0x9f0, 0x82d, 0x77e, 0x5f5, 0x77e, 0x5f5, -0x523, 0x3d6, 0x523, 0x3d6, 0x40c, 0x2ff, 0x40c, 0x2ff, 0x2df, 0x213, 0x2df, -0x213, 0x2df, 0x213, 0x51, 0xffc7, 0x51, 0xffc7, 0x65, 0x1c, 0x65, 0x1c, -0xffbc, 0xffb3, 0xffbc, 0xffb3, 0xfdba, 0xfdee, 0xfdba, 0xfdee, 0xfe2e, 0xfe9a, 0xfe2e, -0xfe9a, 0xfc92, 0xfd30, 0xfc92, 0xfd30, 0xfc92, 0xfd30, 0xfb95, 0xfc5e, 0xfb95, 0xfc5e, -0xfb58, 0xfc44, 0xfb58, 0xfc44, 0xfa50, 0xfb56, 0xfa50, 0xfb56, 0xf953, 0xfa6a, 0xf953, -0xfa6a, 0xf7df, 0xf8fc, 0xf7df, 0xf8fc, 0xf7df, 0xf8fc, 0xf757, 0xf871, 0xf757, 0xf871, -0xf678, 0xf785, 0xf678, 0xf785, 0xf61f, 0xf716, 0xf61f, 0xf716, 0xf5b5, 0xf68d, 0xf5b5, -0xf68d, 0xf507, 0xf5ba, 0xf507, 0xf5ba, 0xf458, 0xf4e0, 0xf458, 0xf4e0, 0xf458, 0xf4e0, -0xf352, 0xf3ac, 0xf352, 0xf3ac, 0xf48c, 0xf4b5, 0xf48c, 0xf4b5, 0xf547, 0xf53f, 0xf547, -0xf53f, 0xf648, 0xf611, 0xf648, 0xf611, 0xf80d, 0xf7ab, 0xf80d, 0xf7ab, 0xf80d, 0xf7ab, -0xf8b2, 0xf82a, 0xf8b2, 0xf82a, 0xf9f6, 0xf94e, 0xf9f6, 0xf94e, 0xfb6a, 0xfaab, 0xfb6a, -0xfaab, 0xfc8b, 0xfbbe, 0xfc8b, 0xfbbe, 0xfba4, 0xfad3, 0xfba4, 0xfad3, 0xfc47, 0xfb7b, -0xfc47, 0xfb7b, 0xfc47, 0xfb7b, 0xfd2b, 0xfc6f, 0xfd2b, 0xfc6f, 0xfc54, 0xfbb1, 0xfc54, -0xfbb1, 0xfd96, 0xfd15, 0xfd96, 0xfd15, 0xfd6e, 0xfd16, 0xfd6e, 0xfd16, 0xfd86, 0xfd5c, -0xfd86, 0xfd5c, 0xfe62, 0xfe6b, 0xfe62, 0xfe6b, 0xfe62, 0xfe6b, 0xfdf6, 0xfe34, 0xfdf6, -0xfe34, 0xfd12, 0xfd86, 0xfd12, 0xfd86, 0xfbe0, 0xfc89, 0xfbe0, 0xfc89, 0xfb15, 0xfbef, -0xfb15, 0xfbef, 0xf9df, 0xfae6, 0xf9df, 0xfae6, 0xf9df, 0xfae6, 0xfa06, 0xfb33, 0xfa06, -0xfb33, 0xfa48, 0xfb92, 0xfa48, 0xfb92, 0xfaf9, 0xfc5a, 0xfaf9, 0xfc5a, 0xfca4, 0xfe11, -0xfca4, 0xfe11, 0xfc48, 0xfdb9, 0xfc48, 0xfdb9, 0xfd5a, 0xfec5, 0xfd5a, 0xfec5, 0xfd5a, -0xfec5, 0xff50, 0xaf, 0xff50, 0xaf, 0xff03, 0x4d, 0xff03, 0x4d, 0xfee0, 0x10, -0xfee0, 0x10, 0xffa8, 0xba, 0xffa8, 0xba, 0x27, 0x118, 0x27, 0x118, 0xb9, -0x188, 0xb9, 0x188, 0xb9, 0x188, 0x26c, 0x31a, 0x26c, 0x31a, 0x30f, 0x3a0, -0x30f, 0x3a0, 0x312, 0x38a, 0x312, 0x38a, 0x4fe, 0x564, 0x4fe, 0x564, 0x5ad, -0x608, 0x5ad, 0x608, 0x5ad, 0x608, 0x5b1, 0x609, 0x5b1, 0x609, 0x698, 0x6f6, -0x698, 0x6f6, 0x5fa, 0x668, 0x5fa, 0x668, 0x5bf, 0x644, 0x5bf, 0x644, 0x652, -0x6f7, 0x652, 0x6f7, 0x4a5, 0x571, 0x4a5, 0x571, 0x4a5, 0x571, 0x31f, 0x417, -0x31f, 0x417, 0x2f2, 0x41a, 0x2f2, 0x41a, 0x118, 0x272, 0x118, 0x272, 0xffa8, -0x135, 0xffa8, 0x135, 0xfe03, 0xffbf, 0xfe03, 0xffbf, 0xfa2c, 0xfc15, 0xfa2c, 0xfc15, -0xfa2c, 0xfc15, 0xf7ed, 0xf9fb, 0xf7ed, 0xf9fb, 0xf6e6, 0xf912, 0xf6e6, 0xf912, 0xf55f, -0xf7a0, 0xf55f, 0xf7a0, 0xf46b, 0xf6b8, 0xf46b, 0xf6b8, 0xf29b, 0xf4e8, 0xf29b, 0xf4e8, -0xf29b, 0xf4e8, 0xf037, 0xf278, 0xf037, 0xf278, 0xeed0, 0xf0fc, 0xeed0, 0xf0fc, 0xec80, -0xee8c, 0xec80, 0xee8c, 0xea91, 0xec73, 0xea91, 0xec73, 0xea30, 0xebe1, 0xea30, 0xebe1, -0xe960, 0xead9, 0xe960, 0xead9, 0xe960, 0xead9, 0xe94b, 0xea88, 0xe94b, 0xea88, 0xea28, -0xeb28, 0xea28, 0xeb28, 0xe960, 0xea22, 0xe960, 0xea22, 0xe88f, 0xe916, 0xe88f, 0xe916, -0xe9ad, 0xe9fd, 0xe9ad, 0xe9fd, 0xe913, 0xe934, 0xe913, 0xe934, 0xe913, 0xe934, 0xe8b3, -0xe8ab, 0xe8b3, 0xe8ab, 0xea20, 0xe9fb, 0xea20, 0xe9fb, 0xe996, 0xe95d, 0xe996, 0xe95d, -0xe8be, 0xe87d, 0xe8be, 0xe87d, 0xe93e, 0xe901, 0xe93e, 0xe901, 0xe93e, 0xe901, 0xe9b0, -0xe981, 0xe9b0, 0xe981, 0xe8c4, 0xe8ae, 0xe8c4, 0xe8ae, 0xe869, 0xe877, 0xe869, 0xe877, -0xe7ac, 0xe7e5, 0xe7ac, 0xe7e5, 0xe61a, 0xe683, 0xe61a, 0xe683, 0xe66a, 0xe708, 0xe66a, -0xe708, 0xe66a, 0xe708, 0xe5e0, 0xe6b6, 0xe5e0, 0xe6b6, 0xe5d6, 0xe6e3, 0xe5d6, 0xe6e3, -0xe690, 0xe7d2, 0xe690, 0xe7d2, 0xe626, 0xe798, 0xe626, 0xe798, 0xe6c6, 0xe862, 0xe6c6, -0xe862, 0xe7a1, 0xe960, 0xe7a1, 0xe960, 0xe7a1, 0xe960, 0xe7af, 0xe986, 0xe7af, 0xe986, -0xe7b2, 0xe998, 0xe7b2, 0xe998, 0xe7ce, 0xe9b8, 0xe7ce, 0xe9b8, 0xe778, 0xe95c, 0xe778, -0xe95c, 0xe8b2, 0xea84, 0xe8b2, 0xea84, 0xe8b2, 0xea84, 0xeb14, 0xeccc, 0xeb14, 0xeccc, -0xec07, 0xed9b, 0xec07, 0xed9b, 0xede9, 0xef53, 0xede9, 0xef53, 0xf121, 0xf25a, 0xf121, -0xf25a, 0xf37a, 0xf480, 0xf37a, 0xf480, 0xf5cb, 0xf69c, 0xf5cb, 0xf69c, 0xf5cb, 0xf69c, -0xf84d, 0xf8e9, 0xf84d, 0xf8e9, 0xfa57, 0xfac2, 0xfa57, 0xfac2, 0xfcbd, 0xfcf9, 0xfcbd, -0xfcf9, 0xfe8d, 0xfea0, 0xfe8d, 0xfea0, 0xff49, 0xff3a, 0xff49, 0xff3a, 0xe7, 0xbe, -0xe7, 0xbe, 0xe7, 0xbe, 0x2b0, 0x276, 0x2b0, 0x276, 0x40f, 0x3cc, 0x40f, -0x3cc, 0x689, 0x645, 0x689, 0x645, 0x91b, 0x8df, 0x91b, 0x8df, 0x9fc, 0x9cf, -0x9fc, 0x9cf, 0x9fc, 0x9cf, 0xa9c, 0xa84, 0xa9c, 0xa84, 0xc1c, 0xc1e, 0xc1c, -0xc1e, 0xc62, 0xc81, 0xc62, 0xc81, 0xc9b, 0xcd8, 0xc9b, 0xcd8, 0xc69, 0xcc4, -0xc69, 0xcc4, 0xb95, 0xc0c, 0xb95, 0xc0c, 0xb95, 0xc0c, 0xd15, 0xda4, 0xd15, -0xda4, 0xcff, 0xda2, 0xcff, 0xda2, 0xc42, 0xcf3, 0xc42, 0xcf3, 0xc39, 0xcf1, -0xc39, 0xcf1, 0xb14, 0xbcc, 0xb14, 0xbcc, 0xbda, 0xc8a, 0xbda, 0xc8a, 0xbda, -0xc8a, 0xd0b, 0xdac, 0xd0b, 0xdac, 0xd07, 0xd91, 0xd07, 0xd91, 0xe10, 0xe7e, -0xe10, 0xe7e, 0xfc3, 0x1011, 0xfc3, 0x1011, 0xf68, 0xf91, 0xf68, 0xf91, 0xf68, -0xf91, 0x10cc, 0x10ce, 0x10cc, 0x10ce, 0x1392, 0x136d, 0x1392, 0x136d, 0x133d, 0x12f1, -0x133d, 0x12f1, 0x1428, 0x13b8, 0x1428, 0x13b8, 0x1582, 0x14f3, 0x1582, 0x14f3, 0x14d8, -0x142f, 0x14d8, 0x142f, 0x14d8, 0x142f, 0x1533, 0x1476, 0x1533, 0x1476, 0x151e, 0x1454, -0x151e, 0x1454, 0x132a, 0x125c, 0x132a, 0x125c, 0x11ab, 0x10e1, 0x11ab, 0x10e1, 0x10c2, -0x1002, 0x10c2, 0x1002, 0xfe2, 0xf36, 0xfe2, 0xf36, 0xfe2, 0xf36, 0xead, 0xe1a, -0xead, 0xe1a, 0xcd8, 0xc65, 0xcd8, 0xc65, 0xa15, 0x9c7, 0xa15, 0x9c7, 0x84e, -0x828, 0x84e, 0x828, 0x7ea, 0x7ef, 0x7ea, 0x7ef, 0x7ea, 0x7ef, 0x6f4, 0x723, -0x6f4, 0x723, 0x711, 0x769, 0x711, 0x769, 0x5ea, 0x668, 0x5ea, 0x668, 0x446, -0x4e8, 0x446, 0x4e8, 0x3a6, 0x467, 0x3a6, 0x467, 0x26c, 0x345, 0x26c, 0x345, -0x26c, 0x345, 0x107, 0x1f3, 0x107, 0x1f3, 0xffdb, 0xd2, 0xffdb, 0xd2, 0xff47, -0x43, 0xff47, 0x43, 0xfdb7, 0xfeb1, 0xfdb7, 0xfeb1, 0xfdf2, 0xfee3, 0xfdf2, 0xfee3, -0xfdf2, 0xfee3, 0xfd17, 0xfdfa, 0xfd17, 0xfdfa, 0xfb3d, 0xfc0f, 0xfb3d, 0xfc0f, 0xfca0, -0xfd5b, 0xfca0, 0xfd5b, 0xfc60, 0xfd03, 0xfc60, 0xfd03, 0xfc0b, 0xfc95, 0xfc0b, 0xfc95, -0xfcbc, 0xfd2b, 0xfcbc, 0xfd2b, 0xfcbc, 0xfd2b, 0xfd68, 0xfdbe, 0xfd68, 0xfdbe, 0xfe97, -0xfed7, 0xfe97, 0xfed7, 0xffe2, 0xe, 0xffe2, 0xe, 0xd9, 0xf6, 0xd9, 0xf6, -0xe9, 0xfb, 0xe9, 0xfb, 0x23b, 0x246, 0x23b, 0x246, 0x23b, 0x246, 0x311, -0x31a, 0x311, 0x31a, 0x339, 0x344, 0x339, 0x344, 0x31a, 0x32d, 0x31a, 0x32d, -0x152, 0x16f, 0x152, 0x16f, 0x9c, 0xc8, 0x9c, 0xc8, 0x9c, 0xc8, 0x6b, -0xa8, 0x6b, 0xa8, 0x3c, 0x8a, 0x3c, 0x8a, 0xffc7, 0x28, 0xffc7, 0x28, -0xfe97, 0xff0a, 0xfe97, 0xff0a, 0xfd40, 0xfdc6, 0xfd40, 0xfdc6, 0xfc9e, 0xfd34, 0xfc9e, -0xfd34, 0xfc9e, 0xfd34, 0xfd21, 0xfdc4, 0xfd21, 0xfdc4, 0xfb60, 0xfc0e, 0xfb60, 0xfc0e, -0xf9eb, 0xfaa0, 0xf9eb, 0xfaa0, 0xf95b, 0xfa15, 0xf95b, 0xfa15, 0xf8b5, 0xf970, 0xf8b5, -0xf970, 0xf96d, 0xfa26, 0xf96d, 0xfa26, 0xf96d, 0xfa26, 0xf97a, 0xfa30, 0xf97a, 0xfa30, -0xf8a9, 0xf958, 0xf8a9, 0xf958, 0xf80f, 0xf8b5, 0xf80f, 0xf8b5, 0xf8c4, 0xf961, 0xf8c4, -0xf961, 0xf861, 0xf8f5, 0xf861, 0xf8f5, 0xf861, 0xf8f5, 0xf8a2, 0xf92c, 0xf8a2, 0xf92c, -0xf8a4, 0xf926, 0xf8a4, 0xf926, 0xf6a7, 0xf722, 0xf6a7, 0xf722, 0xf5bb, 0xf630, 0xf5bb, -0xf630, 0xf45c, 0xf4cd, 0xf45c, 0xf4cd, 0xf3a6, 0xf415, 0xf3a6, 0xf415, 0xf3a6, 0xf415, -0xf413, 0xf481, 0xf413, 0xf481, 0xf43f, 0xf4af, 0xf43f, 0xf4af, 0xf2e9, 0xf35b, 0xf2e9, -0xf35b, 0xf2a8, 0xf31d, 0xf2a8, 0xf31d, 0xf262, 0xf2da, 0xf262, 0xf2da, 0xf0eb, 0xf166, -0xf0eb, 0xf166, 0xf0eb, 0xf166, 0xf111, 0xf18c, 0xf111, 0xf18c, 0xf0f1, 0xf16a, 0xf0f1, -0xf16a, 0xf203, 0xf277, 0xf203, 0xf277, 0xf37b, 0xf3e6, 0xf37b, 0xf3e6, 0xf538, 0xf596, -0xf538, 0xf596, 0xf538, 0xf596, 0xf64e, 0xf699, 0xf64e, 0xf699, 0xf75c, 0xf790, 0xf75c, -0xf790, 0xf92e, 0xf944, 0xf92e, 0xf944, 0xf9b7, 0xf9aa, 0xf9b7, 0xf9aa, 0xfb90, 0xfb5b, -0xfb90, 0xfb5b, 0xfcb5, 0xfc53, 0xfcb5, 0xfc53, 0xfcb5, 0xfc53, 0xfebc, 0xfe2a, 0xfebc, -0xfe2a, 0x183, 0xbb, 0x183, 0xbb, 0x29b, 0x19c, 0x29b, 0x19c, 0x525, 0x3ec, -0x525, 0x3ec, 0x878, 0x704, 0x878, 0x704, 0xb9a, 0x9eb, 0xb9a, 0x9eb, 0xb9a, -0x9eb, 0xea7, 0xcbf, 0xea7, 0xcbf, 0x11d9, 0xfb7, 0x11d9, 0xfb7, 0x1381, 0x112a, -0x1381, 0x112a, 0x146f, 0x11e6, 0x146f, 0x11e6, 0x1689, 0x13d1, 0x1689, 0x13d1, 0x1689, -0x13d1, 0x1862, 0x157f, 0x1862, 0x157f, 0x1ab6, 0x17ae, 0x1ab6, 0x17ae, 0x1bc7, 0x189c, -0x1bc7, 0x189c, 0x1bb1, 0x186a, 0x1bb1, 0x186a, 0x1d29, 0x19c9, 0x1d29, 0x19c9, 0x1e77, -0x1b02, 0x1e77, 0x1b02, 0x1e77, 0x1b02, 0x1e8d, 0x1b05, 0x1e8d, 0x1b05, 0x1e80, 0x1aea, -0x1e80, 0x1aea, 0x1eee, 0x1b4c, 0x1eee, 0x1b4c, 0x1fc0, 0x1c13, 0x1fc0, 0x1c13, 0x21d1, -0x1e1b, 0x21d1, 0x1e1b, 0x22de, 0x1f21, 0x22de, 0x1f21, 0x22de, 0x1f21, 0x227a, 0x1eb7, -0x227a, 0x1eb7, 0x2168, 0x1d9f, 0x2168, 0x1d9f, 0x1ed5, 0x1b07, 0x1ed5, 0x1b07, 0x1d67, -0x1996, 0x1d67, 0x1996, 0x1cd6, 0x1904, 0x1cd6, 0x1904, 0x1cd6, 0x1904, 0x1c40, 0x186e, -0x1c40, 0x186e, 0x1ad3, 0x1703, 0x1ad3, 0x1703, 0x1a58, 0x168d, 0x1a58, 0x168d, 0x1ad2, -0x1712, 0x1ad2, 0x1712, 0x1a2b, 0x1678, 0x1a2b, 0x1678, 0x195e, 0x15bf, 0x195e, 0x15bf, -0x195e, 0x15bf, 0x1722, 0x139c, 0x1722, 0x139c, 0x153e, 0x11d8, 0x153e, 0x11d8, 0x147b, -0x113d, 0x147b, 0x113d, 0x1350, 0x1040, 0x1350, 0x1040, 0x10ad, 0xdd3, 0x10ad, 0xdd3, -0xe62, 0xbc6, 0xe62, 0xbc6, 0xe62, 0xbc6, 0xc55, 0x9fc, 0xc55, 0x9fc, 0x9f8, -0x7ea, 0x9f8, 0x7ea, 0x952, 0x795, 0x952, 0x795, 0x6f4, 0x58b, 0x6f4, 0x58b, -0x3e5, 0x2d3, 0x3e5, 0x2d3, 0x3e5, 0x2d3, 0x1e5, 0x12e, 0x1e5, 0x12e, 0xfed7, -0xfe7b, 0xfed7, 0xfe7b, 0xfafd, 0xfafb, 0xfafd, 0xfafb, 0xf8ef, 0xf945, 0xf8ef, 0xf945, -0xf777, 0xf821, 0xf777, 0xf821, 0xf47a, 0xf572, 0xf47a, 0xf572, 0xf47a, 0xf572, 0xf2d1, -0xf412, 0xf2d1, 0xf412, 0xf157, 0xf2d9, 0xf157, 0xf2d9, 0xef0d, 0xf0c7, 0xef0d, 0xf0c7, -0xed35, 0xef20, 0xed35, 0xef20, 0xeafb, 0xed0c, 0xeafb, 0xed0c, 0xe9a7, 0xebd6, 0xe9a7, -0xebd6, 0xe9a7, 0xebd6, 0xe9d8, 0xec1c, 0xe9d8, 0xec1c, 0xe8b1, 0xeb01, 0xe8b1, 0xeb01, -0xe7c1, 0xea15, 0xe7c1, 0xea15, 0xe867, 0xeab7, 0xe867, 0xeab7, 0xe901, 0xeb48, 0xe901, -0xeb48, 0xe901, 0xeb48, 0xe9da, 0xec13, 0xe9da, 0xec13, 0xea2d, 0xec54, 0xea2d, 0xec54, -0xea6c, 0xec7f, 0xea6c, 0xec7f, 0xeb69, 0xed65, 0xeb69, 0xed65, 0xecce, 0xeeb5, 0xecce, -0xeeb5, 0xeda1, 0xef71, 0xeda1, 0xef71, 0xeda1, 0xef71, 0xef04, 0xf0c0, 0xef04, 0xf0c0, -0xefe7, 0xf191, 0xefe7, 0xf191, 0xef1a, 0xf0b4, 0xef1a, 0xf0b4, 0xf0fe, 0xf28a, 0xf0fe, -0xf28a, 0xf3ce, 0xf54f, 0xf3ce, 0xf54f, 0xf54a, 0xf6c2, 0xf54a, 0xf6c2, 0xf54a, 0xf6c2, -0xf65b, 0xf7cc, 0xf65b, 0xf7cc, 0xf659, 0xf7c3, 0xf659, 0xf7c3, 0xf75d, 0xf8c1, 0xf75d, -0xf8c1, 0xf998, 0xfaf6, 0xf998, 0xfaf6, 0xfb5c, 0xfcb2, 0xfb5c, 0xfcb2, 0xfb5c, 0xfcb2, -0xfc88, 0xfdd5, 0xfc88, 0xfdd5, 0xfdeb, 0xff2b, 0xfdeb, 0xff2b, 0xff57, 0x87, 0xff57, -0x87, 0x13c, 0x259, 0x13c, 0x259, 0x3de, 0x4e3, 0x3de, 0x4e3, 0x4ab, 0x594, -0x4ab, 0x594, 0x4ab, 0x594, 0x58b, 0x655, 0x58b, 0x655, 0x700, 0x7a7, 0x700, -0x7a7, 0x8e4, 0x965, 0x8e4, 0x965, 0xbfe, 0xc57, 0xbfe, 0xc57, 0xd75, 0xda6, -0xd75, 0xda6, 0xd75, 0xda6, 0xd9c, 0xda4, 0xd9c, 0xda4, 0xd80, 0xd62, 0xd80, -0xd62, 0xf6a, 0xf29, 0xf6a, 0xf29, 0x11db, 0x117a, 0x11db, 0x117a, 0x133c, 0x12c3, -0x133c, 0x12c3, 0x149a, 0x140e, 0x149a, 0x140e, 0x149a, 0x140e, 0x1497, 0x1401, 0x1497, -0x1401, 0x1516, 0x147f, 0x1516, 0x147f, 0x15e0, 0x1552, 0x15e0, 0x1552, 0x14d2, 0x1456, -0x14d2, 0x1456, 0x12cb, 0x126a, 0x12cb, 0x126a, 0x11ea, 0x11af, 0x11ea, 0x11af, 0x11ea, -0x11af, 0x10d3, 0x10c7, 0x10d3, 0x10c7, 0xe82, 0xead, 0xe82, 0xead, 0xc1f, 0xc87, -0xc1f, 0xc87, 0x87a, 0x926, 0x87a, 0x926, 0x403, 0x4f7, 0x403, 0x4f7, 0x403, -0x4f7, 0x107, 0x245, 0x107, 0x245, 0xfe0a, 0xff93, 0xfe0a, 0xff93, 0xfb42, 0xfd16, -0xfb42, 0xfd16, 0xfa68, 0xfc82, 0xfa68, 0xfc82, 0xf7f8, 0xfa57, 0xf7f8, 0xfa57, 0xf548, -0xf7e4, 0xf548, 0xf7e4, 0xf548, 0xf7e4, 0xf28f, 0xf562, 0xf28f, 0xf562, 0xeeff, 0xf202, -0xeeff, 0xf202, 0xec1a, 0xef44, 0xec1a, 0xef44, 0xe994, 0xecdb, 0xe994, 0xecdb, 0xe824, -0xeb81, 0xe824, 0xeb81, 0xe662, 0xe9cc, 0xe662, 0xe9cc, 0xe662, 0xe9cc, 0xe47e, 0xe7ec, -0xe47e, 0xe7ec, 0xe1b8, 0xe523, 0xe1b8, 0xe523, 0xdfda, 0xe33c, 0xdfda, 0xe33c, 0xdf07, -0xe259, 0xdf07, 0xe259, 0xde04, 0xe143, 0xde04, 0xe143, 0xde04, 0xe143, 0xdeb1, 0xe1d8, -0xdeb1, 0xe1d8, 0xde15, 0xe123, 0xde15, 0xe123, 0xddb6, 0xe0a9, 0xddb6, 0xe0a9, 0xdea8, -0xe181, 0xdea8, 0xe181, 0xdf00, 0xe1c0, 0xdf00, 0xe1c0, 0xdeff, 0xe1a7, 0xdeff, 0xe1a7, -0xdeff, 0xe1a7, 0xdf46, 0xe1d8, 0xdf46, 0xe1d8, 0xe033, 0xe2b2, 0xe033, 0xe2b2, 0xe0d1, -0xe33e, 0xe0d1, 0xe33e, 0xe303, 0xe560, 0xe303, 0xe560, 0xe473, 0xe6c2, 0xe473, 0xe6c2, -0xe46c, 0xe6ae, 0xe46c, 0xe6ae, 0xe46c, 0xe6ae, 0xe54a, 0xe77e, 0xe54a, 0xe77e, 0xe57b, -0xe7a1, 0xe57b, 0xe7a1, 0xe79d, 0xe9b3, 0xe79d, 0xe9b3, 0xe9af, 0xebb2, 0xe9af, 0xebb2, -0xe9cb, 0xebb8, 0xe9cb, 0xebb8, 0xe9cb, 0xebb8, 0xea11, 0xebe3, 0xea11, 0xebe3, 0xeac2, -0xec74, 0xeac2, 0xec74, 0xec4a, 0xedd6, 0xec4a, 0xedd6, 0xed5f, 0xeebf, 0xed5f, 0xeebf, -0xeef1, 0xf01f, 0xeef1, 0xf01f, 0xefb3, 0xf0aa, 0xefb3, 0xf0aa, 0xefb3, 0xf0aa, 0xf12c, -0xf1e6, 0xf12c, 0xf1e6, 0xf41b, 0xf495, 0xf41b, 0xf495, 0xf61a, 0xf64e, 0xf61a, 0xf64e, -0xf8e2, 0xf8d0, 0xf8e2, 0xf8d0, 0xfbb0, 0xfb55, 0xfbb0, 0xfb55, 0xfdf9, 0xfd56, 0xfdf9, -0xfd56, 0xfdf9, 0xfd56, 0x151, 0x68, 0x151, 0x68, 0x5a1, 0x475, 0x5a1, 0x475, -0x796, 0x62c, 0x796, 0x62c, 0x7e1, 0x63f, 0x7e1, 0x63f, 0x8c9, 0x6f6, 0x8c9, -0x6f6, 0x8c9, 0x6f6, 0xa40, 0x844, 0xa40, 0x844, 0xbd3, 0x9b8, 0xbd3, 0x9b8, -0xdcc, 0xb9a, 0xdcc, 0xb9a, 0xee1, 0xca3, 0xee1, 0xca3, 0xe6e, 0xc2d, 0xe6e, -0xc2d, 0xf74, 0xd38, 0xf74, 0xd38, 0xf74, 0xd38, 0xe9d, 0xc70, 0xe9d, 0xc70, -0xd51, 0xb3a, 0xd51, 0xb3a, 0xcfa, 0xaff, 0xcfa, 0xaff, 0xc5a, 0xa81, 0xc5a, -0xa81, 0xd15, 0xb62, 0xd15, 0xb62, 0xd15, 0xb8a, 0xd15, 0xb8a, 0xd15, 0xb8a, -0xc29, 0xac8, 0xc29, 0xac8, 0xa78, 0x940, 0xa78, 0x940, 0x9e0, 0x8d0, 0x9e0, -0x8d0, 0x977, 0x88c, 0x977, 0x88c, 0x8b7, 0x7ed, 0x8b7, 0x7ed, 0x8b7, 0x7ed, -0x816, 0x768, 0x816, 0x768, 0x6ad, 0x618, 0x6ad, 0x618, 0x5f8, 0x576, 0x5f8, -0x576, 0x442, 0x3cd, 0x442, 0x3cd, 0x2b5, 0x249, 0x2b5, 0x249, 0x263, 0x1fb, -0x263, 0x1fb, 0x263, 0x1fb, 0x18e, 0x127, 0x18e, 0x127, 0x154, 0xe9, 0x154, -0xe9, 0x25e, 0x1ee, 0x25e, 0x1ee, 0x36d, 0x2f6, 0x36d, 0x2f6, 0x399, 0x31a, -0x399, 0x31a, 0x398, 0x311, 0x398, 0x311, 0x398, 0x311, 0x346, 0x2b8, 0x346, -0x2b8, 0x364, 0x2d0, 0x364, 0x2d0, 0x493, 0x3fc, 0x493, 0x3fc, 0x47c, 0x3e4, -0x47c, 0x3e4, 0x49c, 0x406, 0x49c, 0x406, 0x49c, 0x406, 0x503, 0x470, 0x503, -0x470, 0x475, 0x3e8, 0x475, 0x3e8, 0x454, 0x3cf, 0x454, 0x3cf, 0x3c8, 0x34b, -0x3c8, 0x34b, 0x317, 0x2a2, 0x317, 0x2a2, 0x2f0, 0x284, 0x2f0, 0x284, 0x2f0, -0x284, 0x47a, 0x415, 0x47a, 0x415, 0x5d6, 0x575, 0x5d6, 0x575, 0x67c, 0x61d, -0x67c, 0x61d, 0x6ca, 0x668, 0x6ca, 0x668, 0x506, 0x49d, 0x506, 0x49d, 0x467, -0x3f2, 0x467, 0x3f2, 0x467, 0x3f2, 0x539, 0x4b3, 0x539, 0x4b3, 0x51e, 0x481, -0x51e, 0x481, 0x4c8, 0x410, 0x4c8, 0x410, 0x514, 0x43c, 0x514, 0x43c, 0x4ea, -0x3ee, 0x4ea, 0x3ee, 0x4ea, 0x3ee, 0x5af, 0x48c, 0x5af, 0x48c, 0x692, 0x546, -0x692, 0x546, 0x5df, 0x467, 0x5df, 0x467, 0x625, 0x484, 0x625, 0x484, 0x720, -0x555, 0x720, 0x555, 0x75a, 0x56a, 0x75a, 0x56a, 0x75a, 0x56a, 0x7b5, 0x5a2, -0x7b5, 0x5a2, 0x918, 0x6ea, 0x918, 0x6ea, 0x91f, 0x6da, 0x91f, 0x6da, 0x97a, -0x726, 0x97a, 0x726, 0xaff, 0x8a3, 0xaff, 0x8a3, 0xbc6, 0x96b, 0xbc6, 0x96b, -0xbc6, 0x96b, 0xc22, 0x9cf, 0xc22, 0x9cf, 0xa9c, 0x85b, 0xa9c, 0x85b, 0x93c, -0x714, 0x93c, 0x714, 0x943, 0x73b, 0x943, 0x73b, 0x8d2, 0x6f2, 0x8d2, 0x6f2, -0x8d2, 0x6f2, 0x6f9, 0x547, 0x6f9, 0x547, 0x4c0, 0x33f, 0x4c0, 0x33f, 0x371, -0x226, 0x371, 0x226, 0x26e, 0x15a, 0x26e, 0x15a, 0x69, 0xff8f, 0x69, 0xff8f, -0xfd6c, 0xfcca, 0xfd6c, 0xfcca, 0xfd6c, 0xfcca, 0xfa90, 0xfa27, 0xfa90, 0xfa27, 0xf8cf, -0xf89c, 0xf8cf, 0xf89c, 0xf77f, 0xf77f, 0xf77f, 0xf77f, 0xf665, 0xf695, 0xf665, 0xf695, -0xf5b3, 0xf60f, 0xf5b3, 0xf60f, 0xf5b3, 0xf60f, 0xf2fe, 0xf382, 0xf2fe, 0xf382, 0xf0ac, -0xf154, 0xf0ac, 0xf154, 0xefb7, 0xf07f, 0xefb7, 0xf07f, 0xee0f, 0xeef3, 0xee0f, 0xeef3, -0xecb3, 0xedb1, 0xecb3, 0xedb1, 0xebf3, 0xed07, 0xebf3, 0xed07, 0xebf3, 0xed07, 0xeb40, -0xec68, 0xeb40, 0xec68, 0xeb1d, 0xec58, 0xeb1d, 0xec58, 0xeb79, 0xecc5, 0xeb79, 0xecc5, -0xe9fe, 0xeb5a, 0xe9fe, 0xeb5a, 0xe92b, 0xea97, 0xe92b, 0xea97, 0xe9ca, 0xeb46, 0xe9ca, -0xeb46, 0xe9ca, 0xeb46, 0xea32, 0xebbe, 0xea32, 0xebbe, 0xeb70, 0xed0b, 0xeb70, 0xed0b, -0xebc6, 0xed6f, 0xebc6, 0xed6f, 0xeae0, 0xec96, 0xeae0, 0xec96, 0xeabe, 0xec7f, 0xeabe, -0xec7f, 0xeabe, 0xec7f, 0xebde, 0xeda7, 0xebde, 0xeda7, 0xed69, 0xef37, 0xed69, 0xef37, -0xeed6, 0xf0a6, 0xeed6, 0xf0a6, 0xf0b6, 0xf282, 0xf0b6, 0xf282, 0xf24d, 0xf40e, 0xf24d, -0xf40e, 0xf3df, 0xf58f, 0xf3df, 0xf58f, 0xf3df, 0xf58f, 0xf65e, 0xf7f5, 0xf65e, 0xf7f5, -0xf806, 0xf97d, 0xf806, 0xf97d, 0xfa3d, 0xfb8b, 0xfa3d, 0xfb8b, 0xfc9f, 0xfdbe, 0xfc9f, -0xfdbe, 0xfed9, 0xffbf, 0xfed9, 0xffbf, 0x28d, 0x333, 0x28d, 0x333, 0x28d, 0x333, -0x57f, 0x5df, 0x57f, 0x5df, 0x721, 0x736, 0x721, 0x736, 0x947, 0x90b, 0x947, -0x90b, 0xd8d, 0xcfe, 0xd8d, 0xcfe, 0x1139, 0x1054, 0x1139, 0x1054, 0x1139, 0x1054, -0x147e, 0x1344, 0x147e, 0x1344, 0x1788, 0x15f9, 0x1788, 0x15f9, 0x194c, 0x176b, 0x194c, -0x176b, 0x1c88, 0x1a59, 0x1c88, 0x1a59, 0x1f10, 0x1c99, 0x1f10, 0x1c99, 0x20ca, 0x1e0f, -0x20ca, 0x1e0f, 0x20ca, 0x1e0f, 0x2308, 0x2013, 0x2308, 0x2013, 0x2414, 0x20ec, 0x2414, -0x20ec, 0x2527, 0x21d3, 0x2527, 0x21d3, 0x2734, 0x23bd, 0x2734, 0x23bd, 0x285d, 0x24cc, -0x285d, 0x24cc, 0x2817, 0x2474, 0x2817, 0x2474, 0x2817, 0x2474, 0x264f, 0x22a1, 0x264f, -0x22a1, 0x250a, 0x2157, 0x250a, 0x2157, 0x25f1, 0x2241, 0x25f1, 0x2241, 0x26df, 0x2336, -0x26df, 0x2336, 0x2658, 0x22ba, 0x2658, 0x22ba, 0x2658, 0x22ba, 0x24cc, 0x213b, 0x24cc, -0x213b, 0x2371, 0x1ff0, 0x2371, 0x1ff0, 0x2228, 0x1eb9, 0x2228, 0x1eb9, 0x218e, 0x1e31, -0x218e, 0x1e31, 0x2014, 0x1cca, 0x2014, 0x1cca, 0x1dc4, 0x1a8c, 0x1dc4, 0x1a8c, 0x1dc4, -0x1a8c, 0x1c90, 0x196a, 0x1c90, 0x196a, 0x1b97, 0x1883, 0x1b97, 0x1883, 0x19ba, 0x16b7, -0x19ba, 0x16b7, 0x16f0, 0x1400, 0x16f0, 0x1400, 0x1465, 0x1187, 0x1465, 0x1187, 0x11ca, -0xf00, 0x11ca, 0xf00, 0x11ca, 0xf00, 0x1136, 0xe81, 0x1136, 0xe81, 0x10e8, 0xe4c, -0x10e8, 0xe4c, 0xe7e, 0xbfd, 0xe7e, 0xbfd, 0xc9c, 0xa3a, 0xc9c, 0xa3a, 0xac7, -0x888, 0xac7, 0x888, 0xac7, 0x888, 0x8af, 0x697, 0x8af, 0x697, 0x77b, 0x58f, -0x77b, 0x58f, 0x6cd, 0x513, 0x6cd, 0x513, 0x54c, 0x3c6, 0x54c, 0x3c6, 0x3b0, -0x264, 0x3b0, 0x264, 0x272, 0x162, 0x272, 0x162, 0x272, 0x162, 0x98, 0xffc7, -0x98, 0xffc7, 0xfee6, 0xfe54, 0xfee6, 0xfe54, 0xfd10, 0xfcbf, 0xfd10, 0xfcbf, 0xfacf, -0xfabd, 0xfacf, 0xfabd, 0xf9e3, 0xfa0f, 0xf9e3, 0xfa0f, 0xf8ed, 0xf953, 0xf8ed, 0xf953, -0xf8ed, 0xf953, 0xf7d4, 0xf86f, 0xf7d4, 0xf86f, 0xf709, 0xf7d5, 0xf709, 0xf7d5, 0xf545, -0xf63b, 0xf545, 0xf63b, 0xf40f, 0xf528, 0xf40f, 0xf528, 0xf30c, 0xf443, 0xf30c, 0xf443, -0xf30c, 0xf443, 0xf1c0, 0xf30c, 0xf1c0, 0xf30c, 0xf0a2, 0xf1fb, 0xf0a2, 0xf1fb, 0xf12a, -0xf28a, 0xf12a, 0xf28a, 0xf285, 0xf3e5, 0xf285, 0xf3e5, 0xf2d6, 0xf431, 0xf2d6, 0xf431, -0xf382, 0xf4d4, 0xf382, 0xf4d4, 0xf382, 0xf4d4, 0xf3a5, 0xf4ea, 0xf3a5, 0xf4ea, 0xf3dd, -0xf512, 0xf3dd, 0xf512, 0xf605, 0xf72a, 0xf605, 0xf72a, 0xf7b9, 0xf8ce, 0xf7b9, 0xf8ce, -0xf88e, 0xf994, 0xf88e, 0xf994, 0xf985, 0xfa80, 0xf985, 0xfa80, 0xf985, 0xfa80, 0xf939, -0xfa2b, 0xf939, 0xfa2b, 0xfa57, 0xfb45, 0xfa57, 0xfb45, 0xfcef, 0xfdde, 0xfcef, 0xfdde, -0xfe3e, 0xff32, 0xfe3e, 0xff32, 0xfe41, 0xff40, 0xfe41, 0xff40, 0xfe41, 0xff40, 0xfdf8, -0xff07, 0xfdf8, 0xff07, 0xfdf9, 0xff1c, 0xfdf9, 0xff1c, 0xfdcf, 0xff0b, 0xfdcf, 0xff0b, -0xfdde, 0xff34, 0xfdde, 0xff34, 0xfcbe, 0xfe32, 0xfcbe, 0xfe32, 0xfbf1, 0xfd83, 0xfbf1, -0xfd83, 0xfbf1, 0xfd83, 0xfb6f, 0xfd1e, 0xfb6f, 0xfd1e, 0xfba1, 0xfd6d, 0xfba1, 0xfd6d, -0xfd1d, 0xff03, 0xfd1d, 0xff03, 0xfcd5, 0xfed1, 0xfcd5, 0xfed1, 0xfb80, 0xfd8d, 0xfb80, -0xfd8d, 0xfb60, 0xfd7a, 0xfb60, 0xfd7a, 0xfb60, 0xfd7a, 0xfd4a, 0xff6c, 0xfd4a, 0xff6c, -0xfe8d, 0xb1, 0xfe8d, 0xb1, 0xfea9, 0xc9, 0xfea9, 0xc9, 0xfcf0, 0xff08, 0xfcf0, -0xff08, 0xfb87, 0xfd91, 0xfb87, 0xfd91, 0xfb87, 0xfd91, 0xfcad, 0xfea6, 0xfcad, 0xfea6, -0xfd42, 0xff26, 0xfd42, 0xff26, 0xfdb3, 0xff80, 0xfdb3, 0xff80, 0xfe4d, 0x3, 0xfe4d, -0x3, 0xfec8, 0x66, 0xfec8, 0x66, 0xfedd, 0x65, 0xfedd, 0x65, 0xfedd, 0x65, -0xffca, 0x13f, 0xffca, 0x13f, 0x5f, 0x1c3, 0x5f, 0x1c3, 0xff5a, 0xb3, 0xff5a, -0xb3, 0xff52, 0xa4, 0xff52, 0xa4, 0xffb5, 0x104, 0xffb5, 0x104, 0x21, 0x174, -0x21, 0x174, 0x21, 0x174, 0x92, 0x1ee, 0x92, 0x1ee, 0xffbf, 0x128, 0xffbf, -0x128, 0xfdb5, 0xff30, 0xfdb5, 0xff30, 0xfb79, 0xfd09, 0xfb79, 0xfd09, 0xf8ba, 0xfa61, -0xf8ba, 0xfa61, 0xf8ba, 0xfa61, 0xf6e6, 0xf8a6, 0xf6e6, 0xf8a6, 0xf709, 0xf8e2, 0xf709, -0xf8e2, 0xf633, 0xf824, 0xf633, 0xf824, 0xf514, 0xf71b, 0xf514, 0xf71b, 0xf4b1, 0xf6cb, -0xf4b1, 0xf6cb, 0xf2ce, 0xf4f6, 0xf2ce, 0xf4f6, 0xf2ce, 0xf4f6, 0xf0bd, 0xf2ee, 0xf0bd, -0xf2ee, 0xefa5, 0xf1d9, 0xefa5, 0xf1d9, 0xeeb6, 0xf0e7, 0xeeb6, 0xf0e7, 0xed87, 0xefaf, -0xed87, 0xefaf, 0xec5f, 0xee78, 0xec5f, 0xee78, 0xec5f, 0xee78, 0xea80, 0xec85, 0xea80, -0xec85, 0xe90e, 0xeaf9, 0xe90e, 0xeaf9, 0xe96a, 0xeb37, 0xe96a, 0xeb37, 0xe8c5, 0xea71, -0xe8c5, 0xea71, 0xe94a, 0xead4, 0xe94a, 0xead4, 0xe9e4, 0xeb4a, 0xe9e4, 0xeb4a, 0xe9e4, -0xeb4a, 0xe9bc, 0xeaff, 0xe9bc, 0xeaff, 0xeadc, 0xebfe, 0xeadc, 0xebfe, 0xec24, 0xed28, -0xec24, 0xed28, 0xecad, 0xed99, 0xecad, 0xed99, 0xeb7f, 0xec56, 0xeb7f, 0xec56, 0xec66, -0xed2f, 0xec66, 0xed2f, 0xec66, 0xed2f, 0xee20, 0xeee0, 0xee20, 0xeee0, 0xf031, 0xf0f1, -0xf031, 0xf0f1, 0xf10b, 0xf1cf, 0xf10b, 0xf1cf, 0xef88, 0xf058, 0xef88, 0xf058, 0xef5e, -0xf03e, 0xef5e, 0xf03e, 0xef5e, 0xf03e, 0xef79, 0xf070, 0xef79, 0xf070, 0xf06a, 0xf17a, -0xf06a, 0xf17a, 0xf056, 0xf183, 0xf056, 0xf183, 0xefad, 0xf0f8, 0xefad, 0xf0f8, 0xee79, -0xefe2, 0xee79, 0xefe2, 0xedba, 0xef40, 0xedba, 0xef40, 0xedba, 0xef40, 0xee1b, 0xefbb, -0xee1b, 0xefbb, 0xedac, 0xef62, 0xedac, 0xef62, 0xed63, 0xef2a, 0xed63, 0xef2a, 0xeb0e, -0xece2, 0xeb0e, 0xece2, 0xea33, 0xec0c, 0xea33, 0xec0c, 0xec52, 0xee2a, 0xec52, 0xee2a, -0xec52, 0xee2a, 0xee03, 0xefd2, 0xee03, 0xefd2, 0xef23, 0xf0e3, 0xef23, 0xf0e3, 0xefea, -0xf195, 0xefea, 0xf195, 0xf049, 0xf1d8, 0xf049, 0xf1d8, 0xf1c0, 0xf32e, 0xf1c0, 0xf32e, -0xf1c0, 0xf32e, 0xf467, 0xf5af, 0xf467, 0xf5af, 0xf531, 0xf650, 0xf531, 0xf650, 0xf568, -0xf65c, 0xf568, 0xf65c, 0xf6b6, 0xf77e, 0xf6b6, 0xf77e, 0xf843, 0xf8df, 0xf843, 0xf8df, -0xfa1b, 0xfa8b, 0xfa1b, 0xfa8b, 0xfa1b, 0xfa8b, 0xfcc4, 0xfd0a, 0xfcc4, 0xfd0a, 0xfec5, -0xfee4, 0xfec5, 0xfee4, 0x7c, 0x78, 0x7c, 0x78, 0x2e3, 0x2bf, 0x2e3, 0x2bf, -0x371, 0x331, 0x371, 0x331, 0x3a1, 0x348, 0x3a1, 0x348, 0x3a1, 0x348, 0x48a, -0x41d, 0x48a, 0x41d, 0x4e2, 0x463, 0x4e2, 0x463, 0x5f4, 0x567, 0x5f4, 0x567, -0x776, 0x6dc, 0x776, 0x6dc, 0x846, 0x7a0, 0x846, 0x7a0, 0x846, 0x7a0, 0x8de, -0x82c, 0x8de, 0x82c, 0xa2c, 0x96f, 0xa2c, 0x96f, 0xa78, 0x9ae, 0xa78, 0x9ae, -0xa19, 0x93e, 0xa19, 0x93e, 0xb39, 0xa4c, 0xb39, 0xa4c, 0xb3a, 0xa36, 0xb3a, -0xa36, 0xb3a, 0xa36, 0xbba, 0xa9c, 0xbba, 0xa9c, 0xc09, 0xace, 0xc09, 0xace, -0xb0d, 0x9af, 0xb0d, 0x9af, 0xb67, 0x9e4, 0xb67, 0x9e4, 0xb4e, 0x9a1, 0xb4e, -0x9a1, 0xc16, 0xa3e, 0xc16, 0xa3e, 0xc16, 0xa3e, 0xe5b, 0xc54, 0xe5b, 0xc54, -0x10e6, 0xeb0, 0x10e6, 0xeb0, 0x1196, 0xf31, 0x1196, 0xf31, 0x119c, 0xf09, 0x119c, -0xf09, 0x125e, 0xf9f, 0x125e, 0xf9f, 0x125e, 0xf9f, 0x1318, 0x1030, 0x1318, 0x1030, -0x149e, 0x1190, 0x149e, 0x1190, 0x1476, 0x1149, 0x1476, 0x1149, 0x13f7, 0x10b0, 0x13f7, -0x10b0, 0x1401, 0x10a7, 0x1401, 0x10a7, 0x150f, 0x11a9, 0x150f, 0x11a9, 0x150f, 0x11a9, -0x15ce, 0x1263, 0x15ce, 0x1263, 0x14c8, 0x115f, 0x14c8, 0x115f, 0x130c, 0xfac, 0x130c, -0xfac, 0x10b0, 0xd60, 0x10b0, 0xd60, 0x10ad, 0xd74, 0x10ad, 0xd74, 0x10e6, 0xdc9, -0x10e6, 0xdc9, 0x10e6, 0xdc9, 0x1053, 0xd57, 0x1053, 0xd57, 0xf0d, 0xc36, 0xf0d, -0xc36, 0xc86, 0x9d8, 0xc86, 0x9d8, 0xbfb, 0x978, 0xbfb, 0x978, 0xc32, 0x9db, -0xc32, 0x9db, 0xc32, 0x9db, 0xace, 0x8a4, 0xace, 0x8a4, 0x928, 0x72a, 0x928, -0x72a, 0x7e1, 0x610, 0x7e1, 0x610, 0x5e3, 0x43c, 0x5e3, 0x43c, 0x488, 0x309, -0x488, 0x309, 0x42f, 0x2d7, 0x42f, 0x2d7, 0x42f, 0x2d7, 0x22a, 0xf5, 0x22a, -0xf5, 0x1c, 0xff09, 0x1c, 0xff09, 0xff9a, 0xfea6, 0xff9a, 0xfea6, 0xfe38, 0xfd62, -0xfe38, 0xfd62, 0xfde6, 0xfd2c, 0xfde6, 0xfd2c, 0xfe03, 0xfd64, 0xfe03, 0xfd64, 0xfe03, -0xfd64, 0xfc57, 0xfbd2, 0xfc57, 0xfbd2, 0xfc3e, 0xfbd2, 0xfc3e, 0xfbd2, 0xfe0c, 0xfdb9, -0xfe0c, 0xfdb9, 0xff34, 0xfefb, 0xff34, 0xfefb, 0xffb9, 0xff9b, 0xffb9, 0xff9b, 0xffb9, -0xff9b, 0x4e, 0x4b, 0x4e, 0x4b, 0xffd3, 0xffed, 0xffd3, 0xffed, 0xd, 0x44, -0xd, 0x44, 0x116, 0x16c, 0x116, 0x16c, 0x9d, 0x113, 0x9d, 0x113, 0x38, -0xce, 0x38, 0xce, 0x38, 0xce, 0xeb, 0x1a2, 0xeb, 0x1a2, 0xfa, 0x1d2, -0xfa, 0x1d2, 0x70, 0x167, 0x70, 0x167, 0x3a, 0x150, 0x3a, 0x150, 0xff40, -0x74, 0xff40, 0x74, 0xfed6, 0x26, 0xfed6, 0x26, 0xfed6, 0x26, 0xfdc9, 0xff32, -0xfdc9, 0xff32, 0xfbdd, 0xfd5b, 0xfbdd, 0xfd5b, 0xfb48, 0xfcda, 0xfb48, 0xfcda, 0xfacc, -0xfc6d, 0xfacc, 0xfc6d, 0xfa8c, 0xfc39, 0xfa8c, 0xfc39, 0xfa8c, 0xfc39, 0xfa9a, 0xfc4e, -0xfa9a, 0xfc4e, 0xfa7a, 0xfc33, 0xfa7a, 0xfc33, 0xf9bb, 0xfb74, 0xf9bb, 0xfb74, 0xf952, -0xfb08, 0xf952, 0xfb08, 0xf91b, 0xfac9, 0xf91b, 0xfac9, 0xf92c, 0xfad1, 0xf92c, 0xfad1, -0xf92c, 0xfad1, 0xf9aa, 0xfb43, 0xf9aa, 0xfb43, 0xf812, 0xf99c, 0xf812, 0xf99c, 0xf665, -0xf7de, 0xf665, 0xf7de, 0xf63d, 0xf7a4, 0xf63d, 0xf7a4, 0xf6c8, 0xf81b, 0xf6c8, 0xf81b, -0xf781, 0xf8bf, 0xf781, 0xf8bf, 0xf781, 0xf8bf, 0xf7c1, 0xf8e9, 0xf7c1, 0xf8e9, 0xf6de, -0xf7ef, 0xf6de, 0xf7ef, 0xf4cb, 0xf5c5, 0xf4cb, 0xf5c5, 0xf415, 0xf4f8, 0xf415, 0xf4f8, -0xf3c9, 0xf494, 0xf3c9, 0xf494, 0xf3c9, 0xf494, 0xf2d8, 0xf38b, 0xf2d8, 0xf38b, 0xf192, -0xf22b, 0xf192, 0xf22b, 0xefc9, 0xf049, 0xefc9, 0xf049, 0xf0b1, 0xf116, 0xf0b1, 0xf116, -0xf266, 0xf2af, 0xf266, 0xf2af, 0xf1f1, 0xf21d, 0xf1f1, 0xf21d, 0xf1f1, 0xf21d, 0xf19f, -0xf1ac, 0xf19f, 0xf1ac, 0xf2a9, 0xf297, 0xf2a9, 0xf297, 0xf415, 0xf3e2, 0xf415, 0xf3e2, -0xf59f, 0xf54a, 0xf59f, 0xf54a, 0xf6f1, 0xf679, 0xf6f1, 0xf679, 0xf6f1, 0xf679, 0xf67b, -0xf5de, 0xf67b, 0xf5de, 0xf73d, 0xf67a, 0xf73d, 0xf67a, 0xf9a2, 0xf8b9, 0xf9a2, 0xf8b9, -0xfb2c, 0xfa1c, 0xfb2c, 0xfa1c, 0xfd64, 0xfc2e, 0xfd64, 0xfc2e, 0xffa8, 0xfe4b, 0xffa8, -0xfe4b, 0xffa8, 0xfe4b, 0x30, 0xfeae, 0x30, 0xfeae, 0x15b, 0xffb4, 0x15b, 0xffb4, -0x45d, 0x293, 0x45d, 0x293, 0x5ec, 0x401, 0x5ec, 0x401, 0x7bc, 0x5b2, 0x7bc, -0x5b2, 0x9ff, 0x7d8, 0x9ff, 0x7d8, 0x9ff, 0x7d8, 0xb80, 0x93f, 0xb80, 0x93f, -0xeae, 0xc56, 0xeae, 0xc56, 0x1204, 0xf97, 0x1204, 0xf97, 0x13d6, 0x1156, 0x13d6, -0x1156, 0x14ec, 0x125d, 0x14ec, 0x125d, 0x14ec, 0x125d, 0x168d, 0x13f1, 0x168d, 0x13f1, -0x16ff, 0x1458, 0x16ff, 0x1458, 0x17cf, 0x1520, 0x17cf, 0x1520, 0x1923, 0x166d, 0x1923, -0x166d, 0x1939, 0x167f, 0x1939, 0x167f, 0x1aaf, 0x17f2, 0x1aaf, 0x17f2, 0x1aaf, 0x17f2, -0x1b80, 0x18c1, 0x1b80, 0x18c1, 0x1c67, 0x19a9, 0x1c67, 0x19a9, 0x1d87, 0x1acb, 0x1d87, -0x1acb, 0x1d55, 0x1a9c, 0x1d55, 0x1a9c, 0x1dcd, 0x1b1a, 0x1dcd, 0x1b1a, 0x1ebe, 0x1c12, -0x1ebe, 0x1c12, 0x1ebe, 0x1c12, 0x1e99, 0x1bf7, 0x1e99, 0x1bf7, 0x1d92, 0x1afb, 0x1d92, -0x1afb, 0x1d43, 0x1abb, 0x1d43, 0x1abb, 0x1c4e, 0x19d9, 0x1c4e, 0x19d9, 0x1caa, 0x1a4b, -0x1caa, 0x1a4b, 0x1caa, 0x1a4b, 0x1d96, 0x1b51, 0x1d96, 0x1b51, 0x1c5b, 0x1a34, 0x1c5b, -0x1a34, 0x1b8c, 0x1989, 0x1b8c, 0x1989, 0x1a94, 0x18b9, 0x1a94, 0x18b9, 0x18cc, 0x171e, -0x18cc, 0x171e, 0x175b, 0x15e0, 0x175b, 0x15e0, 0x175b, 0x15e0, 0x1739, 0x15f5, 0x1739, -0x15f5, 0x15e7, 0x14e0, 0x15e7, 0x14e0, 0x141e, 0x1358, 0x141e, 0x1358, 0x13a3, 0x1321, -0x13a3, 0x1321, 0x11a9, 0x116f, 0x11a9, 0x116f, 0xfa6, 0xfb6, 0xfa6, 0xfb6, 0xfa6, -0xfb6, 0xce1, 0xd3c, 0xce1, 0xd3c, 0x982, 0xa29, 0x982, 0xa29, 0x7c6, 0x8b8, -0x7c6, 0x8b8, 0x624, 0x761, 0x624, 0x761, 0x370, 0x4f5, 0x370, 0x4f5, 0x370, -0x4f5, 0xd8, 0x2a0, 0xd8, 0x2a0, 0xfeb2, 0xb9, 0xfeb2, 0xb9, 0xfb8c, 0xfdcd, -0xfb8c, 0xfdcd, 0xf96b, 0xfbe0, 0xf96b, 0xfbe0, 0xf6ed, 0xf98f, 0xf6ed, 0xf98f, 0xf2eb, -0xf5b4, 0xf2eb, 0xf5b4, 0xf2eb, 0xf5b4, 0xf0a8, 0xf390, 0xf0a8, 0xf390, 0xefc6, 0xf2c5, -0xefc6, 0xf2c5, 0xef17, 0xf226, 0xef17, 0xf226, 0xee8e, 0xf1a6, 0xee8e, 0xf1a6, 0xed94, -0xf0ae, 0xed94, 0xf0ae, 0xec56, 0xef6c, 0xec56, 0xef6c, 0xec56, 0xef6c, 0xecf7, 0xf004, -0xecf7, 0xf004, 0xed3c, 0xf03b, 0xed3c, 0xf03b, 0xebad, 0xee9a, 0xebad, 0xee9a, 0xeb0f, -0xede7, 0xeb0f, 0xede7, 0xeb12, 0xedd2, 0xeb12, 0xedd2, 0xeb12, 0xedd2, 0xeb3f, 0xede6, -0xeb3f, 0xede6, 0xec70, 0xeefd, 0xec70, 0xeefd, 0xee8b, 0xf0fe, 0xee8b, 0xf0fe, 0xef50, -0xf1a9, 0xef50, 0xf1a9, 0xf0ab, 0xf2ea, 0xf0ab, 0xf2ea, 0xf2cb, 0xf4f1, 0xf2cb, 0xf4f1, -0xf2cb, 0xf4f1, 0xf359, 0xf566, 0xf359, 0xf566, 0xf46b, 0xf65f, 0xf46b, 0xf65f, 0xf434, -0xf610, 0xf434, 0xf610, 0xf399, 0xf55c, 0xf399, 0xf55c, 0xf45d, 0xf607, 0xf45d, 0xf607, -0xf57f, 0xf710, 0xf57f, 0xf710, 0xf57f, 0xf710, 0xf761, 0xf8d5, 0xf761, 0xf8d5, 0xf93d, -0xfa93, 0xf93d, 0xfa93, 0xfa72, 0xfba8, 0xfa72, 0xfba8, 0xfbbc, 0xfccf, 0xfbbc, 0xfccf, -0xfece, 0xffba, 0xfece, 0xffba, 0xfece, 0xffba, 0x143, 0x206, 0x143, 0x206, 0x325, -0x3ba, 0x325, 0x3ba, 0x41a, 0x480, 0x41a, 0x480, 0x389, 0x3bc, 0x389, 0x3bc, -0x535, 0x534, 0x535, 0x534, 0x6c4, 0x68d, 0x6c4, 0x68d, 0x6c4, 0x68d, 0x753, -0x6e7, 0x753, 0x6e7, 0x8e8, 0x846, 0x8e8, 0x846, 0xb20, 0xa4b, 0xb20, 0xa4b, -0xc63, 0xb5e, 0xc63, 0xb5e, 0xdca, 0xc99, 0xdca, 0xc99, 0x1002, 0xeac, 0x1002, -0xeac, 0x1002, 0xeac, 0x1079, 0xf03, 0x1079, 0xf03, 0x1129, 0xf9b, 0x1129, 0xf9b, -0x11c7, 0x102a, 0x11c7, 0x102a, 0x1184, 0xfe2, 0x1184, 0xfe2, 0x1189, 0xfeb, 0x1189, -0xfeb, 0x1189, 0xfeb, 0x10dc, 0xf4c, 0x10dc, 0xf4c, 0xfab, 0xe33, 0xfab, 0xe33, -0xea0, 0xd4a, 0xea0, 0xd4a, 0xd3c, 0xc12, 0xd3c, 0xc12, 0xa85, 0x98e, 0xa85, -0x98e, 0x807, 0x74c, 0x807, 0x74c, 0x807, 0x74c, 0x620, 0x5a6, 0x620, 0x5a6, -0x3f0, 0x3bb, 0x3f0, 0x3bb, 0x1a6, 0x1ba, 0x1a6, 0x1ba, 0xfe83, 0xfee3, 0xfe83, -0xfee3, 0xfb03, 0xfbad, 0xfb03, 0xfbad, 0xf87c, 0xf96f, 0xf87c, 0xf96f, 0xf87c, 0xf96f, -0xf622, 0xf75b, 0xf622, 0xf75b, 0xf384, 0xf4fe, 0xf384, 0xf4fe, 0xf16d, 0xf323, 0xf16d, -0xf323, 0xee0e, 0xeff9, 0xee0e, 0xeff9, 0xeaa1, 0xecba, 0xeaa1, 0xecba, 0xeaa1, 0xecba, -0xe8e2, 0xeb20, 0xe8e2, 0xeb20, 0xe653, 0xe8ae, 0xe653, 0xe8ae, 0xe3d3, 0xe644, 0xe3d3, -0xe644, 0xe224, 0xe4a2, 0xe224, 0xe4a2, 0xe0a4, 0xe327, 0xe0a4, 0xe327, 0xe01d, 0xe29f, -0xe01d, 0xe29f, 0xe01d, 0xe29f, 0xe01d, 0xe299, 0xe01d, 0xe299, 0xdeb7, 0xe127, 0xdeb7, -0xe127, 0xdcb4, 0xdf15, 0xdcb4, 0xdf15, 0xddd0, 0xe020, 0xddd0, 0xe020, 0xdfde, 0xe21b, -0xdfde, 0xe21b, 0xe0f0, 0xe31a, 0xe0f0, 0xe31a, 0xe0f0, 0xe31a, 0xe2c7, 0xe4e0, 0xe2c7, -0xe4e0, 0xe3f7, 0xe5fe, 0xe3f7, 0xe5fe, 0xe4e1, 0xe6da, 0xe4e1, 0xe6da, 0xe670, 0xe85e, -0xe670, 0xe85e, 0xe790, 0xe975, 0xe790, 0xe975, 0xe790, 0xe975, 0xe8a6, 0xea85, 0xe8a6, -0xea85, 0xe9fe, 0xebdb, 0xe9fe, 0xebdb, 0xea89, 0xec64, 0xea89, 0xec64, 0xeb80, 0xed5d, -0xeb80, 0xed5d, 0xedde, 0xefbd, 0xedde, 0xefbd, 0xef4b, 0xf12b, 0xef4b, 0xf12b, 0xef4b, -0xf12b, 0xefb0, 0xf190, 0xefb0, 0xf190, 0xf004, 0xf1e3, 0xf004, 0xf1e3, 0xf0b4, 0xf28f, -0xf0b4, 0xf28f, 0xf229, 0xf3fc, 0xf229, 0xf3fc, 0xf32c, 0xf4f2, 0xf32c, 0xf4f2, 0xf32c, -0xf4f2, 0xf41c, 0xf5d0, 0xf41c, 0xf5d0, 0xf61c, 0xf7b8, 0xf61c, 0xf7b8, 0xf823, 0xf9a1, -0xf823, 0xf9a1, 0xf9e7, 0xfb43, 0xf9e7, 0xfb43, 0xfc76, 0xfda9, 0xfc76, 0xfda9, 0xfed9, -0xffdf, 0xfed9, 0xffdf, 0xfed9, 0xffdf, 0x25, 0xfa, 0x25, 0xfa, 0x219, 0x2b9, -0x219, 0x2b9, 0x3e8, 0x452, 0x3e8, 0x452, 0x525, 0x557, 0x525, 0x557, 0x6a3, -0x6a0, 0x6a3, 0x6a0, 0x725, 0x6ed, 0x725, 0x6ed, 0x725, 0x6ed, 0x898, 0x830, -0x898, 0x830, 0xb15, 0xa80, 0xb15, 0xa80, 0xcb2, 0xbf8, 0xcb2, 0xbf8, 0xd78, -0xc9f, 0xd78, 0xc9f, 0xe3f, 0xd4f, 0xe3f, 0xd4f, 0xe3f, 0xd4f, 0xee3, 0xde4, -0xee3, 0xde4, 0xe4f, 0xd4a, 0xe4f, 0xd4a, 0xe38, 0xd36, 0xe38, 0xd36, 0xd84, -0xc8c, 0xd84, 0xc8c, 0xc44, 0xb5d, 0xc44, 0xb5d, 0xbcb, 0xafd, 0xbcb, 0xafd, -0xbcb, 0xafd, 0xad6, 0xa27, 0xad6, 0xa27, 0x9e7, 0x959, 0x9e7, 0x959, 0x8d2, -0x869, 0x8d2, 0x869, 0x787, 0x745, 0x787, 0x745, 0x680, 0x663, 0x680, 0x663, -0x58c, 0x593, 0x58c, 0x593, 0x58c, 0x593, 0x301, 0x327, 0x301, 0x327, 0x60, -0xa2, 0x60, 0xa2, 0xff64, 0xffb9, 0xff64, 0xffb9, 0xfdb5, 0xfe18, 0xfdb5, 0xfe18, -0xfcab, 0xfd12, 0xfcab, 0xfd12, 0xfcab, 0xfd12, 0xfd31, 0xfd95, 0xfd31, 0xfd95, 0xfca2, -0xfcfa, 0xfca2, 0xfcfa, 0xfb70, 0xfbb3, 0xfb70, 0xfbb3, 0xfb71, 0xfb97, 0xfb71, 0xfb97, -0xfaf3, 0xfaf5, 0xfaf3, 0xfaf5, 0xfa67, 0xfa3e, 0xfa67, 0xfa3e, 0xfa67, 0xfa3e, 0xfa6d, -0xfa13, 0xfa6d, 0xfa13, 0xf997, 0xf908, 0xf997, 0xf908, 0xfa3a, 0xf974, 0xfa3a, 0xf974, -0xfc6c, 0xfb6d, 0xfc6c, 0xfb6d, 0xfdf2, 0xfcbb, 0xfdf2, 0xfcbb, 0xfea4, 0xfd35, 0xfea4, -0xfd35, 0xfea4, 0xfd35, 0xff64, 0xfdc1, 0xff64, 0xfdc1, 0xffc9, 0xfdf6, 0xffc9, 0xfdf6, -0xfff0, 0xfdf1, 0xfff0, 0xfdf1, 0x108, 0xfee4, 0x108, 0xfee4, 0x1ce, 0xff8a, 0x1ce, -0xff8a, 0x1ce, 0xff8a, 0x245, 0xffe8, 0x245, 0xffe8, 0x2ab, 0x3b, 0x2ab, 0x3b, -0x3f1, 0x176, 0x3f1, 0x176, 0x5ce, 0x34d, 0x5ce, 0x34d, 0x690, 0x40f, 0x690, -0x40f, 0x73e, 0x4c1, 0x73e, 0x4c1, 0x73e, 0x4c1, 0x79d, 0x529, 0x79d, 0x529, -0x7ed, 0x585, 0x7ed, 0x585, 0x818, 0x5bd, 0x818, 0x5bd, 0x81e, 0x5d2, 0x81e, -0x5d2, 0x72e, 0x4f2, 0x72e, 0x4f2, 0x66c, 0x43f, 0x66c, 0x43f, 0x66c, 0x43f, -0x741, 0x522, 0x741, 0x522, 0x6cd, 0x4bc, 0x6cd, 0x4bc, 0x751, 0x54c, 0x751, -0x54c, 0x7f7, 0x5fd, 0x7f7, 0x5fd, 0x6b4, 0x4c4, 0x6b4, 0x4c4, 0x6b4, 0x4c4, -0x5e4, 0x3fd, 0x5e4, 0x3fd, 0x64b, 0x46c, 0x64b, 0x46c, 0x73b, 0x564, 0x73b, -0x564, 0x7b3, 0x5e7, 0x7b3, 0x5e7, 0x8e3, 0x723, 0x8e3, 0x723, 0x91d, 0x76b, -0x91d, 0x76b, 0x91d, 0x76b, 0x96d, 0x7cd, 0x96d, 0x7cd, 0xa87, 0x8fd, 0xa87, -0x8fd, 0x9ab, 0x83c, 0x9ab, 0x83c, 0x8ea, 0x79b, 0x8ea, 0x79b, 0x8ff, 0x7d7, -0x8ff, 0x7d7, 0x8e5, 0x7e8, 0x8e5, 0x7e8, 0x8e5, 0x7e8, 0x88b, 0x7c0, 0x88b, -0x7c0, 0x81b, 0x785, 0x81b, 0x785, 0x6dc, 0x682, 0x6dc, 0x682, 0x59f, 0x585, -0x59f, 0x585, 0x45e, 0x486, 0x45e, 0x486, 0x45e, 0x486, 0x175, 0x1e1, 0x175, -0x1e1, 0xfea8, 0xff5a, 0xfea8, 0xff5a, 0xfc75, 0xfd6c, 0xfc75, 0xfd6c, 0xfa41, 0xfb7b, -0xfa41, 0xfb7b, 0xf893, 0xfa0e, 0xf893, 0xfa0e, 0xf744, 0xf8fb, 0xf744, 0xf8fb, 0xf744, -0xf8fb, 0xf57e, 0xf76b, 0xf57e, 0xf76b, 0xf460, 0xf67d, 0xf460, 0xf67d, 0xf48b, 0xf6d1, -0xf48b, 0xf6d1, 0xf39c, 0xf602, 0xf39c, 0xf602, 0xf233, 0xf4b1, 0xf233, 0xf4b1, 0xf0d4, -0xf361, 0xf0d4, 0xf361, 0xf0d4, 0xf361, 0xee97, 0xf12a, 0xee97, 0xf12a, 0xed19, 0xefa8, -0xed19, 0xefa8, 0xebea, 0xee6d, 0xebea, 0xee6d, 0xeb16, 0xed86, 0xeb16, 0xed86, 0xec24, -0xee77, 0xec24, 0xee77, 0xec24, 0xee77, 0xece1, 0xef13, 0xece1, 0xef13, 0xecd0, 0xeeda, -0xecd0, 0xeeda, 0xed7b, 0xef57, 0xed7b, 0xef57, 0xee90, 0xf03a, 0xee90, 0xf03a, 0xeefa, -0xf070, 0xeefa, 0xf070, 0xeded, 0xef2d, 0xeded, 0xef2d, 0xeded, 0xef2d, 0xeda2, 0xeea9, -0xeda2, 0xeea9, 0xeefa, 0xefc9, 0xeefa, 0xefc9, 0xefda, 0xf070, 0xefda, 0xf070, 0xf04d, -0xf0aa, 0xf04d, 0xf0aa, 0xf196, 0xf1bc, 0xf196, 0xf1bc, 0xf389, 0xf379, 0xf389, 0xf379, -0xf389, 0xf379, 0xf57d, 0xf538, 0xf57d, 0xf538, 0xf83e, 0xf7c5, 0xf83e, 0xf7c5, 0xfac5, -0xfa1a, 0xfac5, 0xfa1a, 0xfc30, 0xfb55, 0xfc30, 0xfb55, 0xfe44, 0xfd3a, 0xfe44, 0xfd3a, -0xfe44, 0xfd3a, 0x4e, 0xff16, 0x4e, 0xff16, 0x1c6, 0x62, 0x1c6, 0x62, 0x410, -0x281, 0x410, 0x281, 0x660, 0x4a8, 0x660, 0x4a8, 0x810, 0x630, 0x810, 0x630, -0xab5, 0x8af, 0xab5, 0x8af, 0xab5, 0x8af, 0xd87, 0xb5d, 0xd87, 0xb5d, 0xee9, -0xc9c, 0xee9, 0xc9c, 0x109e, 0xe31, 0x109e, 0xe31, 0x1341, 0x10b7, 0x1341, 0x10b7, -0x14a7, 0x1203, 0x14a7, 0x1203, 0x15ce, 0x1314, 0x15ce, 0x1314, 0x15ce, 0x1314, 0x1847, -0x1579, 0x1847, 0x1579, 0x1a39, 0x175e, 0x1a39, 0x175e, 0x1c2f, 0x1949, 0x1c2f, 0x1949, -0x1e0f, 0x1b24, 0x1e0f, 0x1b24, 0x1ece, 0x1be3, 0x1ece, 0x1be3, 0x1ece, 0x1be3, 0x1fc9, -0x1ce2, 0x1fc9, 0x1ce2, 0x2045, 0x1d67, 0x2045, 0x1d67, 0x1fb6, 0x1ce5, 0x1fb6, 0x1ce5, -0x1faf, 0x1cf0, 0x1faf, 0x1cf0, 0x200b, 0x1d62, 0x200b, 0x1d62, 0x1f1a, 0x1c89, 0x1f1a, -0x1c89, 0x1f1a, 0x1c89, 0x1e33, 0x1bbe, 0x1e33, 0x1bbe, 0x1e09, 0x1bb1, 0x1e09, 0x1bb1, -0x1d5b, 0x1b23, 0x1d5b, 0x1b23, 0x1cf3, 0x1adc, 0x1cf3, 0x1adc, 0x1c45, 0x1a50, 0x1c45, -0x1a50, 0x1c45, 0x1a50, 0x1ac2, 0x18ed, 0x1ac2, 0x18ed, 0x194f, 0x179c, 0x194f, 0x179c, -0x17e8, 0x1655, 0x17e8, 0x1655, 0x16b4, 0x1540, 0x16b4, 0x1540, 0x1624, 0x14ce, 0x1624, -0x14ce, 0x14c3, 0x138b, 0x14c3, 0x138b, 0x14c3, 0x138b, 0x1301, 0x11e4, 0x1301, 0x11e4, -0x1238, 0x1137, 0x1238, 0x1137, 0x1012, 0xf2b, 0x1012, 0xf2b, 0xcff, 0xc32, 0xcff, -0xc32, 0xb68, 0xab5, 0xb68, 0xab5, 0xaac, 0xa12, 0xaac, 0xa12, 0xaac, 0xa12, -0xa14, 0x993, 0xa14, 0x993, 0x9ec, 0x985, 0x9ec, 0x985, 0x9ae, 0x962, 0x9ae, -0x962, 0x995, 0x964, 0x995, 0x964, 0x987, 0x970, 0x987, 0x970, 0x987, 0x970, -0x813, 0x818, 0x813, 0x818, 0x719, 0x73a, 0x719, 0x73a, 0x67b, 0x6b7, 0x67b, -0x6b7, 0x4de, 0x534, 0x4de, 0x534, 0x3f1, 0x461, 0x3f1, 0x461, 0x2b7, 0x33e, -0x2b7, 0x33e, 0x2b7, 0x33e, 0x14b, 0x1e7, 0x14b, 0x1e7, 0x93, 0x141, 0x93, -0x141, 0xff52, 0x10, 0xff52, 0x10, 0xfdec, 0xfeb4, 0xfdec, 0xfeb4, 0xfd76, 0xfe46, -0xfd76, 0xfe46, 0xfcac, 0xfd7e, 0xfcac, 0xfd7e, 0xfcac, 0xfd7e, 0xfb1c, 0xfbec, 0xfb1c, -0xfbec, 0xfae8, 0xfbb2, 0xfae8, 0xfbb2, 0xfa9a, 0xfb59, 0xfa9a, 0xfb59, 0xf96c, 0xfa1d, -0xf96c, 0xfa1d, 0xf96c, 0xfa0c, 0xf96c, 0xfa0c, 0xf96c, 0xfa0c, 0xfa0a, 0xfa96, 0xfa0a, -0xfa96, 0xfa5a, 0xfad1, 0xfa5a, 0xfad1, 0xfb15, 0xfb75, 0xfb15, 0xfb75, 0xfc7a, 0xfcc5, -0xfc7a, 0xfcc5, 0xfd13, 0xfd4a, 0xfd13, 0xfd4a, 0xfd4b, 0xfd70, 0xfd4b, 0xfd70, 0xfd4b, -0xfd70, 0xfd65, 0xfd7c, 0xfd65, 0xfd7c, 0xfcf0, 0xfcfc, 0xfcf0, 0xfcfc, 0xfdd9, 0xfde0, -0xfdd9, 0xfde0, 0xff68, 0xff70, 0xff68, 0xff70, 0xffbb, 0xffc9, 0xffbb, 0xffc9, 0xffe0, -0xfffa, 0xffe0, 0xfffa, 0xffe0, 0xfffa, 0xffc1, 0xffed, 0xffc1, 0xffed, 0xff38, 0xff7c, -0xff38, 0xff7c, 0xff4a, 0xffac, 0xff4a, 0xffac, 0xfed1, 0xff55, 0xfed1, 0xff55, 0xfdb3, -0xfe5d, 0xfdb3, 0xfe5d, 0xfdb3, 0xfe5d, 0xfd32, 0xfe05, 0xfd32, 0xfe05, 0xfcdd, 0xfdd9, -0xfcdd, 0xfdd9, 0xfc3a, 0xfd60, 0xfc3a, 0xfd60, 0xfc48, 0xfd97, 0xfc48, 0xfd97, 0xfca5, -0xfe1a, 0xfca5, 0xfe1a, 0xfc7e, 0xfe17, 0xfc7e, 0xfe17, 0xfc7e, 0xfe17, 0xfc5d, 0xfe14, -0xfc5d, 0xfe14, 0xfbb5, 0xfd86, 0xfbb5, 0xfd86, 0xfb51, 0xfd34, 0xfb51, 0xfd34, 0xfb05, -0xfcf4, 0xfb05, 0xfcf4, 0xf9a7, 0xfb9a, 0xf9a7, 0xfb9a, 0xf94e, 0xfb3e, 0xf94e, 0xfb3e, -0xf94e, 0xfb3e, 0xfa0d, 0xfbf3, 0xfa0d, 0xfbf3, 0xf9b2, 0xfb87, 0xf9b2, 0xfb87, 0xfa23, -0xfbe1, 0xfa23, 0xfbe1, 0xfbb1, 0xfd54, 0xfbb1, 0xfd54, 0xfb74, 0xfcf6, 0xfb74, 0xfcf6, -0xfb74, 0xfcf6, 0xfb4c, 0xfcac, 0xfb4c, 0xfcac, 0xfc39, 0xfd74, 0xfc39, 0xfd74, 0xfc70, -0xfd85, 0xfc70, 0xfd85, 0xfc3a, 0xfd2b, 0xfc3a, 0xfd2b, 0xfc2e, 0xfcfc, 0xfc2e, 0xfcfc, -0xfca9, 0xfd57, 0xfca9, 0xfd57, 0xfca9, 0xfd57, 0xfe0a, 0xfe9c, 0xfe0a, 0xfe9c, 0xfec2, -0xff3d, 0xfec2, 0xff3d, 0xfe42, 0xfeaa, 0xfe42, 0xfeaa, 0xfe96, 0xfef0, 0xfe96, 0xfef0, -0xfe91, 0xfee3, 0xfe91, 0xfee3, 0xfce9, 0xfd38, 0xfce9, 0xfd38, 0xfce9, 0xfd38, 0xfb68, -0xfbb8, 0xfb68, 0xfbb8, 0xfa34, 0xfa89, 0xfa34, 0xfa89, 0xf876, 0xf8d3, 0xf876, 0xf8d3, -0xf738, 0xf79e, 0xf738, 0xf79e, 0xf5ed, 0xf65e, 0xf5ed, 0xf65e, 0xf5ed, 0xf65e, 0xf4d6, -0xf552, 0xf4d6, 0xf552, 0xf4b1, 0xf537, 0xf4b1, 0xf537, 0xf353, 0xf3e0, 0xf353, 0xf3e0, -0xf1b4, 0xf245, 0xf1b4, 0xf245, 0xf04b, 0xf0dc, 0xf04b, 0xf0dc, 0xee14, 0xeea2, 0xee14, -0xeea2, 0xee14, 0xeea2, 0xebde, 0xec64, 0xebde, 0xec64, 0xeb0b, 0xeb83, 0xeb0b, 0xeb83, -0xeb0c, 0xeb73, 0xeb0c, 0xeb73, 0xea43, 0xea95, 0xea43, 0xea95, 0xe9dc, 0xea16, 0xe9dc, -0xea16, 0xe928, 0xe947, 0xe928, 0xe947, 0xe928, 0xe947, 0xe86c, 0xe86f, 0xe86c, 0xe86f, -0xe8a6, 0xe88e, 0xe8a6, 0xe88e, 0xe885, 0xe853, 0xe885, 0xe853, 0xe928, 0xe8df, 0xe928, -0xe8df, 0xeac5, 0xea69, 0xeac5, 0xea69, 0xeac5, 0xea69, 0xebb9, 0xeb50, 0xebb9, 0xeb50, -0xecd3, 0xec64, 0xecd3, 0xec64, 0xeeb5, 0xee46, 0xeeb5, 0xee46, 0xefae, 0xef49, 0xefae, -0xef49, 0xef74, 0xef22, 0xef74, 0xef22, 0xef9a, 0xef63, 0xef9a, 0xef63, 0xef9a, 0xef63, -0xf032, 0xf01f, 0xf032, 0xf01f, 0xf09d, 0xf0b7, 0xf09d, 0xf0b7, 0xf149, 0xf198, 0xf149, -0xf198, 0xf16c, 0xf1f6, 0xf16c, 0xf1f6, 0xf118, 0xf1e3, 0xf118, 0xf1e3, 0xf10c, 0xf21c, -0xf10c, 0xf21c, 0xf10c, 0xf21c, 0xf0cb, 0xf221, 0xf0cb, 0xf221, 0xf0b0, 0xf24e, 0xf0b0, -0xf24e, 0xeffc, 0xf1e0, 0xeffc, 0xf1e0, 0xee7b, 0xf0a1, 0xee7b, 0xf0a1, 0xee1f, 0xf083, -0xee1f, 0xf083, 0xee1f, 0xf083, 0xeecc, 0xf167, 0xeecc, 0xf167, 0xeeb8, 0xf182, 0xeeb8, -0xf182, 0xeefa, 0xf1ea, 0xeefa, 0xf1ea, 0xf06d, 0xf378, 0xf06d, 0xf378, 0xf14a, 0xf465, -0xf14a, 0xf465, 0xf2b3, 0xf5d3, 0xf2b3, 0xf5d3, 0xf2b3, 0xf5d3, 0xf4b7, 0xf7d2, 0xf4b7, -0xf7d2, 0xf5ce, 0xf8d8, 0xf5ce, 0xf8d8, 0xf6ff, 0xf9ee, 0xf6ff, 0xf9ee, 0xf763, 0xfa2d, -0xf763, 0xfa2d, 0xf7ad, 0xfa4b, 0xf7ad, 0xfa4b, 0xf990, 0xfbfa, 0xf990, 0xfbfa, 0xf990, -0xfbfa, 0xfbcd, 0xfdfe, 0xfbcd, 0xfdfe, 0xfda4, 0xff98, 0xfda4, 0xff98, 0xffbb, 0x170, -0xffbb, 0x170, 0x22d, 0x3a1, 0x22d, 0x3a1, 0x3c5, 0x4f9, 0x3c5, 0x4f9, 0x3c5, -0x4f9, 0x5a2, 0x699, 0x5a2, 0x699, 0x75c, 0x818, 0x75c, 0x818, 0x86a, 0x8f0, -0x86a, 0x8f0, 0x8f4, 0x948, 0x8f4, 0x948, 0x879, 0x8a1, 0x879, 0x8a1, 0x88f, -0x88f, 0x88f, 0x88f, 0x88f, 0x88f, 0x8af, 0x88d, 0x8af, 0x88d, 0x8fb, 0x8bb, -0x8fb, 0x8bb, 0x9a8, 0x950, 0x9a8, 0x950, 0xa70, 0xa03, 0xa70, 0xa03, 0xa51, -0x9d2, 0xa51, 0x9d2, 0xa51, 0x9d2, 0xa09, 0x97a, 0xa09, 0x97a, 0xa38, 0x99a, -0xa38, 0x99a, 0x940, 0x893, 0x940, 0x893, 0x8e9, 0x82c, 0x8e9, 0x82c, 0x8a6, -0x7d8, 0x8a6, 0x7d8, 0x7d1, 0x6ef, 0x7d1, 0x6ef, 0x7d1, 0x6ef, 0x739, 0x641, -0x739, 0x641, 0x808, 0x6f6, 0x808, 0x6f6, 0x7bc, 0x68e, 0x7bc, 0x68e, 0x6a7, -0x559, 0x6a7, 0x559, 0x7a7, 0x637, 0x7a7, 0x637, 0x730, 0x59b, 0x730, 0x59b, -0x730, 0x59b, 0x7c4, 0x60b, 0x7c4, 0x60b, 0x8a6, 0x6c8, 0x8a6, 0x6c8, 0x840, -0x63d, 0x840, 0x63d, 0x93a, 0x715, 0x93a, 0x715, 0xa6e, 0x82a, 0xa6e, 0x82a, -0xa6e, 0x82a, 0xaf7, 0x898, 0xaf7, 0x898, 0xaa7, 0x832, 0xaa7, 0x832, 0xb26, -0x8a2, 0xb26, 0x8a2, 0xb2a, 0x89e, 0xb2a, 0x89e, 0xa8b, 0x800, 0xa8b, 0x800, -0xa76, 0x7f2, 0xa76, 0x7f2, 0xa76, 0x7f2, 0xb15, 0x8a0, 0xb15, 0x8a0, 0xbdb, -0x97f, 0xbdb, 0x97f, 0xb28, 0x8eb, 0xb28, 0x8eb, 0xabc, 0x8a7, 0xabc, 0x8a7, -0xada, 0x8f1, 0xada, 0x8f1, 0xaff, 0x948, 0xaff, 0x948, 0xaff, 0x948, 0x9ed, -0x86d, 0x9ed, 0x86d, 0x836, 0x6ee, 0x836, 0x6ee, 0x71c, 0x60e, 0x71c, 0x60e, -0x512, 0x43d, 0x512, 0x43d, 0x398, 0x2fb, 0x398, 0x2fb, 0x398, 0x2fb, 0x2f5, -0x28d, 0x2f5, 0x28d, 0x2d5, 0x29d, 0x2d5, 0x29d, 0x27b, 0x26e, 0x27b, 0x26e, -0x146, 0x15e, 0x146, 0x15e, 0xfc, 0x132, 0xfc, 0x132, 0xd1, 0x11c, 0xd1, -0x11c, 0xd1, 0x11c, 0xffd1, 0x2b, 0xffd1, 0x2b, 0xfed5, 0xff36, 0xfed5, 0xff36, -0xff64, 0xffc4, 0xff64, 0xffc4, 0x29, 0x83, 0x29, 0x83, 0xffd5, 0x21, 0xffd5, -0x21, 0x49, 0x83, 0x49, 0x83, 0x49, 0x83, 0x1ba, 0x1dd, 0x1ba, 0x1dd, -0x2e6, 0x2f1, 0x2e6, 0x2f1, 0x3de, 0x3cf, 0x3de, 0x3cf, 0x4e6, 0x4bc, 0x4e6, -0x4bc, 0x591, 0x54d, 0x591, 0x54d, 0x591, 0x54d, 0x6b6, 0x65b, 0x6b6, 0x65b, -0x6bc, 0x64c, 0x6bc, 0x64c, 0x6c9, 0x649, 0x6c9, 0x649, 0x6ea, 0x65e, 0x6ea, -0x65e, 0x5b3, 0x521, 0x5b3, 0x521, 0x60f, 0x57d, 0x60f, 0x57d, 0x60f, 0x57d, -0x570, 0x4e3, 0x570, 0x4e3, 0x451, 0x3d0, 0x451, 0x3d0, 0x348, 0x2d7, 0x348, -0x2d7, 0x1d9, 0x17f, 0x1d9, 0x17f, 0xf1, 0xb1, 0xf1, 0xb1, 0x9, 0xffe9, -0x9, 0xffe9, 0x9, 0xffe9, 0x38, 0x3a, 0x38, 0x3a, 0xfedc, 0xff03, 0xfedc, -0xff03, 0xfe55, 0xfea2, 0xfe55, 0xfea2, 0xfee3, 0xff57, 0xfee3, 0xff57, 0xfd77, 0xfe13, -0xfd77, 0xfe13, 0xfd77, 0xfe13, 0xfcce, 0xfd92, 0xfcce, 0xfd92, 0xfc50, 0xfd38, 0xfc50, -0xfd38, 0xfa01, 0xfb0e, 0xfa01, 0xfb0e, 0xf85c, 0xf98b, 0xf85c, 0xf98b, 0xf866, 0xf9b4, -0xf866, 0xf9b4, 0xf784, 0xf8ef, 0xf784, 0xf8ef, 0xf784, 0xf8ef, 0xf6c8, 0xf84e, 0xf6c8, -0xf84e, 0xf601, 0xf79e, 0xf601, 0xf79e, 0xf49f, 0xf652, 0xf49f, 0xf652, 0xf479, 0xf63f, -0xf479, 0xf63f, 0xf444, 0xf61b, 0xf444, 0xf61b, 0xf3ab, 0xf591, 0xf3ab, 0xf591, 0xf3ab, -0xf591, 0xf34e, 0xf542, 0xf34e, 0xf542, 0xf20f, 0xf410, 0xf20f, 0xf410, 0xf11d, 0xf329, -0xf11d, 0xf329, 0xf0f0, 0xf307, 0xf0f0, 0xf307, 0xf060, 0xf280, 0xf060, 0xf280, 0xf060, -0xf280, 0xf0da, 0xf303, 0xf0da, 0xf303, 0xf143, 0xf373, 0xf143, 0xf373, 0xf1cd, 0xf402, -0xf1cd, 0xf402, 0xf323, 0xf55c, 0xf323, 0xf55c, 0xf378, 0xf5b2, 0xf378, 0xf5b2, 0xf3da, -0xf612, 0xf3da, 0xf612, 0xf3da, 0xf612, 0xf513, 0xf745, 0xf513, 0xf745, 0xf638, 0xf861, -0xf638, 0xf861, 0xf6a2, 0xf8bc, 0xf6a2, 0xf8bc, 0xf806, 0xfa0d, 0xf806, 0xfa0d, 0xfa1e, -0xfc0b, 0xfa1e, 0xfc0b, 0xfaf0, 0xfcbe, 0xfaf0, 0xfcbe, 0xfaf0, 0xfcbe, 0xfc14, 0xfdbc, -0xfc14, 0xfdbc, 0xfe18, 0xff92, 0xfe18, 0xff92, 0xff1c, 0x63, 0xff1c, 0x63, 0xffa3, -0xae, 0xffa3, 0xae, 0xc9, 0x193, 0xc9, 0x193, 0xc9, 0x193, 0x260, 0x2e2, -0x260, 0x2e2, 0x47b, 0x4b0, 0x47b, 0x4b0, 0x75d, 0x73e, 0x75d, 0x73e, 0xa79, -0xa03, 0xa79, 0xa03, 0xc57, 0xb85, 0xc57, 0xb85, 0xe70, 0xd3f, 0xe70, 0xd3f, -0xe70, 0xd3f, 0x10a8, 0xf17, 0x10a8, 0xf17, 0x11bd, 0xfcb, 0x11bd, 0xfcb, 0x1282, -0x102e, 0x1282, 0x102e, 0x124c, 0xf98, 0x124c, 0xf98, 0x1325, 0x1014, 0x1325, 0x1014, -0x14e4, 0x1178, 0x14e4, 0x1178, 0x14e4, 0x1178, 0x158f, 0x11cc, 0x158f, 0x11cc, 0x16e1, -0x12cc, 0x16e1, 0x12cc, 0x1852, 0x13f1, 0x1852, 0x13f1, 0x1946, 0x149e, 0x1946, 0x149e, -0x1a37, 0x1550, 0x1a37, 0x1550, 0x1a37, 0x1550, 0x1a77, 0x1556, 0x1a77, 0x1556, 0x1a19, -0x14c7, 0x1a19, 0x14c7, 0x1a0f, 0x1494, 0x1a0f, 0x1494, 0x1ab5, 0x1518, 0x1ab5, 0x1518, -0x1afd, 0x1546, 0x1afd, 0x1546, 0x1b42, 0x1579, 0x1b42, 0x1579, 0x1b42, 0x1579, 0x1b14, -0x1541, 0x1b14, 0x1541, 0x19ef, 0x141a, 0x19ef, 0x141a, 0x1962, 0x1392, 0x1962, 0x1392, -0x18d4, 0x1312, 0x18d4, 0x1312, 0x17d4, 0x1228, 0x17d4, 0x1228, 0x17bf, 0x1230, 0x17bf, -0x1230, 0x17bf, 0x1230, 0x17f3, 0x1288, 0x17f3, 0x1288, 0x16a7, 0x1168, 0x16a7, 0x1168, -0x1603, 0x10f7, 0x1603, 0x10f7, 0x162e, 0x115c, 0x162e, 0x115c, 0x1596, 0x1104, 0x1596, -0x1104, 0x1596, 0x1104, 0x14d1, 0x1086, 0x14d1, 0x1086, 0x12be, 0xec0, 0x12be, 0xec0, -0x10ff, 0xd54, 0x10ff, 0xd54, 0x1040, 0xced, 0x1040, 0xced, 0xe2d, 0xb36, 0xe2d, -0xb36, 0xb52, 0x8bc, 0xb52, 0x8bc, 0xb52, 0x8bc, 0x99e, 0x76c, 0x99e, 0x76c, -0x870, 0x6a4, 0x870, 0x6a4, 0x72b, 0x5c7, 0x72b, 0x5c7, 0x502, 0x407, 0x502, -0x407, 0x272, 0x1e0, 0x272, 0x1e0, 0x272, 0x1e0, 0x162, 0x137, 0x162, 0x137, -0xfec9, 0xff03, 0xfec9, 0xff03, 0xfc09, 0xfca6, 0xfc09, 0xfca6, 0xfb44, 0xfc3e, 0xfb44, -0xfc3e, 0xf9fc, 0xfb50, 0xf9fc, 0xfb50, 0xf7f8, 0xf9a0, 0xf7f8, 0xf9a0, 0xf7f8, 0xf9a0, -0xf71c, 0xf912, 0xf71c, 0xf912, 0xf7a3, 0xf9df, 0xf7a3, 0xf9df, 0xf6ba, 0xf935, 0xf6ba, -0xf935, 0xf626, 0xf8d9, 0xf626, 0xf8d9, 0xf60f, 0xf8f2, 0xf60f, 0xf8f2, 0xf539, 0xf844, -0xf539, 0xf844, 0xf539, 0xf844, 0xf557, 0xf883, 0xf557, 0xf883, 0xf5d0, 0xf914, 0xf5d0, -0xf914, 0xf5e3, 0xf939, 0xf5e3, 0xf939, 0xf5a0, 0xf901, 0xf5a0, 0xf901, 0xf5ce, 0xf933, -0xf5ce, 0xf933, 0xf5ce, 0xf933, 0xf5c6, 0xf92a, 0xf5c6, 0xf92a, 0xf5f7, 0xf954, 0xf5f7, -0xf954, 0xf6a7, 0xf9fa, 0xf6a7, 0xf9fa, 0xf6fd, 0xfa3f, 0xf6fd, 0xfa3f, 0xf7b8, 0xfae8, -0xf7b8, 0xfae8, 0xf877, 0xfb91, 0xf877, 0xfb91, 0xf877, 0xfb91, 0xf8f4, 0xfbf5, 0xf8f4, -0xfbf5, 0xf928, 0xfc0e, 0xf928, 0xfc0e, 0xf985, 0xfc4e, 0xf985, 0xfc4e, 0xf9f9, 0xfca3, -0xf9f9, 0xfca3, 0xfafe, 0xfd86, 0xfafe, 0xfd86, 0xfc23, 0xfe88, 0xfc23, 0xfe88, 0xfc23, -0xfe88, 0xfbb5, 0xfdf6, 0xfbb5, 0xfdf6, 0xfc15, 0xfe30, 0xfc15, 0xfe30, 0xfca7, 0xfe99, -0xfca7, 0xfe99, 0xfceb, 0xfeb3, 0xfceb, 0xfeb3, 0xfe99, 0x35, 0xfe99, 0x35, 0xfe99, -0x35, 0xffa2, 0x111, 0xffa2, 0x111, 0x60, 0x19f, 0x60, 0x19f, 0x18d, 0x29b, -0x18d, 0x29b, 0x28e, 0x36a, 0x28e, 0x36a, 0x363, 0x40c, 0x363, 0x40c, 0x46d, -0x4e3, 0x46d, 0x4e3, 0x46d, 0x4e3, 0x5e3, 0x626, 0x5e3, 0x626, 0x6f6, 0x707, -0x6f6, 0x707, 0x79d, 0x77f, 0x79d, 0x77f, 0x7fc, 0x7b0, 0x7fc, 0x7b0, 0x8a3, -0x82e, 0x8a3, 0x82e, 0x95c, 0x8c2, 0x95c, 0x8c2, 0x95c, 0x8c2, 0x940, 0x886, -0x940, 0x886, 0x925, 0x851, 0x925, 0x851, 0x9ce, 0x8e8, 0x9ce, 0x8e8, 0x951, -0x85f, 0x951, 0x85f, 0x745, 0x64f, 0x745, 0x64f, 0x745, 0x64f, 0x5bd, 0x4cb, -0x5bd, 0x4cb, 0x523, 0x43d, 0x523, 0x43d, 0x469, 0x396, 0x469, 0x396, 0x26a, -0x1b3, 0x26a, 0x1b3, 0xd0, 0x3a, 0xd0, 0x3a, 0xffa6, 0xff39, 0xffa6, 0xff39, -0xffa6, 0xff39, 0xfd98, 0xfd58, 0xfd98, 0xfd58, 0xfb81, 0xfb73, 0xfb81, 0xfb73, 0xf957, -0xf97e, 0xf957, 0xf97e, 0xf681, 0xf6de, 0xf681, 0xf6de, 0xf2a5, 0xf339, 0xf2a5, 0xf339, -0xf012, 0xf0dc, 0xf012, 0xf0dc, 0xf012, 0xf0dc, 0xee5b, 0xef59, 0xee5b, 0xef59, 0xeb69, -0xec99, 0xeb69, 0xec99, 0xe92b, 0xea87, 0xe92b, 0xea87, 0xe6ee, 0xe871, 0xe6ee, 0xe871, -0xe4ad, 0xe653, 0xe4ad, 0xe653, 0xe4ad, 0xe653, 0xe388, 0xe549, 0xe388, 0xe549, 0xe1fc, -0xe3d2, 0xe1fc, 0xe3d2, 0xe0c0, 0xe2a4, 0xe0c0, 0xe2a4, 0xe01e, 0xe20a, 0xe01e, 0xe20a, -0xdfa3, 0xe190, 0xdfa3, 0xe190, 0xdfa7, 0xe190, 0xdfa7, 0xe190, 0xdfa7, 0xe190, 0xe00e, -0xe1ee, 0xe00e, 0xe1ee, 0xe0b5, 0xe288, 0xe0b5, 0xe288, 0xe161, 0xe324, 0xe161, 0xe324, -0xe3cc, 0xe57c, 0xe3cc, 0xe57c, 0xe6ac, 0xe847, 0xe6ac, 0xe847, 0xe856, 0xe9dd, 0xe856, -0xe9dd, 0xe856, 0xe9dd, 0xea4a, 0xebbd, 0xea4a, 0xebbd, 0xeb5c, 0xecbc, 0xeb5c, 0xecbc, -0xebae, 0xecfd, 0xebae, 0xecfd, 0xec47, 0xed87, 0xec47, 0xed87, 0xec8c, 0xedbf, 0xec8c, -0xedbf, 0xec8c, 0xedbf, 0xecd0, 0xedf9, 0xecd0, 0xedf9, 0xed14, 0xee35, 0xed14, 0xee35, -0xed2f, 0xee4a, 0xed2f, 0xee4a, 0xee32, 0xef48, 0xee32, 0xef48, 0xefe4, 0xf0f7, 0xefe4, -0xf0f7, 0xf177, 0xf288, 0xf177, 0xf288, 0xf177, 0xf288, 0xf2e3, 0xf3f1, 0xf2e3, 0xf3f1, -0xf468, 0xf571, 0xf468, 0xf571, 0xf616, 0xf719, 0xf616, 0xf719, 0xf744, 0xf840, 0xf744, -0xf840, 0xf957, 0xfa48, 0xf957, 0xfa48, 0xfb34, 0xfc17, 0xfb34, 0xfc17, 0xfb34, 0xfc17, -0xfc00, 0xfcd2, 0xfc00, 0xfcd2, 0xfda3, 0xfe60, 0xfda3, 0xfe60, 0xff63, 0x8, 0xff63, -0x8, 0x18b, 0x215, 0x18b, 0x215, 0x38e, 0x3fb, 0x38e, 0x3fb, 0x38e, 0x3fb, -0x54b, 0x599, 0x54b, 0x599, 0x79c, 0x7ca, 0x79c, 0x7ca, 0x985, 0x994, 0x985, -0x994, 0xaa6, 0xa97, 0xaa6, 0xa97, 0xba3, 0xb77, 0xba3, 0xb77, 0xd62, 0xd1e, -0xd62, 0xd1e, 0xd62, 0xd1e, 0xf74, 0xf1c, 0xf74, 0xf1c, 0x106e, 0x1006, 0x106e, -0x1006, 0xfe6, 0xf75, 0xfe6, 0xf75, 0x1004, 0xf91, 0x1004, 0xf91, 0x100e, 0xfa0, -0x100e, 0xfa0, 0xf62, 0xeff, 0xf62, 0xeff, 0xf62, 0xeff, 0x1047, 0xff8, 0x1047, -0xff8, 0x10a5, 0x106f, 0x10a5, 0x106f, 0x102b, 0x1016, 0x102b, 0x1016, 0xfc6, 0xfd6, -0xfc6, 0xfd6, 0xf2d, 0xf66, 0xf2d, 0xf66, 0xf2d, 0xf66, 0xe89, 0xeef, 0xe89, -0xeef, 0xca2, 0xd36, 0xca2, 0xd36, 0xa2b, 0xaee, 0xa2b, 0xaee, 0x7e9, 0x8da, -0x7e9, 0x8da, 0x69b, 0x7b7, 0x69b, 0x7b7, 0x595, 0x6d9, 0x595, 0x6d9, 0x595, -0x6d9, 0x2d7, 0x43d, 0x2d7, 0x43d, 0xffb4, 0x136, 0xffb4, 0x136, 0xfdee, 0xff85, -0xfdee, 0xff85, 0xfcfc, 0xfea0, 0xfcfc, 0xfea0, 0xfbb4, 0xfd5d, 0xfbb4, 0xfd5d, 0xfa75, -0xfc1b, 0xfa75, 0xfc1b, 0xfa75, 0xfc1b, 0xf8b7, 0xfa52, 0xf8b7, 0xfa52, 0xf6ed, 0xf874, -0xf6ed, 0xf874, 0xf69e, 0xf80a, 0xf69e, 0xf80a, 0xf71a, 0xf865, 0xf71a, 0xf865, 0xf7bd, -0xf8e0, 0xf7bd, 0xf8e0, 0xf7bd, 0xf8e0, 0xf82e, 0xf925, 0xf82e, 0xf925, 0xf88b, 0xf953, -0xf88b, 0xf953, 0xf8e9, 0xf97d, 0xf8e9, 0xf97d, 0xf960, 0xf9c1, 0xf960, 0xf9c1, 0xf986, -0xf9b4, 0xf986, 0xf9b4, 0xf9ec, 0xf9e7, 0xf9ec, 0xf9e7, 0xf9ec, 0xf9e7, 0xfa9f, 0xfa69, -0xfa9f, 0xfa69, 0xfae8, 0xfa83, 0xfae8, 0xfa83, 0xfc89, 0xfbf7, 0xfc89, 0xfbf7, 0xfdd6, -0xfd1c, 0xfdd6, 0xfd1c, 0xfe8c, 0xfdac, 0xfe8c, 0xfdac, 0xfe8c, 0xfdac, 0xff8f, 0xfe8d, -0xff8f, 0xfe8d, 0xff12, 0xfdf2, 0xff12, 0xfdf2, 0xfee4, 0xfda8, 0xfee4, 0xfda8, 0xff13, -0xfdbe, 0xff13, 0xfdbe, 0xfe8d, 0xfd21, 0xfe8d, 0xfd21, 0xfee7, 0xfd65, 0xfee7, 0xfd65, -0xfee7, 0xfd65, 0xff8e, 0xfdf7, 0xff8e, 0xfdf7, 0x4, 0xfe5a, 0x4, 0xfe5a, 0xf4, -0xff35, 0xf4, 0xff35, 0x1db, 0x9, 0x1db, 0x9, 0x2e5, 0xfe, 0x2e5, 0xfe, -0x2b0, 0xb5, 0x2b0, 0xb5, 0x2b0, 0xb5, 0x2c7, 0xb7, 0x2c7, 0xb7, 0x49a, -0x276, 0x49a, 0x276, 0x479, 0x242, 0x479, 0x242, 0x44c, 0x204, 0x44c, 0x204, -0x4f5, 0x29d, 0x4f5, 0x29d, 0x4f5, 0x29d, 0x635, 0x3d1, 0x635, 0x3d1, 0x76c, -0x500, 0x76c, 0x500, 0x73d, 0x4cf, 0x73d, 0x4cf, 0x8c3, 0x658, 0x8c3, 0x658, -0x9da, 0x779, 0x9da, 0x779, 0xa9a, 0x84a, 0xa9a, 0x84a, 0xa9a, 0x84a, 0xb26, -0x8f0, 0xb26, 0x8f0, 0xaff, 0x8eb, 0xaff, 0x8eb, 0xc6f, 0xa85, 0xc6f, 0xa85, -0xcfe, 0xb47, 0xcfe, 0xb47, 0xcb8, 0xb3d, 0xcb8, 0xb3d, 0xc18, 0xae0, 0xc18, -0xae0, 0xc18, 0xae0, 0xb15, 0xa27, 0xb15, 0xa27, 0x846, 0x7a8, 0x846, 0x7a8, -0x5b1, 0x566, 0x5b1, 0x566, 0x5b0, 0x5bd, 0x5b0, 0x5bd, 0x410, 0x477, 0x410, -0x477, 0x410, 0x477, 0x174, 0x234, 0x174, 0x234, 0xfef6, 0xf, 0xfef6, 0xf, -0xfd7b, 0xfeeb, 0xfd7b, 0xfeeb, 0xfcaa, 0xfe6c, 0xfcaa, 0xfe6c, 0xfb9a, 0xfda9, 0xfb9a, -0xfda9, 0xf9e7, 0xfc3d, 0xf9e7, 0xfc3d, 0xf9e7, 0xfc3d, 0xf68d, 0xf922, 0xf68d, 0xf922, -0xf4cb, 0xf797, 0xf4cb, 0xf797, 0xf425, 0xf720, 0xf425, 0xf720, 0xf300, 0xf621, 0xf300, -0xf621, 0xf151, 0xf48f, 0xf151, 0xf48f, 0xeff7, 0xf349, 0xeff7, 0xf349, 0xeff7, 0xf349, -0xee87, 0xf1e5, 0xee87, 0xf1e5, 0xecca, 0xf02c, 0xecca, 0xf02c, 0xed3c, 0xf09a, 0xed3c, -0xf09a, 0xed32, 0xf086, 0xed32, 0xf086, 0xecff, 0xf043, 0xecff, 0xf043, 0xecff, 0xf043, -0xed18, 0xf047, 0xed18, 0xf047, 0xed43, 0xf058, 0xed43, 0xf058, 0xee8d, 0xf184, 0xee8d, -0xf184, 0xee40, 0xf116, 0xee40, 0xf116, 0xee8d, 0xf140, 0xee8d, 0xf140, 0xefcf, 0xf25b, -0xefcf, 0xf25b, 0xefcf, 0xf25b, 0xf061, 0xf2c3, 0xf061, 0xf2c3, 0xf142, 0xf378, 0xf142, -0xf378, 0xf297, 0xf49e, 0xf297, 0xf49e, 0xf435, 0xf60b, 0xf435, 0xf60b, 0xf554, 0xf6f4, -0xf554, 0xf6f4, 0xf710, 0xf878, 0xf710, 0xf878, 0xf710, 0xf878, 0xf940, 0xfa6d, 0xf940, -0xfa6d, 0xfc78, 0xfd65, 0xfc78, 0xfd65, 0xff94, 0x3d, 0xff94, 0x3d, 0x13a, 0x19a, -0x13a, 0x19a, 0x367, 0x37a, 0x367, 0x37a, 0x367, 0x37a, 0x502, 0x4c4, 0x502, -0x4c4, 0x753, 0x6bf, 0x753, 0x6bf, 0x98f, 0x8a2, 0x98f, 0x8a2, 0xa46, 0x8fd, -0xa46, 0x8fd, 0xc25, 0xa7e, 0xc25, 0xa7e, 0xe64, 0xc5e, 0xe64, 0xc5e, 0xe64, -0xc5e, 0xfcd, 0xd68, 0xfcd, 0xd68, 0x1210, 0xf4e, 0x1210, 0xf4e, 0x160b, 0x12ee, -0x160b, 0x12ee, 0x1890, 0x151d, 0x1890, 0x151d, 0x196b, 0x15a6, 0x196b, 0x15a6, 0x1b13, -0x1703, 0x1b13, 0x1703, 0x1b13, 0x1703, 0x1c4b, 0x17f8, 0x1c4b, 0x17f8, 0x1bf3, 0x1765, -0x1bf3, 0x1765, 0x1c15, 0x1756, 0x1c15, 0x1756, 0x1d44, 0x185e, 0x1d44, 0x185e, 0x1dda, -0x18d7, 0x1dda, 0x18d7, 0x1dda, 0x18d7, 0x1dd6, 0x18c1, 0x1dd6, 0x18c1, 0x1dc9, 0x18ad, -0x1dc9, 0x18ad, 0x1ebb, 0x19a2, 0x1ebb, 0x19a2, 0x1f5b, 0x1a4e, 0x1f5b, 0x1a4e, 0x1f45, -0x1a4d, 0x1f45, 0x1a4d, 0x1ee0, 0x1a05, 0x1ee0, 0x1a05, 0x1ee0, 0x1a05, 0x1dc4, 0x190c, -0x1dc4, 0x190c, 0x1d0f, 0x1880, 0x1d0f, 0x1880, 0x1bbc, 0x175b, 0x1bbc, 0x175b, 0x1a44, -0x1612, 0x1a44, 0x1612, 0x1868, 0x1469, 0x1868, 0x1469, 0x15f6, 0x1229, 0x15f6, 0x1229, -0x15f6, 0x1229, 0x139c, 0x1002, 0x139c, 0x1002, 0x11bf, 0xe56, 0x11bf, 0xe56, 0x112f, -0xdf7, 0x112f, 0xdf7, 0xfdc, 0xcd2, 0xfdc, 0xcd2, 0xe7b, 0xb9d, 0xe7b, 0xb9d, -0xe7b, 0xb9d, 0xd2f, 0xa7a, 0xd2f, 0xa7a, 0xc31, 0x9a3, 0xc31, 0x9a3, 0xbc0, -0x958, 0xbc0, 0x958, 0xa09, 0x7c5, 0xa09, 0x7c5, 0x91c, 0x6fb, 0x91c, 0x6fb, -0x8b3, 0x6b6, 0x8b3, 0x6b6, 0x8b3, 0x6b6, 0x838, 0x65e, 0x838, 0x65e, 0x7e7, -0x632, 0x7e7, 0x632, 0x7f0, 0x662, 0x7f0, 0x662, 0x817, 0x6b1, 0x817, 0x6b1, -0x69b, 0x560, 0x69b, 0x560, 0x542, 0x435, 0x542, 0x435, 0x542, 0x435, 0x471, -0x393, 0x471, 0x393, 0x394, 0x2e8, 0x394, 0x2e8, 0x1ed, 0x174, 0x1ed, 0x174, -0x72, 0x2d, 0x72, 0x2d, 0xff26, 0xff16, 0xff26, 0xff16, 0xff26, 0xff16, 0xfcae, -0xfcd3, 0xfcae, 0xfcd3, 0xfc7d, 0xfcd4, 0xfc7d, 0xfcd4, 0xfccd, 0xfd54, 0xfccd, 0xfd54, -0xfc4b, 0xfcff, 0xfc4b, 0xfcff, 0xfc5b, 0xfd37, 0xfc5b, 0xfd37, 0xfca2, 0xfda3, 0xfca2, -0xfda3, 0xfca2, 0xfda3, 0xfdd2, 0xfeef, 0xfdd2, 0xfeef, 0xfef5, 0x2a, 0xfef5, 0x2a, -0xfff9, 0x13f, 0xfff9, 0x13f, 0x83, 0x1d3, 0x83, 0x1d3, 0x1cc, 0x320, 0x1cc, -0x320, 0x31a, 0x46c, 0x31a, 0x46c, 0x31a, 0x46c, 0x3ab, 0x4f5, 0x3ab, 0x4f5, -0x5ff, 0x73d, 0x5ff, 0x73d, 0x73c, 0x86a, 0x73c, 0x86a, 0x69e, 0x7ba, 0x69e, -0x7ba, 0x6d7, 0x7e0, 0x6d7, 0x7e0, 0x6d7, 0x7e0, 0x771, 0x867, 0x771, 0x867, -0x7d5, 0x8b8, 0x7d5, 0x8b8, 0x7a1, 0x875, 0x7a1, 0x875, 0x73a, 0x801, 0x73a, -0x801, 0x769, 0x829, 0x769, 0x829, 0x6e8, 0x7a6, 0x6e8, 0x7a6, 0x6e8, 0x7a6, -0x665, 0x726, 0x665, 0x726, 0x6a7, 0x772, 0x6a7, 0x772, 0x65d, 0x736, 0x65d, -0x736, 0x6cb, 0x7b9, 0x6cb, 0x7b9, 0x749, 0x852, 0x749, 0x852, 0x749, 0x852, -0x61c, 0x742, 0x61c, 0x742, 0x4a2, 0x5eb, 0x4a2, 0x5eb, 0x3b8, 0x525, 0x3b8, -0x525, 0x24f, 0x3e1, 0x24f, 0x3e1, 0xfff5, 0x1ac, 0xfff5, 0x1ac, 0xfe5d, 0x38, -0xfe5d, 0x38, 0xfe5d, 0x38, 0xfcf3, 0xfef0, 0xfcf3, 0xfef0, 0xfb2c, 0xfd47, 0xfb2c, -0xfd47, 0xfa2d, 0xfc62, 0xfa2d, 0xfc62, 0xfa00, 0xfc49, 0xfa00, 0xfc49, 0xfa62, 0xfcba, -0xfa62, 0xfcba, 0xf9ad, 0xfc0f, 0xf9ad, 0xfc0f, 0xf9ad, 0xfc0f, 0xf89b, 0xfb00, 0xf89b, -0xfb00, 0xf7c7, 0xfa2a, 0xf7c7, 0xfa2a, 0xf695, 0xf8ef, 0xf695, 0xf8ef, 0xf510, 0xf75e, -0xf510, 0xf75e, 0xf37c, 0xf5b8, 0xf37c, 0xf5b8, 0xf37c, 0xf5b8, 0xf373, 0xf59b, 0xf373, -0xf59b, 0xf375, 0xf587, 0xf375, 0xf587, 0xf39f, 0xf59a, 0xf39f, 0xf59a, 0xf36e, 0xf551, -0xf36e, 0xf551, 0xf2b7, 0xf483, 0xf2b7, 0xf483, 0xf2fb, 0xf4b2, 0xf2fb, 0xf4b2, 0xf2fb, -0xf4b2, 0xf1e3, 0xf387, 0xf1e3, 0xf387, 0xf0e9, 0xf27d, 0xf0e9, 0xf27d, 0xf04a, 0xf1d0, -0xf04a, 0xf1d0, 0xef54, 0xf0d1, 0xef54, 0xf0d1, 0xee4d, 0xefc3, 0xee4d, 0xefc3, 0xed16, -0xee88, 0xed16, 0xee88, 0xed16, 0xee88, 0xed93, 0xef04, 0xed93, 0xef04, 0xecfd, 0xee6f, -0xecfd, 0xee6f, 0xea80, 0xebf4, 0xea80, 0xebf4, 0xe8ad, 0xea23, 0xe8ad, 0xea23, 0xe7d8, -0xe94f, 0xe7d8, 0xe94f, 0xe7d8, 0xe94f, 0xe702, 0xe87b, 0xe702, 0xe87b, 0xe515, 0xe68c, -0xe515, 0xe68c, 0xe467, 0xe5da, 0xe467, 0xe5da, 0xe495, 0xe600, 0xe495, 0xe600, 0xe43e, -0xe59e, 0xe43e, 0xe59e, 0xe493, 0xe5e4, 0xe493, 0xe5e4, 0xe493, 0xe5e4, 0xe45c, 0xe59a, -0xe45c, 0xe59a, 0xe4eb, 0xe614, 0xe4eb, 0xe614, 0xe58d, 0xe69d, 0xe58d, 0xe69d, 0xe599, -0xe68d, 0xe599, 0xe68d, 0xe77e, 0xe856, 0xe77e, 0xe856, 0xe8df, 0xe999, 0xe8df, 0xe999, -0xe8df, 0xe999, 0xe96b, 0xea08, 0xe96b, 0xea08, 0xeb24, 0xeba6, 0xeb24, 0xeba6, 0xed82, -0xedeb, 0xed82, 0xedeb, 0xefa5, 0xeff9, 0xefa5, 0xeff9, 0xf1d1, 0xf214, 0xf1d1, 0xf214, -0xf1d1, 0xf214, 0xf2ca, 0xf302, 0xf2ca, 0xf302, 0xf35a, 0xf38e, 0xf35a, 0xf38e, 0xf460, -0xf496, 0xf460, 0xf496, 0xf43b, 0xf47b, 0xf43b, 0xf47b, 0xf547, 0xf598, 0xf547, 0xf598, -0xf62b, 0xf693, 0xf62b, 0xf693, 0xf62b, 0xf693, 0xf5d4, 0xf659, 0xf5d4, 0xf659, 0xf572, -0xf61a, 0xf572, 0xf61a, 0xf520, 0xf5ef, 0xf520, 0xf5ef, 0xf5c4, 0xf6be, 0xf5c4, 0xf6be, -0xf4ae, 0xf5d5, 0xf4ae, 0xf5d5, 0xf34f, 0xf4a3, 0xf34f, 0xf4a3, 0xf34f, 0xf4a3, 0xf3b2, -0xf534, 0xf3b2, 0xf534, 0xf3f2, 0xf59f, 0xf3f2, 0xf59f, 0xf476, 0xf64b, 0xf476, 0xf64b, -0xf476, 0xf66e, 0xf476, 0xf66e, 0xf487, 0xf69d, 0xf487, 0xf69d, 0xf487, 0xf69d, 0xf563, -0xf791, 0xf563, 0xf791, 0xf4c3, 0xf700, 0xf4c3, 0xf700, 0xf48b, 0xf6d1, 0xf48b, 0xf6d1, -0xf4e7, 0xf72e, 0xf4e7, 0xf72e, 0xf56d, 0xf7ad, 0xf56d, 0xf7ad, 0xf6c9, 0xf8fb, 0xf6c9, -0xf8fb, 0xf6c9, 0xf8fb, 0xf76c, 0xf989, 0xf76c, 0xf989, 0xf979, 0xfb7b, 0xf979, 0xfb7b, -0xfb2a, 0xfd0c, 0xfb2a, 0xfd0c, 0xfc34, 0xfdf3, 0xfc34, 0xfdf3, 0xfe20, 0xffb7, 0xfe20, -0xffb7, 0xff16, 0x83, 0xff16, 0x83, 0xff16, 0x83, 0x4c, 0x18f, 0x4c, 0x18f, -0x11d, 0x235, 0x11d, 0x235, 0x1ac, 0x29c, 0x1ac, 0x29c, 0x2f6, 0x3bf, 0x2f6, -0x3bf, 0x4ee, 0x593, 0x4ee, 0x593, 0x4ee, 0x593, 0x6bc, 0x740, 0x6bc, 0x740, -0x849, 0x8b0, 0x849, 0x8b0, 0x9d8, 0xa25, 0x9d8, 0xa25, 0x9f2, 0xa29, 0x9f2, -0xa29, 0xa5a, 0xa7e, 0xa5a, 0xa7e, 0xa80, 0xa94, 0xa80, 0xa94, 0xa80, 0xa94, -0x947, 0x94d, 0x947, 0x94d, 0x819, 0x813, 0x819, 0x813, 0x7aa, 0x798, 0x7aa, -0x798, 0x86b, 0x84e, 0x86b, 0x84e, 0x8ae, 0x884, 0x8ae, 0x884, 0x84c, 0x814, -0x84c, 0x814, 0x84c, 0x814, 0x83f, 0x7f7, 0x83f, 0x7f7, 0x868, 0x80d, 0x868, -0x80d, 0x819, 0x7a8, 0x819, 0x7a8, 0x7b8, 0x72e, 0x7b8, 0x72e, 0x7b7, 0x711, -0x7b7, 0x711, 0x7b7, 0x711, 0x623, 0x55c, 0x623, 0x55c, 0x5b8, 0x4cf, 0x5b8, -0x4cf, 0x6e5, 0x5d7, 0x6e5, 0x5d7, 0x692, 0x55e, 0x692, 0x55e, 0x707, 0x5ab, -0x707, 0x5ab, 0x798, 0x614, 0x798, 0x614, 0x798, 0x614, 0x800, 0x656, 0x800, -0x656, 0x8ca, 0x6fc, 0x8ca, 0x6fc, 0x882, 0x693, 0x882, 0x693, 0x7ce, 0x5c0, -0x7ce, 0x5c0, 0x6ab, 0x485, 0x6ab, 0x485, 0x625, 0x3eb, 0x625, 0x3eb, 0x625, -0x3eb, 0x62c, 0x3e4, 0x62c, 0x3e4, 0x69c, 0x44d, 0x69c, 0x44d, 0x7ac, 0x55d, -0x7ac, 0x55d, 0x887, 0x63d, 0x887, 0x63d, 0x912, 0x6d3, 0x912, 0x6d3, 0x912, -0x6d3, 0x870, 0x642, 0x870, 0x642, 0x7a9, 0x591, 0x7a9, 0x591, 0x732, 0x534, -0x732, 0x534, 0x639, 0x45a, 0x639, 0x45a, 0x4ce, 0x30e, 0x4ce, 0x30e, 0x310, -0x171, 0x310, 0x171, 0x310, 0x171, 0x23c, 0xbe, 0x23c, 0xbe, 0x1b5, 0x57, -0x1b5, 0x57, 0, 0xfec0, 0, 0xfec0, 0xff00, 0xfdda, 0xff00, 0xfdda, 0xff3d, -0xfe2e, 0xff3d, 0xfe2e, 0xfeef, 0xfdf2, 0xfeef, 0xfdf2, 0xfeef, 0xfdf2, 0xfe1d, 0xfd2c, -0xfe1d, 0xfd2c, 0xfcfc, 0xfc14, 0xfcfc, 0xfc14, 0xfc97, 0xfbb0, 0xfc97, 0xfbb0, 0xfca3, -0xfbb9, 0xfca3, 0xfbb9, 0xfbaf, 0xfabd, 0xfbaf, 0xfabd, 0xfbaf, 0xfabd, 0xfac4, 0xf9c5, -0xfac4, 0xf9c5, 0xfb38, 0xfa2a, 0xfb38, 0xfa2a, 0xfc61, 0xfb40, 0xfc61, 0xfb40, 0xfcaf, -0xfb79, 0xfcaf, 0xfb79, 0xfded, 0xfca1, 0xfded, 0xfca1, 0x76, 0xff16, 0x76, 0xff16, -0x76, 0xff16, 0x2bf, 0x14b, 0x2bf, 0x14b, 0x4ea, 0x365, 0x4ea, 0x365, 0x6d4, -0x542, 0x6d4, 0x542, 0x8a6, 0x70a, 0x8a6, 0x70a, 0x950, 0x7b0, 0x950, 0x7b0, -0x950, 0x7b0, 0x809, 0x66a, 0x809, 0x66a, 0x6ce, 0x536, 0x6ce, 0x536, 0x746, -0x5bb, 0x746, 0x5bb, 0x737, 0x5be, 0x737, 0x5be, 0x671, 0x510, 0x671, 0x510, -0x633, 0x4f0, 0x633, 0x4f0, 0x633, 0x4f0, 0x603, 0x4e2, 0x603, 0x4e2, 0x634, -0x538, 0x634, 0x538, 0x662, 0x58f, 0x662, 0x58f, 0x772, 0x6c9, 0x772, 0x6c9, -0x77a, 0x6fd, 0x77a, 0x6fd, 0x604, 0x5b2, 0x604, 0x5b2, 0x604, 0x5b2, 0x5ea, -0x5c2, 0x5ea, 0x5c2, 0x6cf, 0x6d0, 0x6cf, 0x6d0, 0x6e2, 0x708, 0x6e2, 0x708, -0x5c1, 0x609, 0x5c1, 0x609, 0x4bf, 0x526, 0x4bf, 0x526, 0x4bf, 0x526, 0x3a8, -0x429, 0x3a8, 0x429, 0x404, 0x49b, 0x404, 0x49b, 0x3fe, 0x4a7, 0x3fe, 0x4a7, -0x1fa, 0x2b0, 0x1fa, 0x2b0, 0x113, 0x1d3, 0x113, 0x1d3, 0x15, 0xdb, 0x15, -0xdb, 0x15, 0xdb, 0xfe42, 0xff0c, 0xfe42, 0xff0c, 0xfd23, 0xfded, 0xfd23, 0xfded, -0xfbfc, 0xfcc6, 0xfbfc, 0xfcc6, 0xfa63, 0xfb2c, 0xfa63, 0xfb2c, 0xfa14, 0xfadc, 0xfa14, -0xfadc, 0xfa43, 0xfb09, 0xfa43, 0xfb09, 0xfa43, 0xfb09, 0xfb0a, 0xfbcf, 0xfb0a, 0xfbcf, -0xfb58, 0xfc1e, 0xfb58, 0xfc1e, 0xfa69, 0xfb31, 0xfa69, 0xfb31, 0xfaa8, 0xfb73, 0xfaa8, -0xfb73, 0xfab4, 0xfb84, 0xfab4, 0xfb84, 0xfab4, 0xfb84, 0xfb3b, 0xfc11, 0xfb3b, 0xfc11, -0xfbe5, 0xfcc2, 0xfbe5, 0xfcc2, 0xfc1e, 0xfd02, 0xfc1e, 0xfd02, 0xfcad, 0xfd99, 0xfcad, -0xfd99, 0xfc6a, 0xfd5b, 0xfc6a, 0xfd5b, 0xfd09, 0xfdff, 0xfd09, 0xfdff, 0xfd09, 0xfdff, -0xfdd6, 0xfece, 0xfdd6, 0xfece, 0xfd19, 0xfe10, 0xfd19, 0xfe10, 0xfca9, 0xfd9c, 0xfca9, -0xfd9c, 0xfc7d, 0xfd67, 0xfc7d, 0xfd67, 0xfc97, 0xfd74, 0xfc97, 0xfd74, 0xfc81, 0xfd4b, -0xfc81, 0xfd4b, 0xfc81, 0xfd4b, 0xfc65, 0xfd18, 0xfc65, 0xfd18, 0xfe46, 0xfedb, 0xfe46, -0xfedb, 0xff9d, 0x10, 0xff9d, 0x10, 0x1e5, 0x231, 0x1e5, 0x231, 0x459, 0x47a, -0x459, 0x47a, 0x459, 0x47a, 0x565, 0x557, 0x565, 0x557, 0x75c, 0x71b, 0x75c, -0x71b, 0x880, 0x80a, 0x880, 0x80a, 0xa32, 0x987, 0xa32, 0x987, 0xb20, 0xa3e, -0xb20, 0xa3e, 0xbc7, 0xab0, 0xbc7, 0xab0, 0xbc7, 0xab0, 0xde3, 0xc98, 0xde3, -0xc98, 0xfd9, 0xe5c, 0xfd9, 0xe5c, 0x1110, 0xf65, 0x1110, 0xf65, 0x117b, 0xfa4, -0x117b, 0xfa4, 0x12c0, 0x10c2, 0x12c0, 0x10c2, 0x135d, 0x113e, 0x135d, 0x113e, 0x135d, -0x113e, 0x137f, 0x1142, 0x137f, 0x1142, 0x147e, 0x1229, 0x147e, 0x1229, 0x14c5, 0x125c, -0x14c5, 0x125c, 0x1465, 0x11ee, 0x1465, 0x11ee, 0x14b6, 0x1234, 0x14b6, 0x1234, 0x14b6, -0x1234, 0x1513, 0x128a, 0x1513, 0x128a, 0x1659, 0x13cc, 0x1659, 0x13cc, 0x1733, 0x14a7, -0x1733, 0x14a7, 0x1707, 0x147d, 0x1707, 0x147d, 0x175b, 0x14d6, 0x175b, 0x14d6, 0x16d0, -0x1451, 0x16d0, 0x1451, 0x16d0, 0x1451, 0x1721, 0x14aa, 0x1721, 0x14aa, 0x1736, 0x14c8, -0x1736, 0x14c8, 0x1611, 0x13ae, 0x1611, 0x13ae, 0x1545, 0x12ed, 0x1545, 0x12ed, 0x1590, -0x1345, 0x1590, 0x1345, 0x1582, 0x1345, 0x1582, 0x1345, 0x1582, 0x1345, 0x14b9, 0x128d, -0x14b9, 0x128d, 0x12c4, 0x10ab, 0x12c4, 0x10ab, 0xfe1, 0xddd, 0xfe1, 0xddd, 0xed7, -0xceb, 0xed7, 0xceb, 0xd49, 0xb78, 0xd49, 0xb78, 0xd49, 0xb78, 0xc96, 0xae4, -0xc96, 0xae4, 0xad3, 0x943, 0xad3, 0x943, 0x8d9, 0x76e, 0x8d9, 0x76e, 0x7c4, -0x682, 0x7c4, 0x682, 0x551, 0x43c, 0x551, 0x43c, 0x41d, 0x339, 0x41d, 0x339, -0x41d, 0x339, 0x173, 0xc1, 0x173, 0xc1, 0xffdd, 0xff60, 0xffdd, 0xff60, 0xfedf, -0xfe97, 0xfedf, 0xfe97, 0xfdbb, 0xfdaa, 0xfdbb, 0xfdaa, 0xfdb5, 0xfdda, 0xfdb5, 0xfdda, -0xfbd1, 0xfc2b, 0xfbd1, 0xfc2b, 0xfbd1, 0xfc2b, 0xf9fb, 0xfa87, 0xf9fb, 0xfa87, 0xf890, -0xf94b, 0xf890, 0xf94b, 0xf7a7, 0xf88d, 0xf7a7, 0xf88d, 0xf78e, 0xf89a, 0xf78e, 0xf89a, -0xf6e2, 0xf80f, 0xf6e2, 0xf80f, 0xf6e2, 0xf80f, 0xf686, 0xf7ce, 0xf686, 0xf7ce, 0xf71e, -0xf87b, 0xf71e, 0xf87b, 0xf6c4, 0xf82f, 0xf6c4, 0xf82f, 0xf72e, 0xf8a2, 0xf72e, 0xf8a2, -0xf77f, 0xf8f5, 0xf77f, 0xf8f5, 0xf6c6, 0xf839, 0xf6c6, 0xf839, 0xf6c6, 0xf839, 0xf6eb, -0xf857, 0xf6eb, 0xf857, 0xf72c, 0xf88c, 0xf72c, 0xf88c, 0xf82b, 0xf97c, 0xf82b, 0xf97c, -0xf827, 0xf967, 0xf827, 0xf967, 0xf7a7, 0xf8d5, 0xf7a7, 0xf8d5, 0xf8e7, 0xfa01, 0xf8e7, -0xfa01, 0xf8e7, 0xfa01, 0xfb55, 0xfc5c, 0xfb55, 0xfc5c, 0xfdc9, 0xfebe, 0xfdc9, 0xfebe, -0xff7b, 0x5e, 0xff7b, 0x5e, 0x66, 0x139, 0x66, 0x139, 0x126, 0x1ea, 0x126, -0x1ea, 0x126, 0x1ea, 0x139, 0x1f0, 0x139, 0x1f0, 0xde, 0x189, 0xde, 0x189, -0xd7, 0x178, 0xd7, 0x178, 0x76, 0x10c, 0x76, 0x10c, 0x139, 0x1c5, 0x139, -0x1c5, 0x166, 0x1e6, 0x166, 0x1e6, 0x166, 0x1e6, 0x1a0, 0x213, 0x1a0, 0x213, -0x2d8, 0x33d, 0x2d8, 0x33d, 0x365, 0x3b8, 0x365, 0x3b8, 0x4b8, 0x4f5, 0x4b8, -0x4f5, 0x65a, 0x680, 0x65a, 0x680, 0x760, 0x76a, 0x760, 0x76a, 0x760, 0x76a, -0x7a8, 0x793, 0x7a8, 0x793, 0x6a8, 0x672, 0x6a8, 0x672, 0x5b8, 0x55f, 0x5b8, -0x55f, 0x620, 0x5a3, 0x620, 0x5a3, 0x5a6, 0x504, 0x5a6, 0x504, 0x5a6, 0x504, -0x685, 0x5c0, 0x685, 0x5c0, 0x6a3, 0x5be, 0x6a3, 0x5be, 0x4c9, 0x3c9, 0x4c9, -0x3c9, 0x47b, 0x365, 0x47b, 0x365, 0x36b, 0x247, 0x36b, 0x247, 0x31b, 0x1f1, -0x31b, 0x1f1, 0x31b, 0x1f1, 0x10f, 0xffea, 0x10f, 0xffea, 0xfe78, 0xfd62, 0xfe78, -0xfd62, 0xfd3c, 0xfc42, 0xfd3c, 0xfc42, 0xfbbe, 0xfaeb, 0xfbbe, 0xfaeb, 0xfacb, 0xfa2c, -0xfacb, 0xfa2c, 0xfacb, 0xfa2c, 0xf7bb, 0xf75b, 0xf7bb, 0xf75b, 0xf619, 0xf602, 0xf619, -0xf602, 0xf4ab, 0xf4e8, 0xf4ab, 0xf4e8, 0xf240, 0xf2d9, 0xf240, 0xf2d9, 0xf149, 0xf243, -0xf149, 0xf243, 0xee43, 0xefa2, 0xee43, 0xefa2, 0xee43, 0xefa2, 0xeb5f, 0xed26, 0xeb5f, -0xed26, 0xe9a5, 0xebd3, 0xe9a5, 0xebd3, 0xe688, 0xe91b, 0xe688, 0xe91b, 0xe368, 0xe659, -0xe368, 0xe659, 0xe069, 0xe3b2, 0xe069, 0xe3b2, 0xde13, 0xe1aa, 0xde13, 0xe1aa, 0xde13, -0xe1aa, 0xdd70, 0xe149, 0xdd70, 0xe149, 0xdc66, 0xe077, 0xdc66, 0xe077, 0xdb7a, 0xdfb5, -0xdb7a, 0xdfb5, 0xdb3f, 0xdf95, 0xdb3f, 0xdf95, 0xda2b, 0xde90, 0xda2b, 0xde90, 0xda2b, -0xde90, 0xd962, 0xddc9, 0xd962, 0xddc9, 0xda04, 0xde5f, 0xda04, 0xde5f, 0xdc0f, 0xe054, -0xdc0f, 0xe054, 0xdd52, 0xe176, 0xdd52, 0xe176, 0xdd76, 0xe172, 0xdd76, 0xe172, 0xdf97, -0xe365, 0xdf97, 0xe365, 0xdf97, 0xe365, 0xe14c, 0xe4e7, 0xe14c, 0xe4e7, 0xe2be, 0xe623, -0xe2be, 0xe623, 0xe525, 0xe855, 0xe525, 0xe855, 0xe698, 0xe992, 0xe698, 0xe992, 0xe982, -0xec4a, 0xe982, 0xec4a, 0xebb9, 0xee52, 0xebb9, 0xee52, 0xebb9, 0xee52, 0xed7b, 0xefea, -0xed7b, 0xefea, 0xefef, 0xf237, 0xefef, 0xf237, 0xefe8, 0xf20f, 0xefe8, 0xf20f, 0xf04b, -0xf254, 0xf04b, 0xf254, 0xf181, 0xf370, 0xf181, 0xf370, 0xf181, 0xf370, 0xf251, 0xf428, -0xf251, 0xf428, 0xf3ee, 0xf5ae, 0xf3ee, 0xf5ae, 0xf585, 0xf72d, 0xf585, 0xf72d, 0xf705, -0xf894, 0xf705, 0xf894, 0xf903, 0xfa75, 0xf903, 0xfa75, 0xfae4, 0xfc34, 0xfae4, 0xfc34, -0xfae4, 0xfc34, 0xfcb4, 0xfddc, 0xfcb4, 0xfddc, 0xfdc4, 0xfebd, 0xfdc4, 0xfebd, 0xffa3, -0x67, 0xffa3, 0x67, 0x20a, 0x290, 0x20a, 0x290, 0x357, 0x398, 0x357, 0x398, -0x5ed, 0x5e2, 0x5ed, 0x5e2, 0x5ed, 0x5e2, 0x72f, 0x6d3, 0x72f, 0x6d3, 0x8dc, -0x82a, 0x8dc, 0x82a, 0xbce, 0xac4, 0xbce, 0xac4, 0xd12, 0xbb1, 0xd12, 0xbb1, -0xf09, 0xd53, 0xf09, 0xd53, 0xf09, 0xd53, 0x1009, 0xe02, 0x1009, 0xe02, 0x1046, -0xdf6, 0x1046, 0xdf6, 0x107f, 0xdef, 0x107f, 0xdef, 0x1155, 0xe93, 0x1155, 0xe93, -0x121b, 0xf34, 0x121b, 0xf34, 0x115f, 0xe62, 0x115f, 0xe62, 0x115f, 0xe62, 0x1267, -0xf65, 0x1267, 0xf65, 0x12ad, 0xfb8, 0x12ad, 0xfb8, 0x12c5, 0xfef, 0x12c5, 0xfef, -0x13f6, 0x1150, 0x13f6, 0x1150, 0x1266, 0x1000, 0x1266, 0x1000, 0x10dc, 0xec4, 0x10dc, -0xec4, 0x10dc, 0xec4, 0x10c6, 0xf09, 0x10c6, 0xf09, 0xffe, 0xea7, 0xffe, 0xea7, -0xea0, 0xdb5, 0xea0, 0xdb5, 0xcfa, 0xc81, 0xcfa, 0xc81, 0xa68, 0xa61, 0xa68, -0xa61, 0xa68, 0xa61, 0x8a8, 0x910, 0x8a8, 0x910, 0x707, 0x7da, 0x707, 0x7da, -0x40e, 0x544, 0x40e, 0x544, 0x2e7, 0x475, 0x2e7, 0x475, 0xe0, 0x2bb, 0xe0, -0x2bb, 0xfe1a, 0x32, 0xfe1a, 0x32, 0xfe1a, 0x32, 0xfc4e, 0xfe94, 0xfc4e, 0xfe94, -0xf9bc, 0xfc1f, 0xf9bc, 0xfc1f, 0xf774, 0xf9e5, 0xf774, 0xf9e5, 0xf58e, 0xf7fc, 0xf58e, -0xf7fc, 0xf5b2, 0xf80f, 0xf5b2, 0xf80f, 0xf600, 0xf83e, 0xf600, 0xf83e, 0xf600, 0xf83e, -0xf5c4, 0xf7d7, 0xf5c4, 0xf7d7, 0xf5ca, 0xf7a8, 0xf5ca, 0xf7a8, 0xf522, 0xf6c5, 0xf522, -0xf6c5, 0xf5fa, 0xf75b, 0xf5fa, 0xf75b, 0xf6de, 0xf7fb, 0xf6de, 0xf7fb, 0xf6de, 0xf7fb, -0xf7ad, 0xf886, 0xf7ad, 0xf886, 0xf9f5, 0xfa8b, 0xf9f5, 0xfa8b, 0xfb7c, 0xfbd1, 0xfb7c, -0xfbd1, 0xfd52, 0xfd6c, 0xfd52, 0xfd6c, 0xfffb, 0xffdf, 0xfffb, 0xffdf, 0x64, 0x17, -0x64, 0x17, 0x64, 0x17, 0xcd, 0x58, 0xcd, 0x58, 0xd1, 0x39, 0xd1, -0x39, 0x6, 0xff51, 0x6, 0xff51, 0x10f, 0x42, 0x10f, 0x42, 0x180, 0x9f, -0x180, 0x9f, 0x106, 0x14, 0x106, 0x14, 0x106, 0x14, 0xce, 0xffcc, 0xce, -0xffcc, 0x129, 0x17, 0x129, 0x17, 0x185, 0x63, 0x185, 0x63, 0x31f, 0x1eb, -0x31f, 0x1eb, 0x508, 0x3bd, 0x508, 0x3bd, 0x508, 0x3bd, 0x520, 0x3bc, 0x520, -0x3bc, 0x5b1, 0x42f, 0x5b1, 0x42f, 0x5ee, 0x44a, 0x5ee, 0x44a, 0x599, 0x3d0, -0x599, 0x3d0, 0x61e, 0x42e, 0x61e, 0x42e, 0x69a, 0x481, 0x69a, 0x481, 0x69a, -0x481, 0x6f0, 0x4ae, 0x6f0, 0x4ae, 0x7e2, 0x578, 0x7e2, 0x578, 0x79c, 0x50d, -0x79c, 0x50d, 0x706, 0x458, 0x706, 0x458, 0x7a1, 0x4da, 0x7a1, 0x4da, 0x811, -0x539, 0x811, 0x539, 0x811, 0x539, 0x905, 0x626, 0x905, 0x626, 0x9aa, 0x6cf, -0x9aa, 0x6cf, 0xa19, 0x74e, 0xa19, 0x74e, 0xa14, 0x765, 0xa14, 0x765, 0x980, -0x6f9, 0x980, 0x6f9, 0x980, 0x6f9, 0xa4b, 0x7f9, 0xa4b, 0x7f9, 0x9f3, 0x7e2, -0x9f3, 0x7e2, 0x80a, 0x643, 0x80a, 0x643, 0x6b6, 0x544, 0x6b6, 0x544, 0x4ed, -0x3d6, 0x4ed, 0x3d6, 0x427, 0x372, 0x427, 0x372, 0x427, 0x372, 0x326, 0x2d4, -0x326, 0x2d4, 0x1cb, 0x1e0, 0x1cb, 0x1e0, 0x156, 0x1ce, 0x156, 0x1ce, 0xfeda, -0xffb4, 0xfeda, 0xffb4, 0xfd62, 0xfe97, 0xfd62, 0xfe97, 0xfc1e, 0xfda9, 0xfc1e, 0xfda9, -0xfc1e, 0xfda9, 0xfa19, 0xfbf1, 0xfa19, 0xfbf1, 0xf7fc, 0xfa17, 0xf7fc, 0xfa17, 0xf558, -0xf7ab, 0xf558, 0xf7ab, 0xf494, 0xf714, 0xf494, 0xf714, 0xf34d, 0xf5ef, 0xf34d, 0xf5ef, -0xf34d, 0xf5ef, 0xf215, 0xf4ce, 0xf215, 0xf4ce, 0xf176, 0xf43b, 0xf176, 0xf43b, 0xf0c9, -0xf391, 0xf0c9, 0xf391, 0xf080, 0xf340, 0xf080, 0xf340, 0xefb2, 0xf262, 0xefb2, 0xf262, -0xee70, 0xf10a, 0xee70, 0xf10a, 0xee70, 0xf10a, 0xeda0, 0xf01e, 0xeda0, 0xf01e, 0xed73, -0xefd1, 0xed73, 0xefd1, 0xee1b, 0xf054, 0xee1b, 0xf054, 0xf034, 0xf246, 0xf034, 0xf246, -0xf170, 0xf358, 0xf170, 0xf358, 0xf170, 0xf358, 0xf2d7, 0xf494, 0xf2d7, 0xf494, 0xf41b, -0xf5ac, 0xf41b, 0xf5ac, 0xf46d, 0xf5d2, 0xf46d, 0xf5d2, 0xf584, 0xf6bb, 0xf584, 0xf6bb, -0xf6f6, 0xf7ff, 0xf6f6, 0xf7ff, 0xf856, 0xf92f, 0xf856, 0xf92f, 0xf856, 0xf92f, 0xf943, -0xf9ec, 0xf943, 0xf9ec, 0xfb1d, 0xfb93, 0xfb1d, 0xfb93, 0xfcc4, 0xfd05, 0xfcc4, 0xfd05, -0xfe58, 0xfe62, 0xfe58, 0xfe62, 0x15, 0xffe5, 0x15, 0xffe5, 0x15b, 0xef, 0x15b, -0xef, 0x15b, 0xef, 0x3a2, 0x2f9, 0x3a2, 0x2f9, 0x581, 0x498, 0x581, 0x498, -0x6e5, 0x5ba, 0x6e5, 0x5ba, 0x875, 0x708, 0x875, 0x708, 0x9ce, 0x81f, 0x9ce, -0x81f, 0x9ce, 0x81f, 0xaf2, 0x902, 0xaf2, 0x902, 0xcab, 0xa7d, 0xcab, 0xa7d, -0xe47, 0xbdd, 0xe47, 0xbdd, 0xf4e, 0xcad, 0xf4e, 0xcad, 0x11c3, 0xef0, 0x11c3, -0xef0, 0x1396, 0x1097, 0x1396, 0x1097, 0x1396, 0x1097, 0x1500, 0x11dd, 0x1500, 0x11dd, -0x1703, 0x13c2, 0x1703, 0x13c2, 0x171e, 0x13c7, 0x171e, 0x13c7, 0x16c3, 0x135f, 0x16c3, -0x135f, 0x1615, 0x12ab, 0x1615, 0x12ab, 0x1690, 0x1327, 0x1690, 0x1327, 0x1690, 0x1327, -0x17b3, 0x1453, 0x17b3, 0x1453, 0x171a, 0x13c7, 0x171a, 0x13c7, 0x17a9, 0x1469, 0x17a9, -0x1469, 0x17ee, 0x14c5, 0x17ee, 0x14c5, 0x1806, 0x14f5, 0x1806, 0x14f5, 0x1806, 0x14f5, -0x18fb, 0x1604, 0x18fb, 0x1604, 0x198a, 0x16ad, 0x198a, 0x16ad, 0x1959, 0x1695, 0x1959, -0x1695, 0x17d8, 0x152b, 0x17d8, 0x152b, 0x1713, 0x147b, 0x1713, 0x147b, 0x171a, 0x1493, -0x171a, 0x1493, 0x171a, 0x1493, 0x15b6, 0x133d, 0x15b6, 0x133d, 0x1395, 0x1128, 0x1395, -0x1128, 0x12cf, 0x106a, 0x12cf, 0x106a, 0x12dc, 0x107e, 0x12dc, 0x107e, 0x13a4, 0x114b, -0x13a4, 0x114b, 0x1327, 0x10d3, 0x1327, 0x10d3, 0x1327, 0x10d3, 0x1206, 0xfb7, 0x1206, -0xfb7, 0x1183, 0xf3d, 0x1183, 0xf3d, 0x1144, 0xf09, 0x1144, 0xf09, 0x137a, 0x114f, -0x137a, 0x114f, 0x1372, 0x115c, 0x1372, 0x115c, 0x1372, 0x115c, 0x12ae, 0x10b4, 0x12ae, -0x10b4, 0x131f, 0x1147, 0x131f, 0x1147, 0x127b, 0x10cd, 0x127b, 0x10cd, 0x122d, 0x10b1, -0x122d, 0x10b1, 0x107d, 0xf38, 0x107d, 0xf38, 0xf9f, 0xe98, 0xf9f, 0xe98, 0xf9f, -0xe98, 0xfb7, 0xef2, 0xfb7, 0xef2, 0xf1f, 0xea1, 0xf1f, 0xea1, 0xebb, 0xe85, -0xebb, 0xe85, 0xdc7, 0xdda, 0xdc7, 0xdda, 0xaa6, 0xb01, 0xaa6, 0xb01, 0x74f, -0x7ee, 0x74f, 0x7ee, 0x74f, 0x7ee, 0x5b6, 0x695, 0x5b6, 0x695, 0x37b, 0x492, -0x37b, 0x492, 0x15b, 0x2a4, 0x15b, 0x2a4, 0xffa2, 0x112, 0xffa2, 0x112, 0xfe6d, -0xfffb, 0xfe6d, 0xfffb, 0xfe6d, 0xfffb, 0xfcc2, 0xfe64, 0xfcc2, 0xfe64, 0xfb2a, 0xfcd5, -0xfb2a, 0xfcd5, 0xfa48, 0xfbf2, 0xfa48, 0xfbf2, 0xf86a, 0xfa09, 0xf86a, 0xfa09, 0xf89e, -0xfa2b, 0xf89e, 0xfa2b, 0xf877, 0xf9ea, 0xf877, 0xf9ea, 0xf877, 0xf9ea, 0xf89a, 0xf9ee, -0xf89a, 0xf9ee, 0xf91c, 0xfa4d, 0xf91c, 0xfa4d, 0xf79b, 0xf8a8, 0xf79b, 0xf8a8, 0xf957, -0xfa41, 0xf957, 0xfa41, 0xfa5f, 0xfb26, 0xfa5f, 0xfb26, 0xfb27, 0xfbd0, 0xfb27, 0xfbd0, -0xfb27, 0xfbd0, 0xfd59, 0xfde9, 0xfd59, 0xfde9, 0xfcf3, 0xfd70, 0xfcf3, 0xfd70, 0xfcac, -0xfd1d, 0xfcac, 0xfd1d, 0xfcb8, 0xfd23, 0xfcb8, 0xfd23, 0xfd79, 0xfde6, 0xfd79, 0xfde6, -0xfd79, 0xfde6, 0xfdc2, 0xfe38, 0xfdc2, 0xfe38, 0xfe67, 0xfeeb, 0xfe67, 0xfeeb, 0xff8e, -0x24, 0xff8e, 0x24, 0x34, 0xe0, 0x34, 0xe0, 0x1c2, 0x285, 0x1c2, 0x285, -0x171, 0x249, 0x171, 0x249, 0x171, 0x249, 0x198, 0x284, 0x198, 0x284, 0x209, -0x305, 0x209, 0x305, 0x1d9, 0x2df, 0x1d9, 0x2df, 0x23a, 0x342, 0x23a, 0x342, -0x2f1, 0x3f4, 0x2f1, 0x3f4, 0x38f, 0x484, 0x38f, 0x484, 0x38f, 0x484, 0x269, -0x346, 0x269, 0x346, 0x2d7, 0x392, 0x2d7, 0x392, 0x35d, 0x3ee, 0x35d, 0x3ee, -0x43a, 0x499, 0x43a, 0x499, 0x492, 0x4ba, 0x492, 0x4ba, 0x492, 0x4ba, 0x28d, -0x279, 0x28d, 0x279, 0x37c, 0x32a, 0x37c, 0x32a, 0x3b8, 0x329, 0x3b8, 0x329, -0x2f1, 0x227, 0x2f1, 0x227, 0x309, 0x20a, 0x309, 0x20a, 0x1bf, 0x91, 0x1bf, -0x91, 0x1bf, 0x91, 0x20c, 0xba, 0x20c, 0xba, 0x2b4, 0x149, 0x2b4, 0x149, -0x2b4, 0x13d, 0x2b4, 0x13d, 0x1a9, 0x35, 0x1a9, 0x35, 0xfec2, 0xfd5f, 0xfec2, -0xfd5f, 0xfd6e, 0xfc2b, 0xfd6e, 0xfc2b, 0xfd6e, 0xfc2b, 0xfb7c, 0xfa68, 0xfb7c, 0xfa68, -0xf90f, 0xf837, 0xf90f, 0xf837, 0xf798, 0xf707, 0xf798, 0xf707, 0xf54e, 0xf50f, 0xf54e, -0xf50f, 0xf3da, 0xf3f5, 0xf3da, 0xf3f5, 0xf3da, 0xf3f5, 0xf23c, 0xf2b6, 0xf23c, 0xf2b6, -0xf0d4, 0xf1b0, 0xf0d4, 0xf1b0, 0xef21, 0xf05f, 0xef21, 0xf05f, 0xec4f, 0xedec, 0xec4f, -0xedec, 0xea85, 0xec7c, 0xea85, 0xec7c, 0xe7d4, 0xea1d, 0xe7d4, 0xea1d, 0xe7d4, 0xea1d, -0xe3e8, 0xe679, 0xe3e8, 0xe679, 0xe002, 0xe2cf, 0xe002, 0xe2cf, 0xdc7b, 0xdf78, 0xdc7b, -0xdf78, 0xda1b, 0xdd3b, 0xda1b, 0xdd3b, 0xd868, 0xdb9d, 0xd868, 0xdb9d, 0xd801, 0xdb3d, -0xd801, 0xdb3d, 0xd801, 0xdb3d, 0xd840, 0xdb77, 0xd840, 0xdb77, 0xd7f8, 0xdb1d, 0xd7f8, -0xdb1d, 0xd86f, 0xdb78, 0xd86f, 0xdb78, 0xd917, 0xdbfb, 0xd917, 0xdbfb, 0xd976, 0xdc2f, -0xd976, 0xdc2f, 0xd976, 0xdc2f, 0xdb92, 0xde1b, 0xdb92, 0xde1b, 0xde49, 0xe09f, 0xde49, -0xe09f, 0xe096, 0xe2b8, 0xe096, 0xe2b8, 0xe3fa, 0xe5e8, 0xe3fa, 0xe5e8, 0xe6cc, 0xe889, -0xe6cc, 0xe889, 0xe8ac, 0xea3c, 0xe8ac, 0xea3c, 0xe8ac, 0xea3c, 0xea2f, 0xeb96, 0xea2f, -0xeb96, 0xeacc, 0xec0f, 0xeacc, 0xec0f, 0xec5e, 0xed82, 0xec5e, 0xed82, 0xed8e, 0xee99, -0xed8e, 0xee99, 0xee03, 0xeefa, 0xee03, 0xeefa, 0xee03, 0xeefa, 0xeef6, 0xefdc, 0xeef6, -0xefdc, 0xefcc, 0xf0a6, 0xefcc, 0xf0a6, 0xf01c, 0xf0ea, 0xf01c, 0xf0ea, 0xf02b, 0xf0f0, -0xf02b, 0xf0f0, 0xf1f5, 0xf2af, 0xf1f5, 0xf2af, 0xf1df, 0xf28e, 0xf1df, 0xf28e, 0xf1df, -0xf28e, 0xf1be, 0xf25f, 0xf1be, 0xf25f, 0xf3f4, 0xf486, 0xf3f4, 0xf486, 0xf536, 0xf5b3, -0xf536, 0xf5b3, 0xf6fb, 0xf760, 0xf6fb, 0xf760, 0xf877, 0xf8c0, 0xf877, 0xf8c0, 0xf986, -0xf9b0, 0xf986, 0xf9b0, 0xf986, 0xf9b0, 0xfb61, 0xfb68, 0xfb61, 0xfb68, 0xfd2b, 0xfd0e, -0xfd2b, 0xfd0e, 0xfef6, 0xfeb3, 0xfef6, 0xfeb3, 0xaf, 0x47, 0xaf, 0x47, 0x1ab, -0x120, 0x1ab, 0x120, 0x1ab, 0x120, 0x366, 0x2ba, 0x366, 0x2ba, 0x67e, 0x5b6, -0x67e, 0x5b6, 0x899, 0x7ba, 0x899, 0x7ba, 0x9de, 0x8f1, 0x9de, 0x8f1, 0xc25, -0xb31, 0xc25, 0xb31, 0xd3b, 0xc49, 0xd3b, 0xc49, 0xd3b, 0xc49, 0xd38, 0xc51, -0xd38, 0xc51, 0xd9c, 0xcca, 0xd9c, 0xcca, 0xd12, 0xc5f, 0xd12, 0xc5f, 0xb8e, -0xb03, 0xb8e, 0xb03, 0xac5, 0xa69, 0xac5, 0xa69, 0xb95, 0xb70, 0xb95, 0xb70, -0xb95, 0xb70, 0xc25, 0xc3e, 0xc25, 0xc3e, 0xbd6, 0xc30, 0xbd6, 0xc30, 0xc08, -0xca7, 0xc08, 0xca7, 0xcbc, 0xda0, 0xcbc, 0xda0, 0xc6b, 0xd95, 0xc6b, 0xd95, -0xc6b, 0xd95, 0xb4e, 0xcbb, 0xb4e, 0xcbb, 0x96c, 0xb1a, 0x96c, 0xb1a, 0x756, -0x940, 0x756, 0x940, 0x502, 0x722, 0x502, 0x722, 0x337, 0x585, 0x337, 0x585, -0x1a9, 0x41e, 0x1a9, 0x41e, 0x1a9, 0x41e, 0xff39, 0x1cd, 0xff39, 0x1cd, 0xfec5, -0x170, 0xfec5, 0x170, 0xfe14, 0xce, 0xfe14, 0xce, 0xfcc2, 0xff83, 0xfcc2, 0xff83, -0xfc24, 0xfee3, 0xfc24, 0xfee3, 0xface, 0xfd85, 0xface, 0xfd85, 0xface, 0xfd85, 0xf9fa, -0xfca1, 0xf9fa, 0xfca1, 0xf8ab, 0xfb3d, 0xf8ab, 0xfb3d, 0xf961, 0xfbd9, 0xf961, 0xfbd9, -0xfa7f, 0xfcd7, 0xfa7f, 0xfcd7, 0xfa39, 0xfc6e, 0xfa39, 0xfc6e, 0xfa39, 0xfc6e, 0xfa8e, -0xfc9c, 0xfa8e, 0xfc9c, 0xfa1d, 0xfc01, 0xfa1d, 0xfc01, 0xfb4e, 0xfd05, 0xfb4e, 0xfd05, -0xfc4c, 0xfdd5, 0xfc4c, 0xfdd5, 0xfc4d, 0xfda6, 0xfc4d, 0xfda6, 0xfc2a, 0xfd51, 0xfc2a, -0xfd51, 0xfc2a, 0xfd51, 0xfd8d, 0xfe81, 0xfd8d, 0xfe81, 0xfe78, 0xff38, 0xfe78, 0xff38, -0xfef6, 0xff81, 0xfef6, 0xff81, 0xaf, 0x104, 0xaf, 0x104, 0xe8, 0x107, 0xe8, -0x107, 0x1ca, 0x1b4, 0x1ca, 0x1b4, 0x1ca, 0x1b4, 0x349, 0x2fe, 0x349, 0x2fe, -0x50a, 0x48b, 0x50a, 0x48b, 0x63e, 0x58d, 0x63e, 0x58d, 0x714, 0x635, 0x714, -0x635, 0x77f, 0x675, 0x77f, 0x675, 0x77f, 0x675, 0x8ae, 0x77d, 0x8ae, 0x77d, -0x909, 0x7b6, 0x909, 0x7b6, 0x9b5, 0x846, 0x9b5, 0x846, 0xac3, 0x93f, 0xac3, -0x93f, 0xa41, 0x8ae, 0xa41, 0x8ae, 0xb16, 0x97c, 0xb16, 0x97c, 0xb16, 0x97c, -0xb26, 0x98d, 0xb26, 0x98d, 0xa04, 0x874, 0xa04, 0x874, 0x827, 0x6a7, 0x827, -0x6a7, 0x733, 0x5cb, 0x733, 0x5cb, 0x6b5, 0x56b, 0x6b5, 0x56b, 0x52a, 0x404, -0x52a, 0x404, 0x52a, 0x404, 0x45f, 0x362, 0x45f, 0x362, 0x35b, 0x28a, 0x35b, -0x28a, 0xb3, 0x11, 0xb3, 0x11, 0xff4a, 0xfed8, 0xff4a, 0xfed8, 0xfec9, 0xfe87, -0xfec9, 0xfe87, 0xfec9, 0xfe87, 0xfe2d, 0xfe18, 0xfe2d, 0xfe18, 0xfe77, 0xfe8e, 0xfe77, -0xfe8e, 0xfeb9, 0xfef6, 0xfeb9, 0xfef6, 0xfef5, 0xff55, 0xfef5, 0xff55, 0xff9c, 0x18, -0xff9c, 0x18, 0xfff3, 0x86, 0xfff3, 0x86, 0xfff3, 0x86, 0xff86, 0x2a, 0xff86, -0x2a, 0xfee6, 0xff95, 0xfee6, 0xff95, 0xfe37, 0xfeeb, 0xfe37, 0xfeeb, 0xfe20, 0xfed5, -0xfe20, 0xfed5, 0xfcfe, 0xfdaf, 0xfcfe, 0xfdaf, 0xfb59, 0xfc02, 0xfb59, 0xfc02, 0xfb59, -0xfc02, 0xfb44, 0xfbe4, 0xfb44, 0xfbe4, 0xf9fc, 0xfa91, 0xf9fc, 0xfa91, 0xfa23, 0xfaad, -0xfa23, 0xfaad, 0xfbb6, 0xfc35, 0xfbb6, 0xfc35, 0xfaea, 0xfb61, 0xfaea, 0xfb61, 0xfaea, -0xfb61, 0xfb68, 0xfbda, 0xfb68, 0xfbda, 0xfcc2, 0xfd30, 0xfcc2, 0xfd30, 0xfe6a, 0xfed9, -0xfe6a, 0xfed9, 0xff39, 0xffab, 0xff39, 0xffab, 0xffd6, 0x4f, 0xffd6, 0x4f, 0x41, -0xc3, 0x41, 0xc3, 0x41, 0xc3, 0x1a, 0xa6, 0x1a, 0xa6, 0xffd4, 0x6b, -0xffd4, 0x6b, 0xa7, 0x149, 0xa7, 0x149, 0xffa3, 0x4e, 0xffa3, 0x4e, 0xfcab, -0xfd5c, 0xfcab, 0xfd5c, 0xfe05, 0xfeb9, 0xfe05, 0xfeb9, 0xfe05, 0xfeb9, 0xfc64, 0xfd15, -0xfc64, 0xfd15, 0xfb91, 0xfc39, 0xfb91, 0xfc39, 0xfc5c, 0xfcf5, 0xfc5c, 0xfcf5, 0xfc5b, -0xfcdf, 0xfc5b, 0xfcdf, 0xfc6b, 0xfcd1, 0xfc6b, 0xfcd1, 0xfc6b, 0xfcd1, 0xfb94, 0xfbd7, -0xfb94, 0xfbd7, 0xfc47, 0xfc5f, 0xfc47, 0xfc5f, 0xfc5c, 0xfc44, 0xfc5c, 0xfc44, 0xfc75, -0xfc2a, 0xfc75, 0xfc2a, 0xff6b, 0xfee9, 0xff6b, 0xfee9, 0x30d, 0x254, 0x30d, 0x254, -0x30d, 0x254, 0x441, 0x351, 0x441, 0x351, 0x706, 0x5e1, 0x706, 0x5e1, 0x915, -0x7c0, 0x915, 0x7c0, 0xa69, 0x8ea, 0xa69, 0x8ea, 0xbc5, 0xa24, 0xbc5, 0xa24, -0xd97, 0xbdb, 0xd97, 0xbdb, 0xd97, 0xbdb, 0xf59, 0xd8d, 0xf59, 0xd8d, 0xff9, -0xe27, 0xff9, 0xe27, 0x10d7, 0xf09, 0x10d7, 0xf09, 0x107a, 0xeb9, 0x107a, 0xeb9, -0xf4e, 0xda5, 0xf4e, 0xda5, 0xf4e, 0xda5, 0xe2d, 0xca5, 0xe2d, 0xca5, 0xd43, -0xbe2, 0xd43, 0xbe2, 0xb40, 0xa0b, 0xb40, 0xa0b, 0x9b0, 0x8aa, 0x9b0, 0x8aa, -0x90a, 0x835, 0x90a, 0x835, 0x82e, 0x788, 0x82e, 0x788, 0x82e, 0x788, 0x7f2, -0x779, 0x7f2, 0x779, 0x7c1, 0x76f, 0x7c1, 0x76f, 0x6de, 0x6ab, 0x6de, 0x6ab, -0x69b, 0x67f, 0x69b, 0x67f, 0x5b0, 0x59f, 0x5b0, 0x59f, 0x5b0, 0x59f, 0x433, -0x424, 0x433, 0x424, 0x3f8, 0x3de, 0x3f8, 0x3de, 0x492, 0x461, 0x492, 0x461, -0x5aa, 0x558, 0x5aa, 0x558, 0x6b0, 0x631, 0x6b0, 0x631, 0x703, 0x64f, 0x703, -0x64f, 0x703, 0x64f, 0x89f, 0x7ae, 0x89f, 0x7ae, 0x82d, 0x6fa, 0x82d, 0x6fa, -0x87c, 0x702, 0x87c, 0x702, 0x94b, 0x789, 0x94b, 0x789, 0x68a, 0x480, 0x68a, -0x480, 0x713, 0x4c5, 0x713, 0x4c5, 0x713, 0x4c5, 0x82c, 0x59d, 0x82c, 0x59d, -0x9bf, 0x6f8, 0x9bf, 0x6f8, 0xbe7, 0x8ef, 0xbe7, 0x8ef, 0xbed, 0x8cd, 0xbed, -0x8cd, 0xc02, 0x8c5, 0xc02, 0x8c5, 0xc02, 0x8c5, 0xca4, 0x953, 0xca4, 0x953, -0xdd9, 0xa7f, 0xdd9, 0xa7f, 0x1003, 0xcaa, 0x1003, 0xcaa, 0xf0b, 0xbbd, 0xf0b, -0xbbd, 0xf65, 0xc2a, 0xf65, 0xc2a, 0x122c, 0xf0c, 0x122c, 0xf0c, 0x122c, 0xf0c, -0x1227, 0xf27, 0x1227, 0xf27, 0x1243, 0xf68, 0x1243, 0xf68, 0x12de, 0x102b, 0x12de, -0x102b, 0x12e5, 0x105c, 0x12e5, 0x105c, 0x11e6, 0xf86, 0x11e6, 0xf86, 0x11e6, 0xfaf, -0x11e6, 0xfaf, 0x11e6, 0xfaf, 0x1151, 0xf41, 0x1151, 0xf41, 0xf8d, 0xda3, 0xf8d, -0xda3, 0xd7a, 0xbb2, 0xd7a, 0xbb2, 0xe72, 0xcca, 0xe72, 0xcca, 0xe04, 0xc79, -0xe04, 0xc79, 0xe04, 0xc79, 0xcdb, 0xb6b, 0xcdb, 0xb6b, 0xe27, 0xcd1, 0xe27, -0xcd1, 0xd00, 0xbc3, 0xd00, 0xbc3, 0xbe9, 0xac7, 0xbe9, 0xac7, 0xb43, 0xa3c, -0xb43, 0xa3c, 0xae1, 0x9f7, 0xae1, 0x9f7, 0xae1, 0x9f7, 0xa49, 0x97f, 0xa49, -0x97f, 0x903, 0x85c, 0x903, 0x85c, 0x8e5, 0x866, 0x8e5, 0x866, 0x870, 0x81e, -0x870, 0x81e, 0x66e, 0x64b, 0x66e, 0x64b, 0x65b, 0x66c, 0x65b, 0x66c, 0x65b, -0x66c, 0x418, 0x461, 0x418, 0x461, 0xb8, 0x13a, 0xb8, 0x13a, 0xfebc, 0xff79, -0xfebc, 0xff79, 0xfd52, 0xfe4a, 0xfd52, 0xfe4a, 0xfc73, 0xfda4, 0xfc73, 0xfda4, 0xfc73, -0xfda4, 0xfb51, 0xfcb9, 0xfb51, 0xfcb9, 0xfa79, 0xfc12, 0xfa79, 0xfc12, 0xf942, 0xfb07, -0xf942, 0xfb07, 0xf853, 0xfa3c, 0xf853, 0xfa3c, 0xf71e, 0xf923, 0xf71e, 0xf923, 0xf5dd, -0xf7f4, 0xf5dd, 0xf7f4, 0xf5dd, 0xf7f4, 0xf4bb, 0xf6db, 0xf4bb, 0xf6db, 0xf48d, 0xf6aa, -0xf48d, 0xf6aa, 0xf483, 0xf693, 0xf483, 0xf693, 0xf49c, 0xf694, 0xf49c, 0xf694, 0xf529, -0xf700, 0xf529, 0xf700, 0xf5f5, 0xf7a0, 0xf5f5, 0xf7a0, 0xf5f5, 0xf7a0, 0xf5ba, 0xf732, -0xf5ba, 0xf732, 0xf77b, 0xf8b9, 0xf77b, 0xf8b9, 0xf914, 0xfa12, 0xf914, 0xfa12, 0xf8ba, -0xf974, 0xf8ba, 0xf974, 0xf951, 0xf9c4, 0xf951, 0xf9c4, 0xf951, 0xf9c4, 0xfabe, 0xfae9, -0xfabe, 0xfae9, 0xfcd7, 0xfcbb, 0xfcd7, 0xfcbb, 0xfe43, 0xfde2, 0xfe43, 0xfde2, 0xfeb9, -0xfe13, 0xfeb9, 0xfe13, 0xfe2d, 0xfd48, 0xfe2d, 0xfd48, 0xff16, 0xfdf5, 0xff16, 0xfdf5, -0xff16, 0xfdf5, 0xf1, 0xff9a, 0xf1, 0xff9a, 0x254, 0xcd, 0x254, 0xcd, 0x147, -0xff93, 0x147, 0xff93, 0x190, 0xffb5, 0x190, 0xffb5, 0x3d0, 0x1d5, 0x3d0, 0x1d5, -0x428, 0x211, 0x428, 0x211, 0x428, 0x211, 0x388, 0x159, 0x388, 0x159, 0x3cf, -0x18e, 0x3cf, 0x18e, 0x4a3, 0x255, 0x4a3, 0x255, 0x4ee, 0x297, 0x4ee, 0x297, -0x47f, 0x223, 0x47f, 0x223, 0x47f, 0x223, 0x485, 0x229, 0x485, 0x229, 0x32d, -0xd5, 0x32d, 0xd5, 0x1d8, 0xff89, 0x1d8, 0xff89, 0x3a5, 0x167, 0x3a5, 0x167, -0x26f, 0x46, 0x26f, 0x46, 0x176, 0xff69, 0x176, 0xff69, 0x176, 0xff69, 0x1d8, -0xffef, 0x1d8, 0xffef, 0x31, 0xfe73, 0x31, 0xfe73, 0xff3e, 0xfdb3, 0xff3e, 0xfdb3, -0xfee5, 0xfd96, 0xfee5, 0xfd96, 0xfd6c, 0xfc62, 0xfd6c, 0xfc62, 0xfc7b, 0xfbbd, 0xfc7b, -0xfbbd, 0xfc7b, 0xfbbd, 0xfa1d, 0xf9b4, 0xfa1d, 0xf9b4, 0xf8e4, 0xf8d7, 0xf8e4, 0xf8d7, -0xf6b1, 0xf706, 0xf6b1, 0xf706, 0xf2f8, 0xf3b5, 0xf2f8, 0xf3b5, 0xf222, 0xf349, 0xf222, -0xf349, 0xf222, 0xf349, 0xefc6, 0xf159, 0xefc6, 0xf159, 0xecc0, 0xeec0, 0xecc0, 0xeec0, -0xe93f, 0xeba9, 0xe93f, 0xeba9, 0xe5e8, 0xe8b8, 0xe5e8, 0xe8b8, 0xe1f8, 0xe527, 0xe1f8, -0xe527, 0xdfba, 0xe341, 0xdfba, 0xe341, 0xdfba, 0xe341, 0xde0e, 0xe1e3, 0xde0e, 0xe1e3, -0xdc68, 0xe07f, 0xdc68, 0xe07f, 0xdbae, 0xdffa, 0xdbae, 0xdffa, 0xdb03, 0xdf77, 0xdb03, -0xdf77, 0xdaa4, 0xdf31, 0xdaa4, 0xdf31, 0xd9b3, 0xde4a, 0xd9b3, 0xde4a, 0xd9b3, 0xde4a, -0xd9a9, 0xde3d, 0xd9a9, 0xde3d, 0xda3c, 0xdebf, 0xda3c, 0xdebf, 0xda00, 0xde65, 0xda00, -0xde65, 0xdb19, 0xdf55, 0xdb19, 0xdf55, 0xdc83, 0xe08c, 0xdc83, 0xe08c, 0xdc83, 0xe08c, -0xdc4c, 0xe01a, 0xdc4c, 0xe01a, 0xdec2, 0xe24f, 0xdec2, 0xe24f, 0xe091, 0xe3d7, 0xe091, -0xe3d7, 0xe2a9, 0xe5a8, 0xe2a9, 0xe5a8, 0xe52c, 0xe7e2, 0xe52c, 0xe7e2, 0xe7b7, 0xea25, -0xe7b7, 0xea25, 0xe7b7, 0xea25, 0xea45, 0xec6e, 0xea45, 0xec6e, 0xebdf, 0xedc5, 0xebdf, -0xedc5, 0xecfd, 0xeea4, 0xecfd, 0xeea4, 0xedc0, 0xef2d, 0xedc0, 0xef2d, 0xee84, 0xefbb, -0xee84, 0xefbb, 0xf0c6, 0xf1cc, 0xf0c6, 0xf1cc, 0xf0c6, 0xf1cc, 0xf2e7, 0xf3bf, 0xf2e7, -0xf3bf, 0xf253, 0xf300, 0xf253, 0xf300, 0xf50c, 0xf590, 0xf50c, 0xf590, 0xf82a, 0xf887, -0xf82a, 0xf887, 0xfac2, 0xfaf7, 0xfac2, 0xfaf7, 0xfac2, 0xfaf7, 0xfcc3, 0xfcd0, 0xfcc3, -0xfcd0, 0xff72, 0xff55, 0xff72, 0xff55, 0x36f, 0x326, 0x36f, 0x326, 0x5b1, 0x53a, -0x5b1, 0x53a, 0x931, 0x88a, 0x931, 0x88a, 0xd0e, 0xc34, 0xd0e, 0xc34, 0xd0e, -0xc34, 0xd36, 0xc28, 0xd36, 0xc28, 0xee1, 0xd9e, 0xee1, 0xd9e, 0x1367, 0x11f1, -0x1367, 0x11f1, 0x14ca, 0x1323, 0x14ca, 0x1323, 0x163d, 0x1469, 0x163d, 0x1469, 0x163d, -0x1469, 0x187e, 0x1683, 0x187e, 0x1683, 0x193b, 0x1721, 0x193b, 0x1721, 0x198b, 0x175d, -0x198b, 0x175d, 0x19f9, 0x17c2, 0x19f9, 0x17c2, 0x1adb, 0x18a8, 0x1adb, 0x18a8, 0x1af4, -0x18d4, 0x1af4, 0x18d4, 0x1af4, 0x18d4, 0x1abc, 0x18be, 0x1abc, 0x18be, 0x1bbb, 0x19ee, -0x1bbb, 0x19ee, 0x1b42, 0x19b5, 0x1b42, 0x19b5, 0x19ff, 0x18c2, 0x19ff, 0x18c2, 0x187d, -0x179c, 0x187d, 0x179c, 0x175c, 0x16e3, 0x175c, 0x16e3, 0x175c, 0x16e3, 0x1432, 0x142a, -0x1432, 0x142a, 0x1229, 0x129a, 0x1229, 0x129a, 0xf82, 0x1070, 0xf82, 0x1070, 0xaf7, -0xc63, 0xaf7, 0xc63, 0x852, 0xa39, 0x852, 0xa39, 0x852, 0xa39, 0x439, 0x697, -0x439, 0x697, 0xd0, 0x39b, 0xd0, 0x39b, 0xfd2c, 0x5b, 0xfd2c, 0x5b, 0xfa9d, -0xfe20, 0xfa9d, 0xfe20, 0xf773, 0xfb3c, 0xf773, 0xfb3c, 0xf3e5, 0xf7e2, 0xf3e5, 0xf7e2, -0xf3e5, 0xf7e2, 0xf0f6, 0xf514, 0xf0f6, 0xf514, 0xee7f, 0xf2ac, 0xee7f, 0xf2ac, 0xec13, -0xf03c, 0xec13, 0xf03c, 0xebe4, 0xeff6, 0xebe4, 0xeff6, 0xeaff, 0xeee9, 0xeaff, 0xeee9, -0xe8fe, 0xecb1, 0xe8fe, 0xecb1, 0xe8fe, 0xecb1, 0xea54, 0xedc1, 0xea54, 0xedc1, 0xeb0b, -0xee28, 0xeb0b, 0xee28, 0xec03, 0xeec6, 0xec03, 0xeec6, 0xed0b, 0xef6e, 0xed0b, 0xef6e, -0xef78, 0xf176, 0xef78, 0xf176, 0xef78, 0xf176, 0xf2a5, 0xf43e, 0xf2a5, 0xf43e, 0xf59e, -0xf6d3, 0xf59e, 0xf6d3, 0xf7f0, 0xf8c4, 0xf7f0, 0xf8c4, 0xf959, 0xf9d0, 0xf959, 0xf9d0, -0xf932, 0xf951, 0xf932, 0xf951, 0xfb55, 0xfb24, 0xfb55, 0xfb24, 0xfb55, 0xfb24, 0xfb90, -0xfb16, 0xfb90, 0xfb16, 0xf9dc, 0xf91f, 0xf9dc, 0xf91f, 0xfb85, 0xfa8d, 0xfb85, 0xfa8d, -0xfd75, 0xfc48, 0xfd75, 0xfc48, 0xff03, 0xfda7, 0xff03, 0xfda7, 0xff57, 0xfdcf, 0xff57, -0xfdcf, 0xff57, 0xfdcf, 0xd0, 0xff20, 0xd0, 0xff20, 0x1ce, 0xfff8, 0x1ce, 0xfff8, -0x29c, 0xa1, 0x29c, 0xa1, 0x458, 0x238, 0x458, 0x238, 0x6a4, 0x45f, 0x6a4, -0x45f, 0x6a4, 0x45f, 0x64d, 0x3e3, 0x64d, 0x3e3, 0x8a1, 0x611, 0x8a1, 0x611, -0xcfa, 0xa44, 0xcfa, 0xa44, 0xdd8, 0xafd, 0xdd8, 0xafd, 0xfd6, 0xcd8, 0xfd6, -0xcd8, 0x1153, 0xe34, 0x1153, 0xe34, 0x1153, 0xe34, 0x11d7, 0xe9c, 0x11d7, 0xe9c, -0x12c1, 0xf70, 0x12c1, 0xf70, 0x142b, 0x10ce, 0x142b, 0x10ce, 0x1500, 0x11a0, 0x1500, -0x11a0, 0x14a6, 0x114e, 0x14a6, 0x114e, 0x15a4, 0x1262, 0x15a4, 0x1262, 0x15a4, 0x1262, -0x16ba, 0x139d, 0x16ba, 0x139d, 0x15e8, 0x1300, 0x15e8, 0x1300, 0x14e3, 0x123f, 0x14e3, -0x123f, 0x141e, 0x11cd, 0x141e, 0x11cd, 0x1230, 0x1042, 0x1230, 0x1042, 0x1230, 0x1042, -0xfac, 0xe30, 0xfac, 0xe30, 0xe5c, 0xd5f, 0xe5c, 0xd5f, 0xb3a, 0xac6, 0xb3a, -0xac6, 0x867, 0x885, 0x867, 0x885, 0x61d, 0x6d3, 0x61d, 0x6d3, 0x4ef, 0x640, -0x4ef, 0x640, 0x4ef, 0x640, 0x2ff, 0x4ec, 0x2ff, 0x4ec, 0x60, 0x2e6, 0x60, -0x2e6, 0xfce5, 0xfffd, 0xfce5, 0xfffd, 0xf842, 0xfbe2, 0xf842, 0xfbe2, 0xf573, 0xf991, -0xf573, 0xf991, 0xf23e, 0xf6cc, 0xf23e, 0xf6cc, 0xf23e, 0xf6cc, 0xef14, 0xf401, 0xef14, -0xf401, 0xeaf9, 0xf034, 0xeaf9, 0xf034, 0xea8b, 0xf001, 0xea8b, 0xf001, 0xe77e, 0xed1c, -0xe77e, 0xed1c, 0xe419, 0xe9cc, 0xe419, 0xe9cc, 0xe419, 0xe9cc, 0xe438, 0xe9ee, 0xe438, -0xe9ee, 0xe2ee, 0xe893, 0xe2ee, 0xe893, 0xe249, 0xe7cc, 0xe249, 0xe7cc, 0xe2c1, 0xe814, -0xe2c1, 0xe814, 0xe338, 0xe84c, 0xe338, 0xe84c, 0xe3c8, 0xe892, 0xe3c8, 0xe892, 0xe3c8, -0xe892, 0xe4b1, 0xe927, 0xe4b1, 0xe927, 0xe65c, 0xea74, 0xe65c, 0xea74, 0xe81e, 0xebd3, -0xe81e, 0xebd3, 0xe920, 0xec6c, 0xe920, 0xec6c, 0xedb7, 0xf096, 0xedb7, 0xf096, 0xef01, -0xf171, 0xef01, 0xf171, 0xef01, 0xf171, 0xef8b, 0xf18c, 0xef8b, 0xf18c, 0xf264, 0xf3f4, -0xf264, 0xf3f4, 0xf45a, 0xf579, 0xf45a, 0xf579, 0xf5e6, 0xf694, 0xf5e6, 0xf694, 0xf783, -0xf7c1, 0xf783, 0xf7c1, 0xf783, 0xf7c1, 0xfa35, 0xfa01, 0xfa35, 0xfa01, 0xfc71, 0xfbcc, -0xfc71, 0xfbcc, 0xfd3f, 0xfc29, 0xfd3f, 0xfc29, 0xb3, 0xff2b, 0xb3, 0xff2b, 0x363, -0x169, 0x363, 0x169, 0x3a8, 0x13b, 0x3a8, 0x13b, 0x3a8, 0x13b, 0x861, 0x581, -0x861, 0x581, 0xba6, 0x854, 0xba6, 0x854, 0xe9f, 0xadc, 0xe9f, 0xadc, 0x1267, -0xe35, 0x1267, 0xe35, 0x15c9, 0x112a, 0x15c9, 0x112a, 0x1841, 0x133a, 0x1841, 0x133a, -0x1841, 0x133a, 0x1a47, 0x14de, 0x1a47, 0x14de, 0x1cc9, 0x1705, 0x1cc9, 0x1705, 0x1e5d, -0x1848, 0x1e5d, 0x1848, 0x1ef5, 0x1898, 0x1ef5, 0x1898, 0x211b, 0x1a83, 0x211b, 0x1a83, -0x211b, 0x1a83, 0x22c4, 0x1bfe, 0x22c4, 0x1bfe, 0x227c, 0x1b96, 0x227c, 0x1b96, 0x22eb, -0x1bf5, 0x22eb, 0x1bf5, 0x222a, 0x1b32, 0x222a, 0x1b32, 0x21cb, 0x1ae2, 0x21cb, 0x1ae2, -0x2192, 0x1ac7, 0x2192, 0x1ac7, 0x2192, 0x1ac7, 0x2105, 0x1a67, 0x2105, 0x1a67, 0x1f2a, -0x18c7, 0x1f2a, 0x18c7, 0x1d38, 0x171c, 0x1d38, 0x171c, 0x1ca1, 0x16d8, 0x1ca1, 0x16d8, -0x1ba2, 0x1634, 0x1ba2, 0x1634, 0x1a1b, 0x1511, 0x1a1b, 0x1511, 0x1a1b, 0x1511, 0x1a2b, -0x1589, 0x1a2b, 0x1589, 0x18ed, 0x14b6, 0x18ed, 0x14b6, 0x1764, 0x1398, 0x1764, 0x1398, -0x152b, 0x11ca, 0x152b, 0x11ca, 0x1284, 0xf89, 0x1284, 0xf89, 0x1284, 0xf89, 0xe93, -0xbfa, 0xe93, 0xbfa, 0xb0d, 0x8d0, 0xb0d, 0x8d0, 0xa9d, 0x8b3, 0xa9d, 0x8b3, -0x7a5, 0x606, 0x7a5, 0x606, 0x64a, 0x4ec, 0x64a, 0x4ec, 0x5e0, 0x4bb, 0x5e0, -0x4bb, 0x5e0, 0x4bb, 0x428, 0x332, 0x428, 0x332, 0x272, 0x1a2, 0x272, 0x1a2, -0x283, 0x1d0, 0x283, 0x1d0, 0x1f6, 0x159, 0x1f6, 0x159, 0x1c8, 0x13a, 0x1c8, -0x13a, 0x1c8, 0x13a, 0x204, 0x180, 0x204, 0x180, 0x1b0, 0x131, 0x1b0, 0x131, -0xff99, 0xff1b, 0xff99, 0xff1b, 0xfe5c, 0xfddb, 0xfe5c, 0xfddb, 0x17, 0xff92, 0x17, -0xff92, 0xff29, 0xfe9f, 0xff29, 0xfe9f, 0xff29, 0xfe9f, 0xfeb6, 0xfe25, 0xfeb6, 0xfe25, -0x4e, 0xffb6, 0x4e, 0xffb6, 0x7e, 0xffdf, 0x7e, 0xffdf, 0xff65, 0xfebd, 0xff65, -0xfebd, 0xff9c, 0xfeed, 0xff9c, 0xfeed, 0xffec, 0xff34, 0xffec, 0xff34, 0xffec, 0xff34, -0x3f, 0xff7e, 0x3f, 0xff7e, 0xff16, 0xfe4a, 0xff16, 0xfe4a, 0xce, 0xfff7, 0xce, -0xfff7, 0xe6, 0x3, 0xe6, 0x3, 0xffa1, 0xfeaf, 0xffa1, 0xfeaf, 0xffa1, 0xfeaf, -0x286, 0x186, 0x286, 0x186, 0x408, 0x2f8, 0x408, 0x2f8, 0x530, 0x40f, 0x530, -0x40f, 0x8ff, 0x7cd, 0x8ff, 0x7cd, 0xbc8, 0xa87, 0xbc8, 0xa87, 0xd2b, 0xbda, -0xd2b, 0xbda, 0xd2b, 0xbda, 0xf1a, 0xdbd, 0xf1a, 0xdbd, 0x10d1, 0xf6b, 0x10d1, -0xf6b, 0x13b4, 0x124a, 0x13b4, 0x124a, 0x13b7, 0x124d, 0x13b7, 0x124d, 0x15b4, 0x1451, -0x15b4, 0x1451, 0x16bc, 0x1567, 0x16bc, 0x1567, 0x16bc, 0x1567, 0x15ce, 0x148f, 0x15ce, -0x148f, 0x164a, 0x152a, 0x164a, 0x152a, 0x153f, 0x1445, 0x153f, 0x1445, 0x135d, 0x1293, -0x135d, 0x1293, 0x11a8, 0x1115, 0x11a8, 0x1115, 0x11a8, 0x1115, 0xf77, 0xf23, 0xf77, -0xf23, 0xce2, 0xcd6, 0xce2, 0xcd6, 0x9dc, 0xa1c, 0x9dc, 0xa1c, 0x7cd, 0x85e, -0x7cd, 0x85e, 0x7dd, 0x8c3, 0x7dd, 0x8c3, 0x68f, 0x7cb, 0x68f, 0x7cb, 0x68f, -0x7cb, 0x56a, 0x6fc, 0x56a, 0x6fc, 0x30b, 0x4f2, 0x30b, 0x4f2, 0x211, 0x44a, -0x211, 0x44a, 0x12a, 0x3b0, 0x12a, 0x3b0, 0xffcd, 0x29a, 0xffcd, 0x29a, 0xfd18, -0x23, 0xfd18, 0x23, 0xfd18, 0x23, 0xfac5, 0xfe07, 0xfac5, 0xfe07, 0xf95a, 0xfcc9, -0xf95a, 0xfcc9, 0xf682, 0xfa13, 0xf682, 0xfa13, 0xf55e, 0xf907, 0xf55e, 0xf907, 0xf470, -0xf827, 0xf470, 0xf827, 0xf470, 0xf827, 0xf227, 0xf5e0, 0xf227, 0xf5e0, 0xeffc, 0xf3ad, -0xeffc, 0xf3ad, 0xefb0, 0xf350, 0xefb0, 0xf350, 0xeef6, 0xf27c, 0xeef6, 0xf27c, 0xee8d, -0xf1f1, 0xee8d, 0xf1f1, 0xee5e, 0xf199, 0xee5e, 0xf199, 0xee5e, 0xf199, 0xee7c, 0xf188, -0xee7c, 0xf188, 0xed4e, 0xf027, 0xed4e, 0xf027, 0xedf5, 0xf097, 0xedf5, 0xf097, 0xeedf, -0xf147, 0xeedf, 0xf147, 0xecf1, 0xef1d, 0xecf1, 0xef1d, 0xec23, 0xee12, 0xec23, 0xee12, -0xec23, 0xee12, 0xeca8, 0xee5a, 0xeca8, 0xee5a, 0xec7e, 0xedf3, 0xec7e, 0xedf3, 0xed08, -0xee42, 0xed08, 0xee42, 0xedbc, 0xeebb, 0xedbc, 0xeebb, 0xee2e, 0xeef5, 0xee2e, 0xeef5, -0xee2e, 0xeef5, 0xedc8, 0xee58, 0xedc8, 0xee58, 0xec57, 0xecb3, 0xec57, 0xecb3, 0xece7, -0xed11, 0xece7, 0xed11, 0xeb37, 0xeb32, 0xeb37, 0xeb32, 0xe959, 0xe929, 0xe959, 0xe929, -0xea50, 0xe9f7, 0xea50, 0xe9f7, 0xea50, 0xe9f7, 0xea40, 0xe9c3, 0xea40, 0xe9c3, 0xe938, -0xe89a, 0xe938, 0xe89a, 0xeb4d, 0xea93, 0xeb4d, 0xea93, 0xebc8, 0xeaf7, 0xebc8, 0xeaf7, -0xec71, 0xeb8f, 0xec71, 0xeb8f, 0xed50, 0xec62, 0xed50, 0xec62, 0xed50, 0xec62, 0xeeb0, -0xedbc, 0xeeb0, 0xedbc, 0xf09b, 0xefa7, 0xf09b, 0xefa7, 0xf237, 0xf14d, 0xf237, 0xf14d, -0xf5b7, 0xf4dc, 0xf5b7, 0xf4dc, 0xf714, 0xf650, 0xf714, 0xf650, 0xf714, 0xf650, 0xf899, -0xf7f4, 0xf899, 0xf7f4, 0xf9d2, 0xf953, 0xf9d2, 0xf953, 0xfab5, 0xfa65, 0xfab5, 0xfa65, -0xf9b7, 0xf99b, 0xf9b7, 0xf99b, 0xf9ae, 0xf9ce, 0xf9ae, 0xf9ce, 0xf8ef, 0xf950, 0xf8ef, -0xf950, 0xf8ef, 0xf950, 0xf6ef, 0xf796, 0xf6ef, 0xf796, 0xf53d, 0xf62f, 0xf53d, 0xf62f, -0xf4c2, 0xf602, 0xf4c2, 0xf602, 0xf4a6, 0xf635, 0xf4a6, 0xf635, 0xf40d, 0xf5ec, 0xf40d, -0xf5ec, 0xf2f5, 0xf524, 0xf2f5, 0xf524, 0xf2f5, 0xf524, 0xf1bc, 0xf43a, 0xf1bc, 0xf43a, -0xf0d3, 0xf39d, 0xf0d3, 0xf39d, 0xef87, 0xf29a, 0xef87, 0xf29a, 0xefc9, 0xf320, 0xefc9, -0xf320, 0xecee, 0xf084, 0xecee, 0xf084, 0xecee, 0xf084, 0xec04, 0xefd3, 0xec04, 0xefd3, -0xeb36, 0xef38, 0xeb36, 0xef38, 0xea79, 0xeea5, 0xea79, 0xeea5, 0xea1c, 0xee6b, 0xea1c, -0xee6b, 0xe96a, 0xedd4, 0xe96a, 0xedd4, 0xe91d, 0xed9b, 0xe91d, 0xed9b, 0xe91d, 0xed9b, -0xe8c4, 0xed4d, 0xe8c4, 0xed4d, 0xe9a1, 0xee2c, 0xe9a1, 0xee2c, 0xe9de, 0xee64, 0xe9de, -0xee64, 0xeb76, 0xefef, 0xeb76, 0xefef, 0xed2e, 0xf192, 0xed2e, 0xf192, 0xedf2, 0xf239, -0xedf2, 0xf239, 0xedf2, 0xf239, 0xee45, 0xf269, 0xee45, 0xf269, 0xf05b, 0xf455, 0xf05b, -0xf455, 0xf225, 0xf5ed, 0xf225, 0xf5ed, 0xf2ca, 0xf65a, 0xf2ca, 0xf65a, 0xf487, 0xf7db, -0xf487, 0xf7db, 0xf487, 0xf7db, 0xf70c, 0xfa1d, 0xf70c, 0xfa1d, 0xf7ac, 0xfa75, 0xf7ac, -0xfa75, 0xf8b7, 0xfb33, 0xf8b7, 0xfb33, 0xf9ff, 0xfc2b, 0xf9ff, 0xfc2b, 0xfc23, 0xfdfc, -0xfc23, 0xfdfc, 0xfeed, 0x70, 0xfeed, 0x70, 0xfeed, 0x70, 0x123, 0x24f, 0x123, -0x24f, 0x47c, 0x54f, 0x47c, 0x54f, 0x5ba, 0x635, 0x5ba, 0x635, 0x6f8, 0x71c, -0x6f8, 0x71c, 0x9dd, 0x9ac, 0x9dd, 0x9ac, 0x9fc, 0x979, 0x9fc, 0x979, 0x9fc, -0x979, 0xb7a, 0xaa9, 0xb7a, 0xaa9, 0xdab, 0xc92, 0xdab, 0xc92, 0xd6e, 0xc12, -0xd6e, 0xc12, 0xd9e, 0xc06, 0xd9e, 0xc06, 0xc66, 0xa9b, 0xc66, 0xa9b, 0xc66, -0xa9b, 0xd0e, 0xb16, 0xd0e, 0xb16, 0xd25, 0xb0a, 0xd25, 0xb0a, 0xea1, 0xc6b, -0xea1, 0xc6b, 0xfd2, 0xd8a, 0xfd2, 0xd8a, 0xf14, 0xcc3, 0xf14, 0xcc3, 0xea0, -0xc4e, 0xea0, 0xc4e, 0xea0, 0xc4e, 0xf59, 0xd0e, 0xf59, 0xd0e, 0xf1f, 0xce3, -0xf1f, 0xce3, 0xe88, 0xc61, 0xe88, 0xc61, 0xf0a, 0xcfd, 0xf0a, 0xcfd, 0xd12, -0xb24, 0xd12, 0xb24, 0xd12, 0xb24, 0xb3b, 0x970, 0xb3b, 0x970, 0x928, 0x783, -0x928, 0x783, 0x8cf, 0x750, 0x8cf, 0x750, 0x713, 0x5bd, 0x713, 0x5bd, 0x6c7, -0x599, 0x6c7, 0x599, 0x610, 0x509, 0x610, 0x509, 0x610, 0x509, 0x504, 0x423, -0x504, 0x423, 0x421, 0x363, 0x421, 0x363, 0x3c4, 0x328, 0x3c4, 0x328, 0x2cb, -0x24e, 0x2cb, 0x24e, 0x1, 0xff9f, 0x1, 0xff9f, 0xff22, 0xfeda, 0xff22, 0xfeda, -0xff22, 0xfeda, 0xfe13, 0xfde2, 0xfe13, 0xfde2, 0xfdcb, 0xfdae, 0xfdcb, 0xfdae, 0xfd73, -0xfd68, 0xfd73, 0xfd68, 0xfeae, 0xfeb3, 0xfeae, 0xfeb3, 0xfd94, 0xfda7, 0xfd94, 0xfda7, -0xfd94, 0xfda7, 0xfcf1, 0xfd11, 0xfcf1, 0xfd11, 0xfcff, 0xfd2a, 0xfcff, 0xfd2a, 0xfc77, -0xfcab, 0xfc77, 0xfcab, 0xfbc5, 0xfc01, 0xfbc5, 0xfc01, 0xfb64, 0xfba6, 0xfb64, 0xfba6, -0xfad3, 0xfb18, 0xfad3, 0xfb18, 0xfad3, 0xfb18, 0xf995, 0xf9dc, 0xf995, 0xf9dc, 0xfa8d, -0xfad3, 0xfa8d, 0xfad3, 0xfacb, 0xfb0c, 0xfacb, 0xfb0c, 0xfa04, 0xfa3d, 0xfa04, 0xfa3d, -0xfa04, 0xfa30, 0xfa04, 0xfa30, 0xfa63, 0xfa7e, 0xfa63, 0xfa7e, 0xfa63, 0xfa7e, 0xfa4c, -0xfa52, 0xfa4c, 0xfa52, 0xfa41, 0xfa2c, 0xfa41, 0xfa2c, 0xfacc, 0xfa99, 0xfacc, 0xfa99, -0xfbe1, 0xfb8a, 0xfbe1, 0xfb8a, 0xfbc5, 0xfb47, 0xfbc5, 0xfb47, 0xfbc5, 0xfb47, 0xfd89, -0xfce0, 0xfd89, 0xfce0, 0xffd6, 0xff01, 0xffd6, 0xff01, 0xb1, 0xffac, 0xb1, 0xffac, -0x207, 0xd4, 0x207, 0xd4, 0x493, 0x332, 0x493, 0x332, 0x58e, 0x401, 0x58e, -0x401, 0x58e, 0x401, 0x76d, 0x5b8, 0x76d, 0x5b8, 0x9ec, 0x814, 0x9ec, 0x814, -0xbeb, 0x9f9, 0xbeb, 0x9f9, 0xc6e, 0xa68, 0xc6e, 0xa68, 0xbb3, 0x9a4, 0xbb3, -0x9a4, 0xcc3, 0xab4, 0xcc3, 0xab4, 0xcc3, 0xab4, 0xcaf, 0xaac, 0xcaf, 0xaac, -0xce0, 0xaf5, 0xce0, 0xaf5, 0xd26, 0xb5d, 0xd26, 0xb5d, 0xc7a, 0xae0, 0xc7a, -0xae0, 0xb7c, 0xa1b, 0xb7c, 0xa1b, 0xb7c, 0xa1b, 0xc1c, 0xaff, 0xc1c, 0xaff, -0xb28, 0xa57, 0xb28, 0xa57, 0xaae, 0xa30, 0xaae, 0xa30, 0x9d4, 0x9b0, 0x9d4, -0x9b0, 0x8d1, 0x90a, 0x8d1, 0x90a, 0x715, 0x7ad, 0x715, 0x7ad, 0x715, 0x7ad, -0x4b9, 0x5b1, 0x4b9, 0x5b1, 0x2d0, 0x425, 0x2d0, 0x425, 0x175, 0x323, 0x175, -0x323, 0x6a, 0x26c, 0x6a, 0x26c, 0xfe70, 0xc0, 0xfe70, 0xc0, 0xfdc5, 0x5b, -0xfdc5, 0x5b, 0xfdc5, 0x5b, 0xfbae, 0xfe80, 0xfbae, 0xfe80, 0xfb8d, 0xfe91, 0xfb8d, -0xfe91, 0xf88f, 0xfbbb, 0xf88f, 0xfbbb, 0xf607, 0xf952, 0xf607, 0xf952, 0xf498, 0xf7f7, -0xf498, 0xf7f7, 0xf498, 0xf7f7, 0xf29b, 0xf605, 0xf29b, 0xf605, 0xf207, 0xf572, 0xf207, -0xf572, 0xf26c, 0xf5d0, 0xf26c, 0xf5d0, 0xf323, 0xf679, 0xf323, 0xf679, 0xf399, 0xf6db, -0xf399, 0xf6db, 0xf489, 0xf7b1, 0xf489, 0xf7b1, 0xf489, 0xf7b1, 0xf593, 0xf89c, 0xf593, -0xf89c, 0xf6e1, 0xf9c8, 0xf6e1, 0xf9c8, 0xf70b, 0xf9cb, 0xf70b, 0xf9cb, 0xf96b, 0xfc03, -0xf96b, 0xfc03, 0xf962, 0xfbce, 0xf962, 0xfbce, 0xf98e, 0xfbcb, 0xf98e, 0xfbcb, 0xf98e, -0xfbcb, 0xfb48, 0xfd53, 0xfb48, 0xfd53, 0xfbb2, 0xfd89, 0xfbb2, 0xfd89, 0xfb4f, 0xfced, -0xfb4f, 0xfced, 0xfbb9, 0xfd19, 0xfbb9, 0xfd19, 0xfd1d, 0xfe3a, 0xfd1d, 0xfe3a, 0xfd1d, -0xfe3a, 0xfd0f, 0xfde4, 0xfd0f, 0xfde4, 0xfc49, 0xfccf, 0xfc49, 0xfccf, 0xfdb7, 0xfde7, -0xfdb7, 0xfde7, 0xff75, 0xff48, 0xff75, 0xff48, 0x15, 0xff84, 0x15, 0xff84, 0x291, -0x194, 0x291, 0x194, 0x291, 0x194, 0x4be, 0x34f, 0x4be, 0x34f, 0x462, 0x27c, -0x462, 0x27c, 0x700, 0x49d, 0x700, 0x49d, 0xae6, 0x803, 0xae6, 0x803, 0xc88, -0x924, 0xc88, 0x924, 0xfbf, 0xbd9, 0xfbf, 0xbd9, 0xfbf, 0xbd9, 0x1236, 0xdd2, -0x1236, 0xdd2, 0x1721, 0x1243, 0x1721, 0x1243, 0x18aa, 0x1359, 0x18aa, 0x1359, 0x1a34, -0x1478, 0x1a34, 0x1478, 0x1d5b, 0x1740, 0x1d5b, 0x1740, 0x1d5b, 0x1740, 0x1dbf, 0x1752, -0x1dbf, 0x1752, 0x2029, 0x1978, 0x2029, 0x1978, 0x22fc, 0x1c16, 0x22fc, 0x1c16, 0x2307, -0x1bfd, 0x2307, 0x1bfd, 0x21fc, 0x1adf, 0x21fc, 0x1adf, 0x2231, 0x1b13, 0x2231, 0x1b13, -0x2231, 0x1b13, 0x21f9, 0x1aea, 0x21f9, 0x1aea, 0x21bc, 0x1ace, 0x21bc, 0x1ace, 0x215d, -0x1a9e, 0x215d, 0x1a9e, 0x2243, 0x1bc2, 0x2243, 0x1bc2, 0x2059, 0x1a22, 0x2059, 0x1a22, -0x1f05, 0x1921, 0x1f05, 0x1921, 0x1f05, 0x1921, 0x1f14, 0x198d, 0x1f14, 0x198d, 0x1eda, -0x19b5, 0x1eda, 0x19b5, 0x1e0c, 0x194f, 0x1e0c, 0x194f, 0x1d61, 0x190e, 0x1d61, 0x190e, -0x1bc9, 0x17df, 0x1bc9, 0x17df, 0x1bc9, 0x17df, 0x18ec, 0x156b, 0x18ec, 0x156b, 0x1734, -0x1418, 0x1734, 0x1418, 0x143f, 0x1186, 0x143f, 0x1186, 0x10e7, 0xe8c, 0x10e7, 0xe8c, -0xe42, 0xc40, 0xe42, 0xc40, 0xb72, 0x9c4, 0xb72, 0x9c4, 0xb72, 0x9c4, 0x857, -0x6f8, 0x857, 0x6f8, 0x5a4, 0x48f, 0x5a4, 0x48f, 0x245, 0x176, 0x245, 0x176, -0x150, 0xc2, 0x150, 0xc2, 0xfef0, 0xfea1, 0xfef0, 0xfea1, 0xfe04, 0xfdf2, 0xfe04, -0xfdf2, 0xfe04, 0xfdf2, 0xfe37, 0xfe5f, 0xfe37, 0xfe5f, 0xfd74, 0xfdd6, 0xfd74, 0xfdd6, -0xfd46, 0xfde1, 0xfd46, 0xfde1, 0xfc3e, 0xfd10, 0xfc3e, 0xfd10, 0xfac2, 0xfbcb, 0xfac2, -0xfbcb, 0xfac2, 0xfbcb, 0xfa98, 0xfbd8, 0xfa98, 0xfbd8, 0xfa3f, 0xfbb4, 0xfa3f, 0xfbb4, -0xf880, 0xfa27, 0xf880, 0xfa27, 0xf8b5, 0xfa8d, 0xf8b5, 0xfa8d, 0xf7f1, 0xf9f5, 0xf7f1, -0xf9f5, 0xf6b6, 0xf8e2, 0xf6b6, 0xf8e2, 0xf6b6, 0xf8e2, 0xf547, 0xf795, 0xf547, 0xf795, -0xf5ac, 0xf816, 0xf5ac, 0xf816, 0xf58b, 0xf809, 0xf58b, 0xf809, 0xf4a9, 0xf733, 0xf4a9, -0xf733, 0xf516, 0xf7a2, 0xf516, 0xf7a2, 0xf516, 0xf7a2, 0xf50b, 0xf791, 0xf50b, 0xf791, -0xf46a, 0xf6e0, 0xf46a, 0xf6e0, 0xf6c3, 0xf920, 0xf6c3, 0xf920, 0xf7f1, 0xfa2e, 0xf7f1, -0xfa2e, 0xf889, 0xfa9d, 0xf889, 0xfa9d, 0xf9ac, 0xfb91, 0xf9ac, 0xfb91, 0xf9ac, 0xfb91, -0xfa9a, 0xfc4b, 0xfa9a, 0xfc4b, 0xfd1e, 0xfe97, 0xfd1e, 0xfe97, 0xfd20, 0xfe5f, 0xfd20, -0xfe5f, 0xff65, 0x6b, 0xff65, 0x6b, 0x1c9, 0x297, 0x1c9, 0x297, 0x355, 0x3ee, -0x355, 0x3ee, 0x355, 0x3ee, 0x783, 0x7eb, 0x783, 0x7eb, 0xb7c, 0xbba, 0xb7c, -0xbba, 0xa71, 0xa8c, 0xa71, 0xa8c, 0xa9d, 0xa9d, 0xa9d, 0xa9d, 0xa53, 0xa3f, -0xa53, 0xa3f, 0xa53, 0xa3f, 0x906, 0x8e8, 0x906, 0x8e8, 0x7ce, 0x7af, 0x7ce, -0x7af, 0x65f, 0x647, 0x65f, 0x647, 0x6d9, 0x6ce, 0x6d9, 0x6ce, 0x534, 0x53e, -0x534, 0x53e, 0x47d, 0x49f, 0x47d, 0x49f, 0x47d, 0x49f, 0x418, 0x458, 0x418, -0x458, 0x2ae, 0x30e, 0x2ae, 0x30e, 0x154, 0x1d6, 0x154, 0x1d6, 0x305, 0x3aa, -0x305, 0x3aa, 0x2a1, 0x366, 0x2a1, 0x366, 0x23d, 0x322, 0x23d, 0x322, 0x23d, -0x322, 0x31c, 0x41e, 0x31c, 0x41e, 0xb0, 0x1cd, 0xb0, 0x1cd, 0xfe3e, 0xff72, -0xfe3e, 0xff72, 0xfc43, 0xfd8d, 0xfc43, 0xfd8d, 0xfa3d, 0xfb99, 0xfa3d, 0xfb99, 0xfa3d, -0xfb99, 0xf94e, 0xfabb, 0xf94e, 0xfabb, 0xf7f8, 0xf974, 0xf7f8, 0xf974, 0xf6d0, 0xf85c, -0xf6d0, 0xf85c, 0xf576, 0xf712, 0xf576, 0xf712, 0xf388, 0xf536, 0xf388, 0xf536, 0xf104, -0xf2c5, 0xf104, 0xf2c5, 0xf104, 0xf2c5, 0xee31, 0xf009, 0xee31, 0xf009, 0xedf3, 0xefe5, -0xedf3, 0xefe5, 0xed91, 0xefa1, 0xed91, 0xefa1, 0xec45, 0xee77, 0xec45, 0xee77, 0xea0e, -0xec66, 0xea0e, 0xec66, 0xe9d4, 0xec54, 0xe9d4, 0xec54, 0xe9d4, 0xec54, 0xe9fa, 0xeca6, -0xe9fa, 0xeca6, 0xe8bd, 0xeb95, 0xe8bd, 0xeb95, 0xe6b4, 0xe9b8, 0xe6b4, 0xe9b8, 0xe59e, -0xe8cc, 0xe59e, 0xe8cc, 0xe1bc, 0xe512, 0xe1bc, 0xe512, 0xe1bc, 0xe512, 0xdf60, 0xe2d9, -0xdf60, 0xe2d9, 0xe088, 0xe41f, 0xe088, 0xe41f, 0xdfdf, 0xe38c, 0xdfdf, 0xe38c, 0xe01c, -0xe3d6, 0xe01c, 0xe3d6, 0xe11f, 0xe4de, 0xe11f, 0xe4de, 0xe047, 0xe400, 0xe047, 0xe400, -0xe047, 0xe400, 0xddbb, 0xe164, 0xddbb, 0xe164, 0xdfa8, 0xe337, 0xdfa8, 0xe337, 0xe067, -0xe3d2, 0xe067, 0xe3d2, 0xe15a, 0xe49a, 0xe15a, 0xe49a, 0xe20b, 0xe516, 0xe20b, 0xe516, -0xe4d4, 0xe7a6, 0xe4d4, 0xe7a6, 0xe4d4, 0xe7a6, 0xea07, 0xec9a, 0xea07, 0xec9a, 0xec96, -0xeee9, 0xec96, 0xeee9, 0xeefe, 0xf110, 0xeefe, 0xf110, 0xf050, 0xf223, 0xf050, 0xf223, -0xf0ba, 0xf252, 0xf0ba, 0xf252, 0xf0ba, 0xf252, 0xf343, 0xf4a3, 0xf343, 0xf4a3, 0xf664, -0xf795, 0xf664, 0xf795, 0xf78f, 0xf897, 0xf78f, 0xf897, 0xf9b5, 0xfa9e, 0xf9b5, 0xfa9e, -0xfb57, 0xfc29, 0xfb57, 0xfc29, 0xfd95, 0xfe59, 0xfd95, 0xfe59, 0xfd95, 0xfe59, 0xfdef, -0xfead, 0xfdef, 0xfead, 0xfe7d, 0xff3d, 0xfe7d, 0xff3d, 0xfdce, 0xfe96, 0xfdce, 0xfe96, -0xfc6c, 0xfd41, 0xfc6c, 0xfd41, 0xfbb8, 0xfc9c, 0xfbb8, 0xfc9c, 0xfaf9, 0xfbee, 0xfaf9, -0xfbee, 0xfaf9, 0xfbee, 0xfacd, 0xfbd1, 0xfacd, 0xfbd1, 0xfb3f, 0xfc4f, 0xfb3f, 0xfc4f, -0xfc25, 0xfd3e, 0xfc25, 0xfd3e, 0xfbb3, 0xfccd, 0xfbb3, 0xfccd, 0xfe28, 0xff3c, 0xfe28, -0xff3c, 0xfe28, 0xff3c, 0xffce, 0xd3, 0xffce, 0xd3, 0xff37, 0x25, 0xff37, 0x25, -0xfff0, 0xbe, 0xfff0, 0xbe, 0x154, 0x1f8, 0x154, 0x1f8, 0x1e6, 0x25a, 0x1e6, -0x25a, 0x390, 0x3cd, 0x390, 0x3cd, 0x390, 0x3cd, 0x482, 0x483, 0x482, 0x483, -0x517, 0x4da, 0x517, 0x4da, 0x5d2, 0x555, 0x5d2, 0x555, 0x6f4, 0x639, 0x6f4, -0x639, 0x794, 0x69f, 0x794, 0x69f, 0x5fb, 0x4d1, 0x5fb, 0x4d1, 0x5fb, 0x4d1, -0x671, 0x51b, 0x671, 0x51b, 0x7cb, 0x652, 0x7cb, 0x652, 0x5a9, 0x418, 0x5a9, -0x418, 0x530, 0x393, 0x530, 0x393, 0x693, 0x4f5, 0x693, 0x4f5, 0x693, 0x4f5, -0x704, 0x571, 0x704, 0x571, 0x68f, 0x512, 0x68f, 0x512, 0x613, 0x4b7, 0x613, -0x4b7, 0x6e3, 0x5af, 0x6e3, 0x5af, 0x461, 0x35d, 0x461, 0x35d, 0x395, 0x2c5, -0x395, 0x2c5, 0x395, 0x2c5, 0x442, 0x3a9, 0x442, 0x3a9, 0x3c4, 0x35f, 0x3c4, -0x35f, 0x23b, 0x20a, 0x23b, 0x20a, 0x1c5, 0x1c0, 0x1c5, 0x1c0, 0xfe2b, 0xfe4b, -0xfe2b, 0xfe4b, 0xfb28, 0xfb65, 0xfb28, 0xfb65, 0xfb28, 0xfb65, 0xfbb6, 0xfc04, 0xfbb6, -0xfc04, 0xfbae, 0xfc01, 0xfbae, 0xfc01, 0xfbf4, 0xfc40, 0xfbf4, 0xfc40, 0xfa70, 0xfaa9, -0xfa70, 0xfaa9, 0xfaf6, 0xfb10, 0xfaf6, 0xfb10, 0xfaf6, 0xfb10, 0xf9c9, 0xf9ba, 0xf9c9, -0xf9ba, 0xf9a1, 0xf960, 0xf9a1, 0xf960, 0xfb78, 0xfafe, 0xfb78, 0xfafe, 0xfcc7, 0xfc0f, -0xfcc7, 0xfc0f, 0xfe3c, 0xfd44, 0xfe3c, 0xfd44, 0x128, 0xfff0, 0x128, 0xfff0, 0x128, -0xfff0, 0x2d9, 0x162, 0x2d9, 0x162, 0x434, 0x285, 0x434, 0x285, 0x591, 0x3b0, -0x591, 0x3b0, 0x6e2, 0x4d8, 0x6e2, 0x4d8, 0x929, 0x700, 0x929, 0x700, 0x9eb, -0x7ad, 0x9eb, 0x7ad, 0x9eb, 0x7ad, 0xaba, 0x874, 0xaba, 0x874, 0x9c3, 0x780, -0x9c3, 0x780, 0x8d6, 0x6a1, 0x8d6, 0x6a1, 0x8de, 0x6c0, 0x8de, 0x6c0, 0x968, -0x76b, 0x968, 0x76b, 0x968, 0x76b, 0x754, 0x57c, 0x754, 0x57c, 0x642, 0x496, -0x642, 0x496, 0x59e, 0x41e, 0x59e, 0x41e, 0x485, 0x333, 0x485, 0x333, 0x5ef, -0x4c7, 0x5ef, 0x4c7, 0x57c, 0x47a, 0x57c, 0x47a, 0x57c, 0x47a, 0x2d5, 0x1f2, -0x2d5, 0x1f2, 0x314, 0x249, 0x314, 0x249, 0x3ab, 0x2ef, 0x3ab, 0x2ef, 0x3b9, -0x301, 0x3b9, 0x301, 0x549, 0x48c, 0x549, 0x48c, 0x549, 0x48c, 0x5a4, 0x4d8, -0x5a4, 0x4d8, 0x61d, 0x539, 0x61d, 0x539, 0x572, 0x46e, 0x572, 0x46e, 0x5b4, -0x48b, 0x5b4, 0x48b, 0x56c, 0x419, 0x56c, 0x419, 0x4f7, 0x378, 0x4f7, 0x378, -0x4f7, 0x378, 0x73e, 0x593, 0x73e, 0x593, 0x7fc, 0x627, 0x7fc, 0x627, 0x647, -0x44e, 0x647, 0x44e, 0x509, 0x2f2, 0x509, 0x2f2, 0x40c, 0x1df, 0x40c, 0x1df, -0x3fa, 0x1c1, 0x3fa, 0x1c1, 0x3fa, 0x1c1, 0x32a, 0xf1, 0x32a, 0xf1, 0x47b, -0x24e, 0x47b, 0x24e, 0x554, 0x33e, 0x554, 0x33e, 0x38b, 0x198, 0x38b, 0x198, -0x3cb, 0x207, 0x3cb, 0x207, 0x3cb, 0x207, 0x3da, 0x24e, 0x3da, 0x24e, 0x1d4, -0x88, 0x1d4, 0x88, 0xa7, 0xffa2, 0xa7, 0xffa2, 0xf9, 0x40, 0xf9, 0x40, -0xfdaa, 0xfd3f, 0xfdaa, 0xfd3f, 0xfc42, 0xfc26, 0xfc42, 0xfc26, 0xfc42, 0xfc26, 0xfb08, -0xfb3a, 0xfb08, 0xfb3a, 0xfa50, 0xfacb, 0xfa50, 0xfacb, 0xf975, 0xfa33, 0xf975, 0xfa33, -0xf8c3, 0xf9bf, 0xf8c3, 0xf9bf, 0xf92d, 0xfa5d, 0xf92d, 0xfa5d, 0xf7a6, 0xf901, 0xf7a6, -0xf901, 0xf7a6, 0xf901, 0xf6d5, 0xf852, 0xf6d5, 0xf852, 0xf6ac, 0xf842, 0xf6ac, 0xf842, -0xf5c2, 0xf767, 0xf5c2, 0xf767, 0xf50d, 0xf6b9, 0xf50d, 0xf6b9, 0xf6d9, 0xf883, 0xf6d9, -0xf883, 0xf6d9, 0xf883, 0xf74d, 0xf8ee, 0xf74d, 0xf8ee, 0xf835, 0xf9c8, 0xf835, 0xf9c8, -0xf887, 0xfa07, 0xf887, 0xfa07, 0xf8ed, 0xfa59, 0xf8ed, 0xfa59, 0xf8a0, 0xf9f5, 0xf8a0, -0xf9f5, 0xf8a6, 0xf9e3, 0xf8a6, 0xf9e3, 0xf8a6, 0xf9e3, 0xf944, 0xfa6a, 0xf944, 0xfa6a, -0xf983, 0xfa94, 0xf983, 0xfa94, 0xfa4a, 0xfb47, 0xfa4a, 0xfb47, 0xfae9, 0xfbd4, 0xfae9, -0xfbd4, 0xfb52, 0xfc2e, 0xfb52, 0xfc2e, 0xfa48, 0xfb17, 0xfa48, 0xfb17, 0xfa48, 0xfb17, -0xfa0a, 0xfacc, 0xfa0a, 0xfacc, 0xf9c7, 0xfa7d, 0xf9c7, 0xfa7d, 0xf97a, 0xfa25, 0xf97a, -0xfa25, 0xfaf4, 0xfb92, 0xfaf4, 0xfb92, 0xfbbb, 0xfc4b, 0xfbbb, 0xfc4b, 0xfbbb, 0xfc4b, -0xfa0a, 0xfa89, 0xfa0a, 0xfa89, 0xfbab, 0xfc14, 0xfbab, 0xfc14, 0xfc6d, 0xfcbd, 0xfc6d, -0xfcbd, 0xfc22, 0xfc53, 0xfc22, 0xfc53, 0xfc9c, 0xfca9, 0xfc9c, 0xfca9, 0xfd88, 0xfd6c, -0xfd88, 0xfd6c, 0xfd88, 0xfd6c, 0xff85, 0xff3b, 0xff85, 0xff3b, 0x120, 0xa2, 0x120, -0xa2, 0x378, 0x2c3, 0x378, 0x2c3, 0x4f9, 0x408, 0x4f9, 0x408, 0x5c5, 0x497, -0x5c5, 0x497, 0x830, 0x6c3, 0x830, 0x6c3, 0x830, 0x6c3, 0xa82, 0x8d6, 0xa82, -0x8d6, 0xb8d, 0x9a3, 0xb8d, 0x9a3, 0xe3e, 0xc18, 0xe3e, 0xc18, 0x100e, 0xdaf, -0x100e, 0xdaf, 0x1151, 0xebe, 0x1151, 0xebe, 0x1151, 0xebe, 0x11d6, 0xf14, 0x11d6, -0xf14, 0x1313, 0x1028, 0x1313, 0x1028, 0x1490, 0x1183, 0x1490, 0x1183, 0x13fd, 0x10d3, -0x13fd, 0x10d3, 0x13ed, 0x10af, 0x13ed, 0x10af, 0x1511, 0x11c4, 0x1511, 0x11c4, 0x1511, -0x11c4, 0x1409, 0x10b4, 0x1409, 0x10b4, 0x1562, 0x120b, 0x1562, 0x120b, 0x16ed, 0x1399, -0x16ed, 0x1399, 0x1656, 0x130a, 0x1656, 0x130a, 0x1768, 0x1428, 0x1768, 0x1428, 0x1720, -0x13f0, 0x1720, 0x13f0, 0x1720, 0x13f0, 0x1795, 0x1477, 0x1795, 0x1477, 0x17e1, 0x14d8, -0x17e1, 0x14d8, 0x18e0, 0x15ee, 0x18e0, 0x15ee, 0x19e4, 0x170b, 0x19e4, 0x170b, 0x1a29, -0x176a, 0x1a29, 0x176a, 0x1a29, 0x176a, 0x19cc, 0x1729, 0x19cc, 0x1729, 0x19cc, 0x1746, -0x19cc, 0x1746, 0x1808, 0x15a2, 0x1808, 0x15a2, 0x17aa, 0x1567, 0x17aa, 0x1567, 0x180a, -0x15eb, 0x180a, 0x15eb, 0x1799, 0x15a1, 0x1799, 0x15a1, 0x1799, 0x15a1, 0x17da, 0x160d, -0x17da, 0x160d, 0x16e6, 0x1548, 0x16e6, 0x1548, 0x160c, 0x14a0, 0x160c, 0x14a0, 0x1401, -0x12cb, 0x1401, 0x12cb, 0x1397, 0x129b, 0x1397, 0x129b, 0x1201, 0x1142, 0x1201, 0x1142, -0x1201, 0x1142, 0x101a, 0xf9a, 0x101a, 0xf9a, 0xde1, 0xda3, 0xde1, 0xda3, 0xb96, -0xb9a, 0xb96, 0xb9a, 0x9e6, 0xa2d, 0x9e6, 0xa2d, 0x82b, 0x8b3, 0x82b, 0x8b3, -0x82b, 0x8b3, 0x773, 0x83a, 0x773, 0x83a, 0x60e, 0x710, 0x60e, 0x710, 0x426, -0x55e, 0x426, 0x55e, 0x44a, 0x5b3, 0x44a, 0x5b3, 0x29a, 0x42b, 0x29a, 0x42b, -0xff4d, 0xfe, 0xff4d, 0xfe, 0xff4d, 0xfe, 0xfe51, 0x1b, 0xfe51, 0x1b, 0xfcdb, -0xfeb3, 0xfcdb, 0xfeb3, 0xfaa2, 0xfc80, 0xfaa2, 0xfc80, 0xf7ac, 0xf987, 0xf7ac, 0xf987, -0xf667, 0xf836, 0xf667, 0xf836, 0xf601, 0xf7bb, 0xf601, 0xf7bb, 0xf601, 0xf7bb, 0xf6d1, -0xf86f, 0xf6d1, 0xf86f, 0xf79a, 0xf917, 0xf79a, 0xf917, 0xf7e6, 0xf93d, 0xf7e6, 0xf93d, -0xf9b3, 0xfae2, 0xf9b3, 0xfae2, 0xfdc6, 0xfeca, 0xfdc6, 0xfeca, 0xfdc6, 0xfeca, 0xffe1, -0xba, 0xffe1, 0xba, 0x8f, 0x13e, 0x8f, 0x13e, 0x182, 0x209, 0x182, 0x209, -0x2a7, 0x30b, 0x2a7, 0x30b, 0x31f, 0x364, 0x31f, 0x364, 0x22b, 0x256, 0x22b, -0x256, 0x22b, 0x256, 0x32e, 0x345, 0x32e, 0x345, 0x2e2, 0x2eb, 0x2e2, 0x2eb, -0x242, 0x242, 0x242, 0x242, 0x2b2, 0x2ae, 0x2b2, 0x2ae, 0x2fc, 0x2f9, 0x2fc, -0x2f9, 0x139, 0x13b, 0x139, 0x13b, 0x139, 0x13b, 0x16f, 0x179, 0x16f, 0x179, -0x289, 0x29c, 0x289, 0x29c, 0x2cb, 0x2e7, 0x2cb, 0x2e7, 0x245, 0x269, 0x245, -0x269, 0x13c, 0x168, 0x13c, 0x168, 0x13c, 0x168, 0xce, 0xff, 0xce, 0xff, -0xdd, 0x110, 0xdd, 0x110, 0x241, 0x273, 0x241, 0x273, 0x40e, 0x43c, 0x40e, -0x43c, 0x535, 0x55b, 0x535, 0x55b, 0x53d, 0x558, 0x53d, 0x558, 0x53d, 0x558, -0x4db, 0x4ea, 0x4db, 0x4ea, 0x34f, 0x34f, 0x34f, 0x34f, 0x313, 0x305, 0x313, -0x305, 0x2ea, 0x2ce, 0x2ea, 0x2ce, 0x37c, 0x355, 0x37c, 0x355, 0x37c, 0x355, -0x2b4, 0x286, 0x2b4, 0x286, 0x24f, 0x21f, 0x24f, 0x21f, 0xd0, 0xa5, 0xd0, -0xa5, 0xfefb, 0xfedc, 0xfefb, 0xfedc, 0xfde2, 0xfdd8, 0xfde2, 0xfdd8, 0xfc13, 0xfc26, -0xfc13, 0xfc26, 0xfc13, 0xfc26, 0xfbb7, 0xfbf1, 0xfbb7, 0xfbf1, 0xf958, 0xf9c2, 0xf958, -0xf9c2, 0xf710, 0xf7b4, 0xf710, 0xf7b4, 0xf4a9, 0xf58d, 0xf4a9, 0xf58d, 0xf2d0, 0xf3fd, -0xf2d0, 0xf3fd, 0xf1ac, 0xf327, 0xf1ac, 0xf327, 0xf1ac, 0xf327, 0xeff8, 0xf1c5, 0xeff8, -0xf1c5, 0xee72, 0xf093, 0xee72, 0xf093, 0xee82, 0xf0f8, 0xee82, 0xf0f8, 0xecbe, 0xef88, -0xecbe, 0xef88, 0xeb6d, 0xee87, 0xeb6d, 0xee87, 0xeb6d, 0xee87, 0xea97, 0xedfa, 0xea97, -0xedfa, 0xe7be, 0xeb65, 0xe7be, 0xeb65, 0xe529, 0xe90b, 0xe529, 0xe90b, 0xe33d, 0xe74e, -0xe33d, 0xe74e, 0xe228, 0xe65f, 0xe228, 0xe65f, 0xe078, 0xe4c9, 0xe078, 0xe4c9, 0xe078, -0xe4c9, 0xdef2, 0xe350, 0xdef2, 0xe350, 0xdf11, 0xe370, 0xdf11, 0xe370, 0xdea9, 0xe2fe, -0xdea9, 0xe2fe, 0xdf95, 0xe3d4, 0xdf95, 0xe3d4, 0xe35a, 0xe779, 0xe35a, 0xe779, 0xe4fc, -0xe8f3, 0xe4fc, 0xe8f3, 0xe4fc, 0xe8f3, 0xe67e, 0xea44, 0xe67e, 0xea44, 0xe7bf, 0xeb50, -0xe7bf, 0xeb50, 0xe960, 0xecb6, 0xe960, 0xecb6, 0xea11, 0xed2a, 0xea11, 0xed2a, 0xeb33, -0xee0d, 0xeb33, 0xee0d, 0xeb33, 0xee0d, 0xedac, 0xf048, 0xedac, 0xf048, 0xefd7, 0xf236, -0xefd7, 0xf236, 0xf0f7, 0xf31c, 0xf0f7, 0xf31c, 0xf34b, 0xf53a, 0xf34b, 0xf53a, 0xf437, -0xf5f3, 0xf437, 0xf5f3, 0xf2ff, 0xf48e, 0xf2ff, 0xf48e, 0xf2ff, 0xf48e, 0xf3f9, 0xf560, -0xf3f9, 0xf560, 0xf327, 0xf46a, 0xf327, 0xf46a, 0xf35e, 0xf480, 0xf35e, 0xf480, 0xf2bb, -0xf3c2, 0xf2bb, 0xf3c2, 0xf2b9, 0xf3a8, 0xf2b9, 0xf3a8, 0xf328, 0xf400, 0xf328, 0xf400, -0xf328, 0xf400, 0xf34c, 0xf411, 0xf34c, 0xf411, 0xf569, 0xf61a, 0xf569, 0xf61a, 0xf742, -0xf7df, 0xf742, 0xf7df, 0xf7b5, 0xf83e, 0xf7b5, 0xf83e, 0xf9a4, 0xfa18, 0xf9a4, 0xfa18, -0xf9a4, 0xfa18, 0xfaa7, 0xfb03, 0xfaa7, 0xfb03, 0xfb3c, 0xfb7f, 0xfb3c, 0xfb7f, 0xfc97, -0xfcbf, 0xfc97, 0xfcbf, 0xfd9e, 0xfda7, 0xfd9e, 0xfda7, 0xff3b, 0xff24, 0xff3b, 0xff24, -0xff21, 0xfee8, 0xff21, 0xfee8, 0xff21, 0xfee8, 0x32, 0xffd6, 0x32, 0xffd6, 0xffe1, -0xff62, 0xffe1, 0xff62, 0xffd8, 0xff35, 0xffd8, 0xff35, 0xff9e, 0xfed8, 0xff9e, 0xfed8, -0xff7a, 0xfe94, 0xff7a, 0xfe94, 0xff06, 0xfe01, 0xff06, 0xfe01, 0xff06, 0xfe01, 0xfda4, -0xfc85, 0xfda4, 0xfc85, 0xfd0d, 0xfbd8, 0xfd0d, 0xfbd8, 0xfcbf, 0xfb78, 0xfcbf, 0xfb78, -0xfbdb, 0xfa88, 0xfbdb, 0xfa88, 0xfbd6, 0xfa7d, 0xfbd6, 0xfa7d, 0xfbd6, 0xfa7d, 0xfc71, -0xfb17, 0xfc71, 0xfb17, 0xfd96, 0xfc42, 0xfd96, 0xfc42, 0xff93, 0xfe49, 0xff93, 0xfe49, -0xfe52, 0xfd1a, 0xfe52, 0xfd1a, 0xfea2, 0xfd7f, 0xfea2, 0xfd7f, 0xff6f, 0xfe66, 0xff6f, -0xfe66, 0xff6f, 0xfe66, 0xff01, 0xfe16, 0xff01, 0xfe16, 0xfe0b, 0xfd3f, 0xfe0b, 0xfd3f, -0xfd2c, 0xfc82, 0xfd2c, 0xfc82, 0xfd3d, 0xfcb6, 0xfd3d, 0xfcb6, 0xfcd7, 0xfc73, 0xfcd7, -0xfc73, 0xfb94, 0xfb51, 0xfb94, 0xfb51, 0xfb94, 0xfb51, 0xfa9f, 0xfa7b, 0xfa9f, 0xfa7b, -0xf875, 0xf86c, 0xf875, 0xf86c, 0xf827, 0xf835, 0xf827, 0xf835, 0xf989, 0xf9a9, 0xf989, -0xf9a9, 0xf9b4, 0xf9e0, 0xf9b4, 0xf9e0, 0xf9b4, 0xf9e0, 0xf9c7, 0xf9f9, 0xf9c7, 0xf9f9, -0xfabe, 0xfaf0, 0xfabe, 0xfaf0, 0xfc4b, 0xfc75, 0xfc4b, 0xfc75, 0xfcc3, 0xfcdf, 0xfcc3, -0xfcdf, 0xfe1a, 0xfe20, 0xfe1a, 0xfe20, 0xffa1, 0xff8b, 0xffa1, 0xff8b, 0xffa1, 0xff8b, -0x71, 0x38, 0x71, 0x38, 0x78, 0x17, 0x78, 0x17, 0x366, 0x2d7, 0x366, -0x2d7, 0x3d7, 0x316, 0x3d7, 0x316, 0x3dc, 0x2e7, 0x3dc, 0x2e7, 0x4cb, 0x39f, -0x4cb, 0x39f, 0x4cb, 0x39f, 0x52f, 0x3ca, 0x52f, 0x3ca, 0x63e, 0x4a1, 0x63e, -0x4a1, 0x635, 0x461, 0x635, 0x461, 0x6ee, 0x4e6, 0x6ee, 0x4e6, 0x6fa, 0x4c0, -0x6fa, 0x4c0, 0x6fa, 0x4c0, 0x6ff, 0x499, 0x6ff, 0x499, 0x8d1, 0x645, 0x8d1, -0x645, 0xb7e, 0x8d2, 0xb7e, 0x8d2, 0xc7f, 0x9bb, 0xc7f, 0x9bb, 0xeaa, 0xbd5, -0xeaa, 0xbd5, 0xf07, 0xc2a, 0xf07, 0xc2a, 0xf07, 0xc2a, 0xf63, 0xc87, 0xf63, -0xc87, 0x1058, 0xd86, 0x1058, 0xd86, 0x11cd, 0xf0d, 0x11cd, 0xf0d, 0x127c, 0xfd6, -0x127c, 0xfd6, 0x1267, 0xfe3, 0x1267, 0xfe3, 0x12ca, 0x106e, 0x12ca, 0x106e, 0x12ca, -0x106e, 0x1222, 0xff4, 0x1222, 0xff4, 0x118b, 0xf90, 0x118b, 0xf90, 0xffe, 0xe39, -0xffe, 0xe39, 0xf4f, 0xdc1, 0xf4f, 0xdc1, 0xdd2, 0xc7e, 0xdd2, 0xc7e, 0xdd2, -0xc7e, 0xbf8, 0xadc, 0xbf8, 0xadc, 0x992, 0x8ad, 0x992, 0x8ad, 0x68e, 0x5dc, -0x68e, 0x5dc, 0x3f4, 0x372, 0x3f4, 0x372, 0x2df, 0x289, 0x2df, 0x289, 0x170, -0x140, 0x170, 0x140, 0x170, 0x140, 0x1af, 0x1a0, 0x1af, 0x1a0, 0x1ab, 0x1b7, -0x1ab, 0x1b7, 0x37, 0x58, 0x37, 0x58, 0xffc0, 0xfff2, 0xffc0, 0xfff2, 0xfeea, -0xff28, 0xfeea, 0xff28, 0xfe4f, 0xfe96, 0xfe4f, 0xfe96, 0xfe4f, 0xfe96, 0xfcd2, 0xfd1e, -0xfcd2, 0xfd1e, 0xfc2b, 0xfc79, 0xfc2b, 0xfc79, 0xfd41, 0xfd91, 0xfd41, 0xfd91, 0xfdca, -0xfe1c, 0xfdca, 0xfe1c, 0xfdb2, 0xfe07, 0xfdb2, 0xfe07, 0xfdb2, 0xfe07, 0xfdce, 0xfe28, -0xfdce, 0xfe28, 0xfcba, 0xfd1b, 0xfcba, 0xfd1b, 0xfdb3, 0xfe1f, 0xfdb3, 0xfe1f, 0xfe40, -0xfebb, 0xfe40, 0xfebb, 0xfc3f, 0xfccb, 0xfc3f, 0xfccb, 0xf9ce, 0xfa70, 0xf9ce, 0xfa70, -0xf9ce, 0xfa70, 0xf95f, 0xfa19, 0xf95f, 0xfa19, 0xf95e, 0xfa33, 0xf95e, 0xfa33, 0xf911, -0xfa04, 0xf911, 0xfa04, 0xf947, 0xfa58, 0xf947, 0xfa58, 0xfa41, 0xfb6f, 0xfa41, 0xfb6f, -0xfa41, 0xfb6f, 0xf9e9, 0xfb33, 0xf9e9, 0xfb33, 0xf9d9, 0xfb3c, 0xf9d9, 0xfb3c, 0xfc31, -0xfdaa, 0xfc31, 0xfdaa, 0xfb5c, 0xfce5, 0xfb5c, 0xfce5, 0xfbef, 0xfd82, 0xfbef, 0xfd82, -0xfd20, 0xfeb6, 0xfd20, 0xfeb6, 0xfd20, 0xfeb6, 0xfdb7, 0xff4a, 0xfdb7, 0xff4a, 0xfd0a, -0xfe91, 0xfd0a, 0xfe91, 0xfc58, 0xfdcc, 0xfc58, 0xfdcc, 0xfc7c, 0xfdd5, 0xfc7c, 0xfdd5, -0xfc03, 0xfd3c, 0xfc03, 0xfd3c, 0xfb7e, 0xfc92, 0xfb7e, 0xfc92, 0xfb7e, 0xfc92, 0xfd2f, -0xfe18, 0xfd2f, 0xfe18, 0xfe89, 0xff45, 0xfe89, 0xff45, 0xfe5e, 0xfeec, 0xfe5e, 0xfeec, -0xff2a, 0xff8b, 0xff2a, 0xff8b, 0xfec3, 0xfef9, 0xfec3, 0xfef9, 0xfec3, 0xfef9, 0xff61, -0xff6f, 0xff61, 0xff6f, 0x38, 0x25, 0x38, 0x25, 0x2bf, 0x291, 0x2bf, 0x291, -0x418, 0x3d8, 0x418, 0x3d8, 0x5f7, 0x5ad, 0x5f7, 0x5ad, 0x85d, 0x813, 0x85d, -0x813, 0x85d, 0x813, 0x986, 0x945, 0x986, 0x945, 0x9a2, 0x974, 0x9a2, 0x974, -0x921, 0x90e, 0x921, 0x90e, 0x8f5, 0x903, 0x8f5, 0x903, 0x7d3, 0x80b, 0x7d3, -0x80b, 0x703, 0x768, 0x703, 0x768, 0x703, 0x768, 0x553, 0x5e8, 0x553, 0x5e8, -0x2b6, 0x37b, 0x2b6, 0x37b, 0x77, 0x16b, 0x77, 0x16b, 0xff0d, 0x2d, 0xff0d, -0x2d, 0xfd4b, 0xfe91, 0xfd4b, 0xfe91, 0xfd4b, 0xfe91, 0xfd8f, 0xfef4, 0xfd8f, 0xfef4, -0xfd1c, 0xfe97, 0xfd1c, 0xfe97, 0xfcc9, 0xfe50, 0xfcc9, 0xfe50, 0xfde2, 0xff6a, 0xfde2, -0xff6a, 0xfee0, 0x5d, 0xfee0, 0x5d, 0xffa7, 0x10d, 0xffa7, 0x10d, 0xffa7, 0x10d, -0xff9b, 0xdf, 0xff9b, 0xdf, 0xff8f, 0xa5, 0xff8f, 0xa5, 0x6c, 0x149, 0x6c, -0x149, 0x8d, 0x129, 0x8d, 0x129, 0x16f, 0x1c2, 0x16f, 0x1c2, 0x32a, 0x32e, -0x32a, 0x32e, 0x32a, 0x32e, 0x3f1, 0x3a1, 0x3f1, 0x3a1, 0x735, 0x68f, 0x735, -0x68f, 0xa8d, 0x991, 0xa8d, 0x991, 0xbf4, 0xaa1, 0xbf4, 0xaa1, 0xc7f, 0xada, -0xc7f, 0xada, 0xc7f, 0xada, 0xe97, 0xca2, 0xe97, 0xca2, 0xfc0, 0xd80, 0xfc0, -0xd80, 0x103e, 0xdba, 0x103e, 0xdba, 0x1158, 0xe97, 0x1158, 0xe97, 0x135e, 0x1066, -0x135e, 0x1066, 0x140e, 0x10e6, 0x140e, 0x10e6, 0x140e, 0x10e6, 0x15f3, 0x12a1, 0x15f3, -0x12a1, 0x1830, 0x14bb, 0x1830, 0x14bb, 0x17d9, 0x1446, 0x17d9, 0x1446, 0x194a, 0x159f, -0x194a, 0x159f, 0x1a9a, 0x16db, 0x1a9a, 0x16db, 0x1b63, 0x1793, 0x1b63, 0x1793, 0x1b63, -0x1793, 0x1b83, 0x17a7, 0x1b83, 0x17a7, 0x1c20, 0x183a, 0x1c20, 0x183a, 0x1be8, 0x17fa, -0x1be8, 0x17fa, 0x1b87, 0x1793, 0x1b87, 0x1793, 0x1bbe, 0x17c6, 0x1bbe, 0x17c6, 0x1bbe, -0x17c6, 0x1cb3, 0x18ba, 0x1cb3, 0x18ba, 0x1bba, 0x17c2, 0x1bba, 0x17c2, 0x1b7e, 0x178b, -0x1b7e, 0x178b, 0x1b30, 0x1745, 0x1b30, 0x1745, 0x1978, 0x159a, 0x1978, 0x159a, 0x17fd, -0x1432, 0x17fd, 0x1432, 0x17fd, 0x1432, 0x16de, 0x132c, 0x16de, 0x132c, 0x16ba, 0x1327, -0x16ba, 0x1327, 0x1524, 0x11b9, 0x1524, 0x11b9, 0x14ec, 0x11b0, 0x14ec, 0x11b0, 0x1443, -0x113f, 0x1443, 0x113f, 0x132d, 0x106b, 0x132d, 0x106b, 0x132d, 0x106b, 0x10f3, 0xe79, -0x10f3, 0xe79, 0xf8d, 0xd64, 0xf8d, 0xd64, 0xca1, 0xad0, 0xca1, 0xad0, 0x9d5, -0x861, 0x9d5, 0x861, 0x82f, 0x71d, 0x82f, 0x71d, 0x82f, 0x71d, 0x4d2, 0x425, -0x4d2, 0x425, 0x190, 0x14a, 0x190, 0x14a, 0xffa3, 0xffc4, 0xffa3, 0xffc4, 0xfdd9, -0xfe5f, 0xfdd9, 0xfe5f, 0xfb75, 0xfc5c, 0xfb75, 0xfc5c, 0xfac4, 0xfc08, 0xfac4, 0xfc08, -0xfac4, 0xfc08, 0xf865, 0xf9fe, 0xf865, 0xf9fe, 0xf5fc, 0xf7e3, 0xf5fc, 0xf7e3, 0xf458, -0xf682, 0xf458, 0xf682, 0xf340, 0xf5a5, 0xf340, 0xf5a5, 0xf121, 0xf3b6, 0xf121, 0xf3b6, -0xeea5, 0xf160, 0xeea5, 0xf160, 0xeea5, 0xf160, 0xedbd, 0xf092, 0xedbd, 0xf092, 0xed79, -0xf05f, 0xed79, 0xf05f, 0xecae, 0xef9a, 0xecae, 0xef9a, 0xecd7, 0xefc1, 0xecd7, 0xefc1, -0xec74, 0xef52, 0xec74, 0xef52, 0xec74, 0xef52, 0xec7a, 0xef47, 0xec7a, 0xef47, 0xeeb9, -0xf16e, 0xeeb9, 0xf16e, 0xf154, 0xf3ec, 0xf154, 0xf3ec, 0xf243, 0xf4b8, 0xf243, 0xf4b8, -0xf2a5, 0xf4f5, 0xf2a5, 0xf4f5, 0xf4c6, 0xf6ef, 0xf4c6, 0xf6ef, 0xf4c6, 0xf6ef, 0xf571, -0xf770, 0xf571, 0xf770, 0xf5b3, 0xf786, 0xf5b3, 0xf786, 0xf6f9, 0xf8a0, 0xf6f9, 0xf8a0, -0xf888, 0xfa01, 0xf888, 0xfa01, 0xf71d, 0xf866, 0xf71d, 0xf866, 0xf83d, 0xf955, 0xf83d, -0xf955, 0xf83d, 0xf955, 0xf967, 0xfa4c, 0xf967, 0xfa4c, 0xf92c, 0xf9dc, 0xf92c, 0xf9dc, -0xfa67, 0xfae1, 0xfa67, 0xfae1, 0xfb97, 0xfbd9, 0xfb97, 0xfbd9, 0xfc5b, 0xfc65, 0xfc5b, -0xfc65, 0xfc5b, 0xfc65, 0xfd65, 0xfd33, 0xfd65, 0xfd33, 0xff2f, 0xfec2, 0xff2f, 0xfec2, -0xfff6, 0xff4e, 0xfff6, 0xff4e, 0x122, 0x3f, 0x122, 0x3f, 0x2c7, 0x1ab, 0x2c7, -0x1ab, 0x505, 0x3b4, 0x505, 0x3b4, 0x505, 0x3b4, 0x553, 0x3d1, 0x553, 0x3d1, -0x66f, 0x4c3, 0x66f, 0x4c3, 0x6ae, 0x4e0, 0x6ae, 0x4e0, 0x6e5, 0x4fe, 0x6e5, -0x4fe, 0x6ee, 0x4fa, 0x6ee, 0x4fa, 0x693, 0x49d, 0x693, 0x49d, 0x693, 0x49d, -0x5ae, 0x3c4, 0x5ae, 0x3c4, 0x485, 0x2b6, 0x485, 0x2b6, 0x3ed, 0x247, 0x3ed, -0x247, 0x302, 0x194, 0x302, 0x194, 0x1b6, 0x8e, 0x1b6, 0x8e, 0x1b6, 0x8e, -0xff7a, 0xfea6, 0xff7a, 0xfea6, 0xfe58, 0xfde3, 0xfe58, 0xfde3, 0xfc11, 0xfc07, 0xfc11, -0xfc07, 0xfa8b, 0xfaf4, 0xfa8b, 0xfaf4, 0xf8af, 0xf990, 0xf8af, 0xf990, 0xf571, 0xf6d0, -0xf571, 0xf6d0, 0xf571, 0xf6d0, 0xf1d6, 0xf3b3, 0xf1d6, 0xf3b3, 0xf06b, 0xf2c5, 0xf06b, -0xf2c5, 0xed76, 0xf048, 0xed76, 0xf048, 0xebb2, 0xeef5, 0xebb2, 0xeef5, 0xeb30, 0xeedb, -0xeb30, 0xeedb, 0xeb30, 0xeedb, 0xe87c, 0xec84, 0xe87c, 0xec84, 0xe664, 0xeabc, 0xe664, -0xeabc, 0xe4a2, 0xe93b, 0xe4a2, 0xe93b, 0xe339, 0xe805, 0xe339, 0xe805, 0xe086, 0xe576, -0xe086, 0xe576, 0xde47, 0xe34c, 0xde47, 0xe34c, 0xde47, 0xe34c, 0xdd46, 0xe250, 0xdd46, -0xe250, 0xdcc8, 0xe1cb, 0xdcc8, 0xe1cb, 0xdcf9, 0xe1e9, 0xdcf9, 0xe1e9, 0xde9f, 0xe372, -0xde9f, 0xe372, 0xdda2, 0xe24e, 0xdda2, 0xe24e, 0xdddf, 0xe25f, 0xdddf, 0xe25f, 0xdddf, -0xe25f, 0xe063, 0xe4b1, 0xe063, 0xe4b1, 0xe282, 0xe69c, 0xe282, 0xe69c, 0xe30b, 0xe6f0, -0xe30b, 0xe6f0, 0xe3db, 0xe78b, 0xe3db, 0xe78b, 0xe65c, 0xe9d8, 0xe65c, 0xe9d8, 0xe65c, -0xe9d8, 0xe831, 0xeb7b, 0xe831, 0xeb7b, 0xe917, 0xec32, 0xe917, 0xec32, 0xebab, 0xee98, -0xebab, 0xee98, 0xedc3, 0xf084, 0xedc3, 0xf084, 0xedb2, 0xf04a, 0xedb2, 0xf04a, 0xf042, -0xf2b0, 0xf042, 0xf2b0, 0xf042, 0xf2b0, 0xf149, 0xf38b, 0xf149, 0xf38b, 0xf182, 0xf398, -0xf182, 0xf398, 0xf25a, 0xf43f, 0xf25a, 0xf43f, 0xf3f8, 0xf5a7, 0xf3f8, 0xf5a7, 0xf3c9, -0xf53c, 0xf3c9, 0xf53c, 0xf4b6, 0xf5e7, 0xf4b6, 0xf5e7, 0xf4b6, 0xf5e7, 0xf6ea, 0xf7d0, -0xf6ea, 0xf7d0, 0xf870, 0xf906, 0xf870, 0xf906, 0xfa34, 0xfa71, 0xfa34, 0xfa71, 0xfda3, -0xfd81, 0xfda3, 0xfd81, 0x185, 0xff, 0x185, 0xff, 0x185, 0xff, 0x456, 0x369, -0x456, 0x369, 0x824, 0x6ce, 0x824, 0x6ce, 0xb08, 0x949, 0xb08, 0x949, 0xdf5, -0xbd2, 0xdf5, 0xbd2, 0xf7b, 0xcfb, 0xf7b, 0xcfb, 0x11d5, 0xf00, 0x11d5, 0xf00, -0x11d5, 0xf00, 0x13df, 0x10c0, 0x13df, 0x10c0, 0x164c, 0x12f2, 0x164c, 0x12f2, 0x1770, -0x13ec, 0x1770, 0x13ec, 0x188d, 0x14f0, 0x188d, 0x14f0, 0x1894, 0x14f2, 0x1894, 0x14f2, -0x16d8, 0x1346, 0x16d8, 0x1346, 0x16d8, 0x1346, 0x168c, 0x131e, 0x168c, 0x131e, 0x153b, -0x1204, 0x153b, 0x1204, 0x13a9, 0x10bc, 0x13a9, 0x10bc, 0x1231, 0xfa0, 0x1231, 0xfa0, -0xfc9, 0xda1, 0xfc9, 0xda1, 0xfc9, 0xda1, 0xdbe, 0xc0c, 0xdbe, 0xc0c, 0xc44, -0xb10, 0xc44, 0xb10, 0x8ca, 0x819, 0x8ca, 0x819, 0x6f5, 0x6c9, 0x6f5, 0x6c9, -0x4f0, 0x546, 0x4f0, 0x546, 0x2c5, 0x398, 0x2c5, 0x398, 0x2c5, 0x398, 0xe5, -0x22c, 0xe5, 0x22c, 0xff41, 0xf0, 0xff41, 0xf0, 0xfcac, 0xfeb5, 0xfcac, 0xfeb5, -0xf912, 0xfb66, 0xf912, 0xfb66, 0xf5f1, 0xf87e, 0xf5f1, 0xf87e, 0xf34f, 0xf602, 0xf34f, -0xf602, 0xf34f, 0xf602, 0xf089, 0xf350, 0xf089, 0xf350, 0xef10, 0xf1db, 0xef10, 0xf1db, -0xeda4, 0xf061, 0xeda4, 0xf061, 0xea98, 0xed38, 0xea98, 0xed38, 0xea40, 0xecb4, 0xea40, -0xecb4, 0xea40, 0xecb4, 0xeb8a, 0xedc9, 0xeb8a, 0xedc9, 0xed28, 0xef2a, 0xed28, 0xef2a, -0xedab, 0xef68, 0xedab, 0xef68, 0xef07, 0xf07c, 0xef07, 0xf07c, 0xf08b, 0xf1b7, 0xf08b, -0xf1b7, 0xf2f6, 0xf3d9, 0xf2f6, 0xf3d9, 0xf2f6, 0xf3d9, 0xf512, 0xf5ae, 0xf512, 0xf5ae, -0xf861, 0xf8bb, 0xf861, 0xf8bb, 0xfa71, 0xfa8c, 0xfa71, 0xfa8c, 0xfb92, 0xfb75, 0xfb92, -0xfb75, 0xff26, 0xfed4, 0xff26, 0xfed4, 0x140, 0xbf, 0x140, 0xbf, 0x140, 0xbf, -0x265, 0x1b8, 0x265, 0x1b8, 0x3a4, 0x2cf, 0x3a4, 0x2cf, 0x4b6, 0x3ba, 0x4b6, -0x3ba, 0x45f, 0x33d, 0x45f, 0x33d, 0x4d9, 0x38f, 0x4d9, 0x38f, 0x4d9, 0x38f, -0x53d, 0x3c9, 0x53d, 0x3c9, 0x5a7, 0x405, 0x5a7, 0x405, 0x67e, 0x4aa, 0x67e, -0x4aa, 0x9dd, 0x7d2, 0x9dd, 0x7d2, 0xc22, 0x9db, 0xc22, 0x9db, 0xe73, 0xbeb, -0xe73, 0xbeb, 0xe73, 0xbeb, 0x1153, 0xe85, 0x1153, 0xe85, 0x135c, 0x1047, 0x135c, -0x1047, 0x1519, 0x11ba, 0x1519, 0x11ba, 0x16c0, 0x1318, 0x16c0, 0x1318, 0x18e9, 0x14fb, -0x18e9, 0x14fb, 0x1a0a, 0x15db, 0x1a0a, 0x15db, 0x1a0a, 0x15db, 0x1c1f, 0x17b7, 0x1c1f, -0x17b7, 0x1cad, 0x1816, 0x1cad, 0x1816, 0x1e29, 0x196f, 0x1e29, 0x196f, 0x1e2f, 0x195f, -0x1e2f, 0x195f, 0x1d21, 0x184e, 0x1d21, 0x184e, 0x1d21, 0x184e, 0x1c76, 0x17af, 0x1c76, -0x17af, 0x1acd, 0x1626, 0x1acd, 0x1626, 0x18fd, 0x1489, 0x18fd, 0x1489, 0x17a8, 0x1378, -0x17a8, 0x1378, 0x14a5, 0x10cc, 0x14a5, 0x10cc, 0x1266, 0xef5, 0x1266, 0xef5, 0x1266, -0xef5, 0x10f6, 0xdfb, 0x10f6, 0xdfb, 0xd84, 0xb0c, 0xd84, 0xb0c, 0xbcc, 0x9e1, -0xbcc, 0x9e1, 0x93e, 0x7e8, 0x93e, 0x7e8, 0x64d, 0x58e, 0x64d, 0x58e, 0x361, -0x33c, 0x361, 0x33c, 0x361, 0x33c, 0xcd, 0x13f, 0xcd, 0x13f, 0xfead, 0xffb2, -0xfead, 0xffb2, 0xfade, 0xfc6d, 0xfade, 0xfc6d, 0xf738, 0xf948, 0xf738, 0xf948, 0xf4e3, -0xf768, 0xf4e3, 0xf768, 0xf4e3, 0xf768, 0xf115, 0xf401, 0xf115, 0xf401, 0xeeb4, 0xf1f9, -0xeeb4, 0xf1f9, 0xeb64, 0xeef3, 0xeb64, 0xeef3, 0xe739, 0xeb03, 0xe739, 0xeb03, 0xe5c6, -0xe9bb, 0xe5c6, 0xe9bb, 0xe585, 0xe998, 0xe585, 0xe998, 0xe585, 0xe998, 0xe4e8, 0xe90a, -0xe4e8, 0xe90a, 0xe390, 0xe7b6, 0xe390, 0xe7b6, 0xe28c, 0xe6ac, 0xe28c, 0xe6ac, 0xe321, -0xe731, 0xe321, 0xe731, 0xe490, 0xe889, 0xe490, 0xe889, 0xe535, 0xe910, 0xe535, 0xe910, -0xe535, 0xe910, 0xe765, 0xeb1e, 0xe765, 0xeb1e, 0xe764, 0xeaf6, 0xe764, 0xeaf6, 0xe881, -0xebe9, 0xe881, 0xebe9, 0xea4a, 0xed86, 0xea4a, 0xed86, 0xebd6, 0xeee4, 0xebd6, 0xeee4, -0xebd6, 0xeee4, 0xed17, 0xeff4, 0xed17, 0xeff4, 0xee80, 0xf12a, 0xee80, 0xf12a, 0xf10e, -0xf383, 0xf10e, 0xf383, 0xf293, 0xf4cf, 0xf293, 0xf4cf, 0xf4f3, 0xf6f3, 0xf4f3, 0xf6f3, -0xf6f8, 0xf8b8, 0xf6f8, 0xf8b8, 0xf6f8, 0xf8b8, 0xf7c3, 0xf93e, 0xf7c3, 0xf93e, 0xf8db, -0xfa0c, 0xf8db, 0xfa0c, 0xfb9b, 0xfc7d, 0xfb9b, 0xfc7d, 0xfdb3, 0xfe40, 0xfdb3, 0xfe40, -0x6a, 0x9f, 0x6a, 0x9f, 0x6a, 0x9f, 0x2f7, 0x2ce, 0x2f7, 0x2ce, 0x5ae, -0x524, 0x5ae, 0x524, 0x7a1, 0x6b4, 0x7a1, 0x6b4, 0xb0f, 0x9bd, 0xb0f, 0x9bd, -0xdea, 0xc35, 0xdea, 0xc35, 0x1058, 0xe42, 0x1058, 0xe42, 0x1058, 0xe42, 0x13c9, -0x1156, 0x13c9, 0x1156, 0x16a0, 0x13d6, 0x16a0, 0x13d6, 0x1aae, 0x1795, 0x1aae, 0x1795, -0x1cb8, 0x1959, 0x1cb8, 0x1959, 0x1e65, 0x1acc, 0x1e65, 0x1acc, 0x1f89, 0x1bc1, 0x1f89, -0x1bc1, 0x1f89, 0x1bc1, 0x1fb9, 0x1bd0, 0x1fb9, 0x1bd0, 0x1f71, 0x1b74, 0x1f71, 0x1b74, -0x1ef8, 0x1af5, 0x1ef8, 0x1af5, 0x1c8e, 0x1892, 0x1c8e, 0x1892, 0x1ba6, 0x17bd, 0x1ba6, -0x17bd, 0x1ba6, 0x17bd, 0x1a42, 0x1679, 0x1a42, 0x1679, 0x183a, 0x149b, 0x183a, 0x149b, -0x179a, 0x142e, 0x179a, 0x142e, 0x1737, 0x1405, 0x1737, 0x1405, 0x16fd, 0x140a, 0x16fd, -0x140a, 0x1564, 0x12b3, 0x1564, 0x12b3, 0x1564, 0x12b3, 0x155a, 0x12ec, 0x155a, 0x12ec, -0x141b, 0x11f1, 0x141b, 0x11f1, 0x1219, 0x102f, 0x1219, 0x102f, 0x1124, 0xf78, 0x1124, -0xf78, 0x106e, 0xefa, 0x106e, 0xefa, 0xf43, 0xe02, 0xf43, 0xe02, 0xf43, 0xe02, -0xe98, 0xd83, 0xe98, 0xd83, 0xd3b, 0xc4d, 0xd3b, 0xc4d, 0xa2b, 0x95d, 0xa2b, -0x95d, 0x8ae, 0x7f9, 0x8ae, 0x7f9, 0x903, 0x863, 0x903, 0x863, 0x903, 0x863, -0x7a5, 0x714, 0x7a5, 0x714, 0x62f, 0x5ab, 0x62f, 0x5ab, 0x523, 0x4a7, 0x523, -0x4a7, 0x551, 0x4dd, 0x551, 0x4dd, 0x496, 0x428, 0x496, 0x428, 0x377, 0x310, -0x377, 0x310, 0x377, 0x310, 0x3e7, 0x386, 0x3e7, 0x386, 0x2a0, 0x246, 0x2a0, -0x246, 0x324, 0x2d1, 0x324, 0x2d1, 0x417, 0x3cd, 0x417, 0x3cd, 0x41c, 0x3db, -0x41c, 0x3db, 0x2ee, 0x2b7, 0x2ee, 0x2b7, 0x2ee, 0x2b7, 0x30f, 0x2e1, 0x30f, -0x2e1, 0x37e, 0x357, 0x37e, 0x357, 0x37c, 0x35b, 0x37c, 0x35b, 0x33e, 0x31e, -0x33e, 0x31e, 0x3a9, 0x387, 0x3a9, 0x387, 0x3a9, 0x387, 0x32d, 0x303, 0x32d, -0x303, 0x274, 0x23e, 0x274, 0x23e, 0x335, 0x2ec, 0x335, 0x2ec, 0x2be, 0x25e, -0x2be, 0x25e, 0x2d2, 0x254, 0x2d2, 0x254, 0x365, 0x2c5, 0x365, 0x2c5, 0x365, -0x2c5, 0x4bc, 0x3f5, 0x4bc, 0x3f5, 0x50b, 0x41a, 0x50b, 0x41a, 0x6ec, 0x5cf, -0x6ec, 0x5cf, 0x844, 0x6fc, 0x844, 0x6fc, 0x9c5, 0x852, 0x9c5, 0x852, 0xb9f, -0xa06, 0xb9f, 0xa06, 0xb9f, 0xa06, 0xe3d, 0xc82, 0xe3d, 0xc82, 0x11b8, 0xfe3, -0x11b8, 0xfe3, 0x1313, 0x112b, 0x1313, 0x112b, 0x1397, 0x11a7, 0x1397, 0x11a7, 0x13f5, -0x1207, 0x13f5, 0x1207, 0x13f5, 0x1207, 0x13b2, 0x11d2, 0x13b2, 0x11d2, 0x139e, 0x11d8, -0x139e, 0x11d8, 0x1256, 0x10b6, 0x1256, 0x10b6, 0xf98, 0xe29, 0xf98, 0xe29, 0xec3, -0xd8f, 0xec3, 0xd8f, 0xc19, 0xb2a, 0xc19, 0xb2a, 0xc19, 0xb2a, 0x9e2, 0x93f, -0x9e2, 0x93f, 0x7ac, 0x75c, 0x7ac, 0x75c, 0x664, 0x66b, 0x664, 0x66b, 0x43f, -0x49e, 0x43f, 0x49e, 0x1eb, 0x2a1, 0x1eb, 0x2a1, 0xb9, 0x1c4, 0xb9, 0x1c4, -0xb9, 0x1c4, 0xfe7d, 0xffd8, 0xfe7d, 0xffd8, 0xfbbd, 0xfd61, 0xfbbd, 0xfd61, 0xf9df, -0xfbc4, 0xf9df, 0xfbc4, 0xf83e, 0xfa5c, 0xf83e, 0xfa5c, 0xf55c, 0xf7a7, 0xf55c, 0xf7a7, -0xf55c, 0xf7a7, 0xf55e, 0xf7cb, 0xf55e, 0xf7cb, 0xf387, 0xf60c, 0xf387, 0xf60c, 0xf15d, -0xf3ef, 0xf15d, 0xf3ef, 0xf0cc, 0xf360, 0xf0cc, 0xf360, 0xf08b, 0xf318, 0xf08b, 0xf318, -0xf019, 0xf297, 0xf019, 0xf297, 0xf019, 0xf297, 0xeeb3, 0xf11b, 0xeeb3, 0xf11b, 0xeeab, -0xf0f7, 0xeeab, 0xf0f7, 0xef21, 0xf14f, 0xef21, 0xf14f, 0xed62, 0xef6e, 0xed62, 0xef6e, -0xede6, 0xefcf, 0xede6, 0xefcf, 0xedcb, 0xef92, 0xedcb, 0xef92, 0xedcb, 0xef92, 0xec43, -0xede9, 0xec43, 0xede9, 0xecac, 0xee33, 0xecac, 0xee33, 0xed76, 0xeee1, 0xed76, 0xeee1, -0xee2f, 0xef82, 0xee2f, 0xef82, 0xed3e, 0xee7a, 0xed3e, 0xee7a, 0xed3e, 0xee7a, 0xedf3, -0xef1b, 0xedf3, 0xef1b, 0xee49, 0xef61, 0xee49, 0xef61, 0xedb0, 0xeeb8, 0xedb0, 0xeeb8, -0xed4d, 0xee47, 0xed4d, 0xee47, 0xed6a, 0xee56, 0xed6a, 0xee56, 0xecf7, 0xedd3, 0xecf7, -0xedd3, 0xecf7, 0xedd3, 0xedd8, 0xeea3, 0xedd8, 0xeea3, 0xeef4, 0xefad, 0xeef4, 0xefad, -0xf093, 0xf136, 0xf093, 0xf136, 0xf14e, 0xf1d8, 0xf14e, 0xf1d8, 0xf2b8, 0xf327, 0xf2b8, -0xf327, 0xf464, 0xf4b5, 0xf464, 0xf4b5, 0xf464, 0xf4b5, 0xf405, 0xf436, 0xf405, 0xf436, -0xf5a0, 0xf5b0, 0xf5a0, 0xf5b0, 0xf660, 0xf64e, 0xf660, 0xf64e, 0xf7b9, 0xf786, 0xf7b9, -0xf786, 0xf816, 0xf7c3, 0xf816, 0xf7c3, 0xf816, 0xf7c3, 0xf9bb, 0xf94d, 0xf9bb, 0xf94d, -0xfb97, 0xfb13, 0xfb97, 0xfb13, 0xfc7f, 0xfbea, 0xfc7f, 0xfbea, 0xfd47, 0xfca9, 0xfd47, -0xfca9, 0xfdf2, 0xfd54, 0xfdf2, 0xfd54, 0xff54, 0xfebf, 0xff54, 0xfebf, 0xff54, 0xfebf, -0x118, 0x96, 0x118, 0x96, 0x152, 0xed, 0x152, 0xed, 0x120, 0xe2, 0x120, -0xe2, 0x149, 0x13c, 0x149, 0x13c, 0x4a, 0x77, 0x4a, 0x77, 0xff84, 0xfff2, -0xff84, 0xfff2, 0xff84, 0xfff2, 0xfef0, 0xffa6, 0xfef0, 0xffa6, 0xfdda, 0xfedd, 0xfdda, -0xfedd, 0xfb36, 0xfc89, 0xfb36, 0xfc89, 0xfa33, 0xfbd7, 0xfa33, 0xfbd7, 0xf920, 0xfb14, -0xf920, 0xfb14, 0xf920, 0xfb14, 0xf781, 0xf9c3, 0xf781, 0xf9c3, 0xf4a9, 0xf735, 0xf4a9, -0xf735, 0xf368, 0xf637, 0xf368, 0xf637, 0xf154, 0xf45f, 0xf154, 0xf45f, 0xef22, 0xf260, -0xef22, 0xf260, 0xeef2, 0xf25a, 0xeef2, 0xf25a, 0xeef2, 0xf25a, 0xecbe, 0xf045, 0xecbe, -0xf045, 0xea53, 0xedef, 0xea53, 0xedef, 0xea99, 0xee3f, 0xea99, 0xee3f, 0xeb22, 0xeec8, -0xeb22, 0xeec8, 0xeabf, 0xee5c, 0xeabf, 0xee5c, 0xeabf, 0xee5c, 0xead1, 0xee5b, 0xead1, -0xee5b, 0xeaf8, 0xee67, 0xeaf8, 0xee67, 0xebf4, 0xef41, 0xebf4, 0xef41, 0xea4d, 0xed72, -0xea4d, 0xed72, 0xebe7, 0xeede, 0xebe7, 0xeede, 0xecef, 0xefb4, 0xecef, 0xefb4, 0xecef, -0xefb4, 0xece0, 0xef71, 0xece0, 0xef71, 0xee4e, 0xf0a8, 0xee4e, 0xf0a8, 0xef74, 0xf195, -0xef74, 0xf195, 0xf013, 0xf1fb, 0xf013, 0xf1fb, 0xf055, 0xf202, 0xf055, 0xf202, 0xf24c, -0xf3be, 0xf24c, 0xf3be, 0xf24c, 0xf3be, 0xf3b1, 0xf4e8, 0xf3b1, 0xf4e8, 0xf4e0, 0xf5db, -0xf4e0, 0xf5db, 0xf692, 0xf751, 0xf692, 0xf751, 0xf805, 0xf888, 0xf805, 0xf888, 0xf8a3, -0xf8e9, 0xf8a3, 0xf8e9, 0xf8a3, 0xf8e9, 0xfacc, 0xfad5, 0xfacc, 0xfad5, 0xfcab, 0xfc77, -0xfcab, 0xfc77, 0xfe62, 0xfdef, 0xfe62, 0xfdef, 0xffec, 0xff3b, 0xffec, 0xff3b, 0x332, -0x242, 0x332, 0x242, 0x593, 0x466, 0x593, 0x466, 0x593, 0x466, 0x75c, 0x5f3, -0x75c, 0x5f3, 0x86b, 0x6c8, 0x86b, 0x6c8, 0x99c, 0x7c3, 0x99c, 0x7c3, 0xb25, -0x918, 0xb25, 0x918, 0xc09, 0x9cf, 0xc09, 0x9cf, 0xe1b, 0xbb9, 0xe1b, 0xbb9, -0xe1b, 0xbb9, 0xdfd, 0xb7c, 0xdfd, 0xb7c, 0xe39, 0xb9e, 0xe39, 0xb9e, 0xe8e, -0xbe3, 0xe8e, 0xbe3, 0xe9e, 0xbec, 0xe9e, 0xbec, 0xe5f, 0xbb1, 0xe5f, 0xbb1, -0xe5f, 0xbb1, 0xed5, 0xc32, 0xed5, 0xc32, 0xd1d, 0xa90, 0xd1d, 0xa90, 0xc1d, -0x9ae, 0xc1d, 0x9ae, 0xbcf, 0x988, 0xbcf, 0x988, 0xa34, 0x81b, 0xa34, 0x81b, -0x929, 0x745, 0x929, 0x745, 0x929, 0x745, 0x88e, 0x6e4, 0x88e, 0x6e4, 0x816, -0x6a9, 0x816, 0x6a9, 0x727, 0x5fa, 0x727, 0x5fa, 0x6da, 0x5ee, 0x6da, 0x5ee, -0x6f4, 0x648, 0x6f4, 0x648, 0x62c, 0x5bd, 0x62c, 0x5bd, 0x62c, 0x5bd, 0x3f5, -0x3bf, 0x3f5, 0x3bf, 0x357, 0x357, 0x357, 0x357, 0x1f6, 0x226, 0x1f6, 0x226, -0x133, 0x18d, 0x133, 0x18d, 0x115, 0x192, 0x115, 0x192, 0x115, 0x192, 0xfeab, -0xff44, 0xfeab, 0xff44, 0xfce6, 0xfd94, 0xfce6, 0xfd94, 0xfd29, 0xfde7, 0xfd29, 0xfde7, -0xfcc3, 0xfd89, 0xfcc3, 0xfd89, 0xfce0, 0xfda8, 0xfce0, 0xfda8, 0xfbef, 0xfcb6, 0xfbef, -0xfcb6, 0xfbef, 0xfcb6, 0xfd83, 0xfe43, 0xfd83, 0xfe43, 0xfe01, 0xfeb7, 0xfe01, 0xfeb7, -0xfd93, 0xfe3d, 0xfd93, 0xfe3d, 0xff6c, 0x8, 0xff6c, 0x8, 0xfef4, 0xff80, 0xfef4, -0xff80, 0xffcc, 0x49, 0xffcc, 0x49, 0xffcc, 0x49, 0xff5e, 0xffca, 0xff5e, 0xffca, -0x4a, 0xa5, 0x4a, 0xa5, 0xff46, 0xff90, 0xff46, 0xff90, 0xfeb5, 0xfeef, 0xfeb5, -0xfeef, 0xff4d, 0xff76, 0xff4d, 0xff76, 0xff4d, 0xff76, 0xfe50, 0xfe67, 0xfe50, 0xfe67, -0xfdb7, 0xfdbc, 0xfdb7, 0xfdbc, 0xfddb, 0xfdcc, 0xfddb, 0xfdcc, 0xfe43, 0xfe1f, 0xfe43, -0xfe1f, 0xfe47, 0xfe0d, 0xfe47, 0xfe0d, 0xff32, 0xfede, 0xff32, 0xfede, 0xff32, 0xfede, -0x16, 0xffa8, 0x16, 0xffa8, 0x10c, 0x82, 0x10c, 0x82, 0x2ce, 0x226, 0x2ce, -0x226, 0x5d1, 0x508, 0x5d1, 0x508, 0x709, 0x621, 0x709, 0x621, 0x9b1, 0x8a9, -0x9b1, 0x8a9, 0x9b1, 0x8a9, 0xb92, 0xa6c, 0xb92, 0xa6c, 0xd77, 0xc34, 0xd77, -0xc34, 0xf01, 0xda4, 0xf01, 0xda4, 0xfde, 0xe6c, 0xfde, 0xe6c, 0x111a, 0xf99, -0x111a, 0xf99, 0x111a, 0xf99, 0x1114, 0xf8a, 0x1114, 0xf8a, 0x10c5, 0xf38, 0x10c5, -0xf38, 0x10ca, 0xf44, 0x10ca, 0xf44, 0xf77, 0xdff, 0xf77, 0xdff, 0xdbc, 0xc5b, -0xdbc, 0xc5b, 0xca5, 0xb64, 0xca5, 0xb64, 0xca5, 0xb64, 0x916, 0x7fd, 0x916, -0x7fd, 0x7fd, 0x715, 0x7fd, 0x715, 0x726, 0x675, 0x726, 0x675, 0x53f, 0x4cc, -0x53f, 0x4cc, 0x39b, 0x36a, 0x39b, 0x36a, 0x325, 0x339, 0x325, 0x339, 0x325, -0x339, 0x257, 0x2b1, 0x257, 0x2b1, 0x13a, 0x1db, 0x13a, 0x1db, 0x83, 0x16a, -0x83, 0x16a, 0x71, 0x19a, 0x71, 0x19a, 0xff40, 0xa5, 0xff40, 0xa5, 0xff40, -0xa5, 0xfc99, 0xfe34, 0xfc99, 0xfe34, 0xfbb1, 0xfd7c, 0xfbb1, 0xfd7c, 0xf902, 0xfaf5, -0xf902, 0xfaf5, 0xf75d, 0xf96e, 0xf75d, 0xf96e, 0xf673, 0xf899, 0xf673, 0xf899, 0xf32e, -0xf561, 0xf32e, 0xf561, 0xf32e, 0xf561, 0xf103, 0xf33b, 0xf103, 0xf33b, 0xf01a, 0xf24d, -0xf01a, 0xf24d, 0xf098, 0xf2bf, 0xf098, 0xf2bf, 0xf0d1, 0xf2e5, 0xf0d1, 0xf2e5, 0xef90, -0xf18c, 0xef90, 0xf18c, 0xf1bf, 0xf39e, 0xf1bf, 0xf39e, 0xf1bf, 0xf39e, 0xf23d, 0xf3fb, -0xf23d, 0xf3fb, 0xf302, 0xf49c, 0xf302, 0xf49c, 0xf496, 0xf60b, 0xf496, 0xf60b, 0xf500, -0xf64e, 0xf500, 0xf64e, 0xf597, 0xf6be, 0xf597, 0xf6be, 0xf597, 0xf6be, 0xf6eb, 0xf7eb, -0xf6eb, 0xf7eb, 0xf8ab, 0xf983, 0xf8ab, 0xf983, 0xf898, 0xf948, 0xf898, 0xf948, 0xf8f7, -0xf97e, 0xf8f7, 0xf97e, 0xf98f, 0xf9ec, 0xf98f, 0xf9ec, 0xfa2b, 0xfa5c, 0xfa2b, 0xfa5c, -0xfa2b, 0xfa5c, 0xf931, 0xf935, 0xf931, 0xf935, 0xf9a9, 0xf97d, 0xf9a9, 0xf97d, 0xf9b3, -0xf952, 0xf9b3, 0xf952, 0xfa42, 0xf9a9, 0xfa42, 0xf9a9, 0xfbba, 0xfae4, 0xfbba, 0xfae4, -0xfdec, 0xfcd4, 0xfdec, 0xfcd4, 0xfdec, 0xfcd4, 0xff3f, 0xfde2, 0xff3f, 0xfde2, 0x21b, -0x74, 0x21b, 0x74, 0x5b0, 0x3bb, 0x5b0, 0x3bb, 0x72c, 0x4e7, 0x72c, 0x4e7, -0xa05, 0x76d, 0xa05, 0x76d, 0xa05, 0x76d, 0xba8, 0x8be, 0xba8, 0x8be, 0xf05, -0xbc9, 0xf05, 0xbc9, 0x1230, 0xea6, 0x1230, 0xea6, 0x155d, 0x1188, 0x155d, 0x1188, -0x1870, 0x1458, 0x1870, 0x1458, 0x1b31, 0x16dc, 0x1b31, 0x16dc, 0x1b31, 0x16dc, 0x1d47, -0x18c0, 0x1d47, 0x18c0, 0x1f4e, 0x1a9f, 0x1f4e, 0x1a9f, 0x205b, 0x1b90, 0x205b, 0x1b90, -0x2194, 0x1cb9, 0x2194, 0x1cb9, 0x21d8, 0x1cfa, 0x21d8, 0x1cfa, 0x21d8, 0x1cfa, 0x201e, -0x1b4a, 0x201e, 0x1b4a, 0x2015, 0x1b58, 0x2015, 0x1b58, 0x1f5a, 0x1abf, 0x1f5a, 0x1abf, -0x1dbd, 0x194f, 0x1dbd, 0x194f, 0x1c3d, 0x1807, 0x1c3d, 0x1807, 0x1b85, 0x178e, 0x1b85, -0x178e, 0x1b85, 0x178e, 0x1a9d, 0x16ec, 0x1a9d, 0x16ec, 0x1a49, 0x16e2, 0x1a49, 0x16e2, -0x19e4, 0x16c9, 0x19e4, 0x16c9, 0x1a30, 0x1763, 0x1a30, 0x1763, 0x18b3, 0x1633, 0x18b3, -0x1633, 0x184b, 0x1615, 0x184b, 0x1615, 0x184b, 0x1615, 0x182c, 0x163d, 0x182c, 0x163d, -0x1557, 0x13ab, 0x1557, 0x13ab, 0x1459, 0x12ea, 0x1459, 0x12ea, 0x1298, 0x1162, 0x1298, -0x1162, 0xf01, 0xdfd, 0xf01, 0xdfd, 0xf01, 0xdfd, 0xc5e, 0xb87, 0xc5e, 0xb87, -0xa87, 0x9d9, 0xa87, 0x9d9, 0x9d4, 0x94a, 0x9d4, 0x94a, 0x77a, 0x711, 0x77a, -0x711, 0x564, 0x51a, 0x564, 0x51a, 0x5d9, 0x5ac, 0x5d9, 0x5ac, 0x5d9, 0x5ac, -0x36c, 0x35d, 0x36c, 0x35d, 0x1b7, 0x1c5, 0x1b7, 0x1c5, 0x106, 0x132, 0x106, -0x132, 0xff50, 0xff9b, 0xff50, 0xff9b, 0xfd22, 0xfd90, 0xfd22, 0xfd90, 0xfd82, 0xfe13, -0xfd82, 0xfe13, 0xfd82, 0xfe13, 0xfe38, 0xfeed, 0xfe38, 0xfeed, 0xfd54, 0xfe2e, 0xfd54, -0xfe2e, 0xfcd6, 0xfdd5, 0xfcd6, 0xfdd5, 0xfd48, 0xfe6b, 0xfd48, 0xfe6b, 0xfc9e, 0xfde1, -0xfc9e, 0xfde1, 0xfc9e, 0xfde1, 0xfb8c, 0xfced, 0xfb8c, 0xfced, 0xfb28, 0xfca3, 0xfb28, -0xfca3, 0xfa2c, 0xfbb9, 0xfa2c, 0xfbb9, 0xf8c5, 0xfa5f, 0xf8c5, 0xfa5f, 0xf7a7, 0xf944, -0xf7a7, 0xf944, 0xf847, 0xf9e0, 0xf847, 0xf9e0, 0xf847, 0xf9e0, 0xf68f, 0xf81b, 0xf68f, -0xf81b, 0xf77f, 0xf8f6, 0xf77f, 0xf8f6, 0xf83d, 0xf995, 0xf83d, 0xf995, 0xf8a0, 0xf9d3, -0xf8a0, 0xf9d3, 0xf9c5, 0xfacb, 0xf9c5, 0xfacb, 0xfab3, 0xfb88, 0xfab3, 0xfb88, 0xfab3, -0xfb88, 0xfcd2, 0xfd70, 0xfcd2, 0xfd70, 0xfeb5, 0xff1b, 0xfeb5, 0xff1b, 0xcc, 0xfa, -0xcc, 0xfa, 0x270, 0x266, 0x270, 0x266, 0x41f, 0x3e2, 0x41f, 0x3e2, 0x41f, -0x3e2, 0x595, 0x529, 0x595, 0x529, 0x6c1, 0x62c, 0x6c1, 0x62c, 0x664, 0x5af, -0x664, 0x5af, 0x749, 0x67b, 0x749, 0x67b, 0x616, 0x538, 0x616, 0x538, 0x571, -0x48d, 0x571, 0x48d, 0x571, 0x48d, 0x505, 0x423, 0x505, 0x423, 0x390, 0x2b9, -0x390, 0x2b9, 0x23a, 0x176, 0x23a, 0x176, 0x92, 0xffe6, 0x92, 0xffe6, 0xff95, -0xff06, 0xff95, 0xff06, 0xfe88, 0xfe19, 0xfe88, 0xfe19, 0xfe88, 0xfe19, 0xfda3, 0xfd56, -0xfda3, 0xfd56, 0xfd65, 0xfd3a, 0xfd65, 0xfd3a, 0xfe2e, 0xfe25, 0xfe2e, 0xfe25, 0xfce1, -0xfcf6, 0xfce1, 0xfcf6, 0xfcfa, 0xfd2a, 0xfcfa, 0xfd2a, 0xfcfa, 0xfd2a, 0xfca4, 0xfcea, -0xfca4, 0xfcea, 0xfad2, 0xfb28, 0xfad2, 0xfb28, 0xfb2c, 0xfb8e, 0xfb2c, 0xfb8e, 0xfaef, -0xfb58, 0xfaef, 0xfb58, 0xf947, 0xf9b3, 0xf947, 0xf9b3, 0xf8a7, 0xf912, 0xf8a7, 0xf912, -0xf8a7, 0xf912, 0xf7ce, 0xf837, 0xf7ce, 0xf837, 0xf743, 0xf7a7, 0xf743, 0xf7a7, 0xf49b, -0xf4fc, 0xf49b, 0xf4fc, 0xf33d, 0xf39d, 0xf33d, 0xf39d, 0xf374, 0xf3d6, 0xf374, 0xf3d6, -0xf1a2, 0xf20b, 0xf1a2, 0xf20b, 0xf1a2, 0xf20b, 0xf157, 0xf1cd, 0xf157, 0xf1cd, 0xf126, -0xf1ae, 0xf126, 0xf1ae, 0xefe3, 0xf085, 0xefe3, 0xf085, 0xee64, 0xef27, 0xee64, 0xef27, -0xeee8, 0xefd2, 0xeee8, 0xefd2, 0xeee8, 0xefd2, 0xef1d, 0xf033, 0xef1d, 0xf033, 0xedd0, -0xef18, 0xedd0, 0xef18, 0xeddd, 0xef5b, 0xeddd, 0xef5b, 0xee3e, 0xeff2, 0xee3e, 0xeff2, -0xece1, 0xeecb, 0xece1, 0xeecb, 0xecd5, 0xeef4, 0xecd5, 0xeef4, 0xecd5, 0xeef4, 0xebf3, -0xee42, 0xebf3, 0xee42, 0xeb36, 0xedaf, 0xeb36, 0xedaf, 0xe989, 0xec25, 0xe989, 0xec25, -0xe915, 0xebcc, 0xe915, 0xebcc, 0xe931, 0xebf8, 0xe931, 0xebf8, 0xe7fd, 0xeac9, 0xe7fd, -0xeac9, 0xe7fd, 0xeac9, 0xe925, 0xebec, 0xe925, 0xebec, 0xe9f0, 0xeca7, 0xe9f0, 0xeca7, -0xeba5, 0xee42, 0xeba5, 0xee42, 0xec65, 0xeedf, 0xec65, 0xeedf, 0xee1c, 0xf06b, 0xee1c, -0xf06b, 0xee1c, 0xf06b, 0xef60, 0xf17f, 0xef60, 0xf17f, 0xf087, 0xf272, 0xf087, 0xf272, -0xf27a, 0xf430, 0xf27a, 0xf430, 0xf4cd, 0xf64f, 0xf4cd, 0xf64f, 0xf5ef, 0xf741, 0xf5ef, -0xf741, 0xf7e3, 0xf90a, 0xf7e3, 0xf90a, 0xf7e3, 0xf90a, 0xf8bb, 0xf9bd, 0xf8bb, 0xf9bd, -0xf96b, 0xfa51, 0xf96b, 0xfa51, 0xfb53, 0xfc25, 0xfb53, 0xfc25, 0xfa2b, 0xfaf4, 0xfa2b, -0xfaf4, 0xfa5c, 0xfb25, 0xfa5c, 0xfb25, 0xfa25, 0xfaf8, 0xfa25, 0xfaf8, 0xfa25, 0xfaf8, -0xf98f, 0xfa75, 0xf98f, 0xfa75, 0xf87e, 0xf97d, 0xf87e, 0xf97d, 0xf7db, 0xf8f9, 0xf7db, -0xf8f9, 0xf6ce, 0xf80e, 0xf6ce, 0xf80e, 0xf6a8, 0xf80b, 0xf6a8, 0xf80b, 0xf6a8, 0xf80b, -0xf54b, 0xf6cf, 0xf54b, 0xf6cf, 0xf464, 0xf606, 0xf464, 0xf606, 0xf490, 0xf64a, 0xf490, -0xf64a, 0xf381, 0xf54c, 0xf381, 0xf54c, 0xf4af, 0xf680, 0xf4af, 0xf680, 0xf55a, 0xf728, -0xf55a, 0xf728, 0xf55a, 0xf728, 0xf539, 0xf6f9, 0xf539, 0xf6f9, 0xf6d4, 0xf87b, 0xf6d4, -0xf87b, 0xf7c4, 0xf946, 0xf7c4, 0xf946, 0xf848, 0xf99c, 0xf848, 0xf99c, 0xf951, 0xfa6e, -0xf951, 0xfa6e, 0xfae8, 0xfbc7, 0xfae8, 0xfbc7, 0xfae8, 0xfbc7, 0xfd8f, 0xfe2b, 0xfd8f, -0xfe2b, 0xfd3e, 0xfd95, 0xfd3e, 0xfd95, 0xff58, 0xff6a, 0xff58, 0xff6a, 0x54, 0x23, -0x54, 0x23, 0xa0, 0x32, 0xa0, 0x32, 0xa0, 0x32, 0x134, 0x90, 0x134, -0x90, 0x19f, 0xcf, 0x19f, 0xcf, 0x24b, 0x158, 0x24b, 0x158, 0x1cc, 0xc4, -0x1cc, 0xc4, 0x2cb, 0x1b9, 0x2cb, 0x1b9, 0x2a4, 0x194, 0x2a4, 0x194, 0x2a4, -0x194, 0x213, 0x110, 0x213, 0x110, 0x1db, 0xf1, 0x1db, 0xf1, 0x277, 0x1af, -0x277, 0x1af, 0x1e3, 0x143, 0x1e3, 0x143, 0x1dc, 0x169, 0x1dc, 0x169, 0x1dc, -0x169, 0x108, 0xc3, 0x108, 0xc3, 0xb0, 0x9b, 0xb0, 0x9b, 0xe, 0x24, -0xe, 0x24, 0xff74, 0xffb1, 0xff74, 0xffb1, 0xfedd, 0xff3a, 0xfedd, 0xff3a, 0xfe0c, -0xfe80, 0xfe0c, 0xfe80, 0xfe0c, 0xfe80, 0xfe0a, 0xfe8c, 0xfe0a, 0xfe8c, 0xfdc5, 0xfe49, -0xfdc5, 0xfe49, 0xfde5, 0xfe5f, 0xfde5, 0xfe5f, 0xfc63, 0xfcca, 0xfc63, 0xfcca, 0xfc23, -0xfc6d, 0xfc23, 0xfc6d, 0xfc75, 0xfc99, 0xfc75, 0xfc99, 0xfc75, 0xfc99, 0xfcc4, 0xfcbb, -0xfcc4, 0xfcbb, 0xfe2a, 0xfdf0, 0xfe2a, 0xfdf0, 0xffe3, 0xff75, 0xffe3, 0xff75, 0xb4, -0x13, 0xb4, 0x13, 0x320, 0x24e, 0x320, 0x24e, 0x320, 0x24e, 0x3dd, 0x2df, -0x3dd, 0x2df, 0x52a, 0x408, 0x52a, 0x408, 0x726, 0x5e7, 0x726, 0x5e7, 0x6e6, -0x595, 0x6e6, 0x595, 0x7da, 0x683, 0x7da, 0x683, 0x7d7, 0x684, 0x7d7, 0x684, -0x7d7, 0x684, 0x7e2, 0x6a0, 0x7e2, 0x6a0, 0x770, 0x648, 0x770, 0x648, 0x710, -0x60c, 0x710, 0x60c, 0x705, 0x62d, 0x705, 0x62d, 0x6b8, 0x612, 0x6b8, 0x612, -0x64f, 0x5df, 0x64f, 0x5df, 0x64f, 0x5df, 0x640, 0x606, 0x640, 0x606, 0x5fb, -0x5f7, 0x5fb, 0x5f7, 0x51a, 0x548, 0x51a, 0x548, 0x592, 0x5ec, 0x592, 0x5ec, -0x502, 0x581, 0x502, 0x581, 0x502, 0x581, 0x3db, 0x476, 0x3db, 0x476, 0x41b, -0x4c7, 0x41b, 0x4c7, 0x3f4, 0x4a7, 0x3f4, 0x4a7, 0x350, 0x3fe, 0x350, 0x3fe, -0x262, 0x300, 0x262, 0x300, 0x3a0, 0x425, 0x3a0, 0x425, 0x3a0, 0x425, 0x498, -0x4fd, 0x498, 0x4fd, 0x4f1, 0x52d, 0x4f1, 0x52d, 0x641, 0x650, 0x641, 0x650, -0x7af, 0x790, 0x7af, 0x790, 0x84f, 0x800, 0x84f, 0x800, 0x856, 0x7db, 0x856, -0x7db, 0x856, 0x7db, 0x99f, 0x8fc, 0x99f, 0x8fc, 0xa09, 0x943, 0xa09, 0x943, -0xa34, 0x954, 0xa34, 0x954, 0xaeb, 0x9fb, 0xaeb, 0x9fb, 0xc55, 0xb5e, 0xc55, -0xb5e, 0xc55, 0xb5e, 0xbf8, 0xb05, 0xbf8, 0xb05, 0xc04, 0xb1f, 0xc04, 0xb1f, -0xbea, 0xb1e, 0xbea, 0xb1e, 0xa84, 0x9da, 0xa84, 0x9da, 0x82f, 0x7af, 0x82f, -0x7af, 0x6e6, 0x695, 0x6e6, 0x695, 0x6e6, 0x695, 0x620, 0x605, 0x620, 0x605, -0x43a, 0x456, 0x43a, 0x456, 0x359, 0x3ad, 0x359, 0x3ad, 0x1a7, 0x232, 0x1a7, -0x232, 0xd4, 0x193, 0xd4, 0x193, 0xff84, 0x73, 0xff84, 0x73, 0xff84, 0x73, -0xff27, 0x40, 0xff27, 0x40, 0xff07, 0x43, 0xff07, 0x43, 0xfdb8, 0xff11, 0xfdb8, -0xff11, 0xfd4c, 0xfeba, 0xfd4c, 0xfeba, 0xfd3d, 0xfeba, 0xfd3d, 0xfeba, 0xfd3d, 0xfeba, -0xfbe8, 0xfd6d, 0xfbe8, 0xfd6d, 0xfc36, 0xfdbe, 0xfc36, 0xfdbe, 0xfbde, 0xfd64, 0xfbde, -0xfd64, 0xfbd4, 0xfd55, 0xfbd4, 0xfd55, 0xfc7d, 0xfdf7, 0xfc7d, 0xfdf7, 0xfabd, 0xfc30, -0xfabd, 0xfc30, 0xfabd, 0xfc30, 0xfaea, 0xfc55, 0xfaea, 0xfc55, 0xfa73, 0xfbd8, 0xfa73, -0xfbd8, 0xf90e, 0xfa70, 0xf90e, 0xfa70, 0xf84b, 0xf9ad, 0xf84b, 0xf9ad, 0xf83c, 0xf9a2, -0xf83c, 0xf9a2, 0xf7b9, 0xf925, 0xf7b9, 0xf925, 0xf7b9, 0xf925, 0xf68c, 0xf800, 0xf68c, -0xf800, 0xf5fa, 0xf77a, 0xf5fa, 0xf77a, 0xf66d, 0xf7f8, 0xf66d, 0xf7f8, 0xf59d, 0xf734, -0xf59d, 0xf734, 0xf5f8, 0xf79a, 0xf5f8, 0xf79a, 0xf5f8, 0xf79a, 0xf6e9, 0xf892, 0xf6e9, -0xf892, 0xf717, 0xf8c3, 0xf717, 0xf8c3, 0xf73f, 0xf8e8, 0xf73f, 0xf8e8, 0xf7ad, 0xf94e, -0xf7ad, 0xf94e, 0xf7a6, 0xf935, 0xf7a6, 0xf935, 0xf736, 0xf8aa, 0xf736, 0xf8aa, 0xf736, -0xf8aa, 0xf7f8, 0xf949, 0xf7f8, 0xf949, 0xf7c4, 0xf8e7, 0xf7c4, 0xf8e7, 0xf745, 0xf832, -0xf745, 0xf832, 0xf64a, 0xf6f7, 0xf64a, 0xf6f7, 0xf800, 0xf867, 0xf800, 0xf867, 0xf8b0, -0xf8c9, 0xf8b0, 0xf8c9, 0xf8b0, 0xf8c9, 0xf99f, 0xf965, 0xf99f, 0xf965, 0xfbc9, 0xfb38, -0xfbc9, 0xfb38, 0xfe5a, 0xfd71, 0xfe5a, 0xfd71, 0x8c, 0xff4a, 0x8c, 0xff4a, 0x30f, -0x176, 0x30f, 0x176, 0x30f, 0x176, 0x6dd, 0x4f1, 0x6dd, 0x4f1, 0x8c7, 0x68c, -0x8c7, 0x68c, 0xa31, 0x7ad, 0xa31, 0x7ad, 0xc3d, 0x976, 0xc3d, 0x976, 0xe15, -0xb12, 0xe15, 0xb12, 0xe31, 0xafb, 0xe31, 0xafb, 0xe31, 0xafb, 0x1087, 0xd25, -0x1087, 0xd25, 0x11fb, 0xe75, 0x11fb, 0xe75, 0x12c3, 0xf1f, 0x12c3, 0xf1f, 0x1258, -0xe9d, 0x1258, 0xe9d, 0x1374, 0xfa8, 0x1374, 0xfa8, 0x1383, 0xfa9, 0x1383, 0xfa9, -0x1383, 0xfa9, 0x133c, 0xf58, 0x133c, 0xf58, 0x1427, 0x103c, 0x1427, 0x103c, 0x13d8, -0xfe9, 0x13d8, 0xfe9, 0x1560, 0x116e, 0x1560, 0x116e, 0x15c5, 0x11d1, 0x15c5, 0x11d1, -0x15c5, 0x11d1, 0x17bf, 0x13ca, 0x17bf, 0x13ca, 0x1822, 0x142d, 0x1822, 0x142d, 0x1830, -0x143c, 0x1830, 0x143c, 0x1912, 0x1521, 0x1912, 0x1521, 0x1a02, 0x1617, 0x1a02, 0x1617, -0x19ab, 0x15ca, 0x19ab, 0x15ca, 0x19ab, 0x15ca, 0x1a7b, 0x16a8, 0x1a7b, 0x16a8, 0x1a78, -0x16b8, 0x1a78, 0x16b8, 0x1a2e, 0x1689, 0x1a2e, 0x1689, 0x1b23, 0x17a0, 0x1b23, 0x17a0, -0x19cd, 0x1674, 0x19cd, 0x1674, 0x19b8, 0x1692, 0x19b8, 0x1692, 0x19b8, 0x1692, 0x17ba, -0x14cf, 0x17ba, 0x14cf, 0x1628, 0x1380, 0x1628, 0x1380, 0x1410, 0x11b3, 0x1410, 0x11b3, -0x120e, 0x1004, 0x120e, 0x1004, 0x1038, 0xe87, 0x1038, 0xe87, 0x1038, 0xe87, 0xdc9, -0xc74, 0xdc9, 0xc74, 0xc92, 0xb9c, 0xc92, 0xb9c, 0xba2, 0xb0c, 0xba2, 0xb0c, -0x9f4, 0x9bc, 0x9f4, 0x9bc, 0x86a, 0x88d, 0x86a, 0x88d, 0x844, 0x8bc, 0x844, -0x8bc, 0x844, 0x8bc, 0x5c2, 0x687, 0x5c2, 0x687, 0x3d9, 0x4e2, 0x3d9, 0x4e2, -0x2fc, 0x43d, 0x2fc, 0x43d, 0xf8, 0x266, 0xf8, 0x266, 0xff30, 0xbd, 0xff30, -0xbd, 0xff30, 0xbd, 0xfe62, 0x2, 0xfe62, 0x2, 0xfdb3, 0xff59, 0xfdb3, 0xff59, -0xfb67, 0xfd06, 0xfb67, 0xfd06, 0xf994, 0xfb20, 0xf994, 0xfb20, 0xf9c2, 0xfb32, 0xf9c2, -0xfb32, 0xf8df, 0xfa2a, 0xf8df, 0xfa2a, 0xf8df, 0xfa2a, 0xf803, 0xf921, 0xf803, 0xf921, -0xf94f, 0xfa3c, 0xf94f, 0xfa3c, 0xf9dc, 0xfa96, 0xf9dc, 0xfa96, 0xfa33, 0xfab8, 0xfa33, -0xfab8, 0xfb99, 0xfbea, 0xfb99, 0xfbea, 0xfda8, 0xfdc8, 0xfda8, 0xfdc8, 0xfda8, 0xfdc8, -0xff06, 0xfef9, 0xff06, 0xfef9, 0xffeb, 0xffb6, 0xffeb, 0xffb6, 0x243, 0x1ed, 0x243, -0x1ed, 0x335, 0x2c4, 0x335, 0x2c4, 0x3d3, 0x34d, 0x3d3, 0x34d, 0x3d3, 0x34d, -0x527, 0x492, 0x527, 0x492, 0x57b, 0x4de, 0x57b, 0x4de, 0x4e8, 0x447, 0x4e8, -0x447, 0x4ba, 0x418, 0x4ba, 0x418, 0x4cf, 0x430, 0x4cf, 0x430, 0x312, 0x275, -0x312, 0x275, 0x312, 0x275, 0x1cf, 0x135, 0x1cf, 0x135, 0xb9, 0x21, 0xb9, -0x21, 0xff62, 0xfec9, 0xff62, 0xfec9, 0xfec7, 0xfe2a, 0xfec7, 0xfe2a, 0xff05, 0xfe62, -0xff05, 0xfe62, 0xff6b, 0xfebd, 0xff6b, 0xfebd, 0xff6b, 0xfebd, 0xfec5, 0xfe0a, 0xfec5, -0xfe0a, 0xfe72, 0xfda6, 0xfe72, 0xfda6, 0xffab, 0xfecd, 0xffab, 0xfecd, 0x46, 0xff56, -0x46, 0xff56, 0x10c, 0x9, 0x10c, 0x9, 0x10c, 0x9, 0x2b2, 0x19f, 0x2b2, -0x19f, 0x2d8, 0x1b9, 0x2d8, 0x1b9, 0x3d1, 0x2ab, 0x3d1, 0x2ab, 0x499, 0x373, -0x499, 0x373, 0x3a4, 0x286, 0x3a4, 0x286, 0x28d, 0x180, 0x28d, 0x180, 0x28d, -0x180, 0xcf, 0xffde, 0xcf, 0xffde, 0xfed5, 0xfe0b, 0xfed5, 0xfe0b, 0xfcff, 0xfc65, -0xfcff, 0xfc65, 0xfb37, 0xfad9, 0xfb37, 0xfad9, 0xf98d, 0xf975, 0xf98d, 0xf975, 0xf6ec, -0xf721, 0xf6ec, 0xf721, 0xf6ec, 0xf721, 0xf541, 0xf5cc, 0xf541, 0xf5cc, 0xf3f2, 0xf4d7, -0xf3f2, 0xf4d7, 0xf18f, 0xf2d2, 0xf18f, 0xf2d2, 0xf09b, 0xf23d, 0xf09b, 0xf23d, 0xf0cb, -0xf2ca, 0xf0cb, 0xf2ca, 0xf0cb, 0xf2ca, 0xef6f, 0xf1ca, 0xef6f, 0xf1ca, 0xee8c, 0xf13c, -0xee8c, 0xf13c, 0xee3d, 0xf13a, 0xee3d, 0xf13a, 0xec34, 0xef76, 0xec34, 0xef76, 0xeb07, -0xee84, 0xeb07, 0xee84, 0xeaf0, 0xee9b, 0xeaf0, 0xee9b, 0xeaf0, 0xee9b, 0xea3d, 0xee0c, -0xea3d, 0xee0c, 0xe869, 0xec4d, 0xe869, 0xec4d, 0xe857, 0xec45, 0xe857, 0xec45, 0xe872, -0xec5e, 0xe872, 0xec5e, 0xe700, 0xeade, 0xe700, 0xeade, 0xe65f, 0xea27, 0xe65f, 0xea27, -0xe65f, 0xea27, 0xe74b, 0xeaf3, 0xe74b, 0xeaf3, 0xe711, 0xea92, 0xe711, 0xea92, 0xe695, -0xe9e9, 0xe695, 0xe9e9, 0xe7f3, 0xeb18, 0xe7f3, 0xeb18, 0xe986, 0xec78, 0xe986, 0xec78, -0xe986, 0xec78, 0xeae5, 0xeda5, 0xeae5, 0xeda5, 0xec3d, 0xeecb, 0xec3d, 0xeecb, 0xefc2, -0xf220, 0xefc2, 0xf220, 0xf1d9, 0xf409, 0xf1d9, 0xf409, 0xf3a9, 0xf5b0, 0xf3a9, 0xf5b0, -0xf661, 0xf842, 0xf661, 0xf842, 0xf661, 0xf842, 0xf7b1, 0xf970, 0xf7b1, 0xf970, 0xf7a2, -0xf943, 0xf7a2, 0xf943, 0xf87c, 0xfa03, 0xf87c, 0xfa03, 0xf964, 0xfad4, 0xf964, 0xfad4, -0xf890, 0xf9ec, 0xf890, 0xf9ec, 0xf8c8, 0xfa11, 0xf8c8, 0xfa11, 0xf8c8, 0xfa11, 0xf7e1, -0xf91a, 0xf7e1, 0xf91a, 0xf779, 0xf8a2, 0xf779, 0xf8a2, 0xf80d, 0xf926, 0xf80d, 0xf926, -0xf7cb, 0xf8d5, 0xf7cb, 0xf8d5, 0xf7f0, 0xf8ea, 0xf7f0, 0xf8ea, 0xf7f0, 0xf8ea, 0xf7e8, -0xf8d3, 0xf7e8, 0xf8d3, 0xf7af, 0xf88b, 0xf7af, 0xf88b, 0xf8d1, 0xf99d, 0xf8d1, 0xf99d, -0xf900, 0xf9be, 0xf900, 0xf9be, 0xf9fa, 0xfaa9, 0xf9fa, 0xfaa9, 0xfb48, 0xfbeb, 0xfb48, -0xfbeb, 0xfb48, 0xfbeb, 0xfb72, 0xfc0a, 0xfb72, 0xfc0a, 0xfcc2, 0xfd53, 0xfcc2, 0xfd53, -0xfdb4, 0xfe40, 0xfdb4, 0xfe40, 0xfe49, 0xfed4, 0xfe49, 0xfed4, 0xfe80, 0xff0f, 0xfe80, -0xff0f, 0xfe26, 0xfebd, 0xfe26, 0xfebd, 0xfe26, 0xfebd, 0xfd9b, 0xfe3e, 0xfd9b, 0xfe3e, -0xfd2d, 0xfde0, 0xfd2d, 0xfde0, 0xfc8b, 0xfd51, 0xfc8b, 0xfd51, 0xfbb3, 0xfc90, 0xfbb3, -0xfc90, 0xf9c2, 0xfab8, 0xf9c2, 0xfab8, 0xf9c2, 0xfab8, 0xfa09, 0xfb19, 0xfa09, 0xfb19, -0xf985, 0xfab1, 0xf985, 0xfab1, 0xf7b1, 0xf8f8, 0xf7b1, 0xf8f8, 0xf7ea, 0xf94a, 0xf7ea, -0xf94a, 0xf719, 0xf892, 0xf719, 0xf892, 0xf6c4, 0xf851, 0xf6c4, 0xf851, 0xf6c4, 0xf851, -0xf791, 0xf92e, 0xf791, 0xf92e, 0xf86f, 0xfa18, 0xf86f, 0xfa18, 0xf75a, 0xf90a, 0xf75a, -0xf90a, 0xf690, 0xf842, 0xf690, 0xf842, 0xf76f, 0xf91c, 0xf76f, 0xf91c, 0xf702, 0xf8a6, -0xf702, 0xf8a6, 0xf702, 0xf8a6, 0xf5c9, 0xf75f, 0xf5c9, 0xf75f, 0xf644, 0xf7c7, 0xf644, -0xf7c7, 0xf6a7, 0xf813, 0xf6a7, 0xf813, 0xf671, 0xf7c3, 0xf671, 0xf7c3, 0xf771, 0xf8a6, -0xf771, 0xf8a6, 0xf771, 0xf8a6, 0xf808, 0xf91e, 0xf808, 0xf91e, 0xf885, 0xf97a, 0xf885, -0xf97a, 0xf9ab, 0xfa7f, 0xf9ab, 0xfa7f, 0xfa9e, 0xfb50, 0xfa9e, 0xfb50, 0xfb8e, 0xfc1d, -0xfb8e, 0xfc1d, 0xfbe9, 0xfc56, 0xfbe9, 0xfc56, 0xfbe9, 0xfc56, 0xfce6, 0xfd32, 0xfce6, -0xfd32, 0xfe17, 0xfe42, 0xfe17, 0xfe42, 0xfe74, 0xfe7d, 0xfe74, 0xfe7d, 0xff27, 0xff0e, -0xff27, 0xff0e, 0x70, 0x34, 0x70, 0x34, 0x1f3, 0x192, 0x1f3, 0x192, 0x1f3, -0x192, 0x1ec, 0x166, 0x1ec, 0x166, 0x3f3, 0x345, 0x3f3, 0x345, 0x53a, 0x463, -0x53a, 0x463, 0x5a7, 0x4a4, 0x5a7, 0x4a4, 0x74d, 0x61c, 0x74d, 0x61c, 0x74d, -0x61c, 0x721, 0x5c1, 0x721, 0x5c1, 0x756, 0x5c5, 0x756, 0x5c5, 0x8e4, 0x722, -0x8e4, 0x722, 0xa41, 0x84e, 0xa41, 0x84e, 0xabe, 0x89d, 0xabe, 0x89d, 0xb58, -0x90b, 0xb58, 0x90b, 0xb58, 0x90b, 0xbf3, 0x97e, 0xbf3, 0x97e, 0xcf3, 0xa5d, -0xcf3, 0xa5d, 0xd6d, 0xabb, 0xd6d, 0xabb, 0xe7d, 0xbb9, 0xe7d, 0xbb9, 0xee1, -0xc14, 0xee1, 0xc14, 0xee1, 0xc14, 0x1013, 0xd48, 0x1013, 0xd48, 0x11fd, 0xf3e, -0x11fd, 0xf3e, 0x1231, 0xf8b, 0x1231, 0xf8b, 0x1307, 0x1084, 0x1307, 0x1084, 0x1353, -0x10fe, 0x1353, 0x10fe, 0x12da, 0x10be, 0x12da, 0x10be, 0x12da, 0x10be, 0x11c6, 0xfed, -0x11c6, 0xfed, 0x1007, 0xe78, 0x1007, 0xe78, 0xee1, 0xda1, 0xee1, 0xda1, 0xcbf, -0xbd3, 0xcbf, 0xbd3, 0x9c2, 0x92c, 0x9c2, 0x92c, 0x957, 0x916, 0x957, 0x916, -0x957, 0x916, 0x74d, 0x760, 0x74d, 0x760, 0x469, 0x4ca, 0x469, 0x4ca, 0x320, -0x3c9, 0x320, 0x3c9, 0xef, 0x1d7, 0xef, 0x1d7, 0xfec0, 0xffde, 0xfec0, 0xffde, -0xfec0, 0xffde, 0xfdbc, 0xff05, 0xfdbc, 0xff05, 0xfccf, 0xfe37, 0xfccf, 0xfe37, 0xfb5b, -0xfcd6, 0xfb5b, 0xfcd6, 0xfa32, 0xfbb4, 0xfa32, 0xfbb4, 0xfabd, 0xfc3c, 0xfabd, 0xfc3c, -0xfb1a, 0xfc8b, 0xfb1a, 0xfc8b, 0xfb1a, 0xfc8b, 0xfa03, 0xfb5c, 0xfa03, 0xfb5c, 0xfaa6, -0xfbe1, 0xfaa6, 0xfbe1, 0xfa07, 0xfb1d, 0xfa07, 0xfb1d, 0xf95a, 0xfa48, 0xf95a, 0xfa48, -0xfa52, 0xfb17, 0xfa52, 0xfb17, 0xfa8f, 0xfb29, 0xfa8f, 0xfb29, 0xfa8f, 0xfb29, 0xfa01, -0xfa72, 0xfa01, 0xfa72, 0xfa8c, 0xfad7, 0xfa8c, 0xfad7, 0xfb6b, 0xfb95, 0xfb6b, 0xfb95, -0xfb7c, 0xfb8a, 0xfb7c, 0xfb8a, 0xfbe1, 0xfbd8, 0xfbe1, 0xfbd8, 0xfbe1, 0xfbd8, 0xfc0b, -0xfbf3, 0xfc0b, 0xfbf3, 0xfc4f, 0xfc2c, 0xfc4f, 0xfc2c, 0xfc73, 0xfc4a, 0xfc73, 0xfc4a, -0xfc59, 0xfc2e, 0xfc59, 0xfc2e, 0xfc4b, 0xfc22, 0xfc4b, 0xfc22, 0xfcd0, 0xfcac, 0xfcd0, -0xfcac, 0xfcd0, 0xfcac, 0xfc9b, 0xfc7b, 0xfc9b, 0xfc7b, 0xfd45, 0xfd29, 0xfd45, 0xfd29, -0xfdbf, 0xfda5, 0xfdbf, 0xfda5, 0xfea0, 0xfe83, 0xfea0, 0xfe83, 0xff5a, 0xff36, 0xff5a, -0xff36, 0xfea7, 0xfe76, 0xfea7, 0xfe76, 0xfea7, 0xfe76, 0xff03, 0xfec1, 0xff03, 0xfec1, -0xffb6, 0xff5a, 0xffb6, 0xff5a, 0xab, 0x31, 0xab, 0x31, 0x7a, 0xffdc, 0x7a, -0xffdc, 0x159, 0x93, 0x159, 0x93, 0x159, 0x93, 0x248, 0x156, 0x248, 0x156, -0x2c6, 0x1a6, 0x2c6, 0x1a6, 0x410, 0x2c3, 0x410, 0x2c3, 0x546, 0x3cd, 0x546, -0x3cd, 0x54e, 0x3ad, 0x54e, 0x3ad, 0x6d2, 0x50d, 0x6d2, 0x50d, 0x6d2, 0x50d, -0x86e, 0x68d, 0x86e, 0x68d, 0x817, 0x622, 0x817, 0x622, 0x8db, 0x6dc, 0x8db, -0x6dc, 0x81d, 0x61d, 0x81d, 0x61d, 0x827, 0x632, 0x827, 0x632, 0x7b0, 0x5d2, -0x7b0, 0x5d2, 0x7b0, 0x5d2, 0x6c4, 0x506, 0x6c4, 0x506, 0x613, 0x47f, 0x613, -0x47f, 0x507, 0x3a5, 0x507, 0x3a5, 0x3f7, 0x2ce, 0x3f7, 0x2ce, 0x32b, 0x241, -0x32b, 0x241, 0x32b, 0x241, 0x12d, 0x84, 0x12d, 0x84, 0xfec2, 0xfe5b, 0xfec2, -0xfe5b, 0xfe78, 0xfe53, 0xfe78, 0xfe53, 0xfc80, 0xfc98, 0xfc80, 0xfc98, 0xfb5f, 0xfbae, -0xfb5f, 0xfbae, 0xfa80, 0xfaff, 0xfa80, 0xfaff, 0xfa80, 0xfaff, 0xf9d0, 0xfa75, 0xf9d0, -0xfa75, 0xf82a, 0xf8e9, 0xf82a, 0xf8e9, 0xf765, 0xf833, 0xf765, 0xf833, 0xf6ed, 0xf7bd, -0xf6ed, 0xf7bd, 0xf5de, 0xf6a3, 0xf5de, 0xf6a3, 0xf5fd, 0xf6aa, 0xf5fd, 0xf6aa, 0xf5fd, -0xf6aa, 0xf6b2, 0xf73b, 0xf6b2, 0xf73b, 0xf7a8, 0xf801, 0xf7a8, 0xf801, 0xf867, 0xf886, -0xf867, 0xf886, 0xfb77, 0xfb53, 0xfb77, 0xfb53, 0xfc5a, 0xfbec, 0xfc5a, 0xfbec, 0xfc5a, -0xfbec, 0xfe0c, 0xfd50, 0xfe0c, 0xfd50, 0xad, 0xff9d, 0xad, 0xff9d, 0x360, 0x1fc, -0x360, 0x1fc, 0x600, 0x448, 0x600, 0x448, 0x8e3, 0x6da, 0x8e3, 0x6da, 0xb30, -0x8d7, 0xb30, 0x8d7, 0xb30, 0x8d7, 0xd87, 0xae4, 0xd87, 0xae4, 0x103a, 0xd53, -0x103a, 0xd53, 0x11b6, 0xe90, 0x11b6, 0xe90, 0x139e, 0x1042, 0x139e, 0x1042, 0x135a, -0xfce, 0x135a, 0xfce, 0x1442, 0x108d, 0x1442, 0x108d, 0x1442, 0x108d, 0x1470, 0x1099, -0x1470, 0x1099, 0x14c8, 0x10d6, 0x14c8, 0x10d6, 0x150f, 0x110a, 0x150f, 0x110a, 0x15f3, -0x11df, 0x15f3, 0x11df, 0x167d, 0x1261, 0x167d, 0x1261, 0x167d, 0x1261, 0x17be, 0x139e, -0x17be, 0x139e, 0x1954, 0x1534, 0x1954, 0x1534, 0x1a58, 0x163e, 0x1a58, 0x163e, 0x1bd5, -0x17c4, 0x1bd5, 0x17c4, 0x1c4c, 0x1849, 0x1c4c, 0x1849, 0x1e43, 0x1a52, 0x1e43, 0x1a52, -0x1e43, 0x1a52, 0x1e04, 0x1a29, 0x1e04, 0x1a29, 0x1f34, 0x1b75, 0x1f34, 0x1b75, 0x1faf, -0x1c0f, 0x1faf, 0x1c0f, 0x1fa1, 0x1c27, 0x1fa1, 0x1c27, 0x2034, 0x1ce6, 0x2034, 0x1ce6, -0x1f72, 0x1c56, 0x1f72, 0x1c56, 0x1f72, 0x1c56, 0x1dcb, 0x1ae8, 0x1dcb, 0x1ae8, 0x1cd3, -0x1a30, 0x1cd3, 0x1a30, 0x1acf, 0x1872, 0x1acf, 0x1872, 0x179d, 0x158e, 0x179d, 0x158e, -0x15c6, 0x140b, 0x15c6, 0x140b, 0x15c6, 0x140b, 0x130a, 0x11aa, 0x130a, 0x11aa, 0x10de, -0xfdd, 0x10de, 0xfdd, 0xdb9, 0xd1b, 0xdb9, 0xd1b, 0xbda, 0xba2, 0xbda, 0xba2, -0x9a7, 0x9d8, 0x9a7, 0x9d8, 0x74b, 0x7e4, 0x74b, 0x7e4, 0x74b, 0x7e4, 0x499, -0x599, 0x499, 0x599, 0x222, 0x387, 0x222, 0x387, 0x4d, 0x212, 0x4d, 0x212, -0xfe1c, 0x3b, 0xfe1c, 0x3b, 0xfc33, 0xfea4, 0xfc33, 0xfea4, 0xfa6c, 0xfd28, 0xfa6c, -0xfd28, 0xfa6c, 0xfd28, 0xf821, 0xfb1e, 0xf821, 0xfb1e, 0xf54e, 0xf882, 0xf54e, 0xf882, -0xf40b, 0xf76b, 0xf40b, 0xf76b, 0xf0dc, 0xf45d, 0xf0dc, 0xf45d, 0xeeda, 0xf271, 0xeeda, -0xf271, 0xeeda, 0xf271, 0xed88, 0xf12a, 0xed88, 0xf12a, 0xec61, 0xf003, 0xec61, 0xf003, -0xeb7d, 0xef15, 0xeb7d, 0xef15, 0xebc4, 0xef49, 0xebc4, 0xef49, 0xeb86, 0xeeef, 0xeb86, -0xeeef, 0xeb22, 0xee68, 0xeb22, 0xee68, 0xeb22, 0xee68, 0xece2, 0xeffd, 0xece2, 0xeffd, -0xed81, 0xf06c, 0xed81, 0xf06c, 0xef37, 0xf1ed, 0xef37, 0xf1ed, 0xf08a, 0xf306, 0xf08a, -0xf306, 0xf20d, 0xf44c, 0xf20d, 0xf44c, 0xf20d, 0xf44c, 0xf33d, 0xf53c, 0xf33d, 0xf53c, -0xf53c, 0xf6f7, 0xf53c, 0xf6f7, 0xf650, 0xf7c6, 0xf650, 0xf7c6, 0xf7e4, 0xf912, 0xf7e4, -0xf912, 0xf9a5, 0xfa8b, 0xf9a5, 0xfa8b, 0xfa65, 0xfb00, 0xfa65, 0xfb00, 0xfa65, 0xfb00, -0xfb59, 0xfba9, 0xfb59, 0xfba9, 0xfb9e, 0xfba2, 0xfb9e, 0xfba2, 0xfc6a, 0xfc21, 0xfc6a, -0xfc21, 0xfb55, 0xfac0, 0xfb55, 0xfac0, 0xfbcd, 0xfaec, 0xfbcd, 0xfaec, 0xfbe5, 0xfaba, -0xfbe5, 0xfaba, 0xfbe5, 0xfaba, 0xfd1b, 0xfba9, 0xfd1b, 0xfba9, 0xfe79, 0xfcc2, 0xfe79, -0xfcc2, 0xffa6, 0xfdaf, 0xffa6, 0xfdaf, 0x1b4, 0xff84, 0x1b4, 0xff84, 0x3ae, 0x14b, -0x3ae, 0x14b, 0x3ae, 0x14b, 0x56c, 0x2de, 0x56c, 0x2de, 0x71a, 0x46c, 0x71a, -0x46c, 0x91e, 0x65c, 0x91e, 0x65c, 0x9a0, 0x6d5, 0x9a0, 0x6d5, 0xb30, 0x86a, -0xb30, 0x86a, 0xc26, 0x973, 0xc26, 0x973, 0xc26, 0x973, 0xcc4, 0xa32, 0xcc4, -0xa32, 0xc16, 0x9b4, 0xc16, 0x9b4, 0xbe6, 0x9c2, 0xbe6, 0x9c2, 0xa39, 0x860, -0xa39, 0x860, 0x865, 0x6e4, 0x865, 0x6e4, 0x69a, 0x57c, 0x69a, 0x57c, 0x69a, -0x57c, 0x3e4, 0x334, 0x3e4, 0x334, 0x100, 0xc4, 0x100, 0xc4, 0xfe81, 0xfebf, -0xfe81, 0xfebf, 0xfbe8, 0xfca4, 0xfbe8, 0xfca4, 0xf921, 0xfa5a, 0xf921, 0xfa5a, 0xf921, -0xfa5a, 0xf71b, 0xf8d0, 0xf71b, 0xf8d0, 0xf3f7, 0xf624, 0xf3f7, 0xf624, 0xf28a, 0xf529, -0xf28a, 0xf529, 0xefc0, 0xf2c9, 0xefc0, 0xf2c9, 0xee86, 0xf1ee, 0xee86, 0xf1ee, 0xebed, -0xefa9, 0xebed, 0xefa9, 0xebed, 0xefa9, 0xe9f2, 0xedf6, 0xe9f2, 0xedf6, 0xe7cd, 0xec0a, -0xe7cd, 0xec0a, 0xe743, 0xebad, 0xe743, 0xebad, 0xe58c, 0xea14, 0xe58c, 0xea14, 0xe2b1, -0xe74c, 0xe2b1, 0xe74c, 0xe20a, 0xe6aa, 0xe20a, 0xe6aa, 0xe20a, 0xe6aa, 0xdf4e, 0xe3e8, -0xdf4e, 0xe3e8, 0xde6e, 0xe2f8, 0xde6e, 0xe2f8, 0xdcc8, 0xe13a, 0xdcc8, 0xe13a, 0xdd0f, -0xe162, 0xdd0f, 0xe162, 0xdcb0, 0xe0dd, 0xdcb0, 0xe0dd, 0xdcb0, 0xe0dd, 0xde68, 0xe26d, -0xde68, 0xe26d, 0xdf56, 0xe32f, 0xdf56, 0xe32f, 0xe20f, 0xe5bb, 0xe20f, 0xe5bb, 0xe315, -0xe693, 0xe315, 0xe693, 0xe52c, 0xe87d, 0xe52c, 0xe87d, 0xe83b, 0xeb5e, 0xe83b, 0xeb5e, -0xe83b, 0xeb5e, 0xe86c, 0xeb62, 0xe86c, 0xeb62, 0xea75, 0xed3e, 0xea75, 0xed3e, 0xea47, -0xece3, 0xea47, 0xece3, 0xec55, 0xeec4, 0xec55, 0xeec4, 0xed1d, 0xef5d, 0xed1d, 0xef5d, -0xeef7, 0xf106, 0xeef7, 0xf106, 0xeef7, 0xf106, 0xef5b, 0xf137, 0xef5b, 0xf137, 0xf0d0, -0xf274, 0xf0d0, 0xf274, 0xf13b, 0xf2a4, 0xf13b, 0xf2a4, 0xf1f6, 0xf31e, 0xf1f6, 0xf31e, -0xf26c, 0xf34f, 0xf26c, 0xf34f, 0xf26c, 0xf34f, 0xf3dc, 0xf475, 0xf3dc, 0xf475, 0xf5c7, -0xf612, 0xf5c7, 0xf612, 0xf681, 0xf67b, 0xf681, 0xf67b, 0xf991, 0xf937, 0xf991, 0xf937, -0xfbdc, 0xfb2d, 0xfbdc, 0xfb2d, 0x6c, 0xff68, 0x6c, 0xff68, 0x6c, 0xff68, 0x29a, -0x144, 0x29a, 0x144, 0x694, 0x4ef, 0x694, 0x4ef, 0x96a, 0x77d, 0x96a, 0x77d, -0xce0, 0xab4, 0xce0, 0xab4, 0x103c, 0xdda, 0x103c, 0xdda, 0x124f, 0xfc3, 0x124f, -0xfc3, 0x124f, 0xfc3, 0x1331, 0x1089, 0x1331, 0x1089, 0x1556, 0x12a0, 0x1556, 0x12a0, -0x1608, 0x1353, 0x1608, 0x1353, 0x1486, 0x11e3, 0x1486, 0x11e3, 0x1523, 0x12a0, 0x1523, -0x12a0, 0x1523, 0x12a0, 0x11b7, 0xf64, 0x11b7, 0xf64, 0x10e2, 0xecd, 0x10e2, 0xecd, -0xf32, 0xd68, 0xf32, 0xd68, 0xd18, 0xba4, 0xd18, 0xba4, 0xb3c, 0xa25, 0xb3c, -0xa25, 0x948, 0x897, 0x948, 0x897, 0x948, 0x897, 0x77b, 0x732, 0x77b, 0x732, -0x65e, 0x67f, 0x65e, 0x67f, 0x4e2, 0x56c, 0x4e2, 0x56c, 0x290, 0x37d, 0x290, -0x37d, 0x126, 0x272, 0x126, 0x272, 0xff16, 0xb7, 0xff16, 0xb7, 0xff16, 0xb7, -0xfcee, 0xfedb, 0xfcee, 0xfedb, 0xfa94, 0xfcc1, 0xfa94, 0xfcc1, 0xf8bf, 0xfb1e, 0xf8bf, -0xfb1e, 0xf525, 0xf7a9, 0xf525, 0xf7a9, 0xf384, 0xf620, 0xf384, 0xf620, 0xf384, 0xf620, -0xf134, 0xf3da, 0xf134, 0xf3da, 0xef64, 0xf206, 0xef64, 0xf206, 0xee43, 0xf0d6, 0xee43, -0xf0d6, 0xed00, 0xef77, 0xed00, 0xef77, 0xeca2, 0xeef5, 0xeca2, 0xeef5, 0xec6e, 0xee94, -0xec6e, 0xee94, 0xec6e, 0xee94, 0xedb8, 0xefaa, 0xedb8, 0xefaa, 0xee9e, 0xf058, 0xee9e, -0xf058, 0xf000, 0xf17d, 0xf000, 0xf17d, 0xf144, 0xf284, 0xf144, 0xf284, 0xf31d, 0xf41d, -0xf31d, 0xf41d, 0xf459, 0xf51a, 0xf459, 0xf51a, 0xf459, 0xf51a, 0xf6f7, 0xf77a, 0xf6f7, -0xf77a, 0xf7e1, 0xf828, 0xf7e1, 0xf828, 0xfa9c, 0xfaa9, 0xfa9c, 0xfaa9, 0xfc98, 0xfc6d, -0xfc98, 0xfc6d, 0xfcc7, 0xfc66, 0xfcc7, 0xfc66, 0xfcc7, 0xfc66, 0x7, 0xff72, 0x7, -0xff72, 0x9, 0xff43, 0x9, 0xff43, 0x170, 0x79, 0x170, 0x79, 0x291, 0x16b, -0x291, 0x16b, 0x4c9, 0x374, 0x4c9, 0x374, 0x649, 0x4c6, 0x649, 0x4c6, 0x649, -0x4c6, 0x700, 0x54e, 0x700, 0x54e, 0x6b6, 0x4d6, 0x6b6, 0x4d6, 0x885, 0x677, -0x885, 0x677, 0xa81, 0x845, 0xa81, 0x845, 0xaf5, 0x88d, 0xaf5, 0x88d, 0xf22, -0xc8f, 0xf22, 0xc8f, 0xf22, 0xc8f, 0x109d, 0xde2, 0x109d, 0xde2, 0x1342, 0x1062, -0x1342, 0x1062, 0x14e5, 0x11e5, 0x14e5, 0x11e5, 0x179d, 0x1482, 0x179d, 0x1482, 0x1965, -0x1636, 0x1965, 0x1636, 0x1965, 0x1636, 0x1af7, 0x17bb, 0x1af7, 0x17bb, 0x1c44, 0x1903, -0x1c44, 0x1903, 0x1cf5, 0x19b9, 0x1cf5, 0x19b9, 0x1db7, 0x1a8a, 0x1db7, 0x1a8a, 0x1d7c, -0x1a67, 0x1d7c, 0x1a67, 0x1ccc, 0x19da, 0x1ccc, 0x19da, 0x1ccc, 0x19da, 0x1b40, 0x187b, -0x1b40, 0x187b, 0x1adf, 0x1851, 0x1adf, 0x1851, 0x1799, 0x154a, 0x1799, 0x154a, 0x1654, -0x144d, 0x1654, 0x144d, 0x1426, 0x126f, 0x1426, 0x126f, 0x1426, 0x126f, 0x1114, 0xfb2, -0x1114, 0xfb2, 0xf30, 0xe28, 0xf30, 0xe28, 0xd5f, 0xcb4, 0xd5f, 0xcb4, 0xa40, -0x9f4, 0xa40, 0x9f4, 0x7fe, 0x811, 0x7fe, 0x811, 0x402, 0x472, 0x402, 0x472, -0x402, 0x472, 0x291, 0x35b, 0x291, 0x35b, 0xa4, 0x1c4, 0xa4, 0x1c4, 0xfd04, -0xfe75, 0xfd04, 0xfe75, 0xfbaf, 0xfd6c, 0xfbaf, 0xfd6c, 0xf8f3, 0xfaf4, 0xf8f3, 0xfaf4, -0xf7e0, 0xfa1d, 0xf7e0, 0xfa1d, 0xf7e0, 0xfa1d, 0xf5e0, 0xf850, 0xf5e0, 0xf850, 0xf594, -0xf830, 0xf594, 0xf830, 0xf1a8, 0xf466, 0xf1a8, 0xf466, 0xf066, 0xf33f, 0xf066, 0xf33f, -0xeee4, 0xf1cd, 0xeee4, 0xf1cd, 0xeee4, 0xf1cd, 0xee6e, 0xf160, 0xee6e, 0xf160, 0xec9b, -0xef8d, 0xec9b, 0xef8d, 0xeb53, 0xee3d, 0xeb53, 0xee3d, 0xec74, 0xef4d, 0xec74, 0xef4d, -0xed1f, 0xefe1, 0xed1f, 0xefe1, 0xee68, 0xf109, 0xee68, 0xf109, 0xee68, 0xf109, 0xebe2, -0xee5d, 0xebe2, 0xee5d, 0xed4c, 0xef99, 0xed4c, 0xef99, 0xedb1, 0xefc9, 0xedb1, 0xefc9, -0xf029, 0xf206, 0xf029, 0xf206, 0xedf0, 0xef8c, 0xedf0, 0xef8c, 0xf111, 0xf266, 0xf111, -0xf266, 0xf111, 0xf266, 0xf3ce, 0xf4d7, 0xf3ce, 0xf4d7, 0xf279, 0xf331, 0xf279, 0xf331, -0xf4b0, 0xf513, 0xf4b0, 0xf513, 0xf3f7, 0xf401, 0xf3f7, 0xf401, 0xf49b, 0xf44b, 0xf49b, -0xf44b, 0xf49b, 0xf44b, 0xf6e3, 0xf637, 0xf6e3, 0xf637, 0xf93f, 0xf837, 0xf93f, 0xf837, -0xf9c0, 0xf85c, 0xf9c0, 0xf85c, 0xfe50, 0xfc92, 0xfe50, 0xfc92, 0xff99, 0xfd85, 0xff99, -0xfd85, 0x26e, 0x8, 0x26e, 0x8, 0x26e, 0x8, 0x57c, 0x2ca, 0x57c, 0x2ca, -0x5ec, 0x2f4, 0x5ec, 0x2f4, 0x6df, 0x3a9, 0x6df, 0x3a9, 0x94d, 0x5e1, 0x94d, -0x5e1, 0xc59, 0x8c2, 0xc59, 0x8c2, 0xc0d, 0x853, 0xc0d, 0x853, 0xc0d, 0x853, -0xe7b, 0xaa8, 0xe7b, 0xaa8, 0x10ed, 0xd0d, 0x10ed, 0xd0d, 0x11f9, 0xe14, 0x11f9, -0xe14, 0x13dd, 0xffd, 0x13dd, 0xffd, 0x1414, 0x1042, 0x1414, 0x1042, 0x1414, 0x1042, -0x1433, 0x1076, 0x1433, 0x1076, 0x15eb, 0x124c, 0x15eb, 0x124c, 0x1747, 0x13cb, 0x1747, -0x13cb, 0x1346, 0xff2, 0x1346, 0xff2, 0x1243, 0xf1a, 0x1243, 0xf1a, 0x15df, 0x12e4, -0x15df, 0x12e4, 0x15df, 0x12e4, 0x1323, 0x1058, 0x1323, 0x1058, 0x1495, 0x11fa, 0x1495, -0x11fa, 0x1384, 0x1119, 0x1384, 0x1119, 0x12b5, 0x1079, 0x12b5, 0x1079, 0x12c4, 0x10b6, -0x12c4, 0x10b6, 0x1195, 0xfb2, 0x1195, 0xfb2, 0x1195, 0xfb2, 0xf96, 0xddc, 0xf96, -0xddc, 0xdc3, 0xc31, 0xdc3, 0xc31, 0x107a, 0xf0d, 0x107a, 0xf0d, 0xd59, 0xc10, -0xd59, 0xc10, 0xbf8, 0xad2, 0xbf8, 0xad2, 0xbf8, 0xad2, 0xbd0, 0xacb, 0xbd0, -0xacb, 0xb67, 0xa84, 0xb67, 0xa84, 0x9e5, 0x923, 0x9e5, 0x923, 0xa15, 0x974, -0xa15, 0x974, 0x764, 0x6e5, 0x764, 0x6e5, 0x813, 0x7b7, 0x813, 0x7b7, 0x813, -0x7b7, 0x94f, 0x915, 0x94f, 0x915, 0x760, 0x749, 0x760, 0x749, 0x8c2, 0x8ce, -0x8c2, 0x8ce, 0x6cb, 0x6f8, 0x6cb, 0x6f8, 0x865, 0x8b2, 0x865, 0x8b2, 0x6f8, -0x763, 0x6f8, 0x763, 0x6f8, 0x763, 0x645, 0x6ca, 0x645, 0x6ca, 0x35f, 0x3fa, -0x35f, 0x3fa, 0x33a, 0x3e6, 0x33a, 0x3e6, 0x5a1, 0x659, 0x5a1, 0x659, 0x403, -0x4bf, 0x403, 0x4bf, 0x403, 0x4bf, 0x3e4, 0x49e, 0x3e4, 0x49e, 0x20c, 0x2bc, -0x20c, 0x2bc, 0x26d, 0x30c, 0x26d, 0x30c, 0x125, 0x1ac, 0x125, 0x1ac, 0x145, -0x1ac, 0x145, 0x1ac, 0x62, 0xa4, 0x62, 0xa4, 0x62, 0xa4, 0xc8, 0xe0, -0xc8, 0xe0, 0x2c8, 0x2b1, 0x2c8, 0x2b1, 0x2c9, 0x283, 0x2c9, 0x283, 0x416, -0x39e, 0x416, 0x39e, 0x603, 0x55b, 0x603, 0x55b, 0x753, 0x67c, 0x753, 0x67c, -0x753, 0x67c, 0x687, 0x587, 0x687, 0x587, 0x7bd, 0x69a, 0x7bd, 0x69a, 0x844, -0x704, 0x844, 0x704, 0x888, 0x734, 0x888, 0x734, 0x94d, 0x7ee, 0x94d, 0x7ee, -0x94d, 0x7ee, 0xbc1, 0xa61, 0xbc1, 0xa61, 0xb25, 0x9d0, 0xb25, 0x9d0, 0xc38, -0xaf7, 0xc38, 0xaf7, 0xd28, 0xc05, 0xd28, 0xc05, 0xc07, 0xb0d, 0xc07, 0xb0d, -0xcca, 0xc00, 0xcca, 0xc00, 0xcca, 0xc00, 0xb51, 0xac0, 0xb51, 0xac0, 0xd47, -0xcf5, 0xd47, 0xcf5, 0x9c5, 0x9b6, 0x9c5, 0x9b6, 0x809, 0x83f, 0x809, 0x83f, -0x736, 0x7b4, 0x736, 0x7b4, 0x4aa, 0x570, 0x4aa, 0x570, 0x4aa, 0x570, 0x41b, -0x526, 0x41b, 0x526, 0x2d4, 0x422, 0x2d4, 0x422, 0x4f, 0x1db, 0x4f, 0x1db, -0x25, 0x1e9, 0x25, 0x1e9, 0x64, 0x25c, 0x64, 0x25c, 0x64, 0x25c, 0xfce6, -0xff0b, 0xfce6, 0xff0b, 0xfbf9, 0xfe44, 0xfbf9, 0xfe44, 0xf8c6, 0xfb31, 0xf8c6, 0xfb31, -0xf8f7, 0xfb7c, 0xf8f7, 0xfb7c, 0xf6d6, 0xf96e, 0xf6d6, 0xf96e, 0xf715, 0xf9bc, 0xf715, -0xf9bc, 0xf715, 0xf9bc, 0xf7c0, 0xfa71, 0xf7c0, 0xfa71, 0xf6f5, 0xf9ac, 0xf6f5, 0xf9ac, -0xf707, 0xf9c1, 0xf707, 0xf9c1, 0xf561, 0xf81c, 0xf561, 0xf81c, 0xf602, 0xf8bb, 0xf602, -0xf8bb, 0xf46d, 0xf723, 0xf46d, 0xf723, 0xf46d, 0xf723, 0xf506, 0xf7b7, 0xf506, 0xf7b7, -0xf63a, 0xf8e4, 0xf63a, 0xf8e4, 0xf543, 0xf7e6, 0xf543, 0xf7e6, 0xf3a9, 0xf643, 0xf3a9, -0xf643, 0xf57c, 0xf80b, 0xf57c, 0xf80b, 0xf57c, 0xf80b, 0xf2df, 0xf560, 0xf2df, 0xf560, -0xf31f, 0xf58f, 0xf31f, 0xf58f, 0xf408, 0xf663, 0xf408, 0xf663, 0xf137, 0xf379, 0xf137, -0xf379, 0xf371, 0xf595, 0xf371, 0xf595, 0xf40d, 0xf60d, 0xf40d, 0xf60d, 0xf40d, 0xf60d, -0xf1f1, 0xf3c9, 0xf1f1, 0xf3c9, 0xf28e, 0xf437, 0xf28e, 0xf437, 0xf2db, 0xf451, 0xf2db, -0xf451, 0xf293, 0xf3d0, 0xf293, 0xf3d0, 0xf1c9, 0xf2c8, 0xf1c9, 0xf2c8, 0xf1c9, 0xf2c8, -0xf07c, 0xf13a, 0xf07c, 0xf13a, 0xf353, 0xf3cd, 0xf353, 0xf3cd, 0xf1e7, 0xf21d, 0xf1e7, -0xf21d, 0xf42b, 0xf41c, 0xf42b, 0xf41c, 0xf549, 0xf4f7, 0xf549, 0xf4f7, 0xf4c9, 0xf436, -0xf4c9, 0xf436, 0xf4c9, 0xf436, 0xf6b0, 0xf5e2, 0xf6b0, 0xf5e2, 0xf5f6, 0xf4f2, 0xf5f6, -0xf4f2, 0xf8a3, 0xf772, 0xf8a3, 0xf772, 0xfa96, 0xf93e, 0xfa96, 0xf93e, 0xf9a5, 0xf831, -0xf9a5, 0xf831, 0xfb22, 0xf99b, 0xfb22, 0xf99b, 0xfb22, 0xf99b, 0xfae2, 0xf953, 0xfae2, -0xf953, 0xf9d8, 0xf84a, 0xf9d8, 0xf84a, 0xfb4e, 0xf9cc, 0xfb4e, 0xf9cc, 0xfa0c, 0xf8a0, -0xfa0c, 0xf8a0, 0xfba2, 0xfa54, 0xfba2, 0xfa54, 0xfba2, 0xfa54, 0xfa96, 0xf96d, 0xfa96, -0xf96d, 0xf991, 0xf894, 0xf991, 0xf894, 0xf948, 0xf87c, 0xf948, 0xf87c, 0xf86d, 0xf7d7, -0xf86d, 0xf7d7, 0xf9f2, 0xf994, 0xf9f2, 0xf994, 0xf680, 0xf65c, 0xf680, 0xf65c, 0xf680, -0xf65c, 0xf775, 0xf78b, 0xf775, 0xf78b, 0xfade, 0xfb2d, 0xfade, 0xfb2d, 0xf6cd, 0xf754, -0xf6cd, 0xf754, 0xf8a2, 0xf95f, 0xf8a2, 0xf95f, 0xf712, 0xf800, 0xf712, 0xf800, 0xf4f2, -0xf610, 0xf4f2, 0xf610, 0xf4f2, 0xf610, 0xf62b, 0xf776, 0xf62b, 0xf776, 0xf1ec, 0xf361, -0xf1ec, 0xf361, 0xf0f4, 0xf28f, 0xf0f4, 0xf28f, 0xee34, 0xeff5, 0xee34, 0xeff5, 0xeef0, -0xf0d3, 0xeef0, 0xf0d3, 0xeef0, 0xf0d3, 0xef1d, 0xf122, 0xef1d, 0xf122, 0xee82, 0xf0a6, -0xee82, 0xf0a6, 0xec83, 0xeec7, 0xec83, 0xeec7, 0xedb9, 0xf01c, 0xedb9, 0xf01c, 0xefbd, -0xf23d, 0xefbd, 0xf23d, 0xefb3, 0xf250, 0xefb3, 0xf250, 0xefb3, 0xf250, 0xeff9, 0xf2b1, -0xeff9, 0xf2b1, 0xf0bd, 0xf38e, 0xf0bd, 0xf38e, 0xf2d5, 0xf5bd, 0xf2d5, 0xf5bd, 0xf1a4, -0xf4a0, 0xf1a4, 0xf4a0, 0xf639, 0xf944, 0xf639, 0xf944, 0xf441, 0xf755, 0xf441, 0xf755, -0xf441, 0xf755, 0xf6c5, 0xf9dd, 0xf6c5, 0xf9dd, 0xf9b8, 0xfccb, 0xf9b8, 0xfccb, 0xf894, -0xfb9c, 0xf894, 0xfb9c, 0xfbfb, 0xfeee, 0xfbfb, 0xfeee, 0xfb88, 0xfe5d, 0xfb88, 0xfe5d, -0xfb88, 0xfe5d, 0xfb5e, 0xfe0c, 0xfb5e, 0xfe0c, 0xfc2b, 0xfea8, 0xfc2b, 0xfea8, 0xfd86, -0xffca, 0xfd86, 0xffca, 0xfc56, 0xfe59, 0xfc56, 0xfe59, 0xfcdc, 0xfe97, 0xfcdc, 0xfe97, -0xfea2, 0x11, 0xfea2, 0x11, 0xfea2, 0x11, 0x12a, 0x247, 0x12a, 0x247, 0x248, -0x313, 0x248, 0x313, 0x384, 0x3fb, 0x384, 0x3fb, 0x7b3, 0x7d8, 0x7b3, 0x7d8, -0x815, 0x7ec, 0x815, 0x7ec, 0x8fc, 0x88b, 0x8fc, 0x88b, 0x8fc, 0x88b, 0xa99, -0x9e6, 0xa99, 0x9e6, 0xc7b, 0xb8f, 0xc7b, 0xb8f, 0xda9, 0xc8f, 0xda9, 0xc8f, -0xcfb, 0xbbc, 0xcfb, 0xbbc, 0xdd9, 0xc81, 0xdd9, 0xc81, 0xdd9, 0xc81, 0xbf7, -0xa8f, 0xbf7, 0xa8f, 0xd96, 0xc29, 0xd96, 0xc29, 0xccf, 0xb69, 0xccf, 0xb69, -0x994, 0x83b, 0x994, 0x83b, 0x6a6, 0x563, 0x6a6, 0x563, 0x465, 0x33d, 0x465, -0x33d, 0x465, 0x33d, 0x3d8, 0x2d0, 0x3d8, 0x2d0, 0x5f, 0xff78, 0x5f, 0xff78, -0xe4, 0x20, 0xe4, 0x20, 0xfe1e, 0xfd7b, 0xfe1e, 0xfd7b, 0xfe16, 0xfd92, 0xfe16, -0xfd92, 0xfe89, 0xfe20, 0xfe89, 0xfe20, 0xfe89, 0xfe20, 0xfdc5, 0xfd71, 0xfdc5, 0xfd71, -0xfd4c, 0xfd09, 0xfd4c, 0xfd09, 0xfc60, 0xfc27, 0xfc60, 0xfc27, 0xfdcc, 0xfd98, 0xfdcc, -0xfd98, 0xfc19, 0xfbe4, 0xfc19, 0xfbe4, 0xfc19, 0xfbe4, 0xfe14, 0xfdd9, 0xfe14, 0xfdd9, -0xfcbb, 0xfc75, 0xfcbb, 0xfc75, 0xfb87, 0xfb35, 0xfb87, 0xfb35, 0xfca8, 0xfc46, 0xfca8, -0xfc46, 0xfbe7, 0xfb75, 0xfbe7, 0xfb75, 0xfdec, 0xfd6c, 0xfdec, 0xfd6c, 0xfdec, 0xfd6c, -0xfbbf, 0xfb33, 0xfbbf, 0xfb33, 0xfbbf, 0xfb2a, 0xfbbf, 0xfb2a, 0xfd2b, 0xfc90, 0xfd2b, -0xfc90, 0xfcd5, 0xfc39, 0xfcd5, 0xfc39, 0xfcc2, 0xfc29, 0xfcc2, 0xfc29, 0xfdd0, 0xfd3f, -0xfdd0, 0xfd3f, 0xfdd0, 0xfd3f, 0xfebc, 0xfe38, 0xfebc, 0xfe38, 0xfd40, 0xfccc, 0xfd40, -0xfccc, 0xffaf, 0xff4c, 0xffaf, 0xff4c, 0xffcb, 0xff7c, 0xffcb, 0xff7c, 0xf7, 0xbb, -0xf7, 0xbb, 0xf7, 0xbb, 0x106, 0xdb, 0x106, 0xdb, 0x19c, 0x17f, 0x19c, -0x17f, 0x218, 0x203, 0x218, 0x203, 0x3af, 0x39d, 0x3af, 0x39d, 0x493, 0x47d, -0x493, 0x47d, 0x277, 0x254, 0x277, 0x254, 0x277, 0x254, 0x245, 0x20d, 0x245, -0x20d, 0x46, 0xfff1, 0x46, 0xfff1, 0x1a1, 0x126, 0x1a1, 0x126, 0xff7a, 0xfed3, -0xff7a, 0xfed3, 0x228, 0x14e, 0x228, 0x14e, 0x2de, 0x1ce, 0x2de, 0x1ce, 0x2de, -0x1ce, 0x54f, 0x404, 0x54f, 0x404, 0x896, 0x712, 0x896, 0x712, 0x915, 0x75a, -0x915, 0x75a, 0xc4a, 0xa5b, 0xc4a, 0xa5b, 0xb0d, 0x8f1, 0xb0d, 0x8f1, 0xb0d, -0x8f1, 0xf01, 0xcc0, 0xf01, 0xcc0, 0xfaf, 0xd54, 0xfaf, 0xd54, 0xf15, 0xcad, -0xf15, 0xcad, 0x11c2, 0xf59, 0x11c2, 0xf59, 0x122b, 0xfd0, 0x122b, 0xfd0, 0x12ee, -0x10af, 0x12ee, 0x10af, 0x12ee, 0x10af, 0x1559, 0x1344, 0x1559, 0x1344, 0x14a1, 0x12c2, -0x14a1, 0x12c2, 0x1233, 0x1097, 0x1233, 0x1097, 0x10f1, 0xfa2, 0x10f1, 0xfa2, 0x10f0, -0xff7, 0x10f0, 0xff7, 0xd2b, 0xc8d, 0xd2b, 0xc8d, 0xd2b, 0xc8d, 0xaa7, 0xa67, -0xaa7, 0xa67, 0x8da, 0x8f9, 0x8da, 0x8f9, 0x430, 0x4ad, 0x430, 0x4ad, 0x2bc, -0x393, 0x2bc, 0x393, 0x307, 0x430, 0x307, 0x430, 0x307, 0x430, 0x147, 0x2bc, -0x147, 0x2bc, 0xfe17, 0xffcd, 0xfe17, 0xffcd, 0xfe24, 0x10, 0xfe24, 0x10, 0xfbca, -0xfde1, 0xfbca, 0xfde1, 0xfbfc, 0xfe30, 0xfbfc, 0xfe30, 0xfb28, 0xfd70, 0xfb28, 0xfd70, -0xfb28, 0xfd70, 0xf8c8, 0xfb18, 0xf8c8, 0xfb18, 0xf7fa, 0xfa48, 0xf7fa, 0xfa48, 0xf6fd, -0xf940, 0xf6fd, 0xf940, 0xf5d4, 0xf805, 0xf5d4, 0xf805, 0xf4fb, 0xf714, 0xf4fb, 0xf714, -0xf4fb, 0xf714, 0xf2ea, 0xf4e8, 0xf2ea, 0xf4e8, 0xf102, 0xf2e2, 0xf102, 0xf2e2, 0xf263, -0xf425, 0xf263, 0xf425, 0xf22c, 0xf3cf, 0xf22c, 0xf3cf, 0xf364, 0xf4ea, 0xf364, 0xf4ea, -0xf23d, 0xf3a7, 0xf23d, 0xf3a7, 0xf23d, 0xf3a7, 0xf17f, 0xf2d0, 0xf17f, 0xf2d0, 0xf23e, -0xf378, 0xf23e, 0xf378, 0xf362, 0xf485, 0xf362, 0xf485, 0xf46e, 0xf57c, 0xf46e, 0xf57c, -0xf380, 0xf479, 0xf380, 0xf479, 0xf6e0, 0xf7c1, 0xf6e0, 0xf7c1, 0xf6e0, 0xf7c1, 0xf694, -0xf75b, 0xf694, 0xf75b, 0xf671, 0xf71a, 0xf671, 0xf71a, 0xf9ba, 0xfa3e, 0xf9ba, 0xfa3e, -0xf66e, 0xf6c7, 0xf66e, 0xf6c7, 0xf80c, 0xf832, 0xf80c, 0xf832, 0xf80c, 0xf832, 0xf6f0, -0xf6da, 0xf6f0, 0xf6da, 0xf630, 0xf5d6, 0xf630, 0xf5d6, 0xf791, 0xf6ea, 0xf791, 0xf6ea, -0xf659, 0xf55e, 0xf659, 0xf55e, 0xf919, 0xf7c2, 0xf919, 0xf7c2, 0xf90f, 0xf757, 0xf90f, -0xf757, 0xf90f, 0xf757, 0xfb06, 0xf8e8, 0xfb06, 0xf8e8, 0xfd70, 0xfaed, 0xfd70, 0xfaed, -0x9e, 0xfdb5, 0x9e, 0xfdb5, 0x315, 0xffca, 0x315, 0xffca, 0x5e1, 0x239, 0x5e1, -0x239, 0x910, 0x514, 0x910, 0x514, 0x910, 0x514, 0xcd8, 0x893, 0xcd8, 0x893, -0xcf0, 0x86e, 0xcf0, 0x86e, 0x102c, 0xb7b, 0x102c, 0xb7b, 0x13fd, 0xf2d, 0x13fd, -0xf2d, 0x1530, 0x1052, 0x1530, 0x1052, 0x1530, 0x1052, 0x19bf, 0x14e2, 0x19bf, 0x14e2, -0x18fe, 0x1433, 0x18fe, 0x1433, 0x1a18, 0x156e, 0x1a18, 0x156e, 0x1aba, 0x1640, 0x1aba, -0x1640, 0x1bf7, 0x17b8, 0x1bf7, 0x17b8, 0x19a0, 0x15a7, 0x19a0, 0x15a7, 0x19a0, 0x15a7, -0x186a, 0x14be, 0x186a, 0x14be, 0x188f, 0x1537, 0x188f, 0x1537, 0x15d1, 0x12ce, 0x15d1, -0x12ce, 0x1790, 0x14e2, 0x1790, 0x14e2, 0x175f, 0x1504, 0x175f, 0x1504, 0x150e, 0x1302, -0x150e, 0x1302, 0x150e, 0x1302, 0x156e, 0x13aa, 0x156e, 0x13aa, 0x1618, 0x1495, 0x1618, -0x1495, 0x1605, 0x14b9, 0x1605, 0x14b9, 0x1580, 0x1462, 0x1580, 0x1462, 0x14b5, 0x13bd, -0x14b5, 0x13bd, 0x14b5, 0x13bd, 0x12ba, 0x11de, 0x12ba, 0x11de, 0x1188, 0x10bf, 0x1188, -0x10bf, 0x117c, 0x10c0, 0x117c, 0x10c0, 0x1022, 0xf6e, 0x1022, 0xf6e, 0x11b5, 0x1105, -0x11b5, 0x1105, 0xd84, 0xcd6, 0xd84, 0xcd6, 0xd84, 0xcd6, 0xbef, 0xb42, 0xbef, -0xb42, 0xb14, 0xa6b, 0xb14, 0xa6b, 0x7cc, 0x729, 0x7cc, 0x729, 0x8fc, 0x863, -0x8fc, 0x863, 0x7c5, 0x73b, 0x7c5, 0x73b, 0x6bd, 0x648, 0x6bd, 0x648, 0x6bd, -0x648, 0x65a, 0x5fe, 0x65a, 0x5fe, 0x614, 0x5d7, 0x614, 0x5d7, 0x57a, 0x55f, -0x57a, 0x55f, 0x437, 0x442, 0x437, 0x442, 0x1a4, 0x1d7, 0x1a4, 0x1d7, 0x1a4, -0x1d7, 0xfef9, 0xff53, 0xfef9, 0xff53, 0xffb0, 0x30, 0xffb0, 0x30, 0xd9, 0x17c, -0xd9, 0x17c, 0xfe58, 0xff19, 0xfe58, 0xff19, 0xfd66, 0xfe3d, 0xfd66, 0xfe3d, 0xfcc8, -0xfdad, 0xfcc8, 0xfdad, 0xfcc8, 0xfdad, 0xfc46, 0xfd32, 0xfc46, 0xfd32, 0xfafd, 0xfbe4, -0xfafd, 0xfbe4, 0xf9e9, 0xfac3, 0xf9e9, 0xfac3, 0xfa24, 0xfae7, 0xfa24, 0xfae7, 0xfacd, -0xfb71, 0xfacd, 0xfb71, 0xfb87, 0xfc05, 0xfb87, 0xfc05, 0xfb87, 0xfc05, 0xfb79, 0xfbca, -0xfb79, 0xfbca, 0xfc57, 0xfc79, 0xfc57, 0xfc79, 0xfc62, 0xfc52, 0xfc62, 0xfc52, 0xfc09, -0xfbc9, 0xfc09, 0xfbc9, 0xfd67, 0xfcf9, 0xfd67, 0xfcf9, 0xfd67, 0xfcf9, 0xfe07, 0xfd72, -0xfe07, 0xfd72, 0xfe6f, 0xfdb9, 0xfe6f, 0xfdb9, 0x154, 0x87, 0x154, 0x87, 0x1b6, -0xdd, 0x1b6, 0xdd, 0x413, 0x33a, 0x413, 0x33a, 0x386, 0x2b8, 0x386, 0x2b8, -0x386, 0x2b8, 0x482, 0x3cd, 0x482, 0x3cd, 0x4fd, 0x46c, 0x4fd, 0x46c, 0x4ad, -0x44b, 0x4ad, 0x44b, 0x59a, 0x571, 0x59a, 0x571, 0x172, 0x189, 0x172, 0x189, -0x1f9, 0x256, 0x1f9, 0x256, 0x1f9, 0x256, 0x1b2, 0x257, 0x1b2, 0x257, 0x66, -0x154, 0x66, 0x154, 0x176, 0x2aa, 0x176, 0x2aa, 0x179, 0x2ee, 0x179, 0x2ee, -0xff78, 0x127, 0xff78, 0x127, 0xff78, 0x127, 0xff30, 0x110, 0xff30, 0x110, 0xff0d, -0x113, 0xff0d, 0x113, 0xfe0d, 0x2e, 0xfe0d, 0x2e, 0xfd53, 0xff83, 0xfd53, 0xff83, -0xfce6, 0xff19, 0xfce6, 0xff19, 0xfa65, 0xfc8e, 0xfa65, 0xfc8e, 0xfa65, 0xfc8e, 0xfad1, -0xfce6, 0xfad1, 0xfce6, 0xfb6d, 0xfd64, 0xfb6d, 0xfd64, 0xfbb5, 0xfd88, 0xfbb5, 0xfd88, -0xfde2, 0xff8b, 0xfde2, 0xff8b, 0xfcc3, 0xfe3d, 0xfcc3, 0xfe3d, 0xfd95, 0xfee0, 0xfd95, -0xfee0, 0xfd95, 0xfee0, 0xff3a, 0x58, 0xff3a, 0x58, 0xa3, 0x196, 0xa3, 0x196, -0xff1b, 0xffea, 0xff1b, 0xffea, 0xff92, 0x42, 0xff92, 0x42, 0xfd5b, 0xfdf4, 0xfd5b, -0xfdf4, 0xfd5b, 0xfdf4, 0xfc71, 0xfcfc, 0xfc71, 0xfcfc, 0xfcf4, 0xfd7a, 0xfcf4, 0xfd7a, -0xfa07, 0xfa91, 0xfa07, 0xfa91, 0xf9d5, 0xfa6a, 0xf9d5, 0xfa6a, 0xf825, 0xf8cb, 0xf825, -0xf8cb, 0xf487, 0xf544, 0xf487, 0xf544, 0xf487, 0xf544, 0xf440, 0xf517, 0xf440, 0xf517, -0xf41c, 0xf50e, 0xf41c, 0xf50e, 0xf063, 0xf170, 0xf063, 0xf170, 0xee9e, 0xefc3, 0xee9e, -0xefc3, 0xeba9, 0xece2, 0xeba9, 0xece2, 0xeafc, 0xec43, 0xeafc, 0xec43, 0xeafc, 0xec43, -0xea90, 0xebdd, 0xea90, 0xebdd, 0xea50, 0xeb9c, 0xea50, 0xeb9c, 0xe96d, 0xeaaf, 0xe96d, -0xeaaf, 0xe745, 0xe875, 0xe745, 0xe875, 0xe871, 0xe988, 0xe871, 0xe988, 0xe871, 0xe988, -0xe72c, 0xe822, 0xe72c, 0xe822, 0xe68b, 0xe75d, 0xe68b, 0xe75d, 0xe75d, 0xe806, 0xe75d, -0xe806, 0xe544, 0xe5c3, 0xe544, 0xe5c3, 0xe6ea, 0xe741, 0xe6ea, 0xe741, 0xe73e, 0xe76f, -0xe73e, 0xe76f, 0xe73e, 0xe76f, 0xe6b5, 0xe6c7, 0xe6b5, 0xe6c7, 0xe9f2, 0xe9ee, 0xe9f2, -0xe9ee, 0xeaa7, 0xea95, 0xeaa7, 0xea95, 0xebdd, 0xebc8, 0xebdd, 0xebc8, 0xec96, 0xec8c, -0xec96, 0xec8c, 0xec96, 0xec8c, 0xed60, 0xed6c, 0xed60, 0xed6c, 0xee72, 0xeea2, 0xee72, -0xeea2, 0xeffb, 0xf05b, 0xeffb, 0xf05b, 0xf041, 0xf0dc, 0xf041, 0xf0dc, 0xefe9, 0xf0c9, -0xefe9, 0xf0c9, 0xf03f, 0xf16a, 0xf03f, 0xf16a, 0xf03f, 0xf16a, 0xf0b6, 0xf232, 0xf0b6, -0xf232, 0xf006, 0xf1d5, 0xf006, 0xf1d5, 0xf18c, 0xf3ae, 0xf18c, 0xf3ae, 0xf191, 0xf403, -0xf191, 0xf403, 0xf0cb, 0xf386, 0xf0cb, 0xf386, 0xf371, 0xf66c, 0xf371, 0xf66c, 0xf371, -0xf66c, 0xf354, 0xf685, 0xf354, 0xf685, 0xf2ed, 0xf646, 0xf2ed, 0xf646, 0xf275, 0xf5e8, -0xf275, 0xf5e8, 0xf344, 0xf6c2, 0xf344, 0xf6c2, 0xf28a, 0xf602, 0xf28a, 0xf602, 0xf28a, -0xf602, 0xf40c, 0xf771, 0xf40c, 0xf771, 0xf5d1, 0xf913, 0xf5d1, 0xf913, 0xf6aa, 0xf9bd, -0xf6aa, 0xf9bd, 0xf940, 0xfc18, 0xf940, 0xfc18, 0xfac6, 0xfd59, 0xfac6, 0xfd59, 0xfc2e, -0xfe75, 0xfc2e, 0xfe75, 0xfc2e, 0xfe75, 0x8f, 0x286, 0x8f, 0x286, 0x2d5, 0x47c, -0x2d5, 0x47c, 0x34c, 0x4a1, 0x34c, 0x4a1, 0x526, 0x62e, 0x526, 0x62e, 0x65f, -0x71f, 0x65f, 0x71f, 0x8b2, 0x931, 0x8b2, 0x931, 0x8b2, 0x931, 0xa60, 0xaa6, -0xa60, 0xaa6, 0xb5f, 0xb75, 0xb5f, 0xb75, 0x9ab, 0x99c, 0x9ab, 0x99c, 0xb58, -0xb2d, 0xb58, 0xb2d, 0xb00, 0xac1, 0xb00, 0xac1, 0xb00, 0xac1, 0xcad, 0xc63, -0xcad, 0xc63, 0xd74, 0xd25, 0xd74, 0xd25, 0xa07, 0x9b9, 0xa07, 0x9b9, 0x96c, -0x922, 0x96c, 0x922, 0x7fb, 0x7b7, 0x7fb, 0x7b7, 0x615, 0x5d7, 0x615, 0x5d7, -0x615, 0x5d7, 0x509, 0x4ce, 0x509, 0x4ce, 0x521, 0x4e8, 0x521, 0x4e8, 0x2f1, -0x2b4, 0x2f1, 0x2b4, 0x2f9, 0x2b3, 0x2f9, 0x2b3, 0x1e4, 0x18f, 0x1e4, 0x18f, -0x15d, 0xf4, 0x15d, 0xf4, 0x15d, 0xf4, 0x2cf, 0x24f, 0x2cf, 0x24f, 0x227, -0x189, 0x227, 0x189, 0xffef, 0xff32, 0xffef, 0xff32, 0xfffe, 0xff1f, 0xfffe, 0xff1f, -0x2, 0xff02, 0x2, 0xff02, 0x2, 0xff02, 0xfea1, 0xfd81, 0xfea1, 0xfd81, 0xfe6f, -0xfd34, 0xfe6f, 0xfd34, 0xff11, 0xfdc1, 0xff11, 0xfdc1, 0xfe55, 0xfcf7, 0xfe55, 0xfcf7, -0xff5b, 0xfdf9, 0xff5b, 0xfdf9, 0x150, 0xfff3, 0x150, 0xfff3, 0x150, 0xfff3, 0xffd5, -0xfe87, 0xffd5, 0xfe87, 0x21b, 0xe8, 0x21b, 0xe8, 0xe8, 0xffda, 0xe8, 0xffda, -0xffd4, 0xfef5, 0xffd4, 0xfef5, 0x206, 0x160, 0x206, 0x160, 0x68, 0x2, 0x68, -0x2, 0x68, 0x2, 0xe0, 0xc1, 0xe0, 0xc1, 0x1d7, 0x201, 0x1d7, 0x201, -0x48, 0xbc, 0x48, 0xbc, 0x7d, 0x13a, 0x7d, 0x13a, 0xffcb, 0xce, 0xffcb, -0xce, 0xffcb, 0xce, 0xc0, 0x203, 0xc0, 0x203, 0xffa3, 0x11d, 0xffa3, 0x11d, -0xfec6, 0x6c, 0xfec6, 0x6c, 0xff59, 0x120, 0xff59, 0x120, 0xfdb1, 0xff8c, 0xfdb1, -0xff8c, 0xffe1, 0x1c3, 0xffe1, 0x1c3, 0xffe1, 0x1c3, 0xff1c, 0xf6, 0xff1c, 0xf6, -0xff5c, 0x120, 0xff5c, 0x120, 0x13b, 0x2dd, 0x13b, 0x2dd, 0x2c, 0x19f, 0x2c, -0x19f, 0x81, 0x1bc, 0x81, 0x1bc, 0x1fa, 0x2f3, 0x1fa, 0x2f3, 0x1fa, 0x2f3, -0x1b0, 0x261, 0x1b0, 0x261, 0x1a7, 0x20b, 0x1a7, 0x20b, 0x2f9, 0x30f, 0x2f9, -0x30f, 0x577, 0x53d, 0x577, 0x53d, 0x699, 0x613, 0x699, 0x613, 0x699, 0x613, -0x94d, 0x87e, 0x94d, 0x87e, 0x9bc, 0x8a9, 0x9bc, 0x8a9, 0x8dc, 0x78c, 0x8dc, -0x78c, 0xa48, 0x8c3, 0xa48, 0x8c3, 0xa82, 0x8d0, 0xa82, 0x8d0, 0xb5a, 0x983, -0xb5a, 0x983, 0xb5a, 0x983, 0xbd0, 0x9de, 0xbd0, 0x9de, 0xb20, 0x919, 0xb20, -0x919, 0x8ac, 0x699, 0x8ac, 0x699, 0xb52, 0x939, 0xb52, 0x939, 0x9a9, 0x790, -0x9a9, 0x790, 0x82a, 0x614, 0x82a, 0x614, 0x82a, 0x614, 0x6b5, 0x4a6, 0x6b5, -0x4a6, 0x3f5, 0x1f0, 0x3f5, 0x1f0, 0x64a, 0x451, 0x64a, 0x451, 0x5fa, 0x40c, -0x5fa, 0x40c, 0x42e, 0x24c, 0x42e, 0x24c, 0x42e, 0x24c, 0x40e, 0x238, 0x40e, -0x238, 0x31b, 0x152, 0x31b, 0x152, 0x154, 0xff96, 0x154, 0xff96, 0x2f8, 0x146, -0x2f8, 0x146, 0xff, 0xff59, 0xff, 0xff59, 0x85, 0xfeee, 0x85, 0xfeee, 0x85, -0xfeee, 0xdb, 0xff55, 0xdb, 0xff55, 0x6b, 0xfef9, 0x6b, 0xfef9, 0xff6e, 0xfe14, -0xff6e, 0xfe14, 0x67, 0xff29, 0x67, 0xff29, 0x145, 0x29, 0x145, 0x29, 0xfe45, -0xfd50, 0xfe45, 0xfd50, 0xfe45, 0xfd50, 0xfdd4, 0xfd0d, 0xfdd4, 0xfd0d, 0xfc89, 0xfbf4, -0xfc89, 0xfbf4, 0xfa63, 0xfa05, 0xfa63, 0xfa05, 0xf9f0, 0xf9cf, 0xf9f0, 0xf9cf, 0xf8ba, -0xf8d8, 0xf8ba, 0xf8d8, 0xf8ba, 0xf8d8, 0xf617, 0xf677, 0xf617, 0xf677, 0xf67f, 0xf723, -0xf67f, 0xf723, 0xf511, 0xf5f7, 0xf511, 0xf5f7, 0xf3a6, 0xf4cc, 0xf3a6, 0xf4cc, 0xf52e, -0xf691, 0xf52e, 0xf691, 0xf4b4, 0xf64e, 0xf4b4, 0xf64e, 0xf4b4, 0xf64e, 0xf450, 0xf619, -0xf450, 0xf619, 0xf553, 0xf741, 0xf553, 0xf741, 0xf4a6, 0xf6b1, 0xf4a6, 0xf6b1, 0xf55f, -0xf77a, 0xf55f, 0xf77a, 0xf68e, 0xf8ad, 0xf68e, 0xf8ad, 0xf7e2, 0xf9f9, 0xf7e2, 0xf9f9, -0xf7e2, 0xf9f9, 0xf8c0, 0xfac3, 0xf8c0, 0xfac3, 0xf905, 0xfae6, 0xf905, 0xfae6, 0xf897, -0xfa4b, 0xf897, 0xfa4b, 0xf992, 0xfb0e, 0xf992, 0xfb0e, 0xfd43, 0xfe7d, 0xfd43, 0xfe7d, -0xfd43, 0xfe7d, 0xfca7, 0xfd96, 0xfca7, 0xfd96, 0xfe5a, 0xfef7, 0xfe5a, 0xfef7, 0x166, -0x1ac, 0x166, 0x1ac, 0x266, 0x250, 0x266, 0x250, 0x443, 0x3cf, 0x443, 0x3cf, -0x7a8, 0x6d5, 0x7a8, 0x6d5, 0x7a8, 0x6d5, 0xa31, 0x900, 0xa31, 0x900, 0xcdd, -0xb50, 0xcdd, 0xb50, 0x10cc, 0xee5, 0x10cc, 0xee5, 0x134b, 0x1110, 0x134b, 0x1110, -0x1456, 0x11cc, 0x1456, 0x11cc, 0x1456, 0x11cc, 0x16e8, 0x1414, 0x16e8, 0x1414, 0x1755, -0x143e, 0x1755, 0x143e, 0x1761, 0x140c, 0x1761, 0x140c, 0x194c, 0x15c0, 0x194c, 0x15c0, -0x18cb, 0x150e, 0x18cb, 0x150e, 0x1843, 0x145a, 0x1843, 0x145a, 0x1843, 0x145a, 0x1859, -0x144b, 0x1859, 0x144b, 0x18ab, 0x147e, 0x18ab, 0x147e, 0x181d, 0x13d6, 0x181d, 0x13d6, -0x18be, 0x1462, 0x18be, 0x1462, 0x16e2, 0x1276, 0x16e2, 0x1276, 0x1679, 0x1203, 0x1679, -0x1203, 0x1679, 0x1203, 0x14f0, 0x1075, 0x14f0, 0x1075, 0x14f3, 0x1079, 0x14f3, 0x1079, -0x1832, 0x13bf, 0x1832, 0x13bf, 0x1798, 0x1331, 0x1798, 0x1331, 0x162c, 0x11d9, 0x162c, -0x11d9, 0x162c, 0x11d9, 0x16ea, 0x12b1, 0x16ea, 0x12b1, 0x1763, 0x134c, 0x1763, 0x134c, -0x16ee, 0x1301, 0x16ee, 0x1301, 0x17a2, 0x13e6, 0x17a2, 0x13e6, 0x147d, 0x10fc, 0x147d, -0x10fc, 0x1292, 0xf52, 0x1292, 0xf52, 0x1292, 0xf52, 0xf6b, 0xc74, 0xf6b, 0xc74, -0xcbc, 0xa17, 0xcbc, 0xa17, 0xa23, 0x7d5, 0xa23, 0x7d5, 0x7e7, 0x5f7, 0x7e7, -0x5f7, 0x511, 0x384, 0x511, 0x384, 0xfb, 0xffd4, 0xfb, 0xffd4, 0xfb, 0xffd4, -0xffbf, 0xff00, 0xffbf, 0xff00, 0xfe7c, 0xfe25, 0xfe7c, 0xfe25, 0xfc7d, 0xfc8e, 0xfc7d, -0xfc8e, 0xfb89, 0xfbfe, 0xfb89, 0xfbfe, 0xfc3e, 0xfd14, 0xfc3e, 0xfd14, 0xfc3e, 0xfd14, -0xf9d2, 0xfb03, 0xf9d2, 0xfb03, 0xfa1e, 0xfba2, 0xfa1e, 0xfba2, 0xf873, 0xfa42, 0xf873, -0xfa42, 0xf5d2, 0xf7e2, 0xf5d2, 0xf7e2, 0xf4ef, 0xf735, 0xf4ef, 0xf735, 0xf299, 0xf509, -0xf299, 0xf509, 0xf299, 0xf509, 0xf2fb, 0xf58a, 0xf2fb, 0xf58a, 0xf227, 0xf4c9, 0xf227, -0xf4c9, 0xf01b, 0xf2c3, 0xf01b, 0xf2c3, 0xf132, 0xf3d5, 0xf132, 0xf3d5, 0xf1b2, 0xf446, -0xf1b2, 0xf446, 0xf148, 0xf3c2, 0xf148, 0xf3c2, 0xf148, 0xf3c2, 0xf1a0, 0xf3f8, 0xf1a0, -0xf3f8, 0xf280, 0xf4ad, 0xf280, 0xf4ad, 0xf3ea, 0xf5e5, 0xf3ea, 0xf5e5, 0xf549, 0xf70d, -0xf549, 0xf70d, 0xf850, 0xf9d9, 0xf850, 0xf9d9, 0xf850, 0xf9d9, 0xf964, 0xfaaf, 0xf964, -0xfaaf, 0xfa9d, 0xfba9, 0xfa9d, 0xfba9, 0xfde4, 0xfeaf, 0xfde4, 0xfeaf, 0xfe9f, 0xff2b, -0xfe9f, 0xff2b, 0xffe9, 0x38, 0xffe9, 0x38, 0x2ce, 0x2e1, 0x2ce, 0x2e1, 0x2ce, -0x2e1, 0x364, 0x33e, 0x364, 0x33e, 0x4b2, 0x457, 0x4b2, 0x457, 0x5c1, 0x534, -0x5c1, 0x534, 0x5e5, 0x52b, 0x5e5, 0x52b, 0x4dc, 0x3fa, 0x4dc, 0x3fa, 0x57b, -0x474, 0x57b, 0x474, 0x57b, 0x474, 0x626, 0x4ff, 0x626, 0x4ff, 0x548, 0x404, -0x548, 0x404, 0x548, 0x3ed, 0x548, 0x3ed, 0x618, 0x4ab, 0x618, 0x4ab, 0x74a, -0x5cf, 0x74a, 0x5cf, 0x74a, 0x5cf, 0x803, 0x67e, 0x803, 0x67e, 0xa10, 0x886, -0xa10, 0x886, 0x9d6, 0x84d, 0x9d6, 0x84d, 0xb42, 0x9be, 0xb42, 0x9be, 0xb56, -0x9dc, 0xb56, 0x9dc, 0xc2c, 0xac1, 0xc2c, 0xac1, 0xc2c, 0xac1, 0xd77, 0xc21, -0xd77, 0xc21, 0xda3, 0xc68, 0xda3, 0xc68, 0xeaf, 0xd95, 0xeaf, 0xd95, 0xced, -0xbf9, 0xced, 0xbf9, 0xb7e, 0xab6, 0xb7e, 0xab6, 0xb31, 0xa9b, 0xb31, 0xa9b, -0xb31, 0xa9b, 0x976, 0x917, 0x976, 0x917, 0x6e5, 0x6c3, 0x6e5, 0x6c3, 0x5a5, -0x5c4, 0x5a5, 0x5c4, 0x2e0, 0x345, 0x2e0, 0x345, 0x2a7, 0x355, 0x2a7, 0x355, -0x2a7, 0x355, 0x300, 0x3fb, 0x300, 0x3fb, 0x16a, 0x2b3, 0x16a, 0x2b3, 0xff2f, -0xc8, 0xff2f, 0xc8, 0xfea8, 0x91, 0xfea8, 0x91, 0xfcbf, 0xfef6, 0xfcbf, 0xfef6, -0xfa11, 0xfc95, 0xfa11, 0xfc95, 0xfa11, 0xfc95, 0xf960, 0xfc2d, 0xf960, 0xfc2d, 0xf819, -0xfb2c, 0xf819, 0xfb2c, 0xf5b7, 0xf90b, 0xf5b7, 0xf90b, 0xf337, 0xf6c6, 0xf337, 0xf6c6, -0xf2ee, 0xf6b0, 0xf2ee, 0xf6b0, 0xf168, 0xf557, 0xf168, 0xf557, 0xf168, 0xf557, 0xefef, -0xf403, 0xefef, 0xf403, 0xedc3, 0xf1f2, 0xedc3, 0xf1f2, 0xed3b, 0xf17c, 0xed3b, 0xf17c, -0xec2f, 0xf079, 0xec2f, 0xf079, 0xea54, 0xee9f, 0xea54, 0xee9f, 0xea54, 0xee9f, 0xea8b, -0xeecc, 0xea8b, 0xeecc, 0xeabc, 0xeeea, 0xeabc, 0xeeea, 0xea10, 0xee23, 0xea10, 0xee23, -0xea02, 0xedf1, 0xea02, 0xedf1, 0xea2a, 0xeded, 0xea2a, 0xeded, 0xe8db, 0xec6a, 0xe8db, -0xec6a, 0xe8db, 0xec6a, 0xe91e, 0xec73, 0xe91e, 0xec73, 0xe8c7, 0xebdc, 0xe8c7, 0xebdc, -0xe874, 0xeb45, 0xe874, 0xeb45, 0xe958, 0xebdf, 0xe958, 0xebdf, 0xea14, 0xec50, 0xea14, -0xec50, 0xe9c1, 0xebaf, 0xe9c1, 0xebaf, 0xe9c1, 0xebaf, 0xeb88, 0xed28, 0xeb88, 0xed28, -0xed64, 0xeeb5, 0xed64, 0xeeb5, 0xec2f, 0xed33, 0xec2f, 0xed33, 0xec65, 0xed1e, 0xec65, -0xed1e, 0xec3c, 0xecae, 0xec3c, 0xecae, 0xec3c, 0xecae, 0xed16, 0xed46, 0xed16, 0xed46, -0xee23, 0xee15, 0xee23, 0xee15, 0xee2c, 0xede6, 0xee2c, 0xede6, 0xf134, 0xf0bd, 0xf134, -0xf0bd, 0xf216, 0xf175, 0xf216, 0xf175, 0xf3f0, 0xf32e, 0xf3f0, 0xf32e, 0xf3f0, 0xf32e, -0xf554, 0xf478, 0xf554, 0xf478, 0xf371, 0xf284, 0xf371, 0xf284, 0xf45a, 0xf363, 0xf45a, -0xf363, 0xf75d, 0xf665, 0xf75d, 0xf665, 0xf8a4, 0xf7b2, 0xf8a4, 0xf7b2, 0xf923, 0xf83f, -0xf923, 0xf83f, 0xf923, 0xf83f, 0xfaaf, 0xf9e0, 0xfaaf, 0xf9e0, 0xf9d0, 0xf91b, 0xf9d0, -0xf91b, 0xfb48, 0xfab2, 0xfb48, 0xfab2, 0xfc98, 0xfc25, 0xfc98, 0xfc25, 0xfc9c, 0xfc4f, -0xfc9c, 0xfc4f, 0xfc9c, 0xfc4f, 0xfc5b, 0xfc38, 0xfc5b, 0xfc38, 0xfc07, 0xfc0d, 0xfc07, -0xfc0d, 0xfc65, 0xfc97, 0xfc65, 0xfc97, 0xfbc7, 0xfc23, 0xfbc7, 0xfc23, 0xfc8f, 0xfd14, -0xfc8f, 0xfd14, 0xfe03, 0xfeaf, 0xfe03, 0xfeaf, 0xfe03, 0xfeaf, 0xfc66, 0xfd38, 0xfc66, -0xfd38, 0xfb3c, 0xfc2f, 0xfb3c, 0xfc2f, 0xfd6c, 0xfe7f, 0xfd6c, 0xfe7f, 0xfc9e, 0xfdce, -0xfc9e, 0xfdce, 0xfd3e, 0xfe88, 0xfd3e, 0xfe88, 0xfd3e, 0xfe88, 0xfdff, 0xff5f, 0xfdff, -0xff5f, 0xfd8a, 0xfefe, 0xfd8a, 0xfefe, 0xfd58, 0xfede, 0xfd58, 0xfede, 0xfd77, 0xff0c, -0xfd77, 0xff0c, 0xff10, 0xb3, 0xff10, 0xb3, 0x22, 0x1d3, 0x22, 0x1d3, 0x22, -0x1d3, 0xff9f, 0x15b, 0xff9f, 0x15b, 0xe6, 0x2ad, 0xe6, 0x2ad, 0x1ed, 0x3be, -0x1ed, 0x3be, 0xc8, 0x2a2, 0xc8, 0x2a2, 0x293, 0x476, 0x293, 0x476, 0x242, -0x42c, 0x242, 0x42c, 0x242, 0x42c, 0x2f9, 0x4e9, 0x2f9, 0x4e9, 0x3f5, 0x5e7, -0x3f5, 0x5e7, 0x4ef, 0x6e2, 0x4ef, 0x6e2, 0x65b, 0x84b, 0x65b, 0x84b, 0x600, -0x7e8, 0x600, 0x7e8, 0x600, 0x7e8, 0x797, 0x974, 0x797, 0x974, 0x813, 0x9de, -0x813, 0x9de, 0x711, 0x8c4, 0x711, 0x8c4, 0x811, 0x9a6, 0x811, 0x9a6, 0x7b7, -0x927, 0x7b7, 0x927, 0x62f, 0x773, 0x62f, 0x773, 0x62f, 0x773, 0x768, 0x87a, -0x768, 0x87a, 0x613, 0x6eb, 0x613, 0x6eb, 0x5b0, 0x64a, 0x5b0, 0x64a, 0x690, -0x6e6, 0x690, 0x6e6, 0x63c, 0x64b, 0x63c, 0x64b, 0x771, 0x737, 0x771, 0x737, -0x771, 0x737, 0x89e, 0x819, 0x89e, 0x819, 0xa2a, 0x95b, 0xa2a, 0x95b, 0xa9d, -0x986, 0xa9d, 0x986, 0xbc0, 0xa65, 0xbc0, 0xa65, 0xe3d, 0xca4, 0xe3d, 0xca4, -0xe3d, 0xca4, 0xeec, 0xd1c, 0xeec, 0xd1c, 0xe96, 0xc98, 0xe96, 0xc98, 0xea1, -0xc7e, 0xea1, 0xc7e, 0x101b, 0xdde, 0x101b, 0xdde, 0x1029, 0xddb, 0x1029, 0xddb, -0xf72, 0xd20, 0xf72, 0xd20, 0xf72, 0xd20, 0x1029, 0xdde, 0x1029, 0xdde, 0xe5c, -0xc22, 0xe5c, 0xc22, 0xceb, 0xacd, 0xceb, 0xacd, 0xf05, 0xd0b, 0xf05, 0xd0b, -0xcfb, 0xb2c, 0xcfb, 0xb2c, 0xa14, 0x876, 0xa14, 0x876, 0xa14, 0x876, 0xb04, -0x99a, 0xb04, 0x99a, 0x93e, 0x80c, 0x93e, 0x80c, 0x7d7, 0x6dc, 0x7d7, 0x6dc, -0x668, 0x5a2, 0x668, 0x5a2, 0x42b, 0x397, 0x42b, 0x397, 0x42b, 0x397, 0x16b, -0x104, 0x16b, 0x104, 0xffa5, 0xff65, 0xffa5, 0xff65, 0xff6e, 0xff4e, 0xff6e, 0xff4e, -0xfd2e, 0xfd25, 0xfd2e, 0xfd25, 0xfbb5, 0xfbbb, 0xfbb5, 0xfbbb, 0xfafd, 0xfb0a, 0xfafd, -0xfb0a, 0xfafd, 0xfb0a, 0xf847, 0xf852, 0xf847, 0xf852, 0xf669, 0xf66a, 0xf669, 0xf66a, -0xf5fe, 0xf5ef, 0xf5fe, 0xf5ef, 0xf3e2, 0xf3be, 0xf3e2, 0xf3be, 0xf34e, 0xf310, 0xf34e, -0xf310, 0xf24c, 0xf1f1, 0xf24c, 0xf1f1, 0xf24c, 0xf1f1, 0xf2fe, 0xf284, 0xf2fe, 0xf284, -0xf466, 0xf3cf, 0xf466, 0xf3cf, 0xf49b, 0xf3e7, 0xf49b, 0xf3e7, 0xf5ae, 0xf4df, 0xf5ae, -0xf4df, 0xf5e4, 0xf4fe, 0xf5e4, 0xf4fe, 0xf5e4, 0xf4fe, 0xf5ba, 0xf4c1, 0xf5ba, 0xf4c1, -0xf6fb, 0xf5f5, 0xf6fb, 0xf5f5, 0xf8d0, 0xf7c1, 0xf8d0, 0xf7c1, 0xf826, 0xf713, 0xf826, -0xf713, 0xf91e, 0xf80b, 0xf91e, 0xf80b, 0xf920, 0xf811, 0xf920, 0xf811, 0xf920, 0xf811, -0xf827, 0xf71e, 0xf827, 0xf71e, 0xf85b, 0xf75c, 0xf85b, 0xf75c, 0xf944, 0xf84d, 0xf944, -0xf84d, 0xf8d4, 0xf7e7, 0xf8d4, 0xf7e7, 0xf7de, 0xf6f8, 0xf7de, 0xf6f8, 0xf87b, 0xf799, -0xf87b, 0xf799, 0xf87b, 0xf799, 0xf709, 0xf628, 0xf709, 0xf628, 0xf64b, 0xf567, 0xf64b, -0xf567, 0xf6eb, 0xf5fe, 0xf6eb, 0xf5fe, 0xf690, 0xf595, 0xf690, 0xf595, 0xf7f6, 0xf6ea, -0xf7f6, 0xf6ea, 0xf7f6, 0xf6ea, 0xfa2b, 0xf908, 0xfa2b, 0xf908, 0xfa6e, 0xf931, 0xfa6e, -0xf931, 0xfbbb, 0xfa61, 0xfbbb, 0xfa61, 0xfcf3, 0xfb7c, 0xfcf3, 0xfb7c, 0xfea6, 0xfd11, -0xfea6, 0xfd11, 0xff1b, 0xfd6a, 0xff1b, 0xfd6a, 0xff1b, 0xfd6a, 0xff4a, 0xfd7f, 0xff4a, -0xfd7f, 0x7d, 0xfe9f, 0x7d, 0xfe9f, 0x93, 0xfea6, 0x93, 0xfea6, 0x1b9, 0xffc6, -0x1b9, 0xffc6, 0x2dd, 0xed, 0x2dd, 0xed, 0x443, 0x25e, 0x443, 0x25e, 0x443, -0x25e, 0x376, 0x1a6, 0x376, 0x1a6, 0x2f5, 0x144, 0x2f5, 0x144, 0x571, 0x3e8, -0x571, 0x3e8, 0x57c, 0x424, 0x57c, 0x424, 0x451, 0x333, 0x451, 0x333, 0x451, -0x333, 0x53d, 0x45d, 0x53d, 0x45d, 0x41a, 0x37d, 0x41a, 0x37d, 0x285, 0x22f, -0x285, 0x22f, 0x491, 0x481, 0x491, 0x481, 0x32f, 0x365, 0x32f, 0x365, 0x19b, -0x212, 0x19b, 0x212, 0x19b, 0x212, 0x36c, 0x41f, 0x36c, 0x41f, 0x307, 0x3f0, -0x307, 0x3f0, 0x249, 0x35d, 0x249, 0x35d, 0x224, 0x35a, 0x224, 0x35a, 0x287, -0x3d4, 0x287, 0x3d4, 0x2d0, 0x428, 0x2d0, 0x428, 0x2d0, 0x428, 0x32e, 0x486, -0x32e, 0x486, 0x275, 0x3c1, 0x275, 0x3c1, 0x32e, 0x462, 0x32e, 0x462, 0x43e, -0x550, 0x43e, 0x550, 0x4ad, 0x595, 0x4ad, 0x595, 0x4ad, 0x595, 0x5ee, 0x6a5, -0x5ee, 0x6a5, 0x686, 0x704, 0x686, 0x704, 0x94a, 0x98d, 0x94a, 0x98d, 0x9a4, -0x9a8, 0x9a4, 0x9a8, 0xb4e, 0xb14, 0xb4e, 0xb14, 0xd6f, 0xcf6, 0xd6f, 0xcf6, -0xd6f, 0xcf6, 0xec8, 0xe13, 0xec8, 0xe13, 0x10d1, 0xfe3, 0x10d1, 0xfe3, 0x113e, -0x101b, 0x113e, 0x101b, 0x129f, 0x114b, 0x129f, 0x114b, 0x12c1, 0x1142, 0x12c1, 0x1142, -0x11d2, 0x102d, 0x11d2, 0x102d, 0x11d2, 0x102d, 0x1292, 0x10cc, 0x1292, 0x10cc, 0x14e0, -0x12fd, 0x14e0, 0x12fd, 0x14bb, 0x12be, 0x14bb, 0x12be, 0x1664, 0x1450, 0x1664, 0x1450, -0x17bd, 0x1595, 0x17bd, 0x1595, 0x17bd, 0x1595, 0x15f0, 0x13b6, 0x15f0, 0x13b6, 0x15e3, -0x1397, 0x15e3, 0x1397, 0x1465, 0x1208, 0x1465, 0x1208, 0x123b, 0xfcc, 0x123b, 0xfcc, -0x1213, 0xf93, 0x1213, 0xf93, 0x111c, 0xe89, 0x111c, 0xe89, 0x111c, 0xe89, 0x1093, -0xdee, 0x1093, 0xdee, 0x10f5, 0xe3f, 0x10f5, 0xe3f, 0x1169, 0xea4, 0x1169, 0xea4, -0x11e5, 0xf13, 0x11e5, 0xf13, 0x1194, 0xeb9, 0x1194, 0xeb9, 0x1194, 0xeb9, 0x11f1, -0xf12, 0x11f1, 0xf12, 0x1189, 0xeab, 0x1189, 0xeab, 0x1151, 0xe7d, 0x1151, 0xe7d, -0x11c3, 0xf01, 0x11c3, 0xf01, 0x120e, 0xf68, 0x120e, 0xf68, 0x11b4, 0xf34, 0x11b4, -0xf34, 0x11b4, 0xf34, 0x10a5, 0xe55, 0x10a5, 0xe55, 0xf2b, 0xd17, 0xf2b, 0xd17, -0xd98, 0xbca, 0xd98, 0xbca, 0xb1d, 0x9a0, 0xb1d, 0x9a0, 0x804, 0x6e1, 0x804, -0x6e1, 0x60f, 0x54d, 0x60f, 0x54d, 0x60f, 0x54d, 0x255, 0x1fb, 0x255, 0x1fb, -0xff69, 0xff7b, 0xff69, 0xff7b, 0xfe82, 0xff03, 0xfe82, 0xff03, 0xfbe6, 0xfcd6, 0xfbe6, -0xfcd6, 0xf7d9, 0xf935, 0xf7d9, 0xf935, 0xf7d9, 0xf935, 0xf703, 0xf8c8, 0xf703, 0xf8c8, -0xf68d, 0xf8b4, 0xf68d, 0xf8b4, 0xf3df, 0xf65f, 0xf3df, 0xf65f, 0xf3e2, 0xf6b2, 0xf3e2, -0xf6b2, 0xf176, 0xf48a, 0xf176, 0xf48a, 0xf028, 0xf375, 0xf028, 0xf375, 0xf028, 0xf375, -0xf099, 0xf411, 0xf099, 0xf411, 0xee27, 0xf1bd, 0xee27, 0xf1bd, 0xee90, 0xf236, 0xee90, -0xf236, 0xef2d, 0xf2d8, 0xef2d, 0xf2d8, 0xee6e, 0xf211, 0xee6e, 0xf211, 0xede9, 0xf17b, -0xede9, 0xf17b, 0xede9, 0xf17b, 0xee5d, 0xf1d3, 0xee5d, 0xf1d3, 0xee4b, 0xf19f, 0xee4b, -0xf19f, 0xef83, 0xf2ad, 0xef83, 0xf2ad, 0xf145, 0xf441, 0xf145, 0xf441, 0xf228, 0xf4f2, -0xf228, 0xf4f2, 0xf228, 0xf4f2, 0xf327, 0xf5be, 0xf327, 0xf5be, 0xf380, 0xf5e3, 0xf380, -0xf5e3, 0xf579, 0xf7a8, 0xf579, 0xf7a8, 0xf6dc, 0xf8d7, 0xf6dc, 0xf8d7, 0xf958, 0xfb21, -0xf958, 0xfb21, 0xfa62, 0xfbf9, 0xfa62, 0xfbf9, 0xfa62, 0xfbf9, 0xfbd5, 0xfd3b, 0xfbd5, -0xfd3b, 0xff1c, 0x52, 0xff1c, 0x52, 0x9c, 0x1a2, 0x9c, 0x1a2, 0x378, 0x44d, -0x378, 0x44d, 0x4a9, 0x54d, 0x4a9, 0x54d, 0x3d7, 0x447, 0x3d7, 0x447, 0x3d7, -0x447, 0x570, 0x5aa, 0x570, 0x5aa, 0x6f0, 0x6f0, 0x6f0, 0x6f0, 0x671, 0x635, -0x671, 0x635, 0x89a, 0x820, 0x89a, 0x820, 0x8c0, 0x803, 0x8c0, 0x803, 0x8c0, -0x803, 0x820, 0x720, 0x820, 0x720, 0x9f4, 0x8b0, 0x9f4, 0x8b0, 0xa9b, 0x913, -0xa9b, 0x913, 0xcab, 0xae2, 0xcab, 0xae2, 0xe4d, 0xc46, 0xe4d, 0xc46, 0xf87, -0xd48, 0xf87, 0xd48, 0xf87, 0xd48, 0x1179, 0xf0a, 0x1179, 0xf0a, 0x13e7, 0x1151, -0x13e7, 0x1151, 0x1638, 0x1388, 0x1638, 0x1388, 0x16e3, 0x1425, 0x16e3, 0x1425, 0x17f6, -0x1539, 0x17f6, 0x1539, 0x1800, 0x1554, 0x1800, 0x1554, 0x1800, 0x1554, 0x171e, 0x1493, -0x171e, 0x1493, 0x1700, 0x14a7, 0x1700, 0x14a7, 0x1443, 0x122c, 0x1443, 0x122c, 0x1162, -0xf9c, 0x1162, 0xf9c, 0xf5c, 0xdf5, 0xf5c, 0xdf5, 0xf5c, 0xdf5, 0xc72, 0xb77, -0xc72, 0xb77, 0x9eb, 0x965, 0x9eb, 0x965, 0x66b, 0x661, 0x66b, 0x661, 0x245, -0x2bc, 0x245, 0x2bc, 0xfdf5, 0xfeef, 0xfdf5, 0xfeef, 0xfaf6, 0xfc72, 0xfaf6, 0xfc72, -0xfaf6, 0xfc72, 0xf85d, 0xfa56, 0xf85d, 0xfa56, 0xf550, 0xf7c0, 0xf550, 0xf7c0, 0xf33d, -0xf61a, 0xf33d, 0xf61a, 0xf092, 0xf3d1, 0xf092, 0xf3d1, 0xecf1, 0xf084, 0xecf1, 0xf084, -0xeaa4, 0xee7d, 0xeaa4, 0xee7d, 0xeaa4, 0xee7d, 0xe81c, 0xec2b, 0xe81c, 0xec2b, 0xe48c, -0xe8c2, 0xe48c, 0xe8c2, 0xe278, 0xe6c5, 0xe278, 0xe6c5, 0xdfc7, 0xe41c, 0xdfc7, 0xe41c, -0xded9, 0xe327, 0xded9, 0xe327, 0xded9, 0xe327, 0xdef0, 0xe32b, 0xdef0, 0xe32b, 0xdc90, -0xe0ad, 0xdc90, 0xe0ad, 0xdbcc, 0xdfc3, 0xdbcc, 0xdfc3, 0xdcb1, 0xe07a, 0xdcb1, 0xe07a, -0xdaed, 0xde82, 0xdaed, 0xde82, 0xd9a7, 0xdd06, 0xd9a7, 0xdd06, 0xd9a7, 0xdd06, 0xda71, -0xdd98, 0xda71, 0xdd98, 0xd988, 0xdc76, 0xd988, 0xdc76, 0xdbcb, 0xde82, 0xdbcb, 0xde82, -0xdd79, 0xdffa, 0xdd79, 0xdffa, 0xddf7, 0xe045, 0xddf7, 0xe045, 0xe095, 0xe2b2, 0xe095, -0xe2b2, 0xe095, 0xe2b2, 0xe1fe, 0xe3eb, 0xe1fe, 0xe3eb, 0xe473, 0xe632, 0xe473, 0xe632, -0xe5e3, 0xe775, 0xe5e3, 0xe775, 0xe6cd, 0xe831, 0xe6cd, 0xe831, 0xe661, 0xe796, 0xe661, -0xe796, 0xe661, 0xe796, 0xe721, 0xe824, 0xe721, 0xe824, 0xe8a7, 0xe975, 0xe8a7, 0xe975, -0xe940, 0xe9d5, 0xe940, 0xe9d5, 0xeb81, 0xebd8, 0xeb81, 0xebd8, 0xec9c, 0xecaf, 0xec9c, -0xecaf, 0xedc8, 0xed93, 0xedc8, 0xed93, 0xedc8, 0xed93, 0xef9d, 0xef1c, 0xef9d, 0xef1c, -0xf251, 0xf17f, 0xf251, 0xf17f, 0xf429, 0xf304, 0xf429, 0xf304, 0xf6a6, 0xf52c, 0xf6a6, -0xf52c, 0xf8f2, 0xf724, 0xf8f2, 0xf724, 0xfb8b, 0xf96c, 0xfb8b, 0xf96c, 0xfb8b, 0xf96c, -0x3b, 0xfdd0, 0x3b, 0xfdd0, 0x2c0, 0x10, 0x2c0, 0x10, 0x4eb, 0x200, 0x4eb, -0x200, 0x821, 0x507, 0x821, 0x507, 0xa0f, 0x6d4, 0xa0f, 0x6d4, 0xa0f, 0x6d4, -0xca3, 0x957, 0xca3, 0x957, 0x1040, 0xcf3, 0x1040, 0xcf3, 0x117f, 0xe43, 0x117f, -0xe43, 0x1203, 0xeea, 0x1203, 0xeea, 0x11cd, 0xee9, 0x11cd, 0xee9, 0x10d4, 0xe37, -0x10d4, 0xe37, 0x10d4, 0xe37, 0x100f, 0xdc9, 0x100f, 0xdc9, 0xfb5, 0xdd4, 0xfb5, -0xdd4, 0xe59, 0xce9, 0xe59, 0xce9, 0xc01, 0xb0c, 0xc01, 0xb0c, 0xbfb, 0xb88, -0xbfb, 0xb88, 0xb8a, 0xb9d, 0xb8a, 0xb9d, 0xb8a, 0xb9d, 0x926, 0x9c0, 0x926, -0x9c0, 0x788, 0x8a7, 0x788, 0x8a7, 0x638, 0x7d7, 0x638, 0x7d7, 0x567, 0x77d, -0x567, 0x77d, 0x3dd, 0x661, 0x3dd, 0x661, 0x3dd, 0x661, 0x29d, 0x582, 0x29d, -0x582, 0x253, 0x58a, 0x253, 0x58a, 0x4e, 0x3c9, 0x4e, 0x3c9, 0xff1a, 0x2ca, -0xff1a, 0x2ca, 0xfd00, 0xd3, 0xfd00, 0xd3, 0xfbd7, 0xffbe, 0xfbd7, 0xffbe, 0xfbd7, -0xffbe, 0xfa94, 0xfe7f, 0xfa94, 0xfe7f, 0xf852, 0xfc34, 0xf852, 0xfc34, 0xf92a, 0xfcf5, -0xf92a, 0xfcf5, 0xf7d3, 0xfb7c, 0xf7d3, 0xfb7c, 0xf73f, 0xfabc, 0xf73f, 0xfabc, 0xf73f, -0xfabc, 0xf82c, 0xfb75, 0xf82c, 0xfb75, 0xf688, 0xf997, 0xf688, 0xf997, 0xf7d6, 0xfaa7, -0xf7d6, 0xfaa7, 0xfa53, 0xfce3, 0xfa53, 0xfce3, 0xfa2d, 0xfc79, 0xfa2d, 0xfc79, 0xfc0a, -0xfe12, 0xfc0a, 0xfe12, 0xfc0a, 0xfe12, 0xff24, 0xe7, 0xff24, 0xe7, 0xff65, 0xe5, -0xff65, 0xe5, 0x1fe, 0x33a, 0x1fe, 0x33a, 0x350, 0x449, 0x350, 0x449, 0x25f, -0x315, 0x25f, 0x315, 0x3f0, 0x464, 0x3f0, 0x464, 0x3f0, 0x464, 0x315, 0x347, -0x315, 0x347, 0x367, 0x354, 0x367, 0x354, 0x361, 0x308, 0x361, 0x308, 0x3d8, -0x338, 0x3d8, 0x338, 0x620, 0x536, 0x620, 0x536, 0x620, 0x536, 0x831, 0x6fb, -0x831, 0x6fb, 0xa9e, 0x91a, 0xa9e, 0x91a, 0xb6e, 0x99a, 0xb6e, 0x99a, 0xb8b, -0x966, 0xb8b, 0x966, 0xb70, 0x8f9, 0xb70, 0x8f9, 0xc26, 0x95f, 0xc26, 0x95f, -0xc26, 0x95f, 0xd5d, 0xa47, 0xd5d, 0xa47, 0xe5a, 0xaf9, 0xe5a, 0xaf9, 0xf2c, -0xb86, 0xf2c, 0xb86, 0x11a6, 0xdc1, 0x11a6, 0xdc1, 0x122e, 0xe13, 0x122e, 0xe13, -0x1357, 0xf0f, 0x1357, 0xf0f, 0x1357, 0xf0f, 0x14ee, 0x1085, 0x14ee, 0x1085, 0x1355, -0xed8, 0x1355, 0xed8, 0x12ce, 0xe4b, 0x12ce, 0xe4b, 0x1255, 0xdda, 0x1255, 0xdda, -0x1078, 0xc13, 0x1078, 0xc13, 0x1078, 0xc13, 0xf26, 0xae6, 0xf26, 0xae6, 0xf7f, -0xb71, 0xf7f, 0xb71, 0xe66, 0xa97, 0xe66, 0xa97, 0xbcb, 0x849, 0xbcb, 0x849, -0xae2, 0x7b6, 0xae2, 0x7b6, 0x9d3, 0x707, 0x9d3, 0x707, 0x9d3, 0x707, 0x7a5, -0x540, 0x7a5, 0x540, 0x5e3, 0x3eb, 0x5e3, 0x3eb, 0x41d, 0x295, 0x41d, 0x295, -0x2ae, 0x198, 0x2ae, 0x198, 0xfff4, 0xff51, 0xfff4, 0xff51, 0xfdfa, 0xfdc7, 0xfdfa, -0xfdc7, 0xfdfa, 0xfdc7, 0xfb75, 0xfbb0, 0xfb75, 0xfbb0, 0xf8a9, 0xf94c, 0xf8a9, 0xf94c, -0xf72c, 0xf831, 0xf72c, 0xf831, 0xf4ea, 0xf64a, 0xf4ea, 0xf64a, 0xf1f1, 0xf3a5, 0xf1f1, -0xf3a5, 0xf1f1, 0xf3a5, 0xef76, 0xf176, 0xef76, 0xf176, 0xeef9, 0xf13d, 0xeef9, 0xf13d, -0xeda9, 0xf028, 0xeda9, 0xf028, 0xecf2, 0xefa5, 0xecf2, 0xefa5, 0xec96, 0xef75, 0xec96, -0xef75, 0xec1f, 0xef22, 0xec1f, 0xef22, 0xec1f, 0xef22, 0xeb1a, 0xee3a, 0xeb1a, 0xee3a, -0xea12, 0xed48, 0xea12, 0xed48, 0xeabd, 0xee04, 0xeabd, 0xee04, 0xe990, 0xece1, 0xe990, -0xece1, 0xe908, 0xec5d, 0xe908, 0xec5d, 0xead0, 0xee24, 0xead0, 0xee24, 0xead0, 0xee24, -0xea66, 0xedb3, 0xea66, 0xedb3, 0xebb1, 0xeef2, 0xebb1, 0xeef2, 0xecbf, 0xefed, 0xecbf, -0xefed, 0xeb08, 0xee1e, 0xeb08, 0xee1e, 0xebbd, 0xeeb5, 0xebbd, 0xeeb5, 0xebbd, 0xeeb5, -0xed1d, 0xeff1, 0xed1d, 0xeff1, 0xed80, 0xf029, 0xed80, 0xf029, 0xef28, 0xf1a1, 0xef28, -0xf1a1, 0xf120, 0xf362, 0xf120, 0xf362, 0xf2ea, 0xf4ef, 0xf2ea, 0xf4ef, 0xf5f7, 0xf7ba, -0xf5f7, 0xf7ba, 0xf5f7, 0xf7ba, 0xf808, 0xf983, 0xf808, 0xf983, 0xfab1, 0xfbe0, 0xfab1, -0xfbe0, 0xfbd8, 0xfcb8, 0xfbd8, 0xfcb8, 0xfe5a, 0xfee7, 0xfe5a, 0xfee7, 0x287, 0x2c2, -0x287, 0x2c2, 0x507, 0x4ed, 0x507, 0x4ed, 0x507, 0x4ed, 0x713, 0x6a7, 0x713, -0x6a7, 0x9d1, 0x915, 0x9d1, 0x915, 0xcbf, 0xbb6, 0xcbf, 0xbb6, 0xe8d, 0xd3d, -0xe8d, 0xd3d, 0x11d6, 0x1043, 0x11d6, 0x1043, 0x11d6, 0x1043, 0x13d9, 0x120c, 0x13d9, -0x120c, 0x1467, 0x1266, 0x1467, 0x1266, 0x1573, 0x1346, 0x1573, 0x1346, 0x18c4, 0x1674, -0x18c4, 0x1674, 0x1a1e, 0x17b4, 0x1a1e, 0x17b4, 0x1b29, 0x18ad, 0x1b29, 0x18ad, 0x1b29, -0x18ad, 0x1dbd, 0x1b37, 0x1dbd, 0x1b37, 0x1da5, 0x1b1c, 0x1da5, 0x1b1c, 0x1eaf, 0x1c2a, -0x1eaf, 0x1c2a, 0x2055, 0x1dd9, 0x2055, 0x1dd9, 0x2049, 0x1ddb, 0x2049, 0x1ddb, 0x207a, -0x1e1d, 0x207a, 0x1e1d, 0x207a, 0x1e1d, 0x20e6, 0x1e9f, 0x20e6, 0x1e9f, 0x219f, 0x1f6d, -0x219f, 0x1f6d, 0x202d, 0x1e12, 0x202d, 0x1e12, 0x1d95, 0x1b91, 0x1d95, 0x1b91, 0x1c38, -0x1a4a, 0x1c38, 0x1a4a, 0x1c38, 0x1a4a, 0x192f, 0x1756, 0x192f, 0x1756, 0x1712, 0x154c, -0x1712, 0x154c, 0x1685, 0x14d1, 0x1685, 0x14d1, 0x16c8, 0x1524, 0x16c8, 0x1524, 0x161c, -0x1487, 0x161c, 0x1487, 0x14f9, 0x1372, 0x14f9, 0x1372, 0x14f9, 0x1372, 0x1468, 0x12ed, -0x1468, 0x12ed, 0x136f, 0x1201, 0x136f, 0x1201, 0x1119, 0xfb9, 0x1119, 0xfb9, 0xf7d, -0xe2b, 0xf7d, 0xe2b, 0xd00, 0xbbd, 0xd00, 0xbbd, 0xb7a, 0xa49, 0xb7a, 0xa49, -0xb7a, 0xa49, 0xc98, 0xb7a, 0xc98, 0xb7a, 0xa6b, 0x961, 0xa6b, 0x961, 0x868, -0x776, 0x868, 0x776, 0x6d7, 0x5fd, 0x6d7, 0x5fd, 0x581, 0x4c0, 0x581, 0x4c0, -0x581, 0x4c0, 0x4be, 0x416, 0x4be, 0x416, 0x38e, 0x2ff, 0x38e, 0x2ff, 0x188, -0x112, 0x188, 0x112, 0xff6d, 0xff0e, 0xff6d, 0xff0e, 0xfdae, 0xfd62, 0xfdae, 0xfd62, -0xfdbc, 0xfd81, 0xfdbc, 0xfd81, 0xfdbc, 0xfd81, 0xfc58, 0xfc28, 0xfc58, 0xfc28, 0xfa74, -0xfa4c, 0xfa74, 0xfa4c, 0xfafb, 0xfad5, 0xfafb, 0xfad5, 0xf98d, 0xf963, 0xf98d, 0xf963, -0xf96f, 0xf93b, 0xf96f, 0xf93b, 0xfa2d, 0xf9ea, 0xfa2d, 0xf9ea, 0xfa2d, 0xf9ea, 0xf932, -0xf8da, 0xf932, 0xf8da, 0xf873, 0xf802, 0xf873, 0xf802, 0xf7d6, 0xf748, 0xf7d6, 0xf748, -0xf8bb, 0xf80d, 0xf8bb, 0xf80d, 0xfa20, 0xf951, 0xfa20, 0xf951, 0xfa20, 0xf951, 0xfa02, -0xf910, 0xfa02, 0xf910, 0xfc44, 0xfb30, 0xfc44, 0xfb30, 0xfc95, 0xfb62, 0xfc95, 0xfb62, -0xfd35, 0xfbe6, 0xfd35, 0xfbe6, 0xfea4, 0xfd3d, 0xfea4, 0xfd3d, 0xfdd3, 0xfc59, 0xfdd3, -0xfc59, 0xfdd3, 0xfc59, 0xfd6a, 0xfbe4, 0xfd6a, 0xfbe4, 0xfe68, 0xfcdc, 0xfe68, 0xfcdc, -0xffe5, 0xfe5a, 0xffe5, 0xfe5a, 0xff11, 0xfd8e, 0xff11, 0xfd8e, 0xfee1, 0xfd6e, 0xfee1, -0xfd6e, 0xfee1, 0xfd6e, 0xff91, 0xfe34, 0xff91, 0xfe34, 0xa, 0xfeca, 0xa, 0xfeca, -0xc2, 0xffa3, 0xc2, 0xffa3, 0x338, 0x23f, 0x338, 0x23f, 0x2d1, 0x201, 0x2d1, -0x201, 0x1a2, 0xfd, 0x1a2, 0xfd, 0x1a2, 0xfd, 0x1c3, 0x14b, 0x1c3, 0x14b, -0x147, 0xfa, 0x147, 0xfa, 0x106, 0xe4, 0x106, 0xe4, 0xff72, 0xff78, 0xff72, -0xff78, 0xfe62, 0xfe8e, 0xfe62, 0xfe8e, 0xfdeb, 0xfe39, 0xfdeb, 0xfe39, 0xfdeb, 0xfe39, -0xfda2, 0xfe0d, 0xfda2, 0xfe0d, 0xfdd1, 0xfe56, 0xfdd1, 0xfe56, 0xfdff, 0xfe9a, 0xfdff, -0xfe9a, 0xfd79, 0xfe25, 0xfd79, 0xfe25, 0xfc22, 0xfcdb, 0xfc22, 0xfcdb, 0xfc22, 0xfcdb, -0xfc5d, 0xfd21, 0xfc5d, 0xfd21, 0xfcbe, 0xfd8a, 0xfcbe, 0xfd8a, 0xfc9f, 0xfd71, 0xfc9f, -0xfd71, 0xfdbc, 0xfe92, 0xfdbc, 0xfe92, 0xfc55, 0xfd2f, 0xfc55, 0xfd2f, 0xfc4c, 0xfd2a, -0xfc4c, 0xfd2a, 0xfc4c, 0xfd2a, 0xfd9c, 0xfe7d, 0xfd9c, 0xfe7d, 0xfd88, 0xfe6e, 0xfd88, -0xfe6e, 0xfccf, 0xfdbb, 0xfccf, 0xfdbb, 0xfd74, 0xfe68, 0xfd74, 0xfe68, 0xfd3d, 0xfe39, -0xfd3d, 0xfe39, 0xfe11, 0xff18, 0xfe11, 0xff18, 0xfe11, 0xff18, 0xffcb, 0xdc, 0xffcb, -0xdc, 0xfde2, 0xfeff, 0xfde2, 0xfeff, 0xfda9, 0xfed1, 0xfda9, 0xfed1, 0xfcda, 0xfe0d, -0xfcda, 0xfe0d, 0xfd01, 0xfe3e, 0xfd01, 0xfe3e, 0xfd01, 0xfe3e, 0xfcb7, 0xfdfc, 0xfcb7, -0xfdfc, 0xfb67, 0xfcb1, 0xfb67, 0xfcb1, 0xfb00, 0xfc4e, 0xfb00, 0xfc4e, 0xfb36, 0xfc84, -0xfb36, 0xfc84, 0xfb6d, 0xfcb8, 0xfb6d, 0xfcb8, 0xfcb0, 0xfdf5, 0xfcb0, 0xfdf5, 0xfcb0, -0xfdf5, 0xfd67, 0xfea3, 0xfd67, 0xfea3, 0xfbae, 0xfcde, 0xfbae, 0xfcde, 0xfbc1, 0xfce3, -0xfbc1, 0xfce3, 0xfba4, 0xfcb4, 0xfba4, 0xfcb4, 0xfb10, 0xfc0e, 0xfb10, 0xfc0e, 0xfb53, -0xfc3e, 0xfb53, 0xfc3e, 0xfb53, 0xfc3e, 0xfc02, 0xfcda, 0xfc02, 0xfcda, 0xfc4e, 0xfd13, -0xfc4e, 0xfd13, 0xfc9e, 0xfd52, 0xfc9e, 0xfd52, 0xfd49, 0xfdee, 0xfd49, 0xfdee, 0xfd05, -0xfd9e, 0xfd05, 0xfd9e, 0xfd05, 0xfd9e, 0xfa8a, 0xfb1a, 0xfa8a, 0xfb1a, 0xf9d7, 0xfa61, -0xf9d7, 0xfa61, 0xf8ef, 0xf978, 0xf8ef, 0xf978, 0xf6a1, 0xf72c, 0xf6a1, 0xf72c, 0xf5c3, -0xf654, 0xf5c3, 0xf654, 0xf52d, 0xf5c8, 0xf52d, 0xf5c8, 0xf52d, 0xf5c8, 0xf38a, 0xf431, -0xf38a, 0xf431, 0xf33d, 0xf3f4, 0xf33d, 0xf3f4, 0xf2d0, 0xf398, 0xf2d0, 0xf398, 0xf17e, -0xf259, 0xf17e, 0xf259, 0xf18f, 0xf27e, 0xf18f, 0xf27e, 0xf036, 0xf13a, 0xf036, 0xf13a, -0xf036, 0xf13a, 0xf0d2, 0xf1e9, 0xf0d2, 0xf1e9, 0xf014, 0xf13e, 0xf014, 0xf13e, 0xef7f, -0xf0bc, 0xef7f, 0xf0bc, 0xef82, 0xf0ce, 0xef82, 0xf0ce, 0xeea2, 0xeffd, 0xeea2, 0xeffd, -0xeea2, 0xeffd, 0xefda, 0xf140, 0xefda, 0xf140, 0xefe1, 0xf151, 0xefe1, 0xf151, 0xef02, -0xf079, 0xef02, 0xf079, 0xed8a, 0xef06, 0xed8a, 0xef06, 0xebc4, 0xed45, 0xebc4, 0xed45, -0xec20, 0xeda2, 0xec20, 0xeda2, 0xec20, 0xeda2, 0xebc5, 0xed48, 0xebc5, 0xed48, 0xeb15, -0xec96, 0xeb15, 0xec96, 0xebb4, 0xed33, 0xebb4, 0xed33, 0xea90, 0xec0d, 0xea90, 0xec0d, -0xea5c, 0xebd6, 0xea5c, 0xebd6, 0xec08, 0xed7d, 0xec08, 0xed7d, 0xec08, 0xed7d, 0xec4d, -0xedbe, 0xec4d, 0xedbe, 0xeca0, 0xee0b, 0xeca0, 0xee0b, 0xedf6, 0xef5a, 0xedf6, 0xef5a, -0xed65, 0xeebf, 0xed65, 0xeebf, 0xf03a, 0xf189, 0xf03a, 0xf189, 0xf03a, 0xf189, 0xf2d7, -0xf41a, 0xf2d7, 0xf41a, 0xf2f9, 0xf42b, 0xf2f9, 0xf42b, 0xf23a, 0xf359, 0xf23a, 0xf359, -0xf196, 0xf29e, 0xf196, 0xf29e, 0xf2c7, 0xf3b5, 0xf2c7, 0xf3b5, 0xf3f9, 0xf4c8, 0xf3f9, -0xf4c8, 0xf3f9, 0xf4c8, 0xf59c, 0xf648, 0xf59c, 0xf648, 0xf60c, 0xf692, 0xf60c, 0xf692, -0xf7b8, 0xf815, 0xf7b8, 0xf815, 0xf903, 0xf934, 0xf903, 0xf934, 0xfac9, 0xfacc, 0xfac9, -0xfacc, 0xfc26, 0xfbf8, 0xfc26, 0xfbf8, 0xfc26, 0xfbf8, 0xfcf1, 0xfc93, 0xfcf1, 0xfc93, -0xff1c, 0xfe8e, 0xff1c, 0xfe8e, 0x226, 0x168, 0x226, 0x168, 0x308, 0x21e, 0x308, -0x21e, 0x5ab, 0x496, 0x5ab, 0x496, 0x5ab, 0x496, 0x8f0, 0x7b6, 0x8f0, 0x7b6, -0x94b, 0x7f0, 0x94b, 0x7f0, 0xc4d, 0xad6, 0xc4d, 0xad6, 0xe08, 0xc7c, 0xe08, -0xc7c, 0xee2, 0xd46, 0xee2, 0xd46, 0xf75, 0xdd0, 0xf75, 0xdd0, 0xf75, 0xdd0, -0xf85, 0xddc, 0xf85, 0xddc, 0x1038, 0xe91, 0x1038, 0xe91, 0xeeb, 0xd4b, 0xeeb, -0xd4b, 0xd73, 0xbde, 0xd73, 0xbde, 0xd67, 0xbe0, 0xd67, 0xbe0, 0xad7, 0x961, -0xad7, 0x961, 0xad7, 0x961, 0xb44, 0x9e1, 0xb44, 0x9e1, 0xad9, 0x989, 0xad9, -0x989, 0x82b, 0x6ec, 0x82b, 0x6ec, 0x89c, 0x76d, 0x89c, 0x76d, 0x82e, 0x70e, -0x82e, 0x70e, 0x82e, 0x70e, 0x8e9, 0x7d4, 0x8e9, 0x7d4, 0x998, 0x88b, 0x998, -0x88b, 0x8dd, 0x7d5, 0x8dd, 0x7d5, 0x91a, 0x813, 0x91a, 0x813, 0xa83, 0x979, -0xa83, 0x979, 0xb30, 0xa22, 0xb30, 0xa22, 0xb30, 0xa22, 0xb7e, 0xa68, 0xb7e, -0xa68, 0xa93, 0x975, 0xa93, 0x975, 0xa9e, 0x977, 0xa9e, 0x977, 0xafe, 0x9ce, -0xafe, 0x9ce, 0xadb, 0x9a3, 0xadb, 0x9a3, 0xab8, 0x97a, 0xab8, 0x97a, 0xab8, -0x97a, 0x909, 0x7c8, 0x909, 0x7c8, 0x74a, 0x609, 0x74a, 0x609, 0x6df, 0x5a1, -0x6df, 0x5a1, 0x7d5, 0x69e, 0x7d5, 0x69e, 0x9a3, 0x878, 0x9a3, 0x878, 0x9a3, -0x878, 0x880, 0x764, 0x880, 0x764, 0x787, 0x67d, 0x787, 0x67d, 0x85d, 0x768, -0x85d, 0x768, 0x6de, 0x600, 0x6de, 0x600, 0x773, 0x6ad, 0x773, 0x6ad, 0x722, -0x674, 0x722, 0x674, 0x722, 0x674, 0x566, 0x4ce, 0x566, 0x4ce, 0x444, 0x3c1, -0x444, 0x3c1, 0x3c9, 0x357, 0x3c9, 0x357, 0x327, 0x2c2, 0x327, 0x2c2, 0x315, -0x2b8, 0x315, 0x2b8, 0x315, 0x2b8, 0x20f, 0x1b7, 0x20f, 0x1b7, 0x54, 0xfff9, -0x54, 0xfff9, 0xff61, 0xfeff, 0xff61, 0xfeff, 0xff47, 0xfed8, 0xff47, 0xfed8, 0xff2c, -0xfead, 0xff2c, 0xfead, 0xfe29, 0xfd96, 0xfe29, 0xfd96, 0xfe29, 0xfd96, 0xfdf7, 0xfd4d, -0xfdf7, 0xfd4d, 0xfcc7, 0xfc05, 0xfcc7, 0xfc05, 0xfe3c, 0xfd62, 0xfe3c, 0xfd62, 0xffa3, -0xfeb3, 0xffa3, 0xfeb3, 0x19d, 0x9b, 0x19d, 0x9b, 0x40b, 0x2fa, 0x40b, 0x2fa, -0x40b, 0x2fa, 0x4f8, 0x3de, 0x4f8, 0x3de, 0x691, 0x576, 0x691, 0x576, 0x813, -0x6fe, 0x813, 0x6fe, 0x693, 0x58d, 0x693, 0x58d, 0x69b, 0x5ad, 0x69b, 0x5ad, -0x69b, 0x5ad, 0x751, 0x685, 0x751, 0x685, 0x4c1, 0x41f, 0x4c1, 0x41f, 0x377, -0x305, 0x377, 0x305, 0x1e2, 0x1a9, 0x1e2, 0x1a9, 0xffee, 0xfff4, 0xffee, 0xfff4, -0xfe4c, 0xfe95, 0xfe4c, 0xfe95, 0xfe4c, 0xfe95, 0xfd19, 0xfda7, 0xfd19, 0xfda7, 0xfacf, -0xfba5, 0xfacf, 0xfba5, 0xf992, 0xfaad, 0xf992, 0xfaad, 0xf82e, 0xf98e, 0xf82e, 0xf98e, -0xf789, 0xf929, 0xf789, 0xf929, 0xf685, 0xf860, 0xf685, 0xf860, 0xf685, 0xf860, 0xf554, -0xf764, 0xf554, 0xf764, 0xf3e7, 0xf624, 0xf3e7, 0xf624, 0xf1f3, 0xf456, 0xf1f3, 0xf456, -0xf2d2, 0xf553, 0xf2d2, 0xf553, 0xf2a7, 0xf53d, 0xf2a7, 0xf53d, 0xf2a7, 0xf53d, 0xf1ef, -0xf492, 0xf1ef, 0xf492, 0xf15b, 0xf403, 0xf15b, 0xf403, 0xf016, 0xf2bc, 0xf016, 0xf2bc, -0xeff5, 0xf294, 0xeff5, 0xf294, 0xf11b, 0xf3ae, 0xf11b, 0xf3ae, 0xf0a0, 0xf323, 0xf0a0, -0xf323, 0xf0a0, 0xf323, 0xf03e, 0xf2ae, 0xf03e, 0xf2ae, 0xef1c, 0xf178, 0xef1c, 0xf178, -0xefe9, 0xf230, 0xefe9, 0xf230, 0xf1da, 0xf40c, 0xf1da, 0xf40c, 0xf1c3, 0xf3e1, 0xf1c3, -0xf3e1, 0xf1bd, 0xf3c8, 0xf1bd, 0xf3c8, 0xf1bd, 0xf3c8, 0xf2cc, 0xf4c4, 0xf2cc, 0xf4c4, -0xf3c8, 0xf5b0, 0xf3c8, 0xf5b0, 0xf56d, 0xf744, 0xf56d, 0xf744, 0xf6ea, 0xf8b0, 0xf6ea, -0xf8b0, 0xf6cd, 0xf882, 0xf6cd, 0xf882, 0xf6cd, 0xf882, 0xf719, 0xf8bb, 0xf719, 0xf8bb, -0xf784, 0xf911, 0xf784, 0xf911, 0xf9a6, 0xfb19, 0xf9a6, 0xfb19, 0xfb2c, 0xfc82, 0xfb2c, -0xfc82, 0xfb9f, 0xfcd3, 0xfb9f, 0xfcd3, 0xfb8d, 0xfc98, 0xfb8d, 0xfc98, 0xfb8d, 0xfc98, -0xfc10, 0xfcec, 0xfc10, 0xfcec, 0xfd9b, 0xfe42, 0xfd9b, 0xfe42, 0x75, 0xe1, 0x75, -0xe1, 0x237, 0x262, 0x237, 0x262, 0x41c, 0x401, 0x41c, 0x401, 0x55d, 0x4f8, -0x55d, 0x4f8, 0x55d, 0x4f8, 0x688, 0x5d6, 0x688, 0x5d6, 0x9c6, 0x8c6, 0x9c6, -0x8c6, 0xce6, 0xb98, 0xce6, 0xb98, 0xf31, 0xd96, 0xf31, 0xd96, 0x1118, 0xf35, -0x1118, 0xf35, 0x1118, 0xf35, 0x14a2, 0x127a, 0x14a2, 0x127a, 0x17bf, 0x155b, 0x17bf, -0x155b, 0x1b8b, 0x18f1, 0x1b8b, 0x18f1, 0x1c1d, 0x1956, 0x1c1d, 0x1956, 0x1bc5, 0x18dc, -0x1bc5, 0x18dc, 0x1bda, 0x18d9, 0x1bda, 0x18d9, 0x1bda, 0x18d9, 0x1b2f, 0x1820, 0x1b2f, -0x1820, 0x1b99, 0x1887, 0x1b99, 0x1887, 0x1d5e, 0x1a52, 0x1d5e, 0x1a52, 0x1c87, 0x198b, -0x1c87, 0x198b, 0x1cad, 0x19c9, 0x1cad, 0x19c9, 0x1e04, 0x1b3e, 0x1e04, 0x1b3e, 0x1e04, -0x1b3e, 0x1c08, 0x1965, 0x1c08, 0x1965, 0x1c71, 0x19f4, 0x1c71, 0x19f4, 0x1b10, 0x18bc, -0x1b10, 0x18bc, 0x198c, 0x1761, 0x198c, 0x1761, 0x1913, 0x170f, 0x1913, 0x170f, 0x1913, -0x170f, 0x16fd, 0x151f, 0x16fd, 0x151f, 0x14d2, 0x1316, 0x14d2, 0x1316, 0x1385, 0x11e6, -0x1385, 0x11e6, 0x11c8, 0x1043, 0x11c8, 0x1043, 0x10ef, 0xf7e, 0x10ef, 0xf7e, 0xff0, -0xe8e, 0xff0, 0xe8e, 0xff0, 0xe8e, 0xecf, 0xd78, 0xecf, 0xd78, 0xd24, 0xbd3, -0xd24, 0xbd3, 0xc61, 0xb13, 0xc61, 0xb13, 0xce1, 0xb95, 0xce1, 0xb95, 0xbe3, -0xa97, 0xbe3, 0xa97, 0xa76, 0x92a, 0xa76, 0x92a, 0xa76, 0x92a, 0x8a2, 0x757, -0x8a2, 0x757, 0x7cf, 0x687, 0x7cf, 0x687, 0x79c, 0x65a, 0x79c, 0x65a, 0x6ca, -0x591, 0x6ca, 0x591, 0x3ec, 0x2bf, 0x3ec, 0x2bf, 0x3ec, 0x2bf, 0x29c, 0x180, -0x29c, 0x180, 0x59, 0xff52, 0x59, 0xff52, 0x30, 0xff41, 0x30, 0xff41, 0xffce, -0xfefa, 0xffce, 0xfefa, 0xfd44, 0xfc8d, 0xfd44, 0xfc8d, 0xfc23, 0xfb89, 0xfc23, 0xfb89, -0xfc23, 0xfb89, 0xfa30, 0xf9b5, 0xfa30, 0xf9b5, 0xf8fd, 0xf89e, 0xf8fd, 0xf89e, 0xf7fb, -0xf7b6, 0xf7fb, 0xf7b6, 0xf5e2, 0xf5b3, 0xf5e2, 0xf5b3, 0xf408, 0xf3ec, 0xf408, 0xf3ec, -0xf4a1, 0xf491, 0xf4a1, 0xf491, 0xf4a1, 0xf491, 0xf52d, 0xf524, 0xf52d, 0xf524, 0xf5de, -0xf5d7, 0xf5de, 0xf5d7, 0xf559, 0xf54d, 0xf559, 0xf54d, 0xf504, 0xf4ec, 0xf504, 0xf4ec, -0xf5d9, 0xf5b2, 0xf5d9, 0xf5b2, 0xf5d9, 0xf5b2, 0xf74e, 0xf713, 0xf74e, 0xf713, 0xf90e, -0xf8bd, 0xf90e, 0xf8bd, 0xfa14, 0xf9ac, 0xfa14, 0xf9ac, 0xfa61, 0xf9e1, 0xfa61, 0xf9e1, -0xfbe4, 0xfb4d, 0xfbe4, 0xfb4d, 0xfd0c, 0xfc62, 0xfd0c, 0xfc62, 0xfd0c, 0xfc62, 0xfea0, -0xfde8, 0xfea0, 0xfde8, 0x6, 0xff45, 0x6, 0xff45, 0xffda, 0xff18, 0xffda, 0xff18, -0xffba, 0xfeff, 0xffba, 0xfeff, 0x5d, 0xffb1, 0x5d, 0xffb1, 0x1a5, 0x111, 0x1a5, -0x111, 0x1a5, 0x111, 0x1b2, 0x13f, 0x1b2, 0x13f, 0x358, 0x30d, 0x358, 0x30d, -0x1e1, 0x1c6, 0x1e1, 0x1c6, 0x24f, 0x26b, 0x24f, 0x26b, 0x363, 0x3b9, 0x363, -0x3b9, 0x363, 0x3b9, 0x307, 0x39a, 0x307, 0x39a, 0x318, 0x3ea, 0x318, 0x3ea, -0x244, 0x355, 0x244, 0x355, 0x196, 0x2e2, 0x196, 0x2e2, 0x150, 0x2d3, 0x150, -0x2d3, 0x1a0, 0x355, 0x1a0, 0x355, 0x1a0, 0x355, 0x64, 0x243, 0x64, 0x243, -0x18e, 0x38f, 0x18e, 0x38f, 0x153, 0x36d, 0x153, 0x36d, 0xffda, 0x203, 0xffda, -0x203, 0x97, 0x2c6, 0x97, 0x2c6, 0x97, 0x2c6, 0x51, 0x27e, 0x51, 0x27e, -0xffc2, 0x1e3, 0xffc2, 0x1e3, 0x1a7, 0x3b5, 0x1a7, 0x3b5, 0x14b, 0x33f, 0x14b, -0x33f, 0x144, 0x31b, 0x144, 0x31b, 0x253, 0x408, 0x253, 0x408, 0x253, 0x408, -0x1db, 0x36d, 0x1db, 0x36d, 0x22d, 0x39d, 0x22d, 0x39d, 0x3ab, 0x4f9, 0x3ab, -0x4f9, 0x3e5, 0x514, 0x3e5, 0x514, 0x436, 0x54a, 0x436, 0x54a, 0x48d, 0x58c, -0x48d, 0x58c, 0x48d, 0x58c, 0x3ef, 0x4dd, 0x3ef, 0x4dd, 0x45e, 0x541, 0x45e, -0x541, 0x286, 0x365, 0x286, 0x365, 0x7a, 0x159, 0x7a, 0x159, 0xfdfc, 0xfee0, -0xfdfc, 0xfee0, 0xfdfc, 0xfee0, 0xfcb3, 0xfda1, 0xfcb3, 0xfda1, 0xfaa2, 0xfb9b, 0xfaa2, -0xfb9b, 0xf965, 0xfa6c, 0xf965, 0xfa6c, 0xf701, 0xf816, 0xf701, 0xf816, 0xf3b8, 0xf4dc, -0xf3b8, 0xf4dc, 0xf33f, 0xf46e, 0xf33f, 0xf46e, 0xf33f, 0xf46e, 0xf1ae, 0xf2e7, 0xf1ae, -0xf2e7, 0xeffc, 0xf13c, 0xeffc, 0xf13c, 0xef5f, 0xf0a1, 0xef5f, 0xf0a1, 0xeec6, 0xf006, -0xeec6, 0xf006, 0xed8c, 0xeec7, 0xed8c, 0xeec7, 0xeebb, 0xefec, 0xeebb, 0xefec, 0xeebb, -0xefec, 0xee11, 0xef34, 0xee11, 0xef34, 0xed71, 0xee85, 0xed71, 0xee85, 0xeeaa, 0xefad, -0xeeaa, 0xefad, 0xeefa, 0xefec, 0xeefa, 0xefec, 0xefce, 0xf0b0, 0xefce, 0xf0b0, 0xefce, -0xf0b0, 0xf04f, 0xf123, 0xf04f, 0xf123, 0xef55, 0xf01f, 0xef55, 0xf01f, 0xeecb, 0xef8e, -0xeecb, 0xef8e, 0xeec3, 0xef85, 0xeec3, 0xef85, 0xf0c3, 0xf18b, 0xf0c3, 0xf18b, 0xf0cd, -0xf1a1, 0xf0cd, 0xf1a1, 0xf0cd, 0xf1a1, 0xf074, 0xf15b, 0xf074, 0xf15b, 0xf0c2, 0xf1c2, -0xf0c2, 0xf1c2, 0xefd0, 0xf0ef, 0xefd0, 0xf0ef, 0xf084, 0xf1c6, 0xf084, 0xf1c6, 0xf01b, -0xf185, 0xf01b, 0xf185, 0xf0b6, 0xf24b, 0xf0b6, 0xf24b, 0xf0b6, 0xf24b, 0xefd7, 0xf197, -0xefd7, 0xf197, 0xef7e, 0xf168, 0xef7e, 0xf168, 0xefc5, 0xf1d7, 0xefc5, 0xf1d7, 0xefea, -0xf220, 0xefea, 0xf220, 0xef7c, 0xf1d0, 0xef7c, 0xf1d0, 0xef7c, 0xf1d0, 0xeed8, 0xf144, -0xeed8, 0xf144, 0xeeab, 0xf126, 0xeeab, 0xf126, 0xeef2, 0xf172, 0xeef2, 0xf172, 0xef8b, -0xf207, 0xef8b, 0xf207, 0xf124, 0xf392, 0xf124, 0xf392, 0xf19a, 0xf3ef, 0xf19a, 0xf3ef, -0xf19a, 0xf3ef, 0xefc0, 0xf1f2, 0xefc0, 0xf1f2, 0xf1ba, 0xf3c1, 0xf1ba, 0xf3c1, 0xf1ef, -0xf3c2, 0xf1ef, 0xf3c2, 0xf266, 0xf3ff, 0xf266, 0xf3ff, 0xf50a, 0xf664, 0xf50a, 0xf664, -0xf566, 0xf67d, 0xf566, 0xf67d, 0xf566, 0xf67d, 0xf6d5, 0xf7a8, 0xf6d5, 0xf7a8, 0xfab8, -0xfb46, 0xfab8, 0xfb46, 0xfb9e, 0xfbe7, 0xfb9e, 0xfbe7, 0xfd88, 0xfd90, 0xfd88, 0xfd90, -0xffc0, 0xff8b, 0xffc0, 0xff8b, 0xffc0, 0xff8b, 0xef, 0x81, 0xef, 0x81, 0x329, -0x288, 0x329, 0x288, 0x44a, 0x37d, 0x44a, 0x37d, 0x50f, 0x41b, 0x50f, 0x41b, -0x51d, 0x40a, 0x51d, 0x40a, 0x491, 0x363, 0x491, 0x363, 0x491, 0x363, 0x420, -0x2dd, 0x420, 0x2dd, 0x46f, 0x31a, 0x46f, 0x31a, 0x31f, 0x1bc, 0x31f, 0x1bc, -0x2e5, 0x177, 0x2e5, 0x177, 0x2eb, 0x174, 0x2eb, 0x174, 0x361, 0x1e1, 0x361, -0x1e1, 0x361, 0x1e1, 0x2c8, 0x140, 0x2c8, 0x140, 0x311, 0x17f, 0x311, 0x17f, -0x269, 0xce, 0x269, 0xce, 0x164, 0xffbc, 0x164, 0xffbc, 0x3b2, 0x1fe, 0x3b2, -0x1fe, 0x3b2, 0x1fe, 0x2e3, 0x121, 0x2e3, 0x121, 0x1b5, 0xffe4, 0x1b5, 0xffe4, -0x2cf, 0xf0, 0x2cf, 0xf0, 0x2fa, 0x10e, 0x2fa, 0x10e, 0x38e, 0x196, 0x38e, -0x196, 0x592, 0x391, 0x592, 0x391, 0x592, 0x391, 0x553, 0x34d, 0x553, 0x34d, -0x526, 0x320, 0x526, 0x320, 0x626, 0x425, 0x626, 0x425, 0x6b0, 0x4bb, 0x6b0, -0x4bb, 0x518, 0x336, 0x518, 0x336, 0x4be, 0x2f6, 0x4be, 0x2f6, 0x4be, 0x2f6, -0x470, 0x2c8, 0x470, 0x2c8, 0x4c5, 0x345, 0x4c5, 0x345, 0x61a, 0x4c7, 0x61a, -0x4c7, 0x653, 0x533, 0x653, 0x533, 0x612, 0x529, 0x612, 0x529, 0x612, 0x529, -0x43e, 0x38e, 0x43e, 0x38e, 0x3e3, 0x370, 0x3e3, 0x370, 0x58c, 0x553, 0x58c, -0x553, 0x628, 0x629, 0x628, 0x629, 0x4de, 0x515, 0x4de, 0x515, 0x4b1, 0x51a, -0x4b1, 0x51a, 0x4b1, 0x51a, 0x445, 0x4d9, 0x445, 0x4d9, 0x4e2, 0x59a, 0x4e2, -0x59a, 0x5bb, 0x690, 0x5bb, 0x690, 0x66c, 0x754, 0x66c, 0x754, 0x50d, 0x600, -0x50d, 0x600, 0x415, 0x50a, 0x415, 0x50a, 0x415, 0x50a, 0x480, 0x56e, 0x480, -0x56e, 0x4a0, 0x57f, 0x4a0, 0x57f, 0x4bd, 0x586, 0x4bd, 0x586, 0x43d, 0x4e9, -0x43d, 0x4e9, 0x315, 0x39f, 0x315, 0x39f, 0x315, 0x39f, 0x2e9, 0x34d, 0x2e9, -0x34d, 0x5a3, 0x5de, 0x5a3, 0x5de, 0x58c, 0x59f, 0x58c, 0x59f, 0x557, 0x541, -0x557, 0x541, 0x565, 0x527, 0x565, 0x527, 0x5bc, 0x55a, 0x5bc, 0x55a, 0x5bc, -0x55a, 0x6c6, 0x642, 0x6c6, 0x642, 0x900, 0x85f, 0x900, 0x85f, 0x9de, 0x925, -0x9de, 0x925, 0x9f1, 0x923, 0x9f1, 0x923, 0xa62, 0x987, 0xa62, 0x987, 0xa59, -0x974, 0xa59, 0x974, 0xa59, 0x974, 0x9eb, 0x901, 0x9eb, 0x901, 0x7fd, 0x711, -0x7fd, 0x711, 0x723, 0x639, 0x723, 0x639, 0x683, 0x59d, 0x683, 0x59d, 0x5d6, -0x4f7, 0x5d6, 0x4f7, 0x5d6, 0x4f7, 0x513, 0x43d, 0x513, 0x43d, 0x4b6, 0x3e9, -0x4b6, 0x3e9, 0x1ec, 0x129, 0x1ec, 0x129, 0x77, 0xffbd, 0x77, 0xffbd, 0x5f, -0xffb0, 0x5f, 0xffb0, 0xfea9, 0xfe03, 0xfea9, 0xfe03, 0xfea9, 0xfe03, 0xfdb3, 0xfd17, -0xfdb3, 0xfd17, 0xfe39, 0xfda7, 0xfe39, 0xfda7, 0xfdb8, 0xfd31, 0xfdb8, 0xfd31, 0xfe0f, -0xfd94, 0xfe0f, 0xfd94, 0xfef9, 0xfe8b, 0xfef9, 0xfe8b, 0xfef9, 0xfe8b, 0xfdf7, 0xfd99, -0xfdf7, 0xfd99, 0xfcb9, 0xfc6e, 0xfcb9, 0xfc6e, 0xfd26, 0xfcf1, 0xfd26, 0xfcf1, 0xfca1, -0xfc87, 0xfca1, 0xfc87, 0xf98b, 0xf98f, 0xf98b, 0xf98f, 0xf89b, 0xf8c2, 0xf89b, 0xf8c2, -0xf89b, 0xf8c2, 0xf604, 0xf652, 0xf604, 0xf652, 0xf48e, 0xf507, 0xf48e, 0xf507, 0xf356, -0xf3fd, 0xf356, 0xf3fd, 0xf19b, 0xf273, 0xf19b, 0xf273, 0xf056, 0xf162, 0xf056, 0xf162, -0xee88, 0xefc8, 0xee88, 0xefc8, 0xee88, 0xefc8, 0xee81, 0xeff5, 0xee81, 0xeff5, 0xef63, -0xf10a, 0xef63, 0xf10a, 0xef14, 0xf0eb, 0xef14, 0xf0eb, 0xedf6, 0xeff9, 0xedf6, 0xeff9, -0xede4, 0xf00e, 0xede4, 0xf00e, 0xede4, 0xf00e, 0xef44, 0xf18f, 0xef44, 0xf18f, 0xf0db, -0xf33f, 0xf0db, 0xf33f, 0xf227, 0xf49d, 0xf227, 0xf49d, 0xf2e6, 0xf565, 0xf2e6, 0xf565, -0xf1d9, 0xf458, 0xf1d9, 0xf458, 0xf326, 0xf59b, 0xf326, 0xf59b, 0xf326, 0xf59b, 0xf497, -0xf6f9, 0xf497, 0xf6f9, 0xf644, 0xf88a, 0xf644, 0xf88a, 0xf89d, 0xfabe, 0xf89d, 0xfabe, -0xf9a4, 0xfb99, 0xf9a4, 0xfb99, 0xf91b, 0xfadc, 0xf91b, 0xfadc, 0xfb24, 0xfcab, 0xfb24, -0xfcab, 0xfb24, 0xfcab, 0xfd62, 0xfeaa, 0xfd62, 0xfeaa, 0xff77, 0x7c, 0xff77, 0x7c, -0x168, 0x227, 0x168, 0x227, 0x26d, 0x2e4, 0x26d, 0x2e4, 0x664, 0x692, 0x664, -0x692, 0x664, 0x692, 0x99b, 0x980, 0x99b, 0x980, 0xdb9, 0xd57, 0xdb9, 0xd57, -0xfda, 0xf32, 0xfda, 0xf32, 0x1092, 0xfa6, 0x1092, 0xfa6, 0x12f2, 0x11c5, 0x12f2, -0x11c5, 0x165c, 0x14f2, 0x165c, 0x14f2, 0x165c, 0x14f2, 0x1814, 0x1670, 0x1814, 0x1670, -0x199b, 0x17c0, 0x199b, 0x17c0, 0x1a00, 0x17f2, 0x1a00, 0x17f2, 0x196c, 0x172f, 0x196c, -0x172f, 0x1934, 0x16cc, 0x1934, 0x16cc, 0x196f, 0x16e0, 0x196f, 0x16e0, 0x196f, 0x16e0, -0x1a68, 0x17b5, 0x1a68, 0x17b5, 0x195a, 0x1688, 0x195a, 0x1688, 0x1a75, 0x1787, 0x1a75, -0x1787, 0x1bb4, 0x18af, 0x1bb4, 0x18af, 0x1b61, 0x184a, 0x1b61, 0x184a, 0x1b61, 0x184a, -0x1c60, 0x193c, 0x1c60, 0x193c, 0x1d18, 0x19ec, 0x1d18, 0x19ec, 0x1d03, 0x19d4, 0x1d03, -0x19d4, 0x1e38, 0x1b0c, 0x1e38, 0x1b0c, 0x1e82, 0x1b60, 0x1e82, 0x1b60, 0x1e76, 0x1b63, -0x1e76, 0x1b63, 0x1e76, 0x1b63, 0x1c65, 0x196a, 0x1c65, 0x196a, 0x1bf2, 0x1914, 0x1bf2, -0x1914, 0x1b04, 0x184b, 0x1b04, 0x184b, 0x1885, 0x15f9, 0x1885, 0x15f9, 0x1772, 0x1518, -0x1772, 0x1518, 0x1499, 0x1277, 0x1499, 0x1277, 0x1499, 0x1277, 0x129d, 0x10b9, 0x129d, -0x10b9, 0x10c1, 0xf21, 0x10c1, 0xf21, 0xe5a, 0xd01, 0xe5a, 0xd01, 0xb02, 0x9f4, -0xb02, 0x9f4, 0x914, 0x853, 0x914, 0x853, 0x914, 0x853, 0x7d6, 0x762, 0x7d6, -0x762, 0x6d5, 0x6af, 0x6d5, 0x6af, 0x4c2, 0x4e7, 0x4c2, 0x4e7, 0x1ac, 0x21c, -0x1ac, 0x21c, 0xff6d, 0x23, 0xff6d, 0x23, 0xfe20, 0xff17, 0xfe20, 0xff17, 0xfe20, -0xff17, 0xfcfb, 0xfe2d, 0xfcfb, 0xfe2d, 0xfc08, 0xfd6f, 0xfc08, 0xfd6f, 0xfa60, 0xfbf7, -0xfa60, 0xfbf7, 0xf88f, 0xfa4d, 0xf88f, 0xfa4d, 0xf80c, 0xf9ea, 0xf80c, 0xf9ea, 0xf768, -0xf95e, 0xf768, 0xf95e, 0xf768, 0xf95e, 0xf5a6, 0xf7ac, 0xf5a6, 0xf7ac, 0xf494, 0xf6a4, -0xf494, 0xf6a4, 0xf3dc, 0xf5ed, 0xf3dc, 0xf5ed, 0xf26c, 0xf478, 0xf26c, 0xf478, 0xf4a5, -0xf6a6, 0xf4a5, 0xf6a6, 0xf4a5, 0xf6a6, 0xf4af, 0xf69f, 0xf4af, 0xf69f, 0xf48e, 0xf668, -0xf48e, 0xf668, 0xf517, 0xf6d6, 0xf517, 0xf6d6, 0xf535, 0xf6d5, 0xf535, 0xf6d5, 0xf6eb, -0xf868, 0xf6eb, 0xf868, 0xf94c, 0xfaa4, 0xf94c, 0xfaa4, 0xf94c, 0xfaa4, 0xfb16, 0xfc46, -0xfb16, 0xfc46, 0xfc13, 0xfd19, 0xfc13, 0xfd19, 0xfbc2, 0xfc9c, 0xfbc2, 0xfc9c, 0xfbf0, -0xfc9b, 0xfbf0, 0xfc9b, 0xfe58, 0xfed4, 0xfe58, 0xfed4, 0xfe4d, 0xfe99, 0xfe4d, 0xfe99, -0xfe4d, 0xfe99, 0xfee1, 0xfefc, 0xfee1, 0xfefc, 0xfecb, 0xfeb4, 0xfecb, 0xfeb4, 0xff0e, -0xfec6, 0xff0e, 0xfec6, 0xffe5, 0xff6d, 0xffe5, 0xff6d, 0x137, 0x8e, 0x137, 0x8e, -0x137, 0x8e, 0x169, 0x91, 0x169, 0x91, 0x4d, 0xff48, 0x4d, 0xff48, 0x171, -0x40, 0x171, 0x40, 0x297, 0x13e, 0x297, 0x13e, 0x304, 0x188, 0x304, 0x188, -0x4be, 0x322, 0x4be, 0x322, 0x4be, 0x322, 0x558, 0x3a1, 0x558, 0x3a1, 0x4e5, -0x31a, 0x4e5, 0x31a, 0x5f0, 0x416, 0x5f0, 0x416, 0x6c7, 0x4e6, 0x6c7, 0x4e6, -0x71e, 0x53d, 0x71e, 0x53d, 0x75c, 0x582, 0x75c, 0x582, 0x75c, 0x582, 0x838, -0x66e, 0x838, 0x66e, 0x6c0, 0x50c, 0x6c0, 0x50c, 0x646, 0x4b2, 0x646, 0x4b2, -0x599, 0x42a, 0x599, 0x42a, 0x47b, 0x339, 0x47b, 0x339, 0x47b, 0x339, 0x3d5, -0x2c5, 0x3d5, 0x2c5, 0x344, 0x26d, 0x344, 0x26d, 0x2b4, 0x218, 0x2b4, 0x218, -0xf6, 0x9a, 0xf6, 0x9a, 0xff75, 0xff59, 0xff75, 0xff59, 0xfe29, 0xfe50, 0xfe29, -0xfe50, 0xfe29, 0xfe50, 0xfd66, 0xfdcf, 0xfd66, 0xfdcf, 0xfbe9, 0xfc93, 0xfbe9, 0xfc93, -0xfa19, 0xfb02, 0xfa19, 0xfb02, 0xf871, 0xf996, 0xf871, 0xf996, 0xf85b, 0xf9b8, 0xf85b, -0xf9b8, 0xf839, 0xf9ca, 0xf839, 0xf9ca, 0xf839, 0xf9ca, 0xf71f, 0xf8df, 0xf71f, 0xf8df, -0xf4b1, 0xf69b, 0xf4b1, 0xf69b, 0xf301, 0xf510, 0xf301, 0xf510, 0xf24e, 0xf47c, 0xf24e, -0xf47c, 0xf18b, 0xf3d2, 0xf18b, 0xf3d2, 0xf18b, 0xf3d2, 0xf02b, 0xf286, 0xf02b, 0xf286, -0xef8f, 0xf1f9, 0xef8f, 0xf1f9, 0xed90, 0xf005, 0xed90, 0xf005, 0xec08, 0xee83, 0xec08, -0xee83, 0xed45, 0xefc2, 0xed45, 0xefc2, 0xec29, 0xeea4, 0xec29, 0xeea4, 0xec29, 0xeea4, -0xeb6e, 0xede3, 0xeb6e, 0xede3, 0xebd9, 0xee45, 0xebd9, 0xee45, 0xec2a, 0xee89, 0xec2a, -0xee89, 0xeca1, 0xeef1, 0xeca1, 0xeef1, 0xed4c, 0xef89, 0xed4c, 0xef89, 0xed4c, 0xef89, -0xec78, 0xee9f, 0xec78, 0xee9f, 0xed09, 0xef17, 0xed09, 0xef17, 0xed1b, 0xef0c, 0xed1b, -0xef0c, 0xed17, 0xeee8, 0xed17, 0xeee8, 0xee10, 0xefbe, 0xee10, 0xefbe, 0xedcc, 0xef54, -0xedcc, 0xef54, 0xedcc, 0xef54, 0xec95, 0xedf3, 0xec95, 0xedf3, 0xecc0, 0xedf2, 0xecc0, -0xedf2, 0xeda7, 0xeeaa, 0xeda7, 0xeeaa, 0xeee5, 0xefb6, 0xeee5, 0xefb6, 0xf295, 0xf334, -0xf295, 0xf334, 0xf2dc, 0xf346, 0xf2dc, 0xf346, 0xf2dc, 0xf346, 0xf3ae, 0xf3e5, 0xf3ae, -0xf3e5, 0xf5fe, 0xf601, 0xf5fe, 0xf601, 0xf629, 0xf5fb, 0xf629, 0xf5fb, 0xf6f7, 0xf69a, -0xf6f7, 0xf69a, 0xf8bc, 0xf834, 0xf8bc, 0xf834, 0xf8bc, 0xf834, 0xf91d, 0xf86e, 0xf91d, -0xf86e, 0xfae3, 0xfa14, 0xfae3, 0xfa14, 0xfd19, 0xfc2f, 0xfd19, 0xfc2f, 0xfe4f, 0xfd53, -0xfe4f, 0xfd53, 0xfe33, 0xfd2b, 0xfe33, 0xfd2b, 0xfe4d, 0xfd42, 0xfe4d, 0xfd42, 0xfe4d, -0xfd42, 0xfeb4, 0xfdae, 0xfeb4, 0xfdae, 0xfd26, 0xfc2d, 0xfd26, 0xfc2d, 0xfdb0, 0xfccb, -0xfdb0, 0xfccb, 0xfd35, 0xfc6c, 0xfd35, 0xfc6c, 0xfc1a, 0xfb73, 0xfc1a, 0xfb73, 0xfbb1, -0xfb32, 0xfbb1, 0xfb32, 0xfbb1, 0xfb32, 0xfa99, 0xfa46, 0xfa99, 0xfa46, 0xfa3d, 0xfa1a, -0xfa3d, 0xfa1a, 0xfa6a, 0xfa79, 0xfa6a, 0xfa79, 0xfa2d, 0xfa6e, 0xfa2d, 0xfa6e, 0xfb3a, -0xfbad, 0xfb3a, 0xfbad, 0xfb3a, 0xfbad, 0xfc0e, 0xfcb2, 0xfc0e, 0xfcb2, 0xfc04, 0xfcd5, -0xfc04, 0xfcd5, 0xfb2e, 0xfc2a, 0xfb2e, 0xfc2a, 0xf9f8, 0xfb19, 0xf9f8, 0xfb19, 0xf9b1, -0xfaf2, 0xf9b1, 0xfaf2, 0xfaa3, 0xfc00, 0xfaa3, 0xfc00, 0xfaa3, 0xfc00, 0xfa9f, 0xfc11, -0xfa9f, 0xfc11, 0xf961, 0xfae2, 0xf961, 0xfae2, 0xf902, 0xfa8e, 0xf902, 0xfa8e, 0xf890, -0xfa21, 0xf890, 0xfa21, 0xf90e, 0xfa9f, 0xf90e, 0xfa9f, 0xf92e, 0xfabb, 0xf92e, 0xfabb, -0xf92e, 0xfabb, 0xf9d5, 0xfb5c, 0xf9d5, 0xfb5c, 0xf8e5, 0xfa62, 0xf8e5, 0xfa62, 0xf9ee, -0xfb5d, 0xf9ee, 0xfb5d, 0xfc6c, 0xfdcd, 0xfc6c, 0xfdcd, 0xfcf2, 0xfe43, 0xfcf2, 0xfe43, -0xfcf2, 0xfe43, 0xfddb, 0xff1b, 0xfddb, 0xff1b, 0xfe15, 0xff42, 0xfe15, 0xff42, 0xfeea, -0x3, 0xfeea, 0x3, 0xc8, 0x1cd, 0xc8, 0x1cd, 0x1f7, 0x2e5, 0x1f7, 0x2e5, -0x253, 0x329, 0x253, 0x329, 0x253, 0x329, 0x250, 0x30c, 0x250, 0x30c, 0x1c7, -0x266, 0x1c7, 0x266, 0x1c1, 0x240, 0x1c1, 0x240, 0x14d, 0x1a9, 0x14d, 0x1a9, -0xf3, 0x128, 0xf3, 0x128, 0x6, 0x10, 0x6, 0x10, 0x6, 0x10, 0xa0, -0x7a, 0xa0, 0x7a, 0x129, 0xd0, 0x129, 0xd0, 0x138, 0xa8, 0x138, 0xa8, -0x2a2, 0x1d7, 0x2a2, 0x1d7, 0x339, 0x232, 0x339, 0x232, 0x339, 0x232, 0x48c, -0x346, 0x48c, 0x346, 0x7a9, 0x626, 0x7a9, 0x626, 0x94f, 0x78e, 0x94f, 0x78e, -0xafc, 0x8ff, 0xafc, 0x8ff, 0xd89, 0xb54, 0xd89, 0xb54, 0xe05, 0xb9c, 0xe05, -0xb9c, 0xe05, 0xb9c, 0x100d, 0xd78, 0x100d, 0xd78, 0x1277, 0xfbc, 0x1277, 0xfbc, -0x13b7, 0x10df, 0x13b7, 0x10df, 0x13f2, 0x1107, 0x13f2, 0x1107, 0x154f, 0x125a, 0x154f, -0x125a, 0x1555, 0x1261, 0x1555, 0x1261, 0x1555, 0x1261, 0x14e8, 0x11ff, 0x14e8, 0x11ff, -0x1557, 0x1284, 0x1557, 0x1284, 0x1355, 0x10a0, 0x1355, 0x10a0, 0x124e, 0xfc0, 0x124e, -0xfc0, 0x10f6, 0xe97, 0x10f6, 0xe97, 0x10f6, 0xe97, 0xfce, 0xda5, 0xfce, 0xda5, -0xf14, 0xd25, 0xf14, 0xd25, 0xcf1, 0xb3f, 0xcf1, 0xb3f, 0xba1, 0xa2e, 0xba1, -0xa2e, 0xa83, 0x94f, 0xa83, 0x94f, 0x9c3, 0x8cd, 0x9c3, 0x8cd, 0x9c3, 0x8cd, -0x8fc, 0x840, 0x8fc, 0x840, 0x724, 0x69f, 0x724, 0x69f, 0x5a8, 0x553, 0x5a8, -0x553, 0x2f0, 0x2c6, 0x2f0, 0x2c6, 0x12d, 0x127, 0x12d, 0x127, 0xfff6, 0xf, -0xfff6, 0xf, 0xfff6, 0xf, 0xfeb5, 0xfee5, 0xfeb5, 0xfee5, 0xfdb1, 0xfdf2, 0xfdb1, -0xfdf2, 0xfd49, 0xfd95, 0xfd49, 0xfd95, 0xfc99, 0xfcec, 0xfc99, 0xfcec, 0xfc4a, 0xfca0, -0xfc4a, 0xfca0, 0xfc4a, 0xfca0, 0xfc11, 0xfc65, 0xfc11, 0xfc65, 0xf9a0, 0xf9f2, 0xf9a0, -0xf9f2, 0xf9d8, 0xfa26, 0xf9d8, 0xfa26, 0xfa3a, 0xfa84, 0xfa3a, 0xfa84, 0xfae3, 0xfb29, -0xfae3, 0xfb29, 0xfb97, 0xfbda, 0xfb97, 0xfbda, 0xfb97, 0xfbda, 0xfb2d, 0xfb6f, 0xfb2d, -0xfb6f, 0xfb78, 0xfbba, 0xfb78, 0xfbba, 0xfbe0, 0xfc23, 0xfbe0, 0xfc23, 0xfc0f, 0xfc56, -0xfc0f, 0xfc56, 0xfb7b, 0xfbc5, 0xfb7b, 0xfbc5, 0xfafa, 0xfb48, 0xfafa, 0xfb48, 0xfafa, -0xfb48, 0xfac1, 0xfb12, 0xfac1, 0xfb12, 0xfa09, 0xfa5c, 0xfa09, 0xfa5c, 0xfa04, 0xfa56, -0xfa04, 0xfa56, 0xf915, 0xf963, 0xf915, 0xf963, 0xf74d, 0xf794, 0xf74d, 0xf794, 0xf74d, -0xf794, 0xf769, 0xf7a2, 0xf769, 0xf7a2, 0xf649, 0xf672, 0xf649, 0xf672, 0xf619, 0xf62c, -0xf619, 0xf62c, 0xf6b0, 0xf6a7, 0xf6b0, 0xf6a7, 0xf57c, 0xf554, 0xf57c, 0xf554, 0xf4ca, -0xf47e, 0xf4ca, 0xf47e, 0xf4ca, 0xf47e, 0xf51e, 0xf4ac, 0xf51e, 0xf4ac, 0xf4f8, 0xf45d, -0xf4f8, 0xf45d, 0xf5a8, 0xf4e4, 0xf5a8, 0xf4e4, 0xf745, 0xf659, 0xf745, 0xf659, 0xf925, -0xf813, 0xf925, 0xf813, 0xfaa5, 0xf971, 0xfaa5, 0xf971, 0xfaa5, 0xf971, 0xfcbf, 0xfb6e, -0xfcbf, 0xfb6e, 0xfdd3, 0xfc6d, 0xfdd3, 0xfc6d, 0xfd72, 0xfbff, 0xfd72, 0xfbff, 0x32, -0xfeba, 0x32, 0xfeba, 0x33, 0xfec0, 0x33, 0xfec0, 0x33, 0xfec0, 0xae, 0xff4a, -0xae, 0xff4a, 0x1da, 0x8f, 0x1da, 0x8f, 0xffef, 0xfec8, 0xffef, 0xfec8, 0xffee, -0xfef1, 0xffee, 0xfef1, 0xfeed, 0xfe24, 0xfeed, 0xfe24, 0xfe65, 0xfdd6, 0xfe65, 0xfdd6, -0xfe65, 0xfdd6, 0xffa5, 0xff54, 0xffa5, 0xff54, 0xfef9, 0xfeea, 0xfef9, 0xfeea, 0xfdfb, -0xfe2f, 0xfdfb, 0xfe2f, 0xfdd6, 0xfe4c, 0xfdd6, 0xfe4c, 0xfe11, 0xfec7, 0xfe11, 0xfec7, -0xfe11, 0xfec7, 0xfd62, 0xfe52, 0xfd62, 0xfe52, 0xfc4f, 0xfd73, 0xfc4f, 0xfd73, 0xfbbc, -0xfd0e, 0xfbbc, 0xfd0e, 0xfb96, 0xfd0c, 0xfb96, 0xfd0c, 0xfc9d, 0xfe2e, 0xfc9d, 0xfe2e, -0xfe3e, 0xffe0, 0xfe3e, 0xffe0, 0xfe3e, 0xffe0, 0xff11, 0xba, 0xff11, 0xba, 0xff29, -0xcf, 0xff29, 0xcf, 0xe, 0x1a8, 0xe, 0x1a8, 0xff54, 0xdb, 0xff54, 0xdb, -0xf1, 0x25c, 0xf1, 0x25c, 0x30b, 0x455, 0x30b, 0x455, 0x30b, 0x455, 0x2ec, -0x410, 0x2ec, 0x410, 0x3a8, 0x4a3, 0x3a8, 0x4a3, 0x349, 0x41a, 0x349, 0x41a, -0x425, 0x4cb, 0x425, 0x4cb, 0x573, 0x5ee, 0x573, 0x5ee, 0x573, 0x5ee, 0x639, -0x68c, 0x639, 0x68c, 0x806, 0x833, 0x806, 0x833, 0xa7f, 0xa88, 0xa7f, 0xa88, -0xc88, 0xc70, 0xc88, 0xc70, 0xeb9, 0xe83, 0xeb9, 0xe83, 0x107f, 0x102e, 0x107f, -0x102e, 0x107f, 0x102e, 0x1141, 0x10d7, 0x1141, 0x10d7, 0x1226, 0x11a3, 0x1226, 0x11a3, -0x130d, 0x1272, 0x130d, 0x1272, 0x11ff, 0x114c, 0x11ff, 0x114c, 0x118c, 0x10bf, 0x118c, -0x10bf, 0x1297, 0x11ae, 0x1297, 0x11ae, 0x1297, 0x11ae, 0x115c, 0x1055, 0x115c, 0x1055, -0x10fb, 0xfd3, 0x10fb, 0xfd3, 0x11b8, 0x106a, 0x11b8, 0x106a, 0x1103, 0xf8d, 0x1103, -0xf8d, 0x1182, 0xfe1, 0x1182, 0xfe1, 0x1182, 0xfe1, 0x121d, 0x1050, 0x121d, 0x1050, -0x10e9, 0xeed, 0x10e9, 0xeed, 0x10d4, 0xea9, 0x10d4, 0xea9, 0x111b, 0xec3, 0x111b, -0xec3, 0x1222, 0xfa0, 0x1222, 0xfa0, 0x13cc, 0x1124, 0x13cc, 0x1124, 0x13cc, 0x1124, -0x1626, 0x135e, 0x1626, 0x135e, 0x1771, 0x1491, 0x1771, 0x1491, 0x185b, 0x156c, 0x185b, -0x156c, 0x1a28, 0x1735, 0x1a28, 0x1735, 0x1910, 0x1624, 0x1910, 0x1624, 0x17c7, 0x14ee, -0x17c7, 0x14ee, 0x17c7, 0x14ee, 0x15d6, 0x131d, 0x15d6, 0x131d, 0x13f0, 0x1162, 0x13f0, -0x1162, 0x1312, 0x10bb, 0x1312, 0x10bb, 0x10ca, 0xeb6, 0x10ca, 0xeb6, 0xde6, 0xc1e, -0xde6, 0xc1e, 0xde6, 0xc1e, 0xba9, 0xa34, 0xba9, 0xa34, 0x986, 0x86b, 0x986, -0x86b, 0x6d1, 0x613, 0x6d1, 0x613, 0x5a5, 0x547, 0x5a5, 0x547, 0x451, 0x452, -0x451, 0x452, 0xd5, 0x132, 0xd5, 0x132, 0xd5, 0x132, 0xfec3, 0xff78, 0xfec3, -0xff78, 0xfcb3, 0xfdb9, 0xfcb3, 0xfdb9, 0xfab1, 0xfbff, 0xfab1, 0xfbff, 0xfab1, 0xfc3e, -0xfab1, 0xfc3e, 0xfa55, 0xfc17, 0xfa55, 0xfc17, 0xf967, 0xfb52, 0xf967, 0xfb52, 0xf967, -0xfb52, 0xf921, 0xfb2a, 0xf921, 0xfb2a, 0xf91a, 0xfb36, 0xf91a, 0xfb36, 0xf811, 0xfa34, -0xf811, 0xfa34, 0xf77c, 0xf99e, 0xf77c, 0xf99e, 0xf698, 0xf8b0, 0xf698, 0xf8b0, 0xf698, -0xf8b0, 0xf5a9, 0xf7ae, 0xf5a9, 0xf7ae, 0xf4bb, 0xf6a9, 0xf4bb, 0xf6a9, 0xf405, 0xf5d7, -0xf405, 0xf5d7, 0xf3bf, 0xf572, 0xf3bf, 0xf572, 0xf37b, 0xf50d, 0xf37b, 0xf50d, 0xf407, -0xf579, 0xf407, 0xf579, 0xf407, 0xf579, 0xf45a, 0xf5ab, 0xf45a, 0xf5ab, 0xf4f2, 0xf625, -0xf4f2, 0xf625, 0xf685, 0xf79c, 0xf685, 0xf79c, 0xf8ba, 0xf9b6, 0xf8ba, 0xf9b6, 0xfa8e, -0xfb71, 0xfa8e, 0xfb71, 0xfada, 0xfba8, 0xfada, 0xfba8, 0xfada, 0xfba8, 0xfb20, 0xfbd9, -0xfb20, 0xfbd9, 0xfc0c, 0xfcb0, 0xfc0c, 0xfcb0, 0xfb34, 0xfbc3, 0xfb34, 0xfbc3, 0xfc50, -0xfcc9, 0xfc50, 0xfcc9, 0xfe14, 0xfe74, 0xfe14, 0xfe74, 0xfe14, 0xfe74, 0xfd80, 0xfdc5, -0xfd80, 0xfdc5, 0xfe28, 0xfe4e, 0xfe28, 0xfe4e, 0xfeb2, 0xfeb6, 0xfeb2, 0xfeb6, 0xfe4c, -0xfe29, 0xfe4c, 0xfe29, 0xffa7, 0xff59, 0xffa7, 0xff59, 0x13e, 0xc1, 0x13e, 0xc1, -0x13e, 0xc1, 0x168, 0xba, 0x168, 0xba, 0x1c6, 0xe4, 0x1c6, 0xe4, 0x318, -0x202, 0x318, 0x202, 0x477, 0x32e, 0x477, 0x32e, 0x617, 0x49f, 0x617, 0x49f, -0x845, 0x6a1, 0x845, 0x6a1, 0x845, 0x6a1, 0x865, 0x69c, 0x865, 0x69c, 0xb1b, -0x934, 0xb1b, 0x934, 0xe5f, 0xc65, 0xe5f, 0xc65, 0xf65, 0xd62, 0xf65, 0xd62, -0x1086, 0xe87, 0x1086, 0xe87, 0x1086, 0xe87, 0xecb, 0xcdd, 0xecb, 0xcdd, 0xdf3, -0xc22, 0xdf3, 0xc22, 0xcf7, 0xb53, 0xcf7, 0xb53, 0xa65, 0x8f8, 0xa65, 0x8f8, -0x8e5, 0x7be, 0x8e5, 0x7be, 0x6af, 0x5d7, 0x6af, 0x5d7, 0x6af, 0x5d7, 0x47c, -0x3fc, 0x47c, 0x3fc, 0x211, 0x1f2, 0x211, 0x1f2, 0xffbe, 0x4, 0xffbe, 0x4, -0xfd37, 0xfde5, 0xfd37, 0xfde5, 0xf9b5, 0xfacb, 0xf9b5, 0xfacb, 0xf750, 0xf8cd, 0xf750, -0xf8cd, 0xf750, 0xf8cd, 0xf4f9, 0xf6d7, 0xf4f9, 0xf6d7, 0xf27c, 0xf4b5, 0xf27c, 0xf4b5, -0xf040, 0xf2cc, 0xf040, 0xf2cc, 0xee29, 0xf0ff, 0xee29, 0xf0ff, 0xeb2a, 0xee3e, 0xeb2a, -0xee3e, 0xeb2a, 0xee3e, 0xea32, 0xed78, 0xea32, 0xed78, 0xea14, 0xed81, 0xea14, 0xed81, -0xe872, 0xebf9, 0xe872, 0xebf9, 0xe7fe, 0xeb94, 0xe7fe, 0xeb94, 0xe5ec, 0xe985, 0xe5ec, -0xe985, 0xe40a, 0xe79c, 0xe40a, 0xe79c, 0xe40a, 0xe79c, 0xe2e6, 0xe669, 0xe2e6, 0xe669, -0xe226, 0xe592, 0xe226, 0xe592, 0xe248, 0xe598, 0xe248, 0xe598, 0xe240, 0xe56f, 0xe240, -0xe56f, 0xe39d, 0xe6a8, 0xe39d, 0xe6a8, 0xe4df, 0xe7c5, 0xe4df, 0xe7c5, 0xe4df, 0xe7c5, -0xe594, 0xe853, 0xe594, 0xe853, 0xe6fb, 0xe995, 0xe6fb, 0xe995, 0xe829, 0xea9d, 0xe829, -0xea9d, 0xe88b, 0xeadb, 0xe88b, 0xeadb, 0xe919, 0xeb47, 0xe919, 0xeb47, 0xe919, 0xeb47, -0xeacf, 0xecdb, 0xeacf, 0xecdb, 0xebcd, 0xedb8, 0xebcd, 0xedb8, 0xec29, 0xedf3, 0xec29, -0xedf3, 0xed6f, 0xef16, 0xed6f, 0xef16, 0xee20, 0xefa3, 0xee20, 0xefa3, 0xee96, 0xeff2, -0xee96, 0xeff2, 0xee96, 0xeff2, 0xf051, 0xf183, 0xf051, 0xf183, 0xf15c, 0xf260, 0xf15c, -0xf260, 0xf14c, 0xf21d, 0xf14c, 0xf21d, 0xf295, 0xf32d, 0xf295, 0xf32d, 0xf3d8, 0xf434, -0xf3d8, 0xf434, 0xf3d8, 0xf434, 0xf4b4, 0xf4cf, 0xf4b4, 0xf4cf, 0xf5e2, 0xf5b8, 0xf5e2, -0xf5b8, 0xf867, 0xf7f5, 0xf867, 0xf7f5, 0xfabc, 0xfa01, 0xfabc, 0xfa01, 0xfdd5, 0xfcd1, -0xfdd5, 0xfcd1, 0x176, 0x2a, 0x176, 0x2a, 0x176, 0x2a, 0x243, 0xb3, 0x243, -0xb3, 0x538, 0x369, 0x538, 0x369, 0x904, 0x6fd, 0x904, 0x6fd, 0xb40, 0x90a, -0xb40, 0x90a, 0xcc8, 0xa6d, 0xcc8, 0xa6d, 0xd58, 0xae4, 0xd58, 0xae4, 0xd58, -0xae4, 0xdb6, 0xb35, 0xdb6, 0xb35, 0xdf5, 0xb75, 0xdf5, 0xb75, 0xe76, 0xc04, -0xe76, 0xc04, 0xe0d, 0xbb7, 0xe0d, 0xbb7, 0xe30, 0xc02, 0xe30, 0xc02, 0xe30, -0xc02, 0xdef, 0xbf5, 0xdef, 0xbf5, 0xd70, 0xbb5, 0xd70, 0xbb5, 0xd91, 0xc1d, -0xd91, 0xc1d, 0xc20, 0xafb, 0xc20, 0xafb, 0xb06, 0xa36, 0xb06, 0xa36, 0x915, -0x89c, 0x915, 0x89c, 0x915, 0x89c, 0x723, 0x702, 0x723, 0x702, 0x61f, 0x654, -0x61f, 0x654, 0x536, 0x5be, 0x536, 0x5be, 0x416, 0x4ec, 0x416, 0x4ec, 0x180, -0x29c, 0x180, 0x29c, 0x1b, 0x177, 0x1b, 0x177, 0x1b, 0x177, 0xfde2, 0xff74, -0xfde2, 0xff74, 0xfb07, 0xfcc5, 0xfb07, 0xfcc5, 0xf98a, 0xfb6b, 0xf98a, 0xfb6b, 0xf844, -0xfa3d, 0xf844, 0xfa3d, 0xf697, 0xf8a1, 0xf697, 0xf8a1, 0xf697, 0xf8a1, 0xf4fb, 0xf70b, -0xf4fb, 0xf70b, 0xf45f, 0xf66e, 0xf45f, 0xf66e, 0xf348, 0xf54e, 0xf348, 0xf54e, 0xf368, -0xf560, 0xf368, 0xf560, 0xf42d, 0xf611, 0xf42d, 0xf611, 0xf47b, 0xf648, 0xf47b, 0xf648, -0xf47b, 0xf648, 0xf575, 0xf729, 0xf575, 0xf729, 0xf6a2, 0xf83b, 0xf6a2, 0xf83b, 0xf7a7, -0xf923, 0xf7a7, 0xf923, 0xf7a7, 0xf906, 0xf7a7, 0xf906, 0xf84d, 0xf98e, 0xf84d, 0xf98e, -0xf954, 0xfa77, 0xf954, 0xfa77, 0xf954, 0xfa77, 0xf93b, 0xfa40, 0xf93b, 0xfa40, 0xf973, -0xfa59, 0xf973, 0xfa59, 0xfae4, 0xfba8, 0xfae4, 0xfba8, 0xfb37, 0xfbd9, 0xfb37, 0xfbd9, -0xfbc3, 0xfc3f, 0xfbc3, 0xfc3f, 0xfbc3, 0xfc3f, 0xfe93, 0xfee7, 0xfe93, 0xfee7, 0xff79, -0xffa0, 0xff79, 0xffa0, 0x75, 0x6d, 0x75, 0x6d, 0x244, 0x207, 0x244, 0x207, -0x30d, 0x297, 0x30d, 0x297, 0x3c8, 0x314, 0x3c8, 0x314, 0x3c8, 0x314, 0x4c7, -0x3d3, 0x4c7, 0x3d3, 0x5bc, 0x484, 0x5bc, 0x484, 0x5d4, 0x456, 0x5d4, 0x456, -0x8b6, 0x6f1, 0x8b6, 0x6f1, 0xb7a, 0x96d, 0xb7a, 0x96d, 0xccb, 0xa7b, 0xccb, -0xa7b, 0xccb, 0xa7b, 0xf5d, 0xccc, 0xf5d, 0xccc, 0x10e3, 0xe16, 0x10e3, 0xe16, -0x11ad, 0xeac, 0x11ad, 0xeac, 0x114a, 0xe1d, 0x114a, 0xe1d, 0x10d2, 0xd83, 0x10d2, -0xd83, 0x10d2, 0xd83, 0x10b7, 0xd51, 0x10b7, 0xd51, 0x10cc, 0xd5b, 0x10cc, 0xd5b, -0x11b9, 0xe4a, 0x11b9, 0xe4a, 0x11f9, 0xe98, 0x11f9, 0xe98, 0x121d, 0xed8, 0x121d, -0xed8, 0x120f, 0xef1, 0x120f, 0xef1, 0x120f, 0xef1, 0x11ca, 0xedf, 0x11ca, 0xedf, -0x1207, 0xf5a, 0x1207, 0xf5a, 0x1175, 0xf0e, 0x1175, 0xf0e, 0x1018, 0xe00, 0x1018, -0xe00, 0xe87, 0xcc4, 0xe87, 0xcc4, 0xc27, 0xabc, 0xc27, 0xabc, 0xc27, 0xabc, -0xa70, 0x961, 0xa70, 0x961, 0x8e5, 0x831, 0x8e5, 0x831, 0x634, 0x5da, 0x634, -0x5da, 0x4a2, 0x49f, 0x4a2, 0x49f, 0x341, 0x391, 0x341, 0x391, 0x341, 0x391, -0xd5, 0x173, 0xd5, 0x173, 0xfe41, 0xff27, 0xfe41, 0xff27, 0xfbf5, 0xfd1b, 0xfbf5, -0xfd1b, 0xf991, 0xfaf1, 0xf991, 0xfaf1, 0xf6ae, 0xf840, 0xf6ae, 0xf840, 0xf495, 0xf652, -0xf495, 0xf652, 0xf495, 0xf652, 0xf312, 0xf4f3, 0xf312, 0xf4f3, 0xf183, 0xf381, 0xf183, -0xf381, 0xf0b5, 0xf2ca, 0xf0b5, 0xf2ca, 0xf0d3, 0xf2fb, 0xf0d3, 0xf2fb, 0xefb7, 0xf1ed, -0xefb7, 0xf1ed, 0xee72, 0xf0b3, 0xee72, 0xf0b3, 0xee72, 0xf0b3, 0xeeb1, 0xf0f9, 0xeeb1, -0xf0f9, 0xeea9, 0xf0f5, 0xeea9, 0xf0f5, 0xeebc, 0xf10a, 0xeebc, 0xf10a, 0xedd1, 0xf01f, -0xedd1, 0xf01f, 0xec69, 0xeeb5, 0xec69, 0xeeb5, 0xec69, 0xeeb5, 0xea84, 0xeccb, 0xea84, -0xeccb, 0xe95a, 0xeb9a, 0xe95a, 0xeb9a, 0xea5f, 0xec95, 0xea5f, 0xec95, 0xe963, 0xeb8c, -0xe963, 0xeb8c, 0xe99b, 0xebb3, 0xe99b, 0xebb3, 0xeaa4, 0xeca7, 0xeaa4, 0xeca7, 0xeaa4, -0xeca7, 0xea67, 0xec4f, 0xea67, 0xec4f, 0xebf2, 0xedba, 0xebf2, 0xedba, 0xedb3, 0xef56, -0xedb3, 0xef56, 0xef32, 0xf0aa, 0xef32, 0xf0aa, 0xf0c0, 0xf207, 0xf0c0, 0xf207, 0xf3b1, -0xf4c1, 0xf3b1, 0xf4c1, 0xf3b1, 0xf4c1, 0xf5c5, 0xf699, 0xf5c5, 0xf699, 0xf785, 0xf819, -0xf785, 0xf819, 0xfb9c, 0xfbec, 0xfb9c, 0xfbec, 0xfdfb, 0xfe04, 0xfdfb, 0xfe04, 0xffd9, -0xff99, 0xffd9, 0xff99, 0xffd9, 0xff99, 0x2e8, 0x25f, 0x2e8, 0x25f, 0x603, 0x532, -0x603, 0x532, 0x8d9, 0x7c2, 0x8d9, 0x7c2, 0xaa1, 0x948, 0xaa1, 0x948, 0xc09, -0xa72, 0xc09, 0xa72, 0xd60, 0xb92, 0xd60, 0xb92, 0xd60, 0xb92, 0xed5, 0xcd6, -0xed5, 0xcd6, 0x1043, 0xe1a, 0x1043, 0xe1a, 0x117c, 0xf33, 0x117c, 0xf33, 0x12ca, -0x1067, 0x12ca, 0x1067, 0x13dd, 0x116a, 0x13dd, 0x116a, 0x1582, 0x1306, 0x1582, 0x1306, -0x1582, 0x1306, 0x172f, 0x14b2, 0x172f, 0x14b2, 0x1811, 0x159b, 0x1811, 0x159b, 0x18ba, -0x164f, 0x18ba, 0x164f, 0x18a3, 0x164b, 0x18a3, 0x164b, 0x188b, 0x1648, 0x188b, 0x1648, -0x188b, 0x1648, 0x18d5, 0x16ac, 0x18d5, 0x16ac, 0x18cd, 0x16bf, 0x18cd, 0x16bf, 0x1807, -0x1616, 0x1807, 0x1616, 0x187f, 0x16aa, 0x187f, 0x16aa, 0x1990, 0x17d8, 0x1990, 0x17d8, -0x1889, 0x16ec, 0x1889, 0x16ec, 0x1889, 0x16ec, 0x182b, 0x16a8, 0x182b, 0x16a8, 0x1764, -0x15f8, 0x1764, 0x15f8, 0x155b, 0x1404, 0x155b, 0x1404, 0x1367, 0x1222, 0x1367, 0x1222, -0x10bb, 0xf86, 0x10bb, 0xf86, 0x10bb, 0xf86, 0xf01, 0xdda, 0xf01, 0xdda, 0xdc2, -0xca8, 0xdc2, 0xca8, 0xcdb, 0xbcb, 0xcdb, 0xbcb, 0xd12, 0xc0c, 0xd12, 0xc0c, -0xc75, 0xb79, 0xc75, 0xb79, 0xb6a, 0xa77, 0xb6a, 0xa77, 0xb6a, 0xa77, 0xbef, -0xb05, 0xbef, 0xb05, 0xbed, 0xb0d, 0xbed, 0xb0d, 0xb30, 0xa5a, 0xb30, 0xa5a, -0xac9, 0x9fc, 0xac9, 0x9fc, 0x8ad, 0x7ea, 0x8ad, 0x7ea, 0x6ec, 0x633, 0x6ec, -0x633, 0x6ec, 0x633, 0x6ba, 0x60c, 0x6ba, 0x60c, 0x595, 0x4f0, 0x595, 0x4f0, -0x339, 0x29b, 0x339, 0x29b, 0x18c, 0xf5, 0x18c, 0xf5, 0x8d, 0xfffa, 0x8d, -0xfffa, 0x8d, 0xfffa, 0xff60, 0xfece, 0xff60, 0xfece, 0xfff9, 0xff67, 0xfff9, 0xff67, -0x76, 0xffdf, 0x76, 0xffdf, 0xfe8c, 0xfdee, 0xfe8c, 0xfdee, 0xfdc3, 0xfd1c, 0xfdc3, -0xfd1c, 0xfea7, 0xfdf3, 0xfea7, 0xfdf3, 0xfea7, 0xfdf3, 0xff21, 0xfe5d, 0xff21, 0xfe5d, -0xa8, 0xffd3, 0xa8, 0xffd3, 0x220, 0x139, 0x220, 0x139, 0x1c9, 0xce, 0x1c9, -0xce, 0x25a, 0x14b, 0x25a, 0x14b, 0x34c, 0x22b, 0x34c, 0x22b, 0x34c, 0x22b, -0x43a, 0x308, 0x43a, 0x308, 0x571, 0x430, 0x571, 0x430, 0x626, 0x4da, 0x626, -0x4da, 0x6f6, 0x5a2, 0x6f6, 0x5a2, 0x77d, 0x625, 0x77d, 0x625, 0x77d, 0x625, -0x89a, 0x743, 0x89a, 0x743, 0x8f5, 0x7a4, 0x8f5, 0x7a4, 0x8c0, 0x779, 0x8c0, -0x779, 0x88a, 0x752, 0x88a, 0x752, 0x815, 0x6f0, 0x815, 0x6f0, 0x874, 0x767, -0x874, 0x767, 0x874, 0x767, 0x808, 0x716, 0x808, 0x716, 0x85b, 0x786, 0x85b, -0x786, 0x851, 0x79c, 0x851, 0x79c, 0x70c, 0x677, 0x70c, 0x677, 0x63f, 0x5cc, -0x63f, 0x5cc, 0x613, 0x5c0, 0x613, 0x5c0, 0x613, 0x5c0, 0x611, 0x5de, 0x611, -0x5de, 0x5ce, 0x5b9, 0x5ce, 0x5b9, 0x6d2, 0x6da, 0x6d2, 0x6da, 0x6cf, 0x6f2, -0x6cf, 0x6f2, 0x59e, 0x5d9, 0x59e, 0x5d9, 0x59e, 0x5d9, 0x3ee, 0x440, 0x3ee, -0x440, 0x2a8, 0x30d, 0x2a8, 0x30d, 0x1d9, 0x250, 0x1d9, 0x250, 0x6b, 0xf3, -0x6b, 0xf3, 0xff8c, 0x23, 0xff8c, 0x23, 0xfe06, 0xfeac, 0xfe06, 0xfeac, 0xfe06, -0xfeac, 0xfd9b, 0xfe4f, 0xfd9b, 0xfe4f, 0xfc41, 0xfd04, 0xfc41, 0xfd04, 0xfa51, 0xfb23, -0xfa51, 0xfb23, 0xf9b9, 0xfa9b, 0xf9b9, 0xfa9b, 0xf8d2, 0xf9c5, 0xf8d2, 0xf9c5, 0xfa22, -0xfb26, 0xfa22, 0xfb26, 0xfa22, 0xfb26, 0xfb4a, 0xfc60, 0xfb4a, 0xfc60, 0xfb10, 0xfc3a, -0xfb10, 0xfc3a, 0xfb34, 0xfc71, 0xfb34, 0xfc71, 0xfa6d, 0xfbbe, 0xfa6d, 0xfbbe, 0xf8c4, -0xfa27, 0xf8c4, 0xfa27, 0xf8c4, 0xfa27, 0xf8d7, 0xfa4c, 0xf8d7, 0xfa4c, 0xf80b, 0xf98f, -0xf80b, 0xf98f, 0xf65e, 0xf7ef, 0xf65e, 0xf7ef, 0xf726, 0xf8c1, 0xf726, 0xf8c1, 0xf652, -0xf7f3, 0xf652, 0xf7f3, 0xf5d4, 0xf777, 0xf5d4, 0xf777, 0xf5d4, 0xf777, 0xf609, 0xf7aa, -0xf609, 0xf7aa, 0xf4ea, 0xf686, 0xf4ea, 0xf686, 0xf37f, 0xf511, 0xf37f, 0xf511, 0xf2a9, -0xf42c, 0xf2a9, 0xf42c, 0xf3a8, 0xf519, 0xf3a8, 0xf519, 0xf355, 0xf4b2, 0xf355, 0xf4b2, -0xf355, 0xf4b2, 0xf44f, 0xf595, 0xf44f, 0xf595, 0xf55a, 0xf689, 0xf55a, 0xf689, 0xf4da, -0xf5f0, 0xf4da, 0xf5f0, 0xf6bd, 0xf7bc, 0xf6bd, 0xf7bc, 0xf825, 0xf90e, 0xf825, 0xf90e, -0xf825, 0xf90e, 0xf935, 0xfa0b, 0xf935, 0xfa0b, 0xf9a7, 0xfa6c, 0xf9a7, 0xfa6c, 0xf82c, -0xf8e5, 0xf82c, 0xf8e5, 0xf6f6, 0xf7a7, 0xf6f6, 0xf7a7, 0xf6d1, 0xf77f, 0xf6d1, 0xf77f, -0xf67e, 0xf72e, 0xf67e, 0xf72e, 0xf67e, 0xf72e, 0xf596, 0xf64c, 0xf596, 0xf64c, 0xf534, -0xf5f6, 0xf534, 0xf5f6, 0xf47d, 0xf54e, 0xf47d, 0xf54e, 0xf395, 0xf479, 0xf395, 0xf479, -0xf2b2, 0xf3ac, 0xf2b2, 0xf3ac, 0xf1f3, 0xf304, 0xf1f3, 0xf304, 0xf1f3, 0xf304, 0xf197, -0xf2c1, 0xf197, 0xf2c1, 0xf139, 0xf27c, 0xf139, 0xf27c, 0xf089, 0xf1e3, 0xf089, 0xf1e3, -0xf075, 0xf1e5, 0xf075, 0xf1e5, 0xf114, 0xf297, 0xf114, 0xf297, 0xf114, 0xf297, 0xf08e, -0xf222, 0xf08e, 0xf222, 0xf136, 0xf2d6, 0xf136, 0xf2d6, 0xf214, 0xf3be, 0xf214, 0xf3be, -0xf247, 0xf3f6, 0xf247, 0xf3f6, 0xf385, 0xf535, 0xf385, 0xf535, 0xf421, 0xf5d0, 0xf421, -0xf5d0, 0xf421, 0xf5d0, 0xf46d, 0xf617, 0xf46d, 0xf617, 0xf41a, 0xf5be, 0xf41a, 0xf5be, -0xf2f9, 0xf494, 0xf2f9, 0xf494, 0xf20c, 0xf39e, 0xf20c, 0xf39e, 0xf21c, 0xf3a6, 0xf21c, -0xf3a6, 0xf1a5, 0xf326, 0xf1a5, 0xf326, 0xf1a5, 0xf326, 0xf0f3, 0xf26e, 0xf0f3, 0xf26e, -0xf15d, 0xf2d3, 0xf15d, 0xf2d3, 0xf087, 0xf1fb, 0xf087, 0xf1fb, 0xef6b, 0xf0de, 0xef6b, -0xf0de, 0xef50, 0xf0c6, 0xef50, 0xf0c6, 0xef50, 0xf0c6, 0xf088, 0xf202, 0xf088, 0xf202, -0xf179, 0xf2f9, 0xf179, 0xf2f9, 0xf238, 0xf3c0, 0xf238, 0xf3c0, 0xf330, 0xf4bf, 0xf330, -0xf4bf, 0xf37b, 0xf511, 0xf37b, 0xf511, 0xf533, 0xf6ce, 0xf533, 0xf6ce, 0xf533, 0xf6ce, -0xf5a1, 0xf73f, 0xf5a1, 0xf73f, 0xf5bc, 0xf75b, 0xf5bc, 0xf75b, 0xf76c, 0xf906, 0xf76c, -0xf906, 0xf825, 0xf9b7, 0xf825, 0xf9b7, 0xf8f4, 0xfa77, 0xf8f4, 0xfa77, 0xf9c8, 0xfb37, -0xf9c8, 0xfb37, 0xf9c8, 0xfb37, 0xf90c, 0xfa61, 0xf90c, 0xfa61, 0xf84f, 0xf984, 0xf84f, -0xf984, 0xf965, 0xfa75, 0xf965, 0xfa75, 0xfa34, 0xfb1a, 0xfa34, 0xfb1a, 0xfb87, 0xfc3f, -0xfb87, 0xfc3f, 0xfb87, 0xfc3f, 0xfdd6, 0xfe5d, 0xfdd6, 0xfe5d, 0xfecf, 0xff23, 0xfecf, -0xff23, 0x68, 0x89, 0x68, 0x89, 0x337, 0x325, 0x337, 0x325, 0x51f, 0x4de, -0x51f, 0x4de, 0x733, 0x6c4, 0x733, 0x6c4, 0x733, 0x6c4, 0x975, 0x8dd, 0x975, -0x8dd, 0xa91, 0x9d6, 0xa91, 0x9d6, 0xc4d, 0xb75, 0xc4d, 0xb75, 0xd2c, 0xc3d, -0xd2c, 0xc3d, 0xb98, 0xa99, 0xb98, 0xa99, 0xb98, 0xa99, 0x9c3, 0x8ba, 0x9c3, -0x8ba, 0x966, 0x85a, 0x966, 0x85a, 0x92d, 0x823, 0x92d, 0x823, 0x845, 0x742, -0x845, 0x742, 0x808, 0x710, 0x808, 0x710, 0x721, 0x637, 0x721, 0x637, 0x721, -0x637, 0x5fa, 0x51e, 0x5fa, 0x51e, 0x530, 0x464, 0x530, 0x464, 0x4a3, 0x3e6, -0x4a3, 0x3e6, 0x405, 0x354, 0x405, 0x354, 0x2e1, 0x239, 0x2e1, 0x239, 0x1d9, -0x137, 0x1d9, 0x137, 0x1d9, 0x137, 0x172, 0xd2, 0x172, 0xd2, 0x22a, 0x187, -0x22a, 0x187, 0x258, 0x1ae, 0x258, 0x1ae, 0x292, 0x1dc, 0x292, 0x1dc, 0x2fc, -0x237, 0x2fc, 0x237, 0x2fc, 0x237, 0x3d7, 0x300, 0x3d7, 0x300, 0x516, 0x42c, -0x516, 0x42c, 0x45e, 0x360, 0x45e, 0x360, 0x3d1, 0x2be, 0x3d1, 0x2be, 0x462, -0x33c, 0x462, 0x33c, 0x482, 0x34c, 0x482, 0x34c, 0x482, 0x34c, 0x401, 0x2be, -0x401, 0x2be, 0x48e, 0x343, 0x48e, 0x343, 0x50d, 0x3bf, 0x50d, 0x3bf, 0x47d, -0x331, 0x47d, 0x331, 0x5aa, 0x466, 0x5aa, 0x466, 0x5e7, 0x4b0, 0x5e7, 0x4b0, -0x5e7, 0x4b0, 0x564, 0x43f, 0x564, 0x43f, 0x5ab, 0x49b, 0x5ab, 0x49b, 0x460, -0x36a, 0x460, 0x36a, 0x44d, 0x373, 0x44d, 0x373, 0x4d7, 0x41a, 0x4d7, 0x41a, -0x4d7, 0x41a, 0x3d3, 0x332, 0x3d3, 0x332, 0x26f, 0x1e8, 0x26f, 0x1e8, 0x138, -0xc9, 0x138, 0xc9, 0xaa, 0x4f, 0xaa, 0x4f, 0x4, 0xffb7, 0x4, 0xffb7, -0xffd2, 0xff8e, 0xffd2, 0xff8e, 0xffd2, 0xff8e, 0xff54, 0xff12, 0xff54, 0xff12, 0xfec1, -0xfe7c, 0xfec1, 0xfe7c, 0xff57, 0xff08, 0xff57, 0xff08, 0xffc2, 0xff63, 0xffc2, 0xff63, -0x3, 0xff8f, 0x3, 0xff8f, 0xa7, 0x1a, 0xa7, 0x1a, 0xa7, 0x1a, 0x193, -0xeb, 0x193, 0xeb, 0x32e, 0x268, 0x32e, 0x268, 0x54a, 0x468, 0x54a, 0x468, -0x5e3, 0x4e6, 0x5e3, 0x4e6, 0x6e9, 0x5d4, 0x6e9, 0x5d4, 0x6e9, 0x5d4, 0x885, -0x75e, 0x885, 0x75e, 0x893, 0x75e, 0x893, 0x75e, 0x9b5, 0x87b, 0x9b5, 0x87b, -0xa78, 0x93f, 0xa78, 0x93f, 0x90a, 0x7db, 0x90a, 0x7db, 0x868, 0x74a, 0x868, -0x74a, 0x868, 0x74a, 0x7fe, 0x6fa, 0x7fe, 0x6fa, 0x6a8, 0x5c5, 0x6a8, 0x5c5, -0x594, 0x4d9, 0x594, 0x4d9, 0x3b9, 0x32b, 0x3b9, 0x32b, 0x233, 0x1d6, 0x233, -0x1d6, 0x188, 0x15e, 0x188, 0x15e, 0x188, 0x15e, 0x155, 0x160, 0x155, 0x160, -0xd5, 0x113, 0xd5, 0x113, 0xfef9, 0xff69, 0xfef9, 0xff69, 0xfd50, 0xfded, 0xfd50, -0xfded, 0xfb4c, 0xfc12, 0xfb4c, 0xfc12, 0xfb4c, 0xfc12, 0xfa39, 0xfb22, 0xfa39, 0xfb22, -0xf98c, 0xfa91, 0xf98c, 0xfa91, 0xf878, 0xf993, 0xf878, 0xf993, 0xf688, 0xf7b2, 0xf688, -0xf7b2, 0xf4a2, 0xf5d4, 0xf4a2, 0xf5d4, 0xf4dd, 0xf611, 0xf4dd, 0xf611, 0xf4dd, 0xf611, -0xf476, 0xf5a6, 0xf476, 0xf5a6, 0xf3d6, 0xf4ff, 0xf3d6, 0xf4ff, 0xf33d, 0xf45b, 0xf33d, -0xf45b, 0xf323, 0xf434, 0xf323, 0xf434, 0xf369, 0xf46e, 0xf369, 0xf46e, 0xf416, 0xf50e, -0xf416, 0xf50e, 0xf416, 0xf50e, 0xf4b3, 0xf5a0, 0xf4b3, 0xf5a0, 0xf40a, 0xf4ef, 0xf40a, -0xf4ef, 0xf4a6, 0xf587, 0xf4a6, 0xf587, 0xf651, 0xf731, 0xf651, 0xf731, 0xf835, 0xf918, -0xf835, 0xf918, 0xf835, 0xf918, 0xf984, 0xfa6e, 0xf984, 0xfa6e, 0xfaf0, 0xfbe5, 0xfaf0, -0xfbe5, 0xfaec, 0xfbee, 0xfaec, 0xfbee, 0xfa5b, 0xfb6b, 0xfa5b, 0xfb6b, 0xfb44, 0xfc64, -0xfb44, 0xfc64, 0xfa1d, 0xfb4b, 0xfa1d, 0xfb4b, 0xfa1d, 0xfb4b, 0xf9a9, 0xfae2, 0xf9a9, -0xfae2, 0xfa86, 0xfbc6, 0xfa86, 0xfbc6, 0xf9bf, 0xfb03, 0xf9bf, 0xfb03, 0xf9e1, 0xfb21, -0xf9e1, 0xfb21, 0xfbcd, 0xfd01, 0xfbcd, 0xfd01, 0xfca6, 0xfdc8, 0xfca6, 0xfdc8, 0xfca6, -0xfdc8, 0xfd1f, 0xfe25, 0xfd1f, 0xfe25, 0xfed7, 0xffb8, 0xfed7, 0xffb8, 0xb6, 0x16c, -0xb6, 0x16c, 0x293, 0x314, 0x293, 0x314, 0x4ab, 0x4f2, 0x4ab, 0x4f2, 0x4ab, -0x4f2, 0x6a4, 0x6ab, 0x6a4, 0x6ab, 0x893, 0x856, 0x893, 0x856, 0xb01, 0xa7e, -0xb01, 0xa7e, 0xcf0, 0xc26, 0xcf0, 0xc26, 0xf1a, 0xe0c, 0xf1a, 0xe0c, 0x10e8, -0xf96, 0x10e8, 0xf96, 0x10e8, 0xf96, 0x11d9, 0x104a, 0x11d9, 0x104a, 0x1423, 0x125d, -0x1423, 0x125d, 0x14f2, 0x12fc, 0x14f2, 0x12fc, 0x1463, 0x1246, 0x1463, 0x1246, 0x1579, -0x133d, 0x1579, 0x133d, 0x1700, 0x14ae, 0x1700, 0x14ae, 0x1700, 0x14ae, 0x180c, 0x15ae, -0x180c, 0x15ae, 0x1821, 0x15bf, 0x1821, 0x15bf, 0x1774, 0x1516, 0x1774, 0x1516, 0x1606, -0x13b2, 0x1606, 0x13b2, 0x15a4, 0x1360, 0x15a4, 0x1360, 0x15a4, 0x1360, 0x158b, 0x135b, -0x158b, 0x135b, 0x13e1, 0x11c9, 0x13e1, 0x11c9, 0x13cc, 0x11cc, 0x13cc, 0x11cc, 0x12eb, -0x1103, 0x12eb, 0x1103, 0x1182, 0xfb0, 0x1182, 0xfb0, 0x1120, 0xf61, 0x1120, 0xf61, -0x1120, 0xf61, 0x1054, 0xea4, 0x1054, 0xea4, 0xeeb, 0xd47, 0xeeb, 0xd47, 0xc12, -0xa74, 0xc12, 0xa74, 0xb93, 0x9f8, 0xb93, 0x9f8, 0xbdc, 0xa40, 0xbdc, 0xa40, -0xacb, 0x929, 0xacb, 0x929, 0xacb, 0x929, 0x9ca, 0x820, 0x9ca, 0x820, 0x8fa, -0x747, 0x8fa, 0x747, 0x80f, 0x652, 0x80f, 0x652, 0x75a, 0x594, 0x75a, 0x594, -0x7e4, 0x617, 0x7e4, 0x617, 0x7e4, 0x617, 0x7b2, 0x5e2, 0x7b2, 0x5e2, 0x71d, -0x54e, 0x71d, 0x54e, 0x6d5, 0x50c, 0x6d5, 0x50c, 0x72b, 0x56f, 0x72b, 0x56f, -0x757, 0x5ad, 0x757, 0x5ad, 0x8e6, 0x754, 0x8e6, 0x754, 0x8e6, 0x754, 0x835, -0x6c2, 0x835, 0x6c2, 0x565, 0x417, 0x565, 0x417, 0x630, 0x50a, 0x630, 0x50a, -0x4df, 0x3e5, 0x4df, 0x3e5, 0x3b9, 0x2ed, 0x3b9, 0x2ed, 0x3b9, 0x2ed, 0x121, -0x84, 0x121, 0x84, 0xfec6, 0xfe56, 0xfec6, 0xfe56, 0xff4d, 0xff0a, 0xff4d, 0xff0a, -0xfd80, 0xfd65, 0xfd80, 0xfd65, 0xfe69, 0xfe70, 0xfe69, 0xfe70, 0xfde3, 0xfe07, 0xfde3, -0xfe07, 0xfde3, 0xfe07, 0xfd19, 0xfd53, 0xfd19, 0xfd53, 0xfdef, 0xfe38, 0xfdef, 0xfe38, -0xfd8f, 0xfddf, 0xfd8f, 0xfddf, 0xfe6e, 0xfebe, 0xfe6e, 0xfebe, 0xfee4, 0xff2c, 0xfee4, -0xff2c, 0x163, 0x19e, 0x163, 0x19e, 0x163, 0x19e, 0x39d, 0x3c6, 0x39d, 0x3c6, -0x43c, 0x44f, 0x43c, 0x44f, 0x53e, 0x537, 0x53e, 0x537, 0x6d8, 0x6b8, 0x6d8, -0x6b8, 0x7dc, 0x7a3, 0x7dc, 0x7a3, 0x7dc, 0x7a3, 0x74f, 0x6ff, 0x74f, 0x6ff, -0x846, 0x7e2, 0x846, 0x7e2, 0x717, 0x6a4, 0x717, 0x6a4, 0x55f, 0x4e2, 0x55f, -0x4e2, 0x531, 0x4b1, 0x531, 0x4b1, 0x3b1, 0x334, 0x3b1, 0x334, 0x3b1, 0x334, -0x38f, 0x31b, 0x38f, 0x31b, 0x36f, 0x30b, 0x36f, 0x30b, 0x225, 0x1d6, 0x225, -0x1d6, 0x1c9, 0x193, 0x1c9, 0x193, 0x3a3, 0x38b, 0x3a3, 0x38b, 0x426, 0x42e, -0x426, 0x42e, 0x426, 0x42e, 0x243, 0x26c, 0x243, 0x26c, 0x196, 0x1df, 0x196, -0x1df, 0x3b, 0xa3, 0x3b, 0xa3, 0xfed2, 0xff56, 0xfed2, 0xff56, 0xfed0, 0xff6c, -0xfed0, 0xff6c, 0xfed0, 0xff6c, 0xfee7, 0xff95, 0xfee7, 0xff95, 0xfdce, 0xfe8a, 0xfdce, -0xfe8a, 0xfc35, 0xfcf8, 0xfc35, 0xfcf8, 0xfc80, 0xfd45, 0xfc80, 0xfd45, 0xfcb6, 0xfd77, -0xfcb6, 0xfd77, 0xfb1f, 0xfbd6, 0xfb1f, 0xfbd6, 0xfb1f, 0xfbd6, 0xf9cf, 0xfa79, 0xf9cf, -0xfa79, 0xf96e, 0xfa08, 0xf96e, 0xfa08, 0xf8b6, 0xf93e, 0xf8b6, 0xf93e, 0xf86b, 0xf8e0, -0xf86b, 0xf8e0, 0xf89a, 0xf8fc, 0xf89a, 0xf8fc, 0xf82b, 0xf87c, 0xf82b, 0xf87c, 0xf82b, -0xf87c, 0xf7a7, 0xf7ea, 0xf7a7, 0xf7ea, 0xf8b8, 0xf8f1, 0xf8b8, 0xf8f1, 0xfa18, 0xfa4d, -0xfa18, 0xfa4d, 0xfa3d, 0xfa72, 0xfa3d, 0xfa72, 0xfb8e, 0xfbca, 0xfb8e, 0xfbca, 0xfb8e, -0xfbca, 0xfb6b, 0xfbb3, 0xfb6b, 0xfbb3, 0xfa4f, 0xfaa9, 0xfa4f, 0xfaa9, 0xfb0b, 0xfb7b, -0xfb0b, 0xfb7b, 0xfa23, 0xfaaf, 0xfa23, 0xfaaf, 0xf887, 0xf931, 0xf887, 0xf931, 0xf6fa, -0xf7c4, 0xf6fa, 0xf7c4, 0xf6fa, 0xf7c4, 0xf481, 0xf56c, 0xf481, 0xf56c, 0xf227, 0xf332, -0xf227, 0xf332, 0xefe7, 0xf112, 0xefe7, 0xf112, 0xee2d, 0xef73, 0xee2d, 0xef73, 0xeccf, -0xee2e, 0xeccf, 0xee2e, 0xeabe, 0xec30, 0xeabe, 0xec30, 0xeabe, 0xec30, 0xea00, 0xeb81, -0xea00, 0xeb81, 0xea1c, 0xeba5, 0xea1c, 0xeba5, 0xe898, 0xea24, 0xe898, 0xea24, 0xe8ed, -0xea78, 0xe8ed, 0xea78, 0xe9ad, 0xeb32, 0xe9ad, 0xeb32, 0xe9ad, 0xeb32, 0xe9ad, 0xeb28, -0xe9ad, 0xeb28, 0xeb30, 0xec9e, 0xeb30, 0xec9e, 0xecd7, 0xee37, 0xecd7, 0xee37, 0xef68, -0xf0b9, 0xef68, 0xf0b9, 0xf155, 0xf298, 0xf155, 0xf298, 0xf282, 0xf3b9, 0xf282, 0xf3b9, -0xf282, 0xf3b9, 0xf3f9, 0xf527, 0xf3f9, 0xf527, 0xf3fa, 0xf522, 0xf3fa, 0xf522, 0xf323, -0xf44b, 0xf323, 0xf44b, 0xf2f4, 0xf420, 0xf2f4, 0xf420, 0xf2de, 0xf413, 0xf2de, 0xf413, -0xf219, 0xf35d, 0xf219, 0xf35d, 0xf219, 0xf35d, 0xf186, 0xf2dc, 0xf186, 0xf2dc, 0xf11d, -0xf28a, 0xf11d, 0xf28a, 0xf1e0, 0xf367, 0xf1e0, 0xf367, 0xf373, 0xf517, 0xf373, 0xf517, -0xf3eb, 0xf5ab, 0xf3eb, 0xf5ab, 0xf3eb, 0xf5ab, 0xf40b, 0xf5e7, 0xf40b, 0xf5e7, 0xf49a, -0xf68f, 0xf49a, 0xf68f, 0xf399, 0xf5a4, 0xf399, 0xf5a4, 0xf1e7, 0xf402, 0xf1e7, 0xf402, -0xf216, 0xf43d, 0xf216, 0xf43d, 0xf22e, 0xf459, 0xf22e, 0xf459, 0xf22e, 0xf459, 0xf1ac, -0xf3d5, 0xf1ac, 0xf3d5, 0xf18b, 0xf3a9, 0xf18b, 0xf3a9, 0xf31e, 0xf529, 0xf31e, 0xf529, -0xf4e7, 0xf6d8, 0xf4e7, 0xf6d8, 0xf529, 0xf6f9, 0xf529, 0xf6f9, 0xf590, 0xf739, 0xf590, -0xf739, 0xf590, 0xf739, 0xf62f, 0xf7ad, 0xf62f, 0xf7ad, 0xf735, 0xf882, 0xf735, 0xf882, -0xf829, 0xf944, 0xf829, 0xf944, 0xf8db, 0xf9c5, 0xf8db, 0xf9c5, 0xf8fc, 0xf9b3, 0xf8fc, -0xf9b3, 0xf8fc, 0xf9b3, 0xf91c, 0xf9a3, 0xf91c, 0xf9a3, 0xfba0, 0xfbfa, 0xfba0, 0xfbfa, -0xfe93, 0xfec3, 0xfe93, 0xfec3, 0x1f, 0x2c, 0x1f, 0x2c, 0x2b9, 0x2a8, 0x2b9, -0x2a8, 0x4db, 0x4b1, 0x4db, 0x4b1, 0x4db, 0x4b1, 0x6ed, 0x6b1, 0x6ed, 0x6b1, -0x9cc, 0x983, 0x9cc, 0x983, 0x9d4, 0x983, 0x9d4, 0x983, 0x981, 0x92e, 0x981, -0x92e, 0x9a7, 0x954, 0x9a7, 0x954, 0x991, 0x940, 0x991, 0x940, 0x991, 0x940, -0x98b, 0x93f, 0x98b, 0x93f, 0x96d, 0x926, 0x96d, 0x926, 0x91f, 0x8dc, 0x91f, -0x8dc, 0x6cf, 0x68f, 0x6cf, 0x68f, 0x51e, 0x4df, 0x51e, 0x4df, 0x51e, 0x4df, -0x4c5, 0x485, 0x4c5, 0x485, 0x42f, 0x3ea, 0x42f, 0x3ea, 0x358, 0x30c, 0x358, -0x30c, 0x278, 0x221, 0x278, 0x221, 0x289, 0x226, 0x289, 0x226, 0x2e0, 0x26e, -0x2e0, 0x26e, 0x2e0, 0x26e, 0x366, 0x2e6, 0x366, 0x2e6, 0x4f8, 0x46a, 0x4f8, -0x46a, 0x555, 0x4b9, 0x555, 0x4b9, 0x55b, 0x4b4, 0x55b, 0x4b4, 0x6a7, 0x5f8, -0x6a7, 0x5f8, 0x715, 0x662, 0x715, 0x662, 0x715, 0x662, 0x7ae, 0x6fb, 0x7ae, -0x6fb, 0x6c6, 0x61a, 0x6c6, 0x61a, 0x4e4, 0x443, 0x4e4, 0x443, 0x4e3, 0x452, -0x4e3, 0x452, 0x491, 0x416, 0x491, 0x416, 0x491, 0x416, 0x35b, 0x2fa, 0x35b, -0x2fa, 0x207, 0x1c5, 0x207, 0x1c5, 0x1b2, 0x18f, 0x1b2, 0x18f, 0x204, 0x203, -0x204, 0x203, 0x109, 0x12a, 0x109, 0x12a, 0x3f, 0x7f, 0x3f, 0x7f, 0x3f, -0x7f, 0x76, 0xd4, 0x76, 0xd4, 0x72, 0xe8, 0x72, 0xe8, 0x94, 0x11d, -0x94, 0x11d, 0x71, 0x107, 0x71, 0x107, 0x14d, 0x1e8, 0x14d, 0x1e8, 0x14d, -0x1e8, 0x155, 0x1ec, 0x155, 0x1ec, 0x3a, 0xc6, 0x3a, 0xc6, 0x6d, 0xe4, -0x6d, 0xe4, 0x90, 0xeb, 0x90, 0xeb, 0xf8, 0x130, 0xf8, 0x130, 0x7, -0x15, 0x7, 0x15, 0x7, 0x15, 0xff3b, 0xff1a, 0xff3b, 0xff1a, 0xff1a, 0xfec7, -0xff1a, 0xfec7, 0xfe2f, 0xfda6, 0xfe2f, 0xfda6, 0xfd30, 0xfc72, 0xfd30, 0xfc72, 0xfc37, -0xfb44, 0xfc37, 0xfb44, 0xfc7e, 0xfb58, 0xfc7e, 0xfb58, 0xfc7e, 0xfb58, 0xfd7b, 0xfc25, -0xfd7b, 0xfc25, 0xfefe, 0xfd7e, 0xfefe, 0xfd7e, 0xc6, 0xff21, 0xc6, 0xff21, 0x350, -0x18d, 0x350, 0x18d, 0x4a0, 0x2c5, 0x4a0, 0x2c5, 0x4a0, 0x2c5, 0x5c3, 0x3d9, -0x5c3, 0x3d9, 0x858, 0x665, 0x858, 0x665, 0x8f6, 0x701, 0x8f6, 0x701, 0x8b6, -0x6c6, 0x8b6, 0x6c6, 0x85f, 0x67a, 0x85f, 0x67a, 0x85c, 0x686, 0x85c, 0x686, -0x85c, 0x686, 0x8ef, 0x72c, 0x8ef, 0x72c, 0x8e9, 0x73d, 0x8e9, 0x73d, 0x83a, -0x6a7, 0x83a, 0x6a7, 0x752, 0x5da, 0x752, 0x5da, 0x733, 0x5d6, 0x733, 0x5d6, -0x732, 0x5f2, 0x732, 0x5f2, 0x732, 0x5f2, 0x62b, 0x507, 0x62b, 0x507, 0x50d, -0x405, 0x50d, 0x405, 0x3ae, 0x2c2, 0x3ae, 0x2c2, 0x36b, 0x29c, 0x36b, 0x29c, -0x44c, 0x39a, 0x44c, 0x39a, 0x44c, 0x39a, 0x3c8, 0x334, 0x3c8, 0x334, 0x40c, -0x397, 0x40c, 0x397, 0x4ac, 0x459, 0x4ac, 0x459, 0x44c, 0x41e, 0x44c, 0x41e, -0x3f5, 0x3ef, 0x3f5, 0x3ef, 0x3d5, 0x3fb, 0x3d5, 0x3fb, 0x3d5, 0x3fb, 0x32e, -0x384, 0x32e, 0x384, 0x1d7, 0x261, 0x1d7, 0x261, 0xff0e, 0xffd1, 0xff0e, 0xffd1, -0xfc9d, 0xfd9b, 0xfc9d, 0xfd9b, 0xfb9a, 0xfcd7, 0xfb9a, 0xfcd7, 0xf884, 0xfa02, 0xf884, -0xfa02, 0xf884, 0xfa02, 0xf61f, 0xf7e0, 0xf61f, 0xf7e0, 0xf405, 0xf608, 0xf405, 0xf608, -0xf29a, 0xf4de, 0xf29a, 0xf4de, 0xf140, 0xf3c1, 0xf140, 0xf3c1, 0xeee2, 0xf19c, 0xeee2, -0xf19c, 0xeee2, 0xf19c, 0xef1b, 0xf209, 0xef1b, 0xf209, 0xed40, 0xf05a, 0xed40, 0xf05a, -0xeb51, 0xee8d, 0xeb51, 0xee8d, 0xec21, 0xef76, 0xec21, 0xef76, 0xed0b, 0xf06e, 0xed0b, -0xf06e, 0xecf8, 0xf05d, 0xecf8, 0xf05d, 0xecf8, 0xf05d, 0xedce, 0xf12a, 0xedce, 0xf12a, -0xf0c0, 0xf406, 0xf0c0, 0xf406, 0xf138, 0xf45e, 0xf138, 0xf45e, 0xf1fc, 0xf4f6, 0xf1fc, -0xf4f6, 0xf3a6, 0xf66a, 0xf3a6, 0xf66a, 0xf335, 0xf5bb, 0xf335, 0xf5bb, 0xf335, 0xf5bb, -0xf331, 0xf571, 0xf331, 0xf571, 0xf33c, 0xf530, 0xf33c, 0xf530, 0xf406, 0xf5aa, 0xf406, -0xf5aa, 0xf5dd, 0xf72d, 0xf5dd, 0xf72d, 0xf730, 0xf82b, 0xf730, 0xf82b, 0xf730, 0xf82b, -0xf997, 0xfa3d, 0xf997, 0xfa3d, 0xfd18, 0xfd6b, 0xfd18, 0xfd6b, 0xca, 0xcd, 0xca, -0xcd, 0x2ae, 0x264, 0x2ae, 0x264, 0x4fe, 0x46c, 0x4fe, 0x46c, 0x8f1, 0x81c, -0x8f1, 0x81c, 0x8f1, 0x81c, 0xac7, 0x9b3, 0xac7, 0x9b3, 0xc6c, 0xb1f, 0xc6c, -0xb1f, 0xe5c, 0xcdb, 0xe5c, 0xcdb, 0x107b, 0xeca, 0x107b, 0xeca, 0x1208, 0x102b, -0x1208, 0x102b, 0x135e, 0x1158, 0x135e, 0x1158, 0x135e, 0x1158, 0x1599, 0x136c, 0x1599, -0x136c, 0x16fe, 0x14ad, 0x16fe, 0x14ad, 0x17d3, 0x155e, 0x17d3, 0x155e, 0x188b, 0x15f3, -0x188b, 0x15f3, 0x1aa9, 0x17ef, 0x1aa9, 0x17ef, 0x1aa9, 0x17ef, 0x1b5b, 0x187e, 0x1b5b, -0x187e, 0x1b11, 0x1813, 0x1b11, 0x1813, 0x1c2b, 0x190d, 0x1c2b, 0x190d, 0x1cfe, 0x19c1, -0x1cfe, 0x19c1, 0x1ed8, 0x1b7e, 0x1ed8, 0x1b7e, 0x1f78, 0x1c03, 0x1f78, 0x1c03, 0x1f78, -0x1c03, 0x1f8a, 0x1bff, 0x1f8a, 0x1bff, 0x20a3, 0x1d06, 0x20a3, 0x1d06, 0x20ac, 0x1d04, -0x20ac, 0x1d04, 0x2186, 0x1dda, 0x2186, 0x1dda, 0x2110, 0x1d67, 0x2110, 0x1d67, 0x1f18, -0x1b7c, 0x1f18, 0x1b7c, 0x1f18, 0x1b7c, 0x1d64, 0x19de, 0x1d64, 0x19de, 0x1b15, 0x17ae, -0x1b15, 0x17ae, 0x1a62, 0x1725, 0x1a62, 0x1725, 0x1901, 0x15f7, 0x1901, 0x15f7, 0x167c, -0x13ad, 0x167c, 0x13ad, 0x167c, 0x13ad, 0x13e0, 0x1154, 0x13e0, 0x1154, 0x1226, 0xfe5, -0x1226, 0xfe5, 0x10f8, 0xf07, 0x10f8, 0xf07, 0xf1c, 0xd7e, 0xf1c, 0xd7e, 0xdc0, -0xc77, 0xdc0, 0xc77, 0xa6a, 0x976, 0xa6a, 0x976, 0xa6a, 0x976, 0x7d5, 0x735, -0x7d5, 0x735, 0x574, 0x523, 0x574, 0x523, 0x3c2, 0x3bb, 0x3c2, 0x3bb, 0x21b, -0x257, 0x21b, 0x257, 0xfdfc, 0xfe74, 0xfdfc, 0xfe74, 0xfcde, 0xfd87, 0xfcde, 0xfd87, -0xfcde, 0xfd87, 0xfcb9, 0xfd8a, 0xfcb9, 0xfd8a, 0xfc2b, 0xfd1b, 0xfc2b, 0xfd1b, 0xfa63, -0xfb66, 0xfa63, 0xfb66, 0xf88c, 0xf99a, 0xf88c, 0xf99a, 0xf79e, 0xf8ad, 0xf79e, 0xf8ad, -0xf79e, 0xf8ad, 0xf57e, 0xf685, 0xf57e, 0xf685, 0xf3b8, 0xf4b0, 0xf3b8, 0xf4b0, 0xf266, -0xf34b, 0xf266, 0xf34b, 0xf262, 0xf32e, 0xf262, 0xf32e, 0xf289, 0xf339, 0xf289, 0xf339, -0xf374, 0xf407, 0xf374, 0xf407, 0xf374, 0xf407, 0xf4d1, 0xf546, 0xf4d1, 0xf546, 0xf658, -0xf6b0, 0xf658, 0xf6b0, 0xf86d, 0xf8a9, 0xf86d, 0xf8a9, 0xf9d3, 0xf9f6, 0xf9d3, 0xf9f6, -0xfbf3, 0xfbff, 0xfbf3, 0xfbff, 0xfde9, 0xfde0, 0xfde9, 0xfde0, 0xfde9, 0xfde0, 0xfe5b, -0xfe40, 0xfe5b, 0xfe40, 0xfce7, 0xfcbc, 0xfce7, 0xfcbc, 0xfd5d, 0xfd23, 0xfd5d, 0xfd23, -0xff64, 0xff1c, 0xff64, 0xff1c, 0xff51, 0xfefb, 0xff51, 0xfefb, 0xff51, 0xfefb, 0xffb7, -0xff52, 0xffb7, 0xff52, 0xffb5, 0xff3f, 0xffb5, 0xff3f, 0xffc0, 0xff37, 0xffc0, 0xff37, -0x90, 0xfff1, 0x90, 0xfff1, 0x196, 0xdd, 0x196, 0xdd, 0x230, 0x15a, 0x230, -0x15a, 0x230, 0x15a, 0xf6, 0, 0xf6, 0, 0x165, 0x4d, 0x165, 0x4d, -0x2ed, 0x1b1, 0x2ed, 0x1b1, 0x5df, 0x47e, 0x5df, 0x47e, 0x86c, 0x6e7, 0x86c, -0x6e7, 0x86c, 0x6e7, 0x8ba, 0x713, 0x8ba, 0x713, 0xa22, 0x85d, 0xa22, 0x85d, -0xb0e, 0x930, 0xb0e, 0x930, 0xdf7, 0xc07, 0xdf7, 0xc07, 0xf50, 0xd56, 0xf50, -0xd56, 0xca2, 0xaa9, 0xca2, 0xaa9, 0xca2, 0xaa9, 0xb31, 0x942, 0xb31, 0x942, -0xaaa, 0x8d1, 0xaaa, 0x8d1, 0x9f1, 0x839, 0x9f1, 0x839, 0x7c4, 0x639, 0x7c4, -0x639, 0x5bd, 0x469, 0x5bd, 0x469, 0x476, 0x364, 0x476, 0x364, 0x476, 0x364, -0x394, 0x2cc, 0x394, 0x2cc, 0x2ec, 0x275, 0x2ec, 0x275, 0x277, 0x256, 0x277, -0x256, 0x11b, 0x152, 0x11b, 0x152, 0xfec9, 0xff5a, 0xfec9, 0xff5a, 0xfec9, 0xff5a, -0xfe5a, 0xff41, 0xfe5a, 0xff41, 0xfd39, 0xfe73, 0xfd39, 0xfe73, 0xfbea, 0xfd70, 0xfbea, -0xfd70, 0xfaed, 0xfcb7, 0xfaed, 0xfcb7, 0xf704, 0xf909, 0xf704, 0xf909, 0xf4a8, 0xf6db, -0xf4a8, 0xf6db, 0xf4a8, 0xf6db, 0xf589, 0xf7df, 0xf589, 0xf7df, 0xf439, 0xf6a6, 0xf439, -0xf6a6, 0xf275, 0xf4ec, 0xf275, 0xf4ec, 0xf0b6, 0xf32d, 0xf0b6, 0xf32d, 0xeed9, 0xf145, -0xeed9, 0xf145, 0xee6a, 0xf0c2, 0xee6a, 0xf0c2, 0xee6a, 0xf0c2, 0xece0, 0xef1c, 0xece0, -0xef1c, 0xebc9, 0xede2, 0xebc9, 0xede2, 0xea12, 0xec06, 0xea12, 0xec06, 0xe961, 0xeb2e, -0xe961, 0xeb2e, 0xea66, 0xec0b, 0xea66, 0xec0b, 0xea66, 0xec0b, 0xeabc, 0xec3b, 0xeabc, -0xec3b, 0xeb49, 0xeca5, 0xeb49, 0xeca5, 0xeac2, 0xebff, 0xeac2, 0xebff, 0xec3d, 0xed60, -0xec3d, 0xed60, 0xee26, 0xef35, 0xee26, 0xef35, 0xef0e, 0xf00e, 0xef0e, 0xf00e, 0xef0e, -0xf00e, 0xef5a, 0xf050, 0xef5a, 0xf050, 0xed8b, 0xee7b, 0xed8b, 0xee7b, 0xee7e, 0xef6b, -0xee7e, 0xef6b, 0xefed, 0xf0d9, 0xefed, 0xf0d9, 0xefcd, 0xf0b8, 0xefcd, 0xf0b8, 0xef94, -0xf07d, 0xef94, 0xf07d, 0xef94, 0xf07d, 0xeef7, 0xefdb, 0xeef7, 0xefdb, 0xf03e, 0xf119, -0xf03e, 0xf119, 0xf134, 0xf201, 0xf134, 0xf201, 0xf27e, 0xf337, 0xf27e, 0xf337, 0xf352, -0xf3f2, 0xf352, 0xf3f2, 0xf352, 0xf3f2, 0xf274, 0xf2f3, 0xf274, 0xf2f3, 0xf4fe, 0xf557, -0xf4fe, 0xf557, 0xf931, 0xf95d, 0xf931, 0xf95d, 0xfb52, 0xfb4e, 0xfb52, 0xfb4e, 0xfd0b, -0xfcd5, 0xfd0b, 0xfcd5, 0xff58, 0xfeed, 0xff58, 0xfeed, 0xff58, 0xfeed, 0x32, 0xff95, -0x32, 0xff95, 0x1c6, 0xfa, 0x1c6, 0xfa, 0x382, 0x28d, 0x382, 0x28d, 0x339, -0x223, 0x339, 0x223, 0x1d0, 0xa1, 0x1d0, 0xa1, 0xff6c, 0xfe30, 0xff6c, 0xfe30, -0xff6c, 0xfe30, 0xffb3, 0xfe76, 0xffb3, 0xfe76, 0xff98, 0xfe67, 0xff98, 0xfe67, 0xfd6a, -0xfc52, 0xfd6a, 0xfc52, 0xfba1, 0xfaae, 0xfba1, 0xfaae, 0xfa99, 0xf9d8, 0xfa99, 0xf9d8, -0xfa99, 0xf9d8, 0xfb32, 0xfaad, 0xfb32, 0xfaad, 0xfbd9, 0xfb99, 0xfbd9, 0xfb99, 0xfb73, -0xfb7f, 0xfb73, 0xfb7f, 0xf9cf, 0xfa2a, 0xf9cf, 0xfa2a, 0xf8f6, 0xf9a2, 0xf8f6, 0xf9a2, -0xf8a5, 0xf9a1, 0xf8a5, 0xf9a1, 0xf8a5, 0xf9a1, 0xf7c4, 0xf90b, 0xf7c4, 0xf90b, 0xf68c, -0xf818, 0xf68c, 0xf818, 0xf539, 0xf701, 0xf539, 0xf701, 0xf3ca, 0xf5c4, 0xf3ca, 0xf5c4, -0xf3d3, 0xf5f2, 0xf3d3, 0xf5f2, 0xf4ef, 0xf727, 0xf4ef, 0xf727, 0xf4ef, 0xf727, 0xf3e0, -0xf623, 0xf3e0, 0xf623, 0xf299, 0xf4da, 0xf299, 0xf4da, 0xf146, 0xf378, 0xf146, 0xf378, -0xf13c, 0xf354, 0xf13c, 0xf354, 0xf143, 0xf338, 0xf143, 0xf338, 0xf143, 0xf338, 0xf0f3, -0xf2be, 0xf0f3, 0xf2be, 0xf15f, 0xf2fa, 0xf15f, 0xf2fa, 0xf007, 0xf16f, 0xf007, 0xf16f, -0xf110, 0xf245, 0xf110, 0xf245, 0xf21e, 0xf322, 0xf21e, 0xf322, 0xf325, 0xf3fb, 0xf325, -0xf3fb, 0xf325, 0xf3fb, 0xf5d8, 0xf687, 0xf5d8, 0xf687, 0xf6d5, 0xf764, 0xf6d5, 0xf764, -0xf93f, 0xf9b5, 0xf93f, 0xf9b5, 0xfae2, 0xfb47, 0xfae2, 0xfb47, 0xfbc4, 0xfc20, 0xfbc4, -0xfc20, 0xfd1b, 0xfd75, 0xfd1b, 0xfd75, 0xfd1b, 0xfd75, 0xfce7, 0xfd44, 0xfce7, 0xfd44, -0xfd23, 0xfd89, 0xfd23, 0xfd89, 0xfcf2, 0xfd63, 0xfcf2, 0xfd63, 0xfd6d, 0xfde9, 0xfd6d, -0xfde9, 0xfd71, 0xfdf7, 0xfd71, 0xfdf7, 0xfd71, 0xfdf7, 0xfcc8, 0xfd54, 0xfcc8, 0xfd54, -0xfd4b, 0xfdd8, 0xfd4b, 0xfdd8, 0xfcf3, 0xfd7a, 0xfcf3, 0xfd7a, 0xfd8b, 0xfe03, 0xfd8b, -0xfe03, 0xfe18, 0xfe78, 0xfe18, 0xfe78, 0xfeb6, 0xfef5, 0xfeb6, 0xfef5, 0xfeb6, 0xfef5, -0x46, 0x5b, 0x46, 0x5b, 0x246, 0x229, 0x246, 0x229, 0x58f, 0x539, 0x58f, -0x539, 0x850, 0x7bd, 0x850, 0x7bd, 0xb67, 0xa94, 0xb67, 0xa94, 0xe46, 0xd34, -0xe46, 0xd34, 0xe46, 0xd34, 0x10ba, 0xf6a, 0x10ba, 0xf6a, 0x1324, 0x119d, 0x1324, -0x119d, 0x14b4, 0x12fe, 0x14b4, 0x12fe, 0x165f, 0x1484, 0x165f, 0x1484, 0x16cd, 0x14da, -0x16cd, 0x14da, 0x16cd, 0x14da, 0x1613, 0x1416, 0x1613, 0x1416, 0x155a, 0x1363, 0x155a, -0x1363, 0x1449, 0x1267, 0x1449, 0x1267, 0x134d, 0x118f, 0x134d, 0x118f, 0x11d5, 0x104b, -0x11d5, 0x104b, 0xf9e, 0xe54, 0xf9e, 0xe54, 0xf9e, 0xe54, 0xdd8, 0xcda, 0xdd8, -0xcda, 0xc22, 0xb78, 0xc22, 0xb78, 0xa53, 0xa03, 0xa53, 0xa03, 0x8e9, 0x8f5, -0x8e9, 0x8f5, 0x7a0, 0x808, 0x7a0, 0x808, 0x616, 0x6d7, 0x616, 0x6d7, 0x616, -0x6d7, 0x486, 0x599, 0x486, 0x599, 0x33a, 0x494, 0x33a, 0x494, 0x219, 0x3b1, -0x219, 0x3b1, 0xd9, 0x29f, 0xd9, 0x29f, 0xffc8, 0x1af, 0xffc8, 0x1af, 0xffc8, -0x1af, 0xff41, 0x139, 0xff41, 0x139, 0xfdf0, 0xffea, 0xfdf0, 0xffea, 0xfca6, 0xfe95, -0xfca6, 0xfe95, 0xfb5c, 0xfd33, 0xfb5c, 0xfd33, 0xf9d2, 0xfb86, 0xf9d2, 0xfb86, 0xf8ad, -0xfa35, 0xf8ad, 0xfa35, 0xf8ad, 0xfa35, 0xf78d, 0xf8e3, 0xf78d, 0xf8e3, 0xf6c2, 0xf7e2, -0xf6c2, 0xf7e2, 0xf687, 0xf772, 0xf687, 0xf772, 0xf79d, 0xf854, 0xf79d, 0xf854, 0xf874, -0xf8fb, 0xf874, 0xf8fb, 0xf874, 0xf8fb, 0xf993, 0xf9f0, 0xf993, 0xf9f0, 0xfad2, 0xfb0e, -0xfad2, 0xfb0e, 0xfbc0, 0xfbe2, 0xfbc0, 0xfbe2, 0xfd6b, 0xfd7b, 0xfd6b, 0xfd7b, 0xfdf7, -0xfe00, 0xfdf7, 0xfe00, 0xfe4d, 0xfe55, 0xfe4d, 0xfe55, 0xfe4d, 0xfe55, 0xfe24, 0xfe32, -0xfe24, 0xfe32, 0xfdce, 0xfde8, 0xfdce, 0xfde8, 0xfd55, 0xfd7d, 0xfd55, 0xfd7d, 0xfc8d, -0xfcc3, 0xfc8d, 0xfcc3, 0xfcc2, 0xfd05, 0xfcc2, 0xfd05, 0xfc23, 0xfc6f, 0xfc23, 0xfc6f, -0xfc23, 0xfc6f, 0xfb55, 0xfba4, 0xfb55, 0xfba4, 0xfaf6, 0xfb40, 0xfaf6, 0xfb40, 0xfb20, -0xfb5e, 0xfb20, 0xfb5e, 0xfb6d, 0xfb94, 0xfb6d, 0xfb94, 0xfb66, 0xfb6c, 0xfb66, 0xfb6c, -0xfb66, 0xfb6c, 0xfbdd, 0xfbba, 0xfbdd, 0xfbba, 0xfc44, 0xfbf0, 0xfc44, 0xfbf0, 0xfd8c, -0xfd00, 0xfd8c, 0xfd00, 0xff0a, 0xfe41, 0xff0a, 0xfe41, 0xf6, 0xffef, 0xf6, 0xffef, -0x338, 0x1f4, 0x338, 0x1f4, 0x338, 0x1f4, 0x489, 0x30c, 0x489, 0x30c, 0x6ff, -0x54f, 0x6ff, 0x54f, 0x8d4, 0x6fc, 0x8d4, 0x6fc, 0xa14, 0x820, 0xa14, 0x820, -0xb51, 0x94f, 0xb51, 0x94f, 0xaed, 0x8ee, 0xaed, 0x8ee, 0xaed, 0x8ee, 0xa7f, -0x894, 0xa7f, 0x894, 0x953, 0x78e, 0x953, 0x78e, 0x7df, 0x650, 0x7df, 0x650, -0x660, 0x517, 0x660, 0x517, 0x4e1, 0x3eb, 0x4e1, 0x3eb, 0x4e1, 0x3eb, 0x393, -0x2fd, 0x393, 0x2fd, 0x1e5, 0x1b6, 0x1e5, 0x1b6, 0xf2, 0x12f, 0xf2, 0x12f, -0xff5f, 0xa, 0xff5f, 0xa, 0xfdcc, 0xfee4, 0xfdcc, 0xfee4, 0xfcea, 0xfe67, 0xfcea, -0xfe67, 0xfcea, 0xfe67, 0xfbbf, 0xfd99, 0xfbbf, 0xfd99, 0xfa80, 0xfcaa, 0xfa80, 0xfcaa, -0xf98e, 0xfbf8, 0xf98e, 0xfbf8, 0xf94b, 0xfbe5, 0xf94b, 0xfbe5, 0xf924, 0xfbdb, 0xf924, -0xfbdb, 0xf965, 0xfc25, 0xf965, 0xfc25, 0xf965, 0xfc25, 0xf9a6, 0xfc5d, 0xf9a6, 0xfc5d, -0xf9ab, 0xfc46, 0xf9ab, 0xfc46, 0xf9ca, 0xfc38, 0xf9ca, 0xfc38, 0xfa21, 0xfc54, 0xfa21, -0xfc54, 0xfa7f, 0xfc6b, 0xfa7f, 0xfc6b, 0xfa7f, 0xfc6b, 0xfa89, 0xfc24, 0xfa89, 0xfc24, -0xfadb, 0xfc1f, 0xfadb, 0xfc1f, 0xfb42, 0xfc2c, 0xfb42, 0xfc2c, 0xfc5b, 0xfceb, 0xfc5b, -0xfceb, 0xfdee, 0xfe26, 0xfdee, 0xfe26, 0xffae, 0xff93, 0xffae, 0xff93, 0xffae, 0xff93, -0x1fd, 0x196, 0x1fd, 0x196, 0x42e, 0x383, 0x42e, 0x383, 0x68f, 0x5a8, 0x68f, -0x5a8, 0x8a3, 0x78b, 0x8a3, 0x78b, 0xac5, 0x984, 0xac5, 0x984, 0xc90, 0xb2e, -0xc90, 0xb2e, 0xc90, 0xb2e, 0xdb5, 0xc39, 0xdb5, 0xc39, 0xea9, 0xd17, 0xea9, -0xd17, 0xefa, 0xd57, 0xefa, 0xd57, 0xfa5, 0xdf1, 0xfa5, 0xdf1, 0xfc5, 0xdfe, -0xfc5, 0xdfe, 0xfc5, 0xdfe, 0xfe8, 0xe0d, 0xfe8, 0xe0d, 0x1014, 0xe1f, 0x1014, -0xe1f, 0x1056, 0xe43, 0x1056, 0xe43, 0x117f, 0xf48, 0x117f, 0xf48, 0x1219, 0xfb7, -0x1219, 0xfb7, 0x1309, 0x1077, 0x1309, 0x1077, 0x1309, 0x1077, 0x13f6, 0x112e, 0x13f6, -0x112e, 0x1520, 0x1220, 0x1520, 0x1220, 0x1668, 0x132e, 0x1668, 0x132e, 0x17d5, 0x1461, -0x17d5, 0x1461, 0x1995, 0x15eb, 0x1995, 0x15eb, 0x1aaa, 0x16d1, 0x1aaa, 0x16d1, 0x1aaa, -0x16d1, 0x1c41, 0x1842, 0x1c41, 0x1842, 0x1d70, 0x1956, 0x1d70, 0x1956, 0x1e61, 0x1a39, -0x1e61, 0x1a39, 0x1ecf, 0x1aaa, 0x1ecf, 0x1aaa, 0x1eaf, 0x1a9e, 0x1eaf, 0x1a9e, 0x1eaf, -0x1a9e, 0x1e48, 0x1a5d, 0x1e48, 0x1a5d, 0x1cad, 0x18fa, 0x1cad, 0x18fa, 0x1b02, 0x1799, -0x1b02, 0x1799, 0x1909, 0x15fa, 0x1909, 0x15fa, 0x1683, 0x13dc, 0x1683, 0x13dc, 0x13ef, -0x11bd, 0x13ef, 0x11bd, 0x13ef, 0x11bd, 0x1123, 0xf6f, 0x1123, 0xf6f, 0xdd7, 0xca8, -0xdd7, 0xca8, 0xb1f, 0xa78, 0xb1f, 0xa78, 0x8b7, 0x897, 0x8b7, 0x897, 0x612, -0x675, 0x612, 0x675, 0x34e, 0x42d, 0x34e, 0x42d, 0x34e, 0x42d, 0x98, 0x1e9, -0x98, 0x1e9, 0xfeec, 0xa2, 0xfeec, 0xa2, 0xfccc, 0xfed9, 0xfccc, 0xfed9, 0xfae7, -0xfd3b, 0xfae7, 0xfd3b, 0xf9f0, 0xfc7b, 0xf9f0, 0xfc7b, 0xf9f0, 0xfc7b, 0xf8d4, 0xfb85, -0xf8d4, 0xfb85, 0xf7ad, 0xfa74, 0xf7ad, 0xfa74, 0xf69c, 0xf96b, 0xf69c, 0xf96b, 0xf5b7, -0xf880, 0xf5b7, 0xf880, 0xf4b9, 0xf771, 0xf4b9, 0xf771, 0xf3cc, 0xf669, 0xf3cc, 0xf669, -0xf3cc, 0xf669, 0xf29d, 0xf51a, 0xf29d, 0xf51a, 0xf1b3, 0xf40b, 0xf1b3, 0xf40b, 0xf13b, -0xf36c, 0xf13b, 0xf36c, 0xf129, 0xf334, 0xf129, 0xf334, 0xf168, 0xf34e, 0xf168, 0xf34e, -0xf194, 0xf35a, 0xf194, 0xf35a, 0xf194, 0xf35a, 0xf24f, 0xf3f8, 0xf24f, 0xf3f8, 0xf309, -0xf49a, 0xf309, 0xf49a, 0xf3c8, 0xf546, 0xf3c8, 0xf546, 0xf4b2, 0xf620, 0xf4b2, 0xf620, -0xf58e, 0xf6f0, 0xf58e, 0xf6f0, 0xf58e, 0xf6f0, 0xf6ae, 0xf805, 0xf6ae, 0xf805, 0xf79c, -0xf8e8, 0xf79c, 0xf8e8, 0xf80d, 0xf94c, 0xf80d, 0xf94c, 0xf848, 0xf977, 0xf848, 0xf977, -0xf8a4, 0xf9be, 0xf8a4, 0xf9be, 0xf87c, 0xf97a, 0xf87c, 0xf97a, 0xf87c, 0xf97a, 0xf81a, -0xf8f4, 0xf81a, 0xf8f4, 0xf8a8, 0xf955, 0xf8a8, 0xf955, 0xf945, 0xf9bd, 0xf945, 0xf9bd, -0xf9e1, 0xfa1c, 0xf9e1, 0xfa1c, 0xfb52, 0xfb47, 0xfb52, 0xfb47, 0xfd14, 0xfcbb, 0xfd14, -0xfcbb, 0xfd14, 0xfcbb, 0xfea5, 0xfdfa, 0xfea5, 0xfdfa, 0x56, 0xff55, 0x56, 0xff55, -0x210, 0xba, 0x210, 0xba, 0x3c7, 0x21c, 0x3c7, 0x21c, 0x56a, 0x370, 0x56a, -0x370, 0x56a, 0x370, 0x673, 0x430, 0x673, 0x430, 0x7ee, 0x56e, 0x7ee, 0x56e, -0x936, 0x685, 0x936, 0x685, 0xa10, 0x73c, 0xa10, 0x73c, 0xb23, 0x83d, 0xb23, -0x83d, 0xb56, 0x86e, 0xb56, 0x86e, 0xb56, 0x86e, 0xb24, 0x84c, 0xb24, 0x84c, -0xad0, 0x81a, 0xad0, 0x81a, 0xa57, 0x7d4, 0xa57, 0x7d4, 0x97e, 0x73e, 0x97e, -0x73e, 0x872, 0x683, 0x872, 0x683, 0x872, 0x683, 0x71d, 0x58c, 0x71d, 0x58c, -0x513, 0x3e8, 0x513, 0x3e8, 0x33a, 0x27d, 0x33a, 0x27d, 0x137, 0xeb, 0x137, -0xeb, 0xfe80, 0xfea8, 0xfe80, 0xfea8, 0xfbf3, 0xfc8c, 0xfbf3, 0xfc8c, 0xfbf3, 0xfc8c, -0xf91d, 0xfa22, 0xf91d, 0xfa22, 0xf60b, 0xf778, 0xf60b, 0xf778, 0xf3d2, 0xf59d, 0xf3d2, -0xf59d, 0xf14c, 0xf36d, 0xf14c, 0xf36d, 0xef9b, 0xf206, 0xef9b, 0xf206, 0xee44, 0xf0ee, -0xee44, 0xf0ee, 0xee44, 0xf0ee, 0xec93, 0xef70, 0xec93, 0xef70, 0xeb96, 0xee9b, 0xeb96, -0xee9b, 0xe9ff, 0xed22, 0xe9ff, 0xed22, 0xe8d2, 0xec09, 0xe8d2, 0xec09, 0xe7cf, 0xeb12, -0xe7cf, 0xeb12, 0xe7cf, 0xeb12, 0xe6db, 0xea22, 0xe6db, 0xea22, 0xe640, 0xe986, 0xe640, -0xe986, 0xe61e, 0xe95f, 0xe61e, 0xe95f, 0xe69c, 0xe9d3, 0xe69c, 0xe9d3, 0xe6f7, 0xea22, -0xe6f7, 0xea22, 0xe793, 0xeab1, 0xe793, 0xeab1, 0xe793, 0xeab1, 0xe82a, 0xeb38, 0xe82a, -0xeb38, 0xe91a, 0xec18, 0xe91a, 0xec18, 0xe9d4, 0xecc0, 0xe9d4, 0xecc0, 0xea67, 0xed3f, -0xea67, 0xed3f, 0xeaef, 0xedb0, 0xeaef, 0xedb0, 0xeb50, 0xedf8, 0xeb50, 0xedf8, 0xeb50, -0xedf8, 0xec12, 0xee9c, 0xec12, 0xee9c, 0xec74, 0xeedc, 0xec74, 0xeedc, 0xecea, 0xef28, -0xecea, 0xef28, 0xedb3, 0xefc2, 0xedb3, 0xefc2, 0xedfe, 0xefd6, 0xedfe, 0xefd6, 0xedfe, -0xefd6, 0xee5a, 0xeff3, 0xee5a, 0xeff3, 0xef5e, 0xf0b1, 0xef5e, 0xf0b1, 0xf063, 0xf169, -0xf063, 0xf169, 0xf162, 0xf213, 0xf162, 0xf213, 0xf2b4, 0xf30b, 0xf2b4, 0xf30b, 0xf4a6, -0xf49f, 0xf4a6, 0xf49f, 0xf4a6, 0xf49f, 0xf6b7, 0xf64e, 0xf6b7, 0xf64e, 0xf987, 0xf8bc, -0xf987, 0xf8bc, 0xfcb3, 0xfb88, 0xfcb3, 0xfb88, 0xffac, 0xfe23, 0xffac, 0xfe23, 0x30a, -0x129, 0x30a, 0x129, 0x5e2, 0x3af, 0x5e2, 0x3af, 0x5e2, 0x3af, 0x8a4, 0x62a, -0x8a4, 0x62a, 0xa94, 0x7de, 0xa94, 0x7de, 0xc34, 0x94d, 0xc34, 0x94d, 0xdb8, -0xaaf, 0xdb8, 0xaaf, 0xea5, 0xb87, 0xea5, 0xb87, 0xea5, 0xb87, 0xfb6, 0xc91, -0xfb6, 0xc91, 0x103b, 0xd1d, 0x103b, 0xd1d, 0x1098, 0xd8f, 0x1098, 0xd8f, 0x10e2, -0xdfa, 0x10e2, 0xdfa, 0x10e2, 0xe26, 0x10e2, 0xe26, 0x10d9, 0xe53, 0x10d9, 0xe53, -0x10d9, 0xe53, 0x1119, 0xed0, 0x1119, 0xed0, 0x10c8, 0xec1, 0x10c8, 0xec1, 0x107d, -0xebd, 0x107d, 0xebd, 0xfed, 0xe75, 0xfed, 0xe75, 0xe17, 0xce7, 0xe17, 0xce7, -0xcd1, 0xbe7, 0xcd1, 0xbe7, 0xcd1, 0xbe7, 0xb77, 0xace, 0xb77, 0xace, 0x9c6, -0x95b, 0x9c6, 0x95b, 0x8a1, 0x86d, 0x8a1, 0x86d, 0x739, 0x736, 0x739, 0x736, -0x56c, 0x593, 0x56c, 0x593, 0x56c, 0x593, 0x3ca, 0x414, 0x3ca, 0x414, 0x1d9, -0x23f, 0x1d9, 0x23f, 0xffd4, 0x4e, 0xffd4, 0x4e, 0xfdd9, 0xfe62, 0xfdd9, 0xfe62, -0xfbfc, 0xfc90, 0xfbfc, 0xfc90, 0xfaae, 0xfb46, 0xfaae, 0xfb46, 0xfaae, 0xfb46, 0xf971, -0xfa0c, 0xf971, 0xfa0c, 0xf874, 0xf90d, 0xf874, 0xf90d, 0xf7d2, 0xf868, 0xf7d2, 0xf868, -0xf760, 0xf7f2, 0xf760, 0xf7f2, 0xf6ec, 0xf779, 0xf6ec, 0xf779, 0xf704, 0xf78d, 0xf704, -0xf78d, 0xf704, 0xf78d, 0xf754, 0xf7d9, 0xf754, 0xf7d9, 0xf7ab, 0xf82d, 0xf7ab, 0xf82d, -0xf7b2, 0xf830, 0xf7b2, 0xf830, 0xf746, 0xf7c3, 0xf746, 0xf7c3, 0xf733, 0xf7ae, 0xf733, -0xf7ae, 0xf733, 0xf7ae, 0xf6d3, 0xf74d, 0xf6d3, 0xf74d, 0xf6a2, 0xf71c, 0xf6a2, 0xf71c, -0xf6aa, 0xf723, 0xf6aa, 0xf723, 0xf71b, 0xf794, 0xf71b, 0xf794, 0xf765, 0xf7dd, 0xf765, -0xf7dd, 0xf77a, 0xf7f1, 0xf77a, 0xf7f1, 0xf77a, 0xf7f1, 0xf82d, 0xf8a2, 0xf82d, 0xf8a2, -0xf8ca, 0xf93f, 0xf8ca, 0xf93f, 0xf935, 0xf9a9, 0xf935, 0xf9a9, 0xf994, 0xfa08, 0xf994, -0xfa08, 0xfa8c, 0xfb01, 0xfa8c, 0xfb01, 0xfb6a, 0xfbe1, 0xfb6a, 0xfbe1, 0xfb6a, 0xfbe1, -0xfc05, 0xfc81, 0xfc05, 0xfc81, 0xfcb2, 0xfd35, 0xfcb2, 0xfd35, 0xfcf5, 0xfd81, 0xfcf5, -0xfd81, 0xfcda, 0xfd73, 0xfcda, 0xfd73, 0xfcb9, 0xfd63, 0xfcb9, 0xfd63, 0xfcb9, 0xfd63, -0xfc44, 0xfd01, 0xfc44, 0xfd01, 0xfb58, 0xfc2d, 0xfb58, 0xfc2d, 0xfa51, 0xfb41, 0xfa51, -0xfb41, 0xf8f9, 0xfa07, 0xf8f9, 0xfa07, 0xf7ce, 0xf8fd, 0xf7ce, 0xf8fd, 0xf60c, 0xf75e, -0xf60c, 0xf75e, 0xf60c, 0xf75e, 0xf501, 0xf677, 0xf501, 0xf677, 0xf51c, 0xf6b7, 0xf51c, -0xf6b7, 0xf4cd, 0xf68e, 0xf4cd, 0xf68e, 0xf4df, 0xf6c3, 0xf4df, 0xf6c3, 0xf46b, 0xf671, -0xf46b, 0xf671, 0xf44f, 0xf675, 0xf44f, 0xf675, 0xf44f, 0xf675, 0xf49d, 0xf6de, 0xf49d, -0xf6de, 0xf448, 0xf6a2, 0xf448, 0xf6a2, 0xf459, 0xf6c5, 0xf459, 0xf6c5, 0xf3fa, 0xf675, -0xf3fa, 0xf675, 0xf3bc, 0xf63f, 0xf3bc, 0xf63f, 0xf3bc, 0xf63f, 0xf35c, 0xf5e3, 0xf35c, -0xf5e3, 0xf28f, 0xf513, 0xf28f, 0xf513, 0xf256, 0xf4d3, 0xf256, 0xf4d3, 0xf1b6, 0xf427, -0xf1b6, 0xf427, 0xf150, 0xf3b1, 0xf150, 0xf3b1, 0xf132, 0xf37f, 0xf132, 0xf37f, 0xf132, -0xf37f, 0xf145, 0xf37c, 0xf145, 0xf37c, 0xf1b9, 0xf3d8, 0xf1b9, 0xf3d8, 0xf201, 0xf405, -0xf201, 0xf405, 0xf249, 0xf433, 0xf249, 0xf433, 0xf26d, 0xf43c, 0xf26d, 0xf43c, 0xf29c, -0xf452, 0xf29c, 0xf452, 0xf29c, 0xf452, 0xf248, 0xf3e5, 0xf248, 0xf3e5, 0xf215, 0xf39c, -0xf215, 0xf39c, 0xf1ed, 0xf35f, 0xf1ed, 0xf35f, 0xf189, 0xf2ea, 0xf189, 0xf2ea, 0xf15a, -0xf2ad, 0xf15a, 0xf2ad, 0xf15a, 0xf2ad, 0xf133, 0xf279, 0xf133, 0xf279, 0xf19b, 0xf2d9, -0xf19b, 0xf2d9, 0xf181, 0xf2b9, 0xf181, 0xf2b9, 0xf1a6, 0xf2dc, 0xf1a6, 0xf2dc, 0xf1dc, -0xf312, 0xf1dc, 0xf312, 0xf17f, 0xf2b9, 0xf17f, 0xf2b9, 0xf17f, 0xf2b9, 0xf12b, 0xf26b, -0xf12b, 0xf26b, 0xf0c3, 0xf20d, 0xf0c3, 0xf20d, 0xf0bb, 0xf210, 0xf0bb, 0xf210, 0xf02b, -0xf18d, 0xf02b, 0xf18d, 0xefcf, 0xf142, 0xefcf, 0xf142, 0xefcf, 0xf142, 0xef5d, 0xf0e2, -0xef5d, 0xf0e2, 0xeebb, 0xf054, 0xeebb, 0xf054, 0xeec7, 0xf075, 0xeec7, 0xf075, 0xee77, -0xf03d, 0xee77, 0xf03d, 0xee06, 0xefe3, 0xee06, 0xefe3, 0xed94, 0xef89, 0xed94, 0xef89, -0xed94, 0xef89, 0xed36, 0xef44, 0xed36, 0xef44, 0xecca, 0xeef1, 0xecca, 0xeef1, 0xecd4, -0xef13, 0xecd4, 0xef13, 0xecd4, 0xef2a, 0xecd4, 0xef2a, 0xebfe, 0xee68, 0xebfe, 0xee68, -0xec20, 0xee9c, 0xec20, 0xee9c, 0xec20, 0xee9c, 0xec59, 0xeee5, 0xec59, 0xeee5, 0xec41, -0xeed8, 0xec41, 0xeed8, 0xecab, 0xef49, 0xecab, 0xef49, 0xec85, 0xef24, 0xec85, 0xef24, -0xeca5, 0xef42, 0xeca5, 0xef42, 0xeca5, 0xef42, 0xecca, 0xef5f, 0xecca, 0xef5f, 0xecda, -0xef61, 0xecda, 0xef61, 0xed08, 0xef7d, 0xed08, 0xef7d, 0xecfa, 0xef56, 0xecfa, 0xef56, -0xedc0, 0xf000, 0xedc0, 0xf000, 0xee02, 0xf022, 0xee02, 0xf022, 0xee02, 0xf022, 0xee28, -0xf024, 0xee28, 0xf024, 0xef57, 0xf12c, 0xef57, 0xf12c, 0xf02f, 0xf1dd, 0xf02f, 0xf1dd, -0xf07c, 0xf202, 0xf07c, 0xf202, 0xf1a3, 0xf301, 0xf1a3, 0xf301, 0xf228, 0xf35f, 0xf228, -0xf35f, 0xf228, 0xf35f, 0xf1bf, 0xf2d3, 0xf1bf, 0xf2d3, 0xf23d, 0xf331, 0xf23d, 0xf331, -0xf290, 0xf369, 0xf290, 0xf369, 0xf33e, 0xf400, 0xf33e, 0xf400, 0xf29b, 0xf34d, 0xf29b, -0xf34d, 0xf29b, 0xf34d, 0xf269, 0xf310, 0xf269, 0xf310, 0xf2f9, 0xf39b, 0xf2f9, 0xf39b, -0xf2f4, 0xf398, 0xf2f4, 0xf398, 0xf412, 0xf4bd, 0xf412, 0xf4bd, 0xf368, 0xf41f, 0xf368, -0xf41f, 0xf3ac, 0xf475, 0xf3ac, 0xf475, 0xf3ac, 0xf475, 0xf3e9, 0xf4c8, 0xf3e9, 0xf4c8, -0xf3c0, 0xf4b6, 0xf3c0, 0xf4b6, 0xf49f, 0xf5b1, 0xf49f, 0xf5b1, 0xf3ea, 0xf517, 0xf3ea, -0xf517, 0xf401, 0xf54c, 0xf401, 0xf54c, 0xf3b4, 0xf51b, 0xf3b4, 0xf51b, 0xf3b4, 0xf51b, -0xf3ce, 0xf550, 0xf3ce, 0xf550, 0xf429, 0xf5c5, 0xf429, 0xf5c5, 0xf39e, 0xf550, 0xf39e, -0xf550, 0xf3a9, 0xf56f, 0xf3a9, 0xf56f, 0xf355, 0xf52c, 0xf355, 0xf52c, 0xf355, 0xf52c, -0xf313, 0xf4f8, 0xf313, 0xf4f8, 0xf2e3, 0xf4d2, 0xf2e3, 0xf4d2, 0xf260, 0xf456, 0xf260, -0xf456, 0xf165, 0xf360, 0xf165, 0xf360, 0xf1c7, 0xf3c2, 0xf1c7, 0xf3c2, 0xf249, 0xf443, -0xf249, 0xf443, 0xf249, 0xf443, 0xf14d, 0xf342, 0xf14d, 0xf342, 0xf19a, 0xf387, 0xf19a, -0xf387, 0xf149, 0xf32d, 0xf149, 0xf32d, 0xf0fd, 0xf2d4, 0xf0fd, 0xf2d4, 0xf1f5, 0xf3bd, -0xf1f5, 0xf3bd, 0xf11b, 0xf2d1, 0xf11b, 0xf2d1, 0xf11b, 0xf2d1, 0xf161, 0xf302, 0xf161, -0xf302, 0xf1e0, 0xf369, 0xf1e0, 0xf369, 0xf276, 0xf3e3, 0xf276, 0xf3e3, 0xf4e5, 0xf631, -0xf4e5, 0xf631, 0xf633, 0xf75a, 0xf633, 0xf75a, 0xf633, 0xf75a, 0xf7c5, 0xf8c2, 0xf7c5, -0xf8c2, 0xf845, 0xf914, 0xf845, 0xf914, 0xfa68, 0xfb02, 0xfa68, 0xfb02, 0xfc81, 0xfce2, -0xfc81, 0xfce2, 0xfd20, 0xfd43, 0xfd20, 0xfd43, 0x74, 0x54, 0x74, 0x54, 0x74, -0x54, 0xf2, 0x8b, 0xf2, 0x8b, 0x1a3, 0xf2, 0x1a3, 0xf2, 0x3b7, 0x2bb, -0x3b7, 0x2bb, 0x5c2, 0x477, 0x5c2, 0x477, 0x844, 0x6ad, 0x844, 0x6ad, 0x921, -0x73e, 0x921, 0x73e, 0x921, 0x73e, 0xaed, 0x8c1, 0xaed, 0x8c1, 0xcd7, 0xa67, -0xcd7, 0xa67, 0xe0f, 0xb5f, 0xe0f, 0xb5f, 0xf4f, 0xc67, 0xf4f, 0xc67, 0x10cc, -0xdb3, 0x10cc, 0xdb3, 0x10cc, 0xdb3, 0x11da, 0xe98, 0x11da, 0xe98, 0x13fb, 0x1099, -0x13fb, 0x1099, 0x1510, 0x1197, 0x1510, 0x1197, 0x148a, 0x1104, 0x148a, 0x1104, 0x1568, -0x11de, 0x1568, 0x11de, 0x15b4, 0x122d, 0x15b4, 0x122d, 0x15b4, 0x122d, 0x1735, 0x13b9, -0x1735, 0x13b9, 0x1793, 0x1429, 0x1793, 0x1429, 0x1676, 0x1323, 0x1676, 0x1323, 0x165c, -0x1324, 0x165c, 0x1324, 0x1671, 0x1356, 0x1671, 0x1356, 0x1708, 0x140c, 0x1708, 0x140c, -0x1708, 0x140c, 0x1555, 0x1278, 0x1555, 0x1278, 0x127e, 0xfbd, 0x127e, 0xfbd, 0x10ec, -0xe45, 0x10ec, 0xe45, 0x1058, 0xdc8, 0x1058, 0xdc8, 0x1166, 0xee8, 0x1166, 0xee8, -0x1166, 0xee8, 0x11b4, 0xf44, 0x11b4, 0xf44, 0x11b7, 0xf51, 0x11b7, 0xf51, 0x1291, -0x102f, 0x1291, 0x102f, 0x11f9, 0xf98, 0x11f9, 0xf98, 0x1389, 0x1125, 0x1389, 0x1125, -0x1496, 0x122c, 0x1496, 0x122c, 0x1496, 0x122c, 0x12b3, 0x1042, 0x12b3, 0x1042, 0x1235, -0xfbb, 0x1235, 0xfbb, 0x10b7, 0xe37, 0x10b7, 0xe37, 0x1015, 0xd8f, 0x1015, 0xd8f, -0x1081, 0xdf7, 0x1081, 0xdf7, 0xfc2, 0xd39, 0xfc2, 0xd39, 0xfc2, 0xd39, 0x108f, -0xe0a, 0x108f, 0xe0a, 0x115e, 0xee3, 0x115e, 0xee3, 0x128f, 0x1022, 0x128f, 0x1022, -0x1530, 0x12d6, 0x1530, 0x12d6, 0x163d, 0x13fb, 0x163d, 0x13fb, 0x163d, 0x13fb, 0x16f4, -0x14ce, 0x16f4, 0x14ce, 0x179f, 0x1599, 0x179f, 0x1599, 0x178c, 0x15a9, 0x178c, 0x15a9, -0x1804, 0x1646, 0x1804, 0x1646, 0x1766, 0x15ce, 0x1766, 0x15ce, 0x16ce, 0x155b, 0x16ce, -0x155b, 0x16ce, 0x155b, 0x163b, 0x14ed, 0x163b, 0x14ed, 0x1439, 0x130d, 0x1439, 0x130d, -0x138a, 0x127d, 0x138a, 0x127d, 0x124b, 0x1159, 0x124b, 0x1159, 0xf61, 0xe86, 0xf61, -0xe86, 0xe2c, 0xd64, 0xe2c, 0xd64, 0xe2c, 0xd64, 0xc66, 0xbac, 0xc66, 0xbac, -0x9f1, 0x940, 0x9f1, 0x940, 0x803, 0x757, 0x803, 0x757, 0x6d3, 0x629, 0x6d3, -0x629, 0x683, 0x5d8, 0x683, 0x5d8, 0x683, 0x5d8, 0x648, 0x59a, 0x648, 0x59a, -0x6d3, 0x621, 0x6d3, 0x621, 0x576, 0x4c0, 0x576, 0x4c0, 0x3ed, 0x334, 0x3ed, -0x334, 0x344, 0x289, 0x344, 0x289, 0x22f, 0x175, 0x22f, 0x175, 0x22f, 0x175, -0x150, 0x99, 0x150, 0x99, 0x8b, 0xffdb, 0x8b, 0xffdb, 0xff82, 0xfedc, 0xff82, -0xfedc, 0xff2a, 0xfe92, 0xff2a, 0xfe92, 0xffa1, 0xff1a, 0xffa1, 0xff1a, 0xffa1, 0xff1a, -0xfe39, 0xfdc5, 0xfe39, 0xfdc5, 0xfe9e, 0xfe40, 0xfe9e, 0xfe40, 0xfe19, 0xfdd2, 0xfe19, -0xfdd2, 0xfcc4, 0xfc95, 0xfcc4, 0xfc95, 0xfe67, 0xfe50, 0xfe67, 0xfe50, 0xfda2, 0xfda1, -0xfda2, 0xfda1, 0xfda2, 0xfda1, 0xfbf3, 0xfc07, 0xfbf3, 0xfc07, 0xfc37, 0xfc5d, 0xfc37, -0xfc5d, 0xfc7d, 0xfcb2, 0xfc7d, 0xfcb2, 0xfe1f, 0xfe5e, 0xfe1f, 0xfe5e, 0x10, 0x56, -0x10, 0x56, 0xff09, 0xff51, 0xff09, 0xff51, 0xff09, 0xff51, 0xffe2, 0x28, 0xffe2, -0x28, 0xb8, 0xf8, 0xb8, 0xf8, 0x59, 0x8e, 0x59, 0x8e, 0x185, 0x1ac, -0x185, 0x1ac, 0x28d, 0x2a4, 0x28d, 0x2a4, 0x28d, 0x2a4, 0x2a1, 0x2a5, 0x2a1, -0x2a5, 0x3b4, 0x3a4, 0x3b4, 0x3a4, 0x69b, 0x676, 0x69b, 0x676, 0x576, 0x53b, -0x576, 0x53b, 0x4c4, 0x475, 0x4c4, 0x475, 0x544, 0x4e1, 0x544, 0x4e1, 0x544, -0x4e1, 0x4b8, 0x443, 0x4b8, 0x443, 0x514, 0x48e, 0x514, 0x48e, 0x63d, 0x5a7, -0x63d, 0x5a7, 0x771, 0x6cc, 0x771, 0x6cc, 0x702, 0x64f, 0x702, 0x64f, 0x73a, -0x678, 0x73a, 0x678, 0x73a, 0x678, 0x84c, 0x77d, 0x84c, 0x77d, 0xa1d, 0x93f, -0xa1d, 0x93f, 0x963, 0x876, 0x963, 0x876, 0x8ba, 0x7bb, 0x8ba, 0x7bb, 0x82d, -0x71a, 0x82d, 0x71a, 0x82d, 0x71a, 0x849, 0x71f, 0x849, 0x71f, 0x815, 0x6d0, -0x815, 0x6d0, 0x6fa, 0x597, 0x6fa, 0x597, 0x9d2, 0x84e, 0x9d2, 0x84e, 0xaf5, -0x94b, 0xaf5, 0x94b, 0xf6a, 0xd97, 0xf6a, 0xd97, 0xf6a, 0xd97, 0x126b, 0x106d, -0x126b, 0x106d, 0x1210, 0xfe5, 0x1210, 0xfe5, 0x12f5, 0x109c, 0x12f5, 0x109c, 0x120b, -0xf82, 0x120b, 0xf82, 0x1330, 0x1079, 0x1330, 0x1079, 0x12c0, 0xfdb, 0x12c0, 0xfdb, -0x12c0, 0xfdb, 0x1246, 0xf37, 0x1246, 0xf37, 0x13c4, 0x108d, 0x13c4, 0x108d, 0x152a, -0x11cf, 0x152a, 0x11cf, 0x15fa, 0x127f, 0x15fa, 0x127f, 0x16c8, 0x1332, 0x16c8, 0x1332, -0x16c8, 0x1332, 0x172a, 0x1380, 0x172a, 0x1380, 0x1690, 0x12d7, 0x1690, 0x12d7, 0x15c4, -0x1201, 0x15c4, 0x1201, 0x15b3, 0x11eb, 0x15b3, 0x11eb, 0x15a1, 0x11da, 0x15a1, 0x11da, -0x132a, 0xf69, 0x132a, 0xf69, 0x132a, 0xf69, 0x137b, 0xfc4, 0x137b, 0xfc4, 0x1487, -0x10dc, 0x1487, 0x10dc, 0x1529, 0x118e, 0x1529, 0x118e, 0x166a, 0x12e1, 0x166a, 0x12e1, -0x15af, 0x1238, 0x15af, 0x1238, 0x1562, 0x11ff, 0x1562, 0x11ff, 0x1562, 0x11ff, 0x14d1, -0x1181, 0x14d1, 0x1181, 0x1457, 0x111a, 0x1457, 0x111a, 0x12cf, 0xfa5, 0x12cf, 0xfa5, -0x108c, 0xd74, 0x108c, 0xd74, 0xfc0, 0xcb8, 0xfc0, 0xcb8, 0xfc0, 0xcb8, 0xffa, -0xd03, 0xffa, 0xd03, 0x10c4, 0xddc, 0x10c4, 0xddc, 0xef3, 0xc1b, 0xef3, 0xc1b, -0xea3, 0xbdb, 0xea3, 0xbdb, 0xf9f, 0xce7, 0xf9f, 0xce7, 0xf3b, 0xc95, 0xf3b, -0xc95, 0xf3b, 0xc95, 0x1068, 0xdd7, 0x1068, 0xdd7, 0x1017, 0xd9d, 0x1017, 0xd9d, -0xfdb, 0xd7a, 0xfdb, 0xd7a, 0xde4, 0xb9f, 0xde4, 0xb9f, 0xee0, 0xcba, 0xee0, -0xcba, 0x1157, 0xf55, 0x1157, 0xf55, 0x1157, 0xf55, 0xe04, 0xc28, 0xe04, 0xc28, -0xf62, 0xdaf, 0xf62, 0xdaf, 0xf20, 0xd9a, 0xf20, 0xd9a, 0xcbc, 0xb64, 0xcbc, -0xb64, 0xd7b, 0xc52, 0xd7b, 0xc52, 0xd7b, 0xc52, 0xc98, 0xba2, 0xc98, 0xba2, -0xd50, 0xc8b, 0xd50, 0xc8b, 0xd27, 0xc93, 0xd27, 0xc93, 0xc9b, 0xc37, 0xc9b, -0xc37, 0xd89, 0xd52, 0xd89, 0xd52, 0xbec, 0xbe0, 0xbec, 0xbe0, 0xbec, 0xbe0, -0xa2d, 0xa49, 0xa2d, 0xa49, 0x9c2, 0xa02, 0x9c2, 0xa02, 0x983, 0x9e2, 0x983, -0x9e2, 0x832, 0x8ad, 0x832, 0x8ad, 0x716, 0x7a8, 0x716, 0x7a8, 0x979, 0xa1d, -0x979, 0xa1d, 0x979, 0xa1d, 0x852, 0x904, 0x852, 0x904, 0x924, 0x9de, 0x924, -0x9de, 0xb5e, 0xc1c, 0xb5e, 0xc1c, 0x795, 0x855, 0x795, 0x855, 0x573, 0x631, -0x573, 0x631, 0x573, 0x631, 0x2c3, 0x37b, 0x2c3, 0x37b, 0x110, 0x1c0, 0x110, -0x1c0, 0xffcf, 0x76, 0xffcf, 0x76, 0xfd9f, 0xfe3b, 0xfd9f, 0xfe3b, 0xfce3, 0xfd74, -0xfce3, 0xfd74, 0xfe20, 0xfea6, 0xfe20, 0xfea6, 0xfe20, 0xfea6, 0xff4e, 0xffca, 0xff4e, -0xffca, 0xfe6b, 0xfedc, 0xfe6b, 0xfedc, 0xfcdb, 0xfd43, 0xfcdb, 0xfd43, 0xfb6c, 0xfbcc, -0xfb6c, 0xfbcc, 0xfc10, 0xfc6b, 0xfc10, 0xfc6b, 0xfa7a, 0xfad0, 0xfa7a, 0xfad0, 0xfa7a, -0xfad0, 0xf9c5, 0xfa1a, 0xf9c5, 0xfa1a, 0xf7d1, 0xf827, 0xf7d1, 0xf827, 0xf5b8, 0xf612, -0xf5b8, 0xf612, 0xf599, 0xf5f8, 0xf599, 0xf5f8, 0xf62a, 0xf692, 0xf62a, 0xf692, 0xf62a, -0xf692, 0xf7f4, 0xf867, 0xf7f4, 0xf867, 0xf65e, 0xf6de, 0xf65e, 0xf6de, 0xf81d, 0xf8ad, -0xf81d, 0xf8ad, 0xf6b3, 0xf756, 0xf6b3, 0xf756, 0xf57b, 0xf632, 0xf57b, 0xf632, 0xf865, -0xf934, 0xf865, 0xf934, 0xf865, 0xf934, 0xf8f8, 0xf9df, 0xf8f8, 0xf9df, 0xf9dd, 0xfadf, -0xf9dd, 0xfadf, 0xf906, 0xfa23, 0xf906, 0xfa23, 0xf9f4, 0xfb2e, 0xf9f4, 0xfb2e, 0xf91e, -0xfa75, 0xf91e, 0xfa75, 0xf5a2, 0xf717, 0xf5a2, 0xf717, 0xf5a2, 0xf717, 0xf352, 0xf4e4, -0xf352, 0xf4e4, 0xf189, 0xf338, 0xf189, 0xf338, 0xefff, 0xf1c9, 0xefff, 0xf1c9, 0xef82, -0xf167, 0xef82, 0xf167, 0xefa3, 0xf1a0, 0xefa3, 0xf1a0, 0xefa3, 0xf1a0, 0xed18, 0xef2b, -0xed18, 0xef2b, 0xede5, 0xf00c, 0xede5, 0xf00c, 0xf100, 0xf338, 0xf100, 0xf338, 0xee35, -0xf07c, 0xee35, 0xf07c, 0xeda9, 0xeffc, 0xeda9, 0xeffc, 0xee8f, 0xf0eb, 0xee8f, 0xf0eb, -0xee8f, 0xf0eb, 0xec10, 0xee72, 0xec10, 0xee72, 0xede2, 0xf049, 0xede2, 0xf049, 0xec38, -0xeea0, 0xec38, 0xeea0, 0xeac3, 0xed2b, 0xeac3, 0xed2b, 0xebc3, 0xee2a, 0xebc3, 0xee2a, -0xebc3, 0xee2a, 0xe9b8, 0xec1c, 0xe9b8, 0xec1c, 0xec04, 0xee66, 0xec04, 0xee66, 0xed15, -0xef74, 0xed15, 0xef74, 0xec33, 0xee90, 0xec33, 0xee90, 0xe985, 0xebe1, 0xe985, 0xebe1, -0xe7de, 0xea3a, 0xe7de, 0xea3a, 0xe7de, 0xea3a, 0xe671, 0xe8cd, 0xe671, 0xe8cd, 0xe2ba, -0xe519, 0xe2ba, 0xe519, 0xe46d, 0xe6d1, 0xe46d, 0xe6d1, 0xe223, 0xe48d, 0xe223, 0xe48d, -0xe0c3, 0xe336, 0xe0c3, 0xe336, 0xe49b, 0xe718, 0xe49b, 0xe718, 0xe49b, 0xe718, 0xe35a, -0xe5e1, 0xe35a, 0xe5e1, 0xe39c, 0xe62f, 0xe39c, 0xe62f, 0xe3a9, 0xe648, 0xe3a9, 0xe648, -0xe25e, 0xe509, 0xe25e, 0xe509, 0xe2be, 0xe575, 0xe2be, 0xe575, 0xe2be, 0xe575, 0xe212, -0xe4d4, 0xe212, 0xe4d4, 0xe0cb, 0xe395, 0xe0cb, 0xe395, 0xdf26, 0xe1f7, 0xdf26, 0xe1f7, -0xdf81, 0xe257, 0xdf81, 0xe257, 0xdece, 0xe1a5, 0xdece, 0xe1a5, 0xde29, 0xe0ff, 0xde29, -0xe0ff, 0xde29, 0xe0ff, 0xde1c, 0xe0ed, 0xde1c, 0xe0ed, 0xded1, 0xe19a, 0xded1, 0xe19a, -0xe1de, 0xe49b, 0xe1de, 0xe49b, 0xe2a9, 0xe558, 0xe2a9, 0xe558, 0xe31b, 0xe5b9, 0xe31b, -0xe5b9, 0xe261, 0xe4ea, 0xe261, 0xe4ea, 0xe261, 0xe4ea, 0xe200, 0xe473, 0xe200, 0xe473, -0xe2fd, 0xe557, 0xe2fd, 0xe557, 0xe43b, 0xe67c, 0xe43b, 0xe67c, 0xe519, 0xe73e, 0xe519, -0xe73e, 0xe51b, 0xe723, 0xe51b, 0xe723, 0xe51b, 0xe723, 0xe651, 0xe83d, 0xe651, 0xe83d, -0xe7d9, 0xe9a9, 0xe7d9, 0xe9a9, 0xe94c, 0xeb00, 0xe94c, 0xeb00, 0xe8f6, 0xea8f, 0xe8f6, -0xea8f, 0xeb36, 0xecb5, 0xeb36, 0xecb5, 0xed3c, 0xeea2, 0xed3c, 0xeea2, 0xed3c, 0xeea2, -0xedd9, 0xef28, 0xedd9, 0xef28, 0xf0d1, 0xf20b, 0xf0d1, 0xf20b, 0xf02f, 0xf155, 0xf02f, -0xf155, 0xefc8, 0xf0dd, 0xefc8, 0xf0dd, 0xf0e4, 0xf1e9, 0xf0e4, 0xf1e9, 0xf0ae, 0xf1a6, -0xf0ae, 0xf1a6, 0xf0ae, 0xf1a6, 0xf261, 0xf34e, 0xf261, 0xf34e, 0xf3a9, 0xf48c, 0xf3a9, -0xf48c, 0xf3a4, 0xf481, 0xf3a4, 0xf481, 0xf40a, 0xf4e2, 0xf40a, 0xf4e2, 0xf65b, 0xf731, -0xf65b, 0xf731, 0xf65b, 0xf731, 0xf8c8, 0xf99e, 0xf8c8, 0xf99e, 0xf7ac, 0xf884, 0xf7ac, -0xf884, 0xf771, 0xf84d, 0xf771, 0xf84d, 0xf5df, 0xf6c0, 0xf5df, 0xf6c0, 0xf65a, 0xf742, -0xf65a, 0xf742, 0xf7b1, 0xf8a2, 0xf7b1, 0xf8a2, 0xf7b1, 0xf8a2, 0xf6a3, 0xf79e, 0xf6a3, -0xf79e, 0xf844, 0xf94a, 0xf844, 0xf94a, 0xf687, 0xf798, 0xf687, 0xf798, 0xf818, 0xf934, -0xf818, 0xf934, 0xf83e, 0xf964, 0xf83e, 0xf964, 0xf5dd, 0xf70d, 0xf5dd, 0xf70d, 0xf5dd, -0xf70d, 0xf642, 0xf778, 0xf642, 0xf778, 0xf677, 0xf7b3, 0xf677, 0xf7b3, 0xf72a, 0xf868, -0xf72a, 0xf868, 0xf43e, 0xf579, 0xf43e, 0xf579, 0xf62e, 0xf763, 0xf62e, 0xf763, 0xf62e, -0xf763, 0xf4c6, 0xf5f1, 0xf4c6, 0xf5f1, 0xf2f8, 0xf413, 0xf2f8, 0xf413, 0xf625, 0xf72d, -0xf625, 0xf72d, 0xf4b9, 0xf5a6, 0xf4b9, 0xf5a6, 0xf5bc, 0xf68b, 0xf5bc, 0xf68b, 0xf68c, -0xf738, 0xf68c, 0xf738, 0xf68c, 0xf738, 0xf6cb, 0xf74f, 0xf6cb, 0xf74f, 0xf725, 0xf77e, -0xf725, 0xf77e, 0xf85c, 0xf887, 0xf85c, 0xf887, 0xfb41, 0xfb3b, 0xfb41, 0xfb3b, 0xfc28, -0xfbef, 0xfc28, 0xfbef, 0xfd76, 0xfd0b, 0xfd76, 0xfd0b, 0xfd76, 0xfd0b, 0xff23, 0xfe85, -0xff23, 0xfe85, 0xfeea, 0xfe1b, 0xfeea, 0xfe1b, 0xfefd, 0xfe00, 0xfefd, 0xfe00, 0x51, -0xff2a, 0x51, 0xff2a, 0x120, 0xffd2, 0x120, 0xffd2, 0x120, 0xffd2, 0x2a2, 0x133, -0x2a2, 0x133, 0x33b, 0x1b0, 0x33b, 0x1b0, 0x2fe, 0x15d, 0x2fe, 0x15d, 0x4d5, -0x324, 0x4d5, 0x324, 0x7b9, 0x5fe, 0x7b9, 0x5fe, 0x881, 0x6c1, 0x881, 0x6c1, -0x881, 0x6c1, 0xaaf, 0x8f0, 0xaaf, 0x8f0, 0xcc1, 0xb07, 0xcc1, 0xb07, 0xccb, -0xb1a, 0xccb, 0xb1a, 0x104b, 0xea7, 0x104b, 0xea7, 0x1159, 0xfc4, 0x1159, 0xfc4, -0xffd, 0xe77, 0xffd, 0xe77, 0xffd, 0xe77, 0x10df, 0xf69, 0x10df, 0xf69, 0x126d, -0x1106, 0x126d, 0x1106, 0x13fc, 0x12a3, 0x13fc, 0x12a3, 0x139d, 0x1250, 0x139d, 0x1250, -0x1287, 0x1142, 0x1287, 0x1142, 0x1287, 0x1142, 0x10fc, 0xfbc, 0x10fc, 0xfbc, 0xf32, -0xdf4, 0xf32, 0xdf4, 0xe9b, 0xd5a, 0xe9b, 0xd5a, 0xd28, 0xbe0, 0xd28, 0xbe0, -0xcb8, 0xb67, 0xcb8, 0xb67, 0xa81, 0x922, 0xa81, 0x922, 0xa81, 0x922, 0x924, -0x7b6, 0x924, 0x7b6, 0xc4c, 0xacc, 0xc4c, 0xacc, 0xb81, 0x9ee, 0xb81, 0x9ee, -0xc45, 0xa9f, 0xc45, 0xa9f, 0xe2f, 0xc77, 0xe2f, 0xc77, 0xe24, 0xc5b, 0xe24, -0xc5b, 0xe24, 0xc5b, 0xf50, 0xd78, 0xf50, 0xd78, 0xfe5, 0xe01, 0xfe5, 0xe01, -0x10be, 0xed1, 0x10be, 0xed1, 0xf55, 0xd64, 0xf55, 0xd64, 0xd62, 0xb71, 0xd62, -0xb71, 0xd62, 0xb71, 0xddb, 0xbee, 0xddb, 0xbee, 0xf97, 0xdb4, 0xf97, 0xdb4, -0xf85, 0xdb0, 0xf85, 0xdb0, 0xe1c, 0xc5a, 0xe1c, 0xc5a, 0xd53, 0xba8, 0xd53, -0xba8, 0xd14, 0xb83, 0xd14, 0xb83, 0xd14, 0xb83, 0xcde, 0xb6b, 0xcde, 0xb6b, -0xe0f, 0xcbc, 0xe0f, 0xcbc, 0xf12, 0xde3, 0xf12, 0xde3, 0xe20, 0xd15, 0xe20, -0xd15, 0xe40, 0xd5a, 0xe40, 0xd5a, 0xc60, 0xba0, 0xc60, 0xba0, 0xc60, 0xba0, -0xb0c, 0xa71, 0xb0c, 0xa71, 0x986, 0x90f, 0x986, 0x90f, 0x902, 0x8ad, 0x902, -0x8ad, 0xa2f, 0x9fb, 0xa2f, 0x9fb, 0x842, 0x82d, 0x842, 0x82d, 0x842, 0x82d, -0x882, 0x889, 0x882, 0x889, 0x80d, 0x82e, 0x80d, 0x82e, 0x685, 0x6bc, 0x685, -0x6bc, 0x679, 0x6c3, 0x679, 0x6c3, 0x4fc, 0x557, 0x4fc, 0x557, 0x48c, 0x4f4, -0x48c, 0x4f4, 0x48c, 0x4f4, 0x44c, 0x4bf, 0x44c, 0x4bf, 0x2c0, 0x33a, 0x2c0, -0x33a, 0x38a, 0x408, 0x38a, 0x408, 0x2c3, 0x342, 0x2c3, 0x342, 0x222, 0x2a0, -0x222, 0x2a0, 0x222, 0x2a0, 0x304, 0x37e, 0x304, 0x37e, 0x14d, 0x1c0, 0x14d, -0x1c0, 0x131, 0x19b, 0x131, 0x19b, 0x1ab, 0x20a, 0x1ab, 0x20a, 0x19f, 0x1f0, -0x19f, 0x1f0, 0xff62, 0xffa5, 0xff62, 0xffa5, 0xff62, 0xffa5, 0xfe5c, 0xfe8e, 0xfe5c, -0xfe8e, 0xfec6, 0xfee7, 0xfec6, 0xfee7, 0xfe9f, 0xfeae, 0xfe9f, 0xfeae, 0xc5, 0xc1, -0xc5, 0xc1, 0x139, 0x122, 0x139, 0x122, 0x258, 0x22f, 0x258, 0x22f, 0x258, -0x22f, 0x337, 0x2fe, 0x337, 0x2fe, 0x132, 0xe9, 0x132, 0xe9, 0x57, 0xffff, -0x57, 0xffff, 0x107, 0xa3, 0x107, 0xa3, 0xc7, 0x5a, 0xc7, 0x5a, 0xc7, -0x5a, 0x1a9, 0x135, 0x1a9, 0x135, 0x3f1, 0x378, 0x3f1, 0x378, 0x3c5, 0x34b, -0x3c5, 0x34b, 0x218, 0x19e, 0x218, 0x19e, 0x41d, 0x3a6, 0x41d, 0x3a6, 0x501, -0x491, 0x501, 0x491, 0x501, 0x491, 0x329, 0x2c0, 0x329, 0x2c0, 0x54f, 0x4ef, -0x54f, 0x4ef, 0x5a8, 0x552, 0x5a8, 0x552, 0x64e, 0x602, 0x64e, 0x602, 0x594, -0x552, 0x594, 0x552, 0x5f5, 0x5bc, 0x5f5, 0x5bc, 0x5f5, 0x5bc, 0x8be, 0x88c, -0x8be, 0x88c, 0x5db, 0x5ae, 0x5db, 0x5ae, 0x6e2, 0x6b7, 0x6e2, 0x6b7, 0x705, -0x6d7, 0x705, 0x6d7, 0x501, 0x4cd, 0x501, 0x4cd, 0x501, 0x4cd, 0x663, 0x624, -0x663, 0x624, 0x608, 0x5ba, 0x608, 0x5ba, 0x617, 0x5b5, 0x617, 0x5b5, 0x6d4, -0x65a, 0x6d4, 0x65a, 0x79f, 0x708, 0x79f, 0x708, 0x911, 0x859, 0x911, 0x859, -0x911, 0x859, 0x899, 0x7bc, 0x899, 0x7bc, 0x8e3, 0x7de, 0x8e3, 0x7de, 0xa78, -0x949, 0xa78, 0x949, 0xb0e, 0x9b4, 0xb0e, 0x9b4, 0xc55, 0xacd, 0xc55, 0xacd, -0xd5b, 0xba7, 0xd5b, 0xba7, 0xd5b, 0xba7, 0x100a, 0xe2a, 0x100a, 0xe2a, 0x118b, -0xf81, 0x118b, 0xf81, 0x12ad, 0x107a, 0x12ad, 0x107a, 0x13cc, 0x1175, 0x13cc, 0x1175, -0x1268, 0xfef, 0x1268, 0xfef, 0x1268, 0xfef, 0x12ad, 0x1017, 0x12ad, 0x1017, 0x11d2, -0xf23, 0x11d2, 0xf23, 0x11d0, 0xf0c, 0x11d0, 0xf0c, 0x1399, 0x10c5, 0x1399, 0x10c5, -0x13d9, 0x10f9, 0x13d9, 0x10f9, 0x1429, 0x1142, 0x1429, 0x1142, 0x1429, 0x1142, 0x1427, -0x113c, 0x1427, 0x113c, 0x1282, 0xf97, 0x1282, 0xf97, 0x1241, 0xf59, 0x1241, 0xf59, -0x126d, 0xf8b, 0x126d, 0xf8b, 0x10b5, 0xdda, 0x10b5, 0xdda, 0xf71, 0xc9f, 0xf71, -0xc9f, 0xf71, 0xc9f, 0xfb6, 0xced, 0xfb6, 0xced, 0xfdd, 0xd1e, 0xfdd, 0xd1e, -0xf6d, 0xcb6, 0xf6d, 0xcb6, 0x10a7, 0xdf7, 0x10a7, 0xdf7, 0xf9c, 0xcf4, 0xf9c, -0xcf4, 0xf9c, 0xcf4, 0xf37, 0xc93, 0xf37, 0xc93, 0xf35, 0xc94, 0xf35, 0xc94, -0xdec, 0xb4c, 0xdec, 0xb4c, 0xda2, 0xb01, 0xda2, 0xb01, 0xa8f, 0x7eb, 0xa8f, -0x7eb, 0x8e0, 0x637, 0x8e0, 0x637, 0x8e0, 0x637, 0x88f, 0x5df, 0x88f, 0x5df, -0x7a5, 0x4ee, 0x7a5, 0x4ee, 0x79e, 0x4de, 0x79e, 0x4de, 0x963, 0x69a, 0x963, -0x69a, 0x9bd, 0x6ea, 0x9bd, 0x6ea, 0x855, 0x579, 0x855, 0x579, 0x855, 0x579, -0x858, 0x574, 0x858, 0x574, 0x76b, 0x480, 0x76b, 0x480, 0x615, 0x325, 0x615, -0x325, 0x4fb, 0x209, 0x4fb, 0x209, 0x577, 0x285, 0x577, 0x285, 0x577, 0x285, -0x651, 0x363, 0x651, 0x363, 0x58f, 0x2a6, 0x58f, 0x2a6, 0x5ca, 0x2eb, 0x5ca, -0x2eb, 0x765, 0x494, 0x765, 0x494, 0x713, 0x452, 0x713, 0x452, 0x678, 0x3cc, -0x678, 0x3cc, 0x678, 0x3cc, 0x776, 0x4e2, 0x776, 0x4e2, 0x85b, 0x5e3, 0x85b, -0x5e3, 0x77a, 0x520, 0x77a, 0x520, 0x6c4, 0x48b, 0x6c4, 0x48b, 0x78b, 0x575, -0x78b, 0x575, 0x5c5, 0x3d4, 0x5c5, 0x3d4, 0x5c5, 0x3d4, 0x5e2, 0x419, 0x5e2, -0x419, 0x81e, 0x67c, 0x81e, 0x67c, 0x7f9, 0x67f, 0x7f9, 0x67f, 0x647, 0x4f4, -0x647, 0x4f4, 0x6a0, 0x574, 0x6a0, 0x574, 0x6a0, 0x574, 0x6cb, 0x5c5, 0x6cb, -0x5c5, 0x54f, 0x46c, 0x54f, 0x46c, 0x53f, 0x47e, 0x53f, 0x47e, 0x3d2, 0x32f, -0x3d2, 0x32f, 0x385, 0x2fd, 0x385, 0x2fd, 0x372, 0x302, 0x372, 0x302, 0x372, -0x302, 0x39e, 0x343, 0x39e, 0x343, 0x2fe, 0x2b4, 0x2fe, 0x2b4, 0x2c2, 0x285, -0x2c2, 0x285, 0x392, 0x35f, 0x392, 0x35f, 0x239, 0x20d, 0x239, 0x20d, 0x3c2, -0x39a, 0x3c2, 0x39a, 0x3c2, 0x39a, 0x383, 0x35d, 0x383, 0x35d, 0x2f4, 0x2cd, -0x2f4, 0x2cd, 0x3e1, 0x3b8, 0x3e1, 0x3b8, 0x238, 0x20c, 0x238, 0x20c, 0x1c0, -0x191, 0x1c0, 0x191, 0x1c0, 0x191, 0x221, 0x1ef, 0x221, 0x1ef, 0xf9, 0xc5, -0xf9, 0xc5, 0xff77, 0xff41, 0xff77, 0xff41, 0xfee9, 0xfeb4, 0xfee9, 0xfeb4, 0xff2c, -0xfefa, 0xff2c, 0xfefa, 0x3d, 0x11, 0x3d, 0x11, 0x3d, 0x11, 0x196, 0x173, -0x196, 0x173, 0x28d, 0x276, 0x28d, 0x276, 0x381, 0x37a, 0x381, 0x37a, 0x4a8, -0x4b4, 0x4a8, 0x4b4, 0x4d0, 0x4f2, 0x4d0, 0x4f2, 0x63a, 0x675, 0x63a, 0x675, -0x63a, 0x675, 0x52e, 0x586, 0x52e, 0x586, 0x30d, 0x384, 0x30d, 0x384, 0x3c2, -0x45a, 0x3c2, 0x45a, 0x16b, 0x226, 0x16b, 0x226, 0xfebf, 0xff9f, 0xfebf, 0xff9f, -0xfebf, 0xff9f, 0xfe7b, 0xff80, 0xfe7b, 0xff80, 0xff69, 0x94, 0xff69, 0x94, 0xfd84, -0xfed3, 0xfd84, 0xfed3, 0xfb76, 0xfcea, 0xfb76, 0xfcea, 0xfbcf, 0xfd65, 0xfbcf, 0xfd65, -0xfaa9, 0xfc60, 0xfaa9, 0xfc60, 0xfaa9, 0xfc60, 0xfaad, 0xfc82, 0xfaad, 0xfc82, 0xf9db, -0xfbcb, 0xf9db, 0xfbcb, 0xf8ce, 0xfad7, 0xf8ce, 0xfad7, 0xf99f, 0xfbbd, 0xf99f, 0xfbbd, -0xf95c, 0xfb8b, 0xf95c, 0xfb8b, 0xf95c, 0xfb8b, 0xfa75, 0xfcb3, 0xfa75, 0xfcb3, 0xfa48, -0xfc91, 0xfa48, 0xfc91, 0xf6f4, 0xf944, 0xf6f4, 0xf944, 0xf622, 0xf876, 0xf622, 0xf876, -0xf5e0, 0xf837, 0xf5e0, 0xf837, 0xf543, 0xf799, 0xf543, 0xf799, 0xf543, 0xf799, 0xf375, -0xf5c8, 0xf375, 0xf5c8, 0xf354, 0xf5a3, 0xf354, 0xf5a3, 0xf2a0, 0xf4ea, 0xf2a0, 0xf4ea, -0xf01c, 0xf261, 0xf01c, 0xf261, 0xf1d5, 0xf414, 0xf1d5, 0xf414, 0xf02d, 0xf268, 0xf02d, -0xf268, 0xf02d, 0xf268, 0xeed8, 0xf110, 0xeed8, 0xf110, 0xec79, 0xeeaf, 0xec79, 0xeeaf, -0xea34, 0xec6b, 0xea34, 0xec6b, 0xeb1c, 0xed56, 0xeb1c, 0xed56, 0xe937, 0xeb77, 0xe937, -0xeb77, 0xe937, 0xeb77, 0xea60, 0xeca8, 0xea60, 0xeca8, 0xea7b, 0xecce, 0xea7b, 0xecce, -0xeb10, 0xed73, 0xeb10, 0xed73, 0xeb90, 0xee04, 0xeb90, 0xee04, 0xea65, 0xeced, 0xea65, -0xeced, 0xe9bb, 0xec5a, 0xe9bb, 0xec5a, 0xe9bb, 0xec5a, 0xe613, 0xe8ca, 0xe613, 0xe8ca, -0xe43a, 0xe70b, 0xe43a, 0xe70b, 0xe308, 0xe5f4, 0xe308, 0xe5f4, 0xe25e, 0xe566, 0xe25e, -0xe566, 0xe2f0, 0xe613, 0xe2f0, 0xe613, 0xe2a1, 0xe5e0, 0xe2a1, 0xe5e0, 0xe2a1, 0xe5e0, -0xe29b, 0xe5f3, 0xe29b, 0xe5f3, 0xe22c, 0xe59c, 0xe22c, 0xe59c, 0xe2e4, 0xe66a, 0xe2e4, -0xe66a, 0xe2b8, 0xe64f, 0xe2b8, 0xe64f, 0xe04c, 0xe3f3, 0xe04c, 0xe3f3, 0xe04c, 0xe3f3, -0xdf88, 0xe33b, 0xdf88, 0xe33b, 0xdf15, 0xe2cf, 0xdf15, 0xe2cf, 0xdf88, 0xe344, 0xdf88, -0xe344, 0xe10b, 0xe4c7, 0xe10b, 0xe4c7, 0xe271, 0xe627, 0xe271, 0xe627, 0xe464, 0xe810, -0xe464, 0xe810, 0xe464, 0xe810, 0xe712, 0xeab0, 0xe712, 0xeab0, 0xe8de, 0xec69, 0xe8de, -0xec69, 0xe8d7, 0xec4d, 0xe8d7, 0xec4d, 0xea71, 0xedcf, 0xea71, 0xedcf, 0xe96c, 0xecae, -0xe96c, 0xecae, 0xe826, 0xeb4a, 0xe826, 0xeb4a, 0xe826, 0xeb4a, 0xe99a, 0xeca0, 0xe99a, -0xeca0, 0xe9f8, 0xecde, 0xe9f8, 0xecde, 0xeb61, 0xee27, 0xeb61, 0xee27, 0xee6d, 0xf113, -0xee6d, 0xf113, 0xefa6, 0xf22c, 0xefa6, 0xf22c, 0xefa6, 0xf22c, 0xee3b, 0xf0a4, 0xee3b, -0xf0a4, 0xef3a, 0xf186, 0xef3a, 0xf186, 0xef26, 0xf158, 0xef26, 0xf158, 0xefae, 0xf1c8, -0xefae, 0xf1c8, 0xf1be, 0xf3c2, 0xf1be, 0xf3c2, 0xf153, 0xf345, 0xf153, 0xf345, 0xf153, -0xf345, 0xf0e3, 0xf2c5, 0xf0e3, 0xf2c5, 0xefab, 0xf17f, 0xefab, 0xf17f, 0xf0cf, 0xf299, -0xf0cf, 0xf299, 0xf2c9, 0xf48a, 0xf2c9, 0xf48a, 0xf2be, 0xf477, 0xf2be, 0xf477, 0xf25b, -0xf40f, 0xf25b, 0xf40f, 0xf25b, 0xf40f, 0xf348, 0xf4f7, 0xf348, 0xf4f7, 0xf3fa, 0xf5a6, -0xf3fa, 0xf5a6, 0xf209, 0xf3b1, 0xf209, 0xf3b1, 0xf0dc, 0xf280, 0xf0dc, 0xf280, 0xf055, -0xf1f3, 0xf055, 0xf1f3, 0xf055, 0xf1f3, 0xeeb3, 0xf049, 0xeeb3, 0xf049, 0xef4d, 0xf0db, -0xef4d, 0xf0db, 0xf009, 0xf18a, 0xf009, 0xf18a, 0xefce, 0xf141, 0xefce, 0xf141, 0xf115, -0xf276, 0xf115, 0xf276, 0xef14, 0xf060, 0xef14, 0xf060, 0xef14, 0xf060, 0xee5e, 0xef92, -0xee5e, 0xef92, 0xef0a, 0xf022, 0xef0a, 0xf022, 0xee97, 0xef90, 0xee97, 0xef90, 0xeffa, -0xf0d0, 0xeffa, 0xf0d0, 0xf04f, 0xf100, 0xf04f, 0xf100, 0xf1aa, 0xf233, 0xf1aa, 0xf233, -0xf1aa, 0xf233, 0xf256, 0xf2b5, 0xf256, 0xf2b5, 0xf3ec, 0xf41f, 0xf3ec, 0xf41f, 0xf511, -0xf517, 0xf511, 0xf517, 0xf431, 0xf409, 0xf431, 0xf409, 0xf726, 0xf6d0, 0xf726, 0xf6d0, -0xf726, 0xf6d0, 0xf8f5, 0xf872, 0xf8f5, 0xf872, 0xf9de, 0xf930, 0xf9de, 0xf930, 0xfc33, -0xfb5b, 0xfc33, 0xfb5b, 0xfdac, 0xfcad, 0xfdac, 0xfcad, 0xa, 0xfee6, 0xa, 0xfee6, -0x1c5, 0x7f, 0x1c5, 0x7f, 0x1c5, 0x7f, 0x2e4, 0x181, 0x2e4, 0x181, 0x310, -0x192, 0x310, 0x192, 0x3d6, 0x243, 0x3d6, 0x243, 0x68f, 0x4eb, 0x68f, 0x4eb, -0x6c8, 0x517, 0x6c8, 0x517, 0x944, 0x78a, 0x944, 0x78a, 0x944, 0x78a, 0xd11, -0xb53, 0xd11, 0xb53, 0xf75, 0xdb6, 0xf75, 0xdb6, 0x13a3, 0x11e6, 0x13a3, 0x11e6, -0x15dd, 0x1425, 0x15dd, 0x1425, 0x15ef, 0x143f, 0x15ef, 0x143f, 0x15ef, 0x143f, 0x15b4, -0x140f, 0x15b4, 0x140f, 0x150c, 0x1372, 0x150c, 0x1372, 0x140e, 0x1280, 0x140e, 0x1280, -0x148a, 0x1309, 0x148a, 0x1309, 0x1366, 0x11f3, 0x1366, 0x11f3, 0x11fa, 0x1093, 0x11fa, -0x1093, 0x11fa, 0x1093, 0x1413, 0x12b7, 0x1413, 0x12b7, 0x13d3, 0x1281, 0x13d3, 0x1281, -0x1312, 0x11c9, 0x1312, 0x11c9, 0x1322, 0x11e0, 0x1322, 0x11e0, 0x10ed, 0xfaf, 0x10ed, -0xfaf, 0xf7d, 0xe41, 0xf7d, 0xe41, 0xf7d, 0xe41, 0xe1e, 0xce2, 0xe1e, 0xce2, -0xcf6, 0xbb7, 0xcf6, 0xbb7, 0xf13, 0xdd0, 0xf13, 0xdd0, 0x1022, 0xed9, 0x1022, -0xed9, 0x114e, 0xffe, 0x114e, 0xffe, 0x114e, 0xffe, 0x138d, 0x1235, 0x138d, 0x1235, -0x1458, 0x12f7, 0x1458, 0x12f7, 0x13b9, 0x124e, 0x13b9, 0x124e, 0x1246, 0x10d3, 0x1246, -0x10d3, 0x1296, 0x111c, 0x1296, 0x111c, 0xff7, 0xe76, 0xff7, 0xe76, 0xff7, 0xe76, -0xf47, 0xdc3, 0xf47, 0xdc3, 0x1049, 0xec3, 0x1049, 0xec3, 0xe6a, 0xce4, 0xe6a, -0xce4, 0x10cb, 0xf49, 0x10cb, 0xf49, 0x126f, 0x10f4, 0x126f, 0x10f4, 0x127c, 0x110c, -0x127c, 0x110c, 0x127c, 0x110c, 0x129f, 0x113d, 0x129f, 0x113d, 0x10d8, 0xf88, 0x10d8, -0xf88, 0xf20, 0xde5, 0xf20, 0xde5, 0xc71, 0xb4e, 0xc71, 0xb4e, 0x9f6, 0x8ef, -0x9f6, 0x8ef, 0x9f6, 0x8ef, 0x8f1, 0x808, 0x8f1, 0x808, 0x8de, 0x815, 0x8de, -0x815, 0x93b, 0x894, 0x93b, 0x894, 0x8d4, 0x850, 0x8d4, 0x850, 0x825, 0x7c5, -0x825, 0x7c5, 0x6df, 0x6a2, 0x6df, 0x6a2, 0x6df, 0x6a2, 0x509, 0x4f0, 0x509, -0x4f0, 0x317, 0x31f, 0x317, 0x31f, 0xbe, 0xe7, 0xbe, 0xe7, 0xffe7, 0x2e, -0xffe7, 0x2e, 0xff66, 0xffc8, 0xff66, 0xffc8, 0xff66, 0xffc8, 0xfef6, 0xff70, 0xfef6, -0xff70, 0xff2c, 0xffbb, 0xff2c, 0xffbb, 0xff52, 0xfff1, 0xff52, 0xfff1, 0xffc9, 0x75, -0xffc9, 0x75, 0xff13, 0xffc8, 0xff13, 0xffc8, 0xfd3d, 0xfdf8, 0xfd3d, 0xfdf8, 0xfd3d, -0xfdf8, 0xfcfa, 0xfdb6, 0xfcfa, 0xfdb6, 0xfda1, 0xfe5b, 0xfda1, 0xfe5b, 0xfd78, 0xfe2c, -0xfd78, 0xfe2c, 0xfdc5, 0xfe70, 0xfdc5, 0xfe70, 0xfcc3, 0xfd63, 0xfcc3, 0xfd63, 0xfcfd, -0xfd90, 0xfcfd, 0xfd90, 0xfcfd, 0xfd90, 0xfd60, 0xfde3, 0xfd60, 0xfde3, 0xfc70, 0xfce4, -0xfc70, 0xfce4, 0xfd4f, 0xfdb3, 0xfd4f, 0xfdb3, 0xfc77, 0xfcc9, 0xfc77, 0xfcc9, 0xfcab, -0xfced, 0xfcab, 0xfced, 0xfcab, 0xfced, 0xfdee, 0xfe21, 0xfdee, 0xfe21, 0xfe26, 0xfe4a, -0xfe26, 0xfe4a, 0xfe37, 0xfe4e, 0xfe37, 0xfe4e, 0xff4b, 0xff57, 0xff4b, 0xff57, 0x99, -0x9c, 0x99, 0x9c, 0xff90, 0xff8b, 0xff90, 0xff8b, 0xff90, 0xff8b, 0xff6f, 0xff66, -0xff6f, 0xff66, 0xff53, 0xff47, 0xff53, 0xff47, 0xff50, 0xff42, 0xff50, 0xff42, 0xffb8, -0xffab, 0xffb8, 0xffab, 0x89, 0x7e, 0x89, 0x7e, 0x264, 0x25c, 0x264, 0x25c, -0x264, 0x25c, 0x31c, 0x317, 0x31c, 0x317, 0x416, 0x416, 0x416, 0x416, 0x511, -0x514, 0x511, 0x514, 0x656, 0x65c, 0x656, 0x65c, 0x7aa, 0x7b1, 0x7aa, 0x7b1, -0x7aa, 0x7b1, 0x693, 0x69c, 0x693, 0x69c, 0x676, 0x67d, 0x676, 0x67d, 0x62a, -0x62d, 0x62a, 0x62d, 0x4d5, 0x4d1, 0x4d5, 0x4d1, 0x6f0, 0x6e3, 0x6f0, 0x6e3, -0x750, 0x737, 0x750, 0x737, 0x750, 0x737, 0x650, 0x627, 0x650, 0x627, 0x7a0, -0x765, 0x7a0, 0x765, 0x939, 0x8e8, 0x939, 0x8e8, 0x9ae, 0x944, 0x9ae, 0x944, -0x8a1, 0x81c, 0x8a1, 0x81c, 0x93b, 0x898, 0x93b, 0x898, 0x93b, 0x898, 0x93c, -0x878, 0x93c, 0x878, 0x8df, 0x7f9, 0x8df, 0x7f9, 0x9d2, 0x8c9, 0x9d2, 0x8c9, -0xadc, 0x9b0, 0xadc, 0x9b0, 0xd4e, 0xbfd, 0xd4e, 0xbfd, 0xd4e, 0xbfd, 0xf47, -0xdd3, 0xf47, 0xdd3, 0x108f, 0xef8, 0x108f, 0xef8, 0x11fa, 0x1040, 0x11fa, 0x1040, -0x1186, 0xfac, 0x1186, 0xfac, 0x1126, 0xf2e, 0x1126, 0xf2e, 0x124a, 0x1036, 0x124a, -0x1036, 0x124a, 0x1036, 0x1223, 0xff8, 0x1223, 0xff8, 0x1287, 0x1046, 0x1287, 0x1046, -0x1431, 0x11de, 0x1431, 0x11de, 0x1496, 0x1234, 0x1496, 0x1234, 0x14f3, 0x1286, 0x14f3, -0x1286, 0x16b5, 0x1440, 0x16b5, 0x1440, 0x16b5, 0x1440, 0x1625, 0x13ac, 0x1625, 0x13ac, -0x141c, 0x11a2, 0x141c, 0x11a2, 0x1319, 0x10a1, 0x1319, 0x10a1, 0x1069, 0xdf6, 0x1069, -0xdf6, 0xfa3, 0xd36, 0xfa3, 0xd36, 0xfa3, 0xd36, 0x106c, 0xe07, 0x106c, 0xe07, -0x10e1, 0xe86, 0x10e1, 0xe86, 0x1240, 0xfef, 0x1240, 0xfef, 0x134b, 0x1106, 0x134b, -0x1106, 0x147c, 0x1242, 0x147c, 0x1242, 0x14a3, 0x1275, 0x14a3, 0x1275, 0x14a3, 0x1275, -0x13da, 0x11b5, 0x13da, 0x11b5, 0x1191, 0xf76, 0x1191, 0xf76, 0xf5c, 0xd48, 0xf5c, -0xd48, 0xf41, 0xd34, 0xf41, 0xd34, 0xd80, 0xb77, 0xd80, 0xb77, 0xd48, 0xb41, -0xd48, 0xb41, 0xd48, 0xb41, 0xef3, 0xcee, 0xef3, 0xcee, 0xe5b, 0xc55, 0xe5b, -0xc55, 0xddb, 0xbd2, 0xddb, 0xbd2, 0xc3f, 0xa32, 0xc3f, 0xa32, 0xc74, 0xa62, -0xc74, 0xa62, 0xc74, 0xa62, 0xc17, 0x9ff, 0xc17, 0x9ff, 0x9a0, 0x781, 0x9a0, -0x781, 0xa24, 0x7ff, 0xa24, 0x7ff, 0x8af, 0x684, 0x8af, 0x684, 0x909, 0x6d8, -0x909, 0x6d8, 0xa87, 0x853, 0xa87, 0x853, 0xa87, 0x853, 0xb02, 0x8cc, 0xb02, -0x8cc, 0xbf9, 0x9c3, 0xbf9, 0x9c3, 0xa67, 0x833, 0xa67, 0x833, 0xafb, 0x8cc, -0xafb, 0x8cc, 0xb48, 0x921, 0xb48, 0x921, 0xa08, 0x7ec, 0xa08, 0x7ec, 0xa08, -0x7ec, 0xa0f, 0x801, 0xa0f, 0x801, 0x9a2, 0x7a5, 0x9a2, 0x7a5, 0x926, 0x73e, -0x926, 0x73e, 0x9e9, 0x819, 0x9e9, 0x819, 0xb53, 0x99d, 0xb53, 0x99d, 0xb53, -0x99d, 0xbb9, 0xa1f, 0xbb9, 0xa1f, 0xa9e, 0x924, 0xa9e, 0x924, 0x856, 0x6fc, -0x856, 0x6fc, 0x734, 0x5fc, 0x734, 0x5fc, 0x77d, 0x668, 0x77d, 0x668, 0x705, -0x613, 0x705, 0x613, 0x705, 0x613, 0x634, 0x565, 0x634, 0x565, 0x6d4, 0x627, -0x6d4, 0x627, 0x6a5, 0x61a, 0x6a5, 0x61a, 0x534, 0x4c9, 0x534, 0x4c9, 0x505, -0x4b8, 0x505, 0x4b8, 0x360, 0x32e, 0x360, 0x32e, 0x360, 0x32e, 0x150, 0x137, -0x150, 0x137, 0x261, 0x25f, 0x261, 0x25f, 0x2b2, 0x2c5, 0x2b2, 0x2c5, 0x21c, -0x240, 0x21c, 0x240, 0x25a, 0x28c, 0x25a, 0x28c, 0x25a, 0x28c, 0x1b4, 0x1f3, -0x1b4, 0x1f3, 0x55, 0x9d, 0x55, 0x9d, 0xfec5, 0xff14, 0xfec5, 0xff14, 0xff3c, -0xff90, 0xff3c, 0xff90, 0xfe15, 0xfe6d, 0xfe15, 0xfe6d, 0xfc31, 0xfc8c, 0xfc31, 0xfc8c, -0xfc31, 0xfc8c, 0xfc50, 0xfcac, 0xfc50, 0xfcac, 0xfac2, 0xfb20, 0xfac2, 0xfb20, 0xfb44, -0xfba3, 0xfb44, 0xfba3, 0xfd9b, 0xfdfb, 0xfd9b, 0xfdfb, 0xfff5, 0x58, 0xfff5, 0x58, -0xf6, 0x15c, 0xf6, 0x15c, 0xf6, 0x15c, 0x9a, 0x105, 0x9a, 0x105, 0xd4, -0x144, 0xd4, 0x144, 0xffa5, 0x1d, 0xffa5, 0x1d, 0xfe0f, 0xfe92, 0xfe0f, 0xfe92, -0xfbdc, 0xfc6b, 0xfbdc, 0xfc6b, 0xfbdc, 0xfc6b, 0xfaba, 0xfb56, 0xfaba, 0xfb56, 0xface, -0xfb7a, 0xface, 0xfb7a, 0xfa68, 0xfb26, 0xfa68, 0xfb26, 0xfafa, 0xfbcc, 0xfafa, 0xfbcc, -0xfa7f, 0xfb66, 0xfa7f, 0xfb66, 0xf986, 0xfa83, 0xf986, 0xfa83, 0xf986, 0xfa83, 0xf870, -0xf984, 0xf870, 0xf984, 0xf6df, 0xf80b, 0xf6df, 0xf80b, 0xf5d5, 0xf719, 0xf5d5, 0xf719, -0xf32a, 0xf486, 0xf32a, 0xf486, 0xf2a9, 0xf41c, 0xf2a9, 0xf41c, 0xf2a9, 0xf41c, 0xf1f8, -0xf381, 0xf1f8, 0xf381, 0xefd3, 0xf170, 0xefd3, 0xf170, 0xf1ba, 0xf36b, 0xf1ba, 0xf36b, -0xf2ea, 0xf4ac, 0xf2ea, 0xf4ac, 0xf46b, 0xf63d, 0xf46b, 0xf63d, 0xf3e4, 0xf5c4, 0xf3e4, -0xf5c4, 0xf3e4, 0xf5c4, 0xf2ca, 0xf4b4, 0xf2ca, 0xf4b4, 0xf40e, 0xf602, 0xf40e, 0xf602, -0xf170, 0xf36a, 0xf170, 0xf36a, 0xf02b, 0xf229, 0xf02b, 0xf229, 0xef43, 0xf143, 0xef43, -0xf143, 0xee11, 0xf010, 0xee11, 0xf010, 0xee11, 0xf010, 0xee0a, 0xf007, 0xee0a, 0xf007, -0xecd1, 0xeeca, 0xecd1, 0xeeca, 0xec71, 0xee66, 0xec71, 0xee66, 0xeb7e, 0xed6c, 0xeb7e, -0xed6c, 0xead8, 0xecc0, 0xead8, 0xecc0, 0xead8, 0xecc0, 0xea14, 0xebf5, 0xea14, 0xebf5, -0xe87c, 0xea56, 0xe87c, 0xea56, 0xe7c8, 0xe99c, 0xe7c8, 0xe99c, 0xe791, 0xe95f, 0xe791, -0xe95f, 0xe82c, 0xe9f7, 0xe82c, 0xe9f7, 0xe8c1, 0xea88, 0xe8c1, 0xea88, 0xe8c1, 0xea88, -0xe90d, 0xead2, 0xe90d, 0xead2, 0xe941, 0xeb07, 0xe941, 0xeb07, 0xe8ed, 0xeab5, 0xe8ed, -0xeab5, 0xe850, 0xea1c, 0xe850, 0xea1c, 0xe6a1, 0xe873, 0xe6a1, 0xe873, 0xe5ee, 0xe7c8, -0xe5ee, 0xe7c8, 0xe5ee, 0xe7c8, 0xe574, 0xe758, 0xe574, 0xe758, 0xe505, 0xe6f4, 0xe505, -0xe6f4, 0xe639, 0xe836, 0xe639, 0xe836, 0xe618, 0xe823, 0xe618, 0xe823, 0xe655, 0xe870, -0xe655, 0xe870, 0xe655, 0xe870, 0xe697, 0xe8c1, 0xe697, 0xe8c1, 0xe6ef, 0xe929, 0xe6ef, -0xe929, 0xe720, 0xe96b, 0xe720, 0xe96b, 0xe628, 0xe882, 0xe628, 0xe882, 0xe5e3, 0xe84c, -0xe5e3, 0xe84c, 0xe597, 0xe80d, 0xe597, 0xe80d, 0xe597, 0xe80d, 0xe67c, 0xe8ff, 0xe67c, -0xe8ff, 0xe761, 0xe9ed, 0xe761, 0xe9ed, 0xea08, 0xec9d, 0xea08, 0xec9d, 0xec60, 0xeefb, -0xec60, 0xeefb, 0xed21, 0xefc0, 0xed21, 0xefc0, 0xf104, 0xf3a4, 0xf104, 0xf3a4, 0xf104, -0xf3a4, 0xf23b, 0xf4da, 0xf23b, 0xf4da, 0xf0e2, 0xf37d, 0xf0e2, 0xf37d, 0xf211, 0xf4a6, -0xf211, 0xf4a6, 0xf1fc, 0xf489, 0xf1fc, 0xf489, 0xf107, 0xf389, 0xf107, 0xf389, 0xf107, -0xf389, 0xf2ff, 0xf575, 0xf2ff, 0xf575, 0xf3d7, 0xf640, 0xf3d7, 0xf640, 0xf296, 0xf4f0, -0xf296, 0xf4f0, 0xf2e5, 0xf52f, 0xf2e5, 0xf52f, 0xf401, 0xf63b, 0xf401, 0xf63b, 0xf48f, -0xf6b8, 0xf48f, 0xf6b8, 0xf48f, 0xf6b8, 0xf4a8, 0xf6c0, 0xf4a8, 0xf6c0, 0xf533, 0xf73b, -0xf533, 0xf73b, 0xf646, 0xf83e, 0xf646, 0xf83e, 0xf6ab, 0xf894, 0xf6ab, 0xf894, 0xf6ad, -0xf889, 0xf6ad, 0xf889, 0xf70b, 0xf8da, 0xf70b, 0xf8da, 0xf70b, 0xf8da, 0xf7cd, 0xf991, -0xf7cd, 0xf991, 0xf807, 0xf9c1, 0xf807, 0xf9c1, 0xf79d, 0xf94d, 0xf79d, 0xf94d, 0xf87d, -0xfa26, 0xf87d, 0xfa26, 0xf704, 0xf8a5, 0xf704, 0xf8a5, 0xf704, 0xf8a5, 0xf630, 0xf7cc, -0xf630, 0xf7cc, 0xf78c, 0xf922, 0xf78c, 0xf922, 0xf650, 0xf7e2, 0xf650, 0xf7e2, 0xf726, -0xf8b3, 0xf726, 0xf8b3, 0xf66d, 0xf7f5, 0xf66d, 0xf7f5, 0xf54d, 0xf6d0, 0xf54d, 0xf6d0, -0xf54d, 0xf6d0, 0xf5e1, 0xf75e, 0xf5e1, 0xf75e, 0xf406, 0xf57c, 0xf406, 0xf57c, 0xf438, -0xf5a5, 0xf438, 0xf5a5, 0xf365, 0xf4c9, 0xf365, 0xf4c9, 0xf0f1, 0xf24a, 0xf0f1, 0xf24a, -0xf1a5, 0xf2f1, 0xf1a5, 0xf2f1, 0xf1a5, 0xf2f1, 0xf348, 0xf485, 0xf348, 0xf485, 0xf3b3, -0xf4df, 0xf3b3, 0xf4df, 0xf38e, 0xf4a7, 0xf38e, 0xf4a7, 0xf3b2, 0xf4b6, 0xf3b2, 0xf4b6, -0xf369, 0xf457, 0xf369, 0xf457, 0xf369, 0xf457, 0xf364, 0xf439, 0xf364, 0xf439, 0xf42c, -0xf4e6, 0xf42c, 0xf4e6, 0xf390, 0xf42e, 0xf390, 0xf42e, 0xf3c9, 0xf44a, 0xf3c9, 0xf44a, -0xf536, 0xf599, 0xf536, 0xf599, 0xf646, 0xf68b, 0xf646, 0xf68b, 0xf646, 0xf68b, 0xf82b, -0xf850, 0xf82b, 0xf850, 0xf95d, 0xf963, 0xf95d, 0xf963, 0xfad1, 0xfab9, 0xfad1, 0xfab9, -0xfc57, 0xfc21, 0xfc57, 0xfc21, 0xfdba, 0xfd66, 0xfdba, 0xfd66, 0xff9a, 0xff28, 0xff9a, -0xff28, 0xff9a, 0xff28, 0x73, 0xffe7, 0x73, 0xffe7, 0xee, 0x47, 0xee, 0x47, -0x2a9, 0x1e9, 0x2a9, 0x1e9, 0x4f6, 0x420, 0x4f6, 0x420, 0x738, 0x64c, 0x738, -0x64c, 0x738, 0x64c, 0x9dd, 0x8de, 0x9dd, 0x8de, 0xb2d, 0xa1c, 0xb2d, 0xa1c, -0xd14, 0xbf3, 0xd14, 0xbf3, 0xf74, 0xe46, 0xf74, 0xe46, 0xf2d, 0xdf2, 0xf2d, -0xdf2, 0xe46, 0xd00, 0xe46, 0xd00, 0xe46, 0xd00, 0xe26, 0xcd6, 0xe26, 0xcd6, -0xcfa, 0xba1, 0xcfa, 0xba1, 0xcf3, 0xb93, 0xcf3, 0xb93, 0xd91, 0xc29, 0xd91, -0xc29, 0xcd3, 0xb66, 0xcd3, 0xb66, 0xc84, 0xb11, 0xc84, 0xb11, 0xc84, 0xb11, -0xbcf, 0xa57, 0xbcf, 0xa57, 0xcaf, 0xb32, 0xcaf, 0xb32, 0xbea, 0xa68, 0xbea, -0xa68, 0x9a2, 0x81a, 0x9a2, 0x81a, 0x8d5, 0x748, 0x8d5, 0x748, 0x8d5, 0x748, -0x876, 0x6e3, 0x876, 0x6e3, 0x8a9, 0x710, 0x8a9, 0x710, 0x8b1, 0x712, 0x8b1, -0x712, 0xad0, 0x92a, 0xad0, 0x92a, 0xb1c, 0x970, 0xb1c, 0x970, 0xc72, 0xabf, -0xc72, 0xabf, 0xc72, 0xabf, 0xfb1, 0xdf7, 0xfb1, 0xdf7, 0xe28, 0xc67, 0xe28, -0xc67, 0xcb6, 0xaee, 0xcb6, 0xaee, 0xd99, 0xbcb, 0xd99, 0xbcb, 0xdd7, 0xc03, -0xdd7, 0xc03, 0xdd2, 0xbf8, 0xdd2, 0xbf8, 0xdd2, 0xbf8, 0xe40, 0xc62, 0xe40, -0xc62, 0xe47, 0xc67, 0xe47, 0xc67, 0xe3c, 0xc5a, 0xe3c, 0xc5a, 0xdfe, 0xc1b, -0xdfe, 0xc1b, 0xdc7, 0xbe5, 0xdc7, 0xbe5, 0xdc7, 0xbe5, 0xcde, 0xb00, 0xcde, -0xb00, 0xba3, 0x9c9, 0xba3, 0x9c9, 0xab7, 0x8e4, 0xab7, 0x8e4, 0xa1b, 0x850, -0xa1b, 0x850, 0x994, 0x7d3, 0x994, 0x7d3, 0x933, 0x77d, 0x933, 0x77d, 0x933, -0x77d, 0x977, 0x7cf, 0x977, 0x7cf, 0x8fd, 0x764, 0x8fd, 0x764, 0x9b2, 0x82a, -0x9b2, 0x82a, 0x93a, 0x7c4, 0x93a, 0x7c4, 0x893, 0x72f, 0x893, 0x72f, 0x893, -0x72f, 0x7c4, 0x673, 0x7c4, 0x673, 0x58d, 0x451, 0x58d, 0x451, 0x653, 0x52b, -0x653, 0x52b, 0x5f2, 0x4de, 0x5f2, 0x4de, 0x3d1, 0x2d2, 0x3d1, 0x2d2, 0x3a8, -0x2bd, 0x3a8, 0x2bd, 0x3a8, 0x2bd, 0x49b, 0x3c2, 0x49b, 0x3c2, 0x436, 0x36f, -0x436, 0x36f, 0x3f3, 0x33d, 0x3f3, 0x33d, 0x3a5, 0x300, 0x3a5, 0x300, 0x223, -0x18c, 0x223, 0x18c, 0x30a, 0x280, 0x30a, 0x280, 0x30a, 0x280, 0x4a8, 0x42b, -0x4a8, 0x42b, 0x42b, 0x3b9, 0x42b, 0x3b9, 0x3dd, 0x375, 0x3dd, 0x375, 0x381, -0x320, 0x381, 0x320, 0x258, 0x1ff, 0x258, 0x1ff, 0x258, 0x1ff, 0x40a, 0x3b7, -0x40a, 0x3b7, 0x4d2, 0x484, 0x4d2, 0x484, 0x401, 0x3b7, 0x401, 0x3b7, 0x4ed, -0x4a7, 0x4ed, 0x4a7, 0x46b, 0x427, 0x46b, 0x427, 0x5fa, 0x5b9, 0x5fa, 0x5b9, -0x5fa, 0x5b9, 0x83c, 0x7fd, 0x83c, 0x7fd, 0x6ac, 0x670, 0x6ac, 0x670, 0x5d3, -0x599, 0x5d3, 0x599, 0x506, 0x4d0, 0x506, 0x4d0, 0x532, 0x4ff, 0x532, 0x4ff, -0x67d, 0x64c, 0x67d, 0x64c, 0x67d, 0x64c, 0x53f, 0x511, 0x53f, 0x511, 0x576, -0x54b, 0x576, 0x54b, 0x673, 0x64b, 0x673, 0x64b, 0x799, 0x775, 0x799, 0x775, -0x7cd, 0x7ac, 0x7cd, 0x7ac, 0x7cd, 0x7ac, 0x860, 0x842, 0x860, 0x842, 0xa5c, -0xa40, 0xa5c, 0xa40, 0x912, 0x8f8, 0x912, 0x8f8, 0xa1c, 0xa04, 0xa1c, 0xa04, -0x965, 0x94d, 0x965, 0x94d, 0x5e8, 0x5d0, 0x5e8, 0x5d0, 0x5e8, 0x5d0, 0x6a6, -0x68d, 0x6a6, 0x68d, 0x6e6, 0x6cb, 0x6e6, 0x6cb, 0x6ca, 0x6ab, 0x6ca, 0x6ab, -0x742, 0x71e, 0x742, 0x71e, 0x78f, 0x765, 0x78f, 0x765, 0x839, 0x808, 0x839, -0x808, 0x839, 0x808, 0x804, 0x7ca, 0x804, 0x7ca, 0x88a, 0x847, 0x88a, 0x847, -0x8da, 0x88c, 0x8da, 0x88c, 0x77c, 0x721, 0x77c, 0x721, 0x709, 0x6a0, 0x709, -0x6a0, 0x709, 0x6a0, 0x765, 0x6ef, 0x765, 0x6ef, 0x806, 0x780, 0x806, 0x780, -0x81d, 0x787, 0x81d, 0x787, 0x863, 0x7bc, 0x863, 0x7bc, 0x9bb, 0x904, 0x9bb, -0x904, 0xace, 0xa05, 0xace, 0xa05, 0xace, 0xa05, 0xb87, 0xaad, 0xb87, 0xaad, -0xc01, 0xb14, 0xc01, 0xb14, 0xbef, 0xaf1, 0xbef, 0xaf1, 0xb46, 0xa36, 0xb46, -0xa36, 0xcb6, 0xb95, 0xcb6, 0xb95, 0xe0c, 0xcda, 0xe0c, 0xcda, 0xe0c, 0xcda, -0xd57, 0xc15, 0xd57, 0xc15, 0xd43, 0xbf1, 0xd43, 0xbf1, 0xd53, 0xbf1, 0xd53, -0xbf1, 0xcbc, 0xb4b, 0xcbc, 0xb4b, 0xd92, 0xc13, 0xd92, 0xc13, 0xd92, 0xc13, -0xe1a, 0xc8e, 0xe1a, 0xc8e, 0xca4, 0xb0c, 0xca4, 0xb0c, 0xc15, 0xa70, 0xc15, -0xa70, 0xb88, 0x9d9, 0xb88, 0x9d9, 0xc1f, 0xa66, 0xc1f, 0xa66, 0xb96, 0x9d3, -0xb96, 0x9d3, 0xb96, 0x9d3, 0xadc, 0x910, 0xadc, 0x910, 0xb89, 0x9b6, 0xb89, -0x9b6, 0xc88, 0xaae, 0xc88, 0xaae, 0xe23, 0xc43, 0xe23, 0xc43, 0xced, 0xb09, -0xced, 0xb09, 0xcce, 0xae5, 0xcce, 0xae5, 0xcce, 0xae5, 0xb1b, 0x92f, 0xb1b, -0x92f, 0x9eb, 0x7fd, 0x9eb, 0x7fd, 0xa7f, 0x88f, 0xa7f, 0x88f, 0x8c2, 0x6d1, -0x8c2, 0x6d1, 0x8cb, 0x6db, 0x8cb, 0x6db, 0x8cb, 0x6db, 0x739, 0x54b, 0x739, -0x54b, 0x740, 0x553, 0x740, 0x553, 0x821, 0x637, 0x821, 0x637, 0x6d1, 0x4eb, -0x6d1, 0x4eb, 0x6fc, 0x51b, 0x6fc, 0x51b, 0x5b4, 0x3d9, 0x5b4, 0x3d9, 0x5b4, -0x3d9, 0x55f, 0x38a, 0x55f, 0x38a, 0x63c, 0x46f, 0x63c, 0x46f, 0x5c5, 0x401, -0x5c5, 0x401, 0x69d, 0x4e2, 0x69d, 0x4e2, 0x6cd, 0x51d, 0x6cd, 0x51d, 0x83c, -0x697, 0x83c, 0x697, 0x83c, 0x697, 0xb20, 0x987, 0xb20, 0x987, 0xad0, 0x944, -0xad0, 0x944, 0xa39, 0x8ba, 0xa39, 0x8ba, 0xab1, 0x942, 0xab1, 0x942, 0xb4d, -0x9ed, 0xb4d, 0x9ed, 0xb4d, 0x9ed, 0xa57, 0x908, 0xa57, 0x908, 0x90c, 0x7ce, -0x90c, 0x7ce, 0x8a4, 0x779, 0x8a4, 0x779, 0x8c9, 0x7b1, 0x8c9, 0x7b1, 0x9a7, -0x8a3, 0x9a7, 0x8a3, 0x903, 0x814, 0x903, 0x814, 0x903, 0x814, 0x802, 0x728, -0x802, 0x728, 0x6b6, 0x5f3, 0x6b6, 0x5f3, 0x5d6, 0x529, 0x5d6, 0x529, 0x53e, -0x4a9, 0x53e, 0x4a9, 0x5c5, 0x547, 0x5c5, 0x547, 0x599, 0x534, 0x599, 0x534, -0x599, 0x534, 0x4e8, 0x49c, 0x4e8, 0x49c, 0x5e4, 0x5b1, 0x5e4, 0x5b1, 0x3bb, -0x3a1, 0x3bb, 0x3a1, 0x369, 0x368, 0x369, 0x368, 0x3f5, 0x40d, 0x3f5, 0x40d, -0x3f5, 0x40d, 0x257, 0x288, 0x257, 0x288, 0x336, 0x381, 0x336, 0x381, 0x4b8, -0x51c, 0x4b8, 0x51c, 0x507, 0x584, 0x507, 0x584, 0x442, 0x4d7, 0x442, 0x4d7, -0x3be, 0x46c, 0x3be, 0x46c, 0x3be, 0x46c, 0x1c2, 0x288, 0x1c2, 0x288, 0x9a, -0x177, 0x9a, 0x177, 0x14c, 0x241, 0x14c, 0x241, 0xffe7, 0xf3, 0xffe7, 0xf3, -0xff7d, 0x9f, 0xff7d, 0x9f, 0xfffd, 0x135, 0xfffd, 0x135, 0xfffd, 0x135, 0x116, -0x263, 0x116, 0x263, 0x298, 0x3f9, 0x298, 0x3f9, 0x2f6, 0x46b, 0x2f6, 0x46b, -0x33d, 0x4c5, 0x33d, 0x4c5, 0x2ea, 0x485, 0x2ea, 0x485, 0x2ea, 0x485, 0x314, -0x4c0, 0x314, 0x4c0, 0x19f, 0x35c, 0x19f, 0x35c, 0xdd, 0x2aa, 0xdd, 0x2aa, -0xab, 0x288, 0xab, 0x288, 0xfec7, 0xb3, 0xfec7, 0xb3, 0xff90, 0x188, 0xff90, -0x188, 0xff90, 0x188, 0xff29, 0x12f, 0xff29, 0x12f, 0xfe81, 0x92, 0xfe81, 0x92, -0xfd79, 0xff94, 0xfd79, 0xff94, 0xfcb3, 0xfed8, 0xfcb3, 0xfed8, 0xfd8d, 0xffbb, 0xfd8d, -0xffbb, 0xfd8d, 0xffbb, 0xfb0e, 0xfd43, 0xfb0e, 0xfd43, 0xfa0e, 0xfc4a, 0xfa0e, 0xfc4a, -0xf91e, 0xfb5f, 0xf91e, 0xfb5f, 0xf7a5, 0xf9ea, 0xf7a5, 0xf9ea, 0xf710, 0xf958, 0xf710, -0xf958, 0xf4ed, 0xf737, 0xf4ed, 0xf737, 0xf4ed, 0xf737, 0xf56a, 0xf7b5, 0xf56a, 0xf7b5, -0xf61b, 0xf867, 0xf61b, 0xf867, 0xf68b, 0xf8d7, 0xf68b, 0xf8d7, 0xf824, 0xfa6e, 0xf824, -0xfa6e, 0xf733, 0xf97b, 0xf733, 0xf97b, 0xf5de, 0xf823, 0xf5de, 0xf823, 0xf5de, 0xf823, -0xf4c5, 0xf705, 0xf4c5, 0xf705, 0xf406, 0xf642, 0xf406, 0xf642, 0xf3cb, 0xf602, 0xf3cb, -0xf602, 0xf29c, 0xf4ce, 0xf29c, 0xf4ce, 0xf0ba, 0xf2e7, 0xf0ba, 0xf2e7, 0xf0ba, 0xf2e7, -0xeeab, 0xf0d2, 0xeeab, 0xf0d2, 0xef1c, 0xf13c, 0xef1c, 0xf13c, 0xeef3, 0xf10d, 0xeef3, -0xf10d, 0xee65, 0xf079, 0xee65, 0xf079, 0xed8f, 0xef9c, 0xed8f, 0xef9c, 0xeada, 0xece0, -0xeada, 0xece0, 0xeada, 0xece0, 0xea70, 0xec70, 0xea70, 0xec70, 0xea43, 0xec3e, 0xea43, -0xec3e, 0xe93d, 0xeb31, 0xe93d, 0xeb31, 0xe791, 0xe97f, 0xe791, 0xe97f, 0xe72e, 0xe917, -0xe72e, 0xe917, 0xe73e, 0xe921, 0xe73e, 0xe921, 0xe73e, 0xe921, 0xe755, 0xe932, 0xe755, -0xe932, 0xe855, 0xea2d, 0xe855, 0xea2d, 0xe6dd, 0xe8af, 0xe6dd, 0xe8af, 0xe62b, 0xe7f8, -0xe62b, 0xe7f8, 0xe5d9, 0xe7a0, 0xe5d9, 0xe7a0, 0xe5d9, 0xe7a0, 0xe49e, 0xe660, 0xe49e, -0xe660, 0xe492, 0xe64f, 0xe492, 0xe64f, 0xe380, 0xe539, 0xe380, 0xe539, 0xe142, 0xe2f5, -0xe142, 0xe2f5, 0xe1bb, 0xe368, 0xe1bb, 0xe368, 0xe1f4, 0xe39c, 0xe1f4, 0xe39c, 0xe1f4, -0xe39c, 0xe162, 0xe304, 0xe162, 0xe304, 0xe270, 0xe40c, 0xe270, 0xe40c, 0xe20f, 0xe3a5, -0xe20f, 0xe3a5, 0xe244, 0xe3d4, 0xe244, 0xe3d4, 0xe2d0, 0xe459, 0xe2d0, 0xe459, 0xe38f, -0xe511, 0xe38f, 0xe511, 0xe38f, 0xe511, 0xe312, 0xe48e, 0xe312, 0xe48e, 0xe3a0, 0xe514, -0xe3a0, 0xe514, 0xe7a0, 0xe90c, 0xe7a0, 0xe90c, 0xe921, 0xea86, 0xe921, 0xea86, 0xeb49, -0xeca5, 0xeb49, 0xeca5, 0xeb49, 0xeca5, 0xed0b, 0xee5f, 0xed0b, 0xee5f, 0xec82, 0xedce, -0xec82, 0xedce, 0xee35, 0xef79, 0xee35, 0xef79, 0xef44, 0xf07f, 0xef44, 0xf07f, 0xee92, -0xefc4, 0xee92, 0xefc4, 0xedb0, 0xeeda, 0xedb0, 0xeeda, 0xedb0, 0xeeda, 0xed72, 0xee93, -0xed72, 0xee93, 0xef39, 0xf051, 0xef39, 0xf051, 0xefe7, 0xf0f7, 0xefe7, 0xf0f7, 0xf050, -0xf158, 0xf050, 0xf158, 0xf0f0, 0xf1ef, 0xf0f0, 0xf1ef, 0xf133, 0xf22a, 0xf133, 0xf22a, -0xf133, 0xf22a, 0xf276, 0xf366, 0xf276, 0xf366, 0xf2a8, 0xf38f, 0xf2a8, 0xf38f, 0xf4de, -0xf5be, 0xf4de, 0xf5be, 0xf544, 0xf61d, 0xf544, 0xf61d, 0xf471, 0xf542, 0xf471, 0xf542, -0xf471, 0xf542, 0xf6cb, 0xf795, 0xf6cb, 0xf795, 0xf650, 0xf714, 0xf650, 0xf714, 0xf5e8, -0xf6a5, 0xf5e8, 0xf6a5, 0xf5f1, 0xf6a7, 0xf5f1, 0xf6a7, 0xf4a8, 0xf558, 0xf4a8, 0xf558, -0xf53f, 0xf5e9, 0xf53f, 0xf5e9, 0xf53f, 0xf5e9, 0xf515, 0xf5b8, 0xf515, 0xf5b8, 0xf3e1, -0xf47e, 0xf3e1, 0xf47e, 0xf481, 0xf517, 0xf481, 0xf517, 0xf42d, 0xf4bd, 0xf42d, 0xf4bd, -0xf341, 0xf3ca, 0xf341, 0xf3ca, 0xf3e9, 0xf46a, 0xf3e9, 0xf46a, 0xf3e9, 0xf46a, 0xf393, -0xf40d, 0xf393, 0xf40d, 0xf241, 0xf2b2, 0xf241, 0xf2b2, 0xf17e, 0xf1e7, 0xf17e, 0xf1e7, -0xf1f9, 0xf259, 0xf1f9, 0xf259, 0xf262, 0xf2b8, 0xf262, 0xf2b8, 0xf262, 0xf2b8, 0xf299, -0xf2e4, 0xf299, 0xf2e4, 0xf287, 0xf2c7, 0xf287, 0xf2c7, 0xf30b, 0xf340, 0xf30b, 0xf340, -0xf4e6, 0xf50d, 0xf4e6, 0xf50d, 0xf408, 0xf422, 0xf408, 0xf422, 0xf286, 0xf291, 0xf286, -0xf291, 0xf286, 0xf291, 0xf336, 0xf332, 0xf336, 0xf332, 0xf4ee, 0xf4d9, 0xf4ee, 0xf4d9, -0xf6de, 0xf6b9, 0xf6de, 0xf6b9, 0xf782, 0xf74b, 0xf782, 0xf74b, 0xf890, 0xf846, 0xf890, -0xf846, 0xf968, 0xf90a, 0xf968, 0xf90a, 0xf968, 0xf90a, 0xfb88, 0xfb17, 0xfb88, 0xfb17, -0xff91, 0xff0b, 0xff91, 0xff0b, 0xd5, 0x3a, 0xd5, 0x3a, 0x2f7, 0x247, 0x2f7, -0x247, 0x535, 0x470, 0x535, 0x470, 0x535, 0x470, 0x646, 0x56b, 0x646, 0x56b, -0x824, 0x734, 0x824, 0x734, 0x95b, 0x855, 0x95b, 0x855, 0xa9a, 0x980, 0xa9a, -0x980, 0xaf2, 0x9c3, 0xaf2, 0x9c3, 0xe46, 0xd03, 0xe46, 0xd03, 0xe46, 0xd03, -0x115f, 0x1009, 0x115f, 0x1009, 0x1214, 0x10ab, 0x1214, 0x10ab, 0x146f, 0x12f5, 0x146f, -0x12f5, 0x144b, 0x12c0, 0x144b, 0x12c0, 0x143e, 0x12a4, 0x143e, 0x12a4, 0x1518, 0x1370, -0x1518, 0x1370, 0x1518, 0x1370, 0x157b, 0x13c5, 0x157b, 0x13c5, 0x1619, 0x1458, 0x1619, -0x1458, 0x146d, 0x12a2, 0x146d, 0x12a2, 0x13d8, 0x1205, 0x13d8, 0x1205, 0x14ae, 0x12d3, -0x14ae, 0x12d3, 0x14ae, 0x12d3, 0x1469, 0x1288, 0x1469, 0x1288, 0x1458, 0x1273, 0x1458, -0x1273, 0x1446, 0x125f, 0x1446, 0x125f, 0x13af, 0x11c6, 0x13af, 0x11c6, 0x10f4, 0xf0c, -0x10f4, 0xf0c, 0xfef, 0xe08, 0xfef, 0xe08, 0xfef, 0xe08, 0xfb8, 0xdd4, 0xfb8, -0xdd4, 0xd43, 0xb63, 0xd43, 0xb63, 0xedc, 0xd01, 0xedc, 0xd01, 0xfdf, 0xe0a, -0xfdf, 0xe0a, 0x1025, 0xe57, 0x1025, 0xe57, 0x12ac, 0x10e5, 0x12ac, 0x10e5, 0x12ac, -0x10e5, 0x12ec, 0x112e, 0x12ec, 0x112e, 0x12ce, 0x1118, 0x12ce, 0x1118, 0x1312, 0x1165, -0x1312, 0x1165, 0x12b6, 0x1112, 0x12b6, 0x1112, 0x124f, 0x10b5, 0x124f, 0x10b5, 0x124f, -0x10b5, 0x11fc, 0x106c, 0x11fc, 0x106c, 0x10d2, 0xf4c, 0x10d2, 0xf4c, 0x1081, 0xf05, -0x1081, 0xf05, 0xf7b, 0xe09, 0xf7b, 0xe09, 0xe0b, 0xca2, 0xe0b, 0xca2, 0xdd2, -0xc73, 0xdd2, 0xc73, 0xdd2, 0xc73, 0xcb8, 0xb61, 0xcb8, 0xb61, 0xc2d, 0xadf, -0xc2d, 0xadf, 0xad8, 0x993, 0xad8, 0x993, 0x943, 0x806, 0x943, 0x806, 0x920, -0x7ec, 0x920, 0x7ec, 0x920, 0x7ec, 0x920, 0x7f4, 0x920, 0x7f4, 0x832, 0x70e, -0x832, 0x70e, 0x7ef, 0x6d3, 0x7ef, 0x6d3, 0x7af, 0x69b, 0x7af, 0x69b, 0x684, -0x578, 0x684, 0x578, 0x653, 0x54f, 0x653, 0x54f, 0x653, 0x54f, 0x51d, 0x421, -0x51d, 0x421, 0x390, 0x29e, 0x390, 0x29e, 0x235, 0x14b, 0x235, 0x14b, 0x164, -0x84, 0x164, 0x84, 0x2b1, 0x1db, 0x2b1, 0x1db, 0x381, 0x2b6, 0x381, 0x2b6, -0x381, 0x2b6, 0x22d, 0x16d, 0x22d, 0x16d, 0x1b6, 0x102, 0x1b6, 0x102, 0x18a, -0xe3, 0x18a, 0xe3, 0x73, 0xffd8, 0x73, 0xffd8, 0x46, 0xffba, 0x46, 0xffba, -0x46, 0xffba, 0xff4a, 0xfecc, 0xff4a, 0xfecc, 0xfe84, 0xfe15, 0xfe84, 0xfe15, 0xfff9, -0xff9a, 0xfff9, 0xff9a, 0x90, 0x42, 0x90, 0x42, 0xff33, 0xfef5, 0xff33, 0xfef5, -0xffa0, 0xff73, 0xffa0, 0xff73, 0xffa0, 0xff73, 0xff23, 0xff06, 0xff23, 0xff06, 0xfe8b, -0xfe80, 0xfe8b, 0xfe80, 0xffc7, 0xffcd, 0xffc7, 0xffcd, 0xff4f, 0xff66, 0xff4f, 0xff66, -0x95, 0xbc, 0x95, 0xbc, 0x8e, 0xc5, 0x8e, 0xc5, 0x8e, 0xc5, 0xfe4f, -0xfe95, 0xfe4f, 0xfe95, 0xfe27, 0xfe7b, 0xfe27, 0xfe7b, 0xfe7b, 0xfedd, 0xfe7b, 0xfedd, -0xfdc4, 0xfe31, 0xfdc4, 0xfe31, 0xfddb, 0xfe53, 0xfddb, 0xfe53, 0xfddb, 0xfe53, 0xfefc, -0xff7c, 0xfefc, 0xff7c, 0xfd41, 0xfdc8, 0xfd41, 0xfdc8, 0xfda7, 0xfe33, 0xfda7, 0xfe33, -0x100, 0x18f, 0x100, 0x18f, 0x66, 0xf6, 0x66, 0xf6, 0xda, 0x168, 0xda, -0x168, 0xda, 0x168, 0x2e0, 0x36a, 0x2e0, 0x36a, 0x1b2, 0x236, 0x1b2, 0x236, -0x1a4, 0x220, 0x1a4, 0x220, 0xed, 0x15f, 0xed, 0x15f, 0xffbf, 0x23, 0xffbf, -0x23, 0x73, 0xc8, 0x73, 0xc8, 0x73, 0xc8, 0xfffc, 0x3f, 0xfffc, 0x3f, -0x64, 0x94, 0x64, 0x94, 0x177, 0x192, 0x177, 0x192, 0x30a, 0x30e, 0x30a, -0x30e, 0x484, 0x46f, 0x484, 0x46f, 0x484, 0x46f, 0x4df, 0x4b0, 0x4df, 0x4b0, -0x55b, 0x510, 0x55b, 0x510, 0x533, 0x4cc, 0x533, 0x4cc, 0x531, 0x4ad, 0x531, -0x4ad, 0x562, 0x4c0, 0x562, 0x4c0, 0x49b, 0x3db, 0x49b, 0x3db, 0x49b, 0x3db, -0x3fe, 0x321, 0x3fe, 0x321, 0x40d, 0x312, 0x40d, 0x312, 0x4f5, 0x3dc, 0x4f5, -0x3dc, 0x70a, 0x5d5, 0x70a, 0x5d5, 0x995, 0x845, 0x995, 0x845, 0xbd8, 0xa6d, -0xbd8, 0xa6d, 0xbd8, 0xa6d, 0xcbb, 0xb37, 0xcbb, 0xb37, 0xe3a, 0xc9e, 0xe3a, -0xc9e, 0xeec, 0xd3a, 0xeec, 0xd3a, 0xeca, 0xd04, 0xeca, 0xd04, 0xf6c, 0xd95, -0xf6c, 0xd95, 0xf6c, 0xd95, 0xedb, 0xcf3, 0xedb, 0xcf3, 0xf40, 0xd4a, 0xf40, -0xd4a, 0x1008, 0xe06, 0x1008, 0xe06, 0x10da, 0xecf, 0x10da, 0xecf, 0x1197, 0xf85, -0x1197, 0xf85, 0x1193, 0xf7b, 0x1193, 0xf7b, 0x1193, 0xf7b, 0x10ca, 0xeae, 0x10ca, -0xeae, 0x1093, 0xe77, 0x1093, 0xe77, 0x117c, 0xf60, 0x117c, 0xf60, 0x1092, 0xe78, -0x1092, 0xe78, 0x107c, 0xe66, 0x107c, 0xe66, 0x10bd, 0xead, 0x10bd, 0xead, 0x10bd, -0xead, 0x1031, 0xe28, 0x1031, 0xe28, 0x10f3, 0xef2, 0x10f3, 0xef2, 0x1115, 0xf1e, -0x1115, 0xf1e, 0x10d8, 0xeeb, 0x10d8, 0xeeb, 0x10d3, 0xef1, 0x10d3, 0xef1, 0x10d3, -0xef1, 0xfc9, 0xdf3, 0xfc9, 0xdf3, 0xf2a, 0xd60, 0xf2a, 0xd60, 0xe98, 0xcdb, -0xe98, 0xcdb, 0xda1, 0xbf1, 0xda1, 0xbf1, 0xc4a, 0xaa7, 0xc4a, 0xaa7, 0xb04, -0x96e, 0xb04, 0x96e, 0xb04, 0x96e, 0xa12, 0x88a, 0xa12, 0x88a, 0x8f9, 0x77d, -0x8f9, 0x77d, 0xa87, 0x919, 0xa87, 0x919, 0x971, 0x80f, 0x971, 0x80f, 0x751, -0x5fc, 0x751, 0x5fc, 0x8bc, 0x773, 0x8bc, 0x773, 0x8bc, 0x773, 0x83c, 0x700, -0x83c, 0x700, 0x7f4, 0x6c3, 0x7f4, 0x6c3, 0x945, 0x821, 0x945, 0x821, 0xa6a, -0x952, 0xa6a, 0x952, 0xb13, 0xa07, 0xb13, 0xa07, 0xb13, 0xa07, 0xbd8, 0xada, -0xbd8, 0xada, 0xc0d, 0xb1c, 0xc0d, 0xb1c, 0xc43, 0xb5f, 0xc43, 0xb5f, 0xd1c, -0xc46, 0xd1c, 0xc46, 0xcdf, 0xc18, 0xcdf, 0xc18, 0xc3c, 0xb85, 0xc3c, 0xb85, -0xc3c, 0xb85, 0xb96, 0xaef, 0xb96, 0xaef, 0xafd, 0xa67, 0xafd, 0xa67, 0xab1, -0xa2d, 0xab1, 0xa2d, 0xb29, 0xab8, 0xb29, 0xab8, 0xa27, 0x9cb, 0xa27, 0x9cb, -0x8db, 0x894, 0x8db, 0x894, 0x8db, 0x894, 0x90f, 0x8de, 0x90f, 0x8de, 0x81b, -0x802, 0x81b, 0x802, 0x68a, 0x68a, 0x68a, 0x68a, 0x5db, 0x5f4, 0x5db, 0x5f4, -0x4e1, 0x515, 0x4e1, 0x515, 0x4e1, 0x515, 0x3ae, 0x3fd, 0x3ae, 0x3fd, 0x3fa, -0x466, 0x3fa, 0x466, 0x37d, 0x405, 0x37d, 0x405, 0x2c0, 0x365, 0x2c0, 0x365, -0x2dd, 0x3a0, 0x2dd, 0x3a0, 0x1c6, 0x2a5, 0x1c6, 0x2a5, 0x1c6, 0x2a5, 0x122, -0x21e, 0x122, 0x21e, 0x162, 0x27b, 0x162, 0x27b, 0xcd, 0x203, 0xcd, 0x203, -0xd7, 0x228, 0xd7, 0x228, 0xbd, 0x228, 0xbd, 0x228, 0x65, 0x1e9, 0x65, -0x1e9, 0x65, 0x1e9, 0xf5, 0x291, 0xf5, 0x291, 0xffea, 0x19b, 0xffea, 0x19b, -0xfef9, 0xbf, 0xfef9, 0xbf, 0xfea1, 0x7a, 0xfea1, 0x7a, 0xfeb1, 0x9a, 0xfeb1, -0x9a, 0xfeb1, 0x9a, 0xfe80, 0x76, 0xfe80, 0x76, 0xfece, 0xd0, 0xfece, 0xd0, -0x26, 0x231, 0x26, 0x231, 0xff68, 0x17b, 0xff68, 0x17b, 0xff9f, 0x1b6, 0xff9f, -0x1b6, 0xfed0, 0xe9, 0xfed0, 0xe9, 0xfed0, 0xe9, 0xfd3e, 0xff57, 0xfd3e, 0xff57, -0xfcde, 0xfef5, 0xfcde, 0xfef5, 0xfbf9, 0xfe0b, 0xfbf9, 0xfe0b, 0xfcdf, 0xfeea, 0xfcdf, -0xfeea, 0xfc66, 0xfe68, 0xfc66, 0xfe68, 0xfc66, 0xfe68, 0xfb08, 0xfd01, 0xfb08, 0xfd01, -0xfabc, 0xfca8, 0xfabc, 0xfca8, 0xfa1b, 0xfbfb, 0xfa1b, 0xfbfb, 0xfac6, 0xfc97, 0xfac6, -0xfc97, 0xf9bb, 0xfb7d, 0xf9bb, 0xfb7d, 0xf8a8, 0xfa5b, 0xf8a8, 0xfa5b, 0xf8a8, 0xfa5b, -0xf8b3, 0xfa57, 0xf8b3, 0xfa57, 0xf5f1, 0xf785, 0xf5f1, 0xf785, 0xf5ab, 0xf72f, 0xf5ab, -0xf72f, 0xf570, 0xf6e6, 0xf570, 0xf6e6, 0xf3ec, 0xf553, 0xf3ec, 0xf553, 0xf541, 0xf69b, -0xf541, 0xf69b, 0xf541, 0xf69b, 0xf581, 0xf6cf, 0xf581, 0xf6cf, 0xf604, 0xf747, 0xf604, -0xf747, 0xf6c2, 0xf7fc, 0xf6c2, 0xf7fc, 0xf6ca, 0xf7fc, 0xf6ca, 0xf7fc, 0xf64f, 0xf77b, -0xf64f, 0xf77b, 0xf64f, 0xf77b, 0xf45c, 0xf585, 0xf45c, 0xf585, 0xf33a, 0xf461, 0xf33a, -0xf461, 0xf29b, 0xf3c2, 0xf29b, 0xf3c2, 0xf236, 0xf35f, 0xf236, 0xf35f, 0xf1e2, 0xf30f, -0xf1e2, 0xf30f, 0xf037, 0xf16a, 0xf037, 0xf16a, 0xf037, 0xf16a, 0xf036, 0xf171, 0xf036, -0xf171, 0xf0d9, 0xf21d, 0xf0d9, 0xf21d, 0xef1e, 0xf06d, 0xef1e, 0xf06d, 0xeef5, 0xf050, -0xeef5, 0xf050, 0xeec7, 0xf02f, 0xeec7, 0xf02f, 0xed61, 0xeed8, 0xed61, 0xeed8, 0xed61, -0xeed8, 0xeccf, 0xee55, 0xeccf, 0xee55, 0xeb8a, 0xed1f, 0xeb8a, 0xed1f, 0xe9a7, 0xeb4c, -0xe9a7, 0xeb4c, 0xe92a, 0xeae0, 0xe92a, 0xeae0, 0xea2e, 0xebf3, 0xea2e, 0xebf3, 0xea2e, -0xebf3, 0xea4d, 0xec22, 0xea4d, 0xec22, 0xeaba, 0xec9e, 0xeaba, 0xec9e, 0xeb0e, 0xed00, -0xeb0e, 0xed00, 0xeb11, 0xed0f, 0xeb11, 0xed0f, 0xeb50, 0xed5b, 0xeb50, 0xed5b, 0xea0f, -0xec24, 0xea0f, 0xec24, 0xea0f, 0xec24, 0xe955, 0xeb72, 0xe955, 0xeb72, 0xe8f5, 0xeb1a, -0xe8f5, 0xeb1a, 0xe794, 0xe9be, 0xe794, 0xe9be, 0xe71d, 0xe94b, 0xe71d, 0xe94b, 0xe68f, -0xe8bf, 0xe68f, 0xe8bf, 0xe584, 0xe7b4, 0xe584, 0xe7b4, 0xe584, 0xe7b4, 0xe68a, 0xe8b8, -0xe68a, 0xe8b8, 0xe78f, 0xe9ba, 0xe78f, 0xe9ba, 0xe75d, 0xe983, 0xe75d, 0xe983, 0xe825, -0xea45, 0xe825, 0xea45, 0xe9c5, 0xebdd, 0xe9c5, 0xebdd, 0xe9c5, 0xebdd, 0xeae4, 0xecf3, -0xeae4, 0xecf3, 0xec7c, 0xee81, 0xec7c, 0xee81, 0xee1d, 0xf017, 0xee1d, 0xf017, 0xee15, -0xf003, 0xee15, 0xf003, 0xee52, 0xf035, 0xee52, 0xf035, 0xef87, 0xf15e, 0xef87, 0xf15e, -0xef87, 0xf15e, 0xf173, 0xf33d, 0xf173, 0xf33d, 0xf299, 0xf456, 0xf299, 0xf456, 0xf300, -0xf4b2, 0xf300, 0xf4b2, 0xf2cf, 0xf475, 0xf2cf, 0xf475, 0xf234, 0xf3cf, 0xf234, 0xf3cf, -0xf363, 0xf4f4, 0xf363, 0xf4f4, 0xf363, 0xf4f4, 0xf454, 0xf5dc, 0xf454, 0xf5dc, 0xf557, -0xf6d6, 0xf557, 0xf6d6, 0xf69e, 0xf817, 0xf69e, 0xf817, 0xf59f, 0xf712, 0xf59f, 0xf712, -0xf4d7, 0xf645, 0xf4d7, 0xf645, 0xf4d7, 0xf645, 0xf5cf, 0xf738, 0xf5cf, 0xf738, 0xf5da, -0xf742, 0xf5da, 0xf742, 0xf64c, 0xf7b2, 0xf64c, 0xf7b2, 0xf787, 0xf8ec, 0xf787, 0xf8ec, -0xf7aa, 0xf90f, 0xf7aa, 0xf90f, 0xf798, 0xf8fd, 0xf798, 0xf8fd, 0xf798, 0xf8fd, 0xf728, -0xf88f, 0xf728, 0xf88f, 0xf68e, 0xf7f7, 0xf68e, 0xf7f7, 0xf588, 0xf6f3, 0xf588, 0xf6f3, -0xf535, 0xf6a1, 0xf535, 0xf6a1, 0xf612, 0xf77f, 0xf612, 0xf77f, 0xf688, 0xf7f7, 0xf688, -0xf7f7, 0xf688, 0xf7f7, 0xf6b3, 0xf822, 0xf6b3, 0xf822, 0xf50b, 0xf679, 0xf50b, 0xf679, -0xf2fe, 0xf46a, 0xf2fe, 0xf46a, 0xf35b, 0xf4c4, 0xf35b, 0xf4c4, 0xf298, 0xf3fc, 0xf298, -0xf3fc, 0xf298, 0xf3fc, 0xf152, 0xf2af, 0xf152, 0xf2af, 0xf18f, 0xf2e3, 0xf18f, 0xf2e3, -0xf091, 0xf1db, 0xf091, 0xf1db, 0xf101, 0xf23e, 0xf101, 0xf23e, 0xf1f8, 0xf326, 0xf1f8, -0xf326, 0xf116, 0xf233, 0xf116, 0xf233, 0xf116, 0xf233, 0xf08f, 0xf198, 0xf08f, 0xf198, -0xefee, 0xf0e1, 0xefee, 0xf0e1, 0xef4a, 0xf025, 0xef4a, 0xf025, 0xeee7, 0xefa8, 0xeee7, -0xefa8, 0xedea, 0xee8f, 0xedea, 0xee8f, 0xed13, 0xed99, 0xed13, 0xed99, 0xed13, 0xed99, -0xedab, 0xee12, 0xedab, 0xee12, 0xee39, 0xee7f, 0xee39, 0xee7f, 0xef63, 0xef86, 0xef63, -0xef86, 0xf267, 0xf266, 0xf267, 0xf266, 0xf5c1, 0xf59b, 0xf5c1, 0xf59b, 0xf5c1, 0xf59b, -0xf8a4, 0xf85a, 0xf8a4, 0xf85a, 0xfad3, 0xfa63, 0xfad3, 0xfa63, 0xfbda, 0xfb45, 0xfbda, -0xfb45, 0xfc6a, 0xfbb0, 0xfc6a, 0xfbb0, 0xfedb, 0xfdfd, 0xfedb, 0xfdfd, 0x63, 0xff62, -0x63, 0xff62, 0x63, 0xff62, 0x89, 0xff65, 0x89, 0xff65, 0x223, 0xe0, 0x223, -0xe0, 0x2c8, 0x166, 0x2c8, 0x166, 0x41a, 0x29a, 0x41a, 0x29a, 0x743, 0x5a9, -0x743, 0x5a9, 0x96f, 0x7bd, 0x96f, 0x7bd, 0x96f, 0x7bd, 0xb42, 0x97a, 0xb42, -0x97a, 0xc62, 0xa86, 0xc62, 0xa86, 0xd12, 0xb26, 0xd12, 0xb26, 0xdbe, 0xbc4, -0xdbe, 0xbc4, 0xdec, 0xbe6, 0xdec, 0xbe6, 0xdec, 0xbe6, 0xdd1, 0xbc2, 0xdd1, -0xbc2, 0xd01, 0xaec, 0xd01, 0xaec, 0xd25, 0xb0d, 0xd25, 0xb0d, 0xcc9, 0xaaf, -0xcc9, 0xaaf, 0xd70, 0xb58, 0xd70, 0xb58, 0xf17, 0xd02, 0xf17, 0xd02, 0xf17, -0xd02, 0xd24, 0xb14, 0xd24, 0xb14, 0xc4a, 0xa42, 0xc4a, 0xa42, 0xcc7, 0xac7, -0xcc7, 0xac7, 0xb7f, 0x989, 0xb7f, 0x989, 0xaf9, 0x90e, 0xaf9, 0x90e, 0xac0, -0x8e1, 0xac0, 0x8e1, 0xac0, 0x8e1, 0x9d1, 0x7fe, 0x9d1, 0x7fe, 0xa65, 0x89e, -0xa65, 0x89e, 0xbed, 0xa33, 0xbed, 0xa33, 0xba4, 0x9f7, 0xba4, 0x9f7, 0xbc5, -0xa26, 0xbc5, 0xa26, 0xbc5, 0xa26, 0xd10, 0xb7d, 0xd10, 0xb7d, 0xdf0, 0xc68, -0xdf0, 0xc68, 0xf7b, 0xdff, 0xf7b, 0xdff, 0x108f, 0xf1e, 0x108f, 0xf1e, 0xf77, -0xe0f, 0xf77, 0xe0f, 0xdd9, 0xc7a, 0xdd9, 0xc7a, 0xdd9, 0xc7a, 0xd1b, 0xbc5, -0xd1b, 0xbc5, 0xbb5, 0xa66, 0xbb5, 0xa66, 0x9c6, 0x87c, 0x9c6, 0x87c, 0x98a, -0x846, 0x98a, 0x846, 0x962, 0x823, 0x962, 0x823, 0x962, 0x823, 0x8be, 0x784, -0x8be, 0x784, 0x834, 0x6fe, 0x834, 0x6fe, 0x6d5, 0x5a3, 0x6d5, 0x5a3, 0x639, -0x50a, 0x639, 0x50a, 0x63a, 0x50f, 0x63a, 0x50f, 0x634, 0x50d, 0x634, 0x50d, -0x634, 0x50d, 0x6b9, 0x597, 0x6b9, 0x597, 0x6b8, 0x59b, 0x6b8, 0x59b, 0x593, -0x47c, 0x593, 0x47c, 0x554, 0x444, 0x554, 0x444, 0x5fe, 0x4f6, 0x5fe, 0x4f6, -0x5d3, 0x4d4, 0x5d3, 0x4d4, 0x5d3, 0x4d4, 0x5a0, 0x4ab, 0x5a0, 0x4ab, 0x534, -0x44b, 0x534, 0x44b, 0x4e9, 0x40d, 0x4e9, 0x40d, 0x542, 0x474, 0x542, 0x474, -0x536, 0x479, 0x536, 0x479, 0x536, 0x479, 0x427, 0x37c, 0x427, 0x37c, 0x3f3, -0x35a, 0x3f3, 0x35a, 0x434, 0x3b0, 0x434, 0x3b0, 0x344, 0x2d5, 0x344, 0x2d5, -0x451, 0x3f8, 0x451, 0x3f8, 0x4c0, 0x47f, 0x4c0, 0x47f, 0x4c0, 0x47f, 0x3d2, -0x3a8, 0x3d2, 0x3a8, 0x4cc, 0x4ba, 0x4cc, 0x4ba, 0x493, 0x499, 0x493, 0x499, -0x46a, 0x489, 0x46a, 0x489, 0x4db, 0x511, 0x4db, 0x511, 0x4d3, 0x520, 0x4d3, -0x520, 0x4d3, 0x520, 0x591, 0x5f3, 0x591, 0x5f3, 0x5d2, 0x648, 0x5d2, 0x648, -0x5e0, 0x668, 0x5e0, 0x668, 0x4e7, 0x57f, 0x4e7, 0x57f, 0x4cb, 0x571, 0x4cb, -0x571, 0x4cb, 0x571, 0x4bb, 0x56c, 0x4bb, 0x56c, 0x380, 0x43a, 0x380, 0x43a, -0x587, 0x647, 0x587, 0x647, 0x58c, 0x64e, 0x58c, 0x64e, 0x3f0, 0x4b1, 0x3f0, -0x4b1, 0x54a, 0x607, 0x54a, 0x607, 0x54a, 0x607, 0x519, 0x5cd, 0x519, 0x5cd, -0x518, 0x5c0, 0x518, 0x5c0, 0x69e, 0x736, 0x69e, 0x736, 0x6b0, 0x736, 0x6b0, -0x736, 0x6e7, 0x756, 0x6e7, 0x756, 0x77f, 0x7d3, 0x77f, 0x7d3, 0x77f, 0x7d3, -0x6ce, 0x705, 0x6ce, 0x705, 0x61f, 0x635, 0x61f, 0x635, 0x617, 0x60a, 0x617, -0x60a, 0x681, 0x64f, 0x681, 0x64f, 0x764, 0x709, 0x764, 0x709, 0x764, 0x709, -0x805, 0x780, 0x805, 0x780, 0x840, 0x78f, 0x840, 0x78f, 0x8bc, 0x7df, 0x8bc, -0x7df, 0x9f4, 0x8ea, 0x9f4, 0x8ea, 0xb0a, 0x9d2, 0xb0a, 0x9d2, 0xb91, 0xa2b, -0xb91, 0xa2b, 0xb91, 0xa2b, 0xbca, 0xa35, 0xbca, 0xa35, 0xb8e, 0x9cc, 0xb8e, -0x9cc, 0xb87, 0x99a, 0xb87, 0x99a, 0xac9, 0x8b1, 0xac9, 0x8b1, 0x92d, 0x6ed, -0x92d, 0x6ed, 0x894, 0x62d, 0x894, 0x62d, 0x894, 0x62d, 0x8d6, 0x64b, 0x8d6, -0x64b, 0x996, 0x6e9, 0x996, 0x6e9, 0xac8, 0x7fd, 0xac8, 0x7fd, 0xcb0, 0x9c9, -0xcb0, 0x9c9, 0xd2d, 0xa2d, 0xd2d, 0xa2d, 0xd2d, 0xa2d, 0xd27, 0xa12, 0xd27, -0xa12, 0xe66, 0xb3f, 0xe66, 0xb3f, 0xe5c, 0xb26, 0xe5c, 0xb26, 0xf46, 0xc04, -0xf46, 0xc04, 0x101f, 0xcd5, 0x101f, 0xcd5, 0xff3, 0xca4, 0xff3, 0xca4, 0xff3, -0xca4, 0x1008, 0xcb7, 0x1008, 0xcb7, 0xf8d, 0xc3c, 0xf8d, 0xc3c, 0xfde, 0xc90, -0xfde, 0xc90, 0x1011, 0xcc9, 0x1011, 0xcc9, 0x105e, 0xd1f, 0x105e, 0xd1f, 0x1078, -0xd42, 0x1078, 0xd42, 0x1078, 0xd42, 0x10f7, 0xdce, 0x10f7, 0xdce, 0x114c, 0xe30, -0x114c, 0xe30, 0xee6, 0xbd9, 0xee6, 0xbd9, 0xd60, 0xa63, 0xd60, 0xa63, 0xd5a, -0xa6d, 0xd5a, 0xa6d, 0xd5a, 0xa6d, 0xd24, 0xa49, 0xd24, 0xa49, 0xd22, 0xa59, -0xd22, 0xa59, 0xd2f, 0xa78, 0xd2f, 0xa78, 0xe1d, 0xb77, 0xe1d, 0xb77, 0xf06, -0xc72, 0xf06, 0xc72, 0xefe, 0xc7a, 0xefe, 0xc7a, 0xefe, 0xc7a, 0xd45, 0xad3, -0xd45, 0xad3, 0xb8e, 0x92b, 0xb8e, 0x92b, 0xb3b, 0x8e8, 0xb3b, 0x8e8, 0x8ec, -0x6a7, 0x8ec, 0x6a7, 0x805, 0x5ce, 0x805, 0x5ce, 0x7dd, 0x5b4, 0x7dd, 0x5b4, -0x7dd, 0x5b4, 0x506, 0x2e9, 0x506, 0x2e9, 0x522, 0x311, 0x522, 0x311, 0x65c, -0x457, 0x65c, 0x457, 0x5df, 0x3e6, 0x5df, 0x3e6, 0x6ce, 0x4e0, 0x6ce, 0x4e0, -0x6ce, 0x4e0, 0x84a, 0x666, 0x84a, 0x666, 0x86e, 0x695, 0x86e, 0x695, 0x8d0, -0x701, 0x8d0, 0x701, 0x931, 0x76e, 0x931, 0x76e, 0x875, 0x6bd, 0x875, 0x6bd, -0x82f, 0x683, 0x82f, 0x683, 0x82f, 0x683, 0x8ab, 0x70b, 0x8ab, 0x70b, 0x91b, -0x78a, 0x91b, 0x78a, 0x9da, 0x858, 0x9da, 0x858, 0xaf7, 0x984, 0xaf7, 0x984, -0x9ce, 0x86d, 0x9ce, 0x86d, 0x8d9, 0x78a, 0x8d9, 0x78a, 0x8d9, 0x78a, 0x971, -0x837, 0x971, 0x837, 0x814, 0x6ef, 0x814, 0x6ef, 0x7bf, 0x6b1, 0x7bf, 0x6b1, -0x7b3, 0x6bf, 0x7b3, 0x6bf, 0x6c1, 0x5e6, 0x6c1, 0x5e6, 0x6c1, 0x5e6, 0x741, -0x682, 0x741, 0x682, 0x654, 0x5b0, 0x654, 0x5b0, 0x517, 0x491, 0x517, 0x491, -0x5ea, 0x582, 0x5ea, 0x582, 0x5f7, 0x5ae, 0x5f7, 0x5ae, 0x516, 0x4ec, 0x516, -0x4ec, 0x516, 0x4ec, 0x538, 0x52e, 0x538, 0x52e, 0x512, 0x528, 0x512, 0x528, -0x418, 0x44c, 0x418, 0x44c, 0x3fd, 0x450, 0x3fd, 0x450, 0x3dc, 0x44c, 0x3dc, -0x44c, 0x426, 0x4b2, 0x426, 0x4b2, 0x426, 0x4b2, 0x55a, 0x602, 0x55a, 0x602, -0x57a, 0x63c, 0x57a, 0x63c, 0x4d3, 0x5ad, 0x4d3, 0x5ad, 0x43b, 0x52a, 0x43b, -0x52a, 0x3a1, 0x4a4, 0x3a1, 0x4a4, 0x3a1, 0x4a4, 0x387, 0x49c, 0x387, 0x49c, -0x4f1, 0x616, 0x4f1, 0x616, 0x561, 0x693, 0x561, 0x693, 0x569, 0x6a6, 0x569, -0x6a6, 0x6e0, 0x824, 0x6e0, 0x824, 0x5e2, 0x72d, 0x5e2, 0x72d, 0x5e2, 0x72d, -0x479, 0x5c9, 0x479, 0x5c9, 0x4b0, 0x601, 0x4b0, 0x601, 0x3ee, 0x540, 0x3ee, -0x540, 0x2e2, 0x433, 0x2e2, 0x433, 0x280, 0x3cf, 0x280, 0x3cf, 0x280, 0x3cf, -0x19e, 0x2ea, 0x19e, 0x2ea, 0x122, 0x269, 0x122, 0x269, 0x1eb, 0x32d, 0x1eb, -0x32d, 0x6e, 0x1ab, 0x6e, 0x1ab, 0xfe73, 0xffab, 0xfe73, 0xffab, 0xff1b, 0x4e, -0xff1b, 0x4e, 0xff1b, 0x4e, 0xfec9, 0xfff9, 0xfec9, 0xfff9, 0xfe64, 0xff90, 0xfe64, -0xff90, 0xfed8, 0x2, 0xfed8, 0x2, 0xfc5f, 0xfd88, 0xfc5f, 0xfd88, 0xfa37, 0xfb60, -0xfa37, 0xfb60, 0xfb2a, 0xfc55, 0xfb2a, 0xfc55, 0xfb2a, 0xfc55, 0xfad3, 0xfc02, 0xfad3, -0xfc02, 0xf921, 0xfa56, 0xf921, 0xfa56, 0xf8b0, 0xf9ec, 0xf8b0, 0xf9ec, 0xf741, 0xf886, -0xf741, 0xf886, 0xf5d3, 0xf724, 0xf5d3, 0xf724, 0xf5d3, 0xf724, 0xf627, 0xf785, 0xf627, -0xf785, 0xf546, 0xf6b3, 0xf546, 0xf6b3, 0xf4e2, 0xf660, 0xf4e2, 0xf660, 0xf511, 0xf6a2, -0xf511, 0xf6a2, 0xf3ce, 0xf572, 0xf3ce, 0xf572, 0xf35f, 0xf519, 0xf35f, 0xf519, 0xf35f, -0xf519, 0xf3f3, 0xf5c4, 0xf3f3, 0xf5c4, 0xf2b4, 0xf49c, 0xf2b4, 0xf49c, 0xf0c5, 0xf2c5, -0xf0c5, 0xf2c5, 0xf027, 0xf240, 0xf027, 0xf240, 0xee6d, 0xf09e, 0xee6d, 0xf09e, 0xee88, -0xf0d1, 0xee88, 0xf0d1, 0xee88, 0xf0d1, 0xef8a, 0xf1ec, 0xef8a, 0xf1ec, 0xedb5, 0xf030, -0xedb5, 0xf030, 0xed32, 0xefc4, 0xed32, 0xefc4, 0xecb6, 0xef5e, 0xecb6, 0xef5e, 0xeb17, -0xedd5, 0xeb17, 0xedd5, 0xeb17, 0xedd5, 0xead9, 0xedab, 0xead9, 0xedab, 0xe960, 0xec44, -0xe960, 0xec44, 0xe6a9, 0xe99e, 0xe6a9, 0xe99e, 0xe64f, 0xe953, 0xe64f, 0xe953, 0xe5f1, -0xe901, 0xe5f1, 0xe901, 0xe520, 0xe83b, 0xe520, 0xe83b, 0xe520, 0xe83b, 0xe602, 0xe927, -0xe602, 0xe927, 0xe63a, 0xe964, 0xe63a, 0xe964, 0xe69c, 0xe9ca, 0xe69c, 0xe9ca, 0xe736, -0xea67, 0xe736, 0xea67, 0xe66f, 0xe99f, 0xe66f, 0xe99f, 0xe57a, 0xe8a7, 0xe57a, 0xe8a7, -0xe57a, 0xe8a7, 0xe44b, 0xe773, 0xe44b, 0xe773, 0xe1dd, 0xe4fe, 0xe1dd, 0xe4fe, 0xdf9e, -0xe2b5, 0xdf9e, 0xe2b5, 0xe026, 0xe333, 0xe026, 0xe333, 0xe066, 0xe366, 0xe066, 0xe366, -0xe066, 0xe366, 0xe067, 0xe35a, 0xe067, 0xe35a, 0xe2b7, 0xe59a, 0xe2b7, 0xe59a, 0xe2f9, -0xe5cd, 0xe2f9, 0xe5cd, 0xe314, 0xe5d7, 0xe314, 0xe5d7, 0xe43c, 0xe6ec, 0xe43c, 0xe6ec, -0xe46d, 0xe70c, 0xe46d, 0xe70c, 0xe46d, 0xe70c, 0xe5fb, 0xe887, 0xe5fb, 0xe887, 0xe6a5, -0xe91f, 0xe6a5, 0xe91f, 0xe6d8, 0xe940, 0xe6d8, 0xe940, 0xe760, 0xe9b7, 0xe760, 0xe9b7, -0xe81f, 0xea66, 0xe81f, 0xea66, 0xe95d, 0xeb94, 0xe95d, 0xeb94, 0xe95d, 0xeb94, 0xe8dd, -0xeb05, 0xe8dd, 0xeb05, 0xe9f3, 0xec0e, 0xe9f3, 0xec0e, 0xeb79, 0xed88, 0xeb79, 0xed88, -0xeb8e, 0xed94, 0xeb8e, 0xed94, 0xed39, 0xef36, 0xed39, 0xef36, 0xed39, 0xef36, 0xede5, -0xefdb, 0xede5, 0xefdb, 0xed85, 0xef76, 0xed85, 0xef76, 0xeeb5, 0xf0a2, 0xeeb5, 0xf0a2, -0xefc1, 0xf1ad, 0xefc1, 0xf1ad, 0xefca, 0xf1b6, 0xefca, 0xf1b6, 0xf06d, 0xf25b, 0xf06d, -0xf25b, 0xf06d, 0xf25b, 0xf15e, 0xf350, 0xf15e, 0xf350, 0xf162, 0xf358, 0xf162, 0xf358, -0xf151, 0xf34e, 0xf151, 0xf34e, 0xf0a3, 0xf2a7, 0xf0a3, 0xf2a7, 0xefff, 0xf20c, 0xefff, -0xf20c, 0xf168, 0xf37d, 0xf168, 0xf37d, 0xf168, 0xf37d, 0xf271, 0xf490, 0xf271, 0xf490, -0xf2ac, 0xf4d4, 0xf2ac, 0xf4d4, 0xf366, 0xf598, 0xf366, 0xf598, 0xf364, 0xf59f, 0xf364, -0xf59f, 0xf30a, 0xf54e, 0xf30a, 0xf54e, 0xf30a, 0xf54e, 0xf2c6, 0xf511, 0xf2c6, 0xf511, -0xf1cb, 0xf41c, 0xf1cb, 0xf41c, 0xf0f2, 0xf348, 0xf0f2, 0xf348, 0xf171, 0xf3ca, 0xf171, -0xf3ca, 0xf1ff, 0xf459, 0xf1ff, 0xf459, 0xf21b, 0xf473, 0xf21b, 0xf473, 0xf21b, 0xf473, -0xf2b1, 0xf506, 0xf2b1, 0xf506, 0xf290, 0xf4de, 0xf290, 0xf4de, 0xf275, 0xf4ba, 0xf275, -0xf4ba, 0xf340, 0xf578, 0xf340, 0xf578, 0xf2bc, 0xf4e5, 0xf2bc, 0xf4e5, 0xf2c3, 0xf4d9, -0xf2c3, 0xf4d9, 0xf2c3, 0xf4d9, 0xf372, 0xf573, 0xf372, 0xf573, 0xf23a, 0xf423, 0xf23a, -0xf423, 0xf1fa, 0xf3c8, 0xf1fa, 0xf3c8, 0xf21c, 0xf3cd, 0xf21c, 0xf3cd, 0xf285, 0xf415, -0xf285, 0xf415, 0xf285, 0xf415, 0xf529, 0xf698, 0xf529, 0xf698, 0xf724, 0xf86e, 0xf724, -0xf86e, 0xf8d1, 0xf9f6, 0xf8d1, 0xf9f6, 0xfb65, 0xfc63, 0xfb65, 0xfc63, 0xfd8c, 0xfe62, -0xfd8c, 0xfe62, 0xfee8, 0xff96, 0xfee8, 0xff96, 0xfee8, 0xff96, 0x115, 0x19a, 0x115, -0x19a, 0x3c3, 0x41f, 0x3c3, 0x41f, 0x54f, 0x583, 0x54f, 0x583, 0x7da, 0x7e6, -0x7da, 0x7e6, 0xa12, 0x9f8, 0xa12, 0x9f8, 0xac8, 0xa8a, 0xac8, 0xa8a, 0xac8, -0xa8a, 0xc06, 0xba3, 0xc06, 0xba3, 0xd29, 0xca6, 0xd29, 0xca6, 0xe10, 0xd6d, -0xe10, 0xd6d, 0xf4a, 0xe89, 0xf4a, 0xe89, 0x11a3, 0x10c7, 0x11a3, 0x10c7, 0x11a3, -0x10c7, 0x13ca, 0x12d4, 0x13ca, 0x12d4, 0x1495, 0x1388, 0x1495, 0x1388, 0x15b3, 0x1491, -0x15b3, 0x1491, 0x1619, 0x14e3, 0x1619, 0x14e3, 0x1696, 0x154f, 0x1696, 0x154f, 0x17d0, -0x1679, 0x17d0, 0x1679, 0x17d0, 0x1679, 0x1644, 0x14df, 0x1644, 0x14df, 0x150c, 0x139a, -0x150c, 0x139a, 0x161d, 0x149e, 0x161d, 0x149e, 0x1565, 0x13db, 0x1565, 0x13db, 0x154f, -0x13ba, 0x154f, 0x13ba, 0x15da, 0x1439, 0x15da, 0x1439, 0x15da, 0x1439, 0x14a1, 0x12f7, -0x14a1, 0x12f7, 0x1478, 0x12c3, 0x1478, 0x12c3, 0x140e, 0x124d, 0x140e, 0x124d, 0x1215, -0x1049, 0x1215, 0x1049, 0x1030, 0xe58, 0x1030, 0xe58, 0x1030, 0xe58, 0xe9b, 0xcb6, -0xe9b, 0xcb6, 0xe0f, 0xc1f, 0xe0f, 0xc1f, 0xf3b, 0xd3d, 0xf3b, 0xd3d, 0x110e, -0xf02, 0x110e, 0xf02, 0x1188, 0xf6e, 0x1188, 0xf6e, 0x128c, 0x1064, 0x128c, 0x1064, -0x128c, 0x1064, 0x1465, 0x1230, 0x1465, 0x1230, 0x13f7, 0x11b4, 0x13f7, 0x11b4, 0x1398, -0x1148, 0x1398, 0x1148, 0x129f, 0x1043, 0x129f, 0x1043, 0xff8, 0xd91, 0xff8, 0xd91, -0xff8, 0xd91, 0xf69, 0xcf8, 0xf69, 0xcf8, 0xe6d, 0xbf5, 0xe6d, 0xbf5, 0xc97, -0xa19, 0xc97, 0xa19, 0xc1d, 0x99c, 0xc1d, 0x99c, 0xa98, 0x816, 0xa98, 0x816, -0x94d, 0x6cd, 0x94d, 0x6cd, 0x94d, 0x6cd, 0x9c4, 0x74a, 0x9c4, 0x74a, 0x8d6, -0x664, 0x8d6, 0x664, 0x71a, 0x4b4, 0x71a, 0x4b4, 0x6a6, 0x450, 0x6a6, 0x450, -0x4e9, 0x2a5, 0x4e9, 0x2a5, 0x3f3, 0x1c6, 0x3f3, 0x1c6, 0x3f3, 0x1c6, 0x48b, -0x279, 0x48b, 0x279, 0x34b, 0x156, 0x34b, 0x156, 0x34a, 0x176, 0x34a, 0x176, -0x401, 0x250, 0x401, 0x250, 0x2f6, 0x16d, 0x2f6, 0x16d, 0x2f6, 0x16d, 0x2a0, -0x140, 0x2a0, 0x140, 0x290, 0x15c, 0x290, 0x15c, 0xdb, 0xffd5, 0xdb, 0xffd5, -0xffe8, 0xff10, 0xffe8, 0xff10, 0x104, 0x5c, 0x104, 0x5c, 0x15, 0xff9f, 0x15, -0xff9f, 0x15, 0xff9f, 0xfed6, 0xfe91, 0xfed6, 0xfe91, 0xff3c, 0xff27, 0xff3c, 0xff27, -0xfdf6, 0xfe11, 0xfdf6, 0xfe11, 0xfda3, 0xfded, 0xfda3, 0xfded, 0xfe75, 0xfeec, 0xfe75, -0xfeec, 0xfe01, 0xfea4, 0xfe01, 0xfea4, 0xfe01, 0xfea4, 0xfe05, 0xfed1, 0xfe05, 0xfed1, -0xfe32, 0xff24, 0xfe32, 0xff24, 0xfdbc, 0xfed2, 0xfdbc, 0xfed2, 0xfdd0, 0xff06, 0xfdd0, -0xff06, 0xfe4d, 0xff9f, 0xfe4d, 0xff9f, 0xfe4d, 0xff9f, 0xfd6f, 0xfeda, 0xfd6f, 0xfeda, -0xfd42, 0xfec2, 0xfd42, 0xfec2, 0xfde5, 0xff75, 0xfde5, 0xff75, 0xfc64, 0xfe01, 0xfc64, -0xfe01, 0xfc2c, 0xfdd1, 0xfc2c, 0xfdd1, 0xfce5, 0xfe8f, 0xfce5, 0xfe8f, 0xfce5, 0xfe8f, -0xfc8f, 0xfe38, 0xfc8f, 0xfe38, 0xfdec, 0xff92, 0xfdec, 0xff92, 0xfedf, 0x7c, 0xfedf, -0x7c, 0xff28, 0xba, 0xff28, 0xba, 0x5c, 0x1de, 0x5c, 0x1de, 0xec, 0x25b, -0xec, 0x25b, 0xec, 0x25b, 0xca, 0x222, 0xca, 0x222, 0x21, 0x15f, 0x21, -0x15f, 0xffa5, 0xc7, 0xffa5, 0xc7, 0xff7a, 0x7c, 0xff7a, 0x7c, 0x22, 0x101, -0x22, 0x101, 0x22, 0x101, 0xa0, 0x15b, 0xa0, 0x15b, 0x59, 0xed, 0x59, -0xed, 0x1b1, 0x21c, 0x1b1, 0x21c, 0x304, 0x344, 0x304, 0x344, 0x361, 0x375, -0x361, 0x375, 0x3f9, 0x3df, 0x3f9, 0x3df, 0x3f9, 0x3df, 0x455, 0x40b, 0x455, -0x40b, 0x44c, 0x3d3, 0x44c, 0x3d3, 0x532, 0x488, 0x532, 0x488, 0x5ef, 0x514, -0x5ef, 0x514, 0x5ac, 0x4a0, 0x5ac, 0x4a0, 0x6bd, 0x580, 0x6bd, 0x580, 0x6bd, -0x580, 0x6b6, 0x547, 0x6b6, 0x547, 0x678, 0x4d8, 0x678, 0x4d8, 0x7c8, 0x5f9, -0x7c8, 0x5f9, 0x742, 0x545, 0x742, 0x545, 0x6d6, 0x4ab, 0x6d6, 0x4ab, 0x6d6, -0x4ab, 0x7b5, 0x55e, 0x7b5, 0x55e, 0x7de, 0x55d, 0x7de, 0x55d, 0x8e1, 0x638, -0x8e1, 0x638, 0xacf, 0x800, 0xacf, 0x800, 0xb65, 0x873, 0xb65, 0x873, 0xc2d, -0x91c, 0xc2d, 0x91c, 0xc2d, 0x91c, 0xe1f, 0xaf1, 0xe1f, 0xaf1, 0xf55, 0xc0d, -0xf55, 0xc0d, 0x1002, 0xca4, 0x1002, 0xca4, 0x108d, 0xd1c, 0x108d, 0xd1c, 0xf46, -0xbc6, 0xf46, 0xbc6, 0xea0, 0xb14, 0xea0, 0xb14, 0xea0, 0xb14, 0x1139, 0xda6, -0x1139, 0xda6, 0x12ec, 0xf54, 0x12ec, 0xf54, 0x12ce, 0xf36, 0x12ce, 0xf36, 0x12fb, -0xf66, 0x12fb, 0xf66, 0x12e2, 0xf52, 0x12e2, 0xf52, 0x12e2, 0xf52, 0x12d3, 0xf4d, -0x12d3, 0xf4d, 0x12a9, 0xf2f, 0x12a9, 0xf2f, 0x10a9, 0xd3e, 0x10a9, 0xd3e, 0xedc, -0xb82, 0xedc, 0xb82, 0xf00, 0xbb8, 0xf00, 0xbb8, 0xf45, 0xc12, 0xf45, 0xc12, -0xf45, 0xc12, 0x1094, 0xd77, 0x1094, 0xd77, 0x11c2, 0xebc, 0x11c2, 0xebc, 0x118b, -0xe9d, 0x118b, 0xe9d, 0x11e7, 0xf11, 0x11e7, 0xf11, 0x125f, 0xfa1, 0x125f, 0xfa1, -0x1141, 0xe9c, 0x1141, 0xe9c, 0x1141, 0xe9c, 0xf4a, 0xcbe, 0xf4a, 0xcbe, 0xe0c, -0xb97, 0xe0c, 0xb97, 0xc0a, 0x9ac, 0xc0a, 0x9ac, 0x9f5, 0x7ad, 0x9f5, 0x7ad, -0x943, 0x711, 0x943, 0x711, 0x943, 0x711, 0x8fd, 0x6e0, 0x8fd, 0x6e0, 0x973, -0x76a, 0x973, 0x76a, 0xa58, 0x862, 0xa58, 0x862, 0xac4, 0x8e0, 0xac4, 0x8e0, -0xaf9, 0x926, 0xaf9, 0x926, 0xb1d, 0x95c, 0xb1d, 0x95c, 0xb1d, 0x95c, 0xad0, -0x920, 0xad0, 0x920, 0xb5c, 0x9bc, 0xb5c, 0x9bc, 0xbf7, 0xa68, 0xbf7, 0xa68, -0xb3e, 0x9c0, 0xb3e, 0x9c0, 0xb2b, 0x9bf, 0xb2b, 0x9bf, 0xbc9, 0xa6f, 0xbc9, -0xa6f, 0xbc9, 0xa6f, 0xc26, 0xade, 0xc26, 0xade, 0xc1d, 0xae9, 0xc1d, 0xae9, -0xbad, 0xa8d, 0xbad, 0xa8d, 0xaff, 0x9f4, 0xaff, 0x9f4, 0xb44, 0xa50, 0xb44, -0xa50, 0xb44, 0xa50, 0xbad, 0xad1, 0xbad, 0xad1, 0xa88, 0x9c4, 0xa88, 0x9c4, -0xa16, 0x96c, 0xa16, 0x96c, 0x966, 0x8d7, 0x966, 0x8d7, 0x814, 0x79f, 0x814, -0x79f, 0x7fa, 0x7a0, 0x7fa, 0x7a0, 0x7fa, 0x7a0, 0x723, 0x6e5, 0x723, 0x6e5, -0x561, 0x53f, 0x561, 0x53f, 0x484, 0x47d, 0x484, 0x47d, 0x367, 0x37b, 0x367, -0x37b, 0x1c6, 0x1f3, 0x1c6, 0x1f3, 0x28c, 0x2d2, 0x28c, 0x2d2, 0x28c, 0x2d2, -0x33e, 0x39b, 0x33e, 0x39b, 0x24f, 0x2c1, 0x24f, 0x2c1, 0x2c6, 0x34a, 0x2c6, -0x34a, 0x329, 0x3bd, 0x329, 0x3bd, 0x2b1, 0x352, 0x2b1, 0x352, 0x2b1, 0x352, -0x2e7, 0x392, 0x2e7, 0x392, 0x251, 0x303, 0x251, 0x303, 0xe3, 0x199, 0xe3, -0x199, 0x261, 0x317, 0x261, 0x317, 0x3b8, 0x46c, 0x3b8, 0x46c, 0x2a9, 0x357, -0x2a9, 0x357, 0x2a9, 0x357, 0x313, 0x3b8, 0x313, 0x3b8, 0x32f, 0x3c8, 0x32f, -0x3c8, 0x2e4, 0x36e, 0x2e4, 0x36e, 0x36d, 0x3e7, 0x36d, 0x3e7, 0x299, 0x300, -0x299, 0x300, 0x299, 0x300, 0x13e, 0x190, 0x13e, 0x190, 0x11e, 0x15a, 0x11e, -0x15a, 0x114, 0x13a, 0x114, 0x13a, 0x9, 0x19, 0x9, 0x19, 0xff40, 0xff39, -0xff40, 0xff39, 0xfe71, 0xfe55, 0xfe71, 0xfe55, 0xfe71, 0xfe55, 0xfcbe, 0xfc8e, 0xfcbe, -0xfc8e, 0xfd15, 0xfcd1, 0xfd15, 0xfcd1, 0xfdcd, 0xfd78, 0xfdcd, 0xfd78, 0xfc17, 0xfbb3, -0xfc17, 0xfbb3, 0xfbd2, 0xfb63, 0xfbd2, 0xfb63, 0xfc0f, 0xfb96, 0xfc0f, 0xfb96, 0xfc0f, -0xfb96, 0xfbc1, 0xfb43, 0xfbc1, 0xfb43, 0xfc64, 0xfbe2, 0xfc64, 0xfbe2, 0xfc6c, 0xfbeb, -0xfc6c, 0xfbeb, 0xfb47, 0xfacb, 0xfb47, 0xfacb, 0xfab2, 0xfa3d, 0xfab2, 0xfa3d, 0xfab2, -0xfa3d, 0xfb18, 0xfaad, 0xfb18, 0xfaad, 0xf9f3, 0xf996, 0xf9f3, 0xf996, 0xf901, 0xf8b5, -0xf901, 0xf8b5, 0xf714, 0xf6db, 0xf714, 0xf6db, 0xf501, 0xf4de, 0xf501, 0xf4de, 0xf620, -0xf615, 0xf620, 0xf615, 0xf620, 0xf615, 0xf621, 0xf62e, 0xf621, 0xf62e, 0xf562, 0xf58a, -0xf562, 0xf58a, 0xf52e, 0xf572, 0xf52e, 0xf572, 0xf4f7, 0xf557, 0xf4f7, 0xf557, 0xf4d2, -0xf54e, 0xf4d2, 0xf54e, 0xf522, 0xf5ba, 0xf522, 0xf5ba, 0xf522, 0xf5ba, 0xf473, 0xf528, -0xf473, 0xf528, 0xf248, 0xf318, 0xf248, 0xf318, 0xf218, 0xf302, 0xf218, 0xf302, 0xf1a7, -0xf2ab, 0xf1a7, 0xf2ab, 0xf1b6, 0xf2d1, 0xf1b6, 0xf2d1, 0xf1b6, 0xf2d1, 0xf295, 0xf3c6, -0xf295, 0xf3c6, 0xf149, 0xf28f, 0xf149, 0xf28f, 0xf089, 0xf1e4, 0xf089, 0xf1e4, 0xf0f5, -0xf262, 0xf0f5, 0xf262, 0xefd8, 0xf156, 0xefd8, 0xf156, 0xedc5, 0xef53, 0xedc5, 0xef53, -0xedc5, 0xef53, 0xecf7, 0xee93, 0xecf7, 0xee93, 0xeb3d, 0xece7, 0xeb3d, 0xece7, 0xea54, -0xec0b, 0xea54, 0xec0b, 0xeb5b, 0xed1e, 0xeb5b, 0xed1e, 0xeada, 0xeca9, 0xeada, 0xeca9, -0xeb8a, 0xed65, 0xeb8a, 0xed65, 0xeb8a, 0xed65, 0xecad, 0xee93, 0xecad, 0xee93, 0xec39, -0xee2b, 0xec39, 0xee2b, 0xec7b, 0xee78, 0xec7b, 0xee78, 0xeba5, 0xedaf, 0xeba5, 0xedaf, -0xe942, 0xeb59, 0xe942, 0xeb59, 0xe942, 0xeb59, 0xe83d, 0xea60, 0xe83d, 0xea60, 0xe836, -0xea67, 0xe836, 0xea67, 0xe747, 0xe985, 0xe747, 0xe985, 0xe697, 0xe8e4, 0xe697, 0xe8e4, -0xe73c, 0xe997, 0xe73c, 0xe997, 0xe746, 0xe9af, 0xe746, 0xe9af, 0xe746, 0xe9af, 0xe845, -0xeabd, 0xe845, 0xeabd, 0xe9d6, 0xec5c, 0xe9d6, 0xec5c, 0xe91b, 0xebb0, 0xe91b, 0xebb0, -0xe959, 0xebfd, 0xe959, 0xebfd, 0xea95, 0xed46, 0xea95, 0xed46, 0xeb0b, 0xedc9, 0xeb0b, -0xedc9, 0xeb0b, 0xedc9, 0xeb2a, 0xedf4, 0xeb2a, 0xedf4, 0xeb8d, 0xee62, 0xeb8d, 0xee62, -0xebc0, 0xee9f, 0xebc0, 0xee9f, 0xec20, 0xef08, 0xec20, 0xef08, 0xee19, 0xf108, 0xee19, -0xf108, 0xee19, 0xf108, 0xee19, 0xf10d, 0xee19, 0xf10d, 0xee78, 0xf171, 0xee78, 0xf171, -0xf054, 0xf350, 0xf054, 0xf350, 0xf09f, 0xf39c, 0xf09f, 0xf39c, 0xf130, 0xf42e, 0xf130, -0xf42e, 0xf184, 0xf480, 0xf184, 0xf480, 0xf184, 0xf480, 0xf153, 0xf44c, 0xf153, 0xf44c, -0xf115, 0xf40b, 0xf115, 0xf40b, 0xf18a, 0xf47b, 0xf18a, 0xf47b, 0xf19a, 0xf486, 0xf19a, -0xf486, 0xf19b, 0xf480, 0xf19b, 0xf480, 0xf200, 0xf4df, 0xf200, 0xf4df, 0xf200, 0xf4df, -0xf155, 0xf42d, 0xf155, 0xf42d, 0xf259, 0xf529, 0xf259, 0xf529, 0xf341, 0xf60a, 0xf341, -0xf60a, 0xf257, 0xf518, 0xf257, 0xf518, 0xf24c, 0xf506, 0xf24c, 0xf506, 0xf24c, 0xf506, -0xf2e9, 0xf59c, 0xf2e9, 0xf59c, 0xf2e5, 0xf591, 0xf2e5, 0xf591, 0xf3b9, 0xf65e, 0xf3b9, -0xf65e, 0xf3e4, 0xf681, 0xf3e4, 0xf681, 0xf213, 0xf4aa, 0xf213, 0xf4aa, 0xf2a9, 0xf539, -0xf2a9, 0xf539, 0xf2a9, 0xf539, 0xf301, 0xf589, 0xf301, 0xf589, 0xf248, 0xf4c9, 0xf248, -0xf4c9, 0xf372, 0xf5eb, 0xf372, 0xf5eb, 0xf2df, 0xf54f, 0xf2df, 0xf54f, 0xf1e9, 0xf450, -0xf1e9, 0xf450, 0xf2bd, 0xf518, 0xf2bd, 0xf518, 0xf2bd, 0xf518, 0xf19d, 0xf3ec, 0xf19d, -0xf3ec, 0xef9d, 0xf1de, 0xef9d, 0xf1de, 0xef55, 0xf186, 0xef55, 0xf186, 0xee9f, 0xf0bf, -0xee9f, 0xf0bf, 0xee4b, 0xf056, 0xee4b, 0xf056, 0xee4b, 0xf056, 0xeede, 0xf0d3, 0xeede, -0xf0d3, 0xee47, 0xf024, 0xee47, 0xf024, 0xee52, 0xf013, 0xee52, 0xf013, 0xefbc, 0xf160, -0xefbc, 0xf160, 0xf00b, 0xf190, 0xf00b, 0xf190, 0xf114, 0xf277, 0xf114, 0xf277, 0xf114, -0xf277, 0xf343, 0xf481, 0xf343, 0xf481, 0xf37f, 0xf496, 0xf37f, 0xf496, 0xf53f, 0xf62f, -0xf53f, 0xf62f, 0xf866, 0xf92d, 0xf866, 0xf92d, 0xf93b, 0xf9d7, 0xf93b, 0xf9d7, 0xfa51, -0xfac2, 0xfa51, 0xfac2, 0xfa51, 0xfac2, 0xfcba, 0xfcff, 0xfcba, 0xfcff, 0xfe7b, 0xfe94, -0xfe7b, 0xfe94, 0x43, 0x30, 0x43, 0x30, 0x2fb, 0x2bd, 0x2fb, 0x2bd, 0x3d7, -0x36f, 0x3d7, 0x36f, 0x3d7, 0x36f, 0x426, 0x396, 0x426, 0x396, 0x5ee, 0x536, -0x5ee, 0x536, 0x75b, 0x67e, 0x75b, 0x67e, 0x90c, 0x80c, 0x90c, 0x80c, 0xab5, -0x995, 0xab5, 0x995, 0xb0e, 0x9cf, 0xb0e, 0x9cf, 0xb0e, 0x9cf, 0xb68, 0xa0d, -0xb68, 0xa0d, 0xcf8, 0xb85, 0xcf8, 0xb85, 0xde5, 0xc5b, 0xde5, 0xc5b, 0xdf4, -0xc56, 0xdf4, 0xc56, 0xdfc, 0xc4d, 0xdfc, 0xc4d, 0xde0, 0xc23, 0xde0, 0xc23, -0xde0, 0xc23, 0xe4a, 0xc81, 0xe4a, 0xc81, 0xf28, 0xd54, 0xf28, 0xd54, 0xf6e, -0xd91, 0xf6e, 0xd91, 0xedc, 0xcf9, 0xedc, 0xcf9, 0xf4d, 0xd65, 0xf4d, 0xd65, -0xf4d, 0xd65, 0xf47, 0xd5b, 0xf47, 0xd5b, 0xee8, 0xcf9, 0xee8, 0xcf9, 0xe75, -0xc83, 0xe75, 0xc83, 0xc51, 0xa5d, 0xc51, 0xa5d, 0xb60, 0x96b, 0xb60, 0x96b, -0xae5, 0x8ee, 0xae5, 0x8ee, 0xae5, 0x8ee, 0x9cf, 0x7d7, 0x9cf, 0x7d7, 0x9b2, -0x7b9, 0x9b2, 0x7b9, 0xaca, 0x8cf, 0xaca, 0x8cf, 0xba1, 0x9a6, 0xba1, 0x9a6, -0xc86, 0xa8b, 0xc86, 0xa8b, 0xc86, 0xa8b, 0xd7e, 0xb82, 0xd7e, 0xb82, 0xc4a, -0xa4d, 0xc4a, 0xa4d, 0xc4e, 0xa53, 0xc4e, 0xa53, 0xcfb, 0xb00, 0xcfb, 0xb00, -0xbd3, 0x9da, 0xbd3, 0x9da, 0xad6, 0x8e2, 0xad6, 0x8e2, 0xad6, 0x8e2, 0x96a, -0x77b, 0x96a, 0x77b, 0x854, 0x66c, 0x854, 0x66c, 0x8f8, 0x719, 0x8f8, 0x719, -0x9af, 0x7db, 0x9af, 0x7db, 0x902, 0x73c, 0x902, 0x73c, 0x807, 0x651, 0x807, -0x651, 0x807, 0x651, 0x729, 0x585, 0x729, 0x585, 0x662, 0x4d4, 0x662, 0x4d4, -0x635, 0x4bf, 0x635, 0x4bf, 0x566, 0x40b, 0x566, 0x40b, 0x453, 0x315, 0x453, -0x315, 0x453, 0x315, 0x4bd, 0x39f, 0x4bd, 0x39f, 0x560, 0x463, 0x560, 0x463, -0x62d, 0x555, 0x62d, 0x555, 0x776, 0x6c3, 0x776, 0x6c3, 0x693, 0x607, 0x693, -0x607, 0x516, 0x4b0, 0x516, 0x4b0, 0x516, 0x4b0, 0x554, 0x517, 0x554, 0x517, -0x5a8, 0x592, 0x5a8, 0x592, 0x4f4, 0x506, 0x4f4, 0x506, 0x48d, 0x4c5, 0x48d, -0x4c5, 0x414, 0x471, 0x414, 0x471, 0x259, 0x2d8, 0x259, 0x2d8, 0x259, 0x2d8, -0x21f, 0x2bf, 0x21f, 0x2bf, 0x33c, 0x3fa, 0x33c, 0x3fa, 0x38b, 0x464, 0x38b, -0x464, 0x384, 0x474, 0x384, 0x474, 0x3d1, 0x4d5, 0x3d1, 0x4d5, 0x3d1, 0x4d5, -0x42a, 0x53e, 0x42a, 0x53e, 0x464, 0x584, 0x464, 0x584, 0x4af, 0x5d7, 0x4af, -0x5d7, 0x3c7, 0x4f3, 0x3c7, 0x4f3, 0x330, 0x45c, 0x330, 0x45c, 0x37f, 0x4a8, -0x37f, 0x4a8, 0x37f, 0x4a8, 0x345, 0x466, 0x345, 0x466, 0x3b0, 0x4c6, 0x3b0, -0x4c6, 0x45a, 0x561, 0x45a, 0x561, 0x427, 0x51e, 0x427, 0x51e, 0x417, 0x4fa, -0x417, 0x4fa, 0x4a9, 0x576, 0x4a9, 0x576, 0x4a9, 0x576, 0x4cb, 0x580, 0x4cb, -0x580, 0x59a, 0x636, 0x59a, 0x636, 0x63d, 0x6bf, 0x63d, 0x6bf, 0x555, 0x5bc, -0x555, 0x5bc, 0x4d9, 0x524, 0x4d9, 0x524, 0x4d9, 0x524, 0x414, 0x444, 0x414, -0x444, 0x3bc, 0x3d1, 0x3bc, 0x3d1, 0x487, 0x480, 0x487, 0x480, 0x4b6, 0x495, -0x4b6, 0x495, 0x481, 0x446, 0x481, 0x446, 0x50a, 0x4b7, 0x50a, 0x4b7, 0x50a, -0x4b7, 0x5f0, 0x586, 0x5f0, 0x586, 0x686, 0x605, 0x686, 0x605, 0x765, 0x6ce, -0x765, 0x6ce, 0x707, 0x65b, 0x707, 0x65b, 0x68a, 0x5ca, 0x68a, 0x5ca, 0x7ed, -0x719, 0x7ed, 0x719, 0x7ed, 0x719, 0x890, 0x7a9, 0x890, 0x7a9, 0x860, 0x766, -0x860, 0x766, 0x8aa, 0x79e, 0x8aa, 0x79e, 0x89c, 0x77d, 0x89c, 0x77d, 0x8a5, -0x774, 0x8a5, 0x774, 0x8a5, 0x774, 0x960, 0x81b, 0x960, 0x81b, 0x9c9, 0x871, -0x9c9, 0x871, 0x99f, 0x833, 0x99f, 0x833, 0x8ca, 0x749, 0x8ca, 0x749, 0x76c, -0x5d6, 0x76c, 0x5d6, 0x71e, 0x572, 0x71e, 0x572, 0x71e, 0x572, 0x7d9, 0x616, -0x7d9, 0x616, 0x7cc, 0x5f3, 0x7cc, 0x5f3, 0x867, 0x676, 0x867, 0x676, 0xa05, -0x7fd, 0xa05, 0x7fd, 0xab5, 0x895, 0xab5, 0x895, 0xcc2, 0xa8c, 0xcc2, 0xa8c, -0xcc2, 0xa8c, 0xe8e, 0xc41, 0xe8e, 0xc41, 0xdb5, 0xb53, 0xdb5, 0xb53, 0xd3d, -0xac7, 0xd3d, 0xac7, 0xdc7, 0xb3e, 0xdc7, 0xb3e, 0xde9, 0xb4f, 0xde9, 0xb4f, -0xde9, 0xb4f, 0xdbd, 0xb15, 0xdbd, 0xb15, 0xeab, 0xbf7, 0xeab, 0xbf7, 0xe73, -0xbb5, 0xe73, 0xbb5, 0xe32, 0xb6d, 0xe32, 0xb6d, 0x1029, 0xd60, 0x1029, 0xd60, -0x1018, 0xd4e, 0x1018, 0xd4e, 0x1018, 0xd4e, 0xedc, 0xc14, 0xedc, 0xc14, 0xe4c, -0xb8a, 0xe4c, 0xb8a, 0xd76, 0xabc, 0xd76, 0xabc, 0xd77, 0xac8, 0xd77, 0xac8, -0xd74, 0xad3, 0xd74, 0xad3, 0xc33, 0x9a2, 0xc33, 0x9a2, 0xc33, 0x9a2, 0xbe2, -0x964, 0xbe2, 0x964, 0xca4, 0xa3a, 0xca4, 0xa3a, 0xc28, 0x9d3, 0xc28, 0x9d3, -0xbf5, 0x9b7, 0xbf5, 0x9b7, 0xbe2, 0x9bc, 0xbe2, 0x9bc, 0xbe2, 0x9bc, 0xa36, -0x827, 0xa36, 0x827, 0x918, 0x721, 0x918, 0x721, 0x8b4, 0x6d4, 0x8b4, 0x6d4, -0x742, 0x578, 0x742, 0x578, 0x63f, 0x48a, 0x63f, 0x48a, 0x627, 0x486, 0x627, -0x486, 0x627, 0x486, 0x670, 0x4e1, 0x670, 0x4e1, 0x80a, 0x68b, 0x80a, 0x68b, -0x8be, 0x74d, 0x8be, 0x74d, 0x7f1, 0x68d, 0x7f1, 0x68d, 0x828, 0x6cd, 0x828, -0x6cd, 0x8a2, 0x74f, 0x8a2, 0x74f, 0x8a2, 0x74f, 0x7e1, 0x696, 0x7e1, 0x696, -0x781, 0x63a, 0x781, 0x63a, 0x757, 0x613, 0x757, 0x613, 0x6e1, 0x59f, 0x6e1, -0x59f, 0x7d7, 0x697, 0x7d7, 0x697, 0x7d7, 0x697, 0x814, 0x6d4, 0x814, 0x6d4, -0x81d, 0x6de, 0x81d, 0x6de, 0x9b5, 0x877, 0x9b5, 0x877, 0xa55, 0x918, 0xa55, -0x918, 0xa33, 0x8f8, 0xa33, 0x8f8, 0xa4a, 0x913, 0xa4a, 0x913, 0xa4a, 0x913, -0x99c, 0x86a, 0x99c, 0x86a, 0x889, 0x75e, 0x889, 0x75e, 0x7e6, 0x6c4, 0x7e6, -0x6c4, 0x6ba, 0x5a2, 0x6ba, 0x5a2, 0x6a4, 0x599, 0x6a4, 0x599, 0x733, 0x636, -0x733, 0x636, 0x733, 0x636, 0x5f6, 0x509, 0x5f6, 0x509, 0x52e, 0x453, 0x52e, -0x453, 0x50d, 0x445, 0x50d, 0x445, 0x482, 0x3cf, 0x482, 0x3cf, 0x49a, 0x3fd, -0x49a, 0x3fd, 0x49a, 0x3fd, 0x546, 0x4bf, 0x546, 0x4bf, 0x4a9, 0x439, 0x4a9, -0x439, 0x45c, 0x402, 0x45c, 0x402, 0x5a7, 0x563, 0x5a7, 0x563, 0x595, 0x567, -0x595, 0x567, 0x510, 0x4f6, 0x510, 0x4f6, 0x510, 0x4f6, 0x5cb, 0x5c5, 0x5cb, -0x5c5, 0x66c, 0x678, 0x66c, 0x678, 0x66f, 0x68c, 0x66f, 0x68c, 0x6ee, 0x71a, -0x6ee, 0x71a, 0x75e, 0x797, 0x75e, 0x797, 0x75e, 0x797, 0x7a2, 0x7e7, 0x7a2, -0x7e7, 0x7fc, 0x84b, 0x7fc, 0x84b, 0x6ed, 0x745, 0x6ed, 0x745, 0x643, 0x6a3, -0x643, 0x6a3, 0x68e, 0x6f5, 0x68e, 0x6f5, 0x5eb, 0x658, 0x5eb, 0x658, 0x5eb, -0x658, 0x4fe, 0x572, 0x4fe, 0x572, 0x3dd, 0x456, 0x3dd, 0x456, 0x213, 0x292, -0x213, 0x292, 0x169, 0x1ee, 0x169, 0x1ee, 0x165, 0x1f2, 0x165, 0x1f2, 0xb5, -0x14a, 0xb5, 0x14a, 0xb5, 0x14a, 0x57, 0xf5, 0x57, 0xf5, 0x2, 0xab, -0x2, 0xab, 0xffa7, 0x5c, 0xffa7, 0x5c, 0xff48, 0xa, 0xff48, 0xa, 0xff36, -0x6, 0xff36, 0x6, 0xff36, 0x6, 0xfe84, 0xff64, 0xfe84, 0xff64, 0xfd64, 0xfe55, -0xfd64, 0xfe55, 0xfd13, 0xfe16, 0xfd13, 0xfe16, 0xfcc7, 0xfddc, 0xfcc7, 0xfddc, 0xfddb, -0xff03, 0xfddb, 0xff03, 0xfe46, 0xff81, 0xfe46, 0xff81, 0xfe46, 0xff81, 0xfcd9, 0xfe27, -0xfcd9, 0xfe27, 0xfb61, 0xfcc2, 0xfb61, 0xfcc2, 0xf9ca, 0xfb3d, 0xf9ca, 0xfb3d, 0xf880, -0xfa04, 0xf880, 0xfa04, 0xf785, 0xf919, 0xf785, 0xf919, 0xf689, 0xf82c, 0xf689, 0xf82c, -0xf689, 0xf82c, 0xf517, 0xf6c7, 0xf517, 0xf6c7, 0xf4e2, 0xf69d, 0xf4e2, 0xf69d, 0xf559, -0xf71e, 0xf559, 0xf71e, 0xf5ab, 0xf777, 0xf5ab, 0xf777, 0xf690, 0xf862, 0xf690, 0xf862, -0xf690, 0xf862, 0xf585, 0xf75b, 0xf585, 0xf75b, 0xf41b, 0xf5f4, 0xf41b, 0xf5f4, 0xf449, -0xf622, 0xf449, 0xf622, 0xf3cf, 0xf5a9, 0xf3cf, 0xf5a9, 0xf28f, 0xf468, 0xf28f, 0xf468, -0xf171, 0xf347, 0xf171, 0xf347, 0xf171, 0xf347, 0xf05c, 0xf230, 0xf05c, 0xf230, 0xeff1, -0xf1c2, 0xeff1, 0xf1c2, 0xf041, 0xf210, 0xf041, 0xf210, 0xefbf, 0xf18b, 0xefbf, 0xf18b, -0xed93, 0xef5e, 0xed93, 0xef5e, 0xebb3, 0xed7d, 0xebb3, 0xed7d, 0xebb3, 0xed7d, 0xea65, -0xec2e, 0xea65, 0xec2e, 0xe922, 0xeaeb, 0xe922, 0xeaeb, 0xe961, 0xeb2c, 0xe961, 0xeb2c, -0xe917, 0xeae4, 0xe917, 0xeae4, 0xe8b7, 0xea88, 0xe8b7, 0xea88, 0xe8b7, 0xea88, 0xe971, -0xeb48, 0xe971, 0xeb48, 0xe918, 0xeaf5, 0xe918, 0xeaf5, 0xe7d3, 0xe9b8, 0xe7d3, 0xe9b8, -0xe6d2, 0xe8bf, 0xe6d2, 0xe8bf, 0xe64e, 0xe845, 0xe64e, 0xe845, 0xe51b, 0xe71d, 0xe51b, -0xe71d, 0xe51b, 0xe71d, 0xe480, 0xe68e, 0xe480, 0xe68e, 0xe3a6, 0xe5c0, 0xe3a6, 0xe5c0, -0xe243, 0xe46b, 0xe243, 0xe46b, 0xe33e, 0xe573, 0xe33e, 0xe573, 0xe496, 0xe6d9, 0xe496, -0xe6d9, 0xe556, 0xe7a8, 0xe556, 0xe7a8, 0xe556, 0xe7a8, 0xe5e3, 0xe843, 0xe5e3, 0xe843, -0xe576, 0xe7e5, 0xe576, 0xe7e5, 0xe513, 0xe790, 0xe513, 0xe790, 0xe588, 0xe813, 0xe588, -0xe813, 0xe4fd, 0xe795, 0xe4fd, 0xe795, 0xe4fd, 0xe795, 0xe3c4, 0xe668, 0xe3c4, 0xe668, -0xe413, 0xe6c3, 0xe413, 0xe6c3, 0xe555, 0xe810, 0xe555, 0xe810, 0xe6f6, 0xe9ba, 0xe6f6, -0xe9ba, 0xe8e5, 0xebb2, 0xe8e5, 0xebb2, 0xeac9, 0xed9d, 0xeac9, 0xed9d, 0xeac9, 0xed9d, -0xeb6a, 0xee43, 0xeb6a, 0xee43, 0xec01, 0xeedd, 0xec01, 0xeedd, 0xecb7, 0xef95, 0xecb7, -0xef95, 0xece6, 0xefc4, 0xece6, 0xefc4, 0xedf5, 0xf0d0, 0xedf5, 0xf0d0, 0xed90, 0xf068, -0xed90, 0xf068, 0xed90, 0xf068, 0xec9e, 0xef70, 0xec9e, 0xef70, 0xed36, 0xefff, 0xed36, -0xefff, 0xeda8, 0xf067, 0xeda8, 0xf067, 0xee00, 0xf0b4, 0xee00, 0xf0b4, 0xee80, 0xf126, -0xee80, 0xf126, 0xee80, 0xf126, 0xee4d, 0xf0e5, 0xee4d, 0xf0e5, 0xee67, 0xf0ef, 0xee67, -0xf0ef, 0xef23, 0xf19b, 0xef23, 0xf19b, 0xeebc, 0xf123, 0xeebc, 0xf123, 0xee8b, 0xf0e1, -0xee8b, 0xf0e1, 0xeee1, 0xf126, 0xeee1, 0xf126, 0xeee1, 0xf126, 0xee7f, 0xf0b4, 0xee7f, -0xf0b4, 0xef43, 0xf169, 0xef43, 0xf169, 0xf0b1, 0xf2ca, 0xf0b1, 0xf2ca, 0xf07b, 0xf287, -0xf07b, 0xf287, 0xf0b0, 0xf2b2, 0xf0b0, 0xf2b2, 0xf1f5, 0xf3ee, 0xf1f5, 0xf3ee, 0xf1f5, -0xf3ee, 0xf19b, 0xf38d, 0xf19b, 0xf38d, 0xf14a, 0xf337, 0xf14a, 0xf337, 0xf24d, 0xf438, -0xf24d, 0xf438, 0xf258, 0xf442, 0xf258, 0xf442, 0xf1ba, 0xf3a4, 0xf1ba, 0xf3a4, 0xf1ba, -0xf3a4, 0xf1bd, 0xf3a9, 0xf1bd, 0xf3a9, 0xf06d, 0xf25c, 0xf06d, 0xf25c, 0xef80, 0xf172, -0xef80, 0xf172, 0xeffe, 0xf1f2, 0xeffe, 0xf1f2, 0xef60, 0xf157, 0xef60, 0xf157, 0xf011, -0xf209, 0xf011, 0xf209, 0xf011, 0xf209, 0xf0c8, 0xf2c0, 0xf0c8, 0xf2c0, 0xf135, 0xf329, -0xf135, 0xf329, 0xf442, 0xf631, 0xf442, 0xf631, 0xf696, 0xf87b, 0xf696, 0xf87b, 0xf6d6, -0xf8ad, 0xf6d6, 0xf8ad, 0xf7b5, 0xf97a, 0xf7b5, 0xf97a, 0xf7b5, 0xf97a, 0xf970, 0xfb1f, -0xf970, 0xfb1f, 0xfaa5, 0xfc39, 0xfaa5, 0xfc39, 0xfc8a, 0xfdff, 0xfc8a, 0xfdff, 0xfe2c, -0xff7d, 0xfe2c, 0xff7d, 0xfe26, 0xff4e, 0xfe26, 0xff4e, 0xfe26, 0xff4e, 0xffb7, 0xb3, -0xffb7, 0xb3, 0x324, 0x3f0, 0x324, 0x3f0, 0x647, 0x6e0, 0x647, 0x6e0, 0x981, -0x9e4, 0x981, 0x9e4, 0xb22, 0xb4e, 0xb22, 0xb4e, 0xb00, 0xaf4, 0xb00, 0xaf4, -0xb00, 0xaf4, 0xca4, 0xc60, 0xca4, 0xc60, 0xe3b, 0xdc0, 0xe3b, 0xdc0, 0xebb, -0xe0a, 0xebb, 0xe0a, 0xf39, 0xe55, 0xf39, 0xe55, 0xf4e, 0xe3b, 0xf4e, 0xe3b, -0x1087, 0xf48, 0x1087, 0xf48, 0x1087, 0xf48, 0x12fd, 0x1196, 0x12fd, 0x1196, 0x14f7, -0x136c, 0x14f7, 0x136c, 0x14cd, 0x1325, 0x14cd, 0x1325, 0x1460, 0x129e, 0x1460, 0x129e, -0x149d, 0x12c9, 0x149d, 0x12c9, 0x149d, 0x12c9, 0x1500, 0x131d, 0x1500, 0x131d, 0x15dd, -0x13f1, 0x15dd, 0x13f1, 0x1552, 0x1362, 0x1552, 0x1362, 0x1514, 0x1323, 0x1514, 0x1323, -0x1625, 0x1438, 0x1625, 0x1438, 0x1660, 0x1479, 0x1660, 0x1479, 0x1660, 0x1479, 0x15d2, -0x13f4, 0x15d2, 0x13f4, 0x14e2, 0x130f, 0x14e2, 0x130f, 0x131f, 0x1158, 0x131f, 0x1158, -0x116b, 0xfb0, 0x116b, 0xfb0, 0x1149, 0xf9b, 0x1149, 0xf9b, 0x1149, 0xf9b, 0x107a, -0xed8, 0x107a, 0xed8, 0xf20, 0xd89, 0xf20, 0xd89, 0xfe8, 0xe5a, 0xfe8, 0xe5a, -0xffb, 0xe75, 0xffb, 0xe75, 0x100c, 0xe8c, 0x100c, 0xe8c, 0x11aa, 0x102d, 0x11aa, -0x102d, 0x11aa, 0x102d, 0x10ef, 0xf75, 0x10ef, 0xf75, 0xfd4, 0xe59, 0xfd4, 0xe59, -0xfde, 0xe63, 0xfde, 0xe63, 0xe9d, 0xd20, 0xe9d, 0xd20, 0xc7c, 0xafc, 0xc7c, -0xafc, 0xb0b, 0x989, 0xb0b, 0x989, 0xb0b, 0x989, 0xa6a, 0x8e5, 0xa6a, 0x8e5, -0x9cd, 0x847, 0x9cd, 0x847, 0xa4c, 0x8c6, 0xa4c, 0x8c6, 0x957, 0x7d3, 0x957, -0x7d3, 0x795, 0x616, 0x795, 0x616, 0x795, 0x616, 0x70f, 0x597, 0x70f, 0x597, -0x50b, 0x39d, 0x50b, 0x39d, 0x436, 0x2d6, 0x436, 0x2d6, 0x3c1, 0x272, 0x3c1, -0x272, 0x28e, 0x153, 0x28e, 0x153, 0x3c8, 0x2a5, 0x3c8, 0x2a5, 0x3c8, 0x2a5, -0x536, 0x42e, 0x536, 0x42e, 0x46d, 0x383, 0x46d, 0x383, 0x2fe, 0x234, 0x2fe, -0x234, 0x2c0, 0x217, 0x2c0, 0x217, 0x23d, 0x1b8, 0x23d, 0x1b8, 0x15f, 0xff, -0x15f, 0xff, 0x15f, 0xff, 0x150, 0x114, 0x150, 0x114, 0x1e, 0x7, 0x1e, -0x7, 0xfe7f, 0xfe8b, 0xfe7f, 0xfe8b, 0xfe68, 0xfe96, 0xfe68, 0xfe96, 0xfe71, 0xfebf, -0xfe71, 0xfebf, 0xfe71, 0xfebf, 0xfea6, 0xff11, 0xfea6, 0xff11, 0xfeba, 0xff40, 0xfeba, -0xff40, 0xfdb8, 0xfe56, 0xfdb8, 0xfe56, 0xfd87, 0xfe39, 0xfd87, 0xfe39, 0xfdf0, 0xfeb1, -0xfdf0, 0xfeb1, 0xfdcc, 0xfe99, 0xfdcc, 0xfe99, 0xfdcc, 0xfe99, 0xfd24, 0xfdf9, 0xfd24, -0xfdf9, 0xfc42, 0xfd1c, 0xfc42, 0xfd1c, 0xfbd7, 0xfcb1, 0xfbd7, 0xfcb1, 0xfc45, 0xfd1c, -0xfc45, 0xfd1c, 0xfd61, 0xfe32, 0xfd61, 0xfe32, 0xfdd4, 0xfe9b, 0xfdd4, 0xfe9b, 0xfdd4, -0xfe9b, 0xfd42, 0xfdfd, 0xfd42, 0xfdfd, 0xfd04, 0xfdb1, 0xfd04, 0xfdb1, 0xfd62, 0xfdfe, -0xfd62, 0xfdfe, 0xfd82, 0xfe0c, 0xfd82, 0xfe0c, 0xfdaf, 0xfe25, 0xfdaf, 0xfe25, 0xfdaf, -0xfe25, 0xfd9e, 0xfdff, 0xfd9e, 0xfdff, 0xfde1, 0xfe2c, 0xfde1, 0xfe2c, 0xfe60, 0xfe96, -0xfe60, 0xfe96, 0xfd73, 0xfd92, 0xfd73, 0xfd92, 0xfcdc, 0xfce4, 0xfcdc, 0xfce4, 0xfca8, -0xfc9a, 0xfca8, 0xfc9a, 0xfca8, 0xfc9a, 0xfc6e, 0xfc4b, 0xfc6e, 0xfc4b, 0xfd7a, 0xfd40, -0xfd7a, 0xfd40, 0xfe28, 0xfdda, 0xfe28, 0xfdda, 0xfdce, 0xfd6a, 0xfdce, 0xfd6a, 0xfea5, -0xfe2c, 0xfea5, 0xfe2c, 0x3d, 0xffaf, 0x3d, 0xffaf, 0x3d, 0xffaf, 0x110, 0x6e, -0x110, 0x6e, 0x25a, 0x1a3, 0x25a, 0x1a3, 0x2bc, 0x1f1, 0x2bc, 0x1f1, 0x24d, -0x16e, 0x24d, 0x16e, 0x32d, 0x239, 0x32d, 0x239, 0x32d, 0x239, 0x3b2, 0x2a9, -0x3b2, 0x2a9, 0x398, 0x27a, 0x398, 0x27a, 0x3df, 0x2ab, 0x3df, 0x2ab, 0x424, -0x2da, 0x424, 0x2da, 0x54e, 0x3ee, 0x54e, 0x3ee, 0x81b, 0x6a3, 0x81b, 0x6a3, -0x81b, 0x6a3, 0x9f4, 0x865, 0x9f4, 0x865, 0xa2d, 0x885, 0xa2d, 0x885, 0xa2f, -0x86f, 0xa2f, 0x86f, 0x967, 0x78d, 0x967, 0x78d, 0x961, 0x76e, 0x961, 0x76e, -0xa8c, 0x880, 0xa8c, 0x880, 0xa8c, 0x880, 0xa2f, 0x809, 0xa2f, 0x809, 0xa50, -0x810, 0xa50, 0x810, 0xc60, 0xa07, 0xc60, 0xa07, 0xe00, 0xb8e, 0xe00, 0xb8e, -0xf82, 0xcf8, 0xf82, 0xcf8, 0xf82, 0xcf8, 0x10bf, 0xe1e, 0x10bf, 0xe1e, 0x1191, -0xed9, 0x1191, 0xed9, 0x1213, 0xf47, 0x1213, 0xf47, 0x1309, 0x1029, 0x1309, 0x1029, -0x1429, 0x1137, 0x1429, 0x1137, 0x1328, 0x1027, 0x1328, 0x1027, 0x1328, 0x1027, 0x12db, -0xfcc, 0x12db, 0xfcc, 0x13ec, 0x10d1, 0x13ec, 0x10d1, 0x1543, 0x1220, 0x1543, 0x1220, -0x16cb, 0x13a1, 0x16cb, 0x13a1, 0x172a, 0x13fd, 0x172a, 0x13fd, 0x174b, 0x141d, 0x174b, -0x141d, 0x174b, 0x141d, 0x1696, 0x136b, 0x1696, 0x136b, 0x1595, 0x126e, 0x1595, 0x126e, -0x147b, 0x115b, 0x147b, 0x115b, 0x1395, 0x107f, 0x1395, 0x107f, 0x1435, 0x112c, 0x1435, -0x112c, 0x1435, 0x112c, 0x1442, 0x1148, 0x1442, 0x1148, 0x147f, 0x1195, 0x147f, 0x1195, -0x1496, 0x11be, 0x1496, 0x11be, 0x12e5, 0x1020, 0x12e5, 0x1020, 0x11ed, 0xf3c, 0x11ed, -0xf3c, 0x1120, 0xe83, 0x1120, 0xe83, 0x1120, 0xe83, 0xf7b, 0xcf3, 0xf7b, 0xcf3, -0xe87, 0xc15, 0xe87, 0xc15, 0xe20, 0xbc1, 0xe20, 0xbc1, 0xe2c, 0xbe0, 0xe2c, -0xbe0, 0xf4f, 0xd16, 0xf4f, 0xd16, 0x1048, 0xe1f, 0x1048, 0xe1f, 0x1048, 0xe1f, -0xf87, 0xd6e, 0xf87, 0xd6e, 0xed6, 0xccb, 0xed6, 0xccb, 0xe37, 0xc38, 0xe37, -0xc38, 0xdc6, 0xbd2, 0xdc6, 0xbd2, 0xe0c, 0xc21, 0xe0c, 0xc21, 0xe0c, 0xc21, -0xc2d, 0xa49, 0xc2d, 0xa49, 0xb2c, 0x94f, 0xb2c, 0x94f, 0xbc7, 0x9f0, 0xbc7, -0x9f0, 0xc39, 0xa66, 0xc39, 0xa66, 0xdf1, 0xc24, 0xdf1, 0xc24, 0xe57, 0xc8e, -0xe57, 0xc8e, 0xe57, 0xc8e, 0xe19, 0xc56, 0xe19, 0xc56, 0xe37, 0xc79, 0xe37, -0xc79, 0xde2, 0xc2b, 0xde2, 0xc2b, 0xd0e, 0xb5e, 0xd0e, 0xb5e, 0xbe5, 0xa3f, -0xbe5, 0xa3f, 0xb3a, 0x99e, 0xb3a, 0x99e, 0xb3a, 0x99e, 0x9ba, 0x82a, 0x9ba, -0x82a, 0x960, 0x7de, 0x960, 0x7de, 0x90e, 0x79c, 0x90e, 0x79c, 0x6e3, 0x582, -0x6e3, 0x582, 0x612, 0x4c3, 0x612, 0x4c3, 0x612, 0x4c3, 0x4d1, 0x396, 0x4d1, -0x396, 0x3af, 0x288, 0x3af, 0x288, 0x497, 0x385, 0x497, 0x385, 0x454, 0x356, -0x454, 0x356, 0x366, 0x27c, 0x366, 0x27c, 0x33a, 0x264, 0x33a, 0x264, 0x33a, -0x264, 0x359, 0x297, 0x359, 0x297, 0x30b, 0x25b, 0x30b, 0x25b, 0x1ea, 0x14a, -0x1ea, 0x14a, 0x17d, 0xec, 0x17d, 0xec, 0x139, 0xb6, 0x139, 0xb6, 0x139, -0xb6, 0x1b1, 0x13a, 0x1b1, 0x13a, 0x32f, 0x2c2, 0x32f, 0x2c2, 0x2cc, 0x268, -0x2cc, 0x268, 0x1e0, 0x184, 0x1e0, 0x184, 0x2a5, 0x250, 0x2a5, 0x250, 0x3e1, -0x391, 0x3e1, 0x391, 0x3e1, 0x391, 0x437, 0x3ed, 0x437, 0x3ed, 0x35d, 0x319, -0x35d, 0x319, 0x143, 0x105, 0x143, 0x105, 0xff75, 0xff3e, 0xff75, 0xff3e, 0xfef8, -0xfec9, 0xfef8, 0xfec9, 0xfdee, 0xfdca, 0xfdee, 0xfdca, 0xfdee, 0xfdca, 0xfc85, 0xfc6d, -0xfc85, 0xfc6d, 0xfb9c, 0xfb93, 0xfb9c, 0xfb93, 0xfa85, 0xfa8b, 0xfa85, 0xfa8b, 0xfad4, -0xfaed, 0xfad4, 0xfaed, 0xfc0d, 0xfc3b, 0xfc0d, 0xfc3b, 0xfc0d, 0xfc3b, 0xfaca, 0xfb10, -0xfaca, 0xfb10, 0xf961, 0xf9bf, 0xf961, 0xf9bf, 0xf93b, 0xf9b4, 0xf93b, 0xf9b4, 0xf8ae, -0xf943, 0xf8ae, 0xf943, 0xf8f5, 0xf9a6, 0xf8f5, 0xf9a6, 0xf914, 0xf9e2, 0xf914, 0xf9e2, -0xf914, 0xf9e2, 0xf86e, 0xf958, 0xf86e, 0xf958, 0xf865, 0xf96b, 0xf865, 0xf96b, 0xf915, -0xfa35, 0xf915, 0xfa35, 0xf96e, 0xfaa7, 0xf96e, 0xfaa7, 0xf960, 0xfaaf, 0xf960, 0xfaaf, -0xf896, 0xf9f8, 0xf896, 0xf9f8, 0xf896, 0xf9f8, 0xf6cb, 0xf83e, 0xf6cb, 0xf83e, 0xf5d7, -0xf757, 0xf5d7, 0xf757, 0xf42b, 0xf5b6, 0xf42b, 0xf5b6, 0xf35b, 0xf4ed, 0xf35b, 0xf4ed, -0xf3e0, 0xf577, 0xf3e0, 0xf577, 0xf3e0, 0xf577, 0xf264, 0xf3fc, 0xf264, 0xf3fc, 0xf2d7, -0xf46f, 0xf2d7, 0xf46f, 0xf480, 0xf616, 0xf480, 0xf616, 0xf45f, 0xf5f1, 0xf45f, 0xf5f1, -0xf497, 0xf625, 0xf497, 0xf625, 0xf485, 0xf60f, 0xf485, 0xf60f, 0xf485, 0xf60f, 0xf3de, -0xf565, 0xf3de, 0xf565, 0xf38c, 0xf510, 0xf38c, 0xf510, 0xf32e, 0xf4b2, 0xf32e, 0xf4b2, -0xf1c4, 0xf349, 0xf1c4, 0xf349, 0xf178, 0xf302, 0xf178, 0xf302, 0xf2b7, 0xf448, 0xf2b7, -0xf448, 0xf2b7, 0xf448, 0xf1d5, 0xf371, 0xf1d5, 0xf371, 0xf1b7, 0xf361, 0xf1b7, 0xf361, -0xf1e2, 0xf39e, 0xf1e2, 0xf39e, 0xefcf, 0xf19f, 0xefcf, 0xf19f, 0xef7b, 0xf163, 0xef7b, -0xf163, 0xef7b, 0xf163, 0xeeb6, 0xf0b8, 0xeeb6, 0xf0b8, 0xecc3, 0xeee2, 0xecc3, 0xeee2, -0xec64, 0xeea0, 0xec64, 0xeea0, 0xecbc, 0xef17, 0xecbc, 0xef17, 0xecd7, 0xef51, 0xecd7, -0xef51, 0xebe7, 0xee7f, 0xebe7, 0xee7f, 0xebe7, 0xee7f, 0xeb45, 0xedfb, 0xeb45, 0xedfb, -0xea92, 0xed63, 0xea92, 0xed63, 0xea36, 0xed21, 0xea36, 0xed21, 0xeac0, 0xedc0, 0xeac0, -0xedc0, 0xe9b6, 0xecc8, 0xe9b6, 0xecc8, 0xe80f, 0xeb31, 0xe80f, 0xeb31, 0xe80f, 0xeb31, -0xe770, 0xea9b, 0xe770, 0xea9b, 0xe7ed, 0xeb1f, 0xe7ed, 0xeb1f, 0xe90d, 0xec42, 0xe90d, -0xec42, 0xe986, 0xecb8, 0xe986, 0xecb8, 0xe8e7, 0xec13, 0xe8e7, 0xec13, 0xe8e7, 0xec13, -0xe8d0, 0xebf2, 0xe8d0, 0xebf2, 0xe962, 0xec77, 0xe962, 0xec77, 0xe92b, 0xec31, 0xe92b, -0xec31, 0xe895, 0xeb88, 0xe895, 0xeb88, 0xe7c0, 0xea9f, 0xe7c0, 0xea9f, 0xe7da, 0xeaa4, -0xe7da, 0xeaa4, 0xe7da, 0xeaa4, 0xe9ce, 0xec82, 0xe9ce, 0xec82, 0xec02, 0xee9f, 0xec02, -0xee9f, 0xecfa, 0xef80, 0xecfa, 0xef80, 0xed0d, 0xef7e, 0xed0d, 0xef7e, 0xed8b, 0xefe6, -0xed8b, 0xefe6, 0xee48, 0xf090, 0xee48, 0xf090, 0xee48, 0xf090, 0xeeb6, 0xf0ec, 0xeeb6, -0xf0ec, 0xef0b, 0xf130, 0xef0b, 0xf130, 0xef7b, 0xf191, 0xef7b, 0xf191, 0xefba, 0xf1c2, -0xefba, 0xf1c2, 0xefd1, 0xf1cd, 0xefd1, 0xf1cd, 0xefd1, 0xf1cd, 0xf042, 0xf233, 0xf042, -0xf233, 0xf09e, 0xf286, 0xf09e, 0xf286, 0xf006, 0xf1e5, 0xf006, 0xf1e5, 0xef8a, 0xf162, -0xef8a, 0xf162, 0xefda, 0xf1ac, 0xefda, 0xf1ac, 0xef52, 0xf11e, 0xef52, 0xf11e, 0xef52, -0xf11e, 0xef44, 0xf10b, 0xef44, 0xf10b, 0xf006, 0xf1c9, 0xf006, 0xf1c9, 0xeef6, 0xf0b5, -0xeef6, 0xf0b5, 0xeeb7, 0xf074, 0xeeb7, 0xf074, 0xf048, 0xf202, 0xf048, 0xf202, 0xf061, -0xf21a, 0xf061, 0xf21a, 0xf061, 0xf21a, 0xf0a1, 0xf25a, 0xf0a1, 0xf25a, 0xf154, 0xf30e, -0xf154, 0xf30e, 0xf0aa, 0xf266, 0xf0aa, 0xf266, 0xf040, 0xf1ff, 0xf040, 0xf1ff, 0xf056, -0xf21a, 0xf056, 0xf21a, 0xf056, 0xf21a, 0xf02e, 0xf1f8, 0xf02e, 0xf1f8, 0xf03e, 0xf210, -0xf03e, 0xf210, 0xf0b2, 0xf28d, 0xf0b2, 0xf28d, 0xefe3, 0xf1c7, 0xefe3, 0xf1c7, 0xee32, -0xf021, 0xee32, 0xf021, 0xed04, 0xeefd, 0xed04, 0xeefd, 0xed04, 0xeefd, 0xeb43, 0xed47, -0xeb43, 0xed47, 0xeb01, 0xed0f, 0xeb01, 0xed0f, 0xec49, 0xee60, 0xec49, 0xee60, 0xeccb, -0xeee9, 0xeccb, 0xeee9, 0xed96, 0xefb8, 0xed96, 0xefb8, 0xef3c, 0xf160, 0xef3c, 0xf160, -0xef3c, 0xf160, 0xf0f4, 0xf316, 0xf0f4, 0xf316, 0xf107, 0xf322, 0xf107, 0xf322, 0xf0c3, -0xf2d3, 0xf0c3, 0xf2d3, 0xf16f, 0xf36e, 0xf16f, 0xf36e, 0xf18a, 0xf373, 0xf18a, 0xf373, -0xf18a, 0xf373, 0xf2e3, 0xf4af, 0xf2e3, 0xf4af, 0xf4a6, 0xf650, 0xf4a6, 0xf650, 0xf514, -0xf696, 0xf514, 0xf696, 0xf6d0, 0xf825, 0xf6d0, 0xf825, 0xf944, 0xfa67, 0xf944, 0xfa67, -0xfbfa, 0xfce8, 0xfbfa, 0xfce8, 0xfbfa, 0xfce8, 0xff62, 0x15, 0xff62, 0x15, 0x1dd, -0x253, 0x1dd, 0x253, 0x3d2, 0x409, 0x3d2, 0x409, 0x513, 0x50b, 0x513, 0x50b, -0x57b, 0x533, 0x57b, 0x533, 0x5b4, 0x52e, 0x5b4, 0x52e, 0x5b4, 0x52e, 0x671, -0x5af, 0x671, 0x5af, 0x796, 0x69c, 0x796, 0x69c, 0x870, 0x743, 0x870, 0x743, -0xa3d, 0x8e1, 0xa3d, 0x8e1, 0xc0e, 0xa89, 0xc0e, 0xa89, 0xc0e, 0xa89, 0xd3a, -0xb93, 0xd3a, 0xb93, 0xea4, 0xce2, 0xea4, 0xce2, 0x1033, 0xe5e, 0x1033, 0xe5e, -0x118c, 0xfaa, 0x118c, 0xfaa, 0x122f, 0x1048, 0x122f, 0x1048, 0x12be, 0x10d8, 0x12be, -0x10d8, 0x12be, 0x10d8, 0x1295, 0x10b6, 0x1295, 0x10b6, 0x126f, 0x109d, 0x126f, 0x109d, -0x12c3, 0x1103, 0x12c3, 0x1103, 0x12f1, 0x1146, 0x12f1, 0x1146, 0x13b1, 0x121e, 0x13b1, -0x121e, 0x13b1, 0x121e, 0x1397, 0x121d, 0x1397, 0x121d, 0x13db, 0x127b, 0x13db, 0x127b, -0x138d, 0x1248, 0x138d, 0x1248, 0x1174, 0x1048, 0x1174, 0x1048, 0x10e9, 0xfd4, 0x10e9, -0xfd4, 0xf99, 0xe98, 0xf99, 0xe98, 0xf99, 0xe98, 0xe1c, 0xd2d, 0xe1c, 0xd2d, -0xef6, 0xe14, 0xef6, 0xe14, 0xf2e, 0xe55, 0xf2e, 0xe55, 0xe52, 0xd7f, 0xe52, -0xd7f, 0xd73, 0xca0, 0xd73, 0xca0, 0xd56, 0xc82, 0xd56, 0xc82, 0xd56, 0xc82, -0xd2b, 0xc51, 0xd2b, 0xc51, 0xd3d, 0xc5a, 0xd3d, 0xc5a, 0xd49, 0xc5c, 0xd49, -0xc5c, 0xbe0, 0xae6, 0xbe0, 0xae6, 0xc08, 0xb02, 0xc08, 0xb02, 0xc08, 0xb02, -0xcc8, 0xbb5, 0xcc8, 0xbb5, 0xc72, 0xb54, 0xc72, 0xb54, 0xc13, 0xaea, 0xc13, -0xaea, 0xa98, 0x968, 0xa98, 0x968, 0x92b, 0x7f5, 0x92b, 0x7f5, 0x919, 0x7e2, -0x919, 0x7e2, 0x919, 0x7e2, 0x91e, 0x7e9, 0x91e, 0x7e9, 0x7d4, 0x6a5, 0x7d4, -0x6a5, 0x7a7, 0x683, 0x7a7, 0x683, 0x84f, 0x739, 0x84f, 0x739, 0x760, 0x65c, -0x760, 0x65c, 0x7b2, 0x6c4, 0x7b2, 0x6c4, 0x7b2, 0x6c4, 0x881, 0x7ac, 0x881, -0x7ac, 0x7c8, 0x70f, 0x7c8, 0x70f, 0x738, 0x69e, 0x738, 0x69e, 0x6e2, 0x668, -0x6e2, 0x668, 0x5a5, 0x54b, 0x5a5, 0x54b, 0x5a5, 0x54b, 0x4e6, 0x4ad, 0x4e6, -0x4ad, 0x514, 0x4fb, 0x514, 0x4fb, 0x480, 0x486, 0x480, 0x486, 0x4dc, 0x500, -0x4dc, 0x500, 0x4eb, 0x52a, 0x4eb, 0x52a, 0x403, 0x45a, 0x403, 0x45a, 0x403, -0x45a, 0x461, 0x4ce, 0x461, 0x4ce, 0x3bf, 0x43d, 0x3bf, 0x43d, 0x2f5, 0x382, -0x2f5, 0x382, 0x327, 0x3bf, 0x327, 0x3bf, 0x2f0, 0x38e, 0x2f0, 0x38e, 0x2f9, -0x39b, 0x2f9, 0x39b, 0x2f9, 0x39b, 0x351, 0x3f2, 0x351, 0x3f2, 0x364, 0x401, -0x364, 0x401, 0x2bb, 0x352, 0x2bb, 0x352, 0x228, 0x2b6, 0x228, 0x2b6, 0x1b6, -0x239, 0x1b6, 0x239, 0x1b6, 0x239, 0x192, 0x209, 0x192, 0x209, 0x245, 0x2ae, -0x245, 0x2ae, 0x21f, 0x279, 0x21f, 0x279, 0x1b1, 0x1fb, 0x1b1, 0x1fb, 0x1c7, -0x203, 0x1c7, 0x203, 0x1a9, 0x1d5, 0x1a9, 0x1d5, 0x1a9, 0x1d5, 0x1da, 0x1f7, -0x1da, 0x1f7, 0x1ff, 0x20e, 0x1ff, 0x20e, 0xb0, 0xb1, 0xb0, 0xb1, 0xffc1, -0xffb6, 0xffc1, 0xffb6, 0x99, 0x82, 0x99, 0x82, 0x36, 0x14, 0x36, 0x14, -0x36, 0x14, 0x5c, 0x30, 0x5c, 0x30, 0x18a, 0x155, 0x18a, 0x155, 0x131, -0xf3, 0x131, 0xf3, 0x29c, 0x256, 0x29c, 0x256, 0x444, 0x3f6, 0x444, 0x3f6, -0x444, 0x3f6, 0x3fa, 0x3a4, 0x3fa, 0x3a4, 0x407, 0x3aa, 0x407, 0x3aa, 0x3d7, -0x371, 0x3d7, 0x371, 0x33a, 0x2ca, 0x33a, 0x2ca, 0x31c, 0x2a2, 0x31c, 0x2a2, -0x369, 0x2e3, 0x369, 0x2e3, 0x369, 0x2e3, 0x321, 0x28f, 0x321, 0x28f, 0x3c0, -0x320, 0x3c0, 0x320, 0x4e1, 0x431, 0x4e1, 0x431, 0x4e5, 0x423, 0x4e5, 0x423, -0x634, 0x55e, 0x634, 0x55e, 0x6b2, 0x5c6, 0x6b2, 0x5c6, 0x6b2, 0x5c6, 0x610, -0x50b, 0x610, 0x50b, 0x6bd, 0x59e, 0x6bd, 0x59e, 0x6ac, 0x56f, 0x6ac, 0x56f, -0x68f, 0x533, 0x68f, 0x533, 0x71d, 0x5a0, 0x71d, 0x5a0, 0x71d, 0x5a0, 0x79c, -0x5fc, 0x79c, 0x5fc, 0x79c, 0x5d6, 0x79c, 0x5d6, 0x784, 0x597, 0x784, 0x597, -0x8e2, 0x6cc, 0x8e2, 0x6cc, 0x9c5, 0x786, 0x9c5, 0x786, 0xa99, 0x830, 0xa99, -0x830, 0xa99, 0x830, 0xc86, 0x9f3, 0xc86, 0x9f3, 0xd56, 0xa99, 0xd56, 0xa99, -0xdd8, 0xaf1, 0xdd8, 0xaf1, 0xe83, 0xb74, 0xe83, 0xb74, 0xf0a, 0xbd5, 0xf0a, -0xbd5, 0xfcb, 0xc72, 0xfcb, 0xc72, 0xfcb, 0xc72, 0x1040, 0xcc6, 0x1040, 0xcc6, -0x10e9, 0xd51, 0x10e9, 0xd51, 0x117f, 0xdce, 0x117f, 0xdce, 0x11d8, 0xe11, 0x11d8, -0xe11, 0x1204, 0xe2c, 0x1204, 0xe2c, 0x1204, 0xe2c, 0x1232, 0xe4d, 0x1232, 0xe4d, -0x1239, 0xe4d, 0x1239, 0xe4d, 0x115a, 0xd6c, 0x115a, 0xd6c, 0x112c, 0xd40, 0x112c, -0xd40, 0x10d3, 0xcef, 0x10d3, 0xcef, 0xff3, 0xc1b, 0xff3, 0xc1b, 0xff3, 0xc1b, -0xf7e, 0xbb5, 0xf7e, 0xbb5, 0xe36, 0xa82, 0xe36, 0xa82, 0xde3, 0xa46, 0xde3, -0xa46, 0xe1d, 0xa9a, 0xe1d, 0xa9a, 0xe3d, 0xad7, 0xe3d, 0xad7, 0xeb6, 0xb6f, -0xeb6, 0xb6f, 0xeb6, 0xb6f, 0xe72, 0xb4a, 0xe72, 0xb4a, 0xe1e, 0xb15, 0xe1e, -0xb15, 0xcd6, 0x9ed, 0xcd6, 0x9ed, 0xca0, 0x9d7, 0xca0, 0x9d7, 0xd31, 0xa86, -0xd31, 0xa86, 0xd31, 0xa86, 0xc7c, 0x9ef, 0xc7c, 0x9ef, 0xd01, 0xa90, 0xd01, -0xa90, 0xc58, 0xa02, 0xc58, 0xa02, 0xb5a, 0x91d, 0xb5a, 0x91d, 0xb8d, 0x968, -0xb8d, 0x968, 0xacd, 0x8be, 0xacd, 0x8be, 0xacd, 0x8be, 0xb02, 0x908, 0xb02, -0x908, 0xb62, 0x97d, 0xb62, 0x97d, 0xb5e, 0x98d, 0xb5e, 0x98d, 0xc0e, 0xa50, -0xc0e, 0xa50, 0xce5, 0xb3b, 0xce5, 0xb3b, 0xccc, 0xb37, 0xccc, 0xb37, 0xccc, -0xb37, 0xc2c, 0xaab, 0xc2c, 0xaab, 0xc3a, 0xad0, 0xc3a, 0xad0, 0xb93, 0xa40, -0xb93, 0xa40, 0xbdf, 0xaa5, 0xbdf, 0xaa5, 0xc26, 0xb07, 0xc26, 0xb07, 0xc26, -0xb07, 0xa76, 0x972, 0xa76, 0x972, 0x9d4, 0x8ef, 0x9d4, 0x8ef, 0x91a, 0x853, -0x91a, 0x853, 0x83a, 0x793, 0x83a, 0x793, 0x819, 0x792, 0x819, 0x792, 0x795, -0x730, 0x795, 0x730, 0x795, 0x730, 0x710, 0x6cc, 0x710, 0x6cc, 0x6c3, 0x6a0, -0x6c3, 0x6a0, 0x79e, 0x79b, 0x79e, 0x79b, 0x7b3, 0x7d0, 0x7b3, 0x7d0, 0x5f1, -0x62b, 0x5f1, 0x62b, 0x5f1, 0x62b, 0x528, 0x57d, 0x528, 0x57d, 0x51a, 0x589, -0x51a, 0x589, 0x4e4, 0x56a, 0x4e4, 0x56a, 0x5c5, 0x661, 0x5c5, 0x661, 0x6dc, -0x78a, 0x6dc, 0x78a, 0x68f, 0x74c, 0x68f, 0x74c, 0x68f, 0x74c, 0x66a, 0x735, -0x66a, 0x735, 0x71f, 0x7f5, 0x71f, 0x7f5, 0x818, 0x8f8, 0x818, 0x8f8, 0x8f5, -0x9dd, 0x8f5, 0x9dd, 0x8ad, 0x99b, 0x8ad, 0x99b, 0x756, 0x849, 0x756, 0x849, -0x756, 0x849, 0x571, 0x669, 0x571, 0x669, 0x3fa, 0x4f7, 0x3fa, 0x4f7, 0x364, -0x465, 0x364, 0x465, 0x33f, 0x444, 0x33f, 0x444, 0x2d9, 0x3e4, 0x2d9, 0x3e4, -0x2d9, 0x3e4, 0x217, 0x328, 0x217, 0x328, 0x1c0, 0x2d8, 0x1c0, 0x2d8, 0xf9, -0x219, 0xf9, 0x219, 0x6, 0x130, 0x6, 0x130, 0xff09, 0x3d, 0xff09, 0x3d, -0xfd91, 0xfed0, 0xfd91, 0xfed0, 0xfd91, 0xfed0, 0xfcd8, 0xfe22, 0xfcd8, 0xfe22, 0xfcf5, -0xfe4b, 0xfcf5, 0xfe4b, 0xfd57, 0xfeb8, 0xfd57, 0xfeb8, 0xfd30, 0xfe9d, 0xfd30, 0xfe9d, -0xfcfd, 0xfe75, 0xfcfd, 0xfe75, 0xfc6a, 0xfdec, 0xfc6a, 0xfdec, 0xfc6a, 0xfdec, 0xfbc5, -0xfd50, 0xfbc5, 0xfd50, 0xfcb7, 0xfe48, 0xfcb7, 0xfe48, 0xfcfe, 0xfe95, 0xfcfe, 0xfe95, -0xfcd3, 0xfe6d, 0xfcd3, 0xfe6d, 0xfc06, 0xfda2, 0xfc06, 0xfda2, 0xfc06, 0xfda2, 0xf9ca, -0xfb65, 0xf9ca, 0xfb65, 0xf91c, 0xfab4, 0xf91c, 0xfab4, 0xf88c, 0xfa20, 0xf88c, 0xfa20, -0xf759, 0xf8e8, 0xf759, 0xf8e8, 0xf6c6, 0xf84e, 0xf6c6, 0xf84e, 0xf608, 0xf789, 0xf608, -0xf789, 0xf608, 0xf789, 0xf663, 0xf7dd, 0xf663, 0xf7dd, 0xf7cd, 0xf940, 0xf7cd, 0xf940, -0xf774, 0xf8e2, 0xf774, 0xf8e2, 0xf637, 0xf79f, 0xf637, 0xf79f, 0xf65d, 0xf7c3, 0xf65d, -0xf7c3, 0xf5bf, 0xf725, 0xf5bf, 0xf725, 0xf5bf, 0xf725, 0xf51e, 0xf688, 0xf51e, 0xf688, -0xf52d, 0xf69c, 0xf52d, 0xf69c, 0xf318, 0xf492, 0xf318, 0xf492, 0xf15b, 0xf2e3, 0xf15b, -0xf2e3, 0xf0ed, 0xf288, 0xf0ed, 0xf288, 0xf0ed, 0xf288, 0xf075, 0xf226, 0xf075, 0xf226, -0xf089, 0xf255, 0xf089, 0xf255, 0xf088, 0xf272, 0xf088, 0xf272, 0xf00b, 0xf218, 0xf00b, -0xf218, 0xeece, 0xf0ff, 0xeece, 0xf0ff, 0xee1a, 0xf072, 0xee1a, 0xf072, 0xee1a, 0xf072, -0xed74, 0xeff4, 0xed74, 0xeff4, 0xeb1f, 0xedc8, 0xeb1f, 0xedc8, 0xe95b, 0xec2d, 0xe95b, -0xec2d, 0xe89a, 0xeb94, 0xe89a, 0xeb94, 0xe7c3, 0xeae3, 0xe7c3, 0xeae3, 0xe73f, 0xea82, -0xe73f, 0xea82, 0xe73f, 0xea82, 0xe6f4, 0xea57, 0xe6f4, 0xea57, 0xe6b4, 0xea31, 0xe6b4, -0xea31, 0xe652, 0xe9e5, 0xe652, 0xe9e5, 0xe62c, 0xe9d0, 0xe62c, 0xe9d0, 0xe60c, 0xe9b9, -0xe60c, 0xe9b9, 0xe60c, 0xe9b9, 0xe523, 0xe8d4, 0xe523, 0xe8d4, 0xe453, 0xe801, 0xe453, -0xe801, 0xe3d9, 0xe77d, 0xe3d9, 0xe77d, 0xe33a, 0xe6cf, 0xe33a, 0xe6cf, 0xe290, 0xe610, -0xe290, 0xe610, 0xe201, 0xe566, 0xe201, 0xe566, 0xe201, 0xe566, 0xe260, 0xe5a5, 0xe260, -0xe5a5, 0xe2b0, 0xe5d2, 0xe2b0, 0xe5d2, 0xe29a, 0xe595, 0xe29a, 0xe595, 0xe365, 0xe638, -0xe365, 0xe638, 0xe3fb, 0xe6a5, 0xe3fb, 0xe6a5, 0xe420, 0xe6a0, 0xe420, 0xe6a0, 0xe420, -0xe6a0, 0xe46d, 0xe6c4, 0xe46d, 0xe6c4, 0xe531, 0xe760, 0xe531, 0xe760, 0xe624, 0xe82e, -0xe624, 0xe82e, 0xe6c1, 0xe8a9, 0xe6c1, 0xe8a9, 0xe7aa, 0xe975, 0xe7aa, 0xe975, 0xe7aa, -0xe975, 0xe833, 0xe9e5, 0xe833, 0xe9e5, 0xe927, 0xeac4, 0xe927, 0xeac4, 0xea26, 0xebb2, -0xea26, 0xebb2, 0xe9f3, 0xeb74, 0xe9f3, 0xeb74, 0xea0d, 0xeb87, 0xea0d, 0xeb87, 0xe9d5, -0xeb4c, 0xe9d5, 0xeb4c, 0xe9d5, 0xeb4c, 0xe9e0, 0xeb58, 0xe9e0, 0xeb58, 0xea1e, 0xeb9c, -0xea1e, 0xeb9c, 0xe992, 0xeb18, 0xe992, 0xeb18, 0xe9ce, 0xeb5e, 0xe9ce, 0xeb5e, 0xea10, -0xebad, 0xea10, 0xebad, 0xe9e6, 0xeb92, 0xe9e6, 0xeb92, 0xe9e6, 0xeb92, 0xea1d, 0xebd7, -0xea1d, 0xebd7, 0xea6e, 0xec37, 0xea6e, 0xec37, 0xea9e, 0xec75, 0xea9e, 0xec75, 0xeb5d, -0xed43, 0xeb5d, 0xed43, 0xebeb, 0xedde, 0xebeb, 0xedde, 0xebeb, 0xedde, 0xebc2, 0xedc2, -0xebc2, 0xedc2, 0xed58, 0xef63, 0xed58, 0xef63, 0xeec0, 0xf0d5, 0xeec0, 0xf0d5, 0xeefa, -0xf119, 0xeefa, 0xf119, 0xefa6, 0xf1cd, 0xefa6, 0xf1cd, 0xef1c, 0xf14a, 0xef1c, 0xf14a, -0xef1c, 0xf14a, 0xee5a, 0xf08f, 0xee5a, 0xf08f, 0xee07, 0xf042, 0xee07, 0xf042, 0xed8e, -0xefce, 0xed8e, 0xefce, 0xec83, 0xeec8, 0xec83, 0xeec8, 0xeb2d, 0xed77, 0xeb2d, 0xed77, -0xebbd, 0xee0c, 0xebbd, 0xee0c, 0xebbd, 0xee0c, 0xecf2, 0xef43, 0xecf2, 0xef43, 0xee6d, -0xf0c1, 0xee6d, 0xf0c1, 0xf060, 0xf2b5, 0xf060, 0xf2b5, 0xf0fd, 0xf351, 0xf0fd, 0xf351, -0xf17e, 0xf3ce, 0xf17e, 0xf3ce, 0xf17e, 0xf3ce, 0xf27c, 0xf4c6, 0xf27c, 0xf4c6, 0xf309, -0xf54a, 0xf309, 0xf54a, 0xf38f, 0xf5c3, 0xf38f, 0xf5c3, 0xf415, 0xf638, 0xf415, 0xf638, -0xf481, 0xf68d, 0xf481, 0xf68d, 0xf570, 0xf761, 0xf570, 0xf761, 0xf570, 0xf761, 0xf6d5, -0xf8a4, 0xf6d5, 0xf8a4, 0xf8c9, 0xfa71, 0xf8c9, 0xfa71, 0xfb17, 0xfc94, 0xfb17, 0xfc94, -0xfce6, 0xfe31, 0xfce6, 0xfe31, 0xfefb, 0xf, 0xfefb, 0xf, 0x1fa, 0x2d4, 0x1fa, -0x2d4, 0x1fa, 0x2d4, 0x506, 0x5a1, 0x506, 0x5a1, 0x6bc, 0x715, 0x6bc, 0x715, -0x826, 0x83c, 0x826, 0x83c, 0x9e9, 0x9ba, 0x9e9, 0x9ba, 0xac9, 0xa56, 0xac9, -0xa56, 0xac9, 0xa56, 0xc2c, 0xb76, 0xc2c, 0xb76, 0xd40, 0xc49, 0xd40, 0xc49, -0xd6a, 0xc35, 0xd6a, 0xc35, 0xe47, 0xcda, 0xe47, 0xcda, 0xf9b, 0xdfa, 0xf9b, -0xdfa, 0x1183, 0xfb5, 0x1183, 0xfb5, 0x1183, 0xfb5, 0x1311, 0x111c, 0x1311, 0x111c, -0x1499, 0x1285, 0x1499, 0x1285, 0x1680, 0x1452, 0x1680, 0x1452, 0x17e8, 0x15a9, 0x17e8, -0x15a9, 0x1877, 0x162e, 0x1877, 0x162e, 0x1877, 0x162e, 0x17c8, 0x157b, 0x17c8, 0x157b, -0x1773, 0x1528, 0x1773, 0x1528, 0x1707, 0x14c3, 0x1707, 0x14c3, 0x1719, 0x14e1, 0x1719, -0x14e1, 0x184c, 0x1623, 0x184c, 0x1623, 0x1827, 0x1610, 0x1827, 0x1610, 0x1827, 0x1610, -0x180d, 0x160a, 0x180d, 0x160a, 0x184c, 0x165c, 0x184c, 0x165c, 0x17ba, 0x15df, 0x17ba, -0x15df, 0x16f8, 0x1530, 0x16f8, 0x1530, 0x15b9, 0x1404, 0x15b9, 0x1404, 0x139b, 0x11f5, -0x139b, 0x11f5, 0x139b, 0x11f5, 0x11c9, 0x1031, 0x11c9, 0x1031, 0x1104, 0xf77, 0x1104, -0xf77, 0xf8e, 0xe0a, 0xf8e, 0xe0a, 0xeab, 0xd2d, 0xeab, 0xd2d, 0xe83, 0xd09, -0xe83, 0xd09, 0xe83, 0xd09, 0xded, 0xc76, 0xded, 0xc76, 0xe5d, 0xce6, 0xe5d, -0xce6, 0xe04, 0xc8d, 0xe04, 0xc8d, 0xcd5, 0xb5d, 0xcd5, 0xb5d, 0xbf2, 0xa7a, -0xbf2, 0xa7a, 0xb07, 0x990, 0xb07, 0x990, 0xb07, 0x990, 0xa4b, 0x8d5, 0xa4b, -0x8d5, 0x98d, 0x81a, 0x98d, 0x81a, 0x9c7, 0x85a, 0x9c7, 0x85a, 0x9a8, 0x842, -0x9a8, 0x842, 0x910, 0x7b3, 0x910, 0x7b3, 0x8fd, 0x7ad, 0x8fd, 0x7ad, 0x8fd, -0x7ad, 0x7e5, 0x6a3, 0x7e5, 0x6a3, 0x687, 0x556, 0x687, 0x556, 0x570, 0x451, -0x570, 0x451, 0x4b3, 0x3a9, 0x4b3, 0x3a9, 0x4e5, 0x3f1, 0x4e5, 0x3f1, 0x4e5, -0x3f1, 0x504, 0x426, 0x504, 0x426, 0x45d, 0x396, 0x45d, 0x396, 0x3b9, 0x30a, -0x3b9, 0x30a, 0x350, 0x2b7, 0x350, 0x2b7, 0x2bf, 0x23d, 0x2bf, 0x23d, 0x2ae, -0x242, 0x2ae, 0x242, 0x2ae, 0x242, 0x271, 0x219, 0x271, 0x219, 0x19a, 0x155, -0x19a, 0x155, 0xf1, 0xbc, 0xf1, 0xbc, 0x6f, 0x4a, 0x6f, 0x4a, 0x4, -0xffed, 0x4, 0xffed, 0xff7f, 0xff73, 0xff7f, 0xff73, 0xff7f, 0xff73, 0xff29, 0xff27, -0xff29, 0xff27, 0xff0e, 0xff13, 0xff0e, 0xff13, 0xff09, 0xff15, 0xff09, 0xff15, 0xfedb, -0xfeeb, 0xfedb, 0xfeeb, 0xfe97, 0xfea9, 0xfe97, 0xfea9, 0xfe97, 0xfea9, 0xfe5c, 0xfe6f, -0xfe5c, 0xfe6f, 0xfd95, 0xfda6, 0xfd95, 0xfda6, 0xfd7a, 0xfd89, 0xfd7a, 0xfd89, 0xfd6a, -0xfd74, 0xfd6a, 0xfd74, 0xfcc7, 0xfcca, 0xfcc7, 0xfcca, 0xfd3c, 0xfd36, 0xfd3c, 0xfd36, -0xfd3c, 0xfd36, 0xfddf, 0xfdcf, 0xfddf, 0xfdcf, 0xfdc6, 0xfdaa, 0xfdc6, 0xfdaa, 0xfd3e, -0xfd13, 0xfd3e, 0xfd13, 0xfd0c, 0xfcd2, 0xfd0c, 0xfcd2, 0xfd1e, 0xfcd3, 0xfd1e, 0xfcd3, -0xfd57, 0xfcf9, 0xfd57, 0xfcf9, 0xfd57, 0xfcf9, 0xfdc5, 0xfd53, 0xfdc5, 0xfd53, 0xfcfc, -0xfc74, 0xfcfc, 0xfc74, 0xfc35, 0xfb98, 0xfc35, 0xfb98, 0xfc71, 0xfbbe, 0xfc71, 0xfbbe, -0xfd44, 0xfc7b, 0xfd44, 0xfc7b, 0xfd44, 0xfc7b, 0xfe7f, 0xfda1, 0xfe7f, 0xfda1, 0xff23, -0xfe30, 0xff23, 0xfe30, 0xffc6, 0xfec1, 0xffc6, 0xfec1, 0x98, 0xff81, 0x98, 0xff81, -0x152, 0x2c, 0x152, 0x2c, 0x1bd, 0x8b, 0x1bd, 0x8b, 0x1bd, 0x8b, 0x1a0, -0x63, 0x1a0, 0x63, 0x1b5, 0x70, 0x1b5, 0x70, 0x272, 0x128, 0x272, 0x128, -0x426, 0x2d9, 0x426, 0x2d9, 0x57b, 0x42e, 0x57b, 0x42e, 0x572, 0x426, 0x572, -0x426, 0x572, 0x426, 0x4ce, 0x384, 0x4ce, 0x384, 0x4b9, 0x372, 0x4b9, 0x372, -0x5ef, 0x4ab, 0x5ef, 0x4ab, 0x74a, 0x609, 0x74a, 0x609, 0x894, 0x755, 0x894, -0x755, 0x894, 0x755, 0x964, 0x824, 0x964, 0x824, 0x97d, 0x83a, 0x97d, 0x83a, -0xaf9, 0x9b0, 0xaf9, 0x9b0, 0xc7a, 0xb27, 0xc7a, 0xb27, 0xbd1, 0xa71, 0xbd1, -0xa71, 0xb2b, 0x9b9, 0xb2b, 0x9b9, 0xb2b, 0x9b9, 0xafa, 0x973, 0xafa, 0x973, -0xae1, 0x941, 0xae1, 0x941, 0xc91, 0xad3, 0xc91, 0xad3, 0xe62, 0xc84, 0xe62, -0xc84, 0xf0f, 0xd0d, 0xf0f, 0xd0d, 0x1045, 0xe1d, 0x1045, 0xe1d, 0x1045, 0xe1d, -0x11f8, 0xfa9, 0x11f8, 0xfa9, 0x138b, 0x1114, 0x138b, 0x1114, 0x14bc, 0x121d, 0x14bc, -0x121d, 0x1541, 0x127c, 0x1541, 0x127c, 0x14f2, 0x1208, 0x14f2, 0x1208, 0x14f2, 0x1208, -0x156e, 0x1261, 0x156e, 0x1261, 0x1722, 0x13f7, 0x1722, 0x13f7, 0x1843, 0x14fd, 0x1843, -0x14fd, 0x1994, 0x1637, 0x1994, 0x1637, 0x1ae8, 0x177a, 0x1ae8, 0x177a, 0x1b5c, 0x17e2, -0x1b5c, 0x17e2, 0x1b5c, 0x17e2, 0x1ad1, 0x1750, 0x1ad1, 0x1750, 0x1984, 0x1601, 0x1984, -0x1601, 0x1866, 0x14e6, 0x1866, 0x14e6, 0x16dc, 0x1363, 0x16dc, 0x1363, 0x15b7, 0x124a, -0x15b7, 0x124a, 0x153c, 0x11de, 0x153c, 0x11de, 0x153c, 0x11de, 0x14d3, 0x1188, 0x14d3, -0x1188, 0x14d5, 0x119e, 0x14d5, 0x119e, 0x1577, 0x1256, 0x1577, 0x1256, 0x1716, 0x140d, -0x1716, 0x140d, 0x171a, 0x1428, 0x171a, 0x1428, 0x171a, 0x1428, 0x1608, 0x132d, 0x1608, -0x132d, 0x15b6, 0x12f2, 0x15b6, 0x12f2, 0x14ae, 0x1201, 0x14ae, 0x1201, 0x141d, 0x1185, -0x141d, 0x1185, 0x1397, 0x1112, 0x1397, 0x1112, 0x122d, 0xfba, 0x122d, 0xfba, 0x122d, -0xfba, 0x1148, 0xee6, 0x1148, 0xee6, 0x1126, 0xed4, 0x1126, 0xed4, 0x10dc, 0xe98, -0x10dc, 0xe98, 0x105e, 0xe26, 0x105e, 0xe26, 0x108a, 0xe5f, 0x108a, 0xe5f, 0x1055, -0xe35, 0x1055, 0xe35, 0x1055, 0xe35, 0x1067, 0xe53, 0x1067, 0xe53, 0x109f, 0xe95, -0x109f, 0xe95, 0xfca, 0xdcb, 0xfca, 0xdcb, 0xfe2, 0xded, 0xfe2, 0xded, 0xf7a, -0xd91, 0xf7a, 0xd91, 0xf7a, 0xd91, 0xe0f, 0xc31, 0xe0f, 0xc31, 0xda0, 0xbcf, -0xda0, 0xbcf, 0xca1, 0xadc, 0xca1, 0xadc, 0xb3d, 0x986, 0xb3d, 0x986, 0xb12, -0x969, 0xb12, 0x969, 0xa92, 0x8f7, 0xa92, 0x8f7, 0xa92, 0x8f7, 0x93a, 0x7af, -0x93a, 0x7af, 0x8ec, 0x770, 0x8ec, 0x770, 0x891, 0x726, 0x891, 0x726, 0x75c, -0x601, 0x75c, 0x601, 0x77d, 0x634, 0x77d, 0x634, 0x77d, 0x634, 0x7d9, 0x6a1, -0x7d9, 0x6a1, 0x640, 0x51b, 0x640, 0x51b, 0x469, 0x358, 0x469, 0x358, 0x32f, -0x231, 0x32f, 0x231, 0x1cb, 0xe2, 0x1cb, 0xe2, 0x17f, 0xab, 0x17f, 0xab, -0x17f, 0xab, 0x1b1, 0xf5, 0x1b1, 0xf5, 0x14d, 0xa8, 0x14d, 0xa8, 0x1ab, -0x11f, 0x1ab, 0x11f, 0x2a8, 0x236, 0x2a8, 0x236, 0x38f, 0x338, 0x38f, 0x338, -0x371, 0x337, 0x371, 0x337, 0x371, 0x337, 0x25b, 0x23d, 0x25b, 0x23d, 0x19e, -0x19e, 0x19e, 0x19e, 0x10c, 0x12a, 0x10c, 0x12a, 0x4d, 0x89, 0x4d, 0x89, -0xff5e, 0xffb7, 0xff5e, 0xffb7, 0xff5e, 0xffb7, 0xfe41, 0xfeb7, 0xfe41, 0xfeb7, 0xfd0d, -0xfda0, 0xfd0d, 0xfda0, 0xfc9a, 0xfd48, 0xfc9a, 0xfd48, 0xfc9e, 0xfd66, 0xfc9e, 0xfd66, -0xfc31, 0xfd11, 0xfc31, 0xfd11, 0xfbc8, 0xfcbe, 0xfbc8, 0xfcbe, 0xfbc8, 0xfcbe, 0xfa88, -0xfb93, 0xfa88, 0xfb93, 0xf92e, 0xfa4b, 0xf92e, 0xfa4b, 0xf8b2, 0xf9df, 0xf8b2, 0xf9df, -0xf814, 0xf950, 0xf814, 0xf950, 0xf6e8, 0xf830, 0xf6e8, 0xf830, 0xf5cb, 0xf71e, 0xf5cb, -0xf71e, 0xf5cb, 0xf71e, 0xf640, 0xf79d, 0xf640, 0xf79d, 0xf673, 0xf7d9, 0xf673, 0xf7d9, -0xf5ca, 0xf737, 0xf5ca, 0xf737, 0xf5c6, 0xf73b, 0xf5c6, 0xf73b, 0xf55c, 0xf6d7, 0xf55c, -0xf6d7, 0xf55c, 0xf6d7, 0xf577, 0xf6fa, 0xf577, 0xf6fa, 0xf63c, 0xf7c5, 0xf63c, 0xf7c5, -0xf685, 0xf817, 0xf685, 0xf817, 0xf658, 0xf7f2, 0xf658, 0xf7f2, 0xf568, 0xf70b, 0xf568, -0xf70b, 0xf426, 0xf5d3, 0xf426, 0xf5d3, 0xf426, 0xf5d3, 0xf369, 0xf521, 0xf369, 0xf521, -0xf2f0, 0xf4b3, 0xf2f0, 0xf4b3, 0xf1c1, 0xf38f, 0xf1c1, 0xf38f, 0xf14a, 0xf324, 0xf14a, -0xf324, 0xf131, 0xf317, 0xf131, 0xf317, 0xf082, 0xf274, 0xf082, 0xf274, 0xf082, 0xf274, -0xf148, 0xf345, 0xf148, 0xf345, 0xf193, 0xf39c, 0xf193, 0xf39c, 0xf113, 0xf326, 0xf113, -0xf326, 0xf20b, 0xf428, 0xf20b, 0xf428, 0xf27f, 0xf4a6, 0xf27f, 0xf4a6, 0xf27f, 0xf4a6, -0xf204, 0xf435, 0xf204, 0xf435, 0xf1c5, 0xf3fe, 0xf1c5, 0xf3fe, 0xf101, 0xf343, 0xf101, -0xf343, 0xf016, 0xf261, 0xf016, 0xf261, 0xf012, 0xf266, 0xf012, 0xf266, 0xf065, 0xf2c3, -0xf065, 0xf2c3, 0xf065, 0xf2c3, 0xf09c, 0xf304, 0xf09c, 0xf304, 0xf0e6, 0xf359, 0xf0e6, -0xf359, 0xf191, 0xf411, 0xf191, 0xf411, 0xf1d7, 0xf465, 0xf1d7, 0xf465, 0xf0a8, 0xf346, -0xf0a8, 0xf346, 0xef51, 0xf201, 0xef51, 0xf201, 0xef51, 0xf201, 0xee0d, 0xf0d1, 0xee0d, -0xf0d1, 0xec7e, 0xef56, 0xec7e, 0xef56, 0xeb6e, 0xee5c, 0xeb6e, 0xee5c, 0xeaea, 0xedee, -0xeaea, 0xedee, 0xea71, 0xed8c, 0xea71, 0xed8c, 0xea71, 0xed8c, 0xea2d, 0xed5f, 0xea2d, -0xed5f, 0xeb14, 0xee5d, 0xeb14, 0xee5d, 0xeb58, 0xeeb6, 0xeb58, 0xeeb6, 0xea96, 0xee07, -0xea96, 0xee07, 0xea2b, 0xedac, 0xea2b, 0xedac, 0xe92d, 0xecbc, 0xe92d, 0xecbc, 0xe92d, -0xecbc, 0xe898, 0xec31, 0xe898, 0xec31, 0xe7f6, 0xeb95, 0xe7f6, 0xeb95, 0xe6f5, 0xea96, -0xe6f5, 0xea96, 0xe749, 0xeae6, 0xe749, 0xeae6, 0xe7e5, 0xeb7b, 0xe7e5, 0xeb7b, 0xe7cb, -0xeb56, 0xe7cb, 0xeb56, 0xe7cb, 0xeb56, 0xe776, 0xeaf0, 0xe776, 0xeaf0, 0xe6ec, 0xea52, -0xe6ec, 0xea52, 0xe607, 0xe956, 0xe607, 0xe956, 0xe64b, 0xe980, 0xe64b, 0xe980, 0xe6fc, -0xea14, 0xe6fc, 0xea14, 0xe6fc, 0xea14, 0xe786, 0xea80, 0xe786, 0xea80, 0xe95d, 0xec38, -0xe95d, 0xec38, 0xea11, 0xeccc, 0xea11, 0xeccc, 0xea6f, 0xed0b, 0xea6f, 0xed0b, 0xeb63, -0xede0, 0xeb63, 0xede0, 0xeb55, 0xedb6, 0xeb55, 0xedb6, 0xeb55, 0xedb6, 0xebdb, 0xee20, -0xebdb, 0xee20, 0xebf7, 0xee24, 0xebf7, 0xee24, 0xebb0, 0xedc6, 0xebb0, 0xedc6, 0xec6f, -0xee71, 0xec6f, 0xee71, 0xed64, 0xef54, 0xed64, 0xef54, 0xede2, 0xefc2, 0xede2, 0xefc2, -0xede2, 0xefc2, 0xedb0, 0xef83, 0xedb0, 0xef83, 0xed46, 0xef0c, 0xed46, 0xef0c, 0xed39, -0xeef4, 0xed39, 0xeef4, 0xee05, 0xefb6, 0xee05, 0xefb6, 0xedf7, 0xef9f, 0xedf7, 0xef9f, -0xedf7, 0xef9f, 0xedbc, 0xef5d, 0xedbc, 0xef5d, 0xee54, 0xefec, 0xee54, 0xefec, 0xed96, -0xef27, 0xed96, 0xef27, 0xedcd, 0xef56, 0xedcd, 0xef56, 0xeeea, 0xf06c, 0xeeea, 0xf06c, -0xeed8, 0xf052, 0xeed8, 0xf052, 0xeed8, 0xf052, 0xef6a, 0xf0de, 0xef6a, 0xf0de, 0xf04a, -0xf1b8, 0xf04a, 0xf1b8, 0xefff, 0xf169, 0xefff, 0xf169, 0xeeef, 0xf055, 0xeeef, 0xf055, -0xee5d, 0xefc1, 0xee5d, 0xefc1, 0xedff, 0xef63, 0xedff, 0xef63, 0xedff, 0xef63, 0xed94, -0xeefb, 0xed94, 0xeefb, 0xed6d, 0xeed9, 0xed6d, 0xeed9, 0xed10, 0xee83, 0xed10, 0xee83, -0xed03, 0xee7f, 0xed03, 0xee7f, 0xeda7, 0xef2f, 0xeda7, 0xef2f, 0xeda7, 0xef2f, 0xeed6, -0xf06a, 0xeed6, 0xf06a, 0xef34, 0xf0d6, 0xef34, 0xf0d6, 0xeeee, 0xf09e, 0xeeee, 0xf09e, -0xef4e, 0xf10d, 0xef4e, 0xf10d, 0xef95, 0xf160, 0xef95, 0xf160, 0xf031, 0xf206, 0xf031, -0xf206, 0xf031, 0xf206, 0xf0fd, 0xf2db, 0xf0fd, 0xf2db, 0xf151, 0xf332, 0xf151, 0xf332, -0xf189, 0xf368, 0xf189, 0xf368, 0xf20b, 0xf3e3, 0xf20b, 0xf3e3, 0xf326, 0xf4f0, 0xf326, -0xf4f0, 0xf499, 0xf64f, 0xf499, 0xf64f, 0xf499, 0xf64f, 0xf5f0, 0xf789, 0xf5f0, 0xf789, -0xf675, 0xf7eb, 0xf675, 0xf7eb, 0xf806, 0xf950, 0xf806, 0xf950, 0xfa91, 0xfba9, 0xfa91, -0xfba9, 0xfc7c, 0xfd5b, 0xfc7c, 0xfd5b, 0xfc7c, 0xfd5b, 0xff82, 0x23, 0xff82, 0x23, -0x1a8, 0x205, 0x1a8, 0x205, 0x224, 0x23a, 0x224, 0x23a, 0x3e7, 0x3b3, 0x3e7, -0x3b3, 0x5e0, 0x562, 0x5e0, 0x562, 0x6e6, 0x61d, 0x6e6, 0x61d, 0x6e6, 0x61d, -0x7f1, 0x6de, 0x7f1, 0x6de, 0x8fb, 0x7a2, 0x8fb, 0x7a2, 0xa05, 0x86a, 0xa05, -0x86a, 0xc10, 0xa38, 0xc10, 0xa38, 0xe11, 0xc02, 0xe11, 0xc02, 0xe11, 0xc02, -0xfbf, 0xd81, 0xfbf, 0xd81, 0x11b3, 0xf4c, 0x11b3, 0xf4c, 0x127c, 0xff4, 0x127c, -0xff4, 0x1335, 0x1094, 0x1335, 0x1094, 0x13fc, 0x114a, 0x13fc, 0x114a, 0x141d, 0x1162, -0x141d, 0x1162, 0x141d, 0x1162, 0x1508, 0x124a, 0x1508, 0x124a, 0x156f, 0x12b4, 0x156f, -0x12b4, 0x1558, 0x12a6, 0x1558, 0x12a6, 0x1684, 0x13df, 0x1684, 0x13df, 0x178c, 0x14f8, -0x178c, 0x14f8, 0x17c4, 0x1543, 0x17c4, 0x1543, 0x17c4, 0x1543, 0x1831, 0x15c5, 0x1831, -0x15c5, 0x1750, 0x14fb, 0x1750, 0x14fb, 0x153a, 0x12fc, 0x153a, 0x12fc, 0x146a, 0x1242, -0x146a, 0x1242, 0x1302, 0x10ef, 0x1302, 0x10ef, 0x1302, 0x10ef, 0x10f4, 0xef4, 0x10f4, -0xef4, 0xfee, 0xe01, 0xfee, 0xe01, 0xdef, 0xc12, 0xdef, 0xc12, 0xccf, 0xb01, -0xccf, 0xb01, 0xe22, 0xc60, 0xe22, 0xc60, 0xeda, 0xd24, 0xeda, 0xd24, 0xeda, -0xd24, 0xeae, 0xd01, 0xeae, 0xd01, 0xe90, 0xcec, 0xe90, 0xcec, 0xe56, 0xcba, -0xe56, 0xcba, 0xe0c, 0xc78, 0xe0c, 0xc78, 0xdbc, 0xc2f, 0xdbc, 0xc2f, 0xd71, -0xbec, 0xd71, 0xbec, 0xd71, 0xbec, 0xd06, 0xb88, 0xd06, 0xb88, 0xcda, 0xb64, -0xcda, 0xb64, 0xcde, 0xb70, 0xcde, 0xb70, 0xca1, 0xb3c, 0xca1, 0xb3c, 0xc4c, -0xaf2, 0xc4c, 0xaf2, 0xc4c, 0xaf2, 0xb69, 0xa19, 0xb69, 0xa19, 0xa41, 0x8fc, -0xa41, 0x8fc, 0x985, 0x84b, 0x985, 0x84b, 0x964, 0x838, 0x964, 0x838, 0x9fc, -0x8dc, 0x9fc, 0x8dc, 0xa47, 0x935, 0xa47, 0x935, 0xa47, 0x935, 0x988, 0x885, -0x988, 0x885, 0x85c, 0x768, 0x85c, 0x768, 0x81e, 0x73a, 0x81e, 0x73a, 0x84d, -0x77a, 0x84d, 0x77a, 0x7c1, 0x700, 0x7c1, 0x700, 0x73c, 0x68f, 0x73c, 0x68f, -0x73c, 0x68f, 0x691, 0x5f8, 0x691, 0x5f8, 0x5e7, 0x565, 0x5e7, 0x565, 0x5ad, -0x544, 0x5ad, 0x544, 0x598, 0x549, 0x598, 0x549, 0x518, 0x4e5, 0x518, 0x4e5, -0x518, 0x4e5, 0x3ff, 0x3ea, 0x3ff, 0x3ea, 0x3f9, 0x402, 0x3f9, 0x402, 0x409, -0x432, 0x409, 0x432, 0x328, 0x373, 0x328, 0x373, 0x259, 0x2c4, 0x259, 0x2c4, -0x14b, 0x1d8, 0x14b, 0x1d8, 0x14b, 0x1d8, 0x70, 0x11d, 0x70, 0x11d, 0xffff, -0xcc, 0xffff, 0xcc, 0x4a, 0x134, 0x4a, 0x134, 0xbd, 0x1c2, 0xbd, 0x1c2, -0xa5, 0x1c1, 0xa5, 0x1c1, 0x9d, 0x1ce, 0x9d, 0x1ce, 0x9d, 0x1ce, 0xffce, -0x10f, 0xffce, 0x10f, 0xfe91, 0xffde, 0xfe91, 0xffde, 0xfdd7, 0xff2b, 0xfdd7, 0xff2b, -0xfdc3, 0xff1a, 0xfdc3, 0xff1a, 0xfdb9, 0xff0e, 0xfdb9, 0xff0e, 0xfdb9, 0xff0e, 0xfd7e, -0xfecc, 0xfd7e, 0xfecc, 0xfd92, 0xfed5, 0xfd92, 0xfed5, 0xfd51, 0xfe84, 0xfd51, 0xfe84, -0xfdcb, 0xfeeb, 0xfdcb, 0xfeeb, 0xfe7b, 0xff85, 0xfe7b, 0xff85, 0xfe9c, 0xff8e, 0xfe9c, -0xff8e, 0xfe9c, 0xff8e, 0xff7f, 0x55, 0xff7f, 0x55, 0x23, 0xde, 0x23, 0xde, -0x73, 0x110, 0x73, 0x110, 0xa5, 0x125, 0xa5, 0x125, 0x97, 0xfa, 0x97, -0xfa, 0x7c, 0xc3, 0x7c, 0xc3, 0x7c, 0xc3, 0x66, 0x90, 0x66, 0x90, -0xa9, 0xb8, 0xa9, 0xb8, 0xcf, 0xc3, 0xcf, 0xc3, 0x159, 0x133, 0x159, -0x133, 0x1a5, 0x165, 0x1a5, 0x165, 0x1a5, 0x165, 0x154, 0xfa, 0x154, 0xfa, -0x20c, 0x198, 0x20c, 0x198, 0x3ee, 0x35f, 0x3ee, 0x35f, 0x551, 0x4a7, 0x551, -0x4a7, 0x5b3, 0x4eb, 0x5b3, 0x4eb, 0x6a6, 0x5c0, 0x6a6, 0x5c0, 0x6a6, 0x5c0, -0x71d, 0x615, 0x71d, 0x615, 0x739, 0x60f, 0x739, 0x60f, 0x787, 0x637, 0x787, -0x637, 0x655, 0x4dd, 0x655, 0x4dd, 0x5df, 0x43d, 0x5df, 0x43d, 0x669, 0x49b, -0x669, 0x49b, 0x669, 0x49b, 0x703, 0x508, 0x703, 0x508, 0x818, 0x5ee, 0x818, -0x5ee, 0x88c, 0x634, 0x88c, 0x634, 0x910, 0x68a, 0x910, 0x68a, 0xa5d, 0x7a9, -0xa5d, 0x7a9, 0xa5d, 0x7a9, 0xc58, 0x979, 0xc58, 0x979, 0xdd8, 0xad1, 0xdd8, -0xad1, 0xea9, 0xb7e, 0xea9, 0xb7e, 0xf65, 0xc19, 0xf65, 0xc19, 0xfee, 0xc86, -0xfee, 0xc86, 0x10cd, 0xd4e, 0x10cd, 0xd4e, 0x10cd, 0xd4e, 0x1173, 0xde3, 0x1173, -0xde3, 0x1263, 0xec8, 0x1263, 0xec8, 0x130b, 0xf6a, 0x130b, 0xf6a, 0x1383, 0xfe2, -0x1383, 0xfe2, 0x14d1, 0x1135, 0x14d1, 0x1135, 0x14a5, 0x1112, 0x14a5, 0x1112, 0x14a5, -0x1112, 0x1380, 0xffb, 0x1380, 0xffb, 0x1277, 0xf04, 0x1277, 0xf04, 0x11c6, 0xe66, -0x11c6, 0xe66, 0x1172, 0xe28, 0x1172, 0xe28, 0x10ec, 0xdb9, 0x10ec, 0xdb9, 0x10ec, -0xdb9, 0x112f, 0xe13, 0x112f, 0xe13, 0x117f, 0xe7a, 0x117f, 0xe7a, 0x126a, 0xf7b, -0x126a, 0xf7b, 0x13b5, 0x10da, 0x13b5, 0x10da, 0x1402, 0x113a, 0x1402, 0x113a, 0x13fd, -0x1145, 0x13fd, 0x1145, 0x13fd, 0x1145, 0x137b, 0x10d1, 0x137b, 0x10d1, 0x1303, 0x1065, -0x1303, 0x1065, 0x1200, 0xf6b, 0x1200, 0xf6b, 0x10d8, 0xe4b, 0x10d8, 0xe4b, 0x1049, -0xdc2, 0x1049, 0xdc2, 0xf6a, 0xce8, 0xf6a, 0xce8, 0xf6a, 0xce8, 0xf33, 0xcb6, -0xf33, 0xcb6, 0xf52, 0xcd9, 0xf52, 0xcd9, 0xf96, 0xd23, 0xf96, 0xd23, 0xfaf, -0xd43, 0xfaf, 0xd43, 0xf4f, 0xceb, 0xf4f, 0xceb, 0xf4f, 0xceb, 0xfc7, 0xd6e, -0xfc7, 0xd6e, 0x1046, 0xdf9, 0x1046, 0xdf9, 0x1042, 0xe05, 0x1042, 0xe05, 0xfd6, -0xdab, 0xfd6, 0xdab, 0xf17, 0xd02, 0xf17, 0xd02, 0xe42, 0xc44, 0xe42, 0xc44, -0xe42, 0xc44, 0xdbc, 0xbd9, 0xdbc, 0xbd9, 0xdf2, 0xc2c, 0xdf2, 0xc2c, 0xd3d, -0xb96, 0xd3d, 0xb96, 0xc6d, 0xae6, 0xc6d, 0xae6, 0xd05, 0xba1, 0xd05, 0xba1, -0xd05, 0xba1, 0xd23, 0xbe1, 0xd23, 0xbe1, 0xc93, 0xb74, 0xc93, 0xb74, 0xc69, -0xb6d, 0xc69, 0xb6d, 0xbaf, 0xad5, 0xbaf, 0xad5, 0xa51, 0x999, 0xa51, 0x999, -0xa0f, 0x979, 0xa0f, 0x979, 0xa0f, 0x979, 0xa05, 0x98f, 0xa05, 0x98f, 0x8da, -0x883, 0x8da, 0x883, 0x83b, 0x801, 0x83b, 0x801, 0x86e, 0x851, 0x86e, 0x851, -0x852, 0x851, 0x852, 0x851, 0x804, 0x81e, 0x804, 0x81e, 0x804, 0x81e, 0x7fa, -0x82d, 0x7fa, 0x82d, 0x888, 0x8d4, 0x888, 0x8d4, 0x94b, 0x9af, 0x94b, 0x9af, -0x949, 0x9c5, 0x949, 0x9c5, 0x856, 0x8e9, 0x856, 0x8e9, 0x856, 0x8e9, 0x753, -0x7fd, 0x753, 0x7fd, 0x711, 0x7d1, 0x711, 0x7d1, 0x6ed, 0x7c2, 0x6ed, 0x7c2, -0x632, 0x71c, 0x632, 0x71c, 0x522, 0x621, 0x522, 0x621, 0x3bd, 0x4d0, 0x3bd, -0x4d0, 0x3bd, 0x4d0, 0x2fc, 0x422, 0x2fc, 0x422, 0x342, 0x47a, 0x342, 0x47a, -0x2f6, 0x43f, 0x2f6, 0x43f, 0x1e3, 0x33c, 0x1e3, 0x33c, 0xa3, 0x20a, 0xa3, -0x20a, 0xffc7, 0x13c, 0xffc7, 0x13c, 0xffc7, 0x13c, 0xff87, 0x108, 0xff87, 0x108, -0xfe9b, 0x27, 0xfe9b, 0x27, 0xfd13, 0xfea9, 0xfd13, 0xfea9, 0xfbdb, 0xfd7a, 0xfbdb, -0xfd7a, 0xfad2, 0xfc7a, 0xfad2, 0xfc7a, 0xfad2, 0xfc7a, 0xfac9, 0xfc79, 0xfac9, 0xfc79, -0xfb94, 0xfd4c, 0xfb94, 0xfd4c, 0xfb39, 0xfcf9, 0xfb39, 0xfcf9, 0xfa65, 0xfc2d, 0xfa65, -0xfc2d, 0xfa71, 0xfc43, 0xfa71, 0xfc43, 0xfaac, 0xfc87, 0xfaac, 0xfc87, 0xfaac, 0xfc87, -0xfb1d, 0xfd02, 0xfb1d, 0xfd02, 0xfb22, 0xfd13, 0xfb22, 0xfd13, 0xfa05, 0xfc02, 0xfa05, -0xfc02, 0xf94f, 0xfb59, 0xf94f, 0xfb59, 0xf901, 0xfb19, 0xf901, 0xfb19, 0xf879, 0xfa9f, -0xf879, 0xfa9f, 0xf879, 0xfa9f, 0xf7f6, 0xfa2a, 0xf7f6, 0xfa2a, 0xf663, 0xf8a5, 0xf663, -0xf8a5, 0xf4f7, 0xf747, 0xf4f7, 0xf747, 0xf4ff, 0xf75b, 0xf4ff, 0xf75b, 0xf443, 0xf6aa, -0xf443, 0xf6aa, 0xf443, 0xf6aa, 0xf394, 0xf604, 0xf394, 0xf604, 0xf3f3, 0xf66a, 0xf3f3, -0xf66a, 0xf379, 0xf5f5, 0xf379, 0xf5f5, 0xf2f7, 0xf576, 0xf2f7, 0xf576, 0xf365, 0xf5e4, -0xf365, 0xf5e4, 0xf322, 0xf59f, 0xf322, 0xf59f, 0xf322, 0xf59f, 0xf1a8, 0xf420, 0xf1a8, -0xf420, 0xf0ec, 0xf35e, 0xf0ec, 0xf35e, 0xf0c6, 0xf331, 0xf0c6, 0xf331, 0xefb3, 0xf215, -0xefb3, 0xf215, 0xef6b, 0xf1c4, 0xef6b, 0xf1c4, 0xefd7, 0xf227, 0xefd7, 0xf227, 0xefd7, -0xf227, 0xefa1, 0xf1e9, 0xefa1, 0xf1e9, 0xefa1, 0xf1e3, 0xefa1, 0xf1e3, 0xef71, 0xf1ad, -0xef71, 0xf1ad, 0xee06, 0xf03f, 0xee06, 0xf03f, 0xec10, 0xee4a, 0xec10, 0xee4a, 0xec10, -0xee4a, 0xeb5e, 0xed9b, 0xeb5e, 0xed9b, 0xeb02, 0xed46, 0xeb02, 0xed46, 0xe995, 0xebe4, -0xe995, 0xebe4, 0xe7fe, 0xea59, 0xe7fe, 0xea59, 0xe6b4, 0xe920, 0xe6b4, 0xe920, 0xe670, -0xe8ef, 0xe670, 0xe8ef, 0xe670, 0xe8ef, 0xe6c5, 0xe959, 0xe6c5, 0xe959, 0xe6ff, 0xe9aa, -0xe6ff, 0xe9aa, 0xe6c5, 0xe988, 0xe6c5, 0xe988, 0xe5aa, 0xe884, 0xe5aa, 0xe884, 0xe4b4, -0xe7a6, 0xe4b4, 0xe7a6, 0xe3c9, 0xe6d0, 0xe3c9, 0xe6d0, 0xe3c9, 0xe6d0, 0xe2e6, 0xe600, -0xe2e6, 0xe600, 0xe18f, 0xe4ba, 0xe18f, 0xe4ba, 0xe028, 0xe360, 0xe028, 0xe360, 0xe058, -0xe39a, 0xe058, 0xe39a, 0xe0c9, 0xe40f, 0xe0c9, 0xe40f, 0xe0c9, 0xe40f, 0xe1a3, 0xe4ea, -0xe1a3, 0xe4ea, 0xe241, 0xe584, 0xe241, 0xe584, 0xe1ea, 0xe524, 0xe1ea, 0xe524, 0xe243, -0xe571, 0xe243, 0xe571, 0xe262, 0xe57f, 0xe262, 0xe57f, 0xe302, 0xe60b, 0xe302, 0xe60b, -0xe302, 0xe60b, 0xe3e8, 0xe6db, 0xe3e8, 0xe6db, 0xe383, 0xe65d, 0xe383, 0xe65d, 0xe37b, -0xe63b, 0xe37b, 0xe63b, 0xe42c, 0xe6d0, 0xe42c, 0xe6d0, 0xe4d6, 0xe75e, 0xe4d6, 0xe75e, -0xe5a9, 0xe816, 0xe5a9, 0xe816, 0xe5a9, 0xe816, 0xe697, 0xe8e9, 0xe697, 0xe8e9, 0xe6d3, -0xe90b, 0xe6d3, 0xe90b, 0xe740, 0xe960, 0xe740, 0xe960, 0xe777, 0xe980, 0xe777, 0xe980, -0xe68b, 0xe87f, 0xe68b, 0xe87f, 0xe68b, 0xe87f, 0xe6ea, 0xe8cb, 0xe6ea, 0xe8cb, 0xe6f2, -0xe8c1, 0xe6f2, 0xe8c1, 0xe6a8, 0xe866, 0xe6a8, 0xe866, 0xe847, 0xe9f6, 0xe847, 0xe9f6, -0xe8ae, 0xea4f, 0xe8ae, 0xea4f, 0xe8ad, 0xea42, 0xe8ad, 0xea42, 0xe8ad, 0xea42, 0xe9f2, -0xeb7b, 0xe9f2, 0xeb7b, 0xea31, 0xebae, 0xea31, 0xebae, 0xe9d8, 0xeb4b, 0xe9d8, 0xeb4b, -0xea64, 0xebcc, 0xea64, 0xebcc, 0xeb14, 0xec72, 0xeb14, 0xec72, 0xeba8, 0xecfd, 0xeba8, -0xecfd, 0xeba8, 0xecfd, 0xecc7, 0xee13, 0xecc7, 0xee13, 0xecfc, 0xee41, 0xecfc, 0xee41, -0xebf4, 0xed33, 0xebf4, 0xed33, 0xeb81, 0xecbb, 0xeb81, 0xecbb, 0xec66, 0xed9e, 0xec66, -0xed9e, 0xec66, 0xed9e, 0xed87, 0xeebf, 0xed87, 0xeebf, 0xed7a, 0xeeb4, 0xed7a, 0xeeb4, -0xed6e, 0xeead, 0xed6e, 0xeead, 0xedec, 0xef32, 0xedec, 0xef32, 0xee63, 0xefb3, 0xee63, -0xefb3, 0xef79, 0xf0d5, 0xef79, 0xf0d5, 0xef79, 0xf0d5, 0xf088, 0xf1f2, 0xf088, 0xf1f2, -0xf096, 0xf20f, 0xf096, 0xf20f, 0xf0f0, 0xf278, 0xf0f0, 0xf278, 0xf25a, 0xf3f1, 0xf25a, -0xf3f1, 0xf30f, 0xf4b4, 0xf30f, 0xf4b4, 0xf2e2, 0xf492, 0xf2e2, 0xf492, 0xf2e2, 0xf492, -0xf275, 0xf42e, 0xf275, 0xf42e, 0xf21d, 0xf3da, 0xf21d, 0xf3da, 0xf341, 0xf4fc, 0xf341, -0xf4fc, 0xf542, 0xf6f5, 0xf542, 0xf6f5, 0xf720, 0xf8c5, 0xf720, 0xf8c5, 0xf720, 0xf8c5, -0xf8bd, 0xfa4c, 0xf8bd, 0xfa4c, 0xf9d7, 0xfb48, 0xf9d7, 0xfb48, 0xfb33, 0xfc7d, 0xfb33, -0xfc7d, 0xfda9, 0xfec6, 0xfda9, 0xfec6, 0xffcd, 0xb4, 0xffcd, 0xb4, 0xa2, 0x14c, -0xa2, 0x14c, 0xa2, 0x14c, 0x24a, 0x2b0, 0x24a, 0x2b0, 0x467, 0x485, 0x467, -0x485, 0x64e, 0x620, 0x64e, 0x620, 0x82c, 0x7b0, 0x82c, 0x7b0, 0x8a0, 0x7d6, -0x8a0, 0x7d6, 0x8a0, 0x7d6, 0x961, 0x849, 0x961, 0x849, 0xadf, 0x97b, 0xadf, -0x97b, 0xc8e, 0xae1, 0xc8e, 0xae1, 0xe3c, 0xc4d, 0xe3c, 0xc4d, 0xe79, 0xc4e, -0xe79, 0xc4e, 0xf70, 0xd11, 0xf70, 0xd11, 0xf70, 0xd11, 0x118d, 0xf02, 0x118d, -0xf02, 0x1340, 0x1092, 0x1340, 0x1092, 0x1510, 0x1248, 0x1510, 0x1248, 0x1672, 0x1399, -0x1672, 0x1399, 0x1709, 0x1429, 0x1709, 0x1429, 0x17ea, 0x150b, 0x17ea, 0x150b, 0x17ea, -0x150b, 0x1902, 0x162b, 0x1902, 0x162b, 0x1909, 0x1640, 0x1909, 0x1640, 0x194f, 0x169b, -0x194f, 0x169b, 0x19ef, 0x1752, 0x19ef, 0x1752, 0x1a0c, 0x1789, 0x1a0c, 0x1789, 0x1a0c, -0x1789, 0x1b25, 0x18bf, 0x1b25, 0x18bf, 0x1ae5, 0x189a, 0x1ae5, 0x189a, 0x1891, 0x1661, -0x1891, 0x1661, 0x16ba, 0x14a2, 0x16ba, 0x14a2, 0x14c3, 0x12c0, 0x14c3, 0x12c0, 0x1264, -0x1073, 0x1264, 0x1073, 0x1264, 0x1073, 0xff7, 0xe12, 0xff7, 0xe12, 0xe20, 0xc43, -0xe20, 0xc43, 0xd5c, 0xb83, 0xd5c, 0xb83, 0xd10, 0xb37, 0xd10, 0xb37, 0xd74, -0xb96, 0xd74, 0xb96, 0xdb4, 0xbce, 0xdb4, 0xbce, 0xdb4, 0xbce, 0xd30, 0xb40, -0xd30, 0xb40, 0xd55, 0xb58, 0xd55, 0xb58, 0xdab, 0xba1, 0xdab, 0xba1, 0xcc2, -0xaab, 0xcc2, 0xaab, 0xbde, 0x9b9, 0xbde, 0x9b9, 0xbde, 0x9b9, 0xb86, 0x957, -0xb86, 0x957, 0xb0e, 0x8d6, 0xb0e, 0x8d6, 0xb36, 0x8f9, 0xb36, 0x8f9, 0xb7b, -0x93b, 0xb7b, 0x93b, 0xace, 0x88f, 0xace, 0x88f, 0xa64, 0x82b, 0xa64, 0x82b, -0xa64, 0x82b, 0xa5b, 0x82a, 0xa5b, 0x82a, 0x9c7, 0x7a3, 0x9c7, 0x7a3, 0x949, -0x736, 0x949, 0x736, 0x805, 0x605, 0x805, 0x605, 0x689, 0x49f, 0x689, 0x49f, -0x698, 0x4c6, 0x698, 0x4c6, 0x698, 0x4c6, 0x635, 0x47d, 0x635, 0x47d, 0x56f, -0x3d2, 0x56f, 0x3d2, 0x552, 0x3d1, 0x552, 0x3d1, 0x4d8, 0x373, 0x4d8, 0x373, -0x46c, 0x323, 0x46c, 0x323, 0x46c, 0x323, 0x4bb, 0x38f, 0x4bb, 0x38f, 0x4cd, -0x3bd, 0x4cd, 0x3bd, 0x3b6, 0x2c2, 0x3b6, 0x2c2, 0x324, 0x24b, 0x324, 0x24b, -0x2fb, 0x23d, 0x2fb, 0x23d, 0x2ac, 0x209, 0x2ac, 0x209, 0x2ac, 0x209, 0x29d, -0x215, 0x29d, 0x215, 0x152, 0xe5, 0x152, 0xe5, 0x8a, 0x38, 0x8a, 0x38, -0x59, 0x23, 0x59, 0x23, 0xffb8, 0xff9e, 0xffb8, 0xff9e, 0xffb6, 0xffb9, 0xffb6, -0xffb9, 0xffb6, 0xffb9, 0xfe93, 0xfeb3, 0xfe93, 0xfeb3, 0xfd88, 0xfdc6, 0xfd88, 0xfdc6, -0xfe16, 0xfe71, 0xfe16, 0xfe71, 0xfe67, 0xfede, 0xfe67, 0xfede, 0xfe1d, 0xfeb0, 0xfe1d, -0xfeb0, 0xfe1d, 0xfeb0, 0xfde1, 0xfe8e, 0xfde1, 0xfe8e, 0xfd54, 0xfe19, 0xfd54, 0xfe19, -0xfcbe, 0xfd99, 0xfcbe, 0xfd99, 0xfd4b, 0xfe38, 0xfd4b, 0xfe38, 0xfcb9, 0xfdb5, 0xfcb9, -0xfdb5, 0xfb58, 0xfc60, 0xfb58, 0xfc60, 0xfb58, 0xfc60, 0xfb73, 0xfc83, 0xfb73, 0xfc83, -0xfbd2, 0xfce5, 0xfbd2, 0xfce5, 0xfcd6, 0xfde7, 0xfcd6, 0xfde7, 0xfdd1, 0xfedc, 0xfdd1, -0xfedc, 0xfdad, 0xfeae, 0xfdad, 0xfeae, 0xfdbf, 0xfeb2, 0xfdbf, 0xfeb2, 0xfdbf, 0xfeb2, -0xfeb2, 0xff92, 0xfeb2, 0xff92, 0xff47, 0x11, 0xff47, 0x11, 0xff09, 0xffba, 0xff09, -0xffba, 0xff68, 0xfffe, 0xff68, 0xfffe, 0xff5e, 0xffd6, 0xff5e, 0xffd6, 0xff5e, 0xffd6, -0xff66, 0xffbf, 0xff66, 0xffbf, 0x10e, 0x148, 0x10e, 0x148, 0x27c, 0x296, 0x27c, -0x296, 0x2fa, 0x2f4, 0x2fa, 0x2f4, 0x38c, 0x365, 0x38c, 0x365, 0x452, 0x40b, -0x452, 0x40b, 0x452, 0x40b, 0x53b, 0x4d5, 0x53b, 0x4d5, 0x6eb, 0x666, 0x6eb, -0x666, 0x7e1, 0x73c, 0x7e1, 0x73c, 0x82e, 0x76a, 0x82e, 0x76a, 0x97b, 0x898, -0x97b, 0x898, 0xa26, 0x922, 0xa26, 0x922, 0xa26, 0x922, 0xaac, 0x988, 0xaac, -0x988, 0xb42, 0x9fb, 0xb42, 0x9fb, 0xb00, 0x995, 0xb00, 0x995, 0xac9, 0x938, -0xac9, 0x938, 0xacc, 0x913, 0xacc, 0x913, 0xacc, 0x913, 0xac6, 0x8e3, 0xac6, -0x8e3, 0xad0, 0x8c1, 0xad0, 0x8c1, 0xc22, 0x9e4, 0xc22, 0x9e4, 0xdbc, 0xb4f, -0xdbc, 0xb4f, 0xf68, 0xcca, 0xf68, 0xcca, 0x11d5, 0xf06, 0x11d5, 0xf06, 0x11d5, -0xf06, 0x138e, 0x108f, 0x138e, 0x108f, 0x14ef, 0x11c0, 0x14ef, 0x11c0, 0x15a0, 0x1243, -0x15a0, 0x1243, 0x166c, 0x12e3, 0x166c, 0x12e3, 0x1792, 0x13e0, 0x1792, 0x13e0, 0x17c9, -0x13f4, 0x17c9, 0x13f4, 0x17c9, 0x13f4, 0x188d, 0x1499, 0x188d, 0x1499, 0x19b9, 0x15ab, -0x19b9, 0x15ab, 0x1a63, 0x1641, 0x1a63, 0x1641, 0x1a15, 0x15e6, 0x1a15, 0x15e6, 0x19b0, -0x157a, 0x19b0, 0x157a, 0x19b0, 0x157a, 0x199e, 0x1568, 0x199e, 0x1568, 0x1942, 0x1511, -0x1942, 0x1511, 0x1991, 0x156b, 0x1991, 0x156b, 0x18de, 0x14c7, 0x18de, 0x14c7, 0x17aa, -0x13a8, 0x17aa, 0x13a8, 0x1796, 0x13ac, 0x1796, 0x13ac, 0x1796, 0x13ac, 0x1789, 0x13bb, -0x1789, 0x13bb, 0x17dc, 0x142b, 0x17dc, 0x142b, 0x1866, 0x14d4, 0x1866, 0x14d4, 0x18f2, -0x1580, 0x18f2, 0x1580, 0x1927, 0x15d5, 0x1927, 0x15d5, 0x18bf, 0x158c, 0x18bf, 0x158c, -0x18bf, 0x158c, 0x17ad, 0x1498, 0x17ad, 0x1498, 0x1625, 0x132c, 0x1625, 0x132c, 0x1516, -0x1239, 0x1516, 0x1239, 0x1429, 0x1166, 0x1429, 0x1166, 0x143b, 0x1190, 0x143b, 0x1190, -0x143b, 0x1190, 0x1507, 0x1273, 0x1507, 0x1273, 0x1524, 0x12a6, 0x1524, 0x12a6, 0x14db, -0x1273, 0x14db, 0x1273, 0x1409, 0x11b7, 0x1409, 0x11b7, 0x12cb, 0x1090, 0x12cb, 0x1090, -0x1167, 0xf43, 0x1167, 0xf43, 0x1167, 0xf43, 0x1098, 0xe8e, 0x1098, 0xe8e, 0x101b, -0xe2e, 0x101b, 0xe2e, 0xf3e, 0xd6f, 0xf3e, 0xd6f, 0xef8, 0xd4b, 0xef8, 0xd4b, -0xeb4, 0xd2c, 0xeb4, 0xd2c, 0xeb4, 0xd2c, 0xd94, 0xc34, 0xd94, 0xc34, 0xcf5, -0xbc0, 0xcf5, 0xbc0, 0xd26, 0xc1e, 0xd26, 0xc1e, 0xc94, 0xbbc, 0xc94, 0xbbc, -0xbf3, 0xb4d, 0xbf3, 0xb4d, 0xb89, 0xb15, 0xb89, 0xb15, 0xb89, 0xb15, 0xa24, -0x9e4, 0xa24, 0x9e4, 0x924, 0x916, 0x924, 0x916, 0x8b3, 0x8d7, 0x8b3, 0x8d7, -0x7e4, 0x839, 0x7e4, 0x839, 0x6f8, 0x77a, 0x6f8, 0x77a, 0x609, 0x6b6, 0x609, -0x6b6, 0x609, 0x6b6, 0x526, 0x5fb, 0x526, 0x5fb, 0x4d1, 0x5c9, 0x4d1, 0x5c9, -0x4a1, 0x5b9, 0x4a1, 0x5b9, 0x32a, 0x45c, 0x32a, 0x45c, 0x1fa, 0x343, 0x1fa, -0x343, 0x1fa, 0x343, 0x212, 0x36e, 0x212, 0x36e, 0x27e, 0x3e8, 0x27e, 0x3e8, -0x2e1, 0x456, 0x2e1, 0x456, 0x242, 0x3bf, 0x242, 0x3bf, 0xea, 0x26b, 0xea, -0x26b, 0xff53, 0xd7, 0xff53, 0xd7, 0xff53, 0xd7, 0xfe83, 0x8, 0xfe83, 0x8, -0xfe75, 0xfff9, 0xfe75, 0xfff9, 0xfda0, 0xff23, 0xfda0, 0xff23, 0xfcb5, 0xfe37, 0xfcb5, -0xfe37, 0xfc39, 0xfdb9, 0xfc39, 0xfdb9, 0xfc52, 0xfdd2, 0xfc52, 0xfdd2, 0xfc52, 0xfdd2, -0xfc26, 0xfda5, 0xfc26, 0xfda5, 0xfb69, 0xfce9, 0xfb69, 0xfce9, 0xfac8, 0xfc49, 0xfac8, -0xfc49, 0xf9c4, 0xfb48, 0xf9c4, 0xfb48, 0xf90e, 0xfa95, 0xf90e, 0xfa95, 0xf90e, 0xfa95, -0xf885, 0xfa10, 0xf885, 0xfa10, 0xf774, 0xf902, 0xf774, 0xf902, 0xf5e9, 0xf77c, 0xf5e9, -0xf77c, 0xf4c6, 0xf65d, 0xf4c6, 0xf65d, 0xf49c, 0xf637, 0xf49c, 0xf637, 0xf4d1, 0xf66f, -0xf4d1, 0xf66f, 0xf4d1, 0xf66f, 0xf5a6, 0xf747, 0xf5a6, 0xf747, 0xf5f2, 0xf795, 0xf5f2, -0xf795, 0xf55d, 0xf702, 0xf55d, 0xf702, 0xf4e0, 0xf685, 0xf4e0, 0xf685, 0xf488, 0xf62c, -0xf488, 0xf62c, 0xf467, 0xf609, 0xf467, 0xf609, 0xf467, 0xf609, 0xf3fe, 0xf59d, 0xf3fe, -0xf59d, 0xf3de, 0xf57a, 0xf3de, 0xf57a, 0xf471, 0xf608, 0xf471, 0xf608, 0xf50e, 0xf6a1, -0xf50e, 0xf6a1, 0xf4f6, 0xf684, 0xf4f6, 0xf684, 0xf4f6, 0xf684, 0xf487, 0xf60f, 0xf487, -0xf60f, 0xf404, 0xf587, 0xf404, 0xf587, 0xf2c6, 0xf443, 0xf2c6, 0xf443, 0xf21e, 0xf395, -0xf21e, 0xf395, 0xf215, 0xf386, 0xf215, 0xf386, 0xf1c1, 0xf32e, 0xf1c1, 0xf32e, 0xf1c1, -0xf32e, 0xf1af, 0xf317, 0xf1af, 0xf317, 0xf279, 0xf3dd, 0xf279, 0xf3dd, 0xf314, 0xf474, -0xf314, 0xf474, 0xf309, 0xf466, 0xf309, 0xf466, 0xf3cd, 0xf528, 0xf3cd, 0xf528, 0xf385, -0xf4df, 0xf385, 0xf4df, 0xf385, 0xf4df, 0xf2d9, 0xf432, 0xf2d9, 0xf432, 0xf30e, 0xf466, -0xf30e, 0xf466, 0xf254, 0xf3ae, 0xf254, 0xf3ae, 0xf237, 0xf392, 0xf237, 0xf392, 0xf2fb, -0xf45a, 0xf2fb, 0xf45a, 0xf2fb, 0xf45a, 0xf3d0, 0xf533, 0xf3d0, 0xf533, 0xf3d4, 0xf53d, -0xf3d4, 0xf53d, 0xf319, 0xf488, 0xf319, 0xf488, 0xf251, 0xf3c9, 0xf251, 0xf3c9, 0xf11e, -0xf29f, 0xf11e, 0xf29f, 0xf020, 0xf1ad, 0xf020, 0xf1ad, 0xf020, 0xf1ad, 0xedc2, 0xef5a, -0xedc2, 0xef5a, 0xebc6, 0xed6b, 0xebc6, 0xed6b, 0xebb0, 0xed64, 0xebb0, 0xed64, 0xeb8a, -0xed4d, 0xeb8a, 0xed4d, 0xec01, 0xedd4, 0xec01, 0xedd4, 0xec54, 0xee36, 0xec54, 0xee36, -0xec54, 0xee36, 0xec66, 0xee58, 0xec66, 0xee58, 0xec11, 0xee12, 0xec11, 0xee12, 0xeb76, -0xed85, 0xeb76, 0xed85, 0xeae8, 0xed05, 0xeae8, 0xed05, 0xe983, 0xebac, 0xe983, 0xebac, -0xe983, 0xebac, 0xe842, 0xea76, 0xe842, 0xea76, 0xe6d8, 0xe913, 0xe6d8, 0xe913, 0xe682, -0xe8c3, 0xe682, 0xe8c3, 0xe6e4, 0xe929, 0xe6e4, 0xe929, 0xe692, 0xe8d9, 0xe692, 0xe8d9, -0xe6f5, 0xe93b, 0xe6f5, 0xe93b, 0xe6f5, 0xe93b, 0xe6f8, 0xe93c, 0xe6f8, 0xe93c, 0xe6f1, -0xe930, 0xe6f1, 0xe930, 0xe75b, 0xe995, 0xe75b, 0xe995, 0xe77d, 0xe9b0, 0xe77d, 0xe9b0, -0xe742, 0xe96c, 0xe742, 0xe96c, 0xe6b4, 0xe8d6, 0xe6b4, 0xe8d6, 0xe6b4, 0xe8d6, 0xe699, -0xe8b3, 0xe699, 0xe8b3, 0xe6c5, 0xe8d7, 0xe6c5, 0xe8d7, 0xe789, 0xe994, 0xe789, 0xe994, -0xe850, 0xea55, 0xe850, 0xea55, 0xe8b9, 0xeaba, 0xe8b9, 0xeaba, 0xe8b9, 0xeaba, 0xe911, -0xeb0e, 0xe911, 0xeb0e, 0xe912, 0xeb0c, 0xe912, 0xeb0c, 0xe9bf, 0xebb8, 0xe9bf, 0xebb8, -0xea61, 0xec5b, 0xea61, 0xec5b, 0xea39, 0xec33, 0xea39, 0xec33, 0xea88, 0xec83, 0xea88, -0xec83, 0xea88, 0xec83, 0xeb72, 0xed6e, 0xeb72, 0xed6e, 0xeb96, 0xed92, 0xeb96, 0xed92, -0xeb8b, 0xed87, 0xeb8b, 0xed87, 0xebee, 0xede8, 0xebee, 0xede8, 0xeb53, 0xed4a, 0xeb53, -0xed4a, 0xeadb, 0xecce, 0xeadb, 0xecce, 0xeadb, 0xecce, 0xeae8, 0xecd4, 0xeae8, 0xecd4, -0xea8b, 0xec6d, 0xea8b, 0xec6d, 0xea5f, 0xec35, 0xea5f, 0xec35, 0xeaff, 0xecc8, 0xeaff, -0xecc8, 0xebd0, 0xed8b, 0xebd0, 0xed8b, 0xebd0, 0xed8b, 0xeb9d, 0xed47, 0xeb9d, 0xed47, -0xebe9, 0xed82, 0xebe9, 0xed82, 0xecb2, 0xee3a, 0xecb2, 0xee3a, 0xecf8, 0xee70, 0xecf8, -0xee70, 0xed77, 0xeee0, 0xed77, 0xeee0, 0xed8b, 0xeee8, 0xed8b, 0xeee8, 0xed8b, 0xeee8, -0xed5c, 0xeeae, 0xed5c, 0xeeae, 0xed85, 0xeed0, 0xed85, 0xeed0, 0xee58, 0xefa0, 0xee58, -0xefa0, 0xef3d, 0xf086, 0xef3d, 0xf086, 0xefe0, 0xf12d, 0xefe0, 0xf12d, 0xf069, 0xf1be, -0xf069, 0xf1be, 0xf069, 0xf1be, 0xf03d, 0xf19f, 0xf03d, 0xf19f, 0xf094, 0xf205, 0xf094, -0xf205, 0xf07f, 0xf202, 0xf07f, 0xf202, 0xef9a, 0xf130, 0xef9a, 0xf130, 0xefce, 0xf177, -0xefce, 0xf177, 0xefce, 0xf177, 0xefd7, 0xf193, 0xefd7, 0xf193, 0xf031, 0xf1fd, 0xf031, -0xf1fd, 0xf201, 0xf3d9, 0xf201, 0xf3d9, 0xf37b, 0xf55c, 0xf37b, 0xf55c, 0xf41d, 0xf5ff, -0xf41d, 0xf5ff, 0xf4b6, 0xf693, 0xf4b6, 0xf693, 0xf4b6, 0xf693, 0xf533, 0xf703, 0xf533, -0xf703, 0xf5f3, 0xf7ae, 0xf5f3, 0xf7ae, 0xf7a6, 0xf942, 0xf7a6, 0xf942, 0xf920, 0xfa94, -0xf920, 0xfa94, 0xfa7b, 0xfbc0, 0xfa7b, 0xfbc0, 0xfa7b, 0xfbc0, 0xfc77, 0xfd84, 0xfc77, -0xfd84, 0xfe61, 0xff2e, 0xfe61, 0xff2e, 0xb8, 0x140, 0xb8, 0x140, 0x2f0, 0x32e, -0x2f0, 0x32e, 0x446, 0x437, 0x446, 0x437, 0x5ce, 0x570, 0x5ce, 0x570, 0x5ce, -0x570, 0x729, 0x67e, 0x729, 0x67e, 0x7ef, 0x6f9, 0x7ef, 0x6f9, 0x8d9, 0x79c, -0x8d9, 0x79c, 0x9dd, 0x85f, 0x9dd, 0x85f, 0xb53, 0x99c, 0xb53, 0x99c, 0xd7b, -0xb92, 0xd7b, 0xb92, 0xd7b, 0xb92, 0xf6e, 0xd5f, 0xf6e, 0xd5f, 0x1157, 0xf2c, -0x1157, 0xf2c, 0x1353, 0x1116, 0x1353, 0x1116, 0x1403, 0x11bf, 0x1403, 0x11bf, 0x1454, -0x1213, 0x1454, 0x1213, 0x1454, 0x1213, 0x1566, 0x1332, 0x1566, 0x1332, 0x1592, 0x1374, -0x1592, 0x1374, 0x162c, 0x142b, 0x162c, 0x142b, 0x1840, 0x1663, 0x1840, 0x1663, 0x18c0, -0x1709, 0x18c0, 0x1709, 0x180e, 0x1681, 0x180e, 0x1681, 0x180e, 0x1681, 0x178d, 0x162b, -0x178d, 0x162b, 0x15e7, 0x14af, 0x15e7, 0x14af, 0x141f, 0x130e, 0x141f, 0x130e, 0x1323, -0x1236, 0x1323, 0x1236, 0x1187, 0x10b8, 0x1187, 0x10b8, 0xf68, 0xeb1, 0xf68, 0xeb1, -0xf68, 0xeb1, 0xe1b, 0xd76, 0xe1b, 0xd76, 0xd91, 0xcf8, 0xd91, 0xcf8, 0xd20, -0xc8b, 0xd20, 0xc8b, 0xd30, 0xc98, 0xd30, 0xc98, 0xdd4, 0xd33, 0xdd4, 0xd33, -0xdd4, 0xd33, 0xe3e, 0xd8f, 0xe3e, 0xd8f, 0xe70, 0xdad, 0xe70, 0xdad, 0xea5, -0xdcb, 0xea5, 0xdcb, 0xe64, 0xd72, 0xe64, 0xd72, 0xdcd, 0xcc1, 0xdcd, 0xcc1, -0xd96, 0xc70, 0xd96, 0xc70, 0xd96, 0xc70, 0xdbe, 0xc80, 0xdbe, 0xc80, 0xe73, -0xd1f, 0xe73, 0xd1f, 0xf42, 0xddb, 0xf42, 0xddb, 0xf37, 0xdc1, 0xf37, 0xdc1, -0xec3, 0xd41, 0xec3, 0xd41, 0xdab, 0xc23, 0xdab, 0xc23, 0xdab, 0xc23, 0xc04, -0xa7b, 0xc04, 0xa7b, 0xaff, 0x978, 0xaff, 0x978, 0xa98, 0x918, 0xa98, 0x918, -0xa1f, 0x8a9, 0xa1f, 0x8a9, 0x9d1, 0x86a, 0x9d1, 0x86a, 0x9d1, 0x86a, 0xa66, -0x90e, 0xa66, 0x90e, 0xa67, 0x921, 0xa67, 0x921, 0x9b5, 0x881, 0x9b5, 0x881, -0x9ae, 0x88e, 0x9ae, 0x88e, 0x982, 0x874, 0x982, 0x874, 0x96a, 0x86e, 0x96a, -0x86e, 0x96a, 0x86e, 0x92f, 0x843, 0x92f, 0x843, 0x870, 0x794, 0x870, 0x794, -0x7b2, 0x6e3, 0x7b2, 0x6e3, 0x6cf, 0x60c, 0x6cf, 0x60c, 0x642, 0x589, 0x642, -0x589, 0x550, 0x4a0, 0x550, 0x4a0, 0x550, 0x4a0, 0x44e, 0x3a5, 0x44e, 0x3a5, -0x3ff, 0x35d, 0x3ff, 0x35d, 0x37a, 0x2df, 0x37a, 0x2df, 0x2c6, 0x232, 0x2c6, -0x232, 0x207, 0x17a, 0x207, 0x17a, 0x207, 0x17a, 0x156, 0xd1, 0x156, 0xd1, -0xd9, 0x5d, 0xd9, 0x5d, 0x136, 0xc4, 0x136, 0xc4, 0x18e, 0x128, 0x18e, -0x128, 0x112, 0xb7, 0x112, 0xb7, 0xc0, 0x72, 0xc0, 0x72, 0xc0, 0x72, -0xff8a, 0xff48, 0xff8a, 0xff48, 0xfe19, 0xfde4, 0xfe19, 0xfde4, 0xfdd3, 0xfda9, 0xfdd3, -0xfda9, 0xfd58, 0xfd39, 0xfd58, 0xfd39, 0xfcdf, 0xfcc9, 0xfcdf, 0xfcc9, 0xfd84, 0xfd77, -0xfd84, 0xfd77, 0xfd84, 0xfd77, 0xfe58, 0xfe50, 0xfe58, 0xfe50, 0xfe5a, 0xfe55, 0xfe5a, -0xfe55, 0xfe4a, 0xfe47, 0xfe4a, 0xfe47, 0xfe03, 0xfdfd, 0xfe03, 0xfdfd, 0xfd1e, 0xfd14, -0xfd1e, 0xfd14, 0xfd1e, 0xfd14, 0xfcd0, 0xfcbe, 0xfcd0, 0xfcbe, 0xfd13, 0xfcf8, 0xfd13, -0xfcf8, 0xfcde, 0xfcb7, 0xfcde, 0xfcb7, 0xfcb7, 0xfc83, 0xfcb7, 0xfc83, 0xfd73, 0xfd32, -0xfd73, 0xfd32, 0xfe6b, 0xfe1c, 0xfe6b, 0xfe1c, 0xfe6b, 0xfe1c, 0xff65, 0xff07, 0xff65, -0xff07, 0x88, 0x1b, 0x88, 0x1b, 0x143, 0xc8, 0x143, 0xc8, 0x1a6, 0x11f, -0x1a6, 0x11f, 0x258, 0x1c6, 0x258, 0x1c6, 0x306, 0x269, 0x306, 0x269, 0x306, -0x269, 0x2e1, 0x23a, 0x2e1, 0x23a, 0x2e9, 0x239, 0x2e9, 0x239, 0x335, 0x27d, -0x335, 0x27d, 0x409, 0x348, 0x409, 0x348, 0x5ca, 0x500, 0x5ca, 0x500, 0x5ca, -0x500, 0x5e8, 0x515, 0x5e8, 0x515, 0x5ca, 0x4eb, 0x5ca, 0x4eb, 0x657, 0x56a, -0x657, 0x56a, 0x5d3, 0x4d6, 0x5d3, 0x4d6, 0x5a8, 0x497, 0x5a8, 0x497, 0x5cb, -0x4a2, 0x5cb, 0x4a2, 0x5cb, 0x4a2, 0x5ab, 0x467, 0x5ab, 0x467, 0x5b9, 0x456, -0x5b9, 0x456, 0x753, 0x5ce, 0x753, 0x5ce, 0x948, 0x79d, 0x948, 0x79d, 0xa1c, -0x848, 0xa1c, 0x848, 0xba5, 0x9a8, 0xba5, 0x9a8, 0xba5, 0x9a8, 0xd00, 0xad7, -0xd00, 0xad7, 0xe75, 0xc20, 0xe75, 0xc20, 0x100a, 0xd89, 0x100a, 0xd89, 0x1108, -0xe5d, 0x1108, 0xe5d, 0x1238, 0xf65, 0x1238, 0xf65, 0x1238, 0xf65, 0x12f7, 0x1000, -0x12f7, 0x1000, 0x1428, 0x1111, 0x1428, 0x1111, 0x1547, 0x1216, 0x1547, 0x1216, 0x1564, -0x121d, 0x1564, 0x121d, 0x1598, 0x1241, 0x1598, 0x1241, 0x15f4, 0x1294, 0x15f4, 0x1294, -0x15f4, 0x1294, 0x15ac, 0x1249, 0x15ac, 0x1249, 0x153b, 0x11db, 0x153b, 0x11db, 0x155e, -0x1206, 0x155e, 0x1206, 0x14f2, 0x11a6, 0x14f2, 0x11a6, 0x1506, 0x11cb, 0x1506, 0x11cb, -0x1641, 0x131b, 0x1641, 0x131b, 0x1641, 0x131b, 0x169f, 0x1391, 0x169f, 0x1391, 0x1712, -0x141c, 0x1712, 0x141c, 0x17a2, 0x14c6, 0x17a2, 0x14c6, 0x16ca, 0x1408, 0x16ca, 0x1408, -0x1614, 0x136b, 0x1614, 0x136b, 0x1614, 0x136b, 0x15cf, 0x133d, 0x15cf, 0x133d, 0x14d0, -0x1254, 0x14d0, 0x1254, 0x142b, 0x11c2, 0x142b, 0x11c2, 0x1423, 0x11cb, 0x1423, 0x11cb, -0x13ca, 0x1181, 0x13ca, 0x1181, 0x13f9, 0x11be, 0x13f9, 0x11be, 0x13f9, 0x11be, 0x1465, -0x1235, 0x1465, 0x1235, 0x1371, 0x114b, 0x1371, 0x114b, 0x1258, 0x103d, 0x1258, 0x103d, -0x123b, 0x102b, 0x123b, 0x102b, 0x1199, 0xf95, 0x1199, 0xf95, 0x1199, 0xf95, 0x10b8, -0xec1, 0x10b8, 0xec1, 0x10a0, 0xeba, 0x10a0, 0xeba, 0xfd9, 0xe06, 0xfd9, 0xe06, -0xf47, 0xd8b, 0xf47, 0xd8b, 0xf58, 0xdb6, 0xf58, 0xdb6, 0xef1, 0xd6e, 0xef1, -0xd6e, 0xef1, 0xd6e, 0xf23, 0xdc2, 0xf23, 0xdc2, 0xef0, 0xdb5, 0xef0, 0xdb5, -0xe80, 0xd6f, 0xe80, 0xd6f, 0xe8d, 0xda8, 0xe8d, 0xda8, 0xe93, 0xddc, 0xe93, -0xddc, 0xe73, 0xdec, 0xe73, 0xdec, 0xe73, 0xdec, 0xe14, 0xdbd, 0xe14, 0xdbd, -0xdeb, 0xdc4, 0xdeb, 0xdc4, 0xcd5, 0xcdc, 0xcd5, 0xcdc, 0xbd7, 0xc0a, 0xbd7, -0xc0a, 0xbb7, 0xc15, 0xbb7, 0xc15, 0xbb7, 0xc15, 0xafa, 0xb7e, 0xafa, 0xb7e, -0x9f9, 0xa9f, 0x9f9, 0xa9f, 0x95d, 0xa21, 0x95d, 0xa21, 0x928, 0xa05, 0x928, -0xa05, 0x8fe, 0x9f0, 0x8fe, 0x9f0, 0x954, 0xa56, 0x954, 0xa56, 0x954, 0xa56, -0x99c, 0xaab, 0x99c, 0xaab, 0x8dc, 0x9f4, 0x8dc, 0x9f4, 0x798, 0x8b5, 0x798, -0x8b5, 0x68c, 0x7ad, 0x68c, 0x7ad, 0x616, 0x738, 0x616, 0x738, 0x55f, 0x681, -0x55f, 0x681, 0x55f, 0x681, 0x469, 0x58c, 0x469, 0x58c, 0x41c, 0x540, 0x41c, -0x540, 0x372, 0x499, 0x372, 0x499, 0x2f9, 0x423, 0x2f9, 0x423, 0x374, 0x4a4, -0x374, 0x4a4, 0x374, 0x4a4, 0x2af, 0x3e8, 0x2af, 0x3e8, 0x197, 0x2da, 0x197, -0x2da, 0xf0, 0x241, 0xf0, 0x241, 0xffa5, 0x107, 0xffa5, 0x107, 0xfed2, 0x47, -0xfed2, 0x47, 0xfe4d, 0xffd8, 0xfe4d, 0xffd8, 0xfe4d, 0xffd8, 0xfcce, 0xfe70, 0xfcce, -0xfe70, 0xfb19, 0xfcd3, 0xfb19, 0xfcd3, 0xfa95, 0xfc67, 0xfa95, 0xfc67, 0xfaa3, 0xfc8e, -0xfaa3, 0xfc8e, 0xfb41, 0xfd46, 0xfb41, 0xfd46, 0xfb70, 0xfd8c, 0xfb70, 0xfd8c, 0xfb70, -0xfd8c, 0xfa1b, 0xfc4c, 0xfa1b, 0xfc4c, 0xf936, 0xfb7c, 0xf936, 0xfb7c, 0xf932, 0xfb8a, -0xf932, 0xfb8a, 0xf91a, 0xfb80, 0xf91a, 0xfb80, 0xf8e2, 0xfb53, 0xf8e2, 0xfb53, 0xf8e2, -0xfb53, 0xf902, 0xfb7b, 0xf902, 0xfb7b, 0xf8f9, 0xfb77, 0xf8f9, 0xfb77, 0xf911, 0xfb90, -0xf911, 0xfb90, 0xf980, 0xfbfd, 0xf980, 0xfbfd, 0xf8b5, 0xfb2c, 0xf8b5, 0xfb2c, 0xf76c, -0xf9da, 0xf76c, 0xf9da, 0xf76c, 0xf9da, 0xf6c9, 0xf92b, 0xf6c9, 0xf92b, 0xf602, 0xf855, -0xf602, 0xf855, 0xf54f, 0xf792, 0xf54f, 0xf792, 0xf4fe, 0xf72e, 0xf4fe, 0xf72e, 0xf445, -0xf662, 0xf445, 0xf662, 0xf3a1, 0xf5a8, 0xf3a1, 0xf5a8, 0xf3a1, 0xf5a8, 0xf3ca, 0xf5ba, -0xf3ca, 0xf5ba, 0xf411, 0xf5ea, 0xf411, 0xf5ea, 0xf378, 0xf53b, 0xf378, 0xf53b, 0xf2b1, -0xf45d, 0xf2b1, 0xf45d, 0xf258, 0xf3f0, 0xf258, 0xf3f0, 0xf258, 0xf3f0, 0xf211, 0xf395, -0xf211, 0xf395, 0xf1d8, 0xf349, 0xf1d8, 0xf349, 0xf150, 0xf2b2, 0xf150, 0xf2b2, 0xf13c, -0xf290, 0xf13c, 0xf290, 0xf1cb, 0xf313, 0xf1cb, 0xf313, 0xf222, 0xf362, 0xf222, 0xf362, -0xf222, 0xf362, 0xf1a4, 0xf2e0, 0xf1a4, 0xf2e0, 0xf0b1, 0xf1ea, 0xf0b1, 0xf1ea, 0xefb9, -0xf0f4, 0xefb9, 0xf0f4, 0xee2c, 0xef6d, 0xee2c, 0xef6d, 0xecb7, 0xee00, 0xecb7, 0xee00, -0xeb8f, 0xece5, 0xeb8f, 0xece5, 0xeb8f, 0xece5, 0xea89, 0xebed, 0xea89, 0xebed, 0xe99d, -0xeb13, 0xe99d, 0xeb13, 0xe8bc, 0xea46, 0xe8bc, 0xea46, 0xe7e3, 0xe984, 0xe7e3, 0xe984, -0xe71d, 0xe8d6, 0xe71d, 0xe8d6, 0xe71d, 0xe8d6, 0xe683, 0xe854, 0xe683, 0xe854, 0xe633, -0xe81d, 0xe633, 0xe81d, 0xe5d9, 0xe7db, 0xe5d9, 0xe7db, 0xe4c0, 0xe6da, 0xe4c0, 0xe6da, -0xe46e, 0xe69f, 0xe46e, 0xe69f, 0xe3f2, 0xe638, 0xe3f2, 0xe638, 0xe3f2, 0xe638, 0xe2a8, -0xe500, 0xe2a8, 0xe500, 0xe231, 0xe49a, 0xe231, 0xe49a, 0xe1e2, 0xe458, 0xe1e2, 0xe458, -0xe1e2, 0xe463, 0xe1e2, 0xe463, 0xe1e0, 0xe469, 0xe1e0, 0xe469, 0xe1e1, 0xe46f, 0xe1e1, -0xe46f, 0xe1e1, 0xe46f, 0xe1c8, 0xe459, 0xe1c8, 0xe459, 0xe19b, 0xe42d, 0xe19b, 0xe42d, -0xe1ae, 0xe43f, 0xe1ae, 0xe43f, 0xe161, 0xe3f0, 0xe161, 0xe3f0, 0xe1b0, 0xe43c, 0xe1b0, -0xe43c, 0xe1b0, 0xe43c, 0xe1b4, 0xe43d, 0xe1b4, 0xe43d, 0xe1af, 0xe435, 0xe1af, 0xe435, -0xe20c, 0xe490, 0xe20c, 0xe490, 0xe1c9, 0xe44b, 0xe1c9, 0xe44b, 0xe211, 0xe493, 0xe211, -0xe493, 0xe2a6, 0xe529, 0xe2a6, 0xe529, 0xe2a6, 0xe529, 0xe348, 0xe5ce, 0xe348, 0xe5ce, -0xe3e1, 0xe66b, 0xe3e1, 0xe66b, 0xe4e6, 0xe777, 0xe4e6, 0xe777, 0xe621, 0xe8b8, 0xe621, -0xe8b8, 0xe6f1, 0xe990, 0xe6f1, 0xe990, 0xe809, 0xeab1, 0xe809, 0xeab1, 0xe809, 0xeab1, -0xe7dd, 0xea8e, 0xe7dd, 0xea8e, 0xe730, 0xe9ea, 0xe730, 0xe9ea, 0xe765, 0xea26, 0xe765, -0xea26, 0xe7d4, 0xea9b, 0xe7d4, 0xea9b, 0xe810, 0xeadc, 0xe810, 0xeadc, 0xe810, 0xeadc, -0xe814, 0xeae3, 0xe814, 0xeae3, 0xe83c, 0xeb0d, 0xe83c, 0xeb0d, 0xe849, 0xeb18, 0xe849, -0xeb18, 0xe909, 0xebd5, 0xe909, 0xebd5, 0xe9ff, 0xecc6, 0xe9ff, 0xecc6, 0xea91, 0xed51, -0xea91, 0xed51, 0xea91, 0xed51, 0xeab3, 0xed6b, 0xeab3, 0xed6b, 0xeb3f, 0xedee, 0xeb3f, -0xedee, 0xec63, 0xef09, 0xec63, 0xef09, 0xed08, 0xefa6, 0xed08, 0xefa6, 0xee15, 0xf0aa, -0xee15, 0xf0aa, 0xee87, 0xf117, 0xee87, 0xf117, 0xee87, 0xf117, 0xefb3, 0xf23e, 0xefb3, -0xf23e, 0xf11d, 0xf3a5, 0xf11d, 0xf3a5, 0xf117, 0xf39f, 0xf117, 0xf39f, 0xf1a6, 0xf431, -0xf1a6, 0xf431, 0xf198, 0xf427, 0xf198, 0xf427, 0xf198, 0xf427, 0xf133, 0xf3c8, 0xf133, -0xf3c8, 0xf15e, 0xf3fc, 0xf15e, 0xf3fc, 0xf249, 0xf4ee, 0xf249, 0xf4ee, 0xf2e2, 0xf58f, -0xf2e2, 0xf58f, 0xf311, 0xf5c6, 0xf311, 0xf5c6, 0xf433, 0xf6ed, 0xf433, 0xf6ed, 0xf433, -0xf6ed, 0xf4c9, 0xf784, 0xf4c9, 0xf784, 0xf607, 0xf8bf, 0xf607, 0xf8bf, 0xf6ea, 0xf998, -0xf6ea, 0xf998, 0xf706, 0xf9a4, 0xf706, 0xf9a4, 0xf80a, 0xfa92, 0xf80a, 0xfa92, 0xf80a, -0xfa92, 0xf8bb, 0xfb22, 0xf8bb, 0xfb22, 0xfa2e, 0xfc6d, 0xfa2e, 0xfc6d, 0xfb7a, 0xfd87, -0xfb7a, 0xfd87, 0xfc3b, 0xfe0d, 0xfc3b, 0xfe0d, 0xfd76, 0xff06, 0xfd76, 0xff06, 0xff05, -0x49, 0xff05, 0x49, 0xff05, 0x49, 0x18b, 0x27d, 0x18b, 0x27d, 0x37c, 0x416, -0x37c, 0x416, 0x522, 0x560, 0x522, 0x560, 0x6b6, 0x694, 0x6b6, 0x694, 0x802, -0x780, 0x802, 0x780, 0x9dc, 0x8fa, 0x9dc, 0x8fa, 0x9dc, 0x8fa, 0xb06, 0x9c7, -0xb06, 0x9c7, 0xbe5, 0xa4d, 0xbe5, 0xa4d, 0xd0a, 0xb1f, 0xd0a, 0xb1f, 0xe6d, -0xc35, 0xe6d, 0xc35, 0x10a0, 0xe25, 0x10a0, 0xe25, 0x10a0, 0xe25, 0x12cd, 0x1018, -0x12cd, 0x1018, 0x13a3, 0x10be, 0x13a3, 0x10be, 0x155e, 0x1254, 0x155e, 0x1254, 0x17b8, -0x1493, 0x17b8, 0x1493, 0x1846, 0x1510, 0x1846, 0x1510, 0x1989, 0x164d, 0x1989, 0x164d, -0x1989, 0x164d, 0x1a8f, 0x1756, 0x1a8f, 0x1756, 0x1b1a, 0x17ec, 0x1b1a, 0x17ec, 0x1be5, -0x18c8, 0x1be5, 0x18c8, 0x1b97, 0x1891, 0x1b97, 0x1891, 0x1a9d, 0x17b2, 0x1a9d, 0x17b2, -0x1932, 0x1664, 0x1932, 0x1664, 0x1932, 0x1664, 0x1827, 0x1577, 0x1827, 0x1577, 0x1623, -0x1391, 0x1623, 0x1391, 0x14a0, 0x122b, 0x14a0, 0x122b, 0x13c7, 0x116d, 0x13c7, 0x116d, -0x11e1, 0xf9e, 0x11e1, 0xf9e, 0x11e1, 0xf9e, 0x1085, 0xe55, 0x1085, 0xe55, 0xf43, -0xd22, 0xf43, 0xd22, 0xe7b, 0xc65, 0xe7b, 0xc65, 0xd80, 0xb71, 0xd80, 0xb71, -0xcfa, 0xaed, 0xcfa, 0xaed, 0xcbe, 0xaaf, 0xcbe, 0xaaf, 0xcbe, 0xaaf, 0xc5d, -0xa4a, 0xc5d, 0xa4a, 0xd34, 0xb1a, 0xd34, 0xb1a, 0xca1, 0xa7f, 0xca1, 0xa7f, -0xc8a, 0xa60, 0xc8a, 0xa60, 0xd6b, 0xb39, 0xd6b, 0xb39, 0xcc9, 0xa90, 0xcc9, -0xa90, 0xcc9, 0xa90, 0xcc5, 0xa86, 0xcc5, 0xa86, 0xd4a, 0xb09, 0xd4a, 0xb09, -0xcae, 0xa6d, 0xcae, 0xa6d, 0xb10, 0x8d1, 0xb10, 0x8d1, 0xa20, 0x7e8, 0xa20, -0x7e8, 0xa20, 0x7e8, 0x974, 0x746, 0x974, 0x746, 0x85d, 0x63b, 0x85d, 0x63b, -0x7ad, 0x59b, 0x7ad, 0x59b, 0x6d9, 0x4d9, 0x6d9, 0x4d9, 0x629, 0x43e, 0x629, -0x43e, 0x5b0, 0x3da, 0x5b0, 0x3da, 0x5b0, 0x3da, 0x577, 0x3b8, 0x577, 0x3b8, -0x59a, 0x3f3, 0x59a, 0x3f3, 0x5bd, 0x42e, 0x5bd, 0x42e, 0x601, 0x48a, 0x601, -0x48a, 0x64c, 0x4ec, 0x64c, 0x4ec, 0x57f, 0x434, 0x57f, 0x434, 0x57f, 0x434, -0x461, 0x32b, 0x461, 0x32b, 0x41b, 0x2f8, 0x41b, 0x2f8, 0x25a, 0x149, 0x25a, -0x149, 0x13e, 0x3c, 0x13e, 0x3c, 0x108, 0x14, 0x108, 0x14, 0x108, 0x14, -0xffc1, 0xfed9, 0xffc1, 0xfed9, 0xffb7, 0xfeda, 0xffb7, 0xfeda, 0xffd5, 0xff01, 0xffd5, -0xff01, 0xff8b, 0xfebf, 0xff8b, 0xfebf, 0xfec0, 0xfdfc, 0xfec0, 0xfdfc, 0xfe59, 0xfd9b, -0xfe59, 0xfd9b, 0xfe59, 0xfd9b, 0xfe36, 0xfd7c, 0xfe36, 0xfd7c, 0xfd83, 0xfccd, 0xfd83, -0xfccd, 0xfde0, 0xfd2c, 0xfde0, 0xfd2c, 0xfcc1, 0xfc0e, 0xfcc1, 0xfc0e, 0xfb29, 0xfa77, -0xfb29, 0xfa77, 0xfb2c, 0xfa78, 0xfb2c, 0xfa78, 0xfb2c, 0xfa78, 0xfb17, 0xfa61, 0xfb17, -0xfa61, 0xfb0e, 0xfa55, 0xfb0e, 0xfa55, 0xfb4a, 0xfa8c, 0xfb4a, 0xfa8c, 0xfb4e, 0xfa88, -0xfb4e, 0xfa88, 0xfb52, 0xfa84, 0xfb52, 0xfa84, 0xfb52, 0xfa84, 0xfc4b, 0xfb73, 0xfc4b, -0xfb73, 0xfce1, 0xfbfd, 0xfce1, 0xfbfd, 0xfc6b, 0xfb7b, 0xfc6b, 0xfb7b, 0xfbde, 0xfae0, -0xfbde, 0xfae0, 0xfba7, 0xfa9a, 0xfba7, 0xfa9a, 0xfc5f, 0xfb44, 0xfc5f, 0xfb44, 0xfc5f, -0xfb44, 0xfcc8, 0xfb9d, 0xfcc8, 0xfb9d, 0xfc9c, 0xfb62, 0xfc9c, 0xfb62, 0xfd30, 0xfbe8, -0xfd30, 0xfbe8, 0xfdcb, 0xfc75, 0xfdcb, 0xfc75, 0xfefe, 0xfd9b, 0xfefe, 0xfd9b, 0x11f, -0xffb1, 0x11f, 0xffb1, 0x11f, 0xffb1, 0x253, 0xdb, 0x253, 0xdb, 0x345, 0x1c5, -0x345, 0x1c5, 0x42f, 0x2a7, 0x42f, 0x2a7, 0x4f1, 0x363, 0x4f1, 0x363, 0x5c1, -0x42e, 0x5c1, 0x42e, 0x5c1, 0x42e, 0x5f2, 0x45b, 0x5f2, 0x45b, 0x6d5, 0x53a, -0x6d5, 0x53a, 0x6f4, 0x554, 0x6f4, 0x554, 0x650, 0x4aa, 0x650, 0x4aa, 0x850, -0x6a4, 0x850, 0x6a4, 0x9af, 0x7fa, 0x9af, 0x7fa, 0x9af, 0x7fa, 0x968, 0x7a7, -0x968, 0x7a7, 0xa16, 0x847, 0xa16, 0x847, 0xa85, 0x8a4, 0xa85, 0x8a4, 0xb3b, -0x946, 0xb3b, 0x946, 0xbbf, 0x9b1, 0xbbf, 0x9b1, 0xc01, 0x9d6, 0xc01, 0x9d6, -0xc01, 0x9d6, 0xcbd, 0xa72, 0xcbd, 0xa72, 0xd79, 0xb0a, 0xd79, 0xb0a, 0xea0, -0xc0a, 0xea0, 0xc0a, 0xf8a, 0xccb, 0xf8a, 0xccb, 0x1114, 0xe2b, 0x1114, 0xe2b, -0x1114, 0xe2b, 0x1328, 0x1013, 0x1328, 0x1013, 0x14c4, 0x1182, 0x14c4, 0x1182, 0x159c, -0x122f, 0x159c, 0x122f, 0x15e1, 0x1249, 0x15e1, 0x1249, 0x1674, 0x12b4, 0x1674, 0x12b4, -0x177c, 0x1397, 0x177c, 0x1397, 0x177c, 0x1397, 0x18d1, 0x14cc, 0x18d1, 0x14cc, 0x1944, -0x1522, 0x1944, 0x1522, 0x1951, 0x1517, 0x1951, 0x1517, 0x19aa, 0x155f, 0x19aa, 0x155f, -0x1a9e, 0x1646, 0x1a9e, 0x1646, 0x1b4d, 0x16ee, 0x1b4d, 0x16ee, 0x1b4d, 0x16ee, 0x1ae3, -0x1684, 0x1ae3, 0x1684, 0x1b30, 0x16d7, 0x1b30, 0x16d7, 0x1b86, 0x1736, 0x1b86, 0x1736, -0x1b75, 0x1736, 0x1b75, 0x1736, 0x1bb4, 0x1788, 0x1bb4, 0x1788, 0x1bb4, 0x1788, 0x1b66, -0x1753, 0x1b66, 0x1753, 0x1aa3, 0x16ac, 0x1aa3, 0x16ac, 0x1ae6, 0x170d, 0x1ae6, 0x170d, -0x1b17, 0x175f, 0x1b17, 0x175f, 0x1a9b, 0x1706, 0x1a9b, 0x1706, 0x1ae4, 0x1773, 0x1ae4, -0x1773, 0x1ae4, 0x1773, 0x1a84, 0x1738, 0x1a84, 0x1738, 0x19c5, 0x169f, 0x19c5, 0x169f, -0x18fa, 0x15fa, 0x18fa, 0x15fa, 0x17ec, 0x1512, 0x17ec, 0x1512, 0x173c, 0x1488, 0x173c, -0x1488, 0x173c, 0x1488, 0x167b, 0x13ed, 0x167b, 0x13ed, 0x162c, 0x13c4, 0x162c, 0x13c4, -0x14f6, 0x12b4, 0x14f6, 0x12b4, 0x1450, 0x1233, 0x1450, 0x1233, 0x1441, 0x124b, 0x1441, -0x124b, 0x127a, 0x10aa, 0x127a, 0x10aa, 0x127a, 0x10aa, 0x116b, 0xfc2, 0x116b, 0xfc2, -0x1037, 0xeb5, 0x1037, 0xeb5, 0xf4f, 0xdf4, 0xf4f, 0xdf4, 0xf6c, 0xe39, 0xf6c, -0xe39, 0xdf0, 0xce6, 0xdf0, 0xce6, 0xc60, 0xb7d, 0xc60, 0xb7d, 0xc60, 0xb7d, -0xc6d, 0xbb1, 0xc6d, 0xbb1, 0xcaf, 0xc1b, 0xcaf, 0xc1b, 0xbfb, 0xb8d, 0xbfb, -0xb8d, 0xbd7, 0xb8f, 0xbd7, 0xb8f, 0xbde, 0xbba, 0xbde, 0xbba, 0xbde, 0xbba, -0xb40, 0xb3e, 0xb40, 0xb3e, 0xaae, 0xacd, 0xaae, 0xacd, 0x9ec, 0xa28, 0x9ec, -0xa28, 0x8a7, 0x8fe, 0x8a7, 0x8fe, 0x7ac, 0x81b, 0x7ac, 0x81b, 0x7d6, 0x85a, -0x7d6, 0x85a, 0x7d6, 0x85a, 0x70d, 0x7a3, 0x70d, 0x7a3, 0x5e5, 0x68a, 0x5e5, -0x68a, 0x503, 0x5b5, 0x503, 0x5b5, 0x465, 0x520, 0x465, 0x520, 0x3ea, 0x4ab, -0x3ea, 0x4ab, 0x2db, 0x3a1, 0x2db, 0x3a1, 0x2db, 0x3a1, 0x213, 0x2dc, 0x213, -0x2dc, 0x7a, 0x144, 0x7a, 0x144, 0xfffe, 0xc9, 0xfffe, 0xc9, 0x4f, 0x11a, -0x4f, 0x11a, 0xffae, 0x79, 0xffae, 0x79, 0xffae, 0x79, 0xfed6, 0xffa1, 0xfed6, -0xffa1, 0xfe3e, 0xff0b, 0xfe3e, 0xff0b, 0xfe16, 0xfee5, 0xfe16, 0xfee5, 0xfd8b, 0xfe5e, -0xfd8b, 0xfe5e, 0xfdad, 0xfe86, 0xfdad, 0xfe86, 0xfcde, 0xfdbe, 0xfcde, 0xfdbe, 0xfcde, -0xfdbe, 0xfbbd, 0xfca6, 0xfbbd, 0xfca6, 0xfba6, 0xfc9a, 0xfba6, 0xfc9a, 0xfac9, 0xfbca, -0xfac9, 0xfbca, 0xf9de, 0xfaee, 0xf9de, 0xfaee, 0xf9a0, 0xfac1, 0xf9a0, 0xfac1, 0xf8f6, -0xfa29, 0xf8f6, 0xfa29, 0xf8f6, 0xfa29, 0xf741, 0xf886, 0xf741, 0xf886, 0xf6c7, 0xf821, -0xf6c7, 0xf821, 0xf709, 0xf877, 0xf709, 0xf877, 0xf641, 0xf7c3, 0xf641, 0xf7c3, 0xf5bd, -0xf754, 0xf5bd, 0xf754, 0xf5bd, 0xf754, 0xf5e4, 0xf78e, 0xf5e4, 0xf78e, 0xf516, 0xf6d4, -0xf516, 0xf6d4, 0xf4af, 0xf67f, 0xf4af, 0xf67f, 0xf559, 0xf739, 0xf559, 0xf739, 0xf490, -0xf680, 0xf490, 0xf680, 0xf3cc, 0xf5ca, 0xf3cc, 0xf5ca, 0xf3cc, 0xf5ca, 0xf3fd, 0xf607, -0xf3fd, 0xf607, 0xf4c1, 0xf6d4, 0xf4c1, 0xf6d4, 0xf59b, 0xf7b6, 0xf59b, 0xf7b6, 0xf63d, -0xf85e, 0xf63d, 0xf85e, 0xf68c, 0xf8b2, 0xf68c, 0xf8b2, 0xf5e1, 0xf808, 0xf5e1, 0xf808, -0xf5e1, 0xf808, 0xf5b0, 0xf7d9, 0xf5b0, 0xf7d9, 0xf562, 0xf78a, 0xf562, 0xf78a, 0xf39a, -0xf5c0, 0xf39a, 0xf5c0, 0xf268, 0xf48c, 0xf268, 0xf48c, 0xf240, 0xf461, 0xf240, 0xf461, -0xf240, 0xf461, 0xf22c, 0xf449, 0xf22c, 0xf449, 0xf302, 0xf51c, 0xf302, 0xf51c, 0xf33f, -0xf556, 0xf33f, 0xf556, 0xf390, 0xf5a4, 0xf390, 0xf5a4, 0xf433, 0xf646, 0xf433, 0xf646, -0xf3ee, 0xf601, 0xf3ee, 0xf601, 0xf3ee, 0xf601, 0xf42e, 0xf643, 0xf42e, 0xf643, 0xf3a2, -0xf5ba, 0xf3a2, 0xf5ba, 0xf300, 0xf51e, 0xf300, 0xf51e, 0xf30f, 0xf535, 0xf30f, 0xf535, -0xf28f, 0xf4bf, 0xf28f, 0xf4bf, 0xf1df, 0xf41d, 0xf1df, 0xf41d, 0xf1df, 0xf41d, 0xf1aa, -0xf3f7, 0xf1aa, 0xf3f7, 0xf0d9, 0xf338, 0xf0d9, 0xf338, 0xf04a, 0xf2bd, 0xf04a, 0xf2bd, -0xf073, 0xf2fd, 0xf073, 0xf2fd, 0xef43, 0xf1e5, 0xef43, 0xf1e5, 0xef43, 0xf1e5, 0xeec1, -0xf17c, 0xeec1, 0xf17c, 0xee4d, 0xf123, 0xee4d, 0xf123, 0xed2c, 0xf01e, 0xed2c, 0xf01e, -0xebe0, 0xeeee, 0xebe0, 0xeeee, 0xeace, 0xedf8, 0xeace, 0xedf8, 0xea6d, 0xedb2, 0xea6d, -0xedb2, 0xea6d, 0xedb2, 0xe942, 0xeca1, 0xe942, 0xeca1, 0xe8b9, 0xec31, 0xe8b9, 0xec31, -0xe8a8, 0xec37, 0xe8a8, 0xec37, 0xe814, 0xebb8, 0xe814, 0xebb8, 0xe764, 0xeb1b, 0xe764, -0xeb1b, 0xe6b4, 0xea7b, 0xe6b4, 0xea7b, 0xe6b4, 0xea7b, 0xe5eb, 0xe9be, 0xe5eb, 0xe9be, -0xe64e, 0xea2c, 0xe64e, 0xea2c, 0xe697, 0xea7c, 0xe697, 0xea7c, 0xe622, 0xea0c, 0xe622, -0xea0c, 0xe636, 0xea21, 0xe636, 0xea21, 0xe636, 0xea21, 0xe52f, 0xe91a, 0xe52f, 0xe91a, -0xe639, 0xea20, 0xe639, 0xea20, 0xe67f, 0xea60, 0xe67f, 0xea60, 0xe3de, 0xe7b7, 0xe3de, -0xe7b7, 0xe38d, 0xe75c, 0xe38d, 0xe75c, 0xe3c5, 0xe788, 0xe3c5, 0xe788, 0xe3c5, 0xe788, -0xe3fe, 0xe7b4, 0xe3fe, 0xe7b4, 0xe4b3, 0xe85a, 0xe4b3, 0xe85a, 0xe483, 0xe81a, 0xe483, -0xe81a, 0xe4b3, 0xe839, 0xe4b3, 0xe839, 0xe60e, 0xe982, 0xe60e, 0xe982, 0xe7b6, 0xeb18, -0xe7b6, 0xeb18, 0xe7b6, 0xeb18, 0xe910, 0xec5e, 0xe910, 0xec5e, 0xe940, 0xec7b, 0xe940, -0xec7b, 0xe8cf, 0xebf5, 0xe8cf, 0xebf5, 0xe8f3, 0xec04, 0xe8f3, 0xec04, 0xe920, 0xec1b, -0xe920, 0xec1b, 0xe920, 0xec1b, 0xe8cf, 0xebb5, 0xe8cf, 0xebb5, 0xe7d6, 0xeaa6, 0xe7d6, -0xeaa6, 0xe7d2, 0xea8c, 0xe7d2, 0xea8c, 0xe91f, 0xebc2, 0xe91f, 0xebc2, 0xe93f, 0xebcc, -0xe93f, 0xebcc, 0xe880, 0xeaf9, 0xe880, 0xeaf9, 0xe880, 0xeaf9, 0xe86b, 0xeacf, 0xe86b, -0xeacf, 0xe87e, 0xeacf, 0xe87e, 0xeacf, 0xe916, 0xeb55, 0xe916, 0xeb55, 0xe96e, 0xeb9d, -0xe96e, 0xeb9d, 0xe986, 0xeba8, 0xe986, 0xeba8, 0xea06, 0xec1e, 0xea06, 0xec1e, 0xea06, -0xec1e, 0xea14, 0xec24, 0xea14, 0xec24, 0xead7, 0xece3, 0xead7, 0xece3, 0xec5f, 0xee6a, -0xec5f, 0xee6a, 0xed80, 0xef8e, 0xed80, 0xef8e, 0xedce, 0xefe3, 0xedce, 0xefe3, 0xedce, -0xefe3, 0xeeac, 0xf0cb, 0xeeac, 0xf0cb, 0xef91, 0xf1bd, 0xef91, 0xf1bd, 0xf004, 0xf241, -0xf004, 0xf241, 0xf011, 0xf261, 0xf011, 0xf261, 0xef05, 0xf16a, 0xef05, 0xf16a, 0xee8a, -0xf105, 0xee8a, 0xf105, 0xee8a, 0xf105, 0xee35, 0xf0c6, 0xee35, 0xf0c6, 0xef2b, 0xf1d2, -0xef2b, 0xf1d2, 0xef6e, 0xf228, 0xef6e, 0xf228, 0xef49, 0xf215, 0xef49, 0xf215, 0xf033, -0xf30c, 0xf033, 0xf30c, 0xf033, 0xf30c, 0xf034, 0xf315, 0xf034, 0xf315, 0xf1ca, 0xf4af, -0xf1ca, 0xf4af, 0xf2ef, 0xf5d0, 0xf2ef, 0xf5d0, 0xf42e, 0xf704, 0xf42e, 0xf704, 0xf519, -0xf7db, 0xf519, 0xf7db, 0xf4b1, 0xf759, 0xf4b1, 0xf759, 0xf4b1, 0xf759, 0xf573, 0xf7f7, -0xf573, 0xf7f7, 0xf51f, 0xf776, 0xf51f, 0xf776, 0xf4ce, 0xf6f0, 0xf4ce, 0xf6f0, 0xf658, -0xf83d, 0xf658, 0xf83d, 0xf868, 0xfa07, 0xf868, 0xfa07, 0xf9e1, 0xfb35, 0xf9e1, 0xfb35, -0xf9e1, 0xfb35, 0xfc83, 0xfd86, 0xfc83, 0xfd86, 0xff12, 0xffbf, 0xff12, 0xffbf, 0xd9, -0x12d, 0xd9, 0x12d, 0x35e, 0x358, 0x35e, 0x358, 0x4b2, 0x451, 0x4b2, 0x451, -0x4b2, 0x451, 0x58b, 0x4cf, 0x58b, 0x4cf, 0x6a4, 0x590, 0x6a4, 0x590, 0x87d, -0x716, 0x87d, 0x716, 0x9ba, 0x804, 0x9ba, 0x804, 0xa84, 0x885, 0xa84, 0x885, -0xcff, 0xac0, 0xcff, 0xac0, 0xcff, 0xac0, 0xeda, 0xc62, 0xeda, 0xc62, 0x10e2, -0xe3b, 0x10e2, 0xe3b, 0x13da, 0x110e, 0x13da, 0x110e, 0x150e, 0x1226, 0x150e, 0x1226, -0x1550, 0x1257, 0x1550, 0x1257, 0x16d5, 0x13d3, 0x16d5, 0x13d3, 0x16d5, 0x13d3, 0x17fb, -0x14fb, 0x17fb, 0x14fb, 0x1736, 0x1441, 0x1736, 0x1441, 0x1698, 0x13b5, 0x1698, 0x13b5, -0x169b, 0x13d2, 0x169b, 0x13d2, 0x15fd, 0x1353, 0x15fd, 0x1353, 0x15fd, 0x1353, 0x1588, -0x1302, 0x1588, 0x1302, 0x1574, 0x1315, 0x1574, 0x1315, 0x14ca, 0x1295, 0x14ca, 0x1295, -0x1341, 0x1137, 0x1341, 0x1137, 0x121d, 0x103d, 0x121d, 0x103d, 0x10ff, 0xf47, 0x10ff, -0xf47, 0x10ff, 0xf47, 0xffd, 0xe6b, 0xffd, 0xe6b, 0xfb7, 0xe47, 0xfb7, 0xe47, -0xdd0, 0xc7e, 0xdd0, 0xc7e, 0xcf9, 0xbbf, 0xcf9, 0xbbf, 0xd79, 0xc52, 0xd79, -0xc52, 0xde9, 0xcd0, 0xde9, 0xcd0, 0xde9, 0xcd0, 0xec3, 0xdb1, 0xec3, 0xdb1, -0xe86, 0xd75, 0xe86, 0xd75, 0xedb, 0xdc7, 0xedb, 0xdc7, 0xef4, 0xdd7, 0xef4, -0xdd7, 0xf66, 0xe3d, 0xf66, 0xe3d, 0xf66, 0xe3d, 0xfd0, 0xe96, 0xfd0, 0xe96, -0xf4f, 0xe03, 0xf4f, 0xe03, 0xe4e, 0xcee, 0xe4e, 0xcee, 0xd8b, 0xc16, 0xd8b, -0xc16, 0xea8, 0xd1f, 0xea8, 0xd1f, 0xdc7, 0xc2b, 0xdc7, 0xc2b, 0xdc7, 0xc2b, -0xd0c, 0xb5f, 0xd0c, 0xb5f, 0xd2f, 0xb74, 0xd2f, 0xb74, 0xc2c, 0xa68, 0xc2c, -0xa68, 0xc09, 0xa3f, 0xc09, 0xa3f, 0xc87, 0xabc, 0xc87, 0xabc, 0xc6e, 0xaa7, -0xc6e, 0xaa7, 0xc6e, 0xaa7, 0xbc9, 0xa0a, 0xbc9, 0xa0a, 0xc94, 0xae3, 0xc94, -0xae3, 0xbc4, 0xa26, 0xbc4, 0xa26, 0xa9e, 0x916, 0xa9e, 0x916, 0xa5a, 0x8ec, -0xa5a, 0x8ec, 0xa5a, 0x8ec, 0x94a, 0x7fa, 0x94a, 0x7fa, 0x94d, 0x81c, 0x94d, -0x81c, 0x83f, 0x72f, 0x83f, 0x72f, 0x6c3, 0x5d4, 0x6c3, 0x5d4, 0x644, 0x577, -0x644, 0x577, 0x5d1, 0x523, 0x5d1, 0x523, 0x5d1, 0x523, 0x4a9, 0x419, 0x4a9, -0x419, 0x3f5, 0x380, 0x3f5, 0x380, 0x36b, 0x30d, 0x36b, 0x30d, 0x2a3, 0x259, -0x2a3, 0x259, 0x2f7, 0x2bd, 0x2f7, 0x2bd, 0x1e8, 0x1b9, 0x1e8, 0x1b9, 0x1e8, -0x1b9, 0xda, 0xb1, 0xda, 0xb1, 0x125, 0xfe, 0x125, 0xfe, 0x9f, 0x75, -0x9f, 0x75, 0xffa2, 0xff70, 0xffa2, 0xff70, 0xffbf, 0xff82, 0xffbf, 0xff82, 0xffbf, -0xff82, 0x1a, 0xffcf, 0x1a, 0xffcf, 0xffcd, 0xff71, 0xffcd, 0xff71, 0x3, 0xff93, -0x3, 0xff93, 0xff8e, 0xff0a, 0xff8e, 0xff0a, 0xfeb8, 0xfe1e, 0xfeb8, 0xfe1e, 0xff07, -0xfe57, 0xff07, 0xfe57, 0xff07, 0xfe57, 0xfe53, 0xfd8f, 0xfe53, 0xfd8f, 0xfcc0, 0xfbe7, -0xfcc0, 0xfbe7, 0xfd16, 0xfc2c, 0xfd16, 0xfc2c, 0xfd6d, 0xfc72, 0xfd6d, 0xfc72, 0xfd8c, -0xfc84, 0xfd8c, 0xfc84, 0xfe3c, 0xfd2a, 0xfe3c, 0xfd2a, 0xfe3c, 0xfd2a, 0xfdc6, 0xfcab, -0xfdc6, 0xfcab, 0xfd9d, 0xfc7d, 0xfd9d, 0xfc7d, 0xfee1, 0xfdbd, 0xfee1, 0xfdbd, 0xfffe, -0xfed9, 0xfffe, 0xfed9, 0x3c, 0xff18, 0x3c, 0xff18, 0x3c, 0xff18, 0xb1, 0xff8e, -0xb1, 0xff8e, 0x13e, 0x1e, 0x13e, 0x1e, 0x270, 0x154, 0x270, 0x154, 0x2cf, -0x1b5, 0x2cf, 0x1b5, 0x276, 0x15d, 0x276, 0x15d, 0x22d, 0x115, 0x22d, 0x115, -0x22d, 0x115, 0x173, 0x58, 0x173, 0x58, 0x280, 0x160, 0x280, 0x160, 0x301, -0x1d9, 0x301, 0x1d9, 0x3ac, 0x278, 0x3ac, 0x278, 0x3e3, 0x29f, 0x3e3, 0x29f, -0x3a5, 0x24f, 0x3a5, 0x24f, 0x3a5, 0x24f, 0x55f, 0x3f1, 0x55f, 0x3f1, 0x5e2, -0x459, 0x5e2, 0x459, 0x66d, 0x4c6, 0x66d, 0x4c6, 0x68e, 0x4c5, 0x68e, 0x4c5, -0x63c, 0x44f, 0x63c, 0x44f, 0x63c, 0x44f, 0x6db, 0x4c7, 0x6db, 0x4c7, 0x718, -0x4db, 0x718, 0x4db, 0x7c4, 0x55c, 0x7c4, 0x55c, 0x967, 0x6d4, 0x967, 0x6d4, -0xb09, 0x84c, 0xb09, 0x84c, 0xc7d, 0x996, 0xc7d, 0x996, 0xc7d, 0x996, 0xe11, -0xb01, 0xe11, 0xb01, 0xebd, 0xb87, 0xebd, 0xb87, 0xf67, 0xc0c, 0xf67, 0xc0c, -0x1081, 0xd06, 0x1081, 0xd06, 0x1198, 0xdff, 0x1198, 0xdff, 0x12cd, 0xf1b, 0x12cd, -0xf1b, 0x12cd, 0xf1b, 0x13eb, 0x1024, 0x13eb, 0x1024, 0x14a4, 0x10cc, 0x14a4, 0x10cc, -0x14f3, 0x110e, 0x14f3, 0x110e, 0x158c, 0x119e, 0x158c, 0x119e, 0x1706, 0x1315, 0x1706, -0x1315, 0x1706, 0x1315, 0x1825, 0x1434, 0x1825, 0x1434, 0x1821, 0x1434, 0x1821, 0x1434, -0x18a9, 0x14c4, 0x18a9, 0x14c4, 0x1892, 0x14b9, 0x1892, 0x14b9, 0x1849, 0x147f, 0x1849, -0x147f, 0x17e9, 0x1430, 0x17e9, 0x1430, 0x17e9, 0x1430, 0x16d7, 0x1332, 0x16d7, 0x1332, -0x1722, 0x1394, 0x1722, 0x1394, 0x1792, 0x141c, 0x1792, 0x141c, 0x1775, 0x1419, 0x1775, -0x1419, 0x1888, 0x1548, 0x1888, 0x1548, 0x1888, 0x1548, 0x19cb, 0x16a7, 0x19cb, 0x16a7, -0x18b2, 0x15ab, 0x18b2, 0x15ab, 0x17c9, 0x14e0, 0x17c9, 0x14e0, 0x17ba, 0x14f0, 0x17ba, -0x14f0, 0x1772, 0x14c8, 0x1772, 0x14c8, 0x1731, 0x14a7, 0x1731, 0x14a7, 0x1731, 0x14a7, -0x1674, 0x140b, 0x1674, 0x140b, 0x1599, 0x1351, 0x1599, 0x1351, 0x141a, 0x11f4, 0x141a, -0x11f4, 0x13c1, 0x11be, 0x13c1, 0x11be, 0x1331, 0x1152, 0x1331, 0x1152, 0x1223, 0x1068, -0x1223, 0x1068, 0x1223, 0x1068, 0x11ca, 0x1034, 0x11ca, 0x1034, 0x10da, 0xf69, 0x10da, -0xf69, 0x1065, 0xf19, 0x1065, 0xf19, 0x107f, 0xf59, 0x107f, 0xf59, 0x1071, 0xf71, -0x1071, 0xf71, 0x1071, 0xf71, 0xfef, 0xf15, 0xfef, 0xf15, 0x1040, 0xf8a, 0x1040, -0xf8a, 0xff4, 0xf63, 0xff4, 0xf63, 0xf66, 0xef9, 0xf66, 0xef9, 0xfa4, 0xf59, -0xfa4, 0xf59, 0xed5, 0xeab, 0xed5, 0xeab, 0xed5, 0xeab, 0xde5, 0xdda, 0xde5, -0xdda, 0xced, 0xcff, 0xced, 0xcff, 0xcd3, 0xcff, 0xcd3, 0xcff, 0xcfa, 0xd3e, -0xcfa, 0xd3e, 0xc37, 0xc91, 0xc37, 0xc91, 0xbe9, 0xc55, 0xbe9, 0xc55, 0xbe9, -0xc55, 0xbd5, 0xc50, 0xbd5, 0xc50, 0xacd, 0xb55, 0xacd, 0xb55, 0x98e, 0xa1f, -0x98e, 0xa1f, 0x8ab, 0x943, 0x8ab, 0x943, 0x784, 0x821, 0x784, 0x821, 0x784, -0x821, 0x5ea, 0x689, 0x5ea, 0x689, 0x4f2, 0x591, 0x4f2, 0x591, 0x4d9, 0x577, -0x4d9, 0x577, 0x3e4, 0x480, 0x3e4, 0x480, 0x40b, 0x4a4, 0x40b, 0x4a4, 0x36f, -0x404, 0x36f, 0x404, 0x36f, 0x404, 0x1fc, 0x28e, 0x1fc, 0x28e, 0x2df, 0x36d, -0x2df, 0x36d, 0x2c2, 0x34f, 0x2c2, 0x34f, 0x195, 0x221, 0x195, 0x221, 0x51, -0xdd, 0x51, 0xdd, 0xff2d, 0xffbb, 0xff2d, 0xffbb, 0xff2d, 0xffbb, 0xfdeb, 0xfe7e, -0xfdeb, 0xfe7e, 0xfd1e, 0xfdb8, 0xfd1e, 0xfdb8, 0xfd0d, 0xfdb0, 0xfd0d, 0xfdb0, 0xfcd5, -0xfd82, 0xfcd5, 0xfd82, 0xfca1, 0xfd5a, 0xfca1, 0xfd5a, 0xfca1, 0xfd5a, 0xfbe1, 0xfca9, -0xfbe1, 0xfca9, 0xfb9f, 0xfc78, 0xfb9f, 0xfc78, 0xfb3e, 0xfc28, 0xfb3e, 0xfc28, 0xfa8e, -0xfb8b, 0xfa8e, 0xfb8b, 0xf93d, 0xfa4d, 0xf93d, 0xfa4d, 0xf88e, 0xf9b1, 0xf88e, 0xf9b1, -0xf88e, 0xf9b1, 0xf874, 0xf9aa, 0xf874, 0xf9aa, 0xf7e5, 0xf92e, 0xf7e5, 0xf92e, 0xf831, -0xf98c, 0xf831, 0xf98c, 0xf70b, 0xf876, 0xf70b, 0xf876, 0xf689, 0xf803, 0xf689, 0xf803, -0xf758, 0xf8e0, 0xf758, 0xf8e0, 0xf758, 0xf8e0, 0xf751, 0xf8e3, 0xf751, 0xf8e3, 0xf7c2, -0xf95e, 0xf7c2, 0xf95e, 0xf814, 0xf9b7, 0xf814, 0xf9b7, 0xf7a2, 0xf94a, 0xf7a2, 0xf94a, -0xf792, 0xf93d, 0xf792, 0xf93d, 0xf792, 0xf93d, 0xf6df, 0xf88b, 0xf6df, 0xf88b, 0xf505, -0xf6b2, 0xf505, 0xf6b2, 0xf44f, 0xf5fa, 0xf44f, 0xf5fa, 0xf3c8, 0xf571, 0xf3c8, 0xf571, -0xf2b7, 0xf45d, 0xf2b7, 0xf45d, 0xf1ad, 0xf350, 0xf1ad, 0xf350, 0xf1ad, 0xf350, 0xf1dc, -0xf37d, 0xf1dc, 0xf37d, 0xf297, 0xf436, 0xf297, 0xf436, 0xf275, 0xf413, 0xf275, 0xf413, -0xf378, 0xf517, 0xf378, 0xf517, 0xf3d9, 0xf57b, 0xf3d9, 0xf57b, 0xf2a8, 0xf44e, 0xf2a8, -0xf44e, 0xf2a8, 0xf44e, 0xf24a, 0xf3f6, 0xf24a, 0xf3f6, 0xf1eb, 0xf3a1, 0xf1eb, 0xf3a1, -0xf122, 0xf2e4, 0xf122, 0xf2e4, 0xf03a, 0xf20a, 0xf03a, 0xf20a, 0xeed9, 0xf0b9, 0xeed9, -0xf0b9, 0xeed9, 0xf0b9, 0xeeb4, 0xf0a8, 0xeeb4, 0xf0a8, 0xeeb2, 0xf0bb, 0xeeb2, 0xf0bb, -0xee29, 0xf049, 0xee29, 0xf049, 0xeda3, 0xefdc, 0xeda3, 0xefdc, 0xecc7, 0xef19, 0xecc7, -0xef19, 0xec19, 0xee86, 0xec19, 0xee86, 0xec19, 0xee86, 0xea8b, 0xed15, 0xea8b, 0xed15, -0xe91a, 0xebbf, 0xe91a, 0xebbf, 0xe7bf, 0xea80, 0xe7bf, 0xea80, 0xe6a4, 0xe980, 0xe6a4, -0xe980, 0xe5f8, 0xe8ee, 0xe5f8, 0xe8ee, 0xe51c, 0xe82c, 0xe51c, 0xe82c, 0xe51c, 0xe82c, -0xe497, 0xe7be, 0xe497, 0xe7be, 0xe46c, 0xe7a9, 0xe46c, 0xe7a9, 0xe43d, 0xe78e, 0xe43d, -0xe78e, 0xe3a4, 0xe707, 0xe3a4, 0xe707, 0xe398, 0xe70b, 0xe398, 0xe70b, 0xe398, 0xe70b, -0xe2e8, 0xe668, 0xe2e8, 0xe668, 0xe2ab, 0xe635, 0xe2ab, 0xe635, 0xe224, 0xe5b7, 0xe224, -0xe5b7, 0xe0ea, 0xe483, 0xe0ea, 0xe483, 0xe115, 0xe4b2, 0xe115, 0xe4b2, 0xe0ac, 0xe44a, -0xe0ac, 0xe44a, 0xe0ac, 0xe44a, 0xe035, 0xe3d1, 0xe035, 0xe3d1, 0xe02e, 0xe3c6, 0xe02e, -0xe3c6, 0xdff6, 0xe388, 0xdff6, 0xe388, 0xdf9f, 0xe327, 0xdf9f, 0xe327, 0xdff7, 0xe374, -0xdff7, 0xe374, 0xdfad, 0xe31d, 0xdfad, 0xe31d, 0xdfad, 0xe31d, 0xdf46, 0xe2a5, 0xdf46, -0xe2a5, 0xe049, 0xe396, 0xe049, 0xe396, 0xe172, 0xe4aa, 0xe172, 0xe4aa, 0xe25a, 0xe57b, -0xe25a, 0xe57b, 0xe2f9, 0xe601, 0xe2f9, 0xe601, 0xe2f9, 0xe601, 0xe497, 0xe784, 0xe497, -0xe784, 0xe52b, 0xe7fb, 0xe52b, 0xe7fb, 0xe5df, 0xe891, 0xe5df, 0xe891, 0xe68a, 0xe91c, -0xe68a, 0xe91c, 0xe597, 0xe807, 0xe597, 0xe807, 0xe666, 0xe8b4, 0xe666, 0xe8b4, 0xe666, -0xe8b4, 0xe7ae, 0xe9da, 0xe7ae, 0xe9da, 0xe7e6, 0xe9ef, 0xe7e6, 0xe9ef, 0xe7ee, 0xe9d5, -0xe7ee, 0xe9d5, 0xe86a, 0xea2f, 0xe86a, 0xea2f, 0xe83f, 0xe9e4, 0xe83f, 0xe9e4, 0xe902, -0xea88, 0xe902, 0xea88, 0xe902, 0xea88, 0xea3b, 0xeba6, 0xea3b, 0xeba6, 0xea7e, 0xebd0, -0xea7e, 0xebd0, 0xeb7d, 0xecba, 0xeb7d, 0xecba, 0xeb86, 0xecb1, 0xeb86, 0xecb1, 0xebf1, -0xed0f, 0xebf1, 0xed0f, 0xebf1, 0xed0f, 0xed82, 0xee98, 0xed82, 0xee98, 0xef7d, 0xf08f, -0xef7d, 0xf08f, 0xf0e6, 0xf1f9, 0xf0e6, 0xf1f9, 0xf17a, 0xf293, 0xf17a, 0xf293, 0xf273, -0xf397, 0xf273, 0xf397, 0xf2d9, 0xf40b, 0xf2d9, 0xf40b, 0xf2d9, 0xf40b, 0xf3ab, 0xf4f1, -0xf3ab, 0xf4f1, 0xf3f8, 0xf554, 0xf3f8, 0xf554, 0xf35e, 0xf4d5, 0xf35e, 0xf4d5, 0xf31e, -0xf4b1, 0xf31e, 0xf4b1, 0xf2d2, 0xf483, 0xf2d2, 0xf483, 0xf2d2, 0xf483, 0xf3ef, 0xf5bd, -0xf3ef, 0xf5bd, 0xf5dd, 0xf7ca, 0xf5dd, 0xf7ca, 0xf58d, 0xf795, 0xf58d, 0xf795, 0xf4d4, -0xf6f5, 0xf4d4, 0xf6f5, 0xf62b, 0xf862, 0xf62b, 0xf862, 0xf6c8, 0xf911, 0xf6c8, 0xf911, -0xf6c8, 0xf911, 0xf791, 0xf9e6, 0xf791, 0xf9e6, 0xf854, 0xfaaf, 0xf854, 0xfaaf, 0xf79f, -0xf9f8, 0xf79f, 0xf9f8, 0xf85a, 0xfaaa, 0xf85a, 0xfaaa, 0xf8e5, 0xfb24, 0xf8e5, 0xfb24, -0xf8e5, 0xfb0d, 0xf8e5, 0xfb0d, 0xf8e5, 0xfb0d, 0xf96e, 0xfb74, 0xf96e, 0xfb74, 0xf97a, -0xfb58, 0xf97a, 0xfb58, 0xfa2e, 0xfbdb, 0xfa2e, 0xfbdb, 0xfbd4, 0xfd4a, 0xfbd4, 0xfd4a, -0xfda9, 0xfee0, 0xfda9, 0xfee0, 0xfda9, 0xfee0, 0xff47, 0x3b, 0xff47, 0x3b, 0xf1, -0x19c, 0xf1, 0x19c, 0x315, 0x375, 0x315, 0x375, 0x4f5, 0x507, 0x4f5, 0x507, -0x672, 0x634, 0x672, 0x634, 0x8ba, 0x82d, 0x8ba, 0x82d, 0x8ba, 0x82d, 0xa0f, -0x935, 0xa0f, 0x935, 0xad2, 0x9ad, 0xad2, 0x9ad, 0xc3a, 0xace, 0xc3a, 0xace, -0xd08, 0xb59, 0xd08, 0xb59, 0xf2d, 0xd42, 0xf2d, 0xd42, 0x11a3, 0xf83, 0x11a3, -0xf83, 0x11a3, 0xf83, 0x1342, 0x10f4, 0x1342, 0x10f4, 0x158a, 0x1314, 0x158a, 0x1314, -0x1758, 0x14c4, 0x1758, 0x14c4, 0x17ba, 0x150f, 0x17ba, 0x150f, 0x1796, 0x14dd, 0x1796, -0x14dd, 0x1796, 0x14dd, 0x1757, 0x1497, 0x1757, 0x1497, 0x1751, 0x1491, 0x1751, 0x1491, -0x1754, 0x149c, 0x1754, 0x149c, 0x16fd, 0x1451, 0x16fd, 0x1451, 0x173a, 0x14a0, 0x173a, -0x14a0, 0x16ba, 0x1436, 0x16ba, 0x1436, 0x16ba, 0x1436, 0x168e, 0x1424, 0x168e, 0x1424, -0x1647, 0x13f8, 0x1647, 0x13f8, 0x14f4, 0x12c1, 0x14f4, 0x12c1, 0x1415, 0x11ff, 0x1415, -0x11ff, 0x11f2, 0xff8, 0x11f2, 0xff8, 0x10b5, 0xed5, 0x10b5, 0xed5, 0x10b5, 0xed5, -0xf66, 0xd9f, 0xf66, 0xd9f, 0xcc9, 0xb17, 0xcc9, 0xb17, 0xc2b, 0xa8a, 0xc2b, -0xa8a, 0xc74, 0xae1, 0xc74, 0xae1, 0xcef, 0xb67, 0xcef, 0xb67, 0xcef, 0xb67, -0xdf4, 0xc71, 0xdf4, 0xc71, 0xe72, 0xcf1, 0xe72, 0xcf1, 0xe47, 0xcc6, 0xe47, -0xcc6, 0xe34, 0xcae, 0xe34, 0xcae, 0xd57, 0xbca, 0xd57, 0xbca, 0xc19, 0xa83, -0xc19, 0xa83, 0xc19, 0xa83, 0xb17, 0x977, 0xb17, 0x977, 0xa5b, 0x8b0, 0xa5b, -0x8b0, 0xac8, 0x911, 0xac8, 0x911, 0xace, 0x90d, 0xace, 0x90d, 0xa27, 0x85c, -0xa27, 0x85c, 0x956, 0x784, 0x956, 0x784, 0x956, 0x784, 0x96d, 0x796, 0x96d, -0x796, 0x9c7, 0x7ee, 0x9c7, 0x7ee, 0x84f, 0x677, 0x84f, 0x677, 0x804, 0x632, -0x804, 0x632, 0x8c7, 0x6fd, 0x8c7, 0x6fd, 0x8c7, 0x6fd, 0x891, 0x6d3, 0x891, -0x6d3, 0x7cd, 0x61f, 0x7cd, 0x61f, 0x665, 0x4cb, 0x665, 0x4cb, 0x5e5, 0x461, -0x5e5, 0x461, 0x5b2, 0x446, 0x5b2, 0x446, 0x4ca, 0x379, 0x4ca, 0x379, 0x4ca, -0x379, 0x460, 0x32b, 0x460, 0x32b, 0x3a4, 0x28c, 0x3a4, 0x28c, 0x21a, 0x120, -0x21a, 0x120, 0x156, 0x79, 0x156, 0x79, 0x125, 0x64, 0x125, 0x64, 0xb4, -0xd, 0xb4, 0xd, 0xb4, 0xd, 0xffe4, 0xff56, 0xffe4, 0xff56, 0xff73, 0xfefb, -0xff73, 0xfefb, 0xff3f, 0xfeda, 0xff3f, 0xfeda, 0xfdeb, 0xfd96, 0xfdeb, 0xfd96, 0xfd74, -0xfd2b, 0xfd74, 0xfd2b, 0xfd74, 0xfd2b, 0xfd44, 0xfd05, 0xfd44, 0xfd05, 0xfc5b, 0xfc22, -0xfc5b, 0xfc22, 0xfc72, 0xfc3b, 0xfc72, 0xfc3b, 0xfc66, 0xfc30, 0xfc66, 0xfc30, 0xfc8c, -0xfc53, 0xfc8c, 0xfc53, 0xfd36, 0xfcf8, 0xfd36, 0xfcf8, 0xfd36, 0xfcf8, 0xfcb3, 0xfc6e, -0xfcb3, 0xfc6e, 0xfbbd, 0xfb70, 0xfbbd, 0xfb70, 0xfb86, 0xfb30, 0xfb86, 0xfb30, 0xfaec, -0xfa8d, 0xfaec, 0xfa8d, 0xfaa6, 0xfa3f, 0xfaa6, 0xfa3f, 0xfaff, 0xfa8f, 0xfaff, 0xfa8f, -0xfaff, 0xfa8f, 0xfa8e, 0xfa18, 0xfa8e, 0xfa18, 0xfa6f, 0xf9f3, 0xfa6f, 0xf9f3, 0xfaea, -0xfa6c, 0xfaea, 0xfa6c, 0xfb60, 0xfae0, 0xfb60, 0xfae0, 0xfbcd, 0xfb4f, 0xfbcd, 0xfb4f, -0xfbcd, 0xfb4f, 0xfc8f, 0xfc14, 0xfc8f, 0xfc14, 0xfd3a, 0xfcc5, 0xfd3a, 0xfcc5, 0xfdd4, -0xfd67, 0xfdd4, 0xfd67, 0xfebd, 0xfe5a, 0xfebd, 0xfe5a, 0xff2d, 0xfed5, 0xff2d, 0xfed5, -0x10, 0xffc5, 0x10, 0xffc5, 0x10, 0xffc5, 0x112, 0xd4, 0x112, 0xd4, 0x102, -0xd2, 0x102, 0xd2, 0x17e, 0x15a, 0x17e, 0x15a, 0x293, 0x27c, 0x293, 0x27c, -0x2c9, 0x2bc, 0x2c9, 0x2bc, 0x2f1, 0x2ec, 0x2f1, 0x2ec, 0x2f1, 0x2ec, 0x2e6, -0x2e7, 0x2e6, 0x2e7, 0x29f, 0x2a3, 0x29f, 0x2a3, 0x3d1, 0x3d4, 0x3d1, 0x3d4, -0x4dc, 0x4db, 0x4dc, 0x4db, 0x5ed, 0x5e3, 0x5ed, 0x5e3, 0x5ed, 0x5e3, 0x7d4, -0x7be, 0x7d4, 0x7be, 0x892, 0x86a, 0x892, 0x86a, 0x98b, 0x94d, 0x98b, 0x94d, -0x9e1, 0x989, 0x9e1, 0x989, 0x91d, 0x8a7, 0x91d, 0x8a7, 0x942, 0x8aa, 0x942, -0x8aa, 0x942, 0x8aa, 0x9c0, 0x903, 0x9c0, 0x903, 0xacf, 0x9e9, 0xacf, 0x9e9, -0xbbe, 0xaad, 0xbbe, 0xaad, 0xd21, 0xbe4, 0xd21, 0xbe4, 0xf4c, 0xde1, 0xf4c, -0xde1, 0x10c5, 0xf2c, 0x10c5, 0xf2c, 0x10c5, 0xf2c, 0x11dd, 0x1014, 0x11dd, 0x1014, -0x1310, 0x1119, 0x1310, 0x1119, 0x13de, 0x11ba, 0x13de, 0x11ba, 0x1497, 0x1247, 0x1497, -0x1247, 0x157e, 0x1304, 0x157e, 0x1304, 0x157e, 0x1304, 0x15e6, 0x1345, 0x15e6, 0x1345, -0x16f6, 0x1431, 0x16f6, 0x1431, 0x17b9, 0x14d2, 0x17b9, 0x14d2, 0x18eb, 0x15e6, 0x18eb, -0x15e6, 0x1b45, 0x1826, 0x1b45, 0x1826, 0x1c97, 0x1962, 0x1c97, 0x1962, 0x1c97, 0x1962, -0x1d09, 0x19c2, 0x1d09, 0x19c2, 0x1cfe, 0x19a8, 0x1cfe, 0x19a8, 0x1d1f, 0x19be, 0x1d1f, -0x19be, 0x1c60, 0x18f7, 0x1c60, 0x18f7, 0x1b6b, 0x17fd, 0x1b6b, 0x17fd, 0x1b6b, 0x17fd, -0x1b5a, 0x17ea, 0x1b5a, 0x17ea, 0x1b7c, 0x180e, 0x1b7c, 0x180e, 0x1bf1, 0x1887, 0x1bf1, -0x1887, 0x1c7b, 0x1917, 0x1c7b, 0x1917, 0x1cb5, 0x1959, 0x1cb5, 0x1959, 0x1c4c, 0x18f9, -0x1c4c, 0x18f9, 0x1c4c, 0x18f9, 0x1ba6, 0x185f, 0x1ba6, 0x185f, 0x1b0b, 0x17d1, 0x1b0b, -0x17d1, 0x1b17, 0x17eb, 0x1b17, 0x17eb, 0x1a29, 0x170b, 0x1a29, 0x170b, 0x1898, 0x1589, -0x1898, 0x1589, 0x17c4, 0x14c6, 0x17c4, 0x14c6, 0x17c4, 0x14c6, 0x1679, 0x138b, 0x1679, -0x138b, 0x157c, 0x12a0, 0x157c, 0x12a0, 0x149b, 0x11d0, 0x149b, 0x11d0, 0x1318, 0x1061, -0x1318, 0x1061, 0x1203, 0xf5f, 0x1203, 0xf5f, 0x1203, 0xf5f, 0x1186, 0xef5, 0x1186, -0xef5, 0x1066, 0xde9, 0x1066, 0xde9, 0xfbf, 0xd57, 0xfbf, 0xd57, 0xf79, 0xd27, -0xf79, 0xd27, 0xf56, 0xd1b, 0xf56, 0xd1b, 0xf99, 0xd75, 0xf99, 0xd75, 0xf99, -0xd75, 0xea9, 0xc9d, 0xea9, 0xc9d, 0xdea, 0xbf7, 0xdea, 0xbf7, 0xd5d, 0xb84, -0xd5d, 0xb84, 0xd0f, 0xb51, 0xd0f, 0xb51, 0xc9e, 0xafa, 0xc9e, 0xafa, 0xaef, -0x967, 0xaef, 0x967, 0xaef, 0x967, 0x9d0, 0x864, 0x9d0, 0x864, 0x993, 0x844, -0x993, 0x844, 0xa3c, 0x90a, 0xa3c, 0x90a, 0xa51, 0x93b, 0xa51, 0x93b, 0x923, -0x82a, 0x923, 0x82a, 0x923, 0x82a, 0x822, 0x745, 0x822, 0x745, 0x6dc, 0x61b, -0x6dc, 0x61b, 0x57b, 0x4d6, 0x57b, 0x4d6, 0x43a, 0x3b0, 0x43a, 0x3b0, 0x30a, -0x299, 0x30a, 0x299, 0x1d3, 0x17b, 0x1d3, 0x17b, 0x1d3, 0x17b, 0xee, 0xae, -0xee, 0xae, 0xeb, 0xc2, 0xeb, 0xc2, 0xb4, 0xa1, 0xb4, 0xa1, 0xff95, -0xff96, 0xff95, 0xff96, 0xfe82, 0xfe97, 0xfe82, 0xfe97, 0xfe4f, 0xfe78, 0xfe4f, 0xfe78, -0xfe4f, 0xfe78, 0xfdbc, 0xfdf6, 0xfdbc, 0xfdf6, 0xfd1b, 0xfd66, 0xfd1b, 0xfd66, 0xfc4f, -0xfcab, 0xfc4f, 0xfcab, 0xfb7e, 0xfbea, 0xfb7e, 0xfbea, 0xfb22, 0xfb9d, 0xfb22, 0xfb9d, -0xfb22, 0xfb9d, 0xf9c7, 0xfa51, 0xf9c7, 0xfa51, 0xfa27, 0xfac1, 0xfa27, 0xfac1, 0xfb06, -0xfbae, 0xfb06, 0xfbae, 0xfa5a, 0xfb12, 0xfa5a, 0xfb12, 0xf994, 0xfa5c, 0xf994, 0xfa5c, -0xf88b, 0xf962, 0xf88b, 0xf962, 0xf88b, 0xf962, 0xf762, 0xf84a, 0xf762, 0xf84a, 0xf63c, -0xf735, 0xf63c, 0xf735, 0xf639, 0xf743, 0xf639, 0xf743, 0xf626, 0xf742, 0xf626, 0xf742, -0xf652, 0xf780, 0xf652, 0xf780, 0xf69a, 0xf7db, 0xf69a, 0xf7db, 0xf69a, 0xf7db, 0xf679, -0xf7cd, 0xf679, 0xf7cd, 0xf6ac, 0xf813, 0xf6ac, 0xf813, 0xf5be, 0xf739, 0xf5be, 0xf739, -0xf5cc, 0xf75a, 0xf5cc, 0xf75a, 0xf6f1, 0xf892, 0xf6f1, 0xf892, 0xf6f1, 0xf892, 0xf6e7, -0xf89a, 0xf6e7, 0xf89a, 0xf6d6, 0xf89c, 0xf6d6, 0xf89c, 0xf7c8, 0xf99f, 0xf7c8, 0xf99f, -0xf853, 0xfa3a, 0xf853, 0xfa3a, 0xf7d8, 0xf9cf, 0xf7d8, 0xf9cf, 0xf77f, 0xf984, 0xf77f, -0xf984, 0xf77f, 0xf984, 0xf754, 0xf966, 0xf754, 0xf966, 0xf67b, 0xf897, 0xf67b, 0xf897, -0xf506, 0xf72c, 0xf506, 0xf72c, 0xf36e, 0xf59d, 0xf36e, 0xf59d, 0xf28d, 0xf4c3, 0xf28d, -0xf4c3, 0xf2e7, 0xf523, 0xf2e7, 0xf523, 0xf2e7, 0xf523, 0xf34b, 0xf58c, 0xf34b, 0xf58c, -0xf483, 0xf6c7, 0xf483, 0xf6c7, 0xf544, 0xf78a, 0xf544, 0xf78a, 0xf4a7, 0xf6f0, 0xf4a7, -0xf6f0, 0xf4d1, 0xf71c, 0xf4d1, 0xf71c, 0xf4d1, 0xf71c, 0xf449, 0xf696, 0xf449, 0xf696, -0xf30b, 0xf559, 0xf30b, 0xf559, 0xf26b, 0xf4bc, 0xf26b, 0xf4bc, 0xf212, 0xf466, 0xf212, -0xf466, 0xf1c0, 0xf418, 0xf1c0, 0xf418, 0xf1a1, 0xf3ff, 0xf1a1, 0xf3ff, 0xf1a1, 0xf3ff, -0xf1b6, 0xf41a, 0xf1b6, 0xf41a, 0xf1b5, 0xf422, 0xf1b5, 0xf422, 0xf139, 0xf3b1, 0xf139, -0xf3b1, 0xf064, 0xf2e9, 0xf064, 0xf2e9, 0xef57, 0xf1eb, 0xef57, 0xf1eb, 0xeda7, 0xf04c, -0xeda7, 0xf04c, 0xeda7, 0xf04c, 0xed25, 0xefdd, 0xed25, 0xefdd, 0xec6c, 0xef3a, 0xec6c, -0xef3a, 0xea8f, 0xed75, 0xea8f, 0xed75, 0xe9b0, 0xecaf, 0xe9b0, 0xecaf, 0xe8da, 0xebf3, -0xe8da, 0xebf3, 0xe8da, 0xebf3, 0xe95b, 0xec8f, 0xe95b, 0xec8f, 0xe9db, 0xed2b, 0xe9db, -0xed2b, 0xe8ac, 0xec19, 0xe8ac, 0xec19, 0xe82a, 0xebb3, 0xe82a, 0xebb3, 0xe7f2, 0xeb97, -0xe7f2, 0xeb97, 0xe7ad, 0xeb6c, 0xe7ad, 0xeb6c, 0xe7ad, 0xeb6c, 0xe64f, 0xea27, 0xe64f, -0xea27, 0xe4e3, 0xe8d1, 0xe4e3, 0xe8d1, 0xe461, 0xe862, 0xe461, 0xe862, 0xe3ee, 0xe801, -0xe3ee, 0xe801, 0xe40e, 0xe82e, 0xe40e, 0xe82e, 0xe376, 0xe79f, 0xe376, 0xe79f, 0xe376, -0xe79f, 0xe2f2, 0xe721, 0xe2f2, 0xe721, 0xe2e9, 0xe719, 0xe2e9, 0xe719, 0xe298, 0xe6c5, -0xe298, 0xe6c5, 0xe2e3, 0xe707, 0xe2e3, 0xe707, 0xe2c0, 0xe6d8, 0xe2c0, 0xe6d8, 0xe2c0, -0xe6d8, 0xe27b, 0xe681, 0xe27b, 0xe681, 0xe3bf, 0xe7b0, 0xe3bf, 0xe7b0, 0xe4a7, 0xe87f, -0xe4a7, 0xe87f, 0xe4ba, 0xe875, 0xe4ba, 0xe875, 0xe4f3, 0xe88e, 0xe4f3, 0xe88e, 0xe45b, -0xe7d2, 0xe45b, 0xe7d2, 0xe45b, 0xe7d2, 0xe4ad, 0xe7fe, 0xe4ad, 0xe7fe, 0xe605, 0xe92f, -0xe605, 0xe92f, 0xe6a2, 0xe9a4, 0xe6a2, 0xe9a4, 0xe6e3, 0xe9bc, 0xe6e3, 0xe9bc, 0xe72f, -0xe9df, 0xe72f, 0xe9df, 0xe7b4, 0xea3c, 0xe7b4, 0xea3c, 0xe7b4, 0xea3c, 0xe835, 0xea97, -0xe835, 0xea97, 0xe8b5, 0xeaf2, 0xe8b5, 0xeaf2, 0xe906, 0xeb22, 0xe906, 0xeb22, 0xe8a8, -0xeaa6, 0xe8a8, 0xeaa6, 0xe819, 0xe9fd, 0xe819, 0xe9fd, 0xe819, 0xe9fd, 0xe81d, 0xe9e9, -0xe81d, 0xe9e9, 0xe819, 0xe9d4, 0xe819, 0xe9d4, 0xe845, 0xe9f2, 0xe845, 0xe9f2, 0xe955, -0xeaf9, 0xe955, 0xeaf9, 0xeb09, 0xeca9, 0xeb09, 0xeca9, 0xecee, 0xee8f, 0xecee, 0xee8f, -0xecee, 0xee8f, 0xedde, 0xef83, 0xedde, 0xef83, 0xee1a, 0xefc9, 0xee1a, 0xefc9, 0xeea3, -0xf05e, 0xeea3, 0xf05e, 0xee65, 0xf031, 0xee65, 0xf031, 0xedbe, 0xef9c, 0xedbe, 0xef9c, -0xedbe, 0xef9c, 0xee2c, 0xf01f, 0xee2c, 0xf01f, 0xee7b, 0xf083, 0xee7b, 0xf083, 0xee2a, -0xf049, 0xee2a, 0xf049, 0xee56, 0xf08b, 0xee56, 0xf08b, 0xef10, 0xf15a, 0xef10, 0xf15a, -0xef8e, 0xf1eb, 0xef8e, 0xf1eb, 0xef8e, 0xf1eb, 0xefe9, 0xf256, 0xefe9, 0xf256, 0xf0b1, -0xf32b, 0xf0b1, 0xf32b, 0xf1c1, 0xf444, 0xf1c1, 0xf444, 0xf288, 0xf50f, 0xf288, 0xf50f, -0xf2dd, 0xf562, 0xf2dd, 0xf562, 0xf29d, 0xf51b, 0xf29d, 0xf51b, 0xf29d, 0xf51b, 0xf2cf, -0xf540, 0xf2cf, 0xf540, 0xf353, 0xf5b0, 0xf353, 0xf5b0, 0xf25e, 0xf4a1, 0xf25e, 0xf4a1, -0xf2e0, 0xf502, 0xf2e0, 0xf502, 0xf350, 0xf54b, 0xf350, 0xf54b, 0xf350, 0xf54b, 0xf344, -0xf513, 0xf344, 0xf513, 0xf49f, 0xf63b, 0xf49f, 0xf63b, 0xf4d0, 0xf634, 0xf4d0, 0xf634, -0xf652, 0xf77a, 0xf652, 0xf77a, 0xf7f3, 0xf8dc, 0xf7f3, 0xf8dc, 0xf9f6, 0xfa9c, 0xf9f6, -0xfa9c, 0xf9f6, 0xfa9c, 0xfcb3, 0xfd13, 0xfcb3, 0xfd13, 0xfe3c, 0xfe57, 0xfe3c, 0xfe57, -0x9, 0xffdc, 0x9, 0xffdc, 0x1b7, 0x144, 0x1b7, 0x144, 0x439, 0x380, 0x439, -0x380, 0x52c, 0x42f, 0x52c, 0x42f, 0x52c, 0x42f, 0x58c, 0x44e, 0x58c, 0x44e, -0x78a, 0x60f, 0x78a, 0x60f, 0x9b1, 0x7fc, 0x9b1, 0x7fc, 0xcb3, 0xac8, 0xcb3, -0xac8, 0xf34, 0xd19, 0xf34, 0xd19, 0xf34, 0xd19, 0x10e7, 0xea0, 0x10e7, 0xea0, -0x1256, 0xfe9, 0x1256, 0xfe9, 0x1338, 0x10aa, 0x1338, 0x10aa, 0x13d3, 0x1129, 0x13d3, -0x1129, 0x146d, 0x11ad, 0x146d, 0x11ad, 0x150f, 0x123d, 0x150f, 0x123d, 0x150f, 0x123d, -0x15d5, 0x12f7, 0x15d5, 0x12f7, 0x16c8, 0x13e1, 0x16c8, 0x13e1, 0x1779, 0x148e, 0x1779, -0x148e, 0x17f1, 0x1506, 0x17f1, 0x1506, 0x1818, 0x152f, 0x1818, 0x152f, 0x182c, 0x1548, -0x182c, 0x1548, 0x182c, 0x1548, 0x17ff, 0x1522, 0x17ff, 0x1522, 0x16bf, 0x13ec, 0x16bf, -0x13ec, 0x156a, 0x12a0, 0x156a, 0x12a0, 0x1423, 0x1164, 0x1423, 0x1164, 0x1335, 0x1081, -0x1335, 0x1081, 0x1335, 0x1081, 0x125c, 0xfb4, 0x125c, 0xfb4, 0x10dd, 0xe40, 0x10dd, -0xe40, 0x10e8, 0xe56, 0x10e8, 0xe56, 0x10bc, 0xe33, 0x10bc, 0xe33, 0x105e, 0xddf, -0x105e, 0xddf, 0x1126, 0xeb0, 0x1126, 0xeb0, 0x1126, 0xeb0, 0x115f, 0xef1, 0x115f, -0xef1, 0x115c, 0xef5, 0x115c, 0xef5, 0x115a, 0xefa, 0x115a, 0xefa, 0x121d, 0xfc5, -0x121d, 0xfc5, 0x11a1, 0xf50, 0x11a1, 0xf50, 0x10dc, 0xe92, 0x10dc, 0xe92, 0x10dc, -0xe92, 0x119e, 0xf5b, 0x119e, 0xf5b, 0x1159, 0xf20, 0x1159, 0xf20, 0x10f7, 0xec7, -0x10f7, 0xec7, 0x10d7, 0xeb3, 0x10d7, 0xeb3, 0x1052, 0xe3b, 0x1052, 0xe3b, 0x1052, -0xe3b, 0x104c, 0xe43, 0x104c, 0xe43, 0x1085, 0xe8c, 0x1085, 0xe8c, 0x1033, 0xe4d, -0x1033, 0xe4d, 0xfa3, 0xdd1, 0xfa3, 0xdd1, 0xeb0, 0xcf4, 0xeb0, 0xcf4, 0xdc8, -0xc25, 0xdc8, 0xc25, 0xdc8, 0xc25, 0xd77, 0xbee, 0xd77, 0xbee, 0xcc7, 0xb59, -0xcc7, 0xb59, 0xb70, 0xa1f, 0xb70, 0xa1f, 0xa14, 0x8e0, 0xa14, 0x8e0, 0x963, -0x84c, 0x963, 0x84c, 0x91a, 0x821, 0x91a, 0x821, 0x91a, 0x821, 0x80a, 0x72f, -0x80a, 0x72f, 0x63f, 0x581, 0x63f, 0x581, 0x59e, 0x4fb, 0x59e, 0x4fb, 0x5b0, -0x527, 0x5b0, 0x527, 0x574, 0x503, 0x574, 0x503, 0x574, 0x503, 0x527, 0x4cb, -0x527, 0x4cb, 0x443, 0x3fa, 0x443, 0x3fa, 0x32c, 0x2f3, 0x32c, 0x2f3, 0x2f3, -0x2c6, 0x2f3, 0x2c6, 0x321, 0x2fd, 0x321, 0x2fd, 0x238, 0x21b, 0x238, 0x21b, -0x238, 0x21b, 0x12b, 0x111, 0x12b, 0x111, 0xe6, 0xcc, 0xe6, 0xcc, 0xfa, -0xde, 0xfa, 0xde, 0x9a, 0x79, 0x9a, 0x79, 0xff70, 0xff48, 0xff70, 0xff48, -0xfe99, 0xfe68, 0xfe99, 0xfe68, 0xfe99, 0xfe68, 0xfdc9, 0xfd8d, 0xfdc9, 0xfd8d, 0xfd4f, -0xfd08, 0xfd4f, 0xfd08, 0xfda9, 0xfd57, 0xfda9, 0xfd57, 0xfd52, 0xfcf4, 0xfd52, 0xfcf4, -0xfcb3, 0xfc4a, 0xfcb3, 0xfc4a, 0xfcb3, 0xfc4a, 0xfc03, 0xfb90, 0xfc03, 0xfb90, 0xfba0, -0xfb23, 0xfba0, 0xfb23, 0xfc48, 0xfbc3, 0xfc48, 0xfbc3, 0xfbf5, 0xfb69, 0xfbf5, 0xfb69, -0xfbd4, 0xfb44, 0xfbd4, 0xfb44, 0xfc85, 0xfbf1, 0xfc85, 0xfbf1, 0xfc85, 0xfbf1, 0xfd20, -0xfc8c, 0xfd20, 0xfc8c, 0xfe05, 0xfd72, 0xfe05, 0xfd72, 0xfe46, 0xfdb5, 0xfe46, 0xfdb5, -0xfe77, 0xfdea, 0xfe77, 0xfdea, 0xff1b, 0xfe93, 0xff1b, 0xfe93, 0x59, 0xffd7, 0x59, -0xffd7, 0x59, 0xffd7, 0x7c, 0, 0x7c, 0, 0xffd3, 0xff5e, 0xffd3, 0xff5e, -0xffec, 0xff7d, 0xffec, 0xff7d, 0xffd4, 0xff6a, 0xffd4, 0xff6a, 0xa, 0xffa4, 0xa, -0xffa4, 0xa, 0xffa4, 0x2d, 0xffca, 0x2d, 0xffca, 0x8c, 0x2a, 0x8c, 0x2a, -0xc3, 0x60, 0xc3, 0x60, 0x1b7, 0x14f, 0x1b7, 0x14f, 0x37a, 0x30c, 0x37a, -0x30c, 0x422, 0x3a9, 0x422, 0x3a9, 0x422, 0x3a9, 0x4e2, 0x45c, 0x4e2, 0x45c, -0x4de, 0x449, 0x4de, 0x449, 0x56e, 0x4c5, 0x56e, 0x4c5, 0x5d4, 0x514, 0x5d4, -0x514, 0x4ca, 0x3f1, 0x4ca, 0x3f1, 0x4f6, 0x401, 0x4f6, 0x401, 0x4f6, 0x401, -0x4e6, 0x3d2, 0x4e6, 0x3d2, 0x62a, 0x4f5, 0x62a, 0x4f5, 0x867, 0x70f, 0x867, -0x70f, 0x9d9, 0x85d, 0x9d9, 0x85d, 0xb68, 0x9c6, 0xb68, 0x9c6, 0xb68, 0x9c6, -0xc0a, 0xa42, 0xc0a, 0xa42, 0xd56, 0xb67, 0xd56, 0xb67, 0xe99, 0xc84, 0xe99, -0xc84, 0xf52, 0xd17, 0xf52, 0xd17, 0x1096, 0xe35, 0x1096, 0xe35, 0x1213, 0xf8e, -0x1213, 0xf8e, 0x1213, 0xf8e, 0x13a3, 0x10fc, 0x13a3, 0x10fc, 0x148e, 0x11c6, 0x148e, -0x11c6, 0x1609, 0x1322, 0x1609, 0x1322, 0x17df, 0x14dd, 0x17df, 0x14dd, 0x18a0, 0x1584, -0x18a0, 0x1584, 0x18a0, 0x1584, 0x1872, 0x153e, 0x1872, 0x153e, 0x18ca, 0x1582, 0x18ca, -0x1582, 0x1973, 0x161a, 0x1973, 0x161a, 0x198b, 0x1622, 0x198b, 0x1622, 0x1955, 0x15e1, -0x1955, 0x15e1, 0x189f, 0x1522, 0x189f, 0x1522, 0x189f, 0x1522, 0x1902, 0x157e, 0x1902, -0x157e, 0x1917, 0x158f, 0x1917, 0x158f, 0x1979, 0x15f0, 0x1979, 0x15f0, 0x1ade, 0x1756, -0x1ade, 0x1756, 0x1ab5, 0x1730, 0x1ab5, 0x1730, 0x1b26, 0x17a5, 0x1b26, 0x17a5, 0x1b26, -0x17a5, 0x1b2a, 0x17b0, 0x1b2a, 0x17b0, 0x1b0c, 0x179a, 0x1b0c, 0x179a, 0x19cb, 0x1663, -0x19cb, 0x1663, 0x170d, 0x13af, 0x170d, 0x13af, 0x174f, 0x13fd, 0x174f, 0x13fd, 0x174f, -0x13fd, 0x166b, 0x1326, 0x166b, 0x1326, 0x157d, 0x1247, 0x157d, 0x1247, 0x15a1, 0x1279, -0x15a1, 0x1279, 0x1456, 0x113d, 0x1456, 0x113d, 0x13f8, 0x10f0, 0x13f8, 0x10f0, 0x138d, -0x1096, 0x138d, 0x1096, 0x138d, 0x1096, 0x13c7, 0x10e2, 0x13c7, 0x10e2, 0x13c4, 0x10f1, -0x13c4, 0x10f1, 0x1318, 0x1059, 0x1318, 0x1059, 0x1269, 0xfbf, 0x1269, 0xfbf, 0x1105, -0xe70, 0x1105, 0xe70, 0x101c, 0xd9e, 0x101c, 0xd9e, 0x101c, 0xd9e, 0xf97, 0xd31, -0xf97, 0xd31, 0xf5d, 0xd10, 0xf5d, 0xd10, 0xf78, 0xd46, 0xf78, 0xd46, 0xf96, -0xd80, 0xf96, 0xd80, 0xeef, 0xcf6, 0xeef, 0xcf6, 0xeef, 0xcf6, 0xf0a, 0xd30, -0xf0a, 0xd30, 0xf5c, 0xda1, 0xf5c, 0xda1, 0xea8, 0xd0e, 0xea8, 0xd0e, 0xdfc, -0xc85, 0xdfc, 0xc85, 0xcad, 0xb5a, 0xcad, 0xb5a, 0xbdf, 0xab0, 0xbdf, 0xab0, -0xbdf, 0xab0, 0xae6, 0x9dc, 0xae6, 0x9dc, 0x969, 0x884, 0x969, 0x884, 0x8cb, -0x80c, 0x8cb, 0x80c, 0x772, 0x6d7, 0x772, 0x6d7, 0x5ae, 0x538, 0x5ae, 0x538, -0x4ae, 0x45c, 0x4ae, 0x45c, 0x4ae, 0x45c, 0x3ea, 0x3bb, 0x3ea, 0x3bb, 0x3a1, -0x393, 0x3a1, 0x393, 0x2ce, 0x2e0, 0x2ce, 0x2e0, 0x168, 0x199, 0x168, 0x199, -0x71, 0xbe, 0x71, 0xbe, 0x71, 0xbe, 0xffb7, 0x1f, 0xffb7, 0x1f, 0xff45, -0xffc5, 0xff45, 0xffc5, 0xfe75, 0xff0c, 0xfe75, 0xff0c, 0xfd95, 0xfe42, 0xfd95, 0xfe42, -0xfd06, 0xfdc6, 0xfd06, 0xfdc6, 0xfd4b, 0xfe1d, 0xfd4b, 0xfe1d, 0xfd4b, 0xfe1d, 0xfddc, -0xfebf, 0xfddc, 0xfebf, 0xfdac, 0xfe9e, 0xfdac, 0xfe9e, 0xfcec, 0xfded, 0xfcec, 0xfded, -0xfc86, 0xfd95, 0xfc86, 0xfd95, 0xfc7d, 0xfd9a, 0xfc7d, 0xfd9a, 0xfb95, 0xfcc1, 0xfb95, -0xfcc1, 0xfb95, 0xfcc1, 0xfa83, 0xfbbd, 0xfa83, 0xfbbd, 0xf8cd, 0xfa16, 0xf8cd, 0xfa16, -0xf7db, 0xf934, 0xf7db, 0xf934, 0xf82c, 0xf996, 0xf82c, 0xf996, 0xf78b, 0xf906, 0xf78b, -0xf906, 0xf78b, 0xf906, 0xf6ab, 0xf838, 0xf6ab, 0xf838, 0xf6f8, 0xf89a, 0xf6f8, 0xf89a, -0xf806, 0xf9bc, 0xf806, 0xf9bc, 0xf7ee, 0xf9b9, 0xf7ee, 0xf9b9, 0xf7e0, 0xf9c1, 0xf7e0, -0xf9c1, 0xf7a4, 0xf99c, 0xf7a4, 0xf99c, 0xf7a4, 0xf99c, 0xf756, 0xf963, 0xf756, 0xf963, -0xf7f2, 0xfa15, 0xf7f2, 0xfa15, 0xf7e1, 0xfa19, 0xf7e1, 0xfa19, 0xf752, 0xf99d, 0xf752, -0xf99d, 0xf6b9, 0xf916, 0xf6b9, 0xf916, 0xf650, 0xf8bd, 0xf650, 0xf8bd, 0xf650, 0xf8bd, -0xf553, 0xf7cf, 0xf553, 0xf7cf, 0xf3f3, 0xf67a, 0xf3f3, 0xf67a, 0xf313, 0xf5a4, 0xf313, -0xf5a4, 0xf256, 0xf4ee, 0xf256, 0xf4ee, 0xf247, 0xf4e4, 0xf247, 0xf4e4, 0xf247, 0xf4e4, -0xf308, 0xf5a7, 0xf308, 0xf5a7, 0xf381, 0xf61f, 0xf381, 0xf61f, 0xf3a5, 0xf641, 0xf3a5, -0xf641, 0xf365, 0xf5fd, 0xf365, 0xf5fd, 0xf2a0, 0xf532, 0xf2a0, 0xf532, 0xf21f, 0xf4ab, -0xf21f, 0xf4ab, 0xf21f, 0xf4ab, 0xf100, 0xf385, 0xf100, 0xf385, 0xf019, 0xf297, 0xf019, -0xf297, 0xefef, 0xf265, 0xefef, 0xf265, 0xefa0, 0xf210, 0xefa0, 0xf210, 0xefb7, 0xf223, -0xefb7, 0xf223, 0xef11, 0xf17a, 0xef11, 0xf17a, 0xef11, 0xf17a, 0xee7c, 0xf0e3, 0xee7c, -0xf0e3, 0xee7e, 0xf0e5, 0xee7e, 0xf0e5, 0xedfb, 0xf066, 0xedfb, 0xf066, 0xed56, 0xefc6, -0xed56, 0xefc6, 0xec0f, 0xee88, 0xec0f, 0xee88, 0xec0f, 0xee88, 0xead0, 0xed53, 0xead0, -0xed53, 0xe980, 0xec0f, 0xe980, 0xec0f, 0xe7da, 0xea77, 0xe7da, 0xea77, 0xe708, 0xe9b5, -0xe708, 0xe9b5, 0xe68b, 0xe94a, 0xe68b, 0xe94a, 0xe647, 0xe917, 0xe647, 0xe917, 0xe647, -0xe917, 0xe6d8, 0xe9ba, 0xe6d8, 0xe9ba, 0xe776, 0xea6a, 0xe776, 0xea6a, 0xe749, 0xea4f, -0xe749, 0xea4f, 0xe719, 0xea2e, 0xe719, 0xea2e, 0xe619, 0xe93d, 0xe619, 0xe93d, 0xe4c3, -0xe7f3, 0xe4c3, 0xe7f3, 0xe4c3, 0xe7f3, 0xe390, 0xe6cb, 0xe390, 0xe6cb, 0xe249, 0xe58d, -0xe249, 0xe58d, 0xe288, 0xe5d1, 0xe288, 0xe5d1, 0xe1ee, 0xe53a, 0xe1ee, 0xe53a, 0xe13c, -0xe488, 0xe13c, 0xe488, 0xe13c, 0xe488, 0xe196, 0xe4e0, 0xe196, 0xe4e0, 0xe160, 0xe4a5, -0xe160, 0xe4a5, 0xe1d0, 0xe50e, 0xe1d0, 0xe50e, 0xe24d, 0xe582, 0xe24d, 0xe582, 0xe2e5, -0xe610, 0xe2e5, 0xe610, 0xe36a, 0xe689, 0xe36a, 0xe689, 0xe36a, 0xe689, 0xe351, 0xe664, -0xe351, 0xe664, 0xe38d, 0xe692, 0xe38d, 0xe692, 0xe35a, 0xe652, 0xe35a, 0xe652, 0xe322, -0xe60b, 0xe322, 0xe60b, 0xe3de, 0xe6b9, 0xe3de, 0xe6b9, 0xe492, 0xe760, 0xe492, 0xe760, -0xe492, 0xe760, 0xe60a, 0xe8cb, 0xe60a, 0xe8cb, 0xe761, 0xea15, 0xe761, 0xea15, 0xe782, -0xea2b, 0xe782, 0xea2b, 0xe811, 0xeaae, 0xe811, 0xeaae, 0xe879, 0xeb0c, 0xe879, 0xeb0c, -0xe879, 0xeb0c, 0xe915, 0xeb9c, 0xe915, 0xeb9c, 0xe9d8, 0xec56, 0xe9d8, 0xec56, 0xea4d, -0xecc0, 0xea4d, 0xecc0, 0xea9d, 0xed06, 0xea9d, 0xed06, 0xea86, 0xece4, 0xea86, 0xece4, -0xeaf5, 0xed48, 0xeaf5, 0xed48, 0xeaf5, 0xed48, 0xebd6, 0xee1e, 0xebd6, 0xee1e, 0xeca2, -0xeedf, 0xeca2, 0xeedf, 0xed8a, 0xefbb, 0xed8a, 0xefbb, 0xee1c, 0xf041, 0xee1c, 0xf041, -0xeed6, 0xf0ee, 0xeed6, 0xf0ee, 0xeed6, 0xf0ee, 0xf08a, 0xf295, 0xf08a, 0xf295, 0xf169, -0xf366, 0xf169, 0xf366, 0xf1c5, 0xf3b6, 0xf1c5, 0xf3b6, 0xf226, 0xf40a, 0xf226, 0xf40a, -0xf2d5, 0xf4ad, 0xf2d5, 0xf4ad, 0xf3de, 0xf5ab, 0xf3de, 0xf5ab, 0xf3de, 0xf5ab, 0xf418, -0xf5da, 0xf418, 0xf5da, 0xf446, 0xf5fe, 0xf446, 0xf5fe, 0xf493, 0xf642, 0xf493, 0xf642, -0xf601, 0xf7a9, 0xf601, 0xf7a9, 0xf6a5, 0xf846, 0xf6a5, 0xf846, 0xf6a1, 0xf83d, 0xf6a1, -0xf83d, 0xf6a1, 0xf83d, 0xf758, 0xf8ee, 0xf758, 0xf8ee, 0xf7f9, 0xf98a, 0xf7f9, 0xf98a, -0xf8ec, 0xfa78, 0xf8ec, 0xfa78, 0xf845, 0xf9cb, 0xf845, 0xf9cb, 0xf7d2, 0xf951, 0xf7d2, -0xf951, 0xf7d2, 0xf951, 0xf7ac, 0xf922, 0xf7ac, 0xf922, 0xf738, 0xf8a3, 0xf738, 0xf8a3, -0xf75c, 0xf8b8, 0xf75c, 0xf8b8, 0xf75f, 0xf8aa, 0xf75f, 0xf8aa, 0xf7ea, 0xf91f, 0xf7ea, -0xf91f, 0xf840, 0xf95a, 0xf840, 0xf95a, 0xf840, 0xf95a, 0xf8ad, 0xf9a8, 0xf8ad, 0xf9a8, -0xf8f3, 0xf9c9, 0xf8f3, 0xf9c9, 0xf994, 0xfa3f, 0xf994, 0xfa3f, 0xfab0, 0xfb2b, 0xfab0, -0xfb2b, 0xfc04, 0xfc4b, 0xfc04, 0xfc4b, 0xfe6a, 0xfe77, 0xfe6a, 0xfe77, 0xfe6a, 0xfe77, -0xcb, 0x9a, 0xcb, 0x9a, 0x316, 0x2a2, 0x316, 0x2a2, 0x54f, 0x497, 0x54f, -0x497, 0x718, 0x61a, 0x718, 0x61a, 0x866, 0x721, 0x866, 0x721, 0x866, 0x721, -0x9fd, 0x871, 0x9fd, 0x871, 0xb5c, 0x98a, 0xb5c, 0x98a, 0xc51, 0xa3d, 0xc51, -0xa3d, 0xd90, 0xb3e, 0xd90, 0xb3e, 0xf3c, 0xcb0, 0xf3c, 0xcb0, 0x1132, 0xe73, -0x1132, 0xe73, 0x1132, 0xe73, 0x11ee, 0xf03, 0x11ee, 0xf03, 0x12d0, 0xfc1, 0x12d0, -0xfc1, 0x1419, 0x10ee, 0x1419, 0x10ee, 0x1547, 0x1209, 0x1547, 0x1209, 0x15f0, 0x12a9, -0x15f0, 0x12a9, 0x152c, 0x11e5, 0x152c, 0x11e5, 0x152c, 0x11e5, 0x153c, 0x11fd, 0x153c, -0x11fd, 0x159d, 0x126e, 0x159d, 0x126e, 0x15d3, 0x12bc, 0x15d3, 0x12bc, 0x1641, 0x1349, -0x1641, 0x1349, 0x15ff, 0x132c, 0x15ff, 0x132c, 0x15ff, 0x132c, 0x15e0, 0x1336, 0x15e0, -0x1336, 0x154e, 0x12d1, 0x154e, 0x12d1, 0x13e5, 0x1197, 0x13e5, 0x1197, 0x1296, 0x1079, -0x1296, 0x1079, 0x110c, 0xf1e, 0x110c, 0xf1e, 0xfe6, 0xe25, 0xfe6, 0xe25, 0xfe6, -0xe25, 0xe80, 0xceb, 0xe80, 0xceb, 0xd1d, 0xbb0, 0xd1d, 0xbb0, 0xcfe, 0xbb4, -0xcfe, 0xbb4, 0xc7f, 0xb53, 0xc7f, 0xb53, 0xc6d, 0xb5a, 0xc6d, 0xb5a, 0xca2, -0xba2, 0xca2, 0xba2, 0xca2, 0xba2, 0xc4a, 0xb57, 0xc4a, 0xb57, 0xb16, 0xa2b, -0xb16, 0xa2b, 0xa28, 0x93f, 0xa28, 0x93f, 0xaa4, 0x9b9, 0xaa4, 0x9b9, 0xa57, -0x965, 0xa57, 0x965, 0xa57, 0x965, 0xa32, 0x937, 0xa32, 0x937, 0xa4f, 0x948, -0xa4f, 0x948, 0xb02, 0x9ed, 0xb02, 0x9ed, 0xb8d, 0xa69, 0xb8d, 0xa69, 0xb72, -0xa40, 0xb72, 0xa40, 0xb78, 0xa38, 0xb78, 0xa38, 0xb78, 0xa38, 0xa12, 0x8c7, -0xa12, 0x8c7, 0x92d, 0x7d8, 0x92d, 0x7d8, 0x8c0, 0x765, 0x8c0, 0x765, 0x821, -0x6c2, 0x821, 0x6c2, 0x7a5, 0x646, 0x7a5, 0x646, 0x75f, 0x603, 0x75f, 0x603, -0x75f, 0x603, 0x6a2, 0x54e, 0x6a2, 0x54e, 0x5b8, 0x46d, 0x5b8, 0x46d, 0x54f, -0x412, 0x54f, 0x412, 0x460, 0x332, 0x460, 0x332, 0x3ef, 0x2d3, 0x3ef, 0x2d3, -0x3ef, 0x2d3, 0x2c7, 0x1be, 0x2c7, 0x1be, 0x1ef, 0xf9, 0x1ef, 0xf9, 0x1c2, -0xe0, 0x1c2, 0xe0, 0x15f, 0x90, 0x15f, 0x90, 0x149, 0x8c, 0x149, 0x8c, -0xa9, 0xfffc, 0xa9, 0xfffc, 0xa9, 0xfffc, 0x86, 0xffe8, 0x86, 0xffe8, 0xfff3, -0xff61, 0xfff3, 0xff61, 0xff55, 0xfecd, 0xff55, 0xfecd, 0xff07, 0xfe87, 0xff07, 0xfe87, -0xfeaa, 0xfe2f, 0xfeaa, 0xfe2f, 0xfe40, 0xfdc8, 0xfe40, 0xfdc8, 0xfe40, 0xfdc8, 0xfd5c, -0xfce6, 0xfd5c, 0xfce6, 0xfd23, 0xfcac, 0xfd23, 0xfcac, 0xfcf3, 0xfc7a, 0xfcf3, 0xfc7a, -0xfc97, 0xfc1b, 0xfc97, 0xfc1b, 0xfc23, 0xfba4, 0xfc23, 0xfba4, 0xfc23, 0xfba4, 0xfb97, -0xfb16, 0xfb97, 0xfb16, 0xfb36, 0xfab2, 0xfb36, 0xfab2, 0xfb10, 0xfa8b, 0xfb10, 0xfa8b, -0xfb36, 0xfab2, 0xfb36, 0xfab2, 0xfaa7, 0xfa25, 0xfaa7, 0xfa25, 0xfa22, 0xf9a3, 0xfa22, -0xf9a3, 0xfa22, 0xf9a3, 0xfae2, 0xfa69, 0xfae2, 0xfa69, 0xfc23, 0xfbb2, 0xfc23, 0xfbb2, -0xfcdd, 0xfc76, 0xfcdd, 0xfc76, 0xfcd7, 0xfc7c, 0xfcd7, 0xfc7c, 0xfd65, 0xfd16, 0xfd65, -0xfd16, 0xfde5, 0xfda4, 0xfde5, 0xfda4, 0xfde5, 0xfda4, 0xfd8e, 0xfd5b, 0xfd8e, 0xfd5b, -0xfe52, 0xfe2d, 0xfe52, 0xfe2d, 0xfec1, 0xfeaa, 0xfec1, 0xfeaa, 0xfed7, 0xfecc, 0xfed7, -0xfecc, 0xff8a, 0xff8a, 0xff8a, 0xff8a, 0xff8a, 0xff8a, 0xffde, 0xffe7, 0xffde, 0xffe7, -0x7d, 0x8b, 0x7d, 0x8b, 0xbd, 0xce, 0xbd, 0xce, 0xf3, 0x104, 0xf3, -0x104, 0x1b4, 0x1c1, 0x1b4, 0x1c1, 0x2e8, 0x2ed, 0x2e8, 0x2ed, 0x2e8, 0x2ed, -0x375, 0x36e, 0x375, 0x36e, 0x322, 0x30c, 0x322, 0x30c, 0x36b, 0x342, 0x36b, -0x342, 0x462, 0x424, 0x462, 0x424, 0x602, 0x5ab, 0x602, 0x5ab, 0x6a4, 0x632, -0x6a4, 0x632, 0x6a4, 0x632, 0x752, 0x6c1, 0x752, 0x6c1, 0x894, 0x7e5, 0x894, -0x7e5, 0x8e8, 0x818, 0x8e8, 0x818, 0x90b, 0x81b, 0x90b, 0x81b, 0x8e1, 0x7d0, -0x8e1, 0x7d0, 0x8e1, 0x7d0, 0x8d7, 0x7a6, 0x8d7, 0x7a6, 0x984, 0x833, 0x984, -0x833, 0xb03, 0x993, 0xb03, 0x993, 0xc44, 0xab7, 0xc44, 0xab7, 0xd49, 0xba2, -0xd49, 0xba2, 0xe59, 0xc9a, 0xe59, 0xc9a, 0xe59, 0xc9a, 0xf63, 0xd8e, 0xf63, -0xd8e, 0x1086, 0xe9d, 0x1086, 0xe9d, 0x114a, 0xf51, 0x114a, 0xf51, 0x12c2, 0x10ba, -0x12c2, 0x10ba, 0x1411, 0x11fe, 0x1411, 0x11fe, 0x1411, 0x11fe, 0x15bd, 0x13a0, 0x15bd, -0x13a0, 0x17cd, 0x15a9, 0x17cd, 0x15a9, 0x1998, 0x176f, 0x1998, 0x176f, 0x1ac1, 0x1896, -0x1ac1, 0x1896, 0x1af3, 0x18c7, 0x1af3, 0x18c7, 0x1bae, 0x1984, 0x1bae, 0x1984, 0x1bae, -0x1984, 0x1bf4, 0x19cd, 0x1bf4, 0x19cd, 0x1c31, 0x1a0e, 0x1c31, 0x1a0e, 0x1bd4, 0x19b7, -0x1bd4, 0x19b7, 0x1b4d, 0x1937, 0x1b4d, 0x1937, 0x1b21, 0x1913, 0x1b21, 0x1913, 0x1b16, -0x1910, 0x1b16, 0x1910, 0x1b16, 0x1910, 0x1b72, 0x1975, 0x1b72, 0x1975, 0x1b1c, 0x1929, -0x1b1c, 0x1929, 0x1bbd, 0x19d4, 0x1bbd, 0x19d4, 0x1c43, 0x1a63, 0x1c43, 0x1a63, 0x1c68, -0x1a92, 0x1c68, 0x1a92, 0x1c68, 0x1a92, 0x1b5f, 0x1993, 0x1b5f, 0x1993, 0x195b, 0x1799, -0x195b, 0x1799, 0x179b, 0x15e2, 0x179b, 0x15e2, 0x1642, 0x1492, 0x1642, 0x1492, 0x165f, -0x14b6, 0x165f, 0x14b6, 0x15a1, 0x13ff, 0x15a1, 0x13ff, 0x15a1, 0x13ff, 0x1475, 0x12da, -0x1475, 0x12da, 0x1375, 0x11e0, 0x1375, 0x11e0, 0x12eb, 0x115b, 0x12eb, 0x115b, 0x120d, -0x1080, 0x120d, 0x1080, 0x11db, 0x1051, 0x11db, 0x1051, 0x112f, 0xfa8, 0x112f, 0xfa8, -0x112f, 0xfa8, 0xf69, 0xde3, 0xf69, 0xde3, 0xfda, 0xe57, 0xfda, 0xe57, 0xf61, -0xddf, 0xf61, 0xddf, 0xf1a, 0xd9a, 0xf1a, 0xd9a, 0xdb5, 0xc38, 0xdb5, 0xc38, -0xdb5, 0xc38, 0xca2, 0xb29, 0xca2, 0xb29, 0xcb8, 0xb43, 0xcb8, 0xb43, 0xb97, -0xa28, 0xb97, 0xa28, 0xc33, 0xacd, 0xc33, 0xacd, 0xb2b, 0x9cf, 0xb2b, 0x9cf, -0xadc, 0x98e, 0xadc, 0x98e, 0xadc, 0x98e, 0xb3b, 0x9fd, 0xb3b, 0x9fd, 0xa21, -0x8f5, 0xa21, 0x8f5, 0x9c0, 0x8aa, 0x9c0, 0x8aa, 0x93a, 0x83b, 0x93a, 0x83b, -0x8e0, 0x7fc, 0x8e0, 0x7fc, 0x7fa, 0x734, 0x7fa, 0x734, 0x7fa, 0x734, 0x654, -0x5ad, 0x654, 0x5ad, 0x4fd, 0x478, 0x4fd, 0x478, 0x41e, 0x3bd, 0x41e, 0x3bd, -0x1ee, 0x1b3, 0x1ee, 0x1b3, 0xf8, 0xe2, 0xf8, 0xe2, 0xf8, 0xe2, 0xa2, -0xb2, 0xa2, 0xb2, 0xffdf, 0x14, 0xffdf, 0x14, 0xffa9, 0x4, 0xffa9, 0x4, -0xfd7d, 0xfdfc, 0xfd7d, 0xfdfc, 0xfcb8, 0xfd59, 0xfcb8, 0xfd59, 0xfbe6, 0xfca7, 0xfbe6, -0xfca7, 0xfbe6, 0xfca7, 0xfab0, 0xfb8f, 0xfab0, 0xfb8f, 0xfb15, 0xfc0f, 0xfb15, 0xfc0f, -0xfab0, 0xfbc3, 0xfab0, 0xfbc3, 0xfab5, 0xfbde, 0xfab5, 0xfbde, 0xfaba, 0xfbf6, 0xfaba, -0xfbf6, 0xfacc, 0xfc18, 0xfacc, 0xfc18, 0xfacc, 0xfc18, 0xfaa2, 0xfbfc, 0xfaa2, 0xfbfc, -0xf9a6, 0xfb0b, 0xf9a6, 0xfb0b, 0xf942, 0xfab1, 0xf942, 0xfab1, 0xf8b5, 0xfa2c, 0xf8b5, -0xfa2c, 0xf827, 0xf9a4, 0xf827, 0xf9a4, 0xf827, 0xf9a4, 0xf7c8, 0xf94b, 0xf7c8, 0xf94b, -0xf737, 0xf8be, 0xf737, 0xf8be, 0xf6ed, 0xf879, 0xf6ed, 0xf879, 0xf689, 0xf819, 0xf689, -0xf819, 0xf6c5, 0xf858, 0xf6c5, 0xf858, 0xf673, 0xf80a, 0xf673, 0xf80a, 0xf673, 0xf80a, -0xf5fb, 0xf796, 0xf5fb, 0xf796, 0xf6a3, 0xf841, 0xf6a3, 0xf841, 0xf6ad, 0xf84f, 0xf6ad, -0xf84f, 0xf718, 0xf8bd, 0xf718, 0xf8bd, 0xf6cd, 0xf874, 0xf6cd, 0xf874, 0xf6ae, 0xf857, -0xf6ae, 0xf857, 0xf6ae, 0xf857, 0xf783, 0xf92c, 0xf783, 0xf92c, 0xf7aa, 0xf952, 0xf7aa, -0xf952, 0xf7bc, 0xf961, 0xf7bc, 0xf961, 0xf79f, 0xf93e, 0xf79f, 0xf93e, 0xf7e5, 0xf97c, -0xf7e5, 0xf97c, 0xf7e5, 0xf97c, 0xf74d, 0xf8d9, 0xf74d, 0xf8d9, 0xf69e, 0xf81f, 0xf69e, -0xf81f, 0xf655, 0xf7c6, 0xf655, 0xf7c6, 0xf592, 0xf6f2, 0xf592, 0xf6f2, 0xf504, 0xf650, -0xf504, 0xf650, 0xf5b8, 0xf6f0, 0xf5b8, 0xf6f0, 0xf5b8, 0xf6f0, 0xf6ae, 0xf7d0, 0xf6ae, -0xf7d0, 0xf68e, 0xf79a, 0xf68e, 0xf79a, 0xf712, 0xf809, 0xf712, 0xf809, 0xf66e, 0xf751, -0xf66e, 0xf751, 0xf62c, 0xf6fc, 0xf62c, 0xf6fc, 0xf617, 0xf6d9, 0xf617, 0xf6d9, 0xf617, -0xf6d9, 0xf5a9, 0xf65e, 0xf5a9, 0xf65e, 0xf5b2, 0xf660, 0xf5b2, 0xf660, 0xf3db, 0xf487, -0xf3db, 0xf487, 0xf41a, 0xf4c9, 0xf41a, 0xf4c9, 0xf4e0, 0xf599, 0xf4e0, 0xf599, 0xf4e0, -0xf599, 0xf4b2, 0xf57a, 0xf4b2, 0xf57a, 0xf4b5, 0xf593, 0xf4b5, 0xf593, 0xf3de, 0xf4d8, -0xf3de, 0xf4d8, 0xf35c, 0xf478, 0xf35c, 0xf478, 0xf1f1, 0xf335, 0xf1f1, 0xf335, 0xf0a7, -0xf216, 0xf0a7, 0xf216, 0xf0a7, 0xf216, 0xefbe, 0xf15e, 0xefbe, 0xf15e, 0xee6b, 0xf03d, -0xee6b, 0xf03d, 0xed65, 0xef6c, 0xed65, 0xef6c, 0xecee, 0xef2a, 0xecee, 0xef2a, 0xec8b, -0xeefc, 0xec8b, 0xeefc, 0xec23, 0xeec7, 0xec23, 0xeec7, 0xec23, 0xeec7, 0xebfb, 0xeece, -0xebfb, 0xeece, 0xeb11, 0xee11, 0xeb11, 0xee11, 0xea97, 0xedbe, 0xea97, 0xedbe, 0xe9d3, -0xed1b, 0xe9d3, 0xed1b, 0xe859, 0xebbc, 0xe859, 0xebbc, 0xe859, 0xebbc, 0xe781, 0xeaf8, -0xe781, 0xeaf8, 0xe6d1, 0xea54, 0xe6d1, 0xea54, 0xe6f2, 0xea7a, 0xe6f2, 0xea7a, 0xe67d, -0xea03, 0xe67d, 0xea03, 0xe5fc, 0xe979, 0xe5fc, 0xe979, 0xe669, 0xe9d7, 0xe669, 0xe9d7, -0xe669, 0xe9d7, 0xe60e, 0xe968, 0xe60e, 0xe968, 0xe620, 0xe960, 0xe620, 0xe960, 0xe5d8, -0xe8fa, 0xe5d8, 0xe8fa, 0xe52d, 0xe82f, 0xe52d, 0xe82f, 0xe523, 0xe804, 0xe523, 0xe804, -0xe50f, 0xe7ce, 0xe50f, 0xe7ce, 0xe50f, 0xe7ce, 0xe52e, 0xe7ca, 0xe52e, 0xe7ca, 0xe4f4, -0xe770, 0xe4f4, 0xe770, 0xe51e, 0xe77c, 0xe51e, 0xe77c, 0xe5aa, 0xe7ed, 0xe5aa, 0xe7ed, -0xe6a8, 0xe8d3, 0xe6a8, 0xe8d3, 0xe6a8, 0xe8d3, 0xe7cd, 0xe9e4, 0xe7cd, 0xe9e4, 0xe81b, -0xea21, 0xe81b, 0xea21, 0xe80f, 0xea0a, 0xe80f, 0xea0a, 0xe8aa, 0xea9d, 0xe8aa, 0xea9d, -0xe9fc, 0xebe9, 0xe9fc, 0xebe9, 0xea0d, 0xebf8, 0xea0d, 0xebf8, 0xea0d, 0xebf8, 0xea64, -0xec50, 0xea64, 0xec50, 0xea53, 0xec42, 0xea53, 0xec42, 0xe954, 0xeb47, 0xe954, 0xeb47, -0xea15, 0xec0c, 0xea15, 0xec0c, 0xeb00, 0xecfa, 0xeb00, 0xecfa, 0xeb00, 0xecfa, 0xeb66, -0xed63, 0xeb66, 0xed63, 0xeb50, 0xed4e, 0xeb50, 0xed4e, 0xebf8, 0xedf6, 0xebf8, 0xedf6, -0xed0c, 0xef07, 0xed0c, 0xef07, 0xed00, 0xeef5, 0xed00, 0xeef5, 0xedc4, 0xefb2, 0xedc4, -0xefb2, 0xedc4, 0xefb2, 0xee29, 0xf00c, 0xee29, 0xf00c, 0xedd4, 0xefa9, 0xedd4, 0xefa9, -0xeea5, 0xf06c, 0xeea5, 0xf06c, 0xef2f, 0xf0e7, 0xef2f, 0xf0e7, 0xef6d, 0xf113, 0xef6d, -0xf113, 0xf025, 0xf1ba, 0xf025, 0xf1ba, 0xf025, 0xf1ba, 0xf0bf, 0xf242, 0xf0bf, 0xf242, -0xf1cf, 0xf343, 0xf1cf, 0xf343, 0xf275, 0xf3da, 0xf275, 0xf3da, 0xf2e9, 0xf441, 0xf2e9, -0xf441, 0xf398, 0xf4e4, 0xf398, 0xf4e4, 0xf398, 0xf4e4, 0xf383, 0xf4c7, 0xf383, 0xf4c7, -0xf39e, 0xf4dc, 0xf39e, 0xf4dc, 0xf324, 0xf45d, 0xf324, 0xf45d, 0xf2a2, 0xf3da, 0xf2a2, -0xf3da, 0xf2db, 0xf412, 0xf2db, 0xf412, 0xf2fd, 0xf434, 0xf2fd, 0xf434, 0xf2fd, 0xf434, -0xf3ac, 0xf4e4, 0xf3ac, 0xf4e4, 0xf401, 0xf53a, 0xf401, 0xf53a, 0xf437, 0xf56f, 0xf437, -0xf56f, 0xf3cd, 0xf500, 0xf3cd, 0xf500, 0xf374, 0xf4a1, 0xf374, 0xf4a1, 0xf47b, 0xf59c, -0xf47b, 0xf59c, 0xf47b, 0xf59c, 0xf468, 0xf579, 0xf468, 0xf579, 0xf509, 0xf603, 0xf509, -0xf603, 0xf619, 0xf6f7, 0xf619, 0xf6f7, 0xf716, 0xf7d0, 0xf716, 0xf7d0, 0xf9cf, 0xfa5f, -0xf9cf, 0xfa5f, 0xf9cf, 0xfa5f, 0xfb4b, 0xfba9, 0xfb4b, 0xfba9, 0xfcf5, 0xfd1a, 0xfcf5, -0xfd1a, 0xfef8, 0xfede, 0xfef8, 0xfede, 0x106, 0xa8, 0x106, 0xa8, 0x3ff, 0x357, -0x3ff, 0x357, 0x53a, 0x445, 0x53a, 0x445, 0x53a, 0x445, 0x741, 0x5fc, 0x741, -0x5fc, 0x937, 0x7a1, 0x937, 0x7a1, 0x9ff, 0x817, 0x9ff, 0x817, 0xc89, 0xa52, -0xc89, 0xa52, 0xef2, 0xc6d, 0xef2, 0xc6d, 0x10fb, 0xe2e, 0x10fb, 0xe2e, 0x10fb, -0xe2e, 0x129e, 0xf8e, 0x129e, 0xf8e, 0x13e4, 0x1097, 0x13e4, 0x1097, 0x15cd, 0x124b, -0x15cd, 0x124b, 0x1674, 0x12c5, 0x1674, 0x12c5, 0x173f, 0x136d, 0x173f, 0x136d, 0x173f, -0x136d, 0x1862, 0x1475, 0x1862, 0x1475, 0x18f9, 0x14fb, 0x18f9, 0x14fb, 0x1aa2, 0x169b, -0x1aa2, 0x169b, 0x1b82, 0x177c, 0x1b82, 0x177c, 0x1bfa, 0x17fd, 0x1bfa, 0x17fd, 0x1bcb, -0x17de, 0x1bcb, 0x17de, 0x1bcb, 0x17de, 0x1b77, 0x17a0, 0x1b77, 0x17a0, 0x1c73, 0x18b9, -0x1c73, 0x18b9, 0x1bae, 0x1814, 0x1bae, 0x1814, 0x1ae2, 0x176c, 0x1ae2, 0x176c, 0x1a74, -0x1723, 0x1a74, 0x1723, 0x199b, 0x1671, 0x199b, 0x1671, 0x199b, 0x1671, 0x193b, 0x1638, -0x193b, 0x1638, 0x1805, 0x1527, 0x1805, 0x1527, 0x1707, 0x144c, 0x1707, 0x144c, 0x1618, -0x137e, 0x1618, 0x137e, 0x156a, 0x12ee, 0x156a, 0x12ee, 0x156a, 0x12ee, 0x158d, 0x132a, -0x158d, 0x132a, 0x158e, 0x1341, 0x158e, 0x1341, 0x1597, 0x135c, 0x1597, 0x135c, 0x152e, -0x1302, 0x152e, 0x1302, 0x1505, 0x12e3, 0x1505, 0x12e3, 0x1555, 0x133b, 0x1555, 0x133b, -0x1555, 0x133b, 0x1532, 0x131d, 0x1532, 0x131d, 0x15c8, 0x13b7, 0x15c8, 0x13b7, 0x1615, -0x1407, 0x1615, 0x1407, 0x1577, 0x136b, 0x1577, 0x136b, 0x14b7, 0x12ad, 0x14b7, 0x12ad, -0x1323, 0x111d, 0x1323, 0x111d, 0x1323, 0x111d, 0x1221, 0x101f, 0x1221, 0x101f, 0x1117, -0xf1c, 0x1117, 0xf1c, 0xfa7, 0xdb5, 0xfa7, 0xdb5, 0xebd, 0xcd7, 0xebd, 0xcd7, -0xd3c, 0xb65, 0xd3c, 0xb65, 0xd3c, 0xb65, 0xba8, 0x9e3, 0xba8, 0x9e3, 0xaae, -0x8fe, 0xaae, 0x8fe, 0x9e3, 0x84b, 0x9e3, 0x84b, 0x934, 0x7b7, 0x934, 0x7b7, -0x892, 0x733, 0x892, 0x733, 0x7e1, 0x6a2, 0x7e1, 0x6a2, 0x7e1, 0x6a2, 0x7d9, -0x6bc, 0x7d9, 0x6bc, 0x756, 0x65d, 0x756, 0x65d, 0x662, 0x58d, 0x662, 0x58d, -0x5b0, 0x4fe, 0x5b0, 0x4fe, 0x423, 0x396, 0x423, 0x396, 0x304, 0x29c, 0x304, -0x29c, 0x304, 0x29c, 0x217, 0x1d3, 0x217, 0x1d3, 0xa6, 0x85, 0xa6, 0x85, -0xff26, 0xff27, 0xff26, 0xff27, 0xfd88, 0xfdaa, 0xfd88, 0xfdaa, 0xfc46, 0xfc87, 0xfc46, -0xfc87, 0xfc46, 0xfc87, 0xfba9, 0xfc09, 0xfba9, 0xfc09, 0xfa7e, 0xfafc, 0xfa7e, 0xfafc, -0xf96a, 0xfa03, 0xf96a, 0xfa03, 0xf8e2, 0xf998, 0xf8e2, 0xf998, 0xf767, 0xf838, 0xf767, -0xf838, 0xf6ad, 0xf798, 0xf6ad, 0xf798, 0xf6ad, 0xf798, 0xf596, 0xf69a, 0xf596, 0xf69a, -0xf432, 0xf550, 0xf432, 0xf550, 0xf35a, 0xf492, 0xf35a, 0xf492, 0xf225, 0xf376, 0xf225, -0xf376, 0xf232, 0xf39c, 0xf232, 0xf39c, 0xf226, 0xf3a9, 0xf226, 0xf3a9, 0xf226, 0xf3a9, -0xf214, 0xf3b0, 0xf214, 0xf3b0, 0xf1f0, 0xf3a3, 0xf1f0, 0xf3a3, 0xf135, 0xf2fe, 0xf135, -0xf2fe, 0xf0ed, 0xf2cb, 0xf0ed, 0xf2cb, 0xf0c2, 0xf2b3, 0xf0c2, 0xf2b3, 0xf0c2, 0xf2b3, -0xf01e, 0xf221, 0xf01e, 0xf221, 0xef8c, 0xf19c, 0xef8c, 0xf19c, 0xef80, 0xf19b, 0xef80, -0xf19b, 0xeeee, 0xf10f, 0xeeee, 0xf10f, 0xef18, 0xf13c, 0xef18, 0xf13c, 0xeef1, 0xf112, -0xeef1, 0xf112, 0xeef1, 0xf112, 0xee7b, 0xf095, 0xee7b, 0xf095, 0xeef9, 0xf105, 0xeef9, -0xf105, 0xef44, 0xf13c, 0xef44, 0xf13c, 0xf033, 0xf212, 0xf033, 0xf212, 0xf03c, 0xf1fb, -0xf03c, 0xf1fb, 0xf076, 0xf210, 0xf076, 0xf210, 0xf076, 0xf210, 0xf1f8, 0xf367, 0xf1f8, -0xf367, 0xf2b0, 0xf3ef, 0xf2b0, 0xf3ef, 0xf3b1, 0xf4ba, 0xf3b1, 0xf4ba, 0xf51d, 0xf5ec, -0xf51d, 0xf5ec, 0xf6f0, 0xf781, 0xf6f0, 0xf781, 0xf6f0, 0xf781, 0xf91e, 0xf96d, 0xf91e, -0xf96d, 0xfb1a, 0xfb24, 0xfb1a, 0xfb24, 0xfcbb, 0xfc80, 0xfcbb, 0xfc80, 0xfdee, 0xfd6c, -0xfdee, 0xfd6c, 0xffe6, 0xff1d, 0xffe6, 0xff1d, 0x159, 0x4a, 0x159, 0x4a, 0x159, -0x4a, 0x24f, 0xfc, 0x24f, 0xfc, 0x427, 0x292, 0x427, 0x292, 0x582, 0x3ae, -0x582, 0x3ae, 0x6d4, 0x4c6, 0x6d4, 0x4c6, 0x839, 0x5f6, 0x839, 0x5f6, 0x839, -0x5f6, 0x9c3, 0x74f, 0x9c3, 0x74f, 0xb6d, 0x8ce, 0xb6d, 0x8ce, 0xce2, 0xa1e, -0xce2, 0xa1e, 0xebe, 0xbdb, 0xebe, 0xbdb, 0x1057, 0xd5b, 0x1057, 0xd5b, 0x1204, -0xef7, 0x1204, 0xef7, 0x1204, 0xef7, 0x13f7, 0x10dd, 0x13f7, 0x10dd, 0x1522, 0x1203, -0x1522, 0x1203, 0x1574, 0x1255, 0x1574, 0x1255, 0x164a, 0x1331, 0x164a, 0x1331, 0x1754, -0x1446, 0x1754, 0x1446, 0x17e7, 0x14e8, 0x17e7, 0x14e8, 0x17e7, 0x14e8, 0x17f9, 0x150e, -0x17f9, 0x150e, 0x17bf, 0x14eb, 0x17bf, 0x14eb, 0x180f, 0x1554, 0x180f, 0x1554, 0x1809, -0x156a, 0x1809, 0x156a, 0x183f, 0x15be, 0x183f, 0x15be, 0x183f, 0x15be, 0x1832, 0x15d0, -0x1832, 0x15d0, 0x1838, 0x15f4, 0x1838, 0x15f4, 0x188c, 0x1666, 0x188c, 0x1666, 0x1840, -0x1637, 0x1840, 0x1637, 0x186d, 0x167f, 0x186d, 0x167f, 0x17d3, 0x15ff, 0x17d3, 0x15ff, -0x17d3, 0x15ff, 0x1743, 0x1586, 0x1743, 0x1586, 0x16dd, 0x1534, 0x16dd, 0x1534, 0x1649, -0x14b0, 0x1649, 0x14b0, 0x15fc, 0x1471, 0x15fc, 0x1471, 0x14c7, 0x1346, 0x14c7, 0x1346, -0x13b8, 0x123d, 0x13b8, 0x123d, 0x13b8, 0x123d, 0x1316, 0x119e, 0x1316, 0x119e, 0x134f, -0x11d6, 0x134f, 0x11d6, 0x13a9, 0x122b, 0x13a9, 0x122b, 0x12de, 0x1158, 0x12de, 0x1158, -0x11f5, 0x1063, 0x11f5, 0x1063, 0x11f5, 0x1063, 0x113f, 0xf9f, 0x113f, 0xf9f, 0x1153, -0xfa3, 0x1153, 0xfa3, 0x118a, 0xfc8, 0x118a, 0xfc8, 0x1092, 0xebc, 0x1092, 0xebc, -0xf76, 0xd8b, 0xf76, 0xd8b, 0xed5, 0xcd4, 0xed5, 0xcd4, 0xed5, 0xcd4, 0xfb8, -0xda2, 0xfb8, 0xda2, 0x10b8, 0xe8d, 0x10b8, 0xe8d, 0x1038, 0xdf9, 0x1038, 0xdf9, -0x10e4, 0xe92, 0x10e4, 0xe92, 0x1124, 0xec2, 0x1124, 0xec2, 0x10fc, 0xe8c, 0x10fc, -0xe8c, 0x10fc, 0xe8c, 0x11c5, 0xf49, 0x11c5, 0xf49, 0x120b, 0xf88, 0x120b, 0xf88, -0x1248, 0xfc0, 0x1248, 0xfc0, 0x11ed, 0xf65, 0x11ed, 0xf65, 0x11af, 0xf2a, 0x11af, -0xf2a, 0x11af, 0xf2a, 0x11c7, 0xf4a, 0x11c7, 0xf4a, 0x1181, 0xf0f, 0x1181, 0xf0f, -0x1111, 0xeaf, 0x1111, 0xeaf, 0x10f6, 0xea7, 0x10f6, 0xea7, 0x10a2, 0xe6a, 0x10a2, -0xe6a, 0x1016, 0xdf8, 0x1016, 0xdf8, 0x1016, 0xdf8, 0xf8b, 0xd8a, 0xf8b, 0xd8a, -0xe5e, 0xc7f, 0xe5e, 0xc7f, 0xdd8, 0xc1b, 0xdd8, 0xc1b, 0xd0c, 0xb74, 0xd0c, -0xb74, 0xcd4, 0xb62, 0xcd4, 0xb62, 0xce7, 0xb9d, 0xce7, 0xb9d, 0xce7, 0xb9d, -0xc2d, 0xb0b, 0xc2d, 0xb0b, 0xbbe, 0xac4, 0xbbe, 0xac4, 0xaf5, 0xa23, 0xaf5, -0xa23, 0xa66, 0x9bb, 0xa66, 0x9bb, 0x970, 0x8ec, 0x970, 0x8ec, 0x970, 0x8ec, -0x8de, 0x87e, 0x8de, 0x87e, 0x82f, 0x7f1, 0x82f, 0x7f1, 0x728, 0x70b, 0x728, -0x70b, 0x637, 0x639, 0x637, 0x639, 0x4d8, 0x4f6, 0x4d8, 0x4f6, 0x44f, 0x488, -0x44f, 0x488, 0x44f, 0x488, 0x30c, 0x35c, 0x30c, 0x35c, 0x299, 0x2ff, 0x299, -0x2ff, 0x2ab, 0x323, 0x2ab, 0x323, 0x193, 0x21b, 0x193, 0x21b, 0xe9, 0x17f, -0xe9, 0x17f, 0x4d, 0xf0, 0x4d, 0xf0, 0x4d, 0xf0, 0xfff6, 0xa4, 0xfff6, -0xa4, 0xff25, 0xffdc, 0xff25, 0xffdc, 0xfdcd, 0xfe8b, 0xfdcd, 0xfe8b, 0xfd95, 0xfe5a, -0xfd95, 0xfe5a, 0xfd7d, 0xfe47, 0xfd7d, 0xfe47, 0xfd7d, 0xfe47, 0xfc6e, 0xfd3e, 0xfc6e, -0xfd3e, 0xfc23, 0xfcf7, 0xfc23, 0xfcf7, 0xfbad, 0xfc85, 0xfbad, 0xfc85, 0xfb59, 0xfc36, -0xfb59, 0xfc36, 0xfbd0, 0xfcb2, 0xfbd0, 0xfcb2, 0xfb38, 0xfc20, 0xfb38, 0xfc20, 0xfb38, -0xfc20, 0xfb1b, 0xfc09, 0xfb1b, 0xfc09, 0xfa71, 0xfb68, 0xfa71, 0xfb68, 0xf9a7, 0xfaa7, -0xf9a7, 0xfaa7, 0xf8b9, 0xf9c4, 0xf8b9, 0xf9c4, 0xf702, 0xf819, 0xf702, 0xf819, 0xf6e1, -0xf807, 0xf6e1, 0xf807, 0xf6e1, 0xf807, 0xf5e2, 0xf719, 0xf5e2, 0xf719, 0xf4a6, 0xf5f1, -0xf4a6, 0xf5f1, 0xf41e, 0xf581, 0xf41e, 0xf581, 0xf33b, 0xf4b7, 0xf33b, 0xf4b7, 0xf2c1, -0xf45a, 0xf2c1, 0xf45a, 0xf2c1, 0xf45a, 0xf179, 0xf332, 0xf179, 0xf332, 0xf016, 0xf1f2, -0xf016, 0xf1f2, 0xef60, 0xf163, 0xef60, 0xf163, 0xeef3, 0xf120, 0xeef3, 0xf120, 0xeec0, -0xf11b, 0xeec0, 0xf11b, 0xede8, 0xf072, 0xede8, 0xf072, 0xede8, 0xf072, 0xecc1, 0xef7d, -0xecc1, 0xef7d, 0xebb6, 0xeea7, 0xebb6, 0xeea7, 0xea37, 0xed5f, 0xea37, 0xed5f, 0xe930, -0xec90, 0xe930, 0xec90, 0xe813, 0xebab, 0xe813, 0xebab, 0xe6ca, 0xea9a, 0xe6ca, 0xea9a, -0xe6ca, 0xea9a, 0xe64d, 0xea55, 0xe64d, 0xea55, 0xe4db, 0xe918, 0xe4db, 0xe918, 0xe378, -0xe7e8, 0xe378, 0xe7e8, 0xe271, 0xe710, 0xe271, 0xe710, 0xe15c, 0xe627, 0xe15c, 0xe627, -0xe15c, 0xe627, 0xe0ab, 0xe59c, 0xe0ab, 0xe59c, 0xdfce, 0xe4e0, 0xdfce, 0xe4e0, 0xdfea, -0xe516, 0xdfea, 0xe516, 0xdf5b, 0xe49a, 0xdf5b, 0xe49a, 0xde46, 0xe390, 0xde46, 0xe390, -0xddc5, 0xe312, 0xddc5, 0xe312, 0xddc5, 0xe312, 0xdccb, 0xe214, 0xdccb, 0xe214, 0xdc2f, -0xe16a, 0xdc2f, 0xe16a, 0xdc20, 0xe146, 0xdc20, 0xe146, 0xdc61, 0xe16a, 0xdc61, 0xe16a, -0xdc88, 0xe16c, 0xdc88, 0xe16c, 0xdd10, 0xe1c8, 0xdd10, 0xe1c8, 0xdd10, 0xe1c8, 0xdda7, -0xe22f, 0xdda7, 0xe22f, 0xddfc, 0xe24d, 0xddfc, 0xe24d, 0xdea0, 0xe2b6, 0xdea0, 0xe2b6, -0xdf39, 0xe311, 0xdf39, 0xe311, 0xe014, 0xe3ac, 0xe014, 0xe3ac, 0xe014, 0xe3ac, 0xe0ff, -0xe456, 0xe0ff, 0xe456, 0xe23c, 0xe553, 0xe23c, 0xe553, 0xe381, 0xe659, 0xe381, 0xe659, -0xe505, 0xe7a0, 0xe505, 0xe7a0, 0xe702, 0xe964, 0xe702, 0xe964, 0xe85f, 0xea8b, 0xe85f, -0xea8b, 0xe85f, 0xea8b, 0xea38, 0xec34, 0xea38, 0xec34, 0xec83, 0xee54, 0xec83, 0xee54, -0xedd4, 0xef80, 0xedd4, 0xef80, 0xee7f, 0xf00c, 0xee7f, 0xf00c, 0xeebc, 0xf030, 0xeebc, -0xf030, 0xeebc, 0xf030, 0xee81, 0xefe2, 0xee81, 0xefe2, 0xee76, 0xefc9, 0xee76, 0xefc9, -0xef10, 0xf05b, 0xef10, 0xf05b, 0xf045, 0xf18d, 0xf045, 0xf18d, 0xf0c1, 0xf209, 0xf0c1, -0xf209, 0xf0ba, 0xf207, 0xf0ba, 0xf207, 0xf0ba, 0xf207, 0xf13e, 0xf291, 0xf13e, 0xf291, -0xf165, 0xf2c2, 0xf165, 0xf2c2, 0xf1ea, 0xf350, 0xf1ea, 0xf350, 0xf25b, 0xf3cb, 0xf25b, -0xf3cb, 0xf1d0, 0xf34b, 0xf1d0, 0xf34b, 0xf182, 0xf306, 0xf182, 0xf306, 0xf182, 0xf306, -0xf1fa, 0xf386, 0xf1fa, 0xf386, 0xf2d0, 0xf462, 0xf2d0, 0xf462, 0xf348, 0xf4e0, 0xf348, -0xf4e0, 0xf37e, 0xf519, 0xf37e, 0xf519, 0xf40f, 0xf5ab, 0xf40f, 0xf5ab, 0xf40f, 0xf5ab, -0xf4fe, 0xf699, 0xf4fe, 0xf699, 0xf5ad, 0xf745, 0xf5ad, 0xf745, 0xf659, 0xf7ee, 0xf659, -0xf7ee, 0xf681, 0xf810, 0xf681, 0xf810, 0xf61d, 0xf7a5, 0xf61d, 0xf7a5, 0xf651, 0xf7d1, -0xf651, 0xf7d1, 0xf651, 0xf7d1, 0xf642, 0xf7ba, 0xf642, 0xf7ba, 0xf58f, 0xf6ff, 0xf58f, -0xf6ff, 0xf4fa, 0xf661, 0xf4fa, 0xf661, 0xf4de, 0xf63b, 0xf4de, 0xf63b, 0xf4f0, 0xf643, -0xf4f0, 0xf643, 0xf516, 0xf65e, 0xf516, 0xf65e, 0xf516, 0xf65e, 0xf495, 0xf5d2, 0xf495, -0xf5d2, 0xf40a, 0xf53a, 0xf40a, 0xf53a, 0xf478, 0xf599, 0xf478, 0xf599, 0xf4e7, 0xf5f8, -0xf4e7, 0xf5f8, 0xf5c8, 0xf6c4, 0xf5c8, 0xf6c4, 0xf5c8, 0xf6c4, 0xf613, 0xf6fa, 0xf613, -0xf6fa, 0xf631, 0xf6fd, 0xf631, 0xf6fd, 0xf788, 0xf836, 0xf788, 0xf836, 0xf86b, 0xf8f6, -0xf86b, 0xf8f6, 0xf92a, 0xf98d, 0xf92a, 0xf98d, 0xfa66, 0xfa9d, 0xfa66, 0xfa9d, 0xfa66, -0xfa9d, 0xfc07, 0xfc0c, 0xfc07, 0xfc0c, 0xfe7f, 0xfe4e, 0xfe7f, 0xfe4e, 0xe7, 0x7b, -0xe7, 0x7b, 0x2d0, 0x226, 0x2d0, 0x226, 0x4b5, 0x3c9, 0x4b5, 0x3c9, 0x5da, -0x4aa, 0x5da, 0x4aa, 0x5da, 0x4aa, 0x6f3, 0x57e, 0x6f3, 0x57e, 0x8c2, 0x707, -0x8c2, 0x707, 0xab1, 0x8b1, 0xab1, 0x8b1, 0xce9, 0xaa6, 0xce9, 0xaa6, 0xe87, -0xc05, 0xe87, 0xc05, 0xe87, 0xc05, 0xff4, 0xd37, 0xff4, 0xd37, 0x11b7, 0xec4, -0x11b7, 0xec4, 0x139a, 0x1078, 0x139a, 0x1078, 0x1602, 0x12b9, 0x1602, 0x12b9, 0x1760, -0x13f8, 0x1760, 0x13f8, 0x1863, 0x14e4, 0x1863, 0x14e4, 0x1863, 0x14e4, 0x1a63, 0x16d7, -0x1a63, 0x16d7, 0x1bd2, 0x1841, 0x1bd2, 0x1841, 0x1cb9, 0x192d, 0x1cb9, 0x192d, 0x1d3a, -0x19b9, 0x1d3a, 0x19b9, 0x1db7, 0x1a4b, 0x1db7, 0x1a4b, 0x1e91, 0x1b40, 0x1e91, 0x1b40, -0x1e91, 0x1b40, 0x1e68, 0x1b36, 0x1e68, 0x1b36, 0x1de8, 0x1adc, 0x1de8, 0x1adc, 0x1cc0, -0x19db, 0x1cc0, 0x19db, 0x1af2, 0x1837, 0x1af2, 0x1837, 0x1950, 0x16bf, 0x1950, 0x16bf, -0x1950, 0x16bf, 0x1746, 0x14de, 0x1746, 0x14de, 0x15ec, 0x13ac, 0x15ec, 0x13ac, 0x148b, -0x126e, 0x148b, 0x126e, 0x1340, 0x1143, 0x1340, 0x1143, 0x130d, 0x112a, 0x130d, 0x112a, -0x1304, 0x1135, 0x1304, 0x1135, 0x1304, 0x1135, 0x12f7, 0x1137, 0x12f7, 0x1137, 0x1287, -0x10cf, 0x1287, 0x10cf, 0x126c, 0x10b8, 0x126c, 0x10b8, 0x12ad, 0x10f6, 0x12ad, 0x10f6, -0x12a5, 0x10e6, 0x12a5, 0x10e6, 0x12e3, 0x1119, 0x12e3, 0x1119, 0x12e3, 0x1119, 0x127f, -0x10a6, 0x127f, 0x10a6, 0x11c3, 0xfd9, 0x11c3, 0xfd9, 0x11ff, 0x1004, 0x11ff, 0x1004, -0x1198, 0xf8c, 0x1198, 0xf8c, 0x1032, 0xe17, 0x1032, 0xe17, 0x1032, 0xe17, 0xf0c, -0xce5, 0xf0c, 0xce5, 0xe37, 0xc07, 0xe37, 0xc07, 0xd71, 0xb3d, 0xd71, 0xb3d, -0xbc9, 0x996, 0xbc9, 0x996, 0xa6e, 0x842, 0xa6e, 0x842, 0x989, 0x76c, 0x989, -0x76c, 0x989, 0x76c, 0x873, 0x669, 0x873, 0x669, 0x8a5, 0x6b6, 0x8a5, 0x6b6, -0x8bc, 0x6ee, 0x8bc, 0x6ee, 0x80d, 0x665, 0x80d, 0x665, 0x78e, 0x613, 0x78e, -0x613, 0x6e5, 0x59b, 0x6e5, 0x59b, 0x6e5, 0x59b, 0x5e5, 0x4ce, 0x5e5, 0x4ce, -0x4e6, 0x406, 0x4e6, 0x406, 0x3d1, 0x32a, 0x3d1, 0x32a, 0x23a, 0x1cc, 0x23a, -0x1cc, 0xf8, 0xc3, 0xf8, 0xc3, 0xf8, 0xc3, 0xffde, 0xffe2, 0xffde, 0xffe2, -0xfeb6, 0xfeef, 0xfeb6, 0xfeef, 0xfd95, 0xfe02, 0xfd95, 0xfe02, 0xfc51, 0xfcf0, 0xfc51, -0xfcf0, 0xfb41, 0xfc0d, 0xfb41, 0xfc0d, 0xfa12, 0xfb09, 0xfa12, 0xfb09, 0xfa12, 0xfb09, -0xf933, 0xfa4f, 0xf933, 0xfa4f, 0xf81f, 0xf95d, 0xf81f, 0xf95d, 0xf6a4, 0xf801, 0xf6a4, -0xf801, 0xf583, 0xf6fa, 0xf583, 0xf6fa, 0xf4ae, 0xf63c, 0xf4ae, 0xf63c, 0xf49f, 0xf641, -0xf49f, 0xf641, 0xf49f, 0xf641, 0xf4df, 0xf692, 0xf4df, 0xf692, 0xf4ee, 0xf6b0, 0xf4ee, -0xf6b0, 0xf4da, 0xf6a8, 0xf4da, 0xf6a8, 0xf477, 0xf64f, 0xf477, 0xf64f, 0xf3cb, 0xf5ab, -0xf3cb, 0xf5ab, 0xf3cb, 0xf5ab, 0xf2e1, 0xf4c7, 0xf2e1, 0xf4c7, 0xf23b, 0xf425, 0xf23b, -0xf425, 0xf296, 0xf483, 0xf296, 0xf483, 0xf345, 0xf532, 0xf345, 0xf532, 0xf333, 0xf51e, -0xf333, 0xf51e, 0xf2e9, 0xf4ce, 0xf2e9, 0xf4ce, 0xf2e9, 0xf4ce, 0xf24b, 0xf427, 0xf24b, -0xf427, 0xf1d0, 0xf3a1, 0xf1d0, 0xf3a1, 0xf248, 0xf409, 0xf248, 0xf409, 0xf28c, 0xf43a, -0xf28c, 0xf43a, 0xf296, 0xf42c, 0xf296, 0xf42c, 0xf32c, 0xf4a5, 0xf32c, 0xf4a5, 0xf32c, -0xf4a5, 0xf40e, 0xf566, 0xf40e, 0xf566, 0xf4c6, 0xf5f8, 0xf4c6, 0xf5f8, 0xf554, 0xf65b, -0xf554, 0xf65b, 0xf5cf, 0xf6a8, 0xf5cf, 0xf6a8, 0xf681, 0xf727, 0xf681, 0xf727, 0xf681, -0xf727, 0xf7c8, 0xf837, 0xf7c8, 0xf837, 0xf8fe, 0xf933, 0xf8fe, 0xf933, 0xf9e6, 0xf9e0, -0xf9e6, 0xf9e0, 0xfb01, 0xfabd, 0xfb01, 0xfabd, 0xfcfa, 0xfc78, 0xfcfa, 0xfc78, 0xffd5, -0xff16, 0xffd5, 0xff16, 0xffd5, 0xff16, 0x227, 0x12a, 0x227, 0x12a, 0x422, 0x2ea, -0x422, 0x2ea, 0x5ed, 0x47c, 0x5ed, 0x47c, 0x6db, 0x535, 0x6db, 0x535, 0x7fa, -0x621, 0x7fa, 0x621, 0x7fa, 0x621, 0x898, 0x692, 0x898, 0x692, 0x8c1, 0x691, -0x8c1, 0x691, 0x98e, 0x73b, 0x98e, 0x73b, 0xab2, 0x83f, 0xab2, 0x83f, 0xcc4, -0xa37, 0xcc4, 0xa37, 0xef5, 0xc53, 0xef5, 0xc53, 0xef5, 0xc53, 0x10a8, 0xdf6, -0x10a8, 0xdf6, 0x1229, 0xf6c, 0x1229, 0xf6c, 0x1359, 0x1094, 0x1359, 0x1094, 0x14ba, -0x11f2, 0x14ba, 0x11f2, 0x160d, 0x1345, 0x160d, 0x1345, 0x16af, 0x13ea, 0x16af, 0x13ea, -0x16af, 0x13ea, 0x1733, 0x1474, 0x1733, 0x1474, 0x184b, 0x1594, 0x184b, 0x1594, 0x191e, -0x1672, 0x191e, 0x1672, 0x19df, 0x173f, 0x19df, 0x173f, 0x1a55, 0x17c3, 0x1a55, 0x17c3, -0x1a55, 0x17c3, 0x1a0f, 0x178d, 0x1a0f, 0x178d, 0x1a6a, 0x17f9, 0x1a6a, 0x17f9, 0x1af1, -0x1893, 0x1af1, 0x1893, 0x1ae4, 0x189a, 0x1ae4, 0x189a, 0x1a73, 0x183f, 0x1a73, 0x183f, -0x19d3, 0x17b7, 0x19d3, 0x17b7, 0x19d3, 0x17b7, 0x1914, 0x1712, 0x1914, 0x1712, 0x186f, -0x1688, 0x186f, 0x1688, 0x1861, 0x1696, 0x1861, 0x1696, 0x1882, 0x16d6, 0x1882, 0x16d6, -0x180c, 0x1680, 0x180c, 0x1680, 0x1769, 0x15fe, 0x1769, 0x15fe, 0x1769, 0x15fe, 0x16c8, -0x157e, 0x16c8, 0x157e, 0x14f7, 0x13cf, 0x14f7, 0x13cf, 0x1356, 0x1250, 0x1356, 0x1250, -0x129c, 0x11b6, 0x129c, 0x11b6, 0x11d6, 0x110f, 0x11d6, 0x110f, 0x11d6, 0x110f, 0x11ad, -0x1103, 0x11ad, 0x1103, 0x1147, 0x10b8, 0x1147, 0x10b8, 0x1031, 0xfb7, 0x1031, 0xfb7, -0xeef, 0xe88, 0xeef, 0xe88, 0xda7, 0xd4e, 0xda7, 0xd4e, 0xd09, 0xcb8, 0xd09, -0xcb8, 0xd09, 0xcb8, 0xc41, 0xbf2, 0xc41, 0xbf2, 0xb1f, 0xacd, 0xb1f, 0xacd, -0xad0, 0xa75, 0xad0, 0xa75, 0xa5a, 0x9f0, 0xa5a, 0x9f0, 0xa24, 0x9a5, 0xa24, -0x9a5, 0xab5, 0xa1b, 0xab5, 0xa1b, 0xab5, 0xa1b, 0xab0, 0x9f8, 0xab0, 0x9f8, -0xab3, 0x9d9, 0xab3, 0x9d9, 0xaa8, 0x9aa, 0xaa8, 0x9aa, 0xaac, 0x987, 0xaac, -0x987, 0xb09, 0x9bd, 0xb09, 0x9bd, 0xb09, 0x9bd, 0xae9, 0x977, 0xae9, 0x977, -0xa9e, 0x907, 0xa9e, 0x907, 0xa49, 0x88f, 0xa49, 0x88f, 0xa60, 0x887, 0xa60, -0x887, 0xad1, 0x8de, 0xad1, 0x8de, 0xadc, 0x8d5, 0xadc, 0x8d5, 0xadc, 0x8d5, -0xafd, 0x8e7, 0xafd, 0x8e7, 0xaf4, 0x8d6, 0xaf4, 0x8d6, 0xad3, 0x8b3, 0xad3, -0x8b3, 0xb34, 0x919, 0xb34, 0x919, 0xab7, 0x8a8, 0xab7, 0x8a8, 0x985, 0x787, -0x985, 0x787, 0x985, 0x787, 0x8cd, 0x6e7, 0x8cd, 0x6e7, 0x848, 0x67f, 0x848, -0x67f, 0x7ce, 0x626, 0x7ce, 0x626, 0x72b, 0x5a8, 0x72b, 0x5a8, 0x6cd, 0x571, -0x6cd, 0x571, 0x6cd, 0x571, 0x63a, 0x507, 0x63a, 0x507, 0x581, 0x477, 0x581, -0x477, 0x51d, 0x43c, 0x51d, 0x43c, 0x469, 0x3b0, 0x469, 0x3b0, 0x412, 0x37f, -0x412, 0x37f, 0x3d4, 0x365, 0x3d4, 0x365, 0x3d4, 0x365, 0x362, 0x314, 0x362, -0x314, 0x2d5, 0x2a4, 0x2d5, 0x2a4, 0x21a, 0x203, 0x21a, 0x203, 0x1bb, 0x1bb, -0x1bb, 0x1bb, 0x131, 0x144, 0x131, 0x144, 0xba, 0xdd, 0xba, 0xdd, 0xba, -0xdd, 0x29, 0x5b, 0x29, 0x5b, 0xff3a, 0xff77, 0xff3a, 0xff77, 0xff28, 0xff70, -0xff28, 0xff70, 0xfeed, 0xff3d, 0xfeed, 0xff3d, 0xfe86, 0xfedf, 0xfe86, 0xfedf, 0xfe86, -0xfedf, 0xfe81, 0xfee3, 0xfe81, 0xfee3, 0xfdc3, 0xfe2f, 0xfdc3, 0xfe2f, 0xfd76, 0xfdee, -0xfd76, 0xfdee, 0xfd3a, 0xfdbd, 0xfd3a, 0xfdbd, 0xfcf1, 0xfd84, 0xfcf1, 0xfd84, 0xfca7, -0xfd4a, 0xfca7, 0xfd4a, 0xfca7, 0xfd4a, 0xfb56, 0xfc0c, 0xfb56, 0xfc0c, 0xfb1a, 0xfbe6, -0xfb1a, 0xfbe6, 0xfb9d, 0xfc80, 0xfb9d, 0xfc80, 0xfc44, 0xfd41, 0xfc44, 0xfd41, 0xfd50, -0xfe68, 0xfd50, 0xfe68, 0xfd1e, 0xfe53, 0xfd1e, 0xfe53, 0xfd1e, 0xfe53, 0xfbee, 0xfd41, -0xfbee, 0xfd41, 0xfa8c, 0xfbfe, 0xfa8c, 0xfbfe, 0xf952, 0xfae3, 0xf952, 0xfae3, 0xf7fb, -0xf9ac, 0xf7fb, 0xf9ac, 0xf68d, 0xf85e, 0xf68d, 0xf85e, 0xf68d, 0xf85e, 0xf576, 0xf767, -0xf576, 0xf767, 0xf499, 0xf6a9, 0xf499, 0xf6a9, 0xf472, 0xf6a1, 0xf472, 0xf6a1, 0xf4ca, -0xf717, 0xf4ca, 0xf717, 0xf461, 0xf6cd, 0xf461, 0xf6cd, 0xf362, 0xf5ec, 0xf362, 0xf5ec, -0xf362, 0xf5ec, 0xf286, 0xf52f, 0xf286, 0xf52f, 0xf1a5, 0xf46b, 0xf1a5, 0xf46b, 0xf0e9, -0xf3ce, 0xf0e9, 0xf3ce, 0xeff7, 0xf2fc, 0xeff7, 0xf2fc, 0xeecd, 0xf1f1, 0xeecd, 0xf1f1, -0xedb8, 0xf0fc, 0xedb8, 0xf0fc, 0xedb8, 0xf0fc, 0xecd7, 0xf03c, 0xecd7, 0xf03c, 0xecaf, -0xf035, 0xecaf, 0xf035, 0xec48, 0xefef, 0xec48, 0xefef, 0xeb56, 0xef1e, 0xeb56, 0xef1e, -0xea29, 0xee11, 0xea29, 0xee11, 0xea29, 0xee11, 0xe8e5, 0xecec, 0xe8e5, 0xecec, 0xe7c8, -0xebec, 0xe7c8, 0xebec, 0xe641, 0xea7f, 0xe641, 0xea7f, 0xe55f, 0xe9b5, 0xe55f, 0xe9b5, -0xe4fc, 0xe966, 0xe4fc, 0xe966, 0xe475, 0xe8ee, 0xe475, 0xe8ee, 0xe475, 0xe8ee, 0xe46b, -0xe8ed, 0xe46b, 0xe8ed, 0xe3dc, 0xe863, 0xe3dc, 0xe863, 0xe34f, 0xe7d3, 0xe34f, 0xe7d3, -0xe30b, 0xe786, 0xe30b, 0xe786, 0xe2b1, 0xe71b, 0xe2b1, 0xe71b, 0xe20b, 0xe65f, 0xe20b, -0xe65f, 0xe20b, 0xe65f, 0xe108, 0xe53e, 0xe108, 0xe53e, 0xe140, 0xe551, 0xe140, 0xe551, -0xe1f8, 0xe5de, 0xe1f8, 0xe5de, 0xe264, 0xe619, 0xe264, 0xe619, 0xe213, 0xe593, 0xe213, -0xe593, 0xe213, 0xe593, 0xe184, 0xe4ca, 0xe184, 0xe4ca, 0xe200, 0xe509, 0xe200, 0xe509, -0xe283, 0xe54d, 0xe283, 0xe54d, 0xe363, 0xe5ed, 0xe363, 0xe5ed, 0xe44f, 0xe699, 0xe44f, -0xe699, 0xe554, 0xe75f, 0xe554, 0xe75f, 0xe554, 0xe75f, 0xe67e, 0xe84c, 0xe67e, 0xe84c, -0xe736, 0xe8ca, 0xe736, 0xe8ca, 0xe851, 0xe9af, 0xe851, 0xe9af, 0xe957, 0xea83, 0xe957, -0xea83, 0xead3, 0xebd3, 0xead3, 0xebd3, 0xead3, 0xebd3, 0xec4d, 0xed26, 0xec4d, 0xed26, -0xece4, 0xed9c, 0xece4, 0xed9c, 0xed62, 0xedfe, 0xed62, 0xedfe, 0xed83, 0xee0a, 0xed83, -0xee0a, 0xedbb, 0xee31, 0xedbb, 0xee31, 0xee58, 0xeec2, 0xee58, 0xeec2, 0xee58, 0xeec2, -0xeee1, 0xef45, 0xeee1, 0xef45, 0xef60, 0xefc1, 0xef60, 0xefc1, 0xefc2, 0xf024, 0xefc2, -0xf024, 0xef69, 0xefcf, 0xef69, 0xefcf, 0xef48, 0xefb4, 0xef48, 0xefb4, 0xefc1, 0xf035, -0xefc1, 0xf035, 0xefc1, 0xf035, 0xef6a, 0xefe8, 0xef6a, 0xefe8, 0xef6d, 0xeff5, 0xef6d, -0xeff5, 0xef66, 0xeff8, 0xef66, 0xeff8, 0xeee1, 0xef7e, 0xeee1, 0xef7e, 0xef2f, 0xefd6, -0xef2f, 0xefd6, 0xef2f, 0xefd6, 0xef34, 0xefe6, 0xef34, 0xefe6, 0xef9c, 0xf058, 0xef9c, -0xf058, 0xf036, 0xf0fc, 0xf036, 0xf0fc, 0xf092, 0xf161, 0xf092, 0xf161, 0xf17d, 0xf256, -0xf17d, 0xf256, 0xf1f6, 0xf2da, 0xf1f6, 0xf2da, 0xf1f6, 0xf2da, 0xf232, 0xf320, 0xf232, -0xf320, 0xf200, 0xf2f9, 0xf200, 0xf2f9, 0xf210, 0xf314, 0xf210, 0xf314, 0xf23a, 0xf34a, -0xf23a, 0xf34a, 0xf1fd, 0xf31a, 0xf1fd, 0xf31a, 0xf1e0, 0xf309, 0xf1e0, 0xf309, 0xf1e0, -0xf309, 0xf137, 0xf26d, 0xf137, 0xf26d, 0xf0a3, 0xf1e5, 0xf0a3, 0xf1e5, 0xeff6, 0xf144, -0xeff6, 0xf144, 0xefd1, 0xf129, 0xefd1, 0xf129, 0xef56, 0xf0b7, 0xef56, 0xf0b7, 0xef56, -0xf0b7, 0xeea8, 0xf00f, 0xeea8, 0xf00f, 0xef43, 0xf0ad, 0xef43, 0xf0ad, 0xef68, 0xf0d0, -0xef68, 0xf0d0, 0xefe6, 0xf147, 0xefe6, 0xf147, 0xf04b, 0xf1a2, 0xf04b, 0xf1a2, 0xf0a8, -0xf1ed, 0xf0a8, 0xf1ed, 0xf0a8, 0xf1ed, 0xf136, 0xf264, 0xf136, 0xf264, 0xf160, 0xf270, -0xf160, 0xf270, 0xf2b1, 0xf39c, 0xf2b1, 0xf39c, 0xf408, 0xf4c9, 0xf408, 0xf4c9, 0xf5bd, -0xf64d, 0xf5bd, 0xf64d, 0xf848, 0xf8a1, 0xf848, 0xf8a1, 0xf848, 0xf8a1, 0xfae9, 0xfb06, -0xfae9, 0xfb06, 0xfd78, 0xfd54, 0xfd78, 0xfd54, 0xffe0, 0xff79, 0xffe0, 0xff79, 0x2bb, -0x20c, 0x2bb, 0x20c, 0x4f0, 0x3fa, 0x4f0, 0x3fa, 0x4f0, 0x3fa, 0x688, 0x548, -0x688, 0x548, 0x866, 0x6df, 0x866, 0x6df, 0xa2d, 0x860, 0xa2d, 0x860, 0xbe4, -0x9d5, 0xbe4, 0x9d5, 0xe23, 0xbd6, 0xe23, 0xbd6, 0x1081, 0xdfb, 0x1081, 0xdfb, -0x1081, 0xdfb, 0x128a, 0xfd2, 0x128a, 0xfd2, 0x14c2, 0x11de, 0x14c2, 0x11de, 0x16b5, -0x13ab, 0x16b5, 0x13ab, 0x1875, 0x154d, 0x1875, 0x154d, 0x19be, 0x167f, 0x19be, 0x167f, -0x1a57, 0x1709, 0x1a57, 0x1709, 0x1a57, 0x1709, 0x1b29, 0x17d1, 0x1b29, 0x17d1, 0x1c36, -0x18db, 0x1c36, 0x18db, 0x1d55, 0x19fc, 0x1d55, 0x19fc, 0x1d78, 0x1a27, 0x1d78, 0x1a27, -0x1d4c, 0x1a05, 0x1d4c, 0x1a05, 0x1d4c, 0x1a05, 0x1d44, 0x1a0b, 0x1d44, 0x1a0b, 0x1c97, -0x196e, 0x1c97, 0x196e, 0x1c37, 0x191e, 0x1c37, 0x191e, 0x1ae4, 0x17dd, 0x1ae4, 0x17dd, -0x195f, 0x1668, 0x195f, 0x1668, 0x1826, 0x153f, 0x1826, 0x153f, 0x1826, 0x153f, 0x1650, -0x1376, 0x1650, 0x1376, 0x15bc, 0x12ee, 0x15bc, 0x12ee, 0x1541, 0x127c, 0x1541, 0x127c, -0x14fd, 0x123f, 0x14fd, 0x123f, 0x1512, 0x1259, 0x1512, 0x1259, 0x1412, 0x115c, 0x1412, -0x115c, 0x1412, 0x115c, 0x139e, 0x10ea, 0x139e, 0x10ea, 0x13fe, 0x114b, 0x13fe, 0x114b, -0x144e, 0x119b, 0x144e, 0x119b, 0x1419, 0x1166, 0x1419, 0x1166, 0x1401, 0x114f, 0x1401, -0x114f, 0x1401, 0x114f, 0x1453, 0x11a4, 0x1453, 0x11a4, 0x147d, 0x11d3, 0x147d, 0x11d3, -0x14be, 0x121b, 0x14be, 0x121b, 0x1448, 0x11ae, 0x1448, 0x11ae, 0x1306, 0x107b, 0x1306, -0x107b, 0x119b, 0xf21, 0x119b, 0xf21, 0x119b, 0xf21, 0xfd0, 0xd6b, 0xfd0, 0xd6b, -0xe54, 0xc08, 0xe54, 0xc08, 0xd3e, 0xb10, 0xd3e, 0xb10, 0xc32, 0xa25, 0xc32, -0xa25, 0xbd4, 0x9ea, 0xbd4, 0x9ea, 0xbb4, 0x9f2, 0xbb4, 0x9f2, 0xbb4, 0x9f2, -0xbcd, 0xa35, 0xbcd, 0xa35, 0xbf0, 0xa84, 0xbf0, 0xa84, 0xb01, 0x9c3, 0xb01, -0x9c3, 0xa2b, 0x91c, 0xa2b, 0x91c, 0x951, 0x872, 0x951, 0x872, 0x951, 0x872, -0x806, 0x757, 0x806, 0x757, 0x6e7, 0x669, 0x6e7, 0x669, 0x4d1, 0x482, 0x4d1, -0x482, 0x32d, 0x30f, 0x32d, 0x30f, 0x25c, 0x26c, 0x25c, 0x26c, 0x121, 0x15f, -0x121, 0x15f, 0x121, 0x15f, 0x45, 0xaf, 0x45, 0xaf, 0xfec6, 0xff5b, 0xfec6, -0xff5b, 0xfd21, 0xfde1, 0xfd21, 0xfde1, 0xfbf8, 0xfce0, 0xfbf8, 0xfce0, 0xfad6, 0xfbe5, -0xfad6, 0xfbe5, 0xfa07, 0xfb3c, 0xfa07, 0xfb3c, 0xfa07, 0xfb3c, 0xf890, 0xf9e8, 0xf890, -0xf9e8, 0xf6df, 0xf859, 0xf6df, 0xf859, 0xf598, 0xf733, 0xf598, 0xf733, 0xf4a0, 0xf659, -0xf4a0, 0xf659, 0xf426, 0xf5fa, 0xf426, 0xf5fa, 0xf426, 0xf5fa, 0xf41a, 0xf607, 0xf41a, -0xf607, 0xf38c, 0xf58e, 0xf38c, 0xf58e, 0xf250, 0xf464, 0xf250, 0xf464, 0xf184, 0xf3a5, -0xf184, 0xf3a5, 0xf143, 0xf36d, 0xf143, 0xf36d, 0xf13f, 0xf36d, 0xf13f, 0xf36d, 0xf13f, -0xf36d, 0xf116, 0xf342, 0xf116, 0xf342, 0xf0f9, 0xf31e, 0xf0f9, 0xf31e, 0xf03e, 0xf256, -0xf03e, 0xf256, 0xefad, 0xf1b2, 0xefad, 0xf1b2, 0xefdc, 0xf1c8, 0xefdc, 0xf1c8, 0xef5e, -0xf12b, 0xef5e, 0xf12b, 0xef5e, 0xf12b, 0xef59, 0xf101, 0xef59, 0xf101, 0xef85, 0xf103, -0xef85, 0xf103, 0xefd5, 0xf124, 0xefd5, 0xf124, 0xf0ed, 0xf208, 0xf0ed, 0xf208, 0xf244, -0xf328, 0xf244, 0xf328, 0xf244, 0xf328, 0xf38f, 0xf439, 0xf38f, 0xf439, 0xf423, 0xf491, -0xf423, 0xf491, 0xf4ac, 0xf4dd, 0xf4ac, 0xf4dd, 0xf57e, 0xf571, 0xf57e, 0xf571, 0xf6cc, -0xf682, 0xf6cc, 0xf682, 0xf846, 0xf7bf, 0xf846, 0xf7bf, 0xf846, 0xf7bf, 0xf974, 0xf8b3, -0xf974, 0xf8b3, 0xfa73, 0xf97a, 0xfa73, 0xf97a, 0xfbad, 0xfa80, 0xfbad, 0xfa80, 0xfddc, -0xfc7e, 0xfddc, 0xfc7e, 0x58, 0xfece, 0x58, 0xfece, 0x58, 0xfece, 0x2e5, 0x131, -0x2e5, 0x131, 0x468, 0x28f, 0x468, 0x28f, 0x4a1, 0x2a6, 0x4a1, 0x2a6, 0x4bb, -0x2a3, 0x4bb, 0x2a3, 0x4cb, 0x298, 0x4cb, 0x298, 0x54d, 0x302, 0x54d, 0x302, -0x54d, 0x302, 0x597, 0x337, 0x597, 0x337, 0x5f3, 0x380, 0x5f3, 0x380, 0x6fc, -0x476, 0x6fc, 0x476, 0x84f, 0x5b9, 0x84f, 0x5b9, 0xa98, 0x7f2, 0xa98, 0x7f2, -0xc75, 0x9bf, 0xc75, 0x9bf, 0xc75, 0x9bf, 0xd61, 0xa9c, 0xd61, 0xa9c, 0xe81, -0xbad, 0xe81, 0xbad, 0xf67, 0xc85, 0xf67, 0xc85, 0x1087, 0xd97, 0x1087, 0xd97, -0x11f7, 0xefa, 0x11f7, 0xefa, 0x11f7, 0xefa, 0x1366, 0x105d, 0x1366, 0x105d, 0x14ad, -0x119a, 0x14ad, 0x119a, 0x1579, 0x125e, 0x1579, 0x125e, 0x16c3, 0x13a4, 0x16c3, 0x13a4, -0x17f3, 0x14d2, 0x17f3, 0x14d2, 0x1861, 0x1543, 0x1861, 0x1543, 0x1861, 0x1543, 0x191a, -0x1603, 0x191a, 0x1603, 0x1990, 0x1686, 0x1990, 0x1686, 0x197d, 0x1684, 0x197d, 0x1684, -0x191e, 0x163c, 0x191e, 0x163c, 0x187f, 0x15b8, 0x187f, 0x15b8, 0x1885, 0x15e0, 0x1885, -0x15e0, 0x1885, 0x15e0, 0x189f, 0x1621, 0x189f, 0x1621, 0x186c, 0x1618, 0x186c, 0x1618, -0x1821, 0x15fb, 0x1821, 0x15fb, 0x177c, 0x1587, 0x177c, 0x1587, 0x1698, 0x14d6, 0x1698, -0x14d6, 0x1698, 0x14d6, 0x1531, 0x13a4, 0x1531, 0x13a4, 0x144a, 0x12f0, 0x144a, 0x12f0, -0x13dc, 0x12b3, 0x13dc, 0x12b3, 0x134d, 0x1254, 0x134d, 0x1254, 0x131c, 0x124f, 0x131c, -0x124f, 0x1244, 0x119e, 0x1244, 0x119e, 0x1244, 0x119e, 0x1103, 0x107f, 0x1103, 0x107f, -0x1037, 0xfce, 0x1037, 0xfce, 0xf4c, 0xef9, 0xf4c, 0xef9, 0xe5b, 0xe15, 0xe5b, -0xe15, 0xd8c, 0xd4d, 0xd8c, 0xd4d, 0xcf5, 0xcb6, 0xcf5, 0xcb6, 0xcf5, 0xcb6, -0xce1, 0xc9c, 0xce1, 0xc9c, 0xc9b, 0xc49, 0xc9b, 0xc49, 0xc9a, 0xc36, 0xc9a, -0xc36, 0xd6b, 0xcf1, 0xd6b, 0xcf1, 0xdfc, 0xd67, 0xdfc, 0xd67, 0xdfc, 0xd67, -0xe7e, 0xdcd, 0xe7e, 0xdcd, 0xef1, 0xe23, 0xef1, 0xe23, 0xf25, 0xe38, 0xf25, -0xe38, 0xf47, 0xe3d, 0xf47, 0xe3d, 0xf33, 0xe0e, 0xf33, 0xe0e, 0xef5, 0xdb8, -0xef5, 0xdb8, 0xef5, 0xdb8, 0xec3, 0xd72, 0xec3, 0xd72, 0xf14, 0xdb2, 0xf14, -0xdb2, 0xf94, 0xe27, 0xf94, 0xe27, 0x1024, 0xeb1, 0x1024, 0xeb1, 0x1060, 0xeec, -0x1060, 0xeec, 0xff9, 0xe89, 0xff9, 0xe89, 0xff9, 0xe89, 0xf7b, 0xe14, 0xf7b, -0xe14, 0xeb6, 0xd5c, 0xeb6, 0xd5c, 0xdcb, 0xc82, 0xdcb, 0xc82, 0xcda, 0xba5, -0xcda, 0xba5, 0xbeb, 0xacc, 0xbeb, 0xacc, 0xbeb, 0xacc, 0xb6f, 0xa6a, 0xb6f, -0xa6a, 0xacb, 0x9df, 0xacb, 0x9df, 0x9fa, 0x927, 0x9fa, 0x927, 0x996, 0x8dd, -0x996, 0x8dd, 0x8d9, 0x838, 0x8d9, 0x838, 0x837, 0x7ad, 0x837, 0x7ad, 0x837, -0x7ad, 0x810, 0x79b, 0x810, 0x79b, 0x73e, 0x6dd, 0x73e, 0x6dd, 0x65b, 0x60b, -0x65b, 0x60b, 0x5d3, 0x592, 0x5d3, 0x592, 0x520, 0x4ec, 0x520, 0x4ec, 0x4bc, -0x493, 0x4bc, 0x493, 0x4bc, 0x493, 0x446, 0x429, 0x446, 0x429, 0x352, 0x33e, -0x352, 0x33e, 0x299, 0x28f, 0x299, 0x28f, 0x208, 0x208, 0x208, 0x208, 0x1de, -0x1ea, 0x1de, 0x1ea, 0x1de, 0x1ea, 0x160, 0x178, 0x160, 0x178, 0x2b, 0x51, -0x2b, 0x51, 0xffd8, 0xe, 0xffd8, 0xe, 0xff8b, 0xffd3, 0xff8b, 0xffd3, 0xfea4, -0xff00, 0xfea4, 0xff00, 0xfdd2, 0xfe45, 0xfdd2, 0xfe45, 0xfdd2, 0xfe45, 0xfcec, 0xfd77, -0xfcec, 0xfd77, 0xfb86, 0xfc2c, 0xfb86, 0xfc2c, 0xfa20, 0xfae1, 0xfa20, 0xfae1, 0xf970, -0xfa4d, 0xf970, 0xfa4d, 0xf8e1, 0xf9db, 0xf8e1, 0xf9db, 0xf8c1, 0xf9d8, 0xf8c1, 0xf9d8, -0xf8c1, 0xf9d8, 0xf92c, 0xfa5f, 0xf92c, 0xfa5f, 0xf977, 0xfac5, 0xf977, 0xfac5, 0xf95b, -0xfac1, 0xf95b, 0xfac1, 0xf957, 0xfad4, 0xf957, 0xfad4, 0xf901, 0xfa92, 0xf901, 0xfa92, -0xf901, 0xfa92, 0xf77f, 0xf922, 0xf77f, 0xf922, 0xf5e5, 0xf797, 0xf5e5, 0xf797, 0xf41f, -0xf5dd, 0xf41f, 0xf5dd, 0xf2a8, 0xf46f, 0xf2a8, 0xf46f, 0xf1c3, 0xf391, 0xf1c3, 0xf391, -0xf0de, 0xf2b1, 0xf0de, 0xf2b1, 0xf0de, 0xf2b1, 0xf07d, 0xf254, 0xf07d, 0xf254, 0xefe2, -0xf1bc, 0xefe2, 0xf1bc, 0xef8b, 0xf167, 0xef8b, 0xf167, 0xef49, 0xf128, 0xef49, 0xf128, -0xee6c, 0xf04f, 0xee6c, 0xf04f, 0xedb6, 0xef9e, 0xedb6, 0xef9e, 0xedb6, 0xef9e, 0xecac, -0xee9c, 0xecac, 0xee9c, 0xebbc, 0xedb5, 0xebbc, 0xedb5, 0xeaa2, 0xeca8, 0xeaa2, 0xeca8, -0xe937, 0xeb4d, 0xe937, 0xeb4d, 0xe8aa, 0xead3, 0xe8aa, 0xead3, 0xe8aa, 0xead3, 0xe893, -0xead2, 0xe893, 0xead2, 0xe8aa, 0xeb01, 0xe8aa, 0xeb01, 0xe851, 0xeac3, 0xe851, 0xeac3, -0xe718, 0xe9a6, 0xe718, 0xe9a6, 0xe5d5, 0xe880, 0xe5d5, 0xe880, 0xe4bd, 0xe786, 0xe4bd, -0xe786, 0xe4bd, 0xe786, 0xe3a3, 0xe689, 0xe3a3, 0xe689, 0xe27d, 0xe57f, 0xe27d, 0xe57f, -0xe15b, 0xe477, 0xe15b, 0xe477, 0xe0c1, 0xe3f3, 0xe0c1, 0xe3f3, 0xe085, 0xe3ca, 0xe085, -0xe3ca, 0xe06a, 0xe3be, 0xe06a, 0xe3be, 0xe06a, 0xe3be, 0xe0b1, 0xe40f, 0xe0b1, 0xe40f, -0xe05c, 0xe3be, 0xe05c, 0xe3be, 0xdfdb, 0xe33b, 0xdfdb, 0xe33b, 0xdf84, 0xe2de, 0xdf84, -0xe2de, 0xdf3e, 0xe28b, 0xdf3e, 0xe28b, 0xdf3e, 0xe28b, 0xdfb6, 0xe2f1, 0xdfb6, 0xe2f1, -0xdfc5, 0xe2e9, 0xdfc5, 0xe2e9, 0xe01c, 0xe325, 0xe01c, 0xe325, 0xe027, 0xe311, 0xe027, -0xe311, 0xdf8f, 0xe257, 0xdf8f, 0xe257, 0xe000, 0xe2a5, 0xe000, 0xe2a5, 0xe000, 0xe2a5, -0xe05b, 0xe2db, 0xe05b, 0xe2db, 0xe156, 0xe3b1, 0xe156, 0xe3b1, 0xe2ed, 0xe524, 0xe2ed, -0xe524, 0xe3c7, 0xe5db, 0xe3c7, 0xe5db, 0xe481, 0xe675, 0xe481, 0xe675, 0xe481, 0xe675, -0xe597, 0xe76e, 0xe597, 0xe76e, 0xe70d, 0xe8c9, 0xe70d, 0xe8c9, 0xe895, 0xea3c, 0xe895, -0xea3c, 0xea3d, 0xebd1, 0xea3d, 0xebd1, 0xeb65, 0xeceb, 0xeb65, 0xeceb, 0xebcb, 0xed47, -0xebcb, 0xed47, 0xebcb, 0xed47, 0xec94, 0xee09, 0xec94, 0xee09, 0xedde, 0xef50, 0xedde, -0xef50, 0xee8c, 0xeffe, 0xee8c, 0xeffe, 0xef10, 0xf084, 0xef10, 0xf084, 0xeffa, 0xf173, -0xeffa, 0xf173, 0xf0c2, 0xf241, 0xf0c2, 0xf241, 0xf0c2, 0xf241, 0xf199, 0xf31f, 0xf199, -0xf31f, 0xf22b, 0xf3b9, 0xf22b, 0xf3b9, 0xf2a1, 0xf436, 0xf2a1, 0xf436, 0xf2c5, 0xf460, -0xf2c5, 0xf460, 0xf29f, 0xf440, 0xf29f, 0xf440, 0xf29f, 0xf440, 0xf340, 0xf4e5, 0xf340, -0xf4e5, 0xf3a0, 0xf548, 0xf3a0, 0xf548, 0xf3b0, 0xf55b, 0xf3b0, 0xf55b, 0xf3ee, 0xf59a, -0xf3ee, 0xf59a, 0xf3ea, 0xf596, 0xf3ea, 0xf596, 0xf426, 0xf5d2, 0xf426, 0xf5d2, 0xf426, -0xf5d2, 0xf4f1, 0xf69c, 0xf4f1, 0xf69c, 0xf622, 0xf7cd, 0xf622, 0xf7cd, 0xf6c8, 0xf873, -0xf6c8, 0xf873, 0xf72b, 0xf8d7, 0xf72b, 0xf8d7, 0xf7e7, 0xf995, 0xf7e7, 0xf995, 0xf80f, -0xf9c0, 0xf80f, 0xf9c0, 0xf80f, 0xf9c0, 0xf811, 0xf9c7, 0xf811, 0xf9c7, 0xf802, 0xf9bf, -0xf802, 0xf9bf, 0xf7f6, 0xf9bb, 0xf7f6, 0xf9bb, 0xf804, 0xf9d4, 0xf804, 0xf9d4, 0xf74d, -0xf929, 0xf74d, 0xf929, 0xf74d, 0xf929, 0xf67f, 0xf867, 0xf67f, 0xf867, 0xf5e4, 0xf7da, -0xf5e4, 0xf7da, 0xf576, 0xf778, 0xf576, 0xf778, 0xf549, 0xf757, 0xf549, 0xf757, 0xf4f8, -0xf711, 0xf4f8, 0xf711, 0xf531, 0xf751, 0xf531, 0xf751, 0xf531, 0xf751, 0xf624, 0xf848, -0xf624, 0xf848, 0xf6d9, 0xf8fe, 0xf6d9, 0xf8fe, 0xf745, 0xf964, 0xf745, 0xf964, 0xf77a, -0xf98f, 0xf77a, 0xf98f, 0xf75e, 0xf962, 0xf75e, 0xf962, 0xf7aa, 0xf996, 0xf7aa, 0xf996, -0xf7aa, 0xf996, 0xf80a, 0xf9d8, 0xf80a, 0xf9d8, 0xf85c, 0xfa04, 0xf85c, 0xfa04, 0xf907, -0xfa83, 0xf907, 0xfa83, 0xfa16, 0xfb5f, 0xfa16, 0xfb5f, 0xfc29, 0xfd39, 0xfc29, 0xfd39, -0xfc29, 0xfd39, 0xfee9, 0xffb9, 0xfee9, 0xffb9, 0x18f, 0x21b, 0x18f, 0x21b, 0x3cd, -0x412, 0x3cd, 0x412, 0x573, 0x56d, 0x573, 0x56d, 0x6c3, 0x670, 0x6c3, 0x670, -0x840, 0x7a0, 0x840, 0x7a0, 0x840, 0x7a0, 0x963, 0x876, 0x963, 0x876, 0xa14, -0x8dc, 0xa14, 0x8dc, 0xbbc, 0xa3d, 0xbbc, 0xa3d, 0xe28, 0xc65, 0xe28, 0xc65, -0x10f4, 0xef3, 0x10f4, 0xef3, 0x13d4, 0x119a, 0x13d4, 0x119a, 0x13d4, 0x119a, 0x15bc, -0x1351, 0x15bc, 0x1351, 0x1730, 0x1499, 0x1730, 0x1499, 0x185e, 0x15a5, 0x185e, 0x15a5, -0x1946, 0x1671, 0x1946, 0x1671, 0x1a3f, 0x1757, 0x1a3f, 0x1757, 0x1a3f, 0x1757, 0x1ac6, -0x17d2, 0x1ac6, 0x17d2, 0x1b07, 0x180e, 0x1b07, 0x180e, 0x1b3e, 0x1848, 0x1b3e, 0x1848, -0x1b7b, 0x188d, 0x1b7b, 0x188d, 0x1ba8, 0x18c8, 0x1ba8, 0x18c8, 0x1ba7, 0x18d9, 0x1ba7, -0x18d9, 0x1ba7, 0x18d9, 0x1b9a, 0x18e1, 0x1b9a, 0x18e1, 0x1ae1, 0x1840, 0x1ae1, 0x1840, -0x1984, 0x16fd, 0x1984, 0x16fd, 0x1800, 0x1594, 0x1800, 0x1594, 0x1656, 0x1404, 0x1656, -0x1404, 0x14a3, 0x126b, 0x14a3, 0x126b, 0x14a3, 0x126b, 0x1378, 0x1158, 0x1378, 0x1158, -0x1291, 0x1088, 0x1291, 0x1088, 0x1182, 0xf8c, 0x1182, 0xf8c, 0x113d, 0xf58, 0x113d, -0xf58, 0x1165, 0xf8e, 0x1165, 0xf8e, 0x1165, 0xf8e, 0x1193, 0xfc7, 0x1193, 0xfc7, -0x118d, 0xfc9, 0x118d, 0xfc9, 0x10f8, 0xf3a, 0x10f8, 0xf3a, 0x1082, 0xec7, 0x1082, -0xec7, 0x1029, 0xe6f, 0x1029, 0xe6f, 0xffd, 0xe44, 0xffd, 0xe44, 0xffd, 0xe44, -0xfdb, 0xe21, 0xfdb, 0xe21, 0xf5b, 0xd9f, 0xf5b, 0xd9f, 0xe51, 0xc94, 0xe51, -0xc94, 0xcfc, 0xb3f, 0xcfc, 0xb3f, 0xbcc, 0xa11, 0xbcc, 0xa11, 0xb11, 0x95a, -0xb11, 0x95a, 0xb11, 0x95a, 0xabe, 0x90e, 0xabe, 0x90e, 0x9f5, 0x84e, 0x9f5, -0x84e, 0x93a, 0x79f, 0x93a, 0x79f, 0x8c7, 0x73d, 0x8c7, 0x73d, 0x854, 0x6dd, -0x854, 0x6dd, 0x854, 0x6dd, 0x849, 0x6ea, 0x849, 0x6ea, 0x807, 0x6c5, 0x807, -0x6c5, 0x724, 0x601, 0x724, 0x601, 0x639, 0x539, 0x639, 0x539, 0x5c8, 0x4f0, -0x5c8, 0x4f0, 0x4f0, 0x440, 0x4f0, 0x440, 0x4f0, 0x440, 0x35e, 0x2dc, 0x35e, -0x2dc, 0x221, 0x1cd, 0x221, 0x1cd, 0x15b, 0x138, 0x15b, 0x138, 0xac, 0xbc, -0xac, 0xbc, 0xffd1, 0x13, 0xffd1, 0x13, 0xfed1, 0xff46, 0xfed1, 0xff46, 0xfed1, -0xff46, 0xfdbf, 0xfe67, 0xfdbf, 0xfe67, 0xfcbe, 0xfd98, 0xfcbe, 0xfd98, 0xfbd1, 0xfcdc, -0xfbd1, 0xfcdc, 0xfab5, 0xfbef, 0xfab5, 0xfbef, 0xf9b1, 0xfb17, 0xf9b1, 0xfb17, 0xf9b1, -0xfb17, 0xf8d2, 0xfa61, 0xf8d2, 0xfa61, 0xf7fe, 0xf9b4, 0xf7fe, 0xf9b4, 0xf789, 0xf961, -0xf789, 0xf961, 0xf75d, 0xf954, 0xf75d, 0xf954, 0xf6f0, 0xf901, 0xf6f0, 0xf901, 0xf641, -0xf868, 0xf641, 0xf868, 0xf641, 0xf868, 0xf5b1, 0xf7e8, 0xf5b1, 0xf7e8, 0xf523, 0xf766, -0xf523, 0xf766, 0xf4a0, 0xf6ea, 0xf4a0, 0xf6ea, 0xf425, 0xf670, 0xf425, 0xf670, 0xf3ab, -0xf5f2, 0xf3ab, 0xf5f2, 0xf391, 0xf5cf, 0xf391, 0xf5cf, 0xf391, 0xf5cf, 0xf39b, 0xf5cc, -0xf39b, 0xf5cc, 0xf357, 0xf576, 0xf357, 0xf576, 0xf2db, 0xf4e3, 0xf2db, 0xf4e3, 0xf281, -0xf46e, 0xf281, 0xf46e, 0xf26b, 0xf43a, 0xf26b, 0xf43a, 0xf26b, 0xf43a, 0xf29f, 0xf44b, -0xf29f, 0xf44b, 0xf2d4, 0xf45b, 0xf2d4, 0xf45b, 0xf306, 0xf465, 0xf306, 0xf465, 0xf38f, -0xf4c5, 0xf38f, 0xf4c5, 0xf3f7, 0xf501, 0xf3f7, 0xf501, 0xf470, 0xf54d, 0xf470, 0xf54d, -0xf470, 0xf54d, 0xf58e, 0xf63d, 0xf58e, 0xf63d, 0xf6e6, 0xf766, 0xf6e6, 0xf766, 0xf835, -0xf887, 0xf835, 0xf887, 0xf94e, 0xf970, 0xf94e, 0xf970, 0xfa23, 0xfa17, 0xfa23, 0xfa17, -0xfa23, 0xfa17, 0xfb3b, 0xfb01, 0xfb3b, 0xfb01, 0xfc8a, 0xfc24, 0xfc8a, 0xfc24, 0xfdfa, -0xfd68, 0xfdfa, 0xfd68, 0xfff8, 0xff3b, 0xfff8, 0xff3b, 0x20b, 0x124, 0x20b, 0x124, -0x3c1, 0x2b2, 0x3c1, 0x2b2, 0x3c1, 0x2b2, 0x519, 0x3e2, 0x519, 0x3e2, 0x5f8, -0x49b, 0x5f8, 0x49b, 0x68c, 0x509, 0x68c, 0x509, 0x729, 0x581, 0x729, 0x581, -0x7eb, 0x61f, 0x7eb, 0x61f, 0x8a5, 0x6b6, 0x8a5, 0x6b6, 0x8a5, 0x6b6, 0x9a1, -0x78f, 0x9a1, 0x78f, 0xaea, 0x8b6, 0xaea, 0x8b6, 0xc77, 0xa22, 0xc77, 0xa22, -0xe1d, 0xba7, 0xe1d, 0xba7, 0xf73, 0xcdd, 0xf73, 0xcdd, 0xf73, 0xcdd, 0x10b1, -0xdfd, 0x10b1, 0xdfd, 0x11d9, 0xf08, 0x11d9, 0xf08, 0x1320, 0x1034, 0x1320, 0x1034, -0x141a, 0x1115, 0x141a, 0x1115, 0x149f, 0x1183, 0x149f, 0x1183, 0x159b, 0x126b, 0x159b, -0x126b, 0x159b, 0x126b, 0x16de, 0x139d, 0x16de, 0x139d, 0x1843, 0x14f5, 0x1843, 0x14f5, -0x1989, 0x1633, 0x1989, 0x1633, 0x1a6d, 0x1713, 0x1a6d, 0x1713, 0x1b61, 0x1807, 0x1b61, -0x1807, 0x1bbd, 0x1868, 0x1bbd, 0x1868, 0x1bbd, 0x1868, 0x1b43, 0x17f8, 0x1b43, 0x17f8, -0x1aae, 0x1773, 0x1aae, 0x1773, 0x19fb, 0x16d5, 0x19fb, 0x16d5, 0x1956, 0x1649, 0x1956, -0x1649, 0x1931, 0x1642, 0x1931, 0x1642, 0x1931, 0x1642, 0x1927, 0x165a, 0x1927, 0x165a, -0x189a, 0x15f2, 0x189a, 0x15f2, 0x17cd, 0x154c, 0x17cd, 0x154c, 0x16f6, 0x149f, 0x16f6, -0x149f, 0x1608, 0x13dd, 0x1608, 0x13dd, 0x1544, 0x1344, 0x1544, 0x1344, 0x1544, 0x1344, -0x148e, 0x12ba, 0x148e, 0x12ba, 0x13e8, 0x123d, 0x13e8, 0x123d, 0x1354, 0x11d0, 0x1354, -0x11d0, 0x1297, 0x1138, 0x1297, 0x1138, 0x117c, 0x103c, 0x117c, 0x103c, 0x1030, 0xf0c, -0x1030, 0xf0c, 0x1030, 0xf0c, 0xef3, 0xde6, 0xef3, 0xde6, 0xdbf, 0xcc2, 0xdbf, -0xcc2, 0xcf0, 0xbfe, 0xcf0, 0xbfe, 0xc23, 0xb36, 0xc23, 0xb36, 0xb48, 0xa5b, -0xb48, 0xa5b, 0xb48, 0xa5b, 0xaf0, 0x9fe, 0xaf0, 0x9fe, 0xae0, 0x9e3, 0xae0, -0x9e3, 0xaf3, 0x9e7, 0xaf3, 0x9e7, 0xb39, 0xa1a, 0xb39, 0xa1a, 0xb68, 0xa33, -0xb68, 0xa33, 0xb52, 0xa06, 0xb52, 0xa06, 0xb52, 0xa06, 0xb6e, 0xa0a, 0xb6e, -0xa0a, 0xb4c, 0x9d0, 0xb4c, 0x9d0, 0xaf9, 0x965, 0xaf9, 0x965, 0xae3, 0x93a, -0xae3, 0x93a, 0xa83, 0x8c8, 0xa83, 0x8c8, 0xaca, 0x900, 0xaca, 0x900, 0xaca, -0x900, 0xb9b, 0x9c6, 0xb9b, 0x9c6, 0xc37, 0xa5d, 0xc37, 0xa5d, 0xca8, 0xacd, -0xca8, 0xacd, 0xc67, 0xa92, 0xc67, 0xa92, 0xbd0, 0xa05, 0xbd0, 0xa05, 0xbd0, -0xa05, 0xb41, 0x984, 0xb41, 0x984, 0xae0, 0x938, 0xae0, 0x938, 0xa7f, 0x8ef, -0xa7f, 0x8ef, 0x9bc, 0x849, 0x9bc, 0x849, 0x8c9, 0x775, 0x8c9, 0x775, 0x7fb, -0x6c8, 0x7fb, 0x6c8, 0x7fb, 0x6c8, 0x772, 0x663, 0x772, 0x663, 0x694, 0x5a8, -0x694, 0x5a8, 0x5b6, 0x4ee, 0x5b6, 0x4ee, 0x567, 0x4c2, 0x567, 0x4c2, 0x533, -0x4b0, 0x533, 0x4b0, 0x4d5, 0x471, 0x4d5, 0x471, 0x4d5, 0x471, 0x435, 0x3ed, -0x435, 0x3ed, 0x369, 0x33a, 0x369, 0x33a, 0x2b5, 0x29d, 0x2b5, 0x29d, 0x28e, -0x289, 0x28e, 0x289, 0x279, 0x284, 0x279, 0x284, 0x279, 0x284, 0x1fc, 0x214, -0x1fc, 0x214, 0x1aa, 0x1cd, 0x1aa, 0x1cd, 0x1c0, 0x1ed, 0x1c0, 0x1ed, 0x1a7, -0x1da, 0x1a7, 0x1da, 0x110, 0x14a, 0x110, 0x14a, 0xa2, 0xe2, 0xa2, 0xe2, -0xa2, 0xe2, 0x4, 0x4b, 0x4, 0x4b, 0xff75, 0xffc4, 0xff75, 0xffc4, 0xff65, -0xffbe, 0xff65, 0xffbe, 0xfea4, 0xff07, 0xfea4, 0xff07, 0xfd68, 0xfdd9, 0xfd68, 0xfdd9, -0xfc53, 0xfcd5, 0xfc53, 0xfcd5, 0xfc53, 0xfcd5, 0xfbad, 0xfc41, 0xfbad, 0xfc41, 0xfb51, -0xfbfb, 0xfb51, 0xfbfb, 0xfac4, 0xfb85, 0xfac4, 0xfb85, 0xfa57, 0xfb31, 0xfa57, 0xfb31, -0xfa47, 0xfb3d, 0xfa47, 0xfb3d, 0xfa47, 0xfb3d, 0xfaac, 0xfbbe, 0xfaac, 0xfbbe, 0xfb3f, -0xfc6d, 0xfb3f, 0xfc6d, 0xfbf1, 0xfd3b, 0xfbf1, 0xfd3b, 0xfc42, 0xfda8, 0xfc42, 0xfda8, -0xfbdf, 0xfd5e, 0xfbdf, 0xfd5e, 0xfb5a, 0xfcf1, 0xfb5a, 0xfcf1, 0xfb5a, 0xfcf1, 0xfa53, -0xfbff, 0xfa53, 0xfbff, 0xf8cb, 0xfa89, 0xf8cb, 0xfa89, 0xf724, 0xf8ef, 0xf724, 0xf8ef, -0xf5ad, 0xf782, 0xf5ad, 0xf782, 0xf4df, 0xf6ba, 0xf4df, 0xf6ba, 0xf4ba, 0xf698, 0xf4ba, -0xf698, 0xf4ba, 0xf698, 0xf4c9, 0xf6a6, 0xf4c9, 0xf6a6, 0xf499, 0xf671, 0xf499, 0xf671, -0xf468, 0xf63a, 0xf468, 0xf63a, 0xf3d9, 0xf5a3, 0xf3d9, 0xf5a3, 0xf2d3, 0xf493, 0xf2d3, -0xf493, 0xf2d3, 0xf493, 0xf1b1, 0xf367, 0xf1b1, 0xf367, 0xf06a, 0xf217, 0xf06a, 0xf217, -0xef88, 0xf12e, 0xef88, 0xf12e, 0xef1e, 0xf0be, 0xef1e, 0xf0be, 0xeefb, 0xf097, 0xeefb, -0xf097, 0xeeb3, 0xf04e, 0xeeb3, 0xf04e, 0xeeb3, 0xf04e, 0xee3f, 0xefdd, 0xee3f, 0xefdd, -0xee03, 0xefa7, 0xee03, 0xefa7, 0xedb1, 0xef60, 0xedb1, 0xef60, 0xed2b, 0xeee8, 0xed2b, -0xeee8, 0xec5d, 0xee2b, 0xec5d, 0xee2b, 0xeb6a, 0xed4d, 0xeb6a, 0xed4d, 0xeb6a, 0xed4d, -0xea41, 0xec3a, 0xea41, 0xec3a, 0xe922, 0xeb34, 0xe922, 0xeb34, 0xe87a, 0xeaa5, 0xe87a, -0xeaa5, 0xe7da, 0xea1e, 0xe7da, 0xea1e, 0xe756, 0xe9b1, 0xe756, 0xe9b1, 0xe756, 0xe9b1, -0xe706, 0xe977, 0xe706, 0xe977, 0xe6b5, 0xe938, 0xe6b5, 0xe938, 0xe5f6, 0xe888, 0xe5f6, -0xe888, 0xe50f, 0xe7ab, 0xe50f, 0xe7ab, 0xe47e, 0xe71f, 0xe47e, 0xe71f, 0xe3ee, 0xe68e, -0xe3ee, 0xe68e, 0xe3ee, 0xe68e, 0xe3b3, 0xe64d, 0xe3b3, 0xe64d, 0xe3c6, 0xe654, 0xe3c6, -0xe654, 0xe37f, 0xe5fc, 0xe37f, 0xe5fc, 0xe2e9, 0xe54f, 0xe2e9, 0xe54f, 0xe316, 0xe561, -0xe316, 0xe561, 0xe316, 0xe561, 0xe3cf, 0xe5fa, 0xe3cf, 0xe5fa, 0xe416, 0xe61e, 0xe416, -0xe61e, 0xe4cf, 0xe6b1, 0xe4cf, 0xe6b1, 0xe5aa, 0xe765, 0xe5aa, 0xe765, 0xe677, 0xe80b, -0xe677, 0xe80b, 0xe7b4, 0xe921, 0xe7b4, 0xe921, 0xe7b4, 0xe921, 0xe8c8, 0xea0f, 0xe8c8, -0xea0f, 0xe9e1, 0xeb06, 0xe9e1, 0xeb06, 0xeabc, 0xebc2, 0xeabc, 0xebc2, 0xeb69, 0xec53, -0xeb69, 0xec53, 0xec3d, 0xed10, 0xec3d, 0xed10, 0xeccb, 0xed8c, 0xeccb, 0xed8c, 0xeccb, -0xed8c, 0xed91, 0xee44, 0xed91, 0xee44, 0xeeaa, 0xef56, 0xeeaa, 0xef56, 0xef4b, 0xeff3, -0xef4b, 0xeff3, 0xefa5, 0xf04f, 0xefa5, 0xf04f, 0xf061, 0xf111, 0xf061, 0xf111, 0xf061, -0xf111, 0xf12d, 0xf1e7, 0xf12d, 0xf1e7, 0xf1cf, 0xf297, 0xf1cf, 0xf297, 0xf20b, 0xf2e4, -0xf20b, 0xf2e4, 0xf1ed, 0xf2d7, 0xf1ed, 0xf2d7, 0xf1c7, 0xf2c5, 0xf1c7, 0xf2c5, 0xf177, -0xf289, 0xf177, 0xf289, 0xf177, 0xf289, 0xf169, 0xf290, 0xf169, 0xf290, 0xf15e, 0xf29a, -0xf15e, 0xf29a, 0xf15c, 0xf2ac, 0xf15c, 0xf2ac, 0xf1d5, 0xf337, 0xf1d5, 0xf337, 0xf242, -0xf3b7, 0xf242, 0xf3b7, 0xf2b4, 0xf439, 0xf2b4, 0xf439, 0xf2b4, 0xf439, 0xf31c, 0xf4b1, -0xf31c, 0xf4b1, 0xf355, 0xf4f9, 0xf355, 0xf4f9, 0xf38a, 0xf53c, 0xf38a, 0xf53c, 0xf3d8, -0xf597, 0xf3d8, 0xf597, 0xf409, 0xf5d4, 0xf409, 0xf5d4, 0xf409, 0xf5d4, 0xf421, 0xf5f7, -0xf421, 0xf5f7, 0xf478, 0xf65a, 0xf478, 0xf65a, 0xf457, 0xf645, 0xf457, 0xf645, 0xf39d, -0xf597, 0xf39d, 0xf597, 0xf2ce, 0xf4d4, 0xf2ce, 0xf4d4, 0xf23e, 0xf44f, 0xf23e, 0xf44f, -0xf23e, 0xf44f, 0xf1f6, 0xf414, 0xf1f6, 0xf414, 0xf1a1, 0xf3c9, 0xf1a1, 0xf3c9, 0xf182, -0xf3b5, 0xf182, 0xf3b5, 0xf167, 0xf3a2, 0xf167, 0xf3a2, 0xf14a, 0xf38c, 0xf14a, 0xf38c, -0xf189, 0xf3cf, 0xf189, 0xf3cf, 0xf189, 0xf3cf, 0xf1fa, 0xf440, 0xf1fa, 0xf440, 0xf275, -0xf4b7, 0xf275, 0xf4b7, 0xf2b4, 0xf4ed, 0xf2b4, 0xf4ed, 0xf321, 0xf54c, 0xf321, 0xf54c, -0xf3dc, 0xf5f4, 0xf3dc, 0xf5f4, 0xf3dc, 0xf5f4, 0xf446, 0xf643, 0xf446, 0xf643, 0xf4b0, -0xf68c, 0xf4b0, 0xf68c, 0xf52a, 0xf6de, 0xf52a, 0xf6de, 0xf5bd, 0xf740, 0xf5bd, 0xf740, -0xf7a1, 0xf8ee, 0xf7a1, 0xf8ee, 0xfa69, 0xfb78, 0xfa69, 0xfb78, 0xfa69, 0xfb78, 0xfcc5, -0xfd8f, 0xfcc5, 0xfd8f, 0xff19, 0xff99, 0xff19, 0xff99, 0x13a, 0x16a, 0x13a, 0x16a, -0x2f2, 0x2cf, 0x2f2, 0x2cf, 0x494, 0x41a, 0x494, 0x41a, 0x5e5, 0x512, 0x5e5, -0x512, 0x5e5, 0x512, 0x755, 0x629, 0x755, 0x629, 0x94b, 0x7c7, 0x94b, 0x7c7, -0xbc1, 0x9e7, 0xbc1, 0x9e7, 0xe9a, 0xc6d, 0xe9a, 0xc6d, 0x1121, 0xea5, 0x1121, -0xea5, 0x1121, 0xea5, 0x12ea, 0x1025, 0x12ea, 0x1025, 0x1471, 0x116a, 0x1471, 0x116a, -0x1625, 0x12e3, 0x1625, 0x12e3, 0x17b8, 0x1442, 0x17b8, 0x1442, 0x1916, 0x1575, 0x1916, -0x1575, 0x1a2e, 0x166b, 0x1a2e, 0x166b, 0x1a2e, 0x166b, 0x1aa0, 0x16c4, 0x1aa0, 0x16c4, -0x1b1d, 0x1730, 0x1b1d, 0x1730, 0x1bef, 0x17f9, 0x1bef, 0x17f9, 0x1c75, 0x187f, 0x1c75, -0x187f, 0x1cd1, 0x18e2, 0x1cd1, 0x18e2, 0x1cfc, 0x191a, 0x1cfc, 0x191a, 0x1cfc, 0x191a, -0x1cb0, 0x18e1, 0x1cb0, 0x18e1, 0x1bfb, 0x1843, 0x1bfb, 0x1843, 0x1acc, 0x1730, 0x1acc, -0x1730, 0x1976, 0x15f7, 0x1976, 0x15f7, 0x1845, 0x14e6, 0x1845, 0x14e6, 0x1845, 0x14e6, -0x1746, 0x1408, 0x1746, 0x1408, 0x16b2, 0x1394, 0x16b2, 0x1394, 0x163c, 0x133f, 0x163c, -0x133f, 0x15be, 0x12df, 0x15be, 0x12df, 0x1582, 0x12c0, 0x1582, 0x12c0, 0x1518, 0x1271, -0x1518, 0x1271, 0x1518, 0x1271, 0x146e, 0x11e0, 0x146e, 0x11e0, 0x13c0, 0x1148, 0x13c0, -0x1148, 0x130f, 0x10ac, 0x130f, 0x10ac, 0x1312, 0x10c0, 0x1312, 0x10c0, 0x133e, 0x10fe, -0x133e, 0x10fe, 0x129f, 0x106d, 0x129f, 0x106d, 0x129f, 0x106d, 0x11a3, 0xf80, 0x11a3, -0xf80, 0x1093, 0xe7f, 0x1093, 0xe7f, 0xfef, 0xde9, 0xfef, 0xde9, 0xfbb, 0xdc5, -0xfbb, 0xdc5, 0xf5a, 0xd75, 0xf5a, 0xd75, 0xf5a, 0xd75, 0xf1c, 0xd4a, 0xf1c, -0xd4a, 0xed1, 0xd14, 0xed1, 0xd14, 0xe55, 0xcb0, 0xe55, 0xcb0, 0xe10, 0xc86, -0xe10, 0xc86, 0xd76, 0xc09, 0xd76, 0xc09, 0xc8f, 0xb43, 0xc8f, 0xb43, 0xc8f, -0xb43, 0xbdf, 0xab8, 0xbdf, 0xab8, 0xb1e, 0xa1f, 0xb1e, 0xa1f, 0xa28, 0x955, -0xa28, 0x955, 0x8e9, 0x843, 0x8e9, 0x843, 0x76e, 0x6f9, 0x76e, 0x6f9, 0x63c, -0x5f8, 0x63c, 0x5f8, 0x63c, 0x5f8, 0x580, 0x570, 0x580, 0x570, 0x4db, 0x500, -0x4db, 0x500, 0x3fb, 0x455, 0x3fb, 0x455, 0x2d7, 0x365, 0x2d7, 0x365, 0x182, -0x243, 0x182, 0x243, 0x182, 0x243, 0xfff7, 0xeb, 0xfff7, 0xeb, 0xfe7d, 0xffa2, -0xfe7d, 0xffa2, 0xfd51, 0xfea3, 0xfd51, 0xfea3, 0xfc06, 0xfd83, 0xfc06, 0xfd83, 0xfaeb, -0xfc90, 0xfaeb, 0xfc90, 0xfa66, 0xfc2e, 0xfa66, 0xfc2e, 0xfa66, 0xfc2e, 0xf9f3, 0xfbdb, -0xf9f3, 0xfbdb, 0xf95f, 0xfb62, 0xf95f, 0xfb62, 0xf891, 0xfaab, 0xf891, 0xfaab, 0xf7a9, -0xf9d5, 0xf7a9, 0xf9d5, 0xf70f, 0xf949, 0xf70f, 0xf949, 0xf6b7, 0xf8f9, 0xf6b7, 0xf8f9, -0xf6b7, 0xf8f9, 0xf622, 0xf867, 0xf622, 0xf867, 0xf531, 0xf776, 0xf531, 0xf776, 0xf425, -0xf664, 0xf425, 0xf664, 0xf33a, 0xf56f, 0xf33a, 0xf56f, 0xf29e, 0xf4c4, 0xf29e, 0xf4c4, -0xf29e, 0xf4c4, 0xf1f7, 0xf40b, 0xf1f7, 0xf40b, 0xf169, 0xf367, 0xf169, 0xf367, 0xf10c, -0xf2f0, 0xf10c, 0xf2f0, 0xf0a0, 0xf267, 0xf0a0, 0xf267, 0xf00d, 0xf1b5, 0xf00d, 0xf1b5, -0xef50, 0xf0d5, 0xef50, 0xf0d5, 0xef50, 0xf0d5, 0xef0a, 0xf06a, 0xef0a, 0xf06a, 0xef17, -0xf051, 0xef17, 0xf051, 0xef63, 0xf075, 0xef63, 0xf075, 0xf035, 0xf11e, 0xf035, 0xf11e, -0xf140, 0xf1ff, 0xf140, 0xf1ff, 0xf140, 0xf1ff, 0xf266, 0xf2fb, 0xf266, 0xf2fb, 0xf331, -0xf39b, 0xf331, 0xf39b, 0xf3db, 0xf41b, 0xf3db, 0xf41b, 0xf4fa, 0xf50f, 0xf4fa, 0xf50f, -0xf631, 0xf61d, 0xf631, 0xf61d, 0xf713, 0xf6d7, 0xf713, 0xf6d7, 0xf713, 0xf6d7, 0xf7fc, -0xf798, 0xf7fc, 0xf798, 0xf94d, 0xf8c4, 0xf94d, 0xf8c4, 0xfadd, 0xfa30, 0xfadd, 0xfa30, -0xfc9a, 0xfbca, 0xfc9a, 0xfbca, 0xfe26, 0xfd35, 0xfe26, 0xfd35, 0xff86, 0xfe76, 0xff86, -0xfe76, 0xff86, 0xfe76, 0xeb, 0xffbd, 0xeb, 0xffbd, 0x249, 0xff, 0x249, 0xff, -0x358, 0x1f4, 0x358, 0x1f4, 0x3da, 0x25d, 0x3da, 0x25d, 0x46d, 0x2d8, 0x46d, -0x2d8, 0x46d, 0x2d8, 0x549, 0x39f, 0x549, 0x39f, 0x6bc, 0x4fd, 0x6bc, 0x4fd, -0x880, 0x6ad, 0x880, 0x6ad, 0xa17, 0x831, 0xa17, 0x831, 0xba6, 0x9ae, 0xba6, -0x9ae, 0xca5, 0xa9c, 0xca5, 0xa9c, 0xca5, 0xa9c, 0xd7f, 0xb67, 0xd7f, 0xb67, -0xe78, 0xc50, 0xe78, 0xc50, 0xf6a, 0xd35, 0xf6a, 0xd35, 0x10d2, 0xe90, 0x10d2, -0xe90, 0x124b, 0xffd, 0x124b, 0xffd, 0x13b8, 0x1160, 0x13b8, 0x1160, 0x13b8, 0x1160, -0x154e, 0x12ed, 0x154e, 0x12ed, 0x16b4, 0x144d, 0x16b4, 0x144d, 0x17b9, 0x154c, 0x17b9, -0x154c, 0x18c6, 0x1657, 0x18c6, 0x1657, 0x19fc, 0x178d, 0x19fc, 0x178d, 0x19fc, 0x178d, -0x1a6f, 0x1803, 0x1a6f, 0x1803, 0x1a2d, 0x17c7, 0x1a2d, 0x17c7, 0x1a31, 0x17d4, 0x1a31, -0x17d4, 0x1a31, 0x17df, 0x1a31, 0x17df, 0x199b, 0x1758, 0x199b, 0x1758, 0x18d4, 0x16a3, -0x18d4, 0x16a3, 0x18d4, 0x16a3, 0x181a, 0x15ff, 0x181a, 0x15ff, 0x17a0, 0x159c, 0x17a0, -0x159c, 0x17ab, 0x15c2, 0x17ab, 0x15c2, 0x17bc, 0x15ef, 0x17bc, 0x15ef, 0x1758, 0x15a8, -0x1758, 0x15a8, 0x1670, 0x14df, 0x1670, 0x14df, 0x1670, 0x14df, 0x1561, 0x13ef, 0x1561, -0x13ef, 0x14b5, 0x1363, 0x14b5, 0x1363, 0x1417, 0x12e3, 0x1417, 0x12e3, 0x1327, 0x1211, -0x1327, 0x1211, 0x120a, 0x110f, 0x120a, 0x110f, 0x120a, 0x110f, 0x10fb, 0x1019, 0x10fb, -0x1019, 0x100f, 0xf43, 0x100f, 0xf43, 0xf62, 0xea8, 0xf62, 0xea8, 0xf08, 0xe5d, -0xf08, 0xe5d, 0xeb0, 0xe0f, 0xeb0, 0xe0f, 0xe96, 0xdfb, 0xe96, 0xdfb, 0xe96, -0xdfb, 0xec1, 0xe28, 0xec1, 0xe28, 0xed0, 0xe34, 0xed0, 0xe34, 0xecb, 0xe29, -0xecb, 0xe29, 0xe55, 0xdaa, 0xe55, 0xdaa, 0xda5, 0xcec, 0xda5, 0xcec, 0xd6d, -0xca4, 0xd6d, 0xca4, 0xd6d, 0xca4, 0xd73, 0xc98, 0xd73, 0xc98, 0xd1f, 0xc30, -0xd1f, 0xc30, 0xd0f, 0xc0c, 0xd0f, 0xc0c, 0xd83, 0xc6c, 0xd83, 0xc6c, 0xdcb, -0xca0, 0xdcb, 0xca0, 0xdcb, 0xca0, 0xe85, 0xd49, 0xe85, 0xd49, 0xf69, 0xe1d, -0xf69, 0xe1d, 0xfc1, 0xe68, 0xfc1, 0xe68, 0xfa7, 0xe45, 0xfa7, 0xe45, 0xf56, -0xdee, 0xf56, 0xdee, 0xf5f, 0xdf6, 0xf5f, 0xdf6, 0xf5f, 0xdf6, 0xf27, 0xdc0, -0xf27, 0xdc0, 0xe95, 0xd35, 0xe95, 0xd35, 0xe2c, 0xcd7, 0xe2c, 0xcd7, 0xdcf, -0xc89, 0xdcf, 0xc89, 0xd8d, 0xc5a, 0xd8d, 0xc5a, 0xd3f, 0xc23, 0xd3f, 0xc23, -0xd3f, 0xc23, 0xcb5, 0xbb1, 0xcb5, 0xbb1, 0xbdd, 0xaf4, 0xbdd, 0xaf4, 0xafe, -0xa32, 0xafe, 0xa32, 0x9d4, 0x927, 0x9d4, 0x927, 0x836, 0x7a7, 0x836, 0x7a7, -0x836, 0x7a7, 0x701, 0x690, 0x701, 0x690, 0x680, 0x62d, 0x680, 0x62d, 0x5fa, -0x5c2, 0x5fa, 0x5c2, 0x535, 0x519, 0x535, 0x519, 0x4db, 0x4d7, 0x4db, 0x4d7, -0x480, 0x493, 0x480, 0x493, 0x480, 0x493, 0x3f9, 0x420, 0x3f9, 0x420, 0x3a4, -0x3de, 0x3a4, 0x3de, 0x2fb, 0x345, 0x2fb, 0x345, 0x21d, 0x275, 0x21d, 0x275, -0x19f, 0x204, 0x19f, 0x204, 0x12c, 0x19d, 0x12c, 0x19d, 0x12c, 0x19d, 0x1f, -0x9a, 0x1f, 0x9a, 0xfee6, 0xff6c, 0xfee6, 0xff6c, 0xfdc3, 0xfe53, 0xfdc3, 0xfe53, -0xfc82, 0xfd1d, 0xfc82, 0xfd1d, 0xfba2, 0xfc47, 0xfba2, 0xfc47, 0xfba2, 0xfc47, 0xfb35, -0xfbe7, 0xfb35, 0xfbe7, 0xfaee, 0xfbae, 0xfaee, 0xfbae, 0xfa5b, 0xfb2a, 0xfa5b, 0xfb2a, -0xf96e, 0xfa4e, 0xf96e, 0xfa4e, 0xf8e8, 0xf9da, 0xf8e8, 0xf9da, 0xf8e7, 0xf9ed, 0xf8e7, -0xf9ed, 0xf8e7, 0xf9ed, 0xf8c6, 0xf9e0, 0xf8c6, 0xf9e0, 0xf89d, 0xf9cd, 0xf89d, 0xf9cd, -0xf8b6, 0xf9fd, 0xf8b6, 0xf9fd, 0xf89f, 0xf9fc, 0xf89f, 0xf9fc, 0xf860, 0xf9d3, 0xf860, -0xf9d3, 0xf7a5, 0xf92d, 0xf7a5, 0xf92d, 0xf7a5, 0xf92d, 0xf607, 0xf7a2, 0xf607, 0xf7a2, -0xf46b, 0xf618, 0xf46b, 0xf618, 0xf2f6, 0xf4b4, 0xf2f6, 0xf4b4, 0xf18f, 0xf359, 0xf18f, -0xf359, 0xf0bb, 0xf291, 0xf0bb, 0xf291, 0xf0bb, 0xf291, 0xf00c, 0xf1eb, 0xf00c, 0xf1eb, -0xef32, 0xf116, 0xef32, 0xf116, 0xee80, 0xf068, 0xee80, 0xf068, 0xede9, 0xefd2, 0xede9, -0xefd2, 0xed2b, 0xef13, 0xed2b, 0xef13, 0xec60, 0xee47, 0xec60, 0xee47, 0xec60, 0xee47, -0xebf4, 0xedd7, 0xebf4, 0xedd7, 0xeb9a, 0xed7a, 0xeb9a, 0xed7a, 0xeb2b, 0xed08, 0xeb2b, -0xed08, 0xeacf, 0xecaa, 0xeacf, 0xecaa, 0xea48, 0xec22, 0xea48, 0xec22, 0xe9d9, 0xebb4, -0xe9d9, 0xebb4, 0xe9d9, 0xebb4, 0xe9be, 0xeb9c, 0xe9be, 0xeb9c, 0xe9ef, 0xebd3, 0xe9ef, -0xebd3, 0xe9b9, 0xeba5, 0xe9b9, 0xeba5, 0xe872, 0xea6a, 0xe872, 0xea6a, 0xe6f8, 0xe8ff, -0xe6f8, 0xe8ff, 0xe6f8, 0xe8ff, 0xe60d, 0xe825, 0xe60d, 0xe825, 0xe558, 0xe784, 0xe558, -0xe784, 0xe4c5, 0xe707, 0xe4c5, 0xe707, 0xe48a, 0xe6e2, 0xe48a, 0xe6e2, 0xe40d, 0xe67d, -0xe40d, 0xe67d, 0xe3a1, 0xe629, 0xe3a1, 0xe629, 0xe3a1, 0xe629, 0xe3a5, 0xe643, 0xe3a5, -0xe643, 0xe33d, 0xe5f0, 0xe33d, 0xe5f0, 0xe275, 0xe53a, 0xe275, 0xe53a, 0xe1eb, 0xe4bf, -0xe1eb, 0xe4bf, 0xe1d3, 0xe4b2, 0xe1d3, 0xe4b2, 0xe1d3, 0xe4b2, 0xe1d5, 0xe4b9, 0xe1d5, -0xe4b9, 0xe1f0, 0xe4d5, 0xe1f0, 0xe4d5, 0xe1e8, 0xe4c9, 0xe1e8, 0xe4c9, 0xe189, 0xe45f, -0xe189, 0xe45f, 0xe1e4, 0xe4a9, 0xe1e4, 0xe4a9, 0xe2ea, 0xe599, 0xe2ea, 0xe599, 0xe2ea, -0xe599, 0xe3cf, 0xe663, 0xe3cf, 0xe663, 0xe49b, 0xe710, 0xe49b, 0xe710, 0xe5bd, 0xe80f, -0xe5bd, 0xe80f, 0xe72b, 0xe956, 0xe72b, 0xe956, 0xe862, 0xea65, 0xe862, 0xea65, 0xe95f, -0xeb39, 0xe95f, 0xeb39, 0xe95f, 0xeb39, 0xea12, 0xebc1, 0xea12, 0xebc1, 0xea84, 0xec0b, -0xea84, 0xec0b, 0xeb3a, 0xec9a, 0xeb3a, 0xec9a, 0xec7e, 0xedba, 0xec7e, 0xedba, 0xedb9, -0xeed6, 0xedb9, 0xeed6, 0xedb9, 0xeed6, 0xeea0, 0xefa1, 0xeea0, 0xefa1, 0xefa1, 0xf08a, -0xefa1, 0xf08a, 0xf0d7, 0xf1af, 0xf0d7, 0xf1af, 0xf22c, 0xf2f8, 0xf22c, 0xf2f8, 0xf34f, -0xf414, 0xf34f, 0xf414, 0xf41e, 0xf4e2, 0xf41e, 0xf4e2, 0xf41e, 0xf4e2, 0xf467, 0xf52e, -0xf467, 0xf52e, 0xf470, 0xf53f, 0xf470, 0xf53f, 0xf4ad, 0xf588, 0xf4ad, 0xf588, 0xf499, -0xf583, 0xf499, 0xf583, 0xf479, 0xf576, 0xf479, 0xf576, 0xf4d6, 0xf5e6, 0xf4d6, 0xf5e6, -0xf4d6, 0xf5e6, 0xf547, 0xf66c, 0xf547, 0xf66c, 0xf5d8, 0xf711, 0xf5d8, 0xf711, 0xf692, -0xf7e0, 0xf692, 0xf7e0, 0xf6cd, 0xf82e, 0xf6cd, 0xf82e, 0xf6d8, 0xf84a, 0xf6d8, 0xf84a, -0xf6d8, 0xf84a, 0xf769, 0xf8ea, 0xf769, 0xf8ea, 0xf7c9, 0xf957, 0xf7c9, 0xf957, 0xf7b1, -0xf94a, 0xf7b1, 0xf94a, 0xf792, 0xf933, 0xf792, 0xf933, 0xf764, 0xf90a, 0xf764, 0xf90a, -0xf742, 0xf8ea, 0xf742, 0xf8ea, 0xf742, 0xf8ea, 0xf712, 0xf8bc, 0xf712, 0xf8bc, 0xf6e4, -0xf88d, 0xf6e4, 0xf88d, 0xf6f8, 0xf89f, 0xf6f8, 0xf89f, 0xf704, 0xf8a8, 0xf704, 0xf8a8, -0xf71d, 0xf8be, 0xf71d, 0xf8be, 0xf722, 0xf8c0, 0xf722, 0xf8c0, 0xf722, 0xf8c0, 0xf6cd, -0xf867, 0xf6cd, 0xf867, 0xf671, 0xf807, 0xf671, 0xf807, 0xf653, 0xf7e5, 0xf653, 0xf7e5, -0xf688, 0xf816, 0xf688, 0xf816, 0xf68f, 0xf81a, 0xf68f, 0xf81a, 0xf68f, 0xf81a, 0xf6a7, -0xf82d, 0xf6a7, 0xf82d, 0xf708, 0xf888, 0xf708, 0xf888, 0xf72a, 0xf8a3, 0xf72a, 0xf8a3, -0xf7a7, 0xf916, 0xf7a7, 0xf916, 0xf84f, 0xf9b1, 0xf84f, 0xf9b1, 0xf88e, 0xf9e0, 0xf88e, -0xf9e0, 0xf88e, 0xf9e0, 0xf8df, 0xfa1d, 0xf8df, 0xfa1d, 0xf971, 0xfa95, 0xf971, 0xfa95, -0xfa14, 0xfb18, 0xfa14, 0xfb18, 0xfb15, 0xfbf3, 0xfb15, 0xfbf3, 0xfc81, 0xfd34, 0xfc81, -0xfd34, 0xfdb9, 0xfe3b, 0xfdb9, 0xfe3b, 0xfdb9, 0xfe3b, 0xff2d, 0xff76, 0xff2d, 0xff76, -0x10c, 0x116, 0x10c, 0x116, 0x2d7, 0x29d, 0x2d7, 0x29d, 0x4ab, 0x428, 0x4ab, -0x428, 0x680, 0x5b1, 0x680, 0x5b1, 0x680, 0x5b1, 0x85a, 0x73b, 0x85a, 0x73b, -0xa4a, 0x8d9, 0xa4a, 0x8d9, 0xc05, 0xa41, 0xc05, 0xa41, 0xd84, 0xb6f, 0xd84, -0xb6f, 0xf53, 0xcee, 0xf53, 0xcee, 0x1117, 0xe66, 0x1117, 0xe66, 0x1117, 0xe66, -0x12a4, 0xfac, 0x12a4, 0xfac, 0x141a, 0x10e1, 0x141a, 0x10e1, 0x14ec, 0x1179, 0x14ec, -0x1179, 0x15a7, 0x1203, 0x15a7, 0x1203, 0x16be, 0x12f1, 0x16be, 0x12f1, 0x17d6, 0x13e9, -0x17d6, 0x13e9, 0x17d6, 0x13e9, 0x18b2, 0x14af, 0x18b2, 0x14af, 0x1949, 0x153b, 0x1949, -0x153b, 0x1970, 0x155f, 0x1970, 0x155f, 0x194f, 0x1546, 0x194f, 0x1546, 0x1966, 0x156c, -0x1966, 0x156c, 0x1966, 0x156c, 0x1943, 0x1561, 0x1943, 0x1561, 0x18c3, 0x14ff, 0x18c3, -0x14ff, 0x17eb, 0x144d, 0x17eb, 0x144d, 0x16d4, 0x135f, 0x16d4, 0x135f, 0x15e0, 0x1299, -0x15e0, 0x1299, 0x14f5, 0x11dd, 0x14f5, 0x11dd, 0x14f5, 0x11dd, 0x1421, 0x113a, 0x1421, -0x113a, 0x135d, 0x10a8, 0x135d, 0x10a8, 0x12e8, 0x1063, 0x12e8, 0x1063, 0x12a3, 0x104e, -0x12a3, 0x104e, 0x1213, 0xfec, 0x1213, 0xfec, 0x114b, 0xf4e, 0x114b, 0xf4e, 0x114b, -0xf4e, 0x1048, 0xe72, 0x1048, 0xe72, 0xf6e, 0xdbe, 0xf6e, 0xdbe, 0xee0, 0xd50, -0xee0, 0xd50, 0xe2f, 0xcbe, 0xe2f, 0xcbe, 0xda7, 0xc51, 0xda7, 0xc51, 0xda7, -0xc51, 0xd47, 0xc0a, 0xd47, 0xc0a, 0xcb2, 0xb8c, 0xcb2, 0xb8c, 0xc8b, 0xb7b, -0xc8b, 0xb7b, 0xcd7, 0xbdb, 0xcd7, 0xbdb, 0xcaf, 0xbc7, 0xcaf, 0xbc7, 0xc3f, -0xb6b, 0xc3f, 0xb6b, 0xc3f, 0xb6b, 0xc07, 0xb48, 0xc07, 0xb48, 0xbc9, 0xb1f, -0xbc9, 0xb1f, 0xb6d, 0xada, 0xb6d, 0xada, 0xb14, 0xa9b, 0xb14, 0xa9b, 0xa14, -0x9b4, 0xa14, 0x9b4, 0x8c0, 0x87c, 0x8c0, 0x87c, 0x8c0, 0x87c, 0x7db, 0x7b4, -0x7db, 0x7b4, 0x6be, 0x6b6, 0x6be, 0x6b6, 0x5a5, 0x5bd, 0x5a5, 0x5bd, 0x50d, -0x545, 0x50d, 0x545, 0x46a, 0x4c2, 0x46a, 0x4c2, 0x46a, 0x4c2, 0x3b3, 0x42c, -0x3b3, 0x42c, 0x2f5, 0x38e, 0x2f5, 0x38e, 0x1a2, 0x25b, 0x1a2, 0x25b, 0x3a, -0x112, 0x3a, 0x112, 0xff34, 0x29, 0xff34, 0x29, 0xfe24, 0xff34, 0xfe24, 0xff34, -0xfe24, 0xff34, 0xfd51, 0xfe7b, 0xfd51, 0xfe7b, 0xfc8a, 0xfdcc, 0xfc8a, 0xfdcc, 0xfbc9, -0xfd20, 0xfbc9, 0xfd20, 0xfb62, 0xfccc, 0xfb62, 0xfccc, 0xfadf, 0xfc5a, 0xfadf, 0xfc5a, -0xfa44, 0xfbcf, 0xfa44, 0xfbcf, 0xfa44, 0xfbcf, 0xf997, 0xfb30, 0xf997, 0xfb30, 0xf8a4, -0xfa48, 0xf8a4, 0xfa48, 0xf7fa, 0xf9a8, 0xf7fa, 0xf9a8, 0xf7cb, 0xf981, 0xf7cb, 0xf981, -0xf73e, 0xf8fa, 0xf73e, 0xf8fa, 0xf73e, 0xf8fa, 0xf654, 0xf816, 0xf654, 0xf816, 0xf593, -0xf757, 0xf593, 0xf757, 0xf514, 0xf6d9, 0xf514, 0xf6d9, 0xf4e7, 0xf6ac, 0xf4e7, 0xf6ac, -0xf4a5, 0xf667, 0xf4a5, 0xf667, 0xf409, 0xf5c6, 0xf409, 0xf5c6, 0xf409, 0xf5c6, 0xf353, -0xf509, 0xf353, 0xf509, 0xf2f3, 0xf49e, 0xf2f3, 0xf49e, 0xf2b3, 0xf451, 0xf2b3, 0xf451, -0xf250, 0xf3dd, 0xf250, 0xf3dd, 0xf20d, 0xf386, 0xf20d, 0xf386, 0xf20d, 0xf386, 0xf1d2, -0xf333, 0xf1d2, 0xf333, 0xf1d5, 0xf31a, 0xf1d5, 0xf31a, 0xf246, 0xf36d, 0xf246, 0xf36d, -0xf2ca, 0xf3ce, 0xf2ca, 0xf3ce, 0xf32f, 0xf40d, 0xf32f, 0xf40d, 0xf3d6, 0xf48c, 0xf3d6, -0xf48c, 0xf3d6, 0xf48c, 0xf4d4, 0xf55f, 0xf4d4, 0xf55f, 0xf60b, 0xf66a, 0xf60b, 0xf66a, -0xf790, 0xf7c1, 0xf790, 0xf7c1, 0xf8a9, 0xf8ab, 0xf8a9, 0xf8ab, 0xf930, 0xf904, 0xf930, -0xf904, 0xf9dc, 0xf981, 0xf9dc, 0xf981, 0xf9dc, 0xf981, 0xfad3, 0xfa4d, 0xfad3, 0xfa4d, -0xfc09, 0xfb59, 0xfc09, 0xfb59, 0xfd96, 0xfcbe, 0xfd96, 0xfcbe, 0xff6a, 0xfe6f, 0xff6a, -0xfe6f, 0x17b, 0x5f, 0x17b, 0x5f, 0x17b, 0x5f, 0x3b8, 0x280, 0x3b8, 0x280, -0x5a4, 0x455, 0x5a4, 0x455, 0x707, 0x5a5, 0x707, 0x5a5, 0x83a, 0x6c8, 0x83a, -0x6c8, 0x96e, 0x7f0, 0x96e, 0x7f0, 0xa88, 0x901, 0xa88, 0x901, 0xa88, 0x901, -0xb8f, 0xa03, 0xb8f, 0xa03, 0xc62, 0xad3, 0xc62, 0xad3, 0xd27, 0xb97, 0xd27, -0xb97, 0xe3a, 0xca9, 0xe3a, 0xca9, 0xf41, 0xdaf, 0xf41, 0xdaf, 0x1049, 0xeb6, -0x1049, 0xeb6, 0x1049, 0xeb6, 0x1163, 0xfcd, 0x1163, 0xfcd, 0x123f, 0x10a6, 0x123f, -0x10a6, 0x131d, 0x117e, 0x131d, 0x117e, 0x1467, 0x12bf, 0x1467, 0x12bf, 0x1599, 0x13e6, -0x1599, 0x13e6, 0x1599, 0x13e6, 0x167f, 0x14be, 0x167f, 0x14be, 0x17be, 0x15ed, 0x17be, -0x15ed, 0x18de, 0x16fb, 0x18de, 0x16fb, 0x19c7, 0x17d0, 0x19c7, 0x17d0, 0x1a63, 0x1857, -0x1a63, 0x1857, 0x1a60, 0x183e, 0x1a60, 0x183e, 0x1a60, 0x183e, 0x1a77, 0x183f, 0x1a77, -0x183f, 0x1a71, 0x1825, 0x1a71, 0x1825, 0x19e8, 0x178a, 0x19e8, 0x178a, 0x1902, 0x1695, -0x1902, 0x1695, 0x183d, 0x15c3, 0x183d, 0x15c3, 0x17f8, 0x1576, 0x17f8, 0x1576, 0x17f8, -0x1576, 0x1808, 0x1583, 0x1808, 0x1583, 0x1812, 0x158f, 0x1812, 0x158f, 0x1773, 0x14f7, -0x1773, 0x14f7, 0x1651, 0x13e0, 0x1651, 0x13e0, 0x152e, 0x12ce, 0x152e, 0x12ce, 0x152e, -0x12ce, 0x1443, 0x11f8, 0x1443, 0x11f8, 0x1392, 0x1160, 0x1392, 0x1160, 0x12e2, 0x10cd, -0x12e2, 0x10cd, 0x11de, 0xfe8, 0x11de, 0xfe8, 0x10a3, 0xecd, 0x10a3, 0xecd, 0xfa8, -0xdf4, 0xfa8, 0xdf4, 0xfa8, 0xdf4, 0xee9, 0xd55, 0xee9, 0xd55, 0xe64, 0xcef, -0xe64, 0xcef, 0xd9f, 0xc47, 0xd9f, 0xc47, 0xc8a, 0xb4c, 0xc8a, 0xb4c, 0xbec, -0xac4, 0xbec, 0xac4, 0xb9e, 0xa88, 0xb9e, 0xa88, 0xb9e, 0xa88, 0xaf0, 0x9e7, -0xaf0, 0x9e7, 0xa1a, 0x919, 0xa1a, 0x919, 0x9a9, 0x8ab, 0x9a9, 0x8ab, 0x959, -0x85a, 0x959, 0x85a, 0x95f, 0x85b, 0x95f, 0x85b, 0x95f, 0x85b, 0x99b, 0x88e, -0x99b, 0x88e, 0x997, 0x87f, 0x997, 0x87f, 0x9b1, 0x88d, 0x9b1, 0x88d, 0x9b2, -0x87f, 0x9b2, 0x87f, 0x9c5, 0x885, 0x9c5, 0x885, 0xa21, 0x8d5, 0xa21, 0x8d5, -0xa21, 0x8d5, 0xa5c, 0x905, 0xa5c, 0x905, 0xa5e, 0x900, 0xa5e, 0x900, 0xa3e, -0x8dd, 0xa3e, 0x8dd, 0xa36, 0x8d7, 0xa36, 0x8d7, 0xa59, 0x8ff, 0xa59, 0x8ff, -0xa8e, 0x93f, 0xa8e, 0x93f, 0xa8e, 0x93f, 0xa86, 0x947, 0xa86, 0x947, 0xa51, -0x928, 0xa51, 0x928, 0xa34, 0x925, 0xa34, 0x925, 0x9ba, 0x8c8, 0x9ba, 0x8c8, -0x8f2, 0x821, 0x8f2, 0x821, 0x8f2, 0x821, 0x82f, 0x781, 0x82f, 0x781, 0x709, -0x680, 0x709, 0x680, 0x5da, 0x576, 0x5da, 0x576, 0x527, 0x4e8, 0x527, 0x4e8, -0x4b4, 0x498, 0x4b4, 0x498, 0x459, 0x45d, 0x459, 0x45d, 0x459, 0x45d, 0x431, -0x453, 0x431, 0x453, 0x42b, 0x466, 0x42b, 0x466, 0x3d2, 0x423, 0x3d2, 0x423, -0x3a7, 0x408, 0x3a7, 0x408, 0x3de, 0x44a, 0x3de, 0x44a, 0x3be, 0x431, 0x3be, -0x431, 0x3be, 0x431, 0x368, 0x3dc, 0x368, 0x3dc, 0x2d1, 0x344, 0x2d1, 0x344, -0x213, 0x280, 0x213, 0x280, 0x176, 0x1db, 0x176, 0x1db, 0xdc, 0x137, 0xdc, -0x137, 0xdc, 0x137, 0x26, 0x76, 0x26, 0x76, 0xff60, 0xffa4, 0xff60, 0xffa4, -0xfec9, 0xff03, 0xfec9, 0xff03, 0xfe80, 0xfeb1, 0xfe80, 0xfeb1, 0xfead, 0xfed7, 0xfead, -0xfed7, 0xfed3, 0xfef9, 0xfed3, 0xfef9, 0xfed3, 0xfef9, 0xfe6b, 0xfe91, 0xfe6b, 0xfe91, -0xfdb8, 0xfde2, 0xfdb8, 0xfde2, 0xfd14, 0xfd45, 0xfd14, 0xfd45, 0xfc90, 0xfccc, 0xfc90, -0xfccc, 0xfc2c, 0xfc77, 0xfc2c, 0xfc77, 0xfbcb, 0xfc28, 0xfbcb, 0xfc28, 0xfbcb, 0xfc28, -0xfb54, 0xfbc7, 0xfb54, 0xfbc7, 0xfb34, 0xfbbe, 0xfb34, 0xfbbe, 0xfb18, 0xfbbb, 0xfb18, -0xfbbb, 0xfaf9, 0xfbb5, 0xfaf9, 0xfbb5, 0xfadf, 0xfbb5, 0xfadf, 0xfbb5, 0xfadf, 0xfbb5, -0xf9be, 0xfaae, 0xf9be, 0xfaae, 0xf83d, 0xf945, 0xf83d, 0xf945, 0xf73e, 0xf85c, 0xf73e, -0xf85c, 0xf63b, 0xf76c, 0xf63b, 0xf76c, 0xf521, 0xf663, 0xf521, 0xf663, 0xf447, 0xf597, -0xf447, 0xf597, 0xf447, 0xf597, 0xf363, 0xf4be, 0xf363, 0xf4be, 0xf2a3, 0xf406, 0xf2a3, -0xf406, 0xf268, 0xf3d1, 0xf268, 0xf3d1, 0xf202, 0xf36f, 0xf202, 0xf36f, 0xf154, 0xf2c5, -0xf154, 0xf2c5, 0xf08e, 0xf201, 0xf08e, 0xf201, 0xf08e, 0xf201, 0xefee, 0xf163, 0xefee, -0xf163, 0xefb3, 0xf12b, 0xefb3, 0xf12b, 0xef66, 0xf0e3, 0xef66, 0xf0e3, 0xef0f, 0xf093, -0xef0f, 0xf093, 0xef14, 0xf0a2, 0xef14, 0xf0a2, 0xef14, 0xf0a2, 0xef46, 0xf0e2, 0xef46, -0xf0e2, 0xeeff, 0xf0ac, 0xeeff, 0xf0ac, 0xee74, 0xf036, 0xee74, 0xf036, 0xedde, 0xefb8, -0xedde, 0xefb8, 0xed0d, 0xef04, 0xed0d, 0xef04, 0xec4d, 0xee64, 0xec4d, 0xee64, 0xec4d, -0xee64, 0xeb27, 0xed60, 0xeb27, 0xed60, 0xe9b6, 0xec13, 0xe9b6, 0xec13, 0xe8d3, 0xeb55, -0xe8d3, 0xeb55, 0xe82e, 0xead6, 0xe82e, 0xead6, 0xe795, 0xea62, 0xe795, 0xea62, 0xe795, -0xea62, 0xe763, 0xea52, 0xe763, 0xea52, 0xe731, 0xea40, 0xe731, 0xea40, 0xe668, 0xe992, -0xe668, 0xe992, 0xe539, 0xe878, 0xe539, 0xe878, 0xe432, 0xe781, 0xe432, 0xe781, 0xe35c, -0xe6b4, 0xe35c, 0xe6b4, 0xe35c, 0xe6b4, 0xe2c0, 0xe61a, 0xe2c0, 0xe61a, 0xe2ab, 0xe600, -0xe2ab, 0xe600, 0xe2c2, 0xe60a, 0xe2c2, 0xe60a, 0xe2eb, 0xe61f, 0xe2eb, 0xe61f, 0xe357, -0xe670, 0xe357, 0xe670, 0xe3e1, 0xe6d9, 0xe3e1, 0xe6d9, 0xe3e1, 0xe6d9, 0xe479, 0xe74a, -0xe479, 0xe74a, 0xe518, 0xe7be, 0xe518, 0xe7be, 0xe5ce, 0xe847, 0xe5ce, 0xe847, 0xe697, -0xe8df, 0xe697, 0xe8df, 0xe755, 0xe96c, 0xe755, 0xe96c, 0xe755, 0xe96c, 0xe804, 0xe9ea, -0xe804, 0xe9ea, 0xe916, 0xeacd, 0xe916, 0xeacd, 0xea4c, 0xebd7, 0xea4c, 0xebd7, 0xeb2e, -0xec90, 0xeb2e, 0xec90, 0xec26, 0xed64, 0xec26, 0xed64, 0xed16, 0xee35, 0xed16, 0xee35, -0xed16, 0xee35, 0xede7, 0xeeed, 0xede7, 0xeeed, 0xeed3, 0xefc6, 0xeed3, 0xefc6, 0xefb3, -0xf098, 0xefb3, 0xf098, 0xf01e, 0xf0fc, 0xf01e, 0xf0fc, 0xf051, 0xf12d, 0xf051, 0xf12d, -0xf066, 0xf145, 0xf066, 0xf145, 0xf066, 0xf145, 0xf04b, 0xf130, 0xf04b, 0xf130, 0xf0d5, -0xf1c5, 0xf0d5, 0xf1c5, 0xf149, 0xf245, 0xf149, 0xf245, 0xf14e, 0xf259, 0xf14e, 0xf259, -0xf1f8, 0xf313, 0xf1f8, 0xf313, 0xf1f8, 0xf313, 0xf2ac, 0xf3d5, 0xf2ac, 0xf3d5, 0xf2e3, -0xf41a, 0xf2e3, 0xf41a, 0xf308, 0xf44b, 0xf308, 0xf44b, 0xf311, 0xf45f, 0xf311, 0xf45f, -0xf2f0, 0xf445, 0xf2f0, 0xf445, 0xf2f7, 0xf452, 0xf2f7, 0xf452, 0xf2f7, 0xf452, 0xf312, -0xf46f, 0xf312, 0xf46f, 0xf322, 0xf47e, 0xf322, 0xf47e, 0xf2fc, 0xf455, 0xf2fc, 0xf455, -0xf2ae, 0xf402, 0xf2ae, 0xf402, 0xf2df, 0xf42c, 0xf2df, 0xf42c, 0xf31b, 0xf460, 0xf31b, -0xf460, 0xf31b, 0xf460, 0xf312, 0xf44e, 0xf312, 0xf44e, 0xf306, 0xf43a, 0xf306, 0xf43a, -0xf312, 0xf43e, 0xf312, 0xf43e, 0xf309, 0xf42e, 0xf309, 0xf42e, 0xf2c7, 0xf3e6, 0xf2c7, -0xf3e6, 0xf2c7, 0xf3e6, 0xf29a, 0xf3b6, 0xf29a, 0xf3b6, 0xf22f, 0xf349, 0xf22f, 0xf349, -0xf1f9, 0xf312, 0xf1f9, 0xf312, 0xf23b, 0xf355, 0xf23b, 0xf355, 0xf25d, 0xf378, 0xf25d, -0xf378, 0xf29f, 0xf3bc, 0xf29f, 0xf3bc, 0xf29f, 0xf3bc, 0xf305, 0xf424, 0xf305, 0xf424, -0xf3b0, 0xf4ce, 0xf3b0, 0xf4ce, 0xf4c1, 0xf5dd, 0xf4c1, 0xf5dd, 0xf5fa, 0xf710, 0xf5fa, -0xf710, 0xf6e0, 0xf7ec, 0xf6e0, 0xf7ec, 0xf72c, 0xf82a, 0xf72c, 0xf82a, 0xf72c, 0xf82a, -0xf77c, 0xf864, 0xf77c, 0xf864, 0xf7cf, 0xf89c, 0xf7cf, 0xf89c, 0xf846, 0xf8ef, 0xf846, -0xf8ef, 0xf976, 0xf9f4, 0xf976, 0xf9f4, 0xfb18, 0xfb64, 0xfb18, 0xfb64, 0xfb18, 0xfb64, -0xfcfd, 0xfd0f, 0xfcfd, 0xfd0f, 0xff52, 0xff23, 0xff52, 0xff23, 0x1f6, 0x180, 0x1f6, -0x180, 0x467, 0x3a3, 0x467, 0x3a3, 0x628, 0x513, 0x628, 0x513, 0x78e, 0x624, -0x78e, 0x624, 0x78e, 0x624, 0x93c, 0x77c, 0x93c, 0x77c, 0xb27, 0x911, 0xb27, -0x911, 0xcd9, 0xa6f, 0xcd9, 0xa6f, 0xea5, 0xbe8, 0xea5, 0xbe8, 0x10e9, 0xde0, -0x10e9, 0xde0, 0x12f9, 0xfa9, 0x12f9, 0xfa9, 0x12f9, 0xfa9, 0x14b8, 0x1128, 0x14b8, -0x1128, 0x1662, 0x129c, 0x1662, 0x129c, 0x17a8, 0x13b4, 0x17a8, 0x13b4, 0x18d5, 0x14be, -0x18d5, 0x14be, 0x1a1c, 0x15ec, 0x1a1c, 0x15ec, 0x1a1c, 0x15ec, 0x1ad7, 0x1698, 0x1ad7, -0x1698, 0x1b05, 0x16c3, 0x1b05, 0x16c3, 0x1b51, 0x1714, 0x1b51, 0x1714, 0x1bc9, 0x179b, -0x1bc9, 0x179b, 0x1c7b, 0x1864, 0x1c7b, 0x1864, 0x1d1b, 0x1922, 0x1d1b, 0x1922, 0x1d1b, -0x1922, 0x1d46, 0x1971, 0x1d46, 0x1971, 0x1d5a, 0x19ae, 0x1d5a, 0x19ae, 0x1d2d, 0x19ac, -0x1d2d, 0x19ac, 0x1c6e, 0x191a, 0x1c6e, 0x191a, 0x1b43, 0x181d, 0x1b43, 0x181d, 0x1a37, -0x173e, 0x1a37, 0x173e, 0x1a37, 0x173e, 0x1953, 0x1685, 0x1953, 0x1685, 0x183d, 0x1597, -0x183d, 0x1597, 0x173e, 0x14be, 0x173e, 0x14be, 0x1652, 0x13f4, 0x1652, 0x13f4, 0x153b, -0x12fb, 0x153b, 0x12fb, 0x153b, 0x12fb, 0x1401, 0x11da, 0x1401, 0x11da, 0x130a, 0x10fa, -0x130a, 0x10fa, 0x126d, 0x1070, 0x126d, 0x1070, 0x11f1, 0x1005, 0x11f1, 0x1005, 0x117a, -0xf9d, 0x117a, 0xf9d, 0x115c, 0xf8c, 0x115c, 0xf8c, 0x115c, 0xf8c, 0x11b5, 0xff2, -0x11b5, 0xff2, 0x11a5, 0xfef, 0x11a5, 0xfef, 0x11b1, 0x100a, 0x11b1, 0x100a, 0x11ad, -0x1016, 0x11ad, 0x1016, 0x1119, 0xf94, 0x1119, 0xf94, 0x10ca, 0xf5b, 0x10ca, 0xf5b, -0x10ca, 0xf5b, 0x1063, 0xf0c, 0x1063, 0xf0c, 0xf93, 0xe57, 0xf93, 0xe57, 0xe6d, -0xd4f, 0xe6d, 0xd4f, 0xd20, 0xc23, 0xd20, 0xc23, 0xbd8, 0xb00, 0xbd8, 0xb00, -0xbd8, 0xb00, 0xaef, 0xa3d, 0xaef, 0xa3d, 0xa4a, 0x9c0, 0xa4a, 0x9c0, 0x928, -0x8c7, 0x928, 0x8c7, 0x80d, 0x7d5, 0x80d, 0x7d5, 0x706, 0x6f7, 0x706, 0x6f7, -0x59a, 0x5b2, 0x59a, 0x5b2, 0x59a, 0x5b2, 0x431, 0x46f, 0x431, 0x46f, 0x2f5, -0x358, 0x2f5, 0x358, 0x1c7, 0x24c, 0x1c7, 0x24c, 0xdd, 0x180, 0xdd, 0x180, -0xfff6, 0xb5, 0xfff6, 0xb5, 0xff22, 0xfffa, 0xff22, 0xfffa, 0xff22, 0xfffa, 0xfe85, -0xff73, 0xfe85, 0xff73, 0xfd93, 0xfe94, 0xfd93, 0xfe94, 0xfcb2, 0xfdc4, 0xfcb2, 0xfdc4, -0xfbf3, 0xfd13, 0xfbf3, 0xfd13, 0xfae0, 0xfc0d, 0xfae0, 0xfc0d, 0xfae0, 0xfc0d, 0xf9e0, -0xfb18, 0xf9e0, 0xfb18, 0xf914, 0xfa56, 0xf914, 0xfa56, 0xf810, 0xf95b, 0xf810, 0xf95b, -0xf6e5, 0xf83a, 0xf6e5, 0xf83a, 0xf608, 0xf765, 0xf608, 0xf765, 0xf533, 0xf699, 0xf533, -0xf699, 0xf533, 0xf699, 0xf443, 0xf5b3, 0xf443, 0xf5b3, 0xf37f, 0xf4f7, 0xf37f, 0xf4f7, -0xf2bf, 0xf440, 0xf2bf, 0xf440, 0xf1df, 0xf369, 0xf1df, 0xf369, 0xf0f7, 0xf288, 0xf0f7, -0xf288, 0xf0f7, 0xf288, 0xf01e, 0xf1b5, 0xf01e, 0xf1b5, 0xefb3, 0xf14f, 0xefb3, 0xf14f, -0xef76, 0xf114, 0xef76, 0xf114, 0xeec3, 0xf05f, 0xeec3, 0xf05f, 0xedee, 0xef86, 0xedee, -0xef86, 0xed52, 0xeee2, 0xed52, 0xeee2, 0xed52, 0xeee2, 0xed1c, 0xeea0, 0xed1c, 0xeea0, -0xed33, 0xeea7, 0xed33, 0xeea7, 0xed65, 0xeec5, 0xed65, 0xeec5, 0xedd4, 0xef1a, 0xedd4, -0xef1a, 0xee76, 0xefa0, 0xee76, 0xefa0, 0xef96, 0xf09e, 0xef96, 0xf09e, 0xef96, 0xf09e, -0xf109, 0xf1ec, 0xf109, 0xf1ec, 0xf20f, 0xf2cb, 0xf20f, 0xf2cb, 0xf2c1, 0xf352, 0xf2c1, -0xf352, 0xf355, 0xf3bb, 0xf355, 0xf3bb, 0xf3e2, 0xf41a, 0xf3e2, 0xf41a, 0xf3e2, 0xf41a, -0xf515, 0xf520, 0xf515, 0xf520, 0xf684, 0xf662, 0xf684, 0xf662, 0xf7e4, 0xf796, 0xf7e4, -0xf796, 0xf9e9, 0xf970, 0xf9e9, 0xf970, 0xfbd9, 0xfb37, 0xfbd9, 0xfb37, 0xfdf6, 0xfd2e, -0xfdf6, 0xfd2e, 0xfdf6, 0xfd2e, 0x81, 0xff95, 0x81, 0xff95, 0x258, 0x14b, 0x258, -0x14b, 0x3d1, 0x2a6, 0x3d1, 0x2a6, 0x52d, 0x3e6, 0x52d, 0x3e6, 0x63c, 0x4dc, -0x63c, 0x4dc, 0x706, 0x58f, 0x706, 0x58f, 0x706, 0x58f, 0x7c3, 0x637, 0x7c3, -0x637, 0x89f, 0x6fe, 0x89f, 0x6fe, 0x9c1, 0x80d, 0x9c1, 0x80d, 0xb6d, 0x9a5, -0xb6d, 0x9a5, 0xcda, 0xaff, 0xcda, 0xaff, 0xcda, 0xaff, 0xe42, 0xc53, 0xe42, -0xc53, 0xfdf, 0xddc, 0xfdf, 0xddc, 0x1147, 0xf2e, 0x1147, 0xf2e, 0x12f2, 0x10c3, -0x12f2, 0x10c3, 0x1472, 0x122c, 0x1472, 0x122c, 0x157e, 0x1321, 0x157e, 0x1321, 0x157e, -0x1321, 0x16ba, 0x1445, 0x16ba, 0x1445, 0x181b, 0x1590, 0x181b, 0x1590, 0x1941, 0x16a1, -0x1941, 0x16a1, 0x1a53, 0x179e, 0x1a53, 0x179e, 0x1b0b, 0x1846, 0x1b0b, 0x1846, 0x1b35, -0x1861, 0x1b35, 0x1861, 0x1b35, 0x1861, 0x1b60, 0x1881, 0x1b60, 0x1881, 0x1b25, 0x1840, -0x1b25, 0x1840, 0x1a8c, 0x17a6, 0x1a8c, 0x17a6, 0x1a67, 0x1785, 0x1a67, 0x1785, 0x1a5e, -0x1786, 0x1a5e, 0x1786, 0x1a5e, 0x1786, 0x19ff, 0x1737, 0x19ff, 0x1737, 0x197d, 0x16ca, -0x197d, 0x16ca, 0x18ef, 0x1658, 0x18ef, 0x1658, 0x1821, 0x15aa, 0x1821, 0x15aa, 0x174d, -0x14fb, 0x174d, 0x14fb, 0x16a5, 0x147c, 0x16a5, 0x147c, 0x16a5, 0x147c, 0x15fc, 0x13ff, -0x15fc, 0x13ff, 0x153f, 0x1370, 0x153f, 0x1370, 0x1435, 0x1296, 0x1435, 0x1296, 0x1355, -0x11e6, 0x1355, 0x11e6, 0x12f7, 0x11b7, 0x12f7, 0x11b7, 0x12ad, 0x119b, 0x12ad, 0x119b, -0x12ad, 0x119b, 0x1218, 0x112f, 0x1218, 0x112f, 0x1132, 0x1071, 0x1132, 0x1071, 0x103e, -0xf9f, 0x103e, 0xf9f, 0xf56, 0xed5, 0xf56, 0xed5, 0xe9d, 0xe34, 0xe9d, 0xe34, -0xe9d, 0xe34, 0xdc9, 0xd73, 0xdc9, 0xd73, 0xcdc, 0xc93, 0xcdc, 0xc93, 0xc50, -0xc0e, 0xc50, 0xc0e, 0xc45, 0xc06, 0xc45, 0xc06, 0xc4f, 0xc0d, 0xc4f, 0xc0d, -0xc38, 0xbef, 0xc38, 0xbef, 0xc38, 0xbef, 0xc41, 0xbee, 0xc41, 0xbee, 0xc43, -0xbe2, 0xc43, 0xbe2, 0xc90, 0xc20, 0xc90, 0xc20, 0xcca, 0xc4a, 0xcca, 0xc4a, -0xc9a, 0xc08, 0xc9a, 0xc08, 0xcdb, 0xc39, 0xcdb, 0xc39, 0xcdb, 0xc39, 0xd2c, -0xc7b, 0xd2c, 0xc7b, 0xd6f, 0xcb0, 0xd6f, 0xcb0, 0xe14, 0xd4a, 0xe14, 0xd4a, -0xe71, 0xd9e, 0xe71, 0xd9e, 0xe94, 0xdbb, 0xe94, 0xdbb, 0xe94, 0xdbb, 0xeb9, -0xdde, 0xeb9, 0xdde, 0xeb0, 0xdd5, 0xeb0, 0xdd5, 0xe77, 0xda1, 0xe77, 0xda1, -0xdae, 0xcdf, 0xdae, 0xcdf, 0xc99, 0xbd4, 0xc99, 0xbd4, 0xb92, 0xad9, 0xb92, -0xad9, 0xb92, 0xad9, 0xae0, 0xa36, 0xae0, 0xa36, 0xa2d, 0x993, 0xa2d, 0x993, -0x91f, 0x898, 0x91f, 0x898, 0x86e, 0x7f8, 0x86e, 0x7f8, 0x7c0, 0x75e, 0x7c0, -0x75e, 0x712, 0x6c3, 0x712, 0x6c3, 0x712, 0x6c3, 0x689, 0x64c, 0x689, 0x64c, -0x603, 0x5d8, 0x603, 0x5d8, 0x595, 0x57b, 0x595, 0x57b, 0x551, 0x547, 0x551, -0x547, 0x528, 0x52c, 0x528, 0x52c, 0x528, 0x52c, 0x4be, 0x4d0, 0x4be, 0x4d0, -0x428, 0x447, 0x428, 0x447, 0x2fd, 0x328, 0x2fd, 0x328, 0x19c, 0x1d3, 0x19c, -0x1d3, 0x98, 0xda, 0x98, 0xda, 0xffb9, 0x6, 0xffb9, 0x6, 0xffb9, 0x6, -0xfee7, 0xff3f, 0xfee7, 0xff3f, 0xfe5f, 0xfec3, 0xfe5f, 0xfec3, 0xfe26, 0xfe96, 0xfe26, -0xfe96, 0xfdc0, 0xfe3d, 0xfdc0, 0xfe3d, 0xfd81, 0xfe0b, 0xfd81, 0xfe0b, 0xfd03, 0xfd9c, -0xfd03, 0xfd9c, 0xfd03, 0xfd9c, 0xfc29, 0xfcd3, 0xfc29, 0xfcd3, 0xfb30, 0xfbec, 0xfb30, -0xfbec, 0xf9c3, 0xfa92, 0xf9c3, 0xfa92, 0xf873, 0xf957, 0xf873, 0xf957, 0xf766, 0xf85f, -0xf766, 0xf85f, 0xf766, 0xf85f, 0xf69d, 0xf7ac, 0xf69d, 0xf7ac, 0xf659, 0xf77f, 0xf659, -0xf77f, 0xf682, 0xf7bf, 0xf682, 0xf7bf, 0xf69c, 0xf7f1, 0xf69c, 0xf7f1, 0xf67b, 0xf7e8, -0xf67b, 0xf7e8, 0xf62f, 0xf7b3, 0xf62f, 0xf7b3, 0xf62f, 0xf7b3, 0xf53d, 0xf6d6, 0xf53d, -0xf6d6, 0xf3e8, 0xf597, 0xf3e8, 0xf597, 0xf295, 0xf458, 0xf295, 0xf458, 0xf120, 0xf2f6, -0xf120, 0xf2f6, 0xefc6, 0xf1ae, 0xefc6, 0xf1ae, 0xeedc, 0xf0d4, 0xeedc, 0xf0d4, 0xeedc, -0xf0d4, 0xee42, 0xf049, 0xee42, 0xf049, 0xedb7, 0xefcc, 0xedb7, 0xefcc, 0xed60, 0xef82, -0xed60, 0xef82, 0xeccf, 0xeefd, 0xeccf, 0xeefd, 0xec51, 0xee8a, 0xec51, 0xee8a, 0xec51, -0xee8a, 0xec26, 0xee6a, 0xec26, 0xee6a, 0xeb72, 0xedc2, 0xeb72, 0xedc2, 0xeae1, 0xed3b, -0xeae1, 0xed3b, 0xea89, 0xecef, 0xea89, 0xecef, 0xea0a, 0xec7c, 0xea0a, 0xec7c, 0xe9b7, -0xec37, 0xe9b7, 0xec37, 0xe9b7, 0xec37, 0xe948, 0xebd6, 0xe948, 0xebd6, 0xe8fe, 0xeb9b, -0xe8fe, 0xeb9b, 0xe91e, 0xebcb, 0xe91e, 0xebcb, 0xe90f, 0xebcd, 0xe90f, 0xebcd, 0xe852, -0xeb21, 0xe852, 0xeb21, 0xe852, 0xeb21, 0xe732, 0xea14, 0xe732, 0xea14, 0xe5fe, 0xe8f2, -0xe5fe, 0xe8f2, 0xe50e, 0xe813, 0xe50e, 0xe813, 0xe4a1, 0xe7b7, 0xe4a1, 0xe7b7, 0xe453, -0xe778, 0xe453, 0xe778, 0xe3d4, 0xe707, 0xe3d4, 0xe707, 0xe3d4, 0xe707, 0xe357, 0xe695, -0xe357, 0xe695, 0xe2d5, 0xe619, 0xe2d5, 0xe619, 0xe233, 0xe57b, 0xe233, 0xe57b, 0xe204, -0xe54b, 0xe204, 0xe54b, 0xe21a, 0xe55c, 0xe21a, 0xe55c, 0xe1ef, 0xe526, 0xe1ef, 0xe526, -0xe1ef, 0xe526, 0xe1d7, 0xe4ff, 0xe1d7, 0xe4ff, 0xe234, 0xe547, 0xe234, 0xe547, 0xe2bd, -0xe5b6, 0xe2bd, 0xe5b6, 0xe348, 0xe623, 0xe348, 0xe623, 0xe3bd, 0xe675, 0xe3bd, 0xe675, -0xe3bd, 0xe675, 0xe401, 0xe692, 0xe401, 0xe692, 0xe49d, 0xe705, 0xe49d, 0xe705, 0xe570, -0xe7ab, 0xe570, 0xe7ab, 0xe613, 0xe821, 0xe613, 0xe821, 0xe6cc, 0xe8ac, 0xe6cc, 0xe8ac, -0xe7d5, 0xe988, 0xe7d5, 0xe988, 0xe7d5, 0xe988, 0xe8f3, 0xea7b, 0xe8f3, 0xea7b, 0xea89, -0xebe9, 0xea89, 0xebe9, 0xec5e, 0xed98, 0xec5e, 0xed98, 0xedc0, 0xeed9, 0xedc0, 0xeed9, -0xeefa, 0xeff7, 0xeefa, 0xeff7, 0xefbd, 0xf0a3, 0xefbd, 0xf0a3, 0xefbd, 0xf0a3, 0xf075, -0xf14b, 0xf075, 0xf14b, 0xf130, 0xf1fb, 0xf130, 0xf1fb, 0xf166, 0xf22b, 0xf166, 0xf22b, -0xf18f, 0xf254, 0xf18f, 0xf254, 0xf252, 0xf31c, 0xf252, 0xf31c, 0xf252, 0xf31c, 0xf357, -0xf42b, 0xf357, 0xf42b, 0xf3d6, 0xf4b8, 0xf3d6, 0xf4b8, 0xf48f, 0xf582, 0xf48f, 0xf582, -0xf543, 0xf648, 0xf543, 0xf648, 0xf5c6, 0xf6df, 0xf5c6, 0xf6df, 0xf644, 0xf770, 0xf644, -0xf770, 0xf644, 0xf770, 0xf61c, 0xf75b, 0xf61c, 0xf75b, 0xf5bd, 0xf70e, 0xf5bd, 0xf70e, -0xf58e, 0xf6ed, 0xf58e, 0xf6ed, 0xf57c, 0xf6e7, 0xf57c, 0xf6e7, 0xf54f, 0xf6c3, 0xf54f, -0xf6c3, 0xf533, 0xf6ac, 0xf533, 0xf6ac, 0xf533, 0xf6ac, 0xf51b, 0xf695, 0xf51b, 0xf695, -0xf545, 0xf6bc, 0xf545, 0xf6bc, 0xf5bf, 0xf731, 0xf5bf, 0xf731, 0xf5e4, 0xf74d, 0xf5e4, -0xf74d, 0xf620, 0xf77e, 0xf620, 0xf77e, 0xf620, 0xf77e, 0xf661, 0xf7b3, 0xf661, 0xf7b3, -0xf65d, 0xf7a2, 0xf65d, 0xf7a2, 0xf666, 0xf79d, 0xf666, 0xf79d, 0xf6a2, 0xf7cd, 0xf6a2, -0xf7cd, 0xf6de, 0xf7fd, 0xf6de, 0xf7fd, 0xf6ba, 0xf7d0, 0xf6ba, 0xf7d0, 0xf6ba, 0xf7d0, -0xf65c, 0xf76a, 0xf65c, 0xf76a, 0xf612, 0xf71c, 0xf612, 0xf71c, 0xf616, 0xf71e, 0xf616, -0xf71e, 0xf652, 0xf75b, 0xf652, 0xf75b, 0xf67d, 0xf788, 0xf67d, 0xf788, 0xf6bb, 0xf7cc, -0xf6bb, 0xf7cc, 0xf6bb, 0xf7cc, 0xf778, 0xf88e, 0xf778, 0xf88e, 0xf876, 0xf992, 0xf876, -0xf992, 0xf917, 0xfa38, 0xf917, 0xfa38, 0xf96b, 0xfa90, 0xf96b, 0xfa90, 0xf95b, 0xfa80, -0xf95b, 0xfa80, 0xf95b, 0xfa80, 0xf8e9, 0xfa0b, 0xf8e9, 0xfa0b, 0xf8d9, 0xf9f2, 0xf8d9, -0xf9f2, 0xf923, 0xfa2e, 0xf923, 0xfa2e, 0xf9a8, 0xfa9e, 0xf9a8, 0xfa9e, 0xfade, 0xfbb8, -0xfade, 0xfbb8, 0xfca8, 0xfd5f, 0xfca8, 0xfd5f, 0xfca8, 0xfd5f, 0xfee0, 0xff6d, 0xfee0, -0xff6d, 0x12a, 0x184, 0x12a, 0x184, 0x323, 0x344, 0x323, 0x344, 0x4e8, 0x4c9, -0x4e8, 0x4c9, 0x66c, 0x609, 0x66c, 0x609, 0x7a4, 0x6f8, 0x7a4, 0x6f8, 0x7a4, -0x6f8, 0x8de, 0x7e6, 0x8de, 0x7e6, 0xa52, 0x90e, 0xa52, 0x90e, 0xb89, 0x9f8, -0xb89, 0x9f8, 0xd0e, 0xb32, 0xd0e, 0xb32, 0xf02, 0xcdd, 0xf02, 0xcdd, 0xf02, -0xcdd, 0x109b, 0xe33, 0x109b, 0xe33, 0x1286, 0xfe1, 0x1286, 0xfe1, 0x1434, 0x1158, -0x1434, 0x1158, 0x1520, 0x1217, 0x1520, 0x1217, 0x15e4, 0x12b6, 0x15e4, 0x12b6, 0x1625, -0x12da, 0x1625, 0x12da, 0x1625, 0x12da, 0x1632, 0x12d4, 0x1632, 0x12d4, 0x16c9, 0x1361, -0x16c9, 0x1361, 0x17a9, 0x1440, 0x17a9, 0x1440, 0x1825, 0x14c3, 0x1825, 0x14c3, 0x1891, -0x153d, 0x1891, 0x153d, 0x1917, 0x15d8, 0x1917, 0x15d8, 0x1917, 0x15d8, 0x1948, 0x1623, -0x1948, 0x1623, 0x1920, 0x1619, 0x1920, 0x1619, 0x18b9, 0x15d2, 0x18b9, 0x15d2, 0x17dc, -0x1518, 0x17dc, 0x1518, 0x1666, 0x13c5, 0x1666, 0x13c5, 0x1666, 0x13c5, 0x1513, 0x1295, -0x1513, 0x1295, 0x141e, 0x11c1, 0x141e, 0x11c1, 0x1329, 0x10eb, 0x1329, 0x10eb, 0x1201, -0xfe0, 0x1201, 0xfe0, 0x10a4, 0xe9c, 0x10a4, 0xe9c, 0xf97, 0xda7, 0xf97, 0xda7, -0xf97, 0xda7, 0xecd, 0xcf2, 0xecd, 0xcf2, 0xe4e, 0xc85, 0xe4e, 0xc85, 0xe33, -0xc79, 0xe33, 0xc79, 0xdd0, 0xc25, 0xdd0, 0xc25, 0xd7f, 0xbe1, 0xd7f, 0xbe1, -0xdb3, 0xc22, 0xdb3, 0xc22, 0xdb3, 0xc22, 0xe16, 0xc92, 0xe16, 0xc92, 0xe6b, -0xcf6, 0xe6b, 0xcf6, 0xe73, 0xd0e, 0xe73, 0xd0e, 0xe5f, 0xd0b, 0xe5f, 0xd0b, -0xe25, 0xce5, 0xe25, 0xce5, 0xe25, 0xce5, 0xdb8, 0xc8e, 0xdb8, 0xc8e, 0xcba, -0xba9, 0xcba, 0xba9, 0xb2c, 0xa36, 0xb2c, 0xa36, 0xa1c, 0x944, 0xa1c, 0x944, -0x97d, 0x8c5, 0x97d, 0x8c5, 0x8eb, 0x855, 0x8eb, 0x855, 0x8eb, 0x855, 0x848, -0x7d4, 0x848, 0x7d4, 0x76e, 0x71e, 0x76e, 0x71e, 0x669, 0x63d, 0x669, 0x63d, -0x58d, 0x585, 0x58d, 0x585, 0x4c5, 0x4df, 0x4c5, 0x4df, 0x3b0, 0x3ec, 0x3b0, -0x3ec, 0x3b0, 0x3ec, 0x293, 0x2ef, 0x293, 0x2ef, 0x19c, 0x216, 0x19c, 0x216, -0xf7, 0x18e, 0xf7, 0x18e, 0x3a, 0xeb, 0x3a, 0xeb, 0xff43, 0xd, 0xff43, -0xd, 0xff43, 0xd, 0xfe90, 0xff72, 0xfe90, 0xff72, 0xfe3c, 0xff32, 0xfe3c, 0xff32, -0xfdc9, 0xfed5, 0xfdc9, 0xfed5, 0xfd07, 0xfe25, 0xfd07, 0xfe25, 0xfc49, 0xfd79, 0xfc49, -0xfd79, 0xfb3d, 0xfc80, 0xfb3d, 0xfc80, 0xfb3d, 0xfc80, 0xfa28, 0xfb7d, 0xfa28, 0xfb7d, -0xf935, 0xfa9b, 0xf935, 0xfa9b, 0xf833, 0xf9ab, 0xf833, 0xf9ab, 0xf777, 0xf901, 0xf777, -0xf901, 0xf6fa, 0xf895, 0xf6fa, 0xf895, 0xf6fa, 0xf895, 0xf64f, 0xf7fb, 0xf64f, 0xf7fb, -0xf569, 0xf724, 0xf569, 0xf724, 0xf48d, 0xf657, 0xf48d, 0xf657, 0xf38d, 0xf564, 0xf38d, -0xf564, 0xf2b6, 0xf498, 0xf2b6, 0xf498, 0xf24f, 0xf439, 0xf24f, 0xf439, 0xf24f, 0xf439, -0xf1e7, 0xf3d5, 0xf1e7, 0xf3d5, 0xf16b, 0xf359, 0xf16b, 0xf359, 0xf118, 0xf302, 0xf118, -0xf302, 0xf0aa, 0xf28c, 0xf0aa, 0xf28c, 0xf011, 0xf1e5, 0xf011, 0xf1e5, 0xefc2, 0xf183, -0xefc2, 0xf183, 0xefc2, 0xf183, 0xefab, 0xf155, 0xefab, 0xf155, 0xefb0, 0xf13c, 0xefb0, -0xf13c, 0xf011, 0xf17b, 0xf011, 0xf17b, 0xf0df, 0xf223, 0xf0df, 0xf223, 0xf1fd, 0xf317, -0xf1fd, 0xf317, 0xf1fd, 0xf317, 0xf32d, 0xf41b, 0xf32d, 0xf41b, 0xf3fa, 0xf4b9, 0xf3fa, -0xf4b9, 0xf502, 0xf58f, 0xf502, 0xf58f, 0xf63c, 0xf698, 0xf63c, 0xf698, 0xf713, 0xf73d, -0xf713, 0xf73d, 0xf841, 0xf83c, 0xf841, 0xf83c, 0xf841, 0xf83c, 0xf98b, 0xf956, 0xf98b, -0xf956, 0xfaf3, 0xfa92, 0xfaf3, 0xfa92, 0xfd17, 0xfc8c, 0xfd17, 0xfc8c, 0xffa0, 0xfeee, -0xffa0, 0xfeee, 0x1f6, 0x121, 0x1f6, 0x121, 0x44b, 0x354, 0x44b, 0x354, 0x44b, -0x354, 0x693, 0x57f, 0x693, 0x57f, 0x83a, 0x70b, 0x83a, 0x70b, 0x984, 0x83c, -0x984, 0x83c, 0xa2e, 0x8d0, 0xa2e, 0x8d0, 0xa7d, 0x90a, 0xa7d, 0x90a, 0xa7d, -0x90a, 0xb45, 0x9bd, 0xb45, 0x9bd, 0xc87, 0xaec, 0xc87, 0xaec, 0xdb7, 0xc07, -0xdb7, 0xc07, 0xede, 0xd19, 0xede, 0xd19, 0x1052, 0xe79, 0x1052, 0xe79, 0x1176, -0xf84, 0x1176, 0xf84, 0x1176, 0xf84, 0x12b0, 0x10a7, 0x12b0, 0x10a7, 0x1411, 0x11ed, -0x1411, 0x11ed, 0x1533, 0x12f4, 0x1533, 0x12f4, 0x1649, 0x13ee, 0x1649, 0x13ee, 0x1779, -0x1501, 0x1779, 0x1501, 0x18c1, 0x162d, 0x18c1, 0x162d, 0x18c1, 0x162d, 0x19f5, 0x1745, -0x19f5, 0x1745, 0x1b27, 0x185d, 0x1b27, 0x185d, 0x1bcb, 0x18e8, 0x1bcb, 0x18e8, 0x1c7b, -0x1982, 0x1c7b, 0x1982, 0x1ce4, 0x19dc, 0x1ce4, 0x19dc, 0x1ce4, 0x19dc, 0x1c67, 0x1950, -0x1c67, 0x1950, 0x1c21, 0x1903, 0x1c21, 0x1903, 0x1b9e, 0x187f, 0x1b9e, 0x187f, 0x1ae2, -0x17c5, 0x1ae2, 0x17c5, 0x1a5a, 0x174a, 0x1a5a, 0x174a, 0x19e5, 0x16e4, 0x19e5, 0x16e4, -0x19e5, 0x16e4, 0x1955, 0x166a, 0x1955, 0x166a, 0x186d, 0x15a2, 0x186d, 0x15a2, 0x1795, -0x14e9, 0x1795, 0x14e9, 0x16af, 0x142a, 0x16af, 0x142a, 0x15d7, 0x137d, 0x15d7, 0x137d, -0x14f0, 0x12c1, 0x14f0, 0x12c1, 0x14f0, 0x12c1, 0x13d1, 0x11d1, 0x13d1, 0x11d1, 0x12f0, -0x111e, 0x12f0, 0x111e, 0x124d, 0x10a9, 0x124d, 0x10a9, 0x11a1, 0x102a, 0x11a1, 0x102a, -0x10f6, 0xfa9, 0x10f6, 0xfa9, 0x10f6, 0xfa9, 0x1032, 0xf0c, 0x1032, 0xf0c, 0xee8, -0xde2, 0xee8, 0xde2, 0xdd7, 0xcf1, 0xdd7, 0xcf1, 0xd22, 0xc51, 0xd22, 0xc51, -0xc1a, 0xb5b, 0xc1a, 0xb5b, 0xb37, 0xa86, 0xb37, 0xa86, 0xb37, 0xa86, 0xa78, -0x9c9, 0xa78, 0x9c9, 0x9d7, 0x92b, 0x9d7, 0x92b, 0x9b7, 0x906, 0x9b7, 0x906, -0x9be, 0x900, 0x9be, 0x900, 0x9cf, 0x906, 0x9cf, 0x906, 0x9fa, 0x921, 0x9fa, -0x921, 0x9fa, 0x921, 0x9ca, 0x8da, 0x9ca, 0x8da, 0x976, 0x877, 0x976, 0x877, -0x965, 0x84e, 0x965, 0x84e, 0x945, 0x81b, 0x945, 0x81b, 0x927, 0x7ef, 0x927, -0x7ef, 0x927, 0x7ef, 0x978, 0x82b, 0x978, 0x82b, 0xa26, 0x8d3, 0xa26, 0x8d3, -0xaee, 0x98f, 0xaee, 0x98f, 0xb8d, 0xa2d, 0xb8d, 0xa2d, 0xbed, 0xa8e, 0xbed, -0xa8e, 0xbfe, 0xaa4, 0xbfe, 0xaa4, 0xbfe, 0xaa4, 0xbf4, 0xaa9, 0xbf4, 0xaa9, -0xba4, 0xa68, 0xba4, 0xa68, 0xaea, 0x9c5, 0xaea, 0x9c5, 0xa56, 0x94a, 0xa56, -0x94a, 0x9c7, 0x8da, 0x9c7, 0x8da, 0x92c, 0x861, 0x92c, 0x861, 0x92c, 0x861, -0x8ba, 0x812, 0x8ba, 0x812, 0x809, 0x788, 0x809, 0x788, 0x749, 0x6f2, 0x749, -0x6f2, 0x6f1, 0x6be, 0x6f1, 0x6be, 0x686, 0x67b, 0x686, 0x67b, 0x686, 0x67b, -0x5fd, 0x61d, 0x5fd, 0x61d, 0x568, 0x5a7, 0x568, 0x5a7, 0x4d1, 0x537, 0x4d1, -0x537, 0x46c, 0x4f3, 0x46c, 0x4f3, 0x422, 0x4c4, 0x422, 0x4c4, 0x395, 0x453, -0x395, 0x453, 0x395, 0x453, 0x2be, 0x392, 0x2be, 0x392, 0x1f2, 0x2dc, 0x1f2, -0x2dc, 0x109, 0x1fd, 0x109, 0x1fd, 0x5e, 0x166, 0x5e, 0x166, 0xd, 0x11a, -0xd, 0x11a, 0xff50, 0x62, 0xff50, 0x62, 0xff50, 0x62, 0xfebd, 0xffe1, 0xfebd, -0xffe1, 0xfee9, 0, 0xfee9, 0, 0xfef0, 0x19, 0xfef0, 0x19, 0xfefe, 0x28, -0xfefe, 0x28, 0xfea3, 0xffc2, 0xfea3, 0xffc2, 0xfea3, 0xffc2, 0xfd90, 0xfec8, 0xfd90, -0xfec8, 0xfc60, 0xfd8a, 0xfc60, 0xfd8a, 0xfaf4, 0xfc25, 0xfaf4, 0xfc25, 0xfa0e, 0xfb52, -0xfa0e, 0xfb52, 0xf94e, 0xfa88, 0xf94e, 0xfa88, 0xf858, 0xf9a6, 0xf858, 0xf9a6, 0xf858, -0xf9a6, 0xf889, 0xf9e4, 0xf889, 0xf9e4, 0xf8c0, 0xfa1d, 0xf8c0, 0xfa1d, 0xf8d3, 0xfa48, -0xf8d3, 0xfa48, 0xf920, 0xfa9b, 0xf920, 0xfa9b, 0xf89e, 0xfa2f, 0xf89e, 0xfa2f, 0xf7e5, -0xf97f, 0xf7e5, 0xf97f, 0xf7e5, 0xf97f, 0xf702, 0xf8ae, 0xf702, 0xf8ae, 0xf532, 0xf6f3, -0xf532, 0xf6f3, 0xf394, 0xf552, 0xf394, 0xf552, 0xf2bd, 0xf49e, 0xf2bd, 0xf49e, 0xf183, -0xf35d, 0xf183, 0xf35d, 0xf183, 0xf35d, 0xf13a, 0xf321, 0xf13a, 0xf321, 0xf0fc, 0xf2f5, -0xf0fc, 0xf2f5, 0xf0de, 0xf2cb, 0xf0de, 0xf2cb, 0xf147, 0xf344, 0xf147, 0xf344, 0xf129, -0xf328, 0xf129, 0xf328, 0xf12c, 0xf323, 0xf12c, 0xf323, 0xf12c, 0xf323, 0xf048, 0xf244, -0xf048, 0xf244, 0xef70, 0xf170, 0xef70, 0xf170, 0xeee1, 0xf0cf, 0xeee1, 0xf0cf, 0xee04, -0xf005, 0xee04, 0xf005, 0xee61, 0xf051, 0xee61, 0xf051, 0xee61, 0xf051, 0xee9f, 0xf09a, -0xee9f, 0xf09a, 0xee64, 0xf05f, 0xee64, 0xf05f, 0xee9f, 0xf098, 0xee9f, 0xf098, 0xedec, -0xf000, 0xedec, 0xf000, 0xed26, 0xef21, 0xed26, 0xef21, 0xec27, 0xee5a, 0xec27, 0xee5a, -0xec27, 0xee5a, 0xea74, 0xec96, 0xea74, 0xec96, 0xe93c, 0xeb72, 0xe93c, 0xeb72, 0xe810, -0xea7d, 0xe810, 0xea7d, 0xe765, 0xe9b4, 0xe765, 0xe9b4, 0xe6bc, 0xe947, 0xe6bc, 0xe947, -0xe597, 0xe83f, 0xe597, 0xe83f, 0xe597, 0xe83f, 0xe4ea, 0xe787, 0xe4ea, 0xe787, 0xe3eb, -0xe6c6, 0xe3eb, 0xe6c6, 0xe40d, 0xe6fa, 0xe40d, 0xe6fa, 0xe3e0, 0xe6bf, 0xe3e0, 0xe6bf, -0xe339, 0xe661, 0xe339, 0xe661, 0xe339, 0xe661, 0xe343, 0xe651, 0xe343, 0xe651, 0xe296, -0xe5b8, 0xe296, 0xe5b8, 0xe2cc, 0xe60a, 0xe2cc, 0xe60a, 0xe311, 0xe62e, 0xe311, 0xe62e, -0xe29c, 0xe5da, 0xe29c, 0xe5da, 0xe2d3, 0xe5ec, 0xe2d3, 0xe5ec, 0xe2d3, 0xe5ec, 0xe2bf, -0xe5e7, 0xe2bf, 0xe5e7, 0xe302, 0xe604, 0xe302, 0xe604, 0xe45e, 0xe757, 0xe45e, 0xe757, -0xe43f, 0xe72f, 0xe43f, 0xe72f, 0xe5b0, 0xe862, 0xe5b0, 0xe862, 0xe6ce, 0xe998, 0xe6ce, -0xe998, 0xe6ce, 0xe998, 0xe7b8, 0xea4b, 0xe7b8, 0xea4b, 0xea3e, 0xecaa, 0xea3e, 0xecaa, -0xea80, 0xed04, 0xea80, 0xed04, 0xeb43, 0xed8d, 0xeb43, 0xed8d, 0xec13, 0xee38, 0xec13, -0xee38, 0xec13, 0xee38, 0xebb7, 0xee16, 0xebb7, 0xee16, 0xece7, 0xeee4, 0xece7, 0xeee4, -0xed39, 0xef51, 0xed39, 0xef51, 0xedba, 0xeff7, 0xedba, 0xeff7, 0xef5a, 0xf133, 0xef5a, -0xf133, 0xefd9, 0xf219, 0xefd9, 0xf219, 0xefd9, 0xf219, 0xf14b, 0xf358, 0xf14b, 0xf358, -0xf1ad, 0xf3b6, 0xf1ad, 0xf3b6, 0xf264, 0xf4b3, 0xf264, 0xf4b3, 0xf296, 0xf49e, 0xf296, -0xf49e, 0xf222, 0xf46b, 0xf222, 0xf46b, 0xf2bd, 0xf502, 0xf2bd, 0xf502, 0xf2bd, 0xf502, -0xf2a1, 0xf4ca, 0xf2a1, 0xf4ca, 0xf207, 0xf466, 0xf207, 0xf466, 0xf176, 0xf3ac, 0xf176, -0xf3ac, 0xf0ca, 0xf30e, 0xf0ca, 0xf30e, 0xf0f7, 0xf335, 0xf0f7, 0xf335, 0xf0f7, 0xf335, -0xf150, 0xf373, 0xf150, 0xf373, 0xf14f, 0xf381, 0xf14f, 0xf381, 0xf1a2, 0xf39a, 0xf1a2, -0xf39a, 0xf09a, 0xf2a1, 0xf09a, 0xf2a1, 0xf166, 0xf347, 0xf166, 0xf347, 0xf169, 0xf327, -0xf169, 0xf327, 0xf169, 0xf327, 0xf13b, 0xf2f0, 0xf13b, 0xf2f0, 0xf210, 0xf3a1, 0xf210, -0xf3a1, 0xf232, 0xf3b0, 0xf232, 0xf3b0, 0xf2c6, 0xf417, 0xf2c6, 0xf417, 0xf2b1, 0xf410, -0xf2b1, 0xf410, 0xf292, 0xf3b8, 0xf292, 0xf3b8, 0xf292, 0xf3b8, 0xf28f, 0xf3ae, 0xf28f, -0xf3ae, 0xf1e9, 0xf305, 0xf1e9, 0xf305, 0xf22e, 0xf32c, 0xf22e, 0xf32c, 0xf2c4, 0xf3bb, -0xf2c4, 0xf3bb, 0xf327, 0xf41d, 0xf327, 0xf41d, 0xf327, 0xf41d, 0xf452, 0xf544, 0xf452, -0xf544, 0xf53f, 0xf612, 0xf53f, 0xf612, 0xf62d, 0xf724, 0xf62d, 0xf724, 0xf6c1, 0xf789, -0xf6c1, 0xf789, 0xf6dc, 0xf7b6, 0xf6dc, 0xf7b6, 0xf6f7, 0xf7c5, 0xf6f7, 0xf7c5, 0xf6f7, -0xf7c5, 0xf762, 0xf809, 0xf762, 0xf809, 0xf6e9, 0xf7a6, 0xf6e9, 0xf7a6, 0xf862, 0xf8ea, -0xf862, 0xf8ea, 0xf960, 0xf9cf, 0xf960, 0xf9cf, 0xfb5d, 0xfbb9, 0xfb5d, 0xfbb9, 0xfdb5, -0xfde9, 0xfdb5, 0xfde9, 0xfdb5, 0xfde9, 0xff97, 0xff7b, 0xff97, 0xff7b, 0x270, 0x250, -0x270, 0x250, 0x383, 0x31d, 0x383, 0x31d, 0x58d, 0x4c6, 0x58d, 0x4c6, 0x681, -0x5af, 0x681, 0x5af, 0x681, 0x5af, 0x71d, 0x5fb, 0x71d, 0x5fb, 0x8dd, 0x74f, -0x8dd, 0x74f, 0xaa9, 0x90c, 0xaa9, 0x90c, 0xc7f, 0xa9b, 0xc7f, 0xa9b, 0xf58, -0xcf5, 0xf58, 0xcf5, 0x109a, 0xe59, 0x109a, 0xe59, 0x109a, 0xe59, 0x131d, 0x105d, -0x131d, 0x105d, 0x154a, 0x1262, 0x154a, 0x1262, 0x160a, 0x1324, 0x160a, 0x1324, 0x1704, -0x13ab, 0x1704, 0x13ab, 0x184c, 0x1511, 0x184c, 0x1511, 0x1950, 0x15e9, 0x1950, 0x15e9, -0x1950, 0x15e9, 0x1a57, 0x16c7, 0x1a57, 0x16c7, 0x1b82, 0x17fd, 0x1b82, 0x17fd, 0x1b1a, -0x17a0, 0x1b1a, 0x17a0, 0x1d70, 0x19bb, 0x1d70, 0x19bb, 0x1e39, 0x1ab3, 0x1e39, 0x1ab3, -0x1e39, 0x1ab3, 0x1ec9, 0x1b65, 0x1ec9, 0x1b65, 0x1ede, 0x1b29, 0x1ede, 0x1b29, 0x1d91, -0x1a45, 0x1d91, 0x1a45, 0x1d24, 0x19d4, 0x1d24, 0x19d4, 0x1c79, 0x1906, 0x1c79, 0x1906, -0x1af0, 0x17d4, 0x1af0, 0x17d4, 0x1af0, 0x17d4, 0x199f, 0x1678, 0x199f, 0x1678, 0x1885, -0x1565, 0x1885, 0x1565, 0x16f8, 0x1400, 0x16f8, 0x1400, 0x15b4, 0x12cf, 0x15b4, 0x12cf, -0x153e, 0x125f, 0x153e, 0x125f, 0x13d5, 0x110f, 0x13d5, 0x110f, 0x13d5, 0x110f, 0x12f6, -0x1057, 0x12f6, 0x1057, 0x12eb, 0x1036, 0x12eb, 0x1036, 0x11fd, 0xf9a, 0x11fd, 0xf9a, -0x1260, 0xfe1, 0x1260, 0xfe1, 0x1256, 0xffb, 0x1256, 0xffb, 0x1256, 0xffb, 0x12f6, -0x10ee, 0x12f6, 0x10ee, 0x125b, 0x1007, 0x125b, 0x1007, 0x1226, 0x105c, 0x1226, 0x105c, -0x115c, 0xf7a, 0x115c, 0xf7a, 0x109f, 0xeee, 0x109f, 0xeee, 0xfb3, 0xe2f, 0xfb3, -0xe2f, 0xfb3, 0xe2f, 0xe79, 0xd11, 0xe79, 0xd11, 0xd4b, 0xc3b, 0xd4b, 0xc3b, -0xc1e, 0xad4, 0xc1e, 0xad4, 0xb21, 0xa80, 0xb21, 0xa80, 0xa5f, 0x997, 0xa5f, -0x997, 0x981, 0x8e2, 0x981, 0x8e2, 0x981, 0x8e2, 0x7ac, 0x775, 0x7ac, 0x775, -0x77b, 0x735, 0x77b, 0x735, 0x59f, 0x589, 0x59f, 0x589, 0x4b9, 0x4db, 0x4b9, -0x4db, 0x3a4, 0x3e2, 0x3a4, 0x3e2, 0x3a4, 0x3e2, 0x2fe, 0x340, 0x2fe, 0x340, -0x254, 0x2f2, 0x254, 0x2f2, 0x20e, 0x274, 0x20e, 0x274, 0xfb, 0x1d4, 0xfb, -0x1d4, 0x38, 0xe9, 0x38, 0xe9, 0xff6a, 0x39, 0xff6a, 0x39, 0xff6a, 0x39, -0xfec0, 0xffde, 0xfec0, 0xffde, 0xfe0c, 0xfee7, 0xfe0c, 0xfee7, 0xfc84, 0xfdc1, 0xfc84, -0xfdc1, 0xfbb8, 0xfcd4, 0xfbb8, 0xfcd4, 0xf9db, 0xfb42, 0xf9db, 0xfb42, 0xf9db, 0xfb42, -0xf9d7, 0xfb14, 0xf9d7, 0xfb14, 0xf7c7, 0xf949, 0xf7c7, 0xf949, 0xf6fd, 0xf894, 0xf6fd, -0xf894, 0xf5a9, 0xf731, 0xf5a9, 0xf731, 0xf495, 0xf651, 0xf495, 0xf651, 0xf3bf, 0xf593, -0xf3bf, 0xf593, 0xf3bf, 0xf593, 0xf2e4, 0xf4cc, 0xf2e4, 0xf4cc, 0xf247, 0xf400, 0xf247, -0xf400, 0xf0b4, 0xf30e, 0xf0b4, 0xf30e, 0xf023, 0xf1e7, 0xf023, 0xf1e7, 0xef35, 0xf16b, -0xef35, 0xf16b, 0xee9a, 0xf0cc, 0xee9a, 0xf0cc, 0xee9a, 0xf0cc, 0xee18, 0xf00d, 0xee18, -0xf00d, 0xece4, 0xef3e, 0xece4, 0xef3e, 0xec27, 0xedfb, 0xec27, 0xedfb, 0xec14, 0xee61, -0xec14, 0xee61, 0xeba2, 0xed69, 0xeba2, 0xed69, 0xeba2, 0xed69, 0xec0f, 0xee07, 0xec0f, -0xee07, 0xebc1, 0xed84, 0xebc1, 0xed84, 0xeb96, 0xed2e, 0xeb96, 0xed2e, 0xeb7f, 0xed20, -0xeb7f, 0xed20, 0xed12, 0xee29, 0xed12, 0xee29, 0xeda2, 0xef19, 0xeda2, 0xef19, 0xeda2, -0xef19, 0xeee0, 0xefa8, 0xeee0, 0xefa8, 0xef49, 0xf01a, 0xef49, 0xf01a, 0xf061, 0xf111, -0xf061, 0xf111, 0xf174, 0xf1d2, 0xf174, 0xf1d2, 0xf22c, 0xf253, 0xf22c, 0xf253, 0xf3ce, -0xf3d8, 0xf3ce, 0xf3d8, 0xf3ce, 0xf3d8, 0xf477, 0xf46e, 0xf477, 0xf46e, 0xf780, 0xf6d9, -0xf780, 0xf6d9, 0xf9f0, 0xf9a1, 0xf9f0, 0xf9a1, 0xfcfb, 0xfc33, 0xfcfb, 0xfc33, 0xfef9, -0xfdf0, 0xfef9, 0xfdf0, 0xfef9, 0xfdf0, 0x130, 0x4a, 0x130, 0x4a, 0x274, 0x117, -0x274, 0x117, 0x3ec, 0x290, 0x3ec, 0x290, 0x4ee, 0x360, 0x4ee, 0x360, 0x5f6, -0x42b, 0x5f6, 0x42b, 0x6f9, 0x52e, 0x6f9, 0x52e, 0x6f9, 0x52e, 0x8b3, 0x69b, -0x8b3, 0x69b, 0xa3b, 0x7fc, 0xa3b, 0x7fc, 0xb79, 0x931, 0xb79, 0x931, 0xd0f, -0xa81, 0xd0f, 0xa81, 0xe90, 0xbd2, 0xe90, 0xbd2, 0x106d, 0xd9c, 0x106d, 0xd9c, -0x106d, 0xd9c, 0x1130, 0xe45, 0x1130, 0xe45, 0x132d, 0xfda, 0x132d, 0xfda, 0x13d2, -0x1092, 0x13d2, 0x1092, 0x154b, 0x11fa, 0x154b, 0x11fa, 0x162a, 0x125f, 0x162a, 0x125f, -0x162a, 0x125f, 0x17f5, 0x145a, 0x17f5, 0x145a, 0x1887, 0x14d7, 0x1887, 0x14d7, 0x1a6e, -0x1660, 0x1a6e, 0x1660, 0x1b6c, 0x1795, 0x1b6c, 0x1795, 0x1c6c, 0x187a, 0x1c6c, 0x187a, -0x1d54, 0x193f, 0x1d54, 0x193f, 0x1d54, 0x193f, 0x1c5b, 0x1877, 0x1c5b, 0x1877, 0x1d00, -0x18f7, 0x1d00, 0x18f7, 0x1c73, 0x18a4, 0x1c73, 0x18a4, 0x1c8f, 0x18ba, 0x1c8f, 0x18ba, -0x1bda, 0x181a, 0x1bda, 0x181a, 0x1b8c, 0x1808, 0x1b8c, 0x1808, 0x1b8c, 0x1808, 0x1a7b, -0x1716, 0x1a7b, 0x1716, 0x1a44, 0x16e4, 0x1a44, 0x16e4, 0x19c1, 0x16b3, 0x19c1, 0x16b3, -0x19cd, 0x170b, 0x19cd, 0x170b, 0x1933, 0x1632, 0x1933, 0x1632, 0x1933, 0x1632, 0x18a4, -0x165d, 0x18a4, 0x165d, 0x1834, 0x15c5, 0x1834, 0x15c5, 0x1782, 0x1560, 0x1782, 0x1560, -0x16c3, 0x14d8, 0x16c3, 0x14d8, 0x15f2, 0x1416, 0x15f2, 0x1416, 0x1510, 0x13b2, 0x1510, -0x13b2, 0x1510, 0x13b2, 0x1418, 0x124d, 0x1418, 0x124d, 0x12f8, 0x11fd, 0x12f8, 0x11fd, -0x11f9, 0x10ae, 0x11f9, 0x10ae, 0x1116, 0xffe, 0x1116, 0xffe, 0xf59, 0xe81, 0xf59, -0xe81, 0xf29, 0xe37, 0xf29, 0xe37, 0xf29, 0xe37, 0xdf7, 0xd4f, 0xdf7, 0xd4f, -0xe99, 0xdac, 0xe99, 0xdac, 0xe03, 0xd96, 0xe03, 0xd96, 0xe7a, 0xdb0, 0xe7a, -0xdb0, 0xe3d, 0xdb8, 0xe3d, 0xdb8, 0xe3d, 0xdb8, 0xde3, 0xd44, 0xde3, 0xd44, -0xd1e, 0xca5, 0xd1e, 0xca5, 0xcd8, 0xc53, 0xcd8, 0xc53, 0xd64, 0xcad, 0xd64, -0xcad, 0xd8e, 0xd64, 0xd8e, 0xd64, 0xec8, 0xdfb, 0xec8, 0xdfb, 0xec8, 0xdfb, -0xeb0, 0xe4d, 0xeb0, 0xe4d, 0xff2, 0xf85, 0xff2, 0xf85, 0xfd0, 0xf3b, 0xfd0, -0xf3b, 0x10a4, 0x103f, 0x10a4, 0x103f, 0x1047, 0xfbc, 0x1047, 0xfbc, 0xfce, 0xf6a, -0xfce, 0xf6a, 0xfce, 0xf6a, 0xfb8, 0xf47, 0xfb8, 0xf47, 0xfe4, 0xf4d, 0xfe4, -0xf4d, 0xe61, 0xe15, 0xe61, 0xe15, 0xd72, 0xd04, 0xd72, 0xd04, 0xc53, 0xba5, -0xc53, 0xba5, 0xc53, 0xba5, 0xb5f, 0xb39, 0xb5f, 0xb39, 0xaea, 0xa4a, 0xaea, -0xa4a, 0xa23, 0x9b0, 0xa23, 0x9b0, 0xa7c, 0xa0c, 0xa7c, 0xa0c, 0xa3b, 0x9c1, -0xa3b, 0x9c1, 0xa1d, 0x9a5, 0xa1d, 0x9a5, 0xa1d, 0x9a5, 0x89e, 0x7fa, 0x89e, -0x7fa, 0x856, 0x807, 0x856, 0x807, 0x722, 0x66d, 0x722, 0x66d, 0x661, 0x5e4, -0x661, 0x5e4, 0x4b7, 0x41c, 0x4b7, 0x41c, 0x400, 0x382, 0x400, 0x382, 0x400, -0x382, 0x38a, 0x2da, 0x38a, 0x2da, 0x390, 0x2f6, 0x390, 0x2f6, 0x2c9, 0x24e, -0x2c9, 0x24e, 0x207, 0x146, 0x207, 0x146, 0x1d1, 0x155, 0x1d1, 0x155, 0x1d1, -0x155, 0x153, 0xa0, 0x153, 0xa0, 0x7a, 0x1f, 0x7a, 0x1f, 0xffbe, 0xfefa, -0xffbe, 0xfefa, 0xff6a, 0xfefc, 0xff6a, 0xfefc, 0xfd60, 0xfd17, 0xfd60, 0xfd17, 0xfcad, -0xfbfa, 0xfcad, 0xfbfa, 0xfcad, 0xfbfa, 0xfa8f, 0xfa5c, 0xfa8f, 0xfa5c, 0xfa5c, 0xfa19, -0xfa5c, 0xfa19, 0xf94e, 0xf8f4, 0xf94e, 0xf8f4, 0xf7e5, 0xf7c8, 0xf7e5, 0xf7c8, 0xf6ce, -0xf6c1, 0xf6ce, 0xf6c1, 0xf6f0, 0xf6dc, 0xf6f0, 0xf6dc, 0xf6f0, 0xf6dc, 0xf6d0, 0xf6fc, -0xf6d0, 0xf6fc, 0xf75c, 0xf74d, 0xf75c, 0xf74d, 0xf6ee, 0xf772, 0xf6ee, 0xf772, 0xf6c9, -0xf6e6, 0xf6c9, 0xf6e6, 0xf6ee, 0xf73e, 0xf6ee, 0xf73e, 0xf6ee, 0xf73e, 0xf5b5, 0xf676, -0xf5b5, 0xf676, 0xf4f4, 0xf523, 0xf4f4, 0xf523, 0xf208, 0xf2d7, 0xf208, 0xf2d7, 0xf1c1, -0xf23e, 0xf1c1, 0xf23e, 0xf04c, 0xf125, 0xf04c, 0xf125, 0xefe8, 0xf079, 0xefe8, 0xf079, -0xefe8, 0xf079, 0xeedf, 0xefae, 0xeedf, 0xefae, 0xee9a, 0xef82, 0xee9a, 0xef82, 0xee1f, -0xeebf, 0xee1f, 0xeebf, 0xedeb, 0xeeed, 0xedeb, 0xeeed, 0xed63, 0xee08, 0xed63, 0xee08, -0xed63, 0xee08, 0xec21, 0xed4e, 0xec21, 0xed4e, 0xebc7, 0xec41, 0xebc7, 0xec41, 0xeae5, -0xec06, 0xeae5, 0xec06, 0xeb34, 0xec22, 0xeb34, 0xec22, 0xeac7, 0xeb66, 0xeac7, 0xeb66, -0xea73, 0xebb0, 0xea73, 0xebb0, 0xea73, 0xebb0, 0xea4b, 0xeafb, 0xea4b, 0xeafb, 0xea3d, -0xeb73, 0xea3d, 0xeb73, 0xe9ea, 0xeaa5, 0xe9ea, 0xeaa5, 0xe9cc, 0xeb0a, 0xe9cc, 0xeb0a, -0xe8b8, 0xe9dc, 0xe8b8, 0xe9dc, 0xe84d, 0xe932, 0xe84d, 0xe932, 0xe84d, 0xe932, 0xe6b4, -0xe832, 0xe6b4, 0xe832, 0xe64e, 0xe780, 0xe64e, 0xe780, 0xe4e7, 0xe63c, 0xe4e7, 0xe63c, -0xe476, 0xe5ea, 0xe476, 0xe5ea, 0xe3e4, 0xe58b, 0xe3e4, 0xe58b, 0xe3e4, 0xe58b, 0xe3cb, -0xe53e, 0xe3cb, 0xe53e, 0xe42c, 0xe5f5, 0xe42c, 0xe5f5, 0xe42b, 0xe5f2, 0xe42b, 0xe5f2, -0xe404, 0xe5d0, 0xe404, 0xe5d0, 0xe2b8, 0xe4be, 0xe2b8, 0xe4be, 0xe38c, 0xe554, 0xe38c, -0xe554, 0xe38c, 0xe554, 0xe29c, 0xe4d5, 0xe29c, 0xe4d5, 0xe35b, 0xe561, 0xe35b, 0xe561, -0xe296, 0xe475, 0xe296, 0xe475, 0xe23d, 0xe4a0, 0xe23d, 0xe4a0, 0xe228, 0xe42d, 0xe228, -0xe42d, 0xe2b2, 0xe492, 0xe2b2, 0xe492, 0xe2b2, 0xe492, 0xe289, 0xe4e4, 0xe289, 0xe4e4, -0xe3e7, 0xe5db, 0xe3e7, 0xe5db, 0xe455, 0xe631, 0xe455, 0xe631, 0xe4c5, 0xe6e1, 0xe4c5, -0xe6e1, 0xe757, 0xe93c, 0xe757, 0xe93c, 0xe757, 0xe93c, 0xe816, 0xe9da, 0xe816, 0xe9da, -0xe9f5, 0xebbe, 0xe9f5, 0xebbe, 0xeaf5, 0xeccc, 0xeaf5, 0xeccc, 0xecb8, 0xee48, 0xecb8, -0xee48, 0xed85, 0xef19, 0xed85, 0xef19, 0xee18, 0xefca, 0xee18, 0xefca, 0xee18, 0xefca, -0xeeaf, 0xf008, 0xeeaf, 0xf008, 0xf07e, 0xf213, 0xf07e, 0xf213, 0xf1a0, 0xf2fa, 0xf1a0, -0xf2fa, 0xf34f, 0xf4a0, 0xf34f, 0xf4a0, 0xf40b, 0xf5b0, 0xf40b, 0xf5b0, 0xf5cd, 0xf6b0, -0xf5cd, 0xf6b0, 0xf5cd, 0xf6b0, 0xf651, 0xf7f2, 0xf651, 0xf7f2, 0xf767, 0xf8b7, 0xf767, -0xf8b7, 0xf798, 0xf88c, 0xf798, 0xf88c, 0xf73d, 0xf8cb, 0xf73d, 0xf8cb, 0xf842, 0xf965, -0xf842, 0xf965, 0xf842, 0xf965, 0xf780, 0xf8b9, 0xf780, 0xf8b9, 0xf87e, 0xf986, 0xf87e, -0xf986, 0xf710, 0xf8a0, 0xf710, 0xf8a0, 0xf7a6, 0xf870, 0xf7a6, 0xf870, 0xf67c, 0xf7b7, -0xf67c, 0xf7b7, 0xf64f, 0xf79c, 0xf64f, 0xf79c, 0xf64f, 0xf79c, 0xf596, 0xf659, 0xf596, -0xf659, 0xf4c0, 0xf621, 0xf4c0, 0xf621, 0xf4f8, 0xf59f, 0xf4f8, 0xf59f, 0xf514, 0xf67f, -0xf514, 0xf67f, 0xf546, 0xf5d9, 0xf546, 0xf5d9, 0xf519, 0xf637, 0xf519, 0xf637, 0xf519, -0xf637, 0xf57f, 0xf679, 0xf57f, 0xf679, 0xf5b3, 0xf655, 0xf5b3, 0xf655, 0xf6c9, 0xf80b, -0xf6c9, 0xf80b, 0xf647, 0xf69a, 0xf647, 0xf69a, 0xf656, 0xf7ca, 0xf656, 0xf7ca, 0xf656, -0xf7ca, 0xf6dd, 0xf743, 0xf6dd, 0xf743, 0xf636, 0xf71d, 0xf636, 0xf71d, 0xf549, 0xf670, -0xf549, 0xf670, 0xf5b9, 0xf637, 0xf5b9, 0xf637, 0xf52e, 0xf633, 0xf52e, 0xf633, 0xf5bf, -0xf6a1, 0xf5bf, 0xf6a1, 0xf5bf, 0xf6a1, 0xf5b5, 0xf6a9, 0xf5b5, 0xf6a9, 0xf61d, 0xf6b8, -0xf61d, 0xf6b8, 0xf541, 0xf67d, 0xf541, 0xf67d, 0xf740, 0xf7e8, 0xf740, 0xf7e8, 0xf7bc, -0xf8b1, 0xf7bc, 0xf8b1, 0xf746, 0xf80a, 0xf746, 0xf80a, 0xf746, 0xf80a, 0xf7b8, 0xf8aa, -0xf7b8, 0xf8aa, 0xf809, 0xf8d6, 0xf809, 0xf8d6, 0xfa34, 0xfaa2, 0xfa34, 0xfaa2, 0xfa57, -0xfb8d, 0xfa57, 0xfb8d, 0xfcec, 0xfd09, 0xfcec, 0xfd09, 0xfcec, 0xfd09, 0xfcd8, 0xfda5, -0xfcd8, 0xfda5, 0xa, 0x6c, 0xa, 0x6c, 0x36c, 0x3b0, 0x36c, 0x3b0, 0x4bc, -0x519, 0x4bc, 0x519, 0x546, 0x52d, 0x546, 0x52d, 0x639, 0x65b, 0x639, 0x65b, -0x639, 0x65b, 0x5e8, 0x5bb, 0x5e8, 0x5bb, 0x7d3, 0x779, 0x7d3, 0x779, 0x9f3, -0x96a, 0x9f3, 0x96a, 0xa8a, 0xa5e, 0xa8a, 0xa5e, 0xd82, 0xc3e, 0xd82, 0xc3e, -0xfc6, 0xf3b, 0xfc6, 0xf3b, 0xfc6, 0xf3b, 0x1214, 0x1125, 0x1214, 0x1125, 0x1264, -0x10e9, 0x1264, 0x10e9, 0x154d, 0x144e, 0x154d, 0x144e, 0x15e5, 0x1438, 0x15e5, 0x1438, -0x1590, 0x144e, 0x1590, 0x144e, 0x1590, 0x144e, 0x16e2, 0x14b2, 0x16e2, 0x14b2, 0x188f, -0x171d, 0x188f, 0x171d, 0x199a, 0x1795, 0x199a, 0x1795, 0x1bb8, 0x193b, 0x1bb8, 0x193b, -0x1d88, 0x1bd3, 0x1d88, 0x1bd3, 0x1fd8, 0x1d1c, 0x1fd8, 0x1d1c, 0x1fd8, 0x1d1c, 0x1e39, -0x1be5, 0x1e39, 0x1be5, 0x1e28, 0x1b93, 0x1e28, 0x1b93, 0x1ca5, 0x19e9, 0x1ca5, 0x19e9, -0x18e5, 0x1632, 0x18e5, 0x1632, 0x19d5, 0x16e2, 0x19d5, 0x16e2, 0x194a, 0x1662, 0x194a, -0x1662, 0x194a, 0x1662, 0x1946, 0x1641, 0x1946, 0x1641, 0x15c6, 0x12cf, 0x15c6, 0x12cf, -0x173e, 0x13ed, 0x173e, 0x13ed, 0x1567, 0x126c, 0x1567, 0x126c, 0x1503, 0x1211, 0x1503, -0x1211, 0x1503, 0x1211, 0x1606, 0x1266, 0x1606, 0x1266, 0x10ea, 0xe3b, 0x10ea, 0xe3b, -0x116d, 0xe75, 0x116d, 0xe75, 0x1331, 0xfa3, 0x1331, 0xfa3, 0x141a, 0x11bc, 0x141a, -0x11bc, 0x159d, 0x12b2, 0x159d, 0x12b2, 0x159d, 0x12b2, 0x111b, 0xe0f, 0x111b, 0xe0f, -0xf33, 0xcf2, 0xf33, 0xcf2, 0x107a, 0xe0f, 0x107a, 0xe0f, 0xed2, 0xc2c, 0xed2, -0xc2c, 0xe51, 0xc84, 0xe51, 0xc84, 0xb9f, 0x997, 0xb9f, 0x997, 0xb9f, 0x997, -0xbc3, 0x9ab, 0xbc3, 0x9ab, 0xd4e, 0xc2f, 0xd4e, 0xc2f, 0xca7, 0xab3, 0xca7, -0xab3, 0x87b, 0x775, 0x87b, 0x775, 0x828, 0x73a, 0x828, 0x73a, 0x828, 0x73a, -0x766, 0x5fd, 0x766, 0x5fd, 0x635, 0x5e1, 0x635, 0x5e1, 0x6a6, 0x605, 0x6a6, -0x605, 0x314, 0x259, 0x314, 0x259, 0x192, 0x188, 0x192, 0x188, 0x309, 0x30b, -0x309, 0x30b, 0x309, 0x30b, 0x14d, 0xed, 0x14d, 0xed, 0x219, 0x27c, 0x219, -0x27c, 0x122, 0x18f, 0x122, 0x18f, 0xfff3, 0x13, 0xfff3, 0x13, 0x6d, 0x10b, -0x6d, 0x10b, 0x6d, 0x10b, 0xfce2, 0xfdc8, 0xfce2, 0xfdc8, 0xfdcb, 0xfe52, 0xfdcb, -0xfe52, 0xf9f3, 0xfae1, 0xf9f3, 0xfae1, 0xf974, 0xfab9, 0xf974, 0xfab9, 0xf791, 0xf868, -0xf791, 0xf868, 0xf7be, 0xf939, 0xf7be, 0xf939, 0xf7be, 0xf939, 0xf70e, 0xf84d, 0xf70e, -0xf84d, 0xf5e6, 0xf76f, 0xf5e6, 0xf76f, 0xf6ce, 0xf86d, 0xf6ce, 0xf86d, 0xf32b, 0xf4be, -0xf32b, 0xf4be, 0xf3d7, 0xf5b3, 0xf3d7, 0xf5b3, 0xf203, 0xf3e4, 0xf203, 0xf3e4, 0xf203, -0xf3e4, 0xefe7, 0xf1da, 0xefe7, 0xf1da, 0xee61, 0xf02f, 0xee61, 0xf02f, 0xedd3, 0xf04d, -0xedd3, 0xf04d, 0xec19, 0xede8, 0xec19, 0xede8, 0xeecc, 0xf0e9, 0xeecc, 0xf0e9, 0xeecc, -0xf0e9, 0xed17, 0xef94, 0xed17, 0xef94, 0xec16, 0xee0b, 0xec16, 0xee0b, 0xefe4, 0xf200, -0xefe4, 0xf200, 0xee1f, 0xf076, 0xee1f, 0xf076, 0xebe1, 0xee08, 0xebe1, 0xee08, 0xedb2, -0xef6f, 0xedb2, 0xef6f, 0xedb2, 0xef6f, 0xed21, 0xef8b, 0xed21, 0xef8b, 0xebb9, 0xed7c, -0xebb9, 0xed7c, 0xf053, 0xf224, 0xf053, 0xf224, 0xf13b, 0xf325, 0xf13b, 0xf325, 0xf1d7, -0xf35d, 0xf1d7, 0xf35d, 0xf402, 0xf5da, 0xf402, 0xf5da, 0xf402, 0xf5da, 0xf4dc, 0xf5fb, -0xf4dc, 0xf5fb, 0xf5bb, 0xf751, 0xf5bb, 0xf751, 0xf685, 0xf7f1, 0xf685, 0xf7f1, 0xf723, -0xf7ba, 0xf723, 0xf7ba, 0xf848, 0xf9e8, 0xf848, 0xf9e8, 0xf848, 0xf9e8, 0xf9c4, 0xfa6a, -0xf9c4, 0xfa6a, 0xfd28, 0xfdb8, 0xfd28, 0xfdb8, 0xffca, 0x133, 0xffca, 0x133, 0x39e, -0x33d, 0x39e, 0x33d, 0x430, 0x583, 0x430, 0x583, 0x6f0, 0x715, 0x6f0, 0x715, -0x6f0, 0x715, 0x896, 0x831, 0x896, 0x831, 0x95d, 0xae2, 0x95d, 0xae2, 0xc3b, -0xb15, 0xc3b, 0xb15, 0xa6d, 0xacb, 0xa6d, 0xacb, 0xb5b, 0xbc9, 0xb5b, 0xbc9, -0xcf1, 0xbe8, 0xcf1, 0xbe8, 0xcf1, 0xbe8, 0xc3a, 0xc52, 0xc3a, 0xc52, 0xda6, -0xd7b, 0xda6, 0xd7b, 0x1151, 0x1064, 0x1151, 0x1064, 0xed9, 0xe74, 0xed9, 0xe74, -0x1372, 0x12ff, 0x1372, 0x12ff, 0x1372, 0x12ff, 0x147d, 0x1350, 0x147d, 0x1350, 0x140b, -0x13a5, 0x140b, 0x13a5, 0x1397, 0x1249, 0x1397, 0x1249, 0x13b4, 0x1306, 0x13b4, 0x1306, -0x187f, 0x1743, 0x187f, 0x1743, 0x1890, 0x175f, 0x1890, 0x175f, 0x1890, 0x175f, 0x1aab, -0x19c1, 0x1aab, 0x19c1, 0x1bfc, 0x1a37, 0x1bfc, 0x1a37, 0x1bc8, 0x1b30, 0x1bc8, 0x1b30, -0x1a17, 0x17f5, 0x1a17, 0x17f5, 0x1d3a, 0x1c4e, 0x1d3a, 0x1c4e, 0x1ad1, 0x19a0, 0x1ad1, -0x19a0, 0x1ad1, 0x19a0, 0x186d, 0x1619, 0x186d, 0x1619, 0x1966, 0x18db, 0x1966, 0x18db, -0x1a73, 0x18c8, 0x1a73, 0x18c8, 0x1b07, 0x18de, 0x1b07, 0x18de, 0x1b5c, 0x1ad0, 0x1b5c, -0x1ad0, 0x1b5c, 0x1ad0, 0x1a9d, 0x18e2, 0x1a9d, 0x18e2, 0x187c, 0x1652, 0x187c, 0x1652, -0x1920, 0x18ee, 0x1920, 0x18ee, 0x1751, 0x14ee, 0x1751, 0x14ee, 0x16d0, 0x15a4, 0x16d0, -0x15a4, 0x1581, 0x149b, 0x1581, 0x149b, 0x1581, 0x149b, 0x14d6, 0x12a9, 0x14d6, 0x12a9, -0x17be, 0x172e, 0x17be, 0x172e, 0x17de, 0x1618, 0x17de, 0x1618, 0x13d2, 0x128f, 0x13d2, -0x128f, 0x129c, 0x1182, 0x129c, 0x1182, 0x114a, 0xfe6, 0x114a, 0xfe6, 0x114a, 0xfe6, -0xf39, 0xdbe, 0xf39, 0xdbe, 0xe69, 0xd76, 0xe69, 0xd76, 0xe37, 0xcd4, 0xe37, -0xcd4, 0xac3, 0x920, 0xac3, 0x920, 0xc51, 0xb90, 0xc51, 0xb90, 0xc51, 0xb90, -0xdae, 0xbe8, 0xdae, 0xbe8, 0xd48, 0xc22, 0xd48, 0xc22, 0xe67, 0xcd6, 0xe67, -0xcd6, 0xc39, 0xb14, 0xc39, 0xb14, 0xdc7, 0xc22, 0xdc7, 0xc22, 0x1013, 0xe5e, -0x1013, 0xe5e, 0x1013, 0xe5e, 0xd83, 0xc98, 0xd83, 0xc98, 0xc8a, 0xa42, 0xc8a, -0xa42, 0xde6, 0xcac, 0xde6, 0xcac, 0xc4c, 0xa88, 0xc4c, 0xa88, 0x112c, 0xf64, -0x112c, 0xf64, 0xf8e, 0xdd3, 0xf8e, 0xdd3, 0xf8e, 0xdd3, 0x104f, 0xe47, 0x104f, -0xe47, 0x107c, 0xf00, 0x107c, 0xf00, 0xf67, 0xced, 0xf67, 0xced, 0x11cd, 0x1028, -0x11cd, 0x1028, 0xf65, 0xd49, 0xf65, 0xd49, 0xf65, 0xd49, 0xf3a, 0xce2, 0xf3a, -0xce2, 0xf0c, 0xd44, 0xf0c, 0xd44, 0x10c1, 0xe16, 0x10c1, 0xe16, 0xea1, 0xcbf, -0xea1, 0xcbf, 0xfb8, 0xd51, 0xfb8, 0xd51, 0xf9e, 0xcf6, 0xf9e, 0xcf6, 0xf9e, -0xcf6, 0xcc9, 0xae9, 0xcc9, 0xae9, 0xe03, 0xb49, 0xe03, 0xb49, 0xced, 0xa5f, -0xced, 0xa5f, 0xa7a, 0x84b, 0xa7a, 0x84b, 0x8f9, 0x66b, 0x8f9, 0x66b, 0x6dd, -0x41d, 0x6dd, 0x41d, 0x6dd, 0x41d, 0x8aa, 0x667, 0x8aa, 0x667, 0x6f6, 0x490, -0x6f6, 0x490, 0x480, 0x1a8, 0x480, 0x1a8, 0x42f, 0x1ec, 0x42f, 0x1ec, 0x381, -0x13f, 0x381, 0x13f, 0x381, 0x13f, 0x27e, 0xffb5, 0x27e, 0xffb5, 0x3a3, 0x16d, -0x3a3, 0x16d, 0x35a, 0x151, 0x35a, 0x151, 0xfe46, 0xfb81, 0xfe46, 0xfb81, 0xffb3, -0xfe00, 0xffb3, 0xfe00, 0xffb4, 0xfd6b, 0xffb4, 0xfd6b, 0xffb4, 0xfd6b, 0x6a, 0xfe4b, -0x6a, 0xfe4b, 0xff9b, 0xfe22, 0xff9b, 0xfe22, 0x25, 0xfdd3, 0x25, 0xfdd3, 0xfde1, -0xfca3, 0xfde1, 0xfca3, 0xffce, 0xfe30, 0xffce, 0xfe30, 0xff17, 0xfd95, 0xff17, 0xfd95, -0xff17, 0xfd95, 0xfbb3, 0xfa7e, 0xfbb3, 0xfa7e, 0xf9bf, 0xf8e2, 0xf9bf, 0xf8e2, 0xf269, -0xf144, 0xf269, 0xf144, 0xf4ee, 0xf3fe, 0xf4ee, 0xf3fe, 0xf412, 0xf41c, 0xf412, 0xf41c, -0xf412, 0xf41c, 0xf4c9, 0xf3c7, 0xf4c9, 0xf3c7, 0xf462, 0xf441, 0xf462, 0xf441, 0xf531, -0xf583, 0xf531, 0xf583, 0xf6b9, 0xf69c, 0xf6b9, 0xf69c, 0xf4aa, 0xf4ad, 0xf4aa, 0xf4ad, -0xf482, 0xf5cd, 0xf482, 0xf5cd, 0xf482, 0xf5cd, 0xf285, 0xf2a2, 0xf285, 0xf2a2, 0xf1da, -0xf2a1, 0xf1da, 0xf2a1, 0xf2dc, 0xf4d7, 0xf2dc, 0xf4d7, 0xf409, 0xf40c, 0xf409, 0xf40c, -0xf3af, 0xf631, 0xf3af, 0xf631, 0xf3af, 0xf631, 0xf52d, 0xf65e, 0xf52d, 0xf65e, 0xf280, -0xf3f7, 0xf280, 0xf3f7, 0xf3ac, 0xf681, 0xf3ac, 0xf681, 0xf5ca, 0xf70a, 0xf5ca, 0xf70a, -0xee7a, 0xf124, 0xee7a, 0xf124, 0xf218, 0xf4a3, 0xf218, 0xf4a3, 0xf218, 0xf4a3, 0xeff2, -0xf254, 0xeff2, 0xf254, 0xefec, 0xf261, 0xefec, 0xf261, 0xf1d9, 0xf53b, 0xf1d9, 0xf53b, -0xedf7, 0xf07d, 0xedf7, 0xf07d, 0xf2e5, 0xf5b6, 0xf2e5, 0xf5b6, 0xebaf, 0xef74, 0xebaf, -0xef74, 0xebaf, 0xef74, 0xf0e4, 0xf385, 0xf0e4, 0xf385, 0xf1c3, 0xf529, 0xf1c3, 0xf529, -0xecc4, 0xf043, 0xecc4, 0xf043, 0xeb58, 0xeea3, 0xeb58, 0xeea3, 0xea11, 0xed53, 0xea11, -0xed53, 0xea11, 0xed53, 0xea5e, 0xee19, 0xea5e, 0xee19, 0xe5f9, 0xe941, 0xe5f9, 0xe941, -0xeaf1, 0xee76, 0xeaf1, 0xee76, 0xe905, 0xec9c, 0xe905, 0xec9c, 0xe701, 0xea3b, 0xe701, -0xea3b, 0xe638, 0xea06, 0xe638, 0xea06, 0xe638, 0xea06, 0xe757, 0xea81, 0xe757, 0xea81, -0xe318, 0xe67c, 0xe318, 0xe67c, 0xe17d, 0xe513, 0xe17d, 0xe513, 0xdfca, 0xe2f0, 0xdfca, -0xe2f0, 0xdff3, 0xe303, 0xdff3, 0xe303, 0xe39a, 0xe73a, 0xe39a, 0xe73a, 0xe39a, 0xe73a, -0xe2b2, 0xe576, 0xe2b2, 0xe576, 0xe394, 0xe6a5, 0xe394, 0xe6a5, 0xddbb, 0xe0ef, 0xddbb, -0xe0ef, 0xe1e1, 0xe470, 0xe1e1, 0xe470, 0xe1bb, 0xe4ea, 0xe1bb, 0xe4ea, 0xe1bb, 0xe4ea, -0xdf20, 0xe159, 0xdf20, 0xe159, 0xe020, 0xe33b, 0xe020, 0xe33b, 0xdfff, 0xe265, 0xdfff, -0xe265, 0xe338, 0xe54b, 0xe338, 0xe54b, 0xe3cf, 0xe6d2, 0xe3cf, 0xe6d2, 0xe754, 0xe92a, -0xe754, 0xe92a, 0xe754, 0xe92a, 0xe5ee, 0xe81a, 0xe5ee, 0xe81a, 0xe69e, 0xe8f6, 0xe69e, -0xe8f6, 0xe824, 0xea16, 0xe824, 0xea16, 0xe52f, 0xe6f0, 0xe52f, 0xe6f0, 0xe976, 0xeb8a, -0xe976, 0xeb8a, 0xe90a, 0xeadd, 0xe90a, 0xeadd, 0xe90a, 0xeadd, 0xe915, 0xea8f, 0xe915, -0xea8f, 0xeab2, 0xec99, 0xeab2, 0xec99, 0xec15, 0xedac, 0xec15, 0xedac, 0xee5d, 0xefa7, -0xee5d, 0xefa7, 0xef42, 0xf131, 0xef42, 0xf131, 0xef42, 0xf131, 0xed8d, 0xee9e, 0xed8d, -0xee9e, 0xec4b, 0xedb3, 0xec4b, 0xedb3, 0xee6c, 0xf070, 0xee6c, 0xf070, 0xed65, 0xeda3, -0xed65, 0xeda3, 0xedb5, 0xefe4, 0xedb5, 0xefe4, 0xecbc, 0xee1d, 0xecbc, 0xee1d, 0xecbc, -0xee1d, 0xf016, 0xf041, 0xf016, 0xf041, 0xee8d, 0xf123, 0xee8d, 0xf123, 0xef5a, 0xf008, -0xef5a, 0xf008, 0xed48, 0xedf1, 0xed48, 0xedf1, 0xeb10, 0xed76, 0xeb10, 0xed76, 0xebef, -0xec4a, 0xebef, 0xec4a, 0xebef, 0xec4a, 0xe7ce, 0xe906, 0xe7ce, 0xe906, 0xece6, 0xeee5, -0xece6, 0xeee5, 0xee83, 0xeea0, 0xee83, 0xeea0, 0xee43, 0xf060, 0xee43, 0xf060, 0xf0ad, -0xf192, 0xf0ad, 0xf192, 0xf0ad, 0xf192, 0xef0a, 0xefcd, 0xef0a, 0xefcd, 0xeea8, 0xf0e1, -0xeea8, 0xf0e1, 0xf201, 0xf217, 0xf201, 0xf217, 0xed9e, 0xef7b, 0xed9e, 0xef7b, 0xf11c, -0xf23c, 0xf11c, 0xf23c, 0xf0f4, 0xf1c0, 0xf0f4, 0xf1c0, 0xf0f4, 0xf1c0, 0xef3a, 0xf0e0, -0xef3a, 0xf0e0, 0xf2ac, 0xf344, 0xf2ac, 0xf344, 0xf0f1, 0xf294, 0xf0f1, 0xf294, 0xf1ac, -0xf257, 0xf1ac, 0xf257, 0xf1bc, 0xf2b7, 0xf1bc, 0xf2b7, 0xf463, 0xf5eb, 0xf463, 0xf5eb, -0xf463, 0xf5eb, 0xf4a9, 0xf4eb, 0xf4a9, 0xf4eb, 0xf718, 0xf843, 0xf718, 0xf843, 0xf726, -0xf83d, 0xf726, 0xf83d, 0xf766, 0xf7a6, 0xf766, 0xf7a6, 0xf7a5, 0xf89b, 0xf7a5, 0xf89b, -0xf7a5, 0xf89b, 0xf701, 0xf7ad, 0xf701, 0xf7ad, 0xf8cf, 0xf91c, 0xf8cf, 0xf91c, 0xfa2a, -0xfab3, 0xfa2a, 0xfab3, 0xfc7d, 0xfccb, 0xfc7d, 0xfccb, 0x32, 0x6b, 0x32, 0x6b, -0xd9, 0xf2, 0xd9, 0xf2, 0xd9, 0xf2, 0x65, 0x4e, 0x65, 0x4e, 0x2ae, -0x2aa, 0x2ae, 0x2aa, 0x2d7, 0x28b, 0x2d7, 0x28b, 0x5c1, 0x53b, 0x5c1, 0x53b, -0x8dc, 0x884, 0x8dc, 0x884, 0xa56, 0x98f, 0xa56, 0x98f, 0xa56, 0x98f, 0xc61, -0xba2, 0xc61, 0xba2, 0xc0d, 0xafc, 0xc0d, 0xafc, 0x115f, 0x1065, 0x115f, 0x1065, -0x1679, 0x1555, 0x1679, 0x1555, 0x14f2, 0x1321, 0x14f2, 0x1321, 0x14f2, 0x1321, 0x161d, -0x1514, 0x161d, 0x1514, 0x1605, 0x1433, 0x1605, 0x1433, 0x1ae4, 0x18bf, 0x1ae4, 0x18bf, -0x1b4f, 0x19ce, 0x1b4f, 0x19ce, 0x1d66, 0x1b31, 0x1d66, 0x1b31, 0x1f5b, 0x1cd4, 0x1f5b, -0x1cd4, 0x1f5b, 0x1cd4, 0x1d64, 0x1b74, 0x1d64, 0x1b74, 0x2382, 0x20e3, 0x2382, 0x20e3, -0x236c, 0x20b5, 0x236c, 0x20b5, 0x22a0, 0x2031, 0x22a0, 0x2031, 0x2551, 0x224e, 0x2551, -0x224e, 0x24ff, 0x225b, 0x24ff, 0x225b, 0x24ff, 0x225b, 0x25dd, 0x22ae, 0x25dd, 0x22ae, -0x2618, 0x233f, 0x2618, 0x233f, 0x220b, 0x1eec, 0x220b, 0x1eec, 0x2277, 0x1f55, 0x2277, -0x1f55, 0x231a, 0x1fed, 0x231a, 0x1fed, 0x231a, 0x1fed, 0x22a7, 0x1f6c, 0x22a7, 0x1f6c, -0x2112, 0x1e30, 0x2112, 0x1e30, 0x2273, 0x1ea5, 0x2273, 0x1ea5, 0x1c66, 0x19d5, 0x1c66, -0x19d5, 0x19ec, 0x167c, 0x19ec, 0x167c, 0x1c5d, 0x1922, 0x1c5d, 0x1922, 0x1c5d, 0x1922, -0x18ce, 0x15fd, 0x18ce, 0x15fd, 0x1a27, 0x16f8, 0x1a27, 0x16f8, 0x164f, 0x138b, 0x164f, -0x138b, 0x154f, 0x1222, 0x154f, 0x1222, 0x173d, 0x14fc, 0x173d, 0x14fc, 0x15d6, 0x12d5, -0x15d6, 0x12d5, 0x15d6, 0x12d5, 0x11e5, 0xf81, 0x11e5, 0xf81, 0x1184, 0xf2e, 0x1184, -0xf2e, 0xd1a, 0xaf9, 0xd1a, 0xaf9, 0xd4c, 0xb05, 0xd4c, 0xb05, 0xe03, 0xc2b, -0xe03, 0xc2b, 0xe03, 0xc2b, 0x9af, 0x85f, 0x9af, 0x85f, 0xb40, 0x8e2, 0xb40, -0x8e2, 0xa5b, 0x9ed, 0xa5b, 0x9ed, 0x86f, 0x69d, 0x86f, 0x69d, 0x6dc, 0x61d, -0x6dc, 0x61d, 0x422, 0x3b0, 0x422, 0x3b0, 0x422, 0x3b0, 0x326, 0x1d7, 0x326, -0x1d7, 0x3be, 0x45c, 0x3be, 0x45c, 0xfe78, 0xfda8, 0xfe78, 0xfda8, 0xfff9, 0x2a, -0xfff9, 0x2a, 0xffa7, 0x57, 0xffa7, 0x57, 0xffa7, 0x57, 0xfec8, 0xfee5, 0xfec8, -0xfee5, 0xff, 0x1ba, 0xff, 0x1ba, 0xfe6f, 0xffa3, 0xfe6f, 0xffa3, 0xff1f, 0x8, -0xff1f, 0x8, 0xfc18, 0xfd4a, 0xfc18, 0xfd4a, 0xf941, 0xfb06, 0xf941, 0xfb06, 0xf941, -0xfb06, 0xf736, 0xf8b7, 0xf736, 0xf8b7, 0xf628, 0xf801, 0xf628, 0xf801, 0xf8f6, 0xfae9, -0xf8f6, 0xfae9, 0xf357, 0xf5c1, 0xf357, 0xf5c1, 0xf216, 0xf3fd, 0xf216, 0xf3fd, 0xf185, -0xf43f, 0xf185, 0xf43f, 0xf185, 0xf43f, 0xf0c7, 0xf336, 0xf0c7, 0xf336, 0xf394, 0xf61b, -0xf394, 0xf61b, 0xedb3, 0xf0c8, 0xedb3, 0xf0c8, 0xecc8, 0xeeff, 0xecc8, 0xeeff, 0xecac, -0xf03b, 0xecac, 0xf03b, 0xecac, 0xf03b, 0xef2c, 0xf1a6, 0xef2c, 0xf1a6, 0xedb3, 0xf09a, -0xedb3, 0xf09a, 0xed55, 0xf0c6, 0xed55, 0xf0c6, 0xee76, 0xf0f6, 0xee76, 0xf0f6, 0xed1a, -0xf052, 0xed1a, 0xf052, 0xf178, 0xf469, 0xf178, 0xf469, 0xf178, 0xf469, 0xee31, 0xf127, -0xee31, 0xf127, 0xea1b, 0xece2, 0xea1b, 0xece2, 0xec30, 0xef15, 0xec30, 0xef15, 0xeb90, -0xee5d, 0xeb90, 0xee5d, 0xebc7, 0xee61, 0xebc7, 0xee61, 0xeb0c, 0xed90, 0xeb0c, 0xed90, -0xeb0c, 0xed90, 0xe98f, 0xec1b, 0xe98f, 0xec1b, 0xed30, 0xefa0, 0xed30, 0xefa0, 0xec13, -0xedf3, 0xec13, 0xedf3, 0xefb3, 0xf220, 0xefb3, 0xf220, 0xee82, 0xf05c, 0xee82, 0xf05c, -0xee82, 0xf05c, 0xee3b, 0xefca, 0xee3b, 0xefca, 0xf36b, 0xf552, 0xf36b, 0xf552, 0xf471, -0xf5c1, 0xf471, 0xf5c1, 0xf829, 0xf979, 0xf829, 0xf979, 0xfa7c, 0xfb8b, 0xfa7c, 0xfb8b, -0xfb4f, 0xfc56, 0xfb4f, 0xfc56, 0xfb4f, 0xfc56, 0xff25, 0xffdd, 0xff25, 0xffdd, 0xeb, -0x169, 0xeb, 0x169, 0x1dc, 0x263, 0x1dc, 0x263, 0x4e1, 0x4f2, 0x4e1, 0x4f2, -0x14a, 0x18b, 0x14a, 0x18b, 0x2c4, 0x246, 0x2c4, 0x246, 0x2c4, 0x246, 0x50a, -0x503, 0x50a, 0x503, 0x810, 0x7a6, 0x810, 0x7a6, 0x724, 0x5f0, 0x724, 0x5f0, -0x670, 0x654, 0x670, 0x654, 0xb19, 0x9b5, 0xb19, 0x9b5, 0xb19, 0x9b5, 0xdd6, -0xca3, 0xdd6, 0xca3, 0x11e3, 0x10f5, 0x11e3, 0x10f5, 0x10bf, 0xf13, 0x10bf, 0xf13, -0xe39, 0xcc5, 0xe39, 0xcc5, 0x1174, 0xfc9, 0x1174, 0xfc9, 0x1379, 0x11bf, 0x1379, -0x11bf, 0x1379, 0x11bf, 0x1394, 0x11a8, 0x1394, 0x11a8, 0x16d1, 0x14e0, 0x16d1, 0x14e0, -0x1302, 0x10de, 0x1302, 0x10de, 0x122a, 0x103a, 0x122a, 0x103a, 0x13fb, 0x118e, 0x13fb, -0x118e, 0x146e, 0x1230, 0x146e, 0x1230, 0x146e, 0x1230, 0x1687, 0x146b, 0x1687, 0x146b, -0x1444, 0x119f, 0x1444, 0x119f, 0x13fa, 0x11b1, 0x13fa, 0x11b1, 0x16dc, 0x1470, 0x16dc, -0x1470, 0x1723, 0x14b5, 0x1723, 0x14b5, 0x1723, 0x14b5, 0x1702, 0x145e, 0x1702, 0x145e, -0x13ca, 0x1179, 0x13ca, 0x1179, 0x147c, 0x1202, 0x147c, 0x1202, 0x1712, 0x1475, 0x1712, -0x1475, 0x1501, 0x1296, 0x1501, 0x1296, 0x14b1, 0x125b, 0x14b1, 0x125b, 0x14b1, 0x125b, -0x1359, 0x10c4, 0x1359, 0x10c4, 0x157b, 0x1302, 0x157b, 0x1302, 0x1780, 0x1566, 0x1780, -0x1566, 0x18b1, 0x15f9, 0x18b1, 0x15f9, 0x1685, 0x1487, 0x1685, 0x1487, 0x114b, 0xeb9, -0x114b, 0xeb9, 0x114b, 0xeb9, 0x1188, 0xf7f, 0x1188, 0xf7f, 0x1302, 0x10d8, 0x1302, -0x10d8, 0x125a, 0xfba, 0x125a, 0xfba, 0x113a, 0xfdd, 0x113a, 0xfdd, 0xe91, 0xbd1, -0xe91, 0xbd1, 0xe91, 0xbd1, 0x10a9, 0xeda, 0x10a9, 0xeda, 0x1051, 0xe8a, 0x1051, -0xe8a, 0x110b, 0xeac, 0x110b, 0xeac, 0xf9d, 0xe0f, 0xf9d, 0xe0f, 0xf4b, 0xd2f, -0xf4b, 0xd2f, 0x13bb, 0x1202, 0x13bb, 0x1202, 0x13bb, 0x1202, 0x1072, 0xeb7, 0x1072, -0xeb7, 0x1541, 0x133f, 0x1541, 0x133f, 0x1073, 0xf01, 0x1073, 0xf01, 0x10f7, 0xf3d, -0x10f7, 0xf3d, 0x15e8, 0x13f7, 0x15e8, 0x13f7, 0x122a, 0x10f8, 0x122a, 0x10f8, 0x122a, -0x10f8, 0x14e6, 0x130a, 0x14e6, 0x130a, 0x1274, 0x10e9, 0x1274, 0x10e9, 0xfe9, 0xe81, -0xfe9, 0xe81, 0x124d, 0x10a9, 0x124d, 0x10a9, 0x140c, 0x12ca, 0x140c, 0x12ca, 0x140c, -0x12ca, 0x1567, 0x13a3, 0x1567, 0x13a3, 0x121d, 0x1108, 0x121d, 0x1108, 0x1056, 0xedd, -0x1056, 0xedd, 0x1612, 0x147e, 0x1612, 0x147e, 0x12ac, 0x11b2, 0x12ac, 0x11b2, 0x1486, -0x1312, 0x1486, 0x1312, 0x1486, 0x1312, 0x14a8, 0x134c, 0x14a8, 0x134c, 0x1052, 0xf55, -0x1052, 0xf55, 0x130f, 0x11ab, 0x130f, 0x11ab, 0x1395, 0x128d, 0x1395, 0x128d, 0x1636, -0x1517, 0x1636, 0x1517, 0x1399, 0x1255, 0x1399, 0x1255, 0x1399, 0x1255, 0x1025, 0xf98, -0x1025, 0xf98, 0xef7, 0xd5e, 0xef7, 0xd5e, 0xd95, 0xd0e, 0xd95, 0xd0e, 0x1042, -0xf6c, 0x1042, 0xf6c, 0xc39, 0xaf3, 0xc39, 0xaf3, 0xc39, 0xaf3, 0xaca, 0xa8f, -0xaca, 0xa8f, 0xcfb, 0xbd8, 0xcfb, 0xbd8, 0xa99, 0xa37, 0xa99, 0xa37, 0xb9b, -0xad8, 0xb9b, 0xad8, 0x83d, 0x7bd, 0x83d, 0x7bd, 0x5c1, 0x57c, 0x5c1, 0x57c, -0x5c1, 0x57c, 0x5ec, 0x53b, 0x5ec, 0x53b, 0x419, 0x403, 0x419, 0x403, 0x3f5, -0x3b3, 0x3f5, 0x3b3, 0x305, 0x2cd, 0x305, 0x2cd, 0xffec, 0xffcd, 0xffec, 0xffcd, -0x14a, 0x179, 0x14a, 0x179, 0x14a, 0x179, 0x27f, 0x270, 0x27f, 0x270, 0x1a9, -0x1d6, 0x1a9, 0x1d6, 0xfdea, 0xfe3b, 0xfdea, 0xfe3b, 0xfc7d, 0xfcda, 0xfc7d, 0xfcda, -0xfd34, 0xfd86, 0xfd34, 0xfd86, 0xfd34, 0xfd86, 0xfb0f, 0xfb95, 0xfb0f, 0xfb95, 0xfc35, -0xfcfd, 0xfc35, 0xfcfd, 0xf69e, 0xf700, 0xf69e, 0xf700, 0xf386, 0xf47b, 0xf386, 0xf47b, -0xf420, 0xf4ec, 0xf420, 0xf4ec, 0xf737, 0xf81c, 0xf737, 0xf81c, 0xf737, 0xf81c, 0xf63f, -0xf73e, 0xf63f, 0xf73e, 0xf295, 0xf3a5, 0xf295, 0xf3a5, 0xf20f, 0xf342, 0xf20f, 0xf342, -0xeffb, 0xf11f, 0xeffb, 0xf11f, 0xf1cd, 0xf315, 0xf1cd, 0xf315, 0xf1cd, 0xf315, 0xf0d6, -0xf22d, 0xf0d6, 0xf22d, 0xeccc, 0xee59, 0xeccc, 0xee59, 0xec63, 0xed7b, 0xec63, 0xed7b, -0xeee1, 0xf0c0, 0xeee1, 0xf0c0, 0xf06a, 0xf1e7, 0xf06a, 0xf1e7, 0xf2b1, 0xf3fa, 0xf2b1, -0xf3fa, 0xf2b1, 0xf3fa, 0xedc4, 0xefde, 0xedc4, 0xefde, 0xebaf, 0xed0c, 0xebaf, 0xed0c, -0xede8, 0xefaf, 0xede8, 0xefaf, 0xed9b, 0xef60, 0xed9b, 0xef60, 0xed7b, 0xef35, 0xed7b, -0xef35, 0xe851, 0xea1e, 0xe851, 0xea1e, 0xe851, 0xea1e, 0xe787, 0xe936, 0xe787, 0xe936, -0xe632, 0xe822, 0xe632, 0xe822, 0xe2af, 0xe45f, 0xe2af, 0xe45f, 0xe4a0, 0xe67a, 0xe4a0, -0xe67a, 0xe1ea, 0xe3a2, 0xe1ea, 0xe3a2, 0xe1ea, 0xe3a2, 0xdfa4, 0xe187, 0xdfa4, 0xe187, -0xdf4c, 0xe10f, 0xdf4c, 0xe10f, 0xddc8, 0xdf5a, 0xddc8, 0xdf5a, 0xddf0, 0xdffb, 0xddf0, -0xdffb, 0xddaa, 0xdf2f, 0xddaa, 0xdf2f, 0xdf08, 0xe0b1, 0xdf08, 0xe0b1, 0xdf08, 0xe0b1, -0xdd03, 0xded6, 0xdd03, 0xded6, 0xdd03, 0xde8b, 0xdd03, 0xde8b, 0xdde7, 0xdf81, 0xdde7, -0xdf81, 0xdbc1, 0xdd4e, 0xdbc1, 0xdd4e, 0xdba6, 0xdd47, 0xdba6, 0xdd47, 0xdc49, 0xdda3, -0xdc49, 0xdda3, 0xdc49, 0xdda3, 0xdbba, 0xdd38, 0xdbba, 0xdd38, 0xdcb7, 0xde1f, 0xdcb7, -0xde1f, 0xdc98, 0xde00, 0xdc98, 0xde00, 0xdb23, 0xdc51, 0xdb23, 0xdc51, 0xd937, 0xda86, -0xd937, 0xda86, 0xd937, 0xda86, 0xda48, 0xdbb4, 0xda48, 0xdbb4, 0xdddd, 0xde9f, 0xdddd, -0xde9f, 0xdbc6, 0xdd48, 0xdbc6, 0xdd48, 0xdc66, 0xdd52, 0xdc66, 0xdd52, 0xded9, 0xdfcd, -0xded9, 0xdfcd, 0xe18e, 0xe2bc, 0xe18e, 0xe2bc, 0xe18e, 0xe2bc, 0xe29d, 0xe353, 0xe29d, -0xe353, 0xe68a, 0xe7b3, 0xe68a, 0xe7b3, 0xea03, 0xeaa1, 0xea03, 0xeaa1, 0xe8d0, 0xe9c1, -0xe8d0, 0xe9c1, 0xeb4c, 0xec1c, 0xeb4c, 0xec1c, 0xeeb6, 0xef5f, 0xeeb6, 0xef5f, 0xeeb6, -0xef5f, 0xee67, 0xef22, 0xee67, 0xef22, 0xefc8, 0xf07c, 0xefc8, 0xf07c, 0xf3c9, 0xf47c, -0xf3c9, 0xf47c, 0xf24c, 0xf2bd, 0xf24c, 0xf2bd, 0xf360, 0xf421, 0xf360, 0xf421, 0xf360, -0xf421, 0xf39a, 0xf431, 0xf39a, 0xf431, 0xf44c, 0xf4af, 0xf44c, 0xf4af, 0xf72b, 0xf7c1, -0xf72b, 0xf7c1, 0xf67b, 0xf73d, 0xf67b, 0xf73d, 0xf83a, 0xf849, 0xf83a, 0xf849, 0xfaf8, -0xfbce, 0xfaf8, 0xfbce, 0xfaf8, 0xfbce, 0xfa9c, 0xfb12, 0xfa9c, 0xfb12, 0xfa36, 0xfa62, -0xfa36, 0xfa62, 0xfab7, 0xfbab, 0xfab7, 0xfbab, 0xfc15, 0xfc0e, 0xfc15, 0xfc0e, 0xfc57, -0xfd37, 0xfc57, 0xfd37, 0xfbe4, 0xfc2e, 0xfbe4, 0xfc2e, 0xfbe4, 0xfc2e, 0xfd2e, 0xfd8c, -0xfd2e, 0xfd8c, 0xfc26, 0xfcf7, 0xfc26, 0xfcf7, 0xfb0e, 0xfb32, 0xfb0e, 0xfb32, 0xf9ea, -0xfa9c, 0xf9ea, 0xfa9c, 0xf944, 0xf9b5, 0xf944, 0xf9b5, 0xf944, 0xf9b5, 0xf87d, 0xf917, -0xf87d, 0xf917, 0xf709, 0xf765, 0xf709, 0xf765, 0xf975, 0xfa28, 0xf975, 0xfa28, 0xfa17, -0xfa9b, 0xfa17, 0xfa9b, 0xf970, 0xf9e8, 0xf970, 0xf9e8, 0xfbc9, 0xfc73, 0xfbc9, 0xfc73, -0xfbc9, 0xfc73, 0xf8ab, 0xf92c, 0xf8ab, 0xf92c, 0xf94d, 0xfa03, 0xf94d, 0xfa03, 0xfa45, -0xfa99, 0xfa45, 0xfa99, 0xf929, 0xfa0d, 0xf929, 0xfa0d, 0xfb22, 0xfb93, 0xfb22, 0xfb93, -0xf6f4, 0xf77b, 0xf6f4, 0xf77b, 0xf6f4, 0xf77b, 0xf7cc, 0xf890, 0xf7cc, 0xf890, 0xf9af, -0xfa28, 0xf9af, 0xfa28, 0xf965, 0xfa03, 0xf965, 0xfa03, 0xf9f3, 0xfa78, 0xf9f3, 0xfa78, -0xf90d, 0xf9c0, 0xf90d, 0xf9c0, 0xf90d, 0xf9c0, 0xf9eb, 0xfa47, 0xf9eb, 0xfa47, 0xf90a, -0xf9b1, 0xf90a, 0xf9b1, 0xf898, 0xf90e, 0xf898, 0xf90e, 0xf8c3, 0xf933, 0xf8c3, 0xf933, -0xf909, 0xf995, 0xf909, 0xf995, 0xfb00, 0xfb3a, 0xfb00, 0xfb3a, 0xfb00, 0xfb3a, 0xf87a, -0xf90a, 0xf87a, 0xf90a, 0xfb56, 0xfb9d, 0xfb56, 0xfb9d, 0xfc97, 0xfcbd, 0xfc97, 0xfcbd, -0xfabf, 0xfb35, 0xfabf, 0xfb35, 0xffcd, 0xffee, 0xffcd, 0xffee, 0xfb20, 0xfb17, 0xfb20, -0xfb17, 0xfb20, 0xfb17, 0xfb57, 0xfbb6, 0xfb57, 0xfbb6, 0xfed9, 0xfebc, 0xfed9, 0xfebc, -0xfdd6, 0xfdc2, 0xfdd6, 0xfdc2, 0xfe75, 0xfe8a, 0xfe75, 0xfe8a, 0xfdaa, 0xfd66, 0xfdaa, -0xfd66, 0xfdaa, 0xfd66, 0x13a, 0x11a, 0x13a, 0x11a, 0x41a, 0x3c3, 0x41a, 0x3c3, -0x68e, 0x653, 0x68e, 0x653, 0x8cd, 0x867, 0x8cd, 0x867, 0x95d, 0x8d8, 0x95d, -0x8d8, 0xad9, 0xa7c, 0xad9, 0xa7c, 0xad9, 0xa7c, 0xbc1, 0xb23, 0xbc1, 0xb23, -0xe61, 0xdc5, 0xe61, 0xdc5, 0x1033, 0xf98, 0x1033, 0xf98, 0x1006, 0xf4f, 0x1006, -0xf4f, 0x1151, 0x1099, 0x1151, 0x1099, 0x1049, 0xf7e, 0x1049, 0xf7e, 0x1049, 0xf7e, -0x10ac, 0xfd7, 0x10ac, 0xfd7, 0x1415, 0x135a, 0x1415, 0x135a, 0x1261, 0x1166, 0x1261, -0x1166, 0x1372, 0x1290, 0x1372, 0x1290, 0x14ab, 0x13f6, 0x14ab, 0x13f6, 0x14ab, 0x13f6, -0xfbe, 0xea0, 0xfbe, 0xea0, 0x1419, 0x1348, 0x1419, 0x1348, 0x13c4, 0x1303, 0x13c4, -0x1303, 0x112a, 0x1012, 0x112a, 0x1012, 0x141b, 0x1369, 0x141b, 0x1369, 0x1237, 0x1156, -0x1237, 0x1156, 0x1237, 0x1156, 0x1267, 0x119d, 0x1267, 0x119d, 0x123e, 0x1189, 0x123e, -0x1189, 0x130b, 0x1231, 0x130b, 0x1231, 0x1229, 0x11ca, 0x1229, 0x11ca, 0x1340, 0x1261, -0x1340, 0x1261, 0x12b8, 0x124d, 0x12b8, 0x124d, 0x12b8, 0x124d, 0x108f, 0x1046, 0x108f, -0x1046, 0xfaa, 0xef2, 0xfaa, 0xef2, 0xbb9, 0xbc6, 0xbb9, 0xbc6, 0xc29, 0xbc6, -0xc29, 0xbc6, 0xbbd, 0xb95, 0xbbd, 0xb95, 0xbbd, 0xb95, 0x96a, 0x9a4, 0x96a, -0x9a4, 0xa0d, 0x9d0, 0xa0d, 0x9d0, 0x998, 0x9fd, 0x998, 0x9fd, 0x929, 0x984, -0x929, 0x984, 0xcaf, 0xcc0, 0xcaf, 0xcc0, 0xb82, 0xc58, 0xb82, 0xc58, 0xb82, -0xc58, 0xb89, 0xc12, 0xb89, 0xc12, 0xd30, 0xda5, 0xd30, 0xda5, 0xa29, 0xb5a, -0xa29, 0xb5a, 0xac5, 0xb7f, 0xac5, 0xb7f, 0xa27, 0xb18, 0xa27, 0xb18, 0xa27, -0xb18, 0xa28, 0xb82, 0xa28, 0xb82, 0xb67, 0xc77, 0xb67, 0xc77, 0xa69, 0xbbd, -0xa69, 0xbbd, 0xa7a, 0xbfa, 0xa7a, 0xbfa, 0x8d2, 0xa38, 0x8d2, 0xa38, 0x981, -0xb20, 0x981, 0xb20, 0x981, 0xb20, 0x876, 0xa25, 0x876, 0xa25, 0x68d, 0x82d, -0x68d, 0x82d, 0x718, 0x8fd, 0x718, 0x8fd, 0x4fb, 0x6c8, 0x4fb, 0x6c8, 0x561, -0x734, 0x561, 0x734, 0x521, 0x72a, 0x521, 0x72a, 0x521, 0x72a, 0x346, 0x53b, -0x346, 0x53b, 0x47c, 0x65e, 0x47c, 0x65e, 0x3a2, 0x5c8, 0x3a2, 0x5c8, 0x143, -0x347, 0x143, 0x347, 0x147, 0x32e, 0x147, 0x32e, 0x147, 0x32e, 0xffa9, 0x1de, -0xffa9, 0x1de, 0xfffd, 0x1e8, 0xfffd, 0x1e8, 0xfd10, 0xff17, 0xfd10, 0xff17, 0xfa38, -0xfc35, 0xfa38, 0xfc35, 0xfac9, 0xfcb8, 0xfac9, 0xfcb8, 0xf9ff, 0xfbf4, 0xf9ff, 0xfbf4, -0xf9ff, 0xfbf4, 0xfa43, 0xfc05, 0xfa43, 0xfc05, 0xf90f, 0xfaf8, 0xf90f, 0xfaf8, 0xf891, -0xfa46, 0xf891, 0xfa46, 0xf668, 0xf80d, 0xf668, 0xf80d, 0xf764, 0xf908, 0xf764, 0xf908, -0xf5e1, 0xf76d, 0xf5e1, 0xf76d, 0xf5e1, 0xf76d, 0xf34a, 0xf4ae, 0xf34a, 0xf4ae, 0xf2e8, -0xf448, 0xf2e8, 0xf448, 0xf28c, 0xf3d6, 0xf28c, 0xf3d6, 0xf4c2, 0xf5df, 0xf4c2, 0xf5df, -0xf1e9, 0xf300, 0xf1e9, 0xf300, 0xf1e9, 0xf300, 0xf194, 0xf281, 0xf194, 0xf281, 0xf433, -0xf514, 0xf433, 0xf514, 0xf2da, 0xf38b, 0xf2da, 0xf38b, 0xf433, 0xf4d2, 0xf433, 0xf4d2, -0xf662, 0xf6e3, 0xf662, 0xf6e3, 0xf2e3, 0xf348, 0xf2e3, 0xf348, 0xf2e3, 0xf348, 0xf468, -0xf49b, 0xf468, 0xf49b, 0xf727, 0xf753, 0xf727, 0xf753, 0xf67c, 0xf68f, 0xf67c, 0xf68f, -0xf965, 0xf923, 0xf965, 0xf923, 0xf884, 0xf86a, 0xf884, 0xf86a, 0xf846, 0xf7e4, 0xf846, -0xf7e4, 0xf846, 0xf7e4, 0xfe6d, 0xfde4, 0xfe6d, 0xfde4, 0xfa, 0x6c, 0xfa, 0x6c, -0xfe37, 0xfd83, 0xfe37, 0xfd83, 0xfe97, 0xfdb3, 0xfe97, 0xfdb3, 0x98, 0xffa1, 0x98, -0xffa1, 0x98, 0xffa1, 0xffc0, 0xfec2, 0xffc0, 0xfec2, 0x14f, 0xfffd, 0x14f, 0xfffd, -0xb9, 0xff87, 0xb9, 0xff87, 0xff60, 0xfde8, 0xff60, 0xfde8, 0x348, 0x1be, 0x348, -0x1be, 0x43f, 0x2b3, 0x43f, 0x2b3, 0x43f, 0x2b3, 0x57f, 0x3a4, 0x57f, 0x3a4, -0x6ce, 0x50f, 0x6ce, 0x50f, 0x444, 0x252, 0x444, 0x252, 0x64d, 0x436, 0x64d, -0x436, 0x889, 0x672, 0x889, 0x672, 0x8d5, 0x6a7, 0x8d5, 0x6a7, 0x8d5, 0x6a7, -0xbd5, 0x96f, 0xbd5, 0x96f, 0x9a5, 0x74d, 0x9a5, 0x74d, 0x84c, 0x5de, 0x84c, -0x5de, 0x99a, 0x6f0, 0x99a, 0x6f0, 0x98e, 0x705, 0x98e, 0x705, 0x98e, 0x705, -0xba2, 0x8e6, 0xba2, 0x8e6, 0xbb1, 0x8e9, 0xbb1, 0x8e9, 0xbfa, 0x92b, 0xbfa, -0x92b, 0xd1b, 0xa31, 0xd1b, 0xa31, 0xda3, 0xab7, 0xda3, 0xab7, 0xea3, 0xb9e, -0xea3, 0xb9e, 0xea3, 0xb9e, 0xe56, 0xb4e, 0xe56, 0xb4e, 0xf8c, 0xc77, 0xf8c, -0xc77, 0x10e1, 0xdc6, 0x10e1, 0xdc6, 0x10e6, 0xdb8, 0x10e6, 0xdb8, 0x1206, 0xee0, -0x1206, 0xee0, 0x10ff, 0xdcf, 0x10ff, 0xdcf, 0x10ff, 0xdcf, 0x128b, 0xf4a, 0x128b, -0xf4a, 0x1477, 0x1148, 0x1477, 0x1148, 0x1610, 0x12d4, 0x1610, 0x12d4, 0x1603, 0x12c6, -0x1603, 0x12c6, 0x1260, 0xf26, 0x1260, 0xf26, 0x1260, 0xf26, 0x1257, 0xf25, 0x1257, -0xf25, 0x11e8, 0xeae, 0x11e8, 0xeae, 0x110e, 0xddd, 0x110e, 0xddd, 0x114b, 0xe25, -0x114b, 0xe25, 0x110c, 0xde2, 0x110c, 0xde2, 0xed3, 0xbb6, 0xed3, 0xbb6, 0xed3, -0xbb6, 0x1264, 0xf4c, 0x1264, 0xf4c, 0x16e5, 0x13da, 0x16e5, 0x13da, 0x14ac, 0x11a4, -0x14ac, 0x11a4, 0x15a3, 0x12a8, 0x15a3, 0x12a8, 0x16cd, 0x13e1, 0x16cd, 0x13e1, 0x168f, -0x13a8, 0x168f, 0x13a8, 0x168f, 0x13a8, 0x1870, 0x1597, 0x1870, 0x1597, 0x1915, 0x1649, -0x1915, 0x1649, 0x17ed, 0x152f, 0x17ed, 0x152f, 0x19c9, 0x1711, 0x19c9, 0x1711, 0x1bf7, -0x1954, 0x1bf7, 0x1954, 0x1bf7, 0x1954, 0x1c9c, 0x1a04, 0x1c9c, 0x1a04, 0x1cb2, 0x1a24, -0x1cb2, 0x1a24, 0x1ae8, 0x186a, 0x1ae8, 0x186a, 0x19d6, 0x1766, 0x19d6, 0x1766, 0x1aef, -0x188e, 0x1aef, 0x188e, 0x1cea, 0x1a90, 0x1cea, 0x1a90, 0x1cea, 0x1a90, 0x1ca5, 0x1a63, -0x1ca5, 0x1a63, 0x1bc8, 0x198d, 0x1bc8, 0x198d, 0x1b52, 0x1925, 0x1b52, 0x1925, 0x1de7, -0x1bce, 0x1de7, 0x1bce, 0x219a, 0x1f8b, 0x219a, 0x1f8b, 0x21d7, 0x1fda, 0x21d7, 0x1fda, -0x21d7, 0x1fda, 0x21d4, 0x1fe3, 0x21d4, 0x1fe3, 0x2148, 0x1f6c, 0x2148, 0x1f6c, 0x22de, -0x210f, 0x22de, 0x210f, 0x22cd, 0x2110, 0x22cd, 0x2110, 0x1f46, 0x1d9b, 0x1f46, 0x1d9b, -0x1f46, 0x1d9b, 0x1bf1, 0x1a58, 0x1bf1, 0x1a58, 0x19f8, 0x1874, 0x19f8, 0x1874, 0x1a24, -0x18af, 0x1a24, 0x18af, 0x1810, 0x16b7, 0x1810, 0x16b7, 0x1582, 0x1439, 0x1582, 0x1439, -0x13f0, 0x12bd, 0x13f0, 0x12bd, 0x13f0, 0x12bd, 0x12cd, 0x11b5, 0x12cd, 0x11b5, 0x1209, -0x1105, 0x1209, 0x1105, 0x11da, 0x10ec, 0x11da, 0x10ec, 0xffe, 0xf2d, 0xffe, 0xf2d, -0xc58, 0xb9e, 0xc58, 0xb9e, 0xc20, 0xb7a, 0xc20, 0xb7a, 0xc20, 0xb7a, 0xbb9, -0xb33, 0xbb9, 0xb33, 0x991, 0x91e, 0x991, 0x91e, 0x871, 0x81a, 0x871, 0x81a, -0x64b, 0x60e, 0x64b, 0x60e, 0x53f, 0x518, 0x53f, 0x518, 0x53f, 0x518, 0x606, -0x5fd, 0x606, 0x5fd, 0x33b, 0x347, 0x33b, 0x347, 0xfea9, 0xfed0, 0xfea9, 0xfed0, -0xfc87, 0xfcc7, 0xfc87, 0xfcc7, 0xfbc0, 0xfc1a, 0xfbc0, 0xfc1a, 0xfa85, 0xfaf7, 0xfa85, -0xfaf7, 0xfa85, 0xfaf7, 0xf889, 0xf916, 0xf889, 0xf916, 0xf4da, 0xf581, 0xf4da, 0xf581, -0xf0e8, 0xf1a6, 0xf0e8, 0xf1a6, 0xf146, 0xf223, 0xf146, 0xf223, 0xf11a, 0xf20f, 0xf11a, -0xf20f, 0xf11a, 0xf20f, 0xee2a, 0xef3a, 0xee2a, 0xef3a, 0xee94, 0xefbf, 0xee94, 0xefbf, -0xecf1, 0xee37, 0xecf1, 0xee37, 0xec0f, 0xed6e, 0xec0f, 0xed6e, 0xee72, 0xefec, 0xee72, -0xefec, 0xeb85, 0xed1a, 0xeb85, 0xed1a, 0xeb85, 0xed1a, 0xeae7, 0xec94, 0xeae7, 0xec94, -0xebea, 0xedb0, 0xebea, 0xedb0, 0xe9b6, 0xeb94, 0xe9b6, 0xeb94, 0xe91a, 0xeb0f, 0xe91a, -0xeb0f, 0xe88c, 0xea95, 0xe88c, 0xea95, 0xe7f0, 0xea0e, 0xe7f0, 0xea0e, 0xe7f0, 0xea0e, -0xe5d4, 0xe806, 0xe5d4, 0xe806, 0xe492, 0xe6d4, 0xe492, 0xe6d4, 0xe6bf, 0xe912, 0xe6bf, -0xe912, 0xe54c, 0xe7ad, 0xe54c, 0xe7ad, 0xe30e, 0xe57d, 0xe30e, 0xe57d, 0xe30e, 0xe57d, -0xe23c, 0xe4b6, 0xe23c, 0xe4b6, 0xe0ca, 0xe34f, 0xe0ca, 0xe34f, 0xe02b, 0xe2bb, 0xe02b, -0xe2bb, 0xdc4a, 0xdee4, 0xdc4a, 0xdee4, 0xdb4b, 0xddee, 0xdb4b, 0xddee, 0xdb13, 0xddc0, -0xdb13, 0xddc0, 0xdb13, 0xddc0, 0xda94, 0xdd4a, 0xda94, 0xdd4a, 0xddc5, 0xe085, 0xddc5, -0xe085, 0xdbd1, 0xde9d, 0xdbd1, 0xde9d, 0xdac1, 0xdd98, 0xdac1, 0xdd98, 0xdb12, 0xddf6, -0xdb12, 0xddf6, 0xdb76, 0xde68, 0xdb76, 0xde68, 0xdb76, 0xde68, 0xdb39, 0xde3b, 0xdb39, -0xde3b, 0xd8c4, 0xdbd7, 0xd8c4, 0xdbd7, 0xd907, 0xdc2b, 0xd907, 0xdc2b, 0xd929, 0xdc60, -0xd929, 0xdc60, 0xdc4e, 0xdf99, 0xdc4e, 0xdf99, 0xdc4e, 0xdf99, 0xdddc, 0xe13a, 0xdddc, -0xe13a, 0xdc09, 0xdf7b, 0xdc09, 0xdf7b, 0xdb7e, 0xdf03, 0xdb7e, 0xdf03, 0xdb02, 0xde9a, -0xdb02, 0xde9a, 0xdc18, 0xdfc0, 0xdc18, 0xdfc0, 0xdc3c, 0xdff4, 0xdc3c, 0xdff4, 0xdc3c, -0xdff4, 0xdcff, 0xe0c2, 0xdcff, 0xe0c2, 0xdd75, 0xe143, 0xdd75, 0xe143, 0xdc95, 0xe06a, -0xdc95, 0xe06a, 0xe0de, 0xe4b5, 0xe0de, 0xe4b5, 0xe2c8, 0xe69f, 0xe2c8, 0xe69f, 0xe1a8, -0xe57c, 0xe1a8, 0xe57c, 0xe1a8, 0xe57c, 0xe565, 0xe931, 0xe565, 0xe931, 0xe6f0, 0xeab0, -0xe6f0, 0xeab0, 0xe7e3, 0xeb94, 0xe7e3, 0xeb94, 0xe880, 0xec1f, 0xe880, 0xec1f, 0xe89b, -0xec24, 0xe89b, 0xec24, 0xe89b, 0xec24, 0xea77, 0xede8, 0xea77, 0xede8, 0xecd7, 0xf02e, -0xecd7, 0xf02e, 0xf0d2, 0xf40d, 0xf0d2, 0xf40d, 0xf138, 0xf454, 0xf138, 0xf454, 0xf33b, -0xf63a, 0xf33b, 0xf63a, 0xf4e6, 0xf7c6, 0xf4e6, 0xf7c6, 0xf4e6, 0xf7c6, 0xf3d5, 0xf697, -0xf3d5, 0xf697, 0xf5ea, 0xf88f, 0xf5ea, 0xf88f, 0xf50a, 0xf792, 0xf50a, 0xf792, 0xf5b4, -0xf822, 0xf5b4, 0xf822, 0xf844, 0xfa98, 0xf844, 0xfa98, 0xf6cd, 0xf909, 0xf6cd, 0xf909, -0xf6cd, 0xf909, 0xf884, 0xfaaa, 0xf884, 0xfaaa, 0xf90f, 0xfb21, 0xf90f, 0xfb21, 0xf7ac, -0xf9ab, 0xf7ac, 0xf9ab, 0xf9e8, 0xfbd5, 0xf9e8, 0xfbd5, 0xf9b3, 0xfb8f, 0xf9b3, 0xfb8f, -0xf9b3, 0xfb8f, 0xf9e0, 0xfbad, 0xf9e0, 0xfbad, 0xfa8e, 0xfc4c, 0xfa8e, 0xfc4c, 0xf998, -0xfb47, 0xf998, 0xfb47, 0xf729, 0xf8c8, 0xf729, 0xf8c8, 0xf619, 0xf7a8, 0xf619, 0xf7a8, -0xf6f3, 0xf872, 0xf6f3, 0xf872, 0xf6f3, 0xf872, 0xf55d, 0xf6cb, 0xf55d, 0xf6cb, 0xf5a6, -0xf702, 0xf5a6, 0xf702, 0xf567, 0xf6af, 0xf567, 0xf6af, 0xf634, 0xf768, 0xf634, 0xf768, -0xf819, 0xf936, 0xf819, 0xf936, 0xf7d7, 0xf8dd, 0xf7d7, 0xf8dd, 0xf7d7, 0xf8dd, 0xf724, -0xf813, 0xf724, 0xf813, 0xf578, 0xf64e, 0xf578, 0xf64e, 0xf452, 0xf50f, 0xf452, 0xf50f, -0xf527, 0xf5cd, 0xf527, 0xf5cd, 0xf72d, 0xf7ba, 0xf72d, 0xf7ba, 0xf72d, 0xf7ba, 0xf547, -0xf5bc, 0xf547, 0xf5bc, 0xf330, 0xf38e, 0xf330, 0xf38e, 0xf3f4, 0xf43d, 0xf3f4, 0xf43d, -0xf4b8, 0xf4ec, 0xf4b8, 0xf4ec, 0xf3ef, 0xf410, 0xf3ef, 0xf410, 0xf360, 0xf36f, 0xf360, -0xf36f, 0xf360, 0xf36f, 0xf3dc, 0xf3da, 0xf3dc, 0xf3da, 0xf42b, 0xf418, 0xf42b, 0xf418, -0xf6ef, 0xf6cc, 0xf6ef, 0xf6cc, 0xf6f5, 0xf6c4, 0xf6f5, 0xf6c4, 0xf37c, 0xf33c, 0xf37c, -0xf33c, 0xf294, 0xf244, 0xf294, 0xf244, 0xf294, 0xf244, 0xf546, 0xf4e6, 0xf546, 0xf4e6, -0xf741, 0xf6cf, 0xf741, 0xf6cf, 0xf6bf, 0xf639, 0xf6bf, 0xf639, 0xf68e, 0xf5f3, 0xf68e, -0xf5f3, 0xf773, 0xf6c0, 0xf773, 0xf6c0, 0xf773, 0xf6c0, 0xf96a, 0xf89c, 0xf96a, 0xf89c, -0xfb2e, 0xfa42, 0xfb2e, 0xfa42, 0xfb66, 0xfa5a, 0xfb66, 0xfa5a, 0xfbfe, 0xface, 0xfbfe, -0xface, 0xfe8e, 0xfd38, 0xfe8e, 0xfd38, 0x11b, 0xff9c, 0x11b, 0xff9c, 0x11b, 0xff9c, -0x37d, 0x1d4, 0x37d, 0x1d4, 0x3dc, 0x207, 0x3dc, 0x207, 0x4ed, 0x2ec, 0x4ed, -0x2ec, 0x80f, 0x5e2, 0x80f, 0x5e2, 0xb2f, 0x8d6, 0xb2f, 0x8d6, 0xef6, 0xc72, -0xef6, 0xc72, 0xef6, 0xc72, 0x117b, 0xed0, 0x117b, 0xed0, 0x1242, 0xf72, 0x1242, -0xf72, 0x1327, 0x1036, 0x1327, 0x1036, 0x1665, 0x1358, 0x1665, 0x1358, 0x1647, 0x1323, -0x1647, 0x1323, 0x1647, 0x1323, 0x15e2, 0x12ac, 0x15e2, 0x12ac, 0x17da, 0x1498, 0x17da, -0x1498, 0x176d, 0x1425, 0x176d, 0x1425, 0x1aaa, 0x1760, 0x1aaa, 0x1760, 0x1e6e, 0x1b29, -0x1e6e, 0x1b29, 0x1ceb, 0x19b0, 0x1ceb, 0x19b0, 0x1ceb, 0x19b0, 0x1b46, 0x1819, 0x1b46, -0x1819, 0x1b27, 0x180e, 0x1b27, 0x180e, 0x1afa, 0x17f8, 0x1afa, 0x17f8, 0x1c96, 0x19ad, -0x1c96, 0x19ad, 0x1cda, 0x1a0d, 0x1cda, 0x1a0d, 0x1a8a, 0x17da, 0x1a8a, 0x17da, 0x1a8a, -0x17da, 0x1a4f, 0x17bd, 0x1a4f, 0x17bd, 0x1bfc, 0x1988, 0x1bfc, 0x1988, 0x1d7e, 0x1b27, -0x1d7e, 0x1b27, 0x1df9, 0x1bbe, 0x1df9, 0x1bbe, 0x1b72, 0x1952, 0x1b72, 0x1952, 0x1b72, -0x1952, 0x19cf, 0x17c8, 0x19cf, 0x17c8, 0x19fa, 0x180a, 0x19fa, 0x180a, 0x1601, 0x1427, -0x1601, 0x1427, 0x13fe, 0x1237, 0x13fe, 0x1237, 0x1402, 0x124b, 0x1402, 0x124b, 0x11f3, -0x104c, 0x11f3, 0x104c, 0x11f3, 0x104c, 0x1215, 0x107d, 0x1215, 0x107d, 0x13df, 0x1255, -0x13df, 0x1255, 0x1413, 0x1296, 0x1413, 0x1296, 0x1411, 0x12a2, 0x1411, 0x12a2, 0x14b3, -0x1352, 0x14b3, 0x1352, 0x14b3, 0x1352, 0x139e, 0x124d, 0x139e, 0x124d, 0x12b9, 0x1178, -0x12b9, 0x1178, 0x123c, 0x110d, 0x123c, 0x110d, 0x11f2, 0x10d7, 0x11f2, 0x10d7, 0x129e, -0x1198, 0x129e, 0x1198, 0x1369, 0x127a, 0x1369, 0x127a, 0x1369, 0x127a, 0x137a, 0x12a3, -0x137a, 0x12a3, 0x13da, 0x131e, 0x13da, 0x131e, 0x11b1, 0x1110, 0x11b1, 0x1110, 0xfe9, -0xf63, 0xfe9, 0xf63, 0x1063, 0xff9, 0x1063, 0xff9, 0xe7a, 0xe2d, 0xe7a, 0xe2d, -0xe7a, 0xe2d, 0xe07, 0xdd5, 0xe07, 0xdd5, 0xb83, 0xb6c, 0xb83, 0xb6c, 0x982, -0x983, 0x982, 0x983, 0x835, 0x84e, 0x835, 0x84e, 0x781, 0x7af, 0x781, 0x7af, -0x781, 0x7af, 0x777, 0x7b8, 0x777, 0x7b8, 0x45b, 0x4ae, 0x45b, 0x4ae, 0x413, -0x474, 0x413, 0x474, 0x265, 0x2d4, 0x265, 0x2d4, 0x13b, 0x1b5, 0x13b, 0x1b5, -0xfe6c, 0xfef0, 0xfe6c, 0xfef0, 0xfe6c, 0xfef0, 0xfafa, 0xfb89, 0xfafa, 0xfb89, 0xf9ae, -0xfa45, 0xf9ae, 0xfa45, 0xf6d7, 0xf777, 0xf6d7, 0xf777, 0xf7c3, 0xf86d, 0xf7c3, 0xf86d, -0xf6ca, 0xf77e, 0xf6ca, 0xf77e, 0xf469, 0xf529, 0xf469, 0xf529, 0xf469, 0xf529, 0xf425, -0xf4f3, 0xf425, 0xf4f3, 0xf34e, 0xf42b, 0xf34e, 0xf42b, 0xf2bf, 0xf3ad, 0xf2bf, 0xf3ad, -0xf13d, 0xf23e, 0xf13d, 0xf23e, 0xeece, 0xefe3, 0xeece, 0xefe3, 0xeece, 0xefe3, 0xee19, -0xef44, 0xee19, 0xef44, 0xeda2, 0xeee3, 0xeda2, 0xeee3, 0xec52, 0xedaa, 0xec52, 0xedaa, -0xea63, 0xebd1, 0xea63, 0xebd1, 0xe9d7, 0xeb59, 0xe9d7, 0xeb59, 0xeb75, 0xed0a, 0xeb75, -0xed0a, 0xeb75, 0xed0a, 0xebe0, 0xed84, 0xebe0, 0xed84, 0xed00, 0xeeb0, 0xed00, 0xeeb0, -0xec35, 0xeded, 0xec35, 0xeded, 0xebc6, 0xed7f, 0xebc6, 0xed7f, 0xed75, 0xef2b, 0xed75, -0xef2b, 0xef3c, 0xf0e7, 0xef3c, 0xf0e7, 0xef3c, 0xf0e7, 0xf15f, 0xf2f9, 0xf15f, 0xf2f9, -0xf016, 0xf198, 0xf016, 0xf198, 0xeff9, 0xf15d, 0xeff9, 0xf15d, 0xf277, 0xf3b6, 0xf277, -0xf3b6, 0xf3af, 0xf4c3, 0xf3af, 0xf4c3, 0xf3af, 0xf4c3, 0xf43d, 0xf520, 0xf43d, 0xf520, -0xf440, 0xf4ee, 0xf440, 0xf4ee, 0xf3c0, 0xf435, 0xf3c0, 0xf435, 0xf678, 0xf6b1, 0xf678, -0xf6b1, 0xf9c3, 0xf9be, 0xf9c3, 0xf9be, 0xfba2, 0xfb60, 0xfba2, 0xfb60, 0xfba2, 0xfb60, -0xfcfa, 0xfc7b, 0xfcfa, 0xfc7b, 0xfd4a, 0xfc8f, 0xfd4a, 0xfc8f, 0xffd7, 0xfee3, 0xffd7, -0xfee3, 0xb3, 0xff8a, 0xb3, 0xff8a, 0x1ba, 0x60, 0x1ba, 0x60, 0x474, 0x2ed, -0x474, 0x2ed, 0x474, 0x2ed, 0x54c, 0x39f, 0x54c, 0x39f, 0x62b, 0x45d, 0x62b, -0x45d, 0x923, 0x739, 0x923, 0x739, 0xb80, 0x981, 0xb80, 0x981, 0xa32, 0x822, -0xa32, 0x822, 0xa32, 0x822, 0xa2d, 0x812, 0xa2d, 0x812, 0xaae, 0x88c, 0xaae, -0x88c, 0xb97, 0x971, 0xb97, 0x971, 0xd27, 0xb01, 0xd27, 0xb01, 0xc91, 0xa6c, -0xc91, 0xa6c, 0xdb7, 0xb96, 0xdb7, 0xb96, 0xdb7, 0xb96, 0x105a, 0xe3d, 0x105a, -0xe3d, 0x1285, 0x106d, 0x1285, 0x106d, 0x148e, 0x127a, 0x148e, 0x127a, 0x1414, 0x1203, -0x1414, 0x1203, 0x130f, 0x1101, 0x130f, 0x1101, 0x15a3, 0x1396, 0x15a3, 0x1396, 0x15a3, -0x1396, 0x17d5, 0x15c8, 0x17d5, 0x15c8, 0x1715, 0x1506, 0x1715, 0x1506, 0x1705, 0x14f4, -0x1705, 0x14f4, 0x183c, 0x1629, 0x183c, 0x1629, 0x197e, 0x1768, 0x197e, 0x1768, 0x197e, -0x1768, 0x1bb6, 0x199c, 0x1bb6, 0x199c, 0x1c43, 0x1a27, 0x1c43, 0x1a27, 0x1ba4, 0x1986, -0x1ba4, 0x1986, 0x1ce0, 0x1ac1, 0x1ce0, 0x1ac1, 0x1b0c, 0x18ef, 0x1b0c, 0x18ef, 0x18fc, -0x16e2, 0x18fc, 0x16e2, 0x18fc, 0x16e2, 0x193e, 0x1729, 0x193e, 0x1729, 0x1708, 0x14fb, -0x1708, 0x14fb, 0x179e, 0x159a, 0x179e, 0x159a, 0x1988, 0x178f, 0x1988, 0x178f, 0x17ae, -0x15c1, 0x17ae, 0x15c1, 0x17f5, 0x1614, 0x17f5, 0x1614, 0x17f5, 0x1614, 0x19e4, 0x1810, -0x19e4, 0x1810, 0x1b77, 0x19b0, 0x1b77, 0x19b0, 0x1c3e, 0x1a82, 0x1c3e, 0x1a82, 0x1abb, -0x1908, 0x1abb, 0x1908, 0x193f, 0x1794, 0x193f, 0x1794, 0x193f, 0x1794, 0x18d6, 0x172f, -0x18d6, 0x172f, 0x1979, 0x17d2, 0x1979, 0x17d2, 0x1915, 0x176a, 0x1915, 0x176a, 0x195c, -0x17aa, 0x195c, 0x17aa, 0x1a38, 0x187b, 0x1a38, 0x187b, 0x1978, 0x17ab, 0x1978, 0x17ab, -0x1978, 0x17ab, 0x1b09, 0x192a, 0x1b09, 0x192a, 0x1a91, 0x189d, 0x1a91, 0x189d, 0x1762, -0x1557, 0x1762, 0x1557, 0x16ab, 0x1486, 0x16ab, 0x1486, 0x16cc, 0x148e, 0x16cc, 0x148e, -0x17cd, 0x1578, 0x17cd, 0x1578, 0x17cd, 0x1578, 0x17ad, 0x1541, 0x17ad, 0x1541, 0x17be, -0x1540, 0x17be, 0x1540, 0x193c, 0x16b0, 0x193c, 0x16b0, 0x195a, 0x16c5, 0x195a, 0x16c5, -0x1a5a, 0x17c3, 0x1a5a, 0x17c3, 0x1a5a, 0x17c3, 0x1b36, 0x18a4, 0x1b36, 0x18a4, 0x1ac2, -0x183c, 0x1ac2, 0x183c, 0x19b3, 0x1743, 0x19b3, 0x1743, 0x1728, 0x14d6, 0x1728, 0x14d6, -0x15f3, 0x13c6, 0x15f3, 0x13c6, 0x158c, 0x138d, 0x158c, 0x138d, 0x158c, 0x138d, 0x1270, -0x10a5, 0x1270, 0x10a5, 0x1048, 0xeba, 0x1048, 0xeba, 0xe05, 0xcb7, 0xe05, 0xcb7, -0xb19, 0xa11, 0xb19, 0xa11, 0xb7a, 0xabb, 0xb7a, 0xabb, 0xa6a, 0x9f5, 0xa6a, -0x9f5, 0xa6a, 0x9f5, 0x756, 0x72c, 0x756, 0x72c, 0x545, 0x564, 0x545, 0x564, -0x459, 0x4c0, 0x459, 0x4c0, 0x268, 0x312, 0x268, 0x312, 0x13c, 0x225, 0x13c, -0x225, 0x13c, 0x225, 0xff7e, 0xa0, 0xff7e, 0xa0, 0xfbd1, 0xfd26, 0xfbd1, 0xfd26, -0xfcba, 0xfe3c, 0xfcba, 0xfe3c, 0xfb9b, 0xfd43, 0xfb9b, 0xfd43, 0xf827, 0xf9ed, 0xf827, -0xf9ed, 0xf6ac, 0xf88b, 0xf6ac, 0xf88b, 0xf6ac, 0xf88b, 0xf48f, 0xf681, 0xf48f, 0xf681, -0xf3f0, 0xf5ee, 0xf3f0, 0xf5ee, 0xf4ab, 0xf6b2, 0xf4ab, 0xf6b2, 0xf48a, 0xf695, 0xf48a, -0xf695, 0xf32b, 0xf537, 0xf32b, 0xf537, 0xf32b, 0xf537, 0xf165, 0xf371, 0xf165, 0xf371, -0xee53, 0xf05e, 0xee53, 0xf05e, 0xee39, 0xf043, 0xee39, 0xf043, 0xee86, 0xf08f, 0xee86, -0xf08f, 0xeaa1, 0xecab, 0xeaa1, 0xecab, 0xe905, 0xeb13, 0xe905, 0xeb13, 0xe905, 0xeb13, -0xe92b, 0xeb3f, 0xe92b, 0xeb3f, 0xe8a8, 0xeac4, 0xe8a8, 0xeac4, 0xe99c, 0xebc4, 0xe99c, -0xebc4, 0xe9d5, 0xec0a, 0xe9d5, 0xec0a, 0xe906, 0xeb4b, 0xe906, 0xeb4b, 0xe986, 0xebdc, -0xe986, 0xebdc, 0xe986, 0xebdc, 0xe938, 0xeba1, 0xe938, 0xeba1, 0xe9a6, 0xec22, 0xe9a6, -0xec22, 0xe9ec, 0xec7b, 0xe9ec, 0xec7b, 0xe7e6, 0xea87, 0xe7e6, 0xea87, 0xe726, 0xe9d8, -0xe726, 0xe9d8, 0xe726, 0xe9d8, 0xe7c7, 0xea88, 0xe7c7, 0xea88, 0xe82a, 0xeaf8, 0xe82a, -0xeaf8, 0xe832, 0xeb0a, 0xe832, 0xeb0a, 0xe7bf, 0xea9e, 0xe7bf, 0xea9e, 0xe648, 0xe92c, -0xe648, 0xe92c, 0xe485, 0xe76c, 0xe485, 0xe76c, 0xe485, 0xe76c, 0xe3a6, 0xe68d, 0xe3a6, -0xe68d, 0xe322, 0xe608, 0xe322, 0xe608, 0xe18a, 0xe46d, 0xe18a, 0xe46d, 0xe14d, 0xe42e, -0xe14d, 0xe42e, 0xe215, 0xe4f4, 0xe215, 0xe4f4, 0xe30b, 0xe5e8, 0xe30b, 0xe5e8, 0xe30b, -0xe5e8, 0xe29a, 0xe578, 0xe29a, 0xe578, 0xe0f9, 0xe3d9, 0xe0f9, 0xe3d9, 0xe2d0, 0xe5b7, -0xe2d0, 0xe5b7, 0xe2aa, 0xe59a, 0xe2aa, 0xe59a, 0xe341, 0xe63e, 0xe341, 0xe63e, 0xe341, -0xe63e, 0xe3e8, 0xe6f7, 0xe3e8, 0xe6f7, 0xe267, 0xe58a, 0xe267, 0xe58a, 0xe48d, 0xe7c9, -0xe48d, 0xe7c9, 0xe433, 0xe789, 0xe433, 0xe789, 0xe4a3, 0xe816, 0xe4a3, 0xe816, 0xe73f, -0xead0, 0xe73f, 0xead0, 0xe73f, 0xead0, 0xe686, 0xea35, 0xe686, 0xea35, 0xe54e, 0xe91a, -0xe54e, 0xe91a, 0xe4fb, 0xe8e1, 0xe4fb, 0xe8e1, 0xe56a, 0xe968, 0xe56a, 0xe968, 0xe5ee, -0xe9ff, 0xe5ee, 0xe9ff, 0xe714, 0xeb32, 0xe714, 0xeb32, 0xe714, 0xeb32, 0xe79a, 0xebbf, -0xe79a, 0xebbf, 0xe7c4, 0xebe8, 0xe7c4, 0xebe8, 0xe9e4, 0xee01, 0xe9e4, 0xee01, 0xeab1, -0xeebd, 0xeab1, 0xeebd, 0xebd8, 0xefcc, 0xebd8, 0xefcc, 0xebd8, 0xefcc, 0xeddb, 0xf1b0, -0xeddb, 0xf1b0, 0xecbf, 0xf06d, 0xecbf, 0xf06d, 0xec60, 0xefe0, 0xec60, 0xefe0, 0xed4c, -0xf099, 0xed4c, 0xf099, 0xeec3, 0xf1d9, 0xeec3, 0xf1d9, 0xf123, 0xf3fe, 0xf123, 0xf3fe, -0xf123, 0xf3fe, 0xf2ba, 0xf559, 0xf2ba, 0xf559, 0xf406, 0xf66a, 0xf406, 0xf66a, 0xf5f0, -0xf81a, 0xf5f0, 0xf81a, 0xf704, 0xf8f7, 0xf704, 0xf8f7, 0xf628, 0xf7e8, 0xf628, 0xf7e8, -0xf6f3, 0xf887, 0xf6f3, 0xf887, 0xf6f3, 0xf887, 0xf7c0, 0xf92d, 0xf7c0, 0xf92d, 0xf785, -0xf8d3, 0xf785, 0xf8d3, 0xf892, 0xf9ca, 0xf892, 0xf9ca, 0xf940, 0xfa6a, 0xf940, 0xfa6a, -0xf7e0, 0xf903, 0xf7e0, 0xf903, 0xf7e0, 0xf903, 0xf78e, 0xf8b3, 0xf78e, 0xf8b3, 0xf93b, -0xfa6a, 0xf93b, 0xfa6a, 0xf7df, 0xf91f, 0xf7df, 0xf91f, 0xf731, 0xf887, 0xf731, 0xf887, -0xf7cf, 0xf940, 0xf7cf, 0xf940, 0xf677, 0xf806, 0xf677, 0xf806, 0xf677, 0xf806, 0xf6c6, -0xf875, 0xf6c6, 0xf875, 0xf637, 0xf807, 0xf637, 0xf807, 0xf397, 0xf588, 0xf397, 0xf588, -0xf37b, 0xf58a, 0xf37b, 0xf58a, 0xf2c4, 0xf4ef, 0xf2c4, 0xf4ef, 0xf153, 0xf396, 0xf153, -0xf396, 0xf153, 0xf396, 0xf172, 0xf3c8, 0xf172, 0xf3c8, 0xf061, 0xf2c4, 0xf061, 0xf2c4, -0xf06d, 0xf2d9, 0xf06d, 0xf2d9, 0xf230, 0xf49d, 0xf230, 0xf49d, 0xf30f, 0xf579, 0xf30f, -0xf579, 0xf30f, 0xf579, 0xf10b, 0xf36b, 0xf10b, 0xf36b, 0xf056, 0xf2a8, 0xf056, 0xf2a8, -0xf0fc, 0xf33b, 0xf0fc, 0xf33b, 0xf01e, 0xf245, 0xf01e, 0xf245, 0xf08d, 0xf299, 0xf08d, -0xf299, 0xeebe, 0xf0ab, 0xeebe, 0xf0ab, 0xeebe, 0xf0ab, 0xed80, 0xef4e, 0xed80, 0xef4e, -0xee53, 0xeffe, 0xee53, 0xeffe, 0xee67, 0xefef, 0xee67, 0xefef, 0xee0d, 0xef70, 0xee0d, -0xef70, 0xedbd, 0xeefb, 0xedbd, 0xeefb, 0xee47, 0xef5f, 0xee47, 0xef5f, 0xee47, 0xef5f, -0xef86, 0xf077, 0xef86, 0xf077, 0xf2d3, 0xf39b, 0xf2d3, 0xf39b, 0xf2cf, 0xf36e, 0xf2cf, -0xf36e, 0xf196, 0xf209, 0xf196, 0xf209, 0xf2cb, 0xf311, 0xf2cb, 0xf311, 0xf2cb, 0xf311, -0xf2a6, 0xf2bb, 0xf2a6, 0xf2bb, 0xf4bb, 0xf49a, 0xf4bb, 0xf49a, 0xf5c3, 0xf569, 0xf5c3, -0xf569, 0xf43f, 0xf3a8, 0xf43f, 0xf3a8, 0xf5c2, 0xf4e9, 0xf5c2, 0xf4e9, 0xf713, 0xf5f2, -0xf713, 0xf5f2, 0xf713, 0xf5f2, 0xf8c8, 0xf75c, 0xf8c8, 0xf75c, 0xfa2e, 0xf871, 0xfa2e, -0xf871, 0xf968, 0xf757, 0xf968, 0xf757, 0xf9e2, 0xf779, 0xf9e2, 0xf779, 0xface, 0xf80a, -0xface, 0xf80a, 0xfeba, 0xfb9a, 0xfeba, 0xfb9a, 0xfeba, 0xfb9a, 0x202, 0xfe86, 0x202, -0xfe86, 0x2cc, 0xfef6, 0x2cc, 0xfef6, 0x62b, 0x1fe, 0x62b, 0x1fe, 0x9ca, 0x54a, -0x9ca, 0x54a, 0xe16, 0x948, 0xe16, 0x948, 0xe16, 0x948, 0x128d, 0xd78, 0x128d, -0xd78, 0x14a5, 0xf53, 0x14a5, 0xf53, 0x1585, 0xffe, 0x1585, 0xffe, 0x176a, 0x11b9, -0x176a, 0x11b9, 0x1998, 0x13c8, 0x1998, 0x13c8, 0x1a6a, 0x1487, 0x1a6a, 0x1487, 0x1a6a, -0x1487, 0x1af0, 0x1504, 0x1af0, 0x1504, 0x1a5d, 0x1474, 0x1a5d, 0x1474, 0x19b7, 0x13dc, -0x19b7, 0x13dc, 0x1cdb, 0x1717, 0x1cdb, 0x1717, 0x1e16, 0x1873, 0x1e16, 0x1873, 0x1cda, -0x175e, 0x1cda, 0x175e, 0x1cda, 0x175e, 0x1f9c, 0x1a4f, 0x1f9c, 0x1a4f, 0x1f84, 0x1a69, -0x1f84, 0x1a69, 0x1edc, 0x19f7, 0x1edc, 0x19f7, 0x1f33, 0x1a85, 0x1f33, 0x1a85, 0x1d24, -0x18ad, 0x1d24, 0x18ad, 0x1d24, 0x18ad, 0x1eb0, 0x1a6e, 0x1eb0, 0x1a6e, 0x1eb4, 0x1aa6, -0x1eb4, 0x1aa6, 0x1ea8, 0x1ac8, 0x1ea8, 0x1ac8, 0x20d5, 0x1d20, 0x20d5, 0x1d20, 0x1e66, -0x1ad5, 0x1e66, 0x1ad5, 0x1b76, 0x1805, 0x1b76, 0x1805, 0x1b76, 0x1805, 0x18f9, 0x15a3, -0x18f9, 0x15a3, 0x16a9, 0x1367, 0x16a9, 0x1367, 0x1505, 0x11d4, 0x1505, 0x11d4, 0x13c2, -0x109d, 0x13c2, 0x109d, 0x1486, 0x116b, 0x1486, 0x116b, 0x1486, 0x116b, 0x1302, 0xfef, -0x1302, 0xfef, 0x1351, 0x1044, 0x1351, 0x1044, 0x14a6, 0x11a1, 0x14a6, 0x11a1, 0x1374, -0x1078, 0x1374, 0x1078, 0x144d, 0x115d, 0x144d, 0x115d, 0x127c, 0xf9c, 0x127c, 0xf9c, -0x127c, 0xf9c, 0x10b0, 0xde5, 0x10b0, 0xde5, 0x10da, 0xe29, 0x10da, 0xe29, 0x111d, -0xe8b, 0x111d, 0xe8b, 0x1292, 0x1025, 0x1292, 0x1025, 0x12a3, 0x1062, 0x12a3, 0x1062, -0x1309, 0x10f9, 0x1309, 0x10f9, 0x1309, 0x10f9, 0x1220, 0x1047, 0x1220, 0x1047, 0x10cc, -0xf2d, 0x10cc, 0xf2d, 0xf8a, 0xe2a, 0xf8a, 0xe2a, 0xcce, 0xbb0, 0xcce, 0xbb0, -0xb8c, 0xab1, 0xb8c, 0xab1, 0xb8c, 0xab1, 0x99d, 0x906, 0x99d, 0x906, 0x876, -0x823, 0x876, 0x823, 0x790, 0x780, 0x790, 0x780, 0x5fd, 0x62d, 0x5fd, 0x62d, -0x5ed, 0x65b, 0x5ed, 0x65b, 0x2b3, 0x35d, 0x2b3, 0x35d, 0x2b3, 0x35d, 0x1db, -0x2bb, 0x1db, 0x2bb, 0x189, 0x29c, 0x189, 0x29c, 0xfde1, 0xff24, 0xfde1, 0xff24, -0xfd86, 0xfef4, 0xfd86, 0xfef4, 0xfa54, 0xfbe9, 0xfa54, 0xfbe9, 0xf8e7, 0xfaa1, 0xf8e7, -0xfaa1, 0xf8e7, 0xfaa1, 0xf918, 0xfaf5, 0xf918, 0xfaf5, 0xf54e, 0xf74c, 0xf54e, 0xf74c, -0xf3a9, 0xf5c6, 0xf3a9, 0xf5c6, 0xf0d6, 0xf312, 0xf0d6, 0xf312, 0xef32, 0xf18c, 0xef32, -0xf18c, 0xef32, 0xf18c, 0xf070, 0xf2e9, 0xf070, 0xf2e9, 0xf16c, 0xf405, 0xf16c, 0xf405, -0xf0f0, 0xf3a9, 0xf0f0, 0xf3a9, 0xefe4, 0xf2bc, 0xefe4, 0xf2bc, 0xf04f, 0xf348, 0xf04f, -0xf348, 0xee23, 0xf13c, 0xee23, 0xf13c, 0xee23, 0xf13c, 0xee2a, 0xf162, 0xee2a, 0xf162, -0xedf5, 0xf14a, 0xedf5, 0xf14a, 0xe9d7, 0xed46, 0xe9d7, 0xed46, 0xeb0f, 0xee94, 0xeb0f, -0xee94, 0xeb85, 0xef1b, 0xeb85, 0xef1b, 0xeb0d, 0xeeae, 0xeb0d, 0xeeae, 0xeb0d, 0xeeae, -0xecbf, 0xf063, 0xecbf, 0xf063, 0xeabb, 0xee59, 0xeabb, 0xee59, 0xecf6, 0xf086, 0xecf6, -0xf086, 0xf177, 0xf4ef, 0xf177, 0xf4ef, 0xf256, 0xf5ab, 0xf256, 0xf5ab, 0xf256, 0xf5ab, -0xf385, 0xf6ad, 0xf385, 0xf6ad, 0xf32a, 0xf61b, 0xf32a, 0xf61b, 0xf20b, 0xf4ba, 0xf20b, -0xf4ba, 0xf25d, 0xf4c2, 0xf25d, 0xf4c2, 0xf33e, 0xf54f, 0xf33e, 0xf54f, 0xf3ad, 0xf564, -0xf3ad, 0xf564, 0xf3ad, 0xf564, 0xf4ec, 0xf644, 0xf4ec, 0xf644, 0xf7d9, 0xf8cd, 0xf7d9, -0xf8cd, 0xfa43, 0xfad1, 0xfa43, 0xfad1, 0xfc7d, 0xfca5, 0xfc7d, 0xfca5, 0xff66, 0xff2a, -0xff66, 0xff2a, 0x74, 0xffd7, 0x74, 0xffd7, 0x74, 0xffd7, 0x7b, 0xff82, 0x7b, -0xff82, 0x1e1, 0x93, 0x1e1, 0x93, 0x346, 0x1ab, 0x346, 0x1ab, 0x567, 0x388, -0x567, 0x388, 0x72e, 0x515, 0x72e, 0x515, 0x72e, 0x515, 0x83e, 0x5f5, 0x83e, -0x5f5, 0xa0a, 0x79c, 0xa0a, 0x79c, 0xb98, 0x90f, 0xb98, 0x90f, 0xe0c, 0xb72, -0xe0c, 0xb72, 0xf6d, 0xccc, 0xf6d, 0xccc, 0xe8b, 0xbea, 0xe8b, 0xbea, 0xe8b, -0xbea, 0xeef, 0xc56, 0xeef, 0xc56, 0x1075, 0xdea, 0x1075, 0xdea, 0x1077, 0xdfd, -0x1077, 0xdfd, 0xf5a, 0xcf4, 0xf5a, 0xcf4, 0xf66, 0xd17, 0xf66, 0xd17, 0x10e5, -0xeac, 0x10e5, 0xeac, 0x10e5, 0xeac, 0x11fd, 0xfd8, 0x11fd, 0xfd8, 0x1326, 0x1114, -0x1326, 0x1114, 0x1548, 0x1345, 0x1548, 0x1345, 0x15be, 0x13c7, 0x15be, 0x13c7, 0x1617, -0x1427, 0x1617, 0x1427, 0x1617, 0x1427, 0x17cb, 0x15df, 0x17cb, 0x15df, 0x1762, 0x1574, -0x1762, 0x1574, 0x16fe, 0x150b, 0x16fe, 0x150b, 0x17eb, 0x15f0, 0x17eb, 0x15f0, 0x17d1, -0x15ca, 0x17d1, 0x15ca, 0x1a0e, 0x17f9, 0x1a0e, 0x17f9, 0x1a0e, 0x17f9, 0x1bc2, 0x199d, -0x1bc2, 0x199d, 0x1a03, 0x17cf, 0x1a03, 0x17cf, 0x1a11, 0x17cd, 0x1a11, 0x17cd, 0x19a5, -0x1753, 0x19a5, 0x1753, 0x1879, 0x161a, 0x1879, 0x161a, 0x17de, 0x1574, 0x17de, 0x1574, -0x17de, 0x1574, 0x1673, 0x1402, 0x1673, 0x1402, 0x15e9, 0x1372, 0x15e9, 0x1372, 0x165e, -0x13e5, 0x165e, 0x13e5, 0x1728, 0x14af, 0x1728, 0x14af, 0x17c8, 0x1552, 0x17c8, 0x1552, -0x17c8, 0x1552, 0x191d, 0x16ab, 0x191d, 0x16ab, 0x1900, 0x1693, 0x1900, 0x1693, 0x18a5, -0x163f, 0x18a5, 0x163f, 0x1850, 0x15f0, 0x1850, 0x15f0, 0x15a5, 0x134a, 0x15a5, 0x134a, -0x15a6, 0x134e, 0x15a6, 0x134e, 0x15a6, 0x134e, 0x1709, 0x14b2, 0x1709, 0x14b2, 0x17ef, -0x1596, 0x17ef, 0x1596, 0x191e, 0x16c1, 0x191e, 0x16c1, 0x1889, 0x1625, 0x1889, 0x1625, -0x1774, 0x1505, 0x1774, 0x1505, 0x172f, 0x14b3, 0x172f, 0x14b3, 0x172f, 0x14b3, 0x16e0, -0x1456, 0x16e0, 0x1456, 0x15a6, 0x130c, 0x15a6, 0x130c, 0x14ce, 0x1224, 0x14ce, 0x1224, -0x14f0, 0x1236, 0x14f0, 0x1236, 0x160a, 0x1342, 0x160a, 0x1342, 0x160a, 0x1342, 0x17ca, -0x14f6, 0x17ca, 0x14f6, 0x184a, 0x1570, 0x184a, 0x1570, 0x191c, 0x1641, 0x191c, 0x1641, -0x1962, 0x168b, 0x1962, 0x168b, 0x1930, 0x1666, 0x1930, 0x1666, 0x1bf8, 0x1942, 0x1bf8, -0x1942, 0x1bf8, 0x1942, 0x1c55, 0x19bc, 0x1c55, 0x19bc, 0x1ac6, 0x1853, 0x1ac6, 0x1853, -0x1985, 0x1740, 0x1985, 0x1740, 0x17b6, 0x15a8, 0x17b6, 0x15a8, 0x17a7, 0x15d7, 0x17a7, -0x15d7, 0x149e, 0x1315, 0x149e, 0x1315, 0x149e, 0x1315, 0x11bb, 0x107d, 0x11bb, 0x107d, -0xfe6, 0xef7, 0xfe6, 0xef7, 0xdd0, 0xd34, 0xdd0, 0xd34, 0xe48, 0xe01, 0xe48, -0xe01, 0xd40, 0xd4d, 0xd40, 0xd4d, 0xd40, 0xd4d, 0xc35, 0xc93, 0xc35, 0xc93, -0xa2e, 0xadb, 0xa2e, 0xadb, 0x8ff, 0x9f4, 0x8ff, 0x9f4, 0x94e, 0xa86, 0x94e, -0xa86, 0x6b9, 0x82b, 0x6b9, 0x82b, 0x5c2, 0x767, 0x5c2, 0x767, 0x5c2, 0x767, -0x2af, 0x47d, 0x2af, 0x47d, 0xfe7f, 0x6d, 0xfe7f, 0x6d, 0xfe8f, 0x93, 0xfe8f, -0x93, 0xfba8, 0xfdb9, 0xfba8, 0xfdb9, 0xf909, 0xfb1f, 0xf909, 0xfb1f, 0xf909, 0xfb1f, -0xf8f7, 0xfb0a, 0xf8f7, 0xfb0a, 0xf915, 0xfb1d, 0xf915, 0xfb1d, 0xfbeb, 0xfde5, 0xfbeb, -0xfde5, 0xfb7c, 0xfd62, 0xfb7c, 0xfd62, 0xf8bd, 0xfa8d, 0xf8bd, 0xfa8d, 0xf69c, 0xf854, -0xf69c, 0xf854, 0xf69c, 0xf854, 0xf473, 0xf614, 0xf473, 0xf614, 0xf371, 0xf4fc, 0xf371, -0xf4fc, 0xf2c8, 0xf43f, 0xf2c8, 0xf43f, 0xf2f3, 0xf45a, 0xf2f3, 0xf45a, 0xf145, 0xf2a0, -0xf145, 0xf2a0, 0xf150, 0xf2a4, 0xf150, 0xf2a4, 0xf150, 0xf2a4, 0xf295, 0xf3e7, 0xf295, -0xf3e7, 0xf2e1, 0xf436, 0xf2e1, 0xf436, 0xf37f, 0xf4db, 0xf37f, 0xf4db, 0xf028, 0xf191, -0xf028, 0xf191, 0xeed1, 0xf04a, 0xeed1, 0xf04a, 0xeed1, 0xf04a, 0xef41, 0xf0ce, 0xef41, -0xf0ce, 0xed0b, 0xeeae, 0xed0b, 0xeeae, 0xecb5, 0xee70, 0xecb5, 0xee70, 0xec77, 0xee4b, -0xec77, 0xee4b, 0xeb89, 0xed76, 0xeb89, 0xed76, 0xeb47, 0xed4b, 0xeb47, 0xed4b, 0xeb47, -0xed4b, 0xeb07, 0xed21, 0xeb07, 0xed21, 0xeabf, 0xeced, 0xeabf, 0xeced, 0xe8a5, 0xeae5, -0xe8a5, 0xeae5, 0xe6ed, 0xe93c, 0xe6ed, 0xe93c, 0xe6ec, 0xe948, 0xe6ec, 0xe948, 0xe5eb, -0xe851, 0xe5eb, 0xe851, 0xe5eb, 0xe851, 0xe467, 0xe6d6, 0xe467, 0xe6d6, 0xe29b, 0xe513, -0xe29b, 0xe513, 0xe195, 0xe413, 0xe195, 0xe413, 0xe146, 0xe3cb, 0xe146, 0xe3cb, 0xe080, -0xe30d, 0xe080, 0xe30d, 0xe080, 0xe30d, 0xdf4b, 0xe1e0, 0xdf4b, 0xe1e0, 0xdf30, 0xe1d1, -0xdf30, 0xe1d1, 0xe06d, 0xe31b, 0xe06d, 0xe31b, 0xdf3c, 0xe1fc, 0xdf3c, 0xe1fc, 0xde4a, -0xe11d, 0xde4a, 0xe11d, 0xde50, 0xe13b, 0xde50, 0xe13b, 0xde50, 0xe13b, 0xdcf9, 0xdfff, -0xdcf9, 0xdfff, 0xdd10, 0xe034, 0xdd10, 0xe034, 0xdd47, 0xe08b, 0xdd47, 0xe08b, 0xdd41, -0xe0a7, 0xdd41, 0xe0a7, 0xde1e, 0xe1a7, 0xde1e, 0xe1a7, 0xdcca, 0xe075, 0xdcca, 0xe075, -0xdcca, 0xe075, 0xdcf1, 0xe0be, 0xdcf1, 0xe0be, 0xdf22, 0xe30e, 0xdf22, 0xe30e, 0xdda0, -0xe1a7, 0xdda0, 0xe1a7, 0xdca9, 0xe0c7, 0xdca9, 0xe0c7, 0xdd39, 0xe167, 0xdd39, 0xe167, -0xdd39, 0xe167, 0xddfc, 0xe235, 0xddfc, 0xe235, 0xdec2, 0xe2fe, 0xdec2, 0xe2fe, 0xdea0, -0xe2d7, 0xdea0, 0xe2d7, 0xdfb6, 0xe3e1, 0xdfb6, 0xe3e1, 0xdf65, 0xe37c, 0xdf65, 0xe37c, -0xdf2b, 0xe326, 0xdf2b, 0xe326, 0xdf2b, 0xe326, 0xdef2, 0xe2ca, 0xdef2, 0xe2ca, 0xde40, -0xe1f0, 0xde40, 0xe1f0, 0xe062, 0xe3e4, 0xe062, 0xe3e4, 0xe1e3, 0xe533, 0xe1e3, 0xe533, -0xe46e, 0xe78b, 0xe46e, 0xe78b, 0xe7c0, 0xeaa9, 0xe7c0, 0xeaa9, 0xe7c0, 0xeaa9, 0xe85b, -0xeb11, 0xe85b, 0xeb11, 0xeab8, 0xed3d, 0xeab8, 0xed3d, 0xed22, 0xef7a, 0xed22, 0xef7a, -0xed6a, 0xef99, 0xed6a, 0xef99, 0xeeb9, 0xf0c6, 0xeeb9, 0xf0c6, 0xeeb9, 0xf0c6, 0xef3b, -0xf12d, 0xef3b, 0xf12d, 0xee9f, 0xf07f, 0xee9f, 0xf07f, 0xef22, 0xf0f7, 0xef22, 0xf0f7, -0xf12e, 0xf301, 0xf12e, 0xf301, 0xf1c7, 0xf3a0, 0xf1c7, 0xf3a0, 0xf1dc, 0xf3c3, 0xf1dc, -0xf3c3, 0xf1dc, 0xf3c3, 0xf272, 0xf46d, 0xf272, 0xf46d, 0xf06f, 0xf284, 0xf06f, 0xf284, -0xf1d4, 0xf40a, 0xf1d4, 0xf40a, 0xf3cd, 0xf626, 0xf3cd, 0xf626, 0xf258, 0xf4d6, 0xf258, -0xf4d6, 0xf309, 0xf5ad, 0xf309, 0xf5ad, 0xf309, 0xf5ad, 0xf2c2, 0xf58b, 0xf2c2, 0xf58b, -0xf288, 0xf574, 0xf288, 0xf574, 0xf391, 0xf69d, 0xf391, 0xf69d, 0xf24d, 0xf574, 0xf24d, -0xf574, 0xf07f, 0xf3bb, 0xf07f, 0xf3bb, 0xf07f, 0xf3bb, 0xf04f, 0xf39a, 0xf04f, 0xf39a, -0xf161, 0xf4b4, 0xf161, 0xf4b4, 0xf24b, 0xf59e, 0xf24b, 0xf59e, 0xf315, 0xf662, 0xf315, -0xf662, 0xf3c5, 0xf704, 0xf3c5, 0xf704, 0xf48e, 0xf7b7, 0xf48e, 0xf7b7, 0xf48e, 0xf7b7, -0xf56a, 0xf879, 0xf56a, 0xf879, 0xf554, 0xf842, 0xf554, 0xf842, 0xf4fb, 0xf7c4, 0xf4fb, -0xf7c4, 0xf4c0, 0xf75f, 0xf4c0, 0xf75f, 0xf486, 0xf6f9, 0xf486, 0xf6f9, 0xf534, 0xf779, -0xf534, 0xf779, 0xf534, 0xf779, 0xf5cb, 0xf7df, 0xf5cb, 0xf7df, 0xf469, 0xf64d, 0xf469, -0xf64d, 0xf3be, 0xf570, 0xf3be, 0xf570, 0xf62a, 0xf7ab, 0xf62a, 0xf7ab, 0xf892, 0xf9e2, -0xf892, 0xf9e2, 0xf892, 0xf9e2, 0xfa3d, 0xfb5e, 0xfa3d, 0xfb5e, 0xfaa3, 0xfb94, 0xfaa3, -0xfb94, 0xf975, 0xfa36, 0xf975, 0xfa36, 0xfa0a, 0xfa9c, 0xfa0a, 0xfa9c, 0xfaf6, 0xfb58, -0xfaf6, 0xfb58, 0xfae0, 0xfb11, 0xfae0, 0xfb11, 0xfae0, 0xfb11, 0xfaed, 0xfaeb, 0xfaed, -0xfaeb, 0xfb8b, 0xfb55, 0xfb8b, 0xfb55, 0xfc90, 0xfc23, 0xfc90, 0xfc23, 0xfe48, 0xfda3, -0xfe48, 0xfda3, 0x108, 0x26, 0x108, 0x26, 0x22c, 0x10c, 0x22c, 0x10c, 0x22c, -0x10c, 0x1d1, 0x70, 0x1d1, 0x70, 0xe7, 0xff42, 0xe7, 0xff42, 0x162, 0xff78, -0x162, 0xff78, 0x309, 0xd7, 0x309, 0xd7, 0x453, 0x1da, 0x453, 0x1da, 0x453, -0x1da, 0x6f5, 0x437, 0x6f5, 0x437, 0x8a6, 0x5a3, 0x8a6, 0x5a3, 0xc33, 0x8ef, -0xc33, 0x8ef, 0x1018, 0xc96, 0x1018, 0xc96, 0x1092, 0xcd7, 0x1092, 0xcd7, 0x13b9, -0xfcd, 0x13b9, 0xfcd, 0x13b9, 0xfcd, 0x16f5, 0x12de, 0x16f5, 0x12de, 0x18c4, 0x148b, -0x18c4, 0x148b, 0x1bae, 0x175c, 0x1bae, 0x175c, 0x1cde, 0x187b, 0x1cde, 0x187b, 0x1be3, -0x1779, 0x1be3, 0x1779, 0x1ba8, 0x1740, 0x1ba8, 0x1740, 0x1ba8, 0x1740, 0x1da6, 0x194a, -0x1da6, 0x194a, 0x1dc6, 0x197f, 0x1dc6, 0x197f, 0x1d7d, 0x1951, 0x1d7d, 0x1951, 0x1ebb, -0x1ab2, 0x1ebb, 0x1ab2, 0x1ec2, 0x1ae2, 0x1ec2, 0x1ae2, 0x1ec2, 0x1ae2, 0x1fcb, 0x1c18, -0x1fcb, 0x1c18, 0x1fd3, 0x1c50, 0x1fd3, 0x1c50, 0x1f30, 0x1bde, 0x1f30, 0x1bde, 0x1fd7, -0x1cb6, 0x1fd7, 0x1cb6, 0x1e2a, 0x1b3a, 0x1e2a, 0x1b3a, 0x1d87, 0x1ac4, 0x1d87, 0x1ac4, -0x1d87, 0x1ac4, 0x1dea, 0x1b52, 0x1dea, 0x1b52, 0x1c24, 0x19b2, 0x1c24, 0x19b2, 0x1bb1, -0x1961, 0x1bb1, 0x1961, 0x1b38, 0x1904, 0x1b38, 0x1904, 0x1855, 0x1637, 0x1855, 0x1637, -0x1855, 0x1637, 0x1574, 0x1366, 0x1574, 0x1366, 0x13de, 0x11dc, 0x13de, 0x11dc, 0x1240, -0x1044, 0x1240, 0x1044, 0x111e, 0xf25, 0x111e, 0xf25, 0x1116, 0xf1c, 0x1116, 0xf1c, -0xe8f, 0xc93, 0xe8f, 0xc93, 0xe8f, 0xc93, 0xd01, 0xb01, 0xd01, 0xb01, 0xeea, -0xce6, 0xeea, 0xce6, 0xe91, 0xc8b, 0xe91, 0xc8b, 0xdec, 0xbe4, 0xdec, 0xbe4, -0xe05, 0xc00, 0xe05, 0xc00, 0xcdd, 0xade, 0xcdd, 0xade, 0xcdd, 0xade, 0xd5c, -0xb67, 0xd5c, 0xb67, 0xe32, 0xc4c, 0xe32, 0xc4c, 0xe83, 0xcb2, 0xe83, 0xcb2, -0xfc7, 0xe10, 0xfc7, 0xe10, 0x1013, 0xe79, 0x1013, 0xe79, 0x1013, 0xe79, 0xfd7, -0xe61, 0xfd7, 0xe61, 0xe8b, 0xd3c, 0xe8b, 0xd3c, 0xc58, 0xb34, 0xc58, 0xb34, -0xb11, 0xa1a, 0xb11, 0xa1a, 0x8c9, 0x801, 0x8c9, 0x801, 0x709, 0x671, 0x709, -0x671, 0x709, 0x671, 0x5a4, 0x53d, 0x5a4, 0x53d, 0x480, 0x449, 0x480, 0x449, -0x589, 0x581, 0x589, 0x581, 0x3c8, 0x3ed, 0x3c8, 0x3ed, 0x8d, 0xdc, 0x8d, -0xdc, 0x12, 0x89, 0x12, 0x89, 0x12, 0x89, 0xfe80, 0xff1b, 0xfe80, 0xff1b, -0xfc94, 0xfd52, 0xfc94, 0xfd52, 0xfc2e, 0xfd0a, 0xfc2e, 0xfd0a, 0xfa7d, 0xfb76, 0xfa7d, -0xfb76, 0xf983, 0xfa95, 0xf983, 0xfa95, 0xf983, 0xfa95, 0xf947, 0xfa71, 0xf947, 0xfa71, -0xf64e, 0xf78d, 0xf64e, 0xf78d, 0xf38c, 0xf4e1, 0xf38c, 0xf4e1, 0xf283, 0xf3ec, 0xf283, -0xf3ec, 0xf07b, 0xf1f8, 0xf07b, 0xf1f8, 0xf04b, 0xf1db, 0xf04b, 0xf1db, 0xf04b, 0xf1db, -0xf12e, 0xf2d2, 0xf12e, 0xf2d2, 0xef57, 0xf10f, 0xef57, 0xf10f, 0xef23, 0xf0ef, 0xef23, -0xf0ef, 0xef2e, 0xf10e, 0xef2e, 0xf10e, 0xeeba, 0xf0ad, 0xeeba, 0xf0ad, 0xef6b, 0xf170, -0xef6b, 0xf170, 0xef6b, 0xf170, 0xed76, 0xef8c, 0xed76, 0xef8c, 0xec4f, 0xee73, 0xec4f, -0xee73, 0xed50, 0xef80, 0xed50, 0xef80, 0xeceb, 0xef22, 0xeceb, 0xef22, 0xeb84, 0xedbe, -0xeb84, 0xedbe, 0xeb84, 0xedbe, 0xebac, 0xede3, 0xebac, 0xede3, 0xec45, 0xee73, 0xec45, -0xee73, 0xed59, 0xef77, 0xed59, 0xef77, 0xf186, 0xf38d, 0xf186, 0xf38d, 0xf219, 0xf402, -0xf219, 0xf402, 0xef54, 0xf118, 0xef54, 0xf118, 0xef54, 0xf118, 0xf021, 0xf1b8, 0xf021, -0xf1b8, 0xf03d, 0xf1a0, 0xf03d, 0xf1a0, 0xefdf, 0xf109, 0xefdf, 0xf109, 0xf1fe, 0xf2e8, -0xf1fe, 0xf2e8, 0xf2e4, 0xf38b, 0xf2e4, 0xf38b, 0xf396, 0xf3f5, 0xf396, 0xf3f5, 0xf396, -0xf3f5, 0xf64b, 0xf661, 0xf64b, 0xf661, 0xfa9d, 0xfa69, 0xfa9d, 0xfa69, 0xfd9a, 0xfd1d, -0xfd9a, 0xfd1d, 0xfe9c, 0xfdd6, 0xfe9c, 0xfdd6, 0xffa4, 0xfe9a, 0xffa4, 0xfe9a, 0xffa4, -0xfe9a, 0xffd2, 0xfe87, 0xffd2, 0xfe87, 0x143, 0xffbe, 0x143, 0xffbe, 0x332, 0x179, -0x332, 0x179, 0x5af, 0x3c7, 0x5af, 0x3c7, 0x67e, 0x471, 0x67e, 0x471, 0x575, -0x349, 0x575, 0x349, 0x575, 0x349, 0x868, 0x626, 0x868, 0x626, 0x96d, 0x71c, -0x96d, 0x71c, 0xa18, 0x7bf, 0xa18, 0x7bf, 0xcbf, 0xa65, 0xcbf, 0xa65, 0xc61, -0xa0b, 0xc61, 0xa0b, 0xd8f, 0xb42, 0xd8f, 0xb42, 0xd8f, 0xb42, 0xed3, 0xc94, -0xed3, 0xc94, 0xdb9, 0xb8a, 0xdb9, 0xb8a, 0xe58, 0xc3a, 0xe58, 0xc3a, 0xef3, -0xce7, 0xef3, 0xce7, 0xfe9, 0xdee, 0xfe9, 0xdee, 0xfe9, 0xdee, 0x11a1, 0xfb7, -0x11a1, 0xfb7, 0x1167, 0xf8a, 0x1167, 0xf8a, 0x1291, 0x10c0, 0x1291, 0x10c0, 0x13aa, -0x11e0, 0x13aa, 0x11e0, 0x1401, 0x123b, 0x1401, 0x123b, 0x1660, 0x149a, 0x1660, 0x149a, -0x1660, 0x149a, 0x1703, 0x1539, 0x1703, 0x1539, 0x15f8, 0x1427, 0x15f8, 0x1427, 0x166c, -0x1491, 0x166c, 0x1491, 0x16c4, 0x14dc, 0x16c4, 0x14dc, 0x1667, 0x146e, 0x1667, 0x146e, -0x1840, 0x1636, 0x1840, 0x1636, 0x1840, 0x1636, 0x1981, 0x1764, 0x1981, 0x1764, 0x189e, -0x166d, 0x189e, 0x166d, 0x190a, 0x16c5, 0x190a, 0x16c5, 0x19c3, 0x176a, 0x19c3, 0x176a, -0x1948, 0x16dd, 0x1948, 0x16dd, 0x1948, 0x16dd, 0x1928, 0x16ab, 0x1928, 0x16ab, 0x188f, -0x1602, 0x188f, 0x1602, 0x1793, 0x14f7, 0x1793, 0x14f7, 0x18fb, 0x1650, 0x18fb, 0x1650, -0x1a03, 0x174b, 0x1a03, 0x174b, 0x19cb, 0x1707, 0x19cb, 0x1707, 0x19cb, 0x1707, 0x18dd, -0x160d, 0x18dd, 0x160d, 0x1822, 0x1546, 0x1822, 0x1546, 0x1835, 0x154e, 0x1835, 0x154e, -0x1766, 0x1472, 0x1766, 0x1472, 0x170f, 0x140e, 0x170f, 0x140e, 0x16d3, 0x13c2, 0x16d3, -0x13c2, 0x16d3, 0x13c2, 0x17d0, 0x14b0, 0x17d0, 0x14b0, 0x187a, 0x1548, 0x187a, 0x1548, -0x186f, 0x152b, 0x186f, 0x152b, 0x18fa, 0x15a1, 0x18fa, 0x15a1, 0x1737, 0x13ca, 0x1737, -0x13ca, 0x1737, 0x13ca, 0x1562, 0x11e1, 0x1562, 0x11e1, 0x1615, 0x127f, 0x1615, 0x127f, -0x174c, 0x13a3, 0x174c, 0x13a3, 0x16ec, 0x1331, 0x16ec, 0x1331, 0x1739, 0x136f, 0x1739, -0x136f, 0x1841, 0x146b, 0x1841, 0x146b, 0x1841, 0x146b, 0x1884, 0x14a7, 0x1884, 0x14a7, -0x198b, 0x15ac, 0x198b, 0x15ac, 0x1a3f, 0x1663, 0x1a3f, 0x1663, 0x1a38, 0x1666, 0x1a38, -0x1666, 0x1b4b, 0x178a, 0x1b4b, 0x178a, 0x1bd9, 0x182f, 0x1bd9, 0x182f, 0x1bd9, 0x182f, -0x1bc5, 0x1839, 0x1bc5, 0x1839, 0x1b85, 0x181f, 0x1b85, 0x181f, 0x198f, 0x1657, 0x198f, -0x1657, 0x1859, 0x1554, 0x1859, 0x1554, 0x163f, 0x1373, 0x163f, 0x1373, 0x163f, 0x1373, -0x13e6, 0x1158, 0x13e6, 0x1158, 0x1301, 0x10b4, 0x1301, 0x10b4, 0x115a, 0xf52, 0x115a, -0xf52, 0xf4b, 0xd8b, 0xf4b, 0xd8b, 0xdcf, 0xc56, 0xdcf, 0xc56, 0xdff, 0xccd, -0xdff, 0xccd, 0xdff, 0xccd, 0xbd0, 0xae4, 0xbd0, 0xae4, 0xa82, 0x9d9, 0xa82, -0x9d9, 0xada, 0xa70, 0xada, 0xa70, 0x789, 0x75b, 0x789, 0x75b, 0x4fe, 0x506, -0x4fe, 0x506, 0x4fe, 0x506, 0x2b3, 0x2ec, 0x2b3, 0x2ec, 0xff15, 0xff79, 0xff15, -0xff79, 0xfd48, 0xfdd0, 0xfd48, 0xfdd0, 0xfc2d, 0xfcd5, 0xfc2d, 0xfcd5, 0xfa12, 0xfad4, -0xfa12, 0xfad4, 0xf949, 0xfa20, 0xf949, 0xfa20, 0xf949, 0xfa20, 0xf989, 0xfa70, 0xf989, -0xfa70, 0xf9b0, 0xfaa4, 0xf9b0, 0xfaa4, 0xf955, 0xfa51, 0xf955, 0xfa51, 0xf792, 0xf896, -0xf792, 0xf896, 0xf5c7, 0xf6d0, 0xf5c7, 0xf6d0, 0xf4d4, 0xf5e2, 0xf4d4, 0xf5e2, 0xf4d4, -0xf5e2, 0xf4c8, 0xf5dc, 0xf4c8, 0xf5dc, 0xf3bf, 0xf4d9, 0xf3bf, 0xf4d9, 0xf182, 0xf2a3, -0xf182, 0xf2a3, 0xf04f, 0xf17a, 0xf04f, 0xf17a, 0xf192, 0xf2c8, 0xf192, 0xf2c8, 0xf192, -0xf2c8, 0xf28f, 0xf3d4, 0xf28f, 0xf3d4, 0xf283, 0xf3d9, 0xf283, 0xf3d9, 0xf27c, 0xf3e5, -0xf27c, 0xf3e5, 0xf0bc, 0xf23b, 0xf0bc, 0xf23b, 0xeeac, 0xf044, 0xeeac, 0xf044, 0xedf1, -0xefa2, 0xedf1, 0xefa2, 0xedf1, 0xefa2, 0xee7a, 0xf046, 0xee7a, 0xf046, 0xed1f, 0xef08, -0xed1f, 0xef08, 0xeba6, 0xedac, 0xeba6, 0xedac, 0xebf2, 0xee14, 0xebf2, 0xee14, 0xeb88, -0xedc7, 0xeb88, 0xedc7, 0xeac9, 0xed24, 0xeac9, 0xed24, 0xeac9, 0xed24, 0xe928, 0xeb9d, -0xe928, 0xeb9d, 0xe7d1, 0xea5f, 0xe7d1, 0xea5f, 0xe746, 0xe9ec, 0xe746, 0xe9ec, 0xe753, -0xea0e, 0xe753, 0xea0e, 0xe644, 0xe913, 0xe644, 0xe913, 0xe644, 0xe913, 0xe408, 0xe6e9, -0xe408, 0xe6e9, 0xe340, 0xe632, 0xe340, 0xe632, 0xe2f9, 0xe5fa, 0xe2f9, 0xe5fa, 0xe1e8, -0xe4f7, 0xe1e8, 0xe4f7, 0xe118, 0xe434, 0xe118, 0xe434, 0xe0cc, 0xe3f6, 0xe0cc, 0xe3f6, -0xe0cc, 0xe3f6, 0xe07a, 0xe3af, 0xe07a, 0xe3af, 0xe0f5, 0xe437, 0xe0f5, 0xe437, 0xe142, -0xe490, 0xe142, 0xe490, 0xe166, 0xe4c0, 0xe166, 0xe4c0, 0xe037, 0xe39d, 0xe037, 0xe39d, -0xdee2, 0xe254, 0xdee2, 0xe254, 0xdee2, 0xe254, 0xde9e, 0xe21c, 0xde9e, 0xe21c, 0xde8d, -0xe216, 0xde8d, 0xe216, 0xdf7e, 0xe310, 0xdf7e, 0xe310, 0xdfc6, 0xe362, 0xdfc6, 0xe362, -0xe0e9, 0xe48c, 0xe0e9, 0xe48c, 0xe0e9, 0xe48c, 0xe0ac, 0xe454, 0xe0ac, 0xe454, 0xdfc4, -0xe36f, 0xdfc4, 0xe36f, 0xe0ae, 0xe45a, 0xe0ae, 0xe45a, 0xe15f, 0xe506, 0xe15f, 0xe506, -0xe2c7, 0xe667, 0xe2c7, 0xe667, 0xe2e0, 0xe675, 0xe2e0, 0xe675, 0xe2e0, 0xe675, 0xe2a6, -0xe62c, 0xe2a6, 0xe62c, 0xe29f, 0xe612, 0xe29f, 0xe612, 0xe16a, 0xe4c6, 0xe16a, 0xe4c6, -0xe18e, 0xe4cf, 0xe18e, 0xe4cf, 0xe254, 0xe576, 0xe254, 0xe576, 0xe221, 0xe521, 0xe221, -0xe521, 0xe221, 0xe521, 0xe30d, 0xe5ea, 0xe30d, 0xe5ea, 0xe437, 0xe6ee, 0xe437, 0xe6ee, -0xe43c, 0xe6cc, 0xe43c, 0xe6cc, 0xe535, 0xe79e, 0xe535, 0xe79e, 0xe81b, 0xea5e, 0xe81b, -0xea5e, 0xe81b, 0xea5e, 0xeb40, 0xed5e, 0xeb40, 0xed5e, 0xed6b, 0xef66, 0xed6b, 0xef66, -0xef8f, 0xf16a, 0xef8f, 0xf16a, 0xf078, 0xf237, 0xf078, 0xf237, 0xf2d2, 0xf479, 0xf2d2, -0xf479, 0xf438, 0xf5cd, 0xf438, 0xf5cd, 0xf438, 0xf5cd, 0xf2c7, 0xf44e, 0xf2c7, 0xf44e, -0xf39e, 0xf51d, 0xf39e, 0xf51d, 0xf3b0, 0xf52d, 0xf3b0, 0xf52d, 0xf4a0, 0xf620, 0xf4a0, -0xf620, 0xf5b9, 0xf742, 0xf5b9, 0xf742, 0xf434, 0xf5cc, 0xf434, 0xf5cc, 0xf434, 0xf5cc, -0xf4c4, 0xf66e, 0xf4c4, 0xf66e, 0xf5eb, 0xf7ad, 0xf5eb, 0xf7ad, 0xf55d, 0xf73b, 0xf55d, -0xf73b, 0xf51d, 0xf719, 0xf51d, 0xf719, 0xf549, 0xf766, 0xf549, 0xf766, 0xf549, 0xf766, -0xf63a, 0xf879, 0xf63a, 0xf879, 0xf7a1, 0xfa03, 0xf7a1, 0xfa03, 0xf65f, 0xf8e5, 0xf65f, -0xf8e5, 0xf40a, 0xf6b3, 0xf40a, 0xf6b3, 0xf32d, 0xf5f7, 0xf32d, 0xf5f7, 0xf2da, 0xf5c5, -0xf2da, 0xf5c5, 0xf2da, 0xf5c5, 0xf295, 0xf59e, 0xf295, 0xf59e, 0xf408, 0xf72c, 0xf408, -0xf72c, 0xf423, 0xf760, 0xf423, 0xf760, 0xf267, 0xf5b9, 0xf267, 0xf5b9, 0xf30b, 0xf66e, -0xf30b, 0xf66e, 0xf348, 0xf6b8, 0xf348, 0xf6b8, 0xf348, 0xf6b8, 0xf40a, 0xf784, 0xf40a, -0xf784, 0xf390, 0xf70f, 0xf390, 0xf70f, 0xf11c, 0xf49c, 0xf11c, 0xf49c, 0xf134, 0xf4b2, -0xf134, 0xf4b2, 0xf229, 0xf5a1, 0xf229, 0xf5a1, 0xf229, 0xf5a1, 0xf1f7, 0xf564, 0xf1f7, -0xf564, 0xf052, 0xf3b0, 0xf052, 0xf3b0, 0xefe9, 0xf334, 0xefe9, 0xf334, 0xf0eb, 0xf420, -0xf0eb, 0xf420, 0xf30c, 0xf625, 0xf30c, 0xf625, 0xf550, 0xf84b, 0xf550, 0xf84b, 0xf550, -0xf84b, 0xf4b7, 0xf78f, 0xf4b7, 0xf78f, 0xf3f3, 0xf6a4, 0xf3f3, 0xf6a4, 0xf3c9, 0xf64f, -0xf3c9, 0xf64f, 0xf3ad, 0xf604, 0xf3ad, 0xf604, 0xf54d, 0xf771, 0xf54d, 0xf771, 0xf4e8, -0xf6d4, 0xf4e8, 0xf6d4, 0xf4e8, 0xf6d4, 0xf3f9, 0xf5ab, 0xf3f9, 0xf5ab, 0xf658, 0xf7cb, -0xf658, 0xf7cb, 0xf786, 0xf8b8, 0xf786, 0xf8b8, 0xf950, 0xfa3d, 0xf950, 0xfa3d, 0xfa23, -0xfac9, 0xfa23, 0xfac9, 0xfa23, 0xfac9, 0xf81b, 0xf878, 0xf81b, 0xf878, 0xf80f, 0xf821, -0xf80f, 0xf821, 0xf90c, 0xf8d2, 0xf90c, 0xf8d2, 0xfae0, 0xfa59, 0xfae0, 0xfa59, 0xfd57, -0xfc83, 0xfd57, 0xfc83, 0xffbf, 0xfea0, 0xffbf, 0xfea0, 0xffbf, 0xfea0, 0xd3, 0xff6b, -0xd3, 0xff6b, 0x360, 0x1af, 0x360, 0x1af, 0x814, 0x61e, 0x814, 0x61e, 0x958, -0x720, 0x958, 0x720, 0xb55, 0x8df, 0xb55, 0x8df, 0xf4b, 0xc9b, 0xf4b, 0xc9b, -0xf4b, 0xc9b, 0x1110, 0xe2a, 0x1110, 0xe2a, 0x12ea, 0xfd4, 0x12ea, 0xfd4, 0x13bc, -0x107b, 0x13bc, 0x107b, 0x1399, 0x1032, 0x1399, 0x1032, 0x1529, 0x11a0, 0x1529, 0x11a0, -0x1529, 0x11a0, 0x15b1, 0x120c, 0x15b1, 0x120c, 0x1781, 0x13c4, 0x1781, 0x13c4, 0x18ee, -0x151e, 0x18ee, 0x151e, 0x176e, 0x1390, 0x176e, 0x1390, 0x18b3, 0x14ca, 0x18b3, 0x14ca, -0x1b2f, 0x173f, 0x1b2f, 0x173f, 0x1b2f, 0x173f, 0x1cb4, 0x18c0, 0x1cb4, 0x18c0, 0x1d12, -0x191c, 0x1d12, 0x191c, 0x1c85, 0x1890, 0x1c85, 0x1890, 0x1c27, 0x1835, 0x1c27, 0x1835, -0x1c63, 0x1875, 0x1c63, 0x1875, 0x1c63, 0x1875, 0x1d22, 0x1938, 0x1d22, 0x1938, 0x1bd7, -0x17f3, 0x1bd7, 0x17f3, 0x19f0, 0x1614, 0x19f0, 0x1614, 0x1926, 0x1551, 0x1926, 0x1551, -0x183f, 0x1472, 0x183f, 0x1472, 0x1795, 0x13d0, 0x1795, 0x13d0, 0x1795, 0x13d0, 0x1745, -0x138a, 0x1745, 0x138a, 0x15ee, 0x123c, 0x15ee, 0x123c, 0x1438, 0x1091, 0x1438, 0x1091, -0x12f4, 0xf59, 0x12f4, 0xf59, 0x1284, 0xef6, 0x1284, 0xef6, 0x12da, 0xf5a, 0x12da, -0xf5a, 0x12da, 0xf5a, 0x12f8, 0xf89, 0x12f8, 0xf89, 0x12f3, 0xf96, 0x12f3, 0xf96, -0x12c3, 0xf7a, 0x12c3, 0xf7a, 0x131f, 0xfec, 0x131f, 0xfec, 0x131e, 0x1004, 0x131e, -0x1004, 0x131e, 0x1004, 0x1311, 0x1012, 0x1311, 0x1012, 0x134e, 0x106c, 0x134e, 0x106c, -0x1440, 0x117e, 0x1440, 0x117e, 0x15a4, 0x1306, 0x15a4, 0x1306, 0x153b, 0x12c1, 0x153b, -0x12c1, 0x14e5, 0x1293, 0x14e5, 0x1293, 0x14e5, 0x1293, 0x1450, 0x1228, 0x1450, 0x1228, -0x1462, 0x1266, 0x1462, 0x1266, 0x13cb, 0x11fc, 0x13cb, 0x11fc, 0x10dc, 0xf3c, 0x10dc, -0xf3c, 0xff8, 0xe8a, 0xff8, 0xe8a, 0xefc, 0xdbf, 0xefc, 0xdbf, 0xefc, 0xdbf, -0xda7, 0xc9e, 0xda7, 0xc9e, 0xd17, 0xc42, 0xd17, 0xc42, 0xa51, 0x9b3, 0xa51, -0x9b3, 0x7da, 0x773, 0x7da, 0x773, 0x6ec, 0x6bb, 0x6ec, 0x6bb, 0x6ec, 0x6bb, -0x604, 0x60b, 0x604, 0x60b, 0x504, 0x543, 0x504, 0x543, 0x392, 0x40a, 0x392, -0x40a, 0x20c, 0x2bb, 0x20c, 0x2bb, 0xfff3, 0xda, 0xfff3, 0xda, 0xff87, 0xa6, -0xff87, 0xa6, 0xff87, 0xa6, 0xfe5d, 0xffb3, 0xfe5d, 0xffb3, 0xfa80, 0xfc0c, 0xfa80, -0xfc0c, 0xf9e4, 0xfba5, 0xf9e4, 0xfba5, 0xf96a, 0xfb5e, 0xf96a, 0xfb5e, 0xf8ea, 0xfb0e, -0xf8ea, 0xfb0e, 0xf8d7, 0xfb2a, 0xf8d7, 0xfb2a, 0xf8d7, 0xfb2a, 0xf5f6, 0xf873, 0xf5f6, -0xf873, 0xf52d, 0xf7d2, 0xf52d, 0xf7d2, 0xf4fc, 0xf7c4, 0xf4fc, 0xf7c4, 0xf4e4, 0xf7cb, -0xf4e4, 0xf7cb, 0xf663, 0xf964, 0xf663, 0xf964, 0xf663, 0xf964, 0xf466, 0xf77c, 0xf466, -0xf77c, 0xf1a5, 0xf4c9, 0xf1a5, 0xf4c9, 0xf253, 0xf581, 0xf253, 0xf581, 0xf1ee, 0xf51e, -0xf1ee, 0xf51e, 0xf06b, 0xf398, 0xf06b, 0xf398, 0xf11a, 0xf43d, 0xf11a, 0xf43d, 0xf11a, -0xf43d, 0xf142, 0xf454, 0xf142, 0xf454, 0xf0c9, 0xf3c3, 0xf0c9, 0xf3c3, 0xf1e8, 0xf4c5, -0xf1e8, 0xf4c5, 0xf262, 0xf51a, 0xf262, 0xf51a, 0xf0e3, 0xf371, 0xf0e3, 0xf371, 0xefcd, -0xf22d, 0xefcd, 0xf22d, 0xefcd, 0xf22d, 0xefd5, 0xf1ff, 0xefd5, 0xf1ff, 0xf055, 0xf246, -0xf055, 0xf246, 0xf0b0, 0xf264, 0xf0b0, 0xf264, 0xf061, 0xf1d4, 0xf061, 0xf1d4, 0xf10f, -0xf23f, 0xf10f, 0xf23f, 0xf10f, 0xf23f, 0xf322, 0xf40c, 0xf322, 0xf40c, 0xf600, 0xf6a2, -0xf600, 0xf6a2, 0xf8fa, 0xf954, 0xf8fa, 0xf954, 0xf9d5, 0xf9e6, 0xf9d5, 0xf9e6, 0xfa46, -0xfa0f, 0xfa46, 0xfa0f, 0xfc9d, 0xfc1f, 0xfc9d, 0xfc1f, 0xfc9d, 0xfc1f, 0xfd6d, 0xfca9, -0xfd6d, 0xfca9, 0xfe24, 0xfd1c, 0xfe24, 0xfd1c, 0xff6f, 0xfe25, 0xff6f, 0xfe25, 0xff26, -0xfd9e, 0xff26, 0xfd9e, 0x17e, 0xffbc, 0x17e, 0xffbc, 0x3f5, 0x1fc, 0x3f5, 0x1fc, -0x3f5, 0x1fc, 0x4c1, 0x294, 0x4c1, 0x294, 0x62c, 0x3d1, 0x62c, 0x3d1, 0x613, -0x38f, 0x613, 0x38f, 0x68f, 0x3e5, 0x68f, 0x3e5, 0x7c9, 0x4ff, 0x7c9, 0x4ff, -0x7c9, 0x4ff, 0x78a, 0x4a4, 0x78a, 0x4a4, 0x887, 0x58a, 0x887, 0x58a, 0xa72, -0x762, 0xa72, 0x762, 0xa90, 0x773, 0xa90, 0x773, 0xb56, 0x82e, 0xb56, 0x82e, -0xc5e, 0x930, 0xc5e, 0x930, 0xc5e, 0x930, 0xbc2, 0x891, 0xbc2, 0x891, 0xce8, -0x9b9, 0xce8, 0x9b9, 0xf29, 0xbfe, 0xf29, 0xbfe, 0x10ab, 0xd86, 0x10ab, 0xd86, -0x12d3, 0xfb7, 0x12d3, 0xfb7, 0x13eb, 0x10d9, 0x13eb, 0x10d9, 0x13eb, 0x10d9, 0x137c, -0x1077, 0x137c, 0x1077, 0x1424, 0x112c, 0x1424, 0x112c, 0x1485, 0x119b, 0x1485, 0x119b, -0x13ad, 0x10d2, 0x13ad, 0x10d2, 0x14b4, 0x11e7, 0x14b4, 0x11e7, 0x14b4, 0x11e7, 0x15fd, -0x133f, 0x15fd, 0x133f, 0x154c, 0x129c, 0x154c, 0x129c, 0x161c, 0x1379, 0x161c, 0x1379, -0x1695, 0x13fe, 0x1695, 0x13fe, 0x15d1, 0x1346, 0x15d1, 0x1346, 0x16c8, 0x1447, 0x16c8, -0x1447, 0x16c8, 0x1447, 0x1600, 0x1387, 0x1600, 0x1387, 0x1621, 0x13ae, 0x1621, 0x13ae, -0x1799, 0x152b, 0x1799, 0x152b, 0x15a7, 0x133c, 0x15a7, 0x133c, 0x1594, 0x132b, 0x1594, -0x132b, 0x175e, 0x14f4, 0x175e, 0x14f4, 0x175e, 0x14f4, 0x16d2, 0x1467, 0x16d2, 0x1467, -0x1685, 0x1416, 0x1685, 0x1416, 0x177a, 0x1506, 0x177a, 0x1506, 0x1730, 0x14b5, 0x1730, -0x14b5, 0x1673, 0x13ef, 0x1673, 0x13ef, 0x1673, 0x13ef, 0x1723, 0x1496, 0x1723, 0x1496, -0x16f4, 0x145d, 0x16f4, 0x145d, 0x1611, 0x1370, 0x1611, 0x1370, 0x1636, 0x1389, 0x1636, -0x1389, 0x1728, 0x1470, 0x1728, 0x1470, 0x18f0, 0x162d, 0x18f0, 0x162d, 0x18f0, 0x162d, -0x193e, 0x1671, 0x193e, 0x1671, 0x17e3, 0x150d, 0x17e3, 0x150d, 0x1854, 0x1576, 0x1854, -0x1576, 0x19cb, 0x16e8, 0x19cb, 0x16e8, 0x1b30, 0x184a, 0x1b30, 0x184a, 0x1c3c, 0x1955, -0x1c3c, 0x1955, 0x1c3c, 0x1955, 0x1b92, 0x18ae, 0x1b92, 0x18ae, 0x1c8e, 0x19b0, 0x1c8e, -0x19b0, 0x1e74, 0x1ba0, 0x1e74, 0x1ba0, 0x1db0, 0x1ae9, 0x1db0, 0x1ae9, 0x1d0c, 0x1a56, -0x1d0c, 0x1a56, 0x1d0c, 0x1a56, 0x1c66, 0x19c6, 0x1c66, 0x19c6, 0x1bca, 0x1943, 0x1bca, -0x1943, 0x1c35, 0x19cc, 0x1c35, 0x19cc, 0x1b27, 0x18df, 0x1b27, 0x18df, 0x197b, 0x1758, -0x197b, 0x1758, 0x1650, 0x1455, 0x1650, 0x1455, 0x1650, 0x1455, 0x1412, 0x1242, 0x1412, -0x1242, 0x154a, 0x13a7, 0x154a, 0x13a7, 0x13c2, 0x124f, 0x13c2, 0x124f, 0x1195, 0x1052, -0x1195, 0x1052, 0x10d8, 0xfc7, 0x10d8, 0xfc7, 0x10d8, 0xfc7, 0xf64, 0xe85, 0xf64, -0xe85, 0xf1d, 0xe70, 0xf1d, 0xe70, 0xd2a, 0xcad, 0xd2a, 0xcad, 0x930, 0x8e2, -0x930, 0x8e2, 0x624, 0x604, 0x624, 0x604, 0x45b, 0x466, 0x45b, 0x466, 0x45b, -0x466, 0x2fd, 0x332, 0x2fd, 0x332, 0x14c, 0x1a7, 0x14c, 0x1a7, 0xff33, 0xffb2, -0xff33, 0xffb2, 0xfbd9, 0xfc78, 0xfbd9, 0xfc78, 0xfa75, 0xfb33, 0xfa75, 0xfb33, 0xfb60, -0xfc39, 0xfb60, 0xfc39, 0xfb60, 0xfc39, 0xfab5, 0xfba8, 0xfab5, 0xfba8, 0xf9c3, 0xfacc, -0xf9c3, 0xfacc, 0xf906, 0xfa25, 0xf906, 0xfa25, 0xf8bd, 0xf9ef, 0xf8bd, 0xf9ef, 0xf8b9, -0xf9fe, 0xf8b9, 0xf9fe, 0xf8b9, 0xf9fe, 0xf722, 0xf878, 0xf722, 0xf878, 0xf592, 0xf6fa, -0xf592, 0xf6fa, 0xf4a2, 0xf61b, 0xf4a2, 0xf61b, 0xf474, 0xf5ff, 0xf474, 0xf5ff, 0xf503, -0xf6a0, 0xf503, 0xf6a0, 0xf556, 0xf706, 0xf556, 0xf706, 0xf556, 0xf706, 0xf4f7, 0xf6bb, -0xf4f7, 0xf6bb, 0xf300, 0xf4d9, 0xf300, 0xf4d9, 0xf10a, 0xf2fa, 0xf10a, 0xf2fa, 0xefbc, -0xf1c4, 0xefbc, 0xf1c4, 0xeebf, 0xf0e0, 0xeebf, 0xf0e0, 0xedfd, 0xf038, 0xedfd, 0xf038, -0xedfd, 0xf038, 0xeccc, 0xef21, 0xeccc, 0xef21, 0xebfc, 0xee6d, 0xebfc, 0xee6d, 0xeb6b, -0xedf8, 0xeb6b, 0xedf8, 0xeaf8, 0xeda2, 0xeaf8, 0xeda2, 0xe953, 0xec1a, 0xe953, 0xec1a, -0xe953, 0xec1a, 0xe7fa, 0xeadf, 0xe7fa, 0xeadf, 0xe837, 0xeb39, 0xe837, 0xeb39, 0xe6b6, -0xe9d5, 0xe6b6, 0xe9d5, 0xe5bd, 0xe8f8, 0xe5bd, 0xe8f8, 0xe46a, 0xe7c1, 0xe46a, 0xe7c1, -0xe20c, 0xe57e, 0xe20c, 0xe57e, 0xe20c, 0xe57e, 0xe1f9, 0xe586, 0xe1f9, 0xe586, 0xe102, -0xe4aa, 0xe102, 0xe4aa, 0xe03e, 0xe400, 0xe03e, 0xe400, 0xdfeb, 0xe3c7, 0xdfeb, 0xe3c7, -0xde56, 0xe24c, 0xde56, 0xe24c, 0xde5f, 0xe26e, 0xde5f, 0xe26e, 0xde5f, 0xe26e, 0xdef0, -0xe318, 0xdef0, 0xe318, 0xdf53, 0xe394, 0xdf53, 0xe394, 0xdecf, 0xe329, 0xdecf, 0xe329, -0xde3f, 0xe2b1, 0xde3f, 0xe2b1, 0xde8a, 0xe314, 0xde8a, 0xe314, 0xde8a, 0xe314, 0xddc4, -0xe265, 0xddc4, 0xe265, 0xdeb6, 0xe36d, 0xdeb6, 0xe36d, 0xded0, 0xe39c, 0xded0, 0xe39c, -0xddb5, 0xe294, 0xddb5, 0xe294, 0xdf7f, 0xe46f, 0xdf7f, 0xe46f, 0xdf38, 0xe436, 0xdf38, -0xe436, 0xdf38, 0xe436, 0xdf56, 0xe461, 0xdf56, 0xe461, 0xe1d7, 0xe6ea, 0xe1d7, 0xe6ea, -0xe203, 0xe71a, 0xe203, 0xe71a, 0xe239, 0xe751, 0xe239, 0xe751, 0xe174, 0xe688, 0xe174, -0xe688, 0xe026, 0xe531, 0xe026, 0xe531, 0xe026, 0xe531, 0xe028, 0xe525, 0xe028, 0xe525, -0xdf65, 0xe44f, 0xdf65, 0xe44f, 0xe05d, 0xe52f, 0xe05d, 0xe52f, 0xe222, 0xe6d8, 0xe222, -0xe6d8, 0xe2df, 0xe774, 0xe2df, 0xe774, 0xe2df, 0xe774, 0xe364, 0xe7d4, 0xe364, 0xe7d4, -0xe360, 0xe7a8, 0xe360, 0xe7a8, 0xe489, 0xe8a5, 0xe489, 0xe8a5, 0xe62f, 0xea1e, 0xe62f, -0xea1e, 0xe80b, 0xebc9, 0xe80b, 0xebc9, 0xe9c9, 0xed57, 0xe9c9, 0xed57, 0xe9c9, 0xed57, -0xea82, 0xede1, 0xea82, 0xede1, 0xecdd, 0xf00d, 0xecdd, 0xf00d, 0xef32, 0xf235, 0xef32, -0xf235, 0xf085, 0xf35d, 0xf085, 0xf35d, 0xf102, 0xf3b3, 0xf102, 0xf3b3, 0xf016, 0xf2a4, -0xf016, 0xf2a4, 0xf016, 0xf2a4, 0xf1a4, 0xf413, 0xf1a4, 0xf413, 0xf3d6, 0xf62a, 0xf3d6, -0xf62a, 0xf42a, 0xf668, 0xf42a, 0xf668, 0xf3a4, 0xf5d2, 0xf3a4, 0xf5d2, 0xf285, 0xf4a8, -0xf285, 0xf4a8, 0xf285, 0xf4a8, 0xf368, 0xf585, 0xf368, 0xf585, 0xf480, 0xf69b, 0xf480, -0xf69b, 0xf519, 0xf736, 0xf519, 0xf736, 0xf6ad, 0xf8d0, 0xf6ad, 0xf8d0, 0xf63f, 0xf86a, -0xf63f, 0xf86a, 0xf5b9, 0xf7f0, 0xf5b9, 0xf7f0, 0xf5b9, 0xf7f0, 0xf6b2, 0xf8f5, 0xf6b2, -0xf8f5, 0xf64a, 0xf89b, 0xf64a, 0xf89b, 0xf566, 0xf7c5, 0xf566, 0xf7c5, 0xf4a1, 0xf70d, -0xf4a1, 0xf70d, 0xf3dc, 0xf654, 0xf3dc, 0xf654, 0xf477, 0xf6fa, 0xf477, 0xf6fa, 0xf477, -0xf6fa, 0xf557, 0xf7e2, 0xf557, 0xf7e2, 0xf445, 0xf6d7, 0xf445, 0xf6d7, 0xf373, 0xf608, -0xf373, 0xf608, 0xf4b7, 0xf74d, 0xf4b7, 0xf74d, 0xf585, 0xf818, 0xf585, 0xf818, 0xf585, -0xf818, 0xf567, 0xf7f3, 0xf567, 0xf7f3, 0xf41a, 0xf69e, 0xf41a, 0xf69e, 0xf366, 0xf5dd, -0xf366, 0xf5dd, 0xf504, 0xf76d, 0xf504, 0xf76d, 0xf5d6, 0xf82c, 0xf5d6, 0xf82c, 0xf544, -0xf786, 0xf544, 0xf786, 0xf544, 0xf786, 0xf450, 0xf67b, 0xf450, 0xf67b, 0xf3c5, 0xf5d6, -0xf3c5, 0xf5d6, 0xf3c6, 0xf5bb, 0xf3c6, 0xf5bb, 0xf566, 0xf73d, 0xf566, 0xf73d, 0xf6ee, -0xf8a5, 0xf6ee, 0xf8a5, 0xf647, 0xf7dc, 0xf647, 0xf7dc, 0xf647, 0xf7dc, 0xf72e, 0xf89e, -0xf72e, 0xf89e, 0xf748, 0xf890, 0xf748, 0xf890, 0xf71c, 0xf83a, 0xf71c, 0xf83a, 0xf917, -0xfa08, 0xf917, 0xfa08, 0xf8db, 0xf99c, 0xf8db, 0xf99c, 0xf8db, 0xf99c, 0xf929, 0xf9b7, -0xf929, 0xf9b7, 0xfa4a, 0xfaa3, 0xfa4a, 0xfaa3, 0xfa4c, 0xfa6b, 0xfa4c, 0xfa6b, 0xfbff, -0xfbe3, 0xfbff, 0xfbe3, 0xfc1c, 0xfbc0, 0xfc1c, 0xfbc0, 0xfb3c, 0xfa9d, 0xfb3c, 0xfa9d, -0xfb3c, 0xfa9d, 0xfd63, 0xfc80, 0xfd63, 0xfc80, 0xfecf, 0xfda4, 0xfecf, 0xfda4, 0xfeb8, -0xfd44, 0xfeb8, 0xfd44, 0xff8e, 0xfdcf, 0xff8e, 0xfdcf, 0xdf, 0xfed5, 0xdf, 0xfed5, -0x37b, 0x126, 0x37b, 0x126, 0x37b, 0x126, 0x774, 0x4d5, 0x774, 0x4d5, 0xa95, -0x7ad, 0xa95, 0x7ad, 0xca4, 0x977, 0xca4, 0x977, 0xe8a, 0xb1b, 0xe8a, 0xb1b, -0x104f, 0xca2, 0x104f, 0xca2, 0x104f, 0xca2, 0x1281, 0xe9b, 0x1281, 0xe9b, 0x14d5, -0x10bb, 0x14d5, 0x10bb, 0x15ea, 0x11a3, 0x15ea, 0x11a3, 0x1752, 0x12e4, 0x1752, 0x12e4, -0x18ef, 0x1461, 0x18ef, 0x1461, 0x18ae, 0x1407, 0x18ae, 0x1407, 0x18ae, 0x1407, 0x19bb, -0x1501, 0x19bb, 0x1501, 0x1a55, 0x1591, 0x1a55, 0x1591, 0x198b, 0x14c2, 0x198b, 0x14c2, -0x1b0d, 0x1645, 0x1b0d, 0x1645, 0x1ba0, 0x16df, 0x1ba0, 0x16df, 0x1ba0, 0x16df, 0x1c97, -0x17e2, 0x1c97, 0x17e2, 0x1db8, 0x1913, 0x1db8, 0x1913, 0x1ce3, 0x1851, 0x1ce3, 0x1851, -0x1cc5, 0x184a, 0x1cc5, 0x184a, 0x1b57, 0x16f4, 0x1b57, 0x16f4, 0x194d, 0x1503, 0x194d, -0x1503, 0x194d, 0x1503, 0x17fb, 0x13cc, 0x17fb, 0x13cc, 0x1724, 0x1310, 0x1724, 0x1310, -0x16de, 0x12e3, 0x16de, 0x12e3, 0x15d6, 0x11f6, 0x15d6, 0x11f6, 0x1524, 0x115c, 0x1524, -0x115c, 0x1493, 0x10e3, 0x1493, 0x10e3, 0x1493, 0x10e3, 0x1362, 0xfca, 0x1362, 0xfca, -0x11f3, 0xe72, 0x11f3, 0xe72, 0x102f, 0xcc5, 0x102f, 0xcc5, 0xf02, 0xbb1, 0xf02, -0xbb1, 0xe55, 0xb1c, 0xe55, 0xb1c, 0xe55, 0xb1c, 0xd2e, 0xa0e, 0xd2e, 0xa0e, -0xd54, 0xa4f, 0xd54, 0xa4f, 0xefa, 0xc12, 0xefa, 0xc12, 0x1038, 0xd70, 0x1038, -0xd70, 0x1079, 0xdd4, 0x1079, 0xdd4, 0xf92, 0xd13, 0xf92, 0xd13, 0xf92, 0xd13, -0xfc3, 0xd6e, 0xfc3, 0xd6e, 0x1186, 0xf5e, 0x1186, 0xf5e, 0x1144, 0xf4c, 0x1144, -0xf4c, 0xf4e, 0xd8a, 0xf4e, 0xd8a, 0xebc, 0xd2f, 0xebc, 0xd2f, 0xeba, 0xd67, -0xeba, 0xd67, 0xeba, 0xd67, 0xe87, 0xd70, 0xe87, 0xd70, 0xdff, 0xd26, 0xdff, -0xd26, 0xc3f, 0xba4, 0xc3f, 0xba4, 0xadf, 0xa83, 0xadf, 0xa83, 0x9b6, 0x998, -0x9b6, 0x998, 0x9b6, 0x998, 0x7bb, 0x7da, 0x7bb, 0x7da, 0x617, 0x672, 0x617, -0x672, 0x411, 0x4a5, 0x411, 0x4a5, 0x209, 0x2d4, 0x209, 0x2d4, 0x1d9, 0x2d8, -0x1d9, 0x2d8, 0x160, 0x290, 0x160, 0x290, 0x160, 0x290, 0xfffc, 0x158, 0xfffc, -0x158, 0xfee3, 0x68, 0xfee3, 0x68, 0xfd73, 0xff1e, 0xfd73, 0xff1e, 0xfc66, 0xfe34, -0xfc66, 0xfe34, 0xfc03, 0xfdf0, 0xfc03, 0xfdf0, 0xfaaa, 0xfcb3, 0xfaaa, 0xfcb3, 0xfaaa, -0xfcb3, 0xf84a, 0xfa6c, 0xf84a, 0xfa6c, 0xf6bd, 0xf8f6, 0xf6bd, 0xf8f6, 0xf5b4, 0xf802, -0xf5b4, 0xf802, 0xf4f8, 0xf759, 0xf4f8, 0xf759, 0xf385, 0xf5f7, 0xf385, 0xf5f7, 0xf385, -0xf5f7, 0xf1e1, 0xf462, 0xf1e1, 0xf462, 0xf32d, 0xf5bc, 0xf32d, 0xf5bc, 0xf404, 0xf69e, -0xf404, 0xf69e, 0xf2ea, 0xf58f, 0xf2ea, 0xf58f, 0xf1fa, 0xf4a6, 0xf1fa, 0xf4a6, 0xf13f, -0xf3f0, 0xf13f, 0xf3f0, 0xf13f, 0xf3f0, 0xf196, 0xf448, 0xf196, 0xf448, 0xf338, 0xf5e9, -0xf338, 0xf5e9, 0xf3b2, 0xf65c, 0xf3b2, 0xf65c, 0xf17c, 0xf41b, 0xf17c, 0xf41b, 0xefab, -0xf239, 0xefab, 0xf239, 0xef56, 0xf1cc, 0xef56, 0xf1cc, 0xef56, 0xf1cc, 0xefe5, 0xf23d, -0xefe5, 0xf23d, 0xf055, 0xf288, 0xf055, 0xf288, 0xefe7, 0xf1ee, 0xefe7, 0xf1ee, 0xef66, -0xf139, 0xef66, 0xf139, 0xeeb1, 0xf049, 0xeeb1, 0xf049, 0xeeb1, 0xf049, 0xefd3, 0xf128, -0xefd3, 0xf128, 0xf18b, 0xf298, 0xf18b, 0xf298, 0xf14d, 0xf20a, 0xf14d, 0xf20a, 0xf10f, -0xf178, 0xf10f, 0xf178, 0xf20c, 0xf21c, 0xf20c, 0xf21c, 0xf4bd, 0xf471, 0xf4bd, 0xf471, -0xf4bd, 0xf471, 0xf7e2, 0xf738, 0xf7e2, 0xf738, 0xfa04, 0xf8fb, 0xfa04, 0xf8fb, 0xfb85, -0xfa1d, 0xfb85, 0xfa1d, 0xfd5a, 0xfb96, 0xfd5a, 0xfb96, 0x19, 0xfdfb, 0x19, 0xfdfb, -0xbb, 0xfe48, 0xbb, 0xfe48, 0xbb, 0xfe48, 0x2c, 0xfd69, 0x2c, 0xfd69, 0xf7, -0xfdea, 0xf7, 0xfdea, 0x220, 0xfed0, 0x220, 0xfed0, 0x42e, 0xa2, 0x42e, 0xa2, -0x51b, 0x15d, 0x51b, 0x15d, 0x51b, 0x15d, 0x667, 0x27d, 0x667, 0x27d, 0x86e, -0x461, 0x86e, 0x461, 0x8da, 0x4b3, 0x8da, 0x4b3, 0xb07, 0x6cd, 0xb07, 0x6cd, -0xd9b, 0x954, 0xd9b, 0x954, 0xe27, 0x9db, 0xe27, 0x9db, 0xe27, 0x9db, 0xe06, -0x9b9, 0xe06, 0x9b9, 0xe24, 0x9dc, 0xe24, 0x9dc, 0xe99, 0xa59, 0xe99, 0xa59, -0xfc8, 0xb94, 0xfc8, 0xb94, 0x102b, 0xc05, 0x102b, 0xc05, 0xf82, 0xb6c, 0xf82, -0xb6c, 0xf82, 0xb6c, 0x11bf, 0xdb9, 0x11bf, 0xdb9, 0x1429, 0x1033, 0x1429, 0x1033, -0x1459, 0x1074, 0x1459, 0x1074, 0x1566, 0x1191, 0x1566, 0x1191, 0x16d0, 0x130a, 0x16d0, -0x130a, 0x16d0, 0x130a, 0x1704, 0x134e, 0x1704, 0x134e, 0x17c3, 0x141b, 0x17c3, 0x141b, -0x18b8, 0x151f, 0x18b8, 0x151f, 0x18a3, 0x151a, 0x18a3, 0x151a, 0x1964, 0x15eb, 0x1964, -0x15eb, 0x194b, 0x15e2, 0x194b, 0x15e2, 0x194b, 0x15e2, 0x1a26, 0x16d0, 0x1a26, 0x16d0, -0x1d04, 0x19c2, 0x1d04, 0x19c2, 0x1ce3, 0x19b7, 0x1ce3, 0x19b7, 0x1cfa, 0x19e6, 0x1cfa, -0x19e6, 0x1e23, 0x1b2a, 0x1e23, 0x1b2a, 0x1ccb, 0x19ef, 0x1ccb, 0x19ef, 0x1ccb, 0x19ef, -0x1c3d, 0x1980, 0x1c3d, 0x1980, 0x1c5c, 0x19c1, 0x1c5c, 0x19c1, 0x1a18, 0x17a0, 0x1a18, -0x17a0, 0x18f1, 0x169d, 0x18f1, 0x169d, 0x1ad4, 0x18a4, 0x1ad4, 0x18a4, 0x1ad4, 0x18a4, -0x1bcd, 0x19c0, 0x1bcd, 0x19c0, 0x1bbe, 0x19d5, 0x1bbe, 0x19d5, 0x1aaa, 0x18e2, 0x1aaa, -0x18e2, 0x18bc, 0x1713, 0x18bc, 0x1713, 0x198f, 0x1801, 0x198f, 0x1801, 0x18e5, 0x1770, -0x18e5, 0x1770, 0x18e5, 0x1770, 0x16ad, 0x154d, 0x16ad, 0x154d, 0x16a3, 0x1552, 0x16a3, -0x1552, 0x167a, 0x1534, 0x167a, 0x1534, 0x17bf, 0x167f, 0x17bf, 0x167f, 0x189e, 0x1761, -0x189e, 0x1761, 0x1790, 0x1651, 0x1790, 0x1651, 0x1790, 0x1651, 0x17f1, 0x16ad, 0x17f1, -0x16ad, 0x19ee, 0x18a2, 0x19ee, 0x18a2, 0x1a28, 0x18d2, 0x1a28, 0x18d2, 0x19bd, 0x185c, -0x19bd, 0x185c, 0x1a89, 0x191d, 0x1a89, 0x191d, 0x1a89, 0x191d, 0x1898, 0x1722, 0x1898, -0x1722, 0x186f, 0x16ef, 0x186f, 0x16ef, 0x1a83, 0x18fe, 0x1a83, 0x18fe, 0x1ab0, 0x1928, -0x1ab0, 0x1928, 0x1a8b, 0x1904, 0x1a8b, 0x1904, 0x18c0, 0x1740, 0x18c0, 0x1740, 0x18c0, -0x1740, 0x18d0, 0x175b, 0x18d0, 0x175b, 0x19b0, 0x184b, 0x19b0, 0x184b, 0x17f4, 0x16a4, -0x17f4, 0x16a4, 0x16ac, 0x1577, 0x16ac, 0x1577, 0x145f, 0x1349, 0x145f, 0x1349, 0x145f, -0x1349, 0x1277, 0x1184, 0x1277, 0x1184, 0x1285, 0x11b7, 0x1285, 0x11b7, 0x10d3, 0x102d, -0x10d3, 0x102d, 0xe9c, 0xe1f, 0xe9c, 0xe1f, 0xcc0, 0xc6c, 0xcc0, 0xc6c, 0xa8b, -0xa5e, 0xa8b, 0xa5e, 0xa8b, 0xa5e, 0x8ac, 0x8a6, 0x8ac, 0x8a6, 0x613, 0x62f, -0x613, 0x62f, 0x34d, 0x389, 0x34d, 0x389, 0xfc, 0x152, 0xfc, 0x152, 0x96, -0x102, 0x96, 0x102, 0x8a, 0x107, 0x8a, 0x107, 0x8a, 0x107, 0xfdde, 0xfe65, -0xfdde, 0xfe65, 0xfafb, 0xfb88, 0xfafb, 0xfb88, 0xf865, 0xf8f1, 0xf865, 0xf8f1, 0xf800, -0xf887, 0xf800, 0xf887, 0xf930, 0xf9ae, 0xf930, 0xf9ae, 0xf930, 0xf9ae, 0xf871, 0xf8e4, -0xf871, 0xf8e4, 0xf72f, 0xf793, 0xf72f, 0xf793, 0xf537, 0xf58a, 0xf537, 0xf58a, 0xf551, -0xf594, 0xf551, 0xf594, 0xf76f, 0xf7a2, 0xf76f, 0xf7a2, 0xf699, 0xf6be, 0xf699, 0xf6be, -0xf699, 0xf6be, 0xf54a, 0xf562, 0xf54a, 0xf562, 0xf41f, 0xf42e, 0xf41f, 0xf42e, 0xf36d, -0xf378, 0xf36d, 0xf378, 0xf41f, 0xf428, 0xf41f, 0xf428, 0xf3e5, 0xf3f2, 0xf3e5, 0xf3f2, -0xf343, 0xf358, 0xf343, 0xf358, 0xf343, 0xf358, 0xf1d4, 0xf1f6, 0xf1d4, 0xf1f6, 0xf17e, -0xf1b1, 0xf17e, 0xf1b1, 0xf1aa, 0xf1f3, 0xf1aa, 0xf1f3, 0xefab, 0xf00c, 0xefab, 0xf00c, -0xed75, 0xedf2, 0xed75, 0xedf2, 0xed75, 0xedf2, 0xebdf, 0xec79, 0xebdf, 0xec79, 0xeb87, -0xec40, 0xeb87, 0xec40, 0xeb0b, 0xebe5, 0xeb0b, 0xebe5, 0xea0b, 0xeb05, 0xea0b, 0xeb05, -0xe8e6, 0xe9ff, 0xe8e6, 0xe9ff, 0xe798, 0xe8d0, 0xe798, 0xe8d0, 0xe798, 0xe8d0, 0xe812, -0xe968, 0xe812, 0xe968, 0xe94f, 0xeac0, 0xe94f, 0xeac0, 0xe8db, 0xea66, 0xe8db, 0xea66, -0xe6f6, 0xe89a, 0xe6f6, 0xe89a, 0xe5a3, 0xe75d, 0xe5a3, 0xe75d, 0xe506, 0xe6d6, 0xe506, -0xe6d6, 0xe506, 0xe6d6, 0xe51e, 0xe702, 0xe51e, 0xe702, 0xe48a, 0xe683, 0xe48a, 0xe683, -0xe304, 0xe512, 0xe304, 0xe512, 0xe258, 0xe47d, 0xe258, 0xe47d, 0xe1d4, 0xe411, 0xe1d4, -0xe411, 0xe1d4, 0xe411, 0xe265, 0xe4bb, 0xe265, 0xe4bb, 0xe303, 0xe575, 0xe303, 0xe575, -0xe1db, 0xe46c, 0xe1db, 0xe46c, 0xe127, 0xe3da, 0xe127, 0xe3da, 0xe0ea, 0xe3c2, 0xe0ea, -0xe3c2, 0xdf9c, 0xe29c, 0xdf9c, 0xe29c, 0xdf9c, 0xe29c, 0xdfac, 0xe2d6, 0xdfac, 0xe2d6, -0xe0b9, 0xe410, 0xe0b9, 0xe410, 0xe054, 0xe3d8, 0xe054, 0xe3d8, 0xe178, 0xe52a, 0xe178, -0xe52a, 0xe31c, 0xe6fc, 0xe31c, 0xe6fc, 0xe30c, 0xe719, 0xe30c, 0xe719, 0xe30c, 0xe719, -0xe31a, 0xe752, 0xe31a, 0xe752, 0xe26d, 0xe6cc, 0xe26d, 0xe6cc, 0xe1bf, 0xe641, 0xe1bf, -0xe641, 0xe173, 0xe613, 0xe173, 0xe613, 0xdfd4, 0xe48b, 0xdfd4, 0xe48b, 0xdfd4, 0xe48b, -0xde9f, 0xe368, 0xde9f, 0xe368, 0xdebf, 0xe392, 0xdebf, 0xe392, 0xdfa1, 0xe476, 0xdfa1, -0xe476, 0xe0e3, 0xe5b3, 0xe0e3, 0xe5b3, 0xe1df, 0xe6a4, 0xe1df, 0xe6a4, 0xe24b, 0xe6fd, -0xe24b, 0xe6fd, 0xe24b, 0xe6fd, 0xe2bf, 0xe758, 0xe2bf, 0xe758, 0xe4c1, 0xe93c, 0xe4c1, -0xe93c, 0xe610, 0xea68, 0xe610, 0xea68, 0xe653, 0xea85, 0xe653, 0xea85, 0xe6ec, 0xeaf7, -0xe6ec, 0xeaf7, 0xe80f, 0xebf1, 0xe80f, 0xebf1, 0xe80f, 0xebf1, 0xeb4f, 0xef09, 0xeb4f, -0xef09, 0xed87, 0xf11a, 0xed87, 0xf11a, 0xee46, 0xf1b5, 0xee46, 0xf1b5, 0xefb7, 0xf306, -0xefb7, 0xf306, 0xf18a, 0xf4bd, 0xf18a, 0xf4bd, 0xf18a, 0xf4bd, 0xf33f, 0xf65b, 0xf33f, -0xf65b, 0xf33e, 0xf649, 0xf33e, 0xf649, 0xf259, 0xf559, 0xf259, 0xf559, 0xf0ee, 0xf3e8, -0xf0ee, 0xf3e8, 0xf0dc, 0xf3d4, 0xf0dc, 0xf3d4, 0xf356, 0xf653, 0xf356, 0xf653, 0xf356, -0xf653, 0xf442, 0xf747, 0xf442, 0xf747, 0xf370, 0xf681, 0xf370, 0xf681, 0xf36d, 0xf68c, -0xf36d, 0xf68c, 0xf466, 0xf795, 0xf466, 0xf795, 0xf531, 0xf870, 0xf531, 0xf870, 0xf4fb, -0xf849, 0xf4fb, 0xf849, 0xf4fb, 0xf849, 0xf3d0, 0xf72b, 0xf3d0, 0xf72b, 0xf1ff, 0xf566, -0xf1ff, 0xf566, 0xf19d, 0xf50b, 0xf19d, 0xf50b, 0xf1fe, 0xf570, 0xf1fe, 0xf570, 0xf213, -0xf585, 0xf213, 0xf585, 0xf213, 0xf585, 0xf1cf, 0xf53c, 0xf1cf, 0xf53c, 0xf053, 0xf3b6, -0xf053, 0xf3b6, 0xf176, 0xf4cb, 0xf176, 0xf4cb, 0xf362, 0xf6a4, 0xf362, 0xf6a4, 0xf2e9, -0xf614, 0xf2e9, 0xf614, 0xf223, 0xf533, 0xf223, 0xf533, 0xf223, 0xf533, 0xf138, 0xf42a, -0xf138, 0xf42a, 0xf21d, 0xf4ef, 0xf21d, 0xf4ef, 0xf41b, 0xf6cb, 0xf41b, 0xf6cb, 0xf53b, -0xf7c8, 0xf53b, 0xf7c8, 0xf3da, 0xf643, 0xf3da, 0xf643, 0xf238, 0xf47e, 0xf238, 0xf47e, -0xf238, 0xf47e, 0xf32b, 0xf54d, 0xf32b, 0xf54d, 0xf417, 0xf616, 0xf417, 0xf616, 0xf5d9, -0xf7b6, 0xf5d9, 0xf7b6, 0xf5b9, 0xf774, 0xf5b9, 0xf774, 0xf3f5, 0xf58e, 0xf3f5, 0xf58e, -0xf3f5, 0xf58e, 0xf487, 0xf5ff, 0xf487, 0xf5ff, 0xf610, 0xf766, 0xf610, 0xf766, 0xf803, -0xf936, 0xf803, 0xf936, 0xf7e6, 0xf8f4, 0xf7e6, 0xf8f4, 0xf61d, 0xf704, 0xf61d, 0xf704, -0xf612, 0xf6ce, 0xf612, 0xf6ce, 0xf612, 0xf6ce, 0xf7a7, 0xf835, 0xf7a7, 0xf835, 0xf860, -0xf8bc, 0xf860, 0xf8bc, 0xf865, 0xf889, 0xf865, 0xf889, 0xf98e, 0xf976, 0xf98e, 0xf976, -0xfab4, 0xfa5c, 0xfab4, 0xfa5c, 0xfcad, 0xfc0f, 0xfcad, 0xfc0f, 0xfcad, 0xfc0f, 0xfdf7, -0xfd0e, 0xfdf7, 0xfd0e, 0xfda4, 0xfc6e, 0xfda4, 0xfc6e, 0xfebf, 0xfd37, 0xfebf, 0xfd37, -0xe5, 0xff09, 0xe5, 0xff09, 0x462, 0x231, 0x462, 0x231, 0x462, 0x231, 0x68b, -0x404, 0x68b, 0x404, 0x682, 0x3a8, 0x682, 0x3a8, 0x871, 0x545, 0x871, 0x545, -0xbb4, 0x839, 0xbb4, 0x839, 0xf76, 0xbb3, 0xf76, 0xbb3, 0x11cd, 0xdc7, 0x11cd, -0xdc7, 0x11cd, 0xdc7, 0x12ef, 0xead, 0x12ef, 0xead, 0x1466, 0xff1, 0x1466, 0xff1, -0x157a, 0x10da, 0x157a, 0x10da, 0x177f, 0x12bd, 0x177f, 0x12bd, 0x1870, 0x1397, 0x1870, -0x1397, 0x1870, 0x1397, 0x18bf, 0x13d6, 0x18bf, 0x13d6, 0x193b, 0x144d, 0x193b, 0x144d, -0x19b1, 0x14c6, 0x19b1, 0x14c6, 0x1bec, 0x170b, 0x1bec, 0x170b, 0x1cdf, 0x1810, 0x1cdf, -0x1810, 0x1ce0, 0x1828, 0x1ce0, 0x1828, 0x1ce0, 0x1828, 0x1ce2, 0x1847, 0x1ce2, 0x1847, -0x1ba2, 0x1726, 0x1ba2, 0x1726, 0x1b02, 0x16a8, 0x1b02, 0x16a8, 0x19ef, 0x15b9, 0x19ef, -0x15b9, 0x188c, 0x1479, 0x188c, 0x1479, 0x18d5, 0x14e4, 0x18d5, 0x14e4, 0x18d5, 0x14e4, -0x18e2, 0x1511, 0x18e2, 0x1511, 0x1874, 0x14c2, 0x1874, 0x14c2, 0x17ee, 0x1457, 0x17ee, -0x1457, 0x170c, 0x138f, 0x170c, 0x138f, 0x16c0, 0x1358, 0x16c0, 0x1358, 0x16c0, 0x1358, -0x162a, 0x12d7, 0x162a, 0x12d7, 0x1543, 0x1200, 0x1543, 0x1200, 0x143d, 0x110a, 0x143d, -0x110a, 0x131c, 0xff9, 0x131c, 0xff9, 0x11c0, 0xeac, 0x11c0, 0xeac, 0x110a, 0xe06, -0x110a, 0xe06, 0x110a, 0xe06, 0x12e3, 0xff0, 0x12e3, 0xff0, 0x13ed, 0x110e, 0x13ed, -0x110e, 0x12ff, 0x1037, 0x12ff, 0x1037, 0x12d5, 0x1029, 0x12d5, 0x1029, 0x1332, 0x10a6, -0x1332, 0x10a6, 0x13dd, 0x1176, 0x13dd, 0x1176, 0x13dd, 0x1176, 0x13c5, 0x1188, 0x13c5, -0x1188, 0x1289, 0x107a, 0x1289, 0x107a, 0x12e2, 0x1107, 0x12e2, 0x1107, 0x1374, 0x11d0, -0x1374, 0x11d0, 0x136e, 0x1206, 0x136e, 0x1206, 0x136e, 0x1206, 0x1406, 0x12dc, 0x1406, -0x12dc, 0x1217, 0x112e, 0x1217, 0x112e, 0x104a, 0xfa2, 0x104a, 0xfa2, 0x102a, 0xfc4, -0x102a, 0xfc4, 0xe73, 0xe4d, 0xe73, 0xe4d, 0xbe8, 0xc02, 0xbe8, 0xc02, 0xbe8, -0xc02, 0x8d0, 0x928, 0x8d0, 0x928, 0x720, 0x7b1, 0x720, 0x7b1, 0x734, 0x7fc, -0x734, 0x7fc, 0x6e3, 0x7dd, 0x6e3, 0x7dd, 0x50e, 0x636, 0x50e, 0x636, 0x2ee, -0x43f, 0x2ee, 0x43f, 0x2ee, 0x43f, 0x292, 0x40a, 0x292, 0x40a, 0x2b0, 0x44a, -0x2b0, 0x44a, 0x355, 0x50d, 0x355, 0x50d, 0x1a5, 0x379, 0x1a5, 0x379, 0xfdaa, -0xff98, 0xfdaa, 0xff98, 0xfdaa, 0xff98, 0xfc93, 0xfe9b, 0xfc93, 0xfe9b, 0xfbd6, 0xfdf6, -0xfbd6, 0xfdf6, 0xfafd, 0xfd34, 0xfafd, 0xfd34, 0xfa37, 0xfc87, 0xfa37, 0xfc87, 0xf7ff, -0xfa68, 0xf7ff, 0xfa68, 0xf7f0, 0xfa74, 0xf7f0, 0xfa74, 0xf7f0, 0xfa74, 0xf8e8, 0xfb89, -0xf8e8, 0xfb89, 0xf831, 0xfaf0, 0xf831, 0xfaf0, 0xf5eb, 0xf8c8, 0xf5eb, 0xf8c8, 0xf4c6, -0xf7c3, 0xf4c6, 0xf7c3, 0xf5c3, 0xf8e0, 0xf5c3, 0xf8e0, 0xf62f, 0xf96b, 0xf62f, 0xf96b, -0xf62f, 0xf96b, 0xf5e1, 0xf93b, 0xf5e1, 0xf93b, 0xf37f, 0xf6f4, 0xf37f, 0xf6f4, 0xf1d4, -0xf561, 0xf1d4, 0xf561, 0xf0e2, 0xf481, 0xf0e2, 0xf481, 0xef0c, 0xf2b8, 0xef0c, 0xf2b8, -0xef0c, 0xf2b8, 0xef38, 0xf2ea, 0xef38, 0xf2ea, 0xed83, 0xf133, 0xed83, 0xf133, 0xebad, -0xef52, 0xebad, 0xef52, 0xec7b, 0xf00d, 0xec7b, 0xf00d, 0xed76, 0xf0ea, 0xed76, 0xf0ea, -0xee76, 0xf1c4, 0xee76, 0xf1c4, 0xee76, 0xf1c4, 0xeedb, 0xf1f8, 0xeedb, 0xf1f8, 0xef11, -0xf1f4, 0xef11, 0xf1f4, 0xef17, 0xf1b7, 0xef17, 0xf1b7, 0xf0c3, 0xf319, 0xf0c3, 0xf319, -0xf291, 0xf495, 0xf291, 0xf495, 0xf2c0, 0xf46e, 0xf2c0, 0xf46e, 0xf2c0, 0xf46e, 0xf481, -0xf5d5, 0xf481, 0xf5d5, 0xf62b, 0xf721, 0xf62b, 0xf721, 0xf7cd, 0xf865, 0xf7cd, 0xf865, -0xf9cb, 0xfa05, 0xf9cb, 0xfa05, 0xfa43, 0xfa21, 0xfa43, 0xfa21, 0xfa43, 0xfa21, 0xfbab, -0xfb2f, 0xfbab, 0xfb2f, 0xfd62, 0xfc90, 0xfd62, 0xfc90, 0xfdfb, 0xfcd9, 0xfdfb, 0xfcd9, -0xfea9, 0xfd3e, 0xfea9, 0xfd3e, 0xff92, 0xfde3, 0xff92, 0xfde3, 0xe4, 0xfef8, 0xe4, -0xfef8, 0xe4, 0xfef8, 0x26d, 0x4b, 0x26d, 0x4b, 0x48e, 0x23e, 0x48e, 0x23e, -0x723, 0x4ac, 0x723, 0x4ac, 0x90e, 0x675, 0x90e, 0x675, 0x957, 0x6a2, 0x957, -0x6a2, 0x98e, 0x6c3, 0x98e, 0x6c3, 0x98e, 0x6c3, 0xa92, 0x7b3, 0xa92, 0x7b3, -0xa94, 0x7a5, 0xa94, 0x7a5, 0xa6a, 0x76e, 0xa6a, 0x76e, 0xaf6, 0x7ed, 0xaf6, -0x7ed, 0xc47, 0x932, 0xc47, 0x932, 0xc47, 0x932, 0xd5b, 0xa3a, 0xd5b, 0xa3a, -0xe7d, 0xb50, 0xe7d, 0xb50, 0x1034, 0xcfa, 0x1034, 0xcfa, 0x113e, 0xdf6, 0x113e, -0xdf6, 0x122a, 0xed3, 0x122a, 0xed3, 0x12bd, 0xf56, 0x12bd, 0xf56, 0x12bd, 0xf56, -0x12ec, 0xf75, 0x12ec, 0xf75, 0x12a0, 0xf19, 0x12a0, 0xf19, 0x13d0, 0x103a, 0x13d0, -0x103a, 0x1616, 0x1272, 0x1616, 0x1272, 0x167c, 0x12cb, 0x167c, 0x12cb, 0x16fa, 0x1340, -0x16fa, 0x1340, 0x16fa, 0x1340, 0x1722, 0x1360, 0x1722, 0x1360, 0x17bf, 0x13f9, 0x17bf, -0x13f9, 0x1928, 0x1563, 0x1928, 0x1563, 0x18c3, 0x1502, 0x18c3, 0x1502, 0x17ff, 0x1446, -0x17ff, 0x1446, 0x17ff, 0x1446, 0x16dc, 0x1330, 0x16dc, 0x1330, 0x1548, 0x11ad, 0x1548, -0x11ad, 0x156f, 0x11e8, 0x156f, 0x11e8, 0x16c8, 0x1359, 0x16c8, 0x1359, 0x16d1, 0x137c, -0x16d1, 0x137c, 0x1685, 0x134a, 0x1685, 0x134a, 0x1685, 0x134a, 0x163b, 0x131c, 0x163b, -0x131c, 0x14ec, 0x11e9, 0x14ec, 0x11e9, 0x154b, 0x1262, 0x154b, 0x1262, 0x151f, 0x124e, -0x151f, 0x124e, 0x12b3, 0xff8, 0x12b3, 0xff8, 0x12ac, 0x1004, 0x12ac, 0x1004, 0x12ac, -0x1004, 0x1406, 0x116c, 0x1406, 0x116c, 0x141b, 0x118b, 0x141b, 0x118b, 0x155b, 0x12d0, -0x155b, 0x12d0, 0x16fd, 0x1474, 0x16fd, 0x1474, 0x1712, 0x1486, 0x1712, 0x1486, 0x1712, -0x1486, 0x180b, 0x1579, 0x180b, 0x1579, 0x189d, 0x1601, 0x189d, 0x1601, 0x183e, 0x1597, -0x183e, 0x1597, 0x1860, 0x15ad, 0x1860, 0x15ad, 0x177d, 0x14be, 0x177d, 0x14be, 0x1892, -0x15c8, 0x1892, 0x15c8, 0x1892, 0x15c8, 0x1a5b, 0x1788, 0x1a5b, 0x1788, 0x1969, 0x1691, -0x1969, 0x1691, 0x18c1, 0x15e8, 0x18c1, 0x15e8, 0x1867, 0x1593, 0x1867, 0x1593, 0x1876, -0x15ad, 0x1876, 0x15ad, 0x1876, 0x15ad, 0x1a34, 0x177d, 0x1a34, 0x177d, 0x1b0a, 0x186c, -0x1b0a, 0x186c, 0x1919, 0x169b, 0x1919, 0x169b, 0x183c, 0x15e5, 0x183c, 0x15e5, 0x1855, -0x162c, 0x1855, 0x162c, 0x168e, 0x149a, 0x168e, 0x149a, 0x168e, 0x149a, 0x15b4, 0x13f9, -0x15b4, 0x13f9, 0x13d6, 0x1259, 0x13d6, 0x1259, 0x114b, 0x1010, 0x114b, 0x1010, 0x1026, -0xf2f, 0x1026, 0xf2f, 0xd80, 0xcce, 0xd80, 0xcce, 0xa65, 0x9f7, 0xa65, 0x9f7, -0xa65, 0x9f7, 0x897, 0x86c, 0x897, 0x86c, 0x7ac, 0x7c0, 0x7ac, 0x7c0, 0x689, -0x6da, 0x689, 0x6da, 0x58b, 0x613, 0x58b, 0x613, 0x3a4, 0x45e, 0x3a4, 0x45e, -0x3a4, 0x45e, 0x18e, 0x274, 0x18e, 0x274, 0x24, 0x12f, 0x24, 0x12f, 0xfe19, -0xff43, 0xfe19, 0xff43, 0xfd9b, 0xfedd, 0xfd9b, 0xfedd, 0xfc1e, 0xfd74, 0xfc1e, 0xfd74, -0xfa6a, 0xfbcd, 0xfa6a, 0xfbcd, 0xfa6a, 0xfbcd, 0xfb37, 0xfca3, 0xfb37, 0xfca3, 0xfb63, -0xfcd4, 0xfb63, 0xfcd4, 0xfba6, 0xfd19, 0xfba6, 0xfd19, 0xfcde, 0xfe51, 0xfcde, 0xfe51, -0xfd0c, 0xfe7e, 0xfd0c, 0xfe7e, 0xfc0b, 0xfd7d, 0xfc0b, 0xfd7d, 0xfc0b, 0xfd7d, 0xfba8, -0xfd19, 0xfba8, 0xfd19, 0xfa3a, 0xfbad, 0xfa3a, 0xfbad, 0xf878, 0xf9ef, 0xf878, 0xf9ef, -0xf81b, 0xf998, 0xf81b, 0xf998, 0xf70a, 0xf890, 0xf70a, 0xf890, 0xf70a, 0xf890, 0xf6cc, -0xf85f, 0xf6cc, 0xf85f, 0xf5e1, 0xf784, 0xf5e1, 0xf784, 0xf3e8, 0xf59e, 0xf3e8, 0xf59e, -0xf378, 0xf543, 0xf378, 0xf543, 0xf248, 0xf42b, 0xf248, 0xf42b, 0xf03c, 0xf237, 0xf03c, -0xf237, 0xf03c, 0xf237, 0xee92, 0xf0a7, 0xee92, 0xf0a7, 0xecef, 0xef1e, 0xecef, 0xef1e, -0xeac7, 0xed10, 0xeac7, 0xed10, 0xea3c, 0xec9d, 0xea3c, 0xec9d, 0xea6b, 0xece4, 0xea6b, -0xece4, 0xe9b5, 0xec43, 0xe9b5, 0xec43, 0xe9b5, 0xec43, 0xeacb, 0xed6c, 0xeacb, 0xed6c, -0xe9fa, 0xecab, 0xe9fa, 0xecab, 0xe8d6, 0xeb96, 0xe8d6, 0xeb96, 0xe8a3, 0xeb70, 0xe8a3, -0xeb70, 0xe69f, 0xe976, 0xe69f, 0xe976, 0xe69f, 0xe976, 0xe5dd, 0xe8bd, 0xe5dd, 0xe8bd, -0xe419, 0xe701, 0xe419, 0xe701, 0xe329, 0xe618, 0xe329, 0xe618, 0xe294, 0xe58b, 0xe294, -0xe58b, 0xe07f, 0xe380, 0xe07f, 0xe380, 0xe106, 0xe411, 0xe106, 0xe411, 0xe106, 0xe411, -0xe1ac, 0xe4c4, 0xe1ac, 0xe4c4, 0xe1e2, 0xe509, 0xe1e2, 0xe509, 0xe11a, 0xe454, 0xe11a, -0xe454, 0xdfce, 0xe31e, 0xdfce, 0xe31e, 0xe011, 0xe37a, 0xe011, 0xe37a, 0xdfc6, 0xe34b, -0xdfc6, 0xe34b, 0xdfc6, 0xe34b, 0xdfc3, 0xe367, 0xdfc3, 0xe367, 0xe05a, 0xe420, 0xe05a, -0xe420, 0xe03d, 0xe427, 0xe03d, 0xe427, 0xe07f, 0xe48d, 0xe07f, 0xe48d, 0xe127, 0xe55a, -0xe127, 0xe55a, 0xe127, 0xe55a, 0xe005, 0xe45b, 0xe005, 0xe45b, 0xde61, 0xe2d7, 0xde61, -0xe2d7, 0xde68, 0xe2fc, 0xde68, 0xe2fc, 0xddac, 0xe25a, 0xddac, 0xe25a, 0xdc36, 0xe0f7, -0xdc36, 0xe0f7, 0xdc0c, 0xe0db, 0xdc0c, 0xe0db, 0xdc0c, 0xe0db, 0xdbf5, 0xe0ca, 0xdbf5, -0xe0ca, 0xdcbc, 0xe18f, 0xdcbc, 0xe18f, 0xdf00, 0xe3c9, 0xdf00, 0xe3c9, 0xdf1e, 0xe3d6, -0xdf1e, 0xe3d6, 0xdea7, 0xe343, 0xdea7, 0xe343, 0xe0a8, 0xe522, 0xe0a8, 0xe522, 0xe0a8, -0xe522, 0xe1d4, 0xe624, 0xe1d4, 0xe624, 0xe2bf, 0xe6de, 0xe2bf, 0xe6de, 0xe3ad, 0xe795, -0xe3ad, 0xe795, 0xe326, 0xe6d2, 0xe326, 0xe6d2, 0xe4b7, 0xe824, 0xe4b7, 0xe824, 0xe4b7, -0xe824, 0xe773, 0xea9e, 0xe773, 0xea9e, 0xe9ba, 0xeca1, 0xe9ba, 0xeca1, 0xeb63, 0xee08, -0xeb63, 0xee08, 0xec1e, 0xee82, 0xec1e, 0xee82, 0xed9a, 0xefc0, 0xed9a, 0xefc0, 0xef1d, -0xf109, 0xef1d, 0xf109, 0xef1d, 0xf109, 0xef52, 0xf108, 0xef52, 0xf108, 0xee80, 0xf005, -0xee80, 0xf005, 0xefc4, 0xf11f, 0xefc4, 0xf11f, 0xf1c7, 0xf2fd, 0xf1c7, 0xf2fd, 0xf264, -0xf37c, 0xf264, 0xf37c, 0xf399, 0xf499, 0xf399, 0xf499, 0xf399, 0xf499, 0xf311, 0xf3ff, -0xf311, 0xf3ff, 0xf2bb, 0xf39d, 0xf2bb, 0xf39d, 0xf542, 0xf61d, 0xf542, 0xf61d, 0xf6e0, -0xf7b7, 0xf6e0, 0xf7b7, 0xf63b, 0xf713, 0xf63b, 0xf713, 0xf63b, 0xf713, 0xf5fe, 0xf6d7, -0xf5fe, 0xf6d7, 0xf6b4, 0xf792, 0xf6b4, 0xf792, 0xf6b9, 0xf79b, 0xf6b9, 0xf79b, 0xf7e8, -0xf8d0, 0xf7e8, 0xf8d0, 0xf7a0, 0xf88d, 0xf7a0, 0xf88d, 0xf5d6, 0xf6c6, 0xf5d6, 0xf6c6, -0xf5d6, 0xf6c6, 0xf6fc, 0xf7ee, 0xf6fc, 0xf7ee, 0xf68c, 0xf77f, 0xf68c, 0xf77f, 0xf62e, -0xf71e, 0xf62e, 0xf71e, 0xf707, 0xf7f4, 0xf707, 0xf7f4, 0xf634, 0xf71c, 0xf634, 0xf71c, -0xf793, 0xf875, 0xf793, 0xf875, 0xf793, 0xf875, 0xf8c6, 0xf9a0, 0xf8c6, 0xf9a0, 0xf93e, -0xfa0f, 0xf93e, 0xfa0f, 0xfa31, 0xfaf9, 0xfa31, 0xfaf9, 0xf971, 0xfa30, 0xf971, 0xfa30, -0xf8f7, 0xf9ad, 0xf8f7, 0xf9ad, 0xf8f7, 0xf9ad, 0xf96f, 0xfa1e, 0xf96f, 0xfa1e, 0xfa0c, -0xfab3, 0xfa0c, 0xfab3, 0xf94b, 0xf9ec, 0xf94b, 0xf9ec, 0xf896, 0xf932, 0xf896, 0xf932, -0xf9b5, 0xfa4c, 0xf9b5, 0xfa4c, 0xfaae, 0xfb41, 0xfaae, 0xfb41, 0xfaae, 0xfb41, 0xfc95, -0xfd25, 0xfc95, 0xfd25, 0xfdd2, 0xfe5e, 0xfdd2, 0xfe5e, 0xfc69, 0xfcf0, 0xfc69, 0xfcf0, -0xfae2, 0xfb63, 0xfae2, 0xfb63, 0xf9ea, 0xfa63, 0xf9ea, 0xfa63, 0xfa73, 0xfae1, 0xfa73, -0xfae1, 0xfa73, 0xfae1, 0xfbf2, 0xfc51, 0xfbf2, 0xfc51, 0xfc2e, 0xfc7b, 0xfc2e, 0xfc7b, -0xfc7d, 0xfcb3, 0xfc7d, 0xfcb3, 0xfe34, 0xfe4d, 0xfe34, 0xfe4d, 0x14, 0xc, 0x14, -0xc, 0x14, 0xc, 0x175, 0x146, 0x175, 0x146, 0x292, 0x237, 0x292, 0x237, -0x36b, 0x2df, 0x36b, 0x2df, 0x3fc, 0x33b, 0x3fc, 0x33b, 0x4ee, 0x3f5, 0x4ee, -0x3f5, 0x60c, 0x4d8, 0x60c, 0x4d8, 0x60c, 0x4d8, 0x664, 0x4f2, 0x664, 0x4f2, -0x7eb, 0x63a, 0x7eb, 0x63a, 0xa2f, 0x840, 0xa2f, 0x840, 0xccc, 0xaa0, 0xccc, -0xaa0, 0x106a, 0xe03, 0x106a, 0xe03, 0x106a, 0xe03, 0x11c4, 0xf27, 0x11c4, 0xf27, -0x1281, 0xfb2, 0x1281, 0xfb2, 0x1436, 0x113b, 0x1436, 0x113b, 0x1473, 0x1153, 0x1473, -0x1153, 0x14c6, 0x1187, 0x14c6, 0x1187, 0x15cb, 0x1275, 0x15cb, 0x1275, 0x15cb, 0x1275, -0x15aa, 0x1245, 0x15aa, 0x1245, 0x1648, 0x12dc, 0x1648, 0x12dc, 0x1797, 0x142a, 0x1797, -0x142a, 0x17a9, 0x1444, 0x17a9, 0x1444, 0x17e2, 0x148a, 0x17e2, 0x148a, 0x172f, 0x13eb, -0x172f, 0x13eb, 0x172f, 0x13eb, 0x15c1, 0x1295, 0x15c1, 0x1295, 0x154a, 0x123a, 0x154a, -0x123a, 0x149c, 0x11ac, 0x149c, 0x11ac, 0x1395, 0x10c5, 0x1395, 0x10c5, 0x130b, 0x105d, -0x130b, 0x105d, 0x130b, 0x105d, 0x129d, 0x1010, 0x129d, 0x1010, 0x12ba, 0x104d, 0x12ba, -0x104d, 0x1375, 0x1127, 0x1375, 0x1127, 0x124a, 0x1017, 0x124a, 0x1017, 0x10cd, 0xeb3, -0x10cd, 0xeb3, 0x113c, 0xf38, 0x113c, 0xf38, 0x113c, 0xf38, 0x1099, 0xea9, 0x1099, -0xea9, 0xf1d, 0xd3b, 0xf1d, 0xd3b, 0xe69, 0xc94, 0xe69, 0xc94, 0xd04, 0xb39, -0xd04, 0xb39, 0xd4c, 0xb88, 0xd4c, 0xb88, 0xf28, 0xd6b, 0xf28, 0xd6b, 0xf28, -0xd6b, 0xe88, 0xcd1, 0xe88, 0xcd1, 0xde5, 0xc33, 0xde5, 0xc33, 0xe71, 0xcc6, -0xe71, 0xcc6, 0xe56, 0xcb3, 0xe56, 0xcb3, 0xf00, 0xd66, 0xf00, 0xd66, 0xf00, -0xd66, 0xe5e, 0xcd0, 0xe5e, 0xcd0, 0xc50, 0xad0, 0xc50, 0xad0, 0xcd4, 0xb66, -0xcd4, 0xb66, 0xd8f, 0xc35, 0xd8f, 0xc35, 0xe72, 0xd30, 0xe72, 0xd30, 0xee2, -0xdbb, 0xee2, 0xdbb, 0xee2, 0xdbb, 0xd03, 0xbf9, 0xd03, 0xbf9, 0xc30, 0xb46, -0xc30, 0xb46, 0xb72, 0xaa9, 0xb72, 0xaa9, 0xa68, 0x9c1, 0xa68, 0x9c1, 0x901, -0x87d, 0x901, 0x87d, 0x7d9, 0x778, 0x7d9, 0x778, 0x7d9, 0x778, 0x6c1, 0x682, -0x6c1, 0x682, 0x520, 0x502, 0x520, 0x502, 0x505, 0x506, 0x505, 0x506, 0x3a6, -0x3c5, 0x3a6, 0x3c5, 0x2ef, 0x32a, 0x2ef, 0x32a, 0x2ef, 0x32a, 0x35c, 0x3af, -0x35c, 0x3af, 0x254, 0x2bf, 0x254, 0x2bf, 0x217, 0x296, 0x217, 0x296, 0xcb, -0x15d, 0xcb, 0x15d, 0xfe75, 0xff18, 0xfe75, 0xff18, 0xfe23, 0xfed6, 0xfe23, 0xfed6, -0xfe23, 0xfed6, 0xfe83, 0xff45, 0xfe83, 0xff45, 0xfd96, 0xfe67, 0xfd96, 0xfe67, 0xfc40, -0xfd20, 0xfc40, 0xfd20, 0xfafb, 0xfbec, 0xfafb, 0xfbec, 0xfa00, 0xfb02, 0xfa00, 0xfb02, -0xf9f9, 0xfb0e, 0xf9f9, 0xfb0e, 0xf9f9, 0xfb0e, 0xf99f, 0xfac8, 0xf99f, 0xfac8, 0xf916, -0xfa56, 0xf916, 0xfa56, 0xf8b9, 0xfa12, 0xf8b9, 0xfa12, 0xf863, 0xf9d5, 0xf863, 0xf9d5, -0xf931, 0xfabe, 0xf931, 0xfabe, 0xf931, 0xfabe, 0xf936, 0xfae0, 0xf936, 0xfae0, 0xf743, -0xf908, 0xf743, 0xf908, 0xf51c, 0xf6fc, 0xf51c, 0xf6fc, 0xf3da, 0xf5d3, 0xf3da, 0xf5d3, -0xf2c5, 0xf4d5, 0xf2c5, 0xf4d5, 0xf1ad, 0xf3d0, 0xf1ad, 0xf3d0, 0xf1ad, 0xf3d0, 0xf0ff, -0xf330, 0xf0ff, 0xf330, 0xef6a, 0xf1a4, 0xef6a, 0xf1a4, 0xf01d, 0xf259, 0xf01d, 0xf259, -0xf26b, 0xf4a2, 0xf26b, 0xf4a2, 0xf330, 0xf55a, 0xf330, 0xf55a, 0xf400, 0xf615, 0xf400, -0xf615, 0xf400, 0xf615, 0xf35b, 0xf553, 0xf35b, 0xf553, 0xf3e5, 0xf5b6, 0xf3e5, 0xf5b6, -0xf54a, 0xf6ed, 0xf54a, 0xf6ed, 0xf541, 0xf6ad, 0xf541, 0xf6ad, 0xf60d, 0xf73c, 0xf60d, -0xf73c, 0xf60d, 0xf73c, 0xf607, 0xf6f1, 0xf607, 0xf6f1, 0xf775, 0xf814, 0xf775, 0xf814, -0xfa81, 0xfad2, 0xfa81, 0xfad2, 0xfbfd, 0xfbfb, 0xfbfd, 0xfbfb, 0xfd44, 0xfced, 0xfd44, -0xfced, 0xfe2f, 0xfd83, 0xfe2f, 0xfd83, 0xfe2f, 0xfd83, 0xff8f, 0xfe8e, 0xff8f, 0xfe8e, -0x16e, 0x1a, 0x16e, 0x1a, 0x18a, 0xffe6, 0x18a, 0xffe6, 0x129, 0xff38, 0x129, -0xff38, 0x281, 0x49, 0x281, 0x49, 0x4a6, 0x22e, 0x4a6, 0x22e, 0x4a6, 0x22e, -0x719, 0x466, 0x719, 0x466, 0x969, 0x681, 0x969, 0x681, 0x9e7, 0x6d2, 0x9e7, -0x6d2, 0xaaa, 0x770, 0xaaa, 0x770, 0xbc1, 0x867, 0xbc1, 0x867, 0xbc1, 0x867, -0xbb5, 0x843, 0xbb5, 0x843, 0xcdb, 0x956, 0xcdb, 0x956, 0xdb3, 0xa22, 0xdb3, -0xa22, 0xd28, 0x98f, 0xd28, 0x98f, 0xdfd, 0xa61, 0xdfd, 0xa61, 0xf08, 0xb6c, -0xf08, 0xb6c, 0xf08, 0xb6c, 0xfd3, 0xc39, 0xfd3, 0xc39, 0x11b1, 0xe1d, 0x11b1, -0xe1d, 0x12a9, 0xf1c, 0x12a9, 0xf1c, 0x12fc, 0xf78, 0x12fc, 0xf78, 0x1447, 0x10cc, -0x1447, 0x10cc, 0x152d, 0x11bc, 0x152d, 0x11bc, 0x152d, 0x11bc, 0x154a, 0x11e4, 0x154a, -0x11e4, 0x160f, 0x12b4, 0x160f, 0x12b4, 0x16f2, 0x13a3, 0x16f2, 0x13a3, 0x1876, 0x1533, -0x1876, 0x1533, 0x1a7e, 0x1749, 0x1a7e, 0x1749, 0x1a7e, 0x1749, 0x19f0, 0x16c9, 0x19f0, -0x16c9, 0x1900, 0x15e8, 0x1900, 0x15e8, 0x1957, 0x1651, 0x1957, 0x1651, 0x1983, 0x1691, -0x1983, 0x1691, 0x19d9, 0x16fc, 0x19d9, 0x16fc, 0x18f3, 0x162e, 0x18f3, 0x162e, 0x18f3, -0x162e, 0x1752, 0x14a7, 0x1752, 0x14a7, 0x180e, 0x157f, 0x180e, 0x157f, 0x1952, 0x16e1, -0x1952, 0x16e1, 0x1847, 0x15f6, 0x1847, 0x15f6, 0x16e9, 0x14b9, 0x16e9, 0x14b9, 0x1696, -0x1488, 0x1696, 0x1488, 0x1696, 0x1488, 0x15f1, 0x1405, 0x15f1, 0x1405, 0x153b, 0x1371, -0x153b, 0x1371, 0x151f, 0x1374, 0x151f, 0x1374, 0x12a7, 0x111b, 0x12a7, 0x111b, 0x1175, -0x1004, 0x1175, 0x1004, 0x1175, 0x1004, 0x1357, 0x11fe, 0x1357, 0x11fe, 0x137b, 0x1236, -0x137b, 0x1236, 0x1454, 0x1320, 0x1454, 0x1320, 0x1417, 0x12ee, 0x1417, 0x12ee, 0x1380, -0x125d, 0x1380, 0x125d, 0x15a9, 0x1487, 0x15a9, 0x1487, 0x15a9, 0x1487, 0x15c4, 0x149e, -0x15c4, 0x149e, 0x150f, 0x13e0, 0x150f, 0x13e0, 0x1521, 0x13e6, 0x1521, 0x13e6, 0x142e, -0x12e3, 0x142e, 0x12e3, 0x14e9, 0x138b, 0x14e9, 0x138b, 0x14e9, 0x138b, 0x1616, 0x14a3, -0x1616, 0x14a3, 0x1490, 0x1306, 0x1490, 0x1306, 0x13c9, 0x1229, 0x13c9, 0x1229, 0x1478, -0x12c2, 0x1478, 0x12c2, 0x152a, 0x1361, 0x152a, 0x1361, 0x1584, 0x13aa, 0x1584, 0x13aa, -0x1584, 0x13aa, 0x153d, 0x1355, 0x153d, 0x1355, 0x14dc, 0x12ec, 0x14dc, 0x12ec, 0x1518, -0x1324, 0x1518, 0x1324, 0x15f3, 0x1401, 0x15f3, 0x1401, 0x14ad, 0x12c3, 0x14ad, 0x12c3, -0x121f, 0x1042, 0x121f, 0x1042, 0x121f, 0x1042, 0xf95, 0xdcc, 0xf95, 0xdcc, 0xd13, -0xb62, 0xd13, 0xb62, 0xbf8, 0xa66, 0xbf8, 0xa66, 0xaca, 0x95a, 0xaca, 0x95a, -0x8e9, 0x7a0, 0x8e9, 0x7a0, 0x8e9, 0x7a0, 0x732, 0x613, 0x732, 0x613, 0x58f, -0x49c, 0x58f, 0x49c, 0x4ef, 0x42a, 0x4ef, 0x42a, 0x42f, 0x397, 0x42f, 0x397, -0x232, 0x1c7, 0x232, 0x1c7, 0x18, 0xffd9, 0x18, 0xffd9, 0x18, 0xffd9, 0xfd97, -0xfd81, 0xfd97, 0xfd81, 0xfc6b, 0xfc7b, 0xfc6b, 0xfc7b, 0xfbde, 0xfc11, 0xfbde, 0xfc11, -0xfaaa, 0xfafd, 0xfaaa, 0xfafd, 0xf98c, 0xf9fa, 0xf98c, 0xf9fa, 0xf948, 0xf9cd, 0xf948, -0xf9cd, 0xf948, 0xf9cd, 0xfb5b, 0xfbf3, 0xfb5b, 0xfbf3, 0xfcf9, 0xfda0, 0xfcf9, 0xfda0, -0xfd09, 0xfdbc, 0xfd09, 0xfdbc, 0xfc0d, 0xfcc8, 0xfc0d, 0xfcc8, 0xfb2a, 0xfbec, 0xfb2a, -0xfbec, 0xfb2a, 0xfbec, 0xfab6, 0xfb7c, 0xfab6, 0xfb7c, 0xf9b0, 0xfa79, 0xf9b0, 0xfa79, -0xf874, 0xf940, 0xf874, 0xf940, 0xf65a, 0xf729, 0xf65a, 0xf729, 0xf5e3, 0xf6b4, 0xf5e3, -0xf6b4, 0xf6a0, 0xf776, 0xf6a0, 0xf776, 0xf6a0, 0xf776, 0xf5e1, 0xf6bc, 0xf5e1, 0xf6bc, -0xf45a, 0xf53d, 0xf45a, 0xf53d, 0xf2e6, 0xf3d4, 0xf2e6, 0xf3d4, 0xf177, 0xf270, 0xf177, -0xf270, 0xefe6, 0xf0ee, 0xefe6, 0xf0ee, 0xef10, 0xf029, 0xef10, 0xf029, 0xef10, 0xf029, -0xed41, 0xee6d, 0xed41, 0xee6d, 0xeae3, 0xec24, 0xeae3, 0xec24, 0xead8, 0xec2f, 0xead8, -0xec2f, 0xeb5e, 0xeccb, 0xeb5e, 0xeccb, 0xeb8e, 0xed13, 0xeb8e, 0xed13, 0xeb8e, 0xed13, -0xeba8, 0xed45, 0xeba8, 0xed45, 0xeb08, 0xecbe, 0xeb08, 0xecbe, 0xeaef, 0xecbd, 0xeaef, -0xecbd, 0xe9f2, 0xebd6, 0xe9f2, 0xebd6, 0xe7e3, 0xe9de, 0xe7e3, 0xe9de, 0xe6a2, 0xe8b4, -0xe6a2, 0xe8b4, 0xe6a2, 0xe8b4, 0xe4cd, 0xe6f4, 0xe4cd, 0xe6f4, 0xe3ba, 0xe5f6, 0xe3ba, -0xe5f6, 0xe3f6, 0xe646, 0xe3f6, 0xe646, 0xe340, 0xe5a5, 0xe340, 0xe5a5, 0xe2fc, 0xe574, -0xe2fc, 0xe574, 0xe3ad, 0xe639, 0xe3ad, 0xe639, 0xe3ad, 0xe639, 0xe3a2, 0xe643, 0xe3a2, -0xe643, 0xe337, 0xe5ef, 0xe337, 0xe5ef, 0xe314, 0xe5e3, 0xe314, 0xe5e3, 0xe2de, 0xe5c7, -0xe2de, 0xe5c7, 0xe273, 0xe578, 0xe273, 0xe578, 0xe273, 0xe578, 0xe260, 0xe581, 0xe260, -0xe581, 0xe328, 0xe668, 0xe328, 0xe668, 0xe395, 0xe6f7, 0xe395, 0xe6f7, 0xe332, 0xe6b7, -0xe332, 0xe6b7, 0xe24e, 0xe5f7, 0xe24e, 0xe5f7, 0xe10e, 0xe4dc, 0xe10e, 0xe4dc, 0xe10e, -0xe4dc, 0xe0e6, 0xe4da, 0xe0e6, 0xe4da, 0xe10e, 0xe526, 0xe10e, 0xe526, 0xe0e9, 0xe526, -0xe0e9, 0xe526, 0xe085, 0xe4e4, 0xe085, 0xe4e4, 0xdfb5, 0xe434, 0xdfb5, 0xe434, 0xe02a, -0xe4c5, 0xe02a, 0xe4c5, 0xe02a, 0xe4c5, 0xe139, 0xe5eb, 0xe139, 0xe5eb, 0xe251, 0xe717, -0xe251, 0xe717, 0xe383, 0xe856, 0xe383, 0xe856, 0xe46a, 0xe944, 0xe46a, 0xe944, 0xe54c, -0xea26, 0xe54c, 0xea26, 0xe54c, 0xea26, 0xe57d, 0xea51, 0xe57d, 0xea51, 0xe539, 0xea00, -0xe539, 0xea00, 0xe586, 0xea38, 0xe586, 0xea38, 0xe6e5, 0xeb7d, 0xe6e5, 0xeb7d, 0xe8d0, -0xed46, 0xe8d0, 0xed46, 0xea2f, 0xee7d, 0xea2f, 0xee7d, 0xea2f, 0xee7d, 0xeb51, 0xef73, -0xeb51, 0xef73, 0xeccb, 0xf0bc, 0xeccb, 0xf0bc, 0xedea, 0xf1a7, 0xedea, 0xf1a7, 0xef28, -0xf2ae, 0xef28, 0xf2ae, 0xf088, 0xf3d5, 0xf088, 0xf3d5, 0xf18a, 0xf49e, 0xf18a, 0xf49e, -0xf18a, 0xf49e, 0xf233, 0xf50d, 0xf233, 0xf50d, 0xf30a, 0xf5ad, 0xf30a, 0xf5ad, 0xf420, -0xf68d, 0xf420, 0xf68d, 0xf3b1, 0xf5eb, 0xf3b1, 0xf5eb, 0xf36a, 0xf575, 0xf36a, 0xf575, -0xf36a, 0xf575, 0xf3f2, 0xf5d1, 0xf3f2, 0xf5d1, 0xf47f, 0xf637, 0xf47f, 0xf637, 0xf501, -0xf697, 0xf501, 0xf697, 0xf4db, 0xf652, 0xf4db, 0xf652, 0xf4de, 0xf63c, 0xf4de, 0xf63c, -0xf59a, 0xf6e3, 0xf59a, 0xf6e3, 0xf59a, 0xf6e3, 0xf71a, 0xf853, 0xf71a, 0xf853, 0xf749, -0xf875, 0xf749, 0xf875, 0xf63a, 0xf75d, 0xf63a, 0xf75d, 0xf575, 0xf692, 0xf575, 0xf692, -0xf569, 0xf682, 0xf569, 0xf682, 0xf57b, 0xf691, 0xf57b, 0xf691, 0xf57b, 0xf691, 0xf568, -0xf67e, 0xf568, 0xf67e, 0xf5d0, 0xf6e6, 0xf5d0, 0xf6e6, 0xf564, 0xf67a, 0xf564, 0xf67a, -0xf546, 0xf65d, 0xf546, 0xf65d, 0xf669, 0xf780, 0xf669, 0xf780, 0xf669, 0xf780, 0xf7ff, -0xf915, 0xf7ff, 0xf915, 0xf84a, 0xf95f, 0xf84a, 0xf95f, 0xf727, 0xf83a, 0xf727, 0xf83a, -0xf68c, 0xf79d, 0xf68c, 0xf79d, 0xf5d3, 0xf6e0, 0xf5d3, 0xf6e0, 0xf4fb, 0xf604, 0xf4fb, -0xf604, 0xf4fb, 0xf604, 0xf56c, 0xf671, 0xf56c, 0xf671, 0xf5c4, 0xf6c4, 0xf5c4, 0xf6c4, -0xf528, 0xf622, 0xf528, 0xf622, 0xf66e, 0xf762, 0xf66e, 0xf762, 0xf825, 0xf913, 0xf825, -0xf913, 0xf869, 0xf951, 0xf869, 0xf951, 0xf869, 0xf951, 0xf903, 0xf9e4, 0xf903, 0xf9e4, -0xf892, 0xf96b, 0xf892, 0xf96b, 0xf75e, 0xf82f, 0xf75e, 0xf82f, 0xf807, 0xf8cf, 0xf807, -0xf8cf, 0xf817, 0xf8d5, 0xf817, 0xf8d5, 0xf817, 0xf8d5, 0xf7c2, 0xf874, 0xf7c2, 0xf874, -0xf8e9, 0xf98e, 0xf8e9, 0xf98e, 0xf9d2, 0xfa65, 0xf9d2, 0xfa65, 0xfbf5, 0xfc75, 0xfbf5, -0xfc75, 0xfde4, 0xfe4f, 0xfde4, 0xfe4f, 0xfe83, 0xfed3, 0xfe83, 0xfed3, 0xfe83, 0xfed3, -0xff7d, 0xffb1, 0xff7d, 0xffb1, 0x74, 0x85, 0x74, 0x85, 0x119, 0x105, 0x119, -0x105, 0x1e8, 0x1ab, 0x1e8, 0x1ab, 0x2d6, 0x26c, 0x2d6, 0x26c, 0x2d6, 0x26c, -0x260, 0x1c6, 0x260, 0x1c6, 0x3d5, 0x307, 0x3d5, 0x307, 0x70c, 0x607, 0x70c, -0x607, 0x964, 0x826, 0x964, 0x826, 0xc43, 0xacb, 0xc43, 0xacb, 0xdd9, 0xc28, -0xdd9, 0xc28, 0xdd9, 0xc28, 0xe43, 0xc58, 0xe43, 0xc58, 0xfca, 0xda6, 0xfca, -0xda6, 0x1194, 0xf3a, 0x1194, 0xf3a, 0x128e, 0x1000, 0x128e, 0x1000, 0x138b, 0x10ce, -0x138b, 0x10ce, 0x140f, 0x1127, 0x140f, 0x1127, 0x140f, 0x1127, 0x13ac, 0x109e, 0x13ac, -0x109e, 0x149e, 0x1170, 0x149e, 0x1170, 0x1615, 0x12cc, 0x1615, 0x12cc, 0x158d, 0x1231, -0x158d, 0x1231, 0x1535, 0x11cc, 0x1535, 0x11cc, 0x1535, 0x11cc, 0x152f, 0x11c0, 0x152f, -0x11c0, 0x1463, 0x10f4, 0x1463, 0x10f4, 0x1491, 0x1128, 0x1491, 0x1128, 0x13ed, 0x1090, -0x13ed, 0x1090, 0x1367, 0x101b, 0x1367, 0x101b, 0x1492, 0x115c, 0x1492, 0x115c, 0x1492, -0x115c, 0x145b, 0x113e, 0x145b, 0x113e, 0x13cc, 0x10cb, 0x13cc, 0x10cb, 0x141f, 0x113c, -0x141f, 0x113c, 0x136b, 0x10a8, 0x136b, 0x10a8, 0x12f3, 0x1050, 0x12f3, 0x1050, 0x1327, -0x10a5, 0x1327, 0x10a5, 0x1327, 0x10a5, 0x1240, 0xfdd, 0x1240, 0xfdd, 0x1162, 0xf1e, -0x1162, 0xf1e, 0x1188, 0xf5f, 0x1188, 0xf5f, 0x1183, 0xf74, 0x1183, 0xf74, 0x117a, -0xf84, 0x117a, 0xf84, 0x117a, 0xf84, 0x121e, 0x103d, 0x121e, 0x103d, 0x11cd, 0xfff, -0x11cd, 0xfff, 0x1140, 0xf83, 0x1140, 0xf83, 0x11e8, 0x103a, 0x11e8, 0x103a, 0x11c3, -0x1023, 0x11c3, 0x1023, 0x10fb, 0xf68, 0x10fb, 0xf68, 0x10fb, 0xf68, 0x10d8, 0xf50, -0x10d8, 0xf50, 0x1100, 0xf83, 0x1100, 0xf83, 0x10ec, 0xf7a, 0x10ec, 0xf7a, 0x1066, -0xf00, 0x1066, 0xf00, 0xf67, 0xe0d, 0xf67, 0xe0d, 0xee3, 0xd97, 0xee3, 0xd97, -0xee3, 0xd97, 0xf55, 0xe18, 0xf55, 0xe18, 0xf07, 0xdda, 0xf07, 0xdda, 0xe66, -0xd4b, 0xe66, 0xd4b, 0xd63, 0xc5c, 0xd63, 0xc5c, 0xb16, 0xa23, 0xb16, 0xa23, -0xb16, 0xa23, 0xa4f, 0x973, 0xa4f, 0x973, 0xa62, 0x99c, 0xa62, 0x99c, 0x8f4, -0x846, 0x8f4, 0x846, 0x7d0, 0x739, 0x7d0, 0x739, 0x745, 0x6c6, 0x745, 0x6c6, -0x611, 0x5a9, 0x611, 0x5a9, 0x611, 0x5a9, 0x564, 0x512, 0x564, 0x512, 0x579, -0x53b, 0x579, 0x53b, 0x43d, 0x412, 0x43d, 0x412, 0x3bf, 0x3a6, 0x3bf, 0x3a6, -0x3fc, 0x3f3, 0x3fc, 0x3f3, 0x260, 0x265, 0x260, 0x265, 0x260, 0x265, 0x14e, -0x160, 0x14e, 0x160, 0x10, 0x2d, 0x10, 0x2d, 0xfd94, 0xfdbb, 0xfd94, 0xfdbb, -0xfc87, 0xfcb8, 0xfc87, 0xfcb8, 0xfc2b, 0xfc65, 0xfc2b, 0xfc65, 0xfc2b, 0xfc65, 0xfbca, -0xfc0d, 0xfbca, 0xfc0d, 0xfbf6, 0xfc42, 0xfbf6, 0xfc42, 0xfb62, 0xfbb8, 0xfb62, 0xfbb8, -0xfb28, 0xfb89, 0xfb28, 0xfb89, 0xfbca, 0xfc36, 0xfbca, 0xfc36, 0xfae4, 0xfb5e, 0xfae4, -0xfb5e, 0xfae4, 0xfb5e, 0xf85c, 0xf8e5, 0xf85c, 0xf8e5, 0xf5f0, 0xf68a, 0xf5f0, 0xf68a, -0xf3de, 0xf48a, 0xf3de, 0xf48a, 0xf20c, 0xf2ca, 0xf20c, 0xf2ca, 0xf0ed, 0xf1bf, 0xf0ed, -0xf1bf, 0xeef3, 0xefd8, 0xeef3, 0xefd8, 0xeef3, 0xefd8, 0xedd3, 0xeecc, 0xedd3, 0xeecc, -0xef57, 0xf062, 0xef57, 0xf062, 0xf068, 0xf183, 0xf068, 0xf183, 0xf15a, 0xf282, 0xf15a, -0xf282, 0xf1f8, 0xf32a, 0xf1f8, 0xf32a, 0xf1f8, 0xf32a, 0xf0cc, 0xf205, 0xf0cc, 0xf205, -0xf0e5, 0xf21f, 0xf0e5, 0xf21f, 0xf16d, 0xf2a2, 0xf16d, 0xf2a2, 0xf0bf, 0xf1ea, 0xf0bf, -0xf1ea, 0xf13b, 0xf257, 0xf13b, 0xf257, 0xf22c, 0xf332, 0xf22c, 0xf332, 0xf22c, 0xf332, -0xf3c5, 0xf4af, 0xf3c5, 0xf4af, 0xf5ca, 0xf692, 0xf5ca, 0xf692, 0xf6bb, 0xf75b, 0xf6bb, -0xf75b, 0xf7e6, 0xf85a, 0xf7e6, 0xf85a, 0xf942, 0xf984, 0xf942, 0xf984, 0xfa07, 0xfa15, -0xfa07, 0xfa15, 0xfa07, 0xfa15, 0xfaca, 0xfaa0, 0xfaca, 0xfaa0, 0xfb80, 0xfb1c, 0xfb80, -0xfb1c, 0xfb64, 0xfac5, 0xfb64, 0xfac5, 0xfbc2, 0xfaea, 0xfbc2, 0xfaea, 0xfce8, 0xfbd6, -0xfce8, 0xfbd6, 0xfce8, 0xfbd6, 0xfea7, 0xfd5f, 0xfea7, 0xfd5f, 0x142, 0xffc6, 0x142, -0xffc6, 0x2b8, 0x10c, 0x2b8, 0x10c, 0x37f, 0x1a7, 0x37f, 0x1a7, 0x57c, 0x37d, -0x57c, 0x37d, 0x7a6, 0x585, 0x7a6, 0x585, 0x7a6, 0x585, 0x8ff, 0x6c1, 0x8ff, -0x6c1, 0x9b6, 0x761, 0x9b6, 0x761, 0x951, 0x6e9, 0x951, 0x6e9, 0x949, 0x6d4, -0x949, 0x6d4, 0xaa4, 0x828, 0xaa4, 0x828, 0xbc0, 0x93f, 0xbc0, 0x93f, 0xbc0, -0x93f, 0xc9d, 0xa1b, 0xc9d, 0xa1b, 0xdcb, 0xb4b, 0xdcb, 0xb4b, 0xe3c, 0xbc1, -0xe3c, 0xbc1, 0xf48, 0xcd4, 0xf48, 0xcd4, 0x1119, 0xead, 0x1119, 0xead, 0x1119, -0xead, 0x114c, 0xee9, 0x114c, 0xee9, 0x1250, 0xff7, 0x1250, 0xff7, 0x142b, 0x11dc, -0x142b, 0x11dc, 0x1533, 0x12ee, 0x1533, 0x12ee, 0x161e, 0x13e3, 0x161e, 0x13e3, 0x15a9, -0x1377, 0x15a9, 0x1377, 0x15a9, 0x1377, 0x14d6, 0x12af, 0x14d6, 0x12af, 0x15d2, 0x13b4, -0x15d2, 0x13b4, 0x1741, 0x152d, 0x1741, 0x152d, 0x1785, 0x157c, 0x1785, 0x157c, 0x1794, -0x1596, 0x1794, 0x1596, 0x170e, 0x151d, 0x170e, 0x151d, 0x170e, 0x151d, 0x166d, 0x1489, -0x166d, 0x1489, 0x1748, 0x1573, 0x1748, 0x1573, 0x16e1, 0x151c, 0x16e1, 0x151c, 0x14af, -0x12fc, 0x14af, 0x12fc, 0x1416, 0x1276, 0x1416, 0x1276, 0x1416, 0x1276, 0x13de, 0x1253, -0x13de, 0x1253, 0x13ba, 0x1246, 0x13ba, 0x1246, 0x1431, 0x12d4, 0x1431, 0x12d4, 0x130f, -0x11c9, 0x130f, 0x11c9, 0x12dd, 0x11ae, 0x12dd, 0x11ae, 0x1427, 0x130f, 0x1427, 0x130f, -0x1427, 0x130f, 0x14b5, 0x13b3, 0x14b5, 0x13b3, 0x14d5, 0x13e7, 0x14d5, 0x13e7, 0x14e2, -0x1406, 0x14e2, 0x1406, 0x1529, 0x145d, 0x1529, 0x145d, 0x15ef, 0x152f, 0x15ef, 0x152f, -0x15ef, 0x152f, 0x1629, 0x1572, 0x1629, 0x1572, 0x14e8, 0x1437, 0x14e8, 0x1437, 0x142f, -0x1381, 0x142f, 0x1381, 0x1454, 0x13a4, 0x1454, 0x13a4, 0x14b8, 0x1403, 0x14b8, 0x1403, -0x151a, 0x145e, 0x151a, 0x145e, 0x151a, 0x145e, 0x14ee, 0x1426, 0x14ee, 0x1426, 0x1456, -0x1382, 0x1456, 0x1382, 0x145c, 0x1379, 0x145c, 0x1379, 0x15ac, 0x14b9, 0x15ac, 0x14b9, -0x15f2, 0x14f0, 0x15f2, 0x14f0, 0x1597, 0x1485, 0x1597, 0x1485, 0x1597, 0x1485, 0x15c4, -0x14a4, 0x15c4, 0x14a4, 0x158d, 0x1461, 0x158d, 0x1461, 0x15d5, 0x149f, 0x15d5, 0x149f, -0x15b1, 0x1476, 0x15b1, 0x1476, 0x134b, 0x120e, 0x134b, 0x120e, 0x134b, 0x120e, 0x107a, -0xf3f, 0x107a, 0xf3f, 0xf12, 0xddf, 0xf12, 0xddf, 0xe1a, 0xcf2, 0xe1a, 0xcf2, -0xcdf, 0xbc8, 0xcdf, 0xbc8, 0xb6e, 0xa6c, 0xb6e, 0xa6c, 0x964, 0x87c, 0x964, -0x87c, 0x964, 0x87c, 0x868, 0x79e, 0x868, 0x79e, 0x928, 0x87f, 0x928, 0x87f, -0x8b0, 0x82b, 0x8b0, 0x82b, 0x6e1, 0x683, 0x6e1, 0x683, 0x430, 0x3fa, 0x430, -0x3fa, 0x1cc, 0x1be, 0x1cc, 0x1be, 0x1cc, 0x1be, 0x1d7, 0x1f3, 0x1d7, 0x1f3, -0x193, 0x1d7, 0x193, 0x1d7, 0xff7b, 0xffe8, 0xff7b, 0xffe8, 0xfe74, 0xff07, 0xfe74, -0xff07, 0xff14, 0xffcb, 0xff14, 0xffcb, 0xff14, 0xffcb, 0xff9b, 0x74, 0xff9b, 0x74, -0x9a, 0x193, 0x9a, 0x193, 0x31, 0x147, 0x31, 0x147, 0xfe4d, 0xff7d, 0xfe4d, -0xff7d, 0xfe81, 0xffc9, 0xfe81, 0xffc9, 0xfe72, 0xffce, 0xfe72, 0xffce, 0xfe72, 0xffce, -0xfd01, 0xfe6f, 0xfd01, 0xfe6f, 0xfc22, 0xfda1, 0xfc22, 0xfda1, 0xfb06, 0xfc93, 0xfb06, -0xfc93, 0xf9d1, 0xfb6b, 0xf9d1, 0xfb6b, 0xfa2d, 0xfbd2, 0xfa2d, 0xfbd2, 0xf9a1, 0xfb51, -0xf9a1, 0xfb51, 0xf9a1, 0xfb51, 0xf6d8, 0xf891, 0xf6d8, 0xf891, 0xf54a, 0xf70c, 0xf54a, -0xf70c, 0xf38b, 0xf556, 0xf38b, 0xf556, 0xf1c7, 0xf39b, 0xf1c7, 0xf39b, 0xf121, 0xf2fd, -0xf121, 0xf2fd, 0xf121, 0xf2fd, 0xee96, 0xf07b, 0xee96, 0xf07b, 0xed0a, 0xeef8, 0xed0a, -0xeef8, 0xecf8, 0xeeed, 0xecf8, 0xeeed, 0xec59, 0xee57, 0xec59, 0xee57, 0xed30, 0xef37, -0xed30, 0xef37, 0xed8b, 0xef9b, 0xed8b, 0xef9b, 0xed8b, 0xef9b, 0xebdf, 0xedf7, 0xebdf, -0xedf7, 0xeb6f, 0xed8f, 0xeb6f, 0xed8f, 0xec44, 0xee6c, 0xec44, 0xee6c, 0xeb21, 0xed52, -0xeb21, 0xed52, 0xe9e3, 0xec1c, 0xe9e3, 0xec1c, 0xe8a2, 0xeae5, 0xe8a2, 0xeae5, 0xe8a2, -0xeae5, 0xe678, 0xe8c3, 0xe678, 0xe8c3, 0xe6ba, 0xe910, 0xe6ba, 0xe910, 0xe68b, 0xe8ec, -0xe68b, 0xe8ec, 0xe453, 0xe6c0, 0xe453, 0xe6c0, 0xe3af, 0xe62a, 0xe3af, 0xe62a, 0xe3af, -0xe62a, 0xe3f6, 0xe681, 0xe3f6, 0xe681, 0xe3cf, 0xe66c, 0xe3cf, 0xe66c, 0xe367, 0xe617, -0xe367, 0xe617, 0xe260, 0xe525, 0xe260, 0xe525, 0xe175, 0xe452, 0xe175, 0xe452, 0xe226, -0xe51d, 0xe226, 0xe51d, 0xe226, 0xe51d, 0xe2ec, 0xe5fe, 0xe2ec, 0xe5fe, 0xe1fd, 0xe52c, -0xe1fd, 0xe52c, 0xe08a, 0xe3d7, 0xe08a, 0xe3d7, 0xdf3a, 0xe2a4, 0xdf3a, 0xe2a4, 0xdfe4, -0xe36d, 0xdfe4, 0xe36d, 0xe185, 0xe52c, 0xe185, 0xe52c, 0xe185, 0xe52c, 0xe0c4, 0xe486, -0xe0c4, 0xe486, 0xdfab, 0xe388, 0xdfab, 0xe388, 0xdf32, 0xe325, 0xdf32, 0xe325, 0xdf8f, -0xe396, 0xdf8f, 0xe396, 0xe0fe, 0xe514, 0xe0fe, 0xe514, 0xe0fe, 0xe514, 0xe189, 0xe5aa, -0xe189, 0xe5aa, 0xe09f, 0xe4c5, 0xe09f, 0xe4c5, 0xe05c, 0xe481, 0xe05c, 0xe481, 0xe205, -0xe624, 0xe205, 0xe624, 0xe2c6, 0xe6d8, 0xe2c6, 0xe6d8, 0xe2b5, 0xe6b6, 0xe2b5, 0xe6b6, -0xe2b5, 0xe6b6, 0xe360, 0xe749, 0xe360, 0xe749, 0xe438, 0xe803, 0xe438, 0xe803, 0xe572, -0xe91b, 0xe572, 0xe91b, 0xe700, 0xea82, 0xe700, 0xea82, 0xe78f, 0xeae7, 0xe78f, 0xeae7, -0xe7dc, 0xeb07, 0xe7dc, 0xeb07, 0xe7dc, 0xeb07, 0xe9d5, 0xecd1, 0xe9d5, 0xecd1, 0xec67, -0xef33, 0xec67, 0xef33, 0xee5f, 0xf0fb, 0xee5f, 0xf0fb, 0xeed4, 0xf140, 0xeed4, 0xf140, -0xeec0, 0xf0fe, 0xeec0, 0xf0fe, 0xeec0, 0xf0fe, 0xef8d, 0xf19e, 0xef8d, 0xf19e, 0xf12d, -0xf314, 0xf12d, 0xf314, 0xf290, 0xf451, 0xf290, 0xf451, 0xf24b, 0xf3e8, 0xf24b, 0xf3e8, -0xf1db, 0xf357, 0xf1db, 0xf357, 0xf21e, 0xf37d, 0xf21e, 0xf37d, 0xf21e, 0xf37d, 0xf2fe, -0xf443, 0xf2fe, 0xf443, 0xf453, 0xf581, 0xf453, 0xf581, 0xf575, 0xf68d, 0xf575, 0xf68d, -0xf6ab, 0xf7b0, 0xf6ab, 0xf7b0, 0xf825, 0xf919, 0xf825, 0xf919, 0xf9f5, 0xfad8, 0xf9f5, -0xfad8, 0xf9f5, 0xfad8, 0xfc40, 0xfd12, 0xfc40, 0xfd12, 0xfd3a, 0xfdfc, 0xfd3a, 0xfdfc, -0xfc93, 0xfd43, 0xfc93, 0xfd43, 0xfc2b, 0xfcc9, 0xfc2b, 0xfcc9, 0xfc9a, 0xfd24, 0xfc9a, -0xfd24, 0xfc9a, 0xfd24, 0xfd39, 0xfdae, 0xfd39, 0xfdae, 0xfcd0, 0xfd2d, 0xfcd0, 0xfd2d, -0xfd02, 0xfd47, 0xfd02, 0xfd47, 0xfe60, 0xfe8b, 0xfe60, 0xfe8b, 0x78, 0x88, 0x78, -0x88, 0x338, 0x32d, 0x338, 0x32d, 0x338, 0x32d, 0x457, 0x430, 0x457, 0x430, -0x3e1, 0x3a0, 0x3e1, 0x3a0, 0x413, 0x3b9, 0x413, 0x3b9, 0x563, 0x4f0, 0x563, -0x4f0, 0x625, 0x59d, 0x625, 0x59d, 0x5b2, 0x517, 0x5b2, 0x517, 0x5b2, 0x517, -0x404, 0x35a, 0x404, 0x35a, 0x392, 0x2dc, 0x392, 0x2dc, 0x5c2, 0x504, 0x5c2, -0x504, 0x6fe, 0x63b, 0x6fe, 0x63b, 0x615, 0x551, 0x615, 0x551, 0x615, 0x551, -0x4e9, 0x427, 0x4e9, 0x427, 0x4af, 0x3f3, 0x4af, 0x3f3, 0x53c, 0x489, 0x53c, -0x489, 0x511, 0x468, 0x511, 0x468, 0x314, 0x276, 0x314, 0x276, 0x21b, 0x188, -0x21b, 0x188, 0x21b, 0x188, 0x2bb, 0x233, 0x2bb, 0x233, 0x334, 0x2b6, 0x334, -0x2b6, 0x438, 0x3c1, 0x438, 0x3c1, 0x47b, 0x40b, 0x47b, 0x40b, 0x3da, 0x36b, -0x3da, 0x36b, 0x3da, 0x36b, 0x4a1, 0x430, 0x4a1, 0x430, 0x68a, 0x614, 0x68a, -0x614, 0x64d, 0x5cc, 0x64d, 0x5cc, 0x4a9, 0x41a, 0x4a9, 0x41a, 0x3b9, 0x318, -0x3b9, 0x318, 0x2a8, 0x1f2, 0x2a8, 0x1f2, 0x2a8, 0x1f2, 0x2b5, 0x1e6, 0x2b5, -0x1e6, 0x33b, 0x251, 0x33b, 0x251, 0x2a0, 0x19a, 0x2a0, 0x19a, 0x290, 0x16c, -0x290, 0x16c, 0x3cd, 0x28c, 0x3cd, 0x28c, 0x556, 0x3fa, 0x556, 0x3fa, 0x556, -0x3fa, 0x67d, 0x507, 0x67d, 0x507, 0x6cb, 0x53e, 0x6cb, 0x53e, 0x638, 0x497, -0x638, 0x497, 0x5df, 0x42f, 0x5df, 0x42f, 0x675, 0x4ba, 0x675, 0x4ba, 0x675, -0x4ba, 0x6b0, 0x4ef, 0x6b0, 0x4ef, 0x5c1, 0x3ff, 0x5c1, 0x3ff, 0x40f, 0x251, -0x40f, 0x251, 0x2bb, 0x106, 0x2bb, 0x106, 0x2b9, 0x111, 0x2b9, 0x111, 0x1d8, -0x41, 0x1d8, 0x41, 0x1d8, 0x41, 0xfff7, 0xfe74, 0xfff7, 0xfe74, 0xfec8, 0xfd5b, -0xfec8, 0xfd5b, 0xfe2c, 0xfcd6, 0xfe2c, 0xfcd6, 0xfe6c, 0xfd2e, 0xfe6c, 0xfd2e, 0xfecf, -0xfda9, 0xfecf, 0xfda9, 0xfe67, 0xfd57, 0xfe67, 0xfd57, 0xfe67, 0xfd57, 0xfd8c, 0xfc91, -0xfd8c, 0xfc91, 0xfe47, 0xfd5f, 0xfe47, 0xfd5f, 0xfffb, 0xff23, 0xfffb, 0xff23, 0x91, -0xffc4, 0x91, 0xffc4, 0xd2, 0xf, 0xd2, 0xf, 0xd2, 0xf, 0x73, 0xffb6, -0x73, 0xffb6, 0xffe1, 0xff26, 0xffe1, 0xff26, 0x77, 0xffbd, 0x77, 0xffbd, 0xfd, -0x40, 0xfd, 0x40, 0xffca, 0xff09, 0xffca, 0xff09, 0xff9b, 0xfed4, 0xff9b, 0xfed4, -0xff9b, 0xfed4, 0x14b, 0x7f, 0x14b, 0x7f, 0x226, 0x154, 0x226, 0x154, 0x340, -0x269, 0x340, 0x269, 0x367, 0x28c, 0x367, 0x28c, 0x246, 0x168, 0x246, 0x168, -0x2e8, 0x20a, 0x2e8, 0x20a, 0x2e8, 0x20a, 0x38d, 0x2b1, 0x38d, 0x2b1, 0x274, -0x19e, 0x274, 0x19e, 0x1cb, 0xfb, 0x1cb, 0xfb, 0x1f6, 0x130, 0x1f6, 0x130, -0x2f9, 0x23f, 0x2f9, 0x23f, 0x2f9, 0x23f, 0x4f5, 0x448, 0x4f5, 0x448, 0x49e, -0x3ff, 0x49e, 0x3ff, 0x301, 0x270, 0x301, 0x270, 0x373, 0x2ef, 0x373, 0x2ef, -0x468, 0x3f1, 0x468, 0x3f1, 0x4e7, 0x47a, 0x4e7, 0x47a, 0x4e7, 0x47a, 0x4d6, -0x470, 0x4d6, 0x470, 0x2f3, 0x293, 0x2f3, 0x293, 0x23e, 0x1df, 0x23e, 0x1df, -0x428, 0x3c6, 0x428, 0x3c6, 0x490, 0x428, 0x490, 0x428, 0x478, 0x407, 0x478, -0x407, 0x478, 0x407, 0x548, 0x4ca, 0x548, 0x4ca, 0x605, 0x575, 0x605, 0x575, -0x79e, 0x6fc, 0x79e, 0x6fc, 0x92e, 0x877, 0x92e, 0x877, 0x8d7, 0x80a, 0x8d7, -0x80a, 0x8d7, 0x80a, 0x838, 0x755, 0x838, 0x755, 0x86e, 0x776, 0x86e, 0x776, -0x872, 0x766, 0x872, 0x766, 0x984, 0x868, 0x984, 0x868, 0xa09, 0x8e0, 0xa09, -0x8e0, 0x97c, 0x849, 0x97c, 0x849, 0x97c, 0x849, 0xa7d, 0x945, 0xa7d, 0x945, -0xc66, 0xb2e, 0xc66, 0xb2e, 0xd40, 0xc0e, 0xd40, 0xc0e, 0xd19, 0xbf1, 0xd19, -0xbf1, 0xbc1, 0xaa8, 0xbc1, 0xaa8, 0x96a, 0x864, 0x96a, 0x864, 0x96a, 0x864, -0x89e, 0x7b0, 0x89e, 0x7b0, 0x79e, 0x6ca, 0x79e, 0x6ca, 0x5c2, 0x50a, 0x5c2, -0x50a, 0x4da, 0x43f, 0x4da, 0x43f, 0x4b8, 0x43a, 0x4b8, 0x43a, 0x4b8, 0x43a, -0x50b, 0x4a8, 0x50b, 0x4a8, 0x5ae, 0x564, 0x5ae, 0x564, 0x614, 0x5e0, 0x614, -0x5e0, 0x512, 0x4f0, 0x512, 0x4f0, 0x457, 0x442, 0x457, 0x442, 0x45d, 0x44f, -0x45d, 0x44f, 0x45d, 0x44f, 0x3c7, 0x3ba, 0x3c7, 0x3ba, 0x218, 0x208, 0x218, -0x208, 0xac, 0x91, 0xac, 0x91, 0x4e, 0x25, 0x4e, 0x25, 0x8e, 0x51, -0x8e, 0x51, 0x146, 0xf1, 0x146, 0xf1, 0x146, 0xf1, 0x18b, 0x11b, 0x18b, -0x11b, 0x244, 0x1b8, 0x244, 0x1b8, 0x369, 0x2c0, 0x369, 0x2c0, 0x49d, 0x3d6, -0x49d, 0x3d6, 0x564, 0x480, 0x564, 0x480, 0x564, 0x480, 0x550, 0x453, 0x550, -0x453, 0x438, 0x323, 0x438, 0x323, 0x34f, 0x228, 0x34f, 0x228, 0x3b3, 0x27e, -0x3b3, 0x27e, 0x392, 0x253, 0x392, 0x253, 0x377, 0x233, 0x377, 0x233, 0x377, -0x233, 0x361, 0x21e, 0x361, 0x21e, 0x41f, 0x2e1, 0x41f, 0x2e1, 0x60a, 0x4d4, -0x60a, 0x4d4, 0x6ba, 0x590, 0x6ba, 0x590, 0x610, 0x4f4, 0x610, 0x4f4, 0x5eb, -0x4de, 0x5eb, 0x4de, 0x5eb, 0x4de, 0x657, 0x559, 0x657, 0x559, 0x657, 0x568, -0x657, 0x568, 0x71d, 0x639, 0x71d, 0x639, 0x720, 0x644, 0x720, 0x644, 0x5ea, -0x514, 0x5ea, 0x514, 0x5ea, 0x514, 0x67c, 0x5a4, 0x67c, 0x5a4, 0x7ed, 0x70f, -0x7ed, 0x70f, 0x7e7, 0x6fc, 0x7e7, 0x6fc, 0x7e9, 0x6eb, 0x7e9, 0x6eb, 0x7eb, -0x6d5, 0x7eb, 0x6d5, 0x80e, 0x6db, 0x80e, 0x6db, 0x80e, 0x6db, 0x9a4, 0x84d, -0x9a4, 0x84d, 0xa3c, 0x8bf, 0xa3c, 0x8bf, 0xaad, 0x906, 0xaad, 0x906, 0xbe7, -0xa15, 0xbe7, 0xa15, 0xd46, 0xb48, 0xd46, 0xb48, 0xeef, 0xcc6, 0xeef, 0xcc6, -0xeef, 0xcc6, 0x107d, 0xe2b, 0x107d, 0xe2b, 0x10f8, 0xe81, 0x10f8, 0xe81, 0x10c0, -0xe28, 0x10c0, 0xe28, 0x11a9, 0xef7, 0x11a9, 0xef7, 0x1174, 0xeaf, 0x1174, 0xeaf, -0x1174, 0xeaf, 0x10b0, 0xdde, 0x10b0, 0xdde, 0xfe9, 0xd12, 0xfe9, 0xd12, 0xe8a, -0xbb6, 0xe8a, 0xbb6, 0xf00, 0xc35, 0xf00, 0xc35, 0xff0, 0xd36, 0xff0, 0xd36, -0xffa, 0xd57, 0xffa, 0xd57, 0xffa, 0xd57, 0x1012, 0xd8b, 0x1012, 0xd8b, 0x106e, -0xe06, 0x106e, 0xe06, 0x106a, 0xe24, 0x106a, 0xe24, 0xff8, 0xdd6, 0xff8, 0xdd6, -0xf0e, 0xd0e, 0xf0e, 0xd0e, 0xf0e, 0xd0e, 0xe2a, 0xc4a, 0xe2a, 0xc4a, 0xde4, -0xc22, 0xde4, 0xc22, 0xdf4, 0xc4b, 0xdf4, 0xc4b, 0xe28, 0xc91, 0xe28, 0xc91, -0xde8, 0xc5d, 0xde8, 0xc5d, 0xd5b, 0xbd4, 0xd5b, 0xbd4, 0xd5b, 0xbd4, 0xd18, -0xb8e, 0xd18, 0xb8e, 0xd54, 0xbbf, 0xd54, 0xbbf, 0xd25, 0xb7d, 0xd25, 0xb7d, -0xcdc, 0xb1a, 0xcdc, 0xb1a, 0xcf8, 0xb15, 0xcf8, 0xb15, 0xcc9, 0xac2, 0xcc9, -0xac2, 0xcc9, 0xac2, 0xcb1, 0xa7f, 0xcb1, 0xa7f, 0xd9c, 0xb3e, 0xd9c, 0xb3e, -0xef3, 0xc67, 0xef3, 0xc67, 0xf38, 0xc7e, 0xf38, 0xc7e, 0x101a, 0xd35, 0x101a, -0xd35, 0x101a, 0xd35, 0x123d, 0xf30, 0x123d, 0xf30, 0x144c, 0x111b, 0x144c, 0x111b, -0x14d7, 0x1188, 0x14d7, 0x1188, 0x1444, 0x10de, 0x1444, 0x10de, 0x141a, 0x10a7, 0x141a, -0x10a7, 0x13bc, 0x1043, 0x13bc, 0x1043, 0x13bc, 0x1043, 0x13a9, 0x1033, 0x13a9, 0x1033, -0x12fa, 0xf90, 0x12fa, 0xf90, 0x11ea, 0xe94, 0x11ea, 0xe94, 0x11d8, 0xea0, 0x11d8, -0xea0, 0x1262, 0xf50, 0x1262, 0xf50, 0x135e, 0x1077, 0x135e, 0x1077, 0x135e, 0x1077, -0x1429, 0x1175, 0x1429, 0x1175, 0x1382, 0x1106, 0x1382, 0x1106, 0x11c4, 0xf83, 0x11c4, -0xf83, 0x1199, 0xf96, 0x1199, 0xf96, 0x115f, 0xf9d, 0x115f, 0xf9d, 0x115f, 0xf9d, -0x1008, 0xe86, 0x1008, 0xe86, 0xf03, 0xdc1, 0xf03, 0xdc1, 0xe14, 0xd11, 0xe14, -0xd11, 0xe27, 0xd61, 0xe27, 0xd61, 0xeb9, 0xe2d, 0xeb9, 0xe2d, 0xe5b, 0xe07, -0xe5b, 0xe07, 0xe5b, 0xe07, 0xda9, 0xd8a, 0xda9, 0xd8a, 0xd74, 0xd85, 0xd74, -0xd85, 0xd31, 0xd71, 0xd31, 0xd71, 0xd11, 0xd7c, 0xd11, 0xd7c, 0xbd5, 0xc69, -0xbd5, 0xc69, 0x8e0, 0x99a, 0x8e0, 0x99a, 0x8e0, 0x99a, 0x721, 0x801, 0x721, -0x801, 0x64b, 0x74f, 0x64b, 0x74f, 0x47e, 0x5a7, 0x47e, 0x5a7, 0x2d6, 0x422, -0x2d6, 0x422, 0x120, 0x291, 0x120, 0x291, 0x120, 0x291, 0xff91, 0x128, 0xff91, -0x128, 0xff07, 0xc5, 0xff07, 0xc5, 0xfd0a, 0xfef1, 0xfd0a, 0xfef1, 0xfa99, 0xfca9, -0xfa99, 0xfca9, 0xf8fc, 0xfb38, 0xf8fc, 0xfb38, 0xf703, 0xf96b, 0xf703, 0xf96b, 0xf703, -0xf96b, 0xf4c0, 0xf755, 0xf4c0, 0xf755, 0xf25d, 0xf51f, 0xf25d, 0xf51f, 0xf0a3, 0xf393, -0xf0a3, 0xf393, 0xeed3, 0xf1f1, 0xeed3, 0xf1f1, 0xed83, 0xf0ce, 0xed83, 0xf0ce, 0xecc6, -0xf03d, 0xecc6, 0xf03d, 0xecc6, 0xf03d, 0xec04, 0xefa5, 0xec04, 0xefa5, 0xeb5c, 0xef25, -0xeb5c, 0xef25, 0xe991, 0xed80, 0xe991, 0xed80, 0xe796, 0xeba7, 0xe796, 0xeba7, 0xe634, -0xea66, 0xe634, 0xea66, 0xe634, 0xea66, 0xe480, 0xe8cf, 0xe480, 0xe8cf, 0xe27a, 0xe6e3, -0xe27a, 0xe6e3, 0xe108, 0xe589, 0xe108, 0xe589, 0xdf7d, 0xe413, 0xdf7d, 0xe413, 0xde22, -0xe2ca, 0xde22, 0xe2ca, 0xdd87, 0xe240, 0xdd87, 0xe240, 0xdd87, 0xe240, 0xdc38, 0xe100, -0xdc38, 0xe100, 0xda7b, 0xdf50, 0xda7b, 0xdf50, 0xd922, 0xde03, 0xd922, 0xde03, 0xd817, -0xdd02, 0xd817, 0xdd02, 0xd6df, 0xdbd5, 0xd6df, 0xdbd5, 0xd579, 0xda79, 0xd579, 0xda79, -0xd579, 0xda79, 0xd457, 0xd960, 0xd457, 0xd960, 0xd395, 0xd8a7, 0xd395, 0xd8a7, 0xd39e, -0xd8b9, 0xd39e, 0xd8b9, 0xd47e, 0xd9a1, 0xd47e, 0xd9a1, 0xd4c9, 0xd9f4, 0xd4c9, 0xd9f4, -0xd4c9, 0xd9f4, 0xd49f, 0xd9d0, 0xd49f, 0xd9d0, 0xd540, 0xda76, 0xd540, 0xda76, 0xd68b, -0xdbc5, 0xd68b, 0xdbc5, 0xd784, 0xdcc0, 0xd784, 0xdcc0, 0xd6fe, 0xdc3a, 0xd6fe, 0xdc3a, -0xd6a6, 0xdbdf, 0xd6a6, 0xdbdf, 0xd6a6, 0xdbdf, 0xd790, 0xdcc3, 0xd790, 0xdcc3, 0xd8ca, -0xddf4, 0xd8ca, 0xddf4, 0xda47, 0xdf64, 0xda47, 0xdf64, 0xdbb7, 0xe0c4, 0xdbb7, 0xe0c4, -0xdcc6, 0xe1be, 0xdcc6, 0xe1be, 0xddb8, 0xe299, 0xddb8, 0xe299, 0xddb8, 0xe299, 0xdf03, -0xe3c9, 0xdf03, 0xe3c9, 0xdfa7, 0xe44e, 0xdfa7, 0xe44e, 0xdfb9, 0xe43f, 0xdfb9, 0xe43f, -0xe0b9, 0xe51c, 0xe0b9, 0xe51c, 0xe21e, 0xe65a, 0xe21e, 0xe65a, 0xe21e, 0xe65a, 0xe3dc, -0xe7f0, 0xe3dc, 0xe7f0, 0xe602, 0xe9ec, 0xe602, 0xe9ec, 0xe6ad, 0xea6d, 0xe6ad, 0xea6d, -0xe7a8, 0xeb3d, 0xe7a8, 0xeb3d, 0xe9fe, 0xed69, 0xe9fe, 0xed69, 0xead3, 0xee13, 0xead3, -0xee13, 0xead3, 0xee13, 0xeb6b, 0xee81, 0xeb6b, 0xee81, 0xec31, 0xef1f, 0xec31, 0xef1f, -0xec38, 0xeefe, 0xec38, 0xeefe, 0xecb4, 0xef53, 0xecb4, 0xef53, 0xed48, 0xefc2, 0xed48, -0xefc2, 0xeddb, 0xf031, 0xeddb, 0xf031, 0xeddb, 0xf031, 0xeef9, 0xf12c, 0xeef9, 0xf12c, -0xf032, 0xf243, 0xf032, 0xf243, 0xf1c3, 0xf3b2, 0xf1c3, 0xf3b2, 0xf42e, 0xf5fc, 0xf42e, -0xf5fc, 0xf660, 0xf80e, 0xf660, 0xf80e, 0xf660, 0xf80e, 0xf7d6, 0xf963, 0xf7d6, 0xf963, -0xf8fb, 0xfa67, 0xf8fb, 0xfa67, 0xf9a0, 0xfaeb, 0xf9a0, 0xfaeb, 0xf9f7, 0xfb20, 0xf9f7, -0xfb20, 0xfb0c, 0xfc13, 0xfb0c, 0xfc13, 0xfc33, 0xfd16, 0xfc33, 0xfd16, 0xfc33, 0xfd16, -0xfcc2, 0xfd81, 0xfcc2, 0xfd81, 0xfdf0, 0xfe8a, 0xfdf0, 0xfe8a, 0xfefb, 0xff70, 0xfefb, -0xff70, 0x43, 0x93, 0x43, 0x93, 0x26a, 0x295, 0x26a, 0x295, 0x31a, 0x320, -0x31a, 0x320, 0x31a, 0x320, 0x32a, 0x30c, 0x32a, 0x30c, 0x493, 0x452, 0x493, -0x452, 0x573, 0x511, 0x573, 0x511, 0x537, 0x4b6, 0x537, 0x4b6, 0x4db, 0x43c, -0x4db, 0x43c, 0x4db, 0x43c, 0x4d4, 0x41b, 0x4d4, 0x41b, 0x579, 0x4a8, 0x579, -0x4a8, 0x541, 0x45a, 0x541, 0x45a, 0x499, 0x39f, 0x499, 0x39f, 0x525, 0x41b, -0x525, 0x41b, 0x62c, 0x515, 0x62c, 0x515, 0x62c, 0x515, 0x6ad, 0x58b, 0x6ad, -0x58b, 0x720, 0x5f6, 0x720, 0x5f6, 0x727, 0x5f6, 0x727, 0x5f6, 0x648, 0x513, -0x648, 0x513, 0x66a, 0x532, 0x66a, 0x532, 0x66a, 0x532, 0x701, 0x5c6, 0x701, -0x5c6, 0x71d, 0x5e1, 0x71d, 0x5e1, 0x7d2, 0x695, 0x7d2, 0x695, 0x8a7, 0x769, -0x8a7, 0x769, 0x8d5, 0x797, 0x8d5, 0x797, 0x98c, 0x84c, 0x98c, 0x84c, 0x98c, -0x84c, 0xa97, 0x954, 0xa97, 0x954, 0xa91, 0x94c, 0xa91, 0x94c, 0x9ec, 0x8a2, -0x9ec, 0x8a2, 0x89c, 0x74e, 0x89c, 0x74e, 0x7ff, 0x6ac, 0x7ff, 0x6ac, 0x7ab, -0x651, 0x7ab, 0x651, 0x7ab, 0x651, 0x707, 0x5a6, 0x707, 0x5a6, 0x7cd, 0x664, -0x7cd, 0x664, 0x880, 0x70f, 0x880, 0x70f, 0x950, 0x7d6, 0x950, 0x7d6, 0xaf6, -0x974, 0xaf6, 0x974, 0xaf6, 0x974, 0xbe4, 0xa58, 0xbe4, 0xa58, 0xc69, 0xad4, -0xc69, 0xad4, 0xd1d, 0xb7e, 0xd1d, 0xb7e, 0xd0e, 0xb66, 0xd0e, 0xb66, 0xc11, -0xa5f, 0xc11, 0xa5f, 0xada, 0x91e, 0xada, 0x91e, 0xada, 0x91e, 0x9b3, 0x7ed, -0x9b3, 0x7ed, 0x8d3, 0x703, 0x8d3, 0x703, 0x898, 0x6bd, 0x898, 0x6bd, 0x849, -0x665, 0x849, 0x665, 0x76e, 0x57f, 0x76e, 0x57f, 0x6e2, 0x4e9, 0x6e2, 0x4e9, -0x6e2, 0x4e9, 0x64d, 0x44a, 0x64d, 0x44a, 0x626, 0x419, 0x626, 0x419, 0x5c5, -0x3af, 0x5c5, 0x3af, 0x4ce, 0x2b0, 0x4ce, 0x2b0, 0x4c9, 0x2a5, 0x4c9, 0x2a5, -0x4c9, 0x2a5, 0x4be, 0x295, 0x4be, 0x295, 0x579, 0x34d, 0x579, 0x34d, 0x766, -0x53a, 0x766, 0x53a, 0x838, 0x60e, 0x838, 0x60e, 0x8c5, 0x6a2, 0x8c5, 0x6a2, -0xa6d, 0x855, 0xa6d, 0x855, 0xa6d, 0x855, 0xac2, 0x8b9, 0xac2, 0x8b9, 0xa36, -0x841, 0xa36, 0x841, 0xa03, 0x827, 0xa03, 0x827, 0x8f7, 0x73a, 0x8f7, 0x73a, -0x90c, 0x773, 0x90c, 0x773, 0x9b0, 0x83f, 0x9b0, 0x83f, 0x9b0, 0x83f, 0x969, -0x825, 0x969, 0x825, 0x94c, 0x83a, 0x94c, 0x83a, 0x96b, 0x890, 0x96b, 0x890, -0x913, 0x871, 0x913, 0x871, 0x814, 0x7ad, 0x814, 0x7ad, 0x814, 0x7ad, 0x714, -0x6eb, 0x714, 0x6eb, 0x683, 0x698, 0x683, 0x698, 0x696, 0x6e9, 0x696, 0x6e9, -0x654, 0x6e4, 0x654, 0x6e4, 0x65f, 0x729, 0x65f, 0x729, 0x715, 0x815, 0x715, -0x815, 0x715, 0x815, 0x6c4, 0x7f6, 0x6c4, 0x7f6, 0x648, 0x7a7, 0x648, 0x7a7, -0x706, 0x88c, 0x706, 0x88c, 0x6fa, 0x8a1, 0x6fa, 0x8a1, 0x5b1, 0x771, 0x5b1, -0x771, 0x572, 0x744, 0x572, 0x744, 0x572, 0x744, 0x4a8, 0x686, 0x4a8, 0x686, -0x38d, 0x56e, 0x38d, 0x56e, 0x38c, 0x56a, 0x38c, 0x56a, 0x340, 0x514, 0x340, -0x514, 0x31d, 0x4e1, 0x31d, 0x4e1, 0x31d, 0x4e1, 0x366, 0x515, 0x366, 0x515, -0x418, 0x5ad, 0x418, 0x5ad, 0x54f, 0x6c8, 0x54f, 0x6c8, 0x629, 0x783, 0x629, -0x783, 0x67a, 0x7b4, 0x67a, 0x7b4, 0x644, 0x75d, 0x644, 0x75d, 0x644, 0x75d, -0x5d8, 0x6d1, 0x5d8, 0x6d1, 0x66d, 0x748, 0x66d, 0x748, 0x70d, 0x7cb, 0x70d, -0x7cb, 0x6d3, 0x777, 0x6d3, 0x777, 0x693, 0x720, 0x693, 0x720, 0x6ec, 0x766, -0x6ec, 0x766, 0x6ec, 0x766, 0x7d3, 0x83f, 0x7d3, 0x83f, 0x7ca, 0x82a, 0x7ca, -0x82a, 0x6f3, 0x74b, 0x6f3, 0x74b, 0x5c0, 0x613, 0x5c0, 0x613, 0x504, 0x556, -0x504, 0x556, 0x504, 0x556, 0x544, 0x596, 0x544, 0x596, 0x541, 0x595, 0x541, -0x595, 0x46e, 0x4c5, 0x46e, 0x4c5, 0x2ed, 0x346, 0x2ed, 0x346, 0x241, 0x29c, -0x241, 0x29c, 0x1e5, 0x241, 0x1e5, 0x241, 0x1e5, 0x241, 0x111, 0x16c, 0x111, -0x16c, 0xc4, 0x119, 0xc4, 0x119, 0xac, 0xfb, 0xac, 0xfb, 0x9a, 0xdd, -0x9a, 0xdd, 0x126, 0x159, 0x126, 0x159, 0xe6, 0x106, 0xe6, 0x106, 0xe6, -0x106, 0xff78, 0xff80, 0xff78, 0xff80, 0xff2b, 0xff18, 0xff2b, 0xff18, 0xfe5d, 0xfe2b, -0xfe5d, 0xfe2b, 0xfd34, 0xfcdf, 0xfd34, 0xfcdf, 0xfd6d, 0xfcf4, 0xfd6d, 0xfcf4, 0xfd6d, -0xfcf4, 0xfd65, 0xfcc5, 0xfd65, 0xfcc5, 0xfdf4, 0xfd2b, 0xfdf4, 0xfd2b, 0xff3d, 0xfe49, -0xff3d, 0xfe49, 0xffe0, 0xfec2, 0xffe0, 0xfec2, 0x9e, 0xff56, 0x9e, 0xff56, 0x178, -0x8, 0x178, 0x8, 0x178, 0x8, 0x140, 0xffa8, 0x140, 0xffa8, 0xa4, 0xfee8, -0xa4, 0xfee8, 0x63, 0xfe84, 0x63, 0xfe84, 0x46, 0xfe48, 0x46, 0xfe48, 0xd4, -0xfeb9, 0xd4, 0xfeb9, 0x16e, 0xff3a, 0x16e, 0xff3a, 0x16e, 0xff3a, 0x1af, 0xff64, -0x1af, 0xff64, 0x2d9, 0x7c, 0x2d9, 0x7c, 0x440, 0x1d2, 0x440, 0x1d2, 0x4a7, -0x22b, 0x4a7, 0x22b, 0x5be, 0x336, 0x5be, 0x336, 0x5be, 0x336, 0x6e0, 0x44e, -0x6e0, 0x44e, 0x639, 0x3a0, 0x639, 0x3a0, 0x5df, 0x33e, 0x5df, 0x33e, 0x5c0, -0x318, 0x5c0, 0x318, 0x49c, 0x1ed, 0x49c, 0x1ed, 0x4c0, 0x20c, 0x4c0, 0x20c, -0x4c0, 0x20c, 0x5d4, 0x319, 0x5d4, 0x319, 0x63a, 0x378, 0x63a, 0x378, 0x696, -0x3cc, 0x696, 0x3cc, 0x69c, 0x3cb, 0x69c, 0x3cb, 0x73b, 0x462, 0x73b, 0x462, -0x82b, 0x549, 0x82b, 0x549, 0x82b, 0x549, 0x802, 0x518, 0x802, 0x518, 0x796, -0x4a4, 0x796, 0x4a4, 0x7ae, 0x4b5, 0x7ae, 0x4b5, 0x872, 0x572, 0x872, 0x572, -0x971, 0x66d, 0x971, 0x66d, 0x971, 0x66d, 0xacd, 0x7c5, 0xacd, 0x7c5, 0xb52, -0x849, 0xb52, 0x849, 0xb59, 0x852, 0xb59, 0x852, 0xc6f, 0x96d, 0xc6f, 0x96d, -0xc9c, 0x9a1, 0xc9c, 0x9a1, 0xc3b, 0x94b, 0xc3b, 0x94b, 0xc3b, 0x94b, 0xbf5, -0x913, 0xbf5, 0x913, 0xb10, 0x840, 0xb10, 0x840, 0xb72, 0x8b7, 0xb72, 0x8b7, -0xd3b, 0xa97, 0xd3b, 0xa97, 0xdec, 0xb62, 0xdec, 0xb62, 0xdec, 0xb62, 0xdb7, -0xb4a, 0xdb7, 0xb4a, 0xe4c, 0xbfd, 0xe4c, 0xbfd, 0xf31, 0xd02, 0xf31, 0xd02, -0xf8e, 0xd7f, 0xf8e, 0xd7f, 0xee7, 0xcfa, 0xee7, 0xcfa, 0xe2a, 0xc5d, 0xe2a, -0xc5d, 0xe2a, 0xc5d, 0xe83, 0xcd6, 0xe83, 0xcd6, 0xf0a, 0xd7b, 0xf0a, 0xd7b, -0xf3b, 0xdc8, 0xf3b, 0xdc8, 0xf17, 0xdbe, 0xf17, 0xdbe, 0xed4, 0xd90, 0xed4, -0xd90, 0xe9f, 0xd6e, 0xe9f, 0xd6e, 0xe9f, 0xd6e, 0xe73, 0xd52, 0xe73, 0xd52, -0xe83, 0xd6d, 0xe83, 0xd6d, 0xdf6, 0xce7, 0xdf6, 0xce7, 0xd0f, 0xc04, 0xd0f, -0xc04, 0xd11, 0xc05, 0xd11, 0xc05, 0xd11, 0xc05, 0xda5, 0xc94, 0xda5, 0xc94, -0xde1, 0xcc7, 0xde1, 0xcc7, 0xdd4, 0xcaf, 0xdd4, 0xcaf, 0xe55, 0xd20, 0xe55, -0xd20, 0xed5, 0xd8e, 0xed5, 0xd8e, 0xf24, 0xdc9, 0xf24, 0xdc9, 0xf24, 0xdc9, -0x1015, 0xea4, 0x1015, 0xea4, 0x10d0, 0xf48, 0x10d0, 0xf48, 0x1110, 0xf70, 0x1110, -0xf70, 0x10e8, 0xf31, 0x10e8, 0xf31, 0x103b, 0xe6c, 0x103b, 0xe6c, 0x104e, 0xe69, -0x104e, 0xe69, 0x104e, 0xe69, 0x109c, 0xea2, 0x109c, 0xea2, 0x104e, 0xe41, 0x104e, -0xe41, 0x1098, 0xe7b, 0x1098, 0xe7b, 0x1111, 0xee8, 0x1111, 0xee8, 0x1187, 0xf53, -0x1187, 0xf53, 0x1187, 0xf53, 0x11f5, 0xfbc, 0x11f5, 0xfbc, 0x1107, 0xecc, 0x1107, -0xecc, 0x107b, 0xe42, 0x107b, 0xe42, 0x1152, 0xf20, 0x1152, 0xf20, 0x11b9, 0xf93, -0x11b9, 0xf93, 0x11ed, 0xfd6, 0x11ed, 0xfd6, 0x11ed, 0xfd6, 0x11c5, 0xfc2, 0x11c5, -0xfc2, 0x10d3, 0xee8, 0x10d3, 0xee8, 0x104c, 0xe7e, 0x104c, 0xe7e, 0x102d, 0xe7f, -0x102d, 0xe7f, 0xf56, 0xdcb, 0xf56, 0xdcb, 0xe9c, 0xd37, 0xe9c, 0xd37, 0xe9c, -0xd37, 0xf1c, 0xde1, 0xf1c, 0xde1, 0xf55, 0xe46, 0xf55, 0xe46, 0xf18, 0xe37, -0xf18, 0xe37, 0xe4a, 0xd97, 0xe4a, 0xd97, 0xc0a, 0xb87, 0xc0a, 0xb87, 0xc0a, -0xb87, 0xa4a, 0x9f8, 0xa4a, 0x9f8, 0x8ea, 0x8c8, 0x8ea, 0x8c8, 0x694, 0x6a1, -0x694, 0x6a1, 0x428, 0x464, 0x428, 0x464, 0x201, 0x26b, 0x201, 0x26b, 0x35, -0xcb, 0x35, 0xcb, 0x35, 0xcb, 0xff49, 0xb, 0xff49, 0xb, 0xfe85, 0xff6f, -0xfe85, 0xff6f, 0xfcd7, 0xfde9, 0xfcd7, 0xfde9, 0xfacb, 0xfc02, 0xfacb, 0xfc02, 0xf897, -0xf9f2, 0xf897, 0xf9f2, 0xf6c3, 0xf840, 0xf6c3, 0xf840, 0xf6c3, 0xf840, 0xf50b, 0xf6aa, -0xf50b, 0xf6aa, 0xf2a9, 0xf469, 0xf2a9, 0xf469, 0xf113, 0xf2f2, 0xf113, 0xf2f2, 0xf031, -0xf22f, 0xf031, 0xf22f, 0xef72, 0xf18f, 0xef72, 0xf18f, 0xef72, 0xf18f, 0xeefc, 0xf139, -0xeefc, 0xf139, 0xee29, 0xf087, 0xee29, 0xf087, 0xed0c, 0xef8b, 0xed0c, 0xef8b, 0xebb6, -0xee58, 0xebb6, 0xee58, 0xea0a, 0xecd0, 0xea0a, 0xecd0, 0xe77e, 0xea69, 0xe77e, 0xea69, -0xe77e, 0xea69, 0xe42e, 0xe740, 0xe42e, 0xe740, 0xe1d0, 0xe50b, 0xe1d0, 0xe50b, 0xe0a2, -0xe406, 0xe0a2, 0xe406, 0xdf5d, 0xe2ec, 0xdf5d, 0xe2ec, 0xde13, 0xe1cd, 0xde13, 0xe1cd, -0xddd1, 0xe1b6, 0xddd1, 0xe1b6, 0xddd1, 0xe1b6, 0xdd3e, 0xe14e, 0xdd3e, 0xe14e, 0xdb19, -0xdf52, 0xdb19, 0xdf52, 0xd96b, 0xddcc, 0xd96b, 0xddcc, 0xd820, 0xdca6, 0xd820, 0xdca6, -0xd65f, 0xdb07, 0xd65f, 0xdb07, 0xd65f, 0xdb07, 0xd50c, 0xd9d2, 0xd50c, 0xd9d2, 0xd40a, -0xd8ea, 0xd40a, 0xd8ea, 0xd403, 0xd8f8, 0xd403, 0xd8f8, 0xd49d, 0xd9a1, 0xd49d, 0xd9a1, -0xd4a3, 0xd9b0, 0xd4a3, 0xd9b0, 0xd54d, 0xda5e, 0xd54d, 0xda5e, 0xd54d, 0xda5e, 0xd698, -0xdba6, 0xd698, 0xdba6, 0xd73d, 0xdc43, 0xd73d, 0xdc43, 0xd7e6, 0xdcdd, 0xd7e6, 0xdcdd, -0xd7d5, 0xdcb8, 0xd7d5, 0xdcb8, 0xd74b, 0xdc16, 0xd74b, 0xdc16, 0xd85d, 0xdd0a, 0xd85d, -0xdd0a, 0xd85d, 0xdd0a, 0xd976, 0xde02, 0xd976, 0xde02, 0xda81, 0xdeea, 0xda81, 0xdeea, -0xdc85, 0xe0c8, 0xdc85, 0xe0c8, 0xddd5, 0xe1f3, 0xddd5, 0xe1f3, 0xde80, 0xe277, 0xde80, -0xe277, 0xde80, 0xe277, 0xdff4, 0xe3c6, 0xdff4, 0xe3c6, 0xe0d5, 0xe484, 0xe0d5, 0xe484, -0xe03c, 0xe3cb, 0xe03c, 0xe3cb, 0xe121, 0xe492, 0xe121, 0xe492, 0xe307, 0xe65e, 0xe307, -0xe65e, 0xe437, 0xe779, 0xe437, 0xe779, 0xe437, 0xe779, 0xe5e3, 0xe913, 0xe5e3, 0xe913, -0xe76a, 0xea8d, 0xe76a, 0xea8d, 0xe87d, 0xeb96, 0xe87d, 0xeb96, 0xe9d7, 0xeceb, 0xe9d7, -0xeceb, 0xeb16, 0xee26, 0xeb16, 0xee26, 0xeb9b, 0xeeab, 0xeb9b, 0xeeab, 0xeb9b, 0xeeab, -0xebd1, 0xeee1, 0xebd1, 0xeee1, 0xec15, 0xef25, 0xec15, 0xef25, 0xece1, 0xefef, 0xece1, -0xefef, 0xee35, 0xf141, 0xee35, 0xf141, 0xeede, 0xf1e4, 0xeede, 0xf1e4, 0xeede, 0xf1e4, -0xef86, 0xf282, 0xef86, 0xf282, 0xf0c9, 0xf3b5, 0xf0c9, 0xf3b5, 0xf25b, 0xf533, 0xf25b, -0xf533, 0xf460, 0xf71d, 0xf460, 0xf71d, 0xf588, 0xf823, 0xf588, 0xf823, 0xf61c, 0xf88d, -0xf61c, 0xf88d, 0xf61c, 0xf88d, 0xf7eb, 0xfa2b, 0xf7eb, 0xfa2b, 0xf98d, 0xfb96, 0xf98d, -0xfb96, 0xfa43, 0xfc0f, 0xfa43, 0xfc0f, 0xfbc5, 0xfd4e, 0xfbc5, 0xfd4e, 0xfd1c, 0xfe5d, -0xfd1c, 0xfe5d, 0xfd3d, 0xfe34, 0xfd3d, 0xfe34, 0xfd3d, 0xfe34, 0xfe76, 0xff1f, 0xfe76, -0xff1f, 0xe7, 0x142, 0xe7, 0x142, 0x20b, 0x21a, 0x20b, 0x21a, 0x2b8, 0x27d, -0x2b8, 0x27d, 0x3d4, 0x352, 0x3d4, 0x352, 0x3d4, 0x352, 0x495, 0x3d1, 0x495, -0x3d1, 0x5b1, 0x4b1, 0x5b1, 0x4b1, 0x709, 0x5d6, 0x709, 0x5d6, 0x7de, 0x680, -0x7de, 0x680, 0x7e5, 0x664, 0x7e5, 0x664, 0x75e, 0x5c5, 0x75e, 0x5c5, 0x75e, -0x5c5, 0x725, 0x57d, 0x725, 0x57d, 0x6e6, 0x53a, 0x6e6, 0x53a, 0x6ea, 0x542, -0x6ea, 0x542, 0x81d, 0x682, 0x81d, 0x682, 0x946, 0x7bf, 0x946, 0x7bf, 0x946, -0x7bf, 0x97c, 0x80f, 0x97c, 0x80f, 0x9b0, 0x864, 0x9b0, 0x864, 0xa90, 0x967, -0xa90, 0x967, 0xb66, 0xa63, 0xb66, 0xa63, 0xb73, 0xa97, 0xb73, 0xa97, 0xb82, -0xacc, 0xb82, 0xacc, 0xb82, 0xacc, 0xb8c, 0xaf9, 0xb8c, 0xaf9, 0xb62, 0xaf0, -0xb62, 0xaf0, 0xba3, 0xb4c, 0xba3, 0xb4c, 0xc50, 0xc0f, 0xc50, 0xc0f, 0xd64, -0xd33, 0xd64, 0xd33, 0xe37, 0xe0f, 0xe37, 0xe0f, 0xe37, 0xe0f, 0xe65, 0xe40, -0xe65, 0xe40, 0xdc2, 0xd98, 0xdc2, 0xd98, 0xceb, 0xcb5, 0xceb, 0xcb5, 0xc6e, -0xc27, 0xc6e, 0xc27, 0xb48, 0xaeb, 0xb48, 0xaeb, 0xb48, 0xaeb, 0xa2e, 0x9b5, -0xa2e, 0x9b5, 0xa51, 0x9ba, 0xa51, 0x9ba, 0xaf2, 0xa3b, 0xaf2, 0xa3b, 0xb65, -0xa8c, 0xb65, 0xa8c, 0xc6f, 0xb76, 0xc6f, 0xb76, 0xd86, 0xc6c, 0xd86, 0xc6c, -0xd86, 0xc6c, 0xda7, 0xc70, 0xda7, 0xc70, 0xd92, 0xc42, 0xd92, 0xc42, 0xd16, -0xbaf, 0xd16, 0xbaf, 0xbae, 0xa35, 0xbae, 0xa35, 0x98b, 0x805, 0x98b, 0x805, -0x811, 0x683, 0x811, 0x683, 0x811, 0x683, 0x7db, 0x649, 0x7db, 0x649, 0x746, -0x5b4, 0x746, 0x5b4, 0x6bb, 0x52e, 0x6bb, 0x52e, 0x6ea, 0x564, 0x6ea, 0x564, -0x644, 0x4c8, 0x644, 0x4c8, 0x644, 0x4c8, 0x536, 0x3c6, 0x536, 0x3c6, 0x4d6, -0x371, 0x4d6, 0x371, 0x382, 0x229, 0x382, 0x229, 0x1e0, 0x91, 0x1e0, 0x91, -0x1c1, 0x7a, 0x1c1, 0x7a, 0x20b, 0xca, 0x20b, 0xca, 0x20b, 0xca, 0x2f1, -0x1b3, 0x2f1, 0x1b3, 0x475, 0x335, 0x475, 0x335, 0x498, 0x355, 0x498, 0x355, -0x46c, 0x320, 0x46c, 0x320, 0x56a, 0x414, 0x56a, 0x414, 0x5a3, 0x440, 0x5a3, -0x440, 0x5a3, 0x440, 0x4d9, 0x367, 0x4d9, 0x367, 0x482, 0x300, 0x482, 0x300, -0x460, 0x2cf, 0x460, 0x2cf, 0x3e2, 0x241, 0x3e2, 0x241, 0x367, 0x1ba, 0x367, -0x1ba, 0x367, 0x1ba, 0x417, 0x260, 0x417, 0x260, 0x528, 0x36c, 0x528, 0x36c, -0x4a7, 0x2eb, 0x4a7, 0x2eb, 0x429, 0x272, 0x429, 0x272, 0x48b, 0x2df, 0x48b, -0x2df, 0x34e, 0x1b5, 0x34e, 0x1b5, 0x34e, 0x1b5, 0x267, 0xe7, 0x267, 0xe7, -0x334, 0x1d1, 0x334, 0x1d1, 0x2e3, 0x1a6, 0x2e3, 0x1a6, 0x2a7, 0x194, 0x2a7, -0x194, 0x369, 0x284, 0x369, 0x284, 0x3e5, 0x331, 0x3e5, 0x331, 0x3e5, 0x331, -0x445, 0x3c5, 0x445, 0x3c5, 0x4b5, 0x46a, 0x4b5, 0x46a, 0x452, 0x43a, 0x452, -0x43a, 0x37a, 0x395, 0x37a, 0x395, 0x30b, 0x354, 0x30b, 0x354, 0x30b, 0x354, -0x255, 0x2c8, 0x255, 0x2c8, 0x217, 0x2ae, 0x217, 0x2ae, 0x1d1, 0x285, 0x1d1, -0x285, 0x191, 0x25b, 0x191, 0x25b, 0x1d0, 0x2a9, 0x1d0, 0x2a9, 0x141, 0x221, -0x141, 0x221, 0x141, 0x221, 0x134, 0x214, 0x134, 0x214, 0x1ca, 0x2a2, 0x1ca, -0x2a2, 0x1ff, 0x2c9, 0x1ff, 0x2c9, 0x265, 0x31c, 0x265, 0x31c, 0x327, 0x3c6, -0x327, 0x3c6, 0x36d, 0x3f1, 0x36d, 0x3f1, 0x36d, 0x3f1, 0x3b2, 0x418, 0x3b2, -0x418, 0x429, 0x473, 0x429, 0x473, 0x363, 0x390, 0x363, 0x390, 0x33e, 0x352, -0x33e, 0x352, 0x408, 0x405, 0x408, 0x405, 0x408, 0x405, 0x3da, 0x3c6, 0x3da, -0x3c6, 0x369, 0x349, 0x369, 0x349, 0x2f5, 0x2cf, 0x2f5, 0x2cf, 0x34d, 0x328, -0x34d, 0x328, 0x45c, 0x43e, 0x45c, 0x43e, 0x45e, 0x44d, 0x45e, 0x44d, 0x45e, -0x44d, 0x44a, 0x44c, 0x44a, 0x44c, 0x492, 0x4ac, 0x492, 0x4ac, 0x41f, 0x454, -0x41f, 0x454, 0x34b, 0x39f, 0x34b, 0x39f, 0x20b, 0x27e, 0x20b, 0x27e, 0x32, -0xc5, 0x32, 0xc5, 0x32, 0xc5, 0xff3c, 0xffed, 0xff3c, 0xffed, 0xff96, 0x60, -0xff96, 0x60, 0xff9f, 0x7f, 0xff9f, 0x7f, 0xffec, 0xdb, 0xffec, 0xdb, 0x7e, -0x175, 0x7e, 0x175, 0x7e, 0x175, 0x11, 0x109, 0x11, 0x109, 0xffa0, 0x8f, -0xffa0, 0x8f, 0xff0e, 0xffed, 0xff0e, 0xffed, 0xfe79, 0xff3e, 0xfe79, 0xff3e, 0xfe5e, -0xff02, 0xfe5e, 0xff02, 0xfe43, 0xfebd, 0xfe43, 0xfebd, 0xfe43, 0xfebd, 0xfe19, 0xfe63, -0xfe19, 0xfe63, 0xfe7f, 0xfe93, 0xfe7f, 0xfe93, 0xffdd, 0xffb7, 0xffdd, 0xffb7, 0x190, -0x12e, 0x190, 0x12e, 0x253, 0x1b3, 0x253, 0x1b3, 0x1f3, 0x116, 0x1f3, 0x116, -0x1f3, 0x116, 0x282, 0x16a, 0x282, 0x16a, 0x2e1, 0x193, 0x2e1, 0x193, 0x235, -0xb5, 0x235, 0xb5, 0x286, 0xdc, 0x286, 0xdc, 0x320, 0x152, 0x320, 0x152, -0x320, 0x152, 0x343, 0x15a, 0x343, 0x15a, 0x480, 0x284, 0x480, 0x284, 0x74e, -0x548, 0x74e, 0x548, 0x8bd, 0x6b4, 0x8bd, 0x6b4, 0x912, 0x70f, 0x912, 0x70f, -0x9d6, 0x7e1, 0x9d6, 0x7e1, 0x9d6, 0x7e1, 0x9bc, 0x7d9, 0x9bc, 0x7d9, 0x91e, -0x753, 0x91e, 0x753, 0x8b2, 0x702, 0x8b2, 0x702, 0x8bb, 0x728, 0x8bb, 0x728, -0x8bb, 0x744, 0x8bb, 0x744, 0x906, 0x7ab, 0x906, 0x7ab, 0x906, 0x7ab, 0x97c, -0x839, 0x97c, 0x839, 0x94e, 0x81f, 0x94e, 0x81f, 0x94b, 0x82b, 0x94b, 0x82b, -0x94c, 0x835, 0x94c, 0x835, 0x947, 0x831, 0x947, 0x831, 0x947, 0x831, 0x91e, -0x802, 0x91e, 0x802, 0x8f5, 0x7cc, 0x8f5, 0x7cc, 0x93a, 0x7fd, 0x93a, 0x7fd, -0x96d, 0x815, 0x96d, 0x815, 0xa4e, 0x8d5, 0xa4e, 0x8d5, 0xb86, 0x9e8, 0xb86, -0x9e8, 0xb86, 0x9e8, 0xb9b, 0x9d2, 0xb9b, 0x9d2, 0xb7f, 0x98b, 0xb7f, 0x98b, -0xb8f, 0x96e, 0xb8f, 0x96e, 0xb17, 0x8c9, 0xb17, 0x8c9, 0xa4d, 0x7d6, 0xa4d, -0x7d6, 0xa4d, 0x7d6, 0x9d9, 0x73b, 0x9d9, 0x73b, 0xa03, 0x743, 0xa03, 0x743, -0xa46, 0x76a, 0xa46, 0x76a, 0xb53, 0x863, 0xb53, 0x863, 0xca9, 0x9ac, 0xca9, -0x9ac, 0xd98, 0xa96, 0xd98, 0xa96, 0xd98, 0xa96, 0xec4, 0xbc5, 0xec4, 0xbc5, -0xf44, 0xc51, 0xf44, 0xc51, 0xefe, 0xc1f, 0xefe, 0xc1f, 0xea7, 0xbe3, 0xea7, -0xbe3, 0xe5a, 0xbb8, 0xe5a, 0xbb8, 0xdd3, 0xb58, 0xdd3, 0xb58, 0xdd3, 0xb58, -0xd95, 0xb45, 0xd95, 0xb45, 0xdab, 0xb8a, 0xdab, 0xb8a, 0xd1d, 0xb2b, 0xd1d, -0xb2b, 0xcbd, 0xafc, 0xcbd, 0xafc, 0xc9b, 0xb08, 0xc9b, 0xb08, 0xc9b, 0xb08, -0xbcf, 0xa69, 0xbcf, 0xa69, 0xb0c, 0x9cf, 0xb0c, 0x9cf, 0xa6a, 0x951, 0xa6a, -0x951, 0x96d, 0x874, 0x96d, 0x874, 0x8ed, 0x80c, 0x8ed, 0x80c, 0x8ca, 0x7fa, -0x8ca, 0x7fa, 0x8ca, 0x7fa, 0x8bf, 0x7fb, 0x8bf, 0x7fb, 0x8d1, 0x811, 0x8d1, -0x811, 0x844, 0x781, 0x844, 0x781, 0x841, 0x776, 0x841, 0x776, 0x971, 0x897, -0x971, 0x897, 0xa54, 0x967, 0xa54, 0x967, 0xa54, 0x967, 0xa83, 0x97f, 0xa83, -0x97f, 0xaec, 0x9ce, 0xaec, 0x9ce, 0xb2d, 0x9f2, 0xb2d, 0x9f2, 0xb49, 0x9f1, -0xb49, 0x9f1, 0xc27, 0xab1, 0xc27, 0xab1, 0xc27, 0xab1, 0xbf5, 0xa63, 0xbf5, -0xa63, 0xb03, 0x956, 0xb03, 0x956, 0xb71, 0x9ac, 0xb71, 0x9ac, 0xbb3, 0x9da, -0xbb3, 0x9da, 0xb74, 0x98a, 0xb74, 0x98a, 0xbf0, 0x9fa, 0xbf0, 0x9fa, 0xbf0, -0x9fa, 0xcb8, 0xaba, 0xcb8, 0xaba, 0xdac, 0xbab, 0xdac, 0xbab, 0xe93, 0xc95, -0xe93, 0xc95, 0xf03, 0xd0c, 0xf03, 0xd0c, 0xf48, 0xd5c, 0xf48, 0xd5c, 0xf51, -0xd75, 0xf51, 0xd75, 0xf51, 0xd75, 0xe7c, 0xcb5, 0xe7c, 0xcb5, 0xdd3, 0xc24, -0xdd3, 0xc24, 0xd93, 0xc00, 0xd93, 0xc00, 0xc38, 0xac2, 0xc38, 0xac2, 0xbcd, -0xa79, 0xbcd, 0xa79, 0xbcd, 0xa79, 0xc14, 0xae2, 0xc14, 0xae2, 0xb74, 0xa66, -0xb74, 0xa66, 0xc3a, 0xb53, 0xc3a, 0xb53, 0xcd2, 0xc12, 0xcd2, 0xc12, 0xb7e, -0xae6, 0xb7e, 0xae6, 0x9f5, 0x986, 0x9f5, 0x986, 0x9f5, 0x986, 0x80b, 0x7c5, -0x80b, 0x7c5, 0x5ab, 0x58e, 0x5ab, 0x58e, 0x419, 0x426, 0x419, 0x426, 0x2c0, -0x2f6, 0x2c0, 0x2f6, 0x151, 0x1b1, 0x151, 0x1b1, 0x132, 0x1bd, 0x132, 0x1bd, -0x132, 0x1bd, 0x15d, 0x212, 0x15d, 0x212, 0x5a, 0x139, 0x5a, 0x139, 0xfe9f, -0xffa8, 0xfe9f, 0xffa8, 0xfc44, 0xfd78, 0xfc44, 0xfd78, 0xf9df, 0xfb3d, 0xf9df, 0xfb3d, -0xf9df, 0xfb3d, 0xf826, 0xf9ae, 0xf826, 0xf9ae, 0xf619, 0xf7ca, 0xf619, 0xf7ca, 0xf428, -0xf603, 0xf428, 0xf603, 0xf37b, 0xf57f, 0xf37b, 0xf57f, 0xf354, 0xf581, 0xf354, 0xf581, -0xf30a, 0xf55f, 0xf30a, 0xf55f, 0xf30a, 0xf55f, 0xf24d, 0xf4c9, 0xf24d, 0xf4c9, 0xf1a4, -0xf446, 0xf1a4, 0xf446, 0xf104, 0xf3cc, 0xf104, 0xf3cc, 0xef83, 0xf270, 0xef83, 0xf270, -0xed99, 0xf0a9, 0xed99, 0xf0a9, 0xeb86, 0xeeb8, 0xeb86, 0xeeb8, 0xeb86, 0xeeb8, 0xe95c, -0xecb0, 0xe95c, 0xecb0, 0xe7d0, 0xeb44, 0xe7d0, 0xeb44, 0xe731, 0xeac4, 0xe731, 0xeac4, -0xe694, 0xea44, 0xe694, 0xea44, 0xe4c6, 0xe892, 0xe4c6, 0xe892, 0xe4c6, 0xe892, 0xe2e2, -0xe6c8, 0xe2e2, 0xe6c8, 0xe195, 0xe594, 0xe195, 0xe594, 0xe01d, 0xe433, 0xe01d, 0xe433, -0xdeb5, 0xe2e1, 0xdeb5, 0xe2e1, 0xdd4a, 0xe189, 0xdd4a, 0xe189, 0xdbf1, 0xe043, 0xdbf1, -0xe043, 0xdbf1, 0xe043, 0xdb1a, 0xdf7c, 0xdb1a, 0xdf7c, 0xdb99, 0xe008, 0xdb99, 0xe008, -0xdc70, 0xe0eb, 0xdc70, 0xe0eb, 0xdc70, 0xe0f3, 0xdc70, 0xe0f3, 0xdd06, 0xe190, 0xdd06, -0xe190, 0xdd33, 0xe1c1, 0xdd33, 0xe1c1, 0xdd33, 0xe1c1, 0xdcdd, 0xe16c, 0xdcdd, 0xe16c, -0xdd01, 0xe18d, 0xdd01, 0xe18d, 0xdd00, 0xe187, 0xdd00, 0xe187, 0xdcc1, 0xe13f, 0xdcc1, -0xe13f, 0xdcf0, 0xe162, 0xdcf0, 0xe162, 0xdcf0, 0xe162, 0xde25, 0xe288, 0xde25, 0xe288, -0xdef8, 0xe34a, 0xdef8, 0xe34a, 0xe02a, 0xe467, 0xe02a, 0xe467, 0xe1b6, 0xe5db, 0xe1b6, -0xe5db, 0xe24d, 0xe657, 0xe24d, 0xe657, 0xe2f6, 0xe6e4, 0xe2f6, 0xe6e4, 0xe2f6, 0xe6e4, -0xe339, 0xe708, 0xe339, 0xe708, 0xe341, 0xe6f0, 0xe341, 0xe6f0, 0xe3c5, 0xe752, 0xe3c5, -0xe752, 0xe444, 0xe7af, 0xe444, 0xe7af, 0xe518, 0xe860, 0xe518, 0xe860, 0xe705, 0xea2a, -0xe705, 0xea2a, 0xe705, 0xea2a, 0xe898, 0xeb9c, 0xe898, 0xeb9c, 0xe937, 0xec18, 0xe937, -0xec18, 0xea25, 0xece5, 0xea25, 0xece5, 0xeae5, 0xed84, 0xeae5, 0xed84, 0xeb28, 0xeda9, -0xeb28, 0xeda9, 0xeb28, 0xeda9, 0xeb0b, 0xed6f, 0xeb0b, 0xed6f, 0xeb26, 0xed6d, 0xeb26, -0xed6d, 0xec1e, 0xee4b, 0xec1e, 0xee4b, 0xed3d, 0xef51, 0xed3d, 0xef51, 0xedaf, 0xefaa, -0xedaf, 0xefaa, 0xedf7, 0xefdc, 0xedf7, 0xefdc, 0xedf7, 0xefdc, 0xee60, 0xf030, 0xee60, -0xf030, 0xeee1, 0xf09b, 0xeee1, 0xf09b, 0xf0da, 0xf280, 0xf0da, 0xf280, 0xf2f5, 0xf487, -0xf2f5, 0xf487, 0xf3e2, 0xf560, 0xf3e2, 0xf560, 0xf516, 0xf681, 0xf516, 0xf681, 0xf516, -0xf681, 0xf674, 0xf7ca, 0xf674, 0xf7ca, 0xf75c, 0xf89e, 0xf75c, 0xf89e, 0xf795, 0xf8c2, -0xf795, 0xf8c2, 0xf739, 0xf851, 0xf739, 0xf851, 0xf75f, 0xf862, 0xf75f, 0xf862, 0xf75f, -0xf862, 0xf85a, 0xf947, 0xf85a, 0xf947, 0xf9c0, 0xfa97, 0xf9c0, 0xfa97, 0xfaed, 0xfbae, -0xfaed, 0xfbae, 0xfb40, 0xfbeb, 0xfb40, 0xfbeb, 0xfc06, 0xfc9b, 0xfc06, 0xfc9b, 0xfdef, -0xfe6f, 0xfdef, 0xfe6f, 0xfdef, 0xfe6f, 0xffa3, 0x10, 0xffa3, 0x10, 0x38, 0x92, -0x38, 0x92, 0x52, 0x99, 0x52, 0x99, 0x6b, 0xa2, 0x6b, 0xa2, 0xbd, -0xe5, 0xbd, 0xe5, 0xbd, 0xe5, 0x14f, 0x16a, 0x14f, 0x16a, 0x130, 0x13e, -0x130, 0x13e, 0x174, 0x178, 0x174, 0x178, 0x1ad, 0x1a7, 0x1ad, 0x1a7, 0x241, -0x233, 0x241, 0x233, 0x4b5, 0x4a1, 0x4b5, 0x4a1, 0x4b5, 0x4a1, 0x65f, 0x644, -0x65f, 0x644, 0x6e8, 0x6c7, 0x6e8, 0x6c7, 0x758, 0x732, 0x758, 0x732, 0x78e, -0x763, 0x78e, 0x763, 0x7c6, 0x796, 0x7c6, 0x796, 0x888, 0x851, 0x888, 0x851, -0x888, 0x851, 0x8a9, 0x86b, 0x8a9, 0x86b, 0x7ea, 0x7a3, 0x7ea, 0x7a3, 0x92d, -0x8dd, 0x92d, 0x8dd, 0xad0, 0xa75, 0xad0, 0xa75, 0xb7f, 0xb18, 0xb7f, 0xb18, -0xb7f, 0xb18, 0xc54, 0xbdf, 0xc54, 0xbdf, 0xc04, 0xb80, 0xc04, 0xb80, 0xb16, -0xa81, 0xb16, 0xa81, 0xa9c, 0x9f4, 0xa9c, 0x9f4, 0x9e6, 0x92b, 0x9e6, 0x92b, -0x914, 0x845, 0x914, 0x845, 0x914, 0x845, 0x8b1, 0x7cd, 0x8b1, 0x7cd, 0x8f1, -0x7f8, 0x8f1, 0x7f8, 0xa0d, 0x8fe, 0xa0d, 0x8fe, 0xb0e, 0x9eb, 0xb0e, 0x9eb, -0xb4e, 0xa17, 0xb4e, 0xa17, 0xb9b, 0xa50, 0xb9b, 0xa50, 0xb9b, 0xa50, 0xbe3, -0xa86, 0xbe3, 0xa86, 0xb31, 0x9c3, 0xb31, 0x9c3, 0xabb, 0x93d, 0xabb, 0x93d, -0xa4a, 0x8be, 0xa4a, 0x8be, 0x91d, 0x786, 0x91d, 0x786, 0x91d, 0x786, 0x969, -0x7c7, 0x969, 0x7c7, 0x9b2, 0x807, 0x9b2, 0x807, 0x8e8, 0x735, 0x8e8, 0x735, -0x825, 0x66c, 0x825, 0x66c, 0x6cb, 0x50d, 0x6cb, 0x50d, 0x5c3, 0x401, 0x5c3, -0x401, 0x5c3, 0x401, 0x5f2, 0x42c, 0x5f2, 0x42c, 0x586, 0x3bd, 0x586, 0x3bd, -0x448, 0x27d, 0x448, 0x27d, 0x504, 0x336, 0x504, 0x336, 0x671, 0x4a1, 0x671, -0x4a1, 0x6bd, 0x4eb, 0x6bd, 0x4eb, 0x6bd, 0x4eb, 0x754, 0x57e, 0x754, 0x57e, -0x810, 0x637, 0x810, 0x637, 0x848, 0x66d, 0x848, 0x66d, 0x8b2, 0x6d3, 0x8b2, -0x6d3, 0x949, 0x767, 0x949, 0x767, 0x949, 0x767, 0x8bc, 0x6d8, 0x8bc, 0x6d8, -0x763, 0x57d, 0x763, 0x57d, 0x6ce, 0x4e7, 0x6ce, 0x4e7, 0x79e, 0x5b7, 0x79e, -0x5b7, 0x831, 0x64b, 0x831, 0x64b, 0x82d, 0x64b, 0x82d, 0x64b, 0x82d, 0x64b, -0x81f, 0x642, 0x81f, 0x642, 0x799, 0x5c3, 0x799, 0x5c3, 0x775, 0x5aa, 0x775, -0x5aa, 0x719, 0x55b, 0x719, 0x55b, 0x651, 0x4a3, 0x651, 0x4a3, 0x538, 0x39c, -0x538, 0x39c, 0x538, 0x39c, 0x4fa, 0x373, 0x4fa, 0x373, 0x66d, 0x4fe, 0x66d, -0x4fe, 0x790, 0x63b, 0x790, 0x63b, 0x850, 0x717, 0x850, 0x717, 0x8b2, 0x796, -0x8b2, 0x796, 0x8b2, 0x796, 0x8f1, 0x7f4, 0x8f1, 0x7f4, 0x91b, 0x83d, 0x91b, -0x83d, 0x8d8, 0x81a, 0x8d8, 0x81a, 0x847, 0x7a8, 0x847, 0x7a8, 0x717, 0x696, -0x717, 0x696, 0x6c1, 0x65e, 0x6c1, 0x65e, 0x6c1, 0x65e, 0x6e5, 0x69d, 0x6e5, -0x69d, 0x658, 0x62a, 0x658, 0x62a, 0x5bd, 0x5a5, 0x5bd, 0x5a5, 0x4a5, 0x4a2, -0x4a5, 0x4a2, 0x3bb, 0x3ca, 0x3bb, 0x3ca, 0x40f, 0x42c, 0x40f, 0x42c, 0x40f, -0x42c, 0x4e1, 0x509, 0x4e1, 0x509, 0x529, 0x559, 0x529, 0x559, 0x49b, 0x4d1, -0x49b, 0x4d1, 0x4ad, 0x4e6, 0x4ad, 0x4e6, 0x595, 0x5cf, 0x595, 0x5cf, 0x595, -0x5cf, 0x5de, 0x617, 0x5de, 0x617, 0x4c7, 0x4fd, 0x4c7, 0x4fd, 0x304, 0x335, -0x304, 0x335, 0x25d, 0x288, 0x25d, 0x288, 0x1e4, 0x209, 0x1e4, 0x209, 0x16e, -0x18c, 0x16e, 0x18c, 0x16e, 0x18c, 0x1c2, 0x1d9, 0x1c2, 0x1d9, 0x16d, 0x17e, -0x16d, 0x17e, 0x15f, 0x16a, 0x15f, 0x16a, 0x284, 0x28a, 0x284, 0x28a, 0x329, -0x32a, 0x329, 0x32a, 0x31e, 0x31a, 0x31e, 0x31a, 0x31e, 0x31a, 0x303, 0x2fc, -0x303, 0x2fc, 0x25d, 0x253, 0x25d, 0x253, 0x1ce, 0x1c0, 0x1ce, 0x1c0, 0x179, -0x169, 0x179, 0x169, 0x5d, 0x49, 0x5d, 0x49, 0x5d, 0x49, 0xff2d, 0xff15, -0xff2d, 0xff15, 0xfec2, 0xfea5, 0xfec2, 0xfea5, 0xfe85, 0xfe61, 0xfe85, 0xfe61, 0xfe75, -0xfe4a, 0xfe75, 0xfe4a, 0xfe92, 0xfe5d, 0xfe92, 0xfe5d, 0xfdad, 0xfd6d, 0xfdad, 0xfd6d, -0xfdad, 0xfd6d, 0xfcc4, 0xfc78, 0xfcc4, 0xfc78, 0xfc67, 0xfc0c, 0xfc67, 0xfc0c, 0xfbf9, -0xfb8d, 0xfbf9, 0xfb8d, 0xfaeb, 0xfa6c, 0xfaeb, 0xfa6c, 0xf931, 0xf89e, 0xf931, 0xf89e, -0xf9ca, 0xf922, 0xf9ca, 0xf922, 0xf9ca, 0xf922, 0xfb83, 0xfac4, 0xfb83, 0xfac4, 0xfc0a, -0xfb34, 0xfc0a, 0xfb34, 0xfd1a, 0xfc2c, 0xfd1a, 0xfc2c, 0xfe55, 0xfd4f, 0xfe55, 0xfd4f, -0xfeb1, 0xfd94, 0xfeb1, 0xfd94, 0xfeb1, 0xfd94, 0xff17, 0xfde4, 0xff17, 0xfde4, 0xffc3, -0xfe7c, 0xffc3, 0xfe7c, 0xff50, 0xfdf6, 0xff50, 0xfdf6, 0xff11, 0xfda8, 0xff11, 0xfda8, -0x2e, 0xfeb7, 0x2e, 0xfeb7, 0x17b, 0xfff9, 0x17b, 0xfff9, 0x17b, 0xfff9, 0x2e4, -0x15a, 0x2e4, 0x15a, 0x398, 0x20b, 0x398, 0x20b, 0x429, 0x29a, 0x429, 0x29a, -0x52a, 0x39d, 0x52a, 0x39d, 0x5f0, 0x468, 0x5f0, 0x468, 0x6d2, 0x552, 0x6d2, -0x552, 0x6d2, 0x552, 0x6c7, 0x551, 0x6c7, 0x551, 0x668, 0x4fe, 0x668, 0x4fe, -0x76b, 0x610, 0x76b, 0x610, 0x803, 0x6b6, 0x803, 0x6b6, 0x788, 0x64c, 0x788, -0x64c, 0x788, 0x64c, 0x777, 0x64b, 0x777, 0x64b, 0x759, 0x63d, 0x759, 0x63d, -0x711, 0x604, 0x711, 0x604, 0x7be, 0x6bf, 0x7be, 0x6bf, 0x7fb, 0x707, 0x7fb, -0x707, 0x715, 0x62c, 0x715, 0x62c, 0x715, 0x62c, 0x722, 0x640, 0x722, 0x640, -0x7c0, 0x6e3, 0x7c0, 0x6e3, 0x83a, 0x75f, 0x83a, 0x75f, 0x90f, 0x833, 0x90f, -0x833, 0x995, 0x8b6, 0x995, 0x8b6, 0x995, 0x8b6, 0x9e2, 0x8fc, 0x9e2, 0x8fc, -0xa28, 0x93a, 0xa28, 0x93a, 0x9e8, 0x8ee, 0x9e8, 0x8ee, 0x9ab, 0x8a3, 0x9ab, -0x8a3, 0x9b5, 0x89e, 0x9b5, 0x89e, 0x982, 0x85b, 0x982, 0x85b, 0x982, 0x85b, -0xa21, 0x8e8, 0xa21, 0x8e8, 0xb7b, 0xa30, 0xb7b, 0xa30, 0xc56, 0xafa, 0xc56, -0xafa, 0xd42, 0xbd4, 0xd42, 0xbd4, 0xe38, 0xcba, 0xe38, 0xcba, 0xf29, 0xd9b, -0xf29, 0xd9b, 0xf29, 0xd9b, 0x1025, 0xe8a, 0x1025, 0xe8a, 0x1027, 0xe7f, 0x1027, -0xe7f, 0xf6e, 0xdbd, 0xf6e, 0xdbd, 0xf57, 0xd9d, 0xf57, 0xd9d, 0xf93, 0xdd4, -0xf93, 0xdd4, 0xf93, 0xdd4, 0xf9b, 0xdd9, 0xf9b, 0xdd9, 0xfe0, 0xe1b, 0xfe0, -0xe1b, 0xfb0, 0xdeb, 0xfb0, 0xdeb, 0xef0, 0xd2d, 0xef0, 0xd2d, 0xeaf, 0xcef, -0xeaf, 0xcef, 0xe72, 0xcb5, 0xe72, 0xcb5, 0xe72, 0xcb5, 0xd98, 0xbdf, 0xd98, -0xbdf, 0xc6f, 0xaba, 0xc6f, 0xaba, 0xb93, 0x9e1, 0xb93, 0x9e1, 0xbe8, 0xa39, -0xbe8, 0xa39, 0xc6d, 0xac0, 0xc6d, 0xac0, 0xbe4, 0xa36, 0xbe4, 0xa36, 0xbe4, -0xa36, 0xae8, 0x938, 0xae8, 0x938, 0x9e7, 0x834, 0x9e7, 0x834, 0x98a, 0x7d1, -0x98a, 0x7d1, 0xa4f, 0x88e, 0xa4f, 0x88e, 0xaf4, 0x929, 0xaf4, 0x929, 0xaf4, -0x929, 0xaca, 0x8f2, 0xaca, 0x8f2, 0xb8d, 0x9a7, 0xb8d, 0x9a7, 0xd75, 0xb80, -0xd75, 0xb80, 0xecb, 0xcc5, 0xecb, 0xcc5, 0xee4, 0xccd, 0xee4, 0xccd, 0xe3e, -0xc16, 0xe3e, 0xc16, 0xe3e, 0xc16, 0xdbb, 0xb82, 0xdbb, 0xb82, 0xd9a, 0xb52, -0xd9a, 0xb52, 0xe2d, 0xbd7, 0xe2d, 0xbd7, 0xeda, 0xc79, 0xeda, 0xc79, 0xf6a, -0xd01, 0xf6a, 0xd01, 0x1084, 0xe18, 0x1084, 0xe18, 0x1084, 0xe18, 0x11a3, 0xf37, -0x11a3, 0xf37, 0x1230, 0xfc9, 0x1230, 0xfc9, 0x1237, 0xfdb, 0x1237, 0xfdb, 0x126d, -0x1021, 0x126d, 0x1021, 0x123c, 0x1006, 0x123c, 0x1006, 0x123c, 0x1006, 0x11ac, 0xf91, -0x11ac, 0xf91, 0x113d, 0xf43, 0x113d, 0xf43, 0x1012, 0xe3f, 0x1012, 0xe3f, 0xe9f, -0xcf7, 0xe9f, 0xcf7, 0xdb1, 0xc3a, 0xdb1, 0xc3a, 0xd63, 0xc22, 0xd63, 0xc22, -0xd63, 0xc22, 0xd1c, 0xc13, 0xd1c, 0xc13, 0xcce, 0xc00, 0xcce, 0xc00, 0xc64, -0xbd5, 0xc64, 0xbd5, 0xb22, 0xad3, 0xb22, 0xad3, 0x966, 0x958, 0x966, 0x958, -0x78b, 0x7bd, 0x78b, 0x7bd, 0x78b, 0x7bd, 0x5a1, 0x614, 0x5a1, 0x614, 0x3c9, -0x47a, 0x3c9, 0x47a, 0x24a, 0x338, 0x24a, 0x338, 0x16b, 0x294, 0x16b, 0x294, -0xf5, 0x256, 0xf5, 0x256, 0xf5, 0x256, 0x72, 0x207, 0x72, 0x207, 0xff39, -0xff, 0xff39, 0xff, 0xfd60, 0xff53, 0xfd60, 0xff53, 0xfbcb, 0xfde8, 0xfbcb, 0xfde8, -0xfa0b, 0xfc4d, 0xfa0b, 0xfc4d, 0xf791, 0xf9f5, 0xf791, 0xf9f5, 0xf791, 0xf9f5, 0xf582, -0xf805, 0xf582, 0xf805, 0xf3ed, 0xf68c, 0xf3ed, 0xf68c, 0xf23d, 0xf4f4, 0xf23d, 0xf4f4, -0xf109, 0xf3d7, 0xf109, 0xf3d7, 0xf018, 0xf2fa, 0xf018, 0xf2fa, 0xee97, 0xf18d, 0xee97, -0xf18d, 0xee97, 0xf18d, 0xeda9, 0xf0b1, 0xeda9, 0xf0b1, 0xed7b, 0xf094, 0xed7b, 0xf094, -0xec67, 0xef91, 0xec67, 0xef91, 0xeaa2, 0xeddd, 0xeaa2, 0xeddd, 0xe8cb, 0xec17, 0xe8cb, -0xec17, 0xe8cb, 0xec17, 0xe773, 0xead0, 0xe773, 0xead0, 0xe6ed, 0xea5c, 0xe6ed, 0xea5c, -0xe5cd, 0xe94d, 0xe5cd, 0xe94d, 0xe38c, 0xe71f, 0xe38c, 0xe71f, 0xe175, 0xe519, 0xe175, -0xe519, 0xdfbf, 0xe375, 0xdfbf, 0xe375, 0xdfbf, 0xe375, 0xdede, 0xe2a5, 0xdede, 0xe2a5, -0xde13, 0xe1ea, 0xde13, 0xe1ea, 0xdbcf, 0xdfb6, 0xdbcf, 0xdfb6, 0xda26, 0xde1a, 0xda26, -0xde1a, 0xd982, 0xdd82, 0xd982, 0xdd82, 0xd947, 0xdd51, 0xd947, 0xdd51, 0xd947, 0xdd51, -0xd9ee, 0xddfe, 0xd9ee, 0xddfe, 0xda45, 0xde59, 0xda45, 0xde59, 0xd9fe, 0xde12, 0xd9fe, -0xde12, 0xda57, 0xde68, 0xda57, 0xde68, 0xdb61, 0xdf6c, 0xdb61, 0xdf6c, 0xdb61, 0xdf6c, -0xdb4e, 0xdf4f, 0xdb4e, 0xdf4f, 0xdb37, 0xdf29, 0xdb37, 0xdf29, 0xdb88, 0xdf68, 0xdb88, -0xdf68, 0xdb5f, 0xdf2b, 0xdb5f, 0xdf2b, 0xdc47, 0xdff9, 0xdc47, 0xdff9, 0xdcfb, 0xe091, -0xdcfb, 0xe091, 0xdcfb, 0xe091, 0xdd29, 0xe0a1, 0xdd29, 0xe0a1, 0xde85, 0xe1dc, 0xde85, -0xe1dc, 0xdff4, 0xe328, 0xdff4, 0xe328, 0xe0e8, 0xe3f8, 0xe0e8, 0xe3f8, 0xe1ea, 0xe4d3, -0xe1ea, 0xe4d3, 0xe1fa, 0xe4bd, 0xe1fa, 0xe4bd, 0xe1fa, 0xe4bd, 0xe1d4, 0xe46f, 0xe1d4, -0xe46f, 0xe2f6, 0xe56a, 0xe2f6, 0xe56a, 0xe470, 0xe6be, 0xe470, 0xe6be, 0xe64e, 0xe876, -0xe64e, 0xe876, 0xe818, 0xea1b, 0xe818, 0xea1b, 0xe818, 0xea1b, 0xe906, 0xeae6, 0xe906, -0xeae6, 0xea28, 0xebe6, 0xea28, 0xebe6, 0xeb30, 0xeccf, 0xeb30, 0xeccf, 0xeb8e, 0xed10, -0xeb8e, 0xed10, 0xec3c, 0xeda2, 0xec3c, 0xeda2, 0xed50, 0xee9e, 0xed50, 0xee9e, 0xed50, -0xee9e, 0xee3d, 0xef73, 0xee3d, 0xef73, 0xefbd, 0xf0df, 0xefbd, 0xf0df, 0xf12f, 0xf23f, -0xf12f, 0xf23f, 0xf12e, 0xf22f, 0xf12e, 0xf22f, 0xf0e2, 0xf1d6, 0xf0e2, 0xf1d6, 0xf120, -0xf209, 0xf120, 0xf209, 0xf120, 0xf209, 0xf1ae, 0xf28e, 0xf1ae, 0xf28e, 0xf2ce, 0xf3a8, -0xf2ce, 0xf3a8, 0xf3fd, 0xf4d2, 0xf3fd, 0xf4d2, 0xf566, 0xf638, 0xf566, 0xf638, 0xf74e, -0xf81f, 0xf74e, 0xf81f, 0xf74e, 0xf81f, 0xf918, 0xf9e9, 0xf918, 0xf9e9, 0xfa95, 0xfb69, -0xfa95, 0xfb69, 0xfac5, 0xfb9c, 0xfac5, 0xfb9c, 0xfa03, 0xfadd, 0xfa03, 0xfadd, 0xfa47, -0xfb26, 0xfa47, 0xfb26, 0xfb57, 0xfc3a, 0xfb57, 0xfc3a, 0xfb57, 0xfc3a, 0xfbd4, 0xfcbb, -0xfbd4, 0xfcbb, 0xfc65, 0xfd51, 0xfc65, 0xfd51, 0xfdad, 0xfe9c, 0xfdad, 0xfe9c, 0xff37, -0x28, 0xff37, 0x28, 0xd5, 0x1c9, 0xd5, 0x1c9, 0xd5, 0x1c9, 0x184, 0x277, -0x184, 0x277, 0x1f1, 0x2e2, 0x1f1, 0x2e2, 0x286, 0x373, 0x286, 0x373, 0x2d3, -0x3bb, 0x2d3, 0x3bb, 0x376, 0x455, 0x376, 0x455, 0x36e, 0x442, 0x36e, 0x442, -0x36e, 0x442, 0x377, 0x43d, 0x377, 0x43d, 0x462, 0x519, 0x462, 0x519, 0x559, -0x5fd, 0x559, 0x5fd, 0x6eb, 0x779, 0x6eb, 0x779, 0x8ff, 0x976, 0x8ff, 0x976, -0xa25, 0xa82, 0xa25, 0xa82, 0xa25, 0xa82, 0xa92, 0xad5, 0xa92, 0xad5, 0xbf6, -0xc1c, 0xbf6, 0xc1c, 0xce4, 0xced, 0xce4, 0xced, 0xc6b, 0xc55, 0xc6b, 0xc55, -0xc62, 0xc2f, 0xc62, 0xc2f, 0xc62, 0xc2f, 0xc22, 0xbd1, 0xc22, 0xbd1, 0xbfe, -0xb91, 0xbfe, 0xb91, 0xd4c, 0xcc3, 0xd4c, 0xcc3, 0xe1a, 0xd78, 0xe1a, 0xd78, -0xe17, 0xd5e, 0xe17, 0xd5e, 0xe46, 0xd77, 0xe46, 0xd77, 0xe46, 0xd77, 0xe43, -0xd62, 0xe43, 0xd62, 0xe23, 0xd32, 0xe23, 0xd32, 0xd68, 0xc69, 0xd68, 0xc69, -0xc24, 0xb1c, 0xc24, 0xb1c, 0xb68, 0xa57, 0xb68, 0xa57, 0xad9, 0x9c3, 0xad9, -0x9c3, 0xad9, 0x9c3, 0xa43, 0x92a, 0xa43, 0x92a, 0xa11, 0x8f6, 0xa11, 0x8f6, -0x9a1, 0x887, 0x9a1, 0x887, 0x92e, 0x814, 0x92e, 0x814, 0x95b, 0x842, 0x95b, -0x842, 0x95b, 0x842, 0x919, 0x800, 0x919, 0x800, 0x890, 0x778, 0x890, 0x778, -0x8c8, 0x7b0, 0x8c8, 0x7b0, 0x8b8, 0x79e, 0x8b8, 0x79e, 0x852, 0x733, 0x852, -0x733, 0x8e2, 0x7be, 0x8e2, 0x7be, 0x8e2, 0x7be, 0x872, 0x746, 0x872, 0x746, -0x653, 0x51b, 0x653, 0x51b, 0x550, 0x40c, 0x550, 0x40c, 0x534, 0x3e0, 0x534, -0x3e0, 0x4df, 0x379, 0x4df, 0x379, 0x495, 0x31c, 0x495, 0x31c, 0x495, 0x31c, -0x479, 0x2ec, 0x479, 0x2ec, 0x42f, 0x28d, 0x42f, 0x28d, 0x3cc, 0x213, 0x3cc, -0x213, 0x41f, 0x251, 0x41f, 0x251, 0x453, 0x271, 0x453, 0x271, 0x453, 0x271, -0x452, 0x25c, 0x452, 0x25c, 0x4da, 0x2d4, 0x4da, 0x2d4, 0x575, 0x360, 0x575, -0x360, 0x548, 0x328, 0x548, 0x328, 0x4c1, 0x29a, 0x4c1, 0x29a, 0x4f4, 0x2ca, -0x4f4, 0x2ca, 0x4f4, 0x2ca, 0x4f2, 0x2c9, 0x4f2, 0x2c9, 0x4d1, 0x2ad, 0x4d1, -0x2ad, 0x4a8, 0x28e, 0x4a8, 0x28e, 0x416, 0x20b, 0x416, 0x20b, 0x3a6, 0x1ae, -0x3a6, 0x1ae, 0x34f, 0x16e, 0x34f, 0x16e, 0x34f, 0x16e, 0x3e0, 0x21a, 0x3e0, -0x21a, 0x400, 0x257, 0x400, 0x257, 0x30c, 0x184, 0x30c, 0x184, 0x269, 0x103, -0x269, 0x103, 0x203, 0xc1, 0x203, 0xc1, 0x203, 0xc1, 0x27a, 0x15d, 0x27a, -0x15d, 0x385, 0x28c, 0x385, 0x28c, 0x45d, 0x387, 0x45d, 0x387, 0x46f, 0x3bb, -0x46f, 0x3bb, 0x4c6, 0x432, 0x4c6, 0x432, 0x5cc, 0x556, 0x5cc, 0x556, 0x5cc, -0x556, 0x59e, 0x542, 0x59e, 0x542, 0x5bf, 0x57a, 0x5bf, 0x57a, 0x622, 0x5f1, -0x622, 0x5f1, 0x544, 0x523, 0x544, 0x523, 0x4c1, 0x4ad, 0x4c1, 0x4ad, 0x4d6, -0x4cb, 0x4d6, 0x4cb, 0x4d6, 0x4cb, 0x452, 0x44d, 0x452, 0x44d, 0x32d, 0x32a, -0x32d, 0x32a, 0x24d, 0x24a, 0x24d, 0x24a, 0x209, 0x205, 0x209, 0x205, 0x239, -0x231, 0x239, 0x231, 0x239, 0x231, 0x24a, 0x23d, 0x24a, 0x23d, 0x24d, 0x23a, -0x24d, 0x23a, 0x33e, 0x326, 0x33e, 0x326, 0x465, 0x447, 0x465, 0x447, 0x4e2, -0x4bf, 0x4e2, 0x4bf, 0x4ce, 0x4a7, 0x4ce, 0x4a7, 0x4ce, 0x4a7, 0x35c, 0x334, -0x35c, 0x334, 0x1ab, 0x183, 0x1ab, 0x183, 0x163, 0x13c, 0x163, 0x13c, 0xac, -0x89, 0xac, 0x89, 0xffda, 0xffbd, 0xffda, 0xffbd, 0x7a, 0x65, 0x7a, 0x65, -0x7a, 0x65, 0xd9, 0xce, 0xd9, 0xce, 0x13d, 0x13e, 0x13d, 0x13e, 0x2a2, -0x2b0, 0x2a2, 0x2b0, 0x2bc, 0x2d8, 0x2bc, 0x2d8, 0x236, 0x261, 0x236, 0x261, -0x236, 0x261, 0x305, 0x33f, 0x305, 0x33f, 0x285, 0x2cd, 0x285, 0x2cd, 0x16b, -0x1c2, 0x16b, 0x1c2, 0x179, 0x1dd, 0x179, 0x1dd, 0x8f, 0xfe, 0x8f, 0xfe, -0xff87, 0x1, 0xff87, 0x1, 0xff87, 0x1, 0xff62, 0xffe4, 0xff62, 0xffe4, 0xffa1, -0x28, 0xffa1, 0x28, 0xffe4, 0x6f, 0xffe4, 0x6f, 0xff4f, 0xffda, 0xff4f, 0xffda, -0xff0b, 0xff94, 0xff0b, 0xff94, 0xff42, 0xffc6, 0xff42, 0xffc6, 0xff42, 0xffc6, 0xfe2e, -0xfeab, 0xfe2e, 0xfeab, 0xfc86, 0xfcfa, 0xfc86, 0xfcfa, 0xfbc9, 0xfc31, 0xfbc9, 0xfc31, -0xfb95, 0xfbef, 0xfb95, 0xfbef, 0xfbd4, 0xfc20, 0xfbd4, 0xfc20, 0xfbd4, 0xfc20, 0xfd2c, -0xfd67, 0xfd2c, 0xfd67, 0xfe19, 0xfe45, 0xfe19, 0xfe45, 0xfe6e, 0xfe88, 0xfe6e, 0xfe88, -0x27, 0x31, 0x27, 0x31, 0x155, 0x14e, 0x155, 0x14e, 0x144, 0x12d, 0x144, -0x12d, 0x144, 0x12d, 0x1ec, 0x1c7, 0x1ec, 0x1c7, 0x26f, 0x23c, 0x26f, 0x23c, -0x2a6, 0x268, 0x2a6, 0x268, 0x37e, 0x336, 0x37e, 0x336, 0x4a9, 0x459, 0x4a9, -0x459, 0x581, 0x52c, 0x581, 0x52c, 0x581, 0x52c, 0x614, 0x5bc, 0x614, 0x5bc, -0x729, 0x6cf, 0x729, 0x6cf, 0x876, 0x81c, 0x876, 0x81c, 0x933, 0x8db, 0x933, -0x8db, 0x9c5, 0x972, 0x9c5, 0x972, 0x9c5, 0x972, 0x9df, 0x991, 0x9df, 0x991, -0x9b5, 0x96e, 0x9b5, 0x96e, 0xa8a, 0xa4a, 0xa8a, 0xa4a, 0xb08, 0xad0, 0xb08, -0xad0, 0xa4e, 0xa1d, 0xa4e, 0xa1d, 0x95c, 0x933, 0x95c, 0x933, 0x95c, 0x933, -0x8e5, 0x8c4, 0x8e5, 0x8c4, 0x8f2, 0x8d6, 0x8f2, 0x8d6, 0x8e8, 0x8d2, 0x8e8, -0x8d2, 0x89c, 0x88a, 0x89c, 0x88a, 0x84b, 0x83b, 0x84b, 0x83b, 0x84b, 0x83b, -0x826, 0x817, 0x826, 0x817, 0x831, 0x821, 0x831, 0x821, 0x8a6, 0x893, 0x8a6, -0x893, 0x8b8, 0x8a0, 0x8b8, 0x8a0, 0x809, 0x7eb, 0x809, 0x7eb, 0x7f5, 0x7cf, -0x7f5, 0x7cf, 0x7f5, 0x7cf, 0x821, 0x7f1, 0x821, 0x7f1, 0x7dd, 0x7a1, 0x7dd, -0x7a1, 0x82f, 0x7e6, 0x82f, 0x7e6, 0x8b5, 0x85f, 0x8b5, 0x85f, 0x8af, 0x84a, -0x8af, 0x84a, 0x98d, 0x919, 0x98d, 0x919, 0x98d, 0x919, 0xa69, 0x9e5, 0xa69, -0x9e5, 0xa56, 0x9c4, 0xa56, 0x9c4, 0xb64, 0xac3, 0xb64, 0xac3, 0xcb0, 0xbff, -0xcb0, 0xbff, 0xd2c, 0xc6e, 0xd2c, 0xc6e, 0xd2c, 0xc6e, 0xdc6, 0xcfb, 0xdc6, -0xcfb, 0xd93, 0xcbb, 0xd93, 0xcbb, 0xcf4, 0xc11, 0xcf4, 0xc11, 0xd07, 0xc19, -0xd07, 0xc19, 0xcd5, 0xbdd, 0xcd5, 0xbdd, 0xc9e, 0xb9d, 0xc9e, 0xb9d, 0xc9e, -0xb9d, 0xc1c, 0xb12, 0xc1c, 0xb12, 0xb2d, 0xa1b, 0xb2d, 0xa1b, 0xb45, 0xa2c, -0xb45, 0xa2c, 0xb2c, 0xa0b, 0xb2c, 0xa0b, 0xa21, 0x8f9, 0xa21, 0x8f9, 0x9b4, -0x884, 0x9b4, 0x884, 0x9b4, 0x884, 0x9a8, 0x86f, 0x9a8, 0x86f, 0x8f9, 0x7b7, -0x8f9, 0x7b7, 0x8da, 0x78d, 0x8da, 0x78d, 0x8bc, 0x764, 0x8bc, 0x764, 0x727, -0x5c3, 0x727, 0x5c3, 0x727, 0x5c3, 0x644, 0x4d2, 0x644, 0x4d2, 0x678, 0x4f6, -0x678, 0x4f6, 0x685, 0x4f3, 0x685, 0x4f3, 0x6b3, 0x50f, 0x6b3, 0x50f, 0x6f2, -0x53c, 0x6f2, 0x53c, 0x7a1, 0x5d8, 0x7a1, 0x5d8, 0x7a1, 0x5d8, 0x900, 0x723, -0x900, 0x723, 0xa4e, 0x85e, 0xa4e, 0x85e, 0xadb, 0x8d8, 0xadb, 0x8d8, 0xa8f, -0x87a, 0xa8f, 0x87a, 0xa48, 0x823, 0xa48, 0x823, 0xadd, 0x8a9, 0xadd, 0x8a9, -0xadd, 0x8a9, 0xb9f, 0x95e, 0xb9f, 0x95e, 0xc32, 0x9e6, 0xc32, 0x9e6, 0xd48, -0xaf5, 0xd48, 0xaf5, 0xe41, 0xbea, 0xe41, 0xbea, 0xeff, 0xca8, 0xeff, 0xca8, -0xeff, 0xca8, 0x109e, 0xe4a, 0x109e, 0xe4a, 0x120f, 0xfc2, 0x120f, 0xfc2, 0x127b, -0x1039, 0x127b, 0x1039, 0x125f, 0x102c, 0x125f, 0x102c, 0x1231, 0x1011, 0x1231, 0x1011, -0x1228, 0x1020, 0x1228, 0x1020, 0x1228, 0x1020, 0x1162, 0xf74, 0x1162, 0xf74, 0x104d, -0xe7b, 0x104d, 0xe7b, 0xf62, 0xdb0, 0xf62, 0xdb0, 0xeec, 0xd5d, 0xeec, 0xd5d, -0xf4d, 0xde2, 0xf4d, 0xde2, 0xf62, 0xe1c, 0xf62, 0xe1c, 0xf62, 0xe1c, 0xe8f, -0xd70, 0xe8f, 0xd70, 0xd56, 0xc5f, 0xd56, 0xc5f, 0xcb7, 0xbe7, 0xcb7, 0xbe7, -0xbf3, 0xb49, 0xbf3, 0xb49, 0xabd, 0xa39, 0xabd, 0xa39, 0xabd, 0xa39, 0x964, -0x905, 0x964, 0x905, 0x761, 0x726, 0x761, 0x726, 0x62c, 0x613, 0x62c, 0x613, -0x59d, 0x5a4, 0x59d, 0x5a4, 0x484, 0x4aa, 0x484, 0x4aa, 0x379, 0x3bc, 0x379, -0x3bc, 0x379, 0x3bc, 0x29a, 0x2f9, 0x29a, 0x2f9, 0x1b5, 0x22e, 0x1b5, 0x22e, -0xc9, 0x15c, 0xc9, 0x15c, 0xff61, 0xc, 0xff61, 0xc, 0xfd55, 0xfe18, 0xfd55, -0xfe18, 0xfb5c, 0xfc37, 0xfb5c, 0xfc37, 0xfb5c, 0xfc37, 0xf9ac, 0xfa9f, 0xf9ac, 0xfa9f, -0xf83d, 0xf948, 0xf83d, 0xf948, 0xf6da, 0xf7ff, 0xf6da, 0xf7ff, 0xf565, 0xf6a4, 0xf565, -0xf6a4, 0xf441, 0xf59c, 0xf441, 0xf59c, 0xf441, 0xf59c, 0xf36b, 0xf4e3, 0xf36b, 0xf4e3, -0xf254, 0xf3ea, 0xf254, 0xf3ea, 0xf108, 0xf2bf, 0xf108, 0xf2bf, 0xf044, 0xf21c, 0xf044, -0xf21c, 0xef3c, 0xf137, 0xef3c, 0xf137, 0xed94, 0xefb2, 0xed94, 0xefb2, 0xed94, 0xefb2, -0xebf6, 0xee39, 0xebf6, 0xee39, 0xe990, 0xebf8, 0xe990, 0xebf8, 0xe71d, 0xe9aa, 0xe71d, -0xe9aa, 0xe59b, 0xe84c, 0xe59b, 0xe84c, 0xe414, 0xe6e9, 0xe414, 0xe6e9, 0xe296, 0xe58c, -0xe296, 0xe58c, 0xe296, 0xe58c, 0xe165, 0xe47b, 0xe165, 0xe47b, 0xe076, 0xe3aa, 0xe076, -0xe3aa, 0xdf69, 0xe2b7, 0xdf69, 0xe2b7, 0xde85, 0xe1ea, 0xde85, 0xe1ea, 0xde29, 0xe1a2, -0xde29, 0xe1a2, 0xde29, 0xe1a2, 0xddb0, 0xe139, 0xddb0, 0xe139, 0xdd3b, 0xe0cf, 0xdd3b, -0xe0cf, 0xdca2, 0xe03c, 0xdca2, 0xe03c, 0xdc77, 0xe014, 0xdc77, 0xe014, 0xdcce, 0xe069, -0xdcce, 0xe069, 0xdcbd, 0xe051, 0xdcbd, 0xe051, 0xdcbd, 0xe051, 0xdcdd, 0xe067, 0xdcdd, -0xe067, 0xdd4b, 0xe0c6, 0xdd4b, 0xe0c6, 0xddbd, 0xe126, 0xddbd, 0xe126, 0xde26, 0xe17b, -0xde26, 0xe17b, 0xde65, 0xe1a2, 0xde65, 0xe1a2, 0xde7d, 0xe1a1, 0xde7d, 0xe1a1, 0xde7d, -0xe1a1, 0xdf4e, 0xe256, 0xdf4e, 0xe256, 0xe0b7, 0xe3a3, 0xe0b7, 0xe3a3, 0xe160, 0xe430, -0xe160, 0xe430, 0xe192, 0xe445, 0xe192, 0xe445, 0xe1c1, 0xe458, 0xe1c1, 0xe458, 0xe1c1, -0xe458, 0xe22f, 0xe4ab, 0xe22f, 0xe4ab, 0xe347, 0xe5a8, 0xe347, 0xe5a8, 0xe4ca, 0xe712, -0xe4ca, 0xe712, 0xe580, 0xe7b1, 0xe580, 0xe7b1, 0xe555, 0xe770, 0xe555, 0xe770, 0xe595, -0xe79d, 0xe595, 0xe79d, 0xe595, 0xe79d, 0xe688, 0xe87e, 0xe688, 0xe87e, 0xe81d, 0xea03, -0xe81d, 0xea03, 0xe971, 0xeb48, 0xe971, 0xeb48, 0xe9da, 0xeba3, 0xe9da, 0xeba3, 0xeaad, -0xec6a, 0xeaad, 0xec6a, 0xec51, 0xee01, 0xec51, 0xee01, 0xec51, 0xee01, 0xed56, 0xeefa, -0xed56, 0xeefa, 0xed8a, 0xef22, 0xed8a, 0xef22, 0xed73, 0xeefe, 0xed73, 0xeefe, 0xed86, -0xef04, 0xed86, 0xef04, 0xee59, 0xefc8, 0xee59, 0xefc8, 0xee59, 0xefc8, 0xef5d, 0xf0bc, -0xef5d, 0xf0bc, 0xefbf, 0xf10d, 0xefbf, 0xf10d, 0xf02d, 0xf168, 0xf02d, 0xf168, 0xf1b7, -0xf2dc, 0xf1b7, 0xf2dc, 0xf353, 0xf462, 0xf353, 0xf462, 0xf480, 0xf576, 0xf480, 0xf576, -0xf480, 0xf576, 0xf530, 0xf60c, 0xf530, 0xf60c, 0xf504, 0xf5c5, 0xf504, 0xf5c5, 0xf55a, -0xf5ff, 0xf55a, 0xf5ff, 0xf5fb, 0xf683, 0xf5fb, 0xf683, 0xf640, 0xf6aa, 0xf640, 0xf6aa, -0xf640, 0xf6aa, 0xf711, 0xf75e, 0xf711, 0xf75e, 0xf872, 0xf8a2, 0xf872, 0xf8a2, 0xf9d4, -0xf9e9, 0xf9d4, 0xf9e9, 0xfb85, 0xfb7f, 0xfb85, 0xfb7f, 0xfd17, 0xfcf8, 0xfd17, 0xfcf8, -0xfdf0, 0xfdba, 0xfdf0, 0xfdba, 0xfdf0, 0xfdba, 0xff26, 0xfedb, 0xff26, 0xfedb, 0x1a, -0xffbd, 0x1a, 0xffbd, 0x4f, 0xffe3, 0x4f, 0xffe3, 0x100, 0x86, 0x100, 0x86, -0x141, 0xbd, 0x141, 0xbd, 0xca, 0x3f, 0xca, 0x3f, 0xca, 0x3f, 0x1b1, -0x121, 0x1b1, 0x121, 0x384, 0x2f1, 0x384, 0x2f1, 0x4e6, 0x453, 0x4e6, 0x453, -0x6c8, 0x636, 0x6c8, 0x636, 0x840, 0x7b0, 0x840, 0x7b0, 0x840, 0x7b0, 0x918, -0x88a, 0x918, 0x88a, 0xa9d, 0xa13, 0xa9d, 0xa13, 0xb40, 0xab9, 0xb40, 0xab9, -0xb01, 0xa7d, 0xb01, 0xa7d, 0xae7, 0xa65, 0xae7, 0xa65, 0xa4c, 0x9cc, 0xa4c, -0x9cc, 0xa4c, 0x9cc, 0xa40, 0x9be, 0xa40, 0x9be, 0xb23, 0xaa0, 0xb23, 0xaa0, -0xb4b, 0xac4, 0xb4b, 0xac4, 0xb3b, 0xaaf, 0xb3b, 0xaaf, 0xc2c, 0xb97, 0xc2c, -0xb97, 0xc96, 0xbf8, 0xc96, 0xbf8, 0xc96, 0xbf8, 0xc55, 0xbac, 0xc55, 0xbac, -0xbfc, 0xb46, 0xbfc, 0xb46, 0xa7a, 0x9b6, 0xa7a, 0x9b6, 0x99f, 0x8cc, 0x99f, -0x8cc, 0x9b0, 0x8ce, 0x9b0, 0x8ce, 0x9b0, 0x8ce, 0x8e1, 0x7f0, 0x8e1, 0x7f0, -0x80a, 0x708, 0x80a, 0x708, 0x715, 0x605, 0x715, 0x605, 0x669, 0x54b, 0x669, -0x54b, 0x734, 0x609, 0x734, 0x609, 0x819, 0x6e3, 0x819, 0x6e3, 0x819, 0x6e3, -0x7d6, 0x696, 0x7d6, 0x696, 0x7e3, 0x69c, 0x7e3, 0x69c, 0x875, 0x728, 0x875, -0x728, 0x814, 0x6c4, 0x814, 0x6c4, 0x75a, 0x609, 0x75a, 0x609, 0x681, 0x530, -0x681, 0x530, 0x681, 0x530, 0x58b, 0x43d, 0x58b, 0x43d, 0x599, 0x44f, 0x599, -0x44f, 0x67c, 0x537, 0x67c, 0x537, 0x6e1, 0x5a3, 0x6e1, 0x5a3, 0x667, 0x52f, -0x667, 0x52f, 0x667, 0x52f, 0x60a, 0x4d9, 0x60a, 0x4d9, 0x689, 0x55f, 0x689, -0x55f, 0x6de, 0x5ba, 0x6de, 0x5ba, 0x679, 0x55b, 0x679, 0x55b, 0x60b, 0x4f2, -0x60b, 0x4f2, 0x601, 0x4ec, 0x601, 0x4ec, 0x601, 0x4ec, 0x673, 0x561, 0x673, -0x561, 0x660, 0x550, 0x660, 0x550, 0x658, 0x549, 0x658, 0x549, 0x6bb, 0x5ab, -0x6bb, 0x5ab, 0x6f4, 0x5e4, 0x6f4, 0x5e4, 0x7b8, 0x6a6, 0x7b8, 0x6a6, 0x7b8, -0x6a6, 0x7c3, 0x6af, 0x7c3, 0x6af, 0x685, 0x570, 0x685, 0x570, 0x5af, 0x49a, -0x5af, 0x49a, 0x5b6, 0x4a2, 0x5b6, 0x4a2, 0x5f3, 0x4e1, 0x5f3, 0x4e1, 0x5f3, -0x4e1, 0x649, 0x53c, 0x649, 0x53c, 0x65b, 0x555, 0x65b, 0x555, 0x5a3, 0x4a6, -0x5a3, 0x4a6, 0x5aa, 0x4ba, 0x5aa, 0x4ba, 0x6ba, 0x5db, 0x6ba, 0x5db, 0x6d1, -0x605, 0x6d1, 0x605, 0x6d1, 0x605, 0x6bb, 0x605, 0x6bb, 0x605, 0x735, 0x699, -0x735, 0x699, 0x718, 0x698, 0x718, 0x698, 0x7aa, 0x749, 0x7aa, 0x749, 0x8aa, -0x86a, 0x8aa, 0x86a, 0x8cf, 0x8b2, 0x8cf, 0x8b2, 0x8cf, 0x8b2, 0x8db, 0x8e2, -0x8db, 0x8e2, 0x893, 0x8bd, 0x893, 0x8bd, 0x8b6, 0x904, 0x8b6, 0x904, 0x965, -0x9d6, 0x965, 0x9d6, 0x8aa, 0x93c, 0x8aa, 0x93c, 0x8aa, 0x93c, 0x6f6, 0x7a7, -0x6f6, 0x7a7, 0x5c4, 0x690, 0x5c4, 0x690, 0x502, 0x5e7, 0x502, 0x5e7, 0x4a2, -0x59b, 0x4a2, 0x59b, 0x47a, 0x585, 0x47a, 0x585, 0x3bb, 0x4d2, 0x3bb, 0x4d2, -0x3bb, 0x4d2, 0x352, 0x471, 0x352, 0x471, 0x470, 0x593, 0x470, 0x593, 0x528, -0x64a, 0x528, 0x64a, 0x4a9, 0x5c7, 0x4a9, 0x5c7, 0x36c, 0x483, 0x36c, 0x483, -0x14c, 0x258, 0x14c, 0x258, 0x14c, 0x258, 0xd, 0x10c, 0xd, 0x10c, 0xfff9, -0xe9, 0xfff9, 0xe9, 0xff83, 0x63, 0xff83, 0x63, 0xff07, 0xffd6, 0xff07, 0xffd6, -0xff9b, 0x59, 0xff9b, 0x59, 0xff9b, 0x59, 0x73, 0x122, 0x73, 0x122, 0xc0, -0x160, 0xc0, 0x160, 0xfe, 0x190, 0xfe, 0x190, 0x129, 0x1af, 0x129, 0x1af, -0x15c, 0x1d9, 0x15c, 0x1d9, 0x17c, 0x1f1, 0x17c, 0x1f1, 0x17c, 0x1f1, 0x182, -0x1f3, 0x182, 0x1f3, 0xde, 0x14c, 0xde, 0x14c, 0xff6d, 0xffda, 0xff6d, 0xffda, -0xfe7c, 0xfeea, 0xfe7c, 0xfeea, 0xfdf2, 0xfe62, 0xfdf2, 0xfe62, 0xfd67, 0xfdda, 0xfd67, -0xfdda, 0xfd67, 0xfdda, 0xfcf1, 0xfd66, 0xfcf1, 0xfd66, 0xfc9f, 0xfd17, 0xfc9f, 0xfd17, -0xfc74, 0xfced, 0xfc74, 0xfced, 0xfc07, 0xfc7f, 0xfc07, 0xfc7f, 0xfb76, 0xfbeb, 0xfb76, -0xfbeb, 0xfb76, 0xfbeb, 0xfb1d, 0xfb8c, 0xfb1d, 0xfb8c, 0xfa5c, 0xfac2, 0xfa5c, 0xfac2, -0xfa17, 0xfa71, 0xfa17, 0xfa71, 0xfa58, 0xfaa2, 0xfa58, 0xfaa2, 0xf989, 0xf9bf, 0xf989, -0xf9bf, 0xf98f, 0xf9ad, 0xf98f, 0xf9ad, 0xf98f, 0xf9ad, 0xfa8f, 0xfa92, 0xfa8f, 0xfa92, -0xfbc9, 0xfbae, 0xfbc9, 0xfbae, 0xfd63, 0xfd26, 0xfd63, 0xfd26, 0xfe58, 0xfdf9, 0xfe58, -0xfdf9, 0xff51, 0xfecd, 0xff51, 0xfecd, 0xe, 0xff64, 0xe, 0xff64, 0xe, 0xff64, -0xfe, 0x2f, 0xfe, 0x2f, 0x222, 0x12d, 0x222, 0x12d, 0x260, 0x149, 0x260, -0x149, 0x32f, 0x1f6, 0x32f, 0x1f6, 0x430, 0x2d8, 0x430, 0x2d8, 0x430, 0x2d8, -0x476, 0x304, 0x476, 0x304, 0x5ab, 0x421, 0x5ab, 0x421, 0x79f, 0x603, 0x79f, -0x603, 0x87f, 0x6d5, 0x87f, 0x6d5, 0x8d7, 0x724, 0x8d7, 0x724, 0x9a7, 0x7ef, -0x9a7, 0x7ef, 0x9a7, 0x7ef, 0xa2f, 0x877, 0xa2f, 0x877, 0xa36, 0x882, 0xa36, -0x882, 0x9d9, 0x82d, 0x9d9, 0x82d, 0x925, 0x784, 0x925, 0x784, 0x8fd, 0x769, -0x8fd, 0x769, 0x8fd, 0x769, 0x8e8, 0x763, 0x8e8, 0x763, 0x8ac, 0x738, 0x8ac, -0x738, 0x8c4, 0x75f, 0x8c4, 0x75f, 0x865, 0x710, 0x865, 0x710, 0x8c5, 0x77f, -0x8c5, 0x77f, 0x9f0, 0x8b7, 0x9f0, 0x8b7, 0x9f0, 0x8b7, 0x98b, 0x85d, 0x98b, -0x85d, 0x889, 0x763, 0x889, 0x763, 0x808, 0x6e6, 0x808, 0x6e6, 0x78e, 0x66d, -0x78e, 0x66d, 0x7d5, 0x6b2, 0x7d5, 0x6b2, 0x87d, 0x755, 0x87d, 0x755, 0x87d, -0x755, 0x862, 0x732, 0x862, 0x732, 0x8c3, 0x787, 0x8c3, 0x787, 0xa14, 0x8cb, -0xa14, 0x8cb, 0xa63, 0x90c, 0xa63, 0x90c, 0xa77, 0x910, 0xa77, 0x910, 0xa77, -0x910, 0xb47, 0x9d0, 0xb47, 0x9d0, 0xb6f, 0x9e7, 0xb6f, 0x9e7, 0xc21, 0xa8b, -0xc21, 0xa8b, 0xddc, 0xc38, 0xddc, 0xc38, 0xede, 0xd2f, 0xede, 0xd2f, 0xf29, -0xd72, 0xf29, 0xd72, 0xf29, 0xd72, 0xf1f, 0xd62, 0xf1f, 0xd62, 0xf2a, 0xd6b, -0xf2a, 0xd6b, 0xf5d, 0xd9f, 0xf5d, 0xd9f, 0xed6, 0xd1c, 0xed6, 0xd1c, 0xe2e, -0xc7c, 0xe2e, 0xc7c, 0xe09, 0xc61, 0xe09, 0xc61, 0xe09, 0xc61, 0xd93, 0xbf8, -0xd93, 0xbf8, 0xcfe, 0xb72, 0xcfe, 0xb72, 0xcf5, 0xb78, 0xcf5, 0xb78, 0xcc8, -0xb5c, 0xcc8, 0xb5c, 0xc33, 0xad7, 0xc33, 0xad7, 0xc33, 0xad7, 0xc3f, 0xaf1, -0xc3f, 0xaf1, 0xc0b, 0xacb, 0xc0b, 0xacb, 0xaf9, 0x9c3, 0xaf9, 0x9c3, 0xa31, -0x903, 0xa31, 0x903, 0x990, 0x865, 0x990, 0x865, 0x8d6, 0x7ab, 0x8d6, 0x7ab, -0x8d6, 0x7ab, 0x898, 0x768, 0x898, 0x768, 0x8e0, 0x7a6, 0x8e0, 0x7a6, 0x8be, -0x776, 0x8be, 0x776, 0x962, 0x809, 0x962, 0x809, 0xabc, 0x94c, 0xabc, 0x94c, -0xb6b, 0x9e3, 0xb6b, 0x9e3, 0xb6b, 0x9e3, 0xc75, 0xad0, 0xc75, 0xad0, 0xd11, -0xb4f, 0xd11, 0xb4f, 0xd47, 0xb66, 0xd47, 0xb66, 0xdca, 0xbcb, 0xdca, 0xbcb, -0xe5e, 0xc42, 0xe5e, 0xc42, 0xe5e, 0xc42, 0xeeb, 0xcb4, 0xeeb, 0xcb4, 0xfb0, -0xd60, 0xfb0, 0xd60, 0x10cd, 0xe69, 0x10cd, 0xe69, 0x119b, 0xf28, 0x119b, 0xf28, -0x129e, 0x1022, 0x129e, 0x1022, 0x135b, 0x10db, 0x135b, 0x10db, 0x135b, 0x10db, 0x13f5, -0x1177, 0x13f5, 0x1177, 0x1466, 0x11f2, 0x1466, 0x11f2, 0x13ec, 0x1188, 0x13ec, 0x1188, -0x13a9, 0x115b, 0x13a9, 0x115b, 0x13bc, 0x118a, 0x13bc, 0x118a, 0x12f6, 0x10e6, 0x12f6, -0x10e6, 0x12f6, 0x10e6, 0x11b5, 0xfcc, 0x11b5, 0xfcc, 0x1147, 0xf89, 0x1147, 0xf89, -0x102e, 0xe9d, 0x102e, 0xe9d, 0xef3, 0xd92, 0xef3, 0xd92, 0xe66, 0xd36, 0xe66, -0xd36, 0xe66, 0xd36, 0xcae, 0xbaf, 0xcae, 0xbaf, 0xb6b, 0xa9b, 0xb6b, 0xa9b, -0xb1b, 0xa79, 0xb1b, 0xa79, 0xa70, 0x9f8, 0xa70, 0x9f8, 0x969, 0x919, 0x969, -0x919, 0x84b, 0x81e, 0x84b, 0x81e, 0x84b, 0x81e, 0x71c, 0x70d, 0x71c, 0x70d, -0x5b8, 0x5c3, 0x5b8, 0x5c3, 0x4a4, 0x4c3, 0x4a4, 0x4c3, 0x378, 0x3a8, 0x378, -0x3a8, 0x2a8, 0x2e4, 0x2a8, 0x2e4, 0x25f, 0x2a3, 0x25f, 0x2a3, 0x25f, 0x2a3, -0x17d, 0x1c7, 0x17d, 0x1c7, 0x1e, 0x6d, 0x1e, 0x6d, 0xfe18, 0xfe6a, 0xfe18, -0xfe6a, 0xfbe1, 0xfc36, 0xfbe1, 0xfc36, 0xfa11, 0xfa6a, 0xfa11, 0xfa6a, 0xfa11, 0xfa6a, -0xf800, 0xf85e, 0xf800, 0xf85e, 0xf5c2, 0xf62a, 0xf5c2, 0xf62a, 0xf421, 0xf495, 0xf421, -0xf495, 0xf274, 0xf2fa, 0xf274, 0xf2fa, 0xf08a, 0xf127, 0xf08a, 0xf127, 0xefce, 0xf087, -0xefce, 0xf087, 0xefce, 0xf087, 0xef49, 0xf026, 0xef49, 0xf026, 0xee5f, 0xef64, 0xee5f, -0xef64, 0xeda6, 0xeeda, 0xeda6, 0xeeda, 0xec6f, 0xedd7, 0xec6f, 0xedd7, 0xeae1, 0xec81, -0xeae1, 0xec81, 0xe922, 0xeaff, 0xe922, 0xeaff, 0xe922, 0xeaff, 0xe703, 0xe91e, 0xe703, -0xe91e, 0xe4f5, 0xe752, 0xe4f5, 0xe752, 0xe33d, 0xe5dc, 0xe33d, 0xe5dc, 0xe153, 0xe432, -0xe153, 0xe432, 0xdfc9, 0xe2e7, 0xdfc9, 0xe2e7, 0xdfc9, 0xe2e7, 0xdec6, 0xe21f, 0xdec6, -0xe21f, 0xddf8, 0xe189, 0xddf8, 0xe189, 0xddc6, 0xe188, 0xddc6, 0xe188, 0xdcfc, 0xe0e8, -0xdcfc, 0xe0e8, 0xdc21, 0xe02f, 0xdc21, 0xe02f, 0xdb12, 0xdf3b, 0xdb12, 0xdf3b, 0xdb12, -0xdf3b, 0xda13, 0xde4d, 0xda13, 0xde4d, 0xda21, 0xde63, 0xda21, 0xde63, 0xda05, 0xde47, -0xda05, 0xde47, 0xda5e, 0xde97, 0xda5e, 0xde97, 0xda1f, 0xde46, 0xda1f, 0xde46, 0xda94, -0xdea2, 0xda94, 0xdea2, 0xda94, 0xdea2, 0xdbbf, 0xdfad, 0xdbbf, 0xdfad, 0xdb70, 0xdf39, -0xdb70, 0xdf39, 0xdc21, 0xdfc1, 0xdc21, 0xdfc1, 0xdc4a, 0xdfbd, 0xdc4a, 0xdfbd, 0xdc12, -0xdf58, 0xdc12, 0xdf58, 0xdc12, 0xdf58, 0xdce2, 0xdff8, 0xdce2, 0xdff8, 0xdd67, 0xe050, -0xdd67, 0xe050, 0xde9b, 0xe158, 0xde9b, 0xe158, 0xdfa5, 0xe23a, 0xdfa5, 0xe23a, 0xe059, -0xe2cb, 0xe059, 0xe2cb, 0xe1b7, 0xe40a, 0xe1b7, 0xe40a, 0xe1b7, 0xe40a, 0xe2b9, 0xe4f3, -0xe2b9, 0xe4f3, 0xe356, 0xe57c, 0xe356, 0xe57c, 0xe41d, 0xe636, 0xe41d, 0xe636, 0xe456, -0xe668, 0xe456, 0xe668, 0xe534, 0xe744, 0xe534, 0xe744, 0xe714, 0xe927, 0xe714, 0xe927, -0xe714, 0xe927, 0xe868, 0xea83, 0xe868, 0xea83, 0xe920, 0xeb45, 0xe920, 0xeb45, 0xe9d4, -0xec07, 0xe9d4, 0xec07, 0xeb0a, 0xed4c, 0xeb0a, 0xed4c, 0xebf7, 0xee49, 0xebf7, 0xee49, -0xebf7, 0xee49, 0xed20, 0xef7f, 0xed20, 0xef7f, 0xee04, 0xf070, 0xee04, 0xf070, 0xeea6, -0xf11b, 0xeea6, 0xf11b, 0xefda, 0xf255, 0xefda, 0xf255, 0xf056, 0xf2d2, 0xf056, 0xf2d2, -0xf0c5, 0xf33b, 0xf0c5, 0xf33b, 0xf0c5, 0xf33b, 0xf121, 0xf38e, 0xf121, 0xf38e, 0xf1eb, -0xf447, 0xf1eb, 0xf447, 0xf31d, 0xf562, 0xf31d, 0xf562, 0xf444, 0xf66c, 0xf444, 0xf66c, -0xf57e, 0xf784, 0xf57e, 0xf784, 0xf57e, 0xf784, 0xf60a, 0xf7e8, 0xf60a, 0xf7e8, 0xf68a, -0xf83c, 0xf68a, 0xf83c, 0xf6b8, 0xf83c, 0xf6b8, 0xf83c, 0xf6e4, 0xf836, 0xf6e4, 0xf836, -0xf7fd, 0xf91c, 0xf7fd, 0xf91c, 0xf9db, 0xfac6, 0xf9db, 0xfac6, 0xf9db, 0xfac6, 0xfb1d, -0xfbd5, 0xfb1d, 0xfbd5, 0xfc30, 0xfcb6, 0xfc30, 0xfcb6, 0xfd12, 0xfd6a, 0xfd12, 0xfd6a, -0xfda1, 0xfdce, 0xfda1, 0xfdce, 0xff8b, 0xff92, 0xff8b, 0xff92, 0x43, 0x29, 0x43, -0x29, 0x43, 0x29, 0x101, 0xca, 0x101, 0xca, 0x292, 0x245, 0x292, 0x245, -0x315, 0x2b7, 0x315, 0x2b7, 0x4ac, 0x444, 0x4ac, 0x444, 0x59c, 0x52e, 0x59c, -0x52e, 0x59c, 0x52e, 0x58b, 0x51d, 0x58b, 0x51d, 0x72c, 0x6c2, 0x72c, 0x6c2, -0x920, 0x8be, 0x920, 0x8be, 0x9c0, 0x968, 0x9c0, 0x968, 0xb14, 0xac9, 0xb14, -0xac9, 0xc78, 0xc3b, 0xc78, 0xc3b, 0xc78, 0xc3b, 0xc84, 0xc54, 0xc84, 0xc54, -0xdda, 0xdb8, 0xdda, 0xdb8, 0xe90, 0xe7a, 0xe90, 0xe7a, 0xdbe, 0xdb0, 0xdbe, -0xdb0, 0xd72, 0xd6b, 0xd72, 0xd6b, 0xd0e, 0xd0a, 0xd0e, 0xd0a, 0xd0e, 0xd0a, -0xd36, 0xd31, 0xd36, 0xd31, 0xd61, 0xd57, 0xd61, 0xd57, 0xcd9, 0xcc6, 0xcd9, -0xcc6, 0xceb, 0xccb, 0xceb, 0xccb, 0xe1e, 0xdec, 0xe1e, 0xdec, 0xe1e, 0xdec, -0xe53, 0xe0d, 0xe53, 0xe0d, 0xd44, 0xce7, 0xd44, 0xce7, 0xcdb, 0xc64, 0xcdb, -0xc64, 0xbac, 0xb1a, 0xbac, 0xb1a, 0xab8, 0xa0a, 0xab8, 0xa0a, 0x9b5, 0x8eb, -0x9b5, 0x8eb, 0x9b5, 0x8eb, 0x76e, 0x689, 0x76e, 0x689, 0x66d, 0x56e, 0x66d, -0x56e, 0x6cd, 0x5b6, 0x6cd, 0x5b6, 0x823, 0x6f7, 0x823, 0x6f7, 0x8bd, 0x77f, -0x8bd, 0x77f, 0x8b9, 0x76c, 0x8b9, 0x76c, 0x8b9, 0x76c, 0x8a4, 0x74c, 0x8a4, -0x74c, 0x87b, 0x71c, 0x87b, 0x71c, 0x93b, 0x7da, 0x93b, 0x7da, 0x828, 0x6c8, -0x828, 0x6c8, 0x6d9, 0x57d, 0x6d9, 0x57d, 0x6d9, 0x57d, 0x6f0, 0x59d, 0x6f0, -0x59d, 0x609, 0x4c1, 0x609, 0x4c1, 0x5fa, 0x4c0, 0x5fa, 0x4c0, 0x757, 0x62c, -0x757, 0x62c, 0x638, 0x51e, 0x638, 0x51e, 0x52d, 0x426, 0x52d, 0x426, 0x52d, -0x426, 0x5aa, 0x4b4, 0x5aa, 0x4b4, 0x432, 0x34e, 0x432, 0x34e, 0x435, 0x362, -0x435, 0x362, 0x386, 0x2c3, 0x386, 0x2c3, 0x1f9, 0x145, 0x1f9, 0x145, 0x24b, -0x1a4, 0x24b, 0x1a4, 0x24b, 0x1a4, 0x26d, 0x1d0, 0x26d, 0x1d0, 0x3f5, 0x361, -0x3f5, 0x361, 0x40f, 0x383, 0x40f, 0x383, 0x31d, 0x296, 0x31d, 0x296, 0x27a, -0x1f7, 0x27a, 0x1f7, 0x27a, 0x1f7, 0x31f, 0x29f, 0x31f, 0x29f, 0x3ed, 0x36f, -0x3ed, 0x36f, 0x1a0, 0x123, 0x1a0, 0x123, 0x179, 0xfe, 0x179, 0xfe, 0x17f, -0x105, 0x17f, 0x105, 0x1b1, 0x13a, 0x1b1, 0x13a, 0x1b1, 0x13a, 0x3e9, 0x377, -0x3e9, 0x377, 0x376, 0x309, 0x376, 0x309, 0x297, 0x231, 0x297, 0x231, 0x2d2, -0x276, 0x2d2, 0x276, 0x378, 0x327, 0x378, 0x327, 0x424, 0x3e1, 0x424, 0x3e1, -0x424, 0x3e1, 0x3b8, 0x384, 0x3b8, 0x384, 0x365, 0x343, 0x365, 0x343, 0x427, -0x418, 0x427, 0x418, 0x574, 0x579, 0x574, 0x579, 0x653, 0x66e, 0x653, 0x66e, -0x653, 0x66e, 0x613, 0x644, 0x613, 0x644, 0x5bb, 0x602, 0x5bb, 0x602, 0x541, -0x59f, 0x541, 0x59f, 0x55c, 0x5ce, 0x55c, 0x5ce, 0x649, 0x6cf, 0x649, 0x6cf, -0x4a0, 0x537, 0x4a0, 0x537, 0x4a0, 0x537, 0x386, 0x42d, 0x386, 0x42d, 0x39d, -0x451, 0x39d, 0x451, 0x2c0, 0x37e, 0x2c0, 0x37e, 0x374, 0x43a, 0x374, 0x43a, -0x363, 0x42d, 0x363, 0x42d, 0x34c, 0x418, 0x34c, 0x418, 0x34c, 0x418, 0x3b4, -0x47f, 0x3b4, 0x47f, 0x34e, 0x415, 0x34e, 0x415, 0x38d, 0x44e, 0x38d, 0x44e, -0x2a6, 0x35f, 0x2a6, 0x35f, 0x1ea, 0x298, 0x1ea, 0x298, 0x1ea, 0x298, 0x12c, -0x1cf, 0x12c, 0x1cf, 0x166, 0x1fd, 0x166, 0x1fd, 0x2d9, 0x364, 0x2d9, 0x364, -0x19f, 0x21f, 0x19f, 0x21f, 0x1bf, 0x233, 0x1bf, 0x233, 0x1bf, 0x229, 0x1bf, -0x229, 0x1bf, 0x229, 0x1ba, 0x21b, 0x1ba, 0x21b, 0x36c, 0x3c6, 0x36c, 0x3c6, -0x351, 0x3a5, 0x351, 0x3a5, 0x3e9, 0x439, 0x3e9, 0x439, 0x336, 0x384, 0x336, -0x384, 0x333, 0x381, 0x333, 0x381, 0x333, 0x381, 0x39c, 0x3ec, 0x39c, 0x3ec, -0x1c1, 0x213, 0x1c1, 0x213, 0x100, 0x155, 0x100, 0x155, 0x1, 0x5a, 0x1, -0x5a, 0x85, 0xe0, 0x85, 0xe0, 0x85, 0xe0, 0x82, 0xe1, 0x82, 0xe1, -0xff2c, 0xff8c, 0xff2c, 0xff8c, 0xfefa, 0xff5a, 0xfefa, 0xff5a, 0xfe2b, 0xfe8a, 0xfe2b, -0xfe8a, 0xfe79, 0xfed4, 0xfe79, 0xfed4, 0xff6b, 0xffbf, 0xff6b, 0xffbf, 0xff6b, 0xffbf, -0xfead, 0xfef7, 0xfead, 0xfef7, 0xfd9d, 0xfdda, 0xfd9d, 0xfdda, 0xfd49, 0xfd76, 0xfd49, -0xfd76, 0xfcd9, 0xfcf2, 0xfcd9, 0xfcf2, 0xfd6a, 0xfd6d, 0xfd6a, 0xfd6d, 0xfe19, 0xfe02, -0xfe19, 0xfe02, 0xfe19, 0xfe02, 0xfeda, 0xfea7, 0xfeda, 0xfea7, 0xa4, 0x53, 0xa4, -0x53, 0x24e, 0x1de, 0x24e, 0x1de, 0x442, 0x3b2, 0x442, 0x3b2, 0x526, 0x475, -0x526, 0x475, 0x526, 0x475, 0x539, 0x468, 0x539, 0x468, 0x53e, 0x44e, 0x53e, -0x44e, 0x5ec, 0x4df, 0x5ec, 0x4df, 0x6f4, 0x5cc, 0x6f4, 0x5cc, 0x716, 0x5d6, -0x716, 0x5d6, 0x7c7, 0x672, 0x7c7, 0x672, 0x7c7, 0x672, 0x856, 0x6ef, 0x856, -0x6ef, 0x9b0, 0x83c, 0x9b0, 0x83c, 0xb83, 0xa05, 0xb83, 0xa05, 0xbd0, 0xa4c, -0xbd0, 0xa4c, 0xbd9, 0xa52, 0xbd9, 0xa52, 0xbd9, 0xa52, 0xb92, 0xa0d, 0xb92, -0xa0d, 0xb73, 0x9f2, 0xb73, 0x9f2, 0xb67, 0x9ec, 0xb67, 0x9ec, 0xaed, 0x97b, -0xaed, 0x97b, 0xa72, 0x909, 0xa72, 0x909, 0x9c6, 0x868, 0x9c6, 0x868, 0x9c6, -0x868, 0x9e8, 0x896, 0x9e8, 0x896, 0xa30, 0x8e8, 0xa30, 0x8e8, 0x9cc, 0x88d, -0x9cc, 0x88d, 0x8e1, 0x7a8, 0x8e1, 0x7a8, 0x819, 0x6e5, 0x819, 0x6e5, 0x77c, -0x649, 0x77c, 0x649, 0x77c, 0x649, 0x667, 0x533, 0x667, 0x533, 0x5fd, 0x4c4, -0x5fd, 0x4c4, 0x5dd, 0x49c, 0x5dd, 0x49c, 0x69f, 0x552, 0x69f, 0x552, 0x79f, -0x643, 0x79f, 0x643, 0x79f, 0x643, 0x915, 0x7a6, 0x915, 0x7a6, 0xa70, 0x8ec, -0xa70, 0x8ec, 0x9d0, 0x835, 0x9d0, 0x835, 0xa95, 0x8e2, 0xa95, 0x8e2, 0xb0c, -0x93f, 0xb0c, 0x93f, 0xb0e, 0x927, 0xb0e, 0x927, 0xb0e, 0x927, 0xbd2, 0x9d2, -0xbd2, 0x9d2, 0xb75, 0x95d, 0xb75, 0x95d, 0xc33, 0xa05, 0xc33, 0xa05, 0xd3a, -0xaf8, 0xd3a, 0xaf8, 0xd54, 0xb01, 0xd54, 0xb01, 0xd3c, 0xadc, 0xd3c, 0xadc, -0xd3c, 0xadc, 0xca2, 0xa38, 0xca2, 0xa38, 0xc4e, 0x9de, 0xc4e, 0x9de, 0xc23, -0x9b1, 0xc23, 0x9b1, 0xb90, 0x920, 0xb90, 0x920, 0xae6, 0x87b, 0xae6, 0x87b, -0xae6, 0x87b, 0xa4d, 0x7ea, 0xa4d, 0x7ea, 0xa98, 0x840, 0xa98, 0x840, 0xac9, -0x87e, 0xac9, 0x87e, 0xa68, 0x82b, 0xa68, 0x82b, 0x9d9, 0x7ac, 0x9d9, 0x7ac, -0x8d8, 0x6bb, 0x8d8, 0x6bb, 0x8d8, 0x6bb, 0x86b, 0x65d, 0x86b, 0x65d, 0x78a, -0x58a, 0x78a, 0x58a, 0x6b1, 0x4be, 0x6b1, 0x4be, 0x673, 0x48a, 0x673, 0x48a, -0x60b, 0x42a, 0x60b, 0x42a, 0x638, 0x45c, 0x638, 0x45c, 0x638, 0x45c, 0x69c, -0x4c1, 0x69c, 0x4c1, 0x634, 0x458, 0x634, 0x458, 0x637, 0x455, 0x637, 0x455, -0x73a, 0x552, 0x73a, 0x552, 0x828, 0x636, 0x828, 0x636, 0x828, 0x636, 0x9cd, -0x7cf, 0x9cd, 0x7cf, 0xa98, 0x88d, 0xa98, 0x88d, 0xb2f, 0x916, 0xb2f, 0x916, -0xbf2, 0x9cc, 0xbf2, 0x9cc, 0xc46, 0xa13, 0xc46, 0xa13, 0xdea, 0xbad, 0xdea, -0xbad, 0xdea, 0xbad, 0xe67, 0xc22, 0xe67, 0xc22, 0xe97, 0xc4e, 0xe97, 0xc4e, -0xf82, 0xd38, 0xf82, 0xd38, 0x1043, 0xdfc, 0x1043, 0xdfc, 0x1169, 0xf2b, 0x1169, -0xf2b, 0x1206, 0xfd5, 0x1206, 0xfd5, 0x1206, 0xfd5, 0x125e, 0x1040, 0x125e, 0x1040, -0x12ff, 0x10fa, 0x12ff, 0x10fa, 0x13d2, 0x11eb, 0x13d2, 0x11eb, 0x144d, 0x1288, 0x144d, -0x1288, 0x136f, 0x11d1, 0x136f, 0x11d1, 0x136f, 0x11d1, 0x1206, 0x1093, 0x1206, 0x1093, -0x1157, 0x1013, 0x1157, 0x1013, 0x1076, 0xf62, 0x1076, 0xf62, 0xf8c, 0xeaa, 0xf8c, -0xeaa, 0xe3a, 0xd8b, 0xe3a, 0xd8b, 0xd2c, 0xcb1, 0xd2c, 0xcb1, 0xd2c, 0xcb1, -0xd1a, 0xcd2, 0xd1a, 0xcd2, 0xd18, 0xd00, 0xd18, 0xd00, 0xd7e, 0xd95, 0xd7e, -0xd95, 0xc58, 0xc9a, 0xc58, 0xc9a, 0xa20, 0xa8b, 0xa20, 0xa8b, 0x8f4, 0x984, -0x8f4, 0x984, 0x8f4, 0x984, 0x85b, 0x90c, 0x85b, 0x90c, 0x775, 0x843, 0x775, -0x843, 0x653, 0x73b, 0x653, 0x73b, 0x56e, 0x66e, 0x56e, 0x66e, 0x502, 0x615, -0x502, 0x615, 0x502, 0x615, 0x48c, 0x5b0, 0x48c, 0x5b0, 0x30d, 0x441, 0x30d, -0x441, 0x143, 0x286, 0x143, 0x286, 0xff59, 0xaa, 0xff59, 0xaa, 0xfd81, 0xfee0, -0xfd81, 0xfee0, 0xfbd0, 0xfd3f, 0xfbd0, 0xfd3f, 0xfbd0, 0xfd3f, 0xf9d9, 0xfb59, 0xf9d9, -0xfb59, 0xf7a0, 0xf934, 0xf7a0, 0xf934, 0xf60c, 0xf7b6, 0xf60c, 0xf7b6, 0xf5d4, 0xf797, -0xf5d4, 0xf797, 0xf572, 0xf752, 0xf572, 0xf752, 0xf47a, 0xf67a, 0xf47a, 0xf67a, 0xf47a, -0xf67a, 0xf311, 0xf535, 0xf311, 0xf535, 0xf1f3, 0xf43e, 0xf1f3, 0xf43e, 0xf10e, 0xf383, -0xf10e, 0xf383, 0xef6f, 0xf211, 0xef6f, 0xf211, 0xed7c, 0xf04b, 0xed7c, 0xf04b, 0xed7c, -0xf04b, 0xeb85, 0xee83, 0xeb85, 0xee83, 0xe9cf, 0xecfb, 0xe9cf, 0xecfb, 0xe80a, 0xeb65, -0xe80a, 0xeb65, 0xe6eb, 0xea72, 0xe6eb, 0xea72, 0xe55b, 0xe90d, 0xe55b, 0xe90d, 0xe326, -0xe6ff, 0xe326, 0xe6ff, 0xe326, 0xe6ff, 0xe1ec, 0xe5e7, 0xe1ec, 0xe5e7, 0xe08f, 0xe4a7, -0xe08f, 0xe4a7, 0xdf8a, 0xe3bb, 0xdf8a, 0xe3bb, 0xdeae, 0xe2f1, 0xdeae, 0xe2f1, 0xdcea, -0xe13b, 0xdcea, 0xe13b, 0xdc0a, 0xe060, 0xdc0a, 0xe060, 0xdc0a, 0xe060, 0xdb34, 0xdf8b, -0xdb34, 0xdf8b, 0xda09, 0xde5b, 0xda09, 0xde5b, 0xda35, 0xde7c, 0xda35, 0xde7c, 0xd9a1, -0xddd7, 0xd9a1, 0xddd7, 0xd967, 0xdd89, 0xd967, 0xdd89, 0xd967, 0xdd89, 0xda36, 0xde41, -0xda36, 0xde41, 0xda23, 0xde13, 0xda23, 0xde13, 0xd9b3, 0xdd86, 0xd9b3, 0xdd86, 0xd92c, -0xdce1, 0xd92c, 0xdce1, 0xd987, 0xdd1e, 0xd987, 0xdd1e, 0xda47, 0xddc0, 0xda47, 0xddc0, -0xda47, 0xddc0, 0xdb40, 0xde9d, 0xdb40, 0xde9d, 0xdbfc, 0xdf3e, 0xdbfc, 0xdf3e, 0xdc37, -0xdf62, 0xdc37, 0xdf62, 0xdd17, 0xe02d, 0xdd17, 0xe02d, 0xdd9b, 0xe09f, 0xdd9b, 0xe09f, -0xde74, 0xe169, 0xde74, 0xe169, 0xde74, 0xe169, 0xdf9f, 0xe288, 0xdf9f, 0xe288, 0xe095, -0xe376, 0xe095, 0xe376, 0xe1da, 0xe4b4, 0xe1da, 0xe4b4, 0xe3bf, 0xe694, 0xe3bf, 0xe694, -0xe5c7, 0xe899, 0xe5c7, 0xe899, 0xe5c7, 0xe899, 0xe631, 0xe8ff, 0xe631, 0xe8ff, 0xe730, -0xe9fc, 0xe730, 0xe9fc, 0xe89d, 0xeb65, 0xe89d, 0xeb65, 0xe9c7, 0xec88, 0xe9c7, 0xec88, -0xeb47, 0xedff, 0xeb47, 0xedff, 0xebe6, 0xee93, 0xebe6, 0xee93, 0xebe6, 0xee93, 0xec25, -0xeec2, 0xec25, 0xeec2, 0xed21, 0xefab, 0xed21, 0xefab, 0xee22, 0xf094, 0xee22, 0xf094, -0xee24, 0xf079, 0xee24, 0xf079, 0xee2d, 0xf060, 0xee2d, 0xf060, 0xee2d, 0xf060, 0xed3b, -0xef48, 0xed3b, 0xef48, 0xed89, 0xef6c, 0xed89, 0xef6c, 0xefa0, 0xf155, 0xefa0, 0xf155, -0xf101, 0xf283, 0xf101, 0xf283, 0xf1e1, 0xf32f, 0xf1e1, 0xf32f, 0xf235, 0xf34e, 0xf235, -0xf34e, 0xf235, 0xf34e, 0xf292, 0xf374, 0xf292, 0xf374, 0xf3d3, 0xf47e, 0xf3d3, 0xf47e, -0xf5a4, 0xf61a, 0xf5a4, 0xf61a, 0xf665, 0xf6a8, 0xf665, 0xf6a8, 0xf6d6, 0xf6e7, 0xf6d6, -0xf6e7, 0xf757, 0xf73c, 0xf757, 0xf73c, 0xf757, 0xf73c, 0xf837, 0xf7f2, 0xf837, 0xf7f2, -0xfa32, 0xf9c8, 0xfa32, 0xf9c8, 0xfb72, 0xfae9, 0xfb72, 0xfae9, 0xfc68, 0xfbc5, 0xfc68, -0xfbc5, 0xfd5b, 0xfca3, 0xfd5b, 0xfca3, 0xfd5b, 0xfca3, 0xfea4, 0xfddc, 0xfea4, 0xfddc, -0x87, 0xffb4, 0x87, 0xffb4, 0x14e, 0x75, 0x14e, 0x75, 0x207, 0x12c, 0x207, -0x12c, 0x2c3, 0x1e9, 0x2c3, 0x1e9, 0x3eb, 0x315, 0x3eb, 0x315, 0x3eb, 0x315, -0x4fb, 0x42a, 0x4fb, 0x42a, 0x568, 0x49e, 0x568, 0x49e, 0x6af, 0x5eb, 0x6af, -0x5eb, 0x809, 0x74b, 0x809, 0x74b, 0x8bf, 0x805, 0x8bf, 0x805, 0x9f2, 0x93a, -0x9f2, 0x93a, 0x9f2, 0x93a, 0xa93, 0x9da, 0xa93, 0x9da, 0xab4, 0x9f7, 0xab4, -0x9f7, 0xadf, 0xa1a, 0xadf, 0xa1a, 0xa9b, 0x9cb, 0xa9b, 0x9cb, 0xac8, 0x9e9, -0xac8, 0x9e9, 0xac8, 0x9e9, 0xaaf, 0x9bd, 0xaaf, 0x9bd, 0xb75, 0xa6f, 0xb75, -0xa6f, 0xc41, 0xb22, 0xc41, 0xb22, 0xcea, 0xbb1, 0xcea, 0xbb1, 0xd22, 0xbcc, -0xd22, 0xbcc, 0xd37, 0xbc5, 0xd37, 0xbc5, 0xd37, 0xbc5, 0xd90, 0xc01, 0xd90, -0xc01, 0xcec, 0xb42, 0xcec, 0xb42, 0xc06, 0xa41, 0xc06, 0xa41, 0xb4b, 0x96f, -0xb4b, 0x96f, 0xa68, 0x878, 0xa68, 0x878, 0xa09, 0x808, 0xa09, 0x808, 0xa09, -0x808, 0xa44, 0x836, 0xa44, 0x836, 0xa39, 0x824, 0xa39, 0x824, 0x9ca, 0x7b2, -0x9ca, 0x7b2, 0x8c5, 0x6b0, 0x8c5, 0x6b0, 0x8f9, 0x6ec, 0x8f9, 0x6ec, 0x8f9, -0x6ec, 0x95b, 0x75a, 0x95b, 0x75a, 0x9ff, 0x80e, 0x9ff, 0x80e, 0xa90, 0x8b4, -0xa90, 0x8b4, 0xa8a, 0x8c6, 0xa8a, 0x8c6, 0xa90, 0x8e6, 0xa90, 0x8e6, 0xacc, -0x93e, 0xacc, 0x93e, 0xacc, 0x93e, 0xad0, 0x95f, 0xad0, 0x95f, 0xb04, 0x9b0, -0xb04, 0x9b0, 0xa6c, 0x934, 0xa6c, 0x934, 0x9f1, 0x8d4, 0x9f1, 0x8d4, 0xab6, -0x9b2, 0xab6, 0x9b2, 0xa77, 0x989, 0xa77, 0x989, 0xa77, 0x989, 0xa2e, 0x953, -0xa2e, 0x953, 0x95e, 0x892, 0x95e, 0x892, 0x90b, 0x849, 0x90b, 0x849, 0x8f5, -0x83a, 0x8f5, 0x83a, 0x90c, 0x853, 0x90c, 0x853, 0x90c, 0x853, 0x8b6, 0x7fd, -0x8b6, 0x7fd, 0x898, 0x7db, 0x898, 0x7db, 0x877, 0x7b3, 0x877, 0x7b3, 0x8e0, -0x812, 0x8e0, 0x812, 0x948, 0x86f, 0x948, 0x86f, 0x87b, 0x796, 0x87b, 0x796, -0x87b, 0x796, 0x787, 0x696, 0x787, 0x696, 0x7a7, 0x6ab, 0x7a7, 0x6ab, 0x879, -0x772, 0x879, 0x772, 0x808, 0x6fa, 0x808, 0x6fa, 0x818, 0x705, 0x818, 0x705, -0x6c7, 0x5b3, 0x6c7, 0x5b3, 0x6c7, 0x5b3, 0x6d0, 0x5be, 0x6d0, 0x5be, 0x753, -0x647, 0x753, 0x647, 0x794, 0x693, 0x794, 0x693, 0x7a6, 0x6b3, 0x7a6, 0x6b3, -0x6ca, 0x5ea, 0x6ca, 0x5ea, 0x6ca, 0x5ea, 0x6df, 0x615, 0x6df, 0x615, 0x73f, -0x68e, 0x73f, 0x68e, 0x74c, 0x6b8, 0x74c, 0x6b8, 0x73a, 0x6c4, 0x73a, 0x6c4, -0x6ea, 0x694, 0x6ea, 0x694, 0x6b9, 0x683, 0x6b9, 0x683, 0x6b9, 0x683, 0x7aa, -0x794, 0x7aa, 0x794, 0x7c6, 0x7ce, 0x7c6, 0x7ce, 0x74c, 0x771, 0x74c, 0x771, -0x639, 0x678, 0x639, 0x678, 0x6a9, 0x6ff, 0x6a9, 0x6ff, 0x68c, 0x6f4, 0x68c, -0x6f4, 0x68c, 0x6f4, 0x61d, 0x694, 0x61d, 0x694, 0x592, 0x614, 0x592, 0x614, -0x454, 0x4db, 0x454, 0x4db, 0x357, 0x3df, 0x357, 0x3df, 0x2e6, 0x36a, 0x2e6, -0x36a, 0x2e6, 0x36a, 0x341, 0x3be, 0x341, 0x3be, 0x2bc, 0x32d, 0x2bc, 0x32d, -0x238, 0x29b, 0x238, 0x29b, 0x1bc, 0x20e, 0x1bc, 0x20e, 0x194, 0x1d3, 0x194, -0x1d3, 0x153, 0x17e, 0x153, 0x17e, 0x153, 0x17e, 0x16d, 0x185, 0x16d, 0x185, -0x8b, 0x90, 0x8b, 0x90, 0x72, 0x65, 0x72, 0x65, 0xffe2, 0xffc5, 0xffe2, -0xffc5, 0x1f, 0xfff5, 0x1f, 0xfff5, 0x92, 0x5f, 0x92, 0x5f, 0x92, 0x5f, -0x17, 0xffdd, 0x17, 0xffdd, 0x81, 0x45, 0x81, 0x45, 0xc6, 0x8a, 0xc6, -0x8a, 0x10a, 0xd3, 0x10a, 0xd3, 0xd0, 0xa2, 0xd0, 0xa2, 0xd0, 0xa2, -0xbb, 0x98, 0xbb, 0x98, 0xfff3, 0xffde, 0xfff3, 0xffde, 0x1b, 0x17, 0x1b, -0x17, 0xff61, 0xff6d, 0xff61, 0xff6d, 0xff0a, 0xff29, 0xff0a, 0xff29, 0xfe34, 0xfe65, -0xfe34, 0xfe65, 0xfe34, 0xfe65, 0xfd5d, 0xfd9e, 0xfd5d, 0xfd9e, 0xfd28, 0xfd78, 0xfd28, -0xfd78, 0xfd90, 0xfded, 0xfd90, 0xfded, 0xfd07, 0xfd6d, 0xfd07, 0xfd6d, 0xfc4d, 0xfcb9, -0xfc4d, 0xfcb9, 0xfc8d, 0xfcfa, 0xfc8d, 0xfcfa, 0xfc8d, 0xfcfa, 0xfb8c, 0xfbf6, 0xfb8c, -0xfbf6, 0xfba3, 0xfc05, 0xfba3, 0xfc05, 0xfb0b, 0xfb62, 0xfb0b, 0xfb62, 0xfaf3, 0xfb39, -0xfaf3, 0xfb39, 0xfaec, 0xfb1c, 0xfaec, 0xfb1c, 0xfaec, 0xfb1c, 0xfc4b, 0xfc62, 0xfc4b, -0xfc62, 0xfce9, 0xfce5, 0xfce9, 0xfce5, 0xfe0b, 0xfde8, 0xfe0b, 0xfde8, 0xff58, 0xff16, -0xff58, 0xff16, 0xffff, 0xff9c, 0xffff, 0xff9c, 0x1a7, 0x122, 0x1a7, 0x122, 0x1a7, -0x122, 0x2ca, 0x225, 0x2ca, 0x225, 0x2a6, 0x1e2, 0x2a6, 0x1e2, 0x3ad, 0x2ce, -0x3ad, 0x2ce, 0x4b6, 0x3bd, 0x4b6, 0x3bd, 0x4d5, 0x3c6, 0x4d5, 0x3c6, 0x4d5, -0x3c6, 0x6a0, 0x57f, 0x6a0, 0x57f, 0x683, 0x555, 0x683, 0x555, 0x704, 0x5cc, -0x704, 0x5cc, 0x76f, 0x633, 0x76f, 0x633, 0x8e4, 0x7a8, 0x8e4, 0x7a8, 0x8d5, -0x79d, 0x8d5, 0x79d, 0x8d5, 0x79d, 0x9d3, 0x8a3, 0x9d3, 0x8a3, 0xa29, 0x904, -0xa29, 0x904, 0x9ff, 0x8e7, 0x9ff, 0x8e7, 0xa38, 0x92f, 0xa38, 0x92f, 0xa0c, -0x913, 0xa0c, 0x913, 0xad0, 0x9e6, 0xad0, 0x9e6, 0xad0, 0x9e6, 0x9f8, 0x91e, -0x9f8, 0x91e, 0xa81, 0x9b5, 0xa81, 0x9b5, 0xa1a, 0x959, 0xa1a, 0x959, 0xaa1, -0x9e9, 0xaa1, 0x9e9, 0x9f6, 0x944, 0x9f6, 0x944, 0x9f6, 0x944, 0x98f, 0x8df, -0x98f, 0x8df, 0x930, 0x87e, 0x930, 0x87e, 0x923, 0x86b, 0x923, 0x86b, 0x8ec, -0x82a, 0x8ec, 0x82a, 0xa0d, 0x93d, 0xa0d, 0x93d, 0xabc, 0x9db, 0xabc, 0x9db, -0xabc, 0x9db, 0xb8e, 0xa98, 0xb8e, 0xa98, 0xcfc, 0xbef, 0xcfc, 0xbef, 0xecd, -0xda7, 0xecd, 0xda7, 0x10a3, 0xf63, 0x10a3, 0xf63, 0x1004, 0xea9, 0x1004, 0xea9, -0x1138, 0xfc3, 0x1138, 0xfc3, 0x1138, 0xfc3, 0x1046, 0xeb7, 0x1046, 0xeb7, 0x1131, -0xf8b, 0x1131, 0xf8b, 0x1190, 0xfd5, 0x1190, 0xfd5, 0x12eb, 0x111d, 0x12eb, 0x111d, -0x12c7, 0x10ea, 0x12c7, 0x10ea, 0x12c7, 0x10ea, 0x1258, 0x106f, 0x1258, 0x106f, 0x138b, -0x119a, 0x138b, 0x119a, 0x128a, 0x1096, 0x128a, 0x1096, 0x1235, 0x1040, 0x1235, 0x1040, -0x108b, 0xe99, 0x108b, 0xe99, 0xf40, 0xd53, 0xf40, 0xd53, 0xf40, 0xd53, 0x103a, -0xe56, 0x103a, 0xe56, 0xf4c, 0xd72, 0xf4c, 0xd72, 0xe38, 0xc69, 0xe38, 0xc69, -0xde4, 0xc22, 0xde4, 0xc22, 0xbae, 0x9f7, 0xbae, 0x9f7, 0xc8f, 0xae3, 0xc8f, -0xae3, 0xc8f, 0xae3, 0xcf8, 0xb55, 0xcf8, 0xb55, 0xc25, 0xa88, 0xc25, 0xa88, -0xa33, 0x89a, 0xa33, 0x89a, 0xa65, 0x8cd, 0xa65, 0x8cd, 0x96a, 0x7cf, 0x96a, -0x7cf, 0x96a, 0x7cf, 0xa10, 0x86f, 0xa10, 0x86f, 0x9f4, 0x848, 0x9f4, 0x848, -0x90e, 0x754, 0x90e, 0x754, 0xb12, 0x948, 0xb12, 0x948, 0xb4f, 0x971, 0xb4f, -0x971, 0xdb0, 0xbbd, 0xdb0, 0xbbd, 0xdb0, 0xbbd, 0xe4e, 0xc43, 0xe4e, 0xc43, -0xd88, 0xb64, 0xd88, 0xb64, 0xdfd, 0xbc1, 0xdfd, 0xbc1, 0xf0d, 0xcba, 0xf0d, -0xcba, 0xdbb, 0xb52, 0xdbb, 0xb52, 0xf55, 0xcd9, 0xf55, 0xcd9, 0xf55, 0xcd9, -0xec5, 0xc3a, 0xec5, 0xc3a, 0xea8, 0xc12, 0xea8, 0xc12, 0x10d3, 0xe36, 0x10d3, -0xe36, 0x11c9, 0xf2b, 0x11c9, 0xf2b, 0x1212, 0xf79, 0x1212, 0xf79, 0x1212, 0xf79, -0x10e3, 0xe54, 0x10e3, 0xe54, 0x10d9, 0xe5b, 0x10d9, 0xe5b, 0x10b4, 0xe4c, 0x10b4, -0xe4c, 0x1175, 0xf29, 0x1175, 0xf29, 0x112d, 0xf03, 0x112d, 0xf03, 0x10b2, 0xeb0, -0x10b2, 0xeb0, 0x10b2, 0xeb0, 0xe70, 0xc98, 0xe70, 0xc98, 0xe2e, 0xc85, 0xe2e, -0xc85, 0xdb8, 0xc40, 0xdb8, 0xc40, 0xd07, 0xbc4, 0xd07, 0xbc4, 0xbee, 0xadf, -0xbee, 0xadf, 0xb53, 0xa7a, 0xb53, 0xa7a, 0xb53, 0xa7a, 0xc11, 0xb6d, 0xc11, -0xb6d, 0xcb2, 0xc43, 0xcb2, 0xc43, 0xd0c, 0xccf, 0xd0c, 0xccf, 0xb27, 0xb1b, -0xb27, 0xb1b, 0x98e, 0x9b1, 0x98e, 0x9b1, 0x98e, 0x9b1, 0x99c, 0x9eb, 0x99c, -0x9eb, 0x9fb, 0xa73, 0x9fb, 0xa73, 0x813, 0x8b2, 0x813, 0x8b2, 0x72e, 0x7f0, -0x72e, 0x7f0, 0x5a5, 0x688, 0x5a5, 0x688, 0x519, 0x61c, 0x519, 0x61c, 0x519, -0x61c, 0x579, 0x69a, 0x579, 0x69a, 0x365, 0x4a2, 0x365, 0x4a2, 0xff5f, 0xb8, -0xff5f, 0xb8, 0xfead, 0x22, 0xfead, 0x22, 0xfd77, 0xff08, 0xfd77, 0xff08, 0xfb95, -0xfd44, 0xfb95, 0xfd44, 0xfb95, 0xfd44, 0xf9d6, 0xfba3, 0xf9d6, 0xfba3, 0xf6e9, 0xf8d7, -0xf6e9, 0xf8d7, 0xf68b, 0xf89b, 0xf68b, 0xf89b, 0xf3db, 0xf610, 0xf3db, 0xf610, 0xf24f, -0xf4aa, 0xf24f, 0xf4aa, 0xf24f, 0xf4aa, 0xf186, 0xf40a, 0xf186, 0xf40a, 0xee31, 0xf0e0, -0xee31, 0xf0e0, 0xec26, 0xef01, 0xec26, 0xef01, 0xec6f, 0xef77, 0xec6f, 0xef77, 0xe9f2, -0xed28, 0xe9f2, 0xed28, 0xe86b, 0xebcf, 0xe86b, 0xebcf, 0xe86b, 0xebcf, 0xe6c9, 0xea5a, -0xe6c9, 0xea5a, 0xe300, 0xe6bb, 0xe300, 0xe6bb, 0xe183, 0xe567, 0xe183, 0xe567, 0xe089, -0xe494, 0xe089, 0xe494, 0xdfd4, 0xe401, 0xdfd4, 0xe401, 0xdebf, 0xe309, 0xdebf, 0xe309, -0xdebf, 0xe309, 0xdd1a, 0xe17e, 0xdd1a, 0xe17e, 0xdc6e, 0xe0e5, 0xdc6e, 0xe0e5, 0xdc2f, -0xe0b3, 0xdc2f, 0xe0b3, 0xda79, 0xdf05, 0xda79, 0xdf05, 0xd8bf, 0xdd4d, 0xd8bf, 0xdd4d, -0xd8bf, 0xdd4d, 0xd6bf, 0xdb49, 0xd6bf, 0xdb49, 0xd539, 0xd9b9, 0xd539, 0xd9b9, 0xd6e6, -0xdb56, 0xd6e6, 0xdb56, 0xd7ea, 0xdc45, 0xd7ea, 0xdc45, 0xd65c, 0xda9e, 0xd65c, 0xda9e, -0xd659, 0xda7f, 0xd659, 0xda7f, 0xd659, 0xda7f, 0xd69d, 0xdaa3, 0xd69d, 0xdaa3, 0xd7bf, -0xdba3, 0xd7bf, 0xdba3, 0xd81e, 0xdbdd, 0xd81e, 0xdbdd, 0xd7e7, 0xdb81, 0xd7e7, 0xdb81, -0xd7f2, 0xdb68, 0xd7f2, 0xdb68, 0xd828, 0xdb79, 0xd828, 0xdb79, 0xd828, 0xdb79, 0xd9ea, -0xdd18, 0xd9ea, 0xdd18, 0xdb6b, 0xde78, 0xdb6b, 0xde78, 0xdc7a, 0xdf67, 0xdc7a, 0xdf67, -0xdb8e, 0xde5e, 0xdb8e, 0xde5e, 0xdd58, 0xe00f, 0xdd58, 0xe00f, 0xdd58, 0xe00f, 0xe021, -0xe2c0, 0xe021, 0xe2c0, 0xe08e, 0xe319, 0xe08e, 0xe319, 0xe0e7, 0xe35f, 0xe0e7, 0xe35f, -0xe253, 0xe4bb, 0xe253, 0xe4bb, 0xe3d5, 0xe62f, 0xe3d5, 0xe62f, 0xe546, 0xe794, 0xe546, -0xe794, 0xe546, 0xe794, 0xe827, 0xea6a, 0xe827, 0xea6a, 0xe870, 0xeaa8, 0xe870, 0xeaa8, -0xeada, 0xed07, 0xeada, 0xed07, 0xedef, 0xf011, 0xedef, 0xf011, 0xedfb, 0xf011, 0xedfb, -0xf011, 0xedfb, 0xf011, 0xef2a, 0xf132, 0xef2a, 0xf132, 0xede4, 0xefdd, 0xede4, 0xefdd, -0xed99, 0xef81, 0xed99, 0xef81, 0xede3, 0xefb8, 0xede3, 0xefb8, 0xee10, 0xefd0, 0xee10, -0xefd0, 0xede6, 0xef8e, 0xede6, 0xef8e, 0xede6, 0xef8e, 0xee82, 0xf010, 0xee82, 0xf010, -0xf067, 0xf1da, 0xf067, 0xf1da, 0xf0fe, 0xf254, 0xf0fe, 0xf254, 0xf367, 0xf49f, 0xf367, -0xf49f, 0xf361, 0xf47a, 0xf361, 0xf47a, 0xf362, 0xf45c, 0xf362, 0xf45c, 0xf362, 0xf45c, -0xf27f, 0xf35a, 0xf27f, 0xf35a, 0xf306, 0xf3c3, 0xf306, 0xf3c3, 0xf56b, 0xf60b, 0xf56b, -0xf60b, 0xf4c4, 0xf549, 0xf4c4, 0xf549, 0xf4a2, 0xf50d, 0xf4a2, 0xf50d, 0xf4a2, 0xf50d, -0xf621, 0xf676, 0xf621, 0xf676, 0xf857, 0xf899, 0xf857, 0xf899, 0xfaaf, 0xfae0, 0xfaaf, -0xfae0, 0xfb92, 0xfbb6, 0xfb92, 0xfbb6, 0xfbb0, 0xfbca, 0xfbb0, 0xfbca, 0xfd14, 0xfd27, -0xfd14, 0xfd27, 0xfd14, 0xfd27, 0xfe9b, 0xfeab, 0xfe9b, 0xfeab, 0x124, 0x132, 0x124, -0x132, 0x3cd, 0x3dc, 0x3cd, 0x3dc, 0x4c8, 0x4d9, 0x4c8, 0x4d9, 0x4bf, 0x4d4, -0x4bf, 0x4d4, 0x7b2, 0x7cc, 0x7b2, 0x7cc, 0x7b2, 0x7cc, 0x8cd, 0x8eb, 0x8cd, -0x8eb, 0x894, 0x8b7, 0x894, 0x8b7, 0xa12, 0xa38, 0xa12, 0xa38, 0xaa6, 0xace, -0xaa6, 0xace, 0x9fa, 0xa21, 0x9fa, 0xa21, 0x9fa, 0xa21, 0xad1, 0xaf6, 0xad1, -0xaf6, 0xbd6, 0xbf6, 0xbd6, 0xbf6, 0xc05, 0xc1e, 0xc05, 0xc1e, 0xc6b, 0xc79, -0xc6b, 0xc79, 0xc04, 0xc04, 0xc04, 0xc04, 0xc07, 0xbf5, 0xc07, 0xbf5, 0xc07, -0xbf5, 0xb3d, 0xb17, 0xb3d, 0xb17, 0xb74, 0xb37, 0xb74, 0xb37, 0xa93, 0xa3d, -0xa93, 0xa3d, 0xb16, 0xaa5, 0xb16, 0xaa5, 0xb3f, 0xab1, 0xb3f, 0xab1, 0xc6d, -0xbc2, 0xc6d, 0xbc2, 0xc6d, 0xbc2, 0xbbd, 0xaf3, 0xbbd, 0xaf3, 0xc97, 0xbae, -0xc97, 0xbae, 0xd9f, 0xc97, 0xd9f, 0xc97, 0xc41, 0xb1c, 0xc41, 0xb1c, 0xbc7, -0xa85, 0xbc7, 0xa85, 0xbc7, 0xa85, 0x972, 0x815, 0x972, 0x815, 0xb1a, 0x9a5, -0xb1a, 0x9a5, 0xa6b, 0x8df, 0xa6b, 0x8df, 0xbe9, 0xa48, 0xbe9, 0xa48, 0xd07, -0xb53, 0xd07, 0xb53, 0xd5c, 0xb99, 0xd5c, 0xb99, 0xd5c, 0xb99, 0xf44, 0xd74, -0xf44, 0xd74, 0xfd4, 0xdf8, 0xfd4, 0xdf8, 0xed3, 0xcee, 0xed3, 0xcee, 0xef7, -0xd0b, 0xef7, 0xd0b, 0xeb2, 0xcc0, 0xeb2, 0xcc0, 0xde0, 0xbea, 0xde0, 0xbea, -0xde0, 0xbea, 0xec2, 0xcc9, 0xec2, 0xcc9, 0xdd4, 0xbd8, 0xdd4, 0xbd8, 0xd3f, -0xb41, 0xd3f, 0xb41, 0xca7, 0xaa6, 0xca7, 0xaa6, 0xd6e, 0xb6b, 0xd6e, 0xb6b, -0xd6e, 0xb6b, 0xc0d, 0xa07, 0xc0d, 0xa07, 0xa24, 0x81b, 0xa24, 0x81b, 0x7e8, -0x5dc, 0x7e8, 0x5dc, 0x5c1, 0x3b0, 0x5c1, 0x3b0, 0x36f, 0x15a, 0x36f, 0x15a, -0x449, 0x22f, 0x449, 0x22f, 0x449, 0x22f, 0x2d9, 0xba, 0x2d9, 0xba, 0x190, -0xff6c, 0x190, 0xff6c, 0x19b, 0xff73, 0x19b, 0xff73, 0xdb, 0xfeaf, 0xdb, 0xfeaf, -0x33, 0xfe04, 0x33, 0xfe04, 0xff01, 0xfcd1, 0xff01, 0xfcd1, 0xff01, 0xfcd1, 0x74, -0xfe43, 0x74, 0xfe43, 0xfee8, 0xfcba, 0xfee8, 0xfcba, 0xff32, 0xfd09, 0xff32, 0xfd09, -0xfde7, 0xfbc5, 0xfde7, 0xfbc5, 0xfeed, 0xfcd5, 0xfeed, 0xfcd5, 0xfeed, 0xfcd5, 0xff1d, -0xfd12, 0xff1d, 0xfd12, 0xffbe, 0xfdc4, 0xffbe, 0xfdc4, 0x1d6, 0xffef, 0x1d6, 0xffef, -0xf1, 0xff21, 0xf1, 0xff21, 0xfef9, 0xfd42, 0xfef9, 0xfd42, 0xb9, 0xff1f, 0xb9, -0xff1f, 0xb9, 0xff1f, 0xe4, 0xff69, 0xe4, 0xff69, 0x83, 0xff29, 0x83, 0xff29, -0x11c, 0xffe5, 0x11c, 0xffe5, 0xff78, 0xfe66, 0xff78, 0xfe66, 0x288, 0x19c, 0x288, -0x19c, 0x31a, 0x255, 0x31a, 0x255, 0x31a, 0x255, 0x651, 0x5b2, 0x651, 0x5b2, -0x598, 0x520, 0x598, 0x520, 0x533, 0x4e1, 0x533, 0x4e1, 0x4d5, 0x4a7, 0x4d5, -0x4a7, 0x4d1, 0x4c7, 0x4d1, 0x4c7, 0x4d1, 0x4c7, 0x54d, 0x565, 0x54d, 0x565, -0x3b2, 0x3e9, 0x3b2, 0x3e9, 0x1cf, 0x223, 0x1cf, 0x223, 0x223, 0x292, 0x223, -0x292, 0x266, 0x2ed, 0x266, 0x2ed, 0xfffa, 0x96, 0xfffa, 0x96, 0xfffa, 0x96, -0x2a4, 0x352, 0x2a4, 0x352, 0x250, 0x30e, 0x250, 0x30e, 0x83, 0x14e, 0x83, -0x14e, 0xfe65, 0xff3b, 0xfe65, 0xff3b, 0x164, 0x243, 0x164, 0x243, 0xff84, 0x6a, -0xff84, 0x6a, 0xff84, 0x6a, 0xff62, 0x4c, 0xff62, 0x4c, 0xa0, 0x18e, 0xa0, -0x18e, 0xfdbc, 0xfead, 0xfdbc, 0xfead, 0xffb3, 0xa5, 0xffb3, 0xa5, 0x38b, 0x47d, -0x38b, 0x47d, 0x38b, 0x47d, 0x3ce, 0x4c1, 0x3ce, 0x4c1, 0x2df, 0x3d2, 0x2df, -0x3d2, 0x285, 0x377, 0x285, 0x377, 0x276, 0x368, 0x276, 0x368, 0x452, 0x543, -0x452, 0x543, 0x305, 0x3f6, 0x305, 0x3f6, 0x305, 0x3f6, 0x52d, 0x61d, 0x52d, -0x61d, 0x55d, 0x64c, 0x55d, 0x64c, 0x7aa, 0x898, 0x7aa, 0x898, 0x678, 0x765, -0x678, 0x765, 0x4f5, 0x5e0, 0x4f5, 0x5e0, 0x5af, 0x698, 0x5af, 0x698, 0x5af, -0x698, 0x480, 0x566, 0x480, 0x566, 0x2ef, 0x3d2, 0x2ef, 0x3d2, 0x33c, 0x419, -0x33c, 0x419, 0x41c, 0x4f4, 0x41c, 0x4f4, 0x4f5, 0x5c6, 0x4f5, 0x5c6, 0x4f5, -0x5c6, 0x796, 0x85e, 0x796, 0x85e, 0x6a1, 0x760, 0x6a1, 0x760, 0x486, 0x53a, -0x486, 0x53a, 0x478, 0x520, 0x478, 0x520, 0x5dc, 0x677, 0x5dc, 0x677, 0x2bc, -0x348, 0x2bc, 0x348, 0x2bc, 0x348, 0x592, 0x60f, 0x592, 0x60f, 0x426, 0x493, -0x426, 0x493, 0x68b, 0x6e8, 0x68b, 0x6e8, 0x71f, 0x76c, 0x71f, 0x76c, 0x7a3, -0x7e0, 0x7a3, 0x7e0, 0x7a3, 0x7e0, 0x9e5, 0xa12, 0x9e5, 0xa12, 0x6b0, 0x6cd, -0x6b0, 0x6cd, 0x6e2, 0x6f1, 0x6e2, 0x6f1, 0x438, 0x439, 0x438, 0x439, 0x565, -0x55b, 0x565, 0x55b, 0x4a7, 0x493, 0x4a7, 0x493, 0x4a7, 0x493, 0x610, 0x5f4, -0x610, 0x5f4, 0x711, 0x6ee, 0x711, 0x6ee, 0x6d0, 0x6a8, 0x6d0, 0x6a8, 0x766, -0x73b, 0x766, 0x73b, 0x976, 0x94b, 0x976, 0x94b, 0x55c, 0x532, 0x55c, 0x532, -0x55c, 0x532, 0x5b2, 0x58a, 0x5b2, 0x58a, 0x6a0, 0x67c, 0x6a0, 0x67c, 0x3d0, -0x3b1, 0x3d0, 0x3b1, 0x420, 0x407, 0x420, 0x407, 0x331, 0x31e, 0x331, 0x31e, -0x331, 0x31e, 0x4a1, 0x496, 0x4a1, 0x496, 0x38e, 0x38a, 0x38e, 0x38a, 0x65f, -0x661, 0x65f, 0x661, 0x4de, 0x4e6, 0x4de, 0x4e6, 0x2f3, 0x300, 0x2f3, 0x300, -0x398, 0x3a8, 0x398, 0x3a8, 0x398, 0x3a8, 0x39e, 0x3b0, 0x39e, 0x3b0, 0x387, -0x399, 0x387, 0x399, 0x4f8, 0x507, 0x4f8, 0x507, 0x3ce, 0x3d8, 0x3ce, 0x3d8, -0x44e, 0x451, 0x44e, 0x451, 0x5a4, 0x59e, 0x5a4, 0x59e, 0x5a4, 0x59e, 0x6c2, -0x6b0, 0x6c2, 0x6b0, 0x85e, 0x83d, 0x85e, 0x83d, 0x887, 0x856, 0x887, 0x856, -0x9d5, 0x991, 0x9d5, 0x991, 0x76c, 0x713, 0x76c, 0x713, 0x76c, 0x713, 0x6c3, -0x654, 0x6c3, 0x654, 0x8fc, 0x875, 0x8fc, 0x875, 0x9ef, 0x94e, 0x9ef, 0x94e, -0x6cf, 0x613, 0x6cf, 0x613, 0xcc8, 0xbf2, 0xcc8, 0xbf2, 0xc81, 0xb8e, 0xc81, -0xb8e, 0xc81, 0xb8e, 0xae5, 0x9d5, 0xae5, 0x9d5, 0xcf9, 0xbcc, 0xcf9, 0xbcc, -0xad0, 0x986, 0xad0, 0x986, 0xa72, 0x90c, 0xa72, 0x90c, 0x859, 0x6d6, 0x859, -0x6d6, 0x6e8, 0x548, 0x6e8, 0x548, 0x6e8, 0x548, 0x61f, 0x463, 0x61f, 0x463, -0x750, 0x578, 0x750, 0x578, 0x8aa, 0x6b6, 0x8aa, 0x6b6, 0xa0b, 0x7fc, 0xa0b, -0x7fc, 0x936, 0x70d, 0x936, 0x70d, 0x936, 0x70d, 0x986, 0x741, 0x986, 0x741, -0x98a, 0x72b, 0x98a, 0x72b, 0xa2e, 0x7b5, 0xa2e, 0x7b5, 0x83d, 0x5aa, 0x83d, -0x5aa, 0xae4, 0x837, 0xae4, 0x837, 0xbdf, 0x918, 0xbdf, 0x918, 0xbdf, 0x918, -0xc60, 0x97f, 0xc60, 0x97f, 0x100e, 0xd13, 0x100e, 0xd13, 0xdb1, 0xa9d, 0xdb1, -0xa9d, 0xf58, 0xc2b, 0xf58, 0xc2b, 0x12d6, 0xf92, 0x12d6, 0xf92, 0x11cf, 0xe73, -0x11cf, 0xe73, 0x11cf, 0xe73, 0x1284, 0xf12, 0x1284, 0xf12, 0x1456, 0x10d1, 0x1456, -0x10d1, 0x121b, 0xe83, 0x121b, 0xe83, 0x164c, 0x12a4, 0x164c, 0x12a4, 0x1597, 0x11e0, -0x1597, 0x11e0, 0x1597, 0x11e0, 0x16a0, 0x12dd, 0x16a0, 0x12dd, 0x1839, 0x146e, 0x1839, -0x146e, 0x16a7, 0x12d6, 0x16a7, 0x12d6, 0x17d4, 0x1402, 0x17d4, 0x1402, 0x1827, 0x1457, -0x1827, 0x1457, 0x1863, 0x1499, 0x1863, 0x1499, 0x1863, 0x1499, 0x18e9, 0x152a, 0x18e9, -0x152a, 0x1823, 0x1472, 0x1823, 0x1472, 0x1697, 0x12f9, 0x1697, 0x12f9, 0x1838, 0x14b1, -0x1838, 0x14b1, 0x14f5, 0x1189, 0x14f5, 0x1189, 0x1587, 0x123a, 0x1587, 0x123a, 0x1587, -0x123a, 0x138d, 0x1064, 0x138d, 0x1064, 0x1384, 0x1082, 0x1384, 0x1082, 0x1379, 0x10a2, -0x1379, 0x10a2, 0x1195, 0xeed, 0x1195, 0xeed, 0x109b, 0xe23, 0x109b, 0xe23, 0x109b, -0xe23, 0xea8, 0xc65, 0xea8, 0xc65, 0x108f, 0xe81, 0x108f, 0xe81, 0xe78, 0xca3, -0xe78, 0xca3, 0xeba, 0xd1f, 0xeba, 0xd1f, 0xeb2, 0xd53, 0xeb2, 0xd53, 0xfb4, -0xe90, 0xfb4, 0xe90, 0xfb4, 0xe90, 0xd70, 0xc8a, 0xd70, 0xc8a, 0x987, 0x8de, -0x987, 0x8de, 0xb1f, 0xab4, 0xb1f, 0xab4, 0x93c, 0x910, 0x93c, 0x910, 0x56b, -0x57d, 0x56b, 0x57d, 0x319, 0x369, 0x319, 0x369, 0x319, 0x369, 0x2d7, 0x364, -0x2d7, 0x364, 0x372, 0x43b, 0x372, 0x43b, 0x188, 0x28e, 0x188, 0x28e, 0xfe09, -0xff4a, 0xfe09, 0xff4a, 0xf95b, 0xfad6, 0xf95b, 0xfad6, 0xf95b, 0xfad6, 0xf71a, 0xf8d0, -0xf71a, 0xf8d0, 0xf571, 0xf75f, 0xf571, 0xf75f, 0xf37b, 0xf5a1, 0xf37b, 0xf5a1, 0xf111, -0xf36e, 0xf111, 0xf36e, 0xeecc, 0xf15e, 0xeecc, 0xf15e, 0xef6d, 0xf234, 0xef6d, 0xf234, -0xef6d, 0xf234, 0xeef8, 0xf1f2, 0xeef8, 0xf1f2, 0xed8e, 0xf0b9, 0xed8e, 0xf0b9, 0xea2d, -0xed88, 0xea2d, 0xed88, 0xe83d, 0xebc5, 0xe83d, 0xebc5, 0xe80b, 0xebbe, 0xe80b, 0xebbe, -0xe55b, 0xe938, 0xe55b, 0xe938, 0xe55b, 0xe938, 0xe1a4, 0xe5a7, 0xe1a4, 0xe5a7, 0xe1fe, -0xe625, 0xe1fe, 0xe625, 0xe0a2, 0xe4e9, 0xe0a2, 0xe4e9, 0xdfc8, 0xe42c, 0xdfc8, 0xe42c, -0xdfdd, 0xe45c, 0xdfdd, 0xe45c, 0xdfdd, 0xe45c, 0xdd07, 0xe19d, 0xdd07, 0xe19d, 0xdb9c, -0xe045, 0xdb9c, 0xe045, 0xdbb0, 0xe069, 0xdbb0, 0xe069, 0xdaf8, 0xdfbd, 0xdaf8, 0xdfbd, -0xd7f1, 0xdcbe, 0xd7f1, 0xdcbe, 0xd897, 0xdd69, 0xd897, 0xdd69, 0xd897, 0xdd69, 0xd818, -0xdceb, 0xd818, 0xdceb, 0xd892, 0xdd63, 0xd892, 0xdd63, 0xda6f, 0xdf3a, 0xda6f, 0xdf3a, -0xdba8, 0xe06a, 0xdba8, 0xe06a, 0xdb6b, 0xe021, 0xdb6b, 0xe021, 0xdb34, 0xdfdb, 0xdb34, -0xdfdb, 0xdb34, 0xdfdb, 0xde44, 0xe2da, 0xde44, 0xe2da, 0xdc26, 0xe0a8, 0xdc26, 0xe0a8, -0xda7d, 0xdee9, 0xda7d, 0xdee9, 0xdaff, 0xdf53, 0xdaff, 0xdf53, 0xdbd0, 0xe00a, 0xdbd0, -0xe00a, 0xdbd0, 0xe00a, 0xe0e1, 0xe500, 0xe0e1, 0xe500, 0xe0eb, 0xe4ed, 0xe0eb, 0xe4ed, -0xde0e, 0xe1f3, 0xde0e, 0xe1f3, 0xe098, 0xe45e, 0xe098, 0xe45e, 0xe186, 0xe52d, 0xe186, -0xe52d, 0xe382, 0xe709, 0xe382, 0xe709, 0xe382, 0xe709, 0xe5b0, 0xe917, 0xe5b0, 0xe917, -0xe3c3, 0xe70a, 0xe3c3, 0xe70a, 0xe58e, 0xe8b5, 0xe58e, 0xe8b5, 0xe762, 0xea69, 0xe762, -0xea69, 0xe839, 0xeb1f, 0xe839, 0xeb1f, 0xe839, 0xeb1f, 0xea9a, 0xed60, 0xea9a, 0xed60, -0xea4d, 0xecf3, 0xea4d, 0xecf3, 0xeb14, 0xed9a, 0xeb14, 0xed9a, 0xec1a, 0xee80, 0xec1a, -0xee80, 0xe9f4, 0xec3c, 0xe9f4, 0xec3c, 0xe94f, 0xeb79, 0xe94f, 0xeb79, 0xe94f, 0xeb79, -0xea27, 0xec32, 0xea27, 0xec32, 0xe87f, 0xea6d, 0xe87f, 0xea6d, 0xe9ec, 0xebbd, 0xe9ec, -0xebbd, 0xec4e, 0xee03, 0xec4e, 0xee03, 0xec7c, 0xee15, 0xec7c, 0xee15, 0xebef, 0xed6e, -0xebef, 0xed6e, 0xebef, 0xed6e, 0xedcb, 0xef2f, 0xedcb, 0xef2f, 0xedbb, 0xef06, 0xedbb, -0xef06, 0xeb99, 0xeccc, 0xeb99, 0xeccc, 0xed03, 0xee1e, 0xed03, 0xee1e, 0xebb1, 0xecb5, -0xebb1, 0xecb5, 0xebb1, 0xecb5, 0xec5f, 0xed4d, 0xec5f, 0xed4d, 0xed8b, 0xee63, 0xed8b, -0xee63, 0xefcc, 0xf08f, 0xefcc, 0xf08f, 0xf14f, 0xf1fd, 0xf14f, 0xf1fd, 0xf192, 0xf22d, -0xf192, 0xf22d, 0xf162, 0xf1ea, 0xf162, 0xf1ea, 0xf162, 0xf1ea, 0xf45f, 0xf4d4, 0xf45f, -0xf4d4, 0xf534, 0xf596, 0xf534, 0xf596, 0xf4ca, 0xf51b, 0xf4ca, 0xf51b, 0xf597, 0xf5d6, -0xf597, 0xf5d6, 0xf369, 0xf396, 0xf369, 0xf396, 0xf85e, 0xf87a, 0xf85e, 0xf87a, 0xf85e, -0xf87a, 0xf80f, 0xf819, 0xf80f, 0xf819, 0xf969, 0xf961, 0xf969, 0xf961, 0xfbf5, 0xfbdb, -0xfbf5, 0xfbdb, 0xfd32, 0xfd06, 0xfd32, 0xfd06, 0xff7c, 0xff3d, 0xff7c, 0xff3d, 0xff7c, -0xff3d, 0xff4f, 0xfefd, 0xff4f, 0xfefd, 0xff89, 0xff23, 0xff89, 0xff23, 0xfef4, 0xfe7a, -0xfef4, 0xfe7a, 0x21, 0xff93, 0x21, 0xff93, 0x17d, 0xda, 0x17d, 0xda, 0x271, -0x1b8, 0x271, 0x1b8, 0x271, 0x1b8, 0x435, 0x365, 0x435, 0x365, 0x3eb, 0x304, -0x3eb, 0x304, 0x34e, 0x250, 0x34e, 0x250, 0x61e, 0x508, 0x61e, 0x508, 0x4f1, -0x3c3, 0x4f1, 0x3c3, 0x4ef, 0x3a8, 0x4ef, 0x3a8, 0x4ef, 0x3a8, 0x3ec, 0x28c, -0x3ec, 0x28c, 0x3dd, 0x264, 0x3dd, 0x264, 0x5f2, 0x460, 0x5f2, 0x460, 0x658, -0x4ad, 0x658, 0x4ad, 0x713, 0x54f, 0x713, 0x54f, 0x713, 0x54f, 0x884, 0x6a8, -0x884, 0x6a8, 0x7ac, 0x5b9, 0x7ac, 0x5b9, 0x755, 0x54a, 0x755, 0x54a, 0xab3, -0x891, 0xab3, 0x891, 0xc08, 0x9d0, 0xc08, 0x9d0, 0xaee, 0x8a0, 0xaee, 0x8a0, -0xaee, 0x8a0, 0xc32, 0x9d0, 0xc32, 0x9d0, 0xd18, 0xaa4, 0xd18, 0xaa4, 0xd27, -0xaa0, 0xd27, 0xaa0, 0x1159, 0xec3, 0x1159, 0xec3, 0xff5, 0xd50, 0xff5, 0xd50, -0x132f, 0x107d, 0x132f, 0x107d, 0x132f, 0x107d, 0x14dc, 0x121e, 0x14dc, 0x121e, 0x14ae, -0x11e7, 0x14ae, 0x11e7, 0x14b5, 0x11e6, 0x14b5, 0x11e6, 0x1376, 0x10a2, 0x1376, 0x10a2, -0x14f2, 0x121a, 0x14f2, 0x121a, 0x14f2, 0x121a, 0x160c, 0x1332, 0x160c, 0x1332, 0x17fb, -0x1522, 0x17fb, 0x1522, 0x19a9, 0x16d3, 0x19a9, 0x16d3, 0x172c, 0x145a, 0x172c, 0x145a, -0x133c, 0x1071, 0x133c, 0x1071, 0x1798, 0x14d7, 0x1798, 0x14d7, 0x1798, 0x14d7, 0x1424, -0x116e, 0x1424, 0x116e, 0x12c2, 0x1019, 0x12c2, 0x1019, 0x105b, 0xdc2, 0x105b, 0xdc2, -0xcd7, 0xa50, 0xcd7, 0xa50, 0xc23, 0x9b0, 0xc23, 0x9b0, 0xb52, 0x8f5, 0xb52, -0x8f5, 0xb52, 0x8f5, 0xc5f, 0xa1a, 0xc5f, 0xa1a, 0x960, 0x734, 0x960, 0x734, -0x89a, 0x68a, 0x89a, 0x68a, 0xa3b, 0x848, 0xa3b, 0x848, 0x902, 0x72e, 0x902, -0x72e, 0x902, 0x72e, 0x6b3, 0x500, 0x6b3, 0x500, 0x719, 0x587, 0x719, 0x587, -0x7ca, 0x65b, 0x7ca, 0x65b, 0xa3d, 0x8f1, 0xa3d, 0x8f1, 0x73f, 0x618, 0x73f, -0x618, 0x945, 0x843, 0x945, 0x843, 0x945, 0x843, 0x7a9, 0x6cc, 0x7a9, 0x6cc, -0x5b4, 0x4fe, 0x5b4, 0x4fe, 0x927, 0x897, 0x927, 0x897, 0x7ef, 0x785, 0x7ef, -0x785, 0x509, 0x4c5, 0x509, 0x4c5, 0x405, 0x3e7, 0x405, 0x3e7, 0x405, 0x3e7, -0x39f, 0x3a6, 0x39f, 0x3a6, 0x56e, 0x599, 0x56e, 0x599, 0x779, 0x7c8, 0x779, -0x7c8, 0x3e3, 0x455, 0x3e3, 0x455, 0x565, 0x5f9, 0x565, 0x5f9, 0x565, 0x5f9, -0x446, 0x4f9, 0x446, 0x4f9, 0x28a, 0x35c, 0x28a, 0x35c, 0xfffc, 0xeb, 0xfffc, -0xeb, 0x8b, 0x196, 0x8b, 0x196, 0xff30, 0x55, 0xff30, 0x55, 0x15, 0x151, -0x15, 0x151, 0x15, 0x151, 0xff8d, 0xdf, 0xff8d, 0xdf, 0xfdb8, 0xff1e, 0xfdb8, -0xff1e, 0xfd9b, 0xff13, 0xfd9b, 0xff13, 0xf950, 0xfad7, 0xf950, 0xfad7, 0xfc2b, 0xfdbf, -0xfc2b, 0xfdbf, 0xfca1, 0xfe3f, 0xfca1, 0xfe3f, 0xfca1, 0xfe3f, 0xf8f3, 0xfa99, 0xf8f3, -0xfa99, 0xf5ae, 0xf75a, 0xf5ae, 0xf75a, 0xf6f2, 0xf8a1, 0xf6f2, 0xf8a1, 0xf540, 0xf6f0, -0xf540, 0xf6f0, 0xf9c0, 0xfb6e, 0xf9c0, 0xfb6e, 0xf9c0, 0xfb6e, 0xf997, 0xfb42, 0xf997, -0xfb42, 0xf6d6, 0xf87b, 0xf6d6, 0xf87b, 0xf91f, 0xfabb, 0xf91f, 0xfabb, 0xf94f, 0xfae0, -0xf94f, 0xfae0, 0xf9af, 0xfb33, 0xf9af, 0xfb33, 0xf8d2, 0xfa47, 0xf8d2, 0xfa47, 0xf8d2, -0xfa47, 0xf972, 0xfad6, 0xf972, 0xfad6, 0xf733, 0xf884, 0xf733, 0xf884, 0xfaf4, 0xfc2f, -0xfaf4, 0xfc2f, 0xfcac, 0xfdd1, 0xfcac, 0xfdd1, 0xfb09, 0xfc16, 0xfb09, 0xfc16, 0xfc94, -0xfd88, 0xfc94, 0xfd88, 0xfc94, 0xfd88, 0xfc5f, 0xfd38, 0xfc5f, 0xfd38, 0xfe85, 0xff42, -0xfe85, 0xff42, 0xffc7, 0x66, 0xffc7, 0x66, 0xfba2, 0xfc23, 0xfba2, 0xfc23, 0xfdec, -0xfe4f, 0xfdec, 0xfe4f, 0xfdec, 0xfe4f, 0xfb5c, 0xfb9f, 0xfb5c, 0xfb9f, 0xfbb4, 0xfbd8, -0xfbb4, 0xfbd8, 0xfe10, 0xfe14, 0xfe10, 0xfe14, 0xfb58, 0xfb3c, 0xfb58, 0xfb3c, 0xfc73, -0xfc37, 0xfc73, 0xfc37, 0xfefa, 0xfe9e, 0xfefa, 0xfe9e, 0xfefa, 0xfe9e, 0xa5, 0x2b, -0xa5, 0x2b, 0xff04, 0xfe6a, 0xff04, 0xfe6a, 0x10b, 0x53, 0x10b, 0x53, 0xff9d, -0xfec9, 0xff9d, 0xfec9, 0x162, 0x70, 0x162, 0x70, 0x162, 0x70, 0x1c6, 0xb9, -0x1c6, 0xb9, 0x28e, 0x168, 0x28e, 0x168, 0x38c, 0x24c, 0x38c, 0x24c, 0x5aa, -0x454, 0x5aa, 0x454, 0x596, 0x429, 0x596, 0x429, 0x4bb, 0x33a, 0x4bb, 0x33a, -0x4bb, 0x33a, 0x6f0, 0x55d, 0x6f0, 0x55d, 0x4d0, 0x32c, 0x4d0, 0x32c, 0x59b, -0x3e8, 0x59b, 0x3e8, 0x8c4, 0x704, 0x8c4, 0x704, 0x988, 0x7bc, 0x988, 0x7bc, -0x9f4, 0x81e, 0x9f4, 0x81e, 0x9f4, 0x81e, 0xedd, 0xd00, 0xedd, 0xd00, 0xf82, -0xd9f, 0xf82, 0xd9f, 0x12b5, 0x10cf, 0x12b5, 0x10cf, 0xeb1, 0xcc8, 0xeb1, 0xcc8, -0x10dc, 0xef3, 0x10dc, 0xef3, 0x10dc, 0xef3, 0x1234, 0x104c, 0x1234, 0x104c, 0xf8d, -0xda9, 0xf8d, 0xda9, 0x12d7, 0x10f7, 0x12d7, 0x10f7, 0x10f9, 0xf1f, 0x10f9, 0xf1f, -0x1339, 0x1167, 0x1339, 0x1167, 0x125d, 0x1094, 0x125d, 0x1094, 0x125d, 0x1094, 0x12e2, -0x1123, 0x12e2, 0x1123, 0x1240, 0x108d, 0x1240, 0x108d, 0x1358, 0x11b0, 0x1358, 0x11b0, -0x1374, 0x11d9, 0x1374, 0x11d9, 0x1171, 0xfe4, 0x1171, 0xfe4, 0x12e0, 0x1162, 0x12e0, -0x1162, 0x12e0, 0x1162, 0x1141, 0xfd2, 0x1141, 0xfd2, 0xf00, 0xda0, 0xf00, 0xda0, -0x1300, 0x11ae, 0x1300, 0x11ae, 0x12cb, 0x1188, 0x12cb, 0x1188, 0x13cc, 0x1298, 0x13cc, -0x1298, 0x13cc, 0x1298, 0x13c3, 0x129e, 0x13c3, 0x129e, 0x11f1, 0x10da, 0x11f1, 0x10da, -0x139a, 0x1290, 0x139a, 0x1290, 0xfef, 0xef2, 0xfef, 0xef2, 0x1071, 0xf80, 0x1071, -0xf80, 0xfa9, 0xec2, 0xfa9, 0xec2, 0xfa9, 0xec2, 0xfce, 0xef1, 0xfce, 0xef1, -0xf9a, 0xec5, 0xf9a, 0xec5, 0xfda, 0xf0c, 0xfda, 0xf0c, 0xeda, 0xe12, 0xeda, -0xe12, 0xdb1, 0xced, 0xdb1, 0xced, 0xd58, 0xc98, 0xd58, 0xc98, 0xd58, 0xc98, -0xb71, 0xab1, 0xb71, 0xab1, 0xa5e, 0x99e, 0xa5e, 0x99e, 0xa32, 0x96f, 0xa32, -0x96f, 0xb16, 0xa4f, 0xb16, 0xa4f, 0xa66, 0x999, 0xa66, 0x999, 0xa66, 0x999, -0x9cb, 0x8f7, 0x9cb, 0x8f7, 0x92b, 0x84e, 0x92b, 0x84e, 0xa13, 0x92b, 0xa13, -0x92b, 0x974, 0x880, 0x974, 0x880, 0x93e, 0x83d, 0x93e, 0x83d, 0x7f6, 0x6e5, -0x7f6, 0x6e5, 0x7f6, 0x6e5, 0x5d8, 0x4b7, 0x5d8, 0x4b7, 0x52b, 0x3f9, 0x52b, -0x3f9, 0x604, 0x4bf, 0x604, 0x4bf, 0x79d, 0x645, 0x79d, 0x645, 0x999, 0x82c, -0x999, 0x82c, 0x6e2, 0x560, 0x6e2, 0x560, 0x6e2, 0x560, 0x8c7, 0x731, 0x8c7, -0x731, 0xad3, 0x927, 0xad3, 0x927, 0x8f0, 0x72e, 0x8f0, 0x72e, 0x978, 0x7a0, -0x978, 0x7a0, 0x7ff, 0x612, 0x7ff, 0x612, 0x7ff, 0x612, 0x9e6, 0x7e4, 0x9e6, -0x7e4, 0xb2b, 0x914, 0xb2b, 0x914, 0xccb, 0xaa1, 0xccb, 0xaa1, 0xd6c, 0xb30, -0xd6c, 0xb30, 0xe0a, 0xbbc, 0xe0a, 0xbbc, 0xd87, 0xb29, 0xd87, 0xb29, 0xd87, -0xb29, 0xfb3, 0xd48, 0xfb3, 0xd48, 0x1041, 0xdc9, 0x1041, 0xdc9, 0xeba, 0xc38, -0xeba, 0xc38, 0xd12, 0xa86, 0xd12, 0xa86, 0xd72, 0xae0, 0xd72, 0xae0, 0xf1f, -0xc89, 0xf1f, 0xc89, 0xf1f, 0xc89, 0xc9f, 0xa08, 0xc9f, 0xa08, 0xc97, 0xa01, -0xc97, 0xa01, 0xb4f, 0x8bd, 0xb4f, 0x8bd, 0xdec, 0xb61, 0xdec, 0xb61, 0xd4e, -0xacb, 0xd4e, 0xacb, 0xd4e, 0xacb, 0xcd9, 0xa62, 0xcd9, 0xa62, 0xd6b, 0xb03, -0xd6b, 0xb03, 0xbb9, 0x963, 0xbb9, 0x963, 0xc62, 0xa22, 0xc62, 0xa22, 0xc09, -0x9e1, 0xc09, 0x9e1, 0xc5a, 0xa4c, 0xc5a, 0xa4c, 0xc5a, 0xa4c, 0xb6d, 0x97d, -0xb6d, 0x97d, 0xb17, 0x947, 0xb17, 0x947, 0xd7e, 0xbd1, 0xd7e, 0xbd1, 0xe2a, -0xca3, 0xe2a, 0xca3, 0xc5f, 0xb00, 0xc5f, 0xb00, 0xa7b, 0x946, 0xa7b, 0x946, -0xa7b, 0x946, 0x829, 0x720, 0x829, 0x720, 0x88f, 0x7b4, 0x88f, 0x7b4, 0x837, -0x78c, 0x837, 0x78c, 0x650, 0x5d8, 0x650, 0x5d8, 0x463, 0x41d, 0x463, 0x41d, -0x463, 0x41d, 0x373, 0x362, 0x373, 0x362, 0x2ca, 0x2ef, 0x2ca, 0x2ef, 0xd1, -0x12d, 0xd1, 0x12d, 0xfec6, 0xff58, 0xfec6, 0xff58, 0xfbdc, 0xfca6, 0xfbdc, 0xfca6, -0xfa22, 0xfb24, 0xfa22, 0xfb24, 0xfa22, 0xfb24, 0xf97e, 0xfab8, 0xf97e, 0xfab8, 0xf707, -0xf878, 0xf707, 0xf878, 0xf491, 0xf639, 0xf491, 0xf639, 0xf4bb, 0xf699, 0xf4bb, 0xf699, -0xf41b, 0xf630, 0xf41b, 0xf630, 0xf244, 0xf48d, 0xf244, 0xf48d, 0xf244, 0xf48d, 0xf397, -0xf613, 0xf397, 0xf613, 0xf1bb, 0xf469, 0xf1bb, 0xf469, 0xec1c, 0xeefb, 0xec1c, 0xeefb, -0xeb64, 0xee71, 0xeb64, 0xee71, 0xe9e4, 0xed1e, 0xe9e4, 0xed1e, 0xe9e4, 0xed1e, 0xe857, -0xebbc, 0xe857, 0xebbc, 0xe85b, 0xebe9, 0xe85b, 0xebe9, 0xe743, 0xeaf7, 0xe743, 0xeaf7, -0xe6da, 0xeab2, 0xe6da, 0xeab2, 0xe492, 0xe88b, 0xe492, 0xe88b, 0xe31f, 0xe738, 0xe31f, -0xe738, 0xe31f, 0xe738, 0xe27a, 0xe6af, 0xe27a, 0xe6af, 0xded1, 0xe31f, 0xded1, 0xe31f, -0xde9e, 0xe303, 0xde9e, 0xe303, 0xe013, 0xe48d, 0xe013, 0xe48d, 0xded3, 0xe35d, 0xded3, -0xe35d, 0xde5b, 0xe2f5, 0xde5b, 0xe2f5, 0xde5b, 0xe2f5, 0xdef1, 0xe397, 0xdef1, 0xe397, -0xde7f, 0xe32d, 0xde7f, 0xe32d, 0xdf90, 0xe445, 0xdf90, 0xe445, 0xe14c, 0xe605, 0xe14c, -0xe605, 0xdcf9, 0xe1b4, 0xdcf9, 0xe1b4, 0xdcf9, 0xe1b4, 0xdbda, 0xe094, 0xdbda, 0xe094, -0xde7b, 0xe331, 0xde7b, 0xe331, 0xdd62, 0xe212, 0xdd62, 0xe212, 0xddc6, 0xe26e, 0xddc6, -0xe26e, 0xddde, 0xe27b, 0xddde, 0xe27b, 0xde1e, 0xe2af, 0xde1e, 0xe2af, 0xde1e, 0xe2af, -0xdffd, 0xe47f, 0xdffd, 0xe47f, 0xdef4, 0xe366, 0xdef4, 0xe366, 0xe000, 0xe460, 0xe000, -0xe460, 0xe118, 0xe563, 0xe118, 0xe563, 0xdfec, 0xe422, 0xdfec, 0xe422, 0xdfec, 0xe422, -0xe04e, 0xe46c, 0xe04e, 0xe46c, 0xe240, 0xe646, 0xe240, 0xe646, 0xe2c9, 0xe6b6, 0xe2c9, -0xe6b6, 0xe536, 0xe908, 0xe536, 0xe908, 0xe7b6, 0xeb6c, 0xe7b6, 0xeb6c, 0xe670, 0xea0a, -0xe670, 0xea0a, 0xe670, 0xea0a, 0xe790, 0xeb0c, 0xe790, 0xeb0c, 0xe50f, 0xe86d, 0xe50f, -0xe86d, 0xe5fb, 0xe93b, 0xe5fb, 0xe93b, 0xe697, 0xe9b7, 0xe697, 0xe9b7, 0xe4df, 0xe7e0, -0xe4df, 0xe7e0, 0xe58d, 0xe86e, 0xe58d, 0xe86e, 0xe58d, 0xe86e, 0xe353, 0xe613, 0xe353, -0xe613, 0xe5b8, 0xe858, 0xe5b8, 0xe858, 0xe514, 0xe794, 0xe514, 0xe794, 0xe2ab, 0xe50b, -0xe2ab, 0xe50b, 0xe3b0, 0xe5f0, 0xe3b0, 0xe5f0, 0xe3b0, 0xe5f0, 0xe216, 0xe436, 0xe216, -0xe436, 0xe39d, 0xe59d, 0xe39d, 0xe59d, 0xe39a, 0xe57c, 0xe39a, 0xe57c, 0xe16d, 0xe330, -0xe16d, 0xe330, 0xe32e, 0xe4d3, 0xe32e, 0xe4d3, 0xe3ba, 0xe541, 0xe3ba, 0xe541, 0xe3ba, -0xe541, 0xe59a, 0xe704, 0xe59a, 0xe704, 0xe78c, 0xe8da, 0xe78c, 0xe8da, 0xe75a, 0xe88c, -0xe75a, 0xe88c, 0xe89e, 0xe9b5, 0xe89e, 0xe9b5, 0xeb71, 0xec6e, 0xeb71, 0xec6e, 0xeb30, -0xec13, 0xeb30, 0xec13, 0xeb30, 0xec13, 0xecb7, 0xed81, 0xecb7, 0xed81, 0xed43, 0xedf5, -0xed43, 0xedf5, 0xedcd, 0xee68, 0xedcd, 0xee68, 0xf237, 0xf2bb, 0xf237, 0xf2bb, 0xf397, -0xf406, 0xf397, 0xf406, 0xf397, 0xf406, 0xf553, 0xf5ae, 0xf553, 0xf5ae, 0xf681, 0xf6c8, -0xf681, 0xf6c8, 0xf859, 0xf88d, 0xf859, 0xf88d, 0xfa85, 0xfaa8, 0xfa85, 0xfaa8, 0xfc64, -0xfc76, 0xfc64, 0xfc76, 0xfc34, 0xfc36, 0xfc34, 0xfc36, 0xfc34, 0xfc36, 0xff00, 0xfef2, -0xff00, 0xfef2, 0x90, 0x74, 0x90, 0x74, 0x14, 0xffea, 0x14, 0xffea, 0x249, -0x212, 0x249, 0x212, 0x36b, 0x328, 0x36b, 0x328, 0x589, 0x53a, 0x589, 0x53a, -0x589, 0x53a, 0x503, 0x4a9, 0x503, 0x4a9, 0x573, 0x50f, 0x573, 0x50f, 0x735, -0x6c7, 0x735, 0x6c7, 0x7f1, 0x77b, 0x7f1, 0x77b, 0x8b2, 0x833, 0x8b2, 0x833, -0x8b2, 0x833, 0x9c4, 0x93d, 0x9c4, 0x93d, 0xa29, 0x99a, 0xa29, 0x99a, 0xaa6, -0xa10, 0xaa6, 0xa10, 0xcb3, 0xc16, 0xcb3, 0xc16, 0xe92, 0xdef, 0xe92, 0xdef, -0xebe, 0xe14, 0xebe, 0xe14, 0xebe, 0xe14, 0x1041, 0xf91, 0x1041, 0xf91, 0xf22, -0xe6c, 0xf22, 0xe6c, 0x11d1, 0x1116, 0x11d1, 0x1116, 0x13d5, 0x1315, 0x13d5, 0x1315, -0x133e, 0x1279, 0x133e, 0x1279, 0x167b, 0x15b0, 0x167b, 0x15b0, 0x167b, 0x15b0, 0x14dd, -0x140d, 0x14dd, 0x140d, 0x18e9, 0x1814, 0x18e9, 0x1814, 0x1908, 0x182e, 0x1908, 0x182e, -0x1736, 0x1657, 0x1736, 0x1657, 0x1924, 0x1841, 0x1924, 0x1841, 0x1924, 0x1841, 0x17da, -0x16f3, 0x17da, 0x16f3, 0x1848, 0x175c, 0x1848, 0x175c, 0x1b01, 0x1a11, 0x1b01, 0x1a11, -0x19d5, 0x18e1, 0x19d5, 0x18e1, 0x189f, 0x17a7, 0x189f, 0x17a7, 0x1ac2, 0x19c6, 0x1ac2, -0x19c6, 0x1ac2, 0x19c6, 0x19b4, 0x18b4, 0x19b4, 0x18b4, 0x1b1f, 0x1a1c, 0x1b1f, 0x1a1c, -0x1ae0, 0x19d9, 0x1ae0, 0x19d9, 0x1867, 0x175d, 0x1867, 0x175d, 0x16b5, 0x15a9, 0x16b5, -0x15a9, 0x1678, 0x1569, 0x1678, 0x1569, 0x1678, 0x1569, 0x140f, 0x12ff, 0x140f, 0x12ff, -0x1047, 0xf36, 0x1047, 0xf36, 0xf8a, 0xe79, 0xf8a, 0xe79, 0xf25, 0xe13, 0xf25, -0xe13, 0xd45, 0xc33, 0xd45, 0xc33, 0xd45, 0xc33, 0xcf1, 0xbe1, 0xcf1, 0xbe1, -0xaf7, 0x9e8, 0xaf7, 0x9e8, 0x939, 0x82d, 0x939, 0x82d, 0x9e7, 0x8dd, 0x9e7, -0x8dd, 0x782, 0x67b, 0x782, 0x67b, 0x8f9, 0x7f7, 0x8f9, 0x7f7, 0x8f9, 0x7f7, -0x92b, 0x82d, 0x92b, 0x82d, 0x76e, 0x677, 0x76e, 0x677, 0x99d, 0x8ac, 0x99d, -0x8ac, 0x9a5, 0x8bb, 0x9a5, 0x8bb, 0x7db, 0x6f9, 0x7db, 0x6f9, 0x866, 0x78c, -0x866, 0x78c, 0x866, 0x78c, 0x45f, 0x38e, 0x45f, 0x38e, 0x30b, 0x244, 0x30b, -0x244, 0x37e, 0x2c1, 0x37e, 0x2c1, 0x294, 0x1e2, 0x294, 0x1e2, 0x3b1, 0x30a, -0x3b1, 0x30a, 0x3b1, 0x30a, 0x3a3, 0x308, 0x3a3, 0x308, 0x470, 0x3e0, 0x470, -0x3e0, 0x4d2, 0x44f, 0x4d2, 0x44f, 0x58f, 0x518, 0x58f, 0x518, 0x441, 0x3d6, -0x441, 0x3d6, 0x311, 0x2b1, 0x311, 0x2b1, 0x311, 0x2b1, 0x113, 0xbf, 0x113, -0xbf, 0x15e, 0x117, 0x15e, 0x117, 0x162, 0x126, 0x162, 0x126, 0xffef, 0xffbe, -0xffef, 0xffbe, 0xfe1b, 0xfdf5, 0xfe1b, 0xfdf5, 0xfead, 0xfe91, 0xfead, 0xfe91, 0xfead, -0xfe91, 0xfe21, 0xfe0d, 0xfe21, 0xfe0d, 0xfb87, 0xfb7c, 0xfb87, 0xfb7c, 0xfb6b, 0xfb68, -0xfb6b, 0xfb68, 0xf919, 0xf91d, 0xf919, 0xf91d, 0xfaba, 0xfac3, 0xfaba, 0xfac3, 0xfaba, -0xfac3, 0xf8be, 0xf8cc, 0xf8be, 0xf8cc, 0xf63a, 0xf64b, 0xf63a, 0xf64b, 0xf870, 0xf884, -0xf870, 0xf884, 0xf77f, 0xf794, 0xf77f, 0xf794, 0xf877, 0xf88b, 0xf877, 0xf88b, 0xfa3e, -0xfa51, 0xfa3e, 0xfa51, 0xfa3e, 0xfa51, 0xf788, 0xf798, 0xf788, 0xf798, 0xf96c, 0xf978, -0xf96c, 0xf978, 0xf99b, 0xf9a1, 0xf99b, 0xf9a1, 0xf948, 0xf947, 0xf948, 0xf947, 0xf9b0, -0xf9a6, 0xf9b0, 0xf9a6, 0xf85f, 0xf84b, 0xf85f, 0xf84b, 0xf85f, 0xf84b, 0xf8cb, 0xf8ac, -0xf8cb, 0xf8ac, 0xf778, 0xf74d, 0xf778, 0xf74d, 0xf930, 0xf8f7, 0xf930, 0xf8f7, 0xf99e, -0xf957, 0xf99e, 0xf957, 0xfb9e, 0xfb47, 0xfb9e, 0xfb47, 0xfb9e, 0xfb47, 0xfce3, 0xfc7c, -0xfce3, 0xfc7c, 0xfdb9, 0xfd40, 0xfdb9, 0xfd40, 0xfed6, 0xfe4b, 0xfed6, 0xfe4b, 0xfdaf, -0xfd10, 0xfdaf, 0xfd10, 0xfdb1, 0xfcff, 0xfdb1, 0xfcff, 0xfeb5, 0xfdee, 0xfeb5, 0xfdee, -0xfeb5, 0xfdee, 0xfd63, 0xfc88, 0xfd63, 0xfc88, 0xfced, 0xfbfd, 0xfced, 0xfbfd, 0xfede, -0xfdd9, 0xfede, 0xfdd9, 0xc9, 0xffb0, 0xc9, 0xffb0, 0x1b4, 0x85, 0x1b4, 0x85, -0x1b4, 0x85, 0x197, 0x54, 0x197, 0x54, 0x43e, 0x2e6, 0x43e, 0x2e6, 0x486, -0x31b, 0x486, 0x31b, 0x5fe, 0x480, 0x5fe, 0x480, 0x740, 0x5af, 0x740, 0x5af, -0x78f, 0x5ee, 0x78f, 0x5ee, 0x78f, 0x5ee, 0x86e, 0x6bb, 0x86e, 0x6bb, 0x888, -0x6c6, 0x888, 0x6c6, 0x919, 0x748, 0x919, 0x748, 0xa8c, 0x8ae, 0xa8c, 0x8ae, -0x9d2, 0x7e8, 0x9d2, 0x7e8, 0xa9c, 0x8a7, 0xa9c, 0x8a7, 0xa9c, 0x8a7, 0xca9, -0xaab, 0xca9, 0xaab, 0xd6a, 0xb64, 0xd6a, 0xb64, 0xef6, 0xce9, 0xef6, 0xce9, -0xda0, 0xb8e, 0xda0, 0xb8e, 0xfc2, 0xdad, 0xfc2, 0xdad, 0xfc2, 0xdad, 0x1130, -0xf19, 0x1130, 0xf19, 0x112d, 0xf15, 0x112d, 0xf15, 0x112d, 0xf16, 0x112d, 0xf16, -0x1114, 0xeff, 0x1114, 0xeff, 0x1205, 0xff4, 0x1205, 0xff4, 0x12a0, 0x1094, 0x12a0, -0x1094, 0x12a0, 0x1094, 0x1363, 0x115d, 0x1363, 0x115d, 0x1313, 0x1115, 0x1313, 0x1115, -0x122b, 0x1035, 0x122b, 0x1035, 0x11be, 0xfd2, 0x11be, 0xfd2, 0x1306, 0x1124, 0x1306, -0x1124, 0x12ca, 0x10f4, 0x12ca, 0x10f4, 0x12ca, 0x10f4, 0x10f5, 0xf2b, 0x10f5, 0xf2b, -0x1227, 0x106a, 0x1227, 0x106a, 0x11f8, 0x1048, 0x11f8, 0x1048, 0xf97, 0xdf6, 0xf97, -0xdf6, 0x1129, 0xf96, 0x1129, 0xf96, 0x1129, 0xf96, 0x10e2, 0xf5d, 0x10e2, 0xf5d, -0xf1c, 0xda6, 0xf1c, 0xda6, 0x1000, 0xe98, 0x1000, 0xe98, 0x1060, 0xf06, 0x1060, -0xf06, 0xda2, 0xc57, 0xda2, 0xc57, 0xcc0, 0xb83, 0xcc0, 0xb83, 0xcc0, 0xb83, -0xced, 0xbbd, 0xced, 0xbbd, 0xc24, 0xb00, 0xc24, 0xb00, 0xad2, 0x9ba, 0xad2, -0x9ba, 0x922, 0x815, 0x922, 0x815, 0x915, 0x812, 0x915, 0x812, 0x848, 0x74f, -0x848, 0x74f, 0x848, 0x74f, 0x7cc, 0x6db, 0x7cc, 0x6db, 0x6f5, 0x60c, 0x6f5, -0x60c, 0x6d8, 0x5f3, 0x6d8, 0x5f3, 0x5c8, 0x4e9, 0x5c8, 0x4e9, 0x3bb, 0x2df, -0x3bb, 0x2df, 0x3bb, 0x2df, 0x302, 0x228, 0x302, 0x228, 0x10c, 0x32, 0x10c, -0x32, 0xff98, 0xfebd, 0xff98, 0xfebd, 0xc9, 0xffec, 0xc9, 0xffec, 0x126, 0x46, -0x126, 0x46, 0x2ab, 0x1c7, 0x2ab, 0x1c7, 0x2ab, 0x1c7, 0x29b, 0x1b0, 0x29b, -0x1b0, 0x9b, 0xffa9, 0x9b, 0xffa9, 0x181, 0x86, 0x181, 0x86, 0x153, 0x4e, -0x153, 0x4e, 0x10, 0xff00, 0x10, 0xff00, 0xfd86, 0xfc6a, 0xfd86, 0xfc6a, 0xfd86, -0xfc6a, 0xfe27, 0xfcfe, 0xfe27, 0xfcfe, 0x53, 0xff1c, 0x53, 0xff1c, 0x83, 0xff3d, -0x83, 0xff3d, 0x16b, 0x15, 0x16b, 0x15, 0xe6, 0xff80, 0xe6, 0xff80, 0xe6, -0xff80, 0x1, 0xfe8a, 0x1, 0xfe8a, 0x167, 0xffdf, 0x167, 0xffdf, 0x357, 0x1bd, -0x357, 0x1bd, 0x466, 0x2bb, 0x466, 0x2bb, 0x5c5, 0x408, 0x5c5, 0x408, 0x6f1, -0x523, 0x6f1, 0x523, 0x6f1, 0x523, 0xa56, 0x877, 0xa56, 0x877, 0xdeb, 0xbfa, -0xdeb, 0xbfa, 0xede, 0xcdd, 0xede, 0xcdd, 0x100a, 0xdf9, 0x100a, 0xdf9, 0x1127, -0xf07, 0x1127, 0xf07, 0x12b0, 0x1082, 0x12b0, 0x1082, 0x12b0, 0x1082, 0x13b1, 0x1176, -0x13b1, 0x1176, 0x1328, 0x10e1, 0x1328, 0x10e1, 0x10fa, 0xea8, 0x10fa, 0xea8, 0x1051, -0xdf7, 0x1051, 0xdf7, 0x113d, 0xedb, 0x113d, 0xedb, 0x113d, 0xedb, 0xfcb, 0xd63, -0xfcb, 0xd63, 0x111b, 0xeb0, 0x111b, 0xeb0, 0x1120, 0xeb3, 0x1120, 0xeb3, 0xfbd, -0xd51, 0xfbd, 0xd51, 0x10f8, 0xe8e, 0x10f8, 0xe8e, 0x1134, 0xed0, 0x1134, 0xed0, -0x1134, 0xed0, 0x125f, 0x1002, 0x125f, 0x1002, 0x1117, 0xec4, 0x1117, 0xec4, 0x10ee, -0xea8, 0x10ee, 0xea8, 0x12ba, 0x1083, 0x12ba, 0x1083, 0x1345, 0x1120, 0x1345, 0x1120, -0x144c, 0x123b, 0x144c, 0x123b, 0x144c, 0x123b, 0x1376, 0x117d, 0x1376, 0x117d, 0x133b, -0x115c, 0x133b, 0x115c, 0x1298, 0x10d5, 0x1298, 0x10d5, 0x1393, 0x11f0, 0x1393, 0x11f0, -0x1441, 0x12c0, 0x1441, 0x12c0, 0x1441, 0x12c0, 0x1200, 0x10a4, 0x1200, 0x10a4, 0x1126, -0xff1, 0x1126, 0xff1, 0xf90, 0xe85, 0xf90, 0xe85, 0xdc3, 0xce4, 0xdc3, 0xce4, -0xd17, 0xc67, 0xd17, 0xc67, 0xbe9, 0xb6a, 0xbe9, 0xb6a, 0xbe9, 0xb6a, 0x94e, -0x902, 0x94e, 0x902, 0x797, 0x780, 0x797, 0x780, 0x792, 0x7b1, 0x792, 0x7b1, -0x69f, 0x6f7, 0x69f, 0x6f7, 0x1a4, 0x236, 0x1a4, 0x236, 0xfed7, 0xffa4, 0xfed7, -0xffa4, 0xfed7, 0xffa4, 0xfe9b, 0xffa4, 0xfe9b, 0xffa4, 0xfc37, 0xfd7e, 0xfc37, 0xfd7e, -0xfc42, 0xfdc8, 0xfc42, 0xfdc8, 0xf999, 0xfb5d, 0xf999, 0xfb5d, 0xf5db, 0xf7df, 0xf5db, -0xf7df, 0xf5db, 0xf7df, 0xf4c6, 0xf708, 0xf4c6, 0xf708, 0xf3fd, 0xf67f, 0xf3fd, 0xf67f, -0xf3d3, 0xf694, 0xf3d3, 0xf694, 0xf165, 0xf464, 0xf165, 0xf464, 0xee9d, 0xf1da, 0xee9d, -0xf1da, 0xec72, 0xefeb, 0xec72, 0xefeb, 0xec72, 0xefeb, 0xeb15, 0xeeca, 0xeb15, 0xeeca, -0xeafd, 0xeeeb, 0xeafd, 0xeeeb, 0xe7d8, 0xebfe, 0xe7d8, 0xebfe, 0xe3b4, 0xe810, 0xe3b4, -0xe810, 0xe3fd, 0xe88d, 0xe3fd, 0xe88d, 0xe415, 0xe8d6, 0xe415, 0xe8d6, 0xe415, 0xe8d6, -0xe16d, 0xe65d, 0xe16d, 0xe65d, 0xdf59, 0xe474, 0xdf59, 0xe474, 0xde71, 0xe3b5, 0xde71, -0xe3b5, 0xde4d, 0xe3b6, 0xde4d, 0xe3b6, 0xddc1, 0xe34c, 0xddc1, 0xe34c, 0xddc1, 0xe34c, -0xdce0, 0xe289, 0xdce0, 0xe289, 0xdb8d, 0xe151, 0xdb8d, 0xe151, 0xda84, 0xe05e, 0xda84, -0xe05e, 0xd9ef, 0xdfdd, 0xd9ef, 0xdfdd, 0xd909, 0xdf06, 0xd909, 0xdf06, 0xd78e, 0xdd96, -0xd78e, 0xdd96, 0xd78e, 0xdd96, 0xd5a8, 0xdbb8, 0xd5a8, 0xdbb8, 0xd4e6, 0xdafa, 0xd4e6, -0xdafa, 0xd6db, 0xdcee, 0xd6db, 0xdcee, 0xd92b, 0xdf3a, 0xd92b, 0xdf3a, 0xd92a, 0xdf32, -0xd92a, 0xdf32, 0xd92a, 0xdf32, 0xd90f, 0xdf0c, 0xd90f, 0xdf0c, 0xd909, 0xdef7, 0xd909, -0xdef7, 0xd9ba, 0xdf97, 0xd9ba, 0xdf97, 0xd940, 0xdf08, 0xd940, 0xdf08, 0xd8ac, 0xde5c, -0xd8ac, 0xde5c, 0xda05, 0xdf9a, 0xda05, 0xdf9a, 0xda05, 0xdf9a, 0xda44, 0xdfbc, 0xda44, -0xdfbc, 0xdb27, 0xe07f, 0xdb27, 0xe07f, 0xdcac, 0xe1e2, 0xdcac, 0xe1e2, 0xde4f, 0xe362, -0xde4f, 0xe362, 0xdeee, 0xe3da, 0xdeee, 0xe3da, 0xdeca, 0xe38e, 0xdeca, 0xe38e, 0xdeca, -0xe38e, 0xdf30, 0xe3ca, 0xdf30, 0xe3ca, 0xdee3, 0xe351, 0xdee3, 0xe351, 0xde99, 0xe2da, -0xde99, 0xe2da, 0xdda5, 0xe1b8, 0xdda5, 0xe1b8, 0xdd35, 0xe118, 0xdd35, 0xe118, 0xdd35, -0xe118, 0xdf8b, 0xe33d, 0xdf8b, 0xe33d, 0xe03d, 0xe3bd, 0xe03d, 0xe3bd, 0xdf57, 0xe2a5, -0xdf57, 0xe2a5, 0xe027, 0xe341, 0xe027, 0xe341, 0xdf89, 0xe26f, 0xdf89, 0xe26f, 0xdf68, -0xe21a, 0xdf68, 0xe21a, 0xdf68, 0xe21a, 0xdfab, 0xe228, 0xdfab, 0xe228, 0xdf22, 0xe16a, -0xdf22, 0xe16a, 0xdfd2, 0xe1e5, 0xdfd2, 0xe1e5, 0xe1ef, 0xe3cd, 0xe1ef, 0xe3cd, 0xe433, -0xe5dc, 0xe433, 0xe5dc, 0xe528, 0xe69e, 0xe528, 0xe69e, 0xe528, 0xe69e, 0xe75e, 0xe8a0, -0xe75e, 0xe8a0, 0xe73c, 0xe84b, 0xe73c, 0xe84b, 0xe745, 0xe822, 0xe745, 0xe822, 0xea02, -0xeaae, 0xea02, 0xeaae, 0xeb38, 0xebb4, 0xeb38, 0xebb4, 0xeb38, 0xebb4, 0xedaa, 0xedf8, -0xedaa, 0xedf8, 0xf00c, 0xf02d, 0xf00c, 0xf02d, 0xf1de, 0xf1d3, 0xf1de, 0xf1d3, 0xf353, -0xf31f, 0xf353, 0xf31f, 0xf3cd, 0xf371, 0xf3cd, 0xf371, 0xf5be, 0xf53b, 0xf5be, 0xf53b, -0xf5be, 0xf53b, 0xf79b, 0xf6f4, 0xf79b, 0xf6f4, 0xf8f9, 0xf82e, 0xf8f9, 0xf82e, 0xfc05, -0xfb19, 0xfc05, 0xfb19, 0xfd65, 0xfc5a, 0xfd65, 0xfc5a, 0xfe7a, 0xfd52, 0xfe7a, 0xfd52, -0x105, 0xffc1, 0x105, 0xffc1, 0x105, 0xffc1, 0x310, 0x1b2, 0x310, 0x1b2, 0x517, -0x3a0, 0x517, 0x3a0, 0x63b, 0x4ad, 0x63b, 0x4ad, 0x903, 0x75f, 0x903, 0x75f, -0x8c3, 0x70b, 0x8c3, 0x70b, 0x8c3, 0x70b, 0x962, 0x797, 0x962, 0x797, 0xd0b, -0xb2d, 0xd0b, 0xb2d, 0xc9e, 0xaaf, 0xc9e, 0xaaf, 0xcd4, 0xad5, 0xcd4, 0xad5, -0xd21, 0xb13, 0xd21, 0xb13, 0xf57, 0xd3b, 0xf57, 0xd3b, 0xf57, 0xd3b, 0xf2f, -0xd05, 0xf2f, 0xd05, 0xdc5, 0xb8d, 0xdc5, 0xb8d, 0xff7, 0xdb2, 0xff7, 0xdb2, -0x1001, 0xdaf, 0x1001, 0xdaf, 0x11db, 0xf7d, 0x11db, 0xf7d, 0x1307, 0x109e, 0x1307, -0x109e, 0x1307, 0x109e, 0x13cf, 0x115b, 0x13cf, 0x115b, 0x15b0, 0x1332, 0x15b0, 0x1332, -0x15f9, 0x1371, 0x15f9, 0x1371, 0x169b, 0x1409, 0x169b, 0x1409, 0x1753, 0x14b8, 0x1753, -0x14b8, 0x1753, 0x14b8, 0x183e, 0x159b, 0x183e, 0x159b, 0x17b3, 0x1508, 0x17b3, 0x1508, -0x17a5, 0x14f3, 0x17a5, 0x14f3, 0x196f, 0x16b6, 0x196f, 0x16b6, 0x1a52, 0x1794, 0x1a52, -0x1794, 0x19f6, 0x1733, 0x19f6, 0x1733, 0x19f6, 0x1733, 0x19e8, 0x1721, 0x19e8, 0x1721, -0x1a75, 0x17ac, 0x1a75, 0x17ac, 0x1a99, 0x17ce, 0x1a99, 0x17ce, 0x1a63, 0x1797, 0x1a63, -0x1797, 0x1b49, 0x187e, 0x1b49, 0x187e, 0x1bd4, 0x190b, 0x1bd4, 0x190b, 0x1bd4, 0x190b, -0x1978, 0x16b1, 0x1978, 0x16b1, 0x18b5, 0x15f3, 0x18b5, 0x15f3, 0x190e, 0x1651, 0x190e, -0x1651, 0x15b6, 0x1300, 0x15b6, 0x1300, 0x12d4, 0x1025, 0x12d4, 0x1025, 0x12d4, 0x1025, -0x1286, 0xfdf, 0x1286, 0xfdf, 0x1224, 0xf87, 0x1224, 0xf87, 0x1154, 0xec2, 0x1154, -0xec2, 0xe6e, 0xbe6, 0xe6e, 0xbe6, 0xb58, 0x8dd, 0xb58, 0x8dd, 0x9d9, 0x76a, -0x9d9, 0x76a, 0x9d9, 0x76a, 0x8ab, 0x649, 0x8ab, 0x649, 0x8ab, 0x657, 0x8ab, -0x657, 0x848, 0x602, 0x848, 0x602, 0x723, 0x4ec, 0x723, 0x4ec, 0x6a9, 0x481, -0x6a9, 0x481, 0x7ea, 0x5d0, 0x7ea, 0x5d0, 0x7ea, 0x5d0, 0x803, 0x5f9, 0x803, -0x5f9, 0x68f, 0x494, 0x68f, 0x494, 0x5f3, 0x406, 0x5f3, 0x406, 0x5f2, 0x414, -0x5f2, 0x414, 0x6db, 0x50c, 0x6db, 0x50c, 0x6db, 0x50c, 0x665, 0x4a6, 0x665, -0x4a6, 0x57d, 0x3cd, 0x57d, 0x3cd, 0x373, 0x1d2, 0x373, 0x1d2, 0x100, 0xff6f, -0x100, 0xff6f, 0x11c, 0xff9b, 0x11c, 0xff9b, 0x15d, 0xffeb, 0x15d, 0xffeb, 0x15d, -0xffeb, 0x1b, 0xfeba, 0x1b, 0xfeba, 0xffa1, 0xfe51, 0xffa1, 0xfe51, 0x120, 0xffe1, -0x120, 0xffe1, 0x1b2, 0x86, 0x1b2, 0x86, 0x12f, 0x15, 0x12f, 0x15, 0xffa6, -0xfe9f, 0xffa6, 0xfe9f, 0xffa6, 0xfe9f, 0xfefd, 0xfe0a, 0xfefd, 0xfe0a, 0xff0e, 0xfe30, -0xff0e, 0xfe30, 0xff86, 0xfebd, 0xff86, 0xfebd, 0xff21, 0xfe6e, 0xff21, 0xfe6e, 0xfc87, -0xfbeb, 0xfc87, 0xfbeb, 0xfc87, 0xfbeb, 0xfba6, 0xfb20, 0xfba6, 0xfb20, 0xfaf7, 0xfa88, -0xfaf7, 0xfa88, 0xfb02, 0xfaaa, 0xfb02, 0xfaaa, 0xf9d6, 0xf996, 0xf9d6, 0xf996, 0xf7f5, -0xf7cb, 0xf7f5, 0xf7cb, 0xf669, 0xf656, 0xf669, 0xf656, 0xf669, 0xf656, 0xf557, 0xf559, -0xf557, 0xf559, 0xf77f, 0xf796, 0xf77f, 0xf796, 0xf6a5, 0xf6cf, 0xf6a5, 0xf6cf, 0xf5eb, -0xf627, 0xf5eb, 0xf627, 0xf725, 0xf772, 0xf725, 0xf772, 0xf6c2, 0xf71e, 0xf6c2, 0xf71e, -0xf6c2, 0xf71e, 0xf6ea, 0xf753, 0xf6ea, 0xf753, 0xf6ff, 0xf772, 0xf6ff, 0xf772, 0xf675, -0xf6f1, 0xf675, 0xf6f1, 0xf62c, 0xf6ae, 0xf62c, 0xf6ae, 0xf724, 0xf7aa, 0xf724, 0xf7aa, -0xf724, 0xf7aa, 0xf8f3, 0xf97b, 0xf8f3, 0xf97b, 0xfa4d, 0xfad4, 0xfa4d, 0xfad4, 0xfa78, -0xfafc, 0xfa78, 0xfafc, 0xfa57, 0xfad6, 0xfa57, 0xfad6, 0xfa43, 0xfabb, 0xfa43, 0xfabb, -0xfbcd, 0xfc3b, 0xfbcd, 0xfc3b, 0xfbcd, 0xfc3b, 0xfbf8, 0xfc5a, 0xfbf8, 0xfc5a, 0xfa2a, -0xfa80, 0xfa2a, 0xfa80, 0xfb4f, 0xfb97, 0xfb4f, 0xfb97, 0xfd18, 0xfd50, 0xfd18, 0xfd50, -0xff0d, 0xff36, 0xff0d, 0xff36, 0xff0d, 0xff36, 0x64, 0x7c, 0x64, 0x7c, 0xd6, -0xdc, 0xd6, 0xdc, 0x7c, 0x71, 0x7c, 0x71, 0xff90, 0xff74, 0xff90, 0xff74, -0xd6, 0xa9, 0xd6, 0xa9, 0x212, 0x1d4, 0x212, 0x1d4, 0x212, 0x1d4, 0x300, -0x2b2, 0x300, 0x2b2, 0x4ea, 0x48d, 0x4ea, 0x48d, 0x634, 0x5c8, 0x634, 0x5c8, -0x65f, 0x5e6, 0x65f, 0x5e6, 0x708, 0x682, 0x708, 0x682, 0x641, 0x5b0, 0x641, -0x5b0, 0x641, 0x5b0, 0x5b8, 0x51d, 0x5b8, 0x51d, 0x722, 0x67d, 0x722, 0x67d, -0x7f6, 0x749, 0x7f6, 0x749, 0x9b1, 0x8fc, 0x9b1, 0x8fc, 0xa81, 0x9c5, 0xa81, -0x9c5, 0xa81, 0x9c5, 0xbad, 0xaea, 0xbad, 0xaea, 0xd70, 0xca7, 0xd70, 0xca7, -0xf19, 0xe4b, 0xf19, 0xe4b, 0x10a4, 0xfd2, 0x10a4, 0xfd2, 0x1056, 0xf7f, 0x1056, -0xf7f, 0x1094, 0xfb9, 0x1094, 0xfb9, 0x1094, 0xfb9, 0x1049, 0xf6a, 0x1049, 0xf6a, -0x11ac, 0x10c9, 0x11ac, 0x10c9, 0x1307, 0x1221, 0x1307, 0x1221, 0x1390, 0x12a7, 0x1390, -0x12a7, 0x154b, 0x145e, 0x154b, 0x145e, 0x144d, 0x135d, 0x144d, 0x135d, 0x144d, 0x135d, -0x13d4, 0x12e0, 0x13d4, 0x12e0, 0x1396, 0x12a0, 0x1396, 0x12a0, 0x11fc, 0x1103, 0x11fc, -0x1103, 0x11a2, 0x10a6, 0x11a2, 0x10a6, 0x1211, 0x1113, 0x1211, 0x1113, 0x1211, 0x1113, -0x11a9, 0x10aa, 0x11a9, 0x10aa, 0x11e4, 0x10e4, 0x11e4, 0x10e4, 0x1304, 0x1204, 0x1304, -0x1204, 0x1259, 0x1159, 0x1259, 0x1159, 0x1261, 0x1163, 0x1261, 0x1163, 0x12d4, 0x11d8, -0x12d4, 0x11d8, 0x12d4, 0x11d8, 0x123c, 0x1143, 0x123c, 0x1143, 0x1246, 0x1152, 0x1246, -0x1152, 0x1202, 0x1113, 0x1202, 0x1113, 0xfe5, 0xefd, 0xfe5, 0xefd, 0xec5, 0xde4, -0xec5, 0xde4, 0xf1a, 0xe42, 0xf1a, 0xe42, 0xf1a, 0xe42, 0xd45, 0xc76, 0xd45, -0xc76, 0xc24, 0xb60, 0xc24, 0xb60, 0xc27, 0xb6d, 0xc27, 0xb6d, 0xb3f, 0xa91, -0xb3f, 0xa91, 0xaeb, 0xa49, 0xaeb, 0xa49, 0xaeb, 0xa49, 0x9e2, 0x94a, 0x9e2, -0x94a, 0x979, 0x8ed, 0x979, 0x8ed, 0x970, 0x8ee, 0x970, 0x8ee, 0x70b, 0x693, -0x70b, 0x693, 0x5ae, 0x540, 0x5ae, 0x540, 0x519, 0x4b2, 0x519, 0x4b2, 0x519, -0x4b2, 0x40d, 0x3ad, 0x40d, 0x3ad, 0x303, 0x2a8, 0x303, 0x2a8, 0x25f, 0x206, -0x25f, 0x206, 0x2d1, 0x279, 0x2d1, 0x279, 0x2f4, 0x29a, 0x2f4, 0x29a, 0x4d3, -0x476, 0x4d3, 0x476, 0x4d3, 0x476, 0x603, 0x59f, 0x603, 0x59f, 0x5c9, 0x55c, -0x5c9, 0x55c, 0x56b, 0x4f3, 0x56b, 0x4f3, 0x47e, 0x3f9, 0x47e, 0x3f9, 0x55d, -0x4c8, 0x55d, 0x4c8, 0x55d, 0x4c8, 0x5cf, 0x528, 0x5cf, 0x528, 0x550, 0x496, -0x550, 0x496, 0x40c, 0x33c, 0x40c, 0x33c, 0x3c0, 0x2da, 0x3c0, 0x2da, 0x51c, -0x41e, 0x51c, 0x41e, 0x54f, 0x43a, 0x54f, 0x43a, 0x54f, 0x43a, 0x67c, 0x54e, -0x67c, 0x54e, 0x846, 0x701, 0x846, 0x701, 0x7be, 0x661, 0x7be, 0x661, 0x837, -0x6c3, 0x837, 0x6c3, 0xa23, 0x899, 0xa23, 0x899, 0xb6c, 0x9ce, 0xb6c, 0x9ce, -0xb6c, 0x9ce, 0xd67, 0xbb6, 0xd67, 0xbb6, 0xdee, 0xc2d, 0xdee, 0xc2d, 0xefa, -0xd2a, 0xefa, 0xd2a, 0xfe5, 0xe08, 0xfe5, 0xe08, 0xeaf, 0xcc9, 0xeaf, 0xcc9, -0xeaf, 0xcc9, 0xe4b, 0xc5e, 0xe4b, 0xc5e, 0xf46, 0xd55, 0xf46, 0xd55, 0x10a6, -0xeb4, 0x10a6, 0xeb4, 0xfbd, 0xdcc, 0xfbd, 0xdcc, 0xf13, 0xd26, 0xf13, 0xd26, -0xd90, 0xba9, 0xd90, 0xba9, 0xd90, 0xba9, 0xd1f, 0xb41, 0xd1f, 0xb41, 0x1086, -0xeb2, 0x1086, 0xeb2, 0x10a7, 0xee0, 0x10a7, 0xee0, 0xf6e, 0xdb7, 0xf6e, 0xdb7, -0xf0c, 0xd65, 0xf0c, 0xd65, 0xe4e, 0xcba, 0xe4e, 0xcba, 0xe4e, 0xcba, 0xed9, -0xd58, 0xed9, 0xd58, 0xf06, 0xd9b, 0xf06, 0xd9b, 0xf10, 0xdbb, 0xf10, 0xdbb, -0xefb, 0xdbd, 0xefb, 0xdbd, 0xdfd, 0xcd7, 0xdfd, 0xcd7, 0xdfd, 0xcd7, 0xea2, -0xd95, 0xea2, 0xd95, 0xe3a, 0xd47, 0xe3a, 0xd47, 0xcba, 0xbe2, 0xcba, 0xbe2, -0xd02, 0xc45, 0xd02, 0xc45, 0xded, 0xd4d, 0xded, 0xd4d, 0xe17, 0xd95, 0xe17, -0xd95, 0xe17, 0xd95, 0xbe2, 0xb7e, 0xbe2, 0xb7e, 0xba4, 0xb61, 0xba4, 0xb61, -0xaeb, 0xac9, 0xaeb, 0xac9, 0x85f, 0x860, 0x85f, 0x860, 0x728, 0x74d, 0x728, -0x74d, 0x455, 0x4a1, 0x455, 0x4a1, 0x455, 0x4a1, 0x24c, 0x2bf, 0x24c, 0x2bf, -0x15d, 0x1fa, 0x15d, 0x1fa, 0x189, 0x251, 0x189, 0x251, 0xa4, 0x19a, 0xa4, -0x19a, 0xfe09, 0xff2d, 0xfe09, 0xff2d, 0xfe09, 0xff2d, 0xfcf6, 0xfe4a, 0xfcf6, 0xfe4a, -0xfa74, 0xfbfa, 0xfa74, 0xfbfa, 0xf888, 0xfa41, 0xf888, 0xfa41, 0xf79a, 0xf987, 0xf79a, -0xf987, 0xf473, 0xf695, 0xf473, 0xf695, 0xf27b, 0xf4d3, 0xf27b, 0xf4d3, 0xf27b, 0xf4d3, -0xf380, 0xf60e, 0xf380, 0xf60e, 0xf3af, 0xf673, 0xf3af, 0xf673, 0xf158, 0xf451, 0xf158, -0xf451, 0xee93, 0xf1c1, 0xee93, 0xf1c1, 0xed10, 0xf072, 0xed10, 0xf072, 0xeb9d, 0xef31, -0xeb9d, 0xef31, 0xeb9d, 0xef31, 0xe97e, 0xed42, 0xe97e, 0xed42, 0xe7c6, 0xebb8, 0xe7c6, -0xebb8, 0xe5c6, 0xe9e3, 0xe5c6, 0xe9e3, 0xe46e, 0xe8b4, 0xe46e, 0xe8b4, 0xe2fb, 0xe766, -0xe2fb, 0xe766, 0xe2fb, 0xe766, 0xe265, 0xe6f2, 0xe265, 0xe6f2, 0xe38c, 0xe838, 0xe38c, -0xe838, 0xe324, 0xe7e9, 0xe324, 0xe7e9, 0xe36a, 0xe846, 0xe36a, 0xe846, 0xe2ca, 0xe7b9, -0xe2ca, 0xe7b9, 0xe035, 0xe532, 0xe035, 0xe532, 0xe035, 0xe532, 0xdeb5, 0xe3bd, 0xdeb5, -0xe3bd, 0xdcdb, 0xe1eb, 0xdcdb, 0xe1eb, 0xdc16, 0xe129, 0xdc16, 0xe129, 0xdbcc, 0xe0df, -0xdbcc, 0xe0df, 0xdad6, 0xdfe5, 0xdad6, 0xdfe5, 0xdad6, 0xdfe5, 0xdb0c, 0xe015, 0xdb0c, -0xe015, 0xdb5a, 0xe05a, 0xdb5a, 0xe05a, 0xdb63, 0xe057, 0xdb63, 0xe057, 0xda5d, 0xdf44, -0xda5d, 0xdf44, 0xd9c4, 0xde9c, 0xd9c4, 0xde9c, 0xdb12, 0xdfd9, 0xdb12, 0xdfd9, 0xdb12, -0xdfd9, 0xdbae, 0xe062, 0xdbae, 0xe062, 0xdcfa, 0xe19b, 0xdcfa, 0xe19b, 0xdde2, 0xe270, -0xdde2, 0xe270, 0xde4c, 0xe2c5, 0xde4c, 0xe2c5, 0xdf81, 0xe3e5, 0xdf81, 0xe3e5, 0xdf03, -0xe352, 0xdf03, 0xe352, 0xdf03, 0xe352, 0xdf93, 0xe3cd, 0xdf93, 0xe3cd, 0xe028, 0xe44e, -0xe028, 0xe44e, 0xe08c, 0xe49d, 0xe08c, 0xe49d, 0xe265, 0xe661, 0xe265, 0xe661, 0xe258, -0xe63f, 0xe258, 0xe63f, 0xe258, 0xe63f, 0xe1f0, 0xe5c2, 0xe1f0, 0xe5c2, 0xe1b1, 0xe56d, -0xe1b1, 0xe56d, 0xe1bb, 0xe560, 0xe1bb, 0xe560, 0xe2b1, 0xe640, 0xe2b1, 0xe640, 0xe236, -0xe5ad, 0xe236, 0xe5ad, 0xe15e, 0xe4bd, 0xe15e, 0xe4bd, 0xe15e, 0xe4bd, 0xe00a, 0xe34f, -0xe00a, 0xe34f, 0xdf4c, 0xe276, 0xdf4c, 0xe276, 0xe12e, 0xe43b, 0xe12e, 0xe43b, 0xe107, -0xe3f5, 0xe107, 0xe3f5, 0xe038, 0xe305, 0xe038, 0xe305, 0xe0e0, 0xe38a, 0xe0e0, 0xe38a, -0xe0e0, 0xe38a, 0xe055, 0xe2db, 0xe055, 0xe2db, 0xdff6, 0xe256, 0xdff6, 0xe256, 0xe07c, -0xe2b4, 0xe07c, 0xe2b4, 0xe277, 0xe485, 0xe277, 0xe485, 0xe36d, 0xe54f, 0xe36d, 0xe54f, -0xe36d, 0xe54f, 0xe3e9, 0xe59e, 0xe3e9, 0xe59e, 0xe54e, 0xe6d5, 0xe54e, 0xe6d5, 0xe5f7, -0xe74e, 0xe5f7, 0xe74e, 0xe8c4, 0xe9eb, 0xe8c4, 0xe9eb, 0xebd2, 0xecc9, 0xebd2, 0xecc9, -0xed31, 0xedf8, 0xed31, 0xedf8, 0xed31, 0xedf8, 0xee3d, 0xeed5, 0xee3d, 0xeed5, 0xef33, -0xef9b, 0xef33, 0xef9b, 0xf15e, 0xf198, 0xf15e, 0xf198, 0xf39d, 0xf3ab, 0xf39d, 0xf3ab, -0xf482, 0xf464, 0xf482, 0xf464, 0xf5e1, 0xf59a, 0xf5e1, 0xf59a, 0xf5e1, 0xf59a, 0xf6af, -0xf640, 0xf6af, 0xf640, 0xf7df, 0xf74b, 0xf7df, 0xf74b, 0xfb07, 0xfa50, 0xfb07, 0xfa50, -0xfb78, 0xfaa1, 0xfb78, 0xfaa1, 0xfbd7, 0xfae3, 0xfbd7, 0xfae3, 0xfbd7, 0xfae3, 0xfe26, -0xfd16, 0xfe26, 0xfd16, 0x56, 0xff2d, 0x56, 0xff2d, 0x23c, 0xfc, 0x23c, 0xfc, -0x217, 0xc2, 0x217, 0xc2, 0x238, 0xcf, 0x238, 0xcf, 0x3a0, 0x226, 0x3a0, -0x226, 0x3a0, 0x226, 0x5b5, 0x42a, 0x5b5, 0x42a, 0x80a, 0x66f, 0x80a, 0x66f, -0x957, 0x7ad, 0x957, 0x7ad, 0x9ec, 0x834, 0x9ec, 0x834, 0xa2d, 0x866, 0xa2d, -0x866, 0xb9a, 0x9c4, 0xb9a, 0x9c4, 0xb9a, 0x9c4, 0xd4c, 0xb66, 0xd4c, 0xb66, -0xd37, 0xb42, 0xd37, 0xb42, 0xd7c, 0xb76, 0xd7c, 0xb76, 0xdbe, 0xba7, 0xdbe, -0xba7, 0xf71, 0xd48, 0xf71, 0xd48, 0xf71, 0xd48, 0x12b9, 0x107c, 0x12b9, 0x107c, -0x1265, 0x1014, 0x1265, 0x1014, 0x12a1, 0x103c, 0x12a1, 0x103c, 0x140c, 0x1191, 0x140c, -0x1191, 0x13df, 0x114e, 0x13df, 0x114e, 0x13c7, 0x1120, 0x13c7, 0x1120, 0x13c7, 0x1120, -0x137b, 0x10bf, 0x137b, 0x10bf, 0x141d, 0x114a, 0x141d, 0x114a, 0x14eb, 0x1204, 0x14eb, -0x1204, 0x16e4, 0x13ea, 0x16e4, 0x13ea, 0x18f6, 0x15e9, 0x18f6, 0x15e9, 0x1930, 0x1612, -0x1930, 0x1612, 0x1930, 0x1612, 0x18dc, 0x15b0, 0x18dc, 0x15b0, 0x193b, 0x1603, 0x193b, -0x1603, 0x1afe, 0x17bd, 0x1afe, 0x17bd, 0x19d9, 0x1691, 0x19d9, 0x1691, 0x1873, 0x1529, -0x1873, 0x1529, 0x1873, 0x1529, 0x1915, 0x15cb, 0x1915, 0x15cb, 0x1699, 0x1352, 0x1699, -0x1352, 0x1514, 0x11d4, 0x1514, 0x11d4, 0x158d, 0x1258, 0x158d, 0x1258, 0x142a, 0x1103, -0x142a, 0x1103, 0x1266, 0xf50, 0x1266, 0xf50, 0x1266, 0xf50, 0x110a, 0xe09, 0x110a, -0xe09, 0x1140, 0xe56, 0x1140, 0xe56, 0x1001, 0xd32, 0x1001, 0xd32, 0xdbe, 0xb0c, -0xdbe, 0xb0c, 0xd91, 0xafd, 0xd91, 0xafd, 0xc56, 0x9e2, 0xc56, 0x9e2, 0xc56, -0x9e2, 0xb60, 0x90e, 0xb60, 0x90e, 0xb22, 0x8f3, 0xb22, 0x8f3, 0xac2, 0x8b7, -0xac2, 0x8b7, 0x98e, 0x7a7, 0x98e, 0x7a7, 0x887, 0x6c4, 0x887, 0x6c4, 0x887, -0x6c4, 0x9db, 0x83c, 0x9db, 0x83c, 0x93f, 0x7c3, 0x93f, 0x7c3, 0x783, 0x62a, -0x783, 0x62a, 0x7ce, 0x696, 0x7ce, 0x696, 0x85c, 0x745, 0x85c, 0x745, 0x8a6, -0x7ae, 0x8a6, 0x7ae, 0x8a6, 0x7ae, 0x7ea, 0x710, 0x7ea, 0x710, 0x678, 0x5bb, -0x678, 0x5bb, 0x652, 0x5b0, 0x652, 0x5b0, 0x640, 0x5ba, 0x640, 0x5ba, 0x622, -0x5b5, 0x622, 0x5b5, 0x586, 0x532, 0x586, 0x532, 0x586, 0x532, 0x48c, 0x450, -0x48c, 0x450, 0x50f, 0x4ea, 0x50f, 0x4ea, 0x554, 0x546, 0x554, 0x546, 0x6bc, -0x6c5, 0x6bc, 0x6c5, 0x6cb, 0x6eb, 0x6cb, 0x6eb, 0x6cb, 0x6eb, 0x410, 0x446, -0x410, 0x446, 0x298, 0x2e6, 0x298, 0x2e6, 0x1d1, 0x236, 0x1d1, 0x236, 0x16f, -0x1ed, 0x16f, 0x1ed, 0xffda, 0x70, 0xffda, 0x70, 0xfd9e, 0xfe4c, 0xfd9e, 0xfe4c, -0xfd9e, 0xfe4c, 0xfc89, 0xfd51, 0xfc89, 0xfd51, 0xfc55, 0xfd36, 0xfc55, 0xfd36, 0xfc9c, -0xfd96, 0xfc9c, 0xfd96, 0xfb2e, 0xfc41, 0xfb2e, 0xfc41, 0xf917, 0xfa43, 0xf917, 0xfa43, -0xf89f, 0xf9e2, 0xf89f, 0xf9e2, 0xf89f, 0xf9e2, 0xf8c5, 0xfa1f, 0xf8c5, 0xfa1f, 0xf934, -0xfaa3, 0xf934, 0xfaa3, 0xf8c8, 0xfa4b, 0xf8c8, 0xfa4b, 0xf6e3, 0xf878, 0xf6e3, 0xf878, -0xf5ed, 0xf791, 0xf5ed, 0xf791, 0xf5ed, 0xf791, 0xf5ae, 0xf75d, 0xf5ae, 0xf75d, 0xf758, -0xf911, 0xf758, 0xf911, 0xf866, 0xfa25, 0xf866, 0xfa25, 0xf79d, 0xf95e, 0xf79d, 0xf95e, -0xf865, 0xfa24, 0xf865, 0xfa24, 0xf81f, 0xf9d9, 0xf81f, 0xf9d9, 0xf81f, 0xf9d9, 0xf82b, -0xf9dc, 0xf82b, 0xf9dc, 0xf86b, 0xfa0e, 0xf86b, 0xfa0e, 0xf7f8, 0xf98a, 0xf7f8, 0xf98a, -0xf799, 0xf917, 0xf799, 0xf917, 0xf787, 0xf8ed, 0xf787, 0xf8ed, 0xf787, 0xf8ed, 0xf8e8, -0xfa32, 0xf8e8, 0xfa32, 0xf913, 0xfa3e, 0xf913, 0xfa3e, 0xfa3a, 0xfb44, 0xfa3a, 0xfb44, -0xfb06, 0xfbed, 0xfb06, 0xfbed, 0xfaa6, 0xfb68, 0xfaa6, 0xfb68, 0xfcbb, 0xfd57, 0xfcbb, -0xfd57, 0xfcbb, 0xfd57, 0xfd2c, 0xfda1, 0xfd2c, 0xfda1, 0xfcd2, 0xfd1f, 0xfcd2, 0xfd1f, -0xfe21, 0xfe48, 0xfe21, 0xfe48, 0xff15, 0xff15, 0xff15, 0xff15, 0x138, 0x112, 0x138, -0x112, 0x31e, 0x2d5, 0x31e, 0x2d5, 0x31e, 0x2d5, 0x30f, 0x2a4, 0x30f, 0x2a4, -0x389, 0x2fe, 0x389, 0x2fe, 0x4c9, 0x421, 0x4c9, 0x421, 0x5e0, 0x51d, 0x5e0, -0x51d, 0x509, 0x42e, 0x509, 0x42e, 0x509, 0x42e, 0x424, 0x333, 0x424, 0x333, -0x482, 0x37f, 0x482, 0x37f, 0x510, 0x3fe, 0x510, 0x3fe, 0x721, 0x601, 0x721, -0x601, 0x8df, 0x7b5, 0x8df, 0x7b5, 0x9e3, 0x8b0, 0x9e3, 0x8b0, 0x9e3, 0x8b0, -0xa2e, 0x8f4, 0xa2e, 0x8f4, 0xaf3, 0x9b5, 0xaf3, 0x9b5, 0xc7e, 0xb3d, 0xc7e, -0xb3d, 0xc57, 0xb15, 0xc57, 0xb15, 0xcd5, 0xb91, 0xcd5, 0xb91, 0xee5, 0xda0, -0xee5, 0xda0, 0xee5, 0xda0, 0x105d, 0xf18, 0x105d, 0xf18, 0x1106, 0xfc0, 0x1106, -0xfc0, 0x1202, 0x10bc, 0x1202, 0x10bc, 0x12aa, 0x1163, 0x12aa, 0x1163, 0x1359, 0x1210, -0x1359, 0x1210, 0x1359, 0x1210, 0x1401, 0x12b6, 0x1401, 0x12b6, 0x140b, 0x12bd, 0x140b, -0x12bd, 0x12ca, 0x1179, 0x12ca, 0x1179, 0x11db, 0x1086, 0x11db, 0x1086, 0x1333, 0x11d8, -0x1333, 0x11d8, 0x12bb, 0x115b, 0x12bb, 0x115b, 0x12bb, 0x115b, 0x1285, 0x111f, 0x1285, -0x111f, 0x12cf, 0x1163, 0x12cf, 0x1163, 0x123d, 0x10cb, 0x123d, 0x10cb, 0x13de, 0x1266, -0x13de, 0x1266, 0x1518, 0x139b, 0x1518, 0x139b, 0x13d6, 0x1254, 0x13d6, 0x1254, 0x13d6, -0x1254, 0x114f, 0xfc9, 0x114f, 0xfc9, 0x1081, 0xef8, 0x1081, 0xef8, 0x110c, 0xf81, -0x110c, 0xf81, 0x113e, 0xfb3, 0x113e, 0xfb3, 0x100c, 0xe82, 0x100c, 0xe82, 0x100c, -0xe82, 0xd52, 0xbcb, 0xd52, 0xbcb, 0xcd3, 0xb4f, 0xcd3, 0xb4f, 0xd8c, 0xc0d, -0xd8c, 0xc0d, 0xc77, 0xaff, 0xc77, 0xaff, 0xb72, 0xa02, 0xb72, 0xa02, 0x9fc, -0x895, 0x9fc, 0x895, 0x9fc, 0x895, 0x85d, 0x6ff, 0x85d, 0x6ff, 0x8fe, 0x7aa, -0x8fe, 0x7aa, 0x902, 0x7b7, 0x902, 0x7b7, 0x97a, 0x838, 0x97a, 0x838, 0x8e4, -0x7ab, 0x8e4, 0x7ab, 0x683, 0x552, 0x683, 0x552, 0x683, 0x552, 0x67f, 0x555, -0x67f, 0x555, 0x635, 0x50f, 0x635, 0x50f, 0x5c4, 0x4a0, 0x5c4, 0x4a0, 0x562, -0x43f, 0x562, 0x43f, 0x66b, 0x546, 0x66b, 0x546, 0x66b, 0x546, 0x86d, 0x743, -0x86d, 0x743, 0x90d, 0x7db, 0x90d, 0x7db, 0x988, 0x84b, 0x988, 0x84b, 0x8b0, -0x765, 0x8b0, 0x765, 0x7f5, 0x699, 0x7f5, 0x699, 0x703, 0x594, 0x703, 0x594, -0x703, 0x594, 0x5e7, 0x461, 0x5e7, 0x461, 0x58b, 0x3ec, 0x58b, 0x3ec, 0x4ae, -0x2f4, 0x4ae, 0x2f4, 0x5ef, 0x418, 0x5ef, 0x418, 0x8ec, 0x6f7, 0x8ec, 0x6f7, -0x8dd, 0x6c9, 0x8dd, 0x6c9, 0x8dd, 0x6c9, 0x7ec, 0x5b7, 0x7ec, 0x5b7, 0x8c3, -0x670, 0x8c3, 0x670, 0x9ee, 0x77b, 0x9ee, 0x77b, 0xc07, 0x976, 0xc07, 0x976, -0xd73, 0xac5, 0xd73, 0xac5, 0xd73, 0xac5, 0xef6, 0xc2d, 0xef6, 0xc2d, 0xee5, -0xc03, 0xee5, 0xc03, 0xdfb, 0xb03, 0xdfb, 0xb03, 0x100a, 0xd00, 0x100a, 0xd00, -0x1089, 0xd6e, 0x1089, 0xd6e, 0xf78, 0xc52, 0xf78, 0xc52, 0xf78, 0xc52, 0xf0c, -0xbdd, 0xf0c, 0xbdd, 0xf0c, 0xbd8, 0xf0c, 0xbd8, 0xe5e, 0xb2a, 0xe5e, 0xb2a, -0xe88, 0xb56, 0xe88, 0xb56, 0xfd1, 0xca5, 0xfd1, 0xca5, 0xeec, 0xbca, 0xeec, -0xbca, 0xeec, 0xbca, 0xe94, 0xb7f, 0xe94, 0xb7f, 0xfaf, 0xcaa, 0xfaf, 0xcaa, -0x1004, 0xd12, 0x1004, 0xd12, 0xfc7, 0xcea, 0xfc7, 0xcea, 0x109e, 0xdd8, 0x109e, -0xdd8, 0x109e, 0xdd8, 0x11a0, 0xef4, 0x11a0, 0xef4, 0x11ef, 0xf5e, 0x11ef, 0xf5e, -0x1175, 0xf00, 0x1175, 0xf00, 0x104a, 0xdf3, 0x104a, 0xdf3, 0xfe0, 0xda7, 0xfe0, -0xda7, 0xf4d, 0xd33, 0xf4d, 0xd33, 0xf4d, 0xd33, 0xf7a, 0xd7e, 0xf7a, 0xd7e, -0xf49, 0xd6d, 0xf49, 0xd6d, 0xe1a, 0xc5e, 0xe1a, 0xc5e, 0xe02, 0xc66, 0xe02, -0xc66, 0xdd8, 0xc5d, 0xdd8, 0xc5d, 0xd9e, 0xc43, 0xd9e, 0xc43, 0xd9e, 0xc43, -0xcf9, 0xbc0, 0xcf9, 0xbc0, 0xae1, 0x9cb, 0xae1, 0x9cb, 0x821, 0x72d, 0x821, -0x72d, 0x65e, 0x58e, 0x65e, 0x58e, 0x689, 0x5de, 0x689, 0x5de, 0x689, 0x5de, -0x649, 0x5c6, 0x649, 0x5c6, 0x45d, 0x402, 0x45d, 0x402, 0x29b, 0x26a, 0x29b, -0x26a, 0x16b, 0x166, 0x16b, 0x166, 0x12, 0x3c, 0x12, 0x3c, 0xfddb, 0xfe36, -0xfddb, 0xfe36, 0xfddb, 0xfe36, 0xfbc5, 0xfc52, 0xfbc5, 0xfc52, 0xf925, 0xf9e8, 0xf925, -0xf9e8, 0xf700, 0xf7fa, 0xf700, 0xf7fa, 0xf792, 0xf8c6, 0xf792, 0xf8c6, 0xf74a, 0xf8b9, -0xf74a, 0xf8b9, 0xf65b, 0xf807, 0xf65b, 0xf807, 0xf65b, 0xf807, 0xf4bc, 0xf6a7, 0xf4bc, -0xf6a7, 0xf2e3, 0xf50d, 0xf2e3, 0xf50d, 0xf277, 0xf4e2, 0xf277, 0xf4e2, 0xf083, 0xf32f, -0xf083, 0xf32f, 0xedf0, 0xf0dd, 0xedf0, 0xf0dd, 0xedf0, 0xf0dd, 0xeb6f, 0xee9c, 0xeb6f, -0xee9c, 0xe9a4, 0xed11, 0xe9a4, 0xed11, 0xe93a, 0xece5, 0xe93a, 0xece5, 0xe88f, 0xec76, -0xe88f, 0xec76, 0xe6c2, 0xeae3, 0xe6c2, 0xeae3, 0xe438, 0xe891, 0xe438, 0xe891, 0xe438, -0xe891, 0xe3e1, 0xe86d, 0xe3e1, 0xe86d, 0xe3e1, 0xe89e, 0xe3e1, 0xe89e, 0xe29d, 0xe787, -0xe29d, 0xe787, 0xe20f, 0xe722, 0xe20f, 0xe722, 0xdfb8, 0xe4ef, 0xdfb8, 0xe4ef, 0xdfb8, -0xe4ef, 0xddf8, 0xe34f, 0xddf8, 0xe34f, 0xde25, 0xe396, 0xde25, 0xe396, 0xdbe6, 0xe16e, -0xdbe6, 0xe16e, 0xdaa7, 0xe040, 0xdaa7, 0xe040, 0xda91, 0xe037, 0xda91, 0xe037, 0xd9ae, -0xdf5c, 0xd9ae, 0xdf5c, 0xd9ae, 0xdf5c, 0xd9db, 0xdf8c, 0xd9db, 0xdf8c, 0xd982, 0xdf32, -0xd982, 0xdf32, 0xd87e, 0xde2a, 0xd87e, 0xde2a, 0xd79c, 0xdd3f, 0xd79c, 0xdd3f, 0xd8b4, -0xde4a, 0xd8b4, 0xde4a, 0xdafd, 0xe084, 0xdafd, 0xe084, 0xdafd, 0xe084, 0xdb39, 0xe0ae, -0xdb39, 0xe0ae, 0xdaf8, 0xe058, 0xdaf8, 0xe058, 0xdb4f, 0xe098, 0xdb4f, 0xe098, 0xdb87, -0xe0b8, 0xdb87, 0xe0b8, 0xdb1f, 0xe035, 0xdb1f, 0xe035, 0xdb1f, 0xe035, 0xda35, 0xdf30, -0xda35, 0xdf30, 0xda35, 0xdf14, 0xda35, 0xdf14, 0xda66, 0xdf29, 0xda66, 0xdf29, 0xdbb1, -0xe057, 0xdbb1, 0xe057, 0xdec8, 0xe351, 0xdec8, 0xe351, 0xdf37, 0xe3a3, 0xdf37, 0xe3a3, -0xdf37, 0xe3a3, 0xdeb0, 0xe2ff, 0xdeb0, 0xe2ff, 0xdfac, 0xe3de, 0xdfac, 0xe3de, 0xdfc3, -0xe3d8, 0xdfc3, 0xe3d8, 0xdf23, 0xe31a, 0xdf23, 0xe31a, 0xde4c, 0xe226, 0xde4c, 0xe226, -0xddd9, 0xe196, 0xddd9, 0xe196, 0xddd9, 0xe196, 0xddc7, 0xe165, 0xddc7, 0xe165, 0xde6e, -0xe1ed, 0xde6e, 0xe1ed, 0xde9c, 0xe1fb, 0xde9c, 0xe1fb, 0xddb9, 0xe0f6, 0xddb9, 0xe0f6, -0xde49, 0xe163, 0xde49, 0xe163, 0xde49, 0xe163, 0xdf51, 0xe247, 0xdf51, 0xe247, 0xdf96, -0xe265, 0xdf96, 0xe265, 0xe065, 0xe30a, 0xe065, 0xe30a, 0xe163, 0xe3dd, 0xe163, 0xe3dd, -0xe215, 0xe462, 0xe215, 0xe462, 0xe31f, 0xe53c, 0xe31f, 0xe53c, 0xe31f, 0xe53c, 0xe416, -0xe601, 0xe416, 0xe601, 0xe5e7, 0xe79e, 0xe5e7, 0xe79e, 0xe766, 0xe8e8, 0xe766, 0xe8e8, -0xe8ac, 0xe9f6, 0xe8ac, 0xe9f6, 0xebb3, 0xecc5, 0xebb3, 0xecc5, 0xede6, 0xeebf, 0xede6, -0xeebf, 0xede6, 0xeebf, 0xeec5, 0xef64, 0xeec5, 0xef64, 0xef78, 0xefde, 0xef78, 0xefde, -0xf182, 0xf1b0, 0xf182, 0xf1b0, 0xf38e, 0xf385, 0xf38e, 0xf385, 0xf4f2, 0xf4b4, 0xf4f2, -0xf4b4, 0xf4f2, 0xf4b4, 0xf6a8, 0xf638, 0xf6a8, 0xf638, 0xf7ac, 0xf70d, 0xf7ac, 0xf70d, -0xfa4c, 0xf981, 0xfa4c, 0xf981, 0xfc74, 0xfb81, 0xfc74, 0xfb81, 0xfdef, 0xfcd9, 0xfdef, -0xfcd9, 0x41, 0xff0b, 0x41, 0xff0b, 0x41, 0xff0b, 0xf6, 0xffa5, 0xf6, 0xffa5, -0x225, 0xbf, 0x225, 0xbf, 0x36b, 0x1f2, 0x36b, 0x1f2, 0x4b9, 0x333, 0x4b9, -0x333, 0x693, 0x504, 0x693, 0x504, 0x701, 0x56d, 0x701, 0x56d, 0x701, 0x56d, -0x867, 0x6d1, 0x867, 0x6d1, 0x9c9, 0x834, 0x9c9, 0x834, 0xa30, 0x89f, 0xa30, -0x89f, 0xb25, 0x999, 0xb25, 0x999, 0xc4c, 0xac6, 0xc4c, 0xac6, 0xc4c, 0xac6, -0xd9b, 0xc1c, 0xd9b, 0xc1c, 0xd4f, 0xbd7, 0xd4f, 0xbd7, 0xeac, 0xd39, 0xeac, -0xd39, 0x1115, 0xfa8, 0x1115, 0xfa8, 0x11fe, 0x1094, 0x11fe, 0x1094, 0x13e2, 0x127a, -0x13e2, 0x127a, 0x13e2, 0x127a, 0x1449, 0x12df, 0x1449, 0x12df, 0x1401, 0x1294, 0x1401, -0x1294, 0x1365, 0x11f2, 0x1365, 0x11f2, 0x13ae, 0x1233, 0x13ae, 0x1233, 0x1525, 0x139f, -0x1525, 0x139f, 0x148c, 0x12fa, 0x148c, 0x12fa, 0x148c, 0x12fa, 0x15b1, 0x1410, 0x15b1, -0x1410, 0x17a1, 0x15f1, 0x17a1, 0x15f1, 0x177d, 0x15bb, 0x177d, 0x15bb, 0x18b8, 0x16e6, -0x18b8, 0x16e6, 0x1bd0, 0x19ed, 0x1bd0, 0x19ed, 0x1bd0, 0x19ed, 0x1cc1, 0x1ace, 0x1cc1, -0x1ace, 0x1c11, 0x1a0f, 0x1c11, 0x1a0f, 0x1bab, 0x199c, 0x1bab, 0x199c, 0x1ab1, 0x1897, -0x1ab1, 0x1897, 0x19ce, 0x17ab, 0x19ce, 0x17ab, 0x192e, 0x1705, 0x192e, 0x1705, 0x192e, -0x1705, 0x1820, 0x15f4, 0x1820, 0x15f4, 0x15de, 0x13b2, 0x15de, 0x13b2, 0x1431, 0x1208, -0x1431, 0x1208, 0x1433, 0x1211, 0x1433, 0x1211, 0x151d, 0x1305, 0x151d, 0x1305, 0x14e0, -0x12d4, 0x14e0, 0x12d4, 0x14e0, 0x12d4, 0x12d6, 0x10d8, 0x12d6, 0x10d8, 0x11bd, 0xfcf, -0x11bd, 0xfcf, 0x10dd, 0xf01, 0x10dd, 0xf01, 0x1060, 0xe96, 0x1060, 0xe96, 0x100a, -0xe53, 0x100a, 0xe53, 0x100a, 0xe53, 0xe34, 0xc90, 0xe34, 0xc90, 0xdce, 0xc3c, -0xdce, 0xc3c, 0xec4, 0xd44, 0xec4, 0xd44, 0xd8e, 0xc1d, 0xd8e, 0xc1d, 0xc5c, -0xafa, 0xc5c, 0xafa, 0xba1, 0xa4b, 0xba1, 0xa4b, 0xba1, 0xa4b, 0xa80, 0x933, -0xa80, 0x933, 0xaef, 0x9aa, 0xaef, 0x9aa, 0xb74, 0xa35, 0xb74, 0xa35, 0xa79, -0x93d, 0xa79, 0x93d, 0x854, 0x71a, 0x854, 0x71a, 0x844, 0x709, 0x844, 0x709, -0x844, 0x709, 0x8ea, 0x7ad, 0x8ea, 0x7ad, 0x830, 0x6ef, 0x830, 0x6ef, 0x5bb, -0x476, 0x5bb, 0x476, 0x341, 0x1f9, 0x341, 0x1f9, 0x506, 0x3bb, 0x506, 0x3bb, -0x506, 0x3bb, 0x522, 0x3d3, 0x522, 0x3d3, 0x4e7, 0x395, 0x4e7, 0x395, 0x5e3, -0x491, 0x5e3, 0x491, 0x539, 0x3e7, 0x539, 0x3e7, 0x5c7, 0x477, 0x5c7, 0x477, -0x4e6, 0x39b, 0x4e6, 0x39b, 0x4e6, 0x39b, 0x38c, 0x248, 0x38c, 0x248, 0x1e6, -0xab, 0x1e6, 0xab, 0xff28, 0xfdf8, 0xff28, 0xfdf8, 0xfe4f, 0xfd2c, 0xfe4f, 0xfd2c, -0xfed7, 0xfdc3, 0xfed7, 0xfdc3, 0xfeae, 0xfdab, 0xfeae, 0xfdab, 0xfeae, 0xfdab, 0xfd1e, -0xfc2e, 0xfd1e, 0xfc2e, 0xfb4a, 0xfa6d, 0xfb4a, 0xfa6d, 0xf956, 0xf88d, 0xf956, 0xf88d, -0xf787, 0xf6d3, 0xf787, 0xf6d3, 0xf665, 0xf5c5, 0xf665, 0xf5c5, 0xf665, 0xf5c5, 0xf517, -0xf48c, 0xf517, 0xf48c, 0xf4a1, 0xf429, 0xf4a1, 0xf429, 0xf4f3, 0xf48f, 0xf4f3, 0xf48f, -0xf3c8, 0xf375, 0xf3c8, 0xf375, 0xf46f, 0xf42d, 0xf46f, 0xf42d, 0xf4ba, 0xf487, 0xf4ba, -0xf487, 0xf4ba, 0xf487, 0xf395, 0xf36f, 0xf395, 0xf36f, 0xf5b8, 0xf59e, 0xf5b8, 0xf59e, -0xf67a, 0xf66a, 0xf67a, 0xf66a, 0xf603, 0xf5fc, 0xf603, 0xf5fc, 0xf640, 0xf63f, 0xf640, -0xf63f, 0xf640, 0xf63f, 0xf5fd, 0xf602, 0xf5fd, 0xf602, 0xf562, 0xf56a, 0xf562, 0xf56a, -0xf48c, 0xf496, 0xf48c, 0xf496, 0xf486, 0xf492, 0xf486, 0xf492, 0xf516, 0xf521, 0xf516, -0xf521, 0xf5c5, 0xf5ce, 0xf5c5, 0xf5ce, 0xf5c5, 0xf5ce, 0xf63f, 0xf645, 0xf63f, 0xf645, -0xf838, 0xf83b, 0xf838, 0xf83b, 0xf8ff, 0xf8fe, 0xf8ff, 0xf8fe, 0xf8db, 0xf8d4, 0xf8db, -0xf8d4, 0xfa23, 0xfa16, 0xfa23, 0xfa16, 0xfb4c, 0xfb37, 0xfb4c, 0xfb37, 0xfb4c, 0xfb37, -0xfce1, 0xfcc4, 0xfce1, 0xfcc4, 0xfe49, 0xfe23, 0xfe49, 0xfe23, 0xff81, 0xff51, 0xff81, -0xff51, 0xff82, 0xff47, 0xff82, 0xff47, 0xe5, 0x9f, 0xe5, 0x9f, 0xe5, 0x9f, -0x285, 0x232, 0x285, 0x232, 0x219, 0x1b9, 0x219, 0x1b9, 0x309, 0x29b, 0x309, -0x29b, 0x33b, 0x2bf, 0x33b, 0x2bf, 0x394, 0x309, 0x394, 0x309, 0x49c, 0x402, -0x49c, 0x402, 0x49c, 0x402, 0x5ad, 0x503, 0x5ad, 0x503, 0x7d6, 0x71d, 0x7d6, -0x71d, 0x98a, 0x8c1, 0x98a, 0x8c1, 0xb56, 0xa7e, 0xb56, 0xa7e, 0xc3c, 0xb56, -0xc3c, 0xb56, 0xc0f, 0xb1b, 0xc0f, 0xb1b, 0xc0f, 0xb1b, 0xd03, 0xc03, 0xd03, -0xc03, 0xd02, 0xbf7, 0xd02, 0xbf7, 0xc0d, 0xaf8, 0xc0d, 0xaf8, 0xc5b, 0xb3d, -0xc5b, 0xb3d, 0xde5, 0xcc0, 0xde5, 0xcc0, 0xde5, 0xcc0, 0x1015, 0xeec, 0x1015, -0xeec, 0x111a, 0xfec, 0x111a, 0xfec, 0x123b, 0x110a, 0x123b, 0x110a, 0x1308, 0x11d6, -0x1308, 0x11d6, 0x1348, 0x1216, 0x1348, 0x1216, 0x133f, 0x120e, 0x133f, 0x120e, 0x133f, -0x120e, 0x126e, 0x113f, 0x126e, 0x113f, 0x135e, 0x1230, 0x135e, 0x1230, 0x12e5, 0x11b9, -0x12e5, 0x11b9, 0x1355, 0x122c, 0x1355, 0x122c, 0x152b, 0x1404, 0x152b, 0x1404, 0x144f, -0x132a, 0x144f, 0x132a, 0x144f, 0x132a, 0x13df, 0x12bc, 0x13df, 0x12bc, 0x1356, 0x1234, -0x1356, 0x1234, 0x13ec, 0x12ca, 0x13ec, 0x12ca, 0x1465, 0x1342, 0x1465, 0x1342, 0x12f3, -0x11d0, 0x12f3, 0x11d0, 0x12f3, 0x11d0, 0x123c, 0x1117, 0x123c, 0x1117, 0x1170, 0x1049, -0x1170, 0x1049, 0x10bd, 0xf94, 0x10bd, 0xf94, 0xff7, 0xecb, 0xff7, 0xecb, 0xf78, -0xe49, 0xf78, 0xe49, 0xeed, 0xdbc, 0xeed, 0xdbc, 0xeed, 0xdbc, 0xe09, 0xcd7, -0xe09, 0xcd7, 0xe15, 0xce2, 0xe15, 0xce2, 0xc7b, 0xb48, 0xc7b, 0xb48, 0xa96, -0x965, 0xa96, 0x965, 0x9c0, 0x892, 0x9c0, 0x892, 0x7e1, 0x6b8, 0x7e1, 0x6b8, -0x7e1, 0x6b8, 0x77f, 0x65d, 0x77f, 0x65d, 0x684, 0x569, 0x684, 0x569, 0x535, -0x424, 0x535, 0x424, 0x6a0, 0x59a, 0x6a0, 0x59a, 0x6fc, 0x602, 0x6fc, 0x602, -0x6fc, 0x602, 0x664, 0x577, 0x664, 0x577, 0x53a, 0x45b, 0x53a, 0x45b, 0x4a2, -0x3d1, 0x4a2, 0x3d1, 0x558, 0x495, 0x558, 0x495, 0x5ae, 0x4fa, 0x5ae, 0x4fa, -0x7a6, 0x6fe, 0x7a6, 0x6fe, 0x7a6, 0x6fe, 0x934, 0x898, 0x934, 0x898, 0x8b1, -0x81f, 0x8b1, 0x81f, 0x7fe, 0x774, 0x7fe, 0x774, 0x7c1, 0x73c, 0x7c1, 0x73c, -0x739, 0x6b8, 0x739, 0x6b8, 0x609, 0x587, 0x609, 0x587, 0x609, 0x587, 0x630, -0x5ac, 0x630, 0x5ac, 0x634, 0x5aa, 0x634, 0x5aa, 0x522, 0x48f, 0x522, 0x48f, -0x589, 0x4eb, 0x589, 0x4eb, 0x675, 0x5c8, 0x675, 0x5c8, 0x675, 0x5c8, 0x739, -0x67b, 0x739, 0x67b, 0x839, 0x769, 0x839, 0x769, 0x889, 0x7a4, 0x889, 0x7a4, -0x94e, 0x852, 0x94e, 0x852, 0xa45, 0x932, 0xa45, 0x932, 0xaa5, 0x97b, 0xaa5, -0x97b, 0xaa5, 0x97b, 0xba8, 0xa66, 0xba8, 0xa66, 0xc00, 0xaa7, 0xc00, 0xaa7, -0xbe3, 0xa73, 0xbe3, 0xa73, 0xcea, 0xb65, 0xcea, 0xb65, 0xd74, 0xbdc, 0xd74, -0xbdc, 0xd75, 0xbcc, 0xd75, 0xbcc, 0xd75, 0xbcc, 0xd32, 0xb79, 0xd32, 0xb79, -0xccb, 0xb05, 0xccb, 0xb05, 0xd28, 0xb57, 0xd28, 0xb57, 0xd0d, 0xb34, 0xd0d, -0xb34, 0xcca, 0xaed, 0xcca, 0xaed, 0xcca, 0xaed, 0xce7, 0xb07, 0xce7, 0xb07, -0xd41, 0xb62, 0xd41, 0xb62, 0xd9a, 0xbbe, 0xd9a, 0xbbe, 0xde5, 0xc0e, 0xde5, -0xc0e, 0xdf5, 0xc26, 0xdf5, 0xc26, 0xd17, 0xb52, 0xd17, 0xb52, 0xd17, 0xb52, -0xdf2, 0xc39, 0xdf2, 0xc39, 0xeab, 0xcff, 0xeab, 0xcff, 0xe5a, 0xcbe, 0xe5a, -0xcbe, 0xf0a, 0xd7f, 0xf0a, 0xd7f, 0xdcf, 0xc57, 0xdcf, 0xc57, 0xd5b, 0xbf7, -0xd5b, 0xbf7, 0xd5b, 0xbf7, 0xe70, 0xd21, 0xe70, 0xd21, 0xe0e, 0xcd6, 0xe0e, -0xcd6, 0xd36, 0xc15, 0xd36, 0xc15, 0xbc4, 0xabc, 0xbc4, 0xabc, 0xb27, 0xa38, -0xb27, 0xa38, 0xb27, 0xa38, 0xb27, 0xa52, 0xb27, 0xa52, 0xa10, 0x956, 0xa10, -0x956, 0x8f0, 0x853, 0x8f0, 0x853, 0x832, 0x7b2, 0x832, 0x7b2, 0x7c6, 0x764, -0x7c6, 0x764, 0x7c2, 0x780, 0x7c2, 0x780, 0x7c2, 0x780, 0x73d, 0x71b, 0x73d, -0x71b, 0x4cd, 0x4cd, 0x4cd, 0x4cd, 0x2f4, 0x316, 0x2f4, 0x316, 0x233, 0x279, -0x233, 0x279, 0xfff5, 0x60, 0xfff5, 0x60, 0xfe94, 0xff24, 0xfe94, 0xff24, 0xfe94, -0xff24, 0xfc9e, 0xfd54, 0xfc9e, 0xfd54, 0xf9be, 0xfa9d, 0xf9be, 0xfa9d, 0xf9a2, 0xfaaa, -0xf9a2, 0xfaaa, 0xf9bd, 0xfaef, 0xf9bd, 0xfaef, 0xf8a4, 0xfa01, 0xf8a4, 0xfa01, 0xf8a4, -0xfa01, 0xf738, 0xf8c2, 0xf738, 0xf8c2, 0xf549, 0xf700, 0xf549, 0xf700, 0xf368, 0xf54e, -0xf368, 0xf54e, 0xf214, 0xf429, 0xf214, 0xf429, 0xf099, 0xf2df, 0xf099, 0xf2df, 0xeedf, -0xf157, 0xeedf, 0xf157, 0xeedf, 0xf157, 0xed55, 0xf000, 0xed55, 0xf000, 0xec82, 0xef60, -0xec82, 0xef60, 0xec70, 0xef81, 0xec70, 0xef81, 0xeb5c, 0xeea1, 0xeb5c, 0xeea1, 0xeb47, -0xeec0, 0xeb47, 0xeec0, 0xeb47, 0xeec0, 0xec00, 0xefac, 0xec00, 0xefac, 0xea1b, 0xedf9, -0xea1b, 0xedf9, 0xe760, 0xeb70, 0xe760, 0xeb70, 0xe5fe, 0xea3f, 0xe5fe, 0xea3f, 0xe480, -0xe8f0, 0xe480, 0xe8f0, 0xe224, 0xe6c0, 0xe224, 0xe6c0, 0xe224, 0xe6c0, 0xe1e8, 0xe6ae, -0xe1e8, 0xe6ae, 0xe159, 0xe647, 0xe159, 0xe647, 0xdead, 0xe3be, 0xdead, 0xe3be, 0xde0b, -0xe33c, 0xde0b, 0xe33c, 0xdd2d, 0xe279, 0xdd2d, 0xe279, 0xdbfd, 0xe160, 0xdbfd, 0xe160, -0xdbfd, 0xe160, 0xdc30, 0xe1a6, 0xdc30, 0xe1a6, 0xdbea, 0xe16d, 0xdbea, 0xe16d, 0xdc81, -0xe20d, 0xdc81, 0xe20d, 0xdcb5, 0xe244, 0xdcb5, 0xe244, 0xdd07, 0xe296, 0xdd07, 0xe296, -0xdd07, 0xe296, 0xde57, 0xe3e0, 0xde57, 0xe3e0, 0xde94, 0xe413, 0xde94, 0xe413, 0xdf20, -0xe491, 0xdf20, 0xe491, 0xde78, 0xe3d7, 0xde78, 0xe3d7, 0xdd1f, 0xe26b, 0xdd1f, 0xe26b, -0xdc0a, 0xe13f, 0xdc0a, 0xe13f, 0xdc0a, 0xe13f, 0xdbb1, 0xe0cc, 0xdbb1, 0xe0cc, 0xdcbb, -0xe1bc, 0xdcbb, 0xe1bc, 0xdd0b, 0xe1f1, 0xdd0b, 0xe1f1, 0xdf56, 0xe420, 0xdf56, 0xe420, -0xe079, 0xe528, 0xe079, 0xe528, 0xe061, 0xe4f5, 0xe061, 0xe4f5, 0xe061, 0xe4f5, 0xe21f, -0xe699, 0xe21f, 0xe699, 0xe1a8, 0xe609, 0xe1a8, 0xe609, 0xe0ac, 0xe4f5, 0xe0ac, 0xe4f5, -0xdf59, 0xe38c, 0xdf59, 0xe38c, 0xde91, 0xe2b0, 0xde91, 0xe2b0, 0xde91, 0xe2b0, 0xdf05, -0xe310, 0xdf05, 0xe310, 0xde79, 0xe271, 0xde79, 0xe271, 0xdf40, 0xe325, 0xdf40, 0xe325, -0xe011, 0xe3e4, 0xe011, 0xe3e4, 0xdf3b, 0xe2fc, 0xdf3b, 0xe2fc, 0xde91, 0xe23f, 0xde91, -0xe23f, 0xde91, 0xe23f, 0xdee8, 0xe282, 0xdee8, 0xe282, 0xdfde, 0xe361, 0xdfde, 0xe361, -0xe01e, 0xe388, 0xe01e, 0xe388, 0xe0e5, 0xe434, 0xe0e5, 0xe434, 0xe2af, 0xe5df, 0xe2af, -0xe5df, 0xe3d2, 0xe6e1, 0xe3d2, 0xe6e1, 0xe3d2, 0xe6e1, 0xe539, 0xe822, 0xe539, 0xe822, -0xe6ac, 0xe96c, 0xe6ac, 0xe96c, 0xe861, 0xeaf5, 0xe861, 0xeaf5, 0xe977, 0xebdb, 0xe977, -0xebdb, 0xeab6, 0xece8, 0xeab6, 0xece8, 0xeab6, 0xece8, 0xecf7, 0xeef4, 0xecf7, 0xeef4, -0xed33, 0xeef9, 0xed33, 0xeef9, 0xeeb8, 0xf046, 0xeeb8, 0xf046, 0xef62, 0xf0b8, 0xef62, -0xf0b8, 0xee91, 0xefae, 0xee91, 0xefae, 0xf0b8, 0xf19e, 0xf0b8, 0xf19e, 0xf0b8, 0xf19e, -0xf2c7, 0xf377, 0xf2c7, 0xf377, 0xf496, 0xf512, 0xf496, 0xf512, 0xf623, 0xf66e, 0xf623, -0xf66e, 0xf78e, 0xf7ac, 0xf78e, 0xf7ac, 0xf879, 0xf86e, 0xf879, 0xf86e, 0xf964, 0xf934, -0xf964, 0xf934, 0xf964, 0xf934, 0xfb80, 0xfb2f, 0xfb80, 0xfb2f, 0xfc12, 0xfba6, 0xfc12, -0xfba6, 0xfcee, 0xfc6b, 0xfcee, 0xfc6b, 0xff7a, 0xfee4, 0xff7a, 0xfee4, 0x15b, 0xb6, -0x15b, 0xb6, 0x15b, 0xb6, 0x245, 0x195, 0x245, 0x195, 0x3d0, 0x318, 0x3d0, -0x318, 0x556, 0x498, 0x556, 0x498, 0x5cd, 0x50a, 0x5cd, 0x50a, 0x684, 0x5be, -0x684, 0x5be, 0x848, 0x77e, 0x848, 0x77e, 0x848, 0x77e, 0x958, 0x88a, 0x958, -0x88a, 0x970, 0x89c, 0x970, 0x89c, 0xb54, 0xa79, 0xb54, 0xa79, 0xc91, 0xbad, -0xc91, 0xbad, 0xbb9, 0xac9, 0xbb9, 0xac9, 0xcd8, 0xbd8, 0xcd8, 0xbd8, 0xcd8, -0xbd8, 0xf16, 0xe04, 0xf16, 0xe04, 0xf51, 0xe29, 0xf51, 0xe29, 0xefd, 0xdbd, -0xefd, 0xdbd, 0xf21, 0xdc6, 0xf21, 0xdc6, 0xf4c, 0xdd4, 0xf4c, 0xdd4, 0xf4c, -0xdd4, 0xfb6, 0xe1f, 0xfb6, 0xe1f, 0x11bb, 0x1005, 0x11bb, 0x1005, 0x1436, 0x1260, -0x1436, 0x1260, 0x144e, 0x1258, 0x144e, 0x1258, 0x15c9, 0x13b5, 0x15c9, 0x13b5, 0x1746, -0x1515, 0x1746, 0x1515, 0x1746, 0x1515, 0x16fc, 0x14b0, 0x16fc, 0x14b0, 0x16c4, 0x1461, -0x16c4, 0x1461, 0x155f, 0x12e8, 0x155f, 0x12e8, 0x1522, 0x129b, 0x1522, 0x129b, 0x151e, -0x128b, 0x151e, 0x128b, 0x1495, 0x11fb, 0x1495, 0x11fb, 0x1495, 0x11fb, 0x12f7, 0x1058, -0x12f7, 0x1058, 0x1259, 0xfbb, 0x1259, 0xfbb, 0x13d6, 0x113d, 0x13d6, 0x113d, 0x12ff, -0x106d, 0x12ff, 0x106d, 0x1278, 0xff1, 0x1278, 0xff1, 0x1278, 0xff1, 0x116c, 0xef2, -0x116c, 0xef2, 0x1016, 0xdab, 0x1016, 0xdab, 0x1020, 0xdc5, 0x1020, 0xdc5, 0xf4d, -0xd03, 0xf4d, 0xd03, 0xf40, 0xd07, 0xf40, 0xd07, 0xe3b, 0xc11, 0xe3b, 0xc11, -0xe3b, 0xc11, 0xc07, 0x9ec, 0xc07, 0x9ec, 0xc1f, 0xa12, 0xc1f, 0xa12, 0xd40, -0xb3f, 0xd40, 0xb3f, 0xc96, 0xa9f, 0xc96, 0xa9f, 0xb5a, 0x96b, 0xb5a, 0x96b, -0xaef, 0x905, 0xaef, 0x905, 0xaef, 0x905, 0xacb, 0x8e6, 0xacb, 0x8e6, 0xb3f, -0x95c, 0xb3f, 0x95c, 0xaf8, 0x917, 0xaf8, 0x917, 0xa22, 0x841, 0xa22, 0x841, -0xab0, 0x8d0, 0xab0, 0x8d0, 0xab0, 0x8d0, 0xb0a, 0x92b, 0xb0a, 0x92b, 0xa60, -0x883, 0xa60, 0x883, 0x8de, 0x704, 0x8de, 0x704, 0x703, 0x52d, 0x703, 0x52d, -0x6f6, 0x528, 0x6f6, 0x528, 0x761, 0x59c, 0x761, 0x59c, 0x761, 0x59c, 0x7e5, -0x62e, 0x7e5, 0x62e, 0x7df, 0x637, 0x7df, 0x637, 0x5eb, 0x456, 0x5eb, 0x456, -0x558, 0x3d9, 0x558, 0x3d9, 0x672, 0x50c, 0x672, 0x50c, 0x6ba, 0x570, 0x6ba, -0x570, 0x6ba, 0x570, 0x561, 0x434, 0x561, 0x434, 0x3b2, 0x2a4, 0x3b2, 0x2a4, -0x331, 0x243, 0x331, 0x243, 0x2c9, 0x1fb, 0x2c9, 0x1fb, 0x1a7, 0xfa, 0x1a7, -0xfa, 0x1a7, 0xfa, 0x11c, 0x8f, 0x11c, 0x8f, 0xffe4, 0xff75, 0xffe4, 0xff75, -0xfd2f, 0xfcdc, 0xfd2f, 0xfcdc, 0xfc4b, 0xfc13, 0xfc4b, 0xfc13, 0xfb8f, 0xfb6d, 0xfb8f, -0xfb6d, 0xf971, 0xf963, 0xf971, 0xf963, 0xf971, 0xf963, 0xf847, 0xf849, 0xf847, 0xf849, -0xf815, 0xf824, 0xf815, 0xf824, 0xf764, 0xf77c, 0xf764, 0xf77c, 0xf726, 0xf744, 0xf726, -0xf744, 0xf965, 0xf985, 0xf965, 0xf985, 0xf965, 0xf985, 0xfa85, 0xfaa4, 0xfa85, 0xfaa4, -0xfaa0, 0xfabc, 0xfaa0, 0xfabc, 0xfb7f, 0xfb94, 0xfb7f, 0xfb94, 0xfa4e, 0xfa5c, 0xfa4e, -0xfa5c, 0xf92a, 0xf92e, 0xf92a, 0xf92e, 0xf88d, 0xf886, 0xf88d, 0xf886, 0xf88d, 0xf886, -0xf79c, 0xf78a, 0xf79c, 0xf78a, 0xf795, 0xf778, 0xf795, 0xf778, 0xf81d, 0xf7f5, 0xf81d, -0xf7f5, 0xf9a9, 0xf976, 0xf9a9, 0xf976, 0xfa1a, 0xf9de, 0xfa1a, 0xf9de, 0xf9b0, 0xf96b, -0xf9b0, 0xf96b, 0xf9b0, 0xf96b, 0xfabf, 0xfa71, 0xfabf, 0xfa71, 0xfc05, 0xfbb0, 0xfc05, -0xfbb0, 0xfd56, 0xfcfb, 0xfd56, 0xfcfb, 0xfeaf, 0xfe4e, 0xfeaf, 0xfe4e, 0x24, 0xffbe, -0x24, 0xffbe, 0x24, 0xffbe, 0xf2, 0x87, 0xf2, 0x87, 0x26d, 0x1fc, 0x26d, -0x1fc, 0x4f6, 0x47f, 0x4f6, 0x47f, 0x480, 0x403, 0x480, 0x403, 0x38a, 0x304, -0x38a, 0x304, 0x428, 0x399, 0x428, 0x399, 0x428, 0x399, 0x44f, 0x3b5, 0x44f, -0x3b5, 0x4b1, 0x40a, 0x4b1, 0x40a, 0x521, 0x46b, 0x521, 0x46b, 0x57d, 0x4b6, -0x57d, 0x4b6, 0x60c, 0x533, 0x60c, 0x533, 0x70d, 0x61f, 0x70d, 0x61f, 0x70d, -0x61f, 0x902, 0x7ff, 0x902, 0x7ff, 0x99f, 0x885, 0x99f, 0x885, 0x929, 0x7f8, -0x929, 0x7f8, 0xa4c, 0x903, 0xa4c, 0x903, 0xb69, 0xa08, 0xb69, 0xa08, 0xb69, -0xa08, 0xbaf, 0xa37, 0xbaf, 0xa37, 0xbf3, 0xa64, 0xbf3, 0xa64, 0xcc3, 0xb1e, -0xcc3, 0xb1e, 0xdf1, 0xc3a, 0xdf1, 0xc3a, 0xec6, 0xcfd, 0xec6, 0xcfd, 0xf01, -0xd2a, 0xf01, 0xd2a, 0xf01, 0xd2a, 0xf92, 0xdaf, 0xf92, 0xdaf, 0x1149, 0xf5c, -0x1149, 0xf5c, 0x122a, 0x1038, 0x122a, 0x1038, 0x1343, 0x114d, 0x1343, 0x114d, 0x134b, -0x1154, 0x134b, 0x1154, 0x1232, 0x103d, 0x1232, 0x103d, 0x1232, 0x103d, 0x1304, 0x1113, -0x1304, 0x1113, 0x12b9, 0x10cf, 0x12b9, 0x10cf, 0x11e3, 0x1001, 0x11e3, 0x1001, 0x11ec, -0x1014, 0x11ec, 0x1014, 0x121e, 0x1050, 0x121e, 0x1050, 0x121e, 0x1050, 0x12e7, 0x1124, -0x12e7, 0x1124, 0x13f6, 0x123e, 0x13f6, 0x123e, 0x13c0, 0x1213, 0x13c0, 0x1213, 0x11e0, -0x103e, 0x11e0, 0x103e, 0x1066, 0xecd, 0x1066, 0xecd, 0xf7b, 0xdeb, 0xf7b, 0xdeb, -0xf7b, 0xdeb, 0xf9d, 0xe14, 0xf9d, 0xe14, 0x1005, 0xe81, 0x1005, 0xe81, 0xf93, -0xe13, 0xf93, 0xe13, 0xea7, 0xd2a, 0xea7, 0xd2a, 0xdce, 0xc52, 0xdce, 0xc52, -0xd45, 0xbc8, 0xd45, 0xbc8, 0xd45, 0xbc8, 0xbaa, 0xa2b, 0xbaa, 0xa2b, 0x974, -0x7f2, 0x974, 0x7f2, 0x828, 0x6a1, 0x828, 0x6a1, 0x7d6, 0x64b, 0x7d6, 0x64b, -0x71e, 0x58d, 0x71e, 0x58d, 0x71e, 0x58d, 0x657, 0x4bf, 0x657, 0x4bf, 0x6f8, -0x559, 0x6f8, 0x559, 0x759, 0x5b3, 0x759, 0x5b3, 0x6a2, 0x4f7, 0x6a2, 0x4f7, -0x722, 0x56f, 0x722, 0x56f, 0x756, 0x59d, 0x756, 0x59d, 0x756, 0x59d, 0x67e, -0x4be, 0x67e, 0x4be, 0x6d4, 0x50e, 0x6d4, 0x50e, 0x79b, 0x5ce, 0x79b, 0x5ce, -0x896, 0x6c3, 0x896, 0x6c3, 0x882, 0x6a8, 0x882, 0x6a8, 0x88d, 0x6ad, 0x88d, -0x6ad, 0x88d, 0x6ad, 0x8e5, 0x6fe, 0x8e5, 0x6fe, 0x90c, 0x71d, 0x90c, 0x71d, -0x992, 0x79b, 0x992, 0x79b, 0x876, 0x677, 0x876, 0x677, 0x80d, 0x604, 0x80d, -0x604, 0x80d, 0x604, 0x84b, 0x639, 0x84b, 0x639, 0x95f, 0x743, 0x95f, 0x743, -0xa8b, 0x865, 0xa8b, 0x865, 0xb56, 0x924, 0xb56, 0x924, 0xc84, 0xa46, 0xc84, -0xa46, 0xbf2, 0x9a8, 0xbf2, 0x9a8, 0xbf2, 0x9a8, 0xcb1, 0xa5a, 0xcb1, 0xa5a, -0xcc4, 0xa60, 0xcc4, 0xa60, 0xbd2, 0x961, 0xbd2, 0x961, 0xc56, 0x9d9, 0xc56, -0x9d9, 0xc53, 0x9ca, 0xc53, 0x9ca, 0xcbd, 0xa28, 0xcbd, 0xa28, 0xcbd, 0xa28, -0xc85, 0x9e5, 0xc85, 0x9e5, 0xba7, 0x8fd, 0xba7, 0x8fd, 0xc5c, 0x9a9, 0xc5c, -0x9a9, 0xd81, 0xac6, 0xd81, 0xac6, 0xdc8, 0xb07, 0xdc8, 0xb07, 0xdc8, 0xb07, -0xe12, 0xb4b, 0xe12, 0xb4b, 0xdd7, 0xb0c, 0xdd7, 0xb0c, 0xd94, 0xac8, 0xd94, -0xac8, 0xe56, 0xb89, 0xe56, 0xb89, 0xebd, 0xbf1, 0xebd, 0xbf1, 0xe49, 0xb81, -0xe49, 0xb81, 0xe49, 0xb81, 0xe02, 0xb3f, 0xe02, 0xb3f, 0xe1d, 0xb61, 0xe1d, -0xb61, 0xee5, 0xc33, 0xee5, 0xc33, 0x1056, 0xdb1, 0x1056, 0xdb1, 0xfc9, 0xd31, -0xfc9, 0xd31, 0xf3a, 0xcb3, 0xf3a, 0xcb3, 0xf3a, 0xcb3, 0xf14, 0xca2, 0xf14, -0xca2, 0xe0d, 0xbb1, 0xe0d, 0xbb1, 0xd99, 0xb57, 0xd99, 0xb57, 0xcd7, 0xab2, -0xcd7, 0xab2, 0xd34, 0xb2e, 0xd34, 0xb2e, 0xd34, 0xb2e, 0xe41, 0xc5e, 0xe41, -0xc5e, 0xe7c, 0xcbf, 0xe7c, 0xcbf, 0xd7f, 0xbeb, 0xd7f, 0xbeb, 0xc6a, 0xb02, -0xc6a, 0xb02, 0xb9c, 0xa63, 0xb9c, 0xa63, 0x9eb, 0x8e5, 0x9eb, 0x8e5, 0x9eb, -0x8e5, 0x8ae, 0x7dd, 0x8ae, 0x7dd, 0x801, 0x767, 0x801, 0x767, 0x7b2, 0x751, -0x7b2, 0x751, 0x689, 0x664, 0x689, 0x664, 0x55d, 0x573, 0x55d, 0x573, 0x446, -0x49b, 0x446, 0x49b, 0x446, 0x49b, 0x2e2, 0x374, 0x2e2, 0x374, 0x268, 0x339, -0x268, 0x339, 0x108, 0x217, 0x108, 0x217, 0xff0a, 0x57, 0xff0a, 0x57, 0xfd3f, -0xfec9, 0xfd3f, 0xfec9, 0xfd3f, 0xfec9, 0xfb37, 0xfcfc, 0xfb37, 0xfcfc, 0xf93b, 0xfb3a, -0xf93b, 0xfb3a, 0xf867, 0xfa9f, 0xf867, 0xfa9f, 0xf7c0, 0xfa2f, 0xf7c0, 0xfa2f, 0xf615, -0xf8b9, 0xf615, 0xf8b9, 0xf50d, 0xf7e4, 0xf50d, 0xf7e4, 0xf50d, 0xf7e4, 0xf4c3, 0xf7ca, -0xf4c3, 0xf7ca, 0xf309, 0xf640, 0xf309, 0xf640, 0xefd0, 0xf334, 0xefd0, 0xf334, 0xedd7, -0xf167, 0xedd7, 0xf167, 0xed17, 0xf0d1, 0xed17, 0xf0d1, 0xed17, 0xf0d1, 0xec43, 0xf026, -0xec43, 0xf026, 0xeb55, 0xef61, 0xeb55, 0xef61, 0xeb23, 0xef57, 0xeb23, 0xef57, 0xea5b, -0xeeb6, 0xea5b, 0xeeb6, 0xe8a1, 0xed22, 0xe8a1, 0xed22, 0xe788, 0xec2f, 0xe788, 0xec2f, -0xe788, 0xec2f, 0xe59e, 0xea6b, 0xe59e, 0xea6b, 0xe335, 0xe827, 0xe335, 0xe827, 0xe22c, -0xe743, 0xe22c, 0xe743, 0xe280, 0xe7ba, 0xe280, 0xe7ba, 0xe0cd, 0xe62b, 0xe0cd, 0xe62b, -0xde64, 0xe3e3, 0xde64, 0xe3e3, 0xde64, 0xe3e3, 0xdd58, 0xe2f8, 0xdd58, 0xe2f8, 0xdbe0, -0xe19d, 0xdbe0, 0xe19d, 0xdbde, 0xe1b6, 0xdbde, 0xe1b6, 0xdb0e, 0xe0fe, 0xdb0e, 0xe0fe, -0xd921, 0xdf26, 0xd921, 0xdf26, 0xd921, 0xdf26, 0xd8d0, 0xdee7, 0xd8d0, 0xdee7, 0xd8d3, -0xdef7, 0xd8d3, 0xdef7, 0xd926, 0xdf52, 0xd926, 0xdf52, 0xd8e4, 0xdf14, 0xd8e4, 0xdf14, -0xd7cb, 0xddfa, 0xd7cb, 0xddfa, 0xd7a7, 0xddd1, 0xd7a7, 0xddd1, 0xd7a7, 0xddd1, 0xd7c1, -0xdde0, 0xd7c1, 0xdde0, 0xd75b, 0xdd6b, 0xd75b, 0xdd6b, 0xd7c1, 0xddbe, 0xd7c1, 0xddbe, -0xd7fc, 0xdde1, 0xd7fc, 0xdde1, 0xd72f, 0xdcf9, 0xd72f, 0xdcf9, 0xd77e, 0xdd29, 0xd77e, -0xdd29, 0xd77e, 0xdd29, 0xd968, 0xdef2, 0xd968, 0xdef2, 0xda9a, 0xe002, 0xda9a, 0xe002, -0xdafd, 0xe040, 0xdafd, 0xe040, 0xdc0e, 0xe12c, 0xdc0e, 0xe12c, 0xddf1, 0xe2e9, 0xddf1, -0xe2e9, 0xddf1, 0xe2e9, 0xdec9, 0xe39c, 0xdec9, 0xe39c, 0xde16, 0xe2c5, 0xde16, 0xe2c5, -0xde40, 0xe2cb, 0xde40, 0xe2cb, 0xde29, 0xe293, 0xde29, 0xe293, 0xde23, 0xe26d, 0xde23, -0xe26d, 0xdef5, 0xe320, 0xdef5, 0xe320, 0xdef5, 0xe320, 0xdf39, 0xe347, 0xdf39, 0xe347, -0xdf94, 0xe387, 0xdf94, 0xe387, 0xe02f, 0xe408, 0xe02f, 0xe408, 0xe0bb, 0xe47b, 0xe0bb, -0xe47b, 0xe080, 0xe427, 0xe080, 0xe427, 0xe069, 0xe3f8, 0xe069, 0xe3f8, 0xe069, 0xe3f8, -0xe068, 0xe3df, 0xe068, 0xe3df, 0xe0b4, 0xe412, 0xe0b4, 0xe412, 0xe19e, 0xe4e1, 0xe19e, -0xe4e1, 0xe286, 0xe5ac, 0xe286, 0xe5ac, 0xe455, 0xe75e, 0xe455, 0xe75e, 0xe455, 0xe75e, -0xe5ac, 0xe893, 0xe5ac, 0xe893, 0xe7d0, 0xea94, 0xe7d0, 0xea94, 0xea59, 0xecf7, 0xea59, -0xecf7, 0xeae1, 0xed56, 0xeae1, 0xed56, 0xebc5, 0xee0f, 0xebc5, 0xee0f, 0xed1e, 0xef39, -0xed1e, 0xef39, 0xed1e, 0xef39, 0xee80, 0xf06b, 0xee80, 0xf06b, 0xf0ca, 0xf283, 0xf0ca, -0xf283, 0xf2a7, 0xf42d, 0xf2a7, 0xf42d, 0xf3a4, 0xf4f6, 0xf3a4, 0xf4f6, 0xf5ad, 0xf6ca, -0xf5ad, 0xf6ca, 0xf88f, 0xf978, 0xf88f, 0xf978, 0xf88f, 0xf978, 0xf902, 0xf9b8, 0xf902, -0xf9b8, 0xf938, 0xf9bc, 0xf938, 0xf9bc, 0xfbfd, 0xfc53, 0xfbfd, 0xfc53, 0xfd49, 0xfd72, -0xfd49, 0xfd72, 0xfdeb, 0xfdea, 0xfdeb, 0xfdea, 0xfdeb, 0xfdea, 0xff7c, 0xff55, 0xff7c, -0xff55, 0x9c, 0x53, 0x9c, 0x53, 0x1c3, 0x15b, 0x1c3, 0x15b, 0x332, 0x2ae, -0x332, 0x2ae, 0x575, 0x4d8, 0x575, 0x4d8, 0x6b2, 0x600, 0x6b2, 0x600, 0x6b2, -0x600, 0x78a, 0x6c5, 0x78a, 0x6c5, 0x9a0, 0x8ca, 0x9a0, 0x8ca, 0xc8b, 0xba6, -0xc8b, 0xba6, 0xe86, 0xd94, 0xe86, 0xd94, 0xf0e, 0xe0e, 0xf0e, 0xe0e, 0x103c, -0xf2f, 0x103c, 0xf2f, 0x103c, 0xf2f, 0xfec, 0xed2, 0xfec, 0xed2, 0xffc, 0xed3, -0xffc, 0xed3, 0x114c, 0x1013, 0x114c, 0x1013, 0x1149, 0xfff, 0x1149, 0xfff, 0x120d, -0x10af, 0x120d, 0x10af, 0x120d, 0x10af, 0x12a3, 0x1130, 0x12a3, 0x1130, 0x1278, 0x10ee, -0x1278, 0x10ee, 0x12f3, 0x1150, 0x12f3, 0x1150, 0x132e, 0x1170, 0x132e, 0x1170, 0x1362, -0x1189, 0x1362, 0x1189, 0x13fa, 0x1205, 0x13fa, 0x1205, 0x13fa, 0x1205, 0x14f8, 0x12e6, -0x14f8, 0x12e6, 0x16b9, 0x148c, 0x16b9, 0x148c, 0x178c, 0x1544, 0x178c, 0x1544, 0x1817, -0x15b6, 0x1817, 0x15b6, 0x18c2, 0x164a, 0x18c2, 0x164a, 0x17eb, 0x155f, 0x17eb, 0x155f, -0x17eb, 0x155f, 0x16e9, 0x144c, 0x16e9, 0x144c, 0x1637, 0x138c, 0x1637, 0x138c, 0x154a, -0x1295, 0x154a, 0x1295, 0x140d, 0x1152, 0x140d, 0x1152, 0x138f, 0x10d2, 0x138f, 0x10d2, -0x138f, 0x10d2, 0x1353, 0x1098, 0x1353, 0x1098, 0x130c, 0x1057, 0x130c, 0x1057, 0x1312, -0x1065, 0x1312, 0x1065, 0x1292, 0xff1, 0x1292, 0xff1, 0x1293, 0x1001, 0x1293, 0x1001, -0x11e9, 0xf68, 0x11e9, 0xf68, 0x11e9, 0xf68, 0x1099, 0xe29, 0x1099, 0xe29, 0x101f, -0xdc2, 0x101f, 0xdc2, 0xfdd, 0xd93, 0xfdd, 0xd93, 0xfb8, 0xd82, 0xfb8, 0xd82, -0xfc2, 0xd9f, 0xfc2, 0xd9f, 0xe6a, 0xc58, 0xe6a, 0xc58, 0xe6a, 0xc58, 0xc69, -0xa69, 0xc69, 0xa69, 0xbc0, 0x9ce, 0xbc0, 0x9ce, 0xa98, 0x8b5, 0xa98, 0x8b5, -0x97e, 0x7a6, 0x97e, 0x7a6, 0x93e, 0x772, 0x93e, 0x772, 0x93e, 0x772, 0x8f3, -0x730, 0x8f3, 0x730, 0x82e, 0x675, 0x82e, 0x675, 0x7f6, 0x646, 0x7f6, 0x646, -0x81c, 0x674, 0x81c, 0x674, 0x66d, 0x4ce, 0x66d, 0x4ce, 0x57e, 0x3e9, 0x57e, -0x3e9, 0x57e, 0x3e9, 0x55e, 0x3d5, 0x55e, 0x3d5, 0x4d5, 0x359, 0x4d5, 0x359, -0x4ef, 0x382, 0x4ef, 0x382, 0x48f, 0x333, 0x48f, 0x333, 0x379, 0x232, 0x379, -0x232, 0x2a4, 0x173, 0x2a4, 0x173, 0x2a4, 0x173, 0x379, 0x262, 0x379, 0x262, -0x501, 0x405, 0x501, 0x405, 0x4b5, 0x3d7, 0x4b5, 0x3d7, 0x3fc, 0x33e, 0x3fc, -0x33e, 0x41e, 0x381, 0x41e, 0x381, 0x41e, 0x381, 0x321, 0x2a6, 0x321, 0x2a6, -0x15b, 0x103, 0x15b, 0x103, 0xd9, 0xa2, 0xd9, 0xa2, 0x11b, 0x106, 0x11b, -0x106, 0xffb4, 0xffbf, 0xffb4, 0xffbf, 0xfed3, 0xfefb, 0xfed3, 0xfefb, 0xfed3, 0xfefb, -0xfedb, 0xff1e, 0xfedb, 0xff1e, 0xfc58, 0xfcb4, 0xfc58, 0xfcb4, 0xf9fc, 0xfa6c, 0xf9fc, -0xfa6c, 0xf853, 0xf8d4, 0xf853, 0xf8d4, 0xf6a3, 0xf731, 0xf6a3, 0xf731, 0xf6a3, 0xf731, -0xf5a3, 0xf63a, 0xf5a3, 0xf63a, 0xf660, 0xf6fc, 0xf660, 0xf6fc, 0xf7c7, 0xf865, 0xf7c7, -0xf865, 0xf7bd, 0xf859, 0xf7bd, 0xf859, 0xf974, 0xfa0c, 0xf974, 0xfa0c, 0xfa12, 0xfaa3, -0xfa12, 0xfaa3, 0xfa12, 0xfaa3, 0xf8b3, 0xf93b, 0xf8b3, 0xf93b, 0xf817, 0xf895, 0xf817, -0xf895, 0xf6d2, 0xf744, 0xf6d2, 0xf744, 0xf701, 0xf768, 0xf701, 0xf768, 0xf78a, 0xf7e5, -0xf78a, 0xf7e5, 0xf64e, 0xf69f, 0xf64e, 0xf69f, 0xf64e, 0xf69f, 0xf586, 0xf5cc, 0xf586, -0xf5cc, 0xf595, 0xf5d3, 0xf595, 0xf5d3, 0xf683, 0xf6b9, 0xf683, 0xf6b9, 0xf7d1, 0xf801, -0xf7d1, 0xf801, 0xf7bc, 0xf7e8, 0xf7bc, 0xf7e8, 0xf7bc, 0xf7e8, 0xf7e2, 0xf809, 0xf7e2, -0xf809, 0xf9b4, 0xf9d9, 0xf9b4, 0xf9d9, 0xfb1d, 0xfb40, 0xfb1d, 0xfb40, 0xfb49, 0xfb6a, -0xfb49, 0xfb6a, 0xfc94, 0xfcb3, 0xfc94, 0xfcb3, 0xfdfb, 0xfe17, 0xfdfb, 0xfe17, 0xfdfb, -0xfe17, 0xfe79, 0xfe91, 0xfe79, 0xfe91, 0xfff0, 0x2, 0xfff0, 0x2, 0x1, 0xb, -0x1, 0xb, 0xff9c, 0xff9c, 0xff9c, 0xff9c, 0xffdf, 0xffd2, 0xffdf, 0xffd2, 0x96, -0x79, 0x96, 0x79, 0x96, 0x79, 0x275, 0x245, 0x275, 0x245, 0x2fe, 0x2b9, -0x2fe, 0x2b9, 0x34d, 0x2ef, 0x34d, 0x2ef, 0x482, 0x408, 0x482, 0x408, 0x679, -0x5e2, 0x679, 0x5e2, 0x679, 0x5e2, 0x80c, 0x755, 0x80c, 0x755, 0x823, 0x74c, -0x823, 0x74c, 0x817, 0x71f, 0x817, 0x71f, 0x8ee, 0x7d3, 0x8ee, 0x7d3, 0xa82, -0x946, 0xa82, 0x946, 0xb49, 0x9ee, 0xb49, 0x9ee, 0xb49, 0x9ee, 0xb98, 0xa1e, -0xb98, 0xa1e, 0xb95, 0x9ff, 0xb95, 0x9ff, 0xbdc, 0xa2c, 0xbdc, 0xa2c, 0xcf3, -0xb2d, 0xcf3, 0xb2d, 0xe16, 0xc3d, 0xe16, 0xc3d, 0xf38, 0xd50, 0xf38, 0xd50, -0xf38, 0xd50, 0xfc0, 0xdcd, 0xfc0, 0xdcd, 0x10a8, 0xeae, 0x10a8, 0xeae, 0x129b, -0x109e, 0x129b, 0x109e, 0x133b, 0x113d, 0x133b, 0x113d, 0x1266, 0x106c, 0x1266, 0x106c, -0x1266, 0x106c, 0x1293, 0x109e, 0x1293, 0x109e, 0x1315, 0x1128, 0x1315, 0x1128, 0x133c, -0x1159, 0x133c, 0x1159, 0x13c0, 0x11e7, 0x13c0, 0x11e7, 0x13e9, 0x121a, 0x13e9, 0x121a, -0x12de, 0x111a, 0x12de, 0x111a, 0x12de, 0x111a, 0x1291, 0x10d8, 0x1291, 0x10d8, 0x1285, -0x10d5, 0x1285, 0x10d5, 0x10ef, 0xf47, 0x10ef, 0xf47, 0x10e4, 0xf41, 0x10e4, 0xf41, -0x1182, 0xfe2, 0x1182, 0xfe2, 0x110d, 0xf6f, 0x110d, 0xf6f, 0x110d, 0xf6f, 0x1012, -0xe74, 0x1012, 0xe74, 0xf05, 0xd63, 0xf05, 0xd63, 0xe28, 0xc81, 0xe28, 0xc81, -0xcc8, 0xb19, 0xcc8, 0xb19, 0xb37, 0x97f, 0xb37, 0x97f, 0xb37, 0x97f, 0x9fb, -0x838, 0x9fb, 0x838, 0x9ae, 0x7e0, 0x9ae, 0x7e0, 0x83a, 0x660, 0x83a, 0x660, -0x74a, 0x563, 0x74a, 0x563, 0x731, 0x53e, 0x731, 0x53e, 0x610, 0x412, 0x610, -0x412, 0x610, 0x412, 0x66f, 0x466, 0x66f, 0x466, 0x6af, 0x49e, 0x6af, 0x49e, -0x737, 0x51e, 0x737, 0x51e, 0x8a7, 0x688, 0x8a7, 0x688, 0x90d, 0x6ea, 0x90d, -0x6ea, 0x91a, 0x6f4, 0x91a, 0x6f4, 0x91a, 0x6f4, 0x8f2, 0x6cb, 0x8f2, 0x6cb, -0x823, 0x5fd, 0x823, 0x5fd, 0x80e, 0x5ea, 0x80e, 0x5ea, 0x94d, 0x72e, 0x94d, -0x72e, 0xa32, 0x817, 0xa32, 0x817, 0xa32, 0x817, 0xa1b, 0x804, 0xa1b, 0x804, -0x95c, 0x74b, 0x95c, 0x74b, 0x988, 0x77c, 0x988, 0x77c, 0x9c0, 0x7b9, 0x9c0, -0x7b9, 0x8e2, 0x6df, 0x8e2, 0x6df, 0x8ae, 0x6af, 0x8ae, 0x6af, 0x8ae, 0x6af, -0x9b0, 0x7b2, 0x9b0, 0x7b2, 0xaaa, 0x8ad, 0xaaa, 0x8ad, 0xbf6, 0x9f7, 0xbf6, -0x9f7, 0xd77, 0xb75, 0xd77, 0xb75, 0xd4f, 0xb49, 0xd4f, 0xb49, 0xd5d, 0xb51, -0xd5d, 0xb51, 0xd5d, 0xb51, 0xc7d, 0xa69, 0xc7d, 0xa69, 0xb1e, 0x900, 0xb1e, -0x900, 0xb47, 0x91f, 0xb47, 0x91f, 0xa2b, 0x7f8, 0xa2b, 0x7f8, 0x969, 0x729, -0x969, 0x729, 0x969, 0x729, 0xacf, 0x883, 0xacf, 0x883, 0xc63, 0xa0b, 0xc63, -0xa0b, 0xd14, 0xab0, 0xd14, 0xab0, 0xda4, 0xb36, 0xda4, 0xb36, 0xd17, 0xaa0, -0xd17, 0xaa0, 0xcd5, 0xa55, 0xcd5, 0xa55, 0xcd5, 0xa55, 0xd72, 0xaed, 0xd72, -0xaed, 0xc7f, 0x9f7, 0xc7f, 0x9f7, 0xc11, 0x988, 0xc11, 0x988, 0xc00, 0x979, -0xc00, 0x979, 0xc28, 0x9a5, 0xc28, 0x9a5, 0xd5b, 0xae1, 0xd5b, 0xae1, 0xd5b, -0xae1, 0xe39, 0xbcb, 0xe39, 0xbcb, 0xdf4, 0xb95, 0xdf4, 0xb95, 0xcea, 0xa9c, -0xcea, 0xa9c, 0xc69, 0xa31, 0xc69, 0xa31, 0xc46, 0xa27, 0xc46, 0xa27, 0xc46, -0xa27, 0xc35, 0xa31, 0xc35, 0xa31, 0xbe0, 0x9fb, 0xbe0, 0x9fb, 0xbd9, 0xa16, -0xbd9, 0xa16, 0xd1d, 0xb7e, 0xd1d, 0xb7e, 0xdd1, 0xc58, 0xdd1, 0xc58, 0xce2, -0xb91, 0xce2, 0xb91, 0xce2, 0xb91, 0xbca, 0xaa2, 0xbca, 0xaa2, 0xaa8, 0x9ab, -0xaa8, 0x9ab, 0xaf4, 0xa23, 0xaf4, 0xa23, 0xc2e, 0xb89, 0xc2e, 0xb89, 0xb3d, -0xac6, 0xb3d, 0xac6, 0x9d1, 0x986, 0x9d1, 0x986, 0x9d1, 0x986, 0x986, 0x968, -0x986, 0x968, 0x9d0, 0x9de, 0x9d0, 0x9de, 0x960, 0x99a, 0x960, 0x99a, 0x8a4, -0x909, 0x8a4, 0x909, 0x733, 0x7c2, 0x733, 0x7c2, 0x733, 0x7c2, 0x518, 0x5d1, -0x518, 0x5d1, 0x4c7, 0x5a9, 0x4c7, 0x5a9, 0x48d, 0x596, 0x48d, 0x596, 0x2d9, -0x409, 0x2d9, 0x409, 0x1f, 0x175, 0x1f, 0x175, 0xfe87, 0x2, 0xfe87, 0x2, -0xfe87, 0x2, 0xfd62, 0xff02, 0xfd62, 0xff02, 0xfb3d, 0xfd02, 0xfb3d, 0xfd02, 0xf9b2, -0xfb9c, 0xf9b2, 0xfb9c, 0xf83b, 0xfa4a, 0xf83b, 0xfa4a, 0xf7ee, 0xfa22, 0xf7ee, 0xfa22, -0xf7ee, 0xfa22, 0xf849, 0xfaa4, 0xf849, 0xfaa4, 0xf763, 0xf9e4, 0xf763, 0xf9e4, 0xf603, -0xf8ac, 0xf603, 0xf8ac, 0xf4d2, 0xf7a4, 0xf4d2, 0xf7a4, 0xf498, 0xf794, 0xf498, 0xf794, -0xf584, 0xf8ac, 0xf584, 0xf8ac, 0xf584, 0xf8ac, 0xf4fb, 0xf84f, 0xf4fb, 0xf84f, 0xf226, -0xf5a7, 0xf226, 0xf5a7, 0xefaa, 0xf359, 0xefaa, 0xf359, 0xee50, 0xf22e, 0xee50, 0xf22e, -0xedb8, 0xf1c5, 0xedb8, 0xf1c5, 0xecb3, 0xf0ee, 0xecb3, 0xf0ee, 0xecb3, 0xf0ee, 0xea09, -0xee72, 0xea09, 0xee72, 0xe704, 0xeb9a, 0xe704, 0xeb9a, 0xe5b9, 0xea7a, 0xe5b9, 0xea7a, -0xe4f0, 0xe9db, 0xe4f0, 0xe9db, 0xe39c, 0xe8ad, 0xe39c, 0xe8ad, 0xe39c, 0xe8ad, 0xe29d, -0xe7d1, 0xe29d, 0xe7d1, 0xe158, 0xe6ac, 0xe158, 0xe6ac, 0xe0ed, 0xe65c, 0xe0ed, 0xe65c, -0xe0b5, 0xe63b, 0xe0b5, 0xe63b, 0xe007, 0xe59f, 0xe007, 0xe59f, 0xdfea, 0xe590, 0xdfea, -0xe590, 0xdfea, 0xe590, 0xde93, 0xe441, 0xde93, 0xe441, 0xdd1c, 0xe2ce, 0xdd1c, 0xe2ce, -0xdd45, 0xe2f5, 0xdd45, 0xe2f5, 0xdc5f, 0xe208, 0xdc5f, 0xe208, 0xdabd, 0xe05b, 0xdabd, -0xe05b, 0xda9b, 0xe02a, 0xda9b, 0xe02a, 0xda9b, 0xe02a, 0xda71, 0xdfed, 0xda71, 0xdfed, -0xda0e, 0xdf74, 0xda0e, 0xdf74, 0xda24, 0xdf71, 0xda24, 0xdf71, 0xda74, 0xdfa5, 0xda74, -0xdfa5, 0xdb22, 0xe036, 0xdb22, 0xe036, 0xdb22, 0xe036, 0xdc15, 0xe10b, 0xdc15, 0xe10b, -0xdd2e, 0xe206, 0xdd2e, 0xe206, 0xdd8d, 0xe247, 0xdd8d, 0xe247, 0xdd14, 0xe1b0, 0xdd14, -0xe1b0, 0xdd2c, 0xe1ab, 0xdd2c, 0xe1ab, 0xde30, 0xe293, 0xde30, 0xe293, 0xde30, 0xe293, -0xdee2, 0xe32b, 0xdee2, 0xe32b, 0xdf46, 0xe377, 0xdf46, 0xe377, 0xdf37, 0xe351, 0xdf37, -0xe351, 0xde76, 0xe27a, 0xde76, 0xe27a, 0xdf2f, 0xe31f, 0xdf2f, 0xe31f, 0xe167, 0xe543, -0xe167, 0xe543, 0xe167, 0xe543, 0xe1d7, 0xe5a0, 0xe1d7, 0xe5a0, 0xe1c8, 0xe57f, 0xe1c8, -0xe57f, 0xe26a, 0xe60e, 0xe26a, 0xe60e, 0xe17a, 0xe50a, 0xe17a, 0xe50a, 0xe14d, 0xe4c7, -0xe14d, 0xe4c7, 0xe14d, 0xe4c7, 0xe13c, 0xe49f, 0xe13c, 0xe49f, 0xe04c, 0xe396, 0xe04c, -0xe396, 0xe13b, 0xe469, 0xe13b, 0xe469, 0xe317, 0xe626, 0xe317, 0xe626, 0xe4a5, 0xe791, -0xe4a5, 0xe791, 0xe5da, 0xe8a1, 0xe5da, 0xe8a1, 0xe5da, 0xe8a1, 0xe6e6, 0xe984, 0xe6e6, -0xe984, 0xe75e, 0xe9d0, 0xe75e, 0xe9d0, 0xe849, 0xea8b, 0xe849, 0xea8b, 0xe9a8, 0xebb8, -0xe9a8, 0xebb8, 0xeae7, 0xecc3, 0xeae7, 0xecc3, 0xeb83, 0xed29, 0xeb83, 0xed29, 0xeb83, -0xed29, 0xeb45, 0xecb2, 0xeb45, 0xecb2, 0xedb5, 0xeeea, 0xedb5, 0xeeea, 0xf0c6, 0xf1c2, -0xf0c6, 0xf1c2, 0xf1e8, 0xf2ab, 0xf1e8, 0xf2ab, 0xf2ed, 0xf379, 0xf2ed, 0xf379, 0xf2ed, -0xf379, 0xf356, 0xf3ad, 0xf356, 0xf3ad, 0xf3e1, 0xf405, 0xf3e1, 0xf405, 0xf5cb, 0xf5bf, -0xf5cb, 0xf5bf, 0xf764, 0xf72b, 0xf764, 0xf72b, 0xf7f0, 0xf78d, 0xf7f0, 0xf78d, 0xf918, -0xf890, 0xf918, 0xf890, 0xf918, 0xf890, 0xfb35, 0xfa8b, 0xfb35, 0xfa8b, 0xfdd6, 0xfd0d, -0xfdd6, 0xfd0d, 0x1d, 0xff3b, 0x1d, 0xff3b, 0x164, 0x6b, 0x164, 0x6b, 0x256, -0x149, 0x256, 0x149, 0x402, 0x2e4, 0x402, 0x2e4, 0x402, 0x2e4, 0x623, 0x4f6, -0x623, 0x4f6, 0x761, 0x627, 0x761, 0x627, 0x75a, 0x614, 0x75a, 0x614, 0x7f8, -0x6a6, 0x7f8, 0x6a6, 0xa23, 0x8c6, 0xa23, 0x8c6, 0xa23, 0x8c6, 0xaf9, 0x990, -0xaf9, 0x990, 0xaf8, 0x983, 0xaf8, 0x983, 0xad9, 0x956, 0xad9, 0x956, 0xa7f, -0x8ec, 0xa7f, 0x8ec, 0xb4a, 0x9a5, 0xb4a, 0x9a5, 0xc48, 0xa8f, 0xc48, 0xa8f, -0xc48, 0xa8f, 0xd36, 0xb68, 0xd36, 0xb68, 0xdd9, 0xbf3, 0xdd9, 0xbf3, 0xe19, -0xc19, 0xe19, 0xc19, 0xf13, 0xcf9, 0xf13, 0xcf9, 0x10b8, 0xe82, 0x10b8, 0xe82, -0x10d9, 0xe86, 0x10d9, 0xe86, 0x10d9, 0xe86, 0x10da, 0xe6b, 0x10da, 0xe6b, 0x1232, -0xfa7, 0x1232, 0xfa7, 0x12c1, 0x101a, 0x12c1, 0x101a, 0x12fb, 0x103b, 0x12fb, 0x103b, -0x1265, 0xf8d, 0x1265, 0xf8d, 0x1265, 0xf8d, 0x11c5, 0xed8, 0x11c5, 0xed8, 0x1288, -0xf89, 0x1288, 0xf89, 0x13a9, 0x109b, 0x13a9, 0x109b, 0x1395, 0x107c, 0x1395, 0x107c, -0x1252, 0xf32, 0x1252, 0xf32, 0x1210, 0xeee, 0x1210, 0xeee, 0x1210, 0xeee, 0x11f3, -0xed2, 0x11f3, 0xed2, 0x11b2, 0xe97, 0x11b2, 0xe97, 0x11a3, 0xe91, 0x11a3, 0xe91, -0x110d, 0xe09, 0x110d, 0xe09, 0x110b, 0xe17, 0x110b, 0xe17, 0x1149, 0xe69, 0x1149, -0xe69, 0x1149, 0xe69, 0x1121, 0xe57, 0x1121, 0xe57, 0x10a8, 0xdf6, 0x10a8, 0xdf6, -0xed5, 0xc3d, 0xed5, 0xc3d, 0xe35, 0xbb8, 0xe35, 0xbb8, 0xf06, 0xca5, 0xf06, -0xca5, 0xf06, 0xca5, 0xdf8, 0xbb3, 0xdf8, 0xbb3, 0xd67, 0xb3e, 0xd67, 0xb3e, -0xd1b, 0xb0e, 0xd1b, 0xb0e, 0xc4b, 0xa59, 0xc4b, 0xa59, 0xd09, 0xb31, 0xd09, -0xb31, 0xdbb, 0xbfc, 0xdbb, 0xbfc, 0xdbb, 0xbfc, 0xc18, 0xa71, 0xc18, 0xa71, -0xa20, 0x88f, 0xa20, 0x88f, 0x9d5, 0x859, 0x9d5, 0x859, 0x8e4, 0x77c, 0x8e4, -0x77c, 0x88a, 0x736, 0x88a, 0x736, 0x8ae, 0x76c, 0x8ae, 0x76c, 0x8ae, 0x76c, -0x7e4, 0x6b4, 0x7e4, 0x6b4, 0x744, 0x626, 0x744, 0x626, 0x663, 0x557, 0x663, -0x557, 0x6da, 0x5df, 0x6da, 0x5df, 0x6b1, 0x5c9, 0x6b1, 0x5c9, 0x6b1, 0x5c9, -0x4b2, 0x3dd, 0x4b2, 0x3dd, 0x4b8, 0x3f6, 0x4b8, 0x3f6, 0x5fa, 0x54d, 0x5fa, -0x54d, 0x679, 0x5e1, 0x679, 0x5e1, 0x718, 0x697, 0x718, 0x697, 0x66a, 0x600, -0x66a, 0x600, 0x66a, 0x600, 0x4a1, 0x44f, 0x4a1, 0x44f, 0x461, 0x429, 0x461, -0x429, 0x455, 0x437, 0x455, 0x437, 0x3b2, 0x3ae, 0x3b2, 0x3ae, 0x348, 0x35e, -0x348, 0x35e, 0x348, 0x35e, 0x236, 0x266, 0x236, 0x266, 0x92, 0xda, 0x92, -0xda, 0xff44, 0xffa5, 0xff44, 0xffa5, 0xfd52, 0xfdca, 0xfd52, 0xfdca, 0xfb66, 0xfbf3, -0xfb66, 0xfbf3, 0xfa57, 0xfaf8, 0xfa57, 0xfaf8, 0xfa57, 0xfaf8, 0xfa22, 0xfad4, 0xfa22, -0xfad4, 0xfb6d, 0xfc2d, 0xfb6d, 0xfc2d, 0xfb36, 0xfc03, 0xfb36, 0xfc03, 0xfa7c, 0xfb52, -0xfa7c, 0xfb52, 0xfad8, 0xfbb4, 0xfad8, 0xfbb4, 0xfa30, 0xfb0f, 0xfa30, 0xfb0f, 0xfa30, -0xfb0f, 0xf967, 0xfa46, 0xf967, 0xfa46, 0xf829, 0xf905, 0xf829, 0xf905, 0xf6f6, 0xf7cb, -0xf6f6, 0xf7cb, 0xf659, 0xf726, 0xf659, 0xf726, 0xf5e4, 0xf6a4, 0xf5e4, 0xf6a4, 0xf5e4, -0xf6a4, 0xf6c7, 0xf778, 0xf6c7, 0xf778, 0xf7e9, 0xf88a, 0xf7e9, 0xf88a, 0xf7e2, 0xf870, -0xf7e2, 0xf870, 0xf814, 0xf88d, 0xf814, 0xf88d, 0xf951, 0xf9b3, 0xf951, 0xf9b3, 0xfa71, -0xfabb, 0xfa71, 0xfabb, 0xfa71, 0xfabb, 0xfb6e, 0xfba0, 0xfb6e, 0xfba0, 0xfc64, 0xfc7d, -0xfc64, 0xfc7d, 0xfd4e, 0xfd4d, 0xfd4e, 0xfd4d, 0xfe8c, 0xfe71, 0xfe8c, 0xfe71, 0xff72, -0xff3d, 0xff72, 0xff3d, 0xffbd, 0xff6e, 0xffbd, 0xff6e, 0xffbd, 0xff6e, 0xffa8, 0xff40, -0xffa8, 0xff40, 0xffb0, 0xff30, 0xffb0, 0xff30, 0xfffd, 0xff65, 0xfffd, 0xff65, 0x93, -0xffe4, 0x93, 0xffe4, 0x142, 0x7c, 0x142, 0x7c, 0x142, 0x7c, 0x1a1, 0xc6, -0x1a1, 0xc6, 0x2da, 0x1ea, 0x2da, 0x1ea, 0x496, 0x392, 0x496, 0x392, 0x60d, -0x4f7, 0x60d, 0x4f7, 0x6ee, 0x5c6, 0x6ee, 0x5c6, 0x696, 0x55d, 0x696, 0x55d, -0x696, 0x55d, 0x6fd, 0x5b4, 0x6fd, 0x5b4, 0x838, 0x6de, 0x838, 0x6de, 0x972, -0x80a, 0x972, 0x80a, 0xad1, 0x95a, 0xad1, 0x95a, 0xb49, 0x9c4, 0xb49, 0x9c4, -0xbdc, 0xa4a, 0xbdc, 0xa4a, 0xbdc, 0xa4a, 0xcfd, 0xb5f, 0xcfd, 0xb5f, 0xdcd, -0xc24, 0xdcd, 0xc24, 0xd7d, 0xbc8, 0xd7d, 0xbc8, 0xd47, 0xb88, 0xd47, 0xb88, -0xe99, 0xcd1, 0xe99, 0xcd1, 0xe99, 0xcd1, 0xf4c, 0xd7b, 0xf4c, 0xd7b, 0x101f, -0xe47, 0x101f, 0xe47, 0x10cb, 0xeec, 0x10cb, 0xeec, 0x1013, 0xe2e, 0x1013, 0xe2e, -0x1063, 0xe7b, 0x1063, 0xe7b, 0x11a7, 0xfbc, 0x11a7, 0xfbc, 0x11a7, 0xfbc, 0x12c2, -0x10d5, 0x12c2, 0x10d5, 0x1265, 0x1078, 0x1265, 0x1078, 0x113f, 0xf53, 0x113f, 0xf53, -0x10f2, 0xf0a, 0x10f2, 0xf0a, 0x1097, 0xeb3, 0x1097, 0xeb3, 0x1038, 0xe5b, 0x1038, -0xe5b, 0x1038, 0xe5b, 0xfad, 0xdd7, 0xfad, 0xdd7, 0xf0e, 0xd41, 0xf0e, 0xd41, -0xec7, 0xd05, 0xec7, 0xd05, 0xf24, 0xd6e, 0xf24, 0xd6e, 0xf5a, 0xdb1, 0xf5a, -0xdb1, 0xf5a, 0xdb1, 0xe60, 0xcc5, 0xe60, 0xcc5, 0xd5d, 0xbd2, 0xd5d, 0xbd2, -0xc11, 0xa96, 0xc11, 0xa96, 0xad0, 0x964, 0xad0, 0x964, 0xa66, 0x90c, 0xa66, -0x90c, 0x9f6, 0x8ac, 0x9f6, 0x8ac, 0x9f6, 0x8ac, 0x99e, 0x865, 0x99e, 0x865, -0x97f, 0x857, 0x97f, 0x857, 0x9a2, 0x88b, 0x9a2, 0x88b, 0x912, 0x80b, 0x912, -0x80b, 0x743, 0x64a, 0x743, 0x64a, 0x6b3, 0x5c8, 0x6b3, 0x5c8, 0x6b3, 0x5c8, -0x751, 0x674, 0x751, 0x674, 0x761, 0x691, 0x761, 0x691, 0x785, 0x6c1, 0x785, -0x6c1, 0x7af, 0x6f5, 0x7af, 0x6f5, 0x7e4, 0x733, 0x7e4, 0x733, 0x7e4, 0x733, -0x7f9, 0x751, 0x7f9, 0x751, 0x814, 0x772, 0x814, 0x772, 0x881, 0x7e6, 0x881, -0x7e6, 0x7ef, 0x758, 0x7ef, 0x758, 0x797, 0x704, 0x797, 0x704, 0x873, 0x7e1, -0x873, 0x7e1, 0x873, 0x7e1, 0x945, 0x8b5, 0x945, 0x8b5, 0x9ae, 0x91d, 0x9ae, -0x91d, 0x9c8, 0x936, 0x9c8, 0x936, 0xa33, 0x99d, 0xa33, 0x99d, 0xada, 0xa3f, -0xada, 0xa3f, 0xb9e, 0xafe, 0xb9e, 0xafe, 0xb9e, 0xafe, 0xc7a, 0xbd2, 0xc7a, -0xbd2, 0xcf2, 0xc43, 0xcf2, 0xc43, 0xcbd, 0xc04, 0xcbd, 0xc04, 0xbf8, 0xb34, -0xbf8, 0xb34, 0xacf, 0x9ff, 0xacf, 0x9ff, 0xacf, 0x9ff, 0xa07, 0x929, 0xa07, -0x929, 0x9d4, 0x8e8, 0x9d4, 0x8e8, 0x903, 0x807, 0x903, 0x807, 0x877, 0x76a, -0x877, 0x76a, 0x868, 0x74a, 0x868, 0x74a, 0x906, 0x7d7, 0x906, 0x7d7, 0x906, -0x7d7, 0x9bf, 0x87e, 0x9bf, 0x87e, 0xa21, 0x8ce, 0xa21, 0x8ce, 0xb50, 0x9ea, -0xb50, 0x9ea, 0xb7a, 0xa02, 0xb7a, 0xa02, 0xbf7, 0xa6d, 0xbf7, 0xa6d, 0xce9, -0xb4e, 0xce9, 0xb4e, 0xce9, 0xb4e, 0xcad, 0xb02, 0xcad, 0xb02, 0xc56, 0xa9b, -0xc56, 0xa9b, 0xc71, 0xaa8, 0xc71, 0xaa8, 0xcf0, 0xb1a, 0xcf0, 0xb1a, 0xc80, -0xa9f, 0xc80, 0xa9f, 0xc80, 0xa9f, 0xc0c, 0xa22, 0xc0c, 0xa22, 0xb90, 0x99f, -0xb90, 0x99f, 0xb16, 0x920, 0xb16, 0x920, 0xb8d, 0x994, 0xb8d, 0x994, 0xc0e, -0xa16, 0xc0e, 0xa16, 0xc83, 0xa8e, 0xc83, 0xa8e, 0xc83, 0xa8e, 0xc1f, 0xa2f, -0xc1f, 0xa2f, 0xba0, 0x9b8, 0xba0, 0x9b8, 0xbcd, 0x9f0, 0xbcd, 0x9f0, 0xade, -0x90f, 0xade, 0x90f, 0xa49, 0x88b, 0xa49, 0x88b, 0xac0, 0x915, 0xac0, 0x915, -0xac0, 0x915, 0xa5f, 0x8cb, 0xa5f, 0x8cb, 0xa32, 0x8b8, 0xa32, 0x8b8, 0x9d7, -0x879, 0x9d7, 0x879, 0x95b, 0x81c, 0x95b, 0x81c, 0x986, 0x869, 0x986, 0x869, -0x986, 0x869, 0x969, 0x870, 0x969, 0x870, 0x8f6, 0x823, 0x8f6, 0x823, 0x82a, -0x77f, 0x82a, 0x77f, 0x71d, 0x69c, 0x71d, 0x69c, 0x6a1, 0x64b, 0x6a1, 0x64b, -0x75b, 0x731, 0x75b, 0x731, 0x75b, 0x731, 0x6cf, 0x6d3, 0x6cf, 0x6d3, 0x5bb, -0x5ef, 0x5bb, 0x5ef, 0x4f0, 0x554, 0x4f0, 0x554, 0x2b5, 0x34a, 0x2b5, 0x34a, -0x12b, 0x1f1, 0x12b, 0x1f1, 0x12b, 0x1f1, 0xff23, 0x1a, 0xff23, 0x1a, 0xfc58, -0xfd82, 0xfc58, 0xfd82, 0xfafb, 0xfc57, 0xfafb, 0xfc57, 0xf94c, 0xfad9, 0xf94c, 0xfad9, -0xf7b0, 0xf970, 0xf7b0, 0xf970, 0xf6b4, 0xf8a6, 0xf6b4, 0xf8a6, 0xf6b4, 0xf8a6, 0xf582, -0xf7a7, 0xf582, 0xf7a7, 0xf5d2, 0xf829, 0xf5d2, 0xf829, 0xf63b, 0xf8c5, 0xf63b, 0xf8c5, -0xf59f, 0xf85b, 0xf59f, 0xf85b, 0xf53e, 0xf82e, 0xf53e, 0xf82e, 0xf3d7, 0xf6f9, 0xf3d7, -0xf6f9, 0xf3d7, 0xf6f9, 0xf17f, 0xf4d4, 0xf17f, 0xf4d4, 0xefae, 0xf336, 0xefae, 0xf336, -0xee35, 0xf1ef, 0xee35, 0xf1ef, 0xec2f, 0xf01c, 0xec2f, 0xf01c, 0xeae1, 0xef01, 0xeae1, -0xef01, 0xeae1, 0xef01, 0xea30, 0xee81, 0xea30, 0xee81, 0xe924, 0xeda5, 0xe924, 0xeda5, -0xe7b8, 0xec68, 0xe7b8, 0xec68, 0xe5ab, 0xea89, 0xe5ab, 0xea89, 0xe451, 0xe95a, 0xe451, -0xe95a, 0xe2ff, 0xe832, 0xe2ff, 0xe832, 0xe2ff, 0xe832, 0xe1a6, 0xe6ff, 0xe1a6, 0xe6ff, -0xe123, 0xe69f, 0xe123, 0xe69f, 0xe096, 0xe631, 0xe096, 0xe631, 0xdfed, 0xe5a4, 0xdfed, -0xe5a4, 0xdf15, 0xe4e2, 0xdf15, 0xe4e2, 0xde1b, 0xe3f9, 0xde1b, 0xe3f9, 0xde1b, 0xe3f9, -0xdc8d, 0xe278, 0xdc8d, 0xe278, 0xdaaf, 0xe0a1, 0xdaaf, 0xe0a1, 0xd996, 0xdf89, 0xd996, -0xdf89, 0xd8eb, 0xdeda, 0xd8eb, 0xdeda, 0xd8bf, 0xdea5, 0xd8bf, 0xdea5, 0xd8bf, 0xdea5, -0xd84f, 0xde25, 0xd84f, 0xde25, 0xd852, 0xde15, 0xd852, 0xde15, 0xd910, 0xdeba, 0xd910, -0xdeba, 0xd970, 0xdefe, 0xd970, 0xdefe, 0xda6a, 0xdfd8, 0xda6a, 0xdfd8, 0xda94, 0xdfe0, -0xda94, 0xdfe0, 0xda94, 0xdfe0, 0xda92, 0xdfb9, 0xda92, 0xdfb9, 0xdb07, 0xe008, 0xdb07, -0xe008, 0xdba9, 0xe083, 0xdba9, 0xe083, 0xdce8, 0xe19a, 0xdce8, 0xe19a, 0xddeb, 0xe277, -0xddeb, 0xe277, 0xdf81, 0xe3e7, 0xdf81, 0xe3e7, 0xdf81, 0xe3e7, 0xe041, 0xe483, 0xe041, -0xe483, 0xe0ac, 0xe4cb, 0xe0ac, 0xe4cb, 0xe0eb, 0xe4ea, 0xe0eb, 0xe4ea, 0xe0e7, 0xe4c8, -0xe0e7, 0xe4c8, 0xe1fa, 0xe5c0, 0xe1fa, 0xe5c0, 0xe1fa, 0xe5c0, 0xe296, 0xe642, 0xe296, -0xe642, 0xe339, 0xe6cd, 0xe339, 0xe6cd, 0xe329, 0xe6a8, 0xe329, 0xe6a8, 0xe230, 0xe59a, -0xe230, 0xe59a, 0xe237, 0xe58c, 0xe237, 0xe58c, 0xe26f, 0xe5b1, 0xe26f, 0xe5b1, 0xe26f, -0xe5b1, 0xe288, 0xe5b5, 0xe288, 0xe5b5, 0xe33e, 0xe655, 0xe33e, 0xe655, 0xe3e5, 0xe6e3, -0xe3e5, 0xe6e3, 0xe485, 0xe768, 0xe485, 0xe768, 0xe5b6, 0xe87b, 0xe5b6, 0xe87b, 0xe683, -0xe925, 0xe683, 0xe925, 0xe683, 0xe925, 0xe741, 0xe9bd, 0xe741, 0xe9bd, 0xe8dc, 0xeb2f, -0xe8dc, 0xeb2f, 0xea32, 0xec57, 0xea32, 0xec57, 0xebf3, 0xede6, 0xebf3, 0xede6, 0xee0e, -0xefcc, 0xee0e, 0xefcc, 0xee0e, 0xefcc, 0xeebf, 0xf043, 0xeebf, 0xf043, 0xf023, 0xf16c, -0xf023, 0xf16c, 0xf159, 0xf264, 0xf159, 0xf264, 0xf147, 0xf214, 0xf147, 0xf214, 0xf1e2, -0xf26f, 0xf1e2, 0xf26f, 0xf2f6, 0xf345, 0xf2f6, 0xf345, 0xf2f6, 0xf345, 0xf516, 0xf528, -0xf516, 0xf528, 0xf742, 0xf71b, 0xf742, 0xf71b, 0xf85c, 0xf7fe, 0xf85c, 0xf7fe, 0xf91d, -0xf88d, 0xf91d, 0xf88d, 0xfa0c, 0xf950, 0xfa0c, 0xf950, 0xfb8a, 0xfaa6, 0xfb8a, 0xfaa6, -0xfb8a, 0xfaa6, 0xfdff, 0xfcf9, 0xfdff, 0xfcf9, 0x17, 0xfef6, 0x17, 0xfef6, 0xe8, -0xffb2, 0xe8, 0xffb2, 0x33a, 0x1f6, 0x33a, 0x1f6, 0x65a, 0x50d, 0x65a, 0x50d, -0x65a, 0x50d, 0x831, 0x6e0, 0x831, 0x6e0, 0x9cc, 0x87c, 0x9cc, 0x87c, 0xae7, -0x99c, 0xae7, 0x99c, 0xb4b, 0xa08, 0xb4b, 0xa08, 0xc29, 0xaef, 0xc29, 0xaef, -0xcc9, 0xb99, 0xcc9, 0xb99, 0xcc9, 0xb99, 0xc0f, 0xaea, 0xc0f, 0xaea, 0xbdb, -0xabe, 0xbdb, 0xabe, 0xc8d, 0xb77, 0xc8d, 0xb77, 0xdc9, 0xcb7, 0xdc9, 0xcb7, -0xfa2, 0xe90, 0xfa2, 0xe90, 0x1040, 0xf2a, 0x1040, 0xf2a, 0x1040, 0xf2a, 0x1151, -0x1031, 0x1151, 0x1031, 0x12b4, 0x1187, 0x12b4, 0x1187, 0x12ea, 0x11aa, 0x12ea, 0x11aa, -0x133f, 0x11e8, 0x133f, 0x11e8, 0x11f5, 0x1082, 0x11f5, 0x1082, 0x11f5, 0x1082, 0x1114, -0xf82, 0x1114, 0xf82, 0x123a, 0x1086, 0x123a, 0x1086, 0x126c, 0x1094, 0x126c, 0x1094, -0x1236, 0x1039, 0x1236, 0x1039, 0x1298, 0x1076, 0x1298, 0x1076, 0x12ab, 0x1065, 0x12ab, -0x1065, 0x12ab, 0x1065, 0x12e5, 0x107c, 0x12e5, 0x107c, 0x13dc, 0x1154, 0x13dc, 0x1154, -0x1409, 0x1165, 0x1409, 0x1165, 0x138c, 0x10d1, 0x138c, 0x10d1, 0x1368, 0x109c, 0x1368, -0x109c, 0x1364, 0x108b, 0x1364, 0x108b, 0x1364, 0x108b, 0x1399, 0x10ba, 0x1399, 0x10ba, -0x13ac, 0x10cc, 0x13ac, 0x10cc, 0x136b, 0x1091, 0x136b, 0x1091, 0x13b0, 0x10e0, 0x13b0, -0x10e0, 0x1315, 0x1055, 0x1315, 0x1055, 0x1315, 0x1055, 0x1208, 0xf5d, 0x1208, 0xf5d, -0x11a4, 0xf11, 0x11a4, 0xf11, 0xfca, 0xd53, 0xfca, 0xd53, 0xea8, 0xc4e, 0xea8, -0xc4e, 0xe4b, 0xc0f, 0xe4b, 0xc0f, 0xd3f, 0xb21, 0xd3f, 0xb21, 0xd3f, 0xb21, -0xcee, 0xaee, 0xcee, 0xaee, 0xce2, 0xafd, 0xce2, 0xafd, 0xc6d, 0xaa1, 0xc6d, -0xaa1, 0xb97, 0x9e1, 0xb97, 0x9e1, 0xaa0, 0x8fd, 0xaa0, 0x8fd, 0x92e, 0x799, -0x92e, 0x799, 0x92e, 0x799, 0x81a, 0x690, 0x81a, 0x690, 0x758, 0x5d4, 0x758, -0x5d4, 0x790, 0x60f, 0x790, 0x60f, 0x809, 0x686, 0x809, 0x686, 0x71b, 0x593, -0x71b, 0x593, 0x71b, 0x593, 0x6cc, 0x53d, 0x6cc, 0x53d, 0x67f, 0x4e7, 0x67f, -0x4e7, 0x55a, 0x3b8, 0x55a, 0x3b8, 0x4a6, 0x2fa, 0x4a6, 0x2fa, 0x412, 0x25b, -0x412, 0x25b, 0x326, 0x165, 0x326, 0x165, 0x326, 0x165, 0x2e8, 0x120, 0x2e8, -0x120, 0x36b, 0x19e, 0x36b, 0x19e, 0x446, 0x277, 0x446, 0x277, 0x3e3, 0x216, -0x3e3, 0x216, 0x2fb, 0x133, 0x2fb, 0x133, 0x2fb, 0x133, 0x2b9, 0xfb, 0x2b9, -0xfb, 0x1f5, 0x45, 0x1f5, 0x45, 0x1d9, 0x3a, 0x1d9, 0x3a, 0x1ac, 0x23, -0x1ac, 0x23, 0x99, 0xff2a, 0x99, 0xff2a, 0xfe56, 0xfd03, 0xfe56, 0xfd03, 0xfe56, -0xfd03, 0xfd69, 0xfc36, 0xfd69, 0xfc36, 0xfd4f, 0xfc3d, 0xfd4f, 0xfc3d, 0xfbcc, 0xfadd, -0xfbcc, 0xfadd, 0xfbc7, 0xfafd, 0xfbc7, 0xfafd, 0xfb39, 0xfa93, 0xfb39, 0xfa93, 0xf9ff, -0xf97d, 0xf9ff, 0xf97d, 0xf9ff, 0xf97d, 0xf98e, 0xf92e, 0xf98e, 0xf92e, 0xf950, 0xf911, -0xf950, 0xf911, 0xf856, 0xf835, 0xf856, 0xf835, 0xf737, 0xf732, 0xf737, 0xf732, 0xf77b, -0xf78f, 0xf77b, 0xf78f, 0xf77b, 0xf78f, 0xf796, 0xf7c0, 0xf796, 0xf7c0, 0xf7bc, 0xf7f8, -0xf7bc, 0xf7f8, 0xf672, 0xf6bc, 0xf672, 0xf6bc, 0xf588, 0xf5dd, 0xf588, 0xf5dd, 0xf63a, -0xf696, 0xf63a, 0xf696, 0xf5db, 0xf63b, 0xf5db, 0xf63b, 0xf5db, 0xf63b, 0xf673, 0xf6d3, -0xf673, 0xf6d3, 0xf63c, 0xf69a, 0xf63c, 0xf69a, 0xf582, 0xf5da, 0xf582, 0xf5da, 0xf7b0, -0xf801, 0xf7b0, 0xf801, 0xf9af, 0xf9f7, 0xf9af, 0xf9f7, 0xfa76, 0xfab2, 0xfa76, 0xfab2, -0xfa76, 0xfab2, 0xfb0b, 0xfb39, 0xfb0b, 0xfb39, 0xfadf, 0xfaff, 0xfadf, 0xfaff, 0xfb4c, -0xfb5d, 0xfb4c, 0xfb5d, 0xfd10, 0xfd10, 0xfd10, 0xfd10, 0xfdc5, 0xfdb5, 0xfdc5, 0xfdb5, -0xfdc5, 0xfdb5, 0xfd71, 0xfd51, 0xfd71, 0xfd51, 0xfed0, 0xfea0, 0xfed0, 0xfea0, 0x29, -0xffe9, 0x29, 0xffe9, 0x1db, 0x18c, 0x1db, 0x18c, 0x426, 0x3c8, 0x426, 0x3c8, -0x44c, 0x3df, 0x44c, 0x3df, 0x44c, 0x3df, 0x533, 0x4b9, 0x533, 0x4b9, 0x6d4, -0x64d, 0x6d4, 0x64d, 0x75b, 0x6c7, 0x75b, 0x6c7, 0x723, 0x685, 0x723, 0x685, -0x62b, 0x583, 0x62b, 0x583, 0x740, 0x68f, 0x740, 0x68f, 0x740, 0x68f, 0x9ca, -0x911, 0x9ca, 0x911, 0xb01, 0xa41, 0xb01, 0xa41, 0xb74, 0xaae, 0xb74, 0xaae, -0xbee, 0xb22, 0xbee, 0xb22, 0xc73, 0xba2, 0xc73, 0xba2, 0xc73, 0xba2, 0xdad, -0xcd7, 0xdad, 0xcd7, 0xecc, 0xdf2, 0xecc, 0xdf2, 0xe7c, 0xd9e, 0xe7c, 0xd9e, -0xe45, 0xd62, 0xe45, 0xd62, 0xf53, 0xe6c, 0xf53, 0xe6c, 0x10fe, 0x1013, 0x10fe, -0x1013, 0x10fe, 0x1013, 0x1197, 0x10a6, 0x1197, 0x10a6, 0x116b, 0x1074, 0x116b, 0x1074, -0x11ea, 0x10ed, 0x11ea, 0x10ed, 0x12c8, 0x11c4, 0x12c8, 0x11c4, 0x1373, 0x1266, 0x1373, -0x1266, 0x137d, 0x1267, 0x137d, 0x1267, 0x137d, 0x1267, 0x12eb, 0x11cb, 0x12eb, 0x11cb, -0x11a7, 0x107c, 0x11a7, 0x107c, 0x116d, 0x1036, 0x116d, 0x1036, 0x11d8, 0x1095, 0x11d8, -0x1095, 0x11a8, 0x1058, 0x11a8, 0x1058, 0x11a8, 0x1058, 0x1179, 0x101c, 0x1179, 0x101c, -0x1138, 0xfcf, 0x1138, 0xfcf, 0x11de, 0x1069, 0x11de, 0x1069, 0x1190, 0x1011, 0x1190, -0x1011, 0xfff, 0xe76, 0xfff, 0xe76, 0xe4e, 0xcbe, 0xe4e, 0xcbe, 0xe4e, 0xcbe, -0xc73, 0xadc, 0xc73, 0xadc, 0xc2c, 0xa92, 0xc2c, 0xa92, 0xc7b, 0xae0, 0xc7b, -0xae0, 0xb90, 0x9f7, 0xb90, 0x9f7, 0xa5c, 0x8c9, 0xa5c, 0x8c9, 0xa57, 0x8cb, -0xa57, 0x8cb, 0xa57, 0x8cb, 0xa74, 0x8f3, 0xa74, 0x8f3, 0x9cd, 0x85a, 0x9cd, -0x85a, 0x998, 0x835, 0x998, 0x835, 0x906, 0x7b6, 0x906, 0x7b6, 0x7f4, 0x6b8, -0x7f4, 0x6b8, 0x7f4, 0x6b8, 0x86f, 0x74a, 0x86f, 0x74a, 0x951, 0x843, 0x951, -0x843, 0x9a4, 0x8ad, 0x9a4, 0x8ad, 0x9ae, 0x8ce, 0x9ae, 0x8ce, 0x96c, 0x8a2, -0x96c, 0x8a2, 0x9af, 0x8fa, 0x9af, 0x8fa, 0x9af, 0x8fa, 0x908, 0x865, 0x908, -0x865, 0x7ea, 0x758, 0x7ea, 0x758, 0x72d, 0x6a8, 0x72d, 0x6a8, 0x656, 0x5da, -0x656, 0x5da, 0x6ea, 0x675, 0x6ea, 0x675, 0x81e, 0x7ac, 0x81e, 0x7ac, 0x81e, -0x7ac, 0x873, 0x800, 0x873, 0x800, 0x91a, 0x8a2, 0x91a, 0x8a2, 0xa39, 0x9b8, -0xa39, 0x9b8, 0xa8c, 0xa00, 0xa8c, 0xa00, 0xa45, 0x9ab, 0xa45, 0x9ab, 0xa45, -0x9ab, 0xa64, 0x9b9, 0xa64, 0x9b9, 0x9e7, 0x929, 0x9e7, 0x929, 0x9a7, 0x8d5, -0x9a7, 0x8d5, 0xb2a, 0xa43, 0xb2a, 0xa43, 0xaac, 0x9b1, 0xaac, 0x9b1, 0x977, -0x867, 0x977, 0x867, 0x977, 0x867, 0x8b6, 0x792, 0x8b6, 0x792, 0x715, 0x5de, -0x715, 0x5de, 0x6ae, 0x565, 0x6ae, 0x565, 0x66a, 0x513, 0x66a, 0x513, 0x6f2, -0x58e, 0x6f2, 0x58e, 0x72a, 0x5bc, 0x72a, 0x5bc, 0x72a, 0x5bc, 0x717, 0x5a0, -0x717, 0x5a0, 0x824, 0x6a7, 0x824, 0x6a7, 0x864, 0x6e2, 0x864, 0x6e2, 0x834, -0x6af, 0x834, 0x6af, 0x7b2, 0x62c, 0x7b2, 0x62c, 0x7b2, 0x62c, 0x808, 0x681, -0x808, 0x681, 0x859, 0x6d1, 0x859, 0x6d1, 0x830, 0x6a9, 0x830, 0x6a9, 0x83d, -0x6b5, 0x83d, 0x6b5, 0x6f6, 0x56e, 0x6f6, 0x56e, 0x6ab, 0x520, 0x6ab, 0x520, -0x6ab, 0x520, 0x7c8, 0x63b, 0x7c8, 0x63b, 0x8c2, 0x731, 0x8c2, 0x731, 0x953, -0x7be, 0x953, 0x7be, 0x8ce, 0x733, 0x8ce, 0x733, 0x887, 0x6e5, 0x887, 0x6e5, -0x85b, 0x6b3, 0x85b, 0x6b3, 0x85b, 0x6b3, 0x8dd, 0x72e, 0x8dd, 0x72e, 0x968, -0x7b2, 0x968, 0x7b2, 0x84a, 0x68e, 0x84a, 0x68e, 0x816, 0x655, 0x816, 0x655, -0x85e, 0x69b, 0x85e, 0x69b, 0x85e, 0x69b, 0x8ef, 0x72d, 0x8ef, 0x72d, 0x9c0, -0x800, 0x9c0, 0x800, 0x953, 0x79a, 0x953, 0x79a, 0x99a, 0x7ec, 0x99a, 0x7ec, -0xa9b, 0x8fc, 0xa9b, 0x8fc, 0xa4d, 0x8c1, 0xa4d, 0x8c1, 0xa4d, 0x8c1, 0x923, -0x7af, 0x923, 0x7af, 0x865, 0x70e, 0x865, 0x70e, 0x7f7, 0x6c0, 0x7f7, 0x6c0, -0x8a7, 0x795, 0x8a7, 0x795, 0x944, 0x85a, 0x944, 0x85a, 0x944, 0x85a, 0x7eb, -0x72c, 0x7eb, 0x72c, 0x6dc, 0x64d, 0x6dc, 0x64d, 0x6aa, 0x64b, 0x6aa, 0x64b, -0x5ff, 0x5d2, 0x5ff, 0x5d2, 0x49d, 0x4a4, 0x49d, 0x4a4, 0x1fa, 0x234, 0x1fa, -0x234, 0x1fa, 0x234, 0xff77, 0xffe5, 0xff77, 0xffe5, 0xfe5c, 0xfefe, 0xfe5c, 0xfefe, -0xfdf6, 0xfecb, 0xfdf6, 0xfecb, 0xfdc4, 0xfeca, 0xfdc4, 0xfeca, 0xfd64, 0xfe9a, 0xfd64, -0xfe9a, 0xfcd3, 0xfe38, 0xfcd3, 0xfe38, 0xfcd3, 0xfe38, 0xfcd4, 0xfe67, 0xfcd4, 0xfe67, -0xfd67, 0xff27, 0xfd67, 0xff27, 0xfc08, 0xfdf5, 0xfc08, 0xfdf5, 0xf9b3, 0xfbcb, 0xf9b3, -0xfbcb, 0xf866, 0xfaaa, 0xf866, 0xfaaa, 0xf866, 0xfaaa, 0xf7d4, 0xfa44, 0xf7d4, 0xfa44, -0xf746, 0xf9e3, 0xf746, 0xf9e3, 0xf4ea, 0xf7b5, 0xf4ea, 0xf7b5, 0xf1f2, 0xf4ed, 0xf1f2, -0xf4ed, 0xefc2, 0xf2ee, 0xefc2, 0xf2ee, 0xeeea, 0xf249, 0xeeea, 0xf249, 0xeeea, 0xf249, -0xee2c, 0xf1c0, 0xee2c, 0xf1c0, 0xece3, 0xf0ae, 0xece3, 0xf0ae, 0xebd0, 0xefd3, 0xebd0, -0xefd3, 0xea99, 0xeed6, 0xea99, 0xeed6, 0xeabb, 0xef32, 0xeabb, 0xef32, 0xeab6, 0xef68, -0xeab6, 0xef68, 0xeab6, 0xef68, 0xe8c0, 0xedab, 0xe8c0, 0xedab, 0xe6e6, 0xec08, 0xe6e6, -0xec08, 0xe59d, 0xeaf5, 0xe59d, 0xeaf5, 0xe4c7, 0xea51, 0xe4c7, 0xea51, 0xe41f, 0xe9d7, -0xe41f, 0xe9d7, 0xe41f, 0xe9d7, 0xe1d6, 0xe7b6, 0xe1d6, 0xe7b6, 0xdf2c, 0xe52e, 0xdf2c, -0xe52e, 0xdd4d, 0xe36b, 0xdd4d, 0xe36b, 0xdc9c, 0xe2ce, 0xdc9c, 0xe2ce, 0xdcc7, 0xe306, -0xdcc7, 0xe306, 0xdc66, 0xe2aa, 0xdc66, 0xe2aa, 0xdc66, 0xe2aa, 0xdbb6, 0xe1f7, 0xdbb6, -0xe1f7, 0xdb0c, 0xe142, 0xdb0c, 0xe142, 0xdb66, 0xe18a, 0xdb66, 0xe18a, 0xdbbf, 0xe1ca, -0xdbbf, 0xe1ca, 0xdb8b, 0xe177, 0xdb8b, 0xe177, 0xdae4, 0xe0ab, 0xdae4, 0xe0ab, 0xdae4, -0xe0ab, 0xdaec, 0xe08a, 0xdaec, 0xe08a, 0xdc16, 0xe188, 0xdc16, 0xe188, 0xdd13, 0xe256, -0xdd13, 0xe256, 0xddc6, 0xe2da, 0xddc6, 0xe2da, 0xde5d, 0xe341, 0xde5d, 0xe341, 0xde5d, -0xe341, 0xdfcb, 0xe480, 0xdfcb, 0xe480, 0xe0f9, 0xe581, 0xe0f9, 0xe581, 0xe1e3, 0xe641, -0xe1e3, 0xe641, 0xe218, 0xe64e, 0xe218, 0xe64e, 0xe1df, 0xe5f1, 0xe1df, 0xe5f1, 0xe207, -0xe5f8, 0xe207, 0xe5f8, 0xe207, 0xe5f8, 0xe2ed, 0xe6c1, 0xe2ed, 0xe6c1, 0xe407, 0xe7c1, -0xe407, 0xe7c1, 0xe3f8, 0xe79a, 0xe3f8, 0xe79a, 0xe45b, 0xe7e8, 0xe45b, 0xe7e8, 0xe3fd, -0xe775, 0xe3fd, 0xe775, 0xe3ac, 0xe710, 0xe3ac, 0xe710, 0xe3ac, 0xe710, 0xe3ef, 0xe73e, -0xe3ef, 0xe73e, 0xe2fc, 0xe635, 0xe2fc, 0xe635, 0xe2c8, 0xe5e8, 0xe2c8, 0xe5e8, 0xe3ab, -0xe6af, 0xe3ab, 0xe6af, 0xe3cd, 0xe6b1, 0xe3cd, 0xe6b1, 0xe3cd, 0xe6b1, 0xe4e0, 0xe79e, -0xe4e0, 0xe79e, 0xe696, 0xe929, 0xe696, 0xe929, 0xe7ae, 0xea11, 0xe7ae, 0xea11, 0xe9b3, -0xebe0, 0xe9b3, 0xebe0, 0xeaec, 0xecdd, 0xeaec, 0xecdd, 0xeb5d, 0xed0c, 0xeb5d, 0xed0c, -0xeb5d, 0xed0c, 0xeb7b, 0xece5, 0xeb7b, 0xece5, 0xebb4, 0xecd4, 0xebb4, 0xecd4, 0xecfd, -0xedd1, 0xecfd, 0xedd1, 0xef15, 0xef9c, 0xef15, 0xef9c, 0xf085, 0xf0bd, 0xf085, 0xf0bd, -0xf155, 0xf13f, 0xf155, 0xf13f, 0xf155, 0xf13f, 0xf25b, 0xf1fa, 0xf25b, 0xf1fa, 0xf2e9, -0xf240, 0xf2e9, 0xf240, 0xf4d7, 0xf3ea, 0xf4d7, 0xf3ea, 0xf736, 0xf60c, 0xf736, 0xf60c, -0xf901, 0xf79f, 0xf901, 0xf79f, 0xf901, 0xf79f, 0xfaa0, 0xf90e, 0xfaa0, 0xf90e, 0xfcd8, -0xfb1d, 0xfcd8, 0xfb1d, 0xff27, 0xfd4b, 0xff27, 0xfd4b, 0x127, 0xff33, 0x127, 0xff33, -0x299, 0x93, 0x299, 0x93, 0x344, 0x134, 0x344, 0x134, 0x344, 0x134, 0x504, -0x2f0, 0x504, 0x2f0, 0x71e, 0x50b, 0x71e, 0x50b, 0x8af, 0x6a3, 0x8af, 0x6a3, -0x86f, 0x66b, 0x86f, 0x66b, 0x834, 0x63a, 0x834, 0x63a, 0x855, 0x667, 0x855, -0x667, 0x855, 0x667, 0x933, 0x74f, 0x933, 0x74f, 0xa9c, 0x8c1, 0xa9c, 0x8c1, -0xb9c, 0x9c6, 0xb9c, 0x9c6, 0xd79, 0xba5, 0xd79, 0xba5, 0xe6d, 0xc95, 0xe6d, -0xc95, 0xe6d, 0xc95, 0x1070, 0xe8f, 0x1070, 0xe8f, 0x118c, 0xf9c, 0x118c, 0xf9c, -0x10c5, 0xec1, 0x10c5, 0xec1, 0x109a, 0xe7d, 0x109a, 0xe7d, 0x111a, 0xede, 0x111a, -0xede, 0x1189, 0xf2a, 0x1189, 0xf2a, 0x1189, 0xf2a, 0x10e7, 0xe62, 0x10e7, 0xe62, -0x1038, 0xd8a, 0x1038, 0xd8a, 0xf95, 0xcbc, 0xf95, 0xcbc, 0x105a, 0xd55, 0x105a, -0xd55, 0x11d4, 0xea4, 0x11d4, 0xea4, 0x12e3, 0xf8b, 0x12e3, 0xf8b, 0x12e3, 0xf8b, -0x12ea, 0xf6b, 0x12ea, 0xf6b, 0x128f, 0xeef, 0x128f, 0xeef, 0x132d, 0xf70, 0x132d, -0xf70, 0x13a2, 0xfcd, 0x13a2, 0xfcd, 0x131f, 0xf38, 0x131f, 0xf38, 0x131f, 0xf38, -0x12a5, 0xeb3, 0x12a5, 0xeb3, 0x12c5, 0xece, 0x12c5, 0xece, 0x12fd, 0xf07, 0x12fd, -0xf07, 0x13ac, 0xfbd, 0x13ac, 0xfbd, 0x130a, 0xf29, 0x130a, 0xf29, 0x1212, 0xe42, -0x1212, 0xe42, 0x1212, 0xe42, 0x1241, 0xe88, 0x1241, 0xe88, 0x1211, 0xe72, 0x1211, -0xe72, 0x1190, 0xe0d, 0x1190, 0xe0d, 0x1139, 0xdd4, 0x1139, 0xdd4, 0x1052, 0xd0c, -0x1052, 0xd0c, 0xf68, 0xc41, 0xf68, 0xc41, 0xf68, 0xc41, 0xf10, 0xc07, 0xf10, -0xc07, 0xf05, 0xc1a, 0xf05, 0xc1a, 0xdcb, 0xafc, 0xdcb, 0xafc, 0xb1d, 0x868, -0xb1d, 0x868, 0xaa0, 0x802, 0xaa0, 0x802, 0xaa0, 0x802, 0xaa0, 0x818, 0xaa0, -0x818, 0x9f4, 0x77f, 0x9f4, 0x77f, 0x966, 0x702, 0x966, 0x702, 0x84e, 0x5fa, -0x84e, 0x5fa, 0x755, 0x511, 0x755, 0x511, 0x6f6, 0x4c0, 0x6f6, 0x4c0, 0x6f6, -0x4c0, 0x719, 0x4f3, 0x719, 0x4f3, 0x658, 0x442, 0x658, 0x442, 0x60a, 0x405, -0x60a, 0x405, 0x67f, 0x48c, 0x67f, 0x48c, 0x699, 0x4bc, 0x699, 0x4bc, 0x699, -0x4bc, 0x660, 0x49b, 0x660, 0x49b, 0x575, 0x3cb, 0x575, 0x3cb, 0x4e9, 0x35d, -0x4e9, 0x35d, 0x5a1, 0x436, 0x5a1, 0x436, 0x61e, 0x4d6, 0x61e, 0x4d6, 0x608, -0x4e6, 0x608, 0x4e6, 0x608, 0x4e6, 0x457, 0x35f, 0x457, 0x35f, 0x236, 0x168, -0x236, 0x168, 0x2a7, 0x204, 0x2a7, 0x204, 0x2d6, 0x25f, 0x2d6, 0x25f, 0x20e, -0x1c4, 0x20e, 0x1c4, 0x156, 0x138, 0x156, 0x138, 0x156, 0x138, 0x129, 0x136, -0x129, 0x136, 0xab, 0xe0, 0xab, 0xe0, 0x1, 0x5e, 0x1, 0x5e, 0xfed1, -0xff52, 0xfed1, 0xff52, 0xfbf2, 0xfc95, 0xfbf2, 0xfc95, 0xfbf2, 0xfc95, 0xfaab, 0xfb6c, -0xfaab, 0xfb6c, 0xfa91, 0xfb6e, 0xfa91, 0xfb6e, 0xf997, 0xfa8b, 0xf997, 0xfa8b, 0xf82d, -0xf936, 0xf82d, 0xf936, 0xf70a, 0xf824, 0xf70a, 0xf824, 0xf65a, 0xf783, 0xf65a, 0xf783, -0xf65a, 0xf783, 0xf794, 0xf8c9, 0xf794, 0xf8c9, 0xf7c5, 0xf903, 0xf7c5, 0xf903, 0xf71f, -0xf864, 0xf71f, 0xf864, 0xf73f, 0xf889, 0xf73f, 0xf889, 0xf6c7, 0xf816, 0xf6c7, 0xf816, -0xf78d, 0xf8de, 0xf78d, 0xf8de, 0xf78d, 0xf8de, 0xf7cc, 0xf91e, 0xf7cc, 0xf91e, 0xf723, -0xf874, 0xf723, 0xf874, 0xf6c7, 0xf817, 0xf6c7, 0xf817, 0xf8f9, 0xfa46, 0xf8f9, 0xfa46, -0xf954, 0xfa9d, 0xf954, 0xfa9d, 0xf954, 0xfa9d, 0xf97c, 0xfabf, 0xf97c, 0xfabf, 0xfa6e, -0xfbab, 0xfa6e, 0xfbab, 0xf8b9, 0xf9ed, 0xf8b9, 0xf9ed, 0xf9d8, 0xfb02, 0xf9d8, 0xfb02, -0xfa5a, 0xfb77, 0xfa5a, 0xfb77, 0xfadf, 0xfbec, 0xfadf, 0xfbec, 0xfadf, 0xfbec, 0xfb5c, -0xfc57, 0xfb5c, 0xfc57, 0xfbd5, 0xfcbc, 0xfbd5, 0xfcbc, 0xfd9d, 0xfe6c, 0xfd9d, 0xfe6c, -0xfe74, 0xff29, 0xfe74, 0xff29, 0xfff8, 0x91, 0xfff8, 0x91, 0x10, 0x8b, 0x10, -0x8b, 0x10, 0x8b, 0xffcc, 0x26, 0xffcc, 0x26, 0x90, 0xc8, 0x90, 0xc8, -0x25f, 0x273, 0x25f, 0x273, 0x390, 0x380, 0x390, 0x380, 0x3dd, 0x3a9, 0x3dd, -0x3a9, 0x3dd, 0x3a9, 0x53d, 0x4e6, 0x53d, 0x4e6, 0x6a4, 0x62b, 0x6a4, 0x62b, -0x80b, 0x773, 0x80b, 0x773, 0x940, 0x88b, 0x940, 0x88b, 0xac1, 0x9f2, 0xac1, -0x9f2, 0xad6, 0x9f0, 0xad6, 0x9f0, 0xad6, 0x9f0, 0xa0f, 0x915, 0xa0f, 0x915, -0xaed, 0x9e4, 0xaed, 0x9e4, 0xb32, 0xa1f, 0xb32, 0xa1f, 0xb42, 0xa28, 0xb42, -0xa28, 0xbb1, 0xa94, 0xbb1, 0xa94, 0xc7d, 0xb61, 0xc7d, 0xb61, 0xc7d, 0xb61, -0xddc, 0xcc3, 0xddc, 0xcc3, 0xe85, 0xd74, 0xe85, 0xd74, 0xed4, 0xdcb, 0xed4, -0xdcb, 0xe77, 0xd7a, 0xe77, 0xd7a, 0xf27, 0xe36, 0xf27, 0xe36, 0xf27, 0xe36, -0x10ad, 0xfc9, 0x10ad, 0xfc9, 0x1083, 0xfad, 0x1083, 0xfad, 0xf69, 0xea0, 0xf69, -0xea0, 0xea2, 0xde5, 0xea2, 0xde5, 0xf3c, 0xe8b, 0xf3c, 0xe8b, 0xf60, 0xeb7, -0xf60, 0xeb7, 0xf60, 0xeb7, 0xf97, 0xef7, 0xf97, 0xef7, 0xecf, 0xe34, 0xecf, -0xe34, 0xdaa, 0xd13, 0xdaa, 0xd13, 0xde0, 0xd4c, 0xde0, 0xd4c, 0xd88, 0xcf5, -0xd88, 0xcf5, 0xd79, 0xce7, 0xd79, 0xce7, 0xd79, 0xce7, 0xbf1, 0xb5e, 0xbf1, -0xb5e, 0xb1c, 0xa88, 0xb1c, 0xa88, 0xb84, 0xaf0, 0xb84, 0xaf0, 0xbe3, 0xb4e, -0xbe3, 0xb4e, 0xb97, 0xb03, 0xb97, 0xb03, 0xb97, 0xb03, 0xb54, 0xac3, 0xb54, -0xac3, 0xb35, 0xaa6, 0xb35, 0xaa6, 0xafd, 0xa73, 0xafd, 0xa73, 0xb74, 0xaf1, -0xb74, 0xaf1, 0xac9, 0xa4f, 0xac9, 0xa4f, 0xa67, 0x9f7, 0xa67, 0x9f7, 0xa67, -0x9f7, 0xa42, 0x9dd, 0xa42, 0x9dd, 0xac6, 0xa6d, 0xac6, 0xa6d, 0xa98, 0xa4c, -0xa98, 0xa4c, 0xa4b, 0xa0d, 0xa4b, 0xa0d, 0x99f, 0x96e, 0x99f, 0x96e, 0x9a8, -0x982, 0x9a8, 0x982, 0x9a8, 0x982, 0xac0, 0xaa5, 0xac0, 0xaa5, 0xaa2, 0xa90, -0xaa2, 0xa90, 0xa27, 0xa1b, 0xa27, 0xa1b, 0x944, 0x93b, 0x944, 0x93b, 0x9f3, -0x9eb, 0x9f3, 0x9eb, 0x9f3, 0x9eb, 0xb1f, 0xb13, 0xb1f, 0xb13, 0xc0e, 0xbfb, -0xc0e, 0xbfb, 0xcb3, 0xc96, 0xcb3, 0xc96, 0xc45, 0xc19, 0xc45, 0xc19, 0xbda, -0xb9c, 0xbda, 0xb9c, 0xc50, 0xbfe, 0xc50, 0xbfe, 0xc50, 0xbfe, 0xc05, 0xb9b, -0xc05, 0xb9b, 0xbd7, 0xb53, 0xbd7, 0xb53, 0xa87, 0x9e8, 0xa87, 0x9e8, 0x9b5, -0x8f9, 0x9b5, 0x8f9, 0xadd, 0xa04, 0xadd, 0xa04, 0xa4c, 0x956, 0xa4c, 0x956, -0xa4c, 0x956, 0x96c, 0x859, 0x96c, 0x859, 0x88b, 0x75c, 0x88b, 0x75c, 0x84a, -0x701, 0x84a, 0x701, 0x84b, 0x6e9, 0x84b, 0x6e9, 0x882, 0x709, 0x882, 0x709, -0x882, 0x709, 0x799, 0x60d, 0x799, 0x60d, 0x6ab, 0x50d, 0x6ab, 0x50d, 0x774, -0x5c6, 0x774, 0x5c6, 0x8e5, 0x72a, 0x8e5, 0x72a, 0x9a3, 0x7dc, 0x9a3, 0x7dc, -0x922, 0x752, 0x922, 0x752, 0x922, 0x752, 0x93e, 0x766, 0x93e, 0x766, 0x97b, -0x79d, 0x97b, 0x79d, 0x90b, 0x728, 0x90b, 0x728, 0x863, 0x67c, 0x863, 0x67c, -0x75c, 0x571, 0x75c, 0x571, 0x60b, 0x41e, 0x60b, 0x41e, 0x60b, 0x41e, 0x749, -0x55a, 0x749, 0x55a, 0x815, 0x625, 0x815, 0x625, 0x847, 0x656, 0x847, 0x656, -0x7dd, 0x5ed, 0x7dd, 0x5ed, 0x6f2, 0x503, 0x6f2, 0x503, 0x6f2, 0x503, 0x731, -0x546, 0x731, 0x546, 0x75e, 0x579, 0x75e, 0x579, 0x737, 0x559, 0x737, 0x559, -0x6b7, 0x4e3, 0x6b7, 0x4e3, 0x7a7, 0x5e0, 0x7a7, 0x5e0, 0x86b, 0x6b5, 0x86b, -0x6b5, 0x86b, 0x6b5, 0x924, 0x782, 0x924, 0x782, 0x8df, 0x756, 0x8df, 0x756, -0x90d, 0x7a0, 0x90d, 0x7a0, 0x9f1, 0x8a4, 0x9f1, 0x8a4, 0xa9f, 0x976, 0xa9f, -0x976, 0xa9f, 0x976, 0xadb, 0x9da, 0xadb, 0x9da, 0xa66, 0x991, 0xa66, 0x991, -0x97e, 0x8d6, 0x97e, 0x8d6, 0x93b, 0x8c3, 0x93b, 0x8c3, 0xa1e, 0x9d8, 0xa1e, -0x9d8, 0x957, 0x944, 0x957, 0x944, 0x957, 0x944, 0x89a, 0x8bb, 0x89a, 0x8bb, -0x77a, 0x7ce, 0x77a, 0x7ce, 0x5f8, 0x67d, 0x5f8, 0x67d, 0x420, 0x4d5, 0x420, -0x4d5, 0x26c, 0x350, 0x26c, 0x350, 0x61, 0x170, 0x61, 0x170, 0x61, 0x170, -0xff20, 0x57, 0xff20, 0x57, 0xfe1c, 0xff78, 0xfe1c, 0xff78, 0xfcfe, 0xfe7d, 0xfcfe, -0xfe7d, 0xfd66, 0xff03, 0xfd66, 0xff03, 0xfd0f, 0xfec9, 0xfd0f, 0xfec9, 0xfd0f, 0xfec9, -0xfcf2, 0xfec6, 0xfcf2, 0xfec6, 0xfcec, 0xfed8, 0xfcec, 0xfed8, 0xfc5f, 0xfe63, 0xfc5f, -0xfe63, 0xfb63, 0xfd7d, 0xfb63, 0xfd7d, 0xfa37, 0xfc68, 0xfa37, 0xfc68, 0xf847, 0xfa91, -0xf847, 0xfa91, 0xf847, 0xfa91, 0xf60c, 0xf870, 0xf60c, 0xf870, 0xf498, 0xf718, 0xf498, -0xf718, 0xf335, 0xf5d3, 0xf335, 0xf5d3, 0xf116, 0xf3d6, 0xf116, 0xf3d6, 0xef5a, 0xf240, -0xef5a, 0xf240, 0xee7b, 0xf189, 0xee7b, 0xf189, 0xee7b, 0xf189, 0xeda5, 0xf0de, 0xeda5, -0xf0de, 0xed01, 0xf069, 0xed01, 0xf069, 0xecab, 0xf043, 0xecab, 0xf043, 0xeb21, 0xeeeb, -0xeb21, 0xeeeb, 0xe95e, 0xed5a, 0xe95e, 0xed5a, 0xe95e, 0xed5a, 0xe90b, 0xed3a, 0xe90b, -0xed3a, 0xe7f2, 0xec50, 0xe7f2, 0xec50, 0xe630, 0xeabc, 0xe630, 0xeabc, 0xe484, 0xe93a, -0xe484, 0xe93a, 0xe225, 0xe6ff, 0xe225, 0xe6ff, 0xe051, 0xe54a, 0xe051, 0xe54a, 0xe051, -0xe54a, 0xdefd, 0xe40e, 0xdefd, 0xe40e, 0xdd57, 0xe278, 0xdd57, 0xe278, 0xdc6b, 0xe194, -0xdc6b, 0xe194, 0xdc0e, 0xe136, 0xdc0e, 0xe136, 0xdbae, 0xe0cd, 0xdbae, 0xe0cd, 0xdb2c, -0xe038, 0xdb2c, 0xe038, 0xdb2c, 0xe038, 0xdb5d, 0xe04f, 0xdb5d, 0xe04f, 0xdaea, 0xdfbc, -0xdaea, 0xdfbc, 0xdb4a, 0xdff4, 0xdb4a, 0xdff4, 0xdb8f, 0xe00c, 0xdb8f, 0xe00c, 0xdb92, -0xdfdd, 0xdb92, 0xdfdd, 0xdb92, 0xdfdd, 0xdc24, 0xe03d, 0xdc24, 0xe03d, 0xdb8d, 0xdf71, -0xdb8d, 0xdf71, 0xdbf1, 0xdfa0, 0xdbf1, 0xdfa0, 0xde4c, 0xe1c9, 0xde4c, 0xe1c9, 0xe05c, -0xe3a9, 0xe05c, 0xe3a9, 0xe0f8, 0xe419, 0xe0f8, 0xe419, 0xe0f8, 0xe419, 0xe24b, 0xe546, -0xe24b, 0xe546, 0xe253, 0xe52d, 0xe253, 0xe52d, 0xe339, 0xe5fa, 0xe339, 0xe5fa, 0xe446, -0xe6f3, 0xe446, 0xe6f3, 0xe4cb, 0xe76c, 0xe4cb, 0xe76c, 0xe542, 0xe7dc, 0xe542, 0xe7dc, -0xe542, 0xe7dc, 0xe5d5, 0xe86e, 0xe5d5, 0xe86e, 0xe757, 0xe9f4, 0xe757, 0xe9f4, 0xe7b1, -0xea56, 0xe7b1, 0xea56, 0xe813, 0xeac2, 0xe813, 0xeac2, 0xe813, 0xeace, 0xe813, 0xeace, -0xe813, 0xeace, 0xe83d, 0xeb03, 0xe83d, 0xeb03, 0xe879, 0xeb49, 0xe879, 0xeb49, 0xe85b, -0xeb32, 0xe85b, 0xeb32, 0xe74a, 0xea23, 0xe74a, 0xea23, 0xe743, 0xea1a, 0xe743, 0xea1a, -0xe82f, 0xeafc, 0xe82f, 0xeafc, 0xe82f, 0xeafc, 0xe986, 0xec42, 0xe986, 0xec42, 0xea6f, -0xed14, 0xea6f, 0xed14, 0xea42, 0xecc6, 0xea42, 0xecc6, 0xea5d, 0xecba, 0xea5d, 0xecba, -0xebdf, 0xee0e, 0xebdf, 0xee0e, 0xec59, 0xee52, 0xec59, 0xee52, 0xec59, 0xee52, 0xec02, -0xedc0, 0xec02, 0xedc0, 0xec6f, 0xedef, 0xec6f, 0xedef, 0xebeb, 0xed28, 0xebeb, 0xed28, -0xed73, 0xee6c, 0xed73, 0xee6c, 0xeeab, 0xef60, 0xeeab, 0xef60, 0xeeab, 0xef60, 0xf0c5, -0xf138, 0xf0c5, 0xf138, 0xf28d, 0xf2c0, 0xf28d, 0xf2c0, 0xf4a2, 0xf499, 0xf4a2, 0xf499, -0xf6df, 0xf6a0, 0xf6df, 0xf6a0, 0xf846, 0xf7d8, 0xf846, 0xf7d8, 0xfa3b, 0xf9a7, 0xfa3b, -0xf9a7, 0xfa3b, 0xf9a7, 0xfacd, 0xfa18, 0xfacd, 0xfa18, 0xfcd2, 0xfc06, 0xfcd2, 0xfc06, -0xff3d, 0xfe62, 0xff3d, 0xfe62, 0x156, 0x74, 0x156, 0x74, 0x266, 0x183, 0x266, -0x183, 0x4ac, 0x3cf, 0x4ac, 0x3cf, 0x4ac, 0x3cf, 0x591, 0x4bf, 0x591, 0x4bf, -0x6d7, 0x616, 0x6d7, 0x616, 0x7ca, 0x71a, 0x7ca, 0x71a, 0x656, 0x5ba, 0x656, -0x5ba, 0x713, 0x68a, 0x713, 0x68a, 0x713, 0x68a, 0x7c4, 0x74c, 0x7c4, 0x74c, -0x926, 0x8bd, 0x926, 0x8bd, 0xa37, 0x9d7, 0xa37, 0x9d7, 0xb9f, 0xb44, 0xb9f, -0xb44, 0xc48, 0xbeb, 0xc48, 0xbeb, 0xd72, 0xd0b, 0xd72, 0xd0b, 0xd72, 0xd0b, -0xe34, 0xdbd, 0xe34, 0xdbd, 0xe4b, 0xdbc, 0xe4b, 0xdbc, 0xd20, 0xc73, 0xd20, -0xc73, 0xbc9, 0xaf7, 0xbc9, 0xaf7, 0xcb9, 0xbbc, 0xcb9, 0xbbc, 0xcc4, 0xb97, -0xcc4, 0xb97, 0xcc4, 0xb97, 0xdd5, 0xc75, 0xdd5, 0xc75, 0xe96, 0xcff, 0xe96, -0xcff, 0xfd8, 0xe0a, 0xfd8, 0xe0a, 0x1083, 0xe7f, 0x1083, 0xe7f, 0x11d0, 0xf97, -0x11d0, 0xf97, 0x11d0, 0xf97, 0x11a4, 0xf39, 0x11a4, 0xf39, 0x11cf, 0xf37, 0x11cf, -0xf37, 0x132f, 0x106f, 0x132f, 0x106f, 0x1312, 0x1031, 0x1312, 0x1031, 0x13c9, 0x10cd, -0x13c9, 0x10cd, 0x13cf, 0x10c2, 0x13cf, 0x10c2, 0x13cf, 0x10c2, 0x13ea, 0x10d3, 0x13ea, -0x10d3, 0x1361, 0x1048, 0x1361, 0x1048, 0x1367, 0x1054, 0x1367, 0x1054, 0x13b2, 0x10ac, -0x13b2, 0x10ac, 0x1445, 0x1155, 0x1445, 0x1155, 0x1251, 0xf7c, 0x1251, 0xf7c, 0x1251, -0xf7c, 0x11b0, 0xefc, 0x11b0, 0xefc, 0x11ea, 0xf5c, 0x11ea, 0xf5c, 0x1035, 0xdcf, -0x1035, 0xdcf, 0x101c, 0xde2, 0x101c, 0xde2, 0xfed, 0xde0, 0xfed, 0xde0, 0xfed, -0xde0, 0xf46, 0xd66, 0xf46, 0xd66, 0xf3d, 0xd8b, 0xf3d, 0xd8b, 0xe60, 0xcd8, -0xe60, 0xcd8, 0xcd7, 0xb79, 0xcd7, 0xb79, 0xd0a, 0xbd2, 0xd0a, 0xbd2, 0xca6, -0xb92, 0xca6, 0xb92, 0xca6, 0xb92, 0xc48, 0xb54, 0xc48, 0xb54, 0xb7a, 0xaa3, -0xb7a, 0xaa3, 0xa39, 0x97b, 0xa39, 0x97b, 0x96b, 0x8c4, 0x96b, 0x8c4, 0x844, -0x7b1, 0x844, 0x7b1, 0x844, 0x7b1, 0x5cc, 0x548, 0x5cc, 0x548, 0x65b, 0x5e6, -0x65b, 0x5e6, 0x59c, 0x534, 0x59c, 0x534, 0x448, 0x3ec, 0x448, 0x3ec, 0x389, -0x338, 0x389, 0x338, 0x296, 0x250, 0x296, 0x250, 0x296, 0x250, 0x291, 0x257, -0x291, 0x257, 0x265, 0x236, 0x265, 0x236, 0x3c6, 0x3a3, 0x3c6, 0x3a3, 0x107, -0xf3, 0x107, 0xf3, 0x132, 0x12d, 0x132, 0x12d, 0x150, 0x15c, 0x150, 0x15c, -0x150, 0x15c, 0xd, 0x2b, 0xd, 0x2b, 0xff68, 0xff9b, 0xff68, 0xff9b, 0xffa6, -0xffed, 0xffa6, 0xffed, 0xfe76, 0xfed3, 0xfe76, 0xfed3, 0xff65, 0xffd8, 0xff65, 0xffd8, -0xff65, 0xffd8, 0xd9, 0x162, 0xd9, 0x162, 0x45, 0xe4, 0x45, 0xe4, 0xe8, -0x19e, 0xe8, 0x19e, 0xfe83, 0xff4d, 0xfe83, 0xff4d, 0xfea1, 0xff7f, 0xfea1, 0xff7f, -0xfb7f, 0xfc6f, 0xfb7f, 0xfc6f, 0xfb7f, 0xfc6f, 0xf9da, 0xfada, 0xf9da, 0xfada, 0xf8f8, -0xfa06, 0xf8f8, 0xfa06, 0xf8aa, 0xf9c3, 0xf8aa, 0xf9c3, 0xf8ad, 0xf9cf, 0xf8ad, 0xf9cf, -0xf833, 0xf95b, 0xf833, 0xf95b, 0xf711, 0xf83c, 0xf711, 0xf83c, 0xf711, 0xf83c, 0xf6d0, -0xf7fa, 0xf6d0, 0xf7fa, 0xf8c0, 0xf9e7, 0xf8c0, 0xf9e7, 0xf846, 0xf966, 0xf846, 0xf966, -0xf852, 0xf968, 0xf852, 0xf968, 0xf6c8, 0xf7d1, 0xf6c8, 0xf7d1, 0xf6c8, 0xf7d1, 0xf893, -0xf98b, 0xf893, 0xf98b, 0xf95d, 0xfa41, 0xf95d, 0xfa41, 0xfa07, 0xfad4, 0xfa07, 0xfad4, -0xfa29, 0xfadd, 0xfa29, 0xfadd, 0xfa45, 0xfade, 0xfa45, 0xfade, 0xfbda, 0xfc53, 0xfbda, -0xfc53, 0xfbda, 0xfc53, 0xfbfb, 0xfc53, 0xfbfb, 0xfc53, 0xfc20, 0xfc55, 0xfc20, 0xfc55, -0xfb21, 0xfb31, 0xfb21, 0xfb31, 0xfa31, 0xfa1a, 0xfa31, 0xfa1a, 0xfc0d, 0xfbce, 0xfc0d, -0xfbce, 0xfe03, 0xfd9b, 0xfe03, 0xfd9b, 0xfe03, 0xfd9b, 0xfe31, 0xfda1, 0xfe31, 0xfda1, -0x29, 0xff70, 0x29, 0xff70, 0xff8c, 0xfeac, 0xff8c, 0xfeac, 0xff32, 0xfe2a, 0xff32, -0xfe2a, 0x2a7, 0x17b, 0x2a7, 0x17b, 0x2a7, 0x17b, 0x2ab, 0x15c, 0x2ab, 0x15c, -0x2c6, 0x157, 0x2c6, 0x157, 0x44a, 0x2bd, 0x44a, 0x2bd, 0x2eb, 0x145, 0x2eb, -0x145, 0x612, 0x457, 0x612, 0x457, 0x7bf, 0x5f3, 0x7bf, 0x5f3, 0x7bf, 0x5f3, -0x7f8, 0x61f, 0x7f8, 0x61f, 0x8a1, 0x6bf, 0x8a1, 0x6bf, 0xa43, 0x85d, 0xa43, -0x85d, 0xb6a, 0x986, 0xb6a, 0x986, 0xbea, 0xa0b, 0xbea, 0xa0b, 0xd02, 0xb2c, -0xd02, 0xb2c, 0xd02, 0xb2c, 0xc94, 0xaca, 0xc94, 0xaca, 0xeb8, 0xcff, 0xeb8, -0xcff, 0xe2f, 0xc88, 0xe2f, 0xc88, 0xe43, 0xcb0, 0xe43, 0xcb0, 0xecc, 0xd4e, -0xecc, 0xd4e, 0xecc, 0xd4e, 0xf90, 0xe28, 0xf90, 0xe28, 0xf6b, 0xe18, 0xf6b, -0xe18, 0x1140, 0x1001, 0x1140, 0x1001, 0x11aa, 0x107e, 0x11aa, 0x107e, 0xf65, 0xe49, -0xf65, 0xe49, 0xe74, 0xd66, 0xe74, 0xd66, 0xe74, 0xd66, 0xeca, 0xdc6, 0xeca, -0xdc6, 0xf94, 0xe97, 0xf94, 0xe97, 0xf3f, 0xe45, 0xf3f, 0xe45, 0xfe5, 0xeea, -0xfe5, 0xeea, 0xe50, 0xd50, 0xe50, 0xd50, 0xf62, 0xe5a, 0xf62, 0xe5a, 0xf62, -0xe5a, 0xf27, 0xe13, 0xf27, 0xe13, 0xd13, 0xbf1, 0xd13, 0xbf1, 0xb40, 0xa0d, -0xb40, 0xa0d, 0x94d, 0x808, 0x94d, 0x808, 0x941, 0x7e8, 0x941, 0x7e8, 0x941, -0x7e8, 0xb4f, 0x9e2, 0xb4f, 0x9e2, 0xa71, 0x8f0, 0xa71, 0x8f0, 0x9b4, 0x81f, -0x9b4, 0x81f, 0xa61, 0x8ba, 0xa61, 0x8ba, 0xab2, 0x8fc, 0xab2, 0x8fc, 0xb94, -0x9cf, 0xb94, 0x9cf, 0xb94, 0x9cf, 0xb1a, 0x94a, 0xb1a, 0x94a, 0xaf5, 0x91c, -0xaf5, 0x91c, 0xb4c, 0x96d, 0xb4c, 0x96d, 0xbc1, 0x9df, 0xbc1, 0x9df, 0xb2f, -0x94c, 0xb2f, 0x94c, 0xc0c, 0xa2b, 0xc0c, 0xa2b, 0xc0c, 0xa2b, 0x8cc, 0x6ef, -0x8cc, 0x6ef, 0x844, 0x66b, 0x844, 0x66b, 0x706, 0x533, 0x706, 0x533, 0x70c, -0x53e, 0x70c, 0x53e, 0x808, 0x640, 0x808, 0x640, 0x808, 0x640, 0x50a, 0x345, -0x50a, 0x345, 0x594, 0x3d0, 0x594, 0x3d0, 0x6ea, 0x526, 0x6ea, 0x526, 0x83e, -0x676, 0x83e, 0x676, 0x8cc, 0x6fd, 0x8cc, 0x6fd, 0xaf1, 0x918, 0xaf1, 0x918, -0xaf1, 0x918, 0xa93, 0x8ab, 0xa93, 0x8ab, 0xa65, 0x86b, 0xa65, 0x86b, 0xa48, -0x837, 0xa48, 0x837, 0xb39, 0x90e, 0xb39, 0x90e, 0xba5, 0x95d, 0xba5, 0x95d, -0xd4d, 0xae4, 0xd4d, 0xae4, 0xd4d, 0xae4, 0xed6, 0xc4a, 0xed6, 0xc4a, 0x105a, -0xda9, 0x105a, 0xda9, 0x1261, 0xf8b, 0x1261, 0xf8b, 0x11be, 0xec2, 0x11be, 0xec2, -0x1176, 0xe55, 0x1176, 0xe55, 0x1176, 0xe55, 0xea8, 0xb64, 0xea8, 0xb64, 0xf6f, -0xc0a, 0xf6f, 0xc0a, 0x114b, 0xdc7, 0x114b, 0xdc7, 0x11b1, 0xe13, 0x11b1, 0xe13, -0x10d5, 0xd21, 0x10d5, 0xd21, 0x11a7, 0xde1, 0x11a7, 0xde1, 0x11a7, 0xde1, 0x1103, -0xd30, 0x1103, 0xd30, 0x109b, 0xcc2, 0x109b, 0xcc2, 0x117e, 0xda4, 0x117e, 0xda4, -0x1060, 0xc8c, 0x1060, 0xc8c, 0x1077, 0xcae, 0x1077, 0xcae, 0xfe7, 0xc2e, 0xfe7, -0xc2e, 0xfe7, 0xc2e, 0xf8c, 0xbea, 0xf8c, 0xbea, 0xfb5, 0xc2f, 0xfb5, 0xc2f, -0xda0, 0xa3a, 0xda0, 0xa3a, 0xb97, 0x856, 0xb97, 0x856, 0xad1, 0x7b8, 0xad1, -0x7b8, 0xad1, 0x7b8, 0x878, 0x58c, 0x878, 0x58c, 0x7a2, 0x4e5, 0x7a2, 0x4e5, -0x555, 0x2ca, 0x555, 0x2ca, 0x43b, 0x1e4, 0x43b, 0x1e4, 0x441, 0x21f, 0x441, -0x21f, 0x30a, 0x11e, 0x30a, 0x11e, 0x30a, 0x11e, 0x2aa, 0xf6, 0x2aa, 0xf6, -0x35d, 0x1e1, 0x35d, 0x1e1, 0x2f4, 0x1b0, 0x2f4, 0x1b0, 0x249, 0x13d, 0x249, -0x13d, 0xff93, 0xfebf, 0xff93, 0xfebf, 0xff93, 0xfebf, 0xff86, 0xfee8, 0xff86, 0xfee8, -0xff26, 0xfec0, 0xff26, 0xfec0, 0xfd2c, 0xfcfb, 0xfd2c, 0xfcfb, 0xfd82, 0xfd86, 0xfd82, -0xfd86, 0xfbea, 0xfc22, 0xfbea, 0xfc22, 0xfb8f, 0xfbfa, 0xfb8f, 0xfbfa, 0xfb8f, 0xfbfa, -0xf924, 0xf9c1, 0xf924, 0xf9c1, 0xfd04, 0xfdd2, 0xfd04, 0xfdd2, 0xf9fc, 0xfafa, 0xf9fc, -0xfafa, 0xf858, 0xf984, 0xf858, 0xf984, 0xf9aa, 0xfb04, 0xf9aa, 0xfb04, 0xf85e, 0xf9e4, -0xf85e, 0xf9e4, 0xf85e, 0xf9e4, 0xf9e5, 0xfb96, 0xf9e5, 0xfb96, 0xf812, 0xf9ed, 0xf812, -0xf9ed, 0xf986, 0xfb89, 0xf986, 0xfb89, 0xf6e3, 0xf90e, 0xf6e3, 0xf90e, 0xf78e, 0xf9de, -0xf78e, 0xf9de, 0xf78e, 0xf9de, 0xf540, 0xf7b5, 0xf540, 0xf7b5, 0xf3b5, 0xf64d, 0xf3b5, -0xf64d, 0xf24e, 0xf508, 0xf24e, 0xf508, 0xf196, 0xf471, 0xf196, 0xf471, 0xf23a, 0xf534, -0xf23a, 0xf534, 0xf195, 0xf4ae, 0xf195, 0xf4ae, 0xf195, 0xf4ae, 0xf27c, 0xf5b2, 0xf27c, -0xf5b2, 0xeffb, 0xf34d, 0xeffb, 0xf34d, 0xf114, 0xf482, 0xf114, 0xf482, 0xeff8, 0xf381, -0xeff8, 0xf381, 0xeffd, 0xf39f, 0xeffd, 0xf39f, 0xee2d, 0xf1e7, 0xee2d, 0xf1e7, 0xee2d, -0xf1e7, 0xee15, 0xf1e6, 0xee15, 0xf1e6, 0xecca, 0xf0b0, 0xecca, 0xf0b0, 0xebe5, 0xefdf, -0xebe5, 0xefdf, 0xed6f, 0xf17c, 0xed6f, 0xf17c, 0xec35, 0xf052, 0xec35, 0xf052, 0xec35, -0xf052, 0xebbf, 0xefe9, 0xebbf, 0xefe9, 0xea95, 0xeecb, 0xea95, 0xeecb, 0xec41, 0xf07f, -0xec41, 0xf07f, 0xeda0, 0xf1e2, 0xeda0, 0xf1e2, 0xedee, 0xf231, 0xedee, 0xf231, 0xec0e, -0xf04f, 0xec0e, 0xf04f, 0xec0e, 0xf04f, 0xed61, 0xf19c, 0xed61, 0xf19c, 0xed35, 0xf165, -0xed35, 0xf165, 0xed62, 0xf182, 0xed62, 0xf182, 0xec59, 0xf066, 0xec59, 0xf066, 0xeb33, -0xef28, 0xeb33, 0xef28, 0xeba9, 0xef81, 0xeba9, 0xef81, 0xeba9, 0xef81, 0xeaa0, 0xee57, -0xeaa0, 0xee57, 0xed20, 0xf0b3, 0xed20, 0xf0b3, 0xec71, 0xefde, 0xec71, 0xefde, 0xed30, -0xf073, 0xed30, 0xf073, 0xebe9, 0xef00, 0xebe9, 0xef00, 0xebe9, 0xef00, 0xecb4, 0xef9e, -0xecb4, 0xef9e, 0xed68, 0xf025, 0xed68, 0xf025, 0xec5f, 0xeeef, 0xec5f, 0xeeef, 0xeb6c, -0xedd1, 0xeb6c, 0xedd1, 0xeb62, 0xed9e, 0xeb62, 0xed9e, 0xed3d, 0xef52, 0xed3d, 0xef52, -0xed3d, 0xef52, 0xedca, 0xefbd, 0xedca, 0xefbd, 0xef7e, 0xf153, 0xef7e, 0xf153, 0xedc0, -0xef7c, 0xedc0, 0xef7c, 0xf007, 0xf1af, 0xf007, 0xf1af, 0xeff8, 0xf192, 0xeff8, 0xf192, -0xefce, 0xf160, 0xefce, 0xf160, 0xefce, 0xf160, 0xf009, 0xf199, 0xf009, 0xf199, 0xeebb, -0xf04e, 0xeebb, 0xf04e, 0xeedf, 0xf07b, 0xeedf, 0xf07b, 0xee15, 0xefbf, 0xee15, 0xefbf, -0xef78, 0xf134, 0xef78, 0xf134, 0xef78, 0xf134, 0xf036, 0xf208, 0xf036, 0xf208, 0xf00e, -0xf1f9, 0xf00e, 0xf1f9, 0xecf9, 0xeefe, 0xecf9, 0xeefe, 0xec86, 0xeea7, 0xec86, 0xeea7, -0xeae8, 0xed24, 0xeae8, 0xed24, 0xe864, 0xeaba, 0xe864, 0xeaba, 0xe864, 0xeaba, 0xe824, -0xea92, 0xe824, 0xea92, 0xe448, 0xe6cb, 0xe448, 0xe6cb, 0xe197, 0xe42c, 0xe197, 0xe42c, -0xe181, 0xe422, 0xe181, 0xe422, 0xe152, 0xe3fb, 0xe152, 0xe3fb, 0xe0c4, 0xe36e, 0xe0c4, -0xe36e, 0xe0c4, 0xe36e, 0xdf8e, 0xe236, 0xdf8e, 0xe236, 0xe01e, 0xe2bd, 0xe01e, 0xe2bd, -0xe184, 0xe413, 0xe184, 0xe413, 0xe41b, 0xe697, 0xe41b, 0xe697, 0xe50f, 0xe772, 0xe50f, -0xe772, 0xe50f, 0xe772, 0xe37d, 0xe5c2, 0xe37d, 0xe5c2, 0xe429, 0xe64d, 0xe429, 0xe64d, -0xe5ae, 0xe7ae, 0xe5ae, 0xe7ae, 0xe73c, 0xe916, 0xe73c, 0xe916, 0xe942, 0xeaf5, 0xe942, -0xeaf5, 0xec04, 0xed8f, 0xec04, 0xed8f, 0xec04, 0xed8f, 0xec3b, 0xed9e, 0xec3b, 0xed9e, -0xef1d, 0xf05a, 0xef1d, 0xf05a, 0xf1a1, 0xf2ba, 0xf1a1, 0xf2ba, 0xf1f6, 0xf2eb, 0xf1f6, -0xf2eb, 0xf42e, 0xf504, 0xf42e, 0xf504, 0xf3ce, 0xf487, 0xf3ce, 0xf487, 0xf3ce, 0xf487, -0xf601, 0xf6a0, 0xf601, 0xf6a0, 0xfa4f, 0xfad7, 0xfa4f, 0xfad7, 0xf92e, 0xf9a3, 0xf92e, -0xf9a3, 0xfc77, 0xfcdb, 0xfc77, 0xfcdb, 0xfe79, 0xfecf, 0xfe79, 0xfecf, 0xfe79, 0xfecf, -0xfb4a, 0xfb92, 0xfb4a, 0xfb92, 0xfd83, 0xfdbf, 0xfd83, 0xfdbf, 0xfe2a, 0xfe5b, 0xfe2a, -0xfe5b, 0xf0, 0x115, 0xf0, 0x115, 0x1b7, 0x1ce, 0x1b7, 0x1ce, 0x257, 0x260, -0x257, 0x260, 0x257, 0x260, 0x402, 0x3f8, 0x402, 0x3f8, 0x5a2, 0x584, 0x5a2, -0x584, 0x959, 0x921, 0x959, 0x921, 0x8a3, 0x84e, 0x8a3, 0x84e, 0xa5d, 0x9e7, -0xa5d, 0x9e7, 0xc20, 0xb84, 0xc20, 0xb84, 0xc20, 0xb84, 0xb36, 0xa6f, 0xb36, -0xa6f, 0xdff, 0xd09, 0xdff, 0xd09, 0x1019, 0xef0, 0x1019, 0xef0, 0xf3c, 0xddb, -0xf3c, 0xddb, 0x1109, 0xf6f, 0x1109, 0xf6f, 0x1109, 0xf6f, 0x1405, 0x122e, 0x1405, -0x122e, 0x144b, 0x1236, 0x144b, 0x1236, 0x159d, 0x134a, 0x159d, 0x134a, 0x1689, 0x13f9, -0x1689, 0x13f9, 0x178f, 0x14c3, 0x178f, 0x14c3, 0x1b68, 0x1863, 0x1b68, 0x1863, 0x1b68, -0x1863, 0x1ab1, 0x1776, 0x1ab1, 0x1776, 0x1d28, 0x19bd, 0x1d28, 0x19bd, 0x1bbf, 0x1829, -0x1bbf, 0x1829, 0x1b10, 0x1756, 0x1b10, 0x1756, 0x1c77, 0x189f, 0x1c77, 0x189f, 0x1b02, -0x1715, 0x1b02, 0x1715, 0x1b02, 0x1715, 0x1d0e, 0x1913, 0x1d0e, 0x1913, 0x1cc6, 0x18c6, -0x1cc6, 0x18c6, 0x1ab4, 0x16b8, 0x1ab4, 0x16b8, 0x18d0, 0x14e1, 0x18d0, 0x14e1, 0x1bb0, -0x17d5, 0x1bb0, 0x17d5, 0x1bb0, 0x17d5, 0x18c9, 0x150b, 0x18c9, 0x150b, 0x16c4, 0x132a, -0x16c4, 0x132a, 0x156a, 0x11fc, 0x156a, 0x11fc, 0x14b3, 0x1176, 0x14b3, 0x1176, 0x14a4, -0x119f, 0x14a4, 0x119f, 0x1375, 0x10ab, 0x1375, 0x10ab, 0x1375, 0x10ab, 0x1316, 0x108b, -0x1316, 0x108b, 0xeaf, 0xc67, 0xeaf, 0xc67, 0xe9f, 0xc9b, 0xe9f, 0xc9b, 0x1106, -0xf47, 0x1106, 0xf47, 0xe2a, 0xcb0, 0xe2a, 0xcb0, 0xe2a, 0xcb0, 0xc69, 0xb33, -0xc69, 0xb33, 0x8da, 0x7e5, 0x8da, 0x7e5, 0x752, 0x69c, 0x752, 0x69c, 0x8e1, -0x868, 0x8e1, 0x868, 0x660, 0x620, 0x660, 0x620, 0x723, 0x719, 0x723, 0x719, -0x723, 0x719, 0xfefb, 0xff21, 0xfefb, 0xff21, 0x267, 0x2ba, 0x267, 0x2ba, 0xfebb, -0xff35, 0xfebb, 0xff35, 0xfcf7, 0xfd94, 0xfcf7, 0xfd94, 0xfd9b, 0xfe58, 0xfd9b, 0xfe58, -0xf8d8, 0xf9b0, 0xf8d8, 0xf9b0, 0xf8d8, 0xf9b0, 0xfd0f, 0xfdfe, 0xfd0f, 0xfdfe, 0xf94b, -0xfa4f, 0xf94b, 0xfa4f, 0xfd40, 0xfe55, 0xfd40, 0xfe55, 0xf946, 0xfa6a, 0xf946, 0xfa6a, -0xfae7, 0xfc18, 0xfae7, 0xfc18, 0xfae7, 0xfc18, 0xf93c, 0xfa78, 0xf93c, 0xfa78, 0xf9d1, -0xfb17, 0xf9d1, 0xfb17, 0xf962, 0xfab1, 0xf962, 0xfab1, 0xf9f6, 0xfb4e, 0xf9f6, 0xfb4e, -0xfcdd, 0xfe40, 0xfcdd, 0xfe40, 0xf9ef, 0xfb5a, 0xf9ef, 0xfb5a, 0xf9ef, 0xfb5a, 0xfc78, -0xfded, 0xfc78, 0xfded, 0xfa60, 0xfbe0, 0xfa60, 0xfbe0, 0xfdc3, 0xff4e, 0xfdc3, 0xff4e, -0xf9e7, 0xfb7d, 0xf9e7, 0xfb7d, 0xfa2a, 0xfbcc, 0xfa2a, 0xfbcc, 0xf911, 0xfabe, 0xf911, -0xfabe, 0xf911, 0xfabe, 0xf713, 0xf8cc, 0xf713, 0xf8cc, 0xf81b, 0xf9de, 0xf81b, 0xf9de, -0xf81c, 0xf9e7, 0xf81c, 0xf9e7, 0xf577, 0xf74a, 0xf577, 0xf74a, 0xf6c1, 0xf899, 0xf6c1, -0xf899, 0xf6c1, 0xf899, 0xf7a7, 0xf981, 0xf7a7, 0xf981, 0xf639, 0xf812, 0xf639, 0xf812, -0xf89d, 0xfa71, 0xf89d, 0xfa71, 0xf785, 0xf951, 0xf785, 0xf951, 0xf894, 0xfa53, 0xf894, -0xfa53, 0xf8a0, 0xfa4c, 0xf8a0, 0xfa4c, 0xf8a0, 0xfa4c, 0xfa4c, 0xfbe2, 0xfa4c, 0xfbe2, -0xf821, 0xf99a, 0xf821, 0xf99a, 0xf7f7, 0xf94f, 0xf7f7, 0xf94f, 0xf906, 0xfa38, 0xf906, -0xfa38, 0xfb2e, 0xfc36, 0xfb2e, 0xfc36, 0xfae6, 0xfbbf, 0xfae6, 0xfbbf, 0xfae6, 0xfbbf, -0xfd08, 0xfdaf, 0xfd08, 0xfdaf, 0xfb24, 0xfb96, 0xfb24, 0xfb96, 0xfbe6, 0xfc20, 0xfbe6, -0xfc20, 0x4f, 0x50, 0x4f, 0x50, 0x25, 0xffed, 0x25, 0xffed, 0x25, 0xffed, -0x34a, 0x2d8, 0x34a, 0x2d8, 0x364, 0x2ba, 0x364, 0x2ba, 0x71e, 0x63d, 0x71e, -0x63d, 0x800, 0x6ec, 0x800, 0x6ec, 0x8c5, 0x781, 0x8c5, 0x781, 0x87f, 0x711, -0x87f, 0x711, 0x87f, 0x711, 0x94f, 0x7bb, 0x94f, 0x7bb, 0x7dc, 0x629, 0x7dc, -0x629, 0x90b, 0x73e, 0x90b, 0x73e, 0xe2a, 0xc4a, 0xe2a, 0xc4a, 0xfc4, 0xdd9, -0xfc4, 0xdd9, 0x10da, 0xeea, 0x10da, 0xeea, 0x10da, 0xeea, 0x1215, 0x1027, 0x1215, -0x1027, 0x1095, 0xeb0, 0x1095, 0xeb0, 0x110d, 0xf37, 0x110d, 0xf37, 0x1368, 0x11a9, -0x1368, 0x11a9, 0xec5, 0xd21, 0xec5, 0xd21, 0xec5, 0xd21, 0xe76, 0xcf1, 0xe76, -0xcf1, 0x10ed, 0xf8d, 0x10ed, 0xf8d, 0xf6c, 0xe32, 0xf6c, 0xe32, 0x104c, 0xf3c, -0x104c, 0xf3c, 0xfe3, 0xefd, 0xfe3, 0xefd, 0xb06, 0xa4c, 0xb06, 0xa4c, 0xb06, -0xa4c, 0xbc0, 0xb31, 0xbc0, 0xb31, 0xc59, 0xbf4, 0xc59, 0xbf4, 0xca1, 0xc64, -0xca1, 0xc64, 0x6d9, 0x6c2, 0x6d9, 0x6c2, 0x5e8, 0x5f4, 0x5e8, 0x5f4, 0x494, -0x4be, 0x494, 0x4be, 0x494, 0x4be, 0x3fb, 0x43e, 0x3fb, 0x43e, 0x62e, 0x688, -0x62e, 0x688, 0x203, 0x26d, 0x203, 0x26d, 0x249, 0x2bf, 0x249, 0x2bf, 0xf8, -0x175, 0xf8, 0x175, 0xf8, 0x175, 0x2b0, 0x330, 0x2b0, 0x330, 0x1fc, 0x27a, -0x1fc, 0x27a, 0x4e, 0xc6, 0x4e, 0xc6, 0xfe15, 0xfe84, 0xfe15, 0xfe84, 0xfffd, -0x5f, 0xfffd, 0x5f, 0x137, 0x18a, 0x137, 0x18a, 0x137, 0x18a, 0x26a, 0x2ab, -0x26a, 0x2ab, 0xff33, 0xff61, 0xff33, 0xff61, 0xfda1, 0xfdbb, 0xfda1, 0xfdbb, 0x9, -0xe, 0x9, 0xe, 0xffed, 0xffdd, 0xffed, 0xffdd, 0xffa2, 0xff7e, 0xffa2, 0xff7e, -0xffa2, 0xff7e, 0xfeba, 0xfe82, 0xfeba, 0xfe82, 0x9a, 0x4e, 0x9a, 0x4e, 0xff96, -0xff37, 0xff96, 0xff37, 0x44f, 0x3de, 0x44f, 0x3de, 0x266, 0x1e4, 0x266, 0x1e4, -0x266, 0x1e4, 0x428, 0x396, 0x428, 0x396, 0x381, 0x2df, 0x381, 0x2df, 0x15b, -0xa9, 0x15b, 0xa9, 0x560, 0x49f, 0x560, 0x49f, 0x302, 0x231, 0x302, 0x231, -0x170, 0x8d, 0x170, 0x8d, 0x170, 0x8d, 0x2ed, 0x1f7, 0x2ed, 0x1f7, 0x29, -0xff1f, 0x29, 0xff1f, 0x4d3, 0x3b2, 0x4d3, 0x3b2, 0x9bc, 0x881, 0x9bc, 0x881, -0x687, 0x530, 0x687, 0x530, 0x78a, 0x614, 0x78a, 0x614, 0x78a, 0x614, 0x71f, -0x586, 0x71f, 0x586, 0x861, 0x6a2, 0x861, 0x6a2, 0x8e5, 0x6fd, 0x8e5, 0x6fd, -0xe35, 0xc21, 0xe35, 0xc21, 0xa25, 0x7e2, 0xa25, 0x7e2, 0xa25, 0x7e2, 0xd91, -0xb1d, 0xd91, 0xb1d, 0x111e, 0xe77, 0x111e, 0xe77, 0x11e8, 0xf0d, 0x11e8, 0xf0d, -0x153d, 0x122e, 0x153d, 0x122e, 0x14fa, 0x11b8, 0x14fa, 0x11b8, 0x169d, 0x1327, 0x169d, -0x1327, 0x169d, 0x1327, 0x14bf, 0x1118, 0x14bf, 0x1118, 0x18b5, 0x14e0, 0x18b5, 0x14e0, -0x1690, 0x1290, 0x1690, 0x1290, 0x1908, 0x14e2, 0x1908, 0x14e2, 0x15c5, 0x117e, 0x15c5, -0x117e, 0x16c2, 0x1260, 0x16c2, 0x1260, 0x16c2, 0x1260, 0x1941, 0x14ca, 0x1941, 0x14ca, -0x1804, 0x1380, 0x1804, 0x1380, 0x18e4, 0x1459, 0x18e4, 0x1459, 0x173d, 0x12b4, 0x173d, -0x12b4, 0x180e, 0x138e, 0x180e, 0x138e, 0x180e, 0x138e, 0x192f, 0x14c0, 0x192f, 0x14c0, -0x1b50, 0x16f9, 0x1b50, 0x16f9, 0x175e, 0x1327, 0x175e, 0x1327, 0x17ae, 0x139e, 0x17ae, -0x139e, 0x1916, 0x1535, 0x1916, 0x1535, 0x1780, 0x13d3, 0x1780, 0x13d3, 0x1780, 0x13d3, -0x16c9, 0x1355, 0x16c9, 0x1355, 0x170d, 0x13d8, 0x170d, 0x13d8, 0x1597, 0x12a4, 0x1597, -0x12a4, 0x1619, 0x136c, 0x1619, 0x136c, 0x1509, 0x12a4, 0x1509, 0x12a4, 0x1509, 0x12a4, -0x1438, 0x121d, 0x1438, 0x121d, 0x12e9, 0x1119, 0x12e9, 0x1119, 0x129a, 0x1114, 0x129a, -0x1114, 0x1195, 0x1059, 0x1195, 0x1059, 0xf9e, 0xeab, 0xf9e, 0xeab, 0xe11, 0xd64, -0xe11, 0xd64, 0xe11, 0xd64, 0xbcf, 0xb66, 0xbcf, 0xb66, 0xc2b, 0xc04, 0xc2b, -0xc04, 0xa10, 0xa28, 0xa10, 0xa28, 0xa97, 0xae9, 0xa97, 0xae9, 0x8c3, 0x94d, -0x8c3, 0x94d, 0x67b, 0x739, 0x67b, 0x739, 0x67b, 0x739, 0x70d, 0x7fb, 0x70d, -0x7fb, 0x539, 0x653, 0x539, 0x653, 0x217, 0x35b, 0x217, 0x35b, 0x336, 0x4a1, -0x336, 0x4a1, 0xfd8e, 0xff1c, 0xfd8e, 0xff1c, 0xfd8e, 0xff1c, 0xfe9e, 0x4c, 0xfe9e, -0x4c, 0xfbaa, 0xfd77, 0xfbaa, 0xfd77, 0xf5b6, 0xf7a0, 0xf5b6, 0xf7a0, 0xf8ae, 0xfab3, -0xf8ae, 0xfab3, 0xf575, 0xf794, 0xf575, 0xf794, 0xf613, 0xf84a, 0xf613, 0xf84a, 0xf613, -0xf84a, 0xf5fa, 0xf849, 0xf5fa, 0xf849, 0xf4ba, 0xf71f, 0xf4ba, 0xf71f, 0xf1cc, 0xf448, -0xf1cc, 0xf448, 0xf317, 0xf5a9, 0xf317, 0xf5a9, 0xf11f, 0xf3c7, 0xf11f, 0xf3c7, 0xef39, -0xf1f6, 0xef39, 0xf1f6, 0xef39, 0xf1f6, 0xedc4, 0xf097, 0xedc4, 0xf097, 0xf043, 0xf32a, -0xf043, 0xf32a, 0xf05e, 0xf35a, 0xf05e, 0xf35a, 0xeece, 0xf1dd, 0xeece, 0xf1dd, 0xf0c2, -0xf3e2, 0xf0c2, 0xf3e2, 0xf0c2, 0xf3e2, 0xee65, 0xf196, 0xee65, 0xf196, 0xeeec, 0xf22d, -0xeeec, 0xf22d, 0xeb11, 0xee5e, 0xeb11, 0xee5e, 0xeb39, 0xee91, 0xeb39, 0xee91, 0xe97f, -0xecdf, 0xe97f, 0xecdf, 0xe920, 0xec85, 0xe920, 0xec85, 0xe920, 0xec85, 0xe92a, 0xec91, -0xe92a, 0xec91, 0xe993, 0xecf9, 0xe993, 0xecf9, 0xe868, 0xebc9, 0xe868, 0xebc9, 0xe91a, -0xec72, 0xe91a, 0xec72, 0xe89b, 0xebe8, 0xe89b, 0xebe8, 0xe3b1, 0xe6ef, 0xe3b1, 0xe6ef, -0xe3b1, 0xe6ef, 0xe732, 0xea5d, 0xe732, 0xea5d, 0xe60c, 0xe921, 0xe60c, 0xe921, 0xe58e, -0xe88a, 0xe58e, 0xe88a, 0xe69b, 0xe97d, 0xe69b, 0xe97d, 0xe617, 0xe8dc, 0xe617, 0xe8dc, -0xe617, 0xe8dc, 0xe86c, 0xeb12, 0xe86c, 0xeb12, 0xe84c, 0xead2, 0xe84c, 0xead2, 0xea69, -0xeccf, 0xea69, 0xeccf, 0xec9b, 0xeee1, 0xec9b, 0xeee1, 0xe93c, 0xeb63, 0xe93c, 0xeb63, -0xeba4, 0xedae, 0xeba4, 0xedae, 0xeba4, 0xedae, 0xeab6, 0xeca4, 0xeab6, 0xeca4, 0xeb4a, -0xed1f, 0xeb4a, 0xed1f, 0xeae1, 0xeca1, 0xeae1, 0xeca1, 0xeb5d, 0xed0c, 0xeb5d, 0xed0c, -0xee27, 0xefc8, 0xee27, 0xefc8, 0xeb89, 0xed21, 0xeb89, 0xed21, 0xeb89, 0xed21, 0xed7e, -0xef12, 0xed7e, 0xef12, 0xed27, 0xeebb, 0xed27, 0xeebb, 0xedb2, 0xef4d, 0xedb2, 0xef4d, -0xed91, 0xef36, 0xed91, 0xef36, 0xee2c, 0xefe1, 0xee2c, 0xefe1, 0xee2c, 0xefe1, 0xeae0, -0xecaa, 0xeae0, 0xecaa, 0xe8e7, 0xeac9, 0xe8e7, 0xeac9, 0xe885, 0xea83, 0xe885, 0xea83, -0xe7d4, 0xe9f2, 0xe7d4, 0xe9f2, 0xe9a3, 0xebe3, 0xe9a3, 0xebe3, 0xe798, 0xe9fc, 0xe798, -0xe9fc, 0xe798, 0xe9fc, 0xe80d, 0xea97, 0xe80d, 0xea97, 0xe79a, 0xea49, 0xe79a, 0xea49, -0xe834, 0xeb09, 0xe834, 0xeb09, 0xe5bc, 0xe8b7, 0xe5bc, 0xe8b7, 0xe02f, 0xe34e, 0xe02f, -0xe34e, 0xe028, 0xe368, 0xe028, 0xe368, 0xe028, 0xe368, 0xe000, 0xe35f, 0xe000, 0xe35f, -0xdfe0, 0xe35b, 0xdfe0, 0xe35b, 0xde28, 0xe1bb, 0xde28, 0xe1bb, 0xdbf7, 0xdf9d, 0xdbf7, -0xdf9d, 0xdcb0, 0xe067, 0xdcb0, 0xe067, 0xdcb0, 0xe067, 0xda0e, 0xddd0, 0xda0e, 0xddd0, -0xda10, 0xddd8, 0xda10, 0xddd8, 0xdb21, 0xdeea, 0xdb21, 0xdeea, 0xda74, 0xde3a, 0xda74, -0xde3a, 0xdaf3, 0xdeb2, 0xdaf3, 0xdeb2, 0xdbc1, 0xdf74, 0xdbc1, 0xdf74, 0xdbc1, 0xdf74, -0xdce3, 0xe086, 0xdce3, 0xe086, 0xde13, 0xe1a2, 0xde13, 0xe1a2, 0xe0da, 0xe452, 0xe0da, -0xe452, 0xe311, 0xe66e, 0xe311, 0xe66e, 0xe392, 0xe6d2, 0xe392, 0xe6d2, 0xe5bb, 0xe8dc, -0xe5bb, 0xe8dc, 0xe5bb, 0xe8dc, 0xe936, 0xec36, 0xe936, 0xec36, 0xec82, 0xef60, 0xec82, -0xef60, 0xede5, 0xf09e, 0xede5, 0xf09e, 0xf043, 0xf2d7, 0xf043, 0xf2d7, 0xf349, 0xf5b6, -0xf349, 0xf5b6, 0xf349, 0xf5b6, 0xf542, 0xf789, 0xf542, 0xf789, 0xf851, 0xfa70, 0xf851, -0xfa70, 0xf769, 0xf960, 0xf769, 0xf960, 0xf9d9, 0xfba8, 0xf9d9, 0xfba8, 0xf8fe, 0xfaa4, -0xf8fe, 0xfaa4, 0xf9e1, 0xfb5d, 0xf9e1, 0xfb5d, 0xf9e1, 0xfb5d, 0xfc0f, 0xfd61, 0xfc0f, -0xfd61, 0xfddb, 0xff01, 0xfddb, 0xff01, 0x283, 0x37d, 0x283, 0x37d, 0x1f4, 0x2c1, -0x1f4, 0x2c1, 0x3c6, 0x465, 0x3c6, 0x465, 0x5cd, 0x63b, 0x5cd, 0x63b, 0x5cd, -0x63b, 0x7f3, 0x830, 0x7f3, 0x830, 0x624, 0x62d, 0x624, 0x62d, 0x7a6, 0x77b, -0x7a6, 0x77b, 0x99e, 0x93c, 0x99e, 0x93c, 0xaab, 0xa11, 0xaab, 0xa11, 0xaab, -0xa11, 0xc19, 0xb46, 0xc19, 0xb46, 0xeae, 0xda0, 0xeae, 0xda0, 0xff8, 0xeaf, -0xff8, 0xeaf, 0x10a0, 0xf1b, 0x10a0, 0xf1b, 0x14a3, 0x12e2, 0x14a3, 0x12e2, 0x14d5, -0x12d7, 0x14d5, 0x12d7, 0x14d5, 0x12d7, 0x166e, 0x1434, 0x166e, 0x1434, 0x1561, 0x12ed, -0x1561, 0x12ed, 0x18e7, 0x163a, 0x18e7, 0x163a, 0x1ac5, 0x17e1, 0x1ac5, 0x17e1, 0x1dbe, -0x1aa6, 0x1dbe, 0x1aa6, 0x2086, 0x1d3d, 0x2086, 0x1d3d, 0x2086, 0x1d3d, 0x20b3, 0x1d3e, -0x20b3, 0x1d3e, 0x237f, 0x1fe2, 0x237f, 0x1fe2, 0x21d0, 0x1e0f, 0x21d0, 0x1e0f, 0x23a5, -0x1fc6, 0x23a5, 0x1fc6, 0x23e8, 0x1ff2, 0x23e8, 0x1ff2, 0x23e8, 0x1ff2, 0x2222, 0x1e1a, -0x2222, 0x1e1a, 0x238f, 0x1f7c, 0x238f, 0x1f7c, 0x2357, 0x1f40, 0x2357, 0x1f40, 0x2150, -0x1d3c, 0x2150, 0x1d3c, 0x1f6d, 0x1b64, 0x1f6d, 0x1b64, 0x1db7, 0x19be, 0x1db7, 0x19be, -0x1db7, 0x19be, 0x1f8a, 0x1ba9, 0x1f8a, 0x1ba9, 0x1cf1, 0x192e, 0x1cf1, 0x192e, 0x1b6b, -0x17cc, 0x1b6b, 0x17cc, 0x1958, 0x15e4, 0x1958, 0x15e4, 0x162b, 0x12e7, 0x162b, 0x12e7, -0x162b, 0x12e7, 0x1778, 0x1468, 0x1778, 0x1468, 0x1559, 0x1282, 0x1559, 0x1282, 0x150a, -0x126f, 0x150a, 0x126f, 0x153d, 0x12e1, 0x153d, 0x12e1, 0x1530, 0x1315, 0x1530, 0x1315, -0x1267, 0x108e, 0x1267, 0x108e, 0x1267, 0x108e, 0x11a5, 0x100e, 0x11a5, 0x100e, 0xf7c, -0xe27, 0xf7c, 0xe27, 0xc45, 0xb31, 0xc45, 0xb31, 0xa86, 0x9b1, 0xa86, 0x9b1, -0x754, 0x6bb, 0x754, 0x6bb, 0x476, 0x417, 0x476, 0x417, 0x476, 0x417, 0x11, -0xffe8, 0x11, 0xffe8, 0x7e, 0x86, 0x7e, 0x86, 0xff2b, 0xff60, 0xff2b, 0xff60, -0xfddd, 0xfe3b, 0xfddd, 0xfe3b, 0xfadb, 0xfb5c, 0xfadb, 0xfb5c, 0xfadb, 0xfb5c, 0xf9b4, -0xfa54, 0xf9b4, 0xfa54, 0xfaac, 0xfb67, 0xfaac, 0xfb67, 0xf719, 0xf7e9, 0xf719, 0xf7e9, -0xf8c7, 0xf9a7, 0xf8c7, 0xf9a7, 0xf79c, 0xf888, 0xf79c, 0xf888, 0xf59a, 0xf68e, 0xf59a, -0xf68e, 0xf59a, 0xf68e, 0xf7fb, 0xf8f3, 0xf7fb, 0xf8f3, 0xf764, 0xf85d, 0xf764, 0xf85d, -0xf7e9, 0xf8e0, 0xf7e9, 0xf8e0, 0xf8e1, 0xf9d5, 0xf8e1, 0xf9d5, 0xf5ea, 0xf6d7, 0xf5ea, -0xf6d7, 0xf6e3, 0xf7c8, 0xf6e3, 0xf7c8, 0xf6e3, 0xf7c8, 0xf723, 0xf7fe, 0xf723, 0xf7fe, -0xf4f8, 0xf5c9, 0xf4f8, 0xf5c9, 0xf730, 0xf7f5, 0xf730, 0xf7f5, 0xf767, 0xf821, 0xf767, -0xf821, 0xf52c, 0xf5db, 0xf52c, 0xf5db, 0xf52c, 0xf5db, 0xf43c, 0xf4de, 0xf43c, 0xf4de, -0xf276, 0xf30c, 0xf276, 0xf30c, 0xf173, 0xf1fd, 0xf173, 0xf1fd, 0xee75, 0xeef3, 0xee75, -0xeef3, 0xeaba, 0xeb2b, 0xeaba, 0xeb2b, 0xee89, 0xeeed, 0xee89, 0xeeed, 0xee89, 0xeeed, -0xed9a, 0xedf0, 0xed9a, 0xedf0, 0xece5, 0xed2c, 0xece5, 0xed2c, 0xedb4, 0xedeb, 0xedb4, -0xedeb, 0xeced, 0xed13, 0xeced, 0xed13, 0xf0a5, 0xf0b7, 0xf0a5, 0xf0b7, 0xf1ff, 0xf1fc, -0xf1ff, 0xf1fc, 0xf1ff, 0xf1fc, 0xf3d4, 0xf3ba, 0xf3d4, 0xf3ba, 0xf3f0, 0xf3bd, 0xf3f0, -0xf3bd, 0xf3c2, 0xf374, 0xf3c2, 0xf374, 0xf39a, 0xf330, 0xf39a, 0xf330, 0xf4e3, 0xf459, -0xf4e3, 0xf459, 0xf4e3, 0xf459, 0xf870, 0xf7c6, 0xf870, 0xf7c6, 0xfb68, 0xfa9c, 0xfb68, -0xfa9c, 0xff51, 0xfe61, 0xff51, 0xfe61, 0x3b3, 0x29f, 0x3b3, 0x29f, 0x3f4, 0x2bb, -0x3f4, 0x2bb, 0x36f, 0x212, 0x36f, 0x212, 0x36f, 0x212, 0x7fc, 0x67b, 0x7fc, -0x67b, 0xb0e, 0x96a, 0xb0e, 0x96a, 0xe21, 0xc5b, 0xe21, 0xc5b, 0xf43, 0xd60, -0xf43, 0xd60, 0xffe, 0xdff, 0xffe, 0xdff, 0x12f6, 0x10de, 0x12f6, 0x10de, 0x12f6, -0x10de, 0x1566, 0x1339, 0x1566, 0x1339, 0x1654, 0x1417, 0x1654, 0x1417, 0x1811, 0x15c8, -0x1811, 0x15c8, 0x1a48, 0x17fa, 0x1a48, 0x17fa, 0x1b92, 0x1943, 0x1b92, 0x1943, 0x1b92, -0x1943, 0x1e27, 0x1bdc, 0x1e27, 0x1bdc, 0x1cea, 0x1aa9, 0x1cea, 0x1aa9, 0x1c09, 0x19d7, -0x1c09, 0x19d7, 0x1c2f, 0x1a11, 0x1c2f, 0x1a11, 0x1b55, 0x1950, 0x1b55, 0x1950, 0x1dd1, -0x1bea, 0x1dd1, 0x1bea, 0x1dd1, 0x1bea, 0x1cfc, 0x1b37, 0x1cfc, 0x1b37, 0x1a97, 0x18f7, -0x1a97, 0x18f7, 0x1cb8, 0x1b41, 0x1cb8, 0x1b41, 0x1b2d, 0x19e1, 0x1b2d, 0x19e1, 0x1871, -0x1752, 0x1871, 0x1752, 0x1890, 0x179f, 0x1890, 0x179f, 0x1890, 0x179f, 0x17ad, 0x16ea, -0x17ad, 0x16ea, 0x150d, 0x1477, 0x150d, 0x1477, 0x1496, 0x142d, 0x1496, 0x142d, 0x16f4, -0x16b6, 0x16f4, 0x16b6, 0x1645, 0x162f, 0x1645, 0x162f, 0x1645, 0x162f, 0x13d0, 0x13e0, -0x13d0, 0x13e0, 0xf66, 0xf99, 0xf66, 0xf99, 0xd04, 0xd56, 0xd04, 0xd56, 0xba8, -0xc14, 0xba8, 0xc14, 0x9d9, 0xa5a, 0x9d9, 0xa5a, 0xa03, 0xa96, 0xa03, 0xa96, -0xa03, 0xa96, 0x8c5, 0x965, 0x8c5, 0x965, 0x8a4, 0x94d, 0x8a4, 0x94d, 0x834, -0x8e1, 0x834, 0x8e1, 0x703, 0x7b0, 0x703, 0x7b0, 0x6c1, 0x769, 0x6c1, 0x769, -0x6ef, 0x790, 0x6ef, 0x790, 0x6ef, 0x790, 0x664, 0x6fa, 0x664, 0x6fa, 0x545, -0x5cd, 0x545, 0x5cd, 0x412, 0x48a, 0x412, 0x48a, 0x30b, 0x371, 0x30b, 0x371, -0x145, 0x198, 0x145, 0x198, 0x145, 0x198, 0x142, 0x181, 0x142, 0x181, 0x162, -0x18c, 0x162, 0x18c, 0xb4, 0xca, 0xb4, 0xca, 0x13f, 0x141, 0x13f, 0x141, -0xfe7f, 0xfe6c, 0xfe7f, 0xfe6c, 0xfd9b, 0xfd75, 0xfd9b, 0xfd75, 0xfd9b, 0xfd75, 0xfaec, -0xfab4, 0xfaec, 0xfab4, 0xfa4d, 0xfa03, 0xfa4d, 0xfa03, 0xf8ee, 0xf893, 0xf8ee, 0xf893, -0xf46c, 0xf401, 0xf46c, 0xf401, 0xf6f5, 0xf67a, 0xf6f5, 0xf67a, 0xf738, 0xf6ad, 0xf738, -0xf6ad, 0xf738, 0xf6ad, 0xf506, 0xf46b, 0xf506, 0xf46b, 0xf393, 0xf2e9, 0xf393, 0xf2e9, -0xf19e, 0xf0e3, 0xf19e, 0xf0e3, 0xf18a, 0xf0be, 0xf18a, 0xf0be, 0xf4da, 0xf3fa, 0xf4da, -0xf3fa, 0xf4da, 0xf3fa, 0xf619, 0xf525, 0xf619, 0xf525, 0xf73f, 0xf634, 0xf73f, 0xf634, -0xf7e3, 0xf6bf, 0xf7e3, 0xf6bf, 0xf6fe, 0xf5be, 0xf6fe, 0xf5be, 0xf7d2, 0xf672, 0xf7d2, -0xf672, 0xf88e, 0xf70c, 0xf88e, 0xf70c, 0xf88e, 0xf70c, 0xf927, 0xf780, 0xf927, 0xf780, -0xfbc0, 0xf9f1, 0xfbc0, 0xf9f1, 0xff3b, 0xfd42, 0xff3b, 0xfd42, 0xff7e, 0xfd57, 0xff7e, -0xfd57, 0x66, 0xfe10, 0x66, 0xfe10, 0x37, 0xfdb1, 0x37, 0xfdb1, 0x37, 0xfdb1, -0xd2, 0xfe1a, 0xd2, 0xfe1a, 0x387, 0x9d, 0x387, 0x9d, 0x501, 0x1e6, 0x501, -0x1e6, 0x635, 0x2ea, 0x635, 0x2ea, 0x712, 0x398, 0x712, 0x398, 0x712, 0x398, -0x619, 0x274, 0x619, 0x274, 0x6d0, 0x302, 0x6d0, 0x302, 0x64e, 0x25c, 0x64e, -0x25c, 0x7b1, 0x3a0, 0x7b1, 0x3a0, 0x94a, 0x521, 0x94a, 0x521, 0x9b5, 0x579, -0x9b5, 0x579, 0x9b5, 0x579, 0xcf3, 0x8aa, 0xcf3, 0x8aa, 0xad0, 0x682, 0xad0, -0x682, 0xc58, 0x80b, 0xc58, 0x80b, 0xb06, 0x6c3, 0xb06, 0x6c3, 0xb23, 0x6f1, -0xb23, 0x6f1, 0xb23, 0x6f1, 0xe16, 0x9fc, 0xe16, 0x9fc, 0xb5c, 0x761, 0xb5c, -0x761, 0xb74, 0x79f, 0xb74, 0x79f, 0xc92, 0x8e9, 0xc92, 0x8e9, 0xbb1, 0x83a, -0xbb1, 0x83a, 0xd20, 0x9df, 0xd20, 0x9df, 0xd20, 0x9df, 0x10bb, 0xdb4, 0x10bb, -0xdb4, 0xea7, 0xbde, 0xea7, 0xbde, 0xd31, 0xaa8, 0xd31, 0xaa8, 0xded, 0xba6, -0xded, 0xba6, 0xdfa, 0xbf6, 0xdfa, 0xbf6, 0x96e, 0x7ac, 0x96e, 0x7ac, 0x96e, -0x7ac, 0x8da, 0x75a, 0x8da, 0x75a, 0x947, 0x807, 0x947, 0x807, 0x84c, 0x74b, -0x84c, 0x74b, 0xc1c, 0xb57, 0xc1c, 0xb57, 0xafd, 0xa71, 0xafd, 0xa71, 0xafd, -0xa71, 0xb0e, 0xab8, 0xb0e, 0xab8, 0xa72, 0xa4f, 0xa72, 0xa4f, 0x963, 0x96e, -0x963, 0x96e, 0x81d, 0x853, 0x81d, 0x853, 0x649, 0x6a8, 0x649, 0x6a8, 0x6df, -0x762, 0x6df, 0x762, 0x6df, 0x762, 0x609, 0x6ad, 0x609, 0x6ad, 0x613, 0x6d7, -0x613, 0x6d7, 0x61d, 0x6fd, 0x61d, 0x6fd, 0x581, 0x67c, 0x581, 0x67c, 0x42e, -0x543, 0x42e, 0x543, 0x25a, 0x388, 0x25a, 0x388, 0x25a, 0x388, 0x153, 0x299, -0x153, 0x299, 0x11f, 0x27e, 0x11f, 0x27e, 0x12e, 0x2a6, 0x12e, 0x2a6, 0x263, -0x3f4, 0x263, 0x3f4, 0x23e, 0x3ea, 0x23e, 0x3ea, 0x23e, 0x3ea, 0x1c0, 0x387, -0x1c0, 0x387, 0x41e, 0x601, 0x41e, 0x601, 0x414, 0x614, 0x414, 0x614, 0x24a, -0x468, 0x24a, 0x468, 0x11a, 0x356, 0x11a, 0x356, 0xee, 0x348, 0xee, 0x348, -0xee, 0x348, 0xff63, 0x1dc, 0xff63, 0x1dc, 0xfdd3, 0x6b, 0xfdd3, 0x6b, 0xfa5a, -0xfd0e, 0xfa5a, 0xfd0e, 0xf6d0, 0xf9a0, 0xf6d0, 0xf9a0, 0xfa59, 0xfd42, 0xfa59, 0xfd42, -0xf9d4, 0xfcd4, 0xf9d4, 0xfcd4, 0xf9d4, 0xfcd4, 0xf831, 0xfb45, 0xf831, 0xfb45, 0xf721, -0xfa45, 0xf721, 0xfa45, 0xf4e0, 0xf810, 0xf4e0, 0xf810, 0xf52b, 0xf864, 0xf52b, 0xf864, -0xf531, 0xf86d, 0xf531, 0xf86d, 0xf531, 0xf86d, 0xf3cd, 0xf708, 0xf3cd, 0xf708, 0xf0ea, -0xf41e, 0xf0ea, 0xf41e, 0xf00a, 0xf334, 0xf00a, 0xf334, 0xf0db, 0xf3f5, 0xf0db, 0xf3f5, -0xeff0, 0xf2f6, 0xeff0, 0xf2f6, 0xee20, 0xf10e, 0xee20, 0xf10e, 0xee20, 0xf10e, 0xeede, -0xf1b2, 0xeede, 0xf1b2, 0xee5b, 0xf111, 0xee5b, 0xf111, 0xedfa, 0xf090, 0xedfa, 0xf090, -0xee8c, 0xf101, 0xee8c, 0xf101, 0xee8b, 0xf0de, 0xee8b, 0xf0de, 0xecec, 0xef1d, 0xecec, -0xef1d, 0xecec, 0xef1d, 0xecba, 0xeeca, 0xecba, 0xeeca, 0xec33, 0xee24, 0xec33, 0xee24, -0xebb1, 0xed86, 0xebb1, 0xed86, 0xed3c, 0xeef9, 0xed3c, 0xeef9, 0xec0b, 0xedb4, 0xec0b, -0xedb4, 0xec0b, 0xedb4, 0xebef, 0xed88, 0xebef, 0xed88, 0xeae1, 0xec70, 0xeae1, 0xec70, -0xebe4, 0xed6e, 0xebe4, 0xed6e, 0xecd2, 0xee5e, 0xecd2, 0xee5e, 0xebcc, 0xed61, 0xebcc, -0xed61, 0xeae6, 0xec88, 0xeae6, 0xec88, 0xeae6, 0xec88, 0xeb19, 0xecd0, 0xeb19, 0xecd0, -0xea24, 0xebf4, 0xea24, 0xebf4, 0xe8d3, 0xeac2, 0xe8d3, 0xeac2, 0xe820, 0xea32, 0xe820, -0xea32, 0xe70d, 0xe947, 0xe70d, 0xe947, 0xe4f7, 0xe75b, 0xe4f7, 0xe75b, 0xe4f7, 0xe75b, -0xe24e, 0xe4e0, 0xe24e, 0xe4e0, 0xe2bf, 0xe57f, 0xe2bf, 0xe57f, 0xe273, 0xe561, 0xe273, -0xe561, 0xe420, 0xe73c, 0xe420, 0xe73c, 0xe1f4, 0xe53d, 0xe1f4, 0xe53d, 0xe1f4, 0xe53d, -0xe038, 0xe3aa, 0xe038, 0xe3aa, 0xddad, 0xe146, 0xddad, 0xe146, 0xdb9b, 0xdf56, 0xdb9b, -0xdf56, 0xda6d, 0xde45, 0xda6d, 0xde45, 0xd7d5, 0xdbc5, 0xd7d5, 0xdbc5, 0xd810, 0xdc13, -0xd810, 0xdc13, 0xd810, 0xdc13, 0xd78a, 0xdb98, 0xd78a, 0xdb98, 0xdaae, 0xdec1, 0xdaae, -0xdec1, 0xdad7, 0xdee9, 0xdad7, 0xdee9, 0xdbfa, 0xe004, 0xdbfa, 0xe004, 0xdea5, 0xe2a1, -0xdea5, 0xe2a1, 0xdf7f, 0xe368, 0xdf7f, 0xe368, 0xdf7f, 0xe368, 0xe0ef, 0xe4bf, 0xe0ef, -0xe4bf, 0xe382, 0xe735, 0xe382, 0xe735, 0xe3fd, 0xe78d, 0xe3fd, 0xe78d, 0xe3d1, 0xe73c, -0xe3d1, 0xe73c, 0xe688, 0xe9cc, 0xe688, 0xe9cc, 0xe688, 0xe9cc, 0xe7c7, 0xeae1, 0xe7c7, -0xeae1, 0xea2d, 0xed1c, 0xea2d, 0xed1c, 0xec13, 0xeed7, 0xec13, 0xeed7, 0xee36, 0xf0ce, -0xee36, 0xf0ce, 0xefbd, 0xf22a, 0xefbd, 0xf22a, 0xf0f0, 0xf334, 0xf0f0, 0xf334, 0xf0f0, -0xf334, 0xf4c5, 0xf6e1, 0xf4c5, 0xf6e1, 0xf6fc, 0xf8f1, 0xf6fc, 0xf8f1, 0xf8bf, 0xfa90, -0xf8bf, 0xfa90, 0xfabf, 0xfc6d, 0xfabf, 0xfc6d, 0xfebb, 0x48, 0xfebb, 0x48, 0x138, -0x2a6, 0x138, 0x2a6, 0x138, 0x2a6, 0x16d, 0x2bd, 0x16d, 0x2bd, 0x41e, 0x551, -0x41e, 0x551, 0x1ca, 0x2e0, 0x1ca, 0x2e0, 0x1f2, 0x2eb, 0x1f2, 0x2eb, 0x577, -0x653, 0x577, 0x653, 0x577, 0x653, 0x545, 0x602, 0x545, 0x602, 0x66d, 0x70b, -0x66d, 0x70b, 0x88c, 0x907, 0x88c, 0x907, 0x977, 0x9cd, 0x977, 0x9cd, 0xcad, -0xcdb, 0xcad, 0xcdb, 0xd1c, 0xd1f, 0xd1c, 0xd1f, 0xd1c, 0xd1f, 0xd8e, 0xd63, -0xd8e, 0xd63, 0xe80, 0xe23, 0xe80, 0xe23, 0xd37, 0xca5, 0xd37, 0xca5, 0xfb5, -0xeea, 0xfb5, 0xeea, 0xca6, 0xba0, 0xca6, 0xba0, 0xdda, 0xc97, 0xdda, 0xc97, -0xdda, 0xc97, 0x10c2, 0xf40, 0x10c2, 0xf40, 0x1185, 0xfc4, 0x1185, 0xfc4, 0x151c, -0x131a, 0x151c, 0x131a, 0x18db, 0x169a, 0x18db, 0x169a, 0x1b21, 0x18a3, 0x1b21, 0x18a3, -0x1b21, 0x18a3, 0x1bec, 0x1933, 0x1bec, 0x1933, 0x1de7, 0x1af6, 0x1de7, 0x1af6, 0x1c66, -0x1942, 0x1c66, 0x1942, 0x1d37, 0x19e5, 0x1d37, 0x19e5, 0x1cf5, 0x197c, 0x1cf5, 0x197c, -0x1bf5, 0x185b, 0x1bf5, 0x185b, 0x1bf5, 0x185b, 0x1b96, 0x17e3, 0x1b96, 0x17e3, 0x1c5a, -0x1896, 0x1c5a, 0x1896, 0x1ea1, 0x1ad4, 0x1ea1, 0x1ad4, 0x1c5c, 0x188f, 0x1c5c, 0x188f, -0x1b20, 0x175b, 0x1b20, 0x175b, 0x1b20, 0x175b, 0x1b8f, 0x17db, 0x1b8f, 0x17db, 0x190b, -0x1570, 0x190b, 0x1570, 0x188a, 0x1510, 0x188a, 0x1510, 0x1820, 0x14ce, 0x1820, 0x14ce, -0x1716, 0x13f3, 0x1716, 0x13f3, 0x16d0, 0x13e2, 0x16d0, 0x13e2, 0x16d0, 0x13e2, 0x1595, -0x12e0, 0x1595, 0x12e0, 0x1482, 0x120a, 0x1482, 0x120a, 0x11a2, 0xf6b, 0x11a2, 0xf6b, -0x1286, 0x1091, 0x1286, 0x1091, 0x1329, 0x1178, 0x1329, 0x1178, 0x118b, 0x101c, 0x118b, -0x101c, 0x118b, 0x101c, 0xfae, 0xe82, 0xfae, 0xe82, 0xc81, 0xb95, 0xc81, 0xb95, -0x981, 0x8d1, 0x981, 0x8d1, 0x7f7, 0x781, 0x7f7, 0x781, 0x641, 0x600, 0x641, -0x600, 0x641, 0x600, 0x2fc, 0x2ec, 0x2fc, 0x2ec, 0x164, 0x180, 0x164, 0x180, -0xfe30, 0xfe72, 0xfe30, 0xfe72, 0xfa50, 0xfab3, 0xfa50, 0xfab3, 0xf830, 0xf8b0, 0xf830, -0xf8b0, 0xf895, 0xf92c, 0xf895, 0xf92c, 0xf895, 0xf92c, 0xf62a, 0xf6d3, 0xf62a, 0xf6d3, -0xf595, 0xf64c, 0xf595, 0xf64c, 0xf8cd, 0xf98f, 0xf8cd, 0xf98f, 0xf611, 0xf6da, 0xf611, -0xf6da, 0xf519, 0xf5e6, 0xf519, 0xf5e6, 0xf4f4, 0xf5c4, 0xf4f4, 0xf5c4, 0xf4f4, 0xf5c4, -0xf329, 0xf3f9, 0xf329, 0xf3f9, 0xf413, 0xf4e4, 0xf413, 0xf4e4, 0xf5b5, 0xf687, 0xf5b5, -0xf687, 0xf44f, 0xf521, 0xf44f, 0xf521, 0xf263, 0xf336, 0xf263, 0xf336, 0xf263, 0xf336, -0xf3a8, 0xf47d, 0xf3a8, 0xf47d, 0xf61d, 0xf6f6, 0xf61d, 0xf6f6, 0xf794, 0xf872, 0xf794, -0xf872, 0xf5c9, 0xf6ad, 0xf5c9, 0xf6ad, 0xf426, 0xf512, 0xf426, 0xf512, 0xf196, 0xf28b, -0xf196, 0xf28b, 0xf196, 0xf28b, 0xeff1, 0xf0f0, 0xeff1, 0xf0f0, 0xefe8, 0xf0f1, 0xefe8, -0xf0f1, 0xef5b, 0xf06e, 0xef5b, 0xf06e, 0xed6a, 0xee86, 0xed6a, 0xee86, 0xed0d, 0xee30, -0xed0d, 0xee30, 0xef5c, 0xf084, 0xef5c, 0xf084, 0xef5c, 0xf084, 0xee2f, 0xef5a, 0xee2f, -0xef5a, 0xede4, 0xef0f, 0xede4, 0xef0f, 0xeea1, 0xefc8, 0xeea1, 0xefc8, 0xee9f, 0xefbd, -0xee9f, 0xefbd, 0xed7b, 0xee8a, 0xed7b, 0xee8a, 0xed7b, 0xee8a, 0xedf6, 0xeef2, 0xedf6, -0xeef2, 0xee7c, 0xef5f, 0xee7c, 0xef5f, 0xef00, 0xefc5, 0xef00, 0xefc5, 0xf01a, 0xf0ba, -0xf01a, 0xf0ba, 0xf23b, 0xf2b1, 0xf23b, 0xf2b1, 0xf68a, 0xf6d1, 0xf68a, 0xf6d1, 0xf68a, -0xf6d1, 0xf773, 0xf786, 0xf773, 0xf786, 0xfb4f, 0xfb2b, 0xfb4f, 0xfb2b, 0xfd6e, 0xfd0f, -0xfd6e, 0xfd0f, 0xff05, 0xfe68, 0xff05, 0xfe68, 0x2c4, 0x1e8, 0x2c4, 0x1e8, 0x562, -0x447, 0x562, 0x447, 0x562, 0x447, 0x9ba, 0x860, 0x9ba, 0x860, 0xb9a, 0xa04, -0xb9a, 0xa04, 0xd9f, 0xbcf, 0xd9f, 0xbcf, 0x1187, 0xf81, 0x1187, 0xf81, 0x149e, -0x1267, 0x149e, 0x1267, 0x149e, 0x1267, 0x155c, 0x12fb, 0x155c, 0x12fb, 0x1714, 0x148f, -0x1714, 0x148f, 0x1777, 0x14d6, 0x1777, 0x14d6, 0x15fc, 0x1347, 0x15fc, 0x1347, 0x173f, -0x147f, 0x173f, 0x147f, 0x1930, 0x166d, 0x1930, 0x166d, 0x1930, 0x166d, 0x1956, 0x169a, -0x1956, 0x169a, 0x19a2, 0x16f4, 0x19a2, 0x16f4, 0x1a31, 0x179a, 0x1a31, 0x179a, 0x1903, -0x168b, 0x1903, 0x168b, 0x19a8, 0x1756, 0x19a8, 0x1756, 0x1983, 0x175e, 0x1983, 0x175e, -0x1983, 0x175e, 0x186d, 0x1679, 0x186d, 0x1679, 0x1688, 0x14cb, 0x1688, 0x14cb, 0x15d9, -0x1454, 0x15d9, 0x1454, 0x172f, 0x15e5, 0x172f, 0x15e5, 0x1632, 0x1525, 0x1632, 0x1525, -0x1632, 0x1525, 0x15bf, 0x14ec, 0x15bf, 0x14ec, 0x155a, 0x14c2, 0x155a, 0x14c2, 0x145f, -0x13fe, 0x145f, 0x13fe, 0x1277, 0x1249, 0x1277, 0x1249, 0x100e, 0x1010, 0x100e, 0x1010, -0xe0d, 0xe39, 0xe0d, 0xe39, 0xe0d, 0xe39, 0xcf3, 0xd43, 0xcf3, 0xd43, 0xb76, -0xbe4, 0xb76, 0xbe4, 0xa4e, 0xad4, 0xa4e, 0xad4, 0x8d5, 0x96c, 0x8d5, 0x96c, -0x6ea, 0x78d, 0x6ea, 0x78d, 0x757, 0x7ff, 0x757, 0x7ff, 0x757, 0x7ff, 0x63d, -0x6e5, 0x63d, 0x6e5, 0x572, 0x615, 0x572, 0x615, 0x571, 0x60b, 0x571, 0x60b, -0x3ba, 0x446, 0x3ba, 0x446, 0x1b8, 0x234, 0x1b8, 0x234, 0x1b8, 0x234, 0x7a, -0xe4, 0x7a, 0xe4, 0x4d, 0xa5, 0x4d, 0xa5, 0x226, 0x26a, 0x226, 0x26a, -0x3b0, 0x3e0, 0x3b0, 0x3e0, 0x1bb, 0x1da, 0x1bb, 0x1da, 0xfeaa, 0xfeb8, 0xfeaa, -0xfeb8, 0xfeaa, 0xfeb8, 0xff61, 0xff60, 0xff61, 0xff60, 0x95, 0x8a, 0x95, 0x8a, -0xff9c, 0xff87, 0xff9c, 0xff87, 0xb7, 0x9b, 0xb7, 0x9b, 0x34, 0x14, 0x34, -0x14, 0xff53, 0xff32, 0xff53, 0xff32, 0xff53, 0xff32, 0xfef2, 0xfed2, 0xfef2, 0xfed2, -0xfeb3, 0xfe95, 0xfeb3, 0xfe95, 0xfcad, 0xfc92, 0xfcad, 0xfc92, 0xfaee, 0xfad7, 0xfaee, -0xfad7, 0xfb29, 0xfb16, 0xfb29, 0xfb16, 0xfb29, 0xfb16, 0xf8cb, 0xf8bb, 0xf8cb, 0xf8bb, -0xf890, 0xf880, 0xf890, 0xf880, 0xf8d9, 0xf8c7, 0xf8d9, 0xf8c7, 0xfa68, 0xfa50, 0xfa68, -0xfa50, 0xfa92, 0xfa72, 0xfa92, 0xfa72, 0xfc3e, 0xfc10, 0xfc3e, 0xfc10, 0xfc3e, 0xfc10, -0xff18, 0xfed9, 0xff18, 0xfed9, 0xfe74, 0xfe1e, 0xfe74, 0xfe1e, 0x15, 0xffa2, 0x15, -0xffa2, 0xd5, 0x40, 0xd5, 0x40, 0x28d, 0x1d1, 0x28d, 0x1d1, 0x37b, 0x293, -0x37b, 0x293, 0x37b, 0x293, 0x595, 0x47d, 0x595, 0x47d, 0x782, 0x635, 0x782, -0x635, 0x850, 0x6cb, 0x850, 0x6cb, 0xc91, 0xad0, 0xc91, 0xad0, 0xde4, 0xbe7, -0xde4, 0xbe7, 0xde4, 0xbe7, 0xea7, 0xc6c, 0xea7, 0xc6c, 0x10a9, 0xe31, 0x10a9, -0xe31, 0x10c8, 0xe14, 0x10c8, 0xe14, 0x1119, 0xe2b, 0x1119, 0xe2b, 0x129b, 0xf76, -0x129b, 0xf76, 0x11cd, 0xe77, 0x11cd, 0xe77, 0x11cd, 0xe77, 0x11ac, 0xe28, 0x11ac, -0xe28, 0x13dd, 0x1032, 0x13dd, 0x1032, 0x152a, 0x115e, 0x152a, 0x115e, 0x1455, 0x1070, -0x1455, 0x1070, 0x1418, 0x1022, 0x1418, 0x1022, 0x1418, 0x1022, 0x13fe, 0xffe, 0x13fe, -0xffe, 0x12b2, 0xeb1, 0x12b2, 0xeb1, 0x13ec, 0xff2, 0x13ec, 0xff2, 0x14db, 0x10f0, -0x14db, 0x10f0, 0x14b5, 0x10e1, 0x14b5, 0x10e1, 0x1233, 0xe7d, 0x1233, 0xe7d, 0x1233, -0xe7d, 0x12b1, 0xf1f, 0x12b1, 0xf1f, 0x13d3, 0x106b, 0x13d3, 0x106b, 0x11aa, 0xe72, -0x11aa, 0xe72, 0x1325, 0x1021, 0x1325, 0x1021, 0x12f6, 0x1029, 0x12f6, 0x1029, 0x1288, -0xff4, 0x1288, 0xff4, 0x1288, 0xff4, 0x12fe, 0x10a4, 0x12fe, 0x10a4, 0x122d, 0x100f, -0x122d, 0x100f, 0x11ad, 0xfc9, 0x11ad, 0xfc9, 0x1035, 0xe8a, 0x1035, 0xe8a, 0xf5f, -0xdea, 0xf5f, 0xdea, 0xf5f, 0xdea, 0x1034, 0xef3, 0x1034, 0xef3, 0xea3, 0xd91, -0xea3, 0xd91, 0xbff, 0xb19, 0xbff, 0xb19, 0xbfd, 0xb3f, 0xbfd, 0xb3f, 0xa11, -0x976, 0xa11, 0x976, 0x711, 0x696, 0x711, 0x696, 0x711, 0x696, 0x62e, 0x5cd, -0x62e, 0x5cd, 0x4ed, 0x4a3, 0x4ed, 0x4a3, 0x2b1, 0x27a, 0x2b1, 0x27a, 0x3e5, -0x3bf, 0x3e5, 0x3bf, 0x52b, 0x513, 0x52b, 0x513, 0x2fa, 0x2ef, 0x2fa, 0x2ef, -0x2fa, 0x2ef, 0x229, 0x22a, 0x229, 0x22a, 0x168, 0x175, 0x168, 0x175, 0x18, -0x33, 0x18, 0x33, 0xff2f, 0xff59, 0xff2f, 0xff59, 0xfdab, 0xfde5, 0xfdab, 0xfde5, -0xfdab, 0xfde5, 0xfdaa, 0xfdf8, 0xfdaa, 0xfdf8, 0xfd7f, 0xfde5, 0xfd7f, 0xfde5, 0xfc87, -0xfd08, 0xfc87, 0xfd08, 0xfdc5, 0xfe66, 0xfdc5, 0xfe66, 0xfd1e, 0xfde3, 0xfd1e, 0xfde3, -0xfacc, 0xfbbb, 0xfacc, 0xfbbb, 0xfacc, 0xfbbb, 0xfb1a, 0xfc36, 0xfb1a, 0xfc36, 0xfc0d, -0xfd59, 0xfc0d, 0xfd59, 0xf9ef, 0xfb6f, 0xf9ef, 0xfb6f, 0xf7c6, 0xf97d, 0xf7c6, 0xf97d, -0xf70f, 0xf8ff, 0xf70f, 0xf8ff, 0xf408, 0xf633, 0xf408, 0xf633, 0xf408, 0xf633, 0xf24c, -0xf4b1, 0xf24c, 0xf4b1, 0xf1df, 0xf47d, 0xf1df, 0xf47d, 0xf0c2, 0xf398, 0xf0c2, 0xf398, -0xeeb4, 0xf1bf, 0xeeb4, 0xf1bf, 0xecba, 0xeff6, 0xecba, 0xeff6, 0xecba, 0xeff6, 0xec0b, -0xef73, 0xec0b, 0xef73, 0xeab1, 0xee40, 0xeab1, 0xee40, 0xea34, 0xede3, 0xea34, 0xede3, -0xeabe, 0xee86, 0xeabe, 0xee86, 0xe944, 0xed1e, 0xe944, 0xed1e, 0xe787, 0xeb6b, 0xe787, -0xeb6b, 0xe787, 0xeb6b, 0xe7cc, 0xebb2, 0xe7cc, 0xebb2, 0xe6ac, 0xea8c, 0xe6ac, 0xea8c, -0xe595, 0xe968, 0xe595, 0xe968, 0xe536, 0xe8f6, 0xe536, 0xe8f6, 0xe40f, 0xe7b5, 0xe40f, -0xe7b5, 0xe3b1, 0xe737, 0xe3b1, 0xe737, 0xe3b1, 0xe737, 0xe4f4, 0xe856, 0xe4f4, 0xe856, -0xe5d6, 0xe910, 0xe5d6, 0xe910, 0xe71c, 0xea2b, 0xe71c, 0xea2b, 0xe857, 0xeb3a, 0xe857, -0xeb3a, 0xe6ce, 0xe985, 0xe6ce, 0xe985, 0xe6ce, 0xe985, 0xe751, 0xe9dc, 0xe751, 0xe9dc, -0xe6da, 0xe93c, 0xe6da, 0xe93c, 0xe576, 0xe7b1, 0xe576, 0xe7b1, 0xe3d8, 0xe5f0, 0xe3d8, -0xe5f0, 0xe115, 0xe310, 0xe115, 0xe310, 0xe21a, 0xe3fd, 0xe21a, 0xe3fd, 0xe21a, 0xe3fd, -0xe3bd, 0xe58e, 0xe3bd, 0xe58e, 0xe3c0, 0xe584, 0xe3c0, 0xe584, 0xe487, 0xe646, 0xe487, -0xe646, 0xe5d1, 0xe790, 0xe5d1, 0xe790, 0xe501, 0xe6c8, 0xe501, 0xe6c8, 0xe641, 0xe814, -0xe641, 0xe814, 0xe641, 0xe814, 0xe61c, 0xe801, 0xe61c, 0xe801, 0xe323, 0xe520, 0xe323, -0xe520, 0xe3a5, 0xe5bd, 0xe3a5, 0xe5bd, 0xe566, 0xe79c, 0xe566, 0xe79c, 0xe5ff, 0xe856, -0xe5ff, 0xe856, 0xe5ff, 0xe856, 0xe5c0, 0xe838, 0xe5c0, 0xe838, 0xe79c, 0xea36, 0xe79c, -0xea36, 0xe890, 0xeb4b, 0xe890, 0xeb4b, 0xe706, 0xe9e0, 0xe706, 0xe9e0, 0xe55a, 0xe850, -0xe55a, 0xe850, 0xe478, 0xe788, 0xe478, 0xe788, 0xe478, 0xe788, 0xe2db, 0xe600, 0xe2db, -0xe600, 0xe14a, 0xe47f, 0xe14a, 0xe47f, 0xe10b, 0xe44b, 0xe10b, 0xe44b, 0xe03d, 0xe383, -0xe03d, 0xe383, 0xe01e, 0xe365, 0xe01e, 0xe365, 0xe100, 0xe441, 0xe100, 0xe441, 0xe100, -0xe441, 0xe2d1, 0xe607, 0xe2d1, 0xe607, 0xe286, 0xe5ad, 0xe286, 0xe5ad, 0xe4b3, 0xe7c6, -0xe4b3, 0xe7c6, 0xe7f0, 0xeae9, 0xe7f0, 0xeae9, 0xe738, 0xea14, 0xe738, 0xea14, 0xe738, -0xea14, 0xe860, 0xeb1d, 0xe860, 0xeb1d, 0xe973, 0xec0f, 0xe973, 0xec0f, 0xea6a, 0xece2, -0xea6a, 0xece2, 0xec56, 0xeeaa, 0xec56, 0xeeaa, 0xecd3, 0xef03, 0xecd3, 0xef03, 0xed8f, -0xef9c, 0xed8f, 0xef9c, 0xed8f, 0xef9c, 0xef2e, 0xf118, 0xef2e, 0xf118, 0xf0b9, 0xf282, -0xf0b9, 0xf282, 0xf393, 0xf53e, 0xf393, 0xf53e, 0xf58f, 0xf71f, 0xf58f, 0xf71f, 0xf62d, -0xf7a4, 0xf62d, 0xf7a4, 0xf832, 0xf994, 0xf832, 0xf994, 0xf832, 0xf994, 0xfab1, 0xfc00, -0xfab1, 0xfc00, 0xfd32, 0xfe71, 0xfd32, 0xfe71, 0xff55, 0x88, 0xff55, 0x88, 0xab, -0x1d3, 0xab, 0x1d3, 0x165, 0x283, 0x165, 0x283, 0x165, 0x283, 0x2dd, 0x3f2, -0x2dd, 0x3f2, 0x32e, 0x43c, 0x32e, 0x43c, 0x3a9, 0x4af, 0x3a9, 0x4af, 0x45e, -0x55b, 0x45e, 0x55b, 0x2aa, 0x39b, 0x2aa, 0x39b, 0x42c, 0x510, 0x42c, 0x510, -0x42c, 0x510, 0x6a1, 0x774, 0x6a1, 0x774, 0x6db, 0x799, 0x6db, 0x799, 0x8c0, -0x964, 0x8c0, 0x964, 0x8b1, 0x936, 0x8b1, 0x936, 0x827, 0x887, 0x827, 0x887, -0x979, 0x9b0, 0x979, 0x9b0, 0x979, 0x9b0, 0x922, 0x929, 0x922, 0x929, 0xa6e, -0xa3f, 0xa6e, 0xa3f, 0xb1b, 0xab1, 0xb1b, 0xab1, 0xb53, 0xaa9, 0xb53, 0xaa9, -0xd9b, 0xcac, 0xd9b, 0xcac, 0xd9b, 0xcac, 0xfcf, 0xe98, 0xfcf, 0xe98, 0x1184, -0x1002, 0x1184, 0x1002, 0x11aa, 0xfda, 0x11aa, 0xfda, 0x125f, 0x1041, 0x125f, 0x1041, -0x1339, 0x10cc, 0x1339, 0x10cc, 0x14ca, 0x1210, 0x14ca, 0x1210, 0x14ca, 0x1210, 0x167b, -0x1377, 0x167b, 0x1377, 0x1791, 0x1446, 0x1791, 0x1446, 0x1863, 0x14d7, 0x1863, 0x14d7, -0x1916, 0x154f, 0x1916, 0x154f, 0x1992, 0x1596, 0x1992, 0x1596, 0x1992, 0x1596, 0x1902, -0x14da, 0x1902, 0x14da, 0x191d, 0x14d1, 0x191d, 0x14d1, 0x187b, 0x1415, 0x187b, 0x1415, -0x18c5, 0x144e, 0x18c5, 0x144e, 0x18ea, 0x146d, 0x18ea, 0x146d, 0x1845, 0x13cb, 0x1845, -0x13cb, 0x1845, 0x13cb, 0x194e, 0x14e2, 0x194e, 0x14e2, 0x19fc, 0x15a7, 0x19fc, 0x15a7, -0x199d, 0x1568, 0x199d, 0x1568, 0x1a68, 0x165c, 0x1a68, 0x165c, 0x18b9, 0x14de, 0x18b9, -0x14de, 0x15ff, 0x125a, 0x15ff, 0x125a, 0x15ff, 0x125a, 0x1700, 0x1397, 0x1700, 0x1397, -0x14d9, 0x11b2, 0x14d9, 0x11b2, 0x135f, 0x107b, 0x135f, 0x107b, 0x135f, 0x10c1, 0x135f, -0x10c1, 0x1298, 0x1041, 0x1298, 0x1041, 0x1298, 0x1041, 0x117c, 0xf6b, 0x117c, 0xf6b, -0xe5b, 0xc8f, 0xe5b, 0xc8f, 0xc40, 0xab7, 0xc40, 0xab7, 0x97f, 0x836, 0x97f, -0x836, 0x809, 0x6fd, 0x809, 0x6fd, 0x6ce, 0x5f9, 0x6ce, 0x5f9, 0x6ce, 0x5f9, -0x464, 0x3c2, 0x464, 0x3c2, 0xffde, 0xff6b, 0xffde, 0xff6b, 0xfcd2, 0xfc88, 0xfcd2, -0xfc88, 0xfe09, 0xfde5, 0xfe09, 0xfde5, 0xfd23, 0xfd1f, 0xfd23, 0xfd1f, 0xfc59, 0xfc71, -0xfc59, 0xfc71, 0xfc59, 0xfc71, 0xfc18, 0xfc49, 0xfc18, 0xfc49, 0xfa78, 0xfabf, 0xfa78, -0xfabf, 0xfa29, 0xfa83, 0xfa29, 0xfa83, 0xfa52, 0xfabe, 0xfa52, 0xfabe, 0xf974, 0xf9f2, -0xf974, 0xf9f2, 0xf974, 0xf9f2, 0xfaf5, 0xfb83, 0xfaf5, 0xfb83, 0xfbc5, 0xfc64, 0xfbc5, -0xfc64, 0xfc32, 0xfce4, 0xfc32, 0xfce4, 0xfdae, 0xfe73, 0xfdae, 0xfe73, 0xfdc4, 0xfea0, -0xfdc4, 0xfea0, 0xff58, 0x4b, 0xff58, 0x4b, 0xff58, 0x4b, 0xfe23, 0xff30, 0xfe23, -0xff30, 0xfbf8, 0xfd22, 0xfbf8, 0xfd22, 0xfa98, 0xfbe0, 0xfa98, 0xfbe0, 0xf822, 0xf98a, -0xf822, 0xf98a, 0xf6fd, 0xf887, 0xf6fd, 0xf887, 0xf647, 0xf7f3, 0xf647, 0xf7f3, 0xf647, -0xf7f3, 0xf555, 0xf725, 0xf555, 0xf725, 0xf476, 0xf667, 0xf476, 0xf667, 0xf3ba, 0xf5cc, -0xf3ba, 0xf5cc, 0xf1bb, 0xf3ec, 0xf1bb, 0xf3ec, 0xf15e, 0xf3ab, 0xf15e, 0xf3ab, 0xf15e, -0xf3ab, 0xf0d3, 0xf338, 0xf0d3, 0xf338, 0xef1b, 0xf193, 0xef1b, 0xf193, 0xef73, 0xf1fb, -0xef73, 0xf1fb, 0xee71, 0xf101, 0xee71, 0xf101, 0xeef3, 0xf184, 0xeef3, 0xf184, 0xf1aa, -0xf437, 0xf1aa, 0xf437, 0xf1aa, 0xf437, 0xf1d9, 0xf45a, 0xf1d9, 0xf45a, 0xf288, 0xf4f6, -0xf288, 0xf4f6, 0xf321, 0xf574, 0xf321, 0xf574, 0xf2c2, 0xf4f4, 0xf2c2, 0xf4f4, 0xf45b, -0xf664, 0xf45b, 0xf664, 0xf4ec, 0xf6c6, 0xf4ec, 0xf6c6, 0xf4ec, 0xf6c6, 0xf652, 0xf7f7, -0xf652, 0xf7f7, 0xfa3f, 0xfba9, 0xfa3f, 0xfba9, 0xfd59, 0xfe84, 0xfd59, 0xfe84, 0x29, -0x113, 0x29, 0x113, 0x2d7, 0x37c, 0x2d7, 0x37c, 0x2d7, 0x37c, 0x56a, 0x5c9, -0x56a, 0x5c9, 0x84f, 0x867, 0x84f, 0x867, 0xac1, 0xa93, 0xac1, 0xa93, 0xcaa, -0xc38, 0xcaa, 0xc38, 0xead, 0xdf9, 0xead, 0xdf9, 0xf87, 0xe94, 0xf87, 0xe94, -0xf87, 0xe94, 0xfb9, 0xe8c, 0xfb9, 0xe8c, 0x1155, 0xff4, 0x1155, 0xff4, 0x12fd, -0x116c, 0x12fd, 0x116c, 0x13a1, 0x11e7, 0x13a1, 0x11e7, 0x142f, 0x1253, 0x142f, 0x1253, -0x1591, 0x1399, 0x1591, 0x1399, 0x1591, 0x1399, 0x16fb, 0x14ef, 0x16fb, 0x14ef, 0x1654, -0x143a, 0x1654, 0x143a, 0x150b, 0x12e9, 0x150b, 0x12e9, 0x15b5, 0x1392, 0x15b5, 0x1392, -0x14e0, 0x12c1, 0x14e0, 0x12c1, 0x14e0, 0x12c1, 0x13cb, 0x11b5, 0x13cb, 0x11b5, 0x15ab, -0x13a3, 0x15ab, 0x13a3, 0x14bf, 0x12ca, 0x14bf, 0x12ca, 0x1367, 0x1186, 0x1367, 0x1186, -0x14f6, 0x132c, 0x14f6, 0x132c, 0x142f, 0x127b, 0x142f, 0x127b, 0x142f, 0x127b, 0x11eb, -0x1050, 0x11eb, 0x1050, 0xfc9, 0xe45, 0xfc9, 0xe45, 0xe50, 0xce2, 0xe50, 0xce2, -0xd74, 0xc1a, 0xd74, 0xc1a, 0xca3, 0xb5a, 0xca3, 0xb5a, 0xd70, 0xc36, 0xd70, -0xc36, 0xd70, 0xc36, 0xd3a, 0xc0b, 0xd3a, 0xc0b, 0xb27, 0x9ff, 0xb27, 0x9ff, -0x9df, 0x8bb, 0x9df, 0x8bb, 0x986, 0x862, 0x986, 0x862, 0x822, 0x6fa, 0x822, -0x6fa, 0x822, 0x6fa, 0x6f6, 0x5c7, 0x6f6, 0x5c7, 0x6f6, 0x5bc, 0x6f6, 0x5bc, -0x64d, 0x507, 0x64d, 0x507, 0x5df, 0x48a, 0x5df, 0x48a, 0x574, 0x410, 0x574, -0x410, 0x4f3, 0x37f, 0x4f3, 0x37f, 0x4f3, 0x37f, 0x3b7, 0x233, 0x3b7, 0x233, -0x2f5, 0x161, 0x2f5, 0x161, 0x38d, 0x1ec, 0x38d, 0x1ec, 0x291, 0xe4, 0x291, -0xe4, 0x4d, 0xfe97, 0x4d, 0xfe97, 0xff38, 0xfd7d, 0xff38, 0xfd7d, 0xff38, 0xfd7d, -0xff61, 0xfda3, 0xff61, 0xfda3, 0xffac, 0xfdf0, 0xffac, 0xfdf0, 0xc5, 0xff0e, 0xc5, -0xff0e, 0xffe7, 0xfe39, 0xffe7, 0xfe39, 0xfe9a, 0xfcf9, 0xfe9a, 0xfcf9, 0xfe9a, 0xfcf9, -0xfed8, 0xfd46, 0xfed8, 0xfd46, 0xfe0d, 0xfc8e, 0xfe0d, 0xfc8e, 0xfdbe, 0xfc52, 0xfdbe, -0xfc52, 0xfc80, 0xfb2b, 0xfc80, 0xfb2b, 0xfa5d, 0xf91f, 0xfa5d, 0xf91f, 0xfab3, 0xf98b, -0xfab3, 0xf98b, 0xfab3, 0xf98b, 0xfb89, 0xfa77, 0xfb89, 0xfa77, 0xfad0, 0xf9d2, 0xfad0, -0xf9d2, 0xfc0e, 0xfb21, 0xfc0e, 0xfb21, 0xfd04, 0xfc26, 0xfd04, 0xfc26, 0xfd51, 0xfc7c, -0xfd51, 0xfc7c, 0xfe4b, 0xfd7c, 0xfe4b, 0xfd7c, 0xfe4b, 0xfd7c, 0xfceb, 0xfc1b, 0xfceb, -0xfc1b, 0xfce5, 0xfc0f, 0xfce5, 0xfc0f, 0xfd54, 0xfc73, 0xfd54, 0xfc73, 0xfe86, 0xfd93, -0xfe86, 0xfd93, 0x7e, 0xff73, 0x7e, 0xff73, 0x7e, 0xff73, 0x185, 0x5c, 0x185, -0x5c, 0x2fe, 0x1b2, 0x2fe, 0x1b2, 0x406, 0x293, 0x406, 0x293, 0x601, 0x462, -0x601, 0x462, 0x74a, 0x57c, 0x74a, 0x57c, 0x946, 0x746, 0x946, 0x746, 0x946, -0x746, 0xac9, 0x896, 0xac9, 0x896, 0xb3d, 0x8d6, 0xb3d, 0x8d6, 0xd19, 0xa80, -0xd19, 0xa80, 0xe3c, 0xb72, 0xe3c, 0xb72, 0x101e, 0xd26, 0x101e, 0xd26, 0x101e, -0xd26, 0x1033, 0xd10, 0x1033, 0xd10, 0xf36, 0xbef, 0xf36, 0xbef, 0xfe4, 0xc7d, -0xfe4, 0xc7d, 0xfc0, 0xc3e, 0xfc0, 0xc3e, 0xfd5, 0xc40, 0xfd5, 0xc40, 0xfe9, -0xc48, 0xfe9, 0xc48, 0xfe9, 0xc48, 0xfbf, 0xc19, 0xfbf, 0xc19, 0x113e, 0xd9c, -0x113e, 0xd9c, 0x12bf, 0xf27, 0x12bf, 0xf27, 0x12a0, 0xf1b, 0x12a0, 0xf1b, 0x1224, -0xeb7, 0x1224, 0xeb7, 0x100f, 0xcc2, 0x100f, 0xcc2, 0x100f, 0xcc2, 0xdf4, 0xacc, -0xdf4, 0xacc, 0xe1d, 0xb20, 0xe1d, 0xb20, 0xcbd, 0x9ef, 0xcbd, 0x9ef, 0xb73, -0x8d8, 0xb73, 0x8d8, 0xd05, 0xaa1, 0xd05, 0xaa1, 0xd05, 0xaa1, 0xd79, 0xb4d, -0xd79, 0xb4d, 0xda4, 0xbb2, 0xda4, 0xbb2, 0xe5b, 0xca3, 0xe5b, 0xca3, 0xbd2, -0xa54, 0xbd2, 0xa54, 0xa5e, 0x919, 0xa5e, 0x919, 0xaf6, 0x9e8, 0xaf6, 0x9e8, -0xaf6, 0x9e8, 0x9f1, 0x919, 0x9f1, 0x919, 0x996, 0x8f0, 0x996, 0x8f0, 0x854, -0x7de, 0x854, 0x7de, 0x7f6, 0x7ac, 0x7f6, 0x7ac, 0x83c, 0x81c, 0x83c, 0x81c, -0x667, 0x66e, 0x667, 0x66e, 0x667, 0x66e, 0x542, 0x56c, 0x542, 0x56c, 0x392, -0x3dc, 0x392, 0x3dc, 0x3a0, 0x408, 0x3a0, 0x408, 0x5b9, 0x63c, 0x5b9, 0x63c, -0x53c, 0x5d8, 0x53c, 0x5d8, 0x53c, 0x5d8, 0x31c, 0x3cf, 0x31c, 0x3cf, 0x1f5, -0x2c0, 0x1f5, 0x2c0, 0x1d9, 0x2b9, 0x1d9, 0x2b9, 0x364, 0x45a, 0x364, 0x45a, -0x446, 0x552, 0x446, 0x552, 0x2ba, 0x3dc, 0x2ba, 0x3dc, 0x2ba, 0x3dc, 0x1b0, -0x2ea, 0x1b0, 0x2ea, 0x5f, 0x1b1, 0x5f, 0x1b1, 0x4f, 0x1bb, 0x4f, 0x1bb, -0xffff, 0x186, 0xffff, 0x186, 0xfe6e, 0x12, 0xfe6e, 0x12, 0xfe0e, 0xffd0, 0xfe0e, -0xffd0, 0xfe0e, 0xffd0, 0xfdbe, 0xff9f, 0xfdbe, 0xff9f, 0xfdca, 0xffcc, 0xfdca, 0xffcc, -0xfdd5, 0xfff8, 0xfdd5, 0xfff8, 0xfd9f, 0xffe3, 0xfd9f, 0xffe3, 0xfc39, 0xfe9e, 0xfc39, -0xfe9e, 0xfc39, 0xfe9e, 0xfb50, 0xfdd6, 0xfb50, 0xfdd6, 0xf9b6, 0xfc5c, 0xf9b6, 0xfc5c, -0xf6bd, 0xf981, 0xf6bd, 0xf981, 0xf596, 0xf875, 0xf596, 0xf875, 0xf4e9, 0xf7e1, 0xf4e9, -0xf7e1, 0xf3d8, 0xf6e5, 0xf3d8, 0xf6e5, 0xf3d8, 0xf6e5, 0xf3b6, 0xf6d5, 0xf3b6, 0xf6d5, -0xf33b, 0xf668, 0xf33b, 0xf668, 0xf233, 0xf569, 0xf233, 0xf569, 0xf211, 0xf54b, 0xf211, -0xf54b, 0xf0cb, 0xf404, 0xf0cb, 0xf404, 0xf068, 0xf39b, 0xf068, 0xf39b, 0xf068, 0xf39b, -0xee46, 0xf16f, 0xee46, 0xf16f, 0xec54, 0xef6d, 0xec54, 0xef6d, 0xecc3, 0xefc8, 0xecc3, -0xefc8, 0xebdf, 0xeece, 0xebdf, 0xeece, 0xee0d, 0xf0e0, 0xee0d, 0xf0e0, 0xee0d, 0xf0e0, -0xef5e, 0xf213, 0xef5e, 0xf213, 0xef6e, 0xf204, 0xef6e, 0xf204, 0xefa5, 0xf21a, 0xefa5, -0xf21a, 0xee6e, 0xf0c2, 0xee6e, 0xf0c2, 0xee10, 0xf044, 0xee10, 0xf044, 0xed6a, 0xef7e, -0xed6a, 0xef7e, 0xed6a, 0xef7e, 0xebb3, 0xeda9, 0xebb3, 0xeda9, 0xeb94, 0xed71, 0xeb94, -0xed71, 0xec4c, 0xee13, 0xec4c, 0xee13, 0xeb07, 0xecbc, 0xeb07, 0xecbc, 0xeace, 0xec77, -0xeace, 0xec77, 0xe9f3, 0xeb95, 0xe9f3, 0xeb95, 0xe9f3, 0xeb95, 0xe9a0, 0xeb42, 0xe9a0, -0xeb42, 0xeb38, 0xecdf, 0xeb38, 0xecdf, 0xebb8, 0xed6b, 0xebb8, 0xed6b, 0xea51, 0xec15, -0xea51, 0xec15, 0xe87a, 0xea57, 0xe87a, 0xea57, 0xe87a, 0xea57, 0xe7fc, 0xe9f6, 0xe7fc, -0xe9f6, 0xe7a6, 0xe9c2, 0xe7a6, 0xe9c2, 0xe81b, 0xea5e, 0xe81b, 0xea5e, 0xe819, 0xea86, -0xe819, 0xea86, 0xe924, 0xebbe, 0xe924, 0xebbe, 0xe9df, 0xeca8, 0xe9df, 0xeca8, 0xe9df, -0xeca8, 0xe912, 0xec0b, 0xe912, 0xec0b, 0xe866, 0xeb90, 0xe866, 0xeb90, 0xe690, 0xe9e9, -0xe690, 0xe9e9, 0xe45f, 0xe7e5, 0xe45f, 0xe7e5, 0xe355, 0xe705, 0xe355, 0xe705, 0xe41a, -0xe7f2, 0xe41a, 0xe7f2, 0xe41a, 0xe7f2, 0xe335, 0xe72f, 0xe335, 0xe72f, 0xe1bd, 0xe5d5, -0xe1bd, 0xe5d5, 0xe1f3, 0xe623, 0xe1f3, 0xe623, 0xe253, 0xe696, 0xe253, 0xe696, 0xe1cc, -0xe61a, 0xe1cc, 0xe61a, 0xe1cc, 0xe61a, 0xe167, 0xe5bc, 0xe167, 0xe5bc, 0xe0af, 0xe504, -0xe0af, 0xe504, 0xdf55, 0xe3a3, 0xdf55, 0xe3a3, 0xe04d, 0xe490, 0xe04d, 0xe490, 0xe173, -0xe5a4, 0xe173, 0xe5a4, 0xe200, 0xe61a, 0xe200, 0xe61a, 0xe200, 0xe61a, 0xe160, 0xe55f, -0xe160, 0xe55f, 0xe0c8, 0xe4a8, 0xe0c8, 0xe4a8, 0xe17d, 0xe53b, 0xe17d, 0xe53b, 0xe217, -0xe5ae, 0xe217, 0xe5ae, 0xe313, 0xe682, 0xe313, 0xe682, 0xe37d, 0xe6c2, 0xe37d, 0xe6c2, -0xe37d, 0xe6c2, 0xe57a, 0xe894, 0xe57a, 0xe894, 0xe819, 0xeb06, 0xe819, 0xeb06, 0xe9ed, -0xecad, 0xe9ed, 0xecad, 0xebc2, 0xee54, 0xebc2, 0xee54, 0xedba, 0xf01f, 0xedba, 0xf01f, -0xedba, 0xf01f, 0xf09a, 0xf2d1, 0xf09a, 0xf2d1, 0xf20e, 0xf418, 0xf20e, 0xf418, 0xf39b, -0xf577, 0xf39b, 0xf577, 0xf423, 0xf5d2, 0xf423, 0xf5d2, 0xf41a, 0xf59b, 0xf41a, 0xf59b, -0xf690, 0xf7e3, 0xf690, 0xf7e3, 0xf690, 0xf7e3, 0xf869, 0xf98e, 0xf869, 0xf98e, 0xfb28, -0xfc1e, 0xfb28, 0xfc1e, 0xfcf6, 0xfdbc, 0xfcf6, 0xfdbc, 0xfce8, 0xfd7b, 0xfce8, 0xfd7b, -0xfd16, 0xfd76, 0xfd16, 0xfd76, 0xfbb7, 0xfbe1, 0xfbb7, 0xfbe1, 0xfbb7, 0xfbe1, 0xfb63, -0xfb56, 0xfb63, 0xfb56, 0xfd0e, 0xfcc7, 0xfd0e, 0xfcc7, 0xfdbb, 0xfd38, 0xfdbb, 0xfd38, -0xfecf, 0xfe0e, 0xfecf, 0xfe0e, 0x13d, 0x3c, 0x13d, 0x3c, 0x13d, 0x3c, 0x1eb, -0xa8, 0x1eb, 0xa8, 0x34d, 0x1c7, 0x34d, 0x1c7, 0x4c8, 0x2fd, 0x4c8, 0x2fd, -0x592, 0x382, 0x592, 0x382, 0x79f, 0x549, 0x79f, 0x549, 0xaa5, 0x809, 0xaa5, -0x809, 0xaa5, 0x809, 0xd2d, 0xa4b, 0xd2d, 0xa4b, 0xd38, 0xa12, 0xd38, 0xa12, -0xef4, 0xb8d, 0xef4, 0xb8d, 0x11e4, 0xe3e, 0x11e4, 0xe3e, 0x14d5, 0x10f4, 0x14d5, -0x10f4, 0x14d5, 0x10f4, 0x167a, 0x1261, 0x167a, 0x1261, 0x174d, 0x1303, 0x174d, 0x1303, -0x18cd, 0x1456, 0x18cd, 0x1456, 0x19e8, 0x154a, 0x19e8, 0x154a, 0x1b71, 0x16b2, 0x1b71, -0x16b2, 0x1ba6, 0x16ce, 0x1ba6, 0x16ce, 0x1ba6, 0x16ce, 0x1b7b, 0x1692, 0x1b7b, 0x1692, -0x1af6, 0x1602, 0x1af6, 0x1602, 0x1d3f, 0x1849, 0x1d3f, 0x1849, 0x1fab, 0x1abb, 0x1fab, -0x1abb, 0x1fdc, 0x1afa, 0x1fdc, 0x1afa, 0x202a, 0x1b5d, 0x202a, 0x1b5d, 0x202a, 0x1b5d, -0x1f76, 0x1ac7, 0x1f76, 0x1ac7, 0x1fd6, 0x1b4b, 0x1fd6, 0x1b4b, 0x1f65, 0x1b07, 0x1f65, -0x1b07, 0x1ebc, 0x1a91, 0x1ebc, 0x1a91, 0x1d4c, 0x1958, 0x1d4c, 0x1958, 0x1d4c, 0x1958, -0x1cb3, 0x18fe, 0x1cb3, 0x18fe, 0x1dfc, 0x1a89, 0x1dfc, 0x1a89, 0x1df8, 0x1acc, 0x1df8, -0x1acc, 0x1c39, 0x1957, 0x1c39, 0x1957, 0x19ba, 0x1724, 0x19ba, 0x1724, 0x196b, 0x1723, -0x196b, 0x1723, 0x196b, 0x1723, 0x18ca, 0x16d1, 0x18ca, 0x16d1, 0x1695, 0x14eb, 0x1695, -0x14eb, 0x135b, 0x1200, 0x135b, 0x1200, 0xfb3, 0xea6, 0xfb3, 0xea6, 0xd75, 0xcb3, -0xd75, 0xcb3, 0xc2a, 0xbb1, 0xc2a, 0xbb1, 0xc2a, 0xbb1, 0x96a, 0x938, 0x96a, -0x938, 0x60b, 0x61c, 0x60b, 0x61c, 0x35c, 0x3ad, 0x35c, 0x3ad, 0x271, 0x2fe, -0x271, 0x2fe, 0x326, 0x3ec, 0x326, 0x3ec, 0x326, 0x3ec, 0x140, 0x23b, 0x140, -0x23b, 0xff68, 0x94, 0xff68, 0x94, 0xfd8e, 0xfee7, 0xfd8e, 0xfee7, 0xfb96, 0xfd19, -0xfb96, 0xfd19, 0xfca4, 0xfe4d, 0xfca4, 0xfe4d, 0xfdcb, 0xff98, 0xfdcb, 0xff98, 0xfdcb, -0xff98, 0xfd92, 0xff7f, 0xfd92, 0xff7f, 0xfda2, 0xffae, 0xfda2, 0xffae, 0xfe19, 0x40, -0xfe19, 0x40, 0xfd8b, 0xffcc, 0xfd8b, 0xffcc, 0xfc4c, 0xfea5, 0xfc4c, 0xfea5, 0xfa18, -0xfc86, 0xfa18, 0xfc86, 0xfa18, 0xfc86, 0xf841, 0xfac3, 0xf841, 0xfac3, 0xf7d9, 0xfa6e, -0xf7d9, 0xfa6e, 0xf868, 0xfb0d, 0xf868, 0xfb0d, 0xf853, 0xfb07, 0xf853, 0xfb07, 0xf656, -0xf917, 0xf656, 0xf917, 0xf656, 0xf917, 0xf4b8, 0xf784, 0xf4b8, 0xf784, 0xf38f, 0xf663, -0xf38f, 0xf663, 0xf246, 0xf520, 0xf246, 0xf520, 0xf173, 0xf44f, 0xf173, 0xf44f, 0xeffc, -0xf2d8, 0xeffc, 0xf2d8, 0xed75, 0xf04c, 0xed75, 0xf04c, 0xed75, 0xf04c, 0xec21, 0xeeef, -0xec21, 0xeeef, 0xec7b, 0xef3c, 0xec7b, 0xef3c, 0xed03, 0xefb2, 0xed03, 0xefb2, 0xed38, -0xefd0, 0xed38, 0xefd0, 0xedb9, 0xf035, 0xedb9, 0xf035, 0xee0a, 0xf066, 0xee0a, 0xf066, -0xee0a, 0xf066, 0xed37, 0xef6c, 0xed37, 0xef6c, 0xec24, 0xee2e, 0xec24, 0xee2e, 0xebbc, -0xed96, 0xebbc, 0xed96, 0xec28, 0xedcd, 0xec28, 0xedcd, 0xef2d, 0xf098, 0xef2d, 0xf098, -0xef2d, 0xf098, 0xf4f1, 0xf620, 0xf4f1, 0xf620, 0xf7ea, 0xf8d9, 0xf7ea, 0xf8d9, 0xf9b3, -0xfa5f, 0xf9b3, 0xfa5f, 0xfc96, 0xfcfd, 0xfc96, 0xfcfd, 0xfdd8, 0xfdf9, 0xfdd8, 0xfdf9, -0x50, 0x2b, 0x50, 0x2b, 0x50, 0x2b, 0x2cf, 0x263, 0x2cf, 0x263, 0x40c, -0x35c, 0x40c, 0x35c, 0x62f, 0x53d, 0x62f, 0x53d, 0x881, 0x750, 0x881, 0x750, -0xaf4, 0x989, 0xaf4, 0x989, 0xc09, 0xa68, 0xc09, 0xa68, 0xc09, 0xa68, 0xccb, -0xaf9, 0xccb, 0xaf9, 0xeb3, 0xcb7, 0xeb3, 0xcb7, 0x1036, 0xe16, 0x1036, 0xe16, -0x11f7, 0xfba, 0x11f7, 0xfba, 0x12aa, 0x1058, 0x12aa, 0x1058, 0x12aa, 0x1058, 0x1361, -0x1102, 0x1361, 0x1102, 0x143e, 0x11d8, 0x143e, 0x11d8, 0x1556, 0x12f1, 0x1556, 0x12f1, -0x164d, 0x13ef, 0x164d, 0x13ef, 0x151a, 0x12ca, 0x151a, 0x12ca, 0x1562, 0x1326, 0x1562, -0x1326, 0x1562, 0x1326, 0x157f, 0x135b, 0x157f, 0x135b, 0x1603, 0x13fd, 0x1603, 0x13fd, -0x1538, 0x1353, 0x1538, 0x1353, 0x11dd, 0x101b, 0x11dd, 0x101b, 0x1147, 0xfa9, 0x1147, -0xfa9, 0x1167, 0xfee, 0x1167, 0xfee, 0x1167, 0xfee, 0x11bf, 0x106a, 0x11bf, 0x106a, -0x11be, 0x108d, 0x11be, 0x108d, 0x10cc, 0xfbb, 0x10cc, 0xfbb, 0xf6f, 0xe7b, 0xf6f, -0xe7b, 0xd88, 0xcaf, 0xd88, 0xcaf, 0xd88, 0xcaf, 0xbbb, 0xaf8, 0xbbb, 0xaf8, -0xafa, 0xa49, 0xafa, 0xa49, 0xa5c, 0x9b8, 0xa5c, 0x9b8, 0x947, 0x8ab, 0x947, -0x8ab, 0x8ae, 0x818, 0x8ae, 0x818, 0x7c8, 0x732, 0x7c8, 0x732, 0x7c8, 0x732, -0x76c, 0x6d2, 0x76c, 0x6d2, 0x699, 0x5fa, 0x699, 0x5fa, 0x5ad, 0x505, 0x5ad, -0x505, 0x4c0, 0x40e, 0x4c0, 0x40e, 0x4ff, 0x442, 0x4ff, 0x442, 0x582, 0x4ba, -0x582, 0x4ba, 0x582, 0x4ba, 0x4d5, 0x403, 0x4d5, 0x403, 0x4c5, 0x3e9, 0x4c5, -0x3e9, 0x3be, 0x2da, 0x3be, 0x2da, 0x45b, 0x372, 0x45b, 0x372, 0x58c, 0x4a0, -0x58c, 0x4a0, 0x58c, 0x4a0, 0x5ff, 0x514, 0x5ff, 0x514, 0x5a6, 0x4bd, 0x5a6, -0x4bd, 0x468, 0x384, 0x468, 0x384, 0x430, 0x353, 0x430, 0x353, 0x2f5, 0x222, -0x2f5, 0x222, 0x268, 0x1a0, 0x268, 0x1a0, 0x268, 0x1a0, 0x2a6, 0x1ea, 0x2a6, -0x1ea, 0x28e, 0x1dd, 0x28e, 0x1dd, 0x356, 0x2b0, 0x356, 0x2b0, 0x37e, 0x2e2, -0x37e, 0x2e2, 0x1a0, 0x10b, 0x1a0, 0x10b, 0x1b, 0xff8b, 0x1b, 0xff8b, 0x1b, -0xff8b, 0xffb1, 0xff21, 0xffb1, 0xff21, 0xff76, 0xfee3, 0xff76, 0xfee3, 0x73, 0xffd7, -0x73, 0xffd7, 0xfe, 0x55, 0xfe, 0x55, 0x85, 0xffc9, 0x85, 0xffc9, 0x85, -0xffc9, 0xca, 0xfff6, 0xca, 0xfff6, 0x1ac, 0xbc, 0x1ac, 0xbc, 0x231, 0x11f, -0x231, 0x11f, 0x202, 0xca, 0x202, 0xca, 0x2aa, 0x148, 0x2aa, 0x148, 0x50f, -0x37f, 0x50f, 0x37f, 0x50f, 0x37f, 0x729, 0x568, 0x729, 0x568, 0x8c0, 0x6cd, -0x8c0, 0x6cd, 0xa90, 0x86a, 0xa90, 0x86a, 0xb7f, 0x926, 0xb7f, 0x926, 0xbd3, -0x947, 0xbd3, 0x947, 0xbd3, 0x947, 0xdb3, 0xaf5, 0xdb3, 0xaf5, 0xf1e, 0xc31, -0xf1e, 0xc31, 0xee8, 0xbcf, 0xee8, 0xbcf, 0x106d, 0xd2b, 0x106d, 0xd2b, 0x1224, -0xebe, 0x1224, 0xebe, 0x1259, 0xed4, 0x1259, 0xed4, 0x1259, 0xed4, 0x110a, 0xd6b, -0x110a, 0xd6b, 0xf8d, 0xbd9, 0xf8d, 0xbd9, 0xf65, 0xba2, 0xf65, 0xba2, 0x1039, -0xc6c, 0x1039, 0xc6c, 0x11f0, 0xe20, 0x11f0, 0xe20, 0x1250, 0xe82, 0x1250, 0xe82, -0x1250, 0xe82, 0x10d0, 0xd0a, 0x10d0, 0xd0a, 0x1064, 0xcab, 0x1064, 0xcab, 0x1107, -0xd62, 0x1107, 0xd62, 0x1043, 0xcb5, 0x1043, 0xcb5, 0xe9c, 0xb2a, 0xe9c, 0xb2a, -0xe9c, 0xb2a, 0xc44, 0x8f4, 0xc44, 0x8f4, 0xb9d, 0x871, 0xb9d, 0x871, 0xbff, -0x8fb, 0xbff, 0x8fb, 0xbc8, 0x8f0, 0xbc8, 0x8f0, 0xb8d, 0x8e4, 0xb8d, 0x8e4, -0xa2f, 0x7b6, 0xa2f, 0x7b6, 0xa2f, 0x7b6, 0xa67, 0x821, 0xa67, 0x821, 0xb55, -0x943, 0xb55, 0x943, 0xb67, 0x98a, 0xb67, 0x98a, 0x957, 0x7b1, 0x957, 0x7b1, -0x5bc, 0x44c, 0x5bc, 0x44c, 0x30b, 0x1d1, 0x30b, 0x1d1, 0x30b, 0x1d1, 0x280, -0x17c, 0x280, 0x17c, 0x2ec, 0x21d, 0x2ec, 0x21d, 0x217, 0x17b, 0x217, 0x17b, -0x204, 0x19b, 0x204, 0x19b, 0x1e5, 0x1ae, 0x1e5, 0x1ae, 0x1e5, 0x1ae, 0x2a0, -0x299, 0x2a0, 0x299, 0x22a, 0x250, 0x22a, 0x250, 0x13, 0x66, 0x13, 0x66, -0xfe5d, 0xfedb, 0xfe5d, 0xfedb, 0xfe2a, 0xfed2, 0xfe2a, 0xfed2, 0xcc, 0x19b, 0xcc, -0x19b, 0xcc, 0x19b, 0x164, 0x25a, 0x164, 0x25a, 0xc1, 0x1dc, 0xc1, 0x1dc, -0x6, 0x145, 0x6, 0x145, 0xfeee, 0x51, 0xfeee, 0x51, 0xfed6, 0x5c, 0xfed6, -0x5c, 0xfeb5, 0x5e, 0xfeb5, 0x5e, 0xfeb5, 0x5e, 0xfd41, 0xff0b, 0xfd41, 0xff0b, -0xfc41, 0xfe2e, 0xfc41, 0xfe2e, 0xfc40, 0xfe4e, 0xfc40, 0xfe4e, 0xfba0, 0xfdce, 0xfba0, -0xfdce, 0xfa75, 0xfcc4, 0xfa75, 0xfcc4, 0xfa75, 0xfcc4, 0xf87b, 0xfae9, 0xf87b, 0xfae9, -0xf761, 0xf9ee, 0xf761, 0xf9ee, 0xf719, 0xf9c3, 0xf719, 0xf9c3, 0xf7f6, 0xfabd, 0xf7f6, -0xfabd, 0xf799, 0xfa7a, 0xf799, 0xfa7a, 0xf678, 0xf972, 0xf678, 0xf972, 0xf678, 0xf972, -0xf5e8, 0xf8f7, 0xf5e8, 0xf8f7, 0xf425, 0xf748, 0xf425, 0xf748, 0xf2fb, 0xf62e, 0xf2fb, -0xf62e, 0xf234, 0xf574, 0xf234, 0xf574, 0xf227, 0xf571, 0xf227, 0xf571, 0xf06b, 0xf3ba, -0xf06b, 0xf3ba, 0xf06b, 0xf3ba, 0xef54, 0xf2a5, 0xef54, 0xf2a5, 0xeed8, 0xf228, 0xeed8, -0xf228, 0xece4, 0xf02f, 0xece4, 0xf02f, 0xed41, 0xf084, 0xed41, 0xf084, 0xede8, 0xf11f, -0xede8, 0xf11f, 0xede8, 0xf11f, 0xee2d, 0xf156, 0xee2d, 0xf156, 0xee0a, 0xf122, 0xee0a, -0xf122, 0xee68, 0xf16d, 0xee68, 0xf16d, 0xeea5, 0xf194, 0xeea5, 0xf194, 0xedc0, 0xf098, -0xedc0, 0xf098, 0xed17, 0xefd8, 0xed17, 0xefd8, 0xed17, 0xefd8, 0xeca8, 0xef50, 0xeca8, -0xef50, 0xec76, 0xef05, 0xec76, 0xef05, 0xeb2f, 0xeda6, 0xeb2f, 0xeda6, 0xeb7b, 0xedda, -0xeb7b, 0xedda, 0xecb3, 0xeefb, 0xecb3, 0xeefb, 0xec20, 0xee52, 0xec20, 0xee52, 0xec20, -0xee52, 0xeb79, 0xed97, 0xeb79, 0xed97, 0xea01, 0xec0c, 0xea01, 0xec0c, 0xe851, 0xea4c, -0xe851, 0xea4c, 0xe8d4, 0xeac1, 0xe8d4, 0xeac1, 0xeadb, 0xecbc, 0xeadb, 0xecbc, 0xeadb, -0xecbc, 0xec5a, 0xee32, 0xec5a, 0xee32, 0xece6, 0xeeb8, 0xece6, 0xeeb8, 0xec66, 0xee34, -0xec66, 0xee34, 0xebc6, 0xed95, 0xebc6, 0xed95, 0xebbf, 0xed92, 0xebbf, 0xed92, 0xeb84, -0xed5e, 0xeb84, 0xed5e, 0xeb84, 0xed5e, 0xebcd, 0xedb1, 0xebcd, 0xedb1, 0xec6d, 0xee60, -0xec6d, 0xee60, 0xec1f, 0xee23, 0xec1f, 0xee23, 0xea95, 0xecaf, 0xea95, 0xecaf, 0xea16, -0xec48, 0xea16, 0xec48, 0xe9b8, 0xec05, 0xe9b8, 0xec05, 0xe9b8, 0xec05, 0xe8b1, 0xeb1b, -0xe8b1, 0xeb1b, 0xe9a1, 0xec2c, 0xe9a1, 0xec2c, 0xe97f, 0xec2b, 0xe97f, 0xec2b, 0xe89e, -0xeb6c, 0xe89e, 0xeb6c, 0xe8ef, 0xebdf, 0xe8ef, 0xebdf, 0xe8ef, 0xebdf, 0xe82e, 0xeb40, -0xe82e, 0xeb40, 0xe68b, 0xe9bc, 0xe68b, 0xe9bc, 0xe649, 0xe997, 0xe649, 0xe997, 0xe6aa, -0xea11, 0xe6aa, 0xea11, 0xe6d1, 0xea4e, 0xe6d1, 0xea4e, 0xe68c, 0xea18, 0xe68c, 0xea18, -0xe68c, 0xea18, 0xe4df, 0xe875, 0xe4df, 0xe875, 0xe476, 0xe810, 0xe476, 0xe810, 0xe3d6, -0xe76c, 0xe3d6, 0xe76c, 0xe3a5, 0xe730, 0xe3a5, 0xe730, 0xe4a0, 0xe818, 0xe4a0, 0xe818, -0xe469, 0xe7c7, 0xe469, 0xe7c7, 0xe469, 0xe7c7, 0xe4c8, 0xe806, 0xe4c8, 0xe806, 0xe5ae, -0xe8c5, 0xe5ae, 0xe8c5, 0xe63f, 0xe92a, 0xe63f, 0xe92a, 0xe6c4, 0xe97c, 0xe6c4, 0xe97c, -0xe7f3, 0xea75, 0xe7f3, 0xea75, 0xe7f3, 0xea75, 0xe8bf, 0xeb09, 0xe8bf, 0xeb09, 0xeaba, -0xecc9, 0xeaba, 0xecc9, 0xec6c, 0xee40, 0xec6c, 0xee40, 0xedb2, 0xef4c, 0xedb2, 0xef4c, -0xeffb, 0xf15b, 0xeffb, 0xf15b, 0xf0a3, 0xf1cd, 0xf0a3, 0xf1cd, 0xf0a3, 0xf1cd, 0xf1b2, -0xf2a9, 0xf1b2, 0xf2a9, 0xf2a1, 0xf369, 0xf2a1, 0xf369, 0xf34d, 0xf3eb, 0xf34d, 0xf3eb, -0xf5c1, 0xf638, 0xf5c1, 0xf638, 0xf94e, 0xf9a3, 0xf94e, 0xf9a3, 0xfb32, 0xfb69, 0xfb32, -0xfb69, 0xfb32, 0xfb69, 0xfcc6, 0xfce3, 0xfcc6, 0xfce3, 0xfd0b, 0xfd10, 0xfd0b, 0xfd10, -0xfcb8, 0xfca8, 0xfcb8, 0xfca8, 0xff3e, 0xff19, 0xff3e, 0xff19, 0xff80, 0xff47, 0xff80, -0xff47, 0xff80, 0xff47, 0xff43, 0xfef4, 0xff43, 0xfef4, 0xffed, 0xff86, 0xffed, 0xff86, -0x5c, 0xffda, 0x5c, 0xffda, 0x137, 0x96, 0x137, 0x96, 0x301, 0x23c, 0x301, -0x23c, 0x463, 0x375, 0x463, 0x375, 0x463, 0x375, 0x54e, 0x431, 0x54e, 0x431, -0x84f, 0x6ff, 0x84f, 0x6ff, 0x93e, 0x7b5, 0x93e, 0x7b5, 0x9ac, 0x7e6, 0x9ac, -0x7e6, 0xa67, 0x860, 0xa67, 0x860, 0xa67, 0x860, 0xb8c, 0x942, 0xb8c, 0x942, -0xe86, 0xbf6, 0xe86, 0xbf6, 0x1022, 0xd4e, 0x1022, 0xd4e, 0x1193, 0xe7b, 0x1193, -0xe7b, 0x131b, 0xfc3, 0x131b, 0xfc3, 0x1455, 0x10c1, 0x1455, 0x10c1, 0x1455, 0x10c1, -0x15d0, 0x1205, 0x15d0, 0x1205, 0x1748, 0x134e, 0x1748, 0x134e, 0x1908, 0x14e7, 0x1908, -0x14e7, 0x19e8, 0x15aa, 0x19e8, 0x15aa, 0x1bc5, 0x1774, 0x1bc5, 0x1774, 0x1e2e, 0x19d4, -0x1e2e, 0x19d4, 0x1e2e, 0x19d4, 0x1d56, 0x18fe, 0x1d56, 0x18fe, 0x1d98, 0x194d, 0x1d98, -0x194d, 0x1e68, 0x1a34, 0x1e68, 0x1a34, 0x1ec5, 0x1ab2, 0x1ec5, 0x1ab2, 0x1fc6, 0x1bdf, -0x1fc6, 0x1bdf, 0x1fc6, 0x1bdf, 0x1ee9, 0x1b34, 0x1ee9, 0x1b34, 0x1fe4, 0x1c6a, 0x1fe4, -0x1c6a, 0x20f7, 0x1dbf, 0x20f7, 0x1dbf, 0x208d, 0x1d9b, 0x208d, 0x1d9b, 0x1ec0, 0x1c19, -0x1ec0, 0x1c19, 0x1b6b, 0x1911, 0x1b6b, 0x1911, 0x1b6b, 0x1911, 0x19a7, 0x179b, 0x19a7, -0x179b, 0x190b, 0x174e, 0x190b, 0x174e, 0x192d, 0x17be, 0x192d, 0x17be, 0x177e, 0x165d, -0x177e, 0x165d, 0x1544, 0x146e, 0x1544, 0x146e, 0x1399, 0x130a, 0x1399, 0x130a, 0x1399, -0x130a, 0x109b, 0x1051, 0x109b, 0x1051, 0xf12, 0xf08, 0xf12, 0xf08, 0xcff, 0xd32, -0xcff, 0xd32, 0xacf, 0xb3a, 0xacf, 0xb3a, 0x960, 0x9fd, 0x960, 0x9fd, 0x960, -0x9fd, 0x5f2, 0x6bd, 0x5f2, 0x6bd, 0x392, 0x486, 0x392, 0x486, 0xb1, 0x1c9, -0xb1, 0x1c9, 0xfe5f, 0xff97, 0xfe5f, 0xff97, 0xfe75, 0xffc7, 0xfe75, 0xffc7, 0xfe0e, -0xff75, 0xfe0e, 0xff75, 0xfe0e, 0xff75, 0xfe06, 0xff7e, 0xfe06, 0xff7e, 0xfda0, 0xff23, -0xfda0, 0xff23, 0xfbb6, 0xfd41, 0xfbb6, 0xfd41, 0xf9aa, 0xfb38, 0xf9aa, 0xfb38, 0xf8e9, -0xfa77, 0xf8e9, 0xfa77, 0xf769, 0xf8f3, 0xf769, 0xf8f3, 0xf769, 0xf8f3, 0xf7a2, 0xf924, -0xf7a2, 0xf924, 0xf856, 0xf9ce, 0xf856, 0xf9ce, 0xf761, 0xf8cd, 0xf761, 0xf8cd, 0xf7ef, -0xf94d, 0xf7ef, 0xf94d, 0xf7ae, 0xf8fd, 0xf7ae, 0xf8fd, 0xf7ae, 0xf8fd, 0xf676, 0xf7b5, -0xf676, 0xf7b5, 0xf451, 0xf581, 0xf451, 0xf581, 0xf2e2, 0xf403, 0xf2e2, 0xf403, 0xf19f, -0xf2b3, 0xf19f, 0xf2b3, 0xf148, 0xf250, 0xf148, 0xf250, 0xf1de, 0xf2dd, 0xf1de, 0xf2dd, -0xf1de, 0xf2dd, 0xf18a, 0xf282, 0xf18a, 0xf282, 0xf209, 0xf2fc, 0xf209, 0xf2fc, 0xf0c6, -0xf1b7, 0xf0c6, 0xf1b7, 0xefdd, 0xf0cd, 0xefdd, 0xf0cd, 0xee81, 0xef73, 0xee81, 0xef73, -0xec62, 0xed56, 0xec62, 0xed56, 0xec62, 0xed56, 0xecd0, 0xedc8, 0xecd0, 0xedc8, 0xede2, -0xeedd, 0xede2, 0xeedd, 0xeddd, 0xeeda, 0xeddd, 0xeeda, 0xed79, 0xee75, 0xed79, 0xee75, -0xed95, 0xee8d, 0xed95, 0xee8d, 0xed95, 0xee8d, 0xed82, 0xee72, 0xed82, 0xee72, 0xee57, -0xef3a, 0xee57, 0xef3a, 0xf054, 0xf126, 0xf054, 0xf126, 0xf217, 0xf2d1, 0xf217, 0xf2d1, -0xf3ac, 0xf447, 0xf3ac, 0xf447, 0xf672, 0xf6e8, 0xf672, 0xf6e8, 0xf672, 0xf6e8, 0xf85b, -0xf8a5, 0xf85b, 0xf8a5, 0xfa8f, 0xfaa8, 0xfa8f, 0xfaa8, 0xfe19, 0xfdfb, 0xfe19, 0xfdfb, -0x1ad, 0x154, 0x1ad, 0x154, 0x46e, 0x3d7, 0x46e, 0x3d7, 0x577, 0x49f, 0x577, -0x49f, 0x577, 0x49f, 0x7a0, 0x688, 0x7a0, 0x688, 0x961, 0x80a, 0x961, 0x80a, -0xbf4, 0xa60, 0xbf4, 0xa60, 0xe50, 0xc84, 0xe50, 0xc84, 0x1041, 0xe42, 0x1041, -0xe42, 0x1041, 0xe42, 0x11f2, 0xfc8, 0x11f2, 0xfc8, 0x1237, 0xfeb, 0x1237, 0xfeb, -0x14c1, 0x125b, 0x14c1, 0x125b, 0x15ff, 0x138a, 0x15ff, 0x138a, 0x16a1, 0x1427, 0x16a1, -0x1427, 0x168f, 0x141b, 0x168f, 0x141b, 0x168f, 0x141b, 0x16e5, 0x1481, 0x16e5, 0x1481, -0x1946, 0x16fb, 0x1946, 0x16fb, 0x1a65, 0x183c, 0x1a65, 0x183c, 0x1b40, 0x1941, 0x1b40, -0x1941, 0x1a88, 0x18b8, 0x1a88, 0x18b8, 0x1944, 0x17a8, 0x1944, 0x17a8, 0x1944, 0x17a8, -0x17ff, 0x169a, 0x17ff, 0x169a, 0x1637, 0x150a, 0x1637, 0x150a, 0x14b2, 0x13bd, 0x14b2, -0x13bd, 0x13f2, 0x1332, 0x13f2, 0x1332, 0x1415, 0x1386, 0x1415, 0x1386, 0x1415, 0x1386, -0x144e, 0x13ec, 0x144e, 0x13ec, 0x13fd, 0x13c2, 0x13fd, 0x13c2, 0x126f, 0x1255, 0x126f, -0x1255, 0x1147, 0x1145, 0x1147, 0x1145, 0x10fd, 0x110c, 0x10fd, 0x110c, 0x1089, 0x10a2, -0x1089, 0x10a2, 0x1089, 0x10a2, 0xf75, 0xf91, 0xf75, 0xf91, 0xe66, 0xe7d, 0xe66, -0xe7d, 0xd1c, 0xd2a, 0xd1c, 0xd2a, 0xaf2, 0xaf0, 0xaf2, 0xaf0, 0x8b0, 0x89b, -0x8b0, 0x89b, 0x784, 0x758, 0x784, 0x758, 0x784, 0x758, 0x701, 0x6bd, 0x701, -0x6bd, 0x69a, 0x63e, 0x69a, 0x63e, 0x67a, 0x606, 0x67a, 0x606, 0x53c, 0x4b1, -0x53c, 0x4b1, 0x46b, 0x3cc, 0x46b, 0x3cc, 0x46b, 0x3cc, 0x485, 0x3d4, 0x485, -0x3d4, 0x530, 0x472, 0x530, 0x472, 0x4ea, 0x421, 0x4ea, 0x421, 0x2cd, 0x1fe, -0x2cd, 0x1fe, 0x2cc, 0x1fa, 0x2cc, 0x1fa, 0x1f2, 0x120, 0x1f2, 0x120, 0x1f2, -0x120, 0x88, 0xffbb, 0x88, 0xffbb, 0x103, 0x3c, 0x103, 0x3c, 0x15, 0xff56, -0x15, 0xff56, 0x69, 0xffb5, 0x69, 0xffb5, 0x191, 0xe7, 0x191, 0xe7, 0x1dd, -0x13c, 0x1dd, 0x13c, 0x1dd, 0x13c, 0x227, 0x18f, 0x227, 0x18f, 0x1f4, 0x163, -0x1f4, 0x163, 0x22f, 0x1a3, 0x22f, 0x1a3, 0xd6, 0x4b, 0xd6, 0x4b, 0xff17, -0xfe89, 0xff17, 0xfe89, 0xff17, 0xfe89, 0xff56, 0xfec2, 0xff56, 0xfec2, 0xff50, 0xfeb0, -0xff50, 0xfeb0, 0xfec7, 0xfe18, 0xfec7, 0xfe18, 0xfe30, 0xfd6d, 0xfe30, 0xfd6d, 0xfd2d, -0xfc51, 0xfd2d, 0xfc51, 0xfccd, 0xfbd5, 0xfccd, 0xfbd5, 0xfccd, 0xfbd5, 0xfc95, 0xfb7b, -0xfc95, 0xfb7b, 0xfd85, 0xfc47, 0xfd85, 0xfc47, 0xff37, 0xfdd0, 0xff37, 0xfdd0, 0xff74, -0xfde2, 0xff74, 0xfde2, 0xd6, 0xff17, 0xd6, 0xff17, 0xd6, 0xff17, 0x254, 0x64, -0x254, 0x64, 0x40d, 0x1ee, 0x40d, 0x1ee, 0x682, 0x432, 0x682, 0x432, 0x89c, -0x61c, 0x89c, 0x61c, 0xaa4, 0x7f4, 0xaa4, 0x7f4, 0xa64, 0x787, 0xa64, 0x787, -0xa64, 0x787, 0xad2, 0x7cb, 0xad2, 0x7cb, 0xc68, 0x93a, 0xc68, 0x93a, 0xcce, -0x97e, 0xcce, 0x97e, 0xe16, 0xaa8, 0xe16, 0xaa8, 0x105d, 0xcd6, 0x105d, 0xcd6, -0x11a6, 0xe0d, 0x11a6, 0xe0d, 0x11a6, 0xe0d, 0x121b, 0xe76, 0x121b, 0xe76, 0x1125, -0xd79, 0x1125, 0xd79, 0xfbb, 0xc10, 0xfbb, 0xc10, 0xf40, 0xb9b, 0xf40, 0xb9b, -0xdd3, 0xa3b, 0xdd3, 0xa3b, 0xdd3, 0xa3b, 0xd52, 0x9cd, 0xd52, 0x9cd, 0xdcf, -0xa63, 0xdcf, 0xa63, 0xf2f, 0xbdf, 0xf2f, 0xbdf, 0x1019, 0xcea, 0x1019, 0xcea, -0xed9, 0xbcf, 0xed9, 0xbcf, 0xdb8, 0xad4, 0xdb8, 0xad4, 0xdb8, 0xad4, 0xc5b, -0x99f, 0xc5b, 0x99f, 0xbad, 0x919, 0xbad, 0x919, 0xc52, 0x9e6, 0xc52, 0x9e6, -0xc82, 0xa3d, 0xc82, 0xa3d, 0xbc0, 0x9a0, 0xbc0, 0x9a0, 0xbd1, 0x9d4, 0xbd1, -0x9d4, 0xbd1, 0x9d4, 0xc2b, 0xa4e, 0xc2b, 0xa4e, 0xc0a, 0xa49, 0xc0a, 0xa49, -0xad1, 0x929, 0xad1, 0x929, 0x8b2, 0x721, 0x8b2, 0x721, 0x7b2, 0x633, 0x7b2, -0x633, 0x7b2, 0x633, 0x723, 0x5b6, 0x723, 0x5b6, 0x7db, 0x67c, 0x7db, 0x67c, -0x85f, 0x70d, 0x85f, 0x70d, 0x763, 0x61c, 0x763, 0x61c, 0x6d7, 0x59c, 0x6d7, -0x59c, 0x629, 0x4fb, 0x629, 0x4fb, 0x629, 0x4fb, 0x53c, 0x41c, 0x53c, 0x41c, -0x5f0, 0x4e1, 0x5f0, 0x4e1, 0x642, 0x546, 0x642, 0x546, 0x5aa, 0x4c6, 0x5aa, -0x4c6, 0x593, 0x4c9, 0x593, 0x4c9, 0x4b6, 0x40b, 0x4b6, 0x40b, 0x4b6, 0x40b, -0x517, 0x48e, 0x517, 0x48e, 0x520, 0x4bd, 0x520, 0x4bd, 0x4d6, 0x49d, 0x4d6, -0x49d, 0x5fa, 0x5ee, 0x5fa, 0x5ee, 0x5ff, 0x623, 0x5ff, 0x623, 0x5ff, 0x623, -0x458, 0x4ad, 0x458, 0x4ad, 0x162, 0x1ea, 0x162, 0x1ea, 0xff1b, 0xffd6, 0xff1b, -0xffd6, 0xfd42, 0xfe31, 0xfd42, 0xfe31, 0xfcae, 0xfdcf, 0xfcae, 0xfdcf, 0xfd92, 0xfee5, -0xfd92, 0xfee5, 0xfd92, 0xfee5, 0xfd00, 0xfe83, 0xfd00, 0xfe83, 0xfd26, 0xfed6, 0xfd26, -0xfed6, 0xfda8, 0xff84, 0xfda8, 0xff84, 0xfd37, 0xff3d, 0xfd37, 0xff3d, 0xfc4d, 0xfe7a, -0xfc4d, 0xfe7a, 0xfa0d, 0xfc60, 0xfa0d, 0xfc60, 0xfa0d, 0xfc60, 0xf8e5, 0xfb5c, 0xf8e5, -0xfb5c, 0xf78a, 0xfa24, 0xf78a, 0xfa24, 0xf515, 0xf7d1, 0xf515, 0xf7d1, 0xf317, 0xf5f5, -0xf317, 0xf5f5, 0xf0ad, 0xf3ad, 0xf0ad, 0xf3ad, 0xf0ad, 0xf3ad, 0xef0b, 0xf22d, 0xef0b, -0xf22d, 0xeec2, 0xf207, 0xeec2, 0xf207, 0xeef2, 0xf259, 0xeef2, 0xf259, 0xeec2, 0xf24c, -0xeec2, 0xf24c, 0xeeea, 0xf299, 0xeeea, 0xf299, 0xee15, 0xf1e7, 0xee15, 0xf1e7, 0xee15, -0xf1e7, 0xec5a, 0xf04e, 0xec5a, 0xf04e, 0xeb6e, 0xef83, 0xeb6e, 0xef83, 0xeb2e, 0xef61, -0xeb2e, 0xef61, 0xec3b, 0xf089, 0xec3b, 0xf089, 0xec9f, 0xf104, 0xec9f, 0xf104, 0xec1e, -0xf096, 0xec1e, 0xf096, 0xec1e, 0xf096, 0xeb6d, 0xeff1, 0xeb6d, 0xeff1, 0xeabe, 0xef49, -0xeabe, 0xef49, 0xea8d, 0xef17, 0xea8d, 0xef17, 0xeaa4, 0xef26, 0xeaa4, 0xef26, 0xeae3, -0xef55, 0xeae3, 0xef55, 0xeae3, 0xef55, 0xeab8, 0xef15, 0xeab8, 0xef15, 0xe929, 0xed68, -0xe929, 0xed68, 0xe84a, 0xec66, 0xe84a, 0xec66, 0xe846, 0xec3b, 0xe846, 0xec3b, 0xe768, -0xeb32, 0xe768, 0xeb32, 0xe771, 0xeb0c, 0xe771, 0xeb0c, 0xe771, 0xeb0c, 0xe705, 0xea71, -0xe705, 0xea71, 0xe7c0, 0xeafe, 0xe7c0, 0xeafe, 0xe8bc, 0xebcd, 0xe8bc, 0xebcd, 0xe996, -0xec7f, 0xe996, 0xec7f, 0xea27, 0xeced, 0xea27, 0xeced, 0xe805, 0xeaad, 0xe805, 0xeaad, -0xe805, 0xeaad, 0xe771, 0xea03, 0xe771, 0xea03, 0xe712, 0xe996, 0xe712, 0xe996, 0xe6e8, -0xe966, 0xe6e8, 0xe966, 0xe766, 0xe9e7, 0xe766, 0xe9e7, 0xe6c8, 0xe953, 0xe6c8, 0xe953, -0xe6c8, 0xe953, 0xe69f, 0xe93d, 0xe69f, 0xe93d, 0xe72d, 0xe9e4, 0xe72d, 0xe9e4, 0xe6bd, -0xe992, 0xe6bd, 0xe992, 0xe633, 0xe92c, 0xe633, 0xe92c, 0xe68c, 0xe9ab, 0xe68c, 0xe9ab, -0xe605, 0xe94c, 0xe605, 0xe94c, 0xe605, 0xe94c, 0xe5f7, 0xe964, 0xe5f7, 0xe964, 0xe568, -0xe8fa, 0xe568, 0xe8fa, 0xe472, 0xe825, 0xe472, 0xe825, 0xe2c4, 0xe693, 0xe2c4, 0xe693, -0xe0cc, 0xe4b0, 0xe0cc, 0xe4b0, 0xdef4, 0xe2e7, 0xdef4, 0xe2e7, 0xdef4, 0xe2e7, 0xdd5c, -0xe155, 0xdd5c, 0xe155, 0xddc6, 0xe1bd, 0xddc6, 0xe1bd, 0xdd70, 0xe15d, 0xdd70, 0xe15d, -0xdd71, 0xe14c, 0xdd71, 0xe14c, 0xdeef, 0xe2ae, 0xdeef, 0xe2ae, 0xdeef, 0xe2ae, 0xe150, -0xe4ee, 0xe150, 0xe4ee, 0xe337, 0xe6ab, 0xe337, 0xe6ab, 0xe3f5, 0xe73b, 0xe3f5, 0xe73b, -0xe3c5, 0xe6d9, 0xe3c5, 0xe6d9, 0xe33d, 0xe61b, 0xe33d, 0xe61b, 0xe32c, 0xe5d2, 0xe32c, -0xe5d2, 0xe32c, 0xe5d2, 0xe421, 0xe68e, 0xe421, 0xe68e, 0xe706, 0xe93a, 0xe706, 0xe93a, -0xe900, 0xeafb, 0xe900, 0xeafb, 0xeb5b, 0xed1f, 0xeb5b, 0xed1f, 0xed53, 0xeee0, 0xed53, -0xeee0, 0xeed1, 0xf02b, 0xeed1, 0xf02b, 0xeed1, 0xf02b, 0xf074, 0xf19b, 0xf074, 0xf19b, -0xf171, 0xf269, 0xf171, 0xf269, 0xf385, 0xf44e, 0xf385, 0xf44e, 0xf411, 0xf4ae, 0xf411, -0xf4ae, 0xf529, 0xf599, 0xf529, 0xf599, 0xf529, 0xf599, 0xf73b, 0xf780, 0xf73b, 0xf780, -0xf8a4, 0xf8bc, 0xf8a4, 0xf8bc, 0xf9cc, 0xf9b7, 0xf9cc, 0xf9b7, 0xfa31, 0xf9ed, 0xfa31, -0xf9ed, 0xfa0f, 0xf99c, 0xfa0f, 0xf99c, 0xf96a, 0xf8c5, 0xf96a, 0xf8c5, 0xf96a, 0xf8c5, -0xf9ae, 0xf8d5, 0xf9ae, 0xf8d5, 0xfa94, 0xf986, 0xfa94, 0xf986, 0xfc9d, 0xfb57, 0xfc9d, -0xfb57, 0xff81, 0xfe02, 0xff81, 0xfe02, 0x1dc, 0x22, 0x1dc, 0x22, 0x1dc, 0x22, -0x450, 0x25b, 0x450, 0x25b, 0x6cf, 0x49f, 0x6cf, 0x49f, 0x8ad, 0x643, 0x8ad, -0x643, 0x9d4, 0x730, 0x9d4, 0x730, 0xab5, 0x7da, 0xab5, 0x7da, 0xb9d, 0x88c, -0xb9d, 0x88c, 0xb9d, 0x88c, 0xd5c, 0xa1a, 0xd5c, 0xa1a, 0xfe9, 0xc79, 0xfe9, -0xc79, 0x115e, 0xdc5, 0x115e, 0xdc5, 0x12ce, 0xf11, 0x12ce, 0xf11, 0x15a2, 0x11c5, -0x15a2, 0x11c5, 0x1753, 0x135c, 0x1753, 0x135c, 0x1753, 0x135c, 0x19ae, 0x15a3, 0x19ae, -0x15a3, 0x1c0a, 0x17f1, 0x1c0a, 0x17f1, 0x1cc6, 0x18a5, 0x1cc6, 0x18a5, 0x1f40, 0x1b1c, -0x1f40, 0x1b1c, 0x2050, 0x1c2f, 0x2050, 0x1c2f, 0x2050, 0x1c2f, 0x2041, 0x1c2a, 0x2041, -0x1c2a, 0x2093, 0x1c8c, 0x2093, 0x1c8c, 0x2047, 0x1c55, 0x2047, 0x1c55, 0x2266, 0x1e91, -0x2266, 0x1e91, 0x24e1, 0x212e, 0x24e1, 0x212e, 0x25e5, 0x225a, 0x25e5, 0x225a, 0x25e5, -0x225a, 0x25fa, 0x229e, 0x25fa, 0x229e, 0x257e, 0x2255, 0x257e, 0x2255, 0x24f6, 0x2208, -0x24f6, 0x2208, 0x2400, 0x2151, 0x2400, 0x2151, 0x2296, 0x202d, 0x2296, 0x202d, 0x20bc, -0x1e9d, 0x20bc, 0x1e9d, 0x20bc, 0x1e9d, 0x2013, 0x1e41, 0x2013, 0x1e41, 0x1f88, 0x1e08, -0x1f88, 0x1e08, 0x1eb4, 0x1d87, 0x1eb4, 0x1d87, 0x1d14, 0x1c3d, 0x1d14, 0x1c3d, 0x194d, -0x18cb, 0x194d, 0x18cb, 0x194d, 0x18cb, 0x1698, 0x166a, 0x1698, 0x166a, 0x154e, 0x1573, -0x154e, 0x1573, 0x142a, 0x149e, 0x142a, 0x149e, 0x12ae, 0x136e, 0x12ae, 0x136e, 0x1003, -0x1107, 0x1003, 0x1107, 0xc8b, 0xdcd, 0xc8b, 0xdcd, 0xc8b, 0xdcd, 0x905, 0xa7c, -0x905, 0xa7c, 0x678, 0x81d, 0x678, 0x81d, 0x543, 0x70b, 0x543, 0x70b, 0x3a0, -0x583, 0x3a0, 0x583, 0x99, 0x28c, 0x99, 0x28c, 0xfeb8, 0xb3, 0xfeb8, 0xb3, -0xfeb8, 0xb3, 0xfe66, 0x5f, 0xfe66, 0x5f, 0xfdf2, 0xffe2, 0xfdf2, 0xffe2, 0xfde0, -0xffc0, 0xfde0, 0xffc0, 0xfddd, 0xffa6, 0xfddd, 0xffa6, 0xfc8f, 0xfe3e, 0xfc8f, 0xfe3e, -0xfc8f, 0xfe3e, 0xfc07, 0xfd99, 0xfc07, 0xfd99, 0xfc0b, 0xfd7f, 0xfc0b, 0xfd7f, 0xfb0d, -0xfc63, 0xfb0d, 0xfc63, 0xfaa5, 0xfbe0, 0xfaa5, 0xfbe0, 0xf9b9, 0xfadb, 0xf9b9, 0xfadb, -0xf8c1, 0xf9d0, 0xf8c1, 0xf9d0, 0xf8c1, 0xf9d0, 0xf7f4, 0xf8f4, 0xf7f4, 0xf8f4, 0xf71e, -0xf816, 0xf71e, 0xf816, 0xf707, 0xf7ff, 0xf707, 0xf7ff, 0xf69c, 0xf799, 0xf69c, 0xf799, -0xf625, 0xf72e, 0xf625, 0xf72e, 0xf4a2, 0xf5bc, 0xf4a2, 0xf5bc, 0xf4a2, 0xf5bc, 0xf34b, -0xf47c, 0xf34b, 0xf47c, 0xf212, 0xf35e, 0xf212, 0xf35e, 0xefe8, 0xf151, 0xefe8, 0xf151, -0xee88, 0xf00f, 0xee88, 0xf00f, 0xec06, 0xedaa, 0xec06, 0xedaa, 0xec06, 0xedaa, 0xe9e7, -0xeba6, 0xe9e7, 0xeba6, 0xea38, 0xec10, 0xea38, 0xec10, 0xea19, 0xec03, 0xea19, 0xec03, -0xea7f, 0xec75, 0xea7f, 0xec75, 0xec98, 0xee91, 0xec98, 0xee91, 0xedb1, 0xefa5, 0xedb1, -0xefa5, 0xedb1, 0xefa5, 0xee09, 0xeff0, 0xee09, 0xeff0, 0xeea0, 0xf070, 0xeea0, 0xf070, -0xeece, 0xf07c, 0xeece, 0xf07c, 0xef67, 0xf0ea, 0xef67, 0xf0ea, 0xf116, 0xf265, 0xf116, -0xf265, 0xf494, 0xf5a8, 0xf494, 0xf5a8, 0xf494, 0xf5a8, 0xf89b, 0xf96c, 0xf89b, 0xf96c, -0xfb66, 0xfbee, 0xfb66, 0xfbee, 0xfce4, 0xfd1f, 0xfce4, 0xfd1f, 0xfdda, 0xfdc6, 0xfdda, -0xfdc6, 0xff16, 0xfeb0, 0xff16, 0xfeb0, 0xff16, 0xfeb0, 0xffc5, 0xff0e, 0xffc5, 0xff0e, -0x10f, 0x9, 0x10f, 0x9, 0x2df, 0x18e, 0x2df, 0x18e, 0x56d, 0x3d5, 0x56d, -0x3d5, 0x84e, 0x674, 0x84e, 0x674, 0x9be, 0x7a9, 0x9be, 0x7a9, 0x9be, 0x7a9, -0xc18, 0x9d1, 0xc18, 0x9d1, 0xdc1, 0xb4e, 0xdc1, 0xb4e, 0xeb4, 0xc1f, 0xeb4, -0xc1f, 0x10c3, 0xe14, 0x10c3, 0xe14, 0x1156, 0xe96, 0x1156, 0xe96, 0x1194, 0xecb, -0x1194, 0xecb, 0x1194, 0xecb, 0x1236, 0xf6c, 0x1236, 0xf6c, 0x129f, 0xfdc, 0x129f, -0xfdc, 0x13ff, 0x114b, 0x13ff, 0x114b, 0x14f5, 0x1256, 0x14f5, 0x1256, 0x153c, 0x12b7, -0x153c, 0x12b7, 0x153c, 0x12b7, 0x14c5, 0x1260, 0x14c5, 0x1260, 0x129d, 0x105b, 0x129d, -0x105b, 0x10d8, 0xebd, 0x10d8, 0xebd, 0xff7, 0xe03, 0xff7, 0xe03, 0xfbc, 0xdf3, -0xfbc, 0xdf3, 0xf26, 0xd87, 0xf26, 0xd87, 0xf26, 0xd87, 0xe88, 0xd13, 0xe88, -0xd13, 0xe79, 0xd2d, 0xe79, 0xd2d, 0xd72, 0xc4d, 0xd72, 0xc4d, 0xcd3, 0xbd2, -0xcd3, 0xbd2, 0xb9f, 0xabf, 0xb9f, 0xabf, 0x9f7, 0x935, 0x9f7, 0x935, 0x9f7, -0x935, 0x813, 0x76b, 0x813, 0x76b, 0x613, 0x581, 0x613, 0x581, 0x595, 0x513, -0x595, 0x513, 0x55b, 0x4e5, 0x55b, 0x4e5, 0x5af, 0x543, 0x5af, 0x543, 0x5af, -0x543, 0x5b7, 0x54e, 0x5b7, 0x54e, 0x559, 0x4f1, 0x559, 0x4f1, 0x540, 0x4d6, -0x540, 0x4d6, 0x538, 0x4c7, 0x538, 0x4c7, 0x4e0, 0x468, 0x4e0, 0x468, 0x385, -0x304, 0x385, 0x304, 0x385, 0x304, 0x272, 0x1e7, 0x272, 0x1e7, 0x220, 0x18b, -0x220, 0x18b, 0x1a2, 0x105, 0x1a2, 0x105, 0x1e1, 0x13c, 0x1e1, 0x13c, 0x315, -0x269, 0x315, 0x269, 0x31e, 0x26e, 0x31e, 0x26e, 0x31e, 0x26e, 0x354, 0x2a4, -0x354, 0x2a4, 0x381, 0x2d1, 0x381, 0x2d1, 0x35e, 0x2b1, 0x35e, 0x2b1, 0x372, -0x2cb, 0x372, 0x2cb, 0x388, 0x2e7, 0x388, 0x2e7, 0x388, 0x2e7, 0x471, 0x3d8, -0x471, 0x3d8, 0x472, 0x3e1, 0x472, 0x3e1, 0x500, 0x475, 0x500, 0x475, 0x4fd, -0x477, 0x4fd, 0x477, 0x3d4, 0x34f, 0x3d4, 0x34f, 0x2c9, 0x241, 0x2c9, 0x241, -0x2c9, 0x241, 0x139, 0xa9, 0x139, 0xa9, 0x84, 0xffe6, 0x84, 0xffe6, 0xfef2, -0xfe3f, 0xfef2, 0xfe3f, 0xfe33, 0xfd63, 0xfe33, 0xfd63, 0xff4a, 0xfe55, 0xff4a, 0xfe55, -0xff4a, 0xfe55, 0xc8, 0xffa8, 0xc8, 0xffa8, 0x256, 0x102, 0x256, 0x102, 0x345, -0x1b7, 0x345, 0x1b7, 0x48e, 0x2bf, 0x48e, 0x2bf, 0x50d, 0x2f9, 0x50d, 0x2f9, -0x5eb, 0x38f, 0x5eb, 0x38f, 0x5eb, 0x38f, 0x7a7, 0x501, 0x7a7, 0x501, 0x8d6, -0x5e6, 0x8d6, 0x5e6, 0xa37, 0x700, 0xa37, 0x700, 0xbfe, 0x883, 0xbfe, 0x883, -0xdee, 0xa36, 0xdee, 0xa36, 0xf38, 0xb4a, 0xf38, 0xb4a, 0xf38, 0xb4a, 0x1054, -0xc39, 0x1054, 0xc39, 0x1166, 0xd2b, 0x1166, 0xd2b, 0x126c, 0xe1b, 0x126c, 0xe1b, -0x13d3, 0xf7a, 0x13d3, 0xf7a, 0x147c, 0x1026, 0x147c, 0x1026, 0x147c, 0x1026, 0x147d, -0x1039, 0x147d, 0x1039, 0x13c2, 0xf9c, 0x13c2, 0xf9c, 0x129c, 0xe9f, 0x129c, 0xe9f, -0x12ac, 0xee2, 0x12ac, 0xee2, 0x1389, 0xffc, 0x1389, 0xffc, 0x1515, 0x11cd, 0x1515, -0x11cd, 0x1515, 0x11cd, 0x1633, 0x1335, 0x1633, 0x1335, 0x162b, 0x1379, 0x162b, 0x1379, -0x15fd, 0x1399, 0x15fd, 0x1399, 0x14a5, 0x128e, 0x14a5, 0x128e, 0x13a4, 0x11d7, 0x13a4, -0x11d7, 0x12ca, 0x1143, 0x12ca, 0x1143, 0x12ca, 0x1143, 0x10bb, 0xf73, 0x10bb, 0xf73, -0xf77, 0xe68, 0xf77, 0xe68, 0xebd, 0xddd, 0xebd, 0xddd, 0xead, 0xdf4, 0xead, -0xdf4, 0xeda, 0xe3f, 0xeda, 0xe3f, 0xeda, 0xe3f, 0xe16, 0xd91, 0xe16, 0xd91, -0xd09, 0xc90, 0xd09, 0xc90, 0xba5, 0xb30, 0xba5, 0xb30, 0x9ec, 0x976, 0x9ec, -0x976, 0x913, 0x895, 0x913, 0x895, 0x8e5, 0x85b, 0x8e5, 0x85b, 0x8e5, 0x85b, -0x8cb, 0x831, 0x8cb, 0x831, 0x90a, 0x85f, 0x90a, 0x85f, 0x8e6, 0x829, 0x8e6, -0x829, 0x8ce, 0x800, 0x8ce, 0x800, 0x846, 0x769, 0x846, 0x769, 0x7a7, 0x6be, -0x7a7, 0x6be, 0x7a7, 0x6be, 0x77c, 0x689, 0x77c, 0x689, 0x741, 0x649, 0x741, -0x649, 0x7cc, 0x6d3, 0x7cc, 0x6d3, 0x81c, 0x727, 0x81c, 0x727, 0x828, 0x73b, -0x828, 0x73b, 0x828, 0x73b, 0x79e, 0x6bc, 0x79e, 0x6bc, 0x6d0, 0x5fe, 0x6d0, -0x5fe, 0x5db, 0x51c, 0x5db, 0x51c, 0x439, 0x390, 0x439, 0x390, 0x298, 0x207, -0x298, 0x207, 0x1c, 0xffa6, 0x1c, 0xffa6, 0x1c, 0xffa6, 0xfda7, 0xfd4d, 0xfda7, -0xfd4d, 0xfbc9, 0xfb8e, 0xfbc9, 0xfb8e, 0xfb35, 0xfb19, 0xfb35, 0xfb19, 0xfb3d, 0xfb42, -0xfb3d, 0xfb42, 0xfad4, 0xfafb, 0xfad4, 0xfafb, 0xfae2, 0xfb2d, 0xfae2, 0xfb2d, 0xfae2, -0xfb2d, 0xf9ef, 0xfa60, 0xf9ef, 0xfa60, 0xf8bc, 0xf956, 0xf8bc, 0xf956, 0xf87b, 0xf93f, -0xf87b, 0xf93f, 0xf767, 0xf858, 0xf767, 0xf858, 0xf510, 0xf632, 0xf510, 0xf632, 0xf510, -0xf632, 0xf309, 0xf45e, 0xf309, 0xf45e, 0xf1d8, 0xf363, 0xf1d8, 0xf363, 0xf130, 0xf2f4, -0xf130, 0xf2f4, 0xf038, 0xf237, 0xf038, 0xf237, 0xeec7, 0xf103, 0xeec7, 0xf103, 0xee0c, -0xf088, 0xee0c, 0xf088, 0xee0c, 0xf088, 0xecc8, 0xef84, 0xecc8, 0xef84, 0xebc0, 0xeebb, -0xebc0, 0xeebb, 0xeb44, 0xee7e, 0xeb44, 0xee7e, 0xe9b4, 0xed29, 0xe9b4, 0xed29, 0xe8c6, -0xec74, 0xe8c6, 0xec74, 0xe854, 0xec36, 0xe854, 0xec36, 0xe854, 0xec36, 0xe7bd, 0xebce, -0xe7bd, 0xebce, 0xe705, 0xeb3e, 0xe705, 0xeb3e, 0xe695, 0xeaf0, 0xe695, 0xeaf0, 0xe72a, -0xeb9e, 0xe72a, 0xeb9e, 0xe750, 0xebd4, 0xe750, 0xebd4, 0xe750, 0xebd4, 0xe67a, 0xeb05, -0xe67a, 0xeb05, 0xe52f, 0xe9ba, 0xe52f, 0xe9ba, 0xe4e6, 0xe968, 0xe4e6, 0xe968, 0xe578, -0xe9e8, 0xe578, 0xe9e8, 0xe6dc, 0xeb35, 0xe6dc, 0xeb35, 0xe83b, 0xec74, 0xe83b, 0xec74, -0xe83b, 0xec74, 0xe869, 0xec7e, 0xe869, 0xec7e, 0xe8f9, 0xece5, 0xe8f9, 0xece5, 0xe841, -0xec00, 0xe841, 0xec00, 0xe773, 0xeb04, 0xe773, 0xeb04, 0xe7a1, 0xeb03, 0xe7a1, 0xeb03, -0xe78a, 0xeabd, 0xe78a, 0xeabd, 0xe78a, 0xeabd, 0xe83b, 0xeb41, 0xe83b, 0xeb41, 0xe8f1, -0xebcb, 0xe8f1, 0xebcb, 0xea0c, 0xecbd, 0xea0c, 0xecbd, 0xeb23, 0xedaf, 0xeb23, 0xedaf, -0xeb61, 0xedcc, 0xeb61, 0xedcc, 0xeb61, 0xedcc, 0xeb10, 0xed5e, 0xeb10, 0xed5e, 0xea5e, -0xec92, 0xea5e, 0xec92, 0xea87, 0xeca7, 0xea87, 0xeca7, 0xeab4, 0xecc2, 0xeab4, 0xecc2, -0xea47, 0xec48, 0xea47, 0xec48, 0xea74, 0xec6a, 0xea74, 0xec6a, 0xea74, 0xec6a, 0xeb30, -0xed1e, 0xeb30, 0xed1e, 0xeccd, 0xeeb6, 0xeccd, 0xeeb6, 0xee06, 0xefeb, 0xee06, 0xefeb, -0xeea0, 0xf083, 0xeea0, 0xf083, 0xef42, 0xf122, 0xef42, 0xf122, 0xee10, 0xefef, 0xee10, -0xefef, 0xee10, 0xefef, 0xece0, 0xeebd, 0xece0, 0xeebd, 0xeb4a, 0xed26, 0xeb4a, 0xed26, -0xe94a, 0xeb24, 0xe94a, 0xeb24, 0xe896, 0xea6e, 0xe896, 0xea6e, 0xe776, 0xe94d, 0xe776, -0xe94d, 0xe776, 0xe94d, 0xe6ce, 0xe8a2, 0xe6ce, 0xe8a2, 0xe679, 0xe84b, 0xe679, 0xe84b, -0xe603, 0xe7d3, 0xe603, 0xe7d3, 0xe6c9, 0xe896, 0xe6c9, 0xe896, 0xe7fc, 0xe9c9, 0xe7fc, -0xe9c9, 0xe81e, 0xe9e9, 0xe81e, 0xe9e9, 0xe81e, 0xe9e9, 0xe816, 0xe9e1, 0xe816, 0xe9e1, -0xe723, 0xe8ee, 0xe723, 0xe8ee, 0xe61b, 0xe7e7, 0xe61b, 0xe7e7, 0xe6a7, 0xe874, 0xe6a7, -0xe874, 0xe6bb, 0xe88a, 0xe6bb, 0xe88a, 0xe72f, 0xe900, 0xe72f, 0xe900, 0xe72f, 0xe900, -0xe7c3, 0xe996, 0xe7c3, 0xe996, 0xe94f, 0xeb23, 0xe94f, 0xeb23, 0xeb87, 0xed5c, 0xeb87, -0xed5c, 0xecc8, 0xee9d, 0xecc8, 0xee9d, 0xee2b, 0xefff, 0xee2b, 0xefff, 0xee2b, 0xefff, -0xee32, 0xf002, 0xee32, 0xf002, 0xee60, 0xf02a, 0xee60, 0xf02a, 0xf042, 0xf205, 0xf042, -0xf205, 0xf27b, 0xf432, 0xf27b, 0xf432, 0xf425, 0xf5cf, 0xf425, 0xf5cf, 0xf570, 0xf709, -0xf570, 0xf709, 0xf570, 0xf709, 0xf6b2, 0xf836, 0xf6b2, 0xf836, 0xf77f, 0xf8ec, 0xf77f, -0xf8ec, 0xf751, 0xf8a1, 0xf751, 0xf8a1, 0xf62b, 0xf75c, 0xf62b, 0xf75c, 0xf617, 0xf724, -0xf617, 0xf724, 0xf617, 0xf724, 0xf683, 0xf768, 0xf683, 0xf768, 0xf77e, 0xf838, 0xf77e, -0xf838, 0xf9e5, 0xfa6f, 0xf9e5, 0xfa6f, 0xfb51, 0xfba7, 0xfb51, 0xfba7, 0xfcaf, 0xfcce, -0xfcaf, 0xfcce, 0xfe5b, 0xfe3e, 0xfe5b, 0xfe3e, 0xfe5b, 0xfe3e, 0x30, 0xffd4, 0x30, -0xffd4, 0x28d, 0x1ef, 0x28d, 0x1ef, 0x2bb, 0x1d7, 0x2bb, 0x1d7, 0x311, 0x1e5, -0x311, 0x1e5, 0x48b, 0x315, 0x48b, 0x315, 0x641, 0x480, 0x641, 0x480, 0x641, -0x480, 0x9ea, 0x7de, 0x9ea, 0x7de, 0xce8, 0xa90, 0xce8, 0xa90, 0xf4e, 0xcad, -0xf4e, 0xcad, 0x1187, 0xe9e, 0x1187, 0xe9e, 0x12c7, 0xf99, 0x12c7, 0xf99, 0x12c7, -0xf99, 0x1565, 0x11f8, 0x1565, 0x11f8, 0x1825, 0x147e, 0x1825, 0x147e, 0x1a20, 0x1646, -0x1a20, 0x1646, 0x1c13, 0x180e, 0x1c13, 0x180e, 0x1d73, 0x194c, 0x1d73, 0x194c, 0x1f12, -0x1ad2, 0x1f12, 0x1ad2, 0x1f12, 0x1ad2, 0x206e, 0x1c20, 0x206e, 0x1c20, 0x2116, 0x1cc5, -0x2116, 0x1cc5, 0x21e5, 0x1d9d, 0x21e5, 0x1d9d, 0x231d, 0x1ee9, 0x231d, 0x1ee9, 0x2404, -0x1ff1, 0x2404, 0x1ff1, 0x2320, 0x1f38, 0x2320, 0x1f38, 0x2320, 0x1f38, 0x21c6, 0x1e14, -0x21c6, 0x1e14, 0x20b9, 0x1d46, 0x20b9, 0x1d46, 0x1fed, 0x1cc2, 0x1fed, 0x1cc2, 0x1fab, -0x1cd0, 0x1fab, 0x1cd0, 0x1e92, 0x1c0e, 0x1e92, 0x1c0e, 0x1e92, 0x1c0e, 0x1d32, 0x1b08, -0x1d32, 0x1b08, 0x1be8, 0x1a1c, 0x1be8, 0x1a1c, 0x19fa, 0x188c, 0x19fa, 0x188c, 0x1794, -0x1685, 0x1794, 0x1685, 0x1595, 0x14e3, 0x1595, 0x14e3, 0x147b, 0x1423, 0x147b, 0x1423, -0x147b, 0x1423, 0x13ac, 0x13a8, 0x13ac, 0x13a8, 0x135b, 0x13a5, 0x135b, 0x13a5, 0x1267, -0x12f9, 0x1267, 0x12f9, 0xfde, 0x10b1, 0xfde, 0x10b1, 0xdc5, 0xed1, 0xdc5, 0xed1, -0xb0e, 0xc49, 0xb0e, 0xc49, 0xb0e, 0xc49, 0x77f, 0x8e1, 0x77f, 0x8e1, 0x472, -0x5f3, 0x472, 0x5f3, 0x123, 0x2bb, 0x123, 0x2bb, 0xfed8, 0x80, 0xfed8, 0x80, -0xfd32, 0xfee4, 0xfd32, 0xfee4, 0xfd32, 0xfee4, 0xfca7, 0xfe5d, 0xfca7, 0xfe5d, 0xfbfa, -0xfdae, 0xfbfa, 0xfdae, 0xfa0b, 0xfbbb, 0xfa0b, 0xfbbb, 0xf8fb, 0xfaa3, 0xf8fb, 0xfaa3, -0xf725, 0xf8c4, 0xf725, 0xf8c4, 0xf5da, 0xf76f, 0xf5da, 0xf76f, 0xf5da, 0xf76f, 0xf56d, -0xf6f8, 0xf56d, 0xf6f8, 0xf43d, 0xf5c0, 0xf43d, 0xf5c0, 0xf3d9, 0xf554, 0xf3d9, 0xf554, -0xf486, 0xf5fd, 0xf486, 0xf5fd, 0xf579, 0xf6ed, 0xf579, 0xf6ed, 0xf6b7, 0xf82b, 0xf6b7, -0xf82b, 0xf6b7, 0xf82b, 0xf70e, 0xf885, 0xf70e, 0xf885, 0xf5e5, 0xf762, 0xf5e5, 0xf762, -0xf537, 0xf6bd, 0xf537, 0xf6bd, 0xf3d8, 0xf568, 0xf3d8, 0xf568, 0xf23b, 0xf3d9, 0xf23b, -0xf3d9, 0xf23b, 0xf3d9, 0xf107, 0xf2b3, 0xf107, 0xf2b3, 0xf012, 0xf1ce, 0xf012, 0xf1ce, -0xefd8, 0xf1a3, 0xefd8, 0xf1a3, 0xef45, 0xf121, 0xef45, 0xf121, 0xeef9, 0xf0e3, 0xeef9, -0xf0e3, 0xed50, 0xef48, 0xed50, 0xef48, 0xed50, 0xef48, 0xec6d, 0xee70, 0xec6d, 0xee70, -0xecf1, 0xeefd, 0xecf1, 0xeefd, 0xecf9, 0xef0b, 0xecf9, 0xef0b, 0xee41, 0xf054, 0xee41, -0xf054, 0xee5e, 0xf06e, 0xee5e, 0xf06e, 0xef02, 0xf10a, 0xef02, 0xf10a, 0xef02, 0xf10a, -0xf136, 0xf331, 0xf136, 0xf331, 0xf2a4, 0xf48c, 0xf2a4, 0xf48c, 0xf473, 0xf643, 0xf473, -0xf643, 0xf5f5, 0xf7a6, 0xf5f5, 0xf7a6, 0xf7d4, 0xf960, 0xf7d4, 0xf960, 0xf7d4, 0xf960, -0xfaa9, 0xfc0b, 0xfaa9, 0xfc0b, 0xfd12, 0xfe43, 0xfd12, 0xfe43, 0xfe34, 0xff30, 0xfe34, -0xff30, 0xff03, 0xffc5, 0xff03, 0xffc5, 0xfc, 0x180, 0xfc, 0x180, 0x3ef, 0x431, -0x3ef, 0x431, 0x3ef, 0x431, 0x769, 0x767, 0x769, 0x767, 0x9b4, 0x96c, 0x9b4, -0x96c, 0xbc2, 0xb34, 0xbc2, 0xb34, 0xe23, 0xd4e, 0xe23, 0xd4e, 0x1076, 0xf5c, -0x1076, 0xf5c, 0x133c, 0x11e1, 0x133c, 0x11e1, 0x133c, 0x11e1, 0x13fe, 0x1264, 0x13fe, -0x1264, 0x144e, 0x127a, 0x144e, 0x127a, 0x1571, 0x136a, 0x1571, 0x136a, 0x1721, 0x14ed, -0x1721, 0x14ed, 0x19c6, 0x176c, 0x19c6, 0x176c, 0x19c6, 0x176c, 0x1a9b, 0x1823, 0x1a9b, -0x1823, 0x1a38, 0x17aa, 0x1a38, 0x17aa, 0x1a78, 0x17db, 0x1a78, 0x17db, 0x1a2b, 0x1789, -0x1a2b, 0x1789, 0x190e, 0x166d, 0x190e, 0x166d, 0x1879, 0x15e1, 0x1879, 0x15e1, 0x1879, -0x15e1, 0x17b7, 0x152e, 0x17b7, 0x152e, 0x1713, 0x149f, 0x1713, 0x149f, 0x16dc, 0x1481, -0x16dc, 0x1481, 0x163e, 0x1400, 0x163e, 0x1400, 0x16bf, 0x14a0, 0x16bf, 0x14a0, 0x16b6, -0x14b7, 0x16b6, 0x14b7, 0x16b6, 0x14b7, 0x163f, 0x1460, 0x163f, 0x1460, 0x15dc, 0x141c, -0x15dc, 0x141c, 0x13f1, 0x124e, 0x13f1, 0x124e, 0x1247, 0x10bd, 0x1247, 0x10bd, 0x1055, -0xee1, 0x1055, 0xee1, 0x1055, 0xee1, 0xea1, 0xd3e, 0xea1, 0xd3e, 0xd99, 0xc44, -0xd99, 0xc44, 0xc26, 0xada, 0xc26, 0xada, 0xbaf, 0xa67, 0xbaf, 0xa67, 0xaa0, -0x958, 0xaa0, 0x958, 0x90c, 0x7c1, 0x90c, 0x7c1, 0x90c, 0x7c1, 0x846, 0x6f6, -0x846, 0x6f6, 0x691, 0x53b, 0x691, 0x53b, 0x560, 0x402, 0x560, 0x402, 0x56d, -0x407, 0x56d, 0x407, 0x489, 0x31d, 0x489, 0x31d, 0x419, 0x2a8, 0x419, 0x2a8, -0x419, 0x2a8, 0x3ed, 0x27b, 0x3ed, 0x27b, 0x209, 0x99, 0x209, 0x99, 0x125, -0xffbb, 0x125, 0xffbb, 0x279, 0x11a, 0x279, 0x11a, 0x461, 0x312, 0x461, 0x312, -0x461, 0x312, 0x505, 0x3c9, 0x505, 0x3c9, 0x444, 0x320, 0x444, 0x320, 0x40f, -0x307, 0x40f, 0x307, 0x42c, 0x343, 0x42c, 0x343, 0x47c, 0x3b3, 0x47c, 0x3b3, -0x4dc, 0x436, 0x4dc, 0x436, 0x4dc, 0x436, 0x484, 0x400, 0x484, 0x400, 0x328, -0x2c5, 0x328, 0x2c5, 0x203, 0x1be, 0x203, 0x1be, 0xf1, 0xc7, 0xf1, 0xc7, -0xfe7e, 0xfe6a, 0xfe7e, 0xfe6a, 0xfe7e, 0xfe6a, 0xfba9, 0xfba5, 0xfba9, 0xfba5, 0xf935, -0xf93c, 0xf935, 0xf93c, 0xf96d, 0xf977, 0xf96d, 0xf977, 0xfac4, 0xfac8, 0xfac4, 0xfac8, -0xfb46, 0xfb3e, 0xfb46, 0xfb3e, 0xfc60, 0xfc43, 0xfc60, 0xfc43, 0xfc60, 0xfc43, 0xfcb1, -0xfc77, 0xfcb1, 0xfc77, 0xfd88, 0xfd29, 0xfd88, 0xfd29, 0xfe73, 0xfde9, 0xfe73, 0xfde9, -0xfe8c, 0xfdd0, 0xfe8c, 0xfdd0, 0xff5f, 0xfe6c, 0xff5f, 0xfe6c, 0xb9, 0xff8a, 0xb9, -0xff8a, 0xb9, 0xff8a, 0x2ad, 0x13f, 0x2ad, 0x13f, 0x53f, 0x38f, 0x53f, 0x38f, -0x816, 0x624, 0x816, 0x624, 0x9d3, 0x79f, 0x9d3, 0x79f, 0xba3, 0x92e, 0xba3, -0x92e, 0xba3, 0x92e, 0xe27, 0xb74, 0xe27, 0xb74, 0xf65, 0xc78, 0xf65, 0xc78, -0xfe1, 0xcbe, 0xfe1, 0xcbe, 0x1044, 0xcf1, 0x1044, 0xcf1, 0x10bb, 0xd3e, 0x10bb, -0xd3e, 0x11bd, 0xe1e, 0x11bd, 0xe1e, 0x11bd, 0xe1e, 0x12b4, 0xefa, 0x12b4, 0xefa, -0x12eb, 0xf1e, 0x12eb, 0xf1e, 0x1304, 0xf2d, 0x1304, 0xf2d, 0x1266, 0xe8c, 0x1266, -0xe8c, 0x1248, 0xe75, 0x1248, 0xe75, 0x138d, 0xfc9, 0x138d, 0xfc9, 0x138d, 0xfc9, -0x1392, 0xfe6, 0x1392, 0xfe6, 0x1391, 0x1003, 0x1391, 0x1003, 0x1397, 0x1030, 0x1397, -0x1030, 0x136e, 0x1034, 0x136e, 0x1034, 0x13ac, 0x10a6, 0x13ac, 0x10a6, 0x13ac, 0x10a6, -0x126f, 0xfa2, 0x126f, 0xfa2, 0x1109, 0xe7a, 0x1109, 0xe7a, 0xf07, 0xcba, 0xf07, -0xcba, 0xd36, 0xb2d, 0xd36, 0xb2d, 0xcff, 0xb3d, 0xcff, 0xb3d, 0xb9c, 0xa21, -0xb9c, 0xa21, 0xb9c, 0xa21, 0xad9, 0x9a6, 0xad9, 0x9a6, 0xab3, 0x9c7, 0xab3, -0x9c7, 0xa3a, 0x993, 0xa3a, 0x993, 0xb37, 0xad1, 0xb37, 0xad1, 0xb35, 0xb0e, -0xb35, 0xb0e, 0xa02, 0xa14, 0xa02, 0xa14, 0xa02, 0xa14, 0x906, 0x94d, 0x906, -0x94d, 0x881, 0x8f8, 0x881, 0x8f8, 0x826, 0x8c6, 0x826, 0x8c6, 0x76e, 0x831, -0x76e, 0x831, 0x795, 0x875, 0x795, 0x875, 0x795, 0x875, 0x7a2, 0x899, 0x7a2, -0x899, 0x7de, 0x8e6, 0x7de, 0x8e6, 0x875, 0x988, 0x875, 0x988, 0x808, 0x922, -0x808, 0x922, 0x74f, 0x86a, 0x74f, 0x86a, 0x673, 0x78d, 0x673, 0x78d, 0x673, -0x78d, 0x616, 0x72b, 0x616, 0x72b, 0x51a, 0x629, 0x51a, 0x629, 0x1f1, 0x2f9, -0x1f1, 0x2f9, 0xff3c, 0x3d, 0xff3c, 0x3d, 0xfeb2, 0xffac, 0xfeb2, 0xffac, 0xfee8, -0xffde, 0xfee8, 0xffde, 0xfee8, 0xffde, 0xfed4, 0xffc7, 0xfed4, 0xffc7, 0xfe66, 0xff59, -0xfe66, 0xff59, 0xfdcb, 0xfec2, 0xfdcb, 0xfec2, 0xfc5c, 0xfd5a, 0xfc5c, 0xfd5a, 0xfaeb, -0xfbf5, 0xfaeb, 0xfbf5, 0xfaeb, 0xfbf5, 0xfa37, 0xfb51, 0xfa37, 0xfb51, 0xf904, 0xfa32, -0xf904, 0xfa32, 0xf8b1, 0xf9f6, 0xf8b1, 0xf9f6, 0xf808, 0xf967, 0xf808, 0xf967, 0xf689, -0xf805, 0xf689, 0xf805, 0xf5a8, 0xf743, 0xf5a8, 0xf743, 0xf5a8, 0xf743, 0xf3a6, 0xf560, -0xf3a6, 0xf560, 0xf1ee, 0xf3c9, 0xf1ee, 0xf3c9, 0xf09a, 0xf295, 0xf09a, 0xf295, 0xeef9, -0xf111, 0xeef9, 0xf111, 0xed43, 0xef77, 0xed43, 0xef77, 0xeb0a, 0xed57, 0xeb0a, 0xed57, -0xeb0a, 0xed57, 0xea88, 0xece9, 0xea88, 0xece9, 0xeb3e, 0xedb0, 0xeb3e, 0xedb0, 0xeb75, -0xedf2, 0xeb75, 0xedf2, 0xeb88, 0xee0c, 0xeb88, 0xee0c, 0xeb1a, 0xed9f, 0xeb1a, 0xed9f, -0xeb1a, 0xed9f, 0xea0c, 0xec8d, 0xea0c, 0xec8d, 0xe9bf, 0xec36, 0xe9bf, 0xec36, 0xe9d4, -0xec3b, 0xe9d4, 0xec3b, 0xe8f0, 0xeb43, 0xe8f0, 0xeb43, 0xe7ae, 0xe9ea, 0xe7ae, 0xe9ea, -0xe6b9, 0xe8d9, 0xe6b9, 0xe8d9, 0xe6b9, 0xe8d9, 0xe6eb, 0xe8ec, 0xe6eb, 0xe8ec, 0xe840, -0xea21, 0xe840, 0xea21, 0xe950, 0xeb0f, 0xe950, 0xeb0f, 0xe980, 0xeb1d, 0xe980, 0xeb1d, -0xe966, 0xeae2, 0xe966, 0xeae2, 0xe97b, 0xead7, 0xe97b, 0xead7, 0xe97b, 0xead7, 0xe9bf, -0xeafe, 0xe9bf, 0xeafe, 0xe93b, 0xea60, 0xe93b, 0xea60, 0xe7dd, 0xe8ed, 0xe7dd, 0xe8ed, -0xe753, 0xe852, 0xe753, 0xe852, 0xe756, 0xe84a, 0xe756, 0xe84a, 0xe756, 0xe84a, 0xe831, -0xe91f, 0xe831, 0xe91f, 0xe953, 0xea42, 0xe953, 0xea42, 0xe924, 0xea1a, 0xe924, 0xea1a, -0xe8c4, 0xe9c9, 0xe8c4, 0xe9c9, 0xe961, 0xea7b, 0xe961, 0xea7b, 0xeace, 0xec02, 0xeace, -0xec02, 0xeace, 0xec02, 0xeb41, 0xec97, 0xeb41, 0xec97, 0xeb15, 0xec92, 0xeb15, 0xec92, -0xeae8, 0xec92, 0xeae8, 0xec92, 0xea7a, 0xec54, 0xea7a, 0xec54, 0xeacf, 0xecdd, 0xeacf, -0xecdd, 0xeb61, 0xeda7, 0xeb61, 0xeda7, 0xeb61, 0xeda7, 0xebf4, 0xee73, 0xebf4, 0xee73, -0xebd8, 0xee92, 0xebd8, 0xee92, 0xeb1e, 0xee12, 0xeb1e, 0xee12, 0xea85, 0xedb1, 0xea85, -0xedb1, 0xe900, 0xec63, 0xe900, 0xec63, 0xe900, 0xec63, 0xe718, 0xeaaf, 0xe718, 0xeaaf, -0xe607, 0xe9ce, 0xe607, 0xe9ce, 0xe55d, 0xe94f, 0xe55d, 0xe94f, 0xe49a, 0xe8b2, 0xe49a, -0xe8b2, 0xe409, 0xe841, 0xe409, 0xe841, 0xe2f9, 0xe749, 0xe2f9, 0xe749, 0xe2f9, 0xe749, -0xe123, 0xe585, 0xe123, 0xe585, 0xdf98, 0xe404, 0xdf98, 0xe404, 0xdef6, 0xe366, 0xdef6, -0xe366, 0xde71, 0xe2de, 0xde71, 0xe2de, 0xde2e, 0xe290, 0xde2e, 0xe290, 0xdf1f, 0xe36f, -0xdf1f, 0xe36f, 0xdf1f, 0xe36f, 0xe048, 0xe481, 0xe048, 0xe481, 0xe0f6, 0xe511, 0xe0f6, -0xe511, 0xe06a, 0xe463, 0xe06a, 0xe463, 0xe03f, 0xe412, 0xe03f, 0xe412, 0xe10b, 0xe4b4, -0xe10b, 0xe4b4, 0xe10b, 0xe4b4, 0xe1c4, 0xe540, 0xe1c4, 0xe540, 0xe40d, 0xe75a, 0xe40d, -0xe75a, 0xe60d, 0xe92a, 0xe60d, 0xe92a, 0xe733, 0xea1f, 0xe733, 0xea1f, 0xe837, 0xeaf2, -0xe837, 0xeaf2, 0xe860, 0xeae9, 0xe860, 0xeae9, 0xe860, 0xeae9, 0xe9a8, 0xec01, 0xe9a8, -0xec01, 0xebf7, 0xee1f, 0xebf7, 0xee1f, 0xed3e, 0xef37, 0xed3e, 0xef37, 0xee3a, 0xf004, -0xee3a, 0xf004, 0xef7e, 0xf119, 0xef7e, 0xf119, 0xef7e, 0xf119, 0xefa5, 0xf112, 0xefa5, -0xf112, 0xf059, 0xf197, 0xf059, 0xf197, 0xf1a6, 0xf2b5, 0xf1a6, 0xf2b5, 0xf2f8, 0xf3d7, -0xf2f8, 0xf3d7, 0xf567, 0xf614, 0xf567, 0xf614, 0xf750, 0xf7ca, 0xf750, 0xf7ca, 0xf750, -0xf7ca, 0xf8ff, 0xf942, 0xf8ff, 0xf942, 0xf9d2, 0xf9dc, 0xf9d2, 0xf9dc, 0xfa25, 0xf9f2, -0xfa25, 0xf9f2, 0xfbbe, 0xfb4a, 0xfbbe, 0xfb4a, 0xfd7c, 0xfcc4, 0xfd7c, 0xfcc4, 0xff48, -0xfe49, 0xff48, 0xfe49, 0xff48, 0xfe49, 0xf0, 0xffa5, 0xf0, 0xffa5, 0x2a1, 0x107, -0x2a1, 0x107, 0x509, 0x31e, 0x509, 0x31e, 0x7bd, 0x57f, 0x7bd, 0x57f, 0xa4e, -0x7bc, 0xa4e, 0x7bc, 0xa4e, 0x7bc, 0xced, 0xa05, 0xced, 0xa05, 0xf6f, 0xc33, -0xf6f, 0xc33, 0x123b, 0xead, 0x123b, 0xead, 0x153e, 0x115f, 0x153e, 0x115f, 0x179a, -0x1371, 0x179a, 0x1371, 0x1a94, 0x1625, 0x1a94, 0x1625, 0x1a94, 0x1625, 0x1dca, 0x191c, -0x1dca, 0x191c, 0x20de, 0x1bf9, 0x20de, 0x1bf9, 0x2391, 0x1e7e, 0x2391, 0x1e7e, 0x25ad, -0x2076, 0x25ad, 0x2076, 0x2842, 0x22f3, 0x2842, 0x22f3, 0x2a15, 0x24b8, 0x2a15, 0x24b8, -0x2a15, 0x24b8, 0x2b5f, 0x2602, 0x2b5f, 0x2602, 0x2c5f, 0x270e, 0x2c5f, 0x270e, 0x2c73, -0x273a, 0x2c73, 0x273a, 0x2ccd, 0x27ba, 0x2ccd, 0x27ba, 0x2e2b, 0x2949, 0x2e2b, 0x2949, -0x2e2b, 0x2949, 0x2f65, 0x2ac0, 0x2f65, 0x2ac0, 0x2f44, 0x2ae8, 0x2f44, 0x2ae8, 0x2e3d, -0x2a33, 0x2e3d, 0x2a33, 0x2bca, 0x281a, 0x2bca, 0x281a, 0x28ea, 0x259c, 0x28ea, 0x259c, -0x26f8, 0x2412, 0x26f8, 0x2412, 0x26f8, 0x2412, 0x2502, 0x2288, 0x2502, 0x2288, 0x2362, -0x2157, 0x2362, 0x2157, 0x21ed, 0x2052, 0x21ed, 0x2052, 0x2047, 0x1f1b, 0x2047, 0x1f1b, -0x1f30, 0x1e70, 0x1f30, 0x1e70, 0x1dd7, 0x1d80, 0x1dd7, 0x1d80, 0x1dd7, 0x1d80, 0x1bdf, -0x1bec, 0x1bdf, 0x1bec, 0x199d, 0x1a06, 0x199d, 0x1a06, 0x16de, 0x179c, 0x16de, 0x179c, -0x1434, 0x153e, 0x1434, 0x153e, 0x1123, 0x1270, 0x1123, 0x1270, 0x1123, 0x1270, 0xd93, -0xf19, 0xd93, 0xf19, 0xa3f, 0xbf3, 0xa3f, 0xbf3, 0x749, 0x922, 0x749, 0x922, -0x52a, 0x71d, 0x52a, 0x71d, 0x383, 0x586, 0x383, 0x586, 0x176, 0x381, 0x176, -0x381, 0x176, 0x381, 0xff29, 0x133, 0xff29, 0x133, 0xfd28, 0xff2a, 0xfd28, 0xff2a, -0xfaa4, 0xfc97, 0xfaa4, 0xfc97, 0xf850, 0xfa30, 0xf850, 0xfa30, 0xf718, 0xf8e0, 0xf718, -0xf8e0, 0xf647, 0xf7f5, 0xf647, 0xf7f5, 0xf647, 0xf7f5, 0xf620, 0xf7b1, 0xf620, 0xf7b1, -0xf63e, 0xf7b4, 0xf63e, 0xf7b4, 0xf692, 0xf7ec, 0xf692, 0xf7ec, 0xf6a9, 0xf7ea, 0xf6a9, -0xf7ea, 0xf61a, 0xf745, 0xf61a, 0xf745, 0xf61a, 0xf745, 0xf51b, 0xf631, 0xf51b, 0xf631, -0xf408, 0xf50f, 0xf408, 0xf50f, 0xf2e4, 0xf3e0, 0xf2e4, 0xf3e0, 0xf123, 0xf219, 0xf123, -0xf219, 0xefdc, 0xf0d0, 0xefdc, 0xf0d0, 0xef06, 0xeffb, 0xef06, 0xeffb, 0xef06, 0xeffb, -0xee31, 0xef2d, 0xee31, 0xef2d, 0xecbd, 0xedc2, 0xecbd, 0xedc2, 0xeb7d, 0xec8e, 0xeb7d, -0xec8e, 0xeb10, 0xec2f, 0xeb10, 0xec2f, 0xea1a, 0xeb48, 0xea1a, 0xeb48, 0xe9f5, 0xeb32, -0xe9f5, 0xeb32, 0xe9f5, 0xeb32, 0xea0a, 0xeb56, 0xea0a, 0xeb56, 0xe9ab, 0xeb03, 0xe9ab, -0xeb03, 0xe9e0, 0xeb42, 0xe9e0, 0xeb42, 0xeb04, 0xec6b, 0xeb04, 0xec6b, 0xec79, 0xede1, -0xec79, 0xede1, 0xec79, 0xede1, 0xedc1, 0xef25, 0xedc1, 0xef25, 0xef0a, 0xf064, 0xef0a, -0xf064, 0xef38, 0xf082, 0xef38, 0xf082, 0xefb9, 0xf0ec, 0xefb9, 0xf0ec, 0xf076, 0xf18b, -0xf076, 0xf18b, 0xf0e5, 0xf1d6, 0xf0e5, 0xf1d6, 0xf0e5, 0xf1d6, 0xf273, 0xf33a, 0xf273, -0xf33a, 0xf520, 0xf5b6, 0xf520, 0xf5b6, 0xf8aa, 0xf90b, 0xf8aa, 0xf90b, 0xfbf2, 0xfc19, -0xfbf2, 0xfc19, 0xfec9, 0xfeb3, 0xfec9, 0xfeb3, 0x8b, 0x35, 0x8b, 0x35, 0x8b, -0x35, 0x223, 0x18c, 0x223, 0x18c, 0x441, 0x368, 0x441, 0x368, 0x62d, 0x513, -0x62d, 0x513, 0x91c, 0x7c2, 0x91c, 0x7c2, 0xc16, 0xa80, 0xc16, 0xa80, 0xc16, -0xa80, 0xdf2, 0xc24, 0xdf2, 0xc24, 0xf57, 0xd57, 0xf57, 0xd57, 0x1148, 0xf1b, -0x1148, 0xf1b, 0x1331, 0x10de, 0x1331, 0x10de, 0x14af, 0x123c, 0x14af, 0x123c, 0x156d, -0x12e2, 0x156d, 0x12e2, 0x156d, 0x12e2, 0x1562, 0x12c8, 0x1562, 0x12c8, 0x1659, 0x13b6, -0x1659, 0x13b6, 0x16ff, 0x145b, 0x16ff, 0x145b, 0x1635, 0x1398, 0x1635, 0x1398, 0x14b3, -0x1224, 0x14b3, 0x1224, 0x13bc, 0x1141, 0x13bc, 0x1141, 0x13bc, 0x1141, 0x13bc, 0x115b, -0x13bc, 0x115b, 0x13a7, 0x1163, 0x13a7, 0x1163, 0x1301, 0x10e0, 0x1301, 0x10e0, 0x11c1, -0xfc5, 0x11c1, 0xfc5, 0x10be, 0xee8, 0x10be, 0xee8, 0x10be, 0xee8, 0xfe3, 0xe35, -0xfe3, 0xe35, 0xfad, 0xe27, 0xfad, 0xe27, 0xf38, 0xdda, 0xf38, 0xdda, 0xe01, -0xcc8, 0xe01, 0xcc8, 0xd84, 0xc6f, 0xd84, 0xc6f, 0xcd3, 0xbdf, 0xcd3, 0xbdf, -0xcd3, 0xbdf, 0xbc1, 0xaeb, 0xbc1, 0xaeb, 0xa7b, 0x9c0, 0xa7b, 0x9c0, 0x8c6, -0x822, 0x8c6, 0x822, 0x677, 0x5e7, 0x677, 0x5e7, 0x4ea, 0x46b, 0x4ea, 0x46b, -0x498, 0x427, 0x498, 0x427, 0x498, 0x427, 0x3b1, 0x34c, 0x3b1, 0x34c, 0x337, -0x2db, 0x337, 0x2db, 0x380, 0x32b, 0x380, 0x32b, 0x393, 0x346, 0x393, 0x346, -0x318, 0x2d1, 0x318, 0x2d1, 0x318, 0x2d1, 0x271, 0x232, 0x271, 0x232, 0x229, -0x1f1, 0x229, 0x1f1, 0x1f5, 0x1c7, 0x1f5, 0x1c7, 0x29d, 0x27a, 0x29d, 0x27a, -0x3d1, 0x3bc, 0x3d1, 0x3bc, 0x47a, 0x474, 0x47a, 0x474, 0x47a, 0x474, 0x514, -0x521, 0x514, 0x521, 0x5f2, 0x612, 0x5f2, 0x612, 0x6ed, 0x723, 0x6ed, 0x723, -0x7b1, 0x7fe, 0x7b1, 0x7fe, 0x714, 0x77a, 0x714, 0x77a, 0x714, 0x77a, 0x5ba, -0x638, 0x5ba, 0x638, 0x487, 0x51d, 0x487, 0x51d, 0x37d, 0x429, 0x37d, 0x429, -0x333, 0x3f3, 0x333, 0x3f3, 0x2a4, 0x373, 0x2a4, 0x373, 0x1bf, 0x29a, 0x1bf, -0x29a, 0x1bf, 0x29a, 0x179, 0x25a, 0x179, 0x25a, 0x1cb, 0x2ac, 0x1cb, 0x2ac, -0x1df, 0x2b8, 0x1df, 0x2b8, 0xe0, 0x1a9, 0xe0, 0x1a9, 0xff94, 0x45, 0xff94, -0x45, 0xfee1, 0xff71, 0xfee1, 0xff71, 0xfee1, 0xff71, 0xff6d, 0xffd3, 0xff6d, 0xffd3, -0xd9, 0x10c, 0xd9, 0x10c, 0x23e, 0x236, 0x23e, 0x236, 0x396, 0x349, 0x396, -0x349, 0x51b, 0x483, 0x51b, 0x483, 0x51b, 0x483, 0x5f8, 0x50d, 0x5f8, 0x50d, -0x6c1, 0x57e, 0x6c1, 0x57e, 0x8f9, 0x75a, 0x8f9, 0x75a, 0xb64, 0x965, 0xb64, -0x965, 0xd84, 0xb24, 0xd84, 0xb24, 0xf46, 0xc85, 0xf46, 0xc85, 0xf46, 0xc85, -0x108e, 0xd6f, 0x108e, 0xd6f, 0x1130, 0xdb6, 0x1130, 0xdb6, 0x11c4, 0xdf3, 0x11c4, -0xdf3, 0x13ca, 0xfa8, 0x13ca, 0xfa8, 0x15ef, 0x1184, 0x15ef, 0x1184, 0x17bb, 0x1311, -0x17bb, 0x1311, 0x17bb, 0x1311, 0x18d1, 0x13f2, 0x18d1, 0x13f2, 0x18e3, 0x13da, 0x18e3, -0x13da, 0x1918, 0x13f1, 0x1918, 0x13f1, 0x195d, 0x1424, 0x195d, 0x1424, 0x1986, 0x1447, -0x1986, 0x1447, 0x1986, 0x1447, 0x1982, 0x144a, 0x1982, 0x144a, 0x199f, 0x147a, 0x199f, -0x147a, 0x199a, 0x1493, 0x199a, 0x1493, 0x18a7, 0x13ca, 0x18a7, 0x13ca, 0x16b4, 0x120b, -0x16b4, 0x120b, 0x14b7, 0x104c, 0x14b7, 0x104c, 0x14b7, 0x104c, 0x1315, 0xeef, 0x1315, -0xeef, 0x1188, 0xdae, 0x1188, 0xdae, 0x1093, 0xd0b, 0x1093, 0xd0b, 0xf73, 0xc40, -0xf73, 0xc40, 0xdf2, 0xb17, 0xdf2, 0xb17, 0xd19, 0xa98, 0xd19, 0xa98, 0xd19, -0xa98, 0xd14, 0xaed, 0xd14, 0xaed, 0xd6b, 0xb9d, 0xd6b, 0xb9d, 0xdc2, 0xc4a, -0xdc2, 0xc4a, 0xdd7, 0xcb3, 0xdd7, 0xcb3, 0xd8a, 0xcb4, 0xd8a, 0xcb4, 0xd8a, -0xcb4, 0xcfb, 0xc70, 0xcfb, 0xc70, 0xcd7, 0xc91, 0xcd7, 0xc91, 0xd8b, 0xd84, -0xd8b, 0xd84, 0xd35, 0xd68, 0xd35, 0xd68, 0xbbb, 0xc21, 0xbbb, 0xc21, 0xaf3, -0xb87, 0xaf3, 0xb87, 0xaf3, 0xb87, 0xabe, 0xb7a, 0xabe, 0xb7a, 0x9fe, 0xadd, -0x9fe, 0xadd, 0x825, 0x922, 0x825, 0x922, 0x655, 0x76b, 0x655, 0x76b, 0x4f9, -0x625, 0x4f9, 0x625, 0x388, 0x4c7, 0x388, 0x4c7, 0x388, 0x4c7, 0x226, 0x375, -0x226, 0x375, 0x14a, 0x2a7, 0x14a, 0x2a7, 0xce, 0x237, 0xce, 0x237, 0x80, -0x1f4, 0x80, 0x1f4, 0xffed, 0x16d, 0xffed, 0x16d, 0xffed, 0x16d, 0xfe66, 0xfff1, -0xfe66, 0xfff1, 0xfcf1, 0xfe87, 0xfcf1, 0xfe87, 0xfb80, 0xfd23, 0xfb80, 0xfd23, 0xfa7d, -0xfc2d, 0xfa7d, 0xfc2d, 0xfa95, 0xfc53, 0xfa95, 0xfc53, 0xfa62, 0xfc30, 0xfa62, 0xfc30, -0xfa62, 0xfc30, 0xf951, 0xfb2f, 0xf951, 0xfb2f, 0xf7e1, 0xf9d0, 0xf7e1, 0xf9d0, 0xf6ff, -0xf900, 0xf6ff, 0xf900, 0xf63b, 0xf850, 0xf63b, 0xf850, 0xf537, 0xf75f, 0xf537, 0xf75f, -0xf3c3, 0xf5fe, 0xf3c3, 0xf5fe, 0xf3c3, 0xf5fe, 0xf1ad, 0xf3fc, 0xf1ad, 0xf3fc, 0xef9f, -0xf201, 0xef9f, 0xf201, 0xedf5, 0xf069, 0xedf5, 0xf069, 0xec9b, 0xef20, 0xec9b, 0xef20, -0xeab7, 0xed4b, 0xeab7, 0xed4b, 0xeab7, 0xed4b, 0xe9a7, 0xec48, 0xe9a7, 0xec48, 0xe9c0, -0xec6e, 0xe9c0, 0xec6e, 0xe96c, 0xec22, 0xe96c, 0xec22, 0xe8ce, 0xeb8b, 0xe8ce, 0xeb8b, -0xe74b, 0xea0e, 0xe74b, 0xea0e, 0xe571, 0xe835, 0xe571, 0xe835, 0xe571, 0xe835, 0xe47a, -0xe73d, 0xe47a, 0xe73d, 0xe44a, 0xe70a, 0xe44a, 0xe70a, 0xe482, 0xe73c, 0xe482, 0xe73c, -0xe436, 0xe6e8, 0xe436, 0xe6e8, 0xe400, 0xe6a8, 0xe400, 0xe6a8, 0xe4fb, 0xe797, 0xe4fb, -0xe797, 0xe4fb, 0xe797, 0xe61d, 0xe8ab, 0xe61d, 0xe8ab, 0xe70d, 0xe98c, 0xe70d, 0xe98c, -0xe755, 0xe9c4, 0xe755, 0xe9c4, 0xe693, 0xe8f3, 0xe693, 0xe8f3, 0xe6ce, 0xe91e, 0xe6ce, -0xe91e, 0xe6ce, 0xe91e, 0xe7bc, 0xe9fc, 0xe7bc, 0xe9fc, 0xe7ed, 0xea1f, 0xe7ed, 0xea1f, -0xe796, 0xe9ba, 0xe796, 0xe9ba, 0xe7bb, 0xe9d4, 0xe7bb, 0xe9d4, 0xe853, 0xea63, 0xe853, -0xea63, 0xe843, 0xea4b, 0xe843, 0xea4b, 0xe843, 0xea4b, 0xe830, 0xea33, 0xe830, 0xea33, -0xe85f, 0xea60, 0xe85f, 0xea60, 0xe8fa, 0xeafc, 0xe8fa, 0xeafc, 0xe9cc, 0xebd3, 0xe9cc, -0xebd3, 0xea79, 0xec87, 0xea79, 0xec87, 0xeb48, 0xed61, 0xeb48, 0xed61, 0xeb48, 0xed61, -0xebe0, 0xee05, 0xebe0, 0xee05, 0xec8f, 0xeec5, 0xec8f, 0xeec5, 0xed8e, 0xefd5, 0xed8e, -0xefd5, 0xee4f, 0xf0aa, 0xee4f, 0xf0aa, 0xed97, 0xf008, 0xed97, 0xf008, 0xed97, 0xf008, -0xec79, 0xef01, 0xec79, 0xef01, 0xec90, 0xef2f, 0xec90, 0xef2f, 0xec91, 0xef47, 0xec91, -0xef47, 0xec03, 0xeed0, 0xec03, 0xeed0, 0xeb62, 0xee45, 0xeb62, 0xee45, 0xeaa1, 0xed98, -0xeaa1, 0xed98, 0xeaa1, 0xed98, 0xe9b4, 0xecbc, 0xe9b4, 0xecbc, 0xe93e, 0xec56, 0xe93e, -0xec56, 0xe86e, 0xeb92, 0xe86e, 0xeb92, 0xe667, 0xe993, 0xe667, 0xe993, 0xe436, 0xe767, -0xe436, 0xe767, 0xe263, 0xe594, 0xe263, 0xe594, 0xe263, 0xe594, 0xe1a8, 0xe4d6, 0xe1a8, -0xe4d6, 0xe15b, 0xe482, 0xe15b, 0xe482, 0xe02e, 0xe349, 0xe02e, 0xe349, 0xdf29, 0xe234, -0xdf29, 0xe234, 0xdf4b, 0xe243, 0xdf4b, 0xe243, 0xdf4b, 0xe243, 0xdfd8, 0xe2b9, 0xdfd8, -0xe2b9, 0xdfd3, 0xe299, 0xdfd3, 0xe299, 0xdf42, 0xe1eb, 0xdf42, 0xe1eb, 0xdf1c, 0xe1a5, -0xdf1c, 0xe1a5, 0xe03b, 0xe2a3, 0xe03b, 0xe2a3, 0xe1ce, 0xe413, 0xe1ce, 0xe413, 0xe1ce, -0xe413, 0xe326, 0xe547, 0xe326, 0xe547, 0xe464, 0xe662, 0xe464, 0xe662, 0xe565, 0xe73e, -0xe565, 0xe73e, 0xe70b, 0xe8c1, 0xe70b, 0xe8c1, 0xe964, 0xeaf7, 0xe964, 0xeaf7, 0xe964, -0xeaf7, 0xeaeb, 0xec5c, 0xeaeb, 0xec5c, 0xebba, 0xed0a, 0xebba, 0xed0a, 0xebfe, 0xed2f, -0xebfe, 0xed2f, 0xec7e, 0xed91, 0xec7e, 0xed91, 0xee9f, 0xef94, 0xee9f, 0xef94, 0xf0a7, -0xf17f, 0xf0a7, 0xf17f, 0xf0a7, 0xf17f, 0xf231, 0xf2ee, 0xf231, 0xf2ee, 0xf3b0, 0xf451, -0xf3b0, 0xf451, 0xf48d, 0xf512, 0xf48d, 0xf512, 0xf537, 0xf5a0, 0xf537, 0xf5a0, 0xf557, -0xf5a2, 0xf557, 0xf5a2, 0xf539, 0xf564, 0xf539, 0xf564, 0xf539, 0xf564, 0xf54d, 0xf557, -0xf54d, 0xf557, 0xf640, 0xf626, 0xf640, 0xf626, 0xf7f5, 0xf7b3, 0xf7f5, 0xf7b3, 0xf995, -0xf928, 0xf995, 0xf928, 0xfb28, 0xfa8c, 0xfb28, 0xfa8c, 0xfb28, 0xfa8c, 0xfc31, 0xfb62, -0xfc31, 0xfb62, 0xfdea, 0xfce5, 0xfdea, 0xfce5, 0xe7, 0xffa6, 0xe7, 0xffa6, 0x3d4, -0x254, 0x3d4, 0x254, 0x612, 0x450, 0x612, 0x450, 0x853, 0x64b, 0x853, 0x64b, -0x853, 0x64b, 0xb51, 0x901, 0xb51, 0x901, 0xe34, 0xb9c, 0xe34, 0xb9c, 0x1169, -0xe85, 0x1169, 0xe85, 0x153b, 0x120d, 0x153b, 0x120d, 0x1848, 0x14d1, 0x1848, 0x14d1, -0x1ac5, 0x1707, 0x1ac5, 0x1707, 0x1ac5, 0x1707, 0x1d91, 0x1990, 0x1d91, 0x1990, 0x2011, -0x1bd0, 0x2011, 0x1bd0, 0x2239, 0x1dbf, 0x2239, 0x1dbf, 0x2480, 0x1fd5, 0x2480, 0x1fd5, -0x264a, 0x2174, 0x264a, 0x2174, 0x264a, 0x2174, 0x276b, 0x2274, 0x276b, 0x2274, 0x2848, -0x233a, 0x2848, 0x233a, 0x292e, 0x2412, 0x292e, 0x2412, 0x2a0b, 0x24ed, 0x2a0b, 0x24ed, -0x2ab2, 0x259d, 0x2ab2, 0x259d, 0x2ac2, 0x25c2, 0x2ac2, 0x25c2, 0x2ac2, 0x25c2, 0x29d0, -0x24f0, 0x29d0, 0x24f0, 0x281a, 0x2365, 0x281a, 0x2365, 0x263e, 0x21be, 0x263e, 0x21be, -0x24ca, 0x208a, 0x24ca, 0x208a, 0x23ea, 0x1ff3, 0x23ea, 0x1ff3, 0x2322, 0x1f7b, 0x2322, -0x1f7b, 0x2322, 0x1f7b, 0x21a1, 0x1e51, 0x21a1, 0x1e51, 0x2003, 0x1d10, 0x2003, 0x1d10, -0x1ee0, 0x1c4f, 0x1ee0, 0x1c4f, 0x1e07, 0x1bd9, 0x1e07, 0x1bd9, 0x1cc4, 0x1afb, 0x1cc4, -0x1afb, 0x1cc4, 0x1afb, 0x1aa6, 0x1941, 0x1aa6, 0x1941, 0x1866, 0x1765, 0x1866, 0x1765, -0x15fe, 0x155c, 0x15fe, 0x155c, 0x13b1, 0x136a, 0x13b1, 0x136a, 0x108a, 0x109a, 0x108a, -0x109a, 0xc45, 0xca3, 0xc45, 0xca3, 0xc45, 0xca3, 0x912, 0x9b9, 0x912, 0x9b9, -0x6db, 0x7c2, 0x6db, 0x7c2, 0x447, 0x567, 0x447, 0x567, 0x10c, 0x25c, 0x10c, -0x25c, 0xfd52, 0xfeca, 0xfd52, 0xfeca, 0xf958, 0xfaf0, 0xf958, 0xfaf0, 0xf958, 0xfaf0, -0xf6fa, 0xf8ab, 0xf6fa, 0xf8ab, 0xf5e3, 0xf7a5, 0xf5e3, 0xf7a5, 0xf4b2, 0xf680, 0xf4b2, -0xf680, 0xf4ae, 0xf683, 0xf4ae, 0xf683, 0xf4b7, 0xf68f, 0xf4b7, 0xf68f, 0xf4b7, 0xf68f, -0xf45f, 0xf637, 0xf45f, 0xf637, 0xf494, 0xf669, 0xf494, 0xf669, 0xf486, 0xf659, 0xf486, -0xf659, 0xf45d, 0xf62d, 0xf45d, 0xf62d, 0xf4f8, 0xf6c7, 0xf4f8, 0xf6c7, 0xf5bc, 0xf78c, -0xf5bc, 0xf78c, 0xf5bc, 0xf78c, 0xf594, 0xf768, 0xf594, 0xf768, 0xf49d, 0xf677, 0xf49d, -0xf677, 0xf2fe, 0xf4e2, 0xf2fe, 0xf4e2, 0xf16f, 0xf361, 0xf16f, 0xf361, 0xf08b, 0xf28e, -0xf08b, 0xf28e, 0xf03c, 0xf254, 0xf03c, 0xf254, 0xf03c, 0xf254, 0xefd2, 0xf201, 0xefd2, -0xf201, 0xeecb, 0xf114, 0xeecb, 0xf114, 0xee37, 0xf09b, 0xee37, 0xf09b, 0xee1a, 0xf099, -0xee1a, 0xf099, 0xeda1, 0xf03b, 0xeda1, 0xf03b, 0xeda1, 0xf03b, 0xed41, 0xeff3, 0xed41, -0xeff3, 0xed23, 0xefeb, 0xed23, 0xefeb, 0xecfe, 0xefd9, 0xecfe, 0xefd9, 0xedeb, 0xf0d3, -0xedeb, 0xf0d3, 0xef53, 0xf241, 0xef53, 0xf241, 0xef8e, 0xf27b, 0xef8e, 0xf27b, 0xef8e, -0xf27b, 0xef22, 0xf206, 0xef22, 0xf206, 0xef64, 0xf237, 0xef64, 0xf237, 0xf0f6, 0xf3af, -0xf0f6, 0xf3af, 0xf315, 0xf5ac, 0xf315, 0xf5ac, 0xf551, 0xf7bb, 0xf551, 0xf7bb, 0xf706, -0xf93c, 0xf706, 0xf93c, 0xf706, 0xf93c, 0xf938, 0xfb30, 0xf938, 0xfb30, 0xfc5a, 0xfe0e, -0xfc5a, 0xfe0e, 0xfee3, 0x4c, 0xfee3, 0x4c, 0x173, 0x28b, 0x173, 0x28b, 0x3de, -0x4a2, 0x3de, 0x4a2, 0x3de, 0x4a2, 0x62e, 0x69a, 0x62e, 0x69a, 0x84f, 0x862, -0x84f, 0x862, 0xa38, 0x9f2, 0xa38, 0x9f2, 0xc9d, 0xc00, 0xc9d, 0xc00, 0xee9, -0xdf7, 0xee9, 0xdf7, 0x113e, 0xffc, 0x113e, 0xffc, 0x113e, 0xffc, 0x137d, 0x11f1, -0x137d, 0x11f1, 0x154f, 0x1380, 0x154f, 0x1380, 0x1605, 0x13f9, 0x1605, 0x13f9, 0x1655, -0x1416, 0x1655, 0x1416, 0x1777, 0x150e, 0x1777, 0x150e, 0x18be, 0x1634, 0x18be, 0x1634, -0x18be, 0x1634, 0x19e5, 0x1743, 0x19e5, 0x1743, 0x1a69, 0x17b8, 0x1a69, 0x17b8, 0x1aaf, -0x17f8, 0x1aaf, 0x17f8, 0x1af4, 0x183f, 0x1af4, 0x183f, 0x1a92, 0x17e7, 0x1a92, 0x17e7, -0x1a92, 0x17e7, 0x19f4, 0x1759, 0x19f4, 0x1759, 0x1925, 0x16a0, 0x1925, 0x16a0, 0x182c, -0x15c1, 0x182c, 0x15c1, 0x17aa, 0x155c, 0x17aa, 0x155c, 0x170c, 0x14de, 0x170c, 0x14de, -0x1622, 0x1415, 0x1622, 0x1415, 0x1622, 0x1415, 0x159e, 0x13b2, 0x159e, 0x13b2, 0x14dd, -0x1310, 0x14dd, 0x1310, 0x13f6, 0x1248, 0x13f6, 0x1248, 0x1337, 0x11a4, 0x1337, 0x11a4, -0x121f, 0x10a3, 0x121f, 0x10a3, 0x1047, 0xee0, 0x1047, 0xee0, 0x1047, 0xee0, 0xe81, -0xd2a, 0xe81, 0xd2a, 0xd3b, 0xbf1, 0xd3b, 0xbf1, 0xb69, 0xa28, 0xb69, 0xa28, -0x924, 0x7e9, 0x924, 0x7e9, 0x69e, 0x566, 0x69e, 0x566, 0x69e, 0x566, 0x4eb, -0x3b4, 0x4eb, 0x3b4, 0x42b, 0x2f3, 0x42b, 0x2f3, 0x46a, 0x330, 0x46a, 0x330, -0x594, 0x458, 0x594, 0x458, 0x582, 0x444, 0x582, 0x444, 0x505, 0x3c8, 0x505, -0x3c8, 0x505, 0x3c8, 0x4b8, 0x37d, 0x4b8, 0x37d, 0x49e, 0x368, 0x49e, 0x368, -0x514, 0x3e6, 0x514, 0x3e6, 0x583, 0x461, 0x583, 0x461, 0x62d, 0x51a, 0x62d, -0x51a, 0x62d, 0x51a, 0x69c, 0x59b, 0x69c, 0x59b, 0x674, 0x58a, 0x674, 0x58a, -0x5da, 0x50a, 0x5da, 0x50a, 0x51d, 0x46a, 0x51d, 0x46a, 0x442, 0x3ac, 0x442, -0x3ac, 0x353, 0x2dc, 0x353, 0x2dc, 0x353, 0x2dc, 0x27b, 0x224, 0x27b, 0x224, -0x1c8, 0x18f, 0x1c8, 0x18f, 0x106, 0xea, 0x106, 0xea, 0xffe6, 0xffe3, 0xffe6, -0xffe3, 0xfee4, 0xfef7, 0xfee4, 0xfef7, 0xfdcb, 0xfdee, 0xfdcb, 0xfdee, 0xfdcb, 0xfdee, -0xfcba, 0xfce5, 0xfcba, 0xfce5, 0xfb4d, 0xfb7b, 0xfb4d, 0xfb7b, 0xf9e2, 0xfa0a, 0xf9e2, -0xfa0a, 0xf9c8, 0xf9e1, 0xf9c8, 0xf9e1, 0xfa04, 0xfa07, 0xfa04, 0xfa07, 0xfa04, 0xfa07, -0xfa52, 0xfa33, 0xfa52, 0xfa33, 0xfaf4, 0xfaac, 0xfaf4, 0xfaac, 0xfbb6, 0xfb3b, 0xfbb6, -0xfb3b, 0xfd3d, 0xfc88, 0xfd3d, 0xfc88, 0xff6f, 0xfe77, 0xff6f, 0xfe77, 0xfb, 0xffba, -0xfb, 0xffba, 0xfb, 0xffba, 0x200, 0x71, 0x200, 0x71, 0x313, 0x132, 0x313, -0x132, 0x47d, 0x248, 0x47d, 0x248, 0x648, 0x3bd, 0x648, 0x3bd, 0x78f, 0x4ae, -0x78f, 0x4ae, 0x8f8, 0x5c4, 0x8f8, 0x5c4, 0x8f8, 0x5c4, 0xadf, 0x75c, 0xadf, -0x75c, 0xcf5, 0x929, 0xcf5, 0x929, 0xf16, 0xb07, 0xf16, 0xb07, 0x110f, 0xcc6, -0x110f, 0xcc6, 0x1269, 0xdef, 0x1269, 0xdef, 0x1269, 0xdef, 0x12bd, 0xe1d, 0x12bd, -0xe1d, 0x135e, 0xea4, 0x135e, 0xea4, 0x1420, 0xf57, 0x1420, 0xf57, 0x14a7, 0xfdc, -0x14a7, 0xfdc, 0x1547, 0x1085, 0x1547, 0x1085, 0x1533, 0x1088, 0x1533, 0x1088, 0x1533, -0x1088, 0x148f, 0x1005, 0x148f, 0x1005, 0x14a4, 0x1047, 0x14a4, 0x1047, 0x14c1, 0x109b, -0x14c1, 0x109b, 0x134f, 0xf6a, 0x134f, 0xf6a, 0x11ca, 0xe2d, 0x11ca, 0xe2d, 0x10ef, -0xda0, 0x10ef, 0xda0, 0x10ef, 0xda0, 0x1035, 0xd39, 0x1035, 0xd39, 0xf5f, 0xcba, -0xf5f, 0xcba, 0xebc, 0xc70, 0xebc, 0xc70, 0xe4f, 0xc5d, 0xe4f, 0xc5d, 0xdc3, -0xc29, 0xdc3, 0xc29, 0xdc3, 0xc29, 0xe13, 0xccf, 0xe13, 0xccf, 0xe2f, 0xd3e, -0xe2f, 0xd3e, 0xdea, 0xd48, 0xdea, 0xd48, 0xe1d, 0xdc3, 0xe1d, 0xdc3, 0xe68, -0xe51, 0xe68, 0xe51, 0xeeb, 0xf10, 0xeeb, 0xf10, 0xeeb, 0xf10, 0xf36, 0xf90, -0xf36, 0xf90, 0xf5e, 0xfe6, 0xf5e, 0xfe6, 0xfcf, 0x107e, 0xfcf, 0x107e, 0x104e, -0x111e, 0x104e, 0x111e, 0xfb3, 0x109d, 0xfb3, 0x109d, 0xe08, 0xf06, 0xe08, 0xf06, -0xe08, 0xf06, 0xc48, 0xd56, 0xc48, 0xd56, 0xa89, 0xba2, 0xa89, 0xba2, 0x905, -0xa26, 0x905, 0xa26, 0x81d, 0x943, 0x81d, 0x943, 0x77d, 0x8a6, 0x77d, 0x8a6, -0x77d, 0x8a6, 0x678, 0x7a5, 0x678, 0x7a5, 0x5db, 0x70a, 0x5db, 0x70a, 0x564, -0x697, 0x564, 0x697, 0x423, 0x55a, 0x423, 0x55a, 0x27d, 0x3bb, 0x27d, 0x3bb, -0x172, 0x2b9, 0x172, 0x2b9, 0x172, 0x2b9, 0x13d, 0x28f, 0x13d, 0x28f, 0xd4, -0x235, 0xd4, 0x235, 0xfff3, 0x164, 0xfff3, 0x164, 0xfe44, 0xffc8, 0xfe44, 0xffc8, -0xfc63, 0xfdfe, 0xfc63, 0xfdfe, 0xfadf, 0xfc91, 0xfadf, 0xfc91, 0xfadf, 0xfc91, 0xf972, -0xfb3e, 0xf972, 0xfb3e, 0xf821, 0xfa08, 0xf821, 0xfa08, 0xf708, 0xf90a, 0xf708, 0xf90a, -0xf621, 0xf83f, 0xf621, 0xf83f, 0xf4fb, 0xf734, 0xf4fb, 0xf734, 0xf4fb, 0xf734, 0xf435, -0xf689, 0xf435, 0xf689, 0xf269, 0xf4d5, 0xf269, 0xf4d5, 0xefa9, 0xf22d, 0xefa9, 0xf22d, -0xee27, 0xf0c0, 0xee27, 0xf0c0, 0xed60, 0xf00a, 0xed60, 0xf00a, 0xecd7, 0xef91, 0xecd7, -0xef91, 0xecd7, 0xef91, 0xebd4, 0xee9a, 0xebd4, 0xee9a, 0xea5c, 0xed2c, 0xea5c, 0xed2c, -0xe89b, 0xeb70, 0xe89b, 0xeb70, 0xe727, 0xe9ff, 0xe727, 0xe9ff, 0xe6ce, 0xe9a6, 0xe6ce, -0xe9a6, 0xe654, 0xe929, 0xe654, 0xe929, 0xe654, 0xe929, 0xe61c, 0xe8ec, 0xe61c, 0xe8ec, -0xe63e, 0xe906, 0xe63e, 0xe906, 0xe5d3, 0xe892, 0xe5d3, 0xe892, 0xe5f0, 0xe8a5, 0xe5f0, -0xe8a5, 0xe695, 0xe93e, 0xe695, 0xe93e, 0xe695, 0xe93e, 0xe689, 0xe926, 0xe689, 0xe926, -0xe615, 0xe8a6, 0xe615, 0xe8a6, 0xe5f2, 0xe877, 0xe5f2, 0xe877, 0xe650, 0xe8ca, 0xe650, -0xe8ca, 0xe65d, 0xe8cc, 0xe65d, 0xe8cc, 0xe5d6, 0xe83c, 0xe5d6, 0xe83c, 0xe5d6, 0xe83c, -0xe5bb, 0xe819, 0xe5bb, 0xe819, 0xe647, 0xe8a0, 0xe647, 0xe8a0, 0xe755, 0xe9aa, 0xe755, -0xe9aa, 0xe842, 0xea94, 0xe842, 0xea94, 0xe8da, 0xeb2d, 0xe8da, 0xeb2d, 0xe8df, 0xeb34, -0xe8df, 0xeb34, 0xe8df, 0xeb34, 0xe84e, 0xeaa8, 0xe84e, 0xeaa8, 0xe85b, 0xeabb, 0xe85b, -0xeabb, 0xe929, 0xeb92, 0xe929, 0xeb92, 0xea0b, 0xec7d, 0xea0b, 0xec7d, 0xeaa5, 0xed23, -0xeaa5, 0xed23, 0xeaa5, 0xed23, 0xeb93, 0xee1f, 0xeb93, 0xee1f, 0xec3b, 0xeed5, 0xec3b, -0xeed5, 0xebe3, 0xee8c, 0xebe3, 0xee8c, 0xeb49, 0xee03, 0xeb49, 0xee03, 0xeaa4, 0xed6f, -0xeaa4, 0xed6f, 0xea08, 0xece5, 0xea08, 0xece5, 0xea08, 0xece5, 0xe94d, 0xec3b, 0xe94d, -0xec3b, 0xe8c3, 0xebc3, 0xe8c3, 0xebc3, 0xe850, 0xeb62, 0xe850, 0xeb62, 0xe7db, 0xeafe, -0xe7db, 0xeafe, 0xe754, 0xea87, 0xe754, 0xea87, 0xe641, 0xe984, 0xe641, 0xe984, 0xe641, -0xe984, 0xe558, 0xe8a9, 0xe558, 0xe8a9, 0xe44e, 0xe7ac, 0xe44e, 0xe7ac, 0xe335, 0xe69e, -0xe335, 0xe69e, 0xe283, 0xe5f6, 0xe283, 0xe5f6, 0xe11f, 0xe49a, 0xe11f, 0xe49a, 0xe11f, -0xe49a, 0xdf42, 0xe2c4, 0xdf42, 0xe2c4, 0xddef, 0xe175, 0xddef, 0xe175, 0xdcf5, 0xe07d, -0xdcf5, 0xe07d, 0xdc4a, 0xdfd4, 0xdc4a, 0xdfd4, 0xdbfe, 0xdf85, 0xdbfe, 0xdf85, 0xdc03, -0xdf87, 0xdc03, 0xdf87, 0xdc03, 0xdf87, 0xdc29, 0xdfa8, 0xdc29, 0xdfa8, 0xdbe8, 0xdf5f, -0xdbe8, 0xdf5f, 0xdb85, 0xdef3, 0xdb85, 0xdef3, 0xdb0d, 0xde70, 0xdb0d, 0xde70, 0xdada, -0xde31, 0xdada, 0xde31, 0xdada, 0xde31, 0xdb61, 0xdeaa, 0xdb61, 0xdeaa, 0xdc75, 0xdfaf, -0xdc75, 0xdfaf, 0xdddb, 0xe104, 0xdddb, 0xe104, 0xdf6b, 0xe281, 0xdf6b, 0xe281, 0xe198, -0xe49b, 0xe198, 0xe49b, 0xe38b, 0xe679, 0xe38b, 0xe679, 0xe38b, 0xe679, 0xe4c1, 0xe799, -0xe4c1, 0xe799, 0xe585, 0xe845, 0xe585, 0xe845, 0xe69d, 0xe943, 0xe69d, 0xe943, 0xe8db, -0xeb65, 0xe8db, 0xeb65, 0xeb45, 0xedb1, 0xeb45, 0xedb1, 0xeda1, 0xefed, 0xeda1, 0xefed, -0xeda1, 0xefed, 0xefac, 0xf1d4, 0xefac, 0xf1d4, 0xf13e, 0xf33f, 0xf13e, 0xf33f, 0xf2a5, -0xf47d, 0xf2a5, 0xf47d, 0xf37e, 0xf528, 0xf37e, 0xf528, 0xf435, 0xf5ad, 0xf435, 0xf5ad, -0xf435, 0xf5ad, 0xf545, 0xf686, 0xf545, 0xf686, 0xf683, 0xf789, 0xf683, 0xf789, 0xf7b0, -0xf876, 0xf7b0, 0xf876, 0xf8e3, 0xf963, 0xf8e3, 0xf963, 0xfaa3, 0xfad8, 0xfaa3, 0xfad8, -0xfd2c, 0xfd11, 0xfd2c, 0xfd11, 0xfd2c, 0xfd11, 0xffdf, 0xff6f, 0xffdf, 0xff6f, 0x25b, -0x191, 0x25b, 0x191, 0x4bf, 0x397, 0x4bf, 0x397, 0x75c, 0x5d1, 0x75c, 0x5d1, -0xa55, 0x865, 0xa55, 0x865, 0xd9d, 0xb45, 0xd9d, 0xb45, 0xd9d, 0xb45, 0x1161, -0xea1, 0x1161, 0xea1, 0x1563, 0x123a, 0x1563, 0x123a, 0x19b9, 0x1627, 0x19b9, 0x1627, -0x1dc9, 0x19d2, 0x1dc9, 0x19d2, 0x20df, 0x1c86, 0x20df, 0x1c86, 0x20df, 0x1c86, 0x23ce, -0x1f17, 0x23ce, 0x1f17, 0x2709, 0x21fb, 0x2709, 0x21fb, 0x29c3, 0x2466, 0x29c3, 0x2466, -0x2bb4, 0x2610, 0x2bb4, 0x2610, 0x2d92, 0x27b0, 0x2d92, 0x27b0, 0x2ec5, 0x28b1, 0x2ec5, -0x28b1, 0x2ec5, 0x28b1, 0x2f9a, 0x2960, 0x2f9a, 0x2960, 0x3069, 0x2a14, 0x3069, 0x2a14, -0x306a, 0x2a08, 0x306a, 0x2a08, 0x3116, 0x2ab4, 0x3116, 0x2ab4, 0x3245, 0x2bf0, 0x3245, -0x2bf0, 0x3218, 0x2bde, 0x3218, 0x2bde, 0x3218, 0x2bde, 0x312e, 0x2b1b, 0x312e, 0x2b1b, -0x304d, 0x2a6d, 0x304d, 0x2a6d, 0x2f71, 0x29ce, 0x2f71, 0x29ce, 0x2e65, 0x290b, 0x2e65, -0x290b, 0x2c9c, 0x2793, 0x2c9c, 0x2793, 0x2c9c, 0x2793, 0x2a7e, 0x25ce, 0x2a7e, 0x25ce, -0x2814, 0x23c3, 0x2814, 0x23c3, 0x25d7, 0x21e9, 0x25d7, 0x21e9, 0x24a4, 0x211c, 0x24a4, -0x211c, 0x235f, 0x203e, 0x235f, 0x203e, 0x21ce, 0x1f15, 0x21ce, 0x1f15, 0x21ce, 0x1f15, -0x1fd9, 0x1d84, 0x1fd9, 0x1d84, 0x1d8d, 0x1b9b, 0x1d8d, 0x1b9b, 0x1b53, 0x19be, 0x1b53, -0x19be, 0x18ec, 0x17af, 0x18ec, 0x17af, 0x1679, 0x158d, 0x1679, 0x158d, 0x132c, 0x128a, -0x132c, 0x128a, 0x132c, 0x128a, 0xfb8, 0xf58, 0xfb8, 0xf58, 0xc3e, 0xc18, 0xc3e, -0xc18, 0x7e0, 0x7ed, 0x7e0, 0x7ed, 0x3ab, 0x3e2, 0x3ab, 0x3e2, 0xff68, 0xffc1, -0xff68, 0xffc1, 0xff68, 0xffc1, 0xfbb2, 0xfc27, 0xfbb2, 0xfc27, 0xf9ae, 0xfa38, 0xf9ae, -0xfa38, 0xf838, 0xf8d2, 0xf838, 0xf8d2, 0xf6fa, 0xf7a0, 0xf6fa, 0xf7a0, 0xf674, 0xf722, -0xf674, 0xf722, 0xf622, 0xf6d5, 0xf622, 0xf6d5, 0xf622, 0xf6d5, 0xf560, 0xf618, 0xf560, -0xf618, 0xf44a, 0xf506, 0xf44a, 0xf506, 0xf327, 0xf3e7, 0xf327, 0xf3e7, 0xf1e8, 0xf2ae, -0xf1e8, 0xf2ae, 0xf10a, 0xf1d9, 0xf10a, 0xf1d9, 0xf069, 0xf143, 0xf069, 0xf143, 0xf069, -0xf143, 0xefcd, 0xf0b5, 0xefcd, 0xf0b5, 0xefbd, 0xf0b7, 0xefbd, 0xf0b7, 0xef57, 0xf068, -0xef57, 0xf068, 0xee87, 0xefb0, 0xee87, 0xefb0, 0xedcd, 0xef12, 0xedcd, 0xef12, 0xedcd, -0xef12, 0xed6a, 0xeece, 0xed6a, 0xeece, 0xed0d, 0xee92, 0xed0d, 0xee92, 0xebf8, 0xed9f, -0xebf8, 0xed9f, 0xeb16, 0xece0, 0xeb16, 0xece0, 0xe9ee, 0xebd9, 0xe9ee, 0xebd9, 0xe930, -0xeb3b, 0xe930, 0xeb3b, 0xe930, 0xeb3b, 0xe928, 0xeb50, 0xe928, 0xeb50, 0xe803, 0xea44, -0xe803, 0xea44, 0xe6e6, 0xe93b, 0xe6e6, 0xe93b, 0xe680, 0xe8e4, 0xe680, 0xe8e4, 0xe632, -0xe89d, 0xe632, 0xe89d, 0xe643, 0xe8af, 0xe643, 0xe8af, 0xe643, 0xe8af, 0xe733, 0xe998, -0xe733, 0xe998, 0xe86c, 0xeac0, 0xe86c, 0xeac0, 0xe9cf, 0xec0a, 0xe9cf, 0xec0a, 0xeba9, -0xedc3, 0xeba9, 0xedc3, 0xed42, 0xef33, 0xed42, 0xef33, 0xed42, 0xef33, 0xeebd, 0xf07d, -0xeebd, 0xf07d, 0xf073, 0xf1fa, 0xf073, 0xf1fa, 0xf2ee, 0xf435, 0xf2ee, 0xf435, 0xf5f4, -0xf6f5, 0xf5f4, 0xf6f5, 0xf8a5, 0xf95d, 0xf8a5, 0xf95d, 0xfba5, 0xfc0f, 0xfba5, 0xfc0f, -0xfba5, 0xfc0f, 0xff50, 0xff6b, 0xff50, 0xff6b, 0x29c, 0x266, 0x29c, 0x266, 0x593, -0x50e, 0x593, 0x50e, 0x860, 0x78c, 0x860, 0x78c, 0xb2b, 0xa0d, 0xb2b, 0xa0d, -0xe1c, 0xcb7, 0xe1c, 0xcb7, 0xe1c, 0xcb7, 0xfd5, 0xe2f, 0xfd5, 0xe2f, 0x10ca, -0xee9, 0x10ca, 0xee9, 0x113f, 0xf2c, 0x113f, 0xf2c, 0x11e3, 0xfa4, 0x11e3, 0xfa4, -0x138f, 0x112e, 0x138f, 0x112e, 0x138f, 0x112e, 0x1505, 0x128a, 0x1505, 0x128a, 0x160e, -0x1383, 0x160e, 0x1383, 0x16a2, 0x140f, 0x16a2, 0x140f, 0x176e, 0x14dc, 0x176e, 0x14dc, -0x186e, 0x15e5, 0x186e, 0x15e5, 0x1894, 0x161a, 0x1894, 0x161a, 0x1894, 0x161a, 0x1802, -0x159e, 0x1802, 0x159e, 0x16e9, 0x14a1, 0x16e9, 0x14a1, 0x15b1, 0x1389, 0x15b1, 0x1389, -0x15a0, 0x139c, 0x15a0, 0x139c, 0x15f3, 0x1415, 0x15f3, 0x1415, 0x1578, 0x13c0, 0x1578, -0x13c0, 0x1578, 0x13c0, 0x1535, 0x13a4, 0x1535, 0x13a4, 0x1488, 0x131d, 0x1488, 0x131d, -0x13be, 0x1277, 0x13be, 0x1277, 0x12fb, 0x11d6, 0x12fb, 0x11d6, 0x1173, 0x106c, 0x1173, -0x106c, 0x1173, 0x106c, 0xff1, 0xf05, 0xff1, 0xf05, 0xe11, 0xd3c, 0xe11, 0xd3c, -0xc0b, 0xb48, 0xc0b, 0xb48, 0xa1f, 0x96b, 0xa1f, 0x96b, 0x80e, 0x764, 0x80e, -0x764, 0x6e7, 0x644, 0x6e7, 0x644, 0x6e7, 0x644, 0x71b, 0x67b, 0x71b, 0x67b, -0x7ad, 0x70e, 0x7ad, 0x70e, 0x805, 0x766, 0x805, 0x766, 0x7d4, 0x732, 0x7d4, -0x732, 0x74f, 0x6ab, 0x74f, 0x6ab, 0x74f, 0x6ab, 0x7a0, 0x6fa, 0x7a0, 0x6fa, -0x86d, 0x7c5, 0x86d, 0x7c5, 0x8d9, 0x832, 0x8d9, 0x832, 0x911, 0x86c, 0x911, -0x86c, 0x91e, 0x87e, 0x91e, 0x87e, 0x918, 0x880, 0x918, 0x880, 0x918, 0x880, -0x9a5, 0x917, 0x9a5, 0x917, 0xa5b, 0x9da, 0xa5b, 0x9da, 0xa3e, 0x9ce, 0xa3e, -0x9ce, 0x996, 0x938, 0x996, 0x938, 0x8c1, 0x878, 0x8c1, 0x878, 0x808, 0x7d3, -0x808, 0x7d3, 0x808, 0x7d3, 0x73a, 0x71b, 0x73a, 0x71b, 0x62f, 0x624, 0x62f, -0x624, 0x52d, 0x536, 0x52d, 0x536, 0x449, 0x462, 0x449, 0x462, 0x400, 0x427, -0x400, 0x427, 0x400, 0x427, 0x3a6, 0x3d6, 0x3a6, 0x3d6, 0x28a, 0x2bd, 0x28a, -0x2bd, 0xc7, 0xf8, 0xc7, 0xf8, 0xff45, 0xff6c, 0xff45, 0xff6c, 0xfecf, 0xfee5, -0xfecf, 0xfee5, 0xfe83, 0xfe81, 0xfe83, 0xfe81, 0xfe83, 0xfe81, 0xfe5a, 0xfe39, 0xfe5a, -0xfe39, 0xfe69, 0xfe21, 0xfe69, 0xfe21, 0xff2c, 0xfeb4, 0xff2c, 0xfeb4, 0x4b, 0xff9d, -0x4b, 0xff9d, 0x1b3, 0xc9, 0x1b3, 0xc9, 0x3c5, 0x29a, 0x3c5, 0x29a, 0x3c5, -0x29a, 0x4e7, 0x375, 0x4e7, 0x375, 0x5d3, 0x418, 0x5d3, 0x418, 0x798, 0x591, -0x798, 0x591, 0x9bc, 0x76a, 0x9bc, 0x76a, 0xbf9, 0x95b, 0xbf9, 0x95b, 0xbf9, -0x95b, 0xee1, 0xbfa, 0xee1, 0xbfa, 0x1229, 0xefc, 0x1229, 0xefc, 0x146c, 0x10fe, -0x146c, 0x10fe, 0x15cf, 0x1226, 0x15cf, 0x1226, 0x16ae, 0x12d1, 0x16ae, 0x12d1, 0x1752, -0x1349, 0x1752, 0x1349, 0x1752, 0x1349, 0x1852, 0x1426, 0x1852, 0x1426, 0x1960, 0x151a, -0x1960, 0x151a, 0x1925, 0x14ce, 0x1925, 0x14ce, 0x1860, 0x1404, 0x1860, 0x1404, 0x17d0, -0x1376, 0x17d0, 0x1376, 0x1731, 0x12e5, 0x1731, 0x12e5, 0x1731, 0x12e5, 0x1610, 0x11da, -0x1610, 0x11da, 0x1479, 0x1062, 0x1479, 0x1062, 0x1326, 0xf37, 0x1326, 0xf37, 0x1181, -0xdc0, 0x1181, 0xdc0, 0x10a1, 0xd13, 0x10a1, 0xd13, 0x10a1, 0xd13, 0x107b, 0xd27, -0x107b, 0xd27, 0xff6, 0xcde, 0xff6, 0xcde, 0xf29, 0xc52, 0xf29, 0xc52, 0xe95, -0xc00, 0xe95, 0xc00, 0xe36, 0xbe3, 0xe36, 0xbe3, 0xe2f, 0xc1d, 0xe2f, 0xc1d, -0xe2f, 0xc1d, 0xe66, 0xc95, 0xe66, 0xc95, 0xd85, 0xbf1, 0xd85, 0xbf1, 0xd15, -0xbbd, 0xd15, 0xbbd, 0xd32, 0xc11, 0xd32, 0xc11, 0xd5e, 0xc72, 0xd5e, 0xc72, -0xe16, 0xd59, 0xe16, 0xd59, 0xe16, 0xd59, 0xe1c, 0xd8a, 0xe1c, 0xd8a, 0xd41, -0xcd5, 0xd41, 0xcd5, 0xc9a, 0xc51, 0xc9a, 0xc51, 0xc2b, 0xc00, 0xc2b, 0xc00, -0xa9e, 0xa8d, 0xa9e, 0xa8d, 0xa9e, 0xa8d, 0x87a, 0x881, 0x87a, 0x881, 0x63d, -0x658, 0x63d, 0x658, 0x484, 0x4b2, 0x484, 0x4b2, 0x3d4, 0x412, 0x3d4, 0x412, -0x32c, 0x37b, 0x32c, 0x37b, 0x24d, 0x2ac, 0x24d, 0x2ac, 0x24d, 0x2ac, 0x15a, -0x1c8, 0x15a, 0x1c8, 0x68, 0xe7, 0x68, 0xe7, 0xffa6, 0x38, 0xffa6, 0x38, -0xfee5, 0xff8d, 0xfee5, 0xff8d, 0xfd68, 0xfe27, 0xfd68, 0xfe27, 0xfbc7, 0xfca1, 0xfbc7, -0xfca1, 0xfbc7, 0xfca1, 0xfaed, 0xfbe3, 0xfaed, 0xfbe3, 0xfb18, 0xfc2f, 0xfb18, 0xfc2f, -0xfb30, 0xfc6a, 0xfb30, 0xfc6a, 0xfa20, 0xfb81, 0xfa20, 0xfb81, 0xf925, 0xfaaf, 0xf925, -0xfaaf, 0xf925, 0xfaaf, 0xf821, 0xf9d7, 0xf821, 0xf9d7, 0xf6b1, 0xf895, 0xf6b1, 0xf895, -0xf576, 0xf789, 0xf576, 0xf789, 0xf396, 0xf5da, 0xf396, 0xf5da, 0xf124, 0xf398, 0xf124, -0xf398, 0xefbb, 0xf260, 0xefbb, 0xf260, 0xefbb, 0xf260, 0xef09, 0xf1dd, 0xef09, 0xf1dd, -0xed75, 0xf077, 0xed75, 0xf077, 0xeb14, 0xee41, 0xeb14, 0xee41, 0xe969, 0xecbd, 0xe969, -0xecbd, 0xe89a, 0xec11, 0xe89a, 0xec11, 0xe7ca, 0xeb61, 0xe7ca, 0xeb61, 0xe7ca, 0xeb61, -0xe6d2, 0xea82, 0xe6d2, 0xea82, 0xe532, 0xe8f7, 0xe532, 0xe8f7, 0xe3df, 0xe7b2, 0xe3df, -0xe7b2, 0xe465, 0xe83f, 0xe465, 0xe83f, 0xe53a, 0xe916, 0xe53a, 0xe916, 0xe53a, 0xe916, -0xe523, 0xe8fa, 0xe523, 0xe8fa, 0xe4c9, 0xe895, 0xe4c9, 0xe895, 0xe499, 0xe854, 0xe499, -0xe854, 0xe479, 0xe81e, 0xe479, 0xe81e, 0xe44f, 0xe7d7, 0xe44f, 0xe7d7, 0xe453, 0xe7bc, -0xe453, 0xe7bc, 0xe453, 0xe7bc, 0xe42f, 0xe774, 0xe42f, 0xe774, 0xe4f8, 0xe815, 0xe4f8, -0xe815, 0xe672, 0xe965, 0xe672, 0xe965, 0xe726, 0xe9ef, 0xe726, 0xe9ef, 0xe781, 0xea1f, -0xe781, 0xea1f, 0xe7fe, 0xea71, 0xe7fe, 0xea71, 0xe7fe, 0xea71, 0xe8fc, 0xeb46, 0xe8fc, -0xeb46, 0xea1d, 0xec41, 0xea1d, 0xec41, 0xeb82, 0xed82, 0xeb82, 0xed82, 0xec09, 0xede9, -0xec09, 0xede9, 0xec07, 0xedcc, 0xec07, 0xedcc, 0xec07, 0xedcc, 0xec78, 0xee28, 0xec78, -0xee28, 0xebf4, 0xed94, 0xebf4, 0xed94, 0xebad, 0xed44, 0xebad, 0xed44, 0xec47, 0xedda, -0xec47, 0xedda, 0xed16, 0xeeac, 0xed16, 0xeeac, 0xee64, 0xf003, 0xee64, 0xf003, 0xee64, -0xf003, 0xefc0, 0xf16f, 0xefc0, 0xf16f, 0xf049, 0xf20e, 0xf049, 0xf20e, 0xf049, 0xf229, -0xf049, 0xf229, 0xef9e, 0xf19e, 0xef9e, 0xf19e, 0xeef9, 0xf11d, 0xeef9, 0xf11d, 0xee6c, -0xf0b8, 0xee6c, 0xf0b8, 0xee6c, 0xf0b8, 0xed00, 0xef77, 0xed00, 0xef77, 0xeb96, 0xee3a, -0xeb96, 0xee3a, 0xea98, 0xed68, 0xea98, 0xed68, 0xeaca, 0xedc9, 0xeaca, 0xedc9, 0xeb24, -0xee50, 0xeb24, 0xee50, 0xeb24, 0xee50, 0xeae3, 0xee3b, 0xeae3, 0xee3b, 0xe9bb, 0xed3d, -0xe9bb, 0xed3d, 0xe7eb, 0xeb94, 0xe7eb, 0xeb94, 0xe65c, 0xea27, 0xe65c, 0xea27, 0xe48c, -0xe876, 0xe48c, 0xe876, 0xe2e8, 0xe6eb, 0xe2e8, 0xe6eb, 0xe2e8, 0xe6eb, 0xe06a, 0xe482, -0xe06a, 0xe482, 0xde6f, 0xe295, 0xde6f, 0xe295, 0xdda2, 0xe1d2, 0xdda2, 0xe1d2, 0xdcd4, -0xe107, 0xdcd4, 0xe107, 0xdc4e, 0xe07e, 0xdc4e, 0xe07e, 0xdc4e, 0xe07e, 0xdb6e, 0xdf94, -0xdb6e, 0xdf94, 0xda83, 0xde9b, 0xda83, 0xde9b, 0xda03, 0xde06, 0xda03, 0xde06, 0xda8f, -0xde79, 0xda8f, 0xde79, 0xdbe4, 0xdfaf, 0xdbe4, 0xdfaf, 0xdc70, 0xe017, 0xdc70, 0xe017, -0xdc70, 0xe017, 0xdcba, 0xe03a, 0xdcba, 0xe03a, 0xde3f, 0xe193, 0xde3f, 0xe193, 0xdff2, -0xe318, 0xdff2, 0xe318, 0xe1a8, 0xe49c, 0xe1a8, 0xe49c, 0xe2e0, 0xe5a2, 0xe2e0, 0xe5a2, -0xe364, 0xe5f1, 0xe364, 0xe5f1, 0xe364, 0xe5f1, 0xe514, 0xe76a, 0xe514, 0xe76a, 0xe741, -0xe960, 0xe741, 0xe960, 0xe93d, 0xeb23, 0xe93d, 0xeb23, 0xeaa3, 0xec52, 0xeaa3, 0xec52, -0xec2e, 0xeda4, 0xec2e, 0xeda4, 0xec2e, 0xeda4, 0xeddd, 0xef1b, 0xeddd, 0xef1b, 0xef43, -0xf049, 0xef43, 0xf049, 0xf0c8, 0xf197, 0xf0c8, 0xf197, 0xf15c, 0xf1f3, 0xf15c, 0xf1f3, -0xf1d7, 0xf237, 0xf1d7, 0xf237, 0xf291, 0xf2ba, 0xf291, 0xf2ba, 0xf291, 0xf2ba, 0xf37f, -0xf372, 0xf37f, 0xf372, 0xf4cb, 0xf486, 0xf4cb, 0xf486, 0xf638, 0xf5bc, 0xf638, 0xf5bc, -0xf85f, 0xf7ab, 0xf85f, 0xf7ab, 0xfae2, 0xf9f6, 0xfae2, 0xf9f6, 0xfd85, 0xfc61, 0xfd85, -0xfc61, 0xfd85, 0xfc61, 0x19, 0xfeba, 0x19, 0xfeba, 0x268, 0xcf, 0x268, 0xcf, -0x4d8, 0x303, 0x4d8, 0x303, 0x783, 0x571, 0x783, 0x571, 0xa58, 0x809, 0xa58, -0x809, 0xa58, 0x809, 0xd77, 0xaeb, 0xd77, 0xaeb, 0x10b1, 0xde7, 0x10b1, 0xde7, -0x13ef, 0x10e8, 0x13ef, 0x10e8, 0x177b, 0x1438, 0x177b, 0x1438, 0x1b3c, 0x17be, 0x1b3c, -0x17be, 0x1f54, 0x1b9d, 0x1f54, 0x1b9d, 0x1f54, 0x1b9d, 0x2300, 0x1f13, 0x2300, 0x1f13, -0x2554, 0x2134, 0x2554, 0x2134, 0x2701, 0x22b3, 0x2701, 0x22b3, 0x2892, 0x241d, 0x2892, -0x241d, 0x29f8, 0x2560, 0x29f8, 0x2560, 0x2a76, 0x25c3, 0x2a76, 0x25c3, 0x2a76, 0x25c3, -0x2ac1, 0x25fa, 0x2ac1, 0x25fa, 0x2b6a, 0x2696, 0x2b6a, 0x2696, 0x2bef, 0x2718, 0x2bef, -0x2718, 0x2c84, 0x27b3, 0x2c84, 0x27b3, 0x2c80, 0x27be, 0x2c80, 0x27be, 0x2c80, 0x27be, -0x2c44, 0x279a, 0x2c44, 0x279a, 0x2c75, 0x27ed, 0x2c75, 0x27ed, 0x2cf4, 0x2896, 0x2cf4, -0x2896, 0x2c37, 0x280c, 0x2c37, 0x280c, 0x2a2f, 0x263f, 0x2a2f, 0x263f, 0x2871, 0x24c2, -0x2871, 0x24c2, 0x2871, 0x24c2, 0x26bc, 0x2355, 0x26bc, 0x2355, 0x2534, 0x2219, 0x2534, -0x2219, 0x22c8, 0x1ffe, 0x22c8, 0x1ffe, 0x1f90, 0x1d18, 0x1f90, 0x1d18, 0x1d43, 0x1b1e, -0x1d43, 0x1b1e, 0x1bdd, 0x1a0c, 0x1bdd, 0x1a0c, 0x1bdd, 0x1a0c, 0x1ac9, 0x194a, 0x1ac9, -0x194a, 0x195f, 0x182e, 0x195f, 0x182e, 0x169f, 0x15b9, 0x169f, 0x15b9, 0x13bf, 0x131e, -0x13bf, 0x131e, 0x113f, 0x10dd, 0x113f, 0x10dd, 0x113f, 0x10dd, 0xddc, 0xdb3, 0xddc, -0xdb3, 0xa23, 0xa2b, 0xa23, 0xa2b, 0x5b3, 0x5e5, 0x5b3, 0x5e5, 0x20a, 0x25f, -0x20a, 0x25f, 0xff4e, 0xffbd, 0xff4e, 0xffbd, 0xfc46, 0xfcc9, 0xfc46, 0xfcc9, 0xfc46, -0xfcc9, 0xf95a, 0xf9ea, 0xf95a, 0xf9ea, 0xf70a, 0xf7a2, 0xf70a, 0xf7a2, 0xf5ed, 0xf688, -0xf5ed, 0xf688, 0xf537, 0xf5d2, 0xf537, 0xf5d2, 0xf530, 0xf5c8, 0xf530, 0xf5c8, 0xf4bf, -0xf554, 0xf4bf, 0xf554, 0xf4bf, 0xf554, 0xf418, 0xf4aa, 0xf418, 0xf4aa, 0xf3c5, 0xf455, -0xf3c5, 0xf455, 0xf342, 0xf3d3, 0xf342, 0xf3d3, 0xf296, 0xf32b, 0xf296, 0xf32b, 0xf1a5, -0xf244, 0xf1a5, 0xf244, 0xf1a5, 0xf244, 0xf18b, 0xf239, 0xf18b, 0xf239, 0xf1ae, 0xf271, -0xf1ae, 0xf271, 0xf27a, 0xf358, 0xf27a, 0xf358, 0xf381, 0xf480, 0xf381, 0xf480, 0xf33d, -0xf463, 0xf33d, 0xf463, 0xf236, 0xf389, 0xf236, 0xf389, 0xf236, 0xf389, 0xf181, 0xf306, -0xf181, 0xf306, 0xf0df, 0xf299, 0xf0df, 0xf299, 0xf068, 0xf259, 0xf068, 0xf259, 0xf039, -0xf262, 0xf039, 0xf262, 0xeefe, 0xf15f, 0xeefe, 0xf15f, 0xee4b, 0xf0e2, 0xee4b, 0xf0e2, -0xee4b, 0xf0e2, 0xee21, 0xf0ea, 0xee21, 0xf0ea, 0xed41, 0xf036, 0xed41, 0xf036, 0xec2f, -0xef49, 0xec2f, 0xef49, 0xeb49, 0xee7f, 0xeb49, 0xee7f, 0xea76, 0xedbe, 0xea76, 0xedbe, -0xea76, 0xedbe, 0xea92, 0xede1, 0xea92, 0xede1, 0xec19, 0xef62, 0xec19, 0xef62, 0xed0e, -0xf044, 0xed0e, 0xf044, 0xedbf, 0xf0d6, 0xedbf, 0xf0d6, 0xef74, 0xf25d, 0xef74, 0xf25d, -0xf1f9, 0xf4a8, 0xf1f9, 0xf4a8, 0xf1f9, 0xf4a8, 0xf46b, 0xf6d3, 0xf46b, 0xf6d3, 0xf6b0, -0xf8c5, 0xf6b0, 0xf8c5, 0xf89c, 0xfa54, 0xf89c, 0xfa54, 0xfa35, 0xfb86, 0xfa35, 0xfb86, -0xfce0, 0xfdc3, 0xfce0, 0xfdc3, 0x22, 0x91, 0x22, 0x91, 0x22, 0x91, 0x36d, -0x365, 0x36d, 0x365, 0x6ab, 0x62c, 0x6ab, 0x62c, 0x981, 0x88a, 0x981, 0x88a, -0xc2e, 0xac3, 0xc2e, 0xac3, 0xe9b, 0xcc0, 0xe9b, 0xcc0, 0xe9b, 0xcc0, 0x108f, -0xe4d, 0x108f, 0xe4d, 0x121d, 0xf7b, 0x121d, 0xf7b, 0x1318, 0x1022, 0x1318, 0x1022, -0x1403, 0x10c5, 0x1403, 0x10c5, 0x1552, 0x11d9, 0x1552, 0x11d9, 0x166b, 0x12c3, 0x166b, -0x12c3, 0x166b, 0x12c3, 0x1826, 0x145f, 0x1826, 0x145f, 0x1a36, 0x165f, 0x1a36, 0x165f, -0x1b03, 0x1729, 0x1b03, 0x1729, 0x1b26, 0x1757, 0x1b26, 0x1757, 0x1a6b, 0x16b4, 0x1a6b, -0x16b4, 0x193a, 0x15a7, 0x193a, 0x15a7, 0x193a, 0x15a7, 0x1937, 0x15d2, 0x1937, 0x15d2, -0x1933, 0x1606, 0x1933, 0x1606, 0x183a, 0x154b, 0x183a, 0x154b, 0x1754, 0x14aa, 0x1754, -0x14aa, 0x1679, 0x1417, 0x1679, 0x1417, 0x1679, 0x1417, 0x1500, 0x12e8, 0x1500, 0x12e8, -0x140d, 0x123f, 0x140d, 0x123f, 0x136f, 0x11ea, 0x136f, 0x11ea, 0x121a, 0x10db, 0x121a, -0x10db, 0x107f, 0xf80, 0x107f, 0xf80, 0xee0, 0xe1d, 0xee0, 0xe1d, 0xee0, 0xe1d, -0xd26, 0xc99, 0xd26, 0xc99, 0xb17, 0xab7, 0xb17, 0xab7, 0x99c, 0x962, 0x99c, -0x962, 0x818, 0x7fc, 0x818, 0x7fc, 0x6f1, 0x6ec, 0x6f1, 0x6ec, 0x6f1, 0x6ec, -0x729, 0x733, 0x729, 0x733, 0x737, 0x749, 0x737, 0x749, 0x69d, 0x6b1, 0x69d, -0x6b1, 0x5fb, 0x60b, 0x5fb, 0x60b, 0x5e2, 0x5eb, 0x5e2, 0x5eb, 0x639, 0x636, -0x639, 0x636, 0x639, 0x636, 0x708, 0x6f9, 0x708, 0x6f9, 0x6e7, 0x6c9, 0x6e7, -0x6c9, 0x66b, 0x63f, 0x66b, 0x63f, 0x695, 0x65b, 0x695, 0x65b, 0x686, 0x641, -0x686, 0x641, 0x684, 0x634, 0x684, 0x634, 0x684, 0x634, 0x678, 0x622, 0x678, -0x622, 0x6d1, 0x678, 0x6d1, 0x678, 0x722, 0x6c9, 0x722, 0x6c9, 0x761, 0x70c, -0x761, 0x70c, 0x6e5, 0x695, 0x6e5, 0x695, 0x6e5, 0x695, 0x55e, 0x516, 0x55e, -0x516, 0x366, 0x329, 0x366, 0x329, 0x243, 0x210, 0x243, 0x210, 0x250, 0x228, -0x250, 0x228, 0x1c8, 0x1aa, 0x1c8, 0x1aa, 0x15f, 0x149, 0x15f, 0x149, 0x15f, -0x149, 0xc8, 0xb6, 0xc8, 0xb6, 0xfff2, 0xffdf, 0xfff2, 0xffdf, 0xfed0, 0xfeb8, -0xfed0, 0xfeb8, 0xfd0a, 0xfce6, 0xfd0a, 0xfce6, 0xfb90, 0xfb5a, 0xfb90, 0xfb5a, 0xfa99, -0xfa4a, 0xfa99, 0xfa4a, 0xfa99, 0xfa4a, 0xf9ef, 0xf97e, 0xf9ef, 0xf97e, 0xf9e4, 0xf94c, -0xf9e4, 0xf94c, 0xfa9f, 0xf9d7, 0xfa9f, 0xf9d7, 0xfb48, 0xfa49, 0xfb48, 0xfa49, 0xfc91, -0xfb55, 0xfc91, 0xfb55, 0xfc91, 0xfb55, 0xfe37, 0xfcb9, 0xfe37, 0xfcb9, 0x20, 0xfe5b, -0x20, 0xfe5b, 0x222, 0x15, 0x222, 0x15, 0x3fb, 0x1a2, 0x3fb, 0x1a2, 0x5ab, -0x307, 0x5ab, 0x307, 0x7d1, 0x4e3, 0x7d1, 0x4e3, 0x7d1, 0x4e3, 0xb6a, 0x835, -0xb6a, 0x835, 0xe71, 0xafa, 0xe71, 0xafa, 0x110b, 0xd58, 0x110b, 0xd58, 0x135c, -0xf74, 0x135c, 0xf74, 0x1504, 0x10ef, 0x1504, 0x10ef, 0x164d, 0x1215, 0x164d, 0x1215, -0x164d, 0x1215, 0x1716, 0x12c5, 0x1716, 0x12c5, 0x1747, 0x12ea, 0x1747, 0x12ea, 0x1691, -0x1230, 0x1691, 0x1230, 0x1637, 0x11e0, 0x1637, 0x11e0, 0x15b2, 0x116e, 0x15b2, 0x116e, -0x15b2, 0x116e, 0x14d1, 0x10ab, 0x14d1, 0x10ab, 0x13fa, 0xffd, 0x13fa, 0xffd, 0x12fb, -0xf2f, 0x12fb, 0xf2f, 0x124e, 0xebb, 0x124e, 0xebb, 0x11ae, 0xe5c, 0x11ae, 0xe5c, -0x1174, 0xe68, 0x1174, 0xe68, 0x1174, 0xe68, 0x1196, 0xed3, 0x1196, 0xed3, 0x1188, -0xf11, 0x1188, 0xf11, 0x1179, 0xf50, 0x1179, 0xf50, 0x10f9, 0xf1d, 0x10f9, 0xf1d, -0xff3, 0xe64, 0xff3, 0xe64, 0xf91, 0xe4c, 0xf91, 0xe4c, 0xf91, 0xe4c, 0xf7e, -0xe7e, 0xf7e, 0xe7e, 0xfb2, 0xef3, 0xfb2, 0xef3, 0x1117, 0x1095, 0x1117, 0x1095, -0x11f7, 0x11ac, 0x11f7, 0x11ac, 0x1213, 0x11f8, 0x1213, 0x11f8, 0x1213, 0x11f8, 0x12a3, -0x12b3, 0x12a3, 0x12b3, 0x12a0, 0x12d5, 0x12a0, 0x12d5, 0x1238, 0x128c, 0x1238, 0x128c, -0x11a4, 0x1212, 0x11a4, 0x1212, 0x105a, 0x10de, 0x105a, 0x10de, 0xed3, 0xf68, 0xed3, -0xf68, 0xed3, 0xf68, 0xd4b, 0xdef, 0xd4b, 0xdef, 0xbd2, 0xc81, 0xbd2, 0xc81, -0xab1, 0xb6b, 0xab1, 0xb6b, 0x9bb, 0xa7e, 0x9bb, 0xa7e, 0x8c5, 0x992, 0x8c5, -0x992, 0x844, 0x91b, 0x844, 0x91b, 0x844, 0x91b, 0x7c1, 0x8a5, 0x7c1, 0x8a5, -0x70f, 0x801, 0x70f, 0x801, 0x594, 0x695, 0x594, 0x695, 0x3b4, 0x4c9, 0x3b4, -0x4c9, 0x231, 0x35d, 0x231, 0x35d, 0x231, 0x35d, 0xffe8, 0x12d, 0xffe8, 0x12d, -0xfe25, 0xff87, 0xfe25, 0xff87, 0xfdeb, 0xff6d, 0xfdeb, 0xff6d, 0xfdad, 0xff51, 0xfdad, -0xff51, 0xfd52, 0xff1c, 0xfd52, 0xff1c, 0xfd6c, 0xff5d, 0xfd6c, 0xff5d, 0xfd6c, 0xff5d, -0xfc36, 0xfe50, 0xfc36, 0xfe50, 0xfa70, 0xfcb3, 0xfa70, 0xfcb3, 0xf93a, 0xfba8, 0xf93a, -0xfba8, 0xf7ca, 0xfa62, 0xf7ca, 0xfa62, 0xf65f, 0xf921, 0xf65f, 0xf921, 0xf4bc, 0xf7a6, -0xf4bc, 0xf7a6, 0xf4bc, 0xf7a6, 0xf2f6, 0xf605, 0xf2f6, 0xf605, 0xf0d5, 0xf409, 0xf0d5, -0xf409, 0xef85, 0xf2da, 0xef85, 0xf2da, 0xee39, 0xf1aa, 0xee39, 0xf1aa, 0xec56, 0xefe1, -0xec56, 0xefe1, 0xec56, 0xefe1, 0xeb1a, 0xeebb, 0xeb1a, 0xeebb, 0xea01, 0xedb2, 0xea01, -0xedb2, 0xe8fe, 0xecbb, 0xe8fe, 0xecbb, 0xe7ed, 0xebb1, 0xe7ed, 0xebb1, 0xe757, 0xeb1c, -0xe757, 0xeb1c, 0xe643, 0xea04, 0xe643, 0xea04, 0xe643, 0xea04, 0xe515, 0xe8ce, 0xe515, -0xe8ce, 0xe48b, 0xe835, 0xe48b, 0xe835, 0xe3ea, 0xe780, 0xe3ea, 0xe780, 0xe2f6, 0xe673, -0xe2f6, 0xe673, 0xe208, 0xe567, 0xe208, 0xe567, 0xe221, 0xe55f, 0xe221, 0xe55f, 0xe221, -0xe55f, 0xe286, 0xe59e, 0xe286, 0xe59e, 0xe3ee, 0xe6dc, 0xe3ee, 0xe6dc, 0xe5f1, 0xe8b3, -0xe5f1, 0xe8b3, 0xe73b, 0xe9ce, 0xe73b, 0xe9ce, 0xe88a, 0xeaec, 0xe88a, 0xeaec, 0xe88a, -0xeaec, 0xea0e, 0xec3e, 0xea0e, 0xec3e, 0xeaa4, 0xeca3, 0xeaa4, 0xeca3, 0xeb0b, 0xecda, -0xeb0b, 0xecda, 0xebbb, 0xed5b, 0xebbb, 0xed5b, 0xeb47, 0xecb9, 0xeb47, 0xecb9, 0xeb4b, -0xec95, 0xeb4b, 0xec95, 0xeb4b, 0xec95, 0xeb8e, 0xecb3, 0xeb8e, 0xecb3, 0xeb98, 0xec9d, -0xeb98, 0xec9d, 0xec3e, 0xed29, 0xec3e, 0xed29, 0xec7a, 0xed52, 0xec7a, 0xed52, 0xec4b, -0xed17, 0xec4b, 0xed17, 0xec2c, 0xecf4, 0xec2c, 0xecf4, 0xec2c, 0xecf4, 0xebde, 0xecaa, -0xebde, 0xecaa, 0xec28, 0xecff, 0xec28, 0xecff, 0xece3, 0xedcd, 0xece3, 0xedcd, 0xebf9, -0xecfd, 0xebf9, 0xecfd, 0xeac1, 0xebe8, 0xeac1, 0xebe8, 0xeac1, 0xebe8, 0xe9af, 0xeafe, -0xe9af, 0xeafe, 0xe7f3, 0xe971, 0xe7f3, 0xe971, 0xe6c3, 0xe874, 0xe6c3, 0xe874, 0xe641, -0xe82a, 0xe641, 0xe82a, 0xe648, 0xe86c, 0xe648, 0xe86c, 0xe62d, 0xe88d, 0xe62d, 0xe88d, -0xe62d, 0xe88d, 0xe5ad, 0xe84a, 0xe5ad, 0xe84a, 0xe4cd, 0xe7a5, 0xe4cd, 0xe7a5, 0xe356, -0xe668, 0xe356, 0xe668, 0xe1c2, 0xe50b, 0xe1c2, 0xe50b, 0xe023, 0xe39d, 0xe023, 0xe39d, -0xe023, 0xe39d, 0xddeb, 0xe191, 0xddeb, 0xe191, 0xdb67, 0xdf32, 0xdb67, 0xdf32, 0xd981, -0xdd69, 0xd981, 0xdd69, 0xd852, 0xdc4f, 0xd852, 0xdc4f, 0xd766, 0xdb70, 0xd766, 0xdb70, -0xd642, 0xda50, 0xd642, 0xda50, 0xd642, 0xda50, 0xd4f3, 0xd8fb, 0xd4f3, 0xd8fb, 0xd3f9, -0xd7f4, 0xd3f9, 0xd7f4, 0xd3d5, 0xd7b9, 0xd3d5, 0xd7b9, 0xd47e, 0xd844, 0xd47e, 0xd844, -0xd533, 0xd8d3, 0xd533, 0xd8d3, 0xd5c2, 0xd936, 0xd5c2, 0xd936, 0xd5c2, 0xd936, 0xd693, -0xd9d5, 0xd693, 0xd9d5, 0xd793, 0xda9f, 0xd793, 0xda9f, 0xd8c0, 0xdb93, 0xd8c0, 0xdb93, -0xdae6, 0xdd7c, 0xdae6, 0xdd7c, 0xdd65, 0xdfbe, 0xdd65, 0xdfbe, 0xdd65, 0xdfbe, 0xdf79, -0xe195, 0xdf79, 0xe195, 0xe21b, 0xe3f8, 0xe21b, 0xe3f8, 0xe446, 0xe5e7, 0xe446, 0xe5e7, -0xe60b, 0xe771, 0xe60b, 0xe771, 0xe83b, 0xe969, 0xe83b, 0xe969, 0xea29, 0xeb21, 0xea29, -0xeb21, 0xea29, 0xeb21, 0xec09, 0xecce, 0xec09, 0xecce, 0xed9f, 0xee34, 0xed9f, 0xee34, -0xef46, 0xefad, 0xef46, 0xefad, 0xf01a, 0xf055, 0xf01a, 0xf055, 0xf092, 0xf0a2, 0xf092, -0xf0a2, 0xf1ef, 0xf1d5, 0xf1ef, 0xf1d5, 0xf1ef, 0xf1d5, 0xf38e, 0xf34b, 0xf38e, 0xf34b, -0xf591, 0xf525, 0xf591, 0xf525, 0xf783, 0xf6ec, 0xf783, 0xf6ec, 0xf971, 0xf8ad, 0xf971, -0xf8ad, 0xfb69, 0xfa76, 0xfb69, 0xfa76, 0xfb69, 0xfa76, 0xfde0, 0xfcbb, 0xfde0, 0xfcbb, -0xc2, 0xff68, 0xc2, 0xff68, 0x3e7, 0x253, 0x3e7, 0x253, 0x77d, 0x5ac, 0x77d, -0x5ac, 0xaff, 0x8ec, 0xaff, 0x8ec, 0xeaa, 0xc52, 0xeaa, 0xc52, 0xeaa, 0xc52, -0x11fc, 0xf5c, 0x11fc, 0xf5c, 0x1558, 0x126c, 0x1558, 0x126c, 0x19a2, 0x1669, 0x19a2, -0x1669, 0x1de7, 0x1a5f, 0x1de7, 0x1a5f, 0x2197, 0x1dc1, 0x2197, 0x1dc1, 0x2571, 0x214d, -0x2571, 0x214d, 0x2571, 0x214d, 0x2861, 0x23f4, 0x2861, 0x23f4, 0x2ac6, 0x2613, 0x2ac6, -0x2613, 0x2d17, 0x2824, 0x2d17, 0x2824, 0x2e09, 0x28dc, 0x2e09, 0x28dc, 0x2e7c, 0x291f, -0x2e7c, 0x291f, 0x2e7c, 0x291f, 0x2ee8, 0x2964, 0x2ee8, 0x2964, 0x3038, 0x2a97, 0x3038, -0x2a97, 0x3196, 0x2be5, 0x3196, 0x2be5, 0x31f5, 0x2c3f, 0x31f5, 0x2c3f, 0x31f2, 0x2c45, -0x31f2, 0x2c45, 0x316e, 0x2bd7, 0x316e, 0x2bd7, 0x316e, 0x2bd7, 0x3125, 0x2bb1, 0x3125, -0x2bb1, 0x3152, 0x2c0d, 0x3152, 0x2c0d, 0x30ff, 0x2bf6, 0x30ff, 0x2bf6, 0x2f90, 0x2acd, -0x2f90, 0x2acd, 0x2dde, 0x296d, 0x2dde, 0x296d, 0x2c3c, 0x2824, 0x2c3c, 0x2824, 0x2c3c, -0x2824, 0x2ab2, 0x26fb, 0x2ab2, 0x26fb, 0x28c4, 0x2574, 0x28c4, 0x2574, 0x26a5, 0x23bf, -0x26a5, 0x23bf, 0x24d1, 0x2257, 0x24d1, 0x2257, 0x234c, 0x213e, 0x234c, 0x213e, 0x234c, -0x213e, 0x224f, 0x20ac, 0x224f, 0x20ac, 0x2025, 0x1ee8, 0x2025, 0x1ee8, 0x1ccd, 0x1bf1, -0x1ccd, 0x1bf1, 0x196c, 0x18ea, 0x196c, 0x18ea, 0x1691, 0x1661, 0x1691, 0x1661, 0x13a1, -0x13ba, 0x13a1, 0x13ba, 0x13a1, 0x13ba, 0x10a6, 0x10fd, 0x10a6, 0x10fd, 0xd88, 0xe13, -0xd88, 0xe13, 0x911, 0x9c5, 0x911, 0x9c5, 0x553, 0x626, 0x553, 0x626, 0x20c, -0x2f3, 0x20c, 0x2f3, 0xfe83, 0xff74, 0xfe83, 0xff74, 0xfe83, 0xff74, 0xfbdc, 0xfccf, -0xfbdc, 0xfccf, 0xf93d, 0xfa2b, 0xf93d, 0xfa2b, 0xf712, 0xf7f3, 0xf712, 0xf7f3, 0xf58a, -0xf65b, 0xf58a, 0xf65b, 0xf437, 0xf4f3, 0xf437, 0xf4f3, 0xf437, 0xf4f3, 0xf2f8, 0xf39e, -0xf2f8, 0xf39e, 0xf1cc, 0xf25d, 0xf1cc, 0xf25d, 0xf1c1, 0xf23e, 0xf1c1, 0xf23e, 0xf268, -0xf2d5, 0xf268, 0xf2d5, 0xf2e1, 0xf342, 0xf2e1, 0xf342, 0xf364, 0xf3be, 0xf364, 0xf3be, -0xf364, 0xf3be, 0xf3d2, 0xf42d, 0xf3d2, 0xf42d, 0xf448, 0xf4ab, 0xf448, 0xf4ab, 0xf4c1, -0xf534, 0xf4c1, 0xf534, 0xf4a4, 0xf52e, 0xf4a4, 0xf52e, 0xf38c, 0xf434, 0xf38c, 0xf434, -0xf268, 0xf336, 0xf268, 0xf336, 0xf268, 0xf336, 0xf1da, 0xf2d2, 0xf1da, 0xf2d2, 0xf11f, -0xf248, 0xf11f, 0xf248, 0xf05d, 0xf1ba, 0xf05d, 0xf1ba, 0xeefe, 0xf091, 0xeefe, 0xf091, -0xed11, 0xeed9, 0xed11, 0xeed9, 0xed11, 0xeed9, 0xec5a, 0xee57, 0xec5a, 0xee57, 0xebba, -0xede7, 0xebba, 0xede7, 0xea46, 0xeca0, 0xea46, 0xeca0, 0xe8cf, 0xeb4d, 0xe8cf, 0xeb4d, -0xe78a, 0xea24, 0xe78a, 0xea24, 0xe6bf, 0xe96b, 0xe6bf, 0xe96b, 0xe6bf, 0xe96b, 0xe65b, -0xe90e, 0xe65b, 0xe90e, 0xe6bd, 0xe96a, 0xe6bd, 0xe96a, 0xe758, 0xe9f3, 0xe758, 0xe9f3, -0xe8d3, 0xeb4e, 0xe8d3, 0xeb4e, 0xeb3d, 0xed8b, 0xeb3d, 0xed8b, 0xecc1, 0xeed5, 0xecc1, -0xeed5, 0xecc1, 0xeed5, 0xeeac, 0xf07a, 0xeeac, 0xf07a, 0xf120, 0xf29d, 0xf120, 0xf29d, -0xf3bc, 0xf4df, 0xf3bc, 0xf4df, 0xf773, 0xf833, 0xf773, 0xf833, 0xfb2f, 0xfb87, 0xfb2f, -0xfb87, 0xfb2f, 0xfb87, 0xfde8, 0xfdd2, 0xfde8, 0xfdd2, 0x6b, 0xffe6, 0x6b, 0xffe6, -0x35d, 0x269, 0x35d, 0x269, 0x676, 0x515, 0x676, 0x515, 0x8d3, 0x70a, 0x8d3, -0x70a, 0xa48, 0x81d, 0xa48, 0x81d, 0xa48, 0x81d, 0xbea, 0x967, 0xbea, 0x967, -0xda6, 0xad3, 0xda6, 0xad3, 0xfbb, 0xca4, 0xfbb, 0xca4, 0x11e6, 0xe97, 0x11e6, -0xe97, 0x1325, 0xfac, 0x1325, 0xfac, 0x13e3, 0x104c, 0x13e3, 0x104c, 0x13e3, 0x104c, -0x1538, 0x1190, 0x1538, 0x1190, 0x16aa, 0x12ff, 0x16aa, 0x12ff, 0x17c5, 0x1424, 0x17c5, -0x1424, 0x18fb, 0x156e, 0x18fb, 0x156e, 0x18b5, 0x1547, 0x18b5, 0x1547, 0x18b5, 0x1547, -0x185b, 0x1515, 0x185b, 0x1515, 0x18bb, 0x15a4, 0x18bb, 0x15a4, 0x1831, 0x154f, 0x1831, -0x154f, 0x1744, 0x149b, 0x1744, 0x149b, 0x163f, 0x13d0, 0x163f, 0x13d0, 0x15af, 0x137b, -0x15af, 0x137b, 0x15af, 0x137b, 0x1553, 0x1359, 0x1553, 0x1359, 0x14b2, 0x12ef, 0x14b2, -0x12ef, 0x1331, 0x11a1, 0x1331, 0x11a1, 0x1126, 0xfc4, 0x1126, 0xfc4, 0x104b, 0xf11, -0x104b, 0xf11, 0x104b, 0xf11, 0x1028, 0xf10, 0x1028, 0xf10, 0xf53, 0xe56, 0xf53, -0xe56, 0xdee, 0xd06, 0xdee, 0xd06, 0xc9d, 0xbc4, 0xc9d, 0xbc4, 0xb89, 0xab9, -0xb89, 0xab9, 0xba5, 0xad9, 0xba5, 0xad9, 0xba5, 0xad9, 0xc0f, 0xb43, 0xc0f, -0xb43, 0xb31, 0xa63, 0xb31, 0xa63, 0xa88, 0x9b5, 0xa88, 0x9b5, 0xaf1, 0xa19, -0xaf1, 0xa19, 0xb8c, 0xaae, 0xb8c, 0xaae, 0xc5a, 0xb79, 0xc5a, 0xb79, 0xc5a, -0xb79, 0xc97, 0xbb5, 0xc97, 0xbb5, 0xbba, 0xada, 0xbba, 0xada, 0xb77, 0xa9d, -0xb77, 0xa9d, 0xbd7, 0xb07, 0xbd7, 0xb07, 0xb93, 0xad3, 0xb93, 0xad3, 0xb93, -0xad3, 0xa9d, 0x9f1, 0xa9d, 0x9f1, 0x9e0, 0x94c, 0x9e0, 0x94c, 0xa1c, 0x9a4, -0xa1c, 0x9a4, 0xad8, 0xa81, 0xad8, 0xa81, 0xb44, 0xb0f, 0xb44, 0xb0f, 0xad2, -0xac0, 0xad2, 0xac0, 0xad2, 0xac0, 0x9ea, 0x9fc, 0x9ea, 0x9fc, 0x923, 0x958, -0x923, 0x958, 0x81d, 0x873, 0x81d, 0x873, 0x6f4, 0x767, 0x6f4, 0x767, 0x5ab, -0x637, 0x5ab, 0x637, 0x3df, 0x47f, 0x3df, 0x47f, 0x3df, 0x47f, 0x27c, 0x328, -0x27c, 0x328, 0x137, 0x1e8, 0x137, 0x1e8, 0xff38, 0xffe6, 0xff38, 0xffe6, 0xfd72, -0xfe14, 0xfd72, 0xfe14, 0xfc05, 0xfc92, 0xfc05, 0xfc92, 0xfc05, 0xfc92, 0xfb38, 0xfba8, -0xfb38, 0xfba8, 0xfb02, 0xfb4c, 0xfb02, 0xfb4c, 0xfabe, 0xfada, 0xfabe, 0xfada, 0xfb5c, -0xfb42, 0xfb5c, 0xfb42, 0xfce4, 0xfc8f, 0xfce4, 0xfc8f, 0xfed4, 0xfe3d, 0xfed4, 0xfe3d, -0xfed4, 0xfe3d, 0xdc, 0, 0xdc, 0, 0x268, 0x145, 0x268, 0x145, 0x3bf, -0x253, 0x3bf, 0x253, 0x5b6, 0x401, 0x5b6, 0x401, 0x825, 0x628, 0x825, 0x628, -0xad6, 0x894, 0xad6, 0x894, 0xad6, 0x894, 0xe26, 0xba4, 0xe26, 0xba4, 0x1066, -0xda8, 0x1066, 0xda8, 0x1278, 0xf86, 0x1278, 0xf86, 0x1547, 0x1227, 0x1547, 0x1227, -0x1617, 0x12d1, 0x1617, 0x12d1, 0x1617, 0x12d1, 0x1570, 0x120c, 0x1570, 0x120c, 0x1486, -0x110d, 0x1486, 0x110d, 0x13df, 0x1059, 0x13df, 0x1059, 0x1417, 0x108d, 0x1417, 0x108d, -0x14ef, 0x1168, 0x14ef, 0x1168, 0x14d5, 0x115a, 0x14d5, 0x115a, 0x14d5, 0x115a, 0x12de, -0xf75, 0x12de, 0xf75, 0x1196, 0xe45, 0x1196, 0xe45, 0x114a, 0xe16, 0x114a, 0xe16, -0x1113, 0xe01, 0x1113, 0xe01, 0x113f, 0xe51, 0x113f, 0xe51, 0x1121, 0xe5a, 0x1121, -0xe5a, 0x1121, 0xe5a, 0x10a9, 0xe0a, 0x10a9, 0xe0a, 0x10bd, 0xe47, 0x10bd, 0xe47, -0x1127, 0xeda, 0x1127, 0xeda, 0x1048, 0xe23, 0x1048, 0xe23, 0xf27, 0xd28, 0xf27, -0xd28, 0xf27, 0xd28, 0xf52, 0xd78, 0xf52, 0xd78, 0xf94, 0xddc, 0xf94, 0xddc, -0xf8d, 0xdf5, 0xf8d, 0xdf5, 0xf38, 0xdbd, 0xf38, 0xdbd, 0xe70, 0xd0f, 0xe70, -0xd0f, 0xe36, 0xcee, 0xe36, 0xcee, 0xe36, 0xcee, 0xe6f, 0xd3e, 0xe6f, 0xd3e, -0xe93, 0xd77, 0xe93, 0xd77, 0xd98, 0xc90, 0xd98, 0xc90, 0xb44, 0xa50, 0xb44, -0xa50, 0x994, 0x8b4, 0x994, 0x8b4, 0x887, 0x7bb, 0x887, 0x7bb, 0x887, 0x7bb, -0x7a3, 0x6ed, 0x7a3, 0x6ed, 0x6f0, 0x650, 0x6f0, 0x650, 0x5de, 0x558, 0x5de, -0x558, 0x512, 0x4a7, 0x512, 0x4a7, 0x4b5, 0x467, 0x4b5, 0x467, 0x4b5, 0x467, -0x3f3, 0x3c6, 0x3f3, 0x3c6, 0x2bd, 0x2b2, 0x2bd, 0x2b2, 0x115, 0x130, 0x115, -0x130, 0xff0e, 0xff51, 0xff0e, 0xff51, 0xfd9c, 0xfe0b, 0xfd9c, 0xfe0b, 0xfc80, 0xfd1c, -0xfc80, 0xfd1c, 0xfc80, 0xfd1c, 0xfac8, 0xfb92, 0xfac8, 0xfb92, 0xf8fa, 0xf9f5, 0xf8fa, -0xf9f5, 0xf7f5, 0xf921, 0xf7f5, 0xf921, 0xf771, 0xf8cf, 0xf771, 0xf8cf, 0xf70b, 0xf89b, -0xf70b, 0xf89b, 0xf67e, 0xf83f, 0xf67e, 0xf83f, 0xf67e, 0xf83f, 0xf51f, 0xf711, 0xf51f, -0xf711, 0xf429, 0xf64a, 0xf429, 0xf64a, 0xf3d5, 0xf623, 0xf3d5, 0xf623, 0xf283, 0xf4fc, -0xf283, 0xf4fc, 0xf086, 0xf326, 0xf086, 0xf326, 0xf086, 0xf326, 0xeea2, 0xf167, 0xeea2, -0xf167, 0xeccd, 0xefb4, 0xeccd, 0xefb4, 0xeb74, 0xee79, 0xeb74, 0xee79, 0xeb56, 0xee76, -0xeb56, 0xee76, 0xeaa9, 0xede0, 0xeaa9, 0xede0, 0xe8eb, 0xec36, 0xe8eb, 0xec36, 0xe8eb, -0xec36, 0xe7e1, 0xeb3d, 0xe7e1, 0xeb3d, 0xe6de, 0xea46, 0xe6de, 0xea46, 0xe5ef, 0xe961, -0xe5ef, 0xe961, 0xe57d, 0xe8f6, 0xe57d, 0xe8f6, 0xe4e5, 0xe860, 0xe4e5, 0xe860, 0xe3eb, -0xe767, 0xe3eb, 0xe767, 0xe3eb, 0xe767, 0xe30d, 0xe688, 0xe30d, 0xe688, 0xe2ab, 0xe621, -0xe2ab, 0xe621, 0xe1fa, 0xe568, 0xe1fa, 0xe568, 0xe1b1, 0xe517, 0xe1b1, 0xe517, 0xe2f1, -0xe64c, 0xe2f1, 0xe64c, 0xe2f1, 0xe64c, 0xe47d, 0xe7cb, 0xe47d, 0xe7cb, 0xe563, 0xe8a2, -0xe563, 0xe8a2, 0xe6c2, 0xe9f2, 0xe6c2, 0xe9f2, 0xe88e, 0xebac, 0xe88e, 0xebac, 0xea3e, -0xed4a, 0xea3e, 0xed4a, 0xec2b, 0xef24, 0xec2b, 0xef24, 0xec2b, 0xef24, 0xed05, 0xefea, -0xed05, 0xefea, 0xed03, 0xefd3, 0xed03, 0xefd3, 0xedf4, 0xf0b0, 0xedf4, 0xf0b0, 0xefa3, -0xf24a, 0xefa3, 0xf24a, 0xf0ea, 0xf37d, 0xf0ea, 0xf37d, 0xf169, 0xf3e8, 0xf169, 0xf3e8, -0xf169, 0xf3e8, 0xf13c, 0xf3a9, 0xf13c, 0xf3a9, 0xf0f6, 0xf353, 0xf0f6, 0xf353, 0xf0fa, -0xf349, 0xf0fa, 0xf349, 0xf113, 0xf357, 0xf113, 0xf357, 0xf160, 0xf39b, 0xf160, 0xf39b, -0xf160, 0xf39b, 0xf128, 0xf35e, 0xf128, 0xf35e, 0xf107, 0xf33c, 0xf107, 0xf33c, 0xf1c2, -0xf3fa, 0xf1c2, 0xf3fa, 0xf1ef, 0xf42f, 0xf1ef, 0xf42f, 0xf1a0, 0xf3eb, 0xf1a0, 0xf3eb, -0xf0d5, 0xf332, 0xf0d5, 0xf332, 0xf0d5, 0xf332, 0xf004, 0xf276, 0xf004, 0xf276, 0xefee, -0xf27a, 0xefee, 0xf27a, 0xef18, 0xf1c3, 0xef18, 0xf1c3, 0xedc7, 0xf095, 0xedc7, 0xf095, -0xec52, 0xef46, 0xec52, 0xef46, 0xec52, 0xef46, 0xea4a, 0xed67, 0xea4a, 0xed67, 0xe944, -0xec8c, 0xe944, 0xec8c, 0xe8ca, 0xec3f, 0xe8ca, 0xec3f, 0xe734, 0xead6, 0xe734, 0xead6, -0xe4e6, 0xe8b5, 0xe4e6, 0xe8b5, 0xe2d8, 0xe6d2, 0xe2d8, 0xe6d2, 0xe2d8, 0xe6d2, 0xe11b, -0xe53e, 0xe11b, 0xe53e, 0xdfdb, 0xe424, 0xdfdb, 0xe424, 0xdf34, 0xe39e, 0xdf34, 0xe39e, -0xdd57, 0xe1dd, 0xdd57, 0xe1dd, 0xdb60, 0xdffd, 0xdb60, 0xdffd, 0xdae7, 0xdf93, 0xdae7, -0xdf93, 0xdae7, 0xdf93, 0xda00, 0xdeb4, 0xda00, 0xdeb4, 0xd8e5, 0xdd99, 0xd8e5, 0xdd99, -0xd88e, 0xdd3b, 0xd88e, 0xdd3b, 0xd8a1, 0xdd3f, 0xd8a1, 0xdd3f, 0xd8c6, 0xdd4c, 0xd8c6, -0xdd4c, 0xd8c6, 0xdd4c, 0xd95f, 0xddc5, 0xd95f, 0xddc5, 0xda0c, 0xde4b, 0xda0c, 0xde4b, -0xd9e5, 0xddf6, 0xd9e5, 0xddf6, 0xda78, 0xde55, 0xda78, 0xde55, 0xdc64, 0xe007, 0xdc64, -0xe007, 0xde8f, 0xe1f2, 0xde8f, 0xe1f2, 0xde8f, 0xe1f2, 0xe08d, 0xe3ae, 0xe08d, 0xe3ae, -0xe2e3, 0xe5bd, 0xe2e3, 0xe5bd, 0xe52a, 0xe7bb, 0xe52a, 0xe7bb, 0xe6c1, 0xe90a, 0xe6c1, -0xe90a, 0xe8bb, 0xeab9, 0xe8bb, 0xeab9, 0xea8a, 0xec3e, 0xea8a, 0xec3e, 0xea8a, 0xec3e, -0xeb2e, 0xec98, 0xeb2e, 0xec98, 0xec16, 0xed38, 0xec16, 0xed38, 0xede9, 0xeec6, 0xede9, -0xeec6, 0xef86, 0xf01e, 0xef86, 0xf01e, 0xf1ec, 0xf242, 0xf1ec, 0xf242, 0xf1ec, 0xf242, -0xf484, 0xf49a, 0xf484, 0xf49a, 0xf574, 0xf54c, 0xf574, 0xf54c, 0xf6cb, 0xf666, 0xf6cb, -0xf666, 0xf88f, 0xf7f0, 0xf88f, 0xf7f0, 0xfa17, 0xf93d, 0xfa17, 0xf93d, 0xfc02, 0xfaef, -0xfc02, 0xfaef, 0xfc02, 0xfaef, 0xfde8, 0xfc9c, 0xfde8, 0xfc9c, 0x18, 0xfe93, 0x18, -0xfe93, 0x2c5, 0x107, 0x2c5, 0x107, 0x58f, 0x396, 0x58f, 0x396, 0x86f, 0x63b, -0x86f, 0x63b, 0xc1d, 0x9ae, 0xc1d, 0x9ae, 0xc1d, 0x9ae, 0x1018, 0xd6b, 0x1018, -0xd6b, 0x13b3, 0x10c9, 0x13b3, 0x10c9, 0x16d3, 0x13ab, 0x16d3, 0x13ab, 0x19b6, 0x1651, -0x19b6, 0x1651, 0x1d37, 0x1994, 0x1d37, 0x1994, 0x1d37, 0x1994, 0x2095, 0x1cb7, 0x2095, -0x1cb7, 0x233e, 0x1f27, 0x233e, 0x1f27, 0x250e, 0x20c1, 0x250e, 0x20c1, 0x2632, 0x21b5, -0x2632, 0x21b5, 0x27e2, 0x2338, 0x27e2, 0x2338, 0x29fc, 0x252d, 0x29fc, 0x252d, 0x29fc, -0x252d, 0x2bf8, 0x270b, 0x2bf8, 0x270b, 0x2dba, 0x28b6, 0x2dba, 0x28b6, 0x2e66, 0x2955, -0x2e66, 0x2955, 0x2e70, 0x295b, 0x2e70, 0x295b, 0x2e97, 0x2989, 0x2e97, 0x2989, 0x2e78, -0x297a, 0x2e78, 0x297a, 0x2e78, 0x297a, 0x2de7, 0x2904, 0x2de7, 0x2904, 0x2d2b, 0x286d, -0x2d2b, 0x286d, 0x2cc1, 0x2831, 0x2cc1, 0x2831, 0x2bd7, 0x277f, 0x2bd7, 0x277f, 0x2a89, -0x2672, 0x2a89, 0x2672, 0x2a89, 0x2672, 0x28a8, 0x24d7, 0x28a8, 0x24d7, 0x25cd, 0x224a, -0x25cd, 0x224a, 0x2404, 0x20d4, 0x2404, 0x20d4, 0x22e7, 0x200d, 0x22e7, 0x200d, 0x2103, -0x1e81, 0x2103, 0x1e81, 0x1eba, 0x1c90, 0x1eba, 0x1c90, 0x1eba, 0x1c90, 0x1c95, 0x1ac4, -0x1c95, 0x1ac4, 0x1a7b, 0x1900, 0x1a7b, 0x1900, 0x17eb, 0x16c2, 0x17eb, 0x16c2, 0x14e5, -0x1409, 0x14e5, 0x1409, 0x11b4, 0x111f, 0x11b4, 0x111f, 0xed0, 0xe7c, 0xed0, 0xe7c, -0xed0, 0xe7c, 0xca2, 0xc88, 0xca2, 0xc88, 0xa98, 0xab0, 0xa98, 0xab0, 0x75d, -0x79f, 0x75d, 0x79f, 0x3ac, 0x411, 0x3ac, 0x411, 0x9e, 0x11e, 0x9e, 0x11e, -0x9e, 0x11e, 0xfdb9, 0xfe4e, 0xfdb9, 0xfe4e, 0xfac9, 0xfb6c, 0xfac9, 0xfb6c, 0xf7bc, -0xf868, 0xf7bc, 0xf868, 0xf4e2, 0xf592, 0xf4e2, 0xf592, 0xf2e4, 0xf396, 0xf2e4, 0xf396, -0xf295, 0xf346, 0xf295, 0xf346, 0xf295, 0xf346, 0xf31d, 0xf3cc, 0xf31d, 0xf3cc, 0xf38f, -0xf43e, 0xf38f, 0xf43e, 0xf3d8, 0xf487, 0xf3d8, 0xf487, 0xf35c, 0xf40e, 0xf35c, 0xf40e, -0xf395, 0xf44e, 0xf395, 0xf44e, 0xf45e, 0xf521, 0xf45e, 0xf521, 0xf45e, 0xf521, 0xf4c7, -0xf599, 0xf4c7, 0xf599, 0xf58e, 0xf674, 0xf58e, 0xf674, 0xf5cf, 0xf6ce, 0xf5cf, 0xf6ce, -0xf597, 0xf6b3, 0xf597, 0xf6b3, 0xf5f3, 0xf732, 0xf5f3, 0xf732, 0xf5f3, 0xf732, 0xf617, -0xf77b, 0xf617, 0xf77b, 0xf4d0, 0xf65d, 0xf4d0, 0xf65d, 0xf315, 0xf4cd, 0xf315, 0xf4cd, -0xf1e1, 0xf3c4, 0xf1e1, 0xf3c4, 0xf165, 0xf373, 0xf165, 0xf373, 0xf15c, 0xf394, 0xf15c, -0xf394, 0xf15c, 0xf394, 0xf0bf, 0xf31d, 0xf0bf, 0xf31d, 0xef68, 0xf1e8, 0xef68, 0xf1e8, -0xedc9, 0xf065, 0xedc9, 0xf065, 0xecad, 0xef5e, 0xecad, 0xef5e, 0xebbb, 0xee78, 0xebbb, -0xee78, 0xeaaa, 0xed6b, 0xeaaa, 0xed6b, 0xeaaa, 0xed6b, 0xea47, 0xed01, 0xea47, 0xed01, -0xea64, 0xed0d, 0xea64, 0xed0d, 0xeada, 0xed68, 0xeada, 0xed68, 0xebcb, 0xee33, 0xebcb, -0xee33, 0xed04, 0xef3a, 0xed04, 0xef3a, 0xed04, 0xef3a, 0xee82, 0xf07e, 0xee82, 0xf07e, -0xf0c3, 0xf27c, 0xf0c3, 0xf27c, 0xf369, 0xf4d5, 0xf369, 0xf4d5, 0xf59b, 0xf6b4, 0xf59b, -0xf6b4, 0xf814, 0xf8d5, 0xf814, 0xf8d5, 0xfb94, 0xfbf7, 0xfb94, 0xfbf7, 0xfb94, 0xfbf7, -0xfe93, 0xfe97, 0xfe93, 0xfe97, 0x11d, 0xc1, 0x11d, 0xc1, 0x443, 0x388, 0x443, -0x388, 0x6d6, 0x5c0, 0x6d6, 0x5c0, 0x8f0, 0x782, 0x8f0, 0x782, 0xb04, 0x944, -0xb04, 0x944, 0xb04, 0x944, 0xc99, 0xa8f, 0xc99, 0xa8f, 0xe19, 0xbcd, 0xe19, -0xbcd, 0x1075, 0xdf1, 0x1075, 0xdf1, 0x129f, 0xfed, 0x129f, 0xfed, 0x13cf, 0x10fa, -0x13cf, 0x10fa, 0x13cf, 0x10fa, 0x14b2, 0x11c5, 0x14b2, 0x11c5, 0x150c, 0x1212, 0x150c, -0x1212, 0x15ab, 0x12ae, 0x15ab, 0x12ae, 0x1646, 0x1351, 0x1646, 0x1351, 0x1675, 0x1391, -0x1675, 0x1391, 0x168b, 0x13c0, 0x168b, 0x13c0, 0x168b, 0x13c0, 0x165c, 0x13b1, 0x165c, -0x13b1, 0x1620, 0x139c, 0x1620, 0x139c, 0x1585, 0x132a, 0x1585, 0x132a, 0x14ba, 0x128e, -0x14ba, 0x128e, 0x13a2, 0x11a5, 0x13a2, 0x11a5, 0x13a2, 0x11a5, 0x1292, 0x10c5, 0x1292, -0x10c5, 0x11b7, 0x1018, 0x11b7, 0x1018, 0x1106, 0xf94, 0x1106, 0xf94, 0x10c6, 0xf7c, -0x10c6, 0xf7c, 0x1063, 0xf3e, 0x1063, 0xf3e, 0x102c, 0xf27, 0x102c, 0xf27, 0x102c, -0xf27, 0xf86, 0xe9c, 0xf86, 0xe9c, 0xe64, 0xd90, 0xe64, 0xd90, 0xdac, 0xce8, -0xdac, 0xce8, 0xc4c, 0xb93, 0xc4c, 0xb93, 0xacf, 0xa1c, 0xacf, 0xa1c, 0xa58, -0x9a7, 0xa58, 0x9a7, 0xa58, 0x9a7, 0x9fc, 0x949, 0x9fc, 0x949, 0x9da, 0x922, -0x9da, 0x922, 0xa0d, 0x950, 0xa0d, 0x950, 0x9d6, 0x911, 0x9d6, 0x911, 0x91d, -0x851, 0x91d, 0x851, 0x91d, 0x851, 0x889, 0x7b7, 0x889, 0x7b7, 0x8b4, 0x7de, -0x8b4, 0x7de, 0x82f, 0x758, 0x82f, 0x758, 0x6f9, 0x622, 0x6f9, 0x622, 0x610, -0x53f, 0x610, 0x53f, 0x515, 0x44c, 0x515, 0x44c, 0x515, 0x44c, 0x50a, 0x44e, -0x50a, 0x44e, 0x5d7, 0x52d, 0x5d7, 0x52d, 0x6a1, 0x60a, 0x6a1, 0x60a, 0x7a9, -0x729, 0x7a9, 0x729, 0x85a, 0x7f3, 0x85a, 0x7f3, 0x83c, 0x7ef, 0x83c, 0x7ef, -0x83c, 0x7ef, 0x7e5, 0x7b2, 0x7e5, 0x7b2, 0x70a, 0x6f2, 0x70a, 0x6f2, 0x584, -0x584, 0x584, 0x584, 0x46a, 0x47f, 0x46a, 0x47f, 0x3cc, 0x3f3, 0x3cc, 0x3f3, -0x3cc, 0x3f3, 0x321, 0x354, 0x321, 0x354, 0x1b1, 0x1eb, 0x1b1, 0x1eb, 0xffb9, -0xfff4, 0xffb9, 0xfff4, 0xfe16, 0xfe4b, 0xfe16, 0xfe4b, 0xfcb2, 0xfcd9, 0xfcb2, 0xfcd9, -0xfb9c, 0xfbae, 0xfb9c, 0xfbae, 0xfb9c, 0xfbae, 0xfabf, 0xfab4, 0xfabf, 0xfab4, 0xf9f4, -0xf9c5, 0xf9f4, 0xf9c5, 0xf981, 0xf927, 0xf981, 0xf927, 0xfa1c, 0xf992, 0xfa1c, 0xf992, -0xfb97, 0xfad6, 0xfb97, 0xfad6, 0xfdab, 0xfcb0, 0xfdab, 0xfcb0, 0xfdab, 0xfcb0, 0xffdc, -0xfea4, 0xffdc, 0xfea4, 0x1d6, 0x5e, 0x1d6, 0x5e, 0x49a, 0x2e2, 0x49a, 0x2e2, -0x772, 0x57a, 0x772, 0x57a, 0xa29, 0x7f3, 0xa29, 0x7f3, 0xa29, 0x7f3, 0xcdd, -0xa6c, 0xcdd, 0xa6c, 0xede, 0xc36, 0xede, 0xc36, 0x1092, 0xdb8, 0x1092, 0xdb8, -0x1284, 0xf7d, 0x1284, 0xf7d, 0x14a7, 0x117a, 0x14a7, 0x117a, 0x15ea, 0x129e, 0x15ea, -0x129e, 0x15ea, 0x129e, 0x1650, 0x12ed, 0x1650, 0x12ed, 0x166f, 0x12fc, 0x166f, 0x12fc, -0x1651, 0x12d5, 0x1651, 0x12d5, 0x1644, 0x12c5, 0x1644, 0x12c5, 0x1684, 0x130a, 0x1684, -0x130a, 0x1699, 0x1329, 0x1699, 0x1329, 0x1699, 0x1329, 0x163b, 0x12db, 0x163b, 0x12db, -0x1632, 0x12e5, 0x1632, 0x12e5, 0x15d9, 0x12a4, 0x15d9, 0x12a4, 0x14e5, 0x11cb, 0x14e5, -0x11cb, 0x14a4, 0x11a6, 0x14a4, 0x11a6, 0x14a4, 0x11a6, 0x14d7, 0x11f5, 0x14d7, 0x11f5, -0x14e1, 0x121d, 0x14e1, 0x121d, 0x156f, 0x12c8, 0x156f, 0x12c8, 0x15f1, 0x1365, 0x15f1, -0x1365, 0x15b8, 0x1346, 0x15b8, 0x1346, 0x1551, 0x12f7, 0x1551, 0x12f7, 0x1551, 0x12f7, -0x14e3, 0x129e, 0x14e3, 0x129e, 0x1494, 0x1262, 0x1494, 0x1262, 0x13f9, 0x11d7, 0x13f9, -0x11d7, 0x134a, 0x1136, 0x134a, 0x1136, 0x126b, 0x1062, 0x126b, 0x1062, 0x1156, 0xf58, -0x1156, 0xf58, 0x1156, 0xf58, 0x1121, 0xf2a, 0x1121, 0xf2a, 0x1143, 0xf54, 0x1143, -0xf54, 0x113e, 0xf56, 0x113e, 0xf56, 0x10ae, 0xecd, 0x10ae, 0xecd, 0xfa9, 0xdcf, -0xfa9, 0xdcf, 0xfa9, 0xdcf, 0xefc, 0xd2c, 0xefc, 0xd2c, 0xe4a, 0xc84, 0xe4a, -0xc84, 0xcde, 0xb25, 0xcde, 0xb25, 0xb29, 0x97f, 0xb29, 0x97f, 0x985, 0x7ee, -0x985, 0x7ee, 0x7ee, 0x66c, 0x7ee, 0x66c, 0x7ee, 0x66c, 0x6a1, 0x539, 0x6a1, -0x539, 0x52b, 0x3e0, 0x52b, 0x3e0, 0x3bf, 0x295, 0x3bf, 0x295, 0x286, 0x182, -0x286, 0x182, 0x10b, 0x30, 0x10b, 0x30, 0xff31, 0xfe83, 0xff31, 0xfe83, 0xff31, -0xfe83, 0xfd95, 0xfd18, 0xfd95, 0xfd18, 0xfc68, 0xfc1f, 0xfc68, 0xfc1f, 0xfb4e, 0xfb3c, -0xfb4e, 0xfb3c, 0xfa90, 0xfab9, 0xfa90, 0xfab9, 0xfa1e, 0xfa84, 0xfa1e, 0xfa84, 0xfa1e, -0xfa84, 0xfa29, 0xface, 0xfa29, 0xface, 0xf9f8, 0xfadf, 0xf9f8, 0xfadf, 0xf9a5, 0xfacf, -0xf9a5, 0xfacf, 0xf8a3, 0xfa12, 0xf8a3, 0xfa12, 0xf61c, 0xf7cf, 0xf61c, 0xf7cf, 0xf458, -0xf651, 0xf458, 0xf651, 0xf458, 0xf651, 0xf312, 0xf550, 0xf312, 0xf550, 0xf148, 0xf3ca, -0xf148, 0xf3ca, 0xef73, 0xf238, 0xef73, 0xf238, 0xede0, 0xf0e6, 0xede0, 0xf0e6, 0xebf8, -0xef3d, 0xebf8, 0xef3d, 0xea2a, 0xedaa, 0xea2a, 0xedaa, 0xea2a, 0xedaa, 0xe9a1, 0xed59, -0xe9a1, 0xed59, 0xe84f, 0xec3b, 0xe84f, 0xec3b, 0xe604, 0xea1f, 0xe604, 0xea1f, 0xe3e2, -0xe825, 0xe3e2, 0xe825, 0xe237, 0xe69e, 0xe237, 0xe69e, 0xe237, 0xe69e, 0xe12c, 0xe5af, -0xe12c, 0xe5af, 0xe0b9, 0xe552, 0xe0b9, 0xe552, 0xe0d9, 0xe580, 0xe0d9, 0xe580, 0xe08f, -0xe53d, 0xe08f, 0xe53d, 0xe175, 0xe622, 0xe175, 0xe622, 0xe38b, 0xe830, 0xe38b, 0xe830, -0xe38b, 0xe830, 0xe4e7, 0xe97b, 0xe4e7, 0xe97b, 0xe64c, 0xeac9, 0xe64c, 0xeac9, 0xe729, -0xeb87, 0xe729, 0xeb87, 0xe72b, 0xeb64, 0xe72b, 0xeb64, 0xe7c8, 0xebd6, 0xe7c8, 0xebd6, -0xe903, 0xece0, 0xe903, 0xece0, 0xe903, 0xece0, 0xea5a, 0xee03, 0xea5a, 0xee03, 0xeb8f, -0xef00, 0xeb8f, 0xef00, 0xec69, 0xefa0, 0xec69, 0xefa0, 0xed29, 0xf026, 0xed29, 0xf026, -0xedf8, 0xf0ba, 0xedf8, 0xf0ba, 0xedf8, 0xf0ba, 0xee60, 0xf0e8, 0xee60, 0xf0e8, 0xee1f, -0xf071, 0xee1f, 0xf071, 0xedb1, 0xefd0, 0xedb1, 0xefd0, 0xed01, 0xeef1, 0xed01, 0xeef1, -0xec47, 0xee0f, 0xec47, 0xee0f, 0xeb87, 0xed2d, 0xeb87, 0xed2d, 0xeb87, 0xed2d, 0xeaf7, -0xec81, 0xeaf7, 0xec81, 0xeb86, 0xecfd, 0xeb86, 0xecfd, 0xec73, 0xeddf, 0xec73, 0xeddf, -0xed9a, 0xef03, 0xed9a, 0xef03, 0xee1a, 0xef88, 0xee1a, 0xef88, 0xee1a, 0xef88, 0xed87, -0xef02, 0xed87, 0xef02, 0xed13, 0xeea2, 0xed13, 0xeea2, 0xec3b, 0xede5, 0xec3b, 0xede5, -0xeaf7, 0xecc2, 0xeaf7, 0xecc2, 0xe981, 0xeb73, 0xe981, 0xeb73, 0xe7f4, 0xea0f, 0xe7f4, -0xea0f, 0xe7f4, 0xea0f, 0xe638, 0xe880, 0xe638, 0xe880, 0xe4f1, 0xe767, 0xe4f1, 0xe767, -0xe36d, 0xe612, 0xe36d, 0xe612, 0xe0f4, 0xe3c7, 0xe0f4, 0xe3c7, 0xdf33, 0xe233, 0xdf33, -0xe233, 0xdd8b, 0xe0b5, 0xdd8b, 0xe0b5, 0xdd8b, 0xe0b5, 0xdbc2, 0xdf10, 0xdbc2, 0xdf10, -0xda6e, 0xdddc, 0xda6e, 0xdddc, 0xd982, 0xdd0b, 0xd982, 0xdd0b, 0xd829, 0xdbc8, 0xd829, -0xdbc8, 0xd704, 0xdab1, 0xd704, 0xdab1, 0xd704, 0xdab1, 0xd6d3, 0xda87, 0xd6d3, 0xda87, -0xd582, 0xd936, 0xd582, 0xd936, 0xd41f, 0xd7ce, 0xd41f, 0xd7ce, 0xd379, 0xd71c, 0xd379, -0xd71c, 0xd32e, 0xd6bf, 0xd32e, 0xd6bf, 0xd375, 0xd6ed, 0xd375, 0xd6ed, 0xd375, 0xd6ed, -0xd42a, 0xd786, 0xd42a, 0xd786, 0xd567, 0xd8a2, 0xd567, 0xd8a2, 0xd664, 0xd97c, 0xd664, -0xd97c, 0xd7d3, 0xdac3, 0xd7d3, 0xdac3, 0xd9e9, 0xdcb2, 0xd9e9, 0xdcb2, 0xdc14, 0xdeb2, -0xdc14, 0xdeb2, 0xdc14, 0xdeb2, 0xde6e, 0xe0e2, 0xde6e, 0xe0e2, 0xe170, 0xe3b9, 0xe170, -0xe3b9, 0xe3d8, 0xe5f7, 0xe3d8, 0xe5f7, 0xe532, 0xe728, 0xe532, 0xe728, 0xe734, 0xe901, -0xe734, 0xe901, 0xe734, 0xe901, 0xe8af, 0xea53, 0xe8af, 0xea53, 0xea41, 0xebbd, 0xea41, -0xebbd, 0xecc0, 0xee14, 0xecc0, 0xee14, 0xeed7, 0xf002, 0xeed7, 0xf002, 0xf0e1, 0xf1e4, -0xf0e1, 0xf1e4, 0xf2a1, 0xf379, 0xf2a1, 0xf379, 0xf2a1, 0xf379, 0xf41f, 0xf4cb, 0xf41f, -0xf4cb, 0xf622, 0xf6a0, 0xf622, 0xf6a0, 0xf80d, 0xf858, 0xf80d, 0xf858, 0xf991, 0xf9a7, -0xf991, 0xf9a7, 0xfb64, 0xfb41, 0xfb64, 0xfb41, 0xfd7d, 0xfd1c, 0xfd7d, 0xfd1c, 0xfd7d, -0xfd1c, 0x5e, 0xffba, 0x5e, 0xffba, 0x3de, 0x2f2, 0x3de, 0x2f2, 0x6f9, 0x5c1, -0x6f9, 0x5c1, 0x9f4, 0x86b, 0x9f4, 0x86b, 0xd15, 0xb37, 0xd15, 0xb37, 0xd15, -0xb37, 0x1087, 0xe4f, 0x1087, 0xe4f, 0x141b, 0x1188, 0x141b, 0x1188, 0x174a, 0x1459, -0x174a, 0x1459, 0x1a20, 0x16d1, 0x1a20, 0x16d1, 0x1d8f, 0x19e2, 0x1d8f, 0x19e2, 0x2164, -0x1d5b, 0x2164, 0x1d5b, 0x2164, 0x1d5b, 0x24ef, 0x208e, 0x24ef, 0x208e, 0x27b3, 0x22fd, -0x27b3, 0x22fd, 0x294f, 0x244c, 0x294f, 0x244c, 0x2acb, 0x2582, 0x2acb, 0x2582, 0x2c30, -0x26a9, 0x2c30, 0x26a9, 0x2d19, 0x2760, 0x2d19, 0x2760, 0x2d19, 0x2760, 0x2dd4, 0x27f3, -0x2dd4, 0x27f3, 0x2ec6, 0x28c9, 0x2ec6, 0x28c9, 0x2f8c, 0x2981, 0x2f8c, 0x2981, 0x3076, -0x2a6a, 0x3076, 0x2a6a, 0x318b, 0x2b8b, 0x318b, 0x2b8b, 0x318b, 0x2b8b, 0x313d, 0x2b57, -0x313d, 0x2b57, 0x307a, 0x2abb, 0x307a, 0x2abb, 0x2ffd, 0x2a72, 0x2ffd, 0x2a72, 0x2f32, -0x29e7, 0x2f32, 0x29e7, 0x2e0c, 0x290b, 0x2e0c, 0x290b, 0x2d2a, 0x287e, 0x2d2a, 0x287e, -0x2d2a, 0x287e, 0x2c10, 0x27c1, 0x2c10, 0x27c1, 0x2a53, 0x2667, 0x2a53, 0x2667, 0x290e, -0x258b, 0x290e, 0x258b, 0x2747, 0x242f, 0x2747, 0x242f, 0x24ff, 0x2254, 0x24ff, 0x2254, -0x2225, 0x1fe7, 0x2225, 0x1fe7, 0x2225, 0x1fe7, 0x1e93, 0x1cc0, 0x1e93, 0x1cc0, 0x1b34, -0x19c8, 0x1b34, 0x19c8, 0x181c, 0x1713, 0x181c, 0x1713, 0x15bf, 0x1513, 0x15bf, 0x1513, -0x133c, 0x12e5, 0x133c, 0x12e5, 0x133c, 0x12e5, 0x106b, 0x1061, 0x106b, 0x1061, 0xe23, -0xe5e, 0xe23, 0xe5e, 0xb9d, 0xc14, 0xb9d, 0xc14, 0x7ab, 0x855, 0x7ab, 0x855, -0x377, 0x44c, 0x377, 0x44c, 0xffa6, 0x9c, 0xffa6, 0x9c, 0xffa6, 0x9c, 0xfc31, -0xfd42, 0xfc31, 0xfd42, 0xfa0b, 0xfb30, 0xfa0b, 0xfb30, 0xf7e5, 0xf917, 0xf7e5, 0xf917, -0xf610, 0xf74b, 0xf610, 0xf74b, 0xf55d, 0xf69d, 0xf55d, 0xf69d, 0xf50c, 0xf64e, 0xf50c, -0xf64e, 0xf50c, 0xf64e, 0xf4fa, 0xf63e, 0xf4fa, 0xf63e, 0xf4cf, 0xf615, 0xf4cf, 0xf615, -0xf48b, 0xf5d3, 0xf48b, 0xf5d3, 0xf4c0, 0xf60c, 0xf4c0, 0xf60c, 0xf529, 0xf67d, 0xf529, -0xf67d, 0xf529, 0xf67d, 0xf4e8, 0xf647, 0xf4e8, 0xf647, 0xf514, 0xf681, 0xf514, 0xf681, -0xf5a9, 0xf728, 0xf5a9, 0xf728, 0xf603, 0xf799, 0xf603, 0xf799, 0xf636, 0xf7e7, 0xf636, -0xf7e7, 0xf605, 0xf7d4, 0xf605, 0xf7d4, 0xf605, 0xf7d4, 0xf581, 0xf770, 0xf581, 0xf770, -0xf435, 0xf647, 0xf435, 0xf647, 0xf304, 0xf539, 0xf304, 0xf539, 0xf204, 0xf45c, 0xf204, -0xf45c, 0xf0b1, 0xf32a, 0xf0b1, 0xf32a, 0xef6c, 0xf204, 0xef6c, 0xf204, 0xef6c, 0xf204, -0xee3d, 0xf0f0, 0xee3d, 0xf0f0, 0xed50, 0xf019, 0xed50, 0xf019, 0xecc5, 0xef9c, 0xecc5, -0xef9c, 0xec1b, 0xeef9, 0xec1b, 0xeef9, 0xea8d, 0xed6a, 0xea8d, 0xed6a, 0xea8d, 0xed6a, -0xe94c, 0xec20, 0xe94c, 0xec20, 0xe90d, 0xebcc, 0xe90d, 0xebcc, 0xe8e6, 0xeb88, 0xe8e6, -0xeb88, 0xe912, 0xeb8b, 0xe912, 0xeb8b, 0xea32, 0xec79, 0xea32, 0xec79, 0xeb6a, 0xed74, -0xeb6a, 0xed74, 0xeb6a, 0xed74, 0xecda, 0xeea0, 0xecda, 0xeea0, 0xef73, 0xf0ed, 0xef73, -0xf0ed, 0xf1e3, 0xf308, 0xf1e3, 0xf308, 0xf389, 0xf454, 0xf389, 0xf454, 0xf51b, 0xf588, -0xf51b, 0xf588, 0xf747, 0xf754, 0xf747, 0xf754, 0xf747, 0xf754, 0xf9bb, 0xf965, 0xf9bb, -0xf965, 0xfcba, 0xfc02, 0xfcba, 0xfc02, 0x3, 0xfeeb, 0x3, 0xfeeb, 0x281, 0x10d, -0x281, 0x10d, 0x540, 0x374, 0x540, 0x374, 0x540, 0x374, 0x7dc, 0x5bf, 0x7dc, -0x5bf, 0xa20, 0x7b9, 0xa20, 0x7b9, 0xc4e, 0x9a5, 0xc4e, 0x9a5, 0xe4e, 0xb6d, -0xe4e, 0xb6d, 0xff1, 0xce2, 0xff1, 0xce2, 0x112a, 0xdf7, 0x112a, 0xdf7, 0x112a, -0xdf7, 0x1289, 0xf3d, 0x1289, 0xf3d, 0x1322, 0xfc8, 0x1322, 0xfc8, 0x13dd, 0x107e, -0x13dd, 0x107e, 0x156d, 0x1213, 0x156d, 0x1213, 0x16ef, 0x13a3, 0x16ef, 0x13a3, 0x16ef, -0x13a3, 0x1747, 0x1412, 0x1747, 0x1412, 0x16b6, 0x139f, 0x16b6, 0x139f, 0x168d, 0x139a, -0x168d, 0x139a, 0x15fc, 0x1331, 0x15fc, 0x1331, 0x15c0, 0x1323, 0x15c0, 0x1323, 0x1513, -0x12a5, 0x1513, 0x12a5, 0x1513, 0x12a5, 0x135a, 0x111d, 0x135a, 0x111d, 0x129f, 0x1093, -0x129f, 0x1093, 0x127d, 0x10a1, 0x127d, 0x10a1, 0x12af, 0x1102, 0x12af, 0x1102, 0x12c6, -0x1145, 0x12c6, 0x1145, 0x11d6, 0x107e, 0x11d6, 0x107e, 0x11d6, 0x107e, 0x108a, 0xf55, -0x108a, 0xf55, 0x101f, 0xf0b, 0x101f, 0xf0b, 0x101c, 0xf22, 0x101c, 0xf22, 0xf8d, -0xeaa, 0xf8d, 0xeaa, 0xf20, 0xe4d, 0xf20, 0xe4d, 0xf20, 0xe4d, 0xead, 0xde6, -0xead, 0xde6, 0xe27, 0xd68, 0xe27, 0xd68, 0xdf0, 0xd33, 0xdf0, 0xd33, 0xdbb, -0xcfe, 0xdbb, 0xcfe, 0xd65, 0xca3, 0xd65, 0xca3, 0xcb9, 0xbf1, 0xcb9, 0xbf1, -0xcb9, 0xbf1, 0xc2d, 0xb5c, 0xc2d, 0xb5c, 0xba0, 0xac4, 0xba0, 0xac4, 0xb0b, -0xa24, 0xb0b, 0xa24, 0xad6, 0x9e3, 0xad6, 0x9e3, 0xa60, 0x962, 0xa60, 0x962, -0xa7f, 0x976, 0xa7f, 0x976, 0xa7f, 0x976, 0xb42, 0xa2f, 0xb42, 0xa2f, 0xbf7, -0xadc, 0xbf7, 0xadc, 0xc8d, 0xb6b, 0xc8d, 0xb6b, 0xc73, 0xb4c, 0xc73, 0xb4c, -0xbe9, 0xabf, 0xbe9, 0xabf, 0xbe9, 0xabf, 0xab0, 0x985, 0xab0, 0x985, 0x99d, -0x872, 0x99d, 0x872, 0x935, 0x80c, 0x935, 0x80c, 0x8b0, 0x78a, 0x8b0, 0x78a, -0x7ff, 0x6dc, 0x7ff, 0x6dc, 0x738, 0x619, 0x738, 0x619, 0x738, 0x619, 0x65c, -0x540, 0x65c, 0x540, 0x4b2, 0x399, 0x4b2, 0x399, 0x33f, 0x227, 0x33f, 0x227, -0x1c3, 0xa9, 0x1c3, 0xa9, 0xffcc, 0xfeaf, 0xffcc, 0xfeaf, 0xfe50, 0xfd2d, 0xfe50, -0xfd2d, 0xfe50, 0xfd2d, 0xfcb2, 0xfb86, 0xfcb2, 0xfb86, 0xfcad, 0xfb75, 0xfcad, 0xfb75, -0xfe26, 0xfcdd, 0xfe26, 0xfcdd, 0xff22, 0xfdc5, 0xff22, 0xfdc5, 0xffe8, 0xfe73, 0xffe8, -0xfe73, 0xffe8, 0xfe73, 0xc9, 0xff38, 0xc9, 0xff38, 0x237, 0x88, 0x237, 0x88, -0x471, 0x29f, 0x471, 0x29f, 0x718, 0x522, 0x718, 0x522, 0x90a, 0x6ee, 0x90a, -0x6ee, 0xa44, 0x801, 0xa44, 0x801, 0xa44, 0x801, 0xba1, 0x937, 0xba1, 0x937, -0xd54, 0xac2, 0xd54, 0xac2, 0xee2, 0xc2b, 0xee2, 0xc2b, 0x100c, 0xd31, 0x100c, -0xd31, 0x112e, 0xe33, 0x112e, 0xe33, 0x11f9, 0xee2, 0x11f9, 0xee2, 0x11f9, 0xee2, -0x12ca, 0xf9c, 0x12ca, 0xf9c, 0x1395, 0x1056, 0x1395, 0x1056, 0x13ec, 0x10a1, 0x13ec, -0x10a1, 0x1492, 0x1143, 0x1492, 0x1143, 0x15b1, 0x1265, 0x15b1, 0x1265, 0x15b1, 0x1265, -0x1635, 0x12f4, 0x1635, 0x12f4, 0x15c8, 0x1299, 0x15c8, 0x1299, 0x14aa, 0x1196, 0x14aa, -0x1196, 0x130c, 0x1019, 0x130c, 0x1019, 0x123f, 0xf74, 0x123f, 0xf74, 0x120e, 0xf72, -0x120e, 0xf72, 0x120e, 0xf72, 0x1207, 0xf9f, 0x1207, 0xf9f, 0x1217, 0xfe8, 0x1217, -0xfe8, 0x11c0, 0xfcd, 0x11c0, 0xfcd, 0x11c6, 0x1012, 0x11c6, 0x1012, 0x1164, 0xff1, -0x1164, 0xff1, 0x10ab, 0xf7a, 0x10ab, 0xf7a, 0x10ab, 0xf7a, 0xfbf, 0xece, 0xfbf, -0xece, 0xdda, 0xd28, 0xdda, 0xd28, 0xc64, 0xbed, 0xc64, 0xbed, 0xb30, 0xaf0, -0xb30, 0xaf0, 0xa02, 0x9f4, 0xa02, 0x9f4, 0xa02, 0x9f4, 0x99d, 0x9bb, 0x99d, -0x9bb, 0x959, 0x99e, 0x959, 0x99e, 0x938, 0x99d, 0x938, 0x99d, 0x95f, 0x9de, -0x95f, 0x9de, 0x946, 0x9d7, 0x946, 0x9d7, 0x8c5, 0x961, 0x8c5, 0x961, 0x8c5, -0x961, 0x80c, 0x8ae, 0x80c, 0x8ae, 0x6eb, 0x78c, 0x6eb, 0x78c, 0x58e, 0x62a, -0x58e, 0x62a, 0x44f, 0x4e3, 0x44f, 0x4e3, 0x29e, 0x326, 0x29e, 0x326, 0xe9, -0x163, 0xe9, 0x163, 0xe9, 0x163, 0xff3f, 0xffab, 0xff3f, 0xffab, 0xfdd9, 0xfe38, -0xfdd9, 0xfe38, 0xfd07, 0xfd5b, 0xfd07, 0xfd5b, 0xfb71, 0xfbbc, 0xfb71, 0xfbbc, 0xf99f, -0xf9e5, 0xf99f, 0xf9e5, 0xf99f, 0xf9e5, 0xf7b4, 0xf7fb, 0xf7b4, 0xf7fb, 0xf662, 0xf6af, -0xf662, 0xf6af, 0xf5d4, 0xf62f, 0xf5d4, 0xf62f, 0xf46d, 0xf4dd, 0xf46d, 0xf4dd, 0xf3c1, -0xf44c, 0xf3c1, 0xf44c, 0xf413, 0xf4c1, 0xf413, 0xf4c1, 0xf413, 0xf4c1, 0xf4b9, 0xf592, -0xf4b9, 0xf592, 0xf523, 0xf62d, 0xf523, 0xf62d, 0xf50c, 0xf64e, 0xf50c, 0xf64e, 0xf46a, -0xf5ea, 0xf46a, 0xf5ea, 0xf2a7, 0xf469, 0xf2a7, 0xf469, 0xf11e, 0xf326, 0xf11e, 0xf326, -0xf11e, 0xf326, 0xef53, 0xf1a4, 0xef53, 0xf1a4, 0xed6e, 0xf009, 0xed6e, 0xf009, 0xec5e, -0xef42, 0xec5e, 0xef42, 0xebdf, 0xef0b, 0xebdf, 0xef0b, 0xeb05, 0xee77, 0xeb05, 0xee77, -0xeb05, 0xee77, 0xe970, 0xed23, 0xe970, 0xed23, 0xe863, 0xec52, 0xe863, 0xec52, 0xe686, -0xeaab, 0xe686, 0xeaab, 0xe4c7, 0xe91a, 0xe4c7, 0xe91a, 0xe414, 0xe88d, 0xe414, 0xe88d, -0xe2dd, 0xe773, 0xe2dd, 0xe773, 0xe2dd, 0xe773, 0xe234, 0xe6de, 0xe234, 0xe6de, 0xe2c1, -0xe776, 0xe2c1, 0xe776, 0xe400, 0xe8b6, 0xe400, 0xe8b6, 0xe538, 0xe9e5, 0xe538, 0xe9e5, -0xe675, 0xeb12, 0xe675, 0xeb12, 0xe78e, 0xec13, 0xe78e, 0xec13, 0xe78e, 0xec13, 0xe871, -0xecd6, 0xe871, 0xecd6, 0xe948, 0xed87, 0xe948, 0xed87, 0xe9d0, 0xede3, 0xe9d0, 0xede3, -0xeac8, 0xeeab, 0xeac8, 0xeeab, 0xec76, 0xf027, 0xec76, 0xf027, 0xec76, 0xf027, 0xee81, -0xf1fe, 0xee81, 0xf1fe, 0xf045, 0xf38e, 0xf045, 0xf38e, 0xf1c6, 0xf4dc, 0xf1c6, 0xf4dc, -0xf2ea, 0xf5ce, 0xf2ea, 0xf5ce, 0xf315, 0xf5cb, 0xf315, 0xf5cb, 0xf365, 0xf5f2, 0xf365, -0xf5f2, 0xf365, 0xf5f2, 0xf3f3, 0xf65b, 0xf3f3, 0xf65b, 0xf3bc, 0xf605, 0xf3bc, 0xf605, -0xf359, 0xf589, 0xf359, 0xf589, 0xf29d, 0xf4bc, 0xf29d, 0xf4bc, 0xf1c3, 0xf3d6, 0xf1c3, -0xf3d6, 0xf1c3, 0xf3d6, 0xf206, 0xf415, 0xf206, 0xf415, 0xf2d9, 0xf4ea, 0xf2d9, 0xf4ea, -0xf35f, 0xf579, 0xf35f, 0xf579, 0xf34a, 0xf573, 0xf34a, 0xf573, 0xf2ed, 0xf529, 0xf2ed, -0xf529, 0xf296, 0xf4ea, 0xf296, 0xf4ea, 0xf296, 0xf4ea, 0xf263, 0xf4d4, 0xf263, 0xf4d4, -0xf183, 0xf412, 0xf183, 0xf412, 0xefce, 0xf27f, 0xefce, 0xf27f, 0xee8f, 0xf161, 0xee8f, -0xf161, 0xed5f, 0xf053, 0xed5f, 0xf053, 0xec46, 0xef5b, 0xec46, 0xef5b, 0xec46, 0xef5b, -0xead8, 0xee0c, 0xead8, 0xee0c, 0xe906, 0xec57, 0xe906, 0xec57, 0xe6f5, 0xea60, 0xe6f5, -0xea60, 0xe51b, 0xe89c, 0xe51b, 0xe89c, 0xe47a, 0xe80d, 0xe47a, 0xe80d, 0xe47a, 0xe80d, -0xe35d, 0xe6fe, 0xe35d, 0xe6fe, 0xe23c, 0xe5e5, 0xe23c, 0xe5e5, 0xe164, 0xe511, 0xe164, -0xe511, 0xe04b, 0xe3f7, 0xe04b, 0xe3f7, 0xdf42, 0xe2e9, 0xdf42, 0xe2e9, 0xddc9, 0xe166, -0xddc9, 0xe166, 0xddc9, 0xe166, 0xdbd4, 0xdf63, 0xdbd4, 0xdf63, 0xd935, 0xdcb2, 0xd935, -0xdcb2, 0xd793, 0xdafb, 0xd793, 0xdafb, 0xd74a, 0xda9a, 0xd74a, 0xda9a, 0xd719, 0xda4e, -0xd719, 0xda4e, 0xd700, 0xda19, 0xd700, 0xda19, 0xd700, 0xda19, 0xd7b4, 0xdaaf, 0xd7b4, -0xdaaf, 0xd8c2, 0xdb9e, 0xd8c2, 0xdb9e, 0xd973, 0xdc30, 0xd973, 0xdc30, 0xdaf5, 0xdd92, -0xdaf5, 0xdd92, 0xdc58, 0xded4, 0xdc58, 0xded4, 0xdc58, 0xded4, 0xdd1c, 0xdf79, 0xdd1c, -0xdf79, 0xde9a, 0xe0d6, 0xde9a, 0xe0d6, 0xe108, 0xe324, 0xe108, 0xe324, 0xe42f, 0xe62b, -0xe42f, 0xe62b, 0xe7a6, 0xe981, 0xe7a6, 0xe981, 0xea76, 0xec30, 0xea76, 0xec30, 0xea76, -0xec30, 0xec70, 0xee08, 0xec70, 0xee08, 0xee15, 0xef8a, 0xee15, 0xef8a, 0xef1e, 0xf06e, -0xef1e, 0xf06e, 0xf071, 0xf19b, 0xf071, 0xf19b, 0xf203, 0xf303, 0xf203, 0xf303, 0xf320, -0xf3f4, 0xf320, 0xf3f4, 0xf320, 0xf3f4, 0xf477, 0xf51c, 0xf477, 0xf51c, 0xf645, 0xf6b7, -0xf645, 0xf6b7, 0xf85b, 0xf897, 0xf85b, 0xf897, 0xfa54, 0xfa55, 0xfa54, 0xfa55, 0xfc37, -0xfbfb, 0xfc37, 0xfbfb, 0xfc37, 0xfbfb, 0xfe19, 0xfd9b, 0xfe19, 0xfd9b, 0x5, 0xff41, -0x5, 0xff41, 0x210, 0x103, 0x210, 0x103, 0x4ec, 0x395, 0x4ec, 0x395, 0x802, -0x65c, 0x802, 0x65c, 0xa4e, 0x858, 0xa4e, 0x858, 0xa4e, 0x858, 0xcda, 0xa94, -0xcda, 0xa94, 0xf84, 0xced, 0xf84, 0xced, 0x1237, 0xf50, 0x1237, 0xf50, 0x15c3, -0x128d, 0x15c3, 0x128d, 0x19a2, 0x1620, 0x19a2, 0x1620, 0x1cbc, 0x18f1, 0x1cbc, 0x18f1, -0x1cbc, 0x18f1, 0x1fa0, 0x1b91, 0x1fa0, 0x1b91, 0x226a, 0x1e1c, 0x226a, 0x1e1c, 0x2461, -0x1fdb, 0x2461, 0x1fdb, 0x2632, 0x217b, 0x2632, 0x217b, 0x2774, 0x2294, 0x2774, 0x2294, -0x2774, 0x2294, 0x27fa, 0x22fa, 0x27fa, 0x22fa, 0x28d0, 0x23b9, 0x28d0, 0x23b9, 0x29c3, -0x24a0, 0x29c3, 0x24a0, 0x2a44, 0x251f, 0x2a44, 0x251f, 0x2ae8, 0x25ca, 0x2ae8, 0x25ca, -0x2af4, 0x25e9, 0x2af4, 0x25e9, 0x2af4, 0x25e9, 0x2a4c, 0x255e, 0x2a4c, 0x255e, 0x2a55, -0x258d, 0x2a55, 0x258d, 0x29de, 0x2545, 0x29de, 0x2545, 0x28f3, 0x2493, 0x28f3, 0x2493, -0x2858, 0x2439, 0x2858, 0x2439, 0x278b, 0x23b4, 0x278b, 0x23b4, 0x278b, 0x23b4, 0x2679, -0x22f0, 0x2679, 0x22f0, 0x24ea, 0x21b5, 0x24ea, 0x21b5, 0x2318, 0x203a, 0x2318, 0x203a, -0x212e, 0x1eaa, 0x212e, 0x1eaa, 0x1efb, 0x1cd3, 0x1efb, 0x1cd3, 0x1efb, 0x1cd3, 0x1c55, -0x1a8a, 0x1c55, 0x1a8a, 0x19df, 0x186f, 0x19df, 0x186f, 0x1736, 0x161f, 0x1736, 0x161f, -0x1456, 0x1394, 0x1456, 0x1394, 0x1287, 0x1216, 0x1287, 0x1216, 0x1107, 0x10e3, 0x1107, -0x10e3, 0x1107, 0x10e3, 0xf21, 0xf43, 0xf21, 0xf43, 0xd08, 0xd6a, 0xd08, 0xd6a, -0x9b6, 0xa4f, 0x9b6, 0xa4f, 0x576, 0x641, 0x576, 0x641, 0x27b, 0x370, 0x27b, -0x370, 0xffc4, 0xda, 0xffc4, 0xda, 0xffc4, 0xda, 0xfce1, 0xfe12, 0xfce1, 0xfe12, -0xfa96, 0xfbdb, 0xfa96, 0xfbdb, 0xf8f0, 0xfa42, 0xf8f0, 0xfa42, 0xf899, 0xf9f3, 0xf899, -0xf9f3, 0xf793, 0xf8f1, 0xf793, 0xf8f1, 0xf793, 0xf8f1, 0xf678, 0xf7d4, 0xf678, 0xf7d4, -0xf5fd, 0xf755, 0xf5fd, 0xf755, 0xf5e8, 0xf73c, 0xf5e8, 0xf73c, 0xf6e5, 0xf832, 0xf6e5, -0xf832, 0xf778, 0xf8be, 0xf778, 0xf8be, 0xf81f, 0xf960, 0xf81f, 0xf960, 0xf81f, 0xf960, -0xf86d, 0xf9aa, 0xf86d, 0xf9aa, 0xf8e6, 0xfa22, 0xf8e6, 0xfa22, 0xf9cc, 0xfb09, 0xf9cc, -0xfb09, 0xfa5a, 0xfb9d, 0xfa5a, 0xfb9d, 0xfa74, 0xfbc0, 0xfa74, 0xfbc0, 0xf946, 0xfa9f, -0xf946, 0xfa9f, 0xf946, 0xfa9f, 0xf88c, 0xf9f6, 0xf88c, 0xf9f6, 0xf77e, 0xf8fd, 0xf77e, -0xf8fd, 0xf69e, 0xf834, 0xf69e, 0xf834, 0xf621, 0xf7d0, 0xf621, 0xf7d0, 0xf521, 0xf6eb, -0xf521, 0xf6eb, 0xf521, 0xf6eb, 0xf4bf, 0xf6a3, 0xf4bf, 0xf6a3, 0xf3be, 0xf5bc, 0xf3be, -0xf5bc, 0xf2e2, 0xf4f7, 0xf2e2, 0xf4f7, 0xf0fd, 0xf326, 0xf0fd, 0xf326, 0xeeb3, 0xf0eb, -0xeeb3, 0xf0eb, 0xed14, 0xef55, 0xed14, 0xef55, 0xed14, 0xef55, 0xeb34, 0xed77, 0xeb34, -0xed77, 0xeb0e, 0xed4b, 0xeb0e, 0xed4b, 0xeb2c, 0xed5a, 0xeb2c, 0xed5a, 0xec05, 0xee1a, -0xec05, 0xee1a, 0xed6f, 0xef62, 0xed6f, 0xef62, 0xee2d, 0xeff3, 0xee2d, 0xeff3, 0xee2d, -0xeff3, 0xef46, 0xf0d5, 0xef46, 0xf0d5, 0xf056, 0xf1a4, 0xf056, 0xf1a4, 0xf1f0, 0xf2f4, -0xf1f0, 0xf2f4, 0xf375, 0xf427, 0xf375, 0xf427, 0xf5e3, 0xf63c, 0xf5e3, 0xf63c, 0xf5e3, -0xf63c, 0xf903, 0xf8fe, 0xf903, 0xf8fe, 0xfbcf, 0xfb66, 0xfbcf, 0xfb66, 0xff58, 0xfe8a, -0xff58, 0xfe8a, 0x23c, 0x108, 0x23c, 0x108, 0x53c, 0x3a3, 0x53c, 0x3a3, 0x81b, -0x621, 0x81b, 0x621, 0x81b, 0x621, 0x9a8, 0x752, 0x9a8, 0x752, 0xaf3, 0x847, -0xaf3, 0x847, 0xbea, 0x8f2, 0xbea, 0x8f2, 0xdb0, 0xa74, 0xdb0, 0xa74, 0xfa2, -0xc2e, 0xfa2, 0xc2e, 0xfa2, 0xc2e, 0x10f3, 0xd52, 0x10f3, 0xd52, 0x120f, 0xe4f, -0x120f, 0xe4f, 0x1254, 0xe81, 0x1254, 0xe81, 0x12db, 0xf02, 0x12db, 0xf02, 0x138b, -0xfb9, 0x138b, 0xfb9, 0x1429, 0x106b, 0x1429, 0x106b, 0x1429, 0x106b, 0x1464, 0x10c3, -0x1464, 0x10c3, 0x1425, 0x10ac, 0x1425, 0x10ac, 0x1406, 0x10bd, 0x1406, 0x10bd, 0x1362, -0x1050, 0x1362, 0x1050, 0x12fc, 0x1026, 0x12fc, 0x1026, 0x11f2, 0xf5c, 0x11f2, 0xf5c, -0x11f2, 0xf5c, 0x1105, 0xeaf, 0x1105, 0xeaf, 0x1108, 0xef2, 0x1108, 0xef2, 0x109f, -0xec7, 0x109f, 0xec7, 0x1059, 0xebb, 0x1059, 0xebb, 0xf9e, 0xe34, 0xf9e, 0xe34, -0xf9e, 0xe34, 0xf15, 0xdd9, 0xf15, 0xdd9, 0xf2b, 0xe15, 0xf2b, 0xe15, 0xf2d, -0xe35, 0xf2d, 0xe35, 0xecb, 0xde7, 0xecb, 0xde7, 0xde9, 0xd11, 0xde9, 0xd11, -0xd3e, 0xc6a, 0xd3e, 0xc6a, 0xd3e, 0xc6a, 0xc9c, 0xbc3, 0xc9c, 0xbc3, 0xbda, -0xaf5, 0xbda, 0xaf5, 0xaa9, 0x9b2, 0xaa9, 0x9b2, 0x961, 0x852, 0x961, 0x852, -0x895, 0x76a, 0x895, 0x76a, 0x7d1, 0x687, 0x7d1, 0x687, 0x7d1, 0x687, 0x6b1, -0x548, 0x6b1, 0x548, 0x66f, 0x4e7, 0x66f, 0x4e7, 0x6a3, 0x4fe, 0x6a3, 0x4fe, -0x703, 0x544, 0x703, 0x544, 0x811, 0x63c, 0x811, 0x63c, 0x811, 0x63c, 0x7f1, -0x60c, 0x7f1, 0x60c, 0x7e7, 0x5f8, 0x7e7, 0x5f8, 0x7d5, 0x5e2, 0x7d5, 0x5e2, -0x7de, 0x5ef, 0x7de, 0x5ef, 0x8eb, 0x706, 0x8eb, 0x706, 0x95b, 0x787, 0x95b, -0x787, 0x95b, 0x787, 0x932, 0x774, 0x932, 0x774, 0x868, 0x6c6, 0x868, 0x6c6, -0x817, 0x694, 0x817, 0x694, 0x758, 0x5f8, 0x758, 0x5f8, 0x624, 0x4e8, 0x624, -0x4e8, 0x468, 0x350, 0x468, 0x350, 0x468, 0x350, 0x258, 0x163, 0x258, 0x163, -0x184, 0xb0, 0x184, 0xb0, 0x25, 0xff6d, 0x25, 0xff6d, 0xff23, 0xfe81, 0xff23, -0xfe81, 0xfda0, 0xfd0e, 0xfda0, 0xfd0e, 0xfda0, 0xfd0e, 0xfc62, 0xfbda, 0xfc62, 0xfbda, -0xfc79, 0xfbf1, 0xfc79, 0xfbf1, 0xfcce, 0xfc3e, 0xfcce, 0xfc3e, 0xfe05, 0xfd64, 0xfe05, -0xfd64, 0xfdea, 0xfd2f, 0xfdea, 0xfd2f, 0xfebe, 0xfde1, 0xfebe, 0xfde1, 0xfebe, 0xfde1, -0xe2, 0xffdc, 0xe2, 0xffdc, 0x28f, 0x158, 0x28f, 0x158, 0x4b1, 0x344, 0x4b1, -0x344, 0x689, 0x4e3, 0x689, 0x4e3, 0x854, 0x671, 0x854, 0x671, 0xa08, 0x7e6, -0xa08, 0x7e6, 0xa08, 0x7e6, 0xcad, 0xa4e, 0xcad, 0xa4e, 0xea6, 0xc0b, 0xea6, -0xc0b, 0xf5f, 0xc8c, 0xf5f, 0xc8c, 0x10ec, 0xde6, 0x10ec, 0xde6, 0x11db, 0xea9, -0x11db, 0xea9, 0x11db, 0xea9, 0x1353, 0xffd, 0x1353, 0xffd, 0x15a7, 0x1235, 0x15a7, -0x1235, 0x16ba, 0x1336, 0x16ba, 0x1336, 0x172b, 0x139f, 0x172b, 0x139f, 0x17aa, 0x1420, -0x17aa, 0x1420, 0x183a, 0x14bc, 0x183a, 0x14bc, 0x183a, 0x14bc, 0x1841, 0x14da, 0x1841, -0x14da, 0x17cc, 0x1485, 0x17cc, 0x1485, 0x17b3, 0x1493, 0x17b3, 0x1493, 0x1722, 0x1433, -0x1722, 0x1433, 0x16c5, 0x140c, 0x16c5, 0x140c, 0x16f5, 0x1477, 0x16f5, 0x1477, 0x16f5, -0x1477, 0x164d, 0x140e, 0x164d, 0x140e, 0x15e7, 0x13ea, 0x15e7, 0x13ea, 0x1598, 0x13dd, -0x1598, 0x13dd, 0x14bf, 0x1346, 0x14bf, 0x1346, 0x1435, 0x12fc, 0x1435, 0x12fc, 0x1435, -0x12fc, 0x1314, 0x1217, 0x1314, 0x1217, 0x10f0, 0x102b, 0x10f0, 0x102b, 0xf76, 0xee4, -0xf76, 0xee4, 0xef9, 0xe93, 0xef9, 0xe93, 0xe42, 0xe02, 0xe42, 0xe02, 0xdf9, -0xdd8, 0xdf9, 0xdd8, 0xdf9, 0xdd8, 0xe38, 0xe2f, 0xe38, 0xe2f, 0xe88, 0xe91, -0xe88, 0xe91, 0xe91, 0xea4, 0xe91, 0xea4, 0xdc0, 0xdd9, 0xdc0, 0xdd9, 0xc86, -0xc9f, 0xc86, 0xc9f, 0xb5f, 0xb74, 0xb5f, 0xb74, 0xb5f, 0xb74, 0xafe, 0xb0c, -0xafe, 0xb0c, 0xa31, 0xa36, 0xa31, 0xa36, 0x926, 0x920, 0x926, 0x920, 0x84f, -0x840, 0x84f, 0x840, 0x65f, 0x647, 0x65f, 0x647, 0x65f, 0x647, 0x50b, 0x4ed, -0x50b, 0x4ed, 0x392, 0x371, 0x392, 0x371, 0x110, 0xf1, 0x110, 0xf1, 0xff2d, -0xff15, 0xff2d, 0xff15, 0xfdbb, 0xfdaf, 0xfdbb, 0xfdaf, 0xfcd7, 0xfcde, 0xfcd7, 0xfcde, -0xfcd7, 0xfcde, 0xfbf9, 0xfc19, 0xfbf9, 0xfc19, 0xfaf4, 0xfb33, 0xfaf4, 0xfb33, 0xf9c5, -0xfa2a, 0xf9c5, 0xfa2a, 0xf83d, 0xf8cf, 0xf83d, 0xf8cf, 0xf80b, 0xf8ce, 0xf80b, 0xf8ce, -0xf87c, 0xf976, 0xf87c, 0xf976, 0xf87c, 0xf976, 0xf872, 0xf9a8, 0xf872, 0xf9a8, 0xf8a3, -0xfa17, 0xf8a3, 0xfa17, 0xf809, 0xf9c0, 0xf809, 0xf9c0, 0xf71a, 0xf913, 0xf71a, 0xf913, -0xf666, 0xf8a3, 0xf666, 0xf8a3, 0xf666, 0xf8a3, 0xf502, 0xf783, 0xf502, 0xf783, 0xf2fe, -0xf5c1, 0xf2fe, 0xf5c1, 0xf060, 0xf362, 0xf060, 0xf362, 0xee54, 0xf191, 0xee54, 0xf191, -0xec95, 0xf00a, 0xec95, 0xf00a, 0xea7b, 0xee21, 0xea7b, 0xee21, 0xea7b, 0xee21, 0xe872, -0xec44, 0xe872, 0xec44, 0xe6b3, 0xeaa9, 0xe6b3, 0xeaa9, 0xe641, 0xea55, 0xe641, 0xea55, -0xe60a, 0xea33, 0xe60a, 0xea33, 0xe5cc, 0xea02, 0xe5cc, 0xea02, 0xe585, 0xe9c1, 0xe585, -0xe9c1, 0xe585, 0xe9c1, 0xe4a1, 0xe8da, 0xe4a1, 0xe8da, 0xe44c, 0xe87a, 0xe44c, 0xe87a, -0xe436, 0xe852, 0xe436, 0xe852, 0xe438, 0xe83b, 0xe438, 0xe83b, 0xe4c1, 0xe8a4, 0xe4c1, -0xe8a4, 0xe4c1, 0xe8a4, 0xe58c, 0xe949, 0xe58c, 0xe949, 0xe6b6, 0xea49, 0xe6b6, 0xea49, -0xe880, 0xebe4, 0xe880, 0xebe4, 0xe99f, 0xecd1, 0xe99f, 0xecd1, 0xe9ec, 0xece9, 0xe9ec, -0xece9, 0xeaf8, 0xedbf, 0xeaf8, 0xedbf, 0xeaf8, 0xedbf, 0xec3d, 0xeece, 0xec3d, 0xeece, -0xedca, 0xf026, 0xedca, 0xf026, 0xef0c, 0xf135, 0xef0c, 0xf135, 0xef0c, 0xf105, 0xef0c, -0xf105, 0xef04, 0xf0d0, 0xef04, 0xf0d0, 0xef04, 0xf0d0, 0xef0f, 0xf0b2, 0xef0f, 0xf0b2, -0xef52, 0xf0d2, 0xef52, 0xf0d2, 0xef8b, 0xf0ee, 0xef8b, 0xf0ee, 0xef50, 0xf09c, 0xef50, -0xf09c, 0xefb0, 0xf0ed, 0xefb0, 0xf0ed, 0xf01b, 0xf150, 0xf01b, 0xf150, 0xf01b, 0xf150, -0xf03b, 0xf16e, 0xf03b, 0xf16e, 0xeffe, 0xf138, 0xeffe, 0xf138, 0xef3d, 0xf083, 0xef3d, -0xf083, 0xef18, 0xf073, 0xef18, 0xf073, 0xef5f, 0xf0d5, 0xef5f, 0xf0d5, 0xef73, 0xf10a, -0xef73, 0xf10a, 0xef73, 0xf10a, 0xeec0, 0xf07e, 0xeec0, 0xf07e, 0xed43, 0xef2c, 0xed43, -0xef2c, 0xeb66, 0xed7f, 0xeb66, 0xed7f, 0xe9bc, 0xec08, 0xe9bc, 0xec08, 0xe86d, 0xeaed, -0xe86d, 0xeaed, 0xe86d, 0xeaed, 0xe644, 0xe8fb, 0xe644, 0xe8fb, 0xe47b, 0xe768, 0xe47b, -0xe768, 0xe33e, 0xe660, 0xe33e, 0xe660, 0xe198, 0xe4ee, 0xe198, 0xe4ee, 0xe0a3, 0xe42a, -0xe0a3, 0xe42a, 0xe02b, 0xe3e1, 0xe02b, 0xe3e1, 0xe02b, 0xe3e1, 0xdf7f, 0xe35f, 0xdf7f, -0xe35f, 0xde86, 0xe28b, 0xde86, 0xe28b, 0xddb1, 0xe1d6, 0xddb1, 0xe1d6, 0xdcbf, 0xe0fd, -0xdcbf, 0xe0fd, 0xdb1c, 0xdf6c, 0xdb1c, 0xdf6c, 0xd93f, 0xdd9c, 0xd93f, 0xdd9c, 0xd93f, -0xdd9c, 0xd79d, 0xdbff, 0xd79d, 0xdbff, 0xd667, 0xdac7, 0xd667, 0xdac7, 0xd5a6, 0xd9fd, -0xd5a6, 0xd9fd, 0xd553, 0xd99b, 0xd553, 0xd99b, 0xd511, 0xd943, 0xd511, 0xd943, 0xd511, -0xd943, 0xd563, 0xd979, 0xd563, 0xd979, 0xd63b, 0xda2e, 0xd63b, 0xda2e, 0xd6e8, 0xdab4, -0xd6e8, 0xdab4, 0xd802, 0xdba3, 0xd802, 0xdba3, 0xd8d8, 0xdc49, 0xd8d8, 0xdc49, 0xd9bf, -0xdcfd, 0xd9bf, 0xdcfd, 0xd9bf, 0xdcfd, 0xdbfc, 0xdf05, 0xdbfc, 0xdf05, 0xdeaf, 0xe17f, -0xdeaf, 0xe17f, 0xe198, 0xe42e, 0xe198, 0xe42e, 0xe4c8, 0xe723, 0xe4c8, 0xe723, 0xe77a, -0xe99a, 0xe77a, 0xe99a, 0xe9fb, 0xebdf, 0xe9fb, 0xebdf, 0xe9fb, 0xebdf, 0xec98, 0xee40, -0xec98, 0xee40, 0xee52, 0xefbe, 0xee52, 0xefbe, 0xefcd, 0xf0fd, 0xefcd, 0xf0fd, 0xf1ea, -0xf2df, 0xf1ea, 0xf2df, 0xf400, 0xf4bb, 0xf400, 0xf4bb, 0xf400, 0xf4bb, 0xf5ff, 0xf67f, -0xf5ff, 0xf67f, 0xf762, 0xf7a7, 0xf762, 0xf7a7, 0xf8d4, 0xf8df, 0xf8d4, 0xf8df, 0xfad2, -0xfaa2, 0xfad2, 0xfaa2, 0xfce8, 0xfc7d, 0xfce8, 0xfc7d, 0xff52, 0xfeaa, 0xff52, 0xfeaa, -0xff52, 0xfeaa, 0x13d, 0x57, 0x13d, 0x57, 0x358, 0x234, 0x358, 0x234, 0x5ac, -0x448, 0x5ac, 0x448, 0x7d3, 0x62c, 0x7d3, 0x62c, 0xa6e, 0x884, 0xa6e, 0x884, -0xc68, 0xa38, 0xc68, 0xa38, 0xc68, 0xa38, 0xe4d, 0xbd7, 0xe4d, 0xbd7, 0x1127, -0xe69, 0x1127, 0xe69, 0x145c, 0x1156, 0x145c, 0x1156, 0x1734, 0x13e6, 0x1734, 0x13e6, -0x19cf, 0x1639, 0x19cf, 0x1639, 0x19cf, 0x1639, 0x1c96, 0x18ba, 0x1c96, 0x18ba, 0x1fa0, -0x1b80, 0x1fa0, 0x1b80, 0x22cb, 0x1e6a, 0x22cb, 0x1e6a, 0x259b, 0x20fe, 0x259b, 0x20fe, -0x27bc, 0x22e7, 0x27bc, 0x22e7, 0x2874, 0x236f, 0x2874, 0x236f, 0x2874, 0x236f, 0x290c, -0x23de, 0x290c, 0x23de, 0x2a29, 0x24da, 0x2a29, 0x24da, 0x2b1f, 0x25b9, 0x2b1f, 0x25b9, -0x2bcd, 0x2659, 0x2bcd, 0x2659, 0x2be1, 0x266a, 0x2be1, 0x266a, 0x2c79, 0x270a, 0x2c79, -0x270a, 0x2c79, 0x270a, 0x2cd9, 0x277f, 0x2cd9, 0x277f, 0x2c9e, 0x2763, 0x2c9e, 0x2763, -0x2c37, 0x2727, 0x2c37, 0x2727, 0x2b6d, 0x2693, 0x2b6d, 0x2693, 0x2a37, 0x259e, 0x2a37, -0x259e, 0x2a37, 0x259e, 0x28b4, 0x2465, 0x28b4, 0x2465, 0x2763, 0x2367, 0x2763, 0x2367, -0x257c, 0x21db, 0x257c, 0x21db, 0x23b6, 0x2076, 0x23b6, 0x2076, 0x21cc, 0x1ef0, 0x21cc, -0x1ef0, 0x1f62, 0x1ced, 0x1f62, 0x1ced, 0x1f62, 0x1ced, 0x1d3e, 0x1b31, 0x1d3e, 0x1b31, -0x1a9b, 0x18f6, 0x1a9b, 0x18f6, 0x17e2, 0x16a2, 0x17e2, 0x16a2, 0x1531, 0x1452, 0x1531, -0x1452, 0x124b, 0x11c7, 0x124b, 0x11c7, 0xfb7, 0xf86, 0xfb7, 0xf86, 0xfb7, 0xf86, -0xd64, 0xd7e, 0xd64, 0xd7e, 0xaad, 0xb07, 0xaad, 0xb07, 0x8cc, 0x95d, 0x8cc, -0x95d, 0x6f0, 0x7ad, 0x6f0, 0x7ad, 0x40b, 0x4e7, 0x40b, 0x4e7, 0x40b, 0x4e7, -0x1c1, 0x2b2, 0x1c1, 0x2b2, 0xfedf, 0xffdc, 0xfedf, 0xffdc, 0xfc08, 0xfd05, 0xfc08, -0xfd05, 0xfa31, 0xfb25, 0xfa31, 0xfb25, 0xf8cd, 0xf9b1, 0xf8cd, 0xf9b1, 0xf7de, 0xf8aa, -0xf7de, 0xf8aa, 0xf7de, 0xf8aa, 0xf6d5, 0xf785, 0xf6d5, 0xf785, 0xf6d5, 0xf767, 0xf6d5, -0xf767, 0xf751, 0xf7c2, 0xf751, 0xf7c2, 0xf752, 0xf7a2, 0xf752, 0xf7a2, 0xf755, 0xf787, -0xf755, 0xf787, 0xf763, 0xf77a, 0xf763, 0xf77a, 0xf763, 0xf77a, 0xf7f0, 0xf7f2, 0xf7f0, -0xf7f2, 0xf8a1, 0xf893, 0xf8a1, 0xf893, 0xf8d5, 0xf8be, 0xf8d5, 0xf8be, 0xf86f, 0xf858, -0xf86f, 0xf858, 0xf82e, 0xf81f, 0xf82e, 0xf81f, 0xf82e, 0xf81f, 0xf866, 0xf867, 0xf866, -0xf867, 0xf83f, 0xf859, 0xf83f, 0xf859, 0xf80c, 0xf847, 0xf80c, 0xf847, 0xf78b, 0xf7ee, -0xf78b, 0xf7ee, 0xf636, 0xf6c7, 0xf636, 0xf6c7, 0xf50d, 0xf5d1, 0xf50d, 0xf5d1, 0xf50d, -0xf5d1, 0xf458, 0xf551, 0xf458, 0xf551, 0xf2ea, 0xf41a, 0xf2ea, 0xf41a, 0xf0fe, 0xf265, -0xf0fe, 0xf265, 0xefb0, 0xf14a, 0xefb0, 0xf14a, 0xee55, 0xf01f, 0xee55, 0xf01f, 0xed0d, -0xef00, 0xed0d, 0xef00, 0xed0d, 0xef00, 0xec3b, 0xee50, 0xec3b, 0xee50, 0xeb7e, 0xedac, -0xeb7e, 0xedac, 0xeab9, 0xecf5, 0xeab9, 0xecf5, 0xeaa2, 0xece1, 0xeaa2, 0xece1, 0xeb77, -0xedad, 0xeb77, 0xedad, 0xeb77, 0xedad, 0xebec, 0xee0b, 0xebec, 0xee0b, 0xeca4, 0xeea1, -0xeca4, 0xeea1, 0xedfc, 0xefca, 0xedfc, 0xefca, 0xef90, 0xf123, 0xef90, 0xf123, 0xf17b, -0xf2c9, 0xf17b, 0xf2c9, 0xf36d, 0xf46d, 0xf36d, 0xf46d, 0xf36d, 0xf46d, 0xf611, 0xf6ba, -0xf611, 0xf6ba, 0xf937, 0xf985, 0xf937, 0xf985, 0xfcca, 0xfcb7, 0xfcca, 0xfcb7, 0x52, -0xffdb, 0x52, 0xffdb, 0x276, 0x19c, 0x276, 0x19c, 0x276, 0x19c, 0x468, 0x32d, -0x468, 0x32d, 0x65d, 0x4c3, 0x65d, 0x4c3, 0x7ec, 0x5fb, 0x7ec, 0x5fb, 0xa24, -0x7e2, 0xa24, 0x7e2, 0xc45, 0x9bb, 0xc45, 0x9bb, 0xe06, 0xb3e, 0xe06, 0xb3e, -0xe06, 0xb3e, 0xfb1, 0xcb6, 0xfb1, 0xcb6, 0x115a, 0xe37, 0x115a, 0xe37, 0x1276, -0xf37, 0x1276, 0xf37, 0x129e, 0xf4f, 0x129e, 0xf4f, 0x1292, 0xf3d, 0x1292, 0xf3d, -0x1262, 0xf14, 0x1262, 0xf14, 0x1262, 0xf14, 0x130d, 0xfcf, 0x130d, 0xfcf, 0x13c8, -0x10a2, 0x13c8, 0x10a2, 0x13b5, 0x10b0, 0x13b5, 0x10b0, 0x1301, 0x1022, 0x1301, 0x1022, -0x11ab, 0xef8, 0x11ab, 0xef8, 0x11ab, 0xef8, 0x10cb, 0xe46, 0x10cb, 0xe46, 0x107a, -0xe25, 0x107a, 0xe25, 0x10ca, 0xea5, 0x10ca, 0xea5, 0x10e3, 0xeeb, 0x10e3, 0xeeb, -0x10c3, 0xef8, 0x10c3, 0xef8, 0x10ba, 0xf16, 0x10ba, 0xf16, 0x10ba, 0xf16, 0x10c8, -0xf48, 0x10c8, 0xf48, 0x10de, 0xf7c, 0x10de, 0xf7c, 0x1038, 0xeee, 0x1038, 0xeee, -0xf99, 0xe62, 0xf99, 0xe62, 0xf0d, 0xde2, 0xf0d, 0xde2, 0xe7b, 0xd57, 0xe7b, -0xd57, 0xe7b, 0xd57, 0xda3, 0xc80, 0xda3, 0xc80, 0xc9b, 0xb76, 0xc9b, 0xb76, -0xbf5, 0xac9, 0xbf5, 0xac9, 0xb38, 0xa03, 0xb38, 0xa03, 0xa9d, 0x95d, 0xa9d, -0x95d, 0xa9d, 0x95d, 0xaab, 0x960, 0xaab, 0x960, 0xa9a, 0x944, 0xa9a, 0x944, -0xa4d, 0x8ed, 0xa4d, 0x8ed, 0xa39, 0x8d2, 0xa39, 0x8d2, 0x9e0, 0x874, 0x9e0, -0x874, 0x9a4, 0x838, 0x9a4, 0x838, 0x9a4, 0x838, 0x976, 0x80e, 0x976, 0x80e, -0xa21, 0x8c2, 0xa21, 0x8c2, 0xad8, 0x987, 0xad8, 0x987, 0xa7c, 0x93e, 0xa7c, -0x93e, 0x9c2, 0x89b, 0x9c2, 0x89b, 0x913, 0x807, 0x913, 0x807, 0x913, 0x807, -0x933, 0x846, 0x933, 0x846, 0x8f7, 0x82d, 0x8f7, 0x82d, 0x88d, 0x7e6, 0x88d, -0x7e6, 0x7f4, 0x771, 0x7f4, 0x771, 0x709, 0x6ab, 0x709, 0x6ab, 0x709, 0x6ab, -0x625, 0x5ea, 0x625, 0x5ea, 0x50a, 0x4f0, 0x50a, 0x4f0, 0x3ec, 0x3f0, 0x3ec, -0x3f0, 0x280, 0x29c, 0x280, 0x29c, 0x177, 0x1a7, 0x177, 0x1a7, 0x100, 0x13e, -0x100, 0x13e, 0x100, 0x13e, 0x131, 0x175, 0x131, 0x175, 0x107, 0x14c, 0x107, -0x14c, 0xaa, 0xe7, 0xaa, 0xe7, 0x7b, 0xa9, 0x7b, 0xa9, 0x77, 0x90, -0x77, 0x90, 0x15b, 0x157, 0x15b, 0x157, 0x15b, 0x157, 0x20b, 0x1e3, 0x20b, -0x1e3, 0x29e, 0x24d, 0x29e, 0x24d, 0x33d, 0x2be, 0x33d, 0x2be, 0x4a2, 0x3f2, -0x4a2, 0x3f2, 0x677, 0x591, 0x677, 0x591, 0x677, 0x591, 0x825, 0x70a, 0x825, -0x70a, 0x9c8, 0x875, 0x9c8, 0x875, 0xac5, 0x93d, 0xac5, 0x93d, 0xc75, 0xab8, -0xc75, 0xab8, 0xe5d, 0xc6f, 0xe5d, 0xc6f, 0x101d, 0xe01, 0x101d, 0xe01, 0x101d, -0xe01, 0x1203, 0xfbf, 0x1203, 0xfbf, 0x134a, 0x10e4, 0x134a, 0x10e4, 0x1461, 0x11de, -0x1461, 0x11de, 0x14fc, 0x1264, 0x14fc, 0x1264, 0x155b, 0x12b5, 0x155b, 0x12b5, 0x15f7, -0x134a, 0x15f7, 0x134a, 0x15f7, 0x134a, 0x15fa, 0x134d, 0x15fa, 0x134d, 0x1601, 0x135c, -0x1601, 0x135c, 0x15b7, 0x1321, 0x15b7, 0x1321, 0x14f2, 0x1271, 0x14f2, 0x1271, 0x1446, -0x11e0, 0x1446, 0x11e0, 0x1446, 0x11e0, 0x1322, 0x10dc, 0x1322, 0x10dc, 0x1250, 0x102f, -0x1250, 0x102f, 0x11d0, 0xfd6, 0x11d0, 0xfd6, 0x1103, 0xf34, 0x1103, 0xf34, 0xf94, -0xdf2, 0xf94, 0xdf2, 0xe23, 0xcaf, 0xe23, 0xcaf, 0xe23, 0xcaf, 0xd34, 0xbee, -0xd34, 0xbee, 0xc26, 0xb0f, 0xc26, 0xb0f, 0xb68, 0xa7d, 0xb68, 0xa7d, 0xace, -0xa0f, 0xace, 0xa0f, 0xa3f, 0x9aa, 0xa3f, 0x9aa, 0x9bb, 0x94d, 0x9bb, 0x94d, -0x9bb, 0x94d, 0x95e, 0x914, 0x95e, 0x914, 0x970, 0x947, 0x970, 0x947, 0x91a, -0x911, 0x91a, 0x911, 0x861, 0x875, 0x861, 0x875, 0x7c7, 0x7f5, 0x7c7, 0x7f5, -0x7c7, 0x7f5, 0x747, 0x78c, 0x747, 0x78c, 0x693, 0x6ee, 0x693, 0x6ee, 0x515, -0x584, 0x515, 0x584, 0x39d, 0x41e, 0x39d, 0x41e, 0x259, 0x2eb, 0x259, 0x2eb, -0xba, 0x15d, 0xba, 0x15d, 0xba, 0x15d, 0xff40, 0xfff3, 0xff40, 0xfff3, 0xfdda, -0xfe9e, 0xfdda, 0xfe9e, 0xfc6e, 0xfd43, 0xfc6e, 0xfd43, 0xfaee, 0xfbd5, 0xfaee, 0xfbd5, -0xf9ba, 0xfab4, 0xf9ba, 0xfab4, 0xf87c, 0xf98b, 0xf87c, 0xf98b, 0xf87c, 0xf98b, 0xf749, -0xf86d, 0xf749, 0xf86d, 0xf6a3, 0xf7dd, 0xf6a3, 0xf7dd, 0xf5fd, 0xf750, 0xf5fd, 0xf750, -0xf557, 0xf6c3, 0xf557, 0xf6c3, 0xf542, 0xf6c9, 0xf542, 0xf6c9, 0xf542, 0xf6c9, 0xf5b3, -0xf756, 0xf5b3, 0xf756, 0xf5d1, 0xf791, 0xf5d1, 0xf791, 0xf66e, 0xf84b, 0xf66e, 0xf84b, -0xf68b, 0xf887, 0xf68b, 0xf887, 0xf5ba, 0xf7d6, 0xf5ba, 0xf7d6, 0xf4f7, 0xf734, 0xf4f7, -0xf734, 0xf4f7, 0xf734, 0xf3d5, 0xf632, 0xf3d5, 0xf632, 0xf249, 0xf4c6, 0xf249, 0xf4c6, -0xf053, 0xf2f1, 0xf053, 0xf2f1, 0xeee2, 0xf1a0, 0xeee2, 0xf1a0, 0xed46, 0xf024, 0xed46, -0xf024, 0xec25, 0xef22, 0xec25, 0xef22, 0xec25, 0xef22, 0xeb85, 0xeea0, 0xeb85, 0xeea0, -0xeab2, 0xedea, 0xeab2, 0xedea, 0xea63, 0xedb7, 0xea63, 0xedb7, 0xea02, 0xed6f, 0xea02, -0xed6f, 0xe94c, 0xecd1, 0xe94c, 0xecd1, 0xe94c, 0xecd1, 0xe847, 0xebe2, 0xe847, 0xebe2, -0xe7f2, 0xeb9f, 0xe7f2, 0xeb9f, 0xe7ad, 0xeb6b, 0xe7ad, 0xeb6b, 0xe7a8, 0xeb72, 0xe7a8, -0xeb72, 0xe836, 0xec0a, 0xe836, 0xec0a, 0xe8f3, 0xeccc, 0xe8f3, 0xeccc, 0xe8f3, 0xeccc, -0xe9cc, 0xeda8, 0xe9cc, 0xeda8, 0xeab7, 0xee90, 0xeab7, 0xee90, 0xebb7, 0xef8a, 0xebb7, -0xef8a, 0xec1b, 0xefe3, 0xec1b, 0xefe3, 0xed47, 0xf100, 0xed47, 0xf100, 0xed47, 0xf100, -0xee77, 0xf21c, 0xee77, 0xf21c, 0xef5b, 0xf2e9, 0xef5b, 0xf2e9, 0xf04a, 0xf3bd, 0xf04a, -0xf3bd, 0xf117, 0xf46c, 0xf117, 0xf46c, 0xf1ef, 0xf523, 0xf1ef, 0xf523, 0xf245, 0xf556, -0xf245, 0xf556, 0xf245, 0xf556, 0xf27a, 0xf566, 0xf27a, 0xf566, 0xf260, 0xf527, 0xf260, -0xf527, 0xf2c2, 0xf563, 0xf2c2, 0xf563, 0xf329, 0xf5a5, 0xf329, 0xf5a5, 0xf382, 0xf5db, -0xf382, 0xf5db, 0xf375, 0xf5ae, 0xf375, 0xf5ae, 0xf375, 0xf5ae, 0xf2ea, 0xf505, 0xf2ea, -0xf505, 0xf269, 0xf46c, 0xf269, 0xf46c, 0xf1f5, 0xf3e4, 0xf1f5, 0xf3e4, 0xf241, 0xf421, -0xf241, 0xf421, 0xf18c, 0xf364, 0xf18c, 0xf364, 0xf18c, 0xf364, 0xeff3, 0xf1c8, 0xeff3, -0xf1c8, 0xeeb5, 0xf08e, 0xeeb5, 0xf08e, 0xedea, 0xefcf, 0xedea, 0xefcf, 0xed29, 0xef1f, -0xed29, 0xef1f, 0xec66, 0xee73, 0xec66, 0xee73, 0xeb3d, 0xed68, 0xeb3d, 0xed68, 0xeb3d, -0xed68, 0xe99d, 0xebea, 0xe99d, 0xebea, 0xe876, 0xeae9, 0xe876, 0xeae9, 0xe6ee, 0xe98b, -0xe6ee, 0xe98b, 0xe593, 0xe85c, 0xe593, 0xe85c, 0xe4e9, 0xe7df, 0xe4e9, 0xe7df, 0xe452, -0xe773, 0xe452, 0xe773, 0xe452, 0xe773, 0xe383, 0xe6cf, 0xe383, 0xe6cf, 0xe2e5, 0xe658, -0xe2e5, 0xe658, 0xe1fb, 0xe593, 0xe1fb, 0xe593, 0xe036, 0xe3eb, 0xe036, 0xe3eb, 0xde2d, -0xe1fa, 0xde2d, 0xe1fa, 0xde2d, 0xe1fa, 0xdc59, 0xe037, 0xdc59, 0xe037, 0xdae0, 0xdec7, -0xdae0, 0xdec7, 0xd99c, 0xdd82, 0xd99c, 0xdd82, 0xd8f0, 0xdccd, 0xd8f0, 0xdccd, 0xd82b, -0xdbf7, 0xd82b, 0xdbf7, 0xd7b6, 0xdb66, 0xd7b6, 0xdb66, 0xd7b6, 0xdb66, 0xd7f8, 0xdb84, -0xd7f8, 0xdb84, 0xd8df, 0xdc3e, 0xd8df, 0xdc3e, 0xd9ff, 0xdd28, 0xd9ff, 0xdd28, 0xda9d, -0xdd8b, 0xda9d, 0xdd8b, 0xdb9e, 0xde4a, 0xdb9e, 0xde4a, 0xdd4c, 0xdfb0, 0xdd4c, 0xdfb0, -0xdd4c, 0xdfb0, 0xdf55, 0xe16e, 0xdf55, 0xe16e, 0xe162, 0xe32c, 0xe162, 0xe32c, 0xe414, -0xe58e, 0xe414, 0xe58e, 0xe6ef, 0xe818, 0xe6ef, 0xe818, 0xe9cf, 0xeaa8, 0xe9cf, 0xeaa8, -0xe9cf, 0xeaa8, 0xecdb, 0xed65, 0xecdb, 0xed65, 0xef22, 0xef60, 0xef22, 0xef60, 0xf0e2, -0xf0d7, 0xf0e2, 0xf0d7, 0xf2d9, 0xf28a, 0xf2d9, 0xf28a, 0xf4ef, 0xf45f, 0xf4ef, 0xf45f, -0xf665, 0xf598, 0xf665, 0xf598, 0xf665, 0xf598, 0xf7ec, 0xf6e9, 0xf7ec, 0xf6e9, 0xf9c5, -0xf88e, 0xf9c5, 0xf88e, 0xfc07, 0xfaa2, 0xfc07, 0xfaa2, 0xfe50, 0xfcc1, 0xfe50, 0xfcc1, -0xfff9, 0xfe43, 0xfff9, 0xfe43, 0x10b, 0xff2f, 0x10b, 0xff2f, 0x10b, 0xff2f, 0x240, -0x43, 0x240, 0x43, 0x45d, 0x23e, 0x45d, 0x23e, 0x6b7, 0x477, 0x6b7, 0x477, -0x882, 0x622, 0x882, 0x622, 0x9f7, 0x774, 0x9f7, 0x774, 0x9f7, 0x774, 0xc20, -0x97a, 0xc20, 0x97a, 0xdcf, 0xb04, 0xdcf, 0xb04, 0xfd2, 0xce0, 0xfd2, 0xce0, -0x126a, 0xf4e, 0x126a, 0xf4e, 0x14ec, 0x11a4, 0x14ec, 0x11a4, 0x1832, 0x14bb, 0x1832, -0x14bb, 0x1832, 0x14bb, 0x1ad9, 0x1731, 0x1ad9, 0x1731, 0x1d3c, 0x1963, 0x1d3c, 0x1963, -0x1f31, 0x1b26, 0x1f31, 0x1b26, 0x20e6, 0x1ca9, 0x20e6, 0x1ca9, 0x22f2, 0x1e85, 0x22f2, -0x1e85, 0x2478, 0x1fdd, 0x2478, 0x1fdd, 0x2478, 0x1fdd, 0x2562, 0x209e, 0x2562, 0x209e, -0x25fa, 0x2110, 0x25fa, 0x2110, 0x263f, 0x2137, 0x263f, 0x2137, 0x26e0, 0x21c0, 0x26e0, -0x21c0, 0x2827, 0x22f9, 0x2827, 0x22f9, 0x2827, 0x22f9, 0x28c8, 0x2395, 0x28c8, 0x2395, -0x2935, 0x2407, 0x2935, 0x2407, 0x28fa, 0x23dc, 0x28fa, 0x23dc, 0x2807, 0x2305, 0x2807, -0x2305, 0x26e5, 0x220a, 0x26e5, 0x220a, 0x25ee, 0x2148, 0x25ee, 0x2148, 0x25ee, 0x2148, -0x24b8, 0x204f, 0x24b8, 0x204f, 0x228d, 0x1e6e, 0x228d, 0x1e6e, 0x214f, 0x1d83, 0x214f, -0x1d83, 0x2003, 0x1c93, 0x2003, 0x1c93, 0x1e6e, 0x1b63, 0x1e6e, 0x1b63, 0x1c9c, 0x19fb, -0x1c9c, 0x19fb, 0x1c9c, 0x19fb, 0x19e9, 0x17b7, 0x19e9, 0x17b7, 0x17a6, 0x15e6, 0x17a6, -0x15e6, 0x157f, 0x1433, 0x157f, 0x1433, 0x1332, 0x1258, 0x1332, 0x1258, 0x10e6, 0x107c, -0x10e6, 0x107c, 0x10e6, 0x107c, 0xe90, 0xe93, 0xe90, 0xe93, 0xc8e, 0xcf7, 0xc8e, -0xcf7, 0xb01, 0xbca, 0xb01, 0xbca, 0x8f9, 0xa18, 0x8f9, 0xa18, 0x61d, 0x789, -0x61d, 0x789, 0x30f, 0x4bf, 0x30f, 0x4bf, 0x30f, 0x4bf, 0xa3, 0x28b, 0xa3, -0x28b, 0xff0b, 0x121, 0xff0b, 0x121, 0xfde1, 0x1a, 0xfde1, 0x1a, 0xfcaa, 0xfefa, -0xfcaa, 0xfefa, 0xfac3, 0xfd21, 0xfac3, 0xfd21, 0xf97a, 0xfbdd, 0xf97a, 0xfbdd, 0xf97a, -0xfbdd, 0xf94f, 0xfbaf, 0xf94f, 0xfbaf, 0xf946, 0xfb9c, 0xf946, 0xfb9c, 0xf8fe, 0xfb45, -0xf8fe, 0xfb45, 0xf8b1, 0xfae4, 0xf8b1, 0xfae4, 0xf8ce, 0xfaec, 0xf8ce, 0xfaec, 0xf8ce, -0xfaec, 0xf956, 0xfb5d, 0xf956, 0xfb5d, 0xfa33, 0xfc25, 0xfa33, 0xfc25, 0xfab6, 0xfc94, -0xfab6, 0xfc94, 0xfab7, 0xfc84, 0xfab7, 0xfc84, 0xfab4, 0xfc75, 0xfab4, 0xfc75, 0xfac1, -0xfc7a, 0xfac1, 0xfc7a, 0xfac1, 0xfc7a, 0xfad1, 0xfc88, 0xfad1, 0xfc88, 0xfa64, 0xfc1f, -0xfa64, 0xfc1f, 0xf984, 0xfb49, 0xf984, 0xfb49, 0xf8d2, 0xfaa7, 0xf8d2, 0xfaa7, 0xf7b7, -0xf99f, 0xf7b7, 0xf99f, 0xf6ae, 0xf8ae, 0xf6ae, 0xf8ae, 0xf6ae, 0xf8ae, 0xf5e7, 0xf802, -0xf5e7, 0xf802, 0xf484, 0xf6bb, 0xf484, 0xf6bb, 0xf341, 0xf595, 0xf341, 0xf595, 0xf216, -0xf485, 0xf216, 0xf485, 0xf11e, 0xf3a5, 0xf11e, 0xf3a5, 0xf11e, 0xf3a5, 0xeffb, 0xf296, -0xeffb, 0xf296, 0xee8d, 0xf137, 0xee8d, 0xf137, 0xed7f, 0xf030, 0xed7f, 0xf030, 0xeced, -0xef9b, 0xeced, 0xef9b, 0xed22, 0xefc5, 0xed22, 0xefc5, 0xed4e, 0xefdb, 0xed4e, 0xefdb, -0xed4e, 0xefdb, 0xed6f, 0xefda, 0xed6f, 0xefda, 0xee05, 0xf043, 0xee05, 0xf043, 0xef48, -0xf14d, 0xef48, 0xf14d, 0xf0f7, 0xf2b9, 0xf0f7, 0xf2b9, 0xf346, 0xf4bb, 0xf346, 0xf4bb, -0xf346, 0xf4bb, 0xf5fa, 0xf717, 0xf5fa, 0xf717, 0xf83f, 0xf8fc, 0xf83f, 0xf8fc, 0xfb17, -0xfb6e, 0xfb17, 0xfb6e, 0xfdb6, 0xfda1, 0xfdb6, 0xfda1, 0xff8f, 0xff0b, 0xff8f, 0xff0b, -0x198, 0xa4, 0x198, 0xa4, 0x198, 0xa4, 0x3ba, 0x255, 0x3ba, 0x255, 0x5a0, -0x3ce, 0x5a0, 0x3ce, 0x77f, 0x545, 0x77f, 0x545, 0x8d1, 0x634, 0x8d1, 0x634, -0xa57, 0x760, 0xa57, 0x760, 0xd06, 0x9bd, 0xd06, 0x9bd, 0xd06, 0x9bd, 0xe98, -0xb08, 0xe98, 0xb08, 0x1008, 0xc3c, 0x1008, 0xc3c, 0x113a, 0xd3f, 0x113a, 0xd3f, -0x1147, 0xd29, 0x1147, 0xd29, 0x11c9, 0xd95, 0x11c9, 0xd95, 0x11c9, 0xd95, 0x1258, -0xe1a, 0x1258, 0xe1a, 0x1288, 0xe4c, 0x1288, 0xe4c, 0x120c, 0xddc, 0x120c, 0xddc, -0x1172, 0xd59, 0x1172, 0xd59, 0x10cf, 0xcd4, 0x10cf, 0xcd4, 0x10d1, 0xcfd, 0x10d1, -0xcfd, 0x10d1, 0xcfd, 0x10ba, 0xd12, 0x10ba, 0xd12, 0x1089, 0xd12, 0x1089, 0xd12, -0x10ac, 0xd67, 0x10ac, 0xd67, 0x101e, 0xd0e, 0x101e, 0xd0e, 0x1042, 0xd67, 0x1042, -0xd67, 0xf91, 0xce8, 0xf91, 0xce8, 0xf91, 0xce8, 0xebb, 0xc43, 0xebb, 0xc43, -0xe7b, 0xc30, 0xe7b, 0xc30, 0xe1d, 0xbfb, 0xe1d, 0xbfb, 0xdbf, 0xbc1, 0xdbf, -0xbc1, 0xd4d, 0xb6e, 0xd4d, 0xb6e, 0xd4d, 0xb6e, 0xc96, 0xad0, 0xc96, 0xad0, -0xab4, 0x903, 0xab4, 0x903, 0xa18, 0x878, 0xa18, 0x878, 0xa0e, 0x879, 0xa0e, -0x879, 0xa83, 0x8f7, 0xa83, 0x8f7, 0xa72, 0x8eb, 0xa72, 0x8eb, 0xa72, 0x8eb, -0x9d6, 0x851, 0x9d6, 0x851, 0x9fe, 0x87b, 0x9fe, 0x87b, 0x940, 0x7be, 0x940, -0x7be, 0x976, 0x7f5, 0x976, 0x7f5, 0x900, 0x781, 0x900, 0x781, 0x7fc, 0x681, -0x7fc, 0x681, 0x7fc, 0x681, 0x739, 0x5c4, 0x739, 0x5c4, 0x74a, 0x5dd, 0x74a, -0x5dd, 0x78d, 0x62b, 0x78d, 0x62b, 0x6b0, 0x55c, 0x6b0, 0x55c, 0x60e, 0x4cb, -0x60e, 0x4cb, 0x60e, 0x4cb, 0x4dd, 0x3ac, 0x4dd, 0x3ac, 0x538, 0x41c, 0x538, -0x41c, 0x53e, 0x438, 0x53e, 0x438, 0x4ac, 0x3bc, 0x4ac, 0x3bc, 0x42a, 0x351, -0x42a, 0x351, 0x34a, 0x287, 0x34a, 0x287, 0x34a, 0x287, 0x309, 0x25a, 0x309, -0x25a, 0x1e0, 0x142, 0x1e0, 0x142, 0x1b0, 0x120, 0x1b0, 0x120, 0x147, 0xc1, -0x147, 0xc1, 0xe9, 0x68, 0xe9, 0x68, 0xf2, 0x71, 0xf2, 0x71, 0xf2, -0x71, 0x69, 0xffe2, 0x69, 0xffe2, 0x5b, 0xffc8, 0x5b, 0xffc8, 0xfffc, 0xff57, -0xfffc, 0xff57, 0x3b, 0xff7d, 0x3b, 0xff7d, 0xc7, 0xffeb, 0xc7, 0xffeb, 0xc7, -0xffeb, 0x165, 0x64, 0x165, 0x64, 0x1e7, 0xbe, 0x1e7, 0xbe, 0x284, 0x12f, -0x284, 0x12f, 0x3ef, 0x269, 0x3ef, 0x269, 0x567, 0x3af, 0x567, 0x3af, 0x764, -0x577, 0x764, 0x577, 0x764, 0x577, 0x9ca, 0x7a9, 0x9ca, 0x7a9, 0xb7d, 0x928, -0xb7d, 0x928, 0xd6e, 0xae8, 0xd6e, 0xae8, 0xfea, 0xd35, 0xfea, 0xd35, 0x113e, -0xe5d, 0x113e, 0xe5d, 0x1294, 0xf8e, 0x1294, 0xf8e, 0x1294, 0xf8e, 0x143d, 0x1116, -0x143d, 0x1116, 0x1567, 0x1225, 0x1567, 0x1225, 0x173b, 0x13e5, 0x173b, 0x13e5, 0x18aa, -0x1549, 0x18aa, 0x1549, 0x18ba, 0x1554, 0x18ba, 0x1554, 0x18ba, 0x1554, 0x18e7, 0x1584, -0x18e7, 0x1584, 0x18be, 0x1565, 0x18be, 0x1565, 0x1833, 0x14ec, 0x1833, 0x14ec, 0x17ff, -0x14d2, 0x17ff, 0x14d2, 0x1751, 0x1443, 0x1751, 0x1443, 0x16a9, 0x13c0, 0x16a9, 0x13c0, -0x16a9, 0x13c0, 0x15ba, 0x12fc, 0x15ba, 0x12fc, 0x149e, 0x1210, 0x149e, 0x1210, 0x13b0, -0x1154, 0x13b0, 0x1154, 0x125c, 0x1036, 0x125c, 0x1036, 0x10cc, 0xede, 0x10cc, 0xede, -0xf9b, 0xde5, 0xf9b, 0xde5, 0xf9b, 0xde5, 0xed6, 0xd5a, 0xed6, 0xd5a, 0xdd9, -0xc95, 0xdd9, 0xc95, 0xd61, 0xc55, 0xd61, 0xc55, 0xc91, 0xbba, 0xc91, 0xbba, -0xbbe, 0xb1a, 0xbbe, 0xb1a, 0xbbe, 0xb1a, 0xb89, 0xb14, 0xb89, 0xb14, 0xa7b, -0xa33, 0xa7b, 0xa33, 0x95a, 0x93c, 0x95a, 0x93c, 0x869, 0x870, 0x869, 0x870, -0x7c6, 0x7ef, 0x7c6, 0x7ef, 0x734, 0x77b, 0x734, 0x77b, 0x734, 0x77b, 0x664, -0x6c5, 0x664, 0x6c5, 0x53f, 0x5b8, 0x53f, 0x5b8, 0x3ff, 0x48c, 0x3ff, 0x48c, -0x3ba, 0x458, 0x3ba, 0x458, 0x30a, 0x3b9, 0x30a, 0x3b9, 0x18d, 0x24a, 0x18d, -0x24a, 0x18d, 0x24a, 0xffb0, 0x79, 0xffb0, 0x79, 0xfdf7, 0xfecd, 0xfdf7, 0xfecd, -0xfd5d, 0xfe3e, 0xfd5d, 0xfe3e, 0xfcb0, 0xfd9e, 0xfcb0, 0xfd9e, 0xfbcc, 0xfcc6, 0xfbcc, -0xfcc6, 0xfbcc, 0xfcc6, 0xfb0b, 0xfc13, 0xfb0b, 0xfc13, 0xfa69, 0xfb80, 0xfa69, 0xfb80, -0xf98c, 0xfab4, 0xf98c, 0xfab4, 0xf866, 0xf9a0, 0xf866, 0xf9a0, 0xf7a8, 0xf8f6, 0xf7a8, -0xf8f6, 0xf6f7, 0xf85c, 0xf6f7, 0xf85c, 0xf6f7, 0xf85c, 0xf651, 0xf7cd, 0xf651, 0xf7cd, -0xf669, 0xf7ff, 0xf669, 0xf7ff, 0xf6ab, 0xf85c, 0xf6ab, 0xf85c, 0xf651, 0xf81e, 0xf651, -0xf81e, 0xf625, 0xf80f, 0xf625, 0xf80f, 0xf588, 0xf791, 0xf588, 0xf791, 0xf588, 0xf791, -0xf47c, 0xf6a3, 0xf47c, 0xf6a3, 0xf320, 0xf564, 0xf320, 0xf564, 0xf13f, 0xf3a1, 0xf13f, -0xf3a1, 0xef9e, 0xf21c, 0xef9e, 0xf21c, 0xee3f, 0xf0d8, 0xee3f, 0xf0d8, 0xee3f, 0xf0d8, -0xed95, 0xf047, 0xed95, 0xf047, 0xecf5, 0xefbd, 0xecf5, 0xefbd, 0xecb9, 0xef95, 0xecb9, -0xef95, 0xebc8, 0xeeb5, 0xebc8, 0xeeb5, 0xeab7, 0xedb2, 0xeab7, 0xedb2, 0xeaa3, 0xedaa, -0xeaa3, 0xedaa, 0xeaa3, 0xedaa, 0xea02, 0xed0f, 0xea02, 0xed0f, 0xe9a5, 0xecb6, 0xe9a5, -0xecb6, 0xe8a4, 0xebb4, 0xe8a4, 0xebb4, 0xe80c, 0xeb19, 0xe80c, 0xeb19, 0xe848, 0xeb4e, -0xe848, 0xeb4e, 0xe848, 0xeb4e, 0xe8d8, 0xebd4, 0xe8d8, 0xebd4, 0xe9d3, 0xecc2, 0xe9d3, -0xecc2, 0xeac9, 0xeda9, 0xeac9, 0xeda9, 0xebf4, 0xeec2, 0xebf4, 0xeec2, 0xec57, 0xef12, -0xec57, 0xef12, 0xecc7, 0xef6d, 0xecc7, 0xef6d, 0xecc7, 0xef6d, 0xecf8, 0xef89, 0xecf8, -0xef89, 0xed38, 0xefb5, 0xed38, 0xefb5, 0xed8b, 0xeff3, 0xed8b, 0xeff3, 0xee77, 0xf0cb, -0xee77, 0xf0cb, 0xefb4, 0xf1f5, 0xefb4, 0xf1f5, 0xf06c, 0xf29e, 0xf06c, 0xf29e, 0xf06c, -0xf29e, 0xf167, 0xf38b, 0xf167, 0xf38b, 0xf156, 0xf36e, 0xf156, 0xf36e, 0xf1c0, 0xf3d1, -0xf1c0, 0xf3d1, 0xf1d9, 0xf3e6, 0xf1d9, 0xf3e6, 0xf13a, 0xf347, 0xf13a, 0xf347, 0xf13a, -0xf347, 0xf0eb, 0xf2fc, 0xf0eb, 0xf2fc, 0xf025, 0xf23f, 0xf025, 0xf23f, 0xef7f, 0xf1a6, -0xef7f, 0xf1a6, 0xeece, 0xf106, 0xeece, 0xf106, 0xee60, 0xf0ad, 0xee60, 0xf0ad, 0xed7b, -0xefe2, 0xed7b, 0xefe2, 0xed7b, 0xefe2, 0xec7a, 0xeefd, 0xec7a, 0xeefd, 0xec3c, 0xeee0, -0xec3c, 0xeee0, 0xec07, 0xeece, 0xec07, 0xeece, 0xeb38, 0xee25, 0xeb38, 0xee25, 0xea7a, -0xed8f, 0xea7a, 0xed8f, 0xea10, 0xed4d, 0xea10, 0xed4d, 0xea10, 0xed4d, 0xe969, 0xeccf, -0xe969, 0xeccf, 0xe871, 0xec00, 0xe871, 0xec00, 0xe6df, 0xea95, 0xe6df, 0xea95, 0xe5ac, -0xe989, 0xe5ac, 0xe989, 0xe51d, 0xe91d, 0xe51d, 0xe91d, 0xe51d, 0xe91d, 0xe478, 0xe899, -0xe478, 0xe899, 0xe2d9, 0xe716, 0xe2d9, 0xe716, 0xe194, 0xe5ea, 0xe194, 0xe5ea, 0xe106, -0xe56e, 0xe106, 0xe56e, 0xdfca, 0xe440, 0xdfca, 0xe440, 0xdef5, 0xe372, 0xdef5, 0xe372, -0xdef5, 0xe372, 0xddea, 0xe269, 0xddea, 0xe269, 0xdcbf, 0xe139, 0xdcbf, 0xe139, 0xdc62, -0xe0d0, 0xdc62, 0xe0d0, 0xdc26, 0xe082, 0xdc26, 0xe082, 0xdc20, 0xe064, 0xdc20, 0xe064, -0xdc2e, 0xe053, 0xdc2e, 0xe053, 0xdc2e, 0xe053, 0xdb70, 0xdf71, 0xdb70, 0xdf71, 0xdb74, -0xdf4b, 0xdb74, 0xdf4b, 0xdc83, 0xe02c, 0xdc83, 0xe02c, 0xdd3f, 0xe0b4, 0xdd3f, 0xe0b4, -0xdf47, 0xe286, 0xdf47, 0xe286, 0xdf47, 0xe286, 0xe147, 0xe44b, 0xe147, 0xe44b, 0xe2b3, -0xe57b, 0xe2b3, 0xe57b, 0xe568, 0xe7f1, 0xe568, 0xe7f1, 0xe83a, 0xea83, 0xe83a, 0xea83, -0xeab3, 0xecbc, 0xeab3, 0xecbc, 0xed04, 0xeecc, 0xed04, 0xeecc, 0xed04, 0xeecc, 0xef31, -0xf0b8, 0xef31, 0xf0b8, 0xf133, 0xf27b, 0xf133, 0xf27b, 0xf34b, 0xf453, 0xf34b, 0xf453, -0xf56c, 0xf637, 0xf56c, 0xf637, 0xf738, 0xf7c7, 0xf738, 0xf7c7, 0xf971, 0xf9c4, 0xf971, -0xf9c4, 0xf971, 0xf9c4, 0xfbcc, 0xfbe5, 0xfbcc, 0xfbe5, 0xfddf, 0xfdbe, 0xfddf, 0xfdbe, -0xff73, 0xff1a, 0xff73, 0xff1a, 0x94, 0x3, 0x94, 0x3, 0x218, 0x150, 0x218, -0x150, 0x218, 0x150, 0x388, 0x287, 0x388, 0x287, 0x4fc, 0x3c3, 0x4fc, 0x3c3, -0x691, 0x51f, 0x691, 0x51f, 0x801, 0x656, 0x801, 0x656, 0x999, 0x7b4, 0x999, -0x7b4, 0xb12, 0x8f2, 0xb12, 0x8f2, 0xb12, 0x8f2, 0xc87, 0xa2a, 0xc87, 0xa2a, -0xe17, 0xb7d, 0xe17, 0xb7d, 0x100d, 0xd36, 0x100d, 0xd36, 0x1272, 0xf5d, 0x1272, -0xf5d, 0x1501, 0x11b0, 0x1501, 0x11b0, 0x178c, 0x13ff, 0x178c, 0x13ff, 0x178c, 0x13ff, -0x19e8, 0x1620, 0x19e8, 0x1620, 0x1c35, 0x1836, 0x1c35, 0x1836, 0x1e1f, 0x19ed, 0x1e1f, -0x19ed, 0x203c, 0x1bdb, 0x203c, 0x1bdb, 0x2282, 0x1df7, 0x2282, 0x1df7, 0x2282, 0x1df7, -0x23c7, 0x1f19, 0x23c7, 0x1f19, 0x24f2, 0x2028, 0x24f2, 0x2028, 0x25bf, 0x20e1, 0x25bf, -0x20e1, 0x25b3, 0x20ca, 0x25b3, 0x20ca, 0x2680, 0x2196, 0x2680, 0x2196, 0x2779, 0x2297, -0x2779, 0x2297, 0x2779, 0x2297, 0x283c, 0x236d, 0x283c, 0x236d, 0x289a, 0x23e7, 0x289a, -0x23e7, 0x27e3, 0x2356, 0x27e3, 0x2356, 0x2686, 0x2229, 0x2686, 0x2229, 0x24a6, 0x2082, -0x24a6, 0x2082, 0x2300, 0x1f1f, 0x2300, 0x1f1f, 0x2300, 0x1f1f, 0x214b, 0x1db2, 0x214b, -0x1db2, 0x1fbb, 0x1c73, 0x1fbb, 0x1c73, 0x1e08, 0x1b15, 0x1e08, 0x1b15, 0x1caf, 0x1a15, -0x1caf, 0x1a15, 0x1bd6, 0x1998, 0x1bd6, 0x1998, 0x1bd6, 0x1998, 0x1a11, 0x1831, 0x1a11, -0x1831, 0x17f0, 0x166c, 0x17f0, 0x166c, 0x1535, 0x140d, 0x1535, 0x140d, 0x12c0, 0x11f1, -0x12c0, 0x11f1, 0x1099, 0x101e, 0x1099, 0x101e, 0xe84, 0xe5a, 0xe84, 0xe5a, 0xe84, -0xe5a, 0xc76, 0xc95, 0xc76, 0xc95, 0xa9c, 0xafe, 0xa9c, 0xafe, 0x90d, 0x9aa, -0x90d, 0x9aa, 0x6a9, 0x77a, 0x6a9, 0x77a, 0x4bd, 0x5ba, 0x4bd, 0x5ba, 0x2ad, -0x3ce, 0x2ad, 0x3ce, 0x2ad, 0x3ce, 0xec, 0x22b, 0xec, 0x22b, 0xff06, 0x5c, -0xff06, 0x5c, 0xfc9e, 0xfe05, 0xfc9e, 0xfe05, 0xfb39, 0xfcab, 0xfb39, 0xfcab, 0xfa2e, -0xfba7, 0xfa2e, 0xfba7, 0xfa2e, 0xfba7, 0xf9d9, 0xfb56, 0xf9d9, 0xfb56, 0xf93e, 0xfabd, -0xf93e, 0xfabd, 0xf8b7, 0xfa35, 0xf8b7, 0xfa35, 0xf8b2, 0xfa31, 0xf8b2, 0xfa31, 0xf92f, -0xfaaf, 0xf92f, 0xfaaf, 0xf95e, 0xfae1, 0xf95e, 0xfae1, 0xf95e, 0xfae1, 0xf8ec, 0xfa73, -0xf8ec, 0xfa73, 0xf9a9, 0xfb38, 0xf9a9, 0xfb38, 0xfa66, 0xfc00, 0xfa66, 0xfc00, 0xfac0, -0xfc69, 0xfac0, 0xfc69, 0xfaeb, 0xfca6, 0xfaeb, 0xfca6, 0xfb41, 0xfd11, 0xfb41, 0xfd11, -0xfb41, 0xfd11, 0xfb21, 0xfd09, 0xfb21, 0xfd09, 0xfa5f, 0xfc61, 0xfa5f, 0xfc61, 0xf985, -0xfba3, 0xf985, 0xfba3, 0xf7e6, 0xfa1f, 0xf7e6, 0xfa1f, 0xf6d8, 0xf92e, 0xf6d8, 0xf92e, -0xf6d8, 0xf92e, 0xf607, 0xf876, 0xf607, 0xf876, 0xf4c0, 0xf747, 0xf4c0, 0xf747, 0xf38e, -0xf628, 0xf38e, 0xf628, 0xf29c, 0xf545, 0xf29c, 0xf545, 0xf1dc, 0xf48e, 0xf1dc, 0xf48e, -0xf05d, 0xf310, 0xf05d, 0xf310, 0xf05d, 0xf310, 0xee86, 0xf133, 0xee86, 0xf133, 0xedda, -0xf078, 0xedda, 0xf078, 0xed1c, 0xefa3, 0xed1c, 0xefa3, 0xec21, 0xee87, 0xec21, 0xee87, -0xebf2, 0xee2d, 0xebf2, 0xee2d, 0xebf2, 0xee2d, 0xeb20, 0xed27, 0xeb20, 0xed27, 0xeb77, -0xed42, 0xeb77, 0xed42, 0xed45, 0xeeca, 0xed45, 0xeeca, 0xeebf, 0xeff8, 0xeebf, 0xeff8, -0xf08f, 0xf175, 0xf08f, 0xf175, 0xf2aa, 0xf337, 0xf2aa, 0xf337, 0xf2aa, 0xf337, 0xf4e6, -0xf516, 0xf4e6, 0xf516, 0xf6a1, 0xf673, 0xf6a1, 0xf673, 0xf7dc, 0xf74c, 0xf7dc, 0xf74c, -0xf93e, 0xf84d, 0xf93e, 0xf84d, 0xfb58, 0xfa07, 0xfb58, 0xfa07, 0xfdfd, 0xfc50, 0xfdfd, -0xfc50, 0xfdfd, 0xfc50, 0xc5, 0xfebf, 0xc5, 0xfebf, 0x3a3, 0x14a, 0x3a3, 0x14a, -0x615, 0x370, 0x615, 0x370, 0x842, 0x559, 0x842, 0x559, 0xa2f, 0x70a, 0xa2f, -0x70a, 0xa2f, 0x70a, 0xbb8, 0x860, 0xbb8, 0x860, 0xd1d, 0x99c, 0xd1d, 0x99c, -0xe74, 0xad3, 0xe74, 0xad3, 0xf59, 0xba2, 0xf59, 0xba2, 0xfef, 0xc2c, 0xfef, -0xc2c, 0x103a, 0xc75, 0x103a, 0xc75, 0x103a, 0xc75, 0x109d, 0xcde, 0x109d, 0xcde, -0x116b, 0xdba, 0x116b, 0xdba, 0x11b5, 0xe19, 0x11b5, 0xe19, 0x11b8, 0xe38, 0x11b8, -0xe38, 0x1193, 0xe34, 0x1193, 0xe34, 0x116b, 0xe30, 0x116b, 0xe30, 0x116b, 0xe30, -0x115b, 0xe49, 0x115b, 0xe49, 0x111a, 0xe33, 0x111a, 0xe33, 0x10f4, 0xe39, 0x10f4, -0xe39, 0x1119, 0xe8b, 0x1119, 0xe8b, 0x113d, 0xedc, 0x113d, 0xedc, 0x113d, 0xedc, -0x10cf, 0xe98, 0x10cf, 0xe98, 0x104b, 0xe3e, 0x104b, 0xe3e, 0xf95, 0xdaf, 0xf95, -0xdaf, 0xe80, 0xcbf, 0xe80, 0xcbf, 0xda7, 0xc08, 0xda7, 0xc08, 0xd1a, 0xb9a, -0xd1a, 0xb9a, 0xd1a, 0xb9a, 0xc70, 0xb0d, 0xc70, 0xb0d, 0xbb5, 0xa6d, 0xbb5, -0xa6d, 0xba1, 0xa71, 0xba1, 0xa71, 0xbed, 0xad4, 0xbed, 0xad4, 0xbff, 0xafb, -0xbff, 0xafb, 0xb62, 0xa72, 0xb62, 0xa72, 0xb62, 0xa72, 0xa9a, 0x9bd, 0xa9a, -0x9bd, 0x9bf, 0x8f5, 0x9bf, 0x8f5, 0x915, 0x85f, 0x915, 0x85f, 0x8ea, 0x848, -0x8ea, 0x848, 0x848, 0x7bb, 0x848, 0x7bb, 0x848, 0x7bb, 0x7fc, 0x786, 0x7fc, -0x786, 0x7e0, 0x780, 0x7e0, 0x780, 0x789, 0x741, 0x789, 0x741, 0x719, 0x6e9, -0x719, 0x6e9, 0x6b5, 0x69f, 0x6b5, 0x69f, 0x6d8, 0x6db, 0x6d8, 0x6db, 0x6d8, -0x6db, 0x6db, 0x6f8, 0x6db, 0x6f8, 0x6a5, 0x6d9, 0x6a5, 0x6d9, 0x61e, 0x669, -0x61e, 0x669, 0x626, 0x685, 0x626, 0x685, 0x67e, 0x6ee, 0x67e, 0x6ee, 0x662, -0x6e0, 0x662, 0x6e0, 0x662, 0x6e0, 0x649, 0x6d0, 0x649, 0x6d0, 0x587, 0x613, -0x587, 0x613, 0x4d5, 0x55f, 0x4d5, 0x55f, 0x43d, 0x4c0, 0x43d, 0x4c0, 0x2f7, -0x36e, 0x2f7, 0x36e, 0x2f7, 0x36e, 0x1e8, 0x24b, 0x1e8, 0x24b, 0x19f, 0x1e8, -0x19f, 0x1e8, 0x184, 0x1ae, 0x184, 0x1ae, 0x10f, 0x112, 0x10f, 0x112, 0xab, -0x82, 0xab, 0x82, 0xcf, 0x76, 0xcf, 0x76, 0xcf, 0x76, 0x143, 0xb5, -0x143, 0xb5, 0x1c5, 0xff, 0x1c5, 0xff, 0x250, 0x150, 0x250, 0x150, 0x30c, -0x1cf, 0x30c, 0x1cf, 0x4bd, 0x344, 0x4bd, 0x344, 0x700, 0x54a, 0x700, 0x54a, -0x700, 0x54a, 0x8db, 0x6eb, 0x8db, 0x6eb, 0xadf, 0x8b7, 0xadf, 0x8b7, 0xcc4, -0xa68, 0xcc4, 0xa68, 0xe46, 0xbbc, 0xe46, 0xbbc, 0xfef, 0xd3c, 0xfef, 0xd3c, -0xfef, 0xd3c, 0x1114, 0xe3f, 0x1114, 0xe3f, 0x126f, 0xf7e, 0x126f, 0xf7e, 0x145f, -0x115a, 0x145f, 0x115a, 0x1565, 0x1254, 0x1565, 0x1254, 0x160b, 0x12f6, 0x160b, 0x12f6, -0x1646, 0x1334, 0x1646, 0x1334, 0x1646, 0x1334, 0x168e, 0x1387, 0x168e, 0x1387, 0x174e, -0x145a, 0x174e, 0x145a, 0x172e, 0x1453, 0x172e, 0x1453, 0x16b3, 0x13f7, 0x16b3, 0x13f7, -0x15b7, 0x1321, 0x15b7, 0x1321, 0x143a, 0x11cd, 0x143a, 0x11cd, 0x143a, 0x11cd, 0x12bf, -0x1080, 0x12bf, 0x1080, 0x114e, 0xf3f, 0x114e, 0xf3f, 0x1003, 0xe26, 0x1003, 0xe26, -0xe9b, 0xcf1, 0xe9b, 0xcf1, 0xdde, 0xc67, 0xdde, 0xc67, 0xdde, 0xc67, 0xda2, -0xc5d, 0xda2, 0xc5d, 0xcf7, 0xbe3, 0xcf7, 0xbe3, 0xc15, 0xb30, 0xc15, 0xb30, -0xb0d, 0xa55, 0xb0d, 0xa55, 0x9b7, 0x927, 0x9b7, 0x927, 0x8d8, 0x86e, 0x8d8, -0x86e, 0x8d8, 0x86e, 0x813, 0x7ca, 0x813, 0x7ca, 0x67f, 0x654, 0x67f, 0x654, -0x50f, 0x4fd, 0x50f, 0x4fd, 0x455, 0x459, 0x455, 0x459, 0x3b8, 0x3cd, 0x3b8, -0x3cd, 0x2da, 0x2fe, 0x2da, 0x2fe, 0x2da, 0x2fe, 0x25b, 0x28a, 0x25b, 0x28a, -0x1d3, 0x20a, 0x1d3, 0x20a, 0xfa, 0x137, 0xfa, 0x137, 0x1f, 0x61, 0x1f, -0x61, 0xff2f, 0xff74, 0xff2f, 0xff74, 0xff2f, 0xff74, 0xfeb3, 0xfefb, 0xfeb3, 0xfefb, -0xfe07, 0xfe51, 0xfe07, 0xfe51, 0xfd2b, 0xfd77, 0xfd2b, 0xfd77, 0xfc90, 0xfce1, 0xfc90, -0xfce1, 0xfbf1, 0xfc46, 0xfbf1, 0xfc46, 0xfb28, 0xfb83, 0xfb28, 0xfb83, 0xfb28, 0xfb83, -0xf9f8, 0xfa5c, 0xf9f8, 0xfa5c, 0xf8f7, 0xf965, 0xf8f7, 0xf965, 0xf7d2, 0xf84c, 0xf7d2, -0xf84c, 0xf69b, 0xf724, 0xf69b, 0xf724, 0xf66e, 0xf708, 0xf66e, 0xf708, 0xf680, 0xf72e, -0xf680, 0xf72e, 0xf680, 0xf72e, 0xf649, 0xf70d, 0xf649, 0xf70d, 0xf679, 0xf755, 0xf679, -0xf755, 0xf6c2, 0xf7b9, 0xf6c2, 0xf7b9, 0xf6d3, 0xf7e5, 0xf6d3, 0xf7e5, 0xf62a, 0xf758, -0xf62a, 0xf758, 0xf62a, 0xf758, 0xf54d, 0xf699, 0xf54d, 0xf699, 0xf4ff, 0xf669, 0xf4ff, -0xf669, 0xf466, 0xf5ee, 0xf466, 0xf5ee, 0xf38b, 0xf530, 0xf38b, 0xf530, 0xf1fb, 0xf3bd, -0xf1fb, 0xf3bd, 0xf0f4, 0xf2d1, 0xf0f4, 0xf2d1, 0xf0f4, 0xf2d1, 0xf105, 0xf2fb, 0xf105, -0xf2fb, 0xf0ff, 0xf30c, 0xf0ff, 0xf30c, 0xf129, 0xf34b, 0xf129, 0xf34b, 0xf057, 0xf28a, -0xf057, 0xf28a, 0xef83, 0xf1c5, 0xef83, 0xf1c5, 0xef83, 0xf1c5, 0xeed5, 0xf123, 0xeed5, -0xf123, 0xed87, 0xefdc, 0xed87, 0xefdc, 0xed12, 0xef6a, 0xed12, 0xef6a, 0xed1f, 0xef78, -0xed1f, 0xef78, 0xed9d, 0xeff2, 0xed9d, 0xeff2, 0xee5b, 0xf0aa, 0xee5b, 0xf0aa, 0xee5b, -0xf0aa, 0xeeaf, 0xf0f3, 0xeeaf, 0xf0f3, 0xee9f, 0xf0d7, 0xee9f, 0xf0d7, 0xeedd, 0xf105, -0xeedd, 0xf105, 0xef72, 0xf187, 0xef72, 0xf187, 0xef72, 0xf174, 0xef72, 0xf174, 0xef75, -0xf162, 0xef75, 0xf162, 0xef75, 0xf162, 0xf036, 0xf20e, 0xf036, 0xf20e, 0xf1c3, 0xf385, -0xf1c3, 0xf385, 0xf3ab, 0xf558, 0xf3ab, 0xf558, 0xf508, 0xf6a0, 0xf508, 0xf6a0, 0xf5c8, -0xf74d, 0xf5c8, 0xf74d, 0xf5c8, 0xf74d, 0xf630, 0xf7a5, 0xf630, 0xf7a5, 0xf5f7, 0xf75e, -0xf5f7, 0xf75e, 0xf545, 0xf6a0, 0xf545, 0xf6a0, 0xf491, 0xf5e5, 0xf491, 0xf5e5, 0xf423, -0xf573, 0xf423, 0xf573, 0xf39c, 0xf4eb, 0xf39c, 0xf4eb, 0xf39c, 0xf4eb, 0xf2c9, 0xf41c, -0xf2c9, 0xf41c, 0xf221, 0xf37c, 0xf221, 0xf37c, 0xf13e, 0xf2a5, 0xf13e, 0xf2a5, 0xf049, -0xf1bf, 0xf049, 0xf1bf, 0xefb5, 0xf13f, 0xefb5, 0xf13f, 0xef38, 0xf0d9, 0xef38, 0xf0d9, -0xef38, 0xf0d9, 0xeeb5, 0xf070, 0xeeb5, 0xf070, 0xedf5, 0xefcc, 0xedf5, 0xefcc, 0xecee, -0xeee3, 0xecee, 0xeee3, 0xecad, 0xeec2, 0xecad, 0xeec2, 0xeccf, 0xef06, 0xeccf, 0xef06, -0xeccf, 0xef06, 0xec8d, 0xeee5, 0xec8d, 0xeee5, 0xec32, 0xeeaa, 0xec32, 0xeeaa, 0xeaa0, -0xed39, 0xeaa0, 0xed39, 0xe85f, 0xeb18, 0xe85f, 0xeb18, 0xe619, 0xe8ef, 0xe619, 0xe8ef, -0xe471, 0xe762, 0xe471, 0xe762, 0xe471, 0xe762, 0xe3a8, 0xe6b2, 0xe3a8, 0xe6b2, 0xe25d, -0xe57c, 0xe25d, 0xe57c, 0xe162, 0xe494, 0xe162, 0xe494, 0xe065, 0xe3a6, 0xe065, 0xe3a6, -0xdf8c, 0xe2d8, 0xdf8c, 0xe2d8, 0xdfcf, 0xe323, 0xdfcf, 0xe323, 0xdfcf, 0xe323, 0xdfd4, -0xe32b, 0xdfd4, 0xe32b, 0xdefb, 0xe252, 0xdefb, 0xe252, 0xddf6, 0xe149, 0xddf6, 0xe149, -0xdd20, 0xe06b, 0xdd20, 0xe06b, 0xdc76, 0xdfb7, 0xdc76, 0xdfb7, 0xdc76, 0xdfb7, 0xdc13, -0xdf45, 0xdc13, 0xdf45, 0xdbbe, 0xdede, 0xdbbe, 0xdede, 0xdc30, 0xdf3c, 0xdc30, 0xdf3c, -0xdd15, 0xe009, 0xdd15, 0xe009, 0xddf0, 0xe0ca, 0xddf0, 0xe0ca, 0xdf96, 0xe254, 0xdf96, -0xe254, 0xdf96, 0xe254, 0xe139, 0xe3d8, 0xe139, 0xe3d8, 0xe321, 0xe5a0, 0xe321, 0xe5a0, -0xe5cd, 0xe829, 0xe5cd, 0xe829, 0xe7fe, 0xea36, 0xe7fe, 0xea36, 0xe97e, 0xeb8f, 0xe97e, -0xeb8f, 0xebb2, 0xed9b, 0xebb2, 0xed9b, 0xebb2, 0xed9b, 0xee9d, 0xf05c, 0xee9d, 0xf05c, -0xf105, 0xf298, 0xf105, 0xf298, 0xf380, 0xf4e5, 0xf380, 0xf4e5, 0xf5ae, 0xf6e3, 0xf5ae, -0xf6e3, 0xf772, 0xf875, 0xf772, 0xf875, 0xf772, 0xf875, 0xf94d, 0xfa1c, 0xf94d, 0xfa1c, -0xfaa9, 0xfb42, 0xfaa9, 0xfb42, 0xfc6b, 0xfccc, 0xfc6b, 0xfccc, 0xfe54, 0xfe7b, 0xfe54, -0xfe7b, 0x17, 0x1, 0x17, 0x1, 0x1bd, 0x169, 0x1bd, 0x169, 0x1bd, 0x169, -0x2d8, 0x244, 0x2d8, 0x244, 0x43a, 0x364, 0x43a, 0x364, 0x579, 0x460, 0x579, -0x460, 0x6b0, 0x553, 0x6b0, 0x553, 0x83b, 0x699, 0x83b, 0x699, 0x9c5, 0x7dd, -0x9c5, 0x7dd, 0x9c5, 0x7dd, 0xb56, 0x928, 0xb56, 0x928, 0xc81, 0xa0e, 0xc81, -0xa0e, 0xe58, 0xba1, 0xe58, 0xba1, 0x10b1, 0xdb9, 0x10b1, 0xdb9, 0x12a2, 0xf6a, -0x12a2, 0xf6a, 0x12a2, 0xf6a, 0x14fd, 0x1189, 0x14fd, 0x1189, 0x171d, 0x1370, 0x171d, -0x1370, 0x1921, 0x1541, 0x1921, 0x1541, 0x1afb, 0x16ed, 0x1afb, 0x16ed, 0x1c6e, 0x1837, -0x1c6e, 0x1837, 0x1e70, 0x1a16, 0x1e70, 0x1a16, 0x1e70, 0x1a16, 0x1fe7, 0x1b73, 0x1fe7, -0x1b73, 0x213c, 0x1cb4, 0x213c, 0x1cb4, 0x22b7, 0x1e24, 0x22b7, 0x1e24, 0x23d2, 0x1f3d, -0x23d2, 0x1f3d, 0x24db, 0x204b, 0x24db, 0x204b, 0x2510, 0x208f, 0x2510, 0x208f, 0x2510, -0x208f, 0x24c8, 0x205d, 0x24c8, 0x205d, 0x2461, 0x2016, 0x2461, 0x2016, 0x2392, 0x1f6e, -0x2392, 0x1f6e, 0x2205, 0x1e11, 0x2205, 0x1e11, 0x2057, 0x1c99, 0x2057, 0x1c99, 0x2057, -0x1c99, 0x1f44, 0x1bc4, 0x1f44, 0x1bc4, 0x1ecb, 0x1b8e, 0x1ecb, 0x1b8e, 0x1e83, 0x1b8c, -0x1e83, 0x1b8c, 0x1da1, 0x1af5, 0x1da1, 0x1af5, 0x1c0c, 0x19af, 0x1c0c, 0x19af, 0x1a46, -0x1837, 0x1a46, 0x1837, 0x1a46, 0x1837, 0x18e8, 0x1729, 0x18e8, 0x1729, 0x1787, 0x1617, -0x1787, 0x1617, 0x15bf, 0x149c, 0x15bf, 0x149c, 0x13ad, 0x12d4, 0x13ad, 0x12d4, 0x1209, -0x1177, 0x1209, 0x1177, 0x1075, 0x1025, 0x1075, 0x1025, 0x1075, 0x1025, 0xed3, 0xebf, -0xed3, 0xebf, 0xd9f, 0xdc1, 0xd9f, 0xdc1, 0xbd7, 0xc28, 0xbd7, 0xc28, 0x9cc, -0xa46, 0x9cc, 0xa46, 0x796, 0x832, 0x796, 0x832, 0x796, 0x832, 0x579, 0x630, -0x579, 0x630, 0x3a8, 0x474, 0x3a8, 0x474, 0x1e0, 0x2b9, 0x1e0, 0x2b9, 0xaf, -0x191, 0xaf, 0x191, 0xffca, 0xaf, 0xffca, 0xaf, 0xfed6, 0xffbb, 0xfed6, 0xffbb, -0xfed6, 0xffbb, 0xfe2f, 0xff0f, 0xfe2f, 0xff0f, 0xfd78, 0xfe52, 0xfd78, 0xfe52, 0xfcbc, -0xfd8e, 0xfcbc, 0xfd8e, 0xfca4, 0xfd6e, 0xfca4, 0xfd6e, 0xfc6d, 0xfd2e, 0xfc6d, 0xfd2e, -0xfc6c, 0xfd27, 0xfc6c, 0xfd27, 0xfc6c, 0xfd27, 0xfc89, 0xfd3f, 0xfc89, 0xfd3f, 0xfd18, -0xfdcc, 0xfd18, 0xfdcc, 0xfdd3, 0xfe88, 0xfdd3, 0xfe88, 0xfdc5, 0xfe80, 0xfdc5, 0xfe80, -0xfdf1, 0xfeb4, 0xfdf1, 0xfeb4, 0xfdf1, 0xfeb4, 0xfd69, 0xfe39, 0xfd69, 0xfe39, 0xfc88, -0xfd68, 0xfc88, 0xfd68, 0xfc33, 0xfd27, 0xfc33, 0xfd27, 0xfc2d, 0xfd38, 0xfc2d, 0xfd38, -0xfba1, 0xfcc6, 0xfba1, 0xfcc6, 0xfa5d, 0xfb9d, 0xfa5d, 0xfb9d, 0xfa5d, 0xfb9d, 0xf911, -0xfa6d, 0xf911, 0xfa6d, 0xf789, 0xf901, 0xf789, 0xf901, 0xf689, 0xf81d, 0xf689, 0xf81d, -0xf590, 0xf73c, 0xf590, 0xf73c, 0xf3fb, 0xf5bd, 0xf3fb, 0xf5bd, 0xf3fb, 0xf5bd, 0xf24c, -0xf420, 0xf24c, 0xf420, 0xf110, 0xf2f1, 0xf110, 0xf2f1, 0xeff5, 0xf1de, 0xeff5, 0xf1de, -0xeeed, 0xf0d6, 0xeeed, 0xf0d6, 0xee72, 0xf057, 0xee72, 0xf057, 0xee6c, 0xf044, 0xee6c, -0xf044, 0xee6c, 0xf044, 0xeeee, 0xf0b2, 0xeeee, 0xf0b2, 0xef59, 0xf103, 0xef59, 0xf103, -0xefd5, 0xf15e, 0xefd5, 0xf15e, 0xf05f, 0xf1c0, 0xf05f, 0xf1c0, 0xf0f9, 0xf22c, 0xf0f9, -0xf22c, 0xf22c, 0xf32c, 0xf22c, 0xf32c, 0xf22c, 0xf32c, 0xf391, 0xf45a, 0xf391, 0xf45a, -0xf53d, 0xf5cc, 0xf53d, 0xf5cc, 0xf73f, 0xf791, 0xf73f, 0xf791, 0xf970, 0xf984, 0xf970, -0xf984, 0xfbde, 0xfbb4, 0xfbde, 0xfbb4, 0xfbde, 0xfbb4, 0xfe1f, 0xfdb9, 0xfe1f, 0xfdb9, -0x40, 0xff9f, 0x40, 0xff9f, 0x240, 0x168, 0x240, 0x168, 0x419, 0x30d, 0x419, -0x30d, 0x62f, 0x4f4, 0x62f, 0x4f4, 0x77d, 0x619, 0x77d, 0x619, 0x77d, 0x619, -0x89a, 0x712, 0x89a, 0x712, 0x9fe, 0x859, 0x9fe, 0x859, 0xade, 0x922, 0xade, -0x922, 0xbda, 0xa0e, 0xbda, 0xa0e, 0xca2, 0xacd, 0xca2, 0xacd, 0xd5c, 0xb82, -0xd5c, 0xb82, 0xd5c, 0xb82, 0xdf3, 0xc1a, 0xdf3, 0xc1a, 0xe3d, 0xc6a, 0xe3d, -0xc6a, 0xec5, 0xcfd, 0xec5, 0xcfd, 0xedb, 0xd21, 0xedb, 0xd21, 0xe78, 0xccf, -0xe78, 0xccf, 0xe78, 0xccf, 0xe5a, 0xcc4, 0xe5a, 0xcc4, 0xeb1, 0xd2f, 0xeb1, -0xd2f, 0xeb7, 0xd4a, 0xeb7, 0xd4a, 0xe45, 0xceb, 0xe45, 0xceb, 0xded, 0xca7, -0xded, 0xca7, 0xcd3, 0xb9e, 0xcd3, 0xb9e, 0xcd3, 0xb9e, 0xb96, 0xa70, 0xb96, -0xa70, 0xb29, 0xa11, 0xb29, 0xa11, 0xaa6, 0x999, 0xaa6, 0x999, 0xa53, 0x94e, -0xa53, 0x94e, 0x9d1, 0x8d2, 0x9d1, 0x8d2, 0x965, 0x868, 0x965, 0x868, 0x965, -0x868, 0x9ce, 0x8d2, 0x9ce, 0x8d2, 0xa02, 0x906, 0xa02, 0x906, 0x9ec, 0x8ee, -0x9ec, 0x8ee, 0x964, 0x862, 0x964, 0x862, 0x8a6, 0x79f, 0x8a6, 0x79f, 0x8a6, -0x79f, 0x864, 0x75a, 0x864, 0x75a, 0x7ce, 0x6bf, 0x7ce, 0x6bf, 0x676, 0x564, -0x676, 0x564, 0x563, 0x450, 0x563, 0x450, 0x516, 0x402, 0x516, 0x402, 0x4b7, -0x3a6, 0x4b7, 0x3a6, 0x4b7, 0x3a6, 0x481, 0x374, 0x481, 0x374, 0x4b7, 0x3b1, -0x4b7, 0x3b1, 0x496, 0x399, 0x496, 0x399, 0x49c, 0x3aa, 0x49c, 0x3aa, 0x495, -0x3b1, 0x495, 0x3b1, 0x426, 0x351, 0x426, 0x351, 0x426, 0x351, 0x3fe, 0x339, -0x3fe, 0x339, 0x439, 0x386, 0x439, 0x386, 0x50d, 0x46b, 0x50d, 0x46b, 0x60b, -0x57c, 0x60b, 0x57c, 0x6b0, 0x632, 0x6b0, 0x632, 0x6b0, 0x632, 0x707, 0x699, -0x707, 0x699, 0x6b2, 0x652, 0x6b2, 0x652, 0x57c, 0x528, 0x57c, 0x528, 0x48a, -0x43f, 0x48a, 0x43f, 0x3d7, 0x393, 0x3d7, 0x393, 0x305, 0x2c2, 0x305, 0x2c2, -0x305, 0x2c2, 0x27c, 0x238, 0x27c, 0x238, 0x1cd, 0x183, 0x1cd, 0x183, 0x181, -0x12f, 0x181, 0x12f, 0x120, 0xc0, 0x120, 0xc0, 0x9f, 0x2d, 0x9f, 0x2d, -0x59, 0xffd3, 0x59, 0xffd3, 0x59, 0xffd3, 0x63, 0xffc5, 0x63, 0xffc5, 0x105, -0x4c, 0x105, 0x4c, 0x1e7, 0x111, 0x1e7, 0x111, 0x381, 0x28d, 0x381, 0x28d, -0x515, 0x401, 0x515, 0x401, 0x515, 0x401, 0x6d2, 0x59f, 0x6d2, 0x59f, 0x901, -0x7af, 0x901, 0x7af, 0xb42, 0x9d2, 0xb42, 0x9d2, 0xd41, 0xbb5, 0xd41, 0xbb5, -0xe77, 0xcd0, 0xe77, 0xcd0, 0xfe7, 0xe2a, 0xfe7, 0xe2a, 0xfe7, 0xe2a, 0x11ae, -0xfdf, 0x11ae, 0xfdf, 0x132b, 0x114c, 0x132b, 0x114c, 0x149a, 0x12b1, 0x149a, 0x12b1, -0x1644, 0x1455, 0x1644, 0x1455, 0x1778, 0x1588, 0x1778, 0x1588, 0x184b, 0x165f, 0x184b, -0x165f, 0x184b, 0x165f, 0x1873, 0x1690, 0x1873, 0x1690, 0x17b9, 0x15e4, 0x17b9, 0x15e4, -0x16ea, 0x1526, 0x16ea, 0x1526, 0x15f6, 0x1449, 0x15f6, 0x1449, 0x14f8, 0x1365, 0x14f8, -0x1365, 0x14f8, 0x1365, 0x13d2, 0x125d, 0x13d2, 0x125d, 0x12a0, 0x114b, 0x12a0, 0x114b, -0x11aa, 0x1079, 0x11aa, 0x1079, 0x10f0, 0xfe3, 0x10f0, 0xfe3, 0x102e, 0xf47, 0x102e, -0xf47, 0xf55, 0xe95, 0xf55, 0xe95, 0xf55, 0xe95, 0xe1d, 0xd83, 0xe1d, 0xd83, -0xd33, 0xcbe, 0xd33, 0xcbe, 0xcce, 0xc7e, 0xcce, 0xc7e, 0xc22, 0xbf5, 0xc22, -0xbf5, 0xb5e, 0xb51, 0xb5e, 0xb51, 0xa01, 0xa13, 0xa01, 0xa13, 0xa01, 0xa13, -0x8ee, 0x91b, 0x8ee, 0x91b, 0x7ff, 0x844, 0x7ff, 0x844, 0x6c3, 0x71e, 0x6c3, -0x71e, 0x5a5, 0x611, 0x5a5, 0x611, 0x4ab, 0x525, 0x4ab, 0x525, 0x4ab, 0x525, -0x42a, 0x4b0, 0x42a, 0x4b0, 0x388, 0x415, 0x388, 0x415, 0x369, 0x3fc, 0x369, -0x3fc, 0x337, 0x3cb, 0x337, 0x3cb, 0x279, 0x30d, 0x279, 0x30d, 0x1ed, 0x27f, -0x1ed, 0x27f, 0x1ed, 0x27f, 0x183, 0x210, 0x183, 0x210, 0x121, 0x1aa, 0x121, -0x1aa, 0x23, 0xa6, 0x23, 0xa6, 0xff25, 0xffa2, 0xff25, 0xffa2, 0xfdf2, 0xfe6a, -0xfdf2, 0xfe6a, 0xfc38, 0xfcab, 0xfc38, 0xfcab, 0xfc38, 0xfcab, 0xfb07, 0xfb75, 0xfb07, -0xfb75, 0xfa09, 0xfa75, 0xfa09, 0xfa75, 0xf928, 0xf995, 0xf928, 0xf995, 0xf8bb, 0xf92a, -0xf8bb, 0xf92a, 0xf83b, 0xf8af, 0xf83b, 0xf8af, 0xf83b, 0xf8af, 0xf7c6, 0xf840, 0xf7c6, -0xf840, 0xf734, 0xf7b9, 0xf734, 0xf7b9, 0xf650, 0xf6e1, 0xf650, 0xf6e1, 0xf5a7, 0xf649, -0xf5a7, 0xf649, 0xf579, 0xf62d, 0xf579, 0xf62d, 0xf5b4, 0xf67e, 0xf5b4, 0xf67e, 0xf5b4, -0xf67e, 0xf5a8, 0xf68a, 0xf5a8, 0xf68a, 0xf509, 0xf605, 0xf509, 0xf605, 0xf419, 0xf532, -0xf419, 0xf532, 0xf324, 0xf45b, 0xf324, 0xf45b, 0xf285, 0xf3db, 0xf285, 0xf3db, 0xf285, -0xf3db, 0xf1db, 0xf350, 0xf1db, 0xf350, 0xf11f, 0xf2b4, 0xf11f, 0xf2b4, 0xf050, 0xf205, -0xf050, 0xf205, 0xefa7, 0xf17b, 0xefa7, 0xf17b, 0xef30, 0xf122, 0xef30, 0xf122, 0xee4a, -0xf058, 0xee4a, 0xf058, 0xee4a, 0xf058, 0xed60, 0xef89, 0xed60, 0xef89, 0xecab, 0xeeec, -0xecab, 0xeeec, 0xec79, 0xeed0, 0xec79, 0xeed0, 0xec65, 0xeece, 0xec65, 0xeece, 0xebb5, -0xee2d, 0xebb5, 0xee2d, 0xeb15, 0xed99, 0xeb15, 0xed99, 0xeb15, 0xed99, 0xeaf4, 0xed7f, -0xeaf4, 0xed7f, 0xeb4c, 0xeddc, 0xeb4c, 0xeddc, 0xeb7f, 0xee0f, 0xeb7f, 0xee0f, 0xebcb, -0xee58, 0xebcb, 0xee58, 0xece6, 0xef6d, 0xece6, 0xef6d, 0xece6, 0xef6d, 0xee6b, 0xf0e8, -0xee6b, 0xf0e8, 0xef66, 0xf1d6, 0xef66, 0xf1d6, 0xf072, 0xf2d3, 0xf072, 0xf2d3, 0xf19e, -0xf3ee, 0xf19e, 0xf3ee, 0xf223, 0xf460, 0xf223, 0xf460, 0xf2c5, 0xf4ee, 0xf2c5, 0xf4ee, -0xf2c5, 0xf4ee, 0xf2a1, 0xf4b5, 0xf2a1, 0xf4b5, 0xf26d, 0xf46d, 0xf26d, 0xf46d, 0xf241, -0xf42b, 0xf241, 0xf42b, 0xf181, 0xf357, 0xf181, 0xf357, 0xf113, 0xf2d6, 0xf113, 0xf2d6, -0xf086, 0xf239, 0xf086, 0xf239, 0xf086, 0xf239, 0xf01b, 0xf1be, 0xf01b, 0xf1be, 0xef6d, -0xf104, 0xef6d, 0xf104, 0xeed0, 0xf05e, 0xeed0, 0xf05e, 0xee0f, 0xef98, 0xee0f, 0xef98, -0xed6f, 0xeef7, 0xed6f, 0xeef7, 0xed6f, 0xeef7, 0xed17, 0xeea0, 0xed17, 0xeea0, 0xec99, -0xee27, 0xec99, 0xee27, 0xeccc, 0xee63, 0xeccc, 0xee63, 0xecf7, 0xee9b, 0xecf7, 0xee9b, -0xed5c, 0xef11, 0xed5c, 0xef11, 0xed37, 0xeeff, 0xed37, 0xeeff, 0xed37, 0xeeff, 0xebd8, -0xedb6, 0xebd8, 0xedb6, 0xea43, 0xec39, 0xea43, 0xec39, 0xe8b1, 0xeac1, 0xe8b1, 0xeac1, -0xe727, 0xe954, 0xe727, 0xe954, 0xe62f, 0xe878, 0xe62f, 0xe878, 0xe588, 0xe7ee, 0xe588, -0xe7ee, 0xe588, 0xe7ee, 0xe4a5, 0xe726, 0xe4a5, 0xe726, 0xe478, 0xe715, 0xe478, 0xe715, -0xe49d, 0xe754, 0xe49d, 0xe754, 0xe489, 0xe757, 0xe489, 0xe757, 0xe3f4, 0xe6d7, 0xe3f4, -0xe6d7, 0xe3f4, 0xe6d7, 0xe2f7, 0xe5eb, 0xe2f7, 0xe5eb, 0xe22b, 0xe52c, 0xe22b, 0xe52c, -0xe166, 0xe470, 0xe166, 0xe470, 0xe097, 0xe3a6, 0xe097, 0xe3a6, 0xe03d, 0xe34c, 0xe03d, -0xe34c, 0xdfef, 0xe2fa, 0xdfef, 0xe2fa, 0xdfef, 0xe2fa, 0xdf93, 0xe295, 0xdf93, 0xe295, -0xe027, 0xe31b, 0xe027, 0xe31b, 0xe0b5, 0xe398, 0xe0b5, 0xe398, 0xe1a3, 0xe46f, 0xe1a3, -0xe46f, 0xe2ea, 0xe59b, 0xe2ea, 0xe59b, 0xe458, 0xe6ea, 0xe458, 0xe6ea, 0xe458, 0xe6ea, -0xe620, 0xe891, 0xe620, 0xe891, 0xe7a2, 0xe9ee, 0xe7a2, 0xe9ee, 0xe972, 0xeb97, 0xe972, -0xeb97, 0xeb6f, 0xed6a, 0xeb6f, 0xed6a, 0xee69, 0xf039, 0xee69, 0xf039, 0xee69, 0xf039, -0xf141, 0xf2e4, 0xf141, 0xf2e4, 0xf371, 0xf4e7, 0xf371, 0xf4e7, 0xf5ba, 0xf701, 0xf5ba, -0xf701, 0xf7b2, 0xf8cb, 0xf7b2, 0xf8cb, 0xf9de, 0xfac7, 0xf9de, 0xfac7, 0xfb9f, 0xfc59, -0xfb9f, 0xfc59, 0xfb9f, 0xfc59, 0xfd72, 0xfdfc, 0xfd72, 0xfdfc, 0xff2d, 0xff87, 0xff2d, -0xff87, 0x7d, 0xa8, 0x7d, 0xa8, 0x1b7, 0x1b2, 0x1b7, 0x1b2, 0x2bd, 0x288, -0x2bd, 0x288, 0x3ee, 0x388, 0x3ee, 0x388, 0x3ee, 0x388, 0x4c1, 0x42b, 0x4c1, -0x42b, 0x5a4, 0x4dc, 0x5a4, 0x4dc, 0x6f9, 0x5ff, 0x6f9, 0x5ff, 0x869, 0x73b, -0x869, 0x73b, 0x997, 0x835, 0x997, 0x835, 0x997, 0x835, 0xa92, 0x8fa, 0xa92, -0x8fa, 0xbc1, 0x9f3, 0xbc1, 0x9f3, 0xce8, 0xae2, 0xce8, 0xae2, 0xe52, 0xc14, -0xe52, 0xc14, 0x1059, 0xde2, 0x1059, 0xde2, 0x1275, 0xfc6, 0x1275, 0xfc6, 0x1275, -0xfc6, 0x1418, 0x1131, 0x1418, 0x1131, 0x15f8, 0x12db, 0x15f8, 0x12db, 0x1838, 0x14e4, -0x1838, 0x14e4, 0x1a66, 0x16df, 0x1a66, 0x16df, 0x1cc2, 0x190b, 0x1cc2, 0x190b, 0x1eaa, -0x1ac6, 0x1eaa, 0x1ac6, 0x1eaa, 0x1ac6, 0x204c, 0x1c41, 0x204c, 0x1c41, 0x21ac, 0x1d7d, -0x21ac, 0x1d7d, 0x2269, 0x1e1c, 0x2269, 0x1e1c, 0x22a2, 0x1e3f, 0x22a2, 0x1e3f, 0x2251, -0x1dde, 0x2251, 0x1dde, 0x2251, 0x1dde, 0x222b, 0x1daf, 0x222b, 0x1daf, 0x220f, 0x1d94, -0x220f, 0x1d94, 0x21c7, 0x1d53, 0x21c7, 0x1d53, 0x210f, 0x1caa, 0x210f, 0x1caa, 0x1fcf, -0x1b83, 0x1fcf, 0x1b83, 0x1f07, 0x1ada, 0x1f07, 0x1ada, 0x1f07, 0x1ada, 0x1e67, 0x1a62, -0x1e67, 0x1a62, 0x1d15, 0x193f, 0x1d15, 0x193f, 0x1be1, 0x183f, 0x1be1, 0x183f, 0x1b37, -0x17d0, 0x1b37, 0x17d0, 0x1a7b, 0x1754, 0x1a7b, 0x1754, 0x1935, 0x1651, 0x1935, 0x1651, -0x1935, 0x1651, 0x1774, 0x14d7, 0x1774, 0x14d7, 0x1605, 0x13b1, 0x1605, 0x13b1, 0x142c, -0x1221, 0x142c, 0x1221, 0x122b, 0x1068, 0x122b, 0x1068, 0x1038, 0xebd, 0x1038, 0xebd, -0x1038, 0xebd, 0xe59, 0xd23, 0xe59, 0xd23, 0xcf9, 0xc04, 0xcf9, 0xc04, 0xb52, -0xa9a, 0xb52, 0xa9a, 0x9bd, 0x93d, 0x9bd, 0x93d, 0x79e, 0x752, 0x79e, 0x752, -0x5d9, 0x5ba, 0x5d9, 0x5ba, 0x5d9, 0x5ba, 0x42a, 0x433, 0x42a, 0x433, 0x24e, -0x279, 0x24e, 0x279, 0x137, 0x17e, 0x137, 0x17e, 0xffcf, 0x2c, 0xffcf, 0x2c, -0xfec1, 0xff2f, 0xfec1, 0xff2f, 0xfdb6, 0xfe32, 0xfdb6, 0xfe32, 0xfdb6, 0xfe32, 0xfcc1, -0xfd46, 0xfcc1, 0xfd46, 0xfc21, 0xfcac, 0xfc21, 0xfcac, 0xfbac, 0xfc3c, 0xfbac, 0xfc3c, -0xfb88, 0xfc1a, 0xfb88, 0xfc1a, 0xfba5, 0xfc3a, 0xfba5, 0xfc3a, 0xfba5, 0xfc3a, 0xfbe7, -0xfc7f, 0xfbe7, 0xfc7f, 0xfc05, 0xfca2, 0xfc05, 0xfca2, 0xfc67, 0xfd0c, 0xfc67, 0xfd0c, -0xfc1b, 0xfcca, 0xfc1b, 0xfcca, 0xfb7b, 0xfc36, 0xfb7b, 0xfc36, 0xfac4, 0xfb91, 0xfac4, -0xfb91, 0xfac4, 0xfb91, 0xfa29, 0xfb0a, 0xfa29, 0xfb0a, 0xfa06, 0xfb00, 0xfa06, 0xfb00, -0xf9b8, 0xface, 0xf9b8, 0xface, 0xf943, 0xfa79, 0xf943, 0xfa79, 0xf841, 0xf99a, 0xf841, -0xf99a, 0xf841, 0xf99a, 0xf74a, 0xf8c7, 0xf74a, 0xf8c7, 0xf6a2, 0xf845, 0xf6a2, 0xf845, -0xf57e, 0xf748, 0xf57e, 0xf748, 0xf3fb, 0xf5eb, 0xf3fb, 0xf5eb, 0xf2a6, 0xf4bb, 0xf2a6, -0xf4bb, 0xf15d, 0xf393, 0xf15d, 0xf393, 0xf15d, 0xf393, 0xf015, 0xf269, 0xf015, 0xf269, -0xeed2, 0xf13e, 0xeed2, 0xf13e, 0xede0, 0xf05f, 0xede0, 0xf05f, 0xed42, 0xefcd, 0xed42, -0xefcd, 0xecd2, 0xef60, 0xecd2, 0xef60, 0xecad, 0xef36, 0xecad, 0xef36, 0xecad, 0xef36, -0xec50, 0xeecc, 0xec50, 0xeecc, 0xec19, 0xee7d, 0xec19, 0xee7d, 0xec14, 0xee58, 0xec14, -0xee58, 0xed17, 0xef32, 0xed17, 0xef32, 0xeed0, 0xf0b9, 0xeed0, 0xf0b9, 0xeed0, 0xf0b9, -0xf068, 0xf216, 0xf068, 0xf216, 0xf24d, 0xf3b9, 0xf24d, 0xf3b9, 0xf413, 0xf535, 0xf413, -0xf535, 0xf65f, 0xf734, 0xf65f, 0xf734, 0xf889, 0xf90a, 0xf889, 0xf90a, 0xfa73, 0xfa9f, -0xfa73, 0xfa9f, 0xfa73, 0xfa9f, 0xfcc8, 0xfc9d, 0xfcc8, 0xfc9d, 0xfeab, 0xfe29, 0xfeab, -0xfe29, 0xaf, 0xffd7, 0xaf, 0xffd7, 0x33f, 0x213, 0x33f, 0x213, 0x575, 0x3fa, -0x575, 0x3fa, 0x713, 0x54e, 0x713, 0x54e, 0x713, 0x54e, 0x898, 0x690, 0x898, -0x690, 0x9f3, 0x7af, 0x9f3, 0x7af, 0xb3a, 0x8c2, 0xb3a, 0x8c2, 0xc83, 0x9e0, -0xc83, 0x9e0, 0xdcb, 0xb07, 0xdcb, 0xb07, 0xdcb, 0xb07, 0xef5, 0xc19, 0xef5, -0xc19, 0xf33, 0xc48, 0xf33, 0xc48, 0xf23, 0xc33, 0xf23, 0xc33, 0xf78, 0xc8b, -0xf78, 0xc8b, 0xfd6, 0xcf6, 0xfd6, 0xcf6, 0x1011, 0xd44, 0x1011, 0xd44, 0x1011, -0xd44, 0x1028, 0xd76, 0x1028, 0xd76, 0x1073, 0xde2, 0x1073, 0xde2, 0x106c, 0xe01, -0x106c, 0xe01, 0x1002, 0xdc1, 0x1002, 0xdc1, 0xf19, 0xd05, 0xf19, 0xd05, 0xe47, -0xc62, 0xe47, 0xc62, 0xe47, 0xc62, 0xe04, 0xc50, 0xe04, 0xc50, 0xd9a, 0xc17, -0xd9a, 0xc17, 0xdc0, 0xc6d, 0xdc0, 0xc6d, 0xd93, 0xc6f, 0xd93, 0xc6f, 0xd5e, -0xc67, 0xd5e, 0xc67, 0xd5e, 0xc67, 0xd85, 0xcb9, 0xd85, 0xcb9, 0xcfb, 0xc57, -0xcfb, 0xc57, 0xc52, 0xbd4, 0xc52, 0xbd4, 0xbc1, 0xb65, 0xbc1, 0xb65, 0xba6, -0xb6a, 0xba6, 0xb6a, 0xbac, 0xb8c, 0xbac, 0xb8c, 0xbac, 0xb8c, 0xb21, 0xb1b, -0xb21, 0xb1b, 0x9e4, 0x9f6, 0x9e4, 0x9f6, 0x8ca, 0x8f1, 0x8ca, 0x8f1, 0x87a, -0x8b3, 0x87a, 0x8b3, 0x82e, 0x877, 0x82e, 0x877, 0x765, 0x7bd, 0x765, 0x7bd, -0x765, 0x7bd, 0x72d, 0x793, 0x72d, 0x793, 0x763, 0x7d5, 0x763, 0x7d5, 0x700, -0x77d, 0x700, 0x77d, 0x6e0, 0x768, 0x6e0, 0x768, 0x6ed, 0x77d, 0x6ed, 0x77d, -0x6ed, 0x77d, 0x74b, 0x7e3, 0x74b, 0x7e3, 0x775, 0x812, 0x775, 0x812, 0x79c, -0x83e, 0x79c, 0x83e, 0x847, 0x8eb, 0x847, 0x8eb, 0x85e, 0x903, 0x85e, 0x903, -0x863, 0x905, 0x863, 0x905, 0x863, 0x905, 0x85f, 0x8fc, 0x85f, 0x8fc, 0x80d, -0x8a1, 0x80d, 0x8a1, 0x71b, 0x7a3, 0x71b, 0x7a3, 0x59d, 0x614, 0x59d, 0x614, -0x438, 0x49b, 0x438, 0x49b, 0x340, 0x38b, 0x340, 0x38b, 0x340, 0x38b, 0x270, -0x29e, 0x270, 0x29e, 0x169, 0x176, 0x169, 0x176, 0xe2, 0xca, 0xe2, 0xca, -0x10d, 0xcc, 0x10d, 0xcc, 0xe2, 0x74, 0xe2, 0x74, 0xe2, 0x74, 0xb6, -0x19, 0xb6, 0x19, 0x15c, 0x8d, 0x15c, 0x8d, 0x1b1, 0xad, 0x1b1, 0xad, -0x1fc, 0xc3, 0x1fc, 0xc3, 0x2a4, 0x135, 0x2a4, 0x135, 0x437, 0x292, 0x437, -0x292, 0x437, 0x292, 0x687, 0x4ae, 0x687, 0x4ae, 0x83f, 0x633, 0x83f, 0x633, -0x9d8, 0x79d, 0x9d8, 0x79d, 0xb47, 0x8e0, 0xb47, 0x8e0, 0xcf1, 0xa63, 0xcf1, -0xa63, 0xeed, 0xc3c, 0xeed, 0xc3c, 0xeed, 0xc3c, 0x108c, 0xdbe, 0x108c, 0xdbe, -0x11a6, 0xec2, 0x11a6, 0xec2, 0x130a, 0x1016, 0x130a, 0x1016, 0x1471, 0x1175, 0x1471, -0x1175, 0x1514, 0x1215, 0x1514, 0x1215, 0x1514, 0x1215, 0x1551, 0x1257, 0x1551, 0x1257, -0x14dd, 0x11ef, 0x14dd, 0x11ef, 0x1418, 0x113d, 0x1418, 0x113d, 0x1357, 0x1094, 0x1357, -0x1094, 0x1308, 0x1064, 0x1308, 0x1064, 0x1270, 0xff0, 0x1270, 0xff0, 0x1270, 0xff0, -0x1177, 0xf20, 0x1177, 0xf20, 0x10a9, 0xe7d, 0x10a9, 0xe7d, 0xf9a, 0xd9e, 0xf9a, -0xd9e, 0xeb6, 0xceb, 0xeb6, 0xceb, 0xd5b, 0xbc4, 0xd5b, 0xbc4, 0xc84, 0xb20, -0xc84, 0xb20, 0xc84, 0xb20, 0xc02, 0xad2, 0xc02, 0xad2, 0xafd, 0xa00, 0xafd, -0xa00, 0xa71, 0x9a5, 0xa71, 0x9a5, 0x95c, 0x8c0, 0x95c, 0x8c0, 0x7ce, 0x75f, -0x7ce, 0x75f, 0x7ce, 0x75f, 0x647, 0x601, 0x647, 0x601, 0x50d, 0x4ec, 0x50d, -0x4ec, 0x43a, 0x43c, 0x43a, 0x43c, 0x2fb, 0x31c, 0x2fb, 0x31c, 0x1e7, 0x223, -0x1e7, 0x223, 0x159, 0x1ac, 0x159, 0x1ac, 0x159, 0x1ac, 0x151, 0x1b7, 0x151, -0x1b7, 0x17d, 0x1f3, 0x17d, 0x1f3, 0x15a, 0x1dd, 0x15a, 0x1dd, 0x120, 0x1ae, -0x120, 0x1ae, 0xcd, 0x163, 0xcd, 0x163, 0x89, 0x126, 0x89, 0x126, 0x89, -0x126, 0xffd7, 0x79, 0xffd7, 0x79, 0xfe9b, 0xff42, 0xfe9b, 0xff42, 0xfda0, 0xfe4c, -0xfda0, 0xfe4c, 0xfcc5, 0xfd76, 0xfcc5, 0xfd76, 0xfbbb, 0xfc72, 0xfbbb, 0xfc72, 0xfbbb, -0xfc72, 0xfb04, 0xfbc2, 0xfb04, 0xfbc2, 0xfa76, 0xfb3e, 0xfa76, 0xfb3e, 0xf986, 0xfa58, -0xf986, 0xfa58, 0xf87d, 0xf95d, 0xf87d, 0xf95d, 0xf788, 0xf878, 0xf788, 0xf878, 0xf6e7, -0xf7e8, 0xf6e7, 0xf7e8, 0xf6e7, 0xf7e8, 0xf643, 0xf759, 0xf643, 0xf759, 0xf5a9, 0xf6d7, -0xf5a9, 0xf6d7, 0xf597, 0xf6de, 0xf597, 0xf6de, 0xf593, 0xf6f6, 0xf593, 0xf6f6, 0xf5ad, -0xf72d, 0xf5ad, 0xf72d, 0xf5ad, 0xf72d, 0xf5d5, 0xf774, 0xf5d5, 0xf774, 0xf5b3, 0xf772, -0xf5b3, 0xf772, 0xf5b4, 0xf792, 0xf5b4, 0xf792, 0xf5d7, 0xf7d5, 0xf5d7, 0xf7d5, 0xf5a4, -0xf7c2, 0xf5a4, 0xf7c2, 0xf4c1, 0xf6fd, 0xf4c1, 0xf6fd, 0xf4c1, 0xf6fd, 0xf39b, 0xf5f4, -0xf39b, 0xf5f4, 0xf320, 0xf593, 0xf320, 0xf593, 0xf27a, 0xf505, 0xf27a, 0xf505, 0xf1e4, -0xf484, 0xf1e4, 0xf484, 0xf108, 0xf3b9, 0xf108, 0xf3b9, 0xeffc, 0xf2bb, 0xeffc, 0xf2bb, -0xeffc, 0xf2bb, 0xefe9, 0xf2b1, 0xefe9, 0xf2b1, 0xef14, 0xf1e1, 0xef14, 0xf1e1, 0xee2f, -0xf0fd, 0xee2f, 0xf0fd, 0xed3f, 0xf009, 0xed3f, 0xf009, 0xecad, 0xef70, 0xecad, 0xef70, -0xecad, 0xef70, 0xece3, 0xef99, 0xece3, 0xef99, 0xeccf, 0xef75, 0xeccf, 0xef75, 0xed64, -0xeff6, 0xed64, 0xeff6, 0xed83, 0xeffd, 0xed83, 0xeffd, 0xedf2, 0xf052, 0xedf2, 0xf052, -0xef0e, 0xf150, 0xef0e, 0xf150, 0xef0e, 0xf150, 0xf005, 0xf228, 0xf005, 0xf228, 0xf0f6, -0xf2f8, 0xf0f6, 0xf2f8, 0xf1d3, 0xf3b2, 0xf1d3, 0xf3b2, 0xf30d, 0xf4c9, 0xf30d, 0xf4c9, -0xf3c2, 0xf55b, 0xf3c2, 0xf55b, 0xf408, 0xf57f, 0xf408, 0xf57f, 0xf408, 0xf57f, 0xf3f3, -0xf548, 0xf3f3, 0xf548, 0xf336, 0xf46b, 0xf336, 0xf46b, 0xf246, 0xf35d, 0xf246, 0xf35d, -0xf1bc, 0xf2b8, 0xf1bc, 0xf2b8, 0xf1a5, 0xf287, 0xf1a5, 0xf287, 0xf1a5, 0xf287, 0xf1bc, -0xf289, 0xf1bc, 0xf289, 0xf1b3, 0xf26e, 0xf1b3, 0xf26e, 0xf124, 0xf1d1, 0xf124, 0xf1d1, -0xf04c, 0xf0ef, 0xf04c, 0xf0ef, 0xefc1, 0xf05e, 0xefc1, 0xf05e, 0xefbd, 0xf059, 0xefbd, -0xf059, 0xefbd, 0xf059, 0xef79, 0xf017, 0xef79, 0xf017, 0xef13, 0xefb8, 0xef13, 0xefb8, -0xef07, 0xefb7, 0xef07, 0xefb7, 0xef29, 0xefea, 0xef29, 0xefea, 0xeed2, 0xefa6, 0xeed2, -0xefa6, 0xed83, 0xee6e, 0xed83, 0xee6e, 0xed83, 0xee6e, 0xebad, 0xecb2, 0xebad, 0xecb2, -0xea6d, 0xeb90, 0xea6d, 0xeb90, 0xe97a, 0xeabd, 0xe97a, 0xeabd, 0xe85f, 0xe9c5, 0xe85f, -0xe9c5, 0xe795, 0xe91f, 0xe795, 0xe91f, 0xe795, 0xe91f, 0xe6a4, 0xe854, 0xe6a4, 0xe854, -0xe66d, 0xe843, 0xe66d, 0xe843, 0xe609, 0xe805, 0xe609, 0xe805, 0xe53f, 0xe761, 0xe53f, -0xe761, 0xe451, 0xe699, 0xe451, 0xe699, 0xe331, 0xe59c, 0xe331, 0xe59c, 0xe331, 0xe59c, -0xe30d, 0xe599, 0xe30d, 0xe599, 0xe240, 0xe4ea, 0xe240, 0xe4ea, 0xe18d, 0xe451, 0xe18d, -0xe451, 0xe0e6, 0xe3c1, 0xe0e6, 0xe3c1, 0xe041, 0xe32f, 0xe041, 0xe32f, 0xe069, 0xe364, -0xe069, 0xe364, 0xe069, 0xe364, 0xe061, 0xe365, 0xe061, 0xe365, 0xe124, 0xe42b, 0xe124, -0xe42b, 0xe19e, 0xe4a1, 0xe19e, 0xe4a1, 0xe23d, 0xe538, 0xe23d, 0xe538, 0xe356, 0xe642, -0xe356, 0xe642, 0xe356, 0xe642, 0xe43f, 0xe715, 0xe43f, 0xe715, 0xe5fd, 0xe8b7, 0xe5fd, -0xe8b7, 0xe7f6, 0xea8f, 0xe7f6, 0xea8f, 0xea23, 0xec95, 0xea23, 0xec95, 0xec50, 0xee96, -0xec50, 0xee96, 0xeeca, 0xf0df, 0xeeca, 0xf0df, 0xeeca, 0xf0df, 0xf14f, 0xf32d, 0xf14f, -0xf32d, 0xf349, 0xf4ee, 0xf349, 0xf4ee, 0xf563, 0xf6ca, 0xf563, 0xf6ca, 0xf773, 0xf899, -0xf773, 0xf899, 0xf9bd, 0xfaa0, 0xf9bd, 0xfaa0, 0xfb70, 0xfc0d, 0xfb70, 0xfc0d, 0xfb70, -0xfc0d, 0xfc93, 0xfcea, 0xfc93, 0xfcea, 0xfdb5, 0xfdc5, 0xfdb5, 0xfdc5, 0xfe91, 0xfe59, -0xfe91, 0xfe59, 0xff92, 0xff13, 0xff92, 0xff13, 0xb3, 0xffed, 0xb3, 0xffed, 0xb3, -0xffed, 0x21b, 0x110, 0x21b, 0x110, 0x366, 0x217, 0x366, 0x217, 0x49f, 0x30f, -0x49f, 0x30f, 0x575, 0x3a5, 0x575, 0x3a5, 0x607, 0x3fa, 0x607, 0x3fa, 0x6c8, -0x481, 0x6c8, 0x481, 0x6c8, 0x481, 0x77f, 0x501, 0x77f, 0x501, 0x908, 0x655, -0x908, 0x655, 0xa74, 0x790, 0xa74, 0x790, 0xbbf, 0x8ad, 0xbbf, 0x8ad, 0xd96, -0xa59, 0xd96, 0xa59, 0xf43, 0xbde, 0xf43, 0xbde, 0xf43, 0xbde, 0x1175, 0xdec, -0x1175, 0xdec, 0x1411, 0x1067, 0x1411, 0x1067, 0x1671, 0x12a9, 0x1671, 0x12a9, 0x18b5, -0x14d3, 0x18b5, 0x14d3, 0x1a82, 0x168b, 0x1a82, 0x168b, 0x1a82, 0x168b, 0x1c97, 0x188e, -0x1c97, 0x188e, 0x1e7d, 0x1a65, 0x1e7d, 0x1a65, 0x1f1d, 0x1afc, 0x1f1d, 0x1afc, 0x1f3f, -0x1b18, 0x1f3f, 0x1b18, 0x1f4d, 0x1b24, 0x1f4d, 0x1b24, 0x2007, 0x1be3, 0x2007, 0x1be3, -0x2007, 0x1be3, 0x207d, 0x1c61, 0x207d, 0x1c61, 0x20a7, 0x1c99, 0x20a7, 0x1c99, 0x209b, -0x1c9f, 0x209b, 0x1c9f, 0x2019, 0x1c35, 0x2019, 0x1c35, 0x1ff3, 0x1c2b, 0x1ff3, 0x1c2b, -0x1f03, 0x1b5e, 0x1f03, 0x1b5e, 0x1f03, 0x1b5e, 0x1e15, 0x1a97, 0x1e15, 0x1a97, 0x1d1d, -0x19ca, 0x1d1d, 0x19ca, 0x1c60, 0x193d, 0x1c60, 0x193d, 0x1c20, 0x1932, 0x1c20, 0x1932, -0x1b4d, 0x1898, 0x1b4d, 0x1898, 0x1b4d, 0x1898, 0x1a07, 0x178d, 0x1a07, 0x178d, 0x184b, -0x160f, 0x184b, 0x160f, 0x16c9, 0x14ce, 0x16c9, 0x14ce, 0x1530, 0x1377, 0x1530, 0x1377, -0x13db, 0x1265, 0x13db, 0x1265, 0x128b, 0x1157, 0x128b, 0x1157, 0x128b, 0x1157, 0x1104, -0x1013, 0x1104, 0x1013, 0xf90, 0xedf, 0xf90, 0xedf, 0xde0, 0xd6e, 0xde0, 0xd6e, -0xc3c, 0xc07, 0xc3c, 0xc07, 0xa72, 0xa75, 0xa72, 0xa75, 0x8e6, 0x920, 0x8e6, -0x920, 0x8e6, 0x920, 0x74c, 0x7b6, 0x74c, 0x7b6, 0x5bb, 0x653, 0x5bb, 0x653, -0x469, 0x52b, 0x469, 0x52b, 0x323, 0x409, 0x323, 0x409, 0x1e7, 0x2ed, 0x1e7, -0x2ed, 0x1e7, 0x2ed, 0x7c, 0x19d, 0x7c, 0x19d, 0xffbf, 0xf7, 0xffbf, 0xf7, -0xff7f, 0xcc, 0xff7f, 0xcc, 0xfec8, 0x24, 0xfec8, 0x24, 0xfe4d, 0xffb7, 0xfe4d, -0xffb7, 0xfde5, 0xff5a, 0xfde5, 0xff5a, 0xfde5, 0xff5a, 0xfda9, 0xff28, 0xfda9, 0xff28, -0xfe40, 0xffc8, 0xfe40, 0xffc8, 0xfe26, 0xffb6, 0xfe26, 0xffb6, 0xfd93, 0xff2a, 0xfd93, -0xff2a, 0xfced, 0xfe8c, 0xfced, 0xfe8c, 0xfced, 0xfe8c, 0xfc92, 0xfe3b, 0xfc92, 0xfe3b, -0xfc5f, 0xfe12, 0xfc5f, 0xfe12, 0xfb91, 0xfd4f, 0xfb91, 0xfd4f, 0xfb34, 0xfd00, 0xfb34, -0xfd00, 0xfacd, 0xfca8, 0xfacd, 0xfca8, 0xfab4, 0xfc9f, 0xfab4, 0xfc9f, 0xfab4, 0xfc9f, -0xfa1b, 0xfc17, 0xfa1b, 0xfc17, 0xf8bc, 0xfaca, 0xf8bc, 0xfaca, 0xf76c, 0xf98d, 0xf76c, -0xf98d, 0xf5c6, 0xf7f9, 0xf5c6, 0xf7f9, 0xf4f1, 0xf735, 0xf4f1, 0xf735, 0xf3a9, 0xf5fb, -0xf3a9, 0xf5fb, 0xf3a9, 0xf5fb, 0xf24a, 0xf4a9, 0xf24a, 0xf4a9, 0xf1b8, 0xf420, 0xf1b8, -0xf420, 0xf0d3, 0xf33f, 0xf0d3, 0xf33f, 0xefef, 0xf25b, 0xefef, 0xf25b, 0xeea3, 0xf109, -0xeea3, 0xf109, 0xeea3, 0xf109, 0xedad, 0xf006, 0xedad, 0xf006, 0xed62, 0xefa7, 0xed62, -0xefa7, 0xed8f, 0xefba, 0xed8f, 0xefba, 0xedf4, 0xeffb, 0xedf4, 0xeffb, 0xee89, 0xf066, -0xee89, 0xf066, 0xf003, 0xf1ad, 0xf003, 0xf1ad, 0xf003, 0xf1ad, 0xf173, 0xf2e3, 0xf173, -0xf2e3, 0xf32d, 0xf45c, 0xf32d, 0xf45c, 0xf53b, 0xf623, 0xf53b, 0xf623, 0xf731, 0xf7cc, -0xf731, 0xf7cc, 0xf8a2, 0xf8ec, 0xf8a2, 0xf8ec, 0xf9f5, 0xf9e9, 0xf9f5, 0xf9e9, 0xf9f5, -0xf9e9, 0xfc3c, 0xfbd9, 0xfc3c, 0xfbd9, 0xfe77, 0xfdbc, 0xfe77, 0xfdbc, 0x97, 0xff83, -0x97, 0xff83, 0x272, 0x107, 0x272, 0x107, 0x464, 0x2a6, 0x464, 0x2a6, 0x464, -0x2a6, 0x607, 0x3f9, 0x607, 0x3f9, 0x75b, 0x504, 0x75b, 0x504, 0x90a, 0x670, -0x90a, 0x670, 0xa1a, 0x745, 0xa1a, 0x745, 0xb4b, 0x845, 0xb4b, 0x845, 0xc2b, -0x8fc, 0xc2b, 0x8fc, 0xc2b, 0x8fc, 0xcf9, 0x9ab, 0xcf9, 0x9ab, 0xddb, 0xa7a, -0xddb, 0xa7a, 0xe05, 0xa9a, 0xe05, 0xa9a, 0xe65, 0xafb, 0xe65, 0xafb, 0xebf, -0xb60, 0xebf, 0xb60, 0xedf, 0xb95, 0xedf, 0xb95, 0xedf, 0xb95, 0xeb1, 0xb85, -0xeb1, 0xb85, 0xe16, 0xb10, 0xe16, 0xb10, 0xd81, 0xaa8, 0xd81, 0xaa8, 0xcd4, -0xa2e, 0xcd4, 0xa2e, 0xc87, 0xa19, 0xc87, 0xa19, 0xc87, 0xa19, 0xca3, 0xa70, -0xca3, 0xa70, 0xc33, 0xa3e, 0xc33, 0xa3e, 0xbeb, 0xa34, 0xbeb, 0xa34, 0xbc7, -0xa4e, 0xbc7, 0xa4e, 0xb99, 0xa5d, 0xb99, 0xa5d, 0xb3c, 0xa3b, 0xb3c, 0xa3b, -0xb3c, 0xa3b, 0xa6e, 0x9a4, 0xa6e, 0x9a4, 0x9e1, 0x949, 0x9e1, 0x949, 0x979, -0x910, 0x979, 0x910, 0x970, 0x92e, 0x970, 0x92e, 0x86e, 0x850, 0x86e, 0x850, -0x74e, 0x74d, 0x74e, 0x74d, 0x74e, 0x74d, 0x70b, 0x721, 0x70b, 0x721, 0x670, -0x699, 0x670, 0x699, 0x5fe, 0x634, 0x5fe, 0x634, 0x563, 0x5a1, 0x563, 0x5a1, -0x4de, 0x521, 0x4de, 0x521, 0x4de, 0x521, 0x430, 0x473, 0x430, 0x473, 0x3e8, -0x429, 0x3e8, 0x429, 0x464, 0x4a1, 0x464, 0x4a1, 0x497, 0x4ce, 0x497, 0x4ce, -0x4e2, 0x513, 0x4e2, 0x513, 0x545, 0x570, 0x545, 0x570, 0x545, 0x570, 0x5be, -0x5e2, 0x5be, 0x5e2, 0x642, 0x661, 0x642, 0x661, 0x6e8, 0x703, 0x6e8, 0x703, -0x739, 0x751, 0x739, 0x751, 0x789, 0x7a0, 0x789, 0x7a0, 0x82a, 0x841, 0x82a, -0x841, 0x82a, 0x841, 0x7c6, 0x7df, 0x7c6, 0x7df, 0x6f1, 0x70c, 0x6f1, 0x70c, -0x616, 0x634, 0x616, 0x634, 0x4bb, 0x4dd, 0x4bb, 0x4dd, 0x387, 0x3ac, 0x387, -0x3ac, 0x387, 0x3ac, 0x2a5, 0x2cc, 0x2a5, 0x2cc, 0x214, 0x23c, 0x214, 0x23c, -0x1a6, 0x1cc, 0x1a6, 0x1cc, 0x171, 0x193, 0x171, 0x193, 0x187, 0x1a2, 0x187, -0x1a2, 0x136, 0x145, 0x136, 0x145, 0x136, 0x145, 0x111, 0x110, 0x111, 0x110, -0x130, 0x11c, 0x130, 0x11c, 0x185, 0x158, 0x185, 0x158, 0x2a1, 0x258, 0x2a1, -0x258, 0x483, 0x419, 0x483, 0x419, 0x6a1, 0x612, 0x6a1, 0x612, 0x6a1, 0x612, -0x821, 0x76a, 0x821, 0x76a, 0x9b4, 0x8d1, 0x9b4, 0x8d1, 0xb68, 0xa58, 0xb68, -0xa58, 0xd2b, 0xbec, 0xd2b, 0xbec, 0xf20, 0xdb2, 0xf20, 0xdb2, 0xf20, 0xdb2, -0x10c1, 0xf24, 0x10c1, 0xf24, 0x12bb, 0x10f2, 0x12bb, 0x10f2, 0x146b, 0x1277, 0x146b, -0x1277, 0x1532, 0x1317, 0x1532, 0x1317, 0x159e, 0x1362, 0x159e, 0x1362, 0x15c3, 0x136a, -0x15c3, 0x136a, 0x15c3, 0x136a, 0x15ce, 0x1360, 0x15ce, 0x1360, 0x15be, 0x1340, 0x15be, -0x1340, 0x1583, 0x12fd, 0x1583, 0x12fd, 0x147f, 0x11f8, 0x147f, 0x11f8, 0x13b0, 0x1130, -0x13b0, 0x1130, 0x13a3, 0x1131, 0x13a3, 0x1131, 0x13a3, 0x1131, 0x130a, 0x10ad, 0x130a, -0x10ad, 0x1242, 0x1000, 0x1242, 0x1000, 0x1163, 0xf43, 0x1163, 0xf43, 0x1091, 0xe96, -0x1091, 0xe96, 0xf6e, 0xd9d, 0xf6e, 0xd9d, 0xf6e, 0xd9d, 0xe3a, 0xc95, 0xe3a, -0xc95, 0xd1f, 0xba8, 0xd1f, 0xba8, 0xb86, 0xa3f, 0xb86, 0xa3f, 0xa4a, 0x931, -0xa4a, 0x931, 0x919, 0x82d, 0x919, 0x82d, 0x845, 0x785, 0x845, 0x785, 0x845, -0x785, 0x75b, 0x6c2, 0x75b, 0x6c2, 0x61a, 0x5a6, 0x61a, 0x5a6, 0x4b5, 0x460, -0x4b5, 0x460, 0x353, 0x31a, 0x353, 0x31a, 0x308, 0x2e4, 0x308, 0x2e4, 0x2a2, -0x290, 0x2a2, 0x290, 0x2a2, 0x290, 0x297, 0x292, 0x297, 0x292, 0x2ef, 0x2f3, -0x2ef, 0x2f3, 0x2e1, 0x2ea, 0x2e1, 0x2ea, 0x28f, 0x29a, 0x28f, 0x29a, 0x1a2, -0x1ae, 0x1a2, 0x1ae, 0x1a2, 0x1ae, 0xa2, 0xac, 0xa2, 0xac, 0xff93, 0xff9b, -0xff93, 0xff9b, 0xfee2, 0xfee9, 0xfee2, 0xfee9, 0xfe82, 0xfe89, 0xfe82, 0xfe89, 0xfdb6, -0xfdbe, 0xfdb6, 0xfdbe, 0xfcee, 0xfcfb, 0xfcee, 0xfcfb, 0xfcee, 0xfcfb, 0xfbbe, 0xfbd3, -0xfbbe, 0xfbd3, 0xfa32, 0xfa53, 0xfa32, 0xfa53, 0xf95b, 0xf98d, 0xf95b, 0xf98d, 0xf84f, -0xf896, 0xf84f, 0xf896, 0xf710, 0xf771, 0xf710, 0xf771, 0xf710, 0xf771, 0xf60a, 0xf688, -0xf60a, 0xf688, 0xf540, 0xf5e0, 0xf540, 0xf5e0, 0xf507, 0xf5ce, 0xf507, 0xf5ce, 0xf4f4, -0xf5e4, 0xf4f4, 0xf5e4, 0xf50d, 0xf62a, 0xf50d, 0xf62a, 0xf523, 0xf66e, 0xf523, 0xf66e, -0xf523, 0xf66e, 0xf5cd, 0xf747, 0xf5cd, 0xf747, 0xf63d, 0xf7e7, 0xf63d, 0xf7e7, 0xf610, -0xf7e9, 0xf610, 0xf7e9, 0xf55e, 0xf765, 0xf55e, 0xf765, 0xf3a1, 0xf5d3, 0xf3a1, 0xf5d3, -0xf26c, 0xf4c8, 0xf26c, 0xf4c8, 0xf26c, 0xf4c8, 0xf17f, 0xf400, 0xf17f, 0xf400, 0xf0d9, -0xf37b, 0xf0d9, 0xf37b, 0xf084, 0xf343, 0xf084, 0xf343, 0xf002, 0xf2d9, 0xf002, 0xf2d9, -0xef86, 0xf270, 0xef86, 0xf270, 0xef86, 0xf270, 0xee69, 0xf160, 0xee69, 0xf160, 0xed74, -0xf073, 0xed74, 0xf073, 0xecdf, 0xefe1, 0xecdf, 0xefe1, 0xec10, 0xef10, 0xec10, 0xef10, -0xeb81, 0xee7a, 0xeb81, 0xee7a, 0xeba8, 0xee96, 0xeba8, 0xee96, 0xeba8, 0xee96, 0xebe2, -0xeec0, 0xebe2, 0xeec0, 0xebe0, 0xeeac, 0xebe0, 0xeeac, 0xec7e, 0xef35, 0xec7e, 0xef35, -0xecf4, 0xef93, 0xecf4, 0xef93, 0xed2c, 0xefb0, 0xed2c, 0xefb0, 0xedcb, 0xf035, 0xedcb, -0xf035, 0xedcb, 0xf035, 0xee70, 0xf0bd, 0xee70, 0xf0bd, 0xef51, 0xf183, 0xef51, 0xf183, -0xf025, 0xf23b, 0xf025, 0xf23b, 0xf0ff, 0xf2fb, 0xf0ff, 0xf2fb, 0xf123, 0xf306, 0xf123, -0xf306, 0xf123, 0xf306, 0xf0da, 0xf2a6, 0xf0da, 0xf2a6, 0xf12a, 0xf2e0, 0xf12a, 0xf2e0, -0xf10c, 0xf2b0, 0xf10c, 0xf2b0, 0xf0d5, 0xf269, 0xf0d5, 0xf269, 0xf069, 0xf1f0, 0xf069, -0xf1f0, 0xeff7, 0xf173, 0xeff7, 0xf173, 0xeff7, 0xf173, 0xefc5, 0xf13b, 0xefc5, 0xf13b, -0xefa1, 0xf113, 0xefa1, 0xf113, 0xefab, 0xf11d, 0xefab, 0xf11d, 0xef98, 0xf10e, 0xef98, -0xf10e, 0xefa2, 0xf11f, 0xefa2, 0xf11f, 0xeefa, 0xf080, 0xeefa, 0xf080, 0xeefa, 0xf080, -0xee7d, 0xf010, 0xee7d, 0xf010, 0xee6a, 0xf00c, 0xee6a, 0xf00c, 0xedca, 0xef7e, 0xedca, -0xef7e, 0xed5f, 0xef27, 0xed5f, 0xef27, 0xeca9, 0xee87, 0xeca9, 0xee87, 0xeca9, 0xee87, -0xec0a, 0xedff, 0xec0a, 0xedff, 0xebb5, 0xedc3, 0xebb5, 0xedc3, 0xeb01, 0xed29, 0xeb01, -0xed29, 0xea3d, 0xec7f, 0xea3d, 0xec7f, 0xe948, 0xeba3, 0xe948, 0xeba3, 0xe8d8, 0xeb4d, -0xe8d8, 0xeb4d, 0xe8d8, 0xeb4d, 0xe86c, 0xeaf9, 0xe86c, 0xeaf9, 0xe785, 0xea2a, 0xe785, -0xea2a, 0xe6c5, 0xe980, 0xe6c5, 0xe980, 0xe625, 0xe8f4, 0xe625, 0xe8f4, 0xe600, 0xe8e1, -0xe600, 0xe8e1, 0xe551, 0xe840, 0xe551, 0xe840, 0xe551, 0xe840, 0xe489, 0xe784, 0xe489, -0xe784, 0xe3b5, 0xe6b9, 0xe3b5, 0xe6b9, 0xe31a, 0xe623, 0xe31a, 0xe623, 0xe397, 0xe6a1, -0xe397, 0xe6a1, 0xe372, 0xe67a, 0xe372, 0xe67a, 0xe372, 0xe67a, 0xe388, 0xe68a, 0xe388, -0xe68a, 0xe383, 0xe679, 0xe383, 0xe679, 0xe322, 0xe60a, 0xe322, 0xe60a, 0xe34f, 0xe624, -0xe34f, 0xe624, 0xe3ef, 0xe6ad, 0xe3ef, 0xe6ad, 0xe524, 0xe7c6, 0xe524, 0xe7c6, 0xe524, -0xe7c6, 0xe6b2, 0xe934, 0xe6b2, 0xe934, 0xe939, 0xeb97, 0xe939, 0xeb97, 0xeb75, 0xedac, -0xeb75, 0xedac, 0xeda9, 0xefb4, 0xeda9, 0xefb4, 0xeff4, 0xf1d1, 0xeff4, 0xf1d1, 0xf194, -0xf33f, 0xf194, 0xf33f, 0xf194, 0xf33f, 0xf372, 0xf4e9, 0xf372, 0xf4e9, 0xf544, 0xf684, -0xf544, 0xf684, 0xf771, 0xf877, 0xf771, 0xf877, 0xf95e, 0xfa2a, 0xf95e, 0xfa2a, 0xfae8, -0xfb77, 0xfae8, 0xfb77, 0xfae8, 0xfb77, 0xfcab, 0xfcfd, 0xfcab, 0xfcfd, 0xfdcc, 0xfde1, -0xfdcc, 0xfde1, 0xfeeb, 0xfec1, 0xfeeb, 0xfec1, 0x5b, 0xfff5, 0x5b, 0xfff5, 0x16b, -0xc7, 0x16b, 0xc7, 0x24f, 0x170, 0x24f, 0x170, 0x24f, 0x170, 0x34b, 0x232, -0x34b, 0x232, 0x44f, 0x2fe, 0x44f, 0x2fe, 0x50f, 0x387, 0x50f, 0x387, 0x5ed, -0x430, 0x5ed, 0x430, 0x6fc, 0x50c, 0x6fc, 0x50c, 0x7f2, 0x5d3, 0x7f2, 0x5d3, -0x7f2, 0x5d3, 0x8e0, 0x692, 0x8e0, 0x692, 0x9c4, 0x74a, 0x9c4, 0x74a, 0xb1c, -0x878, 0xb1c, 0x878, 0xc57, 0x98a, 0xc57, 0x98a, 0xdf2, 0xaff, 0xdf2, 0xaff, -0xdf2, 0xaff, 0x104f, 0xd37, 0x104f, 0xd37, 0x12cb, 0xf91, 0x12cb, 0xf91, 0x1588, -0x122c, 0x1588, 0x122c, 0x17e5, 0x1469, 0x17e5, 0x1469, 0x19e3, 0x1648, 0x19e3, 0x1648, -0x1b2f, 0x1778, 0x1b2f, 0x1778, 0x1b2f, 0x1778, 0x1bfc, 0x182a, 0x1bfc, 0x182a, 0x1cf4, -0x1909, 0x1cf4, 0x1909, 0x1dc0, 0x19be, 0x1dc0, 0x19be, 0x1e5d, 0x1a47, 0x1e5d, 0x1a47, -0x1ef6, 0x1acf, 0x1ef6, 0x1acf, 0x1f97, 0x1b63, 0x1f97, 0x1b63, 0x1f97, 0x1b63, 0x1fee, -0x1bb1, 0x1fee, 0x1bb1, 0x200f, 0x1bcc, 0x200f, 0x1bcc, 0x2006, 0x1bc3, 0x2006, 0x1bc3, -0x1fac, 0x1b6f, 0x1fac, 0x1b6f, 0x1f45, 0x1b13, 0x1f45, 0x1b13, 0x1f45, 0x1b13, 0x1e96, -0x1a76, 0x1e96, 0x1a76, 0x1dc1, 0x19b8, 0x1dc1, 0x19b8, 0x1ce4, 0x18fa, 0x1ce4, 0x18fa, -0x1bf7, 0x1832, 0x1bf7, 0x1832, 0x1b1e, 0x1784, 0x1b1e, 0x1784, 0x19a2, 0x163a, 0x19a2, -0x163a, 0x19a2, 0x163a, 0x188b, 0x1559, 0x188b, 0x1559, 0x1790, 0x149a, 0x1790, 0x149a, -0x15fa, 0x1343, 0x15fa, 0x1343, 0x1492, 0x121e, 0x1492, 0x121e, 0x12b1, 0x1082, 0x12b1, -0x1082, 0x113e, 0xf55, 0x113e, 0xf55, 0x113e, 0xf55, 0xff5, 0xe53, 0xff5, 0xe53, -0xeb8, 0xd5c, 0xeb8, 0xd5c, 0xd87, 0xc6e, 0xd87, 0xc6e, 0xbcf, 0xaf7, 0xbcf, -0xaf7, 0xa11, 0x976, 0xa11, 0x976, 0xa11, 0x976, 0x7f3, 0x791, 0x7f3, 0x791, -0x625, 0x5f5, 0x625, 0x5f5, 0x454, 0x452, 0x454, 0x452, 0x2f3, 0x319, 0x2f3, -0x319, 0x206, 0x24d, 0x206, 0x24d, 0x107, 0x16b, 0x107, 0x16b, 0x107, 0x16b, -0x9d, 0x117, 0x9d, 0x117, 0xffa9, 0x36, 0xffa9, 0x36, 0xfe9c, 0xff37, 0xfe9c, -0xff37, 0xfdc8, 0xfe6d, 0xfdc8, 0xfe6d, 0xfc80, 0xfd2e, 0xfc80, 0xfd2e, 0xfc80, 0xfd2e, -0xfbe2, 0xfc97, 0xfbe2, 0xfc97, 0xfbcc, 0xfc88, 0xfbcc, 0xfc88, 0xfb50, 0xfc14, 0xfb50, -0xfc14, 0xfae1, 0xfbaf, 0xfae1, 0xfbaf, 0xfab6, 0xfb90, 0xfab6, 0xfb90, 0xfac1, 0xfbab, -0xfac1, 0xfbab, 0xfac1, 0xfbab, 0xfaa5, 0xfba1, 0xfaa5, 0xfba1, 0xfa6f, 0xfb82, 0xfa6f, -0xfb82, 0xfa3e, 0xfb6c, 0xfa3e, 0xfb6c, 0xfa2d, 0xfb7a, 0xfa2d, 0xfb7a, 0xf9d9, 0xfb48, -0xf9d9, 0xfb48, 0xf8a4, 0xfa38, 0xf8a4, 0xfa38, 0xf8a4, 0xfa38, 0xf76f, 0xf92a, 0xf76f, -0xf92a, 0xf604, 0xf7e8, 0xf604, 0xf7e8, 0xf4fe, 0xf70b, 0xf4fe, 0xf70b, 0xf41c, 0xf650, -0xf41c, 0xf650, 0xf298, 0xf4f1, 0xf298, 0xf4f1, 0xf298, 0xf4f1, 0xf196, 0xf410, 0xf196, -0xf410, 0xf0ab, 0xf342, 0xf0ab, 0xf342, 0xef55, 0xf202, 0xef55, 0xf202, 0xee00, 0xf0bd, -0xee00, 0xf0bd, 0xed13, 0xefd7, 0xed13, 0xefd7, 0xec28, 0xeeeb, 0xec28, 0xeeeb, 0xec28, -0xeeeb, 0xeb90, 0xee47, 0xeb90, 0xee47, 0xeb50, 0xedf4, 0xeb50, 0xedf4, 0xeb5d, 0xede3, -0xeb5d, 0xede3, 0xec09, 0xee68, 0xec09, 0xee68, 0xecd0, 0xeeff, 0xecd0, 0xeeff, 0xee59, -0xf050, 0xee59, 0xf050, 0xee59, 0xf050, 0xf019, 0xf1d1, 0xf019, 0xf1d1, 0xf1aa, 0xf31c, -0xf1aa, 0xf31c, 0xf3dd, 0xf504, 0xf3dd, 0xf504, 0xf5d5, 0xf6af, 0xf5d5, 0xf6af, 0xf74f, -0xf7d8, 0xf74f, 0xf7d8, 0xf74f, 0xf7d8, 0xf8f6, 0xf92d, 0xf8f6, 0xf92d, 0xfafb, 0xfae3, -0xfafb, 0xfae3, 0xfd3d, 0xfcd6, 0xfd3d, 0xfcd6, 0xff6c, 0xfebb, 0xff6c, 0xfebb, 0x1b0, -0xba, 0x1b0, 0xba, 0x3c2, 0x28c, 0x3c2, 0x28c, 0x3c2, 0x28c, 0x583, 0x414, -0x583, 0x414, 0x70d, 0x56d, 0x70d, 0x56d, 0x84a, 0x681, 0x84a, 0x681, 0x9a3, -0x7ba, 0x9a3, 0x7ba, 0xb08, 0x906, 0xb08, 0x906, 0xc8c, 0xa7b, 0xc8c, 0xa7b, -0xc8c, 0xa7b, 0xdb1, 0xb99, 0xdb1, 0xb99, 0xe7c, 0xc64, 0xe7c, 0xc64, 0xf01, -0xcf1, 0xf01, 0xcf1, 0xf08, 0xd07, 0xf08, 0xd07, 0xf2f, 0xd42, 0xf2f, 0xd42, -0xf2f, 0xd42, 0xee8, 0xd15, 0xee8, 0xd15, 0xe7b, 0xcc6, 0xe7b, 0xcc6, 0xe43, -0xcad, 0xe43, 0xcad, 0xe32, 0xcbe, 0xe32, 0xcbe, 0xea9, 0xd58, 0xea9, 0xd58, -0xed1, 0xda3, 0xed1, 0xda3, 0xed1, 0xda3, 0xea2, 0xd95, 0xea2, 0xd95, 0xe94, -0xda7, 0xe94, 0xda7, 0xe71, 0xda2, 0xe71, 0xda2, 0xe27, 0xd72, 0xe27, 0xd72, -0xd9f, 0xd01, 0xd9f, 0xd01, 0xd0f, 0xc84, 0xd0f, 0xc84, 0xd0f, 0xc84, 0xc6d, -0xbf1, 0xc6d, 0xbf1, 0xbc0, 0xb4f, 0xbc0, 0xb4f, 0xb48, 0xadd, 0xb48, 0xadd, -0xb23, 0xabb, 0xb23, 0xabb, 0xb3c, 0xad3, 0xb3c, 0xad3, 0xb3c, 0xad3, 0xae2, -0xa74, 0xae2, 0xa74, 0xa89, 0xa15, 0xa89, 0xa15, 0x9c6, 0x949, 0x9c6, 0x949, -0x8fc, 0x874, 0x8fc, 0x874, 0x881, 0x7ee, 0x881, 0x7ee, 0x7ab, 0x70d, 0x7ab, -0x70d, 0x7ab, 0x70d, 0x7c1, 0x718, 0x7c1, 0x718, 0x80d, 0x75b, 0x80d, 0x75b, -0x88b, 0x7d1, 0x88b, 0x7d1, 0x903, 0x843, 0x903, 0x843, 0x932, 0x86f, 0x932, -0x86f, 0x94b, 0x887, 0x94b, 0x887, 0x94b, 0x887, 0x8eb, 0x829, 0x8eb, 0x829, -0x8fd, 0x841, 0x8fd, 0x841, 0x8bc, 0x809, 0x8bc, 0x809, 0x8ff, 0x857, 0x8ff, -0x857, 0x9d2, 0x937, 0x9d2, 0x937, 0x9d2, 0x937, 0xa05, 0x979, 0xa05, 0x979, -0x9a3, 0x926, 0x9a3, 0x926, 0x8cb, 0x85e, 0x8cb, 0x85e, 0x81e, 0x7c1, 0x81e, -0x7c1, 0x6d7, 0x688, 0x6d7, 0x688, 0x58b, 0x548, 0x58b, 0x548, 0x58b, 0x548, -0x4bc, 0x482, 0x4bc, 0x482, 0x3c9, 0x394, 0x3c9, 0x394, 0x320, 0x2eb, 0x320, -0x2eb, 0x2f3, 0x2ba, 0x2f3, 0x2ba, 0x2d8, 0x294, 0x2d8, 0x294, 0x282, 0x22f, -0x282, 0x22f, 0x282, 0x22f, 0x23c, 0x1d4, 0x23c, 0x1d4, 0x265, 0x1e2, 0x265, -0x1e2, 0x305, 0x262, 0x305, 0x262, 0x403, 0x33b, 0x403, 0x33b, 0x537, 0x446, -0x537, 0x446, 0x537, 0x446, 0x670, 0x554, 0x670, 0x554, 0x7fd, 0x6b2, 0x7fd, -0x6b2, 0xa0d, 0x892, 0xa0d, 0x892, 0xc5e, 0xab5, 0xc5e, 0xab5, 0xe47, 0xc70, -0xe47, 0xc70, 0xfb6, 0xdb3, 0xfb6, 0xdb3, 0xfb6, 0xdb3, 0x10ed, 0xec4, 0x10ed, -0xec4, 0x11fd, 0xfb1, 0x11fd, 0xfb1, 0x12bb, 0x1051, 0x12bb, 0x1051, 0x130b, 0x108a, -0x130b, 0x108a, 0x139b, 0x110a, 0x139b, 0x110a, 0x1422, 0x1189, 0x1422, 0x1189, 0x1422, -0x1189, 0x1453, 0x11ba, 0x1453, 0x11ba, 0x1412, 0x1180, 0x1412, 0x1180, 0x13af, 0x112a, -0x13af, 0x112a, 0x1352, 0x10e2, 0x1352, 0x10e2, 0x12d2, 0x107b, 0x12d2, 0x107b, 0x12d2, -0x107b, 0x126e, 0x1037, 0x126e, 0x1037, 0x117b, 0xf67, 0x117b, 0xf67, 0x10b0, 0xec3, -0x10b0, 0xec3, 0xfa4, 0xddf, 0xfa4, 0xddf, 0xdfe, 0xc62, 0xdfe, 0xc62, 0xca2, -0xb2e, 0xca2, 0xb2e, 0xca2, 0xb2e, 0xb20, 0x9d3, 0xb20, 0x9d3, 0xa11, 0x8e9, -0xa11, 0x8e9, 0x8ee, 0x7e8, 0x8ee, 0x7e8, 0x7e6, 0x6fe, 0x7e6, 0x6fe, 0x756, -0x688, 0x756, 0x688, 0x63a, 0x582, 0x63a, 0x582, 0x63a, 0x582, 0x525, 0x47e, -0x525, 0x47e, 0x429, 0x390, 0x429, 0x390, 0x342, 0x2b2, 0x342, 0x2b2, 0x2a2, -0x218, 0x2a2, 0x218, 0x269, 0x1e3, 0x269, 0x1e3, 0x269, 0x1e3, 0x27b, 0x1f7, -0x27b, 0x1f7, 0x254, 0x1d1, 0x254, 0x1d1, 0x1f6, 0x174, 0x1f6, 0x174, 0x13c, -0xbb, 0x13c, 0xbb, 0xb2, 0x35, 0xb2, 0x35, 0x42, 0xffcb, 0x42, 0xffcb, -0x42, 0xffcb, 0xff92, 0xff23, 0xff92, 0xff23, 0xff4c, 0xfee9, 0xff4c, 0xfee9, 0xfed7, -0xfe84, 0xfed7, 0xfe84, 0xfe01, 0xfdc4, 0xfe01, 0xfdc4, 0xfcff, 0xfcda, 0xfcff, 0xfcda, -0xfcff, 0xfcda, 0xfb87, 0xfb7e, 0xfb87, 0xfb7e, 0xfa16, 0xfa2f, 0xfa16, 0xfa2f, 0xf8bd, -0xf8fb, 0xf8bd, 0xf8fb, 0xf77c, 0xf7e2, 0xf77c, 0xf7e2, 0xf67d, 0xf70e, 0xf67d, 0xf70e, -0xf589, 0xf647, 0xf589, 0xf647, 0xf589, 0xf647, 0xf503, 0xf5f0, 0xf503, 0xf5f0, 0xf529, -0xf645, 0xf529, 0xf645, 0xf560, 0xf6ac, 0xf560, 0xf6ac, 0xf595, 0xf711, 0xf595, 0xf711, -0xf64d, 0xf7f9, 0xf64d, 0xf7f9, 0xf6ff, 0xf8d9, 0xf6ff, 0xf8d9, 0xf6ff, 0xf8d9, 0xf6f2, -0xf8f8, 0xf6f2, 0xf8f8, 0xf68c, 0xf8bc, 0xf68c, 0xf8bc, 0xf5f6, 0xf84f, 0xf5f6, 0xf84f, -0xf56f, 0xf7ed, 0xf56f, 0xf7ed, 0xf4d6, 0xf777, 0xf4d6, 0xf777, 0xf4d6, 0xf777, 0xf429, -0xf6ea, 0xf429, 0xf6ea, 0xf39d, 0xf67c, 0xf39d, 0xf67c, 0xf2f9, 0xf5f3, 0xf2f9, 0xf5f3, -0xf27b, 0xf58d, 0xf27b, 0xf58d, 0xf1ad, 0xf4d4, 0xf1ad, 0xf4d4, 0xf0d8, 0xf412, 0xf0d8, -0xf412, 0xf0d8, 0xf412, 0xeff4, 0xf33e, 0xeff4, 0xf33e, 0xef14, 0xf26b, 0xef14, 0xf26b, -0xee55, 0xf1b6, 0xee55, 0xf1b6, 0xed52, 0xf0bb, 0xed52, 0xf0bb, 0xed39, 0xf0a6, 0xed39, -0xf0a6, 0xed31, 0xf09f, 0xed31, 0xf09f, 0xed31, 0xf09f, 0xecee, 0xf059, 0xecee, 0xf059, -0xecea, 0xf051, 0xecea, 0xf051, 0xed21, 0xf07f, 0xed21, 0xf07f, 0xedab, 0xf0fc, 0xedab, -0xf0fc, 0xee01, 0xf143, 0xee01, 0xf143, 0xee01, 0xf143, 0xee7d, 0xf1aa, 0xee7d, 0xf1aa, -0xeeb9, 0xf1d1, 0xeeb9, 0xf1d1, 0xef44, 0xf241, 0xef44, 0xf241, 0xeffb, 0xf2dc, 0xeffb, -0xf2dc, 0xf08e, 0xf351, 0xf08e, 0xf351, 0xf12b, 0xf3ce, 0xf12b, 0xf3ce, 0xf12b, 0xf3ce, -0xf143, 0xf3c4, 0xf143, 0xf3c4, 0xf174, 0xf3d2, 0xf174, 0xf3d2, 0xf177, 0xf3b2, 0xf177, -0xf3b2, 0xf12c, 0xf345, 0xf12c, 0xf345, 0xf0da, 0xf2d2, 0xf0da, 0xf2d2, 0xf0c0, 0xf298, -0xf0c0, 0xf298, 0xf0c0, 0xf298, 0xf0fc, 0xf2b7, 0xf0fc, 0xf2b7, 0xf171, 0xf312, 0xf171, -0xf312, 0xf1ce, 0xf358, 0xf1ce, 0xf358, 0xf13d, 0xf2b3, 0xf13d, 0xf2b3, 0xf01a, 0xf181, -0xf01a, 0xf181, 0xf01a, 0xf181, 0xef00, 0xf05c, 0xef00, 0xf05c, 0xee35, 0xef8a, 0xee35, -0xef8a, 0xedce, 0xef20, 0xedce, 0xef20, 0xed58, 0xeeab, 0xed58, 0xeeab, 0xed12, 0xee6a, -0xed12, 0xee6a, 0xed2b, 0xee8c, 0xed2b, 0xee8c, 0xed2b, 0xee8c, 0xecda, 0xee46, 0xecda, -0xee46, 0xec41, 0xedbb, 0xec41, 0xedbb, 0xeb75, 0xecff, 0xeb75, 0xecff, 0xea72, 0xec0c, -0xea72, 0xec0c, 0xe981, 0xeb2e, 0xe981, 0xeb2e, 0xe897, 0xea55, 0xe897, 0xea55, 0xe897, -0xea55, 0xe786, 0xe956, 0xe786, 0xe956, 0xe661, 0xe843, 0xe661, 0xe843, 0xe602, 0xe7f3, -0xe602, 0xe7f3, 0xe57a, 0xe779, 0xe57a, 0xe779, 0xe4e9, 0xe6f4, 0xe4e9, 0xe6f4, 0xe4e9, -0xe6f4, 0xe4a3, 0xe6b6, 0xe4a3, 0xe6b6, 0xe424, 0xe63e, 0xe424, 0xe63e, 0xe425, 0xe642, -0xe425, 0xe642, 0xe3b9, 0xe5d6, 0xe3b9, 0xe5d6, 0xe337, 0xe550, 0xe337, 0xe550, 0xe2b8, -0xe4cb, 0xe2b8, 0xe4cb, 0xe2b8, 0xe4cb, 0xe227, 0xe430, 0xe227, 0xe430, 0xe255, 0xe450, -0xe255, 0xe450, 0xe2d6, 0xe4c1, 0xe2d6, 0xe4c1, 0xe3b4, 0xe58a, 0xe3b4, 0xe58a, 0xe486, -0xe644, 0xe486, 0xe644, 0xe5ad, 0xe751, 0xe5ad, 0xe751, 0xe5ad, 0xe751, 0xe750, 0xe8d6, -0xe750, 0xe8d6, 0xe915, 0xea7b, 0xe915, 0xea7b, 0xeb11, 0xec54, 0xeb11, 0xec54, 0xed11, -0xee2f, 0xed11, 0xee2f, 0xef57, 0xf04f, 0xef57, 0xf04f, 0xef57, 0xf04f, 0xf13e, 0xf20e, -0xf13e, 0xf20e, 0xf2e2, 0xf388, 0xf2e2, 0xf388, 0xf500, 0xf57b, 0xf500, 0xf57b, 0xf6ea, -0xf73a, 0xf6ea, 0xf73a, 0xf882, 0xf8a7, 0xf882, 0xf8a7, 0xfa3e, 0xfa37, 0xfa3e, 0xfa37, -0xfa3e, 0xfa37, 0xfbde, 0xfbad, 0xfbde, 0xfbad, 0xfcd1, 0xfc77, 0xfcd1, 0xfc77, 0xfd66, -0xfce3, 0xfd66, 0xfce3, 0xfe2f, 0xfd85, 0xfe2f, 0xfd85, 0xfeca, 0xfdfc, 0xfeca, 0xfdfc, -0xff91, 0xfea0, 0xff91, 0xfea0, 0xff91, 0xfea0, 0xc4, 0xffb1, 0xc4, 0xffb1, 0x1b8, -0x86, 0x1b8, 0x86, 0x27e, 0x12e, 0x27e, 0x12e, 0x34d, 0x1e1, 0x34d, 0x1e1, -0x461, 0x2da, 0x461, 0x2da, 0x461, 0x2da, 0x55b, 0x3b9, 0x55b, 0x3b9, 0x5fb, -0x43f, 0x5fb, 0x43f, 0x6f6, 0x521, 0x6f6, 0x521, 0x8b8, 0x6ca, 0x8b8, 0x6ca, -0xaf4, 0x8eb, 0xaf4, 0x8eb, 0xd2a, 0xb05, 0xd2a, 0xb05, 0xd2a, 0xb05, 0xf72, -0xd30, 0xf72, 0xd30, 0x1170, 0xf0f, 0x1170, 0xf0f, 0x139b, 0x111a, 0x139b, 0x111a, -0x15be, 0x131b, 0x15be, 0x131b, 0x171e, 0x1458, 0x171e, 0x1458, 0x1889, 0x159e, 0x1889, -0x159e, 0x1889, 0x159e, 0x1992, 0x1683, 0x1992, 0x1683, 0x1acc, 0x1799, 0x1acc, 0x1799, -0x1c0c, 0x18b5, 0x1c0c, 0x18b5, 0x1ce9, 0x1971, 0x1ce9, 0x1971, 0x1e0a, 0x1a73, 0x1e0a, -0x1a73, 0x1e0a, 0x1a73, 0x1ec2, 0x1b12, 0x1ec2, 0x1b12, 0x1f44, 0x1b7e, 0x1f44, 0x1b7e, -0x1f8a, 0x1bb6, 0x1f8a, 0x1bb6, 0x2004, 0x1c28, 0x2004, 0x1c28, 0x1fdb, 0x1bff, 0x1fdb, -0x1bff, 0x1f25, 0x1b52, 0x1f25, 0x1b52, 0x1f25, 0x1b52, 0x1ed8, 0x1b16, 0x1ed8, 0x1b16, -0x1dce, 0x1a28, 0x1dce, 0x1a28, 0x1d05, 0x1985, 0x1d05, 0x1985, 0x1c79, 0x1927, 0x1c79, -0x1927, 0x1c03, 0x18e8, 0x1c03, 0x18e8, 0x1b63, 0x1886, 0x1b63, 0x1886, 0x1b63, 0x1886, -0x19fd, 0x1767, 0x19fd, 0x1767, 0x189b, 0x1651, 0x189b, 0x1651, 0x16d1, 0x14d6, 0x16d1, -0x14d6, 0x153e, 0x1397, 0x153e, 0x1397, 0x144f, 0x12fb, 0x144f, 0x12fb, 0x144f, 0x12fb, -0x13a1, 0x12a0, 0x13a1, 0x12a0, 0x1283, 0x11d3, 0x1283, 0x11d3, 0x10d4, 0x1072, 0x10d4, -0x1072, 0xf34, 0xf18, 0xf34, 0xf18, 0xd2f, 0xd55, 0xd2f, 0xd55, 0xb3f, 0xb9e, -0xb3f, 0xb9e, 0xb3f, 0xb9e, 0x988, 0xa16, 0x988, 0xa16, 0x7e5, 0x89a, 0x7e5, -0x89a, 0x6ac, 0x780, 0x6ac, 0x780, 0x57b, 0x663, 0x57b, 0x663, 0x496, 0x58a, -0x496, 0x58a, 0x496, 0x58a, 0x3ce, 0x4c7, 0x3ce, 0x4c7, 0x246, 0x33c, 0x246, -0x33c, 0x9c, 0x189, 0x9c, 0x189, 0xff59, 0x39, 0xff59, 0x39, 0xfe51, 0xff22, -0xfe51, 0xff22, 0xfd83, 0xfe43, 0xfd83, 0xfe43, 0xfd83, 0xfe43, 0xfd31, 0xfddf, 0xfd31, -0xfddf, 0xfd0b, 0xfdab, 0xfd0b, 0xfdab, 0xfcd8, 0xfd6c, 0xfcd8, 0xfd6c, 0xfd1f, 0xfdac, -0xfd1f, 0xfdac, 0xfd45, 0xfdcf, 0xfd45, 0xfdcf, 0xfd38, 0xfdc7, 0xfd38, 0xfdc7, 0xfd38, -0xfdc7, 0xfcd7, 0xfd70, 0xfcd7, 0xfd70, 0xfc6e, 0xfd17, 0xfc6e, 0xfd17, 0xfc2f, 0xfcf0, -0xfc2f, 0xfcf0, 0xfb4a, 0xfc27, 0xfb4a, 0xfc27, 0xfa9e, 0xfb9c, 0xfa9e, 0xfb9c, 0xfa9e, -0xfb9c, 0xfa18, 0xfb3c, 0xfa18, 0xfb3c, 0xf9ac, 0xfaf8, 0xf9ac, 0xfaf8, 0xf8f6, 0xfa6b, -0xf8f6, 0xfa6b, 0xf7c5, 0xf963, 0xf7c5, 0xf963, 0xf66a, 0xf82f, 0xf66a, 0xf82f, 0xf49a, -0xf682, 0xf49a, 0xf682, 0xf49a, 0xf682, 0xf351, 0xf556, 0xf351, 0xf556, 0xf1ed, 0xf409, -0xf1ed, 0xf409, 0xf044, 0xf270, 0xf044, 0xf270, 0xeee6, 0xf118, 0xeee6, 0xf118, 0xee1a, -0xf049, 0xee1a, 0xf049, 0xedd1, 0xeff3, 0xedd1, 0xeff3, 0xedd1, 0xeff3, 0xed12, 0xef1b, -0xed12, 0xef1b, 0xec8d, 0xee74, 0xec8d, 0xee74, 0xecc5, 0xee7f, 0xecc5, 0xee7f, 0xed86, -0xef0a, 0xed86, 0xef0a, 0xee8b, 0xefce, 0xee8b, 0xefce, 0xee8b, 0xefce, 0xefed, 0xf0e9, -0xefed, 0xf0e9, 0xf16f, 0xf21d, 0xf16f, 0xf21d, 0xf2d0, 0xf32b, 0xf2d0, 0xf32b, 0xf4ab, -0xf4af, 0xf4ab, 0xf4af, 0xf679, 0xf624, 0xf679, 0xf624, 0xf83e, 0xf78f, 0xf83e, 0xf78f, -0xf83e, 0xf78f, 0xfa7f, 0xf977, 0xfa7f, 0xf977, 0xfcb1, 0xfb53, 0xfcb1, 0xfb53, 0xfedd, -0xfd2d, 0xfedd, 0xfd2d, 0x116, 0xff19, 0x116, 0xff19, 0x2bc, 0x78, 0x2bc, 0x78, -0x463, 0x1e0, 0x463, 0x1e0, 0x463, 0x1e0, 0x5fb, 0x341, 0x5fb, 0x341, 0x751, -0x469, 0x751, 0x469, 0x923, 0x616, 0x923, 0x616, 0xb05, 0x7dc, 0xb05, 0x7dc, -0xc5f, 0x925, 0xc5f, 0x925, 0xc5f, 0x925, 0xd26, 0x9e4, 0xd26, 0x9e4, 0xd9f, -0xa5d, 0xd9f, 0xa5d, 0xda0, 0xa67, 0xda0, 0xa67, 0xdb0, 0xa88, 0xdb0, 0xa88, -0xdb9, 0xaaa, 0xdb9, 0xaaa, 0xd9f, 0xab0, 0xd9f, 0xab0, 0xd9f, 0xab0, 0xdc1, -0xaf6, 0xdc1, 0xaf6, 0xdb9, 0xb18, 0xdb9, 0xb18, 0xe04, 0xb8f, 0xe04, 0xb8f, -0xd99, 0xb54, 0xd99, 0xb54, 0xd2e, 0xb1b, 0xd2e, 0xb1b, 0xd67, 0xb86, 0xd67, -0xb86, 0xd67, 0xb86, 0xd47, 0xb98, 0xd47, 0xb98, 0xd2e, 0xbb1, 0xd2e, 0xbb1, -0xc8f, 0xb41, 0xc8f, 0xb41, 0xbc7, 0xaa7, 0xbc7, 0xaa7, 0xac2, 0x9cb, 0xac2, -0x9cb, 0xac2, 0x9cb, 0xa23, 0x953, 0xa23, 0x953, 0x9ce, 0x921, 0x9ce, 0x921, -0x95d, 0x8cf, 0x95d, 0x8cf, 0x984, 0x911, 0x984, 0x911, 0x913, 0x8b7, 0x913, -0x8b7, 0x8a9, 0x85f, 0x8a9, 0x85f, 0x8a9, 0x85f, 0x824, 0x7ea, 0x824, 0x7ea, -0x758, 0x72b, 0x758, 0x72b, 0x6e5, 0x6c1, 0x6e5, 0x6c1, 0x69b, 0x67e, 0x69b, -0x67e, 0x684, 0x66e, 0x684, 0x66e, 0x656, 0x645, 0x656, 0x645, 0x656, 0x645, -0x6c3, 0x6b7, 0x6c3, 0x6b7, 0x6fb, 0x6f5, 0x6fb, 0x6f5, 0x6d5, 0x6d5, 0x6d5, -0x6d5, 0x752, 0x75b, 0x752, 0x75b, 0x799, 0x7ac, 0x799, 0x7ac, 0x799, 0x7ac, -0x765, 0x784, 0x765, 0x784, 0x75c, 0x78a, 0x75c, 0x78a, 0x79b, 0x7da, 0x79b, -0x7da, 0x7cc, 0x81d, 0x7cc, 0x81d, 0x815, 0x87a, 0x815, 0x87a, 0x88f, 0x909, -0x88f, 0x909, 0x88f, 0x909, 0x8b5, 0x946, 0x8b5, 0x946, 0x868, 0x90d, 0x868, -0x90d, 0x7e5, 0x89e, 0x7e5, 0x89e, 0x70e, 0x7d9, 0x70e, 0x7d9, 0x5fa, 0x6d3, -0x5fa, 0x6d3, 0x4f4, 0x5d8, 0x4f4, 0x5d8, 0x4f4, 0x5d8, 0x458, 0x541, 0x458, -0x541, 0x3e6, 0x4ce, 0x3e6, 0x4ce, 0x37f, 0x460, 0x37f, 0x460, 0x372, 0x444, -0x372, 0x444, 0x36d, 0x42a, 0x36d, 0x42a, 0x36d, 0x42a, 0x388, 0x428, 0x388, -0x428, 0x369, 0x3e4, 0x369, 0x3e4, 0x342, 0x392, 0x342, 0x392, 0x3c0, 0x3df, -0x3c0, 0x3df, 0x4ea, 0x4d3, 0x4ea, 0x4d3, 0x6ac, 0x65a, 0x6ac, 0x65a, 0x6ac, -0x65a, 0x8dd, 0x84c, 0x8dd, 0x84c, 0xb09, 0xa38, 0xb09, 0xa38, 0xc62, 0xb51, -0xc62, 0xb51, 0xddf, 0xc8e, 0xddf, 0xc8e, 0xf42, 0xdb4, 0xf42, 0xdb4, 0x104d, -0xe87, 0x104d, 0xe87, 0x104d, 0xe87, 0x11ca, 0xfd0, 0x11ca, 0xfd0, 0x12c9, 0x10a2, -0x12c9, 0x10a2, 0x139c, 0x114f, 0x139c, 0x114f, 0x1477, 0x120c, 0x1477, 0x120c, 0x1537, -0x12b8, 0x1537, 0x12b8, 0x1537, 0x12b8, 0x15bc, 0x1330, 0x15bc, 0x1330, 0x15ec, 0x135c, -0x15ec, 0x135c, 0x160c, 0x1381, 0x160c, 0x1381, 0x15cc, 0x134f, 0x15cc, 0x134f, 0x157c, -0x1314, 0x157c, 0x1314, 0x14dd, 0x128f, 0x14dd, 0x128f, 0x14dd, 0x128f, 0x13f8, 0x11cb, -0x13f8, 0x11cb, 0x12db, 0x10d2, 0x12db, 0x10d2, 0x118c, 0xfab, 0x118c, 0xfab, 0x1045, -0xe8e, 0x1045, 0xe8e, 0xe9c, 0xd0f, 0xe9c, 0xd0f, 0xd28, 0xbc4, 0xd28, 0xbc4, -0xd28, 0xbc4, 0xbff, 0xac3, 0xbff, 0xac3, 0xae8, 0x9d2, 0xae8, 0x9d2, 0x9f2, -0x8fe, 0x9f2, 0x8fe, 0x8ee, 0x81a, 0x8ee, 0x81a, 0x83d, 0x785, 0x83d, 0x785, -0x83d, 0x785, 0x7ba, 0x71a, 0x7ba, 0x71a, 0x6ce, 0x642, 0x6ce, 0x642, 0x5e5, -0x56b, 0x5e5, 0x56b, 0x50f, 0x4a4, 0x50f, 0x4a4, 0x403, 0x3a4, 0x403, 0x3a4, -0x309, 0x2b5, 0x309, 0x2b5, 0x309, 0x2b5, 0x23b, 0x1f2, 0x23b, 0x1f2, 0x1d6, -0x196, 0x1d6, 0x196, 0x17b, 0x146, 0x17b, 0x146, 0x158, 0x12f, 0x158, 0x12f, -0x13a, 0x11e, 0x13a, 0x11e, 0x13a, 0x11e, 0xb5, 0xa9, 0xb5, 0xa9, 0x46, -0x4c, 0x46, 0x4c, 0xffba, 0xffd5, 0xffba, 0xffd5, 0xfec8, 0xfefa, 0xfec8, 0xfefa, -0xfd17, 0xfd64, 0xfd17, 0xfd64, 0xfb9c, 0xfc06, 0xfb9c, 0xfc06, 0xfb9c, 0xfc06, 0xfa53, -0xfadb, 0xfa53, 0xfadb, 0xf922, 0xf9cb, 0xf922, 0xf9cb, 0xf7e4, 0xf8af, 0xf7e4, 0xf8af, -0xf672, 0xf75f, 0xf672, 0xf75f, 0xf607, 0xf718, 0xf607, 0xf718, 0xf596, 0xf6c9, 0xf596, -0xf6c9, 0xf596, 0xf6c9, 0xf551, 0xf6a7, 0xf551, 0xf6a7, 0xf548, 0xf6bf, 0xf548, 0xf6bf, -0xf545, 0xf6db, 0xf545, 0xf6db, 0xf570, 0xf724, 0xf570, 0xf724, 0xf563, 0xf734, 0xf563, -0xf734, 0xf563, 0xf734, 0xf56a, 0xf755, 0xf56a, 0xf755, 0xf51c, 0xf720, 0xf51c, 0xf720, -0xf519, 0xf734, 0xf519, 0xf734, 0xf4de, 0xf70e, 0xf4de, 0xf70e, 0xf454, 0xf699, 0xf454, -0xf699, 0xf3c2, 0xf61a, 0xf3c2, 0xf61a, 0xf3c2, 0xf61a, 0xf33a, 0xf5a3, 0xf33a, 0xf5a3, -0xf2c0, 0xf53a, 0xf2c0, 0xf53a, 0xf177, 0xf402, 0xf177, 0xf402, 0xf07d, 0xf318, 0xf07d, -0xf318, 0xefb9, 0xf262, 0xefb9, 0xf262, 0xeecd, 0xf185, 0xeecd, 0xf185, 0xeecd, 0xf185, -0xee0b, 0xf0d0, 0xee0b, 0xf0d0, 0xed2b, 0xeffd, 0xed2b, 0xeffd, 0xec3d, 0xef1b, 0xec3d, -0xef1b, 0xeb8d, 0xee74, 0xeb8d, 0xee74, 0xeb30, 0xee1f, 0xeb30, 0xee1f, 0xeb30, 0xee1f, -0xeae9, 0xeddf, 0xeae9, 0xeddf, 0xeae0, 0xedda, 0xeae0, 0xedda, 0xead5, 0xedd0, 0xead5, -0xedd0, 0xeab5, 0xedae, 0xeab5, 0xedae, 0xea9e, 0xed91, 0xea9e, 0xed91, 0xea96, 0xed81, -0xea96, 0xed81, 0xea96, 0xed81, 0xeafa, 0xedd9, 0xeafa, 0xedd9, 0xebe5, 0xeeb5, 0xebe5, -0xeeb5, 0xecc8, 0xef86, 0xecc8, 0xef86, 0xed8b, 0xf034, 0xed8b, 0xf034, 0xedfe, 0xf08f, -0xedfe, 0xf08f, 0xee15, 0xf08c, 0xee15, 0xf08c, 0xee15, 0xf08c, 0xee29, 0xf085, 0xee29, -0xf085, 0xee1c, 0xf05b, 0xee1c, 0xf05b, 0xee56, 0xf079, 0xee56, 0xf079, 0xeea0, 0xf0a7, -0xeea0, 0xf0a7, 0xef0a, 0xf0f6, 0xef0a, 0xf0f6, 0xef0a, 0xf0f6, 0xef89, 0xf15c, 0xef89, -0xf15c, 0xefc8, 0xf184, 0xefc8, 0xf184, 0xef81, 0xf129, 0xef81, 0xf129, 0xeed2, 0xf069, -0xeed2, 0xf069, 0xee65, 0xefef, 0xee65, 0xefef, 0xed95, 0xef16, 0xed95, 0xef16, 0xed95, -0xef16, 0xed0b, 0xee87, 0xed0b, 0xee87, 0xece5, 0xee61, 0xece5, 0xee61, 0xecd0, 0xee50, -0xecd0, 0xee50, 0xed05, 0xee8d, 0xed05, 0xee8d, 0xecf7, 0xee8a, 0xecf7, 0xee8a, 0xed04, -0xeea7, 0xed04, 0xeea7, 0xed04, 0xeea7, 0xecbd, 0xee73, 0xecbd, 0xee73, 0xec3a, 0xee05, -0xec3a, 0xee05, 0xeb9f, 0xed82, 0xeb9f, 0xed82, 0xeab2, 0xecaf, 0xeab2, 0xecaf, 0xe9ec, -0xec04, 0xe9ec, 0xec04, 0xe9ec, 0xec04, 0xe909, 0xeb3d, 0xe909, 0xeb3d, 0xe83f, 0xea90, -0xe83f, 0xea90, 0xe76f, 0xe9dc, 0xe76f, 0xe9dc, 0xe6ce, 0xe957, 0xe6ce, 0xe957, 0xe6a3, -0xe946, 0xe6a3, 0xe946, 0xe653, 0xe90f, 0xe653, 0xe90f, 0xe653, 0xe90f, 0xe5f3, 0xe8c6, -0xe5f3, 0xe8c6, 0xe5a4, 0xe88b, 0xe5a4, 0xe88b, 0xe585, 0xe87d, 0xe585, 0xe87d, 0xe51d, -0xe824, 0xe51d, 0xe824, 0xe489, 0xe79a, 0xe489, 0xe79a, 0xe484, 0xe79c, 0xe484, 0xe79c, -0xe484, 0xe79c, 0xe4b8, 0xe7d3, 0xe4b8, 0xe7d3, 0xe4d7, 0xe7f0, 0xe4d7, 0xe7f0, 0xe4f3, -0xe805, 0xe4f3, 0xe805, 0xe577, 0xe87f, 0xe577, 0xe87f, 0xe646, 0xe93e, 0xe646, 0xe93e, -0xe646, 0xe93e, 0xe72f, 0xea12, 0xe72f, 0xea12, 0xe8e4, 0xebad, 0xe8e4, 0xebad, 0xeb11, -0xedbc, 0xeb11, 0xedbc, 0xecc3, 0xef4b, 0xecc3, 0xef4b, 0xee8f, 0xf0f0, 0xee8f, 0xf0f0, -0xf069, 0xf2a0, 0xf069, 0xf2a0, 0xf069, 0xf2a0, 0xf21a, 0xf422, 0xf21a, 0xf422, 0xf459, -0xf631, 0xf459, 0xf631, 0xf6ab, 0xf84f, 0xf6ab, 0xf84f, 0xf888, 0xf9f6, 0xf888, 0xf9f6, -0xf9f8, 0xfb30, 0xf9f8, 0xfb30, 0xfb88, 0xfc88, 0xfb88, 0xfc88, 0xfb88, 0xfc88, 0xfd0c, -0xfdd4, 0xfd0c, 0xfdd4, 0xfe01, 0xfe92, 0xfe01, 0xfe92, 0xfe62, 0xfebd, 0xfe62, 0xfebd, -0xff01, 0xff27, 0xff01, 0xff27, 0x57, 0x4b, 0x57, 0x4b, 0x57, 0x4b, 0x181, -0x144, 0x181, 0x144, 0x296, 0x22b, 0x296, 0x22b, 0x32c, 0x295, 0x32c, 0x295, -0x3e6, 0x325, 0x3e6, 0x325, 0x4f8, 0x40f, 0x4f8, 0x40f, 0x5e7, 0x4d8, 0x5e7, -0x4d8, 0x5e7, 0x4d8, 0x6fc, 0x5c8, 0x6fc, 0x5c8, 0x81a, 0x6c1, 0x81a, 0x6c1, -0x9ac, 0x830, 0x9ac, 0x830, 0xb12, 0x973, 0xb12, 0x973, 0xc84, 0xac0, 0xc84, -0xac0, 0xde7, 0xbfe, 0xde7, 0xbfe, 0xde7, 0xbfe, 0xfab, 0xd9c, 0xfab, 0xd9c, -0x11cc, 0xf94, 0x11cc, 0xf94, 0x1370, 0x110e, 0x1370, 0x110e, 0x1553, 0x12c5, 0x1553, -0x12c5, 0x16e0, 0x1425, 0x16e0, 0x1425, 0x16e0, 0x1425, 0x1846, 0x155e, 0x1846, 0x155e, -0x19aa, 0x1692, 0x19aa, 0x1692, 0x1b39, 0x17f2, 0x1b39, 0x17f2, 0x1cbc, 0x1948, 0x1cbc, -0x1948, 0x1dcb, 0x1a2b, 0x1dcb, 0x1a2b, 0x1ee4, 0x1b1b, 0x1ee4, 0x1b1b, 0x1ee4, 0x1b1b, -0x1f8d, 0x1b9d, 0x1f8d, 0x1b9d, 0x1ff7, 0x1be7, 0x1ff7, 0x1be7, 0x2044, 0x1c19, 0x2044, -0x1c19, 0x2035, 0x1bf7, 0x2035, 0x1bf7, 0x1fc2, 0x1b78, 0x1fc2, 0x1b78, 0x1f09, 0x1abd, -0x1f09, 0x1abd, 0x1f09, 0x1abd, 0x1e5b, 0x1a14, 0x1e5b, 0x1a14, 0x1de2, 0x19aa, 0x1de2, -0x19aa, 0x1d5f, 0x1940, 0x1d5f, 0x1940, 0x1cc9, 0x18cd, 0x1cc9, 0x18cd, 0x1c0a, 0x1839, -0x1c0a, 0x1839, 0x1c0a, 0x1839, 0x1b10, 0x1771, 0x1b10, 0x1771, 0x19fe, 0x169a, 0x19fe, -0x169a, 0x18d4, 0x15b1, 0x18d4, 0x15b1, 0x17be, 0x14e2, 0x17be, 0x14e2, 0x1662, 0x13d0, -0x1662, 0x13d0, 0x1520, 0x12da, 0x1520, 0x12da, 0x1520, 0x12da, 0x13c2, 0x11c9, 0x13c2, -0x11c9, 0x120d, 0x1061, 0x120d, 0x1061, 0x1028, 0xec6, 0x1028, 0xec6, 0xe5b, 0xd40, -0xe5b, 0xd40, 0xd13, 0xc3b, 0xd13, 0xc3b, 0xd13, 0xc3b, 0xb4c, 0xab2, 0xb4c, -0xab2, 0x969, 0x905, 0x969, 0x905, 0x7fe, 0x7cb, 0x7fe, 0x7cb, 0x6dc, 0x6d2, -0x6dc, 0x6d2, 0x578, 0x591, 0x578, 0x591, 0x3dc, 0x411, 0x3dc, 0x411, 0x3dc, -0x411, 0x246, 0x290, 0x246, 0x290, 0x71, 0xcb, 0x71, 0xcb, 0xff16, 0xff7b, -0xff16, 0xff7b, 0xfdcd, 0xfe3a, 0xfdcd, 0xfe3a, 0xfc85, 0xfcf6, 0xfc85, 0xfcf6, 0xfbb0, -0xfc23, 0xfbb0, 0xfc23, 0xfbb0, 0xfc23, 0xfb52, 0xfbc7, 0xfb52, 0xfbc7, 0xfb90, 0xfc07, -0xfb90, 0xfc07, 0xfbdb, 0xfc56, 0xfbdb, 0xfc56, 0xfbe6, 0xfc66, 0xfbe6, 0xfc66, 0xfba7, -0xfc2f, 0xfba7, 0xfc2f, 0xfba7, 0xfc2f, 0xfb13, 0xfba7, 0xfb13, 0xfba7, 0xfa59, 0xfafc, -0xfa59, 0xfafc, 0xf9f4, 0xfaa9, 0xf9f4, 0xfaa9, 0xf9b5, 0xfa80, 0xf9b5, 0xfa80, 0xf91b, -0xf9fe, 0xf91b, 0xf9fe, 0xf89d, 0xf99b, 0xf89d, 0xf99b, 0xf89d, 0xf99b, 0xf872, 0xf98c, -0xf872, 0xf98c, 0xf83a, 0xf972, 0xf83a, 0xf972, 0xf755, 0xf8ab, 0xf755, 0xf8ab, 0xf5a2, -0xf714, 0xf5a2, 0xf714, 0xf400, 0xf58c, 0xf400, 0xf58c, 0xf286, 0xf428, 0xf286, 0xf428, -0xf286, 0xf428, 0xf10c, 0xf2c0, 0xf10c, 0xf2c0, 0xefe7, 0xf1a9, 0xefe7, 0xf1a9, 0xeecb, -0xf094, 0xeecb, 0xf094, 0xedc6, 0xef8e, 0xedc6, 0xef8e, 0xed36, 0xeef6, 0xed36, 0xeef6, -0xed36, 0xeef6, 0xeca6, 0xee57, 0xeca6, 0xee57, 0xec25, 0xedbf, 0xec25, 0xedbf, 0xec06, -0xed80, 0xec06, 0xed80, 0xec15, 0xed67, 0xec15, 0xed67, 0xec95, 0xedb8, 0xec95, 0xedb8, -0xedb5, 0xeea2, 0xedb5, 0xeea2, 0xedb5, 0xeea2, 0xef49, 0xeffb, 0xef49, 0xeffb, 0xf10a, -0xf17b, 0xf10a, 0xf17b, 0xf2dd, 0xf309, 0xf2dd, 0xf309, 0xf47d, 0xf460, 0xf47d, 0xf460, -0xf64e, 0xf5e6, 0xf64e, 0xf5e6, 0xf875, 0xf7c0, 0xf875, 0xf7c0, 0xf875, 0xf7c0, 0xfa71, -0xf971, 0xfa71, 0xf971, 0xfc90, 0xfb44, 0xfc90, 0xfb44, 0xfea5, 0xfd12, 0xfea5, 0xfd12, -0x100, 0xff28, 0x100, 0xff28, 0x334, 0x11c, 0x334, 0x11c, 0x334, 0x11c, 0x54a, -0x2f9, 0x54a, 0x2f9, 0x75c, 0x4d6, 0x75c, 0x4d6, 0x90f, 0x65c, 0x90f, 0x65c, -0xabf, 0x7e6, 0xabf, 0x7e6, 0xbb1, 0x8ba, 0xbb1, 0x8ba, 0xc64, 0x957, 0xc64, -0x957, 0xc64, 0x957, 0xcf5, 0x9db, 0xcf5, 0x9db, 0xdcf, 0xab0, 0xdcf, 0xab0, -0xe7a, 0xb5d, 0xe7a, 0xb5d, 0xe60, 0xb4e, 0xe60, 0xb4e, 0xea6, 0xba6, 0xea6, -0xba6, 0xebd, 0xbd5, 0xebd, 0xbd5, 0xebd, 0xbd5, 0xedd, 0xc12, 0xedd, 0xc12, -0xeed, 0xc45, 0xeed, 0xc45, 0xef4, 0xc75, 0xef4, 0xc75, 0xf00, 0xcaa, 0xf00, -0xcaa, 0xf03, 0xcdb, 0xf03, 0xcdb, 0xf03, 0xcdb, 0xf1f, 0xd26, 0xf1f, 0xd26, -0xea5, 0xcdb, 0xea5, 0xcdb, 0xe20, 0xc85, 0xe20, 0xc85, 0xd5d, 0xbef, 0xd5d, -0xbef, 0xc81, 0xb3f, 0xc81, 0xb3f, 0xc0e, 0xaf5, 0xc0e, 0xaf5, 0xc0e, 0xaf5, -0xb96, 0xaa3, 0xb96, 0xaa3, 0xb7f, 0xaaf, 0xb7f, 0xaaf, 0xbbe, 0xb0d, 0xbbe, -0xb0d, 0xb89, 0xaf2, 0xb89, 0xaf2, 0xb2d, 0xaad, 0xb2d, 0xaad, 0xaed, 0xa81, -0xaed, 0xa81, 0xaed, 0xa81, 0xa81, 0xa24, 0xa81, 0xa24, 0x9e8, 0x997, 0x9e8, -0x997, 0x973, 0x92b, 0x973, 0x92b, 0x8f6, 0x8b7, 0x8f6, 0x8b7, 0x83d, 0x803, -0x83d, 0x803, 0x83d, 0x803, 0x821, 0x7eb, 0x821, 0x7eb, 0x83a, 0x80a, 0x83a, -0x80a, 0x857, 0x82a, 0x857, 0x82a, 0x87b, 0x854, 0x87b, 0x854, 0x89c, 0x87b, -0x89c, 0x87b, 0x8a1, 0x888, 0x8a1, 0x888, 0x8a1, 0x888, 0x7fb, 0x7ec, 0x7fb, -0x7ec, 0x80e, 0x80a, 0x80e, 0x80a, 0x8b0, 0x8b8, 0x8b0, 0x8b8, 0x919, 0x930, -0x919, 0x930, 0x932, 0x959, 0x932, 0x959, 0x8f6, 0x92d, 0x8f6, 0x92d, 0x8f6, -0x92d, 0x8bd, 0x904, 0x8bd, 0x904, 0x8a5, 0x8fc, 0x8a5, 0x8fc, 0x891, 0x8f7, -0x891, 0x8f7, 0x766, 0x7d8, 0x766, 0x7d8, 0x629, 0x6a5, 0x629, 0x6a5, 0x629, -0x6a5, 0x544, 0x5c6, 0x544, 0x5c6, 0x480, 0x504, 0x480, 0x504, 0x459, 0x4db, -0x459, 0x4db, 0x3c7, 0x441, 0x3c7, 0x441, 0x339, 0x3a5, 0x339, 0x3a5, 0x319, -0x372, 0x319, 0x372, 0x319, 0x372, 0x308, 0x348, 0x308, 0x348, 0x314, 0x336, -0x314, 0x336, 0x3a0, 0x39d, 0x3a0, 0x39d, 0x49f, 0x474, 0x49f, 0x474, 0x5a7, -0x54f, 0x5a7, 0x54f, 0x6f7, 0x670, 0x6f7, 0x670, 0x6f7, 0x670, 0x845, 0x78b, -0x845, 0x78b, 0x999, 0x8ac, 0x999, 0x8ac, 0xb15, 0x9f3, 0xb15, 0x9f3, 0xc75, -0xb20, 0xc75, 0xb20, 0xde2, 0xc5a, 0xde2, 0xc5a, 0xde2, 0xc5a, 0xf1e, 0xd68, -0xf1e, 0xd68, 0x1044, 0xe62, 0x1044, 0xe62, 0x1158, 0xf4e, 0x1158, 0xf4e, 0x122a, -0xfff, 0x122a, 0xfff, 0x1349, 0x1100, 0x1349, 0x1100, 0x1451, 0x11f2, 0x1451, 0x11f2, -0x1451, 0x11f2, 0x14e8, 0x1278, 0x14e8, 0x1278, 0x1563, 0x12e8, 0x1563, 0x12e8, 0x155c, -0x12dd, 0x155c, 0x12dd, 0x14d3, 0x1255, 0x14d3, 0x1255, 0x13d4, 0x115d, 0x13d4, 0x115d, -0x12aa, 0x103e, 0x12aa, 0x103e, 0x12aa, 0x103e, 0x118b, 0xf2f, 0x118b, 0xf2f, 0x1065, -0xe1c, 0x1065, 0xe1c, 0xf70, 0xd3d, 0xf70, 0xd3d, 0xe24, 0xc09, 0xe24, 0xc09, -0xcd3, 0xad2, 0xcd3, 0xad2, 0xcd3, 0xad2, 0xb6f, 0x989, 0xb6f, 0x989, 0xa20, -0x853, 0xa20, 0x853, 0x986, 0x7d3, 0x986, 0x7d3, 0x90b, 0x771, 0x90b, 0x771, -0x87c, 0x6fa, 0x87c, 0x6fa, 0x7b2, 0x647, 0x7b2, 0x647, 0x7b2, 0x647, 0x728, -0x5d2, 0x728, 0x5d2, 0x630, 0x4ed, 0x630, 0x4ed, 0x515, 0x3e4, 0x515, 0x3e4, -0x484, 0x363, 0x484, 0x363, 0x381, 0x26f, 0x381, 0x26f, 0x381, 0x26f, 0x2e6, -0x1e2, 0x2e6, 0x1e2, 0x294, 0x19e, 0x294, 0x19e, 0x286, 0x19e, 0x286, 0x19e, -0x23e, 0x163, 0x23e, 0x163, 0x19b, 0xce, 0x19b, 0xce, 0x18a, 0xcc, 0x18a, -0xcc, 0x18a, 0xcc, 0x15a, 0xac, 0x15a, 0xac, 0xd2, 0x36, 0xd2, 0x36, -0xff9e, 0xff16, 0xff9e, 0xff16, 0xfe76, 0xfe04, 0xfe76, 0xfe04, 0xfd46, 0xfceb, 0xfd46, -0xfceb, 0xfc06, 0xfbc4, 0xfc06, 0xfbc4, 0xfc06, 0xfbc4, 0xfaff, 0xfada, 0xfaff, 0xfada, -0xf9b5, 0xf9ae, 0xf9b5, 0xf9ae, 0xf8f6, 0xf90e, 0xf8f6, 0xf90e, 0xf85b, 0xf895, 0xf85b, -0xf895, 0xf7d8, 0xf836, 0xf7d8, 0xf836, 0xf7d8, 0xf836, 0xf750, 0xf7d4, 0xf750, 0xf7d4, -0xf6ac, 0xf756, 0xf6ac, 0xf756, 0xf694, 0xf767, 0xf694, 0xf767, 0xf6aa, 0xf7a6, 0xf6aa, -0xf7a6, 0xf6a0, 0xf7c5, 0xf6a0, 0xf7c5, 0xf698, 0xf7e6, 0xf698, 0xf7e6, 0xf698, 0xf7e6, -0xf6d3, 0xf84b, 0xf6d3, 0xf84b, 0xf6ff, 0xf8a1, 0xf6ff, 0xf8a1, 0xf716, 0xf8e0, 0xf716, -0xf8e0, 0xf705, 0xf8f7, 0xf705, 0xf8f7, 0xf67f, 0xf899, 0xf67f, 0xf899, 0xf5ba, 0xf7f9, -0xf5ba, 0xf7f9, 0xf5ba, 0xf7f9, 0xf4d1, 0xf733, 0xf4d1, 0xf733, 0xf3b3, 0xf636, 0xf3b3, -0xf636, 0xf287, 0xf52a, 0xf287, 0xf52a, 0xf173, 0xf432, 0xf173, 0xf432, 0xf060, 0xf338, -0xf060, 0xf338, 0xf060, 0xf338, 0xef44, 0xf232, 0xef44, 0xf232, 0xee43, 0xf144, 0xee43, -0xf144, 0xeda1, 0xf0b1, 0xeda1, 0xf0b1, 0xed0a, 0xf026, 0xed0a, 0xf026, 0xec68, 0xef8b, -0xec68, 0xef8b, 0xebe1, 0xef08, 0xebe1, 0xef08, 0xebe1, 0xef08, 0xeb82, 0xeeaa, 0xeb82, -0xeeaa, 0xeb28, 0xee4c, 0xeb28, 0xee4c, 0xeac0, 0xeddd, 0xeac0, 0xeddd, 0xea72, 0xed84, -0xea72, 0xed84, 0xea45, 0xed4a, 0xea45, 0xed4a, 0xeab9, 0xedad, 0xeab9, 0xedad, 0xeab9, -0xedad, 0xeb92, 0xee73, 0xeb92, 0xee73, 0xec87, 0xef52, 0xec87, 0xef52, 0xed1c, 0xefd0, -0xed1c, 0xefd0, 0xed64, 0xefff, 0xed64, 0xefff, 0xee14, 0xf095, 0xee14, 0xf095, 0xee14, -0xf095, 0xeeba, 0xf122, 0xeeba, 0xf122, 0xef3c, 0xf18a, 0xef3c, 0xf18a, 0xef72, 0xf1a7, -0xef72, 0xf1a7, 0xefe0, 0xf1fc, 0xefe0, 0xf1fc, 0xf061, 0xf267, 0xf061, 0xf267, 0xf056, -0xf247, 0xf056, 0xf247, 0xf056, 0xf247, 0xf032, 0xf211, 0xf032, 0xf211, 0xefdb, 0xf1aa, -0xefdb, 0xf1aa, 0xef96, 0xf159, 0xef96, 0xf159, 0xef76, 0xf130, 0xef76, 0xf130, 0xef19, -0xf0ce, 0xef19, 0xf0ce, 0xee38, 0xefeb, 0xee38, 0xefeb, 0xee38, 0xefeb, 0xed53, 0xef08, -0xed53, 0xef08, 0xecfc, 0xeeb7, 0xecfc, 0xeeb7, 0xece9, 0xeeae, 0xece9, 0xeeae, 0xed18, -0xeeea, 0xed18, 0xeeea, 0xed32, 0xef15, 0xed32, 0xef15, 0xed32, 0xef15, 0xed17, 0xef0e, -0xed17, 0xef0e, 0xecc1, 0xeecf, 0xecc1, 0xeecf, 0xec00, 0xee29, 0xec00, 0xee29, 0xeb3c, -0xed81, 0xeb3c, 0xed81, 0xea5d, 0xecc0, 0xea5d, 0xecc0, 0xe8f3, 0xeb76, 0xe8f3, 0xeb76, -0xe8f3, 0xeb76, 0xe7ba, 0xea5d, 0xe7ba, 0xea5d, 0xe6f4, 0xe9b8, 0xe6f4, 0xe9b8, 0xe662, -0xe946, 0xe662, 0xe946, 0xe626, 0xe929, 0xe626, 0xe929, 0xe5cd, 0xe8ed, 0xe5cd, 0xe8ed, -0xe59f, 0xe8d9, 0xe59f, 0xe8d9, 0xe59f, 0xe8d9, 0xe54e, 0xe8a0, 0xe54e, 0xe8a0, 0xe4b7, -0xe81e, 0xe4b7, 0xe81e, 0xe471, 0xe7e8, 0xe471, 0xe7e8, 0xe41d, 0xe79f, 0xe41d, 0xe79f, -0xe3c1, 0xe749, 0xe3c1, 0xe749, 0xe3c1, 0xe749, 0xe3cf, 0xe757, 0xe3cf, 0xe757, 0xe407, -0xe78b, 0xe407, 0xe78b, 0xe3c6, 0xe73e, 0xe3c6, 0xe73e, 0xe416, 0xe77d, 0xe416, 0xe77d, -0xe4ef, 0xe83e, 0xe4ef, 0xe83e, 0xe5ac, 0xe8dd, 0xe5ac, 0xe8dd, 0xe5ac, 0xe8dd, 0xe6d4, -0xe9e1, 0xe6d4, 0xe9e1, 0xe82c, 0xeb0f, 0xe82c, 0xeb0f, 0xe9e8, 0xec9d, 0xe9e8, 0xec9d, -0xebaa, 0xee2c, 0xebaa, 0xee2c, 0xed6d, 0xefb8, 0xed6d, 0xefb8, 0xef2b, 0xf13b, 0xef2b, -0xf13b, 0xef2b, 0xf13b, 0xf0c5, 0xf298, 0xf0c5, 0xf298, 0xf292, 0xf426, 0xf292, 0xf426, -0xf48b, 0xf5df, 0xf48b, 0xf5df, 0xf6be, 0xf7d0, 0xf6be, 0xf7d0, 0xf890, 0xf960, 0xf890, -0xf960, 0xf890, 0xf960, 0xf9fe, 0xfa8d, 0xf9fe, 0xfa8d, 0xfaf5, 0xfb44, 0xfaf5, 0xfb44, -0xfbed, 0xfbfd, 0xfbed, 0xfbfd, 0xfd37, 0xfd0a, 0xfd37, 0xfd0a, 0xfe42, 0xfdd9, 0xfe42, -0xfdd9, 0xff09, 0xfe67, 0xff09, 0xfe67, 0xff09, 0xfe67, 0xff6e, 0xfe94, 0xff6e, 0xfe94, -0x2b, 0xff1b, 0x2b, 0xff1b, 0x168, 0x24, 0x168, 0x24, 0x2b1, 0x13b, 0x2b1, -0x13b, 0x3c6, 0x21e, 0x3c6, 0x21e, 0x4df, 0x306, 0x4df, 0x306, 0x4df, 0x306, -0x659, 0x450, 0x659, 0x450, 0x78b, 0x551, 0x78b, 0x551, 0x89a, 0x62e, 0x89a, -0x62e, 0x9f2, 0x755, 0x9f2, 0x755, 0xb6c, 0x89d, 0xb6c, 0x89d, 0xb6c, 0x89d, -0xd0f, 0xa0d, 0xd0f, 0xa0d, 0xf0d, 0xbd7, 0xf0d, 0xbd7, 0x10f9, 0xd90, 0x10f9, -0xd90, 0x12cc, 0xf2e, 0x12cc, 0xf2e, 0x14fa, 0x1129, 0x14fa, 0x1129, 0x1705, 0x1300, -0x1705, 0x1300, 0x1705, 0x1300, 0x18ea, 0x14b3, 0x18ea, 0x14b3, 0x1adf, 0x1678, 0x1adf, -0x1678, 0x1cb7, 0x1824, 0x1cb7, 0x1824, 0x1e6e, 0x19b2, 0x1e6e, 0x19b2, 0x1ff8, 0x1b18, -0x1ff8, 0x1b18, 0x2106, 0x1c07, 0x2106, 0x1c07, 0x2106, 0x1c07, 0x219b, 0x1c85, 0x219b, -0x1c85, 0x21ad, 0x1c87, 0x21ad, 0x1c87, 0x2163, 0x1c35, 0x2163, 0x1c35, 0x217c, 0x1c4f, -0x217c, 0x1c4f, 0x218f, 0x1c6b, 0x218f, 0x1c6b, 0x218f, 0x1c6b, 0x216d, 0x1c5c, 0x216d, -0x1c5c, 0x211f, 0x1c2c, 0x211f, 0x1c2c, 0x20b5, 0x1be8, 0x20b5, 0x1be8, 0x201f, 0x1b81, -0x201f, 0x1b81, 0x1f41, 0x1adc, 0x1f41, 0x1adc, 0x1e91, 0x1a6c, 0x1e91, 0x1a6c, 0x1e91, -0x1a6c, 0x1da5, 0x19c7, 0x1da5, 0x19c7, 0x1c77, 0x18e7, 0x1c77, 0x18e7, 0x1b26, 0x17ea, -0x1b26, 0x17ea, 0x1a59, 0x1773, 0x1a59, 0x1773, 0x1975, 0x16e9, 0x1975, 0x16e9, 0x1975, -0x16e9, 0x17c9, 0x1599, 0x17c9, 0x1599, 0x1686, 0x14b1, 0x1686, 0x14b1, 0x1504, 0x138a, -0x1504, 0x138a, 0x1331, 0x120f, 0x1331, 0x120f, 0x1172, 0x10a5, 0x1172, 0x10a5, 0xf6f, -0xef2, 0xf6f, 0xef2, 0xf6f, 0xef2, 0xd4e, 0xd1c, 0xd4e, 0xd1c, 0xb81, 0xb94, -0xb81, 0xb94, 0xa39, 0xa8b, 0xa39, 0xa8b, 0x8a1, 0x92b, 0x8a1, 0x92b, 0x6a0, -0x75c, 0x6a0, 0x75c, 0x4b6, 0x59d, 0x4b6, 0x59d, 0x4b6, 0x59d, 0x30b, 0x418, -0x30b, 0x418, 0x15f, 0x28b, 0x15f, 0x28b, 0xff9a, 0xe0, 0xff9a, 0xe0, 0xfe64, -0xffc1, 0xfe64, 0xffc1, 0xfded, 0xff5c, 0xfded, 0xff5c, 0xfded, 0xff5c, 0xfd79, 0xfef7, -0xfd79, 0xfef7, 0xfd11, 0xfe9e, 0xfd11, 0xfe9e, 0xfcd0, 0xfe69, 0xfcd0, 0xfe69, 0xfc97, -0xfe3e, 0xfc97, 0xfe3e, 0xfc5b, 0xfe10, 0xfc5b, 0xfe10, 0xfbd9, 0xfd9d, 0xfbd9, 0xfd9d, -0xfbd9, 0xfd9d, 0xfb96, 0xfd6c, 0xfb96, 0xfd6c, 0xfb2f, 0xfd19, 0xfb2f, 0xfd19, 0xfaba, -0xfcbb, 0xfaba, 0xfcbb, 0xfa78, 0xfc93, 0xfa78, 0xfc93, 0xfa0e, 0xfc46, 0xfa0e, 0xfc46, -0xf9aa, 0xfc01, 0xf9aa, 0xfc01, 0xf9aa, 0xfc01, 0xf8fc, 0xfb75, 0xf8fc, 0xfb75, 0xf826, -0xfac3, 0xf826, 0xfac3, 0xf6fb, 0xf9bc, 0xf6fb, 0xf9bc, 0xf589, 0xf86e, 0xf589, 0xf86e, -0xf3ef, 0xf6f7, 0xf3ef, 0xf6f7, 0xf3ef, 0xf6f7, 0xf1fa, 0xf523, 0xf1fa, 0xf523, 0xeffa, -0xf341, 0xeffa, 0xf341, 0xee5f, 0xf1be, 0xee5f, 0xf1be, 0xed22, 0xf095, 0xed22, 0xf095, -0xec20, 0xef9f, 0xec20, 0xef9f, 0xeb5a, 0xeedf, 0xeb5a, 0xeedf, 0xeb5a, 0xeedf, 0xea5a, -0xeddc, 0xea5a, 0xeddc, 0xe9b9, 0xed2f, 0xe9b9, 0xed2f, 0xe986, 0xece7, 0xe986, 0xece7, -0xe99b, 0xecdd, 0xe99b, 0xecdd, 0xea42, 0xed5a, 0xea42, 0xed5a, 0xeb1d, 0xee02, 0xeb1d, -0xee02, 0xeb1d, 0xee02, 0xec49, 0xeef3, 0xec49, 0xeef3, 0xedcf, 0xf033, 0xedcf, 0xf033, -0xefc5, 0xf1dc, 0xefc5, 0xf1dc, 0xf1b9, 0xf37c, 0xf1b9, 0xf37c, 0xf3af, 0xf518, 0xf3af, -0xf518, 0xf3af, 0xf518, 0xf5ba, 0xf6c5, 0xf5ba, 0xf6c5, 0xf7e5, 0xf88f, 0xf7e5, 0xf88f, -0xfaa3, 0xfaea, 0xfaa3, 0xfaea, 0xfd2a, 0xfd0e, 0xfd2a, 0xfd0e, 0xff83, 0xff04, 0xff83, -0xff04, 0x1e8, 0x10b, 0x1e8, 0x10b, 0x1e8, 0x10b, 0x475, 0x33d, 0x475, 0x33d, -0x6fd, 0x571, 0x6fd, 0x571, 0x88a, 0x6b0, 0x88a, 0x6b0, 0x9af, 0x78f, 0x9af, -0x78f, 0xae5, 0x888, 0xae5, 0x888, 0xbe1, 0x950, 0xbe1, 0x950, 0xbe1, 0x950, -0xcb6, 0x9fb, 0xcb6, 0x9fb, 0xd4b, 0xa71, 0xd4b, 0xa71, 0xd99, 0xaa9, 0xd99, -0xaa9, 0xdee, 0xaf2, 0xdee, 0xaf2, 0xe4c, 0xb4e, 0xe4c, 0xb4e, 0xe4c, 0xb4e, -0xe80, 0xb88, 0xe80, 0xb88, 0xe98, 0xbaf, 0xe98, 0xbaf, 0xe7d, 0xba9, 0xe7d, -0xba9, 0xe53, 0xb9b, 0xe53, 0xb9b, 0xe33, 0xb9c, 0xe33, 0xb9c, 0xdcf, 0xb5d, -0xdcf, 0xb5d, 0xdcf, 0xb5d, 0xd46, 0xafb, 0xd46, 0xafb, 0xcec, 0xaca, 0xcec, -0xaca, 0xc8a, 0xa92, 0xc8a, 0xa92, 0xc16, 0xa47, 0xc16, 0xa47, 0xbed, 0xa45, -0xbed, 0xa45, 0xb9b, 0xa18, 0xb9b, 0xa18, 0xb9b, 0xa18, 0xb13, 0x9b2, 0xb13, -0x9b2, 0xace, 0x98d, 0xace, 0x98d, 0xae4, 0x9bd, 0xae4, 0x9bd, 0xafc, 0x9ed, -0xafc, 0x9ed, 0xad8, 0x9db, 0xad8, 0x9db, 0xad8, 0x9db, 0xaaa, 0x9bc, 0xaaa, -0x9bc, 0xa43, 0x960, 0xa43, 0x960, 0x9ab, 0x8d0, 0x9ab, 0x8d0, 0x954, 0x87f, -0x954, 0x87f, 0x96d, 0x89b, 0x96d, 0x89b, 0x968, 0x897, 0x968, 0x897, 0x968, -0x897, 0x961, 0x891, 0x961, 0x891, 0x976, 0x8a7, 0x976, 0x8a7, 0x927, 0x859, -0x927, 0x859, 0x8f0, 0x823, 0x8f0, 0x823, 0x8d1, 0x807, 0x8d1, 0x807, 0x8b0, -0x7ec, 0x8b0, 0x7ec, 0x8b0, 0x7ec, 0x8c3, 0x806, 0x8c3, 0x806, 0x928, 0x874, -0x928, 0x874, 0x96b, 0x8c2, 0x96b, 0x8c2, 0x984, 0x8e8, 0x984, 0x8e8, 0x9c7, -0x93b, 0x9c7, 0x93b, 0x9c7, 0x93b, 0x9f9, 0x97d, 0x9f9, 0x97d, 0xa3a, 0x9d0, -0xa3a, 0x9d0, 0x9e6, 0x98e, 0x9e6, 0x98e, 0x924, 0x8dc, 0x924, 0x8dc, 0x884, -0x84d, 0x884, 0x84d, 0x80c, 0x7e2, 0x80c, 0x7e2, 0x80c, 0x7e2, 0x771, 0x753, -0x771, 0x753, 0x68d, 0x678, 0x68d, 0x678, 0x5ea, 0x5d9, 0x5ea, 0x5d9, 0x56f, -0x55e, 0x56f, 0x55e, 0x541, 0x52b, 0x541, 0x52b, 0x528, 0x508, 0x528, 0x508, -0x528, 0x508, 0x529, 0x4fa, 0x529, 0x4fa, 0x582, 0x53f, 0x582, 0x53f, 0x615, -0x5b7, 0x615, 0x5b7, 0x702, 0x685, 0x702, 0x685, 0x7fc, 0x75c, 0x7fc, 0x75c, -0x7fc, 0x75c, 0x8f0, 0x828, 0x8f0, 0x828, 0x9e7, 0x8f4, 0x9e7, 0x8f4, 0xaf1, -0x9d1, 0xaf1, 0x9d1, 0xc32, 0xae2, 0xc32, 0xae2, 0xd91, 0xc11, 0xd91, 0xc11, -0xee2, 0xd33, 0xee2, 0xd33, 0xee2, 0xd33, 0x1035, 0xe57, 0x1035, 0xe57, 0x11dc, -0xfd3, 0x11dc, 0xfd3, 0x138f, 0x115c, 0x138f, 0x115c, 0x14b4, 0x125c, 0x14b4, 0x125c, -0x15d4, 0x135b, 0x15d4, 0x135b, 0x16ba, 0x1426, 0x16ba, 0x1426, 0x16ba, 0x1426, 0x1704, -0x145c, 0x1704, 0x145c, 0x1723, 0x146c, 0x1723, 0x146c, 0x16a4, 0x13e5, 0x16a4, 0x13e5, -0x160f, 0x134e, 0x160f, 0x134e, 0x154c, 0x1290, 0x154c, 0x1290, 0x154c, 0x1290, 0x1447, -0x1196, 0x1447, 0x1196, 0x13bd, 0x111d, 0x13bd, 0x111d, 0x12f2, 0x1069, 0x12f2, 0x1069, -0x1192, 0xf24, 0x1192, 0xf24, 0xfd9, 0xd8c, 0xfd9, 0xd8c, 0xe55, 0xc2c, 0xe55, -0xc2c, 0xe55, 0xc2c, 0xd00, 0xafe, 0xd00, 0xafe, 0xbcf, 0x9f7, 0xbcf, 0x9f7, -0xb09, 0x95c, 0xb09, 0x95c, 0xa41, 0x8bf, 0xa41, 0x8bf, 0x971, 0x81b, 0x971, -0x81b, 0x971, 0x81b, 0x8a4, 0x779, 0x8a4, 0x779, 0x80c, 0x70b, 0x80c, 0x70b, -0x743, 0x669, 0x743, 0x669, 0x604, 0x551, 0x604, 0x551, 0x549, 0x4b9, 0x549, -0x4b9, 0x4d7, 0x468, 0x4d7, 0x468, 0x4d7, 0x468, 0x3ee, 0x39d, 0x3ee, 0x39d, -0x2f7, 0x2c2, 0x2f7, 0x2c2, 0x254, 0x237, 0x254, 0x237, 0x204, 0x1fd, 0x204, -0x1fd, 0x1b8, 0x1c5, 0x1b8, 0x1c5, 0x12b, 0x14a, 0x12b, 0x14a, 0x12b, 0x14a, -0x63, 0x92, 0x63, 0x92, 0xff61, 0xff9f, 0xff61, 0xff9f, 0xfe6c, 0xfeb8, 0xfe6c, -0xfeb8, 0xfd90, 0xfdea, 0xfd90, 0xfdea, 0xfc9a, 0xfd02, 0xfc9a, 0xfd02, 0xfc9a, 0xfd02, -0xfba2, 0xfc18, 0xfba2, 0xfc18, 0xfa92, 0xfb16, 0xfa92, 0xfb16, 0xf97e, 0xfa12, 0xf97e, -0xfa12, 0xf877, 0xf91d, 0xf877, 0xf91d, 0xf745, 0xf7fe, 0xf745, 0xf7fe, 0xf634, 0xf701, -0xf634, 0xf701, 0xf634, 0xf701, 0xf557, 0xf63b, 0xf557, 0xf63b, 0xf4b3, 0xf5b0, 0xf4b3, -0xf5b0, 0xf472, 0xf58a, 0xf472, 0xf58a, 0xf464, 0xf598, 0xf464, 0xf598, 0xf47b, 0xf5ce, -0xf47b, 0xf5ce, 0xf491, 0xf604, 0xf491, 0xf604, 0xf491, 0xf604, 0xf49c, 0xf631, 0xf49c, -0xf631, 0xf4d1, 0xf687, 0xf4d1, 0xf687, 0xf518, 0xf6f2, 0xf518, 0xf6f2, 0xf50b, 0xf709, -0xf50b, 0xf709, 0xf46d, 0xf68f, 0xf46d, 0xf68f, 0xf46d, 0xf68f, 0xf369, 0xf5ae, 0xf369, -0xf5ae, 0xf24c, 0xf4b5, 0xf24c, 0xf4b5, 0xf105, 0xf391, 0xf105, 0xf391, 0xefa4, 0xf250, -0xefa4, 0xf250, 0xee5b, 0xf126, 0xee5b, 0xf126, 0xed2b, 0xf015, 0xed2b, 0xf015, 0xed2b, -0xf015, 0xec1d, 0xef21, 0xec1d, 0xef21, 0xeb01, 0xee1f, 0xeb01, 0xee1f, 0xea4b, 0xed7e, -0xea4b, 0xed7e, 0xe9a4, 0xecea, 0xe9a4, 0xecea, 0xe8de, 0xec34, 0xe8de, 0xec34, 0xe83b, -0xeb9d, 0xe83b, 0xeb9d, 0xe83b, 0xeb9d, 0xe761, 0xeacc, 0xe761, 0xeacc, 0xe6ab, 0xea1c, -0xe6ab, 0xea1c, 0xe622, 0xe995, 0xe622, 0xe995, 0xe607, 0xe979, 0xe607, 0xe979, 0xe640, -0xe9ad, 0xe640, 0xe9ad, 0xe640, 0xe9ad, 0xe679, 0xe9df, 0xe679, 0xe9df, 0xe6ad, 0xea08, -0xe6ad, 0xea08, 0xe72f, 0xea7d, 0xe72f, 0xea7d, 0xe84e, 0xeb8c, 0xe84e, 0xeb8c, 0xe94c, -0xec78, 0xe94c, 0xec78, 0xea53, 0xed6a, 0xea53, 0xed6a, 0xea53, 0xed6a, 0xeb55, 0xee57, -0xeb55, 0xee57, 0xec05, 0xeef0, 0xec05, 0xeef0, 0xecb2, 0xef86, 0xecb2, 0xef86, 0xed8c, -0xf048, 0xed8c, 0xf048, 0xee42, 0xf0e6, 0xee42, 0xf0e6, 0xee6c, 0xf0fa, 0xee6c, 0xf0fa, -0xee6c, 0xf0fa, 0xee5c, 0xf0d4, 0xee5c, 0xf0d4, 0xee48, 0xf0ac, 0xee48, 0xf0ac, 0xedfa, -0xf04d, 0xedfa, 0xf04d, 0xed6e, 0xefb1, 0xed6e, 0xefb1, 0xed55, 0xef8c, 0xed55, 0xef8c, -0xed55, 0xef8c, 0xed97, 0xefc5, 0xed97, 0xefc5, 0xedb0, 0xefd8, 0xedb0, 0xefd8, 0xedbc, -0xefe1, 0xedbc, 0xefe1, 0xedb7, 0xefde, 0xedb7, 0xefde, 0xed92, 0xefbe, 0xed92, 0xefbe, -0xed4e, 0xef83, 0xed4e, 0xef83, 0xed4e, 0xef83, 0xecfa, 0xef3c, 0xecfa, 0xef3c, 0xecc0, -0xef11, 0xecc0, 0xef11, 0xec68, 0xeecc, 0xec68, 0xeecc, 0xebb0, 0xee29, 0xebb0, 0xee29, -0xeb24, 0xedb3, 0xeb24, 0xedb3, 0xea81, 0xed29, 0xea81, 0xed29, 0xea81, 0xed29, 0xe99e, -0xec5f, 0xe99e, 0xec5f, 0xe8e9, 0xebc3, 0xe8e9, 0xebc3, 0xe833, 0xeb25, 0xe833, 0xeb25, -0xe76a, 0xea73, 0xe76a, 0xea73, 0xe6d4, 0xe9f2, 0xe6d4, 0xe9f2, 0xe6d4, 0xe9f2, 0xe6d9, -0xea08, 0xe6d9, 0xea08, 0xe6d7, 0xea14, 0xe6d7, 0xea14, 0xe692, 0xe9d8, 0xe692, 0xe9d8, -0xe67a, 0xe9c4, 0xe67a, 0xe9c4, 0xe67f, 0xe9c7, 0xe67f, 0xe9c7, 0xe6bb, 0xe9fb, 0xe6bb, -0xe9fb, 0xe6bb, 0xe9fb, 0xe701, 0xea33, 0xe701, 0xea33, 0xe6ec, 0xea09, 0xe6ec, 0xea09, -0xe67e, 0xe980, 0xe67e, 0xe980, 0xe66f, 0xe94f, 0xe66f, 0xe94f, 0xe702, 0xe9b9, 0xe702, -0xe9b9, 0xe7c0, 0xea49, 0xe7c0, 0xea49, 0xe7c0, 0xea49, 0xe89f, 0xeaf4, 0xe89f, 0xeaf4, -0xe9f5, 0xec11, 0xe9f5, 0xec11, 0xebb4, 0xed93, 0xebb4, 0xed93, 0xed97, 0xef34, 0xed97, -0xef34, 0xef68, 0xf0c2, 0xef68, 0xf0c2, 0xef68, 0xf0c2, 0xf0f6, 0xf20a, 0xf0f6, 0xf20a, -0xf279, 0xf346, 0xf279, 0xf346, 0xf474, 0xf4fb, 0xf474, 0xf4fb, 0xf6c0, 0xf701, 0xf6c0, -0xf701, 0xf8d2, 0xf8cf, 0xf8d2, 0xf8cf, 0xfac5, 0xfa80, 0xfac5, 0xfa80, 0xfac5, 0xfa80, -0xfca2, 0xfc1e, 0xfca2, 0xfc1e, 0xfe3b, 0xfd7b, 0xfe3b, 0xfd7b, 0xff7c, 0xfe85, 0xff7c, -0xfe85, 0x12, 0xfee6, 0x12, 0xfee6, 0x6b, 0xff10, 0x6b, 0xff10, 0x154, 0xffcd, -0x154, 0xffcd, 0x154, 0xffcd, 0x235, 0x87, 0x235, 0x87, 0x2ef, 0x11d, 0x2ef, -0x11d, 0x3fa, 0x207, 0x3fa, 0x207, 0x518, 0x307, 0x518, 0x307, 0x650, 0x424, -0x650, 0x424, 0x650, 0x424, 0x759, 0x514, 0x759, 0x514, 0x828, 0x5ca, 0x828, -0x5ca, 0x903, 0x68c, 0x903, 0x68c, 0x9c9, 0x73a, 0x9c9, 0x73a, 0xaa4, 0x7fc, -0xaa4, 0x7fc, 0xbd8, 0x916, 0xbd8, 0x916, 0xbd8, 0x916, 0xd5a, 0xa7c, 0xd5a, -0xa7c, 0xf14, 0xc19, 0xf14, 0xc19, 0x113c, 0xe23, 0x113c, 0xe23, 0x13b3, 0x107a, -0x13b3, 0x107a, 0x1612, 0x12b8, 0x1612, 0x12b8, 0x1876, 0x14fb, 0x1876, 0x14fb, 0x1876, -0x14fb, 0x1a98, 0x16fa, 0x1a98, 0x16fa, 0x1c18, 0x1859, 0x1c18, 0x1859, 0x1d95, 0x19b6, -0x1d95, 0x19b6, 0x1f18, 0x1b1b, 0x1f18, 0x1b1b, 0x2074, 0x1c5b, 0x2074, 0x1c5b, 0x2074, -0x1c5b, 0x2178, 0x1d49, 0x2178, 0x1d49, 0x2218, 0x1dd7, 0x2218, 0x1dd7, 0x2294, 0x1e47, -0x2294, 0x1e47, 0x227d, 0x1e2b, 0x227d, 0x1e2b, 0x2237, 0x1de7, 0x2237, 0x1de7, 0x2200, -0x1dba, 0x2200, 0x1dba, 0x2200, 0x1dba, 0x217a, 0x1d48, 0x217a, 0x1d48, 0x20c8, 0x1cb2, -0x20c8, 0x1cb2, 0x204e, 0x1c5d, 0x204e, 0x1c5d, 0x1fc3, 0x1bff, 0x1fc3, 0x1bff, 0x1ec0, -0x1b32, 0x1ec0, 0x1b32, 0x1ec0, 0x1b32, 0x1de4, 0x1a94, 0x1de4, 0x1a94, 0x1d0c, 0x1a01, -0x1d0c, 0x1a01, 0x1c14, 0x1954, 0x1c14, 0x1954, 0x1b39, 0x18c9, 0x1b39, 0x18c9, 0x1a39, -0x181e, 0x1a39, 0x181e, 0x18e8, 0x1723, 0x18e8, 0x1723, 0x18e8, 0x1723, 0x1789, 0x161b, -0x1789, 0x161b, 0x1628, 0x1511, 0x1628, 0x1511, 0x148c, 0x13ca, 0x148c, 0x13ca, 0x127e, -0x120f, 0x127e, 0x120f, 0x1004, 0xfe3, 0x1004, 0xfe3, 0xde6, 0xe0e, 0xde6, 0xe0e, -0xde6, 0xe0e, 0xc1d, 0xc87, 0xc1d, 0xc87, 0xa2d, 0xad1, 0xa2d, 0xad1, 0x817, -0x8ef, 0x817, 0x8ef, 0x638, 0x73b, 0x638, 0x73b, 0x48f, 0x5b5, 0x48f, 0x5b5, -0x48f, 0x5b5, 0x2d3, 0x415, 0x2d3, 0x415, 0x121, 0x277, 0x121, 0x277, 0xff72, -0xd4, 0xff72, 0xd4, 0xfe22, 0xff8b, 0xfe22, 0xff8b, 0xfd3a, 0xfea3, 0xfd3a, 0xfea3, -0xfc5f, 0xfdc5, 0xfc5f, 0xfdc5, 0xfc5f, 0xfdc5, 0xfb79, 0xfcd8, 0xfb79, 0xfcd8, 0xfab5, -0xfc0b, 0xfab5, 0xfc0b, 0xfa0a, 0xfb56, 0xfa0a, 0xfb56, 0xf9ab, 0xfaed, 0xf9ab, 0xfaed, -0xf9aa, 0xfae4, 0xf9aa, 0xfae4, 0xf98d, 0xfac2, 0xf98d, 0xfac2, 0xf98d, 0xfac2, 0xf984, -0xfab6, 0xf984, 0xfab6, 0xf980, 0xfab2, 0xf980, 0xfab2, 0xf969, 0xfaa1, 0xf969, 0xfaa1, -0xf919, 0xfa5b, 0xf919, 0xfa5b, 0xf8a1, 0xf9f2, 0xf8a1, 0xf9f2, 0xf8a1, 0xf9f2, 0xf855, -0xf9b9, 0xf855, 0xf9b9, 0xf7a8, 0xf923, 0xf7a8, 0xf923, 0xf67b, 0xf811, 0xf67b, 0xf811, -0xf533, 0xf6e6, 0xf533, 0xf6e6, 0xf3bb, 0xf58e, 0xf3bb, 0xf58e, 0xf21b, 0xf40e, 0xf21b, -0xf40e, 0xf21b, 0xf40e, 0xf0c9, 0xf2db, 0xf0c9, 0xf2db, 0xef95, 0xf1c5, 0xef95, 0xf1c5, -0xee56, 0xf0a1, 0xee56, 0xf0a1, 0xed63, 0xefc4, 0xed63, 0xefc4, 0xec66, 0xeed8, 0xec66, -0xeed8, 0xeb2e, 0xedab, 0xeb2e, 0xedab, 0xeb2e, 0xedab, 0xea31, 0xecb1, 0xea31, 0xecb1, -0xe997, 0xec12, 0xe997, 0xec12, 0xe95e, 0xebcb, 0xe95e, 0xebcb, 0xe9b2, 0xec08, 0xe9b2, -0xec08, 0xea61, 0xec97, 0xea61, 0xec97, 0xea61, 0xec97, 0xeb4d, 0xed59, 0xeb4d, 0xed59, -0xeca4, 0xee7d, 0xeca4, 0xee7d, 0xee44, 0xefe1, 0xee44, 0xefe1, 0xefab, 0xf104, 0xefab, -0xf104, 0xf0f3, 0xf202, 0xf0f3, 0xf202, 0xf328, 0xf3e6, 0xf328, 0xf3e6, 0xf328, 0xf3e6, -0xf63f, 0xf6a9, 0xf63f, 0xf6a9, 0xf911, 0xf924, 0xf911, 0xf924, 0xfb9b, 0xfb53, 0xfb9b, -0xfb53, 0xfe5b, 0xfdbb, 0xfe5b, 0xfdbb, 0x126, 0x2d, 0x126, 0x2d, 0x39c, 0x24d, -0x39c, 0x24d, 0x39c, 0x24d, 0x5ae, 0x40f, 0x5ae, 0x40f, 0x77a, 0x58f, 0x77a, -0x58f, 0x8f2, 0x6c2, 0x8f2, 0x6c2, 0xa29, 0x7bc, 0xa29, 0x7bc, 0xb5d, 0x8bb, -0xb5d, 0x8bb, 0xb5d, 0x8bb, 0xca7, 0x9d9, 0xca7, 0x9d9, 0xde6, 0xaf5, 0xde6, -0xaf5, 0xede, 0xbd5, 0xede, 0xbd5, 0xf89, 0xc71, 0xf89, 0xc71, 0xfee, 0xccf, -0xfee, 0xccf, 0xfe5, 0xcc9, 0xfe5, 0xcc9, 0xfe5, 0xcc9, 0xfb7, 0xca6, 0xfb7, -0xca6, 0xf83, 0xc83, 0xf83, 0xc83, 0xf2e, 0xc48, 0xf2e, 0xc48, 0xf25, 0xc5c, -0xf25, 0xc5c, 0xf3d, 0xc96, 0xf3d, 0xc96, 0xf67, 0xce5, 0xf67, 0xce5, 0xf67, -0xce5, 0xf6a, 0xd10, 0xf6a, 0xd10, 0xf28, 0xcf5, 0xf28, 0xcf5, 0xede, 0xcd2, -0xede, 0xcd2, 0xe22, 0xc3d, 0xe22, 0xc3d, 0xd49, 0xb87, 0xd49, 0xb87, 0xd49, -0xb87, 0xcb0, 0xb10, 0xcb0, 0xb10, 0xc7b, 0xaf9, 0xc7b, 0xaf9, 0xc68, 0xb00, -0xc68, 0xb00, 0xc54, 0xb01, 0xc54, 0xb01, 0xc76, 0xb35, 0xc76, 0xb35, 0xc8c, -0xb5a, 0xc8c, 0xb5a, 0xc8c, 0xb5a, 0xc9c, 0xb73, 0xc9c, 0xb73, 0xc5c, 0xb39, -0xc5c, 0xb39, 0xbda, 0xaba, 0xbda, 0xaba, 0xb5e, 0xa3f, 0xb5e, 0xa3f, 0xacb, -0x9aa, 0xacb, 0x9aa, 0xa40, 0x91d, 0xa40, 0x91d, 0xa40, 0x91d, 0x9fa, 0x8d3, -0x9fa, 0x8d3, 0x9bc, 0x892, 0x9bc, 0x892, 0x961, 0x835, 0x961, 0x835, 0x943, -0x816, 0x943, 0x816, 0x95a, 0x82e, 0x95a, 0x82e, 0x95a, 0x82e, 0x972, 0x84a, -0x972, 0x84a, 0x94f, 0x82c, 0x94f, 0x82c, 0x909, 0x7ef, 0x909, 0x7ef, 0x8e5, -0x7d6, 0x8e5, 0x7d6, 0x92d, 0x82b, 0x92d, 0x82b, 0x9b0, 0x8bd, 0x9b0, 0x8bd, -0x9b0, 0x8bd, 0x9da, 0x8f8, 0x9da, 0x8f8, 0x9a9, 0x8da, 0x9a9, 0x8da, 0x946, -0x889, 0x946, 0x889, 0x8fa, 0x850, 0x8fa, 0x850, 0x86d, 0x7d5, 0x86d, 0x7d5, -0x76e, 0x6e6, 0x76e, 0x6e6, 0x76e, 0x6e6, 0x66c, 0x5f2, 0x66c, 0x5f2, 0x59b, -0x52b, 0x59b, 0x52b, 0x519, 0x4af, 0x519, 0x4af, 0x4d1, 0x469, 0x4d1, 0x469, -0x487, 0x41d, 0x487, 0x41d, 0x487, 0x41d, 0x47b, 0x408, 0x47b, 0x408, 0x4bd, -0x43b, 0x4bd, 0x43b, 0x4cd, 0x437, 0x4cd, 0x437, 0x522, 0x473, 0x522, 0x473, -0x59f, 0x4d1, 0x59f, 0x4d1, 0x5f1, 0x4fe, 0x5f1, 0x4fe, 0x5f1, 0x4fe, 0x694, -0x579, 0x694, 0x579, 0x7b0, 0x668, 0x7b0, 0x668, 0x917, 0x79f, 0x917, 0x79f, -0xa74, 0x8ca, 0xa74, 0x8ca, 0xc30, 0xa53, 0xc30, 0xa53, 0xe46, 0xc36, 0xe46, -0xc36, 0xe46, 0xc36, 0x103f, 0xdfd, 0x103f, 0xdfd, 0x11d2, 0xf60, 0x11d2, 0xf60, -0x12f1, 0x1052, 0x12f1, 0x1052, 0x13fb, 0x1132, 0x13fb, 0x1132, 0x14b8, 0x11cb, 0x14b8, -0x11cb, 0x14b8, 0x11cb, 0x1554, 0x1248, 0x1554, 0x1248, 0x15ed, 0x12c9, 0x15ed, 0x12c9, -0x164b, 0x1316, 0x164b, 0x1316, 0x164e, 0x130f, 0x164e, 0x130f, 0x15c4, 0x1281, 0x15c4, -0x1281, 0x14ea, 0x11ac, 0x14ea, 0x11ac, 0x14ea, 0x11ac, 0x13e6, 0x10b3, 0x13e6, 0x10b3, -0x12d3, 0xfb3, 0x12d3, 0xfb3, 0x11b3, 0xeab, 0x11b3, 0xeab, 0x1044, 0xd5c, 0x1044, -0xd5c, 0xec4, 0xbff, 0xec4, 0xbff, 0xec4, 0xbff, 0xd93, 0xaf7, 0xd93, 0xaf7, -0xca7, 0xa37, 0xca7, 0xa37, 0xba2, 0x961, 0xba2, 0x961, 0xabd, 0x8ad, 0xabd, -0x8ad, 0xa68, 0x889, 0xa68, 0x889, 0xa23, 0x877, 0xa23, 0x877, 0xa23, 0x877, -0x967, 0x7ec, 0x967, 0x7ec, 0x86d, 0x723, 0x86d, 0x723, 0x775, 0x65a, 0x775, -0x65a, 0x69e, 0x5b0, 0x69e, 0x5b0, 0x5c9, 0x505, 0x5c9, 0x505, 0x4b4, 0x416, -0x4b4, 0x416, 0x4b4, 0x416, 0x3e4, 0x36b, 0x3e4, 0x36b, 0x3a1, 0x349, 0x3a1, -0x349, 0x335, 0x2fb, 0x335, 0x2fb, 0x262, 0x243, 0x262, 0x243, 0x1a0, 0x19a, -0x1a0, 0x19a, 0x1a0, 0x19a, 0x120, 0x130, 0x120, 0x130, 0xcf, 0xf5, 0xcf, -0xf5, 0x5f, 0x99, 0x5f, 0x99, 0xffa8, 0xfff5, 0xffa8, 0xfff5, 0xfefa, 0xff59, -0xfefa, 0xff59, 0xfe22, 0xfe95, 0xfe22, 0xfe95, 0xfe22, 0xfe95, 0xfd2b, 0xfdb2, 0xfd2b, -0xfdb2, 0xfc1d, 0xfcb8, 0xfc1d, 0xfcb8, 0xfabf, 0xfb6f, 0xfabf, 0xfb6f, 0xf940, 0xfa08, -0xf940, 0xfa08, 0xf7e4, 0xf8c5, 0xf7e4, 0xf8c5, 0xf6d3, 0xf7cf, 0xf6d3, 0xf7cf, 0xf6d3, -0xf7cf, 0xf616, 0xf72e, 0xf616, 0xf72e, 0xf5e9, 0xf720, 0xf5e9, 0xf720, 0xf5dd, 0xf734, -0xf5dd, 0xf734, 0xf5d6, 0xf74f, 0xf5d6, 0xf74f, 0xf60a, 0xf7a6, 0xf60a, 0xf7a6, 0xf60a, -0xf7a6, 0xf637, 0xf7f7, 0xf637, 0xf7f7, 0xf656, 0xf83b, 0xf656, 0xf83b, 0xf61a, 0xf824, -0xf61a, 0xf824, 0xf5b6, 0xf7e5, 0xf5b6, 0xf7e5, 0xf53d, 0xf790, 0xf53d, 0xf790, 0xf491, -0xf708, 0xf491, 0xf708, 0xf491, 0xf708, 0xf3d7, 0xf671, 0xf3d7, 0xf671, 0xf311, 0xf5cb, -0xf311, 0xf5cb, 0xf1d2, 0xf4aa, 0xf1d2, 0xf4aa, 0xf03c, 0xf330, 0xf03c, 0xf330, 0xeefd, -0xf20b, 0xeefd, 0xf20b, 0xedb1, 0xf0d5, 0xedb1, 0xf0d5, 0xedb1, 0xf0d5, 0xec56, 0xef8e, -0xec56, 0xef8e, 0xeb17, 0xee5e, 0xeb17, 0xee5e, 0xea13, 0xed67, 0xea13, 0xed67, 0xe9a6, -0xed03, 0xe9a6, 0xed03, 0xe95d, 0xecc0, 0xe95d, 0xecc0, 0xe95d, 0xecc0, 0xe8a4, 0xec09, -0xe8a4, 0xec09, 0xe7e0, 0xeb44, 0xe7e0, 0xeb44, 0xe77c, 0xeadc, 0xe77c, 0xeadc, 0xe6c3, -0xea1c, 0xe6c3, 0xea1c, 0xe5e1, 0xe930, 0xe5e1, 0xe930, 0xe568, 0xe8aa, 0xe568, 0xe8aa, -0xe568, 0xe8aa, 0xe575, 0xe8a8, 0xe575, 0xe8a8, 0xe650, 0xe972, 0xe650, 0xe972, 0xe7e5, -0xeaf4, 0xe7e5, 0xeaf4, 0xe989, 0xec84, 0xe989, 0xec84, 0xea90, 0xed74, 0xea90, 0xed74, -0xeb31, 0xee00, 0xeb31, 0xee00, 0xeb31, 0xee00, 0xec0c, 0xeec3, 0xec0c, 0xeec3, 0xece8, -0xef89, 0xece8, 0xef89, 0xed59, 0xefe4, 0xed59, 0xefe4, 0xedc7, 0xf03d, 0xedc7, 0xf03d, -0xee36, 0xf098, 0xee36, 0xf098, 0xee36, 0xf098, 0xee55, 0xf0a5, 0xee55, 0xf0a5, 0xee1f, -0xf05f, 0xee1f, 0xf05f, 0xede2, 0xf014, 0xede2, 0xf014, 0xedf6, 0xf01c, 0xedf6, 0xf01c, -0xee0e, 0xf02c, 0xee0e, 0xf02c, 0xee23, 0xf03d, 0xee23, 0xf03d, 0xee23, 0xf03d, 0xee04, -0xf01d, 0xee04, 0xf01d, 0xed8c, 0xefa7, 0xed8c, 0xefa7, 0xecd4, 0xeef5, 0xecd4, 0xeef5, -0xec2f, 0xee5a, 0xec2f, 0xee5a, 0xec1a, 0xee52, 0xec1a, 0xee52, 0xebf8, 0xee40, 0xebf8, -0xee40, 0xebf8, 0xee40, 0xebc2, 0xee1e, 0xebc2, 0xee1e, 0xebd4, 0xee46, 0xebd4, 0xee46, -0xebc5, 0xee50, 0xebc5, 0xee50, 0xeb40, 0xede6, 0xeb40, 0xede6, 0xea4b, 0xed0d, 0xea4b, -0xed0d, 0xea4b, 0xed0d, 0xe93e, 0xec1c, 0xe93e, 0xec1c, 0xe840, 0xeb3b, 0xe840, 0xeb3b, -0xe76b, 0xea81, 0xe76b, 0xea81, 0xe687, 0xe9b8, 0xe687, 0xe9b8, 0xe5b1, 0xe8fb, 0xe5b1, -0xe8fb, 0xe570, 0xe8cf, 0xe570, 0xe8cf, 0xe570, 0xe8cf, 0xe567, 0xe8d8, 0xe567, 0xe8d8, -0xe559, 0xe8d8, 0xe559, 0xe8d8, 0xe584, 0xe90c, 0xe584, 0xe90c, 0xe5b3, 0xe93e, 0xe5b3, -0xe93e, 0xe59e, 0xe927, 0xe59e, 0xe927, 0xe570, 0xe8f2, 0xe570, 0xe8f2, 0xe570, 0xe8f2, -0xe52f, 0xe8a1, 0xe52f, 0xe8a1, 0xe4d0, 0xe82e, 0xe4d0, 0xe82e, 0xe4a3, 0xe7e5, 0xe4a3, -0xe7e5, 0xe4f7, 0xe816, 0xe4f7, 0xe816, 0xe572, 0xe86a, 0xe572, 0xe86a, 0xe572, 0xe86a, -0xe5d8, 0xe8a1, 0xe5d8, 0xe8a1, 0xe6d2, 0xe968, 0xe6d2, 0xe968, 0xe837, 0xea95, 0xe837, -0xea95, 0xe981, 0xeba4, 0xe981, 0xeba4, 0xeac9, 0xecad, 0xeac9, 0xecad, 0xec4e, 0xedf1, -0xec4e, 0xedf1, 0xec4e, 0xedf1, 0xee4c, 0xefac, 0xee4c, 0xefac, 0xf087, 0xf1a3, 0xf087, -0xf1a3, 0xf283, 0xf35b, 0xf283, 0xf35b, 0xf44d, 0xf4e3, 0xf44d, 0xf4e3, 0xf676, 0xf6ca, -0xf676, 0xf6ca, 0xf8a0, 0xf8b6, 0xf8a0, 0xf8b6, 0xf8a0, 0xf8b6, 0xfa34, 0xfa0d, 0xfa34, -0xfa0d, 0xfb6b, 0xfb0c, 0xfb6b, 0xfb0c, 0xfc74, 0xfbe0, 0xfc74, 0xfbe0, 0xfd41, 0xfc7c, -0xfd41, 0xfc7c, 0xfe3d, 0xfd4a, 0xfe3d, 0xfd4a, 0xfe3d, 0xfd4a, 0xff8c, 0xfe70, 0xff8c, -0xfe70, 0xb2, 0xff70, 0xb2, 0xff70, 0x1ba, 0x55, 0x1ba, 0x55, 0x2cf, 0x14b, -0x2cf, 0x14b, 0x3f6, 0x255, 0x3f6, 0x255, 0x4c1, 0x305, 0x4c1, 0x305, 0x4c1, -0x305, 0x554, 0x37e, 0x554, 0x37e, 0x628, 0x439, 0x628, 0x439, 0x6e7, 0x4df, -0x6e7, 0x4df, 0x7b1, 0x58f, 0x7b1, 0x58f, 0x8d0, 0x693, 0x8d0, 0x693, 0xa93, -0x83a, 0xa93, 0x83a, 0xa93, 0x83a, 0xcb3, 0xa3d, 0xcb3, 0xa3d, 0xeea, 0xc53, -0xeea, 0xc53, 0x116a, 0xeb1, 0x116a, 0xeb1, 0x13f6, 0x1118, 0x13f6, 0x1118, 0x166d, -0x136a, 0x166d, 0x136a, 0x166d, 0x136a, 0x188c, 0x1562, 0x188c, 0x1562, 0x1a8e, 0x173b, -0x1a8e, 0x173b, 0x1c97, 0x191d, 0x1c97, 0x191d, 0x1e8a, 0x1ae8, 0x1e8a, 0x1ae8, 0x2093, -0x1ccb, 0x2093, 0x1ccb, 0x2244, 0x1e59, 0x2244, 0x1e59, 0x2244, 0x1e59, 0x234a, 0x1f40, -0x234a, 0x1f40, 0x23ec, 0x1fc8, 0x23ec, 0x1fc8, 0x2435, 0x1ffc, 0x2435, 0x1ffc, 0x23de, -0x1f97, 0x23de, 0x1f97, 0x2372, 0x1f24, 0x2372, 0x1f24, 0x2372, 0x1f24, 0x236f, 0x1f23, -0x236f, 0x1f23, 0x237c, 0x1f3b, 0x237c, 0x1f3b, 0x237b, 0x1f4f, 0x237b, 0x1f4f, 0x2354, -0x1f46, 0x2354, 0x1f46, 0x22ad, 0x1ec6, 0x22ad, 0x1ec6, 0x21e3, 0x1e2d, 0x21e3, 0x1e2d, -0x21e3, 0x1e2d, 0x2160, 0x1de4, 0x2160, 0x1de4, 0x20b1, 0x1d77, 0x20b1, 0x1d77, 0x1fb7, -0x1cc8, 0x1fb7, 0x1cc8, 0x1e81, 0x1be1, 0x1e81, 0x1be1, 0x1d21, 0x1ad6, 0x1d21, 0x1ad6, -0x1bc0, 0x19cd, 0x1bc0, 0x19cd, 0x1bc0, 0x19cd, 0x1a55, 0x18bc, 0x1a55, 0x18bc, 0x18ca, -0x178c, 0x18ca, 0x178c, 0x16d3, 0x15ef, 0x16d3, 0x15ef, 0x1458, 0x13ca, 0x1458, 0x13ca, -0x11a5, 0x116a, 0x11a5, 0x116a, 0x11a5, 0x116a, 0xf08, 0xf19, 0xf08, 0xf19, 0xc66, -0xcbd, 0xc66, 0xcbd, 0xa47, 0xadc, 0xa47, 0xadc, 0x8cf, 0x99b, 0x8cf, 0x99b, -0x759, 0x851, 0x759, 0x851, 0x60c, 0x727, 0x60c, 0x727, 0x60c, 0x727, 0x497, -0x5cc, 0x497, 0x5cc, 0x2e4, 0x42a, 0x2e4, 0x42a, 0x156, 0x2a4, 0x156, 0x2a4, -0xffd1, 0x121, 0xffd1, 0x121, 0xfe37, 0xff81, 0xfe37, 0xff81, 0xfcd1, 0xfe11, 0xfcd1, -0xfe11, 0xfcd1, 0xfe11, 0xfbe2, 0xfd13, 0xfbe2, 0xfd13, 0xfb33, 0xfc53, 0xfb33, 0xfc53, -0xfadc, 0xfbea, 0xfadc, 0xfbea, 0xfab6, 0xfbb3, 0xfab6, 0xfbb3, 0xfad0, 0xfbbd, 0xfad0, -0xfbbd, 0xfad0, 0xfbbd, 0xfb2a, 0xfc0a, 0xfb2a, 0xfc0a, 0xfb47, 0xfc21, 0xfb47, 0xfc21, -0xfb3c, 0xfc13, 0xfb3c, 0xfc13, 0xfad1, 0xfbad, 0xfad1, 0xfbad, 0xf9e7, 0xface, 0xf9e7, -0xface, 0xf8fa, 0xf9f3, 0xf8fa, 0xf9f3, 0xf8fa, 0xf9f3, 0xf83e, 0xf950, 0xf83e, 0xf950, -0xf78d, 0xf8be, 0xf78d, 0xf8be, 0xf6da, 0xf830, 0xf6da, 0xf830, 0xf5da, 0xf75b, 0xf5da, -0xf75b, 0xf483, 0xf632, 0xf483, 0xf632, 0xf315, 0xf4f4, 0xf315, 0xf4f4, 0xf315, 0xf4f4, -0xf158, 0xf368, 0xf158, 0xf368, 0xef91, 0xf1d2, 0xef91, 0xf1d2, 0xee0a, 0xf078, 0xee0a, -0xf078, 0xeca3, 0xef3a, 0xeca3, 0xef3a, 0xeb42, 0xedfc, 0xeb42, 0xedfc, 0xeb42, 0xedfc, -0xea15, 0xecec, 0xea15, 0xecec, 0xe96b, 0xec54, 0xe96b, 0xec54, 0xe8e0, 0xebd1, 0xe8e0, -0xebd1, 0xe82c, 0xeb1a, 0xe82c, 0xeb1a, 0xe7d6, 0xeab5, 0xe7d6, 0xeab5, 0xe858, 0xeb1b, -0xe858, 0xeb1b, 0xe858, 0xeb1b, 0xe919, 0xebb4, 0xe919, 0xebb4, 0xe9d4, 0xec3a, 0xe9d4, -0xec3a, 0xeb43, 0xed68, 0xeb43, 0xed68, 0xed7a, 0xef52, 0xed7a, 0xef52, 0xf006, 0xf189, -0xf006, 0xf189, 0xf2d3, 0xf3f8, 0xf2d3, 0xf3f8, 0xf2d3, 0xf3f8, 0xf5af, 0xf66f, 0xf5af, -0xf66f, 0xf876, 0xf8cb, 0xf876, 0xf8cb, 0xfb55, 0xfb3f, 0xfb55, 0xfb3f, 0xfe26, 0xfda2, -0xfe26, 0xfda2, 0xb8, 0xffc8, 0xb8, 0xffc8, 0xb8, 0xffc8, 0x2e5, 0x18c, 0x2e5, -0x18c, 0x502, 0x345, 0x502, 0x345, 0x736, 0x51e, 0x736, 0x51e, 0x909, 0x69e, -0x909, 0x69e, 0xa8a, 0x7d7, 0xa8a, 0x7d7, 0xbb9, 0x8ca, 0xbb9, 0x8ca, 0xbb9, -0x8ca, 0xcd4, 0x9b5, 0xcd4, 0x9b5, 0xdd2, 0xa90, 0xdd2, 0xa90, 0xe77, 0xb21, -0xe77, 0xb21, 0xeaf, 0xb51, 0xeaf, 0xb51, 0xe5f, 0xb06, 0xe5f, 0xb06, 0xe05, -0xabe, 0xe05, 0xabe, 0xe05, 0xabe, 0xd9e, 0xa73, 0xd9e, 0xa73, 0xd8d, 0xa89, -0xd8d, 0xa89, 0xdff, 0xb29, 0xdff, 0xb29, 0xe51, 0xbb1, 0xe51, 0xbb1, 0xe5f, -0xbf9, 0xe5f, 0xbf9, 0xe5f, 0xbf9, 0xe0b, 0xbe4, 0xe0b, 0xbe4, 0xd79, 0xb91, -0xd79, 0xb91, 0xcd5, 0xb2c, 0xcd5, 0xb2c, 0xc2e, 0xac3, 0xc2e, 0xac3, 0xb7d, -0xa4c, 0xb7d, 0xa4c, 0xaf1, 0x9f6, 0xaf1, 0x9f6, 0xaf1, 0x9f6, 0xac9, 0x9fd, -0xac9, 0x9fd, 0xae1, 0xa3f, 0xae1, 0xa3f, 0xb1a, 0xa9a, 0xb1a, 0xa9a, 0xb43, -0xade, 0xb43, 0xade, 0xb60, 0xb0e, 0xb60, 0xb0e, 0xb91, 0xb4b, 0xb91, 0xb4b, -0xb91, 0xb4b, 0xb84, 0xb44, 0xb84, 0xb44, 0xb06, 0xac6, 0xb06, 0xac6, 0xa95, -0xa4f, 0xa95, 0xa4f, 0xa45, 0x9f4, 0xa45, 0x9f4, 0xa19, 0x9bb, 0xa19, 0x9bb, -0xa19, 0x9bb, 0xa2a, 0x9be, 0xa2a, 0x9be, 0xa1d, 0x9a1, 0xa1d, 0x9a1, 0x9ee, -0x962, 0x9ee, 0x962, 0x9a4, 0x90a, 0x9a4, 0x90a, 0x94c, 0x8a6, 0x94c, 0x8a6, -0x8e0, 0x831, 0x8e0, 0x831, 0x8e0, 0x831, 0x8a1, 0x7ed, 0x8a1, 0x7ed, 0x8e9, -0x834, 0x8e9, 0x834, 0x98d, 0x8db, 0x98d, 0x8db, 0xa2b, 0x981, 0xa2b, 0x981, -0xa7b, 0x9dc, 0xa7b, 0x9dc, 0xa80, 0x9f0, 0xa80, 0x9f0, 0xa80, 0x9f0, 0xa53, -0x9d5, 0xa53, 0x9d5, 0xa5f, 0x9f5, 0xa5f, 0x9f5, 0xa3c, 0x9e7, 0xa3c, 0x9e7, -0x989, 0x949, 0x989, 0x949, 0x8fb, 0x8ce, 0x8fb, 0x8ce, 0x8fb, 0x8ce, 0x8a5, -0x88a, 0x8a5, 0x88a, 0x80a, 0x7fd, 0x80a, 0x7fd, 0x74c, 0x74a, 0x74c, 0x74a, -0x6f1, 0x6f2, 0x6f1, 0x6f2, 0x65e, 0x65e, 0x65e, 0x65e, 0x5a5, 0x59c, 0x5a5, -0x59c, 0x5a5, 0x59c, 0x570, 0x558, 0x570, 0x558, 0x553, 0x522, 0x553, 0x522, -0x51f, 0x4d0, 0x51f, 0x4d0, 0x537, 0x4c1, 0x537, 0x4c1, 0x5bc, 0x51a, 0x5bc, -0x51a, 0x639, 0x563, 0x639, 0x563, 0x639, 0x563, 0x6fb, 0x5ec, 0x6fb, 0x5ec, -0x84e, 0x702, 0x84e, 0x702, 0xa07, 0x87b, 0xa07, 0x87b, 0xc2d, 0xa5e, 0xc2d, -0xa5e, 0xe3b, 0xc2a, 0xe3b, 0xc2a, 0xe3b, 0xc2a, 0x102f, 0xddb, 0x102f, 0xddb, -0x1225, 0xf92, 0x1225, 0xf92, 0x13d2, 0x1102, 0x13d2, 0x1102, 0x152f, 0x1228, 0x152f, -0x1228, 0x1689, 0x1351, 0x1689, 0x1351, 0x17a9, 0x1447, 0x17a9, 0x1447, 0x17a9, 0x1447, -0x1856, 0x14d1, 0x1856, 0x14d1, 0x18eb, 0x154d, 0x18eb, 0x154d, 0x1935, 0x1587, 0x1935, -0x1587, 0x1907, 0x1551, 0x1907, 0x1551, 0x1871, 0x14bd, 0x1871, 0x14bd, 0x1871, 0x14bd, -0x179b, 0x13f2, 0x179b, 0x13f2, 0x165f, 0x12cb, 0x165f, 0x12cb, 0x14c5, 0x114e, 0x14c5, -0x114e, 0x13a7, 0x1053, 0x13a7, 0x1053, 0x1303, 0xfda, 0x1303, 0xfda, 0x121b, 0xf23, -0x121b, 0xf23, 0x121b, 0xf23, 0x10cc, 0xe09, 0x10cc, 0xe09, 0xf63, 0xcd9, 0xf63, -0xcd9, 0xe5e, 0xc0f, 0xe5e, 0xc0f, 0xdf0, 0xbde, 0xdf0, 0xbde, 0xd12, 0xb3e, -0xd12, 0xb3e, 0xb8b, 0x9f3, 0xb8b, 0x9f3, 0xb8b, 0x9f3, 0xa52, 0x8f5, 0xa52, -0x8f5, 0x98d, 0x869, 0x98d, 0x869, 0x8d5, 0x7e7, 0x8d5, 0x7e7, 0x807, 0x74b, -0x807, 0x74b, 0x70a, 0x67d, 0x70a, 0x67d, 0x70a, 0x67d, 0x5bb, 0x558, 0x5bb, -0x558, 0x4ba, 0x47c, 0x4ba, 0x47c, 0x3ce, 0x3b2, 0x3ce, 0x3b2, 0x2c4, 0x2c5, -0x2c4, 0x2c5, 0x244, 0x25e, 0x244, 0x25e, 0x1e7, 0x217, 0x1e7, 0x217, 0x1e7, -0x217, 0x1a5, 0x1e7, 0x1a5, 0x1e7, 0x152, 0x1a4, 0x152, 0x1a4, 0xae, 0x10d, -0xae, 0x10d, 0xffb5, 0x20, 0xffb5, 0x20, 0xfe6e, 0xfee5, 0xfe6e, 0xfee5, 0xfd47, -0xfdc7, 0xfd47, 0xfdc7, 0xfd47, 0xfdc7, 0xfbc9, 0xfc54, 0xfbc9, 0xfc54, 0xfa12, 0xfaa8, -0xfa12, 0xfaa8, 0xf8bc, 0xf95f, 0xf8bc, 0xf95f, 0xf772, 0xf822, 0xf772, 0xf822, 0xf605, -0xf6c6, 0xf605, 0xf6c6, 0xf605, 0xf6c6, 0xf50d, 0xf5e0, 0xf50d, 0xf5e0, 0xf48e, 0xf574, -0xf48e, 0xf574, 0xf43e, 0xf53b, 0xf43e, 0xf53b, 0xf44e, 0xf564, 0xf44e, 0xf564, 0xf449, -0xf57a, 0xf449, 0xf57a, 0xf3fa, 0xf54a, 0xf3fa, 0xf54a, 0xf3fa, 0xf54a, 0xf3c8, 0xf538, -0xf3c8, 0xf538, 0xf38c, 0xf51e, 0xf38c, 0xf51e, 0xf2f1, 0xf4a7, 0xf2f1, 0xf4a7, 0xf296, -0xf472, 0xf296, 0xf472, 0xf278, 0xf47b, 0xf278, 0xf47b, 0xf1e0, 0xf40a, 0xf1e0, 0xf40a, -0xf1e0, 0xf40a, 0xf102, 0xf354, 0xf102, 0xf354, 0xefc2, 0xf23c, 0xefc2, 0xf23c, 0xee57, -0xf0f7, 0xee57, 0xf0f7, 0xecf0, 0xefb6, 0xecf0, 0xefb6, 0xeb47, 0xee32, 0xeb47, 0xee32, -0xeb47, 0xee32, 0xe990, 0xec9d, 0xe990, 0xec9d, 0xe829, 0xeb55, 0xe829, 0xeb55, 0xe741, -0xea8a, 0xe741, 0xea8a, 0xe66f, 0xe9d2, 0xe66f, 0xe9d2, 0xe58d, 0xe905, 0xe58d, 0xe905, -0xe47b, 0xe805, 0xe47b, 0xe805, 0xe47b, 0xe805, 0xe33d, 0xe6d4, 0xe33d, 0xe6d4, 0xe22d, -0xe5cb, 0xe22d, 0xe5cb, 0xe160, 0xe501, 0xe160, 0xe501, 0xe0bb, 0xe45a, 0xe0bb, 0xe45a, -0xe063, 0xe3fc, 0xe063, 0xe3fc, 0xe0e8, 0xe474, 0xe0e8, 0xe474, 0xe0e8, 0xe474, 0xe23c, -0xe5b7, 0xe23c, 0xe5b7, 0xe3b4, 0xe71a, 0xe3b4, 0xe71a, 0xe505, 0xe852, 0xe505, 0xe852, -0xe682, 0xe9b0, 0xe682, 0xe9b0, 0xe7d4, 0xeae1, 0xe7d4, 0xeae1, 0xe7d4, 0xeae1, 0xe8c3, -0xebad, 0xe8c3, 0xebad, 0xe99c, 0xec5f, 0xe99c, 0xec5f, 0xea47, 0xece3, 0xea47, 0xece3, -0xeb1a, 0xed8e, 0xeb1a, 0xed8e, 0xec15, 0xee61, 0xec15, 0xee61, 0xed1f, 0xef45, 0xed1f, -0xef45, 0xed1f, 0xef45, 0xee1f, 0xf021, 0xee1f, 0xf021, 0xee9b, 0xf07b, 0xee9b, 0xf07b, -0xee86, 0xf048, 0xee86, 0xf048, 0xeea7, 0xf04f, 0xeea7, 0xf04f, 0xeed1, 0xf065, 0xeed1, -0xf065, 0xee3b, 0xefc0, 0xee3b, 0xefc0, 0xee3b, 0xefc0, 0xedb0, 0xef2d, 0xedb0, 0xef2d, -0xed3a, 0xeeb5, 0xed3a, 0xeeb5, 0xecc4, 0xee44, 0xecc4, 0xee44, 0xecae, 0xee3a, 0xecae, -0xee3a, 0xec91, 0xee30, 0xec91, 0xee30, 0xec91, 0xee30, 0xec68, 0xee21, 0xec68, 0xee21, -0xec42, 0xee1a, 0xec42, 0xee1a, 0xec44, 0xee41, 0xec44, 0xee41, 0xec53, 0xee7b, 0xec53, -0xee7b, 0xec14, 0xee6a, 0xec14, 0xee6a, 0xeb2b, 0xedb4, 0xeb2b, 0xedb4, 0xeb2b, 0xedb4, -0xe9de, 0xec9a, 0xe9de, 0xec9a, 0xe8b2, 0xeba4, 0xe8b2, 0xeba4, 0xe7ba, 0xeae0, 0xe7ba, -0xeae0, 0xe6ff, 0xea5a, 0xe6ff, 0xea5a, 0xe67f, 0xea0b, 0xe67f, 0xea0b, 0xe67b, 0xea36, -0xe67b, 0xea36, 0xe67b, 0xea36, 0xe67e, 0xea63, 0xe67e, 0xea63, 0xe674, 0xea7e, 0xe674, -0xea7e, 0xe6de, 0xeb06, 0xe6de, 0xeb06, 0xe70b, 0xeb4a, 0xe70b, 0xeb4a, 0xe69c, 0xeaeb, -0xe69c, 0xeaeb, 0xe69c, 0xeaeb, 0xe637, 0xea8e, 0xe637, 0xea8e, 0xe61b, 0xea73, 0xe61b, -0xea73, 0xe602, 0xea51, 0xe602, 0xea51, 0xe5c7, 0xea06, 0xe5c7, 0xea06, 0xe576, 0xe99c, -0xe576, 0xe99c, 0xe599, 0xe99f, 0xe599, 0xe99f, 0xe599, 0xe99f, 0xe64d, 0xea2c, 0xe64d, -0xea2c, 0xe727, 0xead9, 0xe727, 0xead9, 0xe81f, 0xeb9e, 0xe81f, 0xeb9e, 0xe999, 0xece1, -0xe999, 0xece1, 0xeb86, 0xee93, 0xeb86, 0xee93, 0xed84, 0xf052, 0xed84, 0xf052, 0xed84, -0xf052, 0xefab, 0xf239, 0xefab, 0xf239, 0xf1b1, 0xf3fd, 0xf1b1, 0xf3fd, 0xf39d, 0xf5a7, -0xf39d, 0xf5a7, 0xf582, 0xf74b, 0xf582, 0xf74b, 0xf78b, 0xf913, 0xf78b, 0xf913, 0xf78b, -0xf913, 0xf9a3, 0xfaec, 0xf9a3, 0xfaec, 0xfb49, 0xfc54, 0xfb49, 0xfc54, 0xfce0, 0xfdb0, -0xfce0, 0xfdb0, 0xfe72, 0xff09, 0xfe72, 0xff09, 0xffb5, 0x15, 0xffb5, 0x15, 0x76, -0xa1, 0x76, 0xa1, 0x76, 0xa1, 0x109, 0x102, 0x109, 0x102, 0x1ab, 0x174, -0x1ab, 0x174, 0x25d, 0x1f7, 0x25d, 0x1f7, 0x321, 0x28d, 0x321, 0x28d, 0x3d7, -0x315, 0x3d7, 0x315, 0x49b, 0x3ab, 0x49b, 0x3ab, 0x49b, 0x3ab, 0x4ec, 0x3ce, -0x4ec, 0x3ce, 0x560, 0x413, 0x560, 0x413, 0x66b, 0x4ed, 0x66b, 0x4ed, 0x7c0, -0x60f, 0x7c0, 0x60f, 0x966, 0x781, 0x966, 0x781, 0x966, 0x781, 0xb4f, 0x933, -0xb4f, 0x933, 0xd62, 0xb0d, 0xd62, 0xb0d, 0xf6f, 0xce0, 0xf6f, 0xce0, 0x1211, -0xf46, 0x1211, 0xf46, 0x14d5, 0x11cc, 0x14d5, 0x11cc, 0x1742, 0x13fc, 0x1742, 0x13fc, -0x1742, 0x13fc, 0x1994, 0x1610, 0x1994, 0x1610, 0x1bb9, 0x17f7, 0x1bb9, 0x17f7, 0x1dd2, -0x19d5, 0x1dd2, 0x19d5, 0x1fa1, 0x1b6c, 0x1fa1, 0x1b6c, 0x2151, 0x1ce6, 0x2151, 0x1ce6, -0x2151, 0x1ce6, 0x22d9, 0x1e3e, 0x22d9, 0x1e3e, 0x2419, 0x1f53, 0x2419, 0x1f53, 0x24ba, -0x1fd0, 0x24ba, 0x1fd0, 0x24a5, 0x1f9d, 0x24a5, 0x1f9d, 0x24a8, 0x1f8b, 0x24a8, 0x1f8b, -0x250a, 0x1fe1, 0x250a, 0x1fe1, 0x250a, 0x1fe1, 0x2569, 0x203e, 0x2569, 0x203e, 0x2566, -0x2041, 0x2566, 0x2041, 0x2515, 0x2001, 0x2515, 0x2001, 0x24a1, 0x1fa8, 0x24a1, 0x1fa8, -0x243e, 0x1f69, 0x243e, 0x1f69, 0x23a5, 0x1efd, 0x23a5, 0x1efd, 0x23a5, 0x1efd, 0x22af, -0x1e3d, 0x22af, 0x1e3d, 0x2167, 0x1d34, 0x2167, 0x1d34, 0x202e, 0x1c41, 0x202e, 0x1c41, -0x1f66, 0x1bc4, 0x1f66, 0x1bc4, 0x1e84, 0x1b32, 0x1e84, 0x1b32, 0x1e84, 0x1b32, 0x1d1c, -0x1a1e, 0x1d1c, 0x1a1e, 0x1b07, 0x185f, 0x1b07, 0x185f, 0x18d1, 0x1680, 0x18d1, 0x1680, -0x1628, 0x142f, 0x1628, 0x142f, 0x1326, 0x1182, 0x1326, 0x1182, 0x1093, 0xf42, 0x1093, -0xf42, 0x1093, 0xf42, 0xe29, 0xd27, 0xe29, 0xd27, 0xc2b, 0xb72, 0xc2b, 0xb72, -0xa7d, 0xa08, 0xa7d, 0xa08, 0x8fe, 0x8c6, 0x8fe, 0x8c6, 0x75b, 0x75a, 0x75b, -0x75a, 0x563, 0x591, 0x563, 0x591, 0x563, 0x591, 0x34b, 0x3a0, 0x34b, 0x3a0, -0x127, 0x19d, 0x127, 0x19d, 0xff42, 0xffd2, 0xff42, 0xffd2, 0xfd6e, 0xfe12, 0xfd6e, -0xfe12, 0xfbdf, 0xfc91, 0xfbdf, 0xfc91, 0xfbdf, 0xfc91, 0xfac0, 0xfb7c, 0xfac0, 0xfb7c, -0xf9f6, 0xfab6, 0xf9f6, 0xfab6, 0xf978, 0xfa3b, 0xf978, 0xfa3b, 0xf961, 0xfa26, 0xf961, -0xfa26, 0xf978, 0xfa3c, 0xf978, 0xfa3c, 0xf984, 0xfa49, 0xf984, 0xfa49, 0xf984, 0xfa49, -0xf993, 0xfa59, 0xf993, 0xfa59, 0xf9a6, 0xfa70, 0xf9a6, 0xfa70, 0xf9a3, 0xfa74, 0xf9a3, -0xfa74, 0xf8f6, 0xf9d2, 0xf8f6, 0xf9d2, 0xf824, 0xf90e, 0xf824, 0xf90e, 0xf76a, 0xf868, -0xf76a, 0xf868, 0xf76a, 0xf868, 0xf6c2, 0xf7d7, 0xf6c2, 0xf7d7, 0xf662, 0xf792, 0xf662, -0xf792, 0xf5cb, 0xf71b, 0xf5cb, 0xf71b, 0xf4d5, 0xf647, 0xf4d5, 0xf647, 0xf388, 0xf51e, -0xf388, 0xf51e, 0xf388, 0xf51e, 0xf230, 0xf3ec, 0xf230, 0xf3ec, 0xf09f, 0xf282, 0xf09f, -0xf282, 0xeecd, 0xf0d4, 0xeecd, 0xf0d4, 0xed0a, 0xef34, 0xed0a, 0xef34, 0xebbb, 0xee04, -0xebbb, 0xee04, 0xeaee, 0xed51, 0xeaee, 0xed51, 0xeaee, 0xed51, 0xe9d3, 0xec49, 0xe9d3, -0xec49, 0xe881, 0xeb04, 0xe881, 0xeb04, 0xe7a3, 0xea29, 0xe7a3, 0xea29, 0xe76e, 0xe9ee, -0xe76e, 0xe9ee, 0xe7ac, 0xea1d, 0xe7ac, 0xea1d, 0xe83b, 0xea90, 0xe83b, 0xea90, 0xe83b, -0xea90, 0xe8da, 0xeb0a, 0xe8da, 0xeb0a, 0xea1c, 0xec1d, 0xea1c, 0xec1d, 0xec41, 0xee07, -0xec41, 0xee07, 0xeea8, 0xf02a, 0xeea8, 0xf02a, 0xf16f, 0xf2a4, 0xf16f, 0xf2a4, 0xf16f, -0xf2a4, 0xf450, 0xf530, 0xf450, 0xf530, 0xf753, 0xf7d7, 0xf753, 0xf7d7, 0xfa40, 0xfa64, -0xfa40, 0xfa64, 0xfcf1, 0xfcb1, 0xfcf1, 0xfcb1, 0xff7e, 0xfed9, 0xff7e, 0xfed9, 0x1f1, -0xe6, 0x1f1, 0xe6, 0x1f1, 0xe6, 0x4a9, 0x33b, 0x4a9, 0x33b, 0x76d, 0x59f, -0x76d, 0x59f, 0x9d2, 0x7a9, 0x9d2, 0x7a9, 0xb6a, 0x8ee, 0xb6a, 0x8ee, 0xcdb, -0xa13, 0xcdb, 0xa13, 0xe15, 0xb0b, 0xe15, 0xb0b, 0xe15, 0xb0b, 0xedb, 0xb99, -0xedb, 0xb99, 0xfb1, 0xc42, 0xfb1, 0xc42, 0x1041, 0xcaf, 0x1041, 0xcaf, 0x10a1, -0xcf8, 0x10a1, 0xcf8, 0x10d4, 0xd1f, 0x10d4, 0xd1f, 0x10d4, 0xd1f, 0x10c4, 0xd0e, -0x10c4, 0xd0e, 0x109a, 0xced, 0x109a, 0xced, 0x10ea, 0xd4d, 0x10ea, 0xd4d, 0x115a, -0xdd7, 0x115a, 0xdd7, 0x114d, 0xdea, 0x114d, 0xdea, 0x1128, 0xdea, 0x1128, 0xdea, -0x1128, 0xdea, 0x10d1, 0xdbc, 0x10d1, 0xdbc, 0x1070, 0xd87, 0x1070, 0xd87, 0xfd5, -0xd19, 0xfd5, 0xd19, 0xeef, 0xc60, 0xeef, 0xc60, 0xe3c, 0xbd9, 0xe3c, 0xbd9, -0xdee, 0xbb4, 0xdee, 0xbb4, 0xdee, 0xbb4, 0xdb1, 0xb9e, 0xdb1, 0xb9e, 0xd6e, -0xb7f, 0xd6e, 0xb7f, 0xd8f, 0xbbf, 0xd8f, 0xbbf, 0xde0, 0xc2c, 0xde0, 0xc2c, -0xe0f, 0xc73, 0xe0f, 0xc73, 0xe0f, 0xc73, 0xdac, 0xc23, 0xdac, 0xc23, 0xcff, -0xb87, 0xcff, 0xb87, 0xc6e, 0xb03, 0xc6e, 0xb03, 0xc21, 0xac3, 0xc21, 0xac3, -0xc11, 0xabc, 0xc11, 0xabc, 0xb88, 0xa3e, 0xb88, 0xa3e, 0xb88, 0xa3e, 0xac1, -0x980, 0xac1, 0x980, 0xa2b, 0x8f5, 0xa2b, 0x8f5, 0xa02, 0x8d8, 0xa02, 0x8d8, -0x9f1, 0x8d6, 0x9f1, 0x8d6, 0x96f, 0x866, 0x96f, 0x866, 0x8e3, 0x7ee, 0x8e3, -0x7ee, 0x8e3, 0x7ee, 0x8cd, 0x7f0, 0x8cd, 0x7f0, 0x935, 0x872, 0x935, 0x872, -0x980, 0x8d9, 0x980, 0x8d9, 0x96d, 0x8e5, 0x96d, 0x8e5, 0x980, 0x918, 0x980, -0x918, 0x980, 0x918, 0x994, 0x94d, 0x994, 0x94d, 0x942, 0x91b, 0x942, 0x91b, -0x910, 0x908, 0x910, 0x908, 0x8ce, 0x8e3, 0x8ce, 0x8e3, 0x852, 0x87e, 0x852, -0x87e, 0x819, 0x859, 0x819, 0x859, 0x819, 0x859, 0x7c1, 0x810, 0x7c1, 0x810, -0x715, 0x76b, 0x715, 0x76b, 0x655, 0x6aa, 0x655, 0x6aa, 0x5a5, 0x5f2, 0x5a5, -0x5f2, 0x50a, 0x546, 0x50a, 0x546, 0x490, 0x4b4, 0x490, 0x4b4, 0x490, 0x4b4, -0x418, 0x419, 0x418, 0x419, 0x3b2, 0x388, 0x3b2, 0x388, 0x382, 0x327, 0x382, -0x327, 0x358, 0x2c4, 0x358, 0x2c4, 0x3a9, 0x2d6, 0x3a9, 0x2d6, 0x3a9, 0x2d6, -0x498, 0x381, 0x498, 0x381, 0x5e0, 0x481, 0x5e0, 0x481, 0x74d, 0x5a5, 0x74d, -0x5a5, 0x8c6, 0x6d4, 0x8c6, 0x6d4, 0xabe, 0x882, 0xabe, 0x882, 0xcfb, 0xa78, -0xcfb, 0xa78, 0xcfb, 0xa78, 0xf38, 0xc72, 0xf38, 0xc72, 0x1195, 0xe91, 0x1195, -0xe91, 0x1362, 0x1026, 0x1362, 0x1026, 0x14c6, 0x115a, 0x14c6, 0x115a, 0x1629, 0x1295, -0x1629, 0x1295, 0x1629, 0x1295, 0x16e5, 0x1332, 0x16e5, 0x1332, 0x1759, 0x1391, 0x1759, -0x1391, 0x17a1, 0x13ce, 0x17a1, 0x13ce, 0x17ae, 0x13d9, 0x17ae, 0x13d9, 0x17e4, 0x1418, -0x17e4, 0x1418, 0x17b4, 0x13f8, 0x17b4, 0x13f8, 0x17b4, 0x13f8, 0x16dd, 0x133c, 0x16dd, -0x133c, 0x15bf, 0x1240, 0x15bf, 0x1240, 0x1510, 0x11ba, 0x1510, 0x11ba, 0x1473, 0x114d, -0x1473, 0x114d, 0x134e, 0x105c, 0x134e, 0x105c, 0x1231, 0xf78, 0x1231, 0xf78, 0x1231, -0xf78, 0x1118, 0xe9a, 0x1118, 0xe9a, 0xff8, 0xdb8, 0xff8, 0xdb8, 0xee5, 0xce4, -0xee5, 0xce4, 0xdce, 0xc0b, 0xdce, 0xc0b, 0xcc6, 0xb43, 0xcc6, 0xb43, 0xcc6, -0xb43, 0xc0c, 0xac5, 0xc0c, 0xac5, 0xb8a, 0xa7e, 0xb8a, 0xa7e, 0xaba, 0x9e7, -0xaba, 0x9e7, 0x9a4, 0x907, 0x9a4, 0x907, 0x878, 0x80f, 0x878, 0x80f, 0x755, -0x71b, 0x755, 0x71b, 0x755, 0x71b, 0x64e, 0x642, 0x64e, 0x642, 0x53f, 0x55e, -0x53f, 0x55e, 0x426, 0x46d, 0x426, 0x46d, 0x392, 0x3ff, 0x392, 0x3ff, 0x392, -0x424, 0x392, 0x424, 0x34c, 0x400, 0x34c, 0x400, 0x34c, 0x400, 0x2ba, 0x390, -0x2ba, 0x390, 0x224, 0x31a, 0x224, 0x31a, 0x17c, 0x291, 0x17c, 0x291, 0xae, -0x1e2, 0xae, 0x1e2, 0xffa2, 0xf6, 0xffa2, 0xf6, 0xffa2, 0xf6, 0xfe65, 0xffd8, -0xfe65, 0xffd8, 0xfcdd, 0xfe6f, 0xfcdd, 0xfe6f, 0xfb31, 0xfce2, 0xfb31, 0xfce2, 0xf98e, -0xfb5f, 0xf98e, 0xfb5f, 0xf810, 0xfa01, 0xf810, 0xfa01, 0xf726, 0xf939, 0xf726, 0xf939, -0xf726, 0xf939, 0xf68b, 0xf8be, 0xf68b, 0xf8be, 0xf5e9, 0xf83c, 0xf5e9, 0xf83c, 0xf59b, -0xf80f, 0xf59b, 0xf80f, 0xf54a, 0xf7e0, 0xf54a, 0xf7e0, 0xf4fa, 0xf7af, 0xf4fa, 0xf7af, -0xf4a9, 0xf77e, 0xf4a9, 0xf77e, 0xf4a9, 0xf77e, 0xf3d7, 0xf6cc, 0xf3d7, 0xf6cc, 0xf30a, -0xf61f, 0xf30a, 0xf61f, 0xf2ac, 0xf5df, 0xf2ac, 0xf5df, 0xf2b8, 0xf608, 0xf2b8, 0xf608, -0xf2ad, 0xf619, 0xf2ad, 0xf619, 0xf2ad, 0xf619, 0xf24e, 0xf5d5, 0xf24e, 0xf5d5, 0xf1b3, -0xf553, 0xf1b3, 0xf553, 0xf093, 0xf44b, 0xf093, 0xf44b, 0xef3c, 0xf30a, 0xef3c, 0xf30a, -0xed76, 0xf158, 0xed76, 0xf158, 0xeb72, 0xef65, 0xeb72, 0xef65, 0xeb72, 0xef65, 0xe9ff, -0xee00, 0xe9ff, 0xee00, 0xe8dd, 0xecea, 0xe8dd, 0xecea, 0xe7a6, 0xebbc, 0xe7a6, 0xebbc, -0xe640, 0xea5a, 0xe640, 0xea5a, 0xe4fb, 0xe916, 0xe4fb, 0xe916, 0xe3fd, 0xe815, 0xe3fd, -0xe815, 0xe3fd, 0xe815, 0xe324, 0xe734, 0xe324, 0xe734, 0xe249, 0xe64d, 0xe249, 0xe64d, -0xe178, 0xe56b, 0xe178, 0xe56b, 0xe0f7, 0xe4d4, 0xe0f7, 0xe4d4, 0xe12a, 0xe4ed, 0xe12a, -0xe4ed, 0xe12a, 0xe4ed, 0xe209, 0xe5ad, 0xe209, 0xe5ad, 0xe300, 0xe67f, 0xe300, 0xe67f, -0xe426, 0xe77d, 0xe426, 0xe77d, 0xe567, 0xe892, 0xe567, 0xe892, 0xe69e, 0xe998, 0xe69e, -0xe998, 0xe7b9, 0xea81, 0xe7b9, 0xea81, 0xe7b9, 0xea81, 0xe88f, 0xeb21, 0xe88f, 0xeb21, -0xe962, 0xebbd, 0xe962, 0xebbd, 0xea3c, 0xec61, 0xea3c, 0xec61, 0xeb5d, 0xed4a, 0xeb5d, -0xed4a, 0xecbb, 0xee74, 0xecbb, 0xee74, 0xedfb, 0xef80, 0xedfb, 0xef80, 0xedfb, 0xef80, -0xeeb2, 0xf007, 0xeeb2, 0xf007, 0xeea8, 0xefd1, 0xeea8, 0xefd1, 0xee4b, 0xef4d, 0xee4b, -0xef4d, 0xedeb, 0xeecd, 0xedeb, 0xeecd, 0xedc6, 0xee8e, 0xedc6, 0xee8e, 0xedc6, 0xee8e, -0xedc3, 0xee79, 0xedc3, 0xee79, 0xed50, 0xedfc, 0xed50, 0xedfc, 0xec87, 0xed30, 0xec87, -0xed30, 0xebfa, 0xeca9, 0xebfa, 0xeca9, 0xeba2, 0xec5f, 0xeba2, 0xec5f, 0xeba1, 0xec75, -0xeba1, 0xec75, 0xeba1, 0xec75, 0xebf3, 0xece4, 0xebf3, 0xece4, 0xec1f, 0xed36, 0xec1f, -0xed36, 0xebee, 0xed31, 0xebee, 0xed31, 0xeb8d, 0xed01, 0xeb8d, 0xed01, 0xeb06, 0xecb0, -0xeb06, 0xecb0, 0xe9da, 0xebbd, 0xe9da, 0xebbd, 0xe9da, 0xebbd, 0xe88d, 0xeaac, 0xe88d, -0xeaac, 0xe759, 0xe9b5, 0xe759, 0xe9b5, 0xe668, 0xe900, 0xe668, 0xe900, 0xe5e7, 0xe8ba, -0xe5e7, 0xe8ba, 0xe56f, 0xe87b, 0xe56f, 0xe87b, 0xe56f, 0xe87b, 0xe55f, 0xe8a0, 0xe55f, -0xe8a0, 0xe54e, 0xe8bf, 0xe54e, 0xe8bf, 0xe534, 0xe8ce, 0xe534, 0xe8ce, 0xe4f4, 0xe8b1, -0xe4f4, 0xe8b1, 0xe481, 0xe85a, 0xe481, 0xe85a, 0xe47f, 0xe86b, 0xe47f, 0xe86b, 0xe47f, -0xe86b, 0xe46d, 0xe864, 0xe46d, 0xe864, 0xe3ec, 0xe7e6, 0xe3ec, 0xe7e6, 0xe311, 0xe705, -0xe311, 0xe705, 0xe291, 0xe677, 0xe291, 0xe677, 0xe29e, 0xe66d, 0xe29e, 0xe66d, 0xe2ff, -0xe6b1, 0xe2ff, 0xe6b1, 0xe2ff, 0xe6b1, 0xe387, 0xe713, 0xe387, 0xe713, 0xe3f6, 0xe756, -0xe3f6, 0xe756, 0xe4d8, 0xe806, 0xe4d8, 0xe806, 0xe671, 0xe969, 0xe671, 0xe969, 0xe885, -0xeb43, 0xe885, 0xeb43, 0xe885, 0xeb43, 0xea8f, 0xed0f, 0xea8f, 0xed0f, 0xec88, 0xeec9, -0xec88, 0xeec9, 0xeea8, 0xf0a8, 0xeea8, 0xf0a8, 0xf0d9, 0xf297, 0xf0d9, 0xf297, 0xf2f5, -0xf472, 0xf2f5, 0xf472, 0xf539, 0xf675, 0xf539, 0xf675, 0xf539, 0xf675, 0xf790, 0xf88d, -0xf790, 0xf88d, 0xf9bf, 0xfa7e, 0xf9bf, 0xfa7e, 0xfbf6, 0xfc79, 0xfbf6, 0xfc79, 0xfda2, -0xfdeb, 0xfda2, 0xfdeb, 0xfeeb, 0xfefc, 0xfeeb, 0xfefc, 0xffe9, 0xffc5, 0xffe9, 0xffc5, -0xffe9, 0xffc5, 0xb3, 0x5c, 0xb3, 0x5c, 0x176, 0xed, 0x176, 0xed, 0x1eb, -0x132, 0x1eb, 0x132, 0x288, 0x19f, 0x288, 0x19f, 0x32b, 0x214, 0x32b, 0x214, -0x32b, 0x214, 0x3e9, 0x2a2, 0x3e9, 0x2a2, 0x4d0, 0x35b, 0x4d0, 0x35b, 0x611, -0x46c, 0x611, 0x46c, 0x794, 0x5bd, 0x794, 0x5bd, 0x8f8, 0x6ee, 0x8f8, 0x6ee, -0xa9e, 0x85f, 0xa9e, 0x85f, 0xa9e, 0x85f, 0xc94, 0xa1f, 0xc94, 0xa1f, 0xf0c, -0xc5e, 0xf0c, 0xc5e, 0x11ba, 0xed3, 0x11ba, 0xed3, 0x1416, 0x10f4, 0x1416, 0x10f4, -0x164a, 0x12eb, 0x164a, 0x12eb, 0x164a, 0x12eb, 0x18de, 0x1543, 0x18de, 0x1543, 0x1b73, -0x179b, 0x1b73, 0x179b, 0x1dd2, 0x19bf, 0x1dd2, 0x19bf, 0x2014, 0x1bc8, 0x2014, 0x1bc8, -0x21ee, 0x1d6b, 0x21ee, 0x1d6b, 0x23fa, 0x1f45, 0x23fa, 0x1f45, 0x23fa, 0x1f45, 0x25d9, -0x20f8, 0x25d9, 0x20f8, 0x2710, 0x2207, 0x2710, 0x2207, 0x279d, 0x2275, 0x279d, 0x2275, -0x27a8, 0x2268, 0x27a8, 0x2268, 0x27b1, 0x2264, 0x27b1, 0x2264, 0x27fb, 0x22a9, 0x27fb, -0x22a9, 0x27fb, 0x22a9, 0x2857, 0x230b, 0x2857, 0x230b, 0x283f, 0x2303, 0x283f, 0x2303, -0x2815, 0x22f6, 0x2815, 0x22f6, 0x27c0, 0x22c8, 0x27c0, 0x22c8, 0x26ee, 0x2228, 0x26ee, -0x2228, 0x26ee, 0x2228, 0x25b7, 0x212d, 0x25b7, 0x212d, 0x2489, 0x2045, 0x2489, 0x2045, -0x2372, 0x1f7e, 0x2372, 0x1f7e, 0x2231, 0x1e95, 0x2231, 0x1e95, 0x2107, 0x1dc9, 0x2107, -0x1dc9, 0x1f85, 0x1cac, 0x1f85, 0x1cac, 0x1f85, 0x1cac, 0x1dcf, 0x1b5d, 0x1dcf, 0x1b5d, -0x1bac, 0x19a4, 0x1bac, 0x19a4, 0x192b, 0x178e, 0x192b, 0x178e, 0x16be, 0x158c, 0x16be, -0x158c, 0x144d, 0x1384, 0x144d, 0x1384, 0x11e6, 0x1181, 0x11e6, 0x1181, 0x11e6, 0x1181, -0xf69, 0xf63, 0xf69, 0xf63, 0xd6b, 0xdbe, 0xd6b, 0xdbe, 0xb7f, 0xc23, 0xb7f, -0xc23, 0x96e, 0xa5c, 0x96e, 0xa5c, 0x790, 0x8be, 0x790, 0x8be, 0x790, 0x8be, -0x5ac, 0x711, 0x5ac, 0x711, 0x385, 0x518, 0x385, 0x518, 0x12e, 0x2e6, 0x12e, -0x2e6, 0xff58, 0x12c, 0xff58, 0x12c, 0xfd87, 0xff6f, 0xfd87, 0xff6f, 0xfbe5, 0xfdd9, -0xfbe5, 0xfdd9, 0xfbe5, 0xfdd9, 0xfab7, 0xfcb0, 0xfab7, 0xfcb0, 0xf9db, 0xfbd4, 0xf9db, -0xfbd4, 0xf969, 0xfb5f, 0xf969, 0xfb5f, 0xf924, 0xfb14, 0xf924, 0xfb14, 0xf91f, 0xfb07, -0xf91f, 0xfb07, 0xf8ec, 0xfacc, 0xf8ec, 0xfacc, 0xf8ec, 0xfacc, 0xf8d5, 0xfaad, 0xf8d5, -0xfaad, 0xf8c4, 0xfa98, 0xf8c4, 0xfa98, 0xf84f, 0xfa20, 0xf84f, 0xfa20, 0xf7c7, 0xf99a, -0xf7c7, 0xf99a, 0xf743, 0xf91b, 0xf743, 0xf91b, 0xf743, 0xf91b, 0xf6ed, 0xf8ce, 0xf6ed, -0xf8ce, 0xf682, 0xf871, 0xf682, 0xf871, 0xf5d8, 0xf7da, 0xf5d8, 0xf7da, 0xf520, 0xf737, -0xf520, 0xf737, 0xf440, 0xf66f, 0xf440, 0xf66f, 0xf325, 0xf56e, 0xf325, 0xf56e, 0xf325, -0xf56e, 0xf1a2, 0xf407, 0xf1a2, 0xf407, 0xef7c, 0xf1fb, 0xef7c, 0xf1fb, 0xed7c, 0xf014, -0xed7c, 0xf014, 0xebfd, 0xeea9, 0xebfd, 0xeea9, 0xea53, 0xed0f, 0xea53, 0xed0f, 0xe88e, -0xeb53, 0xe88e, 0xeb53, 0xe88e, 0xeb53, 0xe724, 0xe9ec, 0xe724, 0xe9ec, 0xe67f, 0xe940, -0xe67f, 0xe940, 0xe653, 0xe903, 0xe653, 0xe903, 0xe629, 0xe8bf, 0xe629, 0xe8bf, 0xe603, -0xe872, 0xe603, 0xe872, 0xe603, 0xe872, 0xe654, 0xe891, 0xe654, 0xe891, 0xe756, 0xe957, -0xe756, 0xe957, 0xe8f0, 0xeaaa, 0xe8f0, 0xeaaa, 0xeb31, 0xec9a, 0xeb31, 0xec9a, 0xed97, -0xeea6, 0xed97, 0xeea6, 0xf034, 0xf0e2, 0xf034, 0xf0e2, 0xf034, 0xf0e2, 0xf340, 0xf387, -0xf340, 0xf387, 0xf652, 0xf62d, 0xf652, 0xf62d, 0xf91e, 0xf88c, 0xf91e, 0xf88c, 0xfbc0, -0xfac0, 0xfbc0, 0xfac0, 0xfe74, 0xfd08, 0xfe74, 0xfd08, 0x14a, 0xff76, 0x14a, 0xff76, -0x14a, 0xff76, 0x436, 0x200, 0x436, 0x200, 0x6c4, 0x434, 0x6c4, 0x434, 0x8cf, -0x5ee, 0x8cf, 0x5ee, 0xa74, 0x74e, 0xa74, 0x74e, 0xb86, 0x826, 0xb86, 0x826, -0xb86, 0x826, 0xc63, 0x8d5, 0xc63, 0x8d5, 0xd87, 0x9d9, 0xd87, 0x9d9, 0xe54, -0xa93, 0xe54, 0xa93, 0xeab, 0xae4, 0xeab, 0xae4, 0xed6, 0xb16, 0xed6, 0xb16, -0xee7, 0xb39, 0xee7, 0xb39, 0xee7, 0xb39, 0xf25, 0xb93, 0xf25, 0xb93, 0xf5f, -0xbf3, 0xf5f, 0xbf3, 0xf68, 0xc28, 0xf68, 0xc28, 0xf41, 0xc33, 0xf41, 0xc33, -0xf3f, 0xc66, 0xf3f, 0xc66, 0xf3d, 0xc9c, 0xf3d, 0xc9c, 0xf3d, 0xc9c, 0xf02, -0xc98, 0xf02, 0xc98, 0xe6e, 0xc39, 0xe6e, 0xc39, 0xd9d, 0xb9a, 0xd9d, 0xb9a, -0xd38, 0xb62, 0xd38, 0xb62, 0xd3f, 0xb90, 0xd3f, 0xb90, 0xd3f, 0xb90, 0xd28, -0xb9a, 0xd28, 0xb9a, 0xd01, 0xb8b, 0xd01, 0xb8b, 0xd2d, 0xbc8, 0xd2d, 0xbc8, -0xd32, 0xbd6, 0xd32, 0xbd6, 0xd5c, 0xc01, 0xd5c, 0xc01, 0xd7b, 0xc1b, 0xd7b, -0xc1b, 0xd7b, 0xc1b, 0xd56, 0xbeb, 0xd56, 0xbeb, 0xd7c, 0xc01, 0xd7c, 0xc01, -0xd7d, 0xbed, 0xd7d, 0xbed, 0xd21, 0xb7b, 0xd21, 0xb7b, 0xc64, 0xaa6, 0xc64, -0xaa6, 0xbcf, 0x9fb, 0xbcf, 0x9fb, 0xbcf, 0x9fb, 0xb66, 0x97c, 0xb66, 0x97c, -0xafb, 0x8ff, 0xafb, 0x8ff, 0xaa7, 0x89e, 0xaa7, 0x89e, 0xa30, 0x81e, 0xa30, -0x81e, 0x9bc, 0x7a8, 0x9bc, 0x7a8, 0x9bc, 0x7a8, 0x9d6, 0x7c6, 0x9d6, 0x7c6, -0xa89, 0x884, 0xa89, 0x884, 0xb41, 0x94d, 0xb41, 0x94d, 0xbab, 0x9d0, 0xbab, -0x9d0, 0xbca, 0xa0d, 0xbca, 0xa0d, 0xbe1, 0xa48, 0xbe1, 0xa48, 0xbe1, 0xa48, -0xbbc, 0xa4b, 0xbbc, 0xa4b, 0xbac, 0xa67, 0xbac, 0xa67, 0xb87, 0xa6f, 0xb87, -0xa6f, 0xb4d, 0xa63, 0xb4d, 0xa63, 0xb45, 0xa89, 0xb45, 0xa89, 0xaff, 0xa6f, -0xaff, 0xa6f, 0xaff, 0xa6f, 0xac7, 0xa5f, 0xac7, 0xa5f, 0xa2e, 0x9eb, 0xa2e, -0x9eb, 0x926, 0x902, 0x926, 0x902, 0x7f7, 0x7eb, 0x7f7, 0x7eb, 0x6bb, 0x6c1, -0x6bb, 0x6c1, 0x6bb, 0x6c1, 0x5aa, 0x5bb, 0x5aa, 0x5bb, 0x501, 0x515, 0x501, -0x515, 0x4a5, 0x4b4, 0x4a5, 0x4b4, 0x48b, 0x48f, 0x48b, 0x48f, 0x4af, 0x4a1, -0x4af, 0x4a1, 0x4ef, 0x4c7, 0x4ef, 0x4c7, 0x4ef, 0x4c7, 0x5da, 0x595, 0x5da, -0x595, 0x6f2, 0x68b, 0x6f2, 0x68b, 0x864, 0x7d8, 0x864, 0x7d8, 0xa70, 0x9be, -0xa70, 0x9be, 0xc92, 0xbb8, 0xc92, 0xbb8, 0xc92, 0xbb8, 0xe86, 0xd86, 0xe86, -0xd86, 0x1048, 0xf23, 0x1048, 0xf23, 0x1207, 0x10c0, 0x1207, 0x10c0, 0x139a, 0x1234, -0x139a, 0x1234, 0x151c, 0x139d, 0x151c, 0x139d, 0x15fd, 0x146a, 0x15fd, 0x146a, 0x15fd, -0x146a, 0x1674, 0x14d4, 0x1674, 0x14d4, 0x1739, 0x1591, 0x1739, 0x1591, 0x17e6, 0x163c, -0x17e6, 0x163c, 0x1829, 0x1686, 0x1829, 0x1686, 0x1800, 0x1668, 0x1800, 0x1668, 0x1796, -0x160f, 0x1796, 0x160f, 0x1796, 0x160f, 0x172c, 0x15bb, 0x172c, 0x15bb, 0x16ca, 0x1574, -0x16ca, 0x1574, 0x1611, 0x14da, 0x1611, 0x14da, 0x14eb, 0x13d5, 0x14eb, 0x13d5, 0x13d1, -0x12df, 0x13d1, 0x12df, 0x13d1, 0x12df, 0x12d6, 0x1209, 0x12d6, 0x1209, 0x11d0, 0x1129, -0x11d0, 0x1129, 0x10a6, 0x1024, 0x10a6, 0x1024, 0xf4c, 0xeed, 0xf4c, 0xeed, 0xe3b, -0xdfd, 0xe3b, 0xdfd, 0xd8a, 0xd6b, 0xd8a, 0xd6b, 0xd8a, 0xd6b, 0xce1, 0xcdd, -0xce1, 0xcdd, 0xbfa, 0xc0f, 0xbfa, 0xc0f, 0xb2f, 0xb59, 0xb2f, 0xb59, 0xa46, -0xa81, 0xa46, 0xa81, 0x926, 0x96e, 0x926, 0x96e, 0x812, 0x864, 0x812, 0x864, -0x812, 0x864, 0x6cb, 0x723, 0x6cb, 0x723, 0x5a7, 0x603, 0x5a7, 0x603, 0x497, -0x4f4, 0x497, 0x4f4, 0x40f, 0x46c, 0x40f, 0x46c, 0x3b2, 0x40c, 0x3b2, 0x40c, -0x3b2, 0x40c, 0x33b, 0x391, 0x33b, 0x391, 0x2d7, 0x32a, 0x2d7, 0x32a, 0x22e, -0x27d, 0x22e, 0x27d, 0x16e, 0x1b9, 0x16e, 0x1b9, 0x5d, 0xa7, 0x5d, 0xa7, -0xff26, 0xff70, 0xff26, 0xff70, 0xff26, 0xff70, 0xfdc8, 0xfe13, 0xfdc8, 0xfe13, 0xfc62, -0xfcb1, 0xfc62, 0xfcb1, 0xfae8, 0xfb3e, 0xfae8, 0xfb3e, 0xf9c2, 0xfa22, 0xf9c2, 0xfa22, -0xf8b7, 0xf924, 0xf8b7, 0xf924, 0xf758, 0xf7d5, 0xf758, 0xf7d5, 0xf758, 0xf7d5, 0xf650, -0xf6df, 0xf650, 0xf6df, 0xf581, 0xf627, 0xf581, 0xf627, 0xf4ff, 0xf5bd, 0xf4ff, 0xf5bd, -0xf461, 0xf53b, 0xf461, 0xf53b, 0xf375, 0xf46c, 0xf375, 0xf46c, 0xf375, 0xf46c, 0xf29f, -0xf3b7, 0xf29f, 0xf3b7, 0xf21a, 0xf354, 0xf21a, 0xf354, 0xf1e7, 0xf345, 0xf1e7, 0xf345, -0xf1e8, 0xf36b, 0xf1e8, 0xf36b, 0xf19f, 0xf347, 0xf19f, 0xf347, 0xf14c, 0xf31b, 0xf14c, -0xf31b, 0xf14c, 0xf31b, 0xf126, 0xf31b, 0xf126, 0xf31b, 0xf06d, 0xf287, 0xf06d, 0xf287, -0xef33, 0xf171, 0xef33, 0xf171, 0xed4c, 0xefae, 0xed4c, 0xefae, 0xeb37, 0xedba, 0xeb37, -0xedba, 0xe928, 0xebca, 0xe928, 0xebca, 0xe928, 0xebca, 0xe725, 0xe9e3, 0xe725, 0xe9e3, -0xe56d, 0xe844, 0xe56d, 0xe844, 0xe3c6, 0xe6b3, 0xe3c6, 0xe6b3, 0xe26e, 0xe56d, 0xe26e, -0xe56d, 0xe178, 0xe484, 0xe178, 0xe484, 0xe178, 0xe484, 0xe09c, 0xe3b2, 0xe09c, 0xe3b2, -0xdf97, 0xe2b2, 0xdf97, 0xe2b2, 0xded1, 0xe1ed, 0xded1, 0xe1ed, 0xde7b, 0xe193, 0xde7b, -0xe193, 0xde96, 0xe1a6, 0xde96, 0xe1a6, 0xdef7, 0xe1fa, 0xdef7, 0xe1fa, 0xdef7, 0xe1fa, -0xdf9e, 0xe290, 0xdf9e, 0xe290, 0xe080, 0xe35d, 0xe080, 0xe35d, 0xe16f, 0xe435, 0xe16f, -0xe435, 0xe299, 0xe543, 0xe299, 0xe543, 0xe39a, 0xe627, 0xe39a, 0xe627, 0xe49a, 0xe708, -0xe49a, 0xe708, 0xe49a, 0xe708, 0xe5c2, 0xe80f, 0xe5c2, 0xe80f, 0xe74a, 0xe977, 0xe74a, -0xe977, 0xe963, 0xeb6f, 0xe963, 0xeb6f, 0xeab2, 0xec9e, 0xeab2, 0xec9e, 0xeb91, 0xed61, -0xeb91, 0xed61, 0xeb91, 0xed61, 0xecbc, 0xee71, 0xecbc, 0xee71, 0xed28, 0xeec6, 0xed28, -0xeec6, 0xed6b, 0xeef6, 0xed6b, 0xeef6, 0xed86, 0xef02, 0xed86, 0xef02, 0xecf7, 0xee6b, -0xecf7, 0xee6b, 0xec9d, 0xee0e, 0xec9d, 0xee0e, 0xec9d, 0xee0e, 0xece7, 0xee5a, 0xece7, -0xee5a, 0xed2b, 0xeea6, 0xed2b, 0xeea6, 0xed39, 0xeec4, 0xed39, 0xeec4, 0xed1b, 0xeebb, -0xed1b, 0xeebb, 0xec60, 0xee1a, 0xec60, 0xee1a, 0xec37, 0xee13, 0xec37, 0xee13, 0xec37, -0xee13, 0xec5b, 0xee5c, 0xec5b, 0xee5c, 0xec21, 0xee4c, 0xec21, 0xee4c, 0xebf8, 0xee51, -0xebf8, 0xee51, 0xeb95, 0xee1e, 0xeb95, 0xee1e, 0xeb0e, 0xedc9, 0xeb0e, 0xedc9, 0xeb0e, -0xedc9, 0xeab9, 0xeda7, 0xeab9, 0xeda7, 0xea76, 0xed98, 0xea76, 0xed98, 0xe998, 0xecec, -0xe998, 0xecec, 0xe8a6, 0xec28, 0xe8a6, 0xec28, 0xe7d3, 0xeb81, 0xe7d3, 0xeb81, 0xe6ff, -0xead5, 0xe6ff, 0xead5, 0xe6ff, 0xead5, 0xe6cf, 0xeac7, 0xe6cf, 0xeac7, 0xe6a3, 0xeab7, -0xe6a3, 0xeab7, 0xe5fa, 0xea24, 0xe5fa, 0xea24, 0xe5f0, 0xea28, 0xe5f0, 0xea28, 0xe5e9, -0xea29, 0xe5e9, 0xea29, 0xe544, 0xe982, 0xe544, 0xe982, 0xe544, 0xe982, 0xe4d6, 0xe90a, -0xe4d6, 0xe90a, 0xe47a, 0xe89c, 0xe47a, 0xe89c, 0xe46e, 0xe876, 0xe46e, 0xe876, 0xe483, -0xe869, 0xe483, 0xe869, 0xe4bd, 0xe87a, 0xe4bd, 0xe87a, 0xe4bd, 0xe87a, 0xe4cb, 0xe858, -0xe4cb, 0xe858, 0xe4ed, 0xe843, 0xe4ed, 0xe843, 0xe61f, 0xe93a, 0xe61f, 0xe93a, 0xe73b, -0xea16, 0xe73b, 0xea16, 0xe8ad, 0xeb42, 0xe8ad, 0xeb42, 0xeabd, 0xed0b, 0xeabd, 0xed0b, -0xeabd, 0xed0b, 0xec3f, 0xee43, 0xec3f, 0xee43, 0xee75, 0xf02d, 0xee75, 0xf02d, 0xf0f1, -0xf25d, 0xf0f1, 0xf25d, 0xf2bf, 0xf3e0, 0xf2bf, 0xf3e0, 0xf4f7, 0xf5cc, 0xf4f7, 0xf5cc, -0xf746, 0xf7cf, 0xf746, 0xf7cf, 0xf746, 0xf7cf, 0xf9f3, 0xfa33, 0xf9f3, 0xfa33, 0xfc60, -0xfc59, 0xfc60, 0xfc59, 0xfe38, 0xfdec, 0xfe38, 0xfdec, 0xfff4, 0xff65, 0xfff4, 0xff65, -0xe1, 0x11, 0xe1, 0x11, 0xe1, 0x11, 0x17d, 0x6e, 0x17d, 0x6e, 0x1d5, -0x8a, 0x1d5, 0x8a, 0x1cf, 0x48, 0x1cf, 0x48, 0x263, 0xa3, 0x263, 0xa3, -0x352, 0x15b, 0x352, 0x15b, 0x419, 0x1eb, 0x419, 0x1eb, 0x419, 0x1eb, 0x52f, -0x2cb, 0x52f, 0x2cb, 0x62e, 0x395, 0x62e, 0x395, 0x7ab, 0x4dd, 0x7ab, 0x4dd, -0x906, 0x603, 0x906, 0x603, 0xa86, 0x74f, 0xa86, 0x74f, 0xa86, 0x74f, 0xc74, -0x90a, 0xc74, 0x90a, 0xe01, 0xa63, 0xe01, 0xa63, 0x1019, 0xc48, 0x1019, 0xc48, -0x11d4, 0xdd1, 0x11d4, 0xdd1, 0x143b, 0x1006, 0x143b, 0x1006, 0x16c3, 0x125f, 0x16c3, -0x125f, 0x16c3, 0x125f, 0x1906, 0x1475, 0x1906, 0x1475, 0x1bb9, 0x16fd, 0x1bb9, 0x16fd, -0x1df9, 0x1916, 0x1df9, 0x1916, 0x2044, 0x1b3e, 0x2044, 0x1b3e, 0x224d, 0x1d29, 0x224d, -0x1d29, 0x2398, 0x1e5c, 0x2398, 0x1e5c, 0x2398, 0x1e5c, 0x249a, 0x1f4c, 0x249a, 0x1f4c, -0x25d2, 0x2079, 0x25d2, 0x2079, 0x26d3, 0x2176, 0x26d3, 0x2176, 0x2803, 0x22ac, 0x2803, -0x22ac, 0x2810, 0x22c5, 0x2810, 0x22c5, 0x2810, 0x22c5, 0x2802, 0x22cd, 0x2802, 0x22cd, -0x27fa, 0x22e3, 0x27fa, 0x22e3, 0x2799, 0x22aa, 0x2799, 0x22aa, 0x2802, 0x2343, 0x2802, -0x2343, 0x26d0, 0x2249, 0x26d0, 0x2249, 0x259b, 0x2155, 0x259b, 0x2155, 0x259b, 0x2155, -0x2470, 0x2071, 0x2470, 0x2071, 0x232f, 0x1f7e, 0x232f, 0x1f7e, 0x221a, 0x1ebc, 0x221a, -0x1ebc, 0x20d4, 0x1dcf, 0x20d4, 0x1dcf, 0x1f39, 0x1c90, 0x1f39, 0x1c90, 0x1d1c, 0x1ad1, -0x1d1c, 0x1ad1, 0x1d1c, 0x1ad1, 0x1ba1, 0x19b5, 0x1ba1, 0x19b5, 0x1993, 0x1807, 0x1993, -0x1807, 0x1756, 0x1629, 0x1756, 0x1629, 0x148c, 0x13ba, 0x148c, 0x13ba, 0x1221, 0x11a8, -0x1221, 0x11a8, 0x1221, 0x11a8, 0xfc9, 0xfa4, 0xfc9, 0xfa4, 0xd3e, 0xd68, 0xd3e, -0xd68, 0xb4e, 0xbc1, 0xb4e, 0xbc1, 0x92e, 0x9e3, 0x92e, 0x9e3, 0x75b, 0x84b, -0x75b, 0x84b, 0x4ea, 0x60e, 0x4ea, 0x60e, 0x4ea, 0x60e, 0x327, 0x478, 0x327, -0x478, 0x131, 0x2a7, 0x131, 0x2a7, 0xfee6, 0x7a, 0xfee6, 0x7a, 0xfe11, 0xffbc, -0xfe11, 0xffbc, 0xfcaa, 0xfe67, 0xfcaa, 0xfe67, 0xfb66, 0xfd30, 0xfb66, 0xfd30, 0xfb66, -0xfd30, 0xfa8c, 0xfc5e, 0xfa8c, 0xfc5e, 0xf962, 0xfb38, 0xf962, 0xfb38, 0xf8eb, 0xfac3, -0xf8eb, 0xfac3, 0xf80d, 0xf9e6, 0xf80d, 0xf9e6, 0xf7d3, 0xf9ac, 0xf7d3, 0xf9ac, 0xf7d3, -0xf9ac, 0xf826, 0xf9fe, 0xf826, 0xf9fe, 0xf7a9, 0xf983, 0xf7a9, 0xf983, 0xf833, 0xfa0f, -0xf833, 0xfa0f, 0xf867, 0xfa49, 0xf867, 0xfa49, 0xf87e, 0xfa68, 0xf87e, 0xfa68, 0xf8a0, -0xfa95, 0xf8a0, 0xfa95, 0xf8a0, 0xfa95, 0xf7b2, 0xf9b4, 0xf7b2, 0xf9b4, 0xf6cb, 0xf8dd, -0xf6cb, 0xf8dd, 0xf617, 0xf83d, 0xf617, 0xf83d, 0xf56e, 0xf7a9, 0xf56e, 0xf7a9, 0xf460, -0xf6b2, 0xf460, 0xf6b2, 0xf2ee, 0xf557, 0xf2ee, 0xf557, 0xf2ee, 0xf557, 0xf128, 0xf3a7, -0xf128, 0xf3a7, 0xef97, 0xf22b, 0xef97, 0xf22b, 0xed99, 0xf040, 0xed99, 0xf040, 0xeb96, -0xee4b, 0xeb96, 0xee4b, 0xea08, 0xecc7, 0xea08, 0xecc7, 0xea08, 0xecc7, 0xe87b, 0xeb3e, -0xe87b, 0xeb3e, 0xe7b5, 0xea74, 0xe7b5, 0xea74, 0xe703, 0xe9b6, 0xe703, 0xe9b6, 0xe6d1, -0xe96f, 0xe6d1, 0xe96f, 0xe6a8, 0xe927, 0xe6a8, 0xe927, 0xe6cd, 0xe924, 0xe6cd, 0xe924, -0xe6cd, 0xe924, 0xe7e8, 0xea0e, 0xe7e8, 0xea0e, 0xe8d2, 0xeabd, 0xe8d2, 0xeabd, 0xeacd, -0xec72, 0xeacd, 0xec72, 0xec81, 0xedd9, 0xec81, 0xedd9, 0xee59, 0xef5c, 0xee59, 0xef5c, -0xf149, 0xf1f0, 0xf149, 0xf1f0, 0xf149, 0xf1f0, 0xf36f, 0xf3b4, 0xf36f, 0xf3b4, 0xf6e0, -0xf6bf, 0xf6e0, 0xf6bf, 0xfa26, 0xf99e, 0xfa26, 0xf99e, 0xfd19, 0xfc28, 0xfd19, 0xfc28, -0x5f, 0xff06, 0x5f, 0xff06, 0x5f, 0xff06, 0x2ac, 0xee, 0x2ac, 0xee, 0x5b4, -0x396, 0x5b4, 0x396, 0x7ce, 0x556, 0x7ce, 0x556, 0x9bf, 0x6f5, 0x9bf, 0x6f5, -0xbd1, 0x8be, 0xbd1, 0x8be, 0xcd2, 0x97f, 0xcd2, 0x97f, 0xcd2, 0x97f, 0xdf0, -0xa6a, 0xdf0, 0xa6a, 0xedc, 0xb2d, 0xedc, 0xb2d, 0xf82, 0xbb8, 0xf82, 0xbb8, -0x101b, 0xc41, 0x101b, 0xc41, 0x109a, 0xcbc, 0x109a, 0xcbc, 0x10ff, 0xd29, 0x10ff, -0xd29, 0x10ff, 0xd29, 0x111c, 0xd59, 0x111c, 0xd59, 0x1094, 0xcee, 0x1094, 0xcee, -0x10d2, 0xd53, 0x10d2, 0xd53, 0x1100, 0xdaf, 0x1100, 0xdaf, 0x1086, 0xd69, 0x1086, -0xd69, 0x1086, 0xd69, 0x1080, 0xd9c, 0x1080, 0xd9c, 0x105a, 0xdb2, 0x105a, 0xdb2, -0x1064, 0xdfb, 0x1064, 0xdfb, 0x100a, 0xde0, 0x100a, 0xde0, 0xfaf, 0xdc1, 0xfaf, -0xdc1, 0xf6a, 0xdb8, 0xf6a, 0xdb8, 0xf6a, 0xdb8, 0xedd, 0xd62, 0xedd, 0xd62, -0xf45, 0xdfe, 0xf45, 0xdfe, 0xf65, 0xe4c, 0xf65, 0xe4c, 0xee4, 0xdf4, 0xee4, -0xdf4, 0xf23, 0xe55, 0xf23, 0xe55, 0xf0c, 0xe5a, 0xf0c, 0xe5a, 0xf0c, 0xe5a, -0xe93, 0xdf7, 0xe93, 0xdf7, 0xe2f, 0xda4, 0xe2f, 0xda4, 0xddd, 0xd5d, 0xddd, -0xd5d, 0xd07, 0xc8e, 0xd07, 0xc8e, 0xc2d, 0xbb7, 0xc2d, 0xbb7, 0xc2d, 0xbb7, -0xc3a, 0xbc3, 0xc3a, 0xbc3, 0xba9, 0xb2f, 0xba9, 0xb2f, 0xb20, 0xaa2, 0xb20, -0xaa2, 0xaa6, 0xa23, 0xaa6, 0xa23, 0xa29, 0x9a0, 0xa29, 0x9a0, 0x9a6, 0x919, -0x9a6, 0x919, 0x9a6, 0x919, 0x91f, 0x88f, 0x91f, 0x88f, 0x969, 0x8d7, 0x969, -0x8d7, 0x99c, 0x90a, 0x99c, 0x90a, 0x9a0, 0x911, 0x9a0, 0x911, 0x9b8, 0x92e, -0x9b8, 0x92e, 0x9dc, 0x959, 0x9dc, 0x959, 0x9dc, 0x959, 0x9b6, 0x93b, 0x9b6, -0x93b, 0x9dd, 0x96c, 0x9dd, 0x96c, 0xa0a, 0x9a4, 0xa0a, 0x9a4, 0x9fd, 0x9a1, -0x9fd, 0x9a1, 0x9ab, 0x959, 0x9ab, 0x959, 0x9ab, 0x959, 0x951, 0x908, 0x951, -0x908, 0x8de, 0x89d, 0x8de, 0x89d, 0x75e, 0x720, 0x75e, 0x720, 0x5fa, 0x5be, -0x5fa, 0x5be, 0x44f, 0x40f, 0x44f, 0x40f, 0x2fa, 0x2b3, 0x2fa, 0x2b3, 0x2fa, -0x2b3, 0x292, 0x23f, 0x292, 0x23f, 0x235, 0x1d0, 0x235, 0x1d0, 0x20e, 0x193, -0x20e, 0x193, 0x24f, 0x1b8, 0x24f, 0x1b8, 0x2a5, 0x1ee, 0x2a5, 0x1ee, 0x2a5, -0x1ee, 0x318, 0x23c, 0x318, 0x23c, 0x413, 0x30d, 0x413, 0x30d, 0x4f8, 0x3c6, -0x4f8, 0x3c6, 0x604, 0x4a3, 0x604, 0x4a3, 0x764, 0x5d2, 0x764, 0x5d2, 0x8fb, -0x737, 0x8fb, 0x737, 0x8fb, 0x737, 0xac9, 0x8d4, 0xac9, 0x8d4, 0xcbb, 0xa94, -0xcbb, 0xa94, 0xeae, 0xc59, 0xeae, 0xc59, 0x1071, 0xdef, 0x1071, 0xdef, 0x120a, -0xf60, 0x120a, 0xf60, 0x1355, 0x1087, 0x1355, 0x1087, 0x1355, 0x1087, 0x1461, 0x1175, -0x1461, 0x1175, 0x1560, 0x125b, 0x1560, 0x125b, 0x15cf, 0x12b8, 0x15cf, 0x12b8, 0x16a3, -0x1381, 0x16a3, 0x1381, 0x17c5, 0x149f, 0x17c5, 0x149f, 0x17c5, 0x149f, 0x17f4, 0x14d1, -0x17f4, 0x14d1, 0x17fb, 0x14e1, 0x17fb, 0x14e1, 0x1747, 0x143e, 0x1747, 0x143e, 0x167d, -0x138a, 0x167d, 0x138a, 0x1598, 0x12c3, 0x1598, 0x12c3, 0x1509, 0x1256, 0x1509, 0x1256, -0x1509, 0x1256, 0x1499, 0x120d, 0x1499, 0x120d, 0x1381, 0x1120, 0x1381, 0x1120, 0x126d, -0x103a, 0x126d, 0x103a, 0x10e5, 0xee3, 0x10e5, 0xee3, 0xfe0, 0xe10, 0xfe0, 0xe10, -0xe70, 0xcd3, 0xe70, 0xcd3, 0xe70, 0xcd3, 0xd3b, 0xbd2, 0xd3b, 0xbd2, 0xc84, -0xb4d, 0xc84, 0xb4d, 0xc04, 0xafe, 0xc04, 0xafe, 0xb62, 0xa8c, 0xb62, 0xa8c, -0xa81, 0x9d7, 0xa81, 0x9d7, 0xa81, 0x9d7, 0x9a0, 0x920, 0x9a0, 0x920, 0x83a, -0x7e1, 0x83a, 0x7e1, 0x798, 0x763, 0x798, 0x763, 0x688, 0x674, 0x688, 0x674, -0x5e5, 0x5ef, 0x5e5, 0x5ef, 0x537, 0x55b, 0x537, 0x55b, 0x537, 0x55b, 0x471, -0x4ad, 0x471, 0x4ad, 0x3d8, 0x42b, 0x3d8, 0x42b, 0x2b2, 0x318, 0x2b2, 0x318, -0x21a, 0x293, 0x21a, 0x293, 0x13d, 0x1c9, 0x13d, 0x1c9, 0x39, 0xd6, 0x39, -0xd6, 0x39, 0xd6, 0xff16, 0xffc6, 0xff16, 0xffc6, 0xfde1, 0xfea4, 0xfde1, 0xfea4, -0xfc3d, 0xfd14, 0xfc3d, 0xfd14, 0xfaa1, 0xfb8e, 0xfaa1, 0xfb8e, 0xf8d0, 0xf9d6, 0xf8d0, -0xf9d6, 0xf8d0, 0xf9d6, 0xf713, 0xf834, 0xf713, 0xf834, 0xf5a2, 0xf6e0, 0xf5a2, 0xf6e0, -0xf44b, 0xf5a9, 0xf44b, 0xf5a9, 0xf35c, 0xf4dd, 0xf35c, 0xf4dd, 0xf2c8, 0xf46e, 0xf2c8, -0xf46e, 0xf2a6, 0xf473, 0xf2a6, 0xf473, 0xf2a6, 0xf473, 0xf1e9, 0xf3e0, 0xf1e9, 0xf3e0, -0xf1b3, 0xf3d5, 0xf1b3, 0xf3d5, 0xf15d, 0xf3ab, 0xf15d, 0xf3ab, 0xf11a, 0xf394, 0xf11a, -0xf394, 0xf124, 0xf3ca, 0xf124, 0xf3ca, 0xf124, 0xf3f5, 0xf124, 0xf3f5, 0xf124, 0xf3f5, -0xf0a5, 0xf39f, 0xf0a5, 0xf39f, 0xef4c, 0xf26d, 0xef4c, 0xf26d, 0xee2c, 0xf170, 0xee2c, -0xf170, 0xec60, 0xefc3, 0xec60, 0xefc3, 0xea72, 0xedf1, 0xea72, 0xedf1, 0xea72, 0xedf1, -0xe857, 0xebec, 0xe857, 0xebec, 0xe671, 0xea17, 0xe671, 0xea17, 0xe4b3, 0xe864, 0xe4b3, -0xe864, 0xe394, 0xe74a, 0xe394, 0xe74a, 0xe2e4, 0xe699, 0xe2e4, 0xe699, 0xe216, 0xe5c5, -0xe216, 0xe5c5, 0xe216, 0xe5c5, 0xe160, 0xe503, 0xe160, 0xe503, 0xe102, 0xe493, 0xe102, -0xe493, 0xe10c, 0xe487, 0xe10c, 0xe487, 0xe073, 0xe3d4, 0xe073, 0xe3d4, 0xe091, 0xe3d3, -0xe091, 0xe3d3, 0xe072, 0xe392, 0xe072, 0xe392, 0xe072, 0xe392, 0xe0f1, 0xe3ed, 0xe0f1, -0xe3ed, 0xe28f, 0xe565, 0xe28f, 0xe565, 0xe3e4, 0xe695, 0xe3e4, 0xe695, 0xe506, 0xe790, -0xe506, 0xe790, 0xe64e, 0xe8b3, 0xe64e, 0xe8b3, 0xe64e, 0xe8b3, 0xe7eb, 0xea2c, 0xe7eb, -0xea2c, 0xe90b, 0xeb2b, 0xe90b, 0xeb2b, 0xe9fd, 0xebff, 0xe9fd, 0xebff, 0xeaa0, 0xec86, -0xeaa0, 0xec86, 0xebc4, 0xed94, 0xebc4, 0xed94, 0xecc3, 0xee81, 0xecc3, 0xee81, 0xecc3, -0xee81, 0xed82, 0xef32, 0xed82, 0xef32, 0xee33, 0xefd9, 0xee33, 0xefd9, 0xedf6, 0xef98, -0xedf6, 0xef98, 0xedc2, 0xef65, 0xedc2, 0xef65, 0xee05, 0xefac, 0xee05, 0xefac, 0xed9a, -0xef4b, 0xed9a, 0xef4b, 0xed9a, 0xef4b, 0xed75, 0xef33, 0xed75, 0xef33, 0xedb3, 0xef83, -0xedb3, 0xef83, 0xed00, 0xeee4, 0xed00, 0xeee4, 0xed01, 0xeefd, 0xed01, 0xeefd, 0xecd2, -0xeee9, 0xecd2, 0xeee9, 0xecd2, 0xeee9, 0xec91, 0xeec6, 0xec91, 0xeec6, 0xec49, 0xee9d, -0xec49, 0xee9d, 0xec08, 0xee7b, 0xec08, 0xee7b, 0xec0b, 0xeea0, 0xec0b, 0xeea0, 0xebdb, -0xee91, 0xebdb, 0xee91, 0xebcd, 0xeea5, 0xebcd, 0xeea5, 0xebcd, 0xeea5, 0xeae2, 0xeddb, -0xeae2, 0xeddb, 0xe9ae, 0xecc8, 0xe9ae, 0xecc8, 0xe870, 0xebaa, 0xe870, 0xebaa, 0xe7cb, -0xeb23, 0xe7cb, 0xeb23, 0xe695, 0xea0a, 0xe695, 0xea0a, 0xe57b, 0xe90c, 0xe57b, 0xe90c, -0xe57b, 0xe90c, 0xe4d1, 0xe87a, 0xe4d1, 0xe87a, 0xe401, 0xe7c0, 0xe401, 0xe7c0, 0xe408, -0xe7da, 0xe408, 0xe7da, 0xe36d, 0xe74e, 0xe36d, 0xe74e, 0xe2b3, 0xe6a0, 0xe2b3, 0xe6a0, -0xe2b3, 0xe6a0, 0xe1fa, 0xe5ef, 0xe1fa, 0xe5ef, 0xe199, 0xe593, 0xe199, 0xe593, 0xe160, -0xe558, 0xe160, 0xe558, 0xe107, 0xe4fa, 0xe107, 0xe4fa, 0xe0c0, 0xe4a8, 0xe0c0, 0xe4a8, -0xe081, 0xe45a, 0xe081, 0xe45a, 0xe081, 0xe45a, 0xe0f7, 0xe4ba, 0xe0f7, 0xe4ba, 0xe15e, -0xe507, 0xe15e, 0xe507, 0xe1a5, 0xe52e, 0xe1a5, 0xe52e, 0xe276, 0xe5d9, 0xe276, 0xe5d9, -0xe40d, 0xe745, 0xe40d, 0xe745, 0xe673, 0xe97b, 0xe673, 0xe97b, 0xe673, 0xe97b, 0xe931, -0xec04, 0xe931, 0xec04, 0xeba8, 0xee42, 0xeba8, 0xee42, 0xedb5, 0xf010, 0xedb5, 0xf010, -0xeffe, 0xf218, 0xeffe, 0xf218, 0xf33c, 0xf511, 0xf33c, 0xf511, 0xf33c, 0xf511, 0xf686, -0xf813, 0xf686, 0xf813, 0xf8d4, 0xfa17, 0xf8d4, 0xfa17, 0xfabe, 0xfbb4, 0xfabe, 0xfbb4, -0xfc9e, 0xfd47, 0xfc9e, 0xfd47, 0xfdcc, 0xfe29, 0xfdcc, 0xfe29, 0xff21, 0xff30, 0xff21, -0xff30, 0xff21, 0xff30, 0x1d, 0xffdf, 0x1d, 0xffdf, 0x13f, 0xb6, 0x13f, 0xb6, -0x236, 0x163, 0x236, 0x163, 0x2da, 0x1bf, 0x2da, 0x1bf, 0x48f, 0x32e, 0x48f, -0x32e, 0x48f, 0x32e, 0x50c, 0x368, 0x50c, 0x368, 0x676, 0x491, 0x676, 0x491, -0x751, 0x52f, 0x751, 0x52f, 0x806, 0x5a9, 0x806, 0x5a9, 0xa7f, 0x7ea, 0xa7f, -0x7ea, 0xbc9, 0x8fe, 0xbc9, 0x8fe, 0xbc9, 0x8fe, 0xd67, 0xa6a, 0xd67, 0xa6a, -0xeeb, 0xbbe, 0xeeb, 0xbbe, 0x10c8, 0xd6d, 0x10c8, 0xd6d, 0x131e, 0xf9a, 0x131e, -0xf9a, 0x1590, 0x11e3, 0x1590, 0x11e3, 0x17d1, 0x13fe, 0x17d1, 0x13fe, 0x17d1, 0x13fe, -0x19bc, 0x15c7, 0x19bc, 0x15c7, 0x1bdc, 0x17c7, 0x1bdc, 0x17c7, 0x1e61, 0x1a2e, 0x1e61, -0x1a2e, 0x2182, 0x1d35, 0x2182, 0x1d35, 0x237f, 0x1f1a, 0x237f, 0x1f1a, 0x237f, 0x1f1a, -0x24d2, 0x205a, 0x24d2, 0x205a, 0x267e, 0x21f6, 0x267e, 0x21f6, 0x27e7, 0x2354, 0x27e7, -0x2354, 0x2877, 0x23de, 0x2877, 0x23de, 0x28ab, 0x2410, 0x28ab, 0x2410, 0x2892, 0x23fc, -0x2892, 0x23fc, 0x2892, 0x23fc, 0x2868, 0x23dd, 0x2868, 0x23dd, 0x2884, 0x240a, 0x2884, -0x240a, 0x28f1, 0x248f, 0x28f1, 0x248f, 0x2840, 0x23fb, 0x2840, 0x23fb, 0x276e, 0x234e, -0x276e, 0x234e, 0x2740, 0x234c, 0x2740, 0x234c, 0x2740, 0x234c, 0x258e, 0x21cd, 0x258e, -0x21cd, 0x23f3, 0x206a, 0x23f3, 0x206a, 0x21ca, 0x1e80, 0x21ca, 0x1e80, 0x1fba, 0x1cb5, -0x1fba, 0x1cb5, 0x1edc, 0x1c1f, 0x1edc, 0x1c1f, 0x1edc, 0x1c1f, 0x1dd7, 0x1b67, 0x1dd7, -0x1b67, 0x1bcc, 0x19ab, 0x1bcc, 0x19ab, 0x1965, 0x1796, 0x1965, 0x1796, 0x1756, 0x15d9, -0x1756, 0x15d9, 0x1510, 0x13e6, 0x1510, 0x13e6, 0x128d, 0x11b4, 0x128d, 0x11b4, 0x128d, -0x11b4, 0xf84, 0xefb, 0xf84, 0xefb, 0xd1b, 0xcdf, 0xd1b, 0xcdf, 0xa43, 0xa50, -0xa43, 0xa50, 0x83d, 0x88e, 0x83d, 0x88e, 0x77b, 0x80b, 0x77b, 0x80b, 0x5fa, -0x6c4, 0x5fa, 0x6c4, 0x5fa, 0x6c4, 0x36a, 0x468, 0x36a, 0x468, 0x2cd, 0x3f8, -0x2cd, 0x3f8, 0x1da, 0x32d, 0x1da, 0x32d, 0xff06, 0x7b, 0xff06, 0x7b, 0xfed9, -0x6a, 0xfed9, 0x6a, 0xfed9, 0x6a, 0xfc92, 0xfe3a, 0xfc92, 0xfe3a, 0xfae0, 0xfc9c, -0xfae0, 0xfc9c, 0xfabc, 0xfc87, 0xfabc, 0xfc87, 0xfa23, 0xfbfb, 0xfa23, 0xfbfb, 0xfa26, -0xfc09, 0xfa26, 0xfc09, 0xf9a9, 0xfb96, 0xf9a9, 0xfb96, 0xf9a9, 0xfb96, 0xf9dc, 0xfbd2, -0xf9dc, 0xfbd2, 0xfa35, 0xfc35, 0xfa35, 0xfc35, 0xfa2c, 0xfc36, 0xfa2c, 0xfc36, 0xf9cf, -0xfbe6, 0xf9cf, 0xfbe6, 0xfa31, 0xfc56, 0xfa31, 0xfc56, 0xf930, 0xfb65, 0xf930, 0xfb65, -0xf930, 0xfb65, 0xf8e3, 0xfb2b, 0xf8e3, 0xfb2b, 0xf866, 0xfac2, 0xf866, 0xfac2, 0xf86e, -0xfadf, 0xf86e, 0xfadf, 0xf684, 0xf90b, 0xf684, 0xf90b, 0xf517, 0xf7b4, 0xf517, 0xf7b4, -0xf517, 0xf7b4, 0xf507, 0xf7bb, 0xf507, 0xf7bb, 0xf20b, 0xf4d2, 0xf20b, 0xf4d2, 0xf1f9, -0xf4d0, 0xf1f9, 0xf4d0, 0xeeb8, 0xf19b, 0xeeb8, 0xf19b, 0xec88, 0xef72, 0xec88, 0xef72, -0xea41, 0xed2b, 0xea41, 0xed2b, 0xea41, 0xed2b, 0xea12, 0xecf4, 0xea12, 0xecf4, 0xeb13, -0xede5, 0xeb13, 0xede5, 0xe8af, 0xeb67, 0xe8af, 0xeb67, 0xe9e1, 0xec75, 0xe9e1, 0xec75, -0xe9fd, 0xec62, 0xe9fd, 0xec62, 0xea69, 0xec96, 0xea69, 0xec96, 0xe90a, 0xeaf3, 0xe90a, -0xeaf3, 0xea15, 0xebb0, 0xea15, 0xebb0, 0xeb4c, 0xec90, 0xeb4c, 0xec90, 0xeb4c, 0xec90, -0xec94, 0xed78, 0xec94, 0xed78, 0xefbf, 0xf03b, 0xefbf, 0xf03b, 0xf144, 0xf152, 0xf144, -0xf152, 0xf450, 0xf3ec, 0xf450, 0xf3ec, 0xf591, 0xf4b9, 0xf591, 0xf4b9, 0xf591, 0xf4b9, -0xf8eb, 0xf79d, 0xf8eb, 0xf79d, 0xfc94, 0xfad2, 0xfc94, 0xfad2, 0xfd83, 0xfb50, 0xfd83, -0xfb50, 0xff77, 0xfcd7, 0xff77, 0xfcd7, 0x2e9, 0xffe5, 0x2e9, 0xffe5, 0x4e9, 0x187, -0x4e9, 0x187, 0x4e9, 0x187, 0x60a, 0x256, 0x60a, 0x256, 0x8a7, 0x4ac, 0x8a7, -0x4ac, 0x9fc, 0x5c7, 0x9fc, 0x5c7, 0x9fd, 0x59b, 0x9fd, 0x59b, 0xc49, 0x7c9, -0xc49, 0x7c9, 0xc65, 0x7d4, 0xc65, 0x7d4, 0xc65, 0x7d4, 0xb6c, 0x6d7, 0xb6c, -0x6d7, 0xc93, 0x809, 0xc93, 0x809, 0xb70, 0x6fe, 0xb70, 0x6fe, 0xc65, 0x816, -0xc65, 0x816, 0xd46, 0x926, 0xd46, 0x926, 0xd46, 0x926, 0xc1d, 0x835, 0xc1d, -0x835, 0xcf5, 0x94b, 0xcf5, 0x94b, 0xd98, 0xa34, 0xd98, 0xa34, 0xd27, 0xa0d, -0xd27, 0xa0d, 0xe5b, 0xb8d, 0xe5b, 0xb8d, 0xd89, 0xb08, 0xd89, 0xb08, 0xd89, -0xb08, 0xc48, 0xa13, 0xc48, 0xa13, 0xc8a, 0xa9f, 0xc8a, 0xa9f, 0xcf2, 0xb4d, -0xcf2, 0xb4d, 0xdbf, 0xc5c, 0xdbf, 0xc5c, 0xcdb, 0xbb3, 0xcdb, 0xbb3, 0xe7d, -0xd89, 0xe7d, 0xd89, 0xe7d, 0xd89, 0xda1, 0xcda, 0xda1, 0xcda, 0xe06, 0xd65, -0xe06, 0xd65, 0xe33, 0xdb0, 0xe33, 0xdb0, 0xb51, 0xae4, 0xb51, 0xae4, 0xc14, -0xbb7, 0xc14, 0xbb7, 0xc14, 0xbb7, 0xa5a, 0xa08, 0xa5a, 0xa08, 0xa39, 0x9eb, -0xa39, 0x9eb, 0xbb8, 0xb6a, 0xbb8, 0xb6a, 0xba3, 0xb51, 0xba3, 0xb51, 0xad3, -0xa7b, 0xad3, 0xa7b, 0xb88, 0xb28, 0xb88, 0xb28, 0xb88, 0xb28, 0xb77, 0xb10, -0xb77, 0xb10, 0xa1f, 0x9b1, 0xa1f, 0x9b1, 0xa57, 0x9e3, 0xa57, 0x9e3, 0x8f3, -0x87b, 0x8f3, 0x87b, 0x987, 0x90f, 0x987, 0x90f, 0xab6, 0xa40, 0xab6, 0xa40, -0xab6, 0xa40, 0xbea, 0xb79, 0xbea, 0xb79, 0xc93, 0xc2b, 0xc93, 0xc2b, 0xe2a, -0xdce, 0xe2a, 0xdce, 0xec9, 0xe7b, 0xec9, 0xe7b, 0xf66, 0xf2a, 0xf66, 0xf2a, -0xf66, 0xf2a, 0xf80, 0xf56, 0xf80, 0xf56, 0xc87, 0xc6f, 0xc87, 0xc6f, 0xe00, -0xdfb, 0xe00, 0xdfb, 0xc1c, 0xc28, 0xc1c, 0xc28, 0xb1a, 0xb36, 0xb1a, 0xb36, -0xb44, 0xb6b, 0xb44, 0xb6b, 0xb44, 0xb6b, 0x9e5, 0xa14, 0x9e5, 0xa14, 0x9d7, -0xa0a, 0x9d7, 0xa0a, 0x7cb, 0x7fc, 0x7cb, 0x7fc, 0x793, 0x7bb, 0x793, 0x7bb, -0x6a3, 0x6bc, 0x6a3, 0x6bc, 0x6a3, 0x6bc, 0x520, 0x523, 0x520, 0x523, 0x4c7, -0x4ae, 0x4c7, 0x4ae, 0x634, 0x5f9, 0x634, 0x5f9, 0x636, 0x5d2, 0x636, 0x5d2, -0x6af, 0x61d, 0x6af, 0x61d, 0x861, 0x79b, 0x861, 0x79b, 0x861, 0x79b, 0x94a, -0x84e, 0x94a, 0x84e, 0x9a0, 0x86a, 0x9a0, 0x86a, 0xb41, 0x9d0, 0xb41, 0x9d0, -0xe10, 0xc64, 0xe10, 0xc64, 0xf4a, 0xd63, 0xf4a, 0xd63, 0x113f, 0xf1f, 0x113f, -0xf1f, 0x113f, 0xf1f, 0x1325, 0x10d0, 0x1325, 0x10d0, 0x159d, 0x1316, 0x159d, 0x1316, -0x16bf, 0x140c, 0x16bf, 0x140c, 0x18f0, 0x1618, 0x18f0, 0x1618, 0x19ef, 0x16f7, 0x19ef, -0x16f7, 0x19ef, 0x16f7, 0x1a0c, 0x16fd, 0x1a0c, 0x16fd, 0x1ae6, 0x17c7, 0x1ae6, 0x17c7, -0x1b68, 0x1841, 0x1b68, 0x1841, 0x1a57, 0x1730, 0x1a57, 0x1730, 0x1884, 0x1563, 0x1884, -0x1563, 0x18c6, 0x15b4, 0x18c6, 0x15b4, 0x18c6, 0x15b4, 0x17b5, 0x14b7, 0x17b5, 0x14b7, -0x1882, 0x159f, 0x1882, 0x159f, 0x172e, 0x146b, 0x172e, 0x146b, 0x15bf, 0x1321, 0x15bf, -0x1321, 0x145e, 0x11e8, 0x145e, 0x11e8, 0x121f, 0xfd3, 0x121f, 0xfd3, 0x121f, 0xfd3, -0x101a, 0xdfa, 0x101a, 0xdfa, 0xde2, 0xbed, 0xde2, 0xbed, 0xd13, 0xb4a, 0xd13, -0xb4a, 0xbc3, 0xa26, 0xbc3, 0xa26, 0xb10, 0x99e, 0xb10, 0x99e, 0xb10, 0x99e, -0xa8b, 0x941, 0xa8b, 0x941, 0x9a5, 0x881, 0x9a5, 0x881, 0x8a0, 0x7a0, 0x8a0, -0x7a0, 0x866, 0x788, 0x866, 0x788, 0x56e, 0x4b0, 0x56e, 0x4b0, 0x59f, 0x4fe, -0x59f, 0x4fe, 0x59f, 0x4fe, 0x4de, 0x459, 0x4de, 0x459, 0x27a, 0x211, 0x27a, -0x211, 0x2cb, 0x27c, 0x2cb, 0x27c, 0xa5, 0x70, 0xa5, 0x70, 0x1a0, 0x185, -0x1a0, 0x185, 0x2a0, 0x29f, 0x2a0, 0x29f, 0x2a0, 0x29f, 0xdf, 0xfa, 0xdf, -0xfa, 0xb4, 0xec, 0xb4, 0xec, 0xff73, 0xffcb, 0xff73, 0xffcb, 0xfcb1, 0xfd2a, -0xfcb1, 0xfd2a, 0xfb93, 0xfc2f, 0xfb93, 0xfc2f, 0xfb93, 0xfc2f, 0xf8c1, 0xf984, 0xf8c1, -0xf984, 0xf772, 0xf85d, 0xf772, 0xf85d, 0xf5c0, 0xf6d5, 0xf5c0, 0xf6d5, 0xf4a6, 0xf5e6, -0xf4a6, 0xf5e6, 0xf442, 0xf5b0, 0xf442, 0xf5b0, 0xf296, 0xf434, 0xf296, 0xf434, 0xf296, -0xf434, 0xf249, 0xf416, 0xf249, 0xf416, 0xef9c, 0xf199, 0xef9c, 0xf199, 0xef79, 0xf1a5, -0xef79, 0xf1a5, 0xee9f, 0xf0f9, 0xee9f, 0xf0f9, 0xed20, 0xefa9, 0xed20, 0xefa9, 0xed79, -0xf02d, 0xed79, 0xf02d, 0xed79, 0xf02d, 0xed0e, 0xefec, 0xed0e, 0xefec, 0xed78, 0xf07d, -0xed78, 0xf07d, 0xed44, 0xf06d, 0xed44, 0xf06d, 0xebc7, 0xef12, 0xebc7, 0xef12, 0xea67, -0xedd0, 0xea67, 0xedd0, 0xea67, 0xedd0, 0xe90e, 0xec90, 0xe90e, 0xec90, 0xe7b5, 0xeb4f, -0xe7b5, 0xeb4f, 0xe5a1, 0xe94d, 0xe5a1, 0xe94d, 0xe3b3, 0xe76e, 0xe3b3, 0xe76e, 0xe3e9, -0xe7af, 0xe3e9, 0xe7af, 0xe319, 0xe6e7, 0xe319, 0xe6e7, 0xe319, 0xe6e7, 0xe1b8, 0xe58a, -0xe1b8, 0xe58a, 0xe259, 0xe62b, 0xe259, 0xe62b, 0xe1f2, 0xe5c1, 0xe1f2, 0xe5c1, 0xe042, -0xe40a, 0xe042, 0xe40a, 0xe09e, 0xe45c, 0xe09e, 0xe45c, 0xdfc7, 0xe377, 0xdfc7, 0xe377, -0xdfc7, 0xe377, 0xdf46, 0xe2e5, 0xdf46, 0xe2e5, 0xdffb, 0xe385, 0xdffb, 0xe385, 0xe1c3, -0xe535, 0xe1c3, 0xe535, 0xe2e8, 0xe63e, 0xe2e8, 0xe63e, 0xe34c, 0xe685, 0xe34c, 0xe685, -0xe34c, 0xe685, 0xe4f8, 0xe810, 0xe4f8, 0xe810, 0xe5b9, 0xe8ac, 0xe5b9, 0xe8ac, 0xe72e, -0xe9fc, 0xe72e, 0xe9fc, 0xe8ab, 0xeb50, 0xe8ab, 0xeb50, 0xea91, 0xed0d, 0xea91, 0xed0d, -0xeb52, 0xeda4, 0xeb52, 0xeda4, 0xeb52, 0xeda4, 0xec0f, 0xee35, 0xec0f, 0xee35, 0xee6f, -0xf06b, 0xee6f, 0xf06b, 0xf03f, 0xf212, 0xf03f, 0xf212, 0xefb9, 0xf164, 0xefb9, 0xf164, -0xf1d0, 0xf357, 0xf1d0, 0xf357, 0xf25d, 0xf3c3, 0xf25d, 0xf3c3, 0xf25d, 0xf3c3, 0xf118, -0xf262, 0xf118, 0xf262, 0xf2da, 0xf40c, 0xf2da, 0xf40c, 0xf149, 0xf26b, 0xf149, 0xf26b, -0xf0b4, 0xf1cd, 0xf0b4, 0xf1cd, 0xf15b, 0xf272, 0xf15b, 0xf272, 0xf15b, 0xf272, 0xef98, -0xf0b5, 0xef98, 0xf0b5, 0xf00b, 0xf137, 0xf00b, 0xf137, 0xf20f, 0xf352, 0xf20f, 0xf352, -0xef0d, 0xf06e, 0xef0d, 0xf06e, 0xf039, 0xf1c2, 0xf039, 0xf1c2, 0xf031, 0xf1e8, 0xf031, -0xf1e8, 0xf031, 0xf1e8, 0xedf4, 0xefe1, 0xedf4, 0xefe1, 0xf068, 0xf290, 0xf068, 0xf290, -0xedba, 0xf022, 0xedba, 0xf022, 0xeb2c, 0xedd7, 0xeb2c, 0xedd7, 0xeb21, 0xee11, 0xeb21, -0xee11, 0xea6b, 0xed9f, 0xea6b, 0xed9f, 0xea6b, 0xed9f, 0xeaa1, 0xee19, 0xeaa1, 0xee19, -0xe8e6, 0xec9f, 0xe8e6, 0xec9f, 0xe45e, 0xe852, 0xe45e, 0xe852, 0xe41f, 0xe849, 0xe41f, -0xe849, 0xe372, 0xe7c8, 0xe372, 0xe7c8, 0xe372, 0xe7c8, 0xe242, 0xe6bd, 0xe242, 0xe6bd, -0xe183, 0xe619, 0xe183, 0xe619, 0xe1d0, 0xe675, 0xe1d0, 0xe675, 0xdfa3, 0xe44b, 0xdfa3, -0xe44b, 0xdf4b, 0xe3ea, 0xdf4b, 0xe3ea, 0xe19b, 0xe624, 0xe19b, 0xe624, 0xe19b, 0xe624, -0xde47, 0xe2af, 0xde47, 0xe2af, 0xdfad, 0xe3e8, 0xdfad, 0xe3e8, 0xdddb, 0xe1dd, 0xdddb, -0xe1dd, 0xdea8, 0xe269, 0xdea8, 0xe269, 0xe0a8, 0xe41e, 0xe0a8, 0xe41e, 0xe061, 0xe386, -0xe061, 0xe386, 0xe061, 0xe386, 0xe24d, 0xe51b, 0xe24d, 0xe51b, 0xe4b7, 0xe72a, 0xe4b7, -0xe72a, 0xe6ce, 0xe8e4, 0xe6ce, 0xe8e4, 0xe84f, 0xea07, 0xe84f, 0xea07, 0xec8d, 0xede8, -0xec8d, 0xede8, 0xec8d, 0xede8, 0xedc5, 0xeec8, 0xedc5, 0xeec8, 0xf08e, 0xf13a, 0xf08e, -0xf13a, 0xf1f6, 0xf252, 0xf1f6, 0xf252, 0xf628, 0xf63b, 0xf628, 0xf63b, 0xf7ef, 0xf7c0, -0xf7ef, 0xf7c0, 0xfa0d, 0xf9a3, 0xfa0d, 0xf9a3, 0xfa0d, 0xf9a3, 0xfea1, 0xfe04, 0xfea1, -0xfe04, 0xfe23, 0xfd5b, 0xfe23, 0xfd5b, 0x8c, 0xffa1, 0x8c, 0xffa1, 0x14e, 0x46, -0x14e, 0x46, 0x1aa, 0x8b, 0x1aa, 0x8b, 0x1aa, 0x8b, 0x32a, 0x1fa, 0x32a, -0x1fa, 0x481, 0x342, 0x481, 0x342, 0x638, 0x4ee, 0x638, 0x4ee, 0x79f, 0x64a, -0x79f, 0x64a, 0x78b, 0x62a, 0x78b, 0x62a, 0xb82, 0xa15, 0xb82, 0xa15, 0xb82, -0xa15, 0x992, 0x815, 0x992, 0x815, 0x8e8, 0x756, 0x8e8, 0x756, 0xeca, 0xd1f, -0xeca, 0xd1f, 0xeb1, 0xce6, 0xeb1, 0xce6, 0x1086, 0xe95, 0x1086, 0xe95, 0x1197, -0xf7a, 0x1197, 0xf7a, 0x1197, 0xf7a, 0x15d9, 0x1389, 0x15d9, 0x1389, 0x15cc, 0x1342, -0x15cc, 0x1342, 0x175d, 0x1495, 0x175d, 0x1495, 0x1c50, 0x1943, 0x1c50, 0x1943, 0x1e46, -0x1af2, 0x1e46, 0x1af2, 0x1e46, 0x1af2, 0x22e6, 0x1f48, 0x22e6, 0x1f48, 0x24f9, 0x2110, -0x24f9, 0x2110, 0x29e8, 0x25b5, 0x29e8, 0x25b5, 0x28b1, 0x2438, 0x28b1, 0x2438, 0x2b14, -0x2659, 0x2b14, 0x2659, 0x2d69, 0x2872, 0x2d69, 0x2872, 0x2d69, 0x2872, 0x2afb, 0x25d0, -0x2afb, 0x25d0, 0x2ce0, 0x278b, 0x2ce0, 0x278b, 0x2ab7, 0x2543, 0x2ab7, 0x2543, 0x2c09, -0x2681, 0x2c09, 0x2681, 0x2ca3, 0x2716, 0x2ca3, 0x2716, 0x2c93, 0x270f, 0x2c93, 0x270f, -0x2c93, 0x270f, 0x2a6a, 0x24fc, 0x2a6a, 0x24fc, 0x27d1, 0x2287, 0x27d1, 0x2287, 0x255c, -0x2044, 0x255c, 0x2044, 0x22cb, 0x1df1, 0x22cb, 0x1df1, 0x21f2, 0x1d63, 0x21f2, 0x1d63, -0x21f2, 0x1d63, 0x1e1c, 0x19e3, 0x1e1c, 0x19e3, 0x1d72, 0x1998, 0x1d72, 0x1998, 0x1d5e, -0x19ea, 0x1d5e, 0x19ea, 0x1ac9, 0x17c1, 0x1ac9, 0x17c1, 0x1837, 0x159d, 0x1837, 0x159d, -0x1664, 0x143b, 0x1664, 0x143b, 0x1664, 0x143b, 0x1139, 0xf7f, 0x1139, 0xf7f, 0x1037, -0xeea, 0x1037, 0xeea, 0xbd0, 0xaec, 0xbd0, 0xaec, 0x854, 0x7d1, 0x854, 0x7d1, -0x8c7, 0x89e, 0x8c7, 0x89e, 0x473, 0x49a, 0x473, 0x49a, 0x473, 0x49a, 0x48d, -0x4fb, 0x48d, 0x4fb, 0x47e, 0x528, 0x47e, 0x528, 0x29c, 0x377, 0x29c, 0x377, -0xfea5, 0xffa5, 0xfea5, 0xffa5, 0xfd88, 0xfea4, 0xfd88, 0xfea4, 0xfd88, 0xfea4, 0xf916, -0xfa44, 0xf916, 0xfa44, 0xf9e1, 0xfb18, 0xf9e1, 0xfb18, 0xf9ff, 0xfb36, 0xf9ff, 0xfb36, -0xf6e9, 0xf81b, 0xf6e9, 0xf81b, 0xf918, 0xfa40, 0xf918, 0xfa40, 0xf837, 0xf953, 0xf837, -0xf953, 0xf837, 0xf953, 0xf99f, 0xfaad, 0xf99f, 0xfaad, 0xf78b, 0xf88c, 0xf78b, 0xf88c, -0xf796, 0xf88c, 0xf796, 0xf88c, 0xf5c6, 0xf6b4, 0xf5c6, 0xf6b4, 0xf715, 0xf800, 0xf715, -0xf800, 0xf91b, 0xfa09, 0xf91b, 0xfa09, 0xf91b, 0xfa09, 0xf7fa, 0xf8f2, 0xf7fa, 0xf8f2, -0xfab2, 0xfbbb, 0xfab2, 0xfbbb, 0xf9dd, 0xfafe, 0xf9dd, 0xfafe, 0xf77a, 0xf8bb, 0xf77a, -0xf8bb, 0xf7f8, 0xf95d, 0xf7f8, 0xf95d, 0xf7f8, 0xf95d, 0xf7ed, 0xf97f, 0xf7ed, 0xf97f, -0xf71c, 0xf8dd, 0xf71c, 0xf8dd, 0xf5b4, 0xf7a8, 0xf5b4, 0xf7a8, 0xf249, 0xf471, 0xf249, -0xf471, 0xf504, 0xf760, 0xf504, 0xf760, 0xf279, 0xf507, 0xf279, 0xf507, 0xf279, 0xf507, -0xf0b3, 0xf36f, 0xf0b3, 0xf36f, 0xf049, 0xf32c, 0xf049, 0xf32c, 0xee67, 0xf169, 0xee67, -0xf169, 0xef4e, 0xf267, 0xef4e, 0xf267, 0xefa0, 0xf2c4, 0xefa0, 0xf2c4, 0xeec0, 0xf1e2, -0xeec0, 0xf1e2, 0xeec0, 0xf1e2, 0xebe5, 0xeef8, 0xebe5, 0xeef8, 0xed41, 0xf038, 0xed41, -0xf038, 0xec88, 0xef54, 0xec88, 0xef54, 0xecc2, 0xef55, 0xecc2, 0xef55, 0xee3e, 0xf08b, -0xee3e, 0xf08b, 0xee3e, 0xf08b, 0xf062, 0xf25d, 0xf062, 0xf25d, 0xf0c9, 0xf265, 0xf0c9, -0xf265, 0xf3e7, 0xf51c, 0xf3e7, 0xf51c, 0xf884, 0xf94a, 0xf884, 0xf94a, 0xf904, 0xf955, -0xf904, 0xf955, 0xf9a3, 0xf97b, 0xf9a3, 0xf97b, 0xf9a3, 0xf97b, 0xfe76, 0xfdd4, 0xfe76, -0xfdd4, 0x258, 0x13d, 0x258, 0x13d, 0x199, 0x9, 0x199, 0x9, 0x648, 0x448, -0x648, 0x448, 0x97f, 0x718, 0x97f, 0x718, 0xc72, 0x9ac, 0xc72, 0x9ac, 0xc72, -0x9ac, 0xcff, 0x9e6, 0xcff, 0x9e6, 0xe3b, 0xadb, 0xe3b, 0xadb, 0x1043, 0xcaa, -0x1043, 0xcaa, 0xe56, 0xa91, 0xe56, 0xa91, 0xefc, 0xb1a, 0xefc, 0xb1a, 0xefc, -0xb1a, 0x1274, 0xe84, 0x1274, 0xe84, 0x11b8, 0xdc7, 0x11b8, 0xdc7, 0xf51, 0xb6b, -0xf51, 0xb6b, 0x11e6, 0xe18, 0x11e6, 0xe18, 0x1238, 0xe8c, 0x1238, 0xe8c, 0x118e, -0xe0d, 0x118e, 0xe0d, 0x118e, 0xe0d, 0x1290, 0xf41, 0x1290, 0xf41, 0x1136, 0xe1d, -0x1136, 0xe1d, 0xf60, 0xc81, 0xf60, 0xc81, 0x123c, 0xf98, 0x123c, 0xf98, 0xf60, -0xcf7, 0xf60, 0xcf7, 0x1027, 0xdf7, 0x1027, 0xdf7, 0x1027, 0xdf7, 0x104d, 0xe52, -0x104d, 0xe52, 0xc84, 0xab9, 0xc84, 0xab9, 0xf48, 0xda6, 0xf48, 0xda6, 0xe41, -0xcc2, 0xe41, 0xcc2, 0xcbc, 0xb57, 0xcbc, 0xb57, 0xcbc, 0xb57, 0xbf2, 0xa9f, -0xbf2, 0xa9f, 0xb2b, 0x9e4, 0xb2b, 0x9e4, 0xa5d, 0x919, 0xa5d, 0x919, 0xc64, -0xb1c, 0xc64, 0xb1c, 0xa61, 0x90e, 0xa61, 0x90e, 0xa3a, 0x8d8, 0xa3a, 0x8d8, -0xa3a, 0x8d8, 0xb42, 0x9cc, 0xb42, 0x9cc, 0x977, 0x7ea, 0x977, 0x7ea, 0x95a, -0x7b4, 0x95a, 0x7b4, 0x82f, 0x66e, 0x82f, 0x66e, 0x884, 0x6aa, 0x884, 0x6aa, -0x658, 0x466, 0x658, 0x466, 0x658, 0x466, 0x7d9, 0x5d3, 0x7d9, 0x5d3, 0x7a4, -0x58d, 0x7a4, 0x58d, 0x5dc, 0x3b8, 0x5dc, 0x3b8, 0x726, 0x4fa, 0x726, 0x4fa, -0x6ec, 0x4bf, 0x6ec, 0x4bf, 0x6ec, 0x4bf, 0x858, 0x62e, 0x858, 0x62e, 0xbfe, -0x9dd, 0xbfe, 0x9dd, 0xabb, 0x8a9, 0xabb, 0x8a9, 0x9ec, 0x7ee, 0x9ec, 0x7ee, -0xa25, 0x83f, 0xa25, 0x83f, 0x742, 0x578, 0x742, 0x578, 0x742, 0x578, 0x956, -0x7ab, 0x956, 0x7ab, 0x791, 0x607, 0x791, 0x607, 0x5a4, 0x43d, 0x5a4, 0x43d, -0x7af, 0x66a, 0x7af, 0x66a, 0x844, 0x71f, 0x844, 0x71f, 0x844, 0x71f, 0x65c, -0x556, 0x65c, 0x556, 0x4e2, 0x3fa, 0x4e2, 0x3fa, 0x3ab, 0x2db, 0x3ab, 0x2db, -0xffe3, 0xff28, 0xffe3, 0xff28, 0x2bc, 0x211, 0x2bc, 0x211, 0x17f, 0xdf, 0x17f, -0xdf, 0x17f, 0xdf, 0xfe87, 0xfdeb, 0xfe87, 0xfdeb, 0x2d9, 0x23e, 0x2d9, 0x23e, -0x23f, 0x19d, 0x23f, 0x19d, 0x399, 0x2ec, 0x399, 0x2ec, 0x582, 0x4c5, 0x582, -0x4c5, 0x3fd, 0x32b, 0x3fd, 0x32b, 0x3fd, 0x32b, 0x471, 0x386, 0x471, 0x386, -0x59d, 0x496, 0x59d, 0x496, 0x7b8, 0x693, 0x7b8, 0x693, 0xb4b, 0xa06, 0xb4b, -0xa06, 0xc24, 0xabd, 0xc24, 0xabd, 0xc24, 0xabd, 0xef8, 0xd6f, 0xef8, 0xd6f, -0x152a, 0x1380, 0x152a, 0x1380, 0x138e, 0x11c4, 0x138e, 0x11c4, 0x15df, 0x13f8, 0x15df, -0x13f8, 0x1926, 0x1725, 0x1926, 0x1725, 0x18ac, 0x1694, 0x18ac, 0x1694, 0x18ac, 0x1694, -0x1906, 0x16db, 0x1906, 0x16db, 0x1bc1, 0x1987, 0x1bc1, 0x1987, 0x1c68, 0x1a25, 0x1c68, -0x1a25, 0x1997, 0x1750, 0x1997, 0x1750, 0x1c56, 0x1a10, 0x1c56, 0x1a10, 0x1cfa, 0x1aba, -0x1cfa, 0x1aba, 0x1cfa, 0x1aba, 0x1d47, 0x1b12, 0x1d47, 0x1b12, 0x19d1, 0x17ae, 0x19d1, -0x17ae, 0x1840, 0x1633, 0x1840, 0x1633, 0x1739, 0x1547, 0x1739, 0x1547, 0x16a6, 0x14d3, -0x16a6, 0x14d3, 0x16a6, 0x14d3, 0x16d6, 0x1528, 0x16d6, 0x1528, 0x12ea, 0x1163, 0x12ea, -0x1163, 0x12f0, 0x1195, 0x12f0, 0x1195, 0x1158, 0x102c, 0x1158, 0x102c, 0x11a4, 0x10a9, -0x11a4, 0x10a9, 0xffb, 0xf34, 0xffb, 0xf34, 0xffb, 0xf34, 0xd8f, 0xcfd, 0xd8f, -0xcfd, 0xbce, 0xb73, 0xbce, 0xb73, 0x9aa, 0x985, 0x9aa, 0x985, 0x825, 0x838, -0x825, 0x838, 0x6d0, 0x71a, 0x6d0, 0x71a, 0x63e, 0x6be, 0x63e, 0x6be, 0x63e, -0x6be, 0x393, 0x448, 0x393, 0x448, 0x3a9, 0x492, 0x3a9, 0x492, 0x3b4, 0x4ce, -0x3b4, 0x4ce, 0x336, 0x47f, 0x336, 0x47f, 0x219, 0x38f, 0x219, 0x38f, 0x219, -0x38f, 0xff27, 0xc6, 0xff27, 0xc6, 0xfe32, 0xfff8, 0xfe32, 0xfff8, 0xfd16, 0xfeff, -0xfd16, 0xfeff, 0xfae7, 0xfcef, 0xfae7, 0xfcef, 0xf9d0, 0xfbf3, 0xf9d0, 0xfbf3, 0xf7e7, -0xfa23, 0xf7e7, 0xfa23, 0xf7e7, 0xfa23, 0xf690, 0xf8df, 0xf690, 0xf8df, 0xf621, 0xf881, -0xf621, 0xf881, 0xf5cd, 0xf839, 0xf5cd, 0xf839, 0xf3c0, 0xf635, 0xf3c0, 0xf635, 0xf20a, -0xf484, 0xf20a, 0xf484, 0xf1ee, 0xf46b, 0xf1ee, 0xf46b, 0xf1ee, 0xf46b, 0xf058, 0xf2d5, -0xf058, 0xf2d5, 0xf182, 0xf3fc, 0xf182, 0xf3fc, 0xf0f4, 0xf36a, 0xf0f4, 0xf36a, 0xec8b, -0xeefb, 0xec8b, 0xeefb, 0xee38, 0xf0a1, 0xee38, 0xf0a1, 0xee38, 0xf0a1, 0xed73, 0xefd5, -0xed73, 0xefd5, 0xec40, 0xee9a, 0xec40, 0xee9a, 0xee31, 0xf085, 0xee31, 0xf085, 0xead6, -0xed24, 0xead6, 0xed24, 0xec4f, 0xee99, 0xec4f, 0xee99, 0xeb6b, 0xedb2, 0xeb6b, 0xedb2, -0xeb6b, 0xedb2, 0xea04, 0xec4c, 0xea04, 0xec4c, 0xe6d5, 0xe91e, 0xe6d5, 0xe91e, 0xe482, -0xe6cf, 0xe482, 0xe6cf, 0xe5e3, 0xe837, 0xe5e3, 0xe837, 0xe411, 0xe66e, 0xe411, 0xe66e, -0xe429, 0xe691, 0xe429, 0xe691, 0xe429, 0xe691, 0xe057, 0xe2cd, 0xe057, 0xe2cd, 0xe169, -0xe3ed, 0xe169, 0xe3ed, 0xe0c1, 0xe355, 0xe0c1, 0xe355, 0xdf1f, 0xe1c4, 0xdf1f, 0xe1c4, -0xe1f1, 0xe4a6, 0xe1f1, 0xe4a6, 0xe1f1, 0xe4a6, 0xdf0e, 0xe1d4, 0xdf0e, 0xe1d4, 0xdca7, -0xdf7c, 0xdca7, 0xdf7c, 0xe226, 0xe508, 0xe226, 0xe508, 0xe26a, 0xe557, 0xe26a, 0xe557, -0xe1bb, 0xe4b0, 0xe1bb, 0xe4b0, 0xe4f7, 0xe7f1, 0xe4f7, 0xe7f1, 0xe4f7, 0xe7f1, 0xe47b, -0xe777, 0xe47b, 0xe777, 0xe739, 0xea32, 0xe739, 0xea32, 0xe7e1, 0xead3, 0xe7e1, 0xead3, -0xea49, 0xed32, 0xea49, 0xed32, 0xebf8, 0xeed3, 0xebf8, 0xeed3, 0xece8, 0xefb0, 0xece8, -0xefb0, 0xece8, 0xefb0, 0xef7d, 0xf231, 0xef7d, 0xf231, 0xf369, 0xf607, 0xf369, 0xf607, -0xf160, 0xf3e5, 0xf160, 0xf3e5, 0xef36, 0xf1a3, 0xef36, 0xf1a3, 0xf333, 0xf588, 0xf333, -0xf588, 0xf333, 0xf588, 0xf238, 0xf476, 0xf238, 0xf476, 0xefe5, 0xf20e, 0xefe5, 0xf20e, -0xef94, 0xf1ac, 0xef94, 0xf1ac, 0xf223, 0xf42f, 0xf223, 0xf42f, 0xf213, 0xf418, 0xf213, -0xf418, 0xf403, 0xf607, 0xf403, 0xf607, 0xf403, 0xf607, 0xf335, 0xf540, 0xf335, 0xf540, -0xf271, 0xf489, 0xf271, 0xf489, 0xf15a, 0xf387, 0xf15a, 0xf387, 0xf04d, 0xf297, 0xf04d, -0xf297, 0xf00b, 0xf27a, 0xf00b, 0xf27a, 0xeed2, 0xf16d, 0xeed2, 0xf16d, 0xeed2, 0xf16d, -0xef61, 0xf22d, 0xef61, 0xf22d, 0xef19, 0xf21e, 0xef19, 0xf21e, 0xeff7, 0xf338, 0xeff7, -0xf338, 0xeccc, 0xf04c, 0xeccc, 0xf04c, 0xec22, 0xefe3, 0xec22, 0xefe3, 0xec22, 0xefe3, -0xe949, 0xed4b, 0xe949, 0xed4b, 0xe71c, 0xeb5e, 0xe71c, 0xeb5e, 0xe5bc, 0xea3a, 0xe5bc, -0xea3a, 0xe53f, 0xe9f5, 0xe53f, 0xe9f5, 0xe351, 0xe838, 0xe351, 0xe838, 0xe2a8, 0xe7b8, -0xe2a8, 0xe7b8, 0xe2a8, 0xe7b8, 0xe278, 0xe7a8, 0xe278, 0xe7a8, 0xe0bf, 0xe603, 0xe0bf, -0xe603, 0xe354, 0xe8a2, 0xe354, 0xe8a2, 0xdfd6, 0xe521, 0xdfd6, 0xe521, 0xe019, 0xe556, -0xe019, 0xe556, 0xdecb, 0xe3ed, 0xdecb, 0xe3ed, 0xdecb, 0xe3ed, 0xde76, 0xe372, 0xde76, -0xe372, 0xdf8f, 0xe458, 0xdf8f, 0xe458, 0xe05e, 0xe4eb, 0xe05e, 0xe4eb, 0xe07c, 0xe4c4, -0xe07c, 0xe4c4, 0xdf59, 0xe353, 0xdf59, 0xe353, 0xdf59, 0xe353, 0xe166, 0xe50d, 0xe166, -0xe50d, 0xe21b, 0xe56b, 0xe21b, 0xe56b, 0xe571, 0xe867, 0xe571, 0xe867, 0xe8ad, 0xeb47, -0xe8ad, 0xeb47, 0xe8ea, 0xeb2a, 0xe8ea, 0xeb2a, 0xeb1a, 0xed04, 0xeb1a, 0xed04, 0xeb1a, -0xed04, 0xf0a9, 0xf240, 0xf0a9, 0xf240, 0xf0aa, 0xf1f5, 0xf0aa, 0xf1f5, 0xf2e4, 0xf3e9, -0xf2e4, 0xf3e9, 0xf4ba, 0xf582, 0xf4ba, 0xf582, 0xf828, 0xf8bb, 0xf828, 0xf8bb, 0xf828, -0xf8bb, 0xfa91, 0xfaf8, 0xfa91, 0xfaf8, 0xfa95, 0xfad9, 0xfa95, 0xfad9, 0xfd12, 0xfd3b, -0xfd12, 0xfd3b, 0xfc29, 0xfc3e, 0xfc29, 0xfc3e, 0xfe1b, 0xfe24, 0xfe1b, 0xfe24, 0xfedc, -0xfede, 0xfedc, 0xfede, 0xfedc, 0xfede, 0xfeec, 0xfeea, 0xfeec, 0xfeea, 0xff3b, 0xff38, -0xff3b, 0xff38, 0xaf, 0xad, 0xaf, 0xad, 0xb8, 0xb4, 0xb8, 0xb4, 0x38c, -0x385, 0x38c, 0x385, 0x365, 0x355, 0x365, 0x355, 0x365, 0x355, 0x2b9, 0x29b, -0x2b9, 0x29b, 0x782, 0x750, 0x782, 0x750, 0x98e, 0x93f, 0x98e, 0x93f, 0xbe5, -0xb71, 0xbe5, 0xb71, 0xc13, 0xb71, 0xc13, 0xb71, 0xc13, 0xb71, 0xe31, 0xd57, -0xe31, 0xd57, 0x12b8, 0x119e, 0x12b8, 0x119e, 0x15d7, 0x1475, 0x15d7, 0x1475, 0x1789, -0x15d9, 0x1789, 0x15d9, 0x1cfa, 0x1af5, 0x1cfa, 0x1af5, 0x1ea0, 0x1c41, 0x1ea0, 0x1c41, -0x1ea0, 0x1c41, 0x2224, 0x1f6b, 0x2224, 0x1f6b, 0x28af, 0x259a, 0x28af, 0x259a, 0x27ba, -0x244c, 0x27ba, 0x244c, 0x2916, 0x2552, 0x2916, 0x2552, 0x2b18, 0x2704, 0x2b18, 0x2704, -0x2bd8, 0x277c, 0x2bd8, 0x277c, 0x2bd8, 0x277c, 0x2caf, 0x2816, 0x2caf, 0x2816, 0x2e2b, -0x295f, 0x2e2b, 0x295f, 0x2ae0, 0x25ef, 0x2ae0, 0x25ef, 0x2b45, 0x263d, 0x2b45, 0x263d, -0x2dee, 0x28dd, 0x2dee, 0x28dd, 0x2dee, 0x28dd, 0x2ab5, 0x25ab, 0x2ab5, 0x25ab, 0x2c68, -0x2773, 0x2c68, 0x2773, 0x2a8f, 0x25c0, 0x2a8f, 0x25c0, 0x2790, 0x22f3, 0x2790, 0x22f3, -0x27f8, 0x239b, 0x27f8, 0x239b, 0x2504, 0x20f1, 0x2504, 0x20f1, 0x2504, 0x20f1, 0x2316, -0x1f58, 0x2316, 0x1f58, 0x22f6, 0x1f94, 0x22f6, 0x1f94, 0x1f89, 0x1c89, 0x1f89, 0x1c89, -0x1d5f, 0x1ac4, 0x1d5f, 0x1ac4, 0x1c42, 0x1a0d, 0x1c42, 0x1a0d, 0x1808, 0x1638, 0x1808, -0x1638, 0x1808, 0x1638, 0x1757, 0x15e9, 0x1757, 0x15e9, 0x1362, 0x1250, 0x1362, 0x1250, -0x10b7, 0xff9, 0x10b7, 0xff9, 0x112c, 0x10bb, 0x112c, 0x10bb, 0xe70, 0xe41, 0xe70, -0xe41, 0xe70, 0xe41, 0xb9d, 0xba4, 0xb9d, 0xba4, 0xaee, 0xb21, 0xaee, 0xb21, -0xa3e, 0xa92, 0xa3e, 0xa92, 0x5c8, 0x630, 0x5c8, 0x630, 0x4be, 0x530, 0x4be, -0x530, 0x7b, 0xeb, 0x7b, 0xeb, 0x7b, 0xeb, 0xff35, 0xff9b, 0xff35, 0xff9b, -0xfee3, 0xff37, 0xfee3, 0xff37, 0xfe8e, 0xfeca, 0xfe8e, 0xfeca, 0xff13, 0xff33, 0xff13, -0xff33, 0xfc4e, 0xfc4e, 0xfc4e, 0xfc4e, 0xfd0b, 0xfceb, 0xfd0b, 0xfceb, 0xfd0b, 0xfceb, -0xfb04, 0xfac5, 0xfb04, 0xfac5, 0xfc72, 0xfc16, 0xfc72, 0xfc16, 0xfbe9, 0xfb74, 0xfbe9, -0xfb74, 0xfbcc, 0xfb42, 0xfbcc, 0xfb42, 0xfca8, 0xfc11, 0xfca8, 0xfc11, 0xfca8, 0xfc11, -0xfbd7, 0xfb39, 0xfbd7, 0xfb39, 0xfd22, 0xfc85, 0xfd22, 0xfc85, 0xfcfa, 0xfc66, 0xfcfa, -0xfc66, 0xf99f, 0xf91a, 0xf99f, 0xf91a, 0xf982, 0xf914, 0xf982, 0xf914, 0xfa49, 0xf9f7, -0xfa49, 0xf9f7, 0xfa49, 0xf9f7, 0xf765, 0xf735, 0xf765, 0xf735, 0xf77b, 0xf770, 0xf77b, -0xf770, 0xf2a9, 0xf2c7, 0xf2a9, 0xf2c7, 0xf387, 0xf3cd, 0xf387, 0xf3cd, 0xf20f, 0xf27d, -0xf20f, 0xf27d, 0xef09, 0xef9d, 0xef09, 0xef9d, 0xef09, 0xef9d, 0xf08c, 0xf141, 0xf08c, -0xf141, 0xed56, 0xee26, 0xed56, 0xee26, 0xec49, 0xed2e, 0xec49, 0xed2e, 0xebdf, 0xecd0, -0xebdf, 0xecd0, 0xeaf9, 0xebec, 0xeaf9, 0xebec, 0xeaf9, 0xebec, 0xe94c, 0xea37, 0xe94c, -0xea37, 0xe8bc, 0xe995, 0xe8bc, 0xe995, 0xe790, 0xe84d, 0xe790, 0xe84d, 0xe7e4, 0xe879, -0xe7e4, 0xe879, 0xe7b3, 0xe817, 0xe7b3, 0xe817, 0xe741, 0xe76a, 0xe741, 0xe76a, 0xe741, -0xe76a, 0xe99a, 0xe981, 0xe99a, 0xe981, 0xeb6f, 0xeb0c, 0xeb6f, 0xeb0c, 0xecf5, 0xec43, -0xecf5, 0xec43, 0xf034, 0xef2f, 0xf034, 0xef2f, 0xf0fd, 0xefa2, 0xf0fd, 0xefa2, 0xf284, -0xf0d5, 0xf284, 0xf0d5, 0xf284, 0xf0d5, 0xf837, 0xf634, 0xf837, 0xf634, 0xfb21, 0xf8cc, -0xfb21, 0xf8cc, 0xfc4c, 0xf9ab, 0xfc4c, 0xf9ab, 0xffb6, 0xfccf, 0xffb6, 0xfccf, 0x16a, -0xfe45, 0x16a, 0xfe45, 0x16a, 0xfe45, 0x340, 0xffe5, 0x340, 0xffe5, 0x72d, 0x3a5, -0x72d, 0x3a5, 0x56a, 0x1bf, 0x56a, 0x1bf, 0x61f, 0x25b, 0x61f, 0x25b, 0x535, -0x162, 0x535, 0x162, 0x76e, 0x395, 0x76e, 0x395, 0x76e, 0x395, 0xab3, 0x6de, -0xab3, 0x6de, 0x9a3, 0x5da, 0x9a3, 0x5da, 0xb30, 0x77a, 0xb30, 0x77a, 0xb64, -0x7c8, 0xb64, 0x7c8, 0xc3b, 0x8bd, 0xc3b, 0x8bd, 0xce9, 0x98d, 0xce9, 0x98d, -0xce9, 0x98d, 0xeea, 0xbb2, 0xeea, 0xbb2, 0xd29, 0xa15, 0xd29, 0xa15, 0xd35, -0xa44, 0xd35, 0xa44, 0xf96, 0xcc9, 0xf96, 0xcc9, 0xfe0, 0xd31, 0xfe0, 0xd31, -0xfe0, 0xd31, 0xe94, 0xc02, 0xe94, 0xc02, 0x1037, 0xdbd, 0x1037, 0xdbd, 0xe60, -0xbf9, 0xe60, 0xbf9, 0xe35, 0xbdc, 0xe35, 0xbdc, 0x103b, 0xdec, 0x103b, 0xdec, -0xd98, 0xb4e, 0xd98, 0xb4e, 0xd98, 0xb4e, 0xef7, 0xcad, 0xef7, 0xcad, 0xd41, -0xaf4, 0xd41, 0xaf4, 0xfaf, 0xd5c, 0xfaf, 0xd5c, 0xf26, 0xccc, 0xf26, 0xccc, -0xf95, 0xd33, 0xf95, 0xd33, 0xe44, 0xbda, 0xe44, 0xbda, 0xe44, 0xbda, 0xd8a, -0xb18, 0xd8a, 0xb18, 0xf19, 0xca3, 0xf19, 0xca3, 0xc8d, 0xa16, 0xc8d, 0xa16, -0xf26, 0xcb2, 0xf26, 0xcb2, 0xd14, 0xaa8, 0xd14, 0xaa8, 0xd14, 0xaa8, 0xd6c, -0xb0d, 0xd6c, 0xb0d, 0xdd1, 0xb86, 0xdd1, 0xb86, 0xd7a, 0xb47, 0xd7a, 0xb47, -0xf73, 0xd5f, 0xf73, 0xd5f, 0xf71, 0xd81, 0xf71, 0xd81, 0xe16, 0xc4e, 0xe16, -0xc4e, 0xe16, 0xc4e, 0x10ac, 0xf12, 0x10ac, 0xf12, 0xfc4, 0xe5a, 0xfc4, 0xe5a, -0xeb8, 0xd82, 0xeb8, 0xd82, 0xfb7, 0xeb5, 0xfb7, 0xeb5, 0xc75, 0xba7, 0xc75, -0xba7, 0xc75, 0xba7, 0xee0, 0xe45, 0xee0, 0xe45, 0xe94, 0xe2b, 0xe94, 0xe2b, -0xdaa, 0xd6f, 0xdaa, 0xd6f, 0xd3c, 0xd2a, 0xd3c, 0xd2a, 0xcd1, 0xce2, 0xcd1, -0xce2, 0xd8b, 0xdba, 0xd8b, 0xdba, 0xd8b, 0xdba, 0xbaf, 0xbf4, 0xbaf, 0xbf4, -0x937, 0x98a, 0x937, 0x98a, 0x67a, 0x6d4, 0x67a, 0x6d4, 0x46f, 0x4c7, 0x46f, -0x4c7, 0x5d1, 0x620, 0x5d1, 0x620, 0x672, 0x6b0, 0x672, 0x6b0, 0x672, 0x6b0, -0x5a1, 0x5c8, 0x5a1, 0x5c8, 0x5d2, 0x5db, 0x5d2, 0x5db, 0x5bd, 0x5a4, 0x5bd, -0x5a4, 0x588, 0x546, 0x588, 0x546, 0x4de, 0x472, 0x4de, 0x472, 0x4de, 0x472, -0x633, 0x59a, 0x633, 0x59a, 0x562, 0x49b, 0x562, 0x49b, 0x7b0, 0x6ba, 0x7b0, -0x6ba, 0xc32, 0xb10, 0xc32, 0xb10, 0xe55, 0xd07, 0xe55, 0xd07, 0xf50, 0xddc, -0xf50, 0xddc, 0xf50, 0xddc, 0x1220, 0x1087, 0x1220, 0x1087, 0x14ff, 0x1346, 0x14ff, -0x1346, 0x16f2, 0x151f, 0x16f2, 0x151f, 0x16ea, 0x1502, 0x16ea, 0x1502, 0x15a9, 0x13b0, -0x15a9, 0x13b0, 0x17b5, 0x15b1, 0x17b5, 0x15b1, 0x17b5, 0x15b1, 0x17d8, 0x15cf, 0x17d8, -0x15cf, 0x19b9, 0x17b0, 0x19b9, 0x17b0, 0x1863, 0x165e, 0x1863, 0x165e, 0x175d, 0x1560, -0x175d, 0x1560, 0x1739, 0x1549, 0x1739, 0x1549, 0x1739, 0x1549, 0x16b8, 0x14d7, 0x16b8, -0x14d7, 0x1601, 0x1431, 0x1601, 0x1431, 0x1609, 0x144d, 0x1609, 0x144d, 0x1646, 0x149e, -0x1646, 0x149e, 0x1222, 0x1090, 0x1222, 0x1090, 0x1233, 0x10b6, 0x1233, 0x10b6, 0x1233, -0x10b6, 0x1134, 0xfcd, 0x1134, 0xfcd, 0xecb, 0xd78, 0xecb, 0xd78, 0xbef, 0xab1, -0xbef, 0xab1, 0xb6f, 0xa45, 0xb6f, 0xa45, 0xa0e, 0x8f7, 0xa0e, 0x8f7, 0x8aa, -0x7a4, 0x8aa, 0x7a4, 0x8aa, 0x7a4, 0x78a, 0x696, 0x78a, 0x696, 0x3e1, 0x2fe, -0x3e1, 0x2fe, 0x3e5, 0x314, 0x3e5, 0x314, 0x334, 0x274, 0x334, 0x274, 0x325, -0x277, 0x325, 0x277, 0x325, 0x277, 0x10b, 0x70, 0x10b, 0x70, 0xff57, 0xfed0, -0xff57, 0xfed0, 0xfe7e, 0xfe0c, 0xfe7e, 0xfe0c, 0xfd9c, 0xfd41, 0xfd9c, 0xfd41, 0xfe79, -0xfe36, 0xfe79, 0xfe36, 0xfcea, 0xfcc1, 0xfcea, 0xfcc1, 0xfcea, 0xfcc1, 0xfa6d, 0xfa60, -0xfa6d, 0xfa60, 0xf7f3, 0xf803, 0xf7f3, 0xf803, 0xf7d6, 0xf804, 0xf7d6, 0xf804, 0xf8b4, -0xf902, 0xf8b4, 0xf902, 0xf78f, 0xf7fe, 0xf78f, 0xf7fe, 0xf538, 0xf5c9, 0xf538, 0xf5c9, -0xf538, 0xf5c9, 0xf380, 0xf433, 0xf380, 0xf433, 0xf27c, 0xf351, 0xf27c, 0xf351, 0xf1d3, -0xf2c9, 0xf1d3, 0xf2c9, 0xf0e0, 0xf1f8, 0xf0e0, 0xf1f8, 0xeeab, 0xefe2, 0xeeab, 0xefe2, -0xeeab, 0xefe2, 0xedff, 0xef56, 0xedff, 0xef56, 0xefa7, 0xf11b, 0xefa7, 0xf11b, 0xf12f, -0xf2c0, 0xf12f, 0xf2c0, 0xef3d, 0xf0e8, 0xef3d, 0xf0e8, 0xefbf, 0xf184, 0xefbf, 0xf184, -0xeffa, 0xf1d7, 0xeffa, 0xf1d7, 0xeffa, 0xf1d7, 0xef52, 0xf146, 0xef52, 0xf146, 0xf114, -0xf31e, 0xf114, 0xf31e, 0xee83, 0xf0a2, 0xee83, 0xf0a2, 0xeee0, 0xf114, 0xeee0, 0xf114, -0xee13, 0xf05b, 0xee13, 0xf05b, 0xef52, 0xf1af, 0xef52, 0xf1af, 0xef52, 0xf1af, 0xf088, -0xf2f9, 0xf088, 0xf2f9, 0xecd9, 0xef60, 0xecd9, 0xef60, 0xec0a, 0xeea8, 0xec0a, 0xeea8, -0xeb76, 0xee2a, 0xeb76, 0xee2a, 0xeafb, 0xedc8, 0xeafb, 0xedc8, 0xeafb, 0xedc8, 0xe930, -0xec15, 0xe930, 0xec15, 0xe887, 0xeb87, 0xe887, 0xeb87, 0xe7cc, 0xeae5, 0xe7cc, 0xeae5, -0xe8b9, 0xebed, 0xe8b9, 0xebed, 0xe896, 0xebe5, 0xe896, 0xebe5, 0xe903, 0xec6c, 0xe903, -0xec6c, 0xe903, 0xec6c, 0xe7dd, 0xeb5e, 0xe7dd, 0xeb5e, 0xe6e2, 0xea7b, 0xe6e2, 0xea7b, -0xe967, 0xed16, 0xe967, 0xed16, 0xe8a0, 0xec61, 0xe8a0, 0xec61, 0xe979, 0xed49, 0xe979, -0xed49, 0xea6c, 0xee48, 0xea6c, 0xee48, 0xea6c, 0xee48, 0xec50, 0xf035, 0xec50, 0xf035, -0xee2d, 0xf216, 0xee2d, 0xf216, 0xef9e, 0xf386, 0xef9e, 0xf386, 0xf095, 0xf477, 0xf095, -0xf477, 0xf035, 0xf40d, 0xf035, 0xf40d, 0xf035, 0xf40d, 0xf011, 0xf3db, 0xf011, 0xf3db, -0xf422, 0xf7d9, 0xf422, 0xf7d9, 0xf594, 0xf935, 0xf594, 0xf935, 0xf527, 0xf8ae, 0xf527, -0xf8ae, 0xf60d, 0xf978, 0xf60d, 0xf978, 0xf458, 0xf7a5, 0xf458, 0xf7a5, 0xf458, 0xf7a5, -0xf44b, 0xf779, 0xf44b, 0xf779, 0xf499, 0xf7a8, 0xf499, 0xf7a8, 0xf763, 0xfa52, 0xf763, -0xfa52, 0xf637, 0xf909, 0xf637, 0xf909, 0xf685, 0xf93c, 0xf685, 0xf93c, 0xf6f3, 0xf992, -0xf6f3, 0xf992, 0xf6f3, 0xf992, 0xf594, 0xf81f, 0xf594, 0xf81f, 0xf5a5, 0xf820, 0xf5a5, -0xf820, 0xf243, 0xf4b3, 0xf243, 0xf4b3, 0xf138, 0xf3a3, 0xf138, 0xf3a3, 0xf15d, 0xf3c8, -0xf15d, 0xf3c8, 0xf15d, 0xf3c8, 0xefa5, 0xf214, 0xefa5, 0xf214, 0xee73, 0xf0ec, 0xee73, -0xf0ec, 0xecc3, 0xef4c, 0xecc3, 0xef4c, 0xeb1e, 0xedbb, 0xeb1e, 0xedbb, 0xeb7b, 0xee30, -0xeb7b, 0xee30, 0xe926, 0xebf6, 0xe926, 0xebf6, 0xe926, 0xebf6, 0xe7ff, 0xeaed, 0xe7ff, -0xeaed, 0xe50b, 0xe818, 0xe50b, 0xe818, 0xe2f5, 0xe622, 0xe2f5, 0xe622, 0xe234, 0xe57f, -0xe234, 0xe57f, 0xe104, 0xe46d, 0xe104, 0xe46d, 0xdf30, 0xe2b4, 0xdf30, 0xe2b4, 0xdf30, -0xe2b4, 0xdb5e, 0xdefb, 0xdb5e, 0xdefb, 0xdbf0, 0xdfa0, 0xdbf0, 0xdfa0, 0xdb3a, 0xdef9, -0xdb3a, 0xdef9, 0xdb07, 0xded0, 0xdb07, 0xded0, 0xdbca, 0xdf97, 0xdbca, 0xdf97, 0xdbca, -0xdf97, 0xdaa9, 0xde73, 0xdaa9, 0xde73, 0xda1a, 0xdddc, 0xda1a, 0xdddc, 0xdc5e, 0xe011, -0xdc5e, 0xe011, 0xdd69, 0xe106, 0xdd69, 0xe106, 0xdd2e, 0xe0af, 0xdd2e, 0xe0af, 0xdd29, -0xe08a, 0xdd29, 0xe08a, 0xdd29, 0xe08a, 0xdf13, 0xe24e, 0xdf13, 0xe24e, 0xe0a3, 0xe3b4, -0xe0a3, 0xe3b4, 0xe278, 0xe55b, 0xe278, 0xe55b, 0xe3eb, 0xe69d, 0xe3eb, 0xe69d, 0xe443, -0xe6c3, 0xe443, 0xe6c3, 0xe443, 0xe6c3, 0xe873, 0xeabe, 0xe873, 0xeabe, 0xeb49, 0xed5e, -0xeb49, 0xed5e, 0xef77, 0xf155, 0xef77, 0xf155, 0xf018, 0xf1c1, 0xf018, 0xf1c1, 0xf12c, -0xf2a0, 0xf12c, 0xf2a0, 0xf429, 0xf568, 0xf429, 0xf568, 0xf429, 0xf568, 0xf7e9, 0xf8f4, -0xf7e9, 0xf8f4, 0xf9b2, 0xfa8c, 0xf9b2, 0xfa8c, 0xf974, 0xfa1d, 0xf974, 0xfa1d, 0xfa47, -0xfac1, 0xfa47, 0xfac1, 0xfb97, 0xfbe2, 0xfb97, 0xfbe2, 0xfdb9, 0xfdd7, 0xfdb9, 0xfdd7, -0xfdb9, 0xfdd7, 0xfd0b, 0xfcfc, 0xfd0b, 0xfcfc, 0x16, 0xffda, 0x16, 0xffda, 0xfdfe, -0xfd94, 0xfdfe, 0xfd94, 0xffd9, 0xff41, 0xffd9, 0xff41, 0x205, 0x13e, 0x205, 0x13e, -0x205, 0x13e, 0x2c7, 0x1d0, 0x2c7, 0x1d0, 0x5fa, 0x4d1, 0x5fa, 0x4d1, 0x453, -0x2f5, 0x453, 0x2f5, 0x8ff, 0x76c, 0x8ff, 0x76c, 0xdd3, 0xc07, 0xdd3, 0xc07, -0xfb1, 0xdad, 0xfb1, 0xdad, 0xfb1, 0xdad, 0x1147, 0xf08, 0x1147, 0xf08, 0x14b3, -0x1239, 0x14b3, 0x1239, 0x189d, 0x15e9, 0x189d, 0x15e9, 0x1c22, 0x1933, 0x1c22, 0x1933, -0x1e42, 0x1b19, 0x1e42, 0x1b19, 0x2071, 0x1d11, 0x2071, 0x1d11, 0x2071, 0x1d11, 0x2224, -0x1e90, 0x2224, 0x1e90, 0x2490, 0x20cb, 0x2490, 0x20cb, 0x2766, 0x2377, 0x2766, 0x2377, -0x2989, 0x2574, 0x2989, 0x2574, 0x2a29, 0x25f5, 0x2a29, 0x25f5, 0x2a29, 0x25f5, 0x2828, -0x23dd, 0x2828, 0x23dd, 0x2af2, 0x2697, 0x2af2, 0x2697, 0x2a26, 0x25c4, 0x2a26, 0x25c4, -0x291c, 0x24bc, 0x291c, 0x24bc, 0x2962, 0x250d, 0x2962, 0x250d, 0x2827, 0x23e5, 0x2827, -0x23e5, 0x2827, 0x23e5, 0x2820, 0x23fa, 0x2820, 0x23fa, 0x2808, 0x2408, 0x2808, 0x2408, -0x2776, 0x23a2, 0x2776, 0x23a2, 0x2472, 0x20d2, 0x2472, 0x20d2, 0x2336, 0x1fd0, 0x2336, -0x1fd0, 0x231a, 0x1ff4, 0x231a, 0x1ff4, 0x231a, 0x1ff4, 0x2114, 0x1e32, 0x2114, 0x1e32, -0x1e43, 0x1ba7, 0x1e43, 0x1ba7, 0x1c95, 0x1a42, 0x1c95, 0x1a42, 0x1a89, 0x187f, 0x1a89, -0x187f, 0x1947, 0x1786, 0x1947, 0x1786, 0x1947, 0x1786, 0x1800, 0x1685, 0x1800, 0x1685, -0x159e, 0x1468, 0x159e, 0x1468, 0x1340, 0x124b, 0x1340, 0x124b, 0x1179, 0x10c1, 0x1179, -0x10c1, 0x115a, 0x10db, 0x115a, 0x10db, 0xe8c, 0xe3f, 0xe8c, 0xe3f, 0xe8c, 0xe3f, -0xb73, 0xb53, 0xb73, 0xb53, 0xa71, 0xa79, 0xa71, 0xa79, 0x680, 0x6aa, 0x680, -0x6aa, 0x5c4, 0x60a, 0x5c4, 0x60a, 0x6c6, 0x723, 0x6c6, 0x723, 0x444, 0x4b4, -0x444, 0x4b4, 0x444, 0x4b4, 0x1fd, 0x27d, 0x1fd, 0x27d, 0x71, 0xfd, 0x71, -0xfd, 0x131, 0x1c7, 0x131, 0x1c7, 0xa7, 0x146, 0xa7, 0x146, 0xfef6, 0xff9e, -0xfef6, 0xff9e, 0xfef6, 0xff9e, 0xfd34, 0xfde4, 0xfd34, 0xfde4, 0xfd47, 0xfe01, 0xfd47, -0xfe01, 0xfccd, 0xfd93, 0xfccd, 0xfd93, 0xfbd3, 0xfca8, 0xfbd3, 0xfca8, 0xfd61, 0xfe47, -0xfd61, 0xfe47, 0xfb2c, 0xfc27, 0xfb2c, 0xfc27, 0xfb2c, 0xfc27, 0xfa55, 0xfb67, 0xfa55, -0xfb67, 0xfb31, 0xfc5f, 0xfb31, 0xfc5f, 0xf9e4, 0xfb30, 0xf9e4, 0xfb30, 0xf8f4, 0xfa61, -0xf8f4, 0xfa61, 0xf724, 0xf8b5, 0xf724, 0xf8b5, 0xf5ca, 0xf780, 0xf5ca, 0xf780, 0xf5ca, -0xf780, 0xf776, 0xf954, 0xf776, 0xf954, 0xf5fb, 0xf7ff, 0xf5fb, 0xf7ff, 0xf34e, 0xf578, -0xf34e, 0xf578, 0xf364, 0xf5b2, 0xf364, 0xf5b2, 0xf02c, 0xf29d, 0xf02c, 0xf29d, 0xf02c, -0xf29d, 0xeeac, 0xf13b, 0xeeac, 0xf13b, 0xee6c, 0xf115, 0xee6c, 0xf115, 0xec11, 0xeece, -0xec11, 0xeece, 0xea35, 0xed00, 0xea35, 0xed00, 0xe863, 0xeb36, 0xe863, 0xeb36, 0xe990, -0xec62, 0xe990, 0xec62, 0xe990, 0xec62, 0xe8ff, 0xebc9, 0xe8ff, 0xebc9, 0xe5f6, 0xe8af, -0xe5f6, 0xe8af, 0xe4de, 0xe77e, 0xe4de, 0xe77e, 0xe5e2, 0xe861, 0xe5e2, 0xe861, 0xe6b9, -0xe90f, 0xe6b9, 0xe90f, 0xe6d2, 0xe8f6, 0xe6d2, 0xe8f6, 0xe6d2, 0xe8f6, 0xe930, 0xeb1c, -0xe930, 0xeb1c, 0xea38, 0xebe6, 0xea38, 0xebe6, 0xedb7, 0xef20, 0xedb7, 0xef20, 0xf0fc, -0xf21a, 0xf0fc, 0xf21a, 0xf277, 0xf347, 0xf277, 0xf347, 0xf277, 0xf347, 0xf639, 0xf6b8, -0xf639, 0xf6b8, 0xf7c4, 0xf7ef, 0xf7c4, 0xf7ef, 0xf946, 0xf91c, 0xf946, 0xf91c, 0xfd1d, -0xfc9e, 0xfd1d, 0xfc9e, 0xfef5, 0xfe21, 0xfef5, 0xfe21, 0xfeee, 0xfdc7, 0xfeee, 0xfdc7, -0xfeee, 0xfdc7, 0xffc4, 0xfe4d, 0xffc4, 0xfe4d, 0x169, 0xffa6, 0x169, 0xffa6, 0x5ba, -0x3af, 0x5ba, 0x3af, 0x685, 0x435, 0x685, 0x435, 0x79d, 0x50f, 0x79d, 0x50f, -0x9a3, 0x6dc, 0x9a3, 0x6dc, 0x9a3, 0x6dc, 0xa15, 0x71c, 0xa15, 0x71c, 0xbc9, -0x8a3, 0xbc9, 0x8a3, 0xca8, 0x95d, 0xca8, 0x95d, 0xdaf, 0xa44, 0xdaf, 0xa44, -0xd1d, 0x999, 0xd1d, 0x999, 0xd1d, 0x999, 0xe9f, 0xb07, 0xe9f, 0xb07, 0x101b, -0xc77, 0x101b, 0xc77, 0xfea, 0xc3f, 0xfea, 0xc3f, 0xfff, 0xc53, 0xfff, 0xc53, -0x107e, 0xcd6, 0x107e, 0xcd6, 0x1061, 0xcc0, 0x1061, 0xcc0, 0x1061, 0xcc0, 0xfeb, -0xc57, 0xfeb, 0xc57, 0xf1b, 0xb99, 0xf1b, 0xb99, 0xfb6, 0xc48, 0xfb6, 0xc48, -0xfcd, 0xc77, 0xfcd, 0xc77, 0xf79, 0xc3d, 0xf79, 0xc3d, 0x1205, 0xee5, 0x1205, -0xee5, 0x1205, 0xee5, 0x117a, 0xe7a, 0x117a, 0xe7a, 0xff5, 0xd14, 0xff5, 0xd14, -0xeed, 0xc2f, 0xeed, 0xc2f, 0x1046, 0xdaa, 0x1046, 0xdaa, 0xf66, 0xced, 0xf66, -0xced, 0xf66, 0xced, 0xf32, 0xcdd, 0xf32, 0xcdd, 0xe88, 0xc57, 0xe88, 0xc57, -0xc62, 0xa55, 0xc62, 0xa55, 0xe52, 0xc69, 0xe52, 0xc69, 0xe51, 0xc8b, 0xe51, -0xc8b, 0xff5, 0xe51, 0xff5, 0xe51, 0xff5, 0xe51, 0xf43, 0xdc2, 0xf43, 0xdc2, -0xe83, 0xd22, 0xe83, 0xd22, 0xf22, 0xde1, 0xf22, 0xde1, 0xf08, 0xde5, 0xf08, -0xde5, 0xe26, 0xd21, 0xe26, 0xd21, 0xe26, 0xd21, 0xbfd, 0xb13, 0xbfd, 0xb13, -0xc1c, 0xb4a, 0xc1c, 0xb4a, 0xb66, 0xaab, 0xb66, 0xaab, 0xddb, 0xd35, 0xddb, -0xd35, 0xe76, 0xde3, 0xe76, 0xde3, 0xb18, 0xa96, 0xb18, 0xa96, 0xb18, 0xa96, -0xd44, 0xcd0, 0xd44, 0xcd0, 0xd0f, 0xca5, 0xd0f, 0xca5, 0xbee, 0xb8c, 0xbee, -0xb8c, 0xc51, 0xbf5, 0xc51, 0xbf5, 0x96c, 0x911, 0x96c, 0x911, 0x89f, 0x843, -0x89f, 0x843, 0x89f, 0x843, 0x766, 0x706, 0x766, 0x706, 0x783, 0x71c, 0x783, -0x71c, 0x525, 0x4b4, 0x525, 0x4b4, 0x2c8, 0x24a, 0x2c8, 0x24a, 0x3d5, 0x347, -0x3d5, 0x347, 0x3d5, 0x347, 0x37b, 0x2da, 0x37b, 0x2da, 0x514, 0x45f, 0x514, -0x45f, 0x3cb, 0x2ff, 0x3cb, 0x2ff, 0x272, 0x18e, 0x272, 0x18e, 0x370, 0x273, -0x370, 0x273, 0x449, 0x332, 0x449, 0x332, 0x449, 0x332, 0x5de, 0x4ac, 0x5de, -0x4ac, 0x753, 0x607, 0x753, 0x607, 0xa1e, 0x8b8, 0xa1e, 0x8b8, 0xcc0, 0xb41, -0xcc0, 0xb41, 0xd90, 0xbf9, 0xd90, 0xbf9, 0x1048, 0xe9c, 0x1048, 0xe9c, 0x1048, -0xe9c, 0x1193, 0xfd4, 0x1193, 0xfd4, 0x1247, 0x1077, 0x1247, 0x1077, 0x14da, 0x12fd, -0x14da, 0x12fd, 0x172e, 0x1546, 0x172e, 0x1546, 0x18a4, 0x16b6, 0x18a4, 0x16b6, 0x18a4, -0x16b6, 0x1781, 0x1590, 0x1781, 0x1590, 0x1812, 0x1623, 0x1812, 0x1623, 0x17ca, 0x15e0, -0x17ca, 0x15e0, 0x1739, 0x1559, 0x1739, 0x1559, 0x176e, 0x159b, 0x176e, 0x159b, 0x1615, -0x1453, 0x1615, 0x1453, 0x1615, 0x1453, 0x1555, 0x13a8, 0x1555, 0x13a8, 0x14f8, 0x1363, -0x14f8, 0x1363, 0x1460, 0x12e5, 0x1460, 0x12e5, 0x138c, 0x122e, 0x138c, 0x122e, 0x10d2, -0xf93, 0x10d2, 0xf93, 0xf95, 0xe77, 0xf95, 0xe77, 0xf95, 0xe77, 0xe4b, 0xd4f, -0xe4b, 0xd4f, 0x9d6, 0x8fc, 0x9d6, 0x8fc, 0xa0d, 0x956, 0xa0d, 0x956, 0x83b, -0x7a6, 0x83b, 0x7a6, 0x5e1, 0x56e, 0x5e1, 0x56e, 0x5e1, 0x56e, 0x62f, 0x5dc, -0x62f, 0x5dc, 0x549, 0x515, 0x549, 0x515, 0x499, 0x482, 0x499, 0x482, 0x3c1, -0x3c5, 0x3c1, 0x3c5, 0x448, 0x465, 0x448, 0x465, 0x2d8, 0x30c, 0x2d8, 0x30c, -0x2d8, 0x30c, 0x2b6, 0x2fe, 0x2b6, 0x2fe, 0x2a5, 0x2ff, 0x2a5, 0x2ff, 0xffeb, -0x53, 0xffeb, 0x53, 0xfd77, 0xfdec, 0xfd77, 0xfdec, 0xfc81, 0xfd01, 0xfc81, 0xfd01, -0xfdd3, 0xfe5c, 0xfdd3, 0xfe5c, 0xfdd3, 0xfe5c, 0xfdd5, 0xfe65, 0xfdd5, 0xfe65, 0xfbfd, -0xfc93, 0xfbfd, 0xfc93, 0xfb0b, 0xfba6, 0xfb0b, 0xfba6, 0xf9dd, 0xfa7c, 0xf9dd, 0xfa7c, -0xf928, 0xf9cb, 0xf928, 0xf9cb, 0xf928, 0xf9cb, 0xf99d, 0xfa44, 0xf99d, 0xfa44, 0xf7be, -0xf869, 0xf7be, 0xf869, 0xf62f, 0xf6df, 0xf62f, 0xf6df, 0xf5e0, 0xf697, 0xf5e0, 0xf697, -0xf5f5, 0xf6b3, 0xf5f5, 0xf6b3, 0xf5ab, 0xf672, 0xf5ab, 0xf672, 0xf5ab, 0xf672, 0xf38b, -0xf45c, 0xf38b, 0xf45c, 0xf446, 0xf524, 0xf446, 0xf524, 0xf49f, 0xf58c, 0xf49f, 0xf58c, -0xf206, 0xf303, 0xf206, 0xf303, 0xf23a, 0xf34b, 0xf23a, 0xf34b, 0xf15f, 0xf285, 0xf15f, -0xf285, 0xf15f, 0xf285, 0xefdd, 0xf11b, 0xefdd, 0xf11b, 0xf15e, 0xf2b6, 0xf15e, 0xf2b6, -0xf20d, 0xf382, 0xf20d, 0xf382, 0xf13b, 0xf2cd, 0xf13b, 0xf2cd, 0xf0c6, 0xf276, 0xf0c6, -0xf276, 0xf0c6, 0xf276, 0xf14b, 0xf31b, 0xf14b, 0xf31b, 0xf004, 0xf1f5, 0xf004, 0xf1f5, -0xef41, 0xf153, 0xef41, 0xf153, 0xef06, 0xf138, 0xef06, 0xf138, 0xec61, 0xeeb4, 0xec61, -0xeeb4, 0xeb76, 0xede7, 0xeb76, 0xede7, 0xeb76, 0xede7, 0xeaf6, 0xed84, 0xeaf6, 0xed84, -0xea1b, 0xecc4, 0xea1b, 0xecc4, 0xea02, 0xecc3, 0xea02, 0xecc3, 0xe849, 0xeb1f, 0xe849, -0xeb1f, 0xe86f, 0xeb56, 0xe86f, 0xeb56, 0xe84e, 0xeb42, 0xe84e, 0xeb42, 0xe84e, 0xeb42, -0xe57d, 0xe878, 0xe57d, 0xe878, 0xe563, 0xe862, 0xe563, 0xe862, 0xe6dc, 0xe9d9, 0xe6dc, -0xe9d9, 0xe7b3, 0xeaaa, 0xe7b3, 0xeaaa, 0xe7cd, 0xeab9, 0xe7cd, 0xeab9, 0xe7cd, 0xeab9, -0xe9f2, 0xeccd, 0xe9f2, 0xeccd, 0xeac0, 0xed86, 0xeac0, 0xed86, 0xe9f9, 0xeca4, 0xe9f9, -0xeca4, 0xecfe, 0xef8b, 0xecfe, 0xef8b, 0xed8f, 0xeffa, 0xed8f, 0xeffa, 0xee1e, 0xf065, -0xee1e, 0xf065, 0xee1e, 0xf065, 0xef2b, 0xf14b, 0xef2b, 0xf14b, 0xee09, 0xf000, 0xee09, -0xf000, 0xef8e, 0xf15b, 0xef8e, 0xf15b, 0xf024, 0xf1c9, 0xf024, 0xf1c9, 0xef79, 0xf0f6, -0xef79, 0xf0f6, 0xf062, 0xf1ba, 0xf062, 0xf1ba, 0xf062, 0xf1ba, 0xf16f, 0xf2a5, 0xf16f, -0xf2a5, 0xf1a8, 0xf2c0, 0xf1a8, 0xf2c0, 0xf18f, 0xf28d, 0xf18f, 0xf28d, 0xf292, 0xf37c, -0xf292, 0xf37c, 0xf24d, 0xf329, 0xf24d, 0xf329, 0xf24d, 0xf329, 0xf10d, 0xf1e0, 0xf10d, -0xf1e0, 0xf0d3, 0xf1a5, 0xf0d3, 0xf1a5, 0xef1a, 0xeff1, 0xef1a, 0xeff1, 0xedb1, 0xee94, -0xedb1, 0xee94, 0xec86, 0xed7c, 0xec86, 0xed7c, 0xec15, 0xed24, 0xec15, 0xed24, 0xec15, -0xed24, 0xebf3, 0xed21, 0xebf3, 0xed21, 0xe9ea, 0xeb3c, 0xe9ea, 0xeb3c, 0xe9d5, 0xeb50, -0xe9d5, 0xeb50, 0xe872, 0xea1a, 0xe872, 0xea1a, 0xe691, 0xe868, 0xe691, 0xe868, 0xe5bc, -0xe7c3, 0xe5bc, 0xe7c3, 0xe5bc, 0xe7c3, 0xe5a3, 0xe7dc, 0xe5a3, 0xe7dc, 0xe553, 0xe7bd, -0xe553, 0xe7bd, 0xe1e8, 0xe482, 0xe1e8, 0xe482, 0xe0ea, 0xe3b1, 0xe0ea, 0xe3b1, 0xe119, -0xe40a, 0xe119, 0xe40a, 0xe119, 0xe40a, 0xe017, 0xe32e, 0xe017, 0xe32e, 0xdf31, 0xe269, -0xdf31, 0xe269, 0xdf05, 0xe258, 0xdf05, 0xe258, 0xdd92, 0xe0f9, 0xdd92, 0xe0f9, 0xde09, -0xe17f, 0xde09, 0xe17f, 0xe06c, 0xe3e9, 0xe06c, 0xe3e9, 0xe06c, 0xe3e9, 0xe0a6, 0xe423, -0xe0a6, 0xe423, 0xe2e4, 0xe659, 0xe2e4, 0xe659, 0xe269, 0xe5d1, 0xe269, 0xe5d1, 0xe15a, -0xe4ad, 0xe15a, 0xe4ad, 0xe1ea, 0xe522, 0xe1ea, 0xe522, 0xe1ea, 0xe522, 0xe183, 0xe49a, -0xe183, 0xe49a, 0xe393, 0xe684, 0xe393, 0xe684, 0xe59d, 0xe863, 0xe59d, 0xe863, 0xe7ce, -0xea64, 0xe7ce, 0xea64, 0xe9e5, 0xec49, 0xe9e5, 0xec49, 0xebf6, 0xee23, 0xebf6, 0xee23, -0xebf6, 0xee23, 0xefee, 0xf1e2, 0xefee, 0xf1e2, 0xf277, 0xf430, 0xf277, 0xf430, 0xf436, -0xf5b3, 0xf436, 0xf5b3, 0xf690, 0xf7cf, 0xf690, 0xf7cf, 0xf8d2, 0xf9d4, 0xf8d2, 0xf9d4, -0xfb16, 0xfbd9, 0xfb16, 0xfbd9, 0xfb16, 0xfbd9, 0xfc62, 0xfce7, 0xfc62, 0xfce7, 0xfe8f, -0xfed6, 0xfe8f, 0xfed6, 0xff83, 0xff8c, 0xff83, 0xff8c, 0x5b, 0x26, 0x5b, 0x26, -0x267, 0x1f5, 0x267, 0x1f5, 0x267, 0x1f5, 0x2a5, 0x1f5, 0x2a5, 0x1f5, 0x2bb, -0x1ce, 0x2bb, 0x1ce, 0x218, 0xef, 0x218, 0xef, 0x3fe, 0x298, 0x3fe, 0x298, -0x678, 0x4d5, 0x678, 0x4d5, 0x71b, 0x53d, 0x71b, 0x53d, 0x71b, 0x53d, 0x9c2, -0x7a8, 0x9c2, 0x7a8, 0xbc4, 0x96e, 0xbc4, 0x96e, 0xd5a, 0xac9, 0xd5a, 0xac9, -0x1166, 0xe9a, 0x1166, 0xe9a, 0x162b, 0x1325, 0x162b, 0x1325, 0x1884, 0x1546, 0x1884, -0x1546, 0x1884, 0x1546, 0x1a1b, 0x16a6, 0x1a1b, 0x16a6, 0x1bee, 0x1844, 0x1bee, 0x1844, -0x1e45, 0x1a69, 0x1e45, 0x1a69, 0x20dd, 0x1cd1, 0x20dd, 0x1cd1, 0x2375, 0x1f3e, 0x2375, -0x1f3e, 0x2375, 0x1f3e, 0x25ea, 0x218a, 0x25ea, 0x218a, 0x26c1, 0x223f, 0x26c1, 0x223f, -0x2816, 0x2376, 0x2816, 0x2376, 0x29c4, 0x250b, 0x29c4, 0x250b, 0x2bd5, 0x270a, 0x2bd5, -0x270a, 0x2c03, 0x272c, 0x2c03, 0x272c, 0x2c03, 0x272c, 0x2c1b, 0x2740, 0x2c1b, 0x2740, -0x2cde, 0x2805, 0x2cde, 0x2805, 0x2ae5, 0x2614, 0x2ae5, 0x2614, 0x2a1a, 0x2559, 0x2a1a, -0x2559, 0x29f9, 0x254f, 0x29f9, 0x254f, 0x2994, 0x2508, 0x2994, 0x2508, 0x2994, 0x2508, -0x288f, 0x2426, 0x288f, 0x2426, 0x285c, 0x241e, 0x285c, 0x241e, 0x2748, 0x233a, 0x2748, -0x233a, 0x22d2, 0x1ef7, 0x22d2, 0x1ef7, 0x20a1, 0x1d00, 0x20a1, 0x1d00, 0x20a1, 0x1d00, -0x1eac, 0x1b47, 0x1eac, 0x1b47, 0x1c58, 0x1931, 0x1c58, 0x1931, 0x1b7c, 0x1896, 0x1b7c, -0x1896, 0x1955, 0x16b0, 0x1955, 0x16b0, 0x1801, 0x159e, 0x1801, 0x159e, 0x16b7, 0x1495, -0x16b7, 0x1495, 0x16b7, 0x1495, 0x153e, 0x135c, 0x153e, 0x135c, 0x14cf, 0x132c, 0x14cf, -0x132c, 0x111b, 0xfb4, 0x111b, 0xfb4, 0xe14, 0xce6, 0xe14, 0xce6, 0xcb0, 0xbb8, -0xcb0, 0xbb8, 0x9fd, 0x936, 0x9fd, 0x936, 0x9fd, 0x936, 0x852, 0x7bb, 0x852, -0x7bb, 0x5f3, 0x586, 0x5f3, 0x586, 0x480, 0x43b, 0x480, 0x43b, 0x246, 0x224, -0x246, 0x224, 0xfeea, 0xfee8, 0xfeea, 0xfee8, 0xfeea, 0xfee8, 0xfe2f, 0xfe4a, 0xfe2f, -0xfe4a, 0xfcbb, 0xfcf1, 0xfcbb, 0xfcf1, 0xfbf9, 0xfc46, 0xfbf9, 0xfc46, 0xfccf, 0xfd32, -0xfccf, 0xfd32, 0xfa51, 0xfac9, 0xfa51, 0xfac9, 0xf7bb, 0xf846, 0xf7bb, 0xf846, 0xf7bb, -0xf846, 0xf702, 0xf7a1, 0xf702, 0xf7a1, 0xf654, 0xf706, 0xf654, 0xf706, 0xf72f, 0xf7f5, -0xf72f, 0xf7f5, 0xf5c8, 0xf6a2, 0xf5c8, 0xf6a2, 0xf4ee, 0xf5dd, 0xf4ee, 0xf5dd, 0xf5bb, -0xf6c1, 0xf5bb, 0xf6c1, 0xf5bb, 0xf6c1, 0xf532, 0xf650, 0xf532, 0xf650, 0xf498, 0xf5d0, -0xf498, 0xf5d0, 0xf3e0, 0xf532, 0xf3e0, 0xf532, 0xf486, 0xf5f3, 0xf486, 0xf5f3, 0xf290, -0xf41a, 0xf290, 0xf41a, 0xf290, 0xf41a, 0xf2dc, 0xf483, 0xf2dc, 0xf483, 0xf47f, 0xf644, -0xf47f, 0xf644, 0xf27d, 0xf45f, 0xf27d, 0xf45f, 0xf260, 0xf45d, 0xf260, 0xf45d, 0xf08f, -0xf2a8, 0xf08f, 0xf2a8, 0xef67, 0xf198, 0xef67, 0xf198, 0xef67, 0xf198, 0xeed1, 0xf119, -0xeed1, 0xf119, 0xeb36, 0xed91, 0xeb36, 0xed91, 0xe9e8, 0xec52, 0xe9e8, 0xec52, 0xea91, -0xed05, 0xea91, 0xed05, 0xea76, 0xecf1, 0xea76, 0xecf1, 0xe98d, 0xec09, 0xe98d, 0xec09, -0xe98d, 0xec09, 0xe7a2, 0xea18, 0xe7a2, 0xea18, 0xe66a, 0xe8d5, 0xe66a, 0xe8d5, 0xe65a, -0xe8b3, 0xe65a, 0xe8b3, 0xe6e6, 0xe927, 0xe6e6, 0xe927, 0xe848, 0xea6b, 0xe848, 0xea6b, -0xe848, 0xea6b, 0xe985, 0xeb83, 0xe985, 0xeb83, 0xeb3f, 0xed12, 0xeb3f, 0xed12, 0xecdd, -0xee7f, 0xecdd, 0xee7f, 0xf099, 0xf205, 0xf099, 0xf205, 0xf4d1, 0xf602, 0xf4d1, 0xf602, -0xf69f, 0xf792, 0xf69f, 0xf792, 0xf69f, 0xf792, 0xf8a0, 0xf950, 0xf8a0, 0xf950, 0xf98a, -0xf9f5, 0xf98a, 0xf9f5, 0xfaee, 0xfb13, 0xfaee, 0xfb13, 0xfd5f, 0xfd3c, 0xfd5f, 0xfd3c, -0xff4e, 0xfee3, 0xff4e, 0xfee3, 0x114, 0x63, 0x114, 0x63, 0x114, 0x63, 0x435, -0x340, 0x435, 0x340, 0x78c, 0x655, 0x78c, 0x655, 0x940, 0x7cb, 0x940, 0x7cb, -0x9ba, 0x80d, 0x9ba, 0x80d, 0x9a1, 0x7c0, 0x9a1, 0x7c0, 0x9a1, 0x7c0, 0xae8, -0x8d9, 0xae8, 0x8d9, 0xbad, 0x977, 0xbad, 0x977, 0xccc, 0xa76, 0xccc, 0xa76, -0xe13, 0xba4, 0xe13, 0xba4, 0xe89, 0xc09, 0xe89, 0xc09, 0xf39, 0xcaf, 0xf39, -0xcaf, 0xf39, 0xcaf, 0x1074, 0xde7, 0x1074, 0xde7, 0x1182, 0xefb, 0x1182, 0xefb, -0x118e, 0xf14, 0x118e, 0xf14, 0x11da, 0xf73, 0x11da, 0xf73, 0xfc9, 0xd7b, 0xfc9, -0xd7b, 0x1074, 0xe46, 0x1074, 0xe46, 0x1074, 0xe46, 0x117e, 0xf74, 0x117e, 0xf74, -0xf7e, 0xd9c, 0xf7e, 0xd9c, 0x10f8, 0xf42, 0x10f8, 0xf42, 0xf9f, 0xe17, 0xf9f, -0xe17, 0xe5d, 0xd06, 0xe5d, 0xd06, 0xe5d, 0xd06, 0xf28, 0xe02, 0xf28, 0xe02, -0xd60, 0xc6b, 0xd60, 0xc6b, 0xeae, 0xdea, 0xeae, 0xdea, 0xeb1, 0xe1b, 0xeb1, -0xe1b, 0xd20, 0xcb7, 0xd20, 0xcb7, 0xd77, 0xd39, 0xd77, 0xd39, 0xd77, 0xd39, -0xbfa, 0xbe3, 0xbfa, 0xbe3, 0xcb2, 0xcbe, 0xcb2, 0xcbe, 0xdd8, 0xe04, 0xdd8, -0xe04, 0xea1, 0xee8, 0xea1, 0xee8, 0xf15, 0xf73, 0xf15, 0xf73, 0xf15, 0xf73, -0xd87, 0xdf6, 0xd87, 0xdf6, 0xdba, 0xe37, 0xdba, 0xe37, 0xc39, 0xcc0, 0xc39, -0xcc0, 0xc2d, 0xcb8, 0xc2d, 0xcb8, 0xb7c, 0xc07, 0xb7c, 0xc07, 0x995, 0xa1c, -0x995, 0xa1c, 0x995, 0xa1c, 0xb3a, 0xbbb, 0xb3a, 0xbbb, 0xb05, 0xb7b, 0xb05, -0xb7b, 0xc12, 0xc7b, 0xc12, 0xc7b, 0xc41, 0xc9a, 0xc41, 0xc9a, 0xb3b, 0xb81, -0xb3b, 0xb81, 0xb61, 0xb93, 0xb61, 0xb93, 0xb61, 0xb93, 0xa19, 0xa34, 0xa19, -0xa34, 0xadb, 0xadf, 0xadb, 0xadf, 0xa6c, 0xa57, 0xa6c, 0xa57, 0x7a6, 0x778, -0x7a6, 0x778, 0x6ff, 0x6b6, 0x6ff, 0x6b6, 0x6ff, 0x6b6, 0x6e4, 0x681, 0x6e4, -0x681, 0x6c6, 0x648, 0x6c6, 0x648, 0x55a, 0x4c0, 0x55a, 0x4c0, 0x1c5, 0x110, -0x1c5, 0x110, 0x1b5, 0xe5, 0x1b5, 0xe5, 0x247, 0x15b, 0x247, 0x15b, 0x247, -0x15b, 0x1aa, 0xa3, 0x1aa, 0xa3, 0x210, 0xee, 0x210, 0xee, 0x12c, 0xffef, -0x12c, 0xffef, 0x171, 0x19, 0x171, 0x19, 0x2d2, 0x15f, 0x2d2, 0x15f, 0x57e, -0x3f2, 0x57e, 0x3f2, 0x57e, 0x3f2, 0x703, 0x55d, 0x703, 0x55d, 0x779, 0x5bb, -0x779, 0x5bb, 0xa1d, 0x846, 0xa1d, 0x846, 0xc1b, 0xa2d, 0xc1b, 0xa2d, 0xf26, -0xd22, 0xf26, 0xd22, 0xf26, 0xd22, 0x1190, 0xf78, 0x1190, 0xf78, 0x11ea, 0xfbe, -0x11ea, 0xfbe, 0x135f, 0x1121, 0x135f, 0x1121, 0x1558, 0x130a, 0x1558, 0x130a, 0x16a4, -0x1448, 0x16a4, 0x1448, 0x169d, 0x1435, 0x169d, 0x1435, 0x169d, 0x1435, 0x1608, 0x1397, -0x1608, 0x1397, 0x15e7, 0x136e, 0x15e7, 0x136e, 0x16b3, 0x1437, 0x16b3, 0x1437, 0x1727, -0x14a8, 0x1727, 0x14a8, 0x1510, 0x1292, 0x1510, 0x1292, 0x13fa, 0x1180, 0x13fa, 0x1180, -0x13fa, 0x1180, 0x141b, 0x11a7, 0x141b, 0x11a7, 0x13a7, 0x113d, 0x13a7, 0x113d, 0x1441, -0x11e3, 0x1441, 0x11e3, 0x1173, 0xf22, 0x1173, 0xf22, 0xed6, 0xc96, 0xed6, 0xc96, -0xed6, 0xc96, 0xe0c, 0xbdf, 0xe0c, 0xbdf, 0xa73, 0x85b, 0xa73, 0x85b, 0xa13, -0x810, 0xa13, 0x810, 0x992, 0x7a8, 0x992, 0x7a8, 0x5c8, 0x3f6, 0x5c8, 0x3f6, -0x506, 0x34f, 0x506, 0x34f, 0x506, 0x34f, 0x65b, 0x4bf, 0x65b, 0x4bf, 0x6e4, -0x563, 0x6e4, 0x563, 0x65e, 0x4f8, 0x65e, 0x4f8, 0x56d, 0x423, 0x56d, 0x423, -0x3a9, 0x27b, 0x3a9, 0x27b, 0x1a7, 0x94, 0x1a7, 0x94, 0x1a7, 0x94, 0x19c, -0xa4, 0x19c, 0xa4, 0x11f, 0x41, 0x11f, 0x41, 0xff65, 0xfea1, 0xff65, 0xfea1, -0xfe4c, 0xfda1, 0xfe4c, 0xfda1, 0xfe2c, 0xfd99, 0xfe2c, 0xfd99, 0xfe2c, 0xfd99, 0xff4a, -0xfece, 0xff4a, 0xfece, 0xfd82, 0xfd1e, 0xfd82, 0xfd1e, 0xfb4c, 0xfaff, 0xfb4c, 0xfaff, -0xfb0b, 0xfad4, 0xfb0b, 0xfad4, 0xf93b, 0xf91a, 0xf93b, 0xf91a, 0xf8ba, 0xf8b0, 0xf8ba, -0xf8b0, 0xf8ba, 0xf8b0, 0xf7d7, 0xf7e4, 0xf7d7, 0xf7e4, 0xf5f1, 0xf615, 0xf5f1, 0xf615, -0xf548, 0xf584, 0xf548, 0xf584, 0xf539, 0xf58f, 0xf539, 0xf58f, 0xf5a3, 0xf613, 0xf5a3, -0xf613, 0xf4bd, 0xf549, 0xf4bd, 0xf549, 0xf4bd, 0xf549, 0xf3ce, 0xf478, 0xf3ce, 0xf478, -0xf31a, 0xf3e3, 0xf31a, 0xf3e3, 0xf1df, 0xf2c9, 0xf1df, 0xf2c9, 0xf161, 0xf26d, 0xf161, -0xf26d, 0xf0de, 0xf210, 0xf0de, 0xf210, 0xf0de, 0xf210, 0xf006, 0xf15d, 0xf006, 0xf15d, -0xf068, 0xf1e7, 0xf068, 0xf1e7, 0xf19b, 0xf342, 0xf19b, 0xf342, 0xf1a5, 0xf376, 0xf1a5, -0xf376, 0xf0d7, 0xf2d3, 0xf0d7, 0xf2d3, 0xf068, 0xf28e, 0xf068, 0xf28e, 0xf068, 0xf28e, -0xf0d3, 0xf324, 0xf0d3, 0xf324, 0xf0d9, 0xf354, 0xf0d9, 0xf354, 0xef4c, 0xf1f0, 0xef4c, -0xf1f0, 0xed8f, 0xf05a, 0xed8f, 0xf05a, 0xecc3, 0xefb3, 0xecc3, 0xefb3, 0xeca1, 0xefb3, -0xeca1, 0xefb3, 0xeca1, 0xefb3, 0xec17, 0xef48, 0xec17, 0xef48, 0xeb66, 0xeeb3, 0xeb66, -0xeeb3, 0xeaf3, 0xee57, 0xeaf3, 0xee57, 0xe972, 0xece9, 0xe972, 0xece9, 0xe966, 0xecec, -0xe966, 0xecec, 0xe966, 0xecec, 0xe9d9, 0xed68, 0xe9d9, 0xed68, 0xe91a, 0xecad, 0xe91a, -0xecad, 0xea22, 0xedb5, 0xea22, 0xedb5, 0xea83, 0xee10, 0xea83, 0xee10, 0xebe3, 0xef65, -0xebe3, 0xef65, 0xed73, 0xf0e5, 0xed73, 0xf0e5, 0xed73, 0xf0e5, 0xecb4, 0xf012, 0xecb4, -0xf012, 0xedd8, 0xf11e, 0xedd8, 0xf11e, 0xee93, 0xf1be, 0xee93, 0xf1be, 0xeee2, 0xf1ee, -0xeee2, 0xf1ee, 0xef6e, 0xf259, 0xef6e, 0xf259, 0xf03c, 0xf306, 0xf03c, 0xf306, 0xf03c, -0xf306, 0xf0f2, 0xf399, 0xf0f2, 0xf399, 0xf095, 0xf319, 0xf095, 0xf319, 0xf2ec, 0xf54e, -0xf2ec, 0xf54e, 0xf39b, 0xf5dc, 0xf39b, 0xf5dc, 0xf269, 0xf48c, 0xf269, 0xf48c, 0xf269, -0xf48c, 0xf23f, 0xf447, 0xf23f, 0xf447, 0xf1fa, 0xf3e9, 0xf1fa, 0xf3e9, 0xf336, 0xf511, -0xf336, 0xf511, 0xf2a9, 0xf474, 0xf2a9, 0xf474, 0xf33a, 0xf4fa, 0xf33a, 0xf4fa, 0xf3d1, -0xf58c, 0xf3d1, 0xf58c, 0xf3d1, 0xf58c, 0xf13d, 0xf2f6, 0xf13d, 0xf2f6, 0xf183, 0xf340, -0xf183, 0xf340, 0xf15c, 0xf322, 0xf15c, 0xf322, 0xefaf, 0xf182, 0xefaf, 0xf182, 0xed56, -0xef3b, 0xed56, 0xef3b, 0xebc6, 0xedc1, 0xebc6, 0xedc1, 0xebc6, 0xedc1, 0xed16, 0xef2a, -0xed16, 0xef2a, 0xec38, 0xee66, 0xec38, 0xee66, 0xebda, 0xee26, 0xebda, 0xee26, 0xeb67, -0xedd2, 0xeb67, 0xedd2, 0xe8f6, 0xeb80, 0xe8f6, 0xeb80, 0xe8f6, 0xeb80, 0xe7ff, 0xeaa8, -0xe7ff, 0xeaa8, 0xe74c, 0xea12, 0xe74c, 0xea12, 0xe623, 0xe905, 0xe623, 0xe905, 0xe39c, -0xe696, 0xe39c, 0xe696, 0xe202, 0xe512, 0xe202, 0xe512, 0xe20f, 0xe530, 0xe20f, 0xe530, -0xe20f, 0xe530, 0xe195, 0xe4c2, 0xe195, 0xe4c2, 0xe15f, 0xe494, 0xe15f, 0xe494, 0xe0fd, -0xe434, 0xe0fd, 0xe434, 0xe1df, 0xe513, 0xe1df, 0xe513, 0xe3ae, 0xe6d9, 0xe3ae, 0xe6d9, -0xe3ae, 0xe6d9, 0xe416, 0xe732, 0xe416, 0xe732, 0xe405, 0xe70c, 0xe405, 0xe70c, 0xe3b1, -0xe69d, 0xe3b1, 0xe69d, 0xe3d2, 0xe69e, 0xe3d2, 0xe69e, 0xe48c, 0xe732, 0xe48c, 0xe732, -0xe534, 0xe7b0, 0xe534, 0xe7b0, 0xe534, 0xe7b0, 0xe64a, 0xe897, 0xe64a, 0xe897, 0xe69b, -0xe8b5, 0xe69b, 0xe8b5, 0xe845, 0xea29, 0xe845, 0xea29, 0xeb1b, 0xecc6, 0xeb1b, 0xecc6, -0xed1b, 0xee8c, 0xed1b, 0xee8c, 0xefa2, 0xf0d6, 0xefa2, 0xf0d6, 0xefa2, 0xf0d6, 0xf0a7, -0xf19d, 0xf0a7, 0xf19d, 0xf2aa, 0xf362, 0xf2aa, 0xf362, 0xf57b, 0xf5f5, 0xf57b, 0xf5f5, -0xf68f, 0xf6cb, 0xf68f, 0xf6cb, 0xf8c3, 0xf8c3, 0xf8c3, 0xf8c3, 0xf8c3, 0xf8c3, 0xfa9c, -0xfa61, 0xfa9c, 0xfa61, 0xfc3e, 0xfbca, 0xfc3e, 0xfbca, 0xfdd0, 0xfd24, 0xfdd0, 0xfd24, -0xfea4, 0xfdc3, 0xfea4, 0xfdc3, 0xfefd, 0xfde8, 0xfefd, 0xfde8, 0xff03, 0xfdbe, 0xff03, -0xfdbe, 0xff03, 0xfdbe, 0x69, 0xfef5, 0x69, 0xfef5, 0xd9, 0xff3a, 0xd9, 0xff3a, -0xfc, 0xff32, 0xfc, 0xff32, 0x1ed, 0xfffc, 0x1ed, 0xfffc, 0x285, 0x6e, 0x285, -0x6e, 0x4fd, 0x2c3, 0x4fd, 0x2c3, 0x4fd, 0x2c3, 0x84e, 0x5f2, 0x84e, 0x5f2, -0xb62, 0x8e5, 0xb62, 0x8e5, 0xe12, 0xb75, 0xe12, 0xb75, 0xf9a, 0xce0, 0xf9a, -0xce0, 0x123e, 0xf68, 0x123e, 0xf68, 0x123e, 0xf68, 0x14e8, 0x11f6, 0x14e8, 0x11f6, -0x15a8, 0x129c, 0x15a8, 0x129c, 0x16f7, 0x13d2, 0x16f7, 0x13d2, 0x1970, 0x1633, 0x1970, -0x1633, 0x1b52, 0x17ff, 0x1b52, 0x17ff, 0x1cdf, 0x1977, 0x1cdf, 0x1977, 0x1cdf, 0x1977, -0x1f3f, 0x1bc5, 0x1f3f, 0x1bc5, 0x20ce, 0x1d43, 0x20ce, 0x1d43, 0x20c6, 0x1d2e, 0x20c6, -0x1d2e, 0x2275, 0x1ed1, 0x2275, 0x1ed1, 0x23f6, 0x204a, 0x23f6, 0x204a, 0x2229, 0x1e78, -0x2229, 0x1e78, 0x2229, 0x1e78, 0x21d8, 0x1e27, 0x21d8, 0x1e27, 0x22a1, 0x1ef3, 0x22a1, -0x1ef3, 0x22ca, 0x1f24, 0x22ca, 0x1f24, 0x245b, 0x20c2, 0x245b, 0x20c2, 0x23fa, 0x2072, -0x23fa, 0x2072, 0x23fa, 0x2072, 0x22e2, 0x1f70, 0x22e2, 0x1f70, 0x2222, 0x1ecb, 0x2222, -0x1ecb, 0x2093, 0x1d5c, 0x2093, 0x1d5c, 0x1fd0, 0x1cbe, 0x1fd0, 0x1cbe, 0x1d29, 0x1a40, -0x1d29, 0x1a40, 0x1a2d, 0x1772, 0x1a2d, 0x1772, 0x1a2d, 0x1772, 0x1988, 0x16fe, 0x1988, -0x16fe, 0x194b, 0x16f6, 0x194b, 0x16f6, 0x18a9, 0x168c, 0x18a9, 0x168c, 0x17c2, 0x15e0, -0x17c2, 0x15e0, 0x1600, 0x145a, 0x1600, 0x145a, 0x1395, 0x122c, 0x1395, 0x122c, 0x1395, -0x122c, 0x1260, 0x1134, 0x1260, 0x1134, 0x112f, 0x1040, 0x112f, 0x1040, 0xf3f, 0xe8d, -0xf3f, 0xe8d, 0xd85, 0xd0d, 0xd85, 0xd0d, 0xc14, 0xbd4, 0xc14, 0xbd4, 0xc14, -0xbd4, 0xacf, 0xac5, 0xacf, 0xac5, 0x993, 0x9bb, 0x993, 0x9bb, 0x829, 0x880, -0x829, 0x880, 0x5f0, 0x671, 0x5f0, 0x671, 0x436, 0x4de, 0x436, 0x4de, 0x2d7, -0x3a1, 0x2d7, 0x3a1, 0x2d7, 0x3a1, 0x1bc, 0x2a4, 0x1bc, 0x2a4, 0x148, 0x249, -0x148, 0x249, 0x58, 0x16f, 0x58, 0x16f, 0xff7e, 0xa6, 0xff7e, 0xa6, 0xfebf, -0xfff5, 0xfebf, 0xfff5, 0xfe14, 0xff55, 0xfe14, 0xff55, 0xfe14, 0xff55, 0xfc84, 0xfdce, -0xfc84, 0xfdce, 0xfa98, 0xfbe7, 0xfa98, 0xfbe7, 0xfa71, 0xfbc5, 0xfa71, 0xfbc5, 0xf9ef, -0xfb46, 0xf9ef, 0xfb46, 0xf973, 0xfacd, 0xf973, 0xfacd, 0xf973, 0xfacd, 0xf9ad, 0xfb0a, -0xf9ad, 0xfb0a, 0xf944, 0xfaa4, 0xf944, 0xfaa4, 0xfa40, 0xfba3, 0xfa40, 0xfba3, 0xfa93, -0xfbfc, 0xfa93, 0xfbfc, 0xf97e, 0xfaec, 0xf97e, 0xfaec, 0xf970, 0xfae6, 0xf970, 0xfae6, -0xf970, 0xfae6, 0xf8ec, 0xfa6b, 0xf8ec, 0xfa6b, 0xf7f0, 0xf979, 0xf7f0, 0xf979, 0xf739, -0xf8ce, 0xf739, 0xf8ce, 0xf5e7, 0xf789, 0xf5e7, 0xf789, 0xf37a, 0xf52a, 0xf37a, 0xf52a, -0xf27c, 0xf439, 0xf27c, 0xf439, 0xf27c, 0xf439, 0xf1ed, 0xf3b8, 0xf1ed, 0xf3b8, 0xf0a7, -0xf27f, 0xf0a7, 0xf27f, 0xf037, 0xf21b, 0xf037, 0xf21b, 0xee2b, 0xf019, 0xee2b, 0xf019, -0xecd8, 0xeece, 0xecd8, 0xeece, 0xecd8, 0xeece, 0xec1d, 0xee18, 0xec1d, 0xee18, 0xebe7, -0xede3, 0xebe7, 0xede3, 0xed07, 0xef00, 0xed07, 0xef00, 0xebe3, 0xedd5, 0xebe3, 0xedd5, -0xec0d, 0xedf2, 0xec0d, 0xedf2, 0xed95, 0xef69, 0xed95, 0xef69, 0xed95, 0xef69, 0xef29, -0xf0e7, 0xef29, 0xf0e7, 0xf0bc, 0xf25e, 0xf0bc, 0xf25e, 0xf1d6, 0xf356, 0xf1d6, 0xf356, -0xf467, 0xf5c0, 0xf467, 0xf5c0, 0xf570, 0xf69d, 0xf570, 0xf69d, 0xf6f4, 0xf7f2, 0xf6f4, -0xf7f2, 0xf6f4, 0xf7f2, 0xf953, 0xfa1d, 0xf953, 0xfa1d, 0xfa80, 0xfb11, 0xfa80, 0xfb11, -0xfda4, 0xfdfb, 0xfda4, 0xfdfb, 0xff53, 0xff6e, 0xff53, 0xff6e, 0x50, 0x2d, 0x50, -0x2d, 0x50, 0x2d, 0x26b, 0x20a, 0x26b, 0x20a, 0x355, 0x2b8, 0x355, 0x2b8, -0x520, 0x448, 0x520, 0x448, 0x650, 0x53f, 0x650, 0x53f, 0x81d, 0x6d7, 0x81d, -0x6d7, 0x95d, 0x7e6, 0x95d, 0x7e6, 0x95d, 0x7e6, 0x809, 0x666, 0x809, 0x666, -0x910, 0x747, 0x910, 0x747, 0x9df, 0x7f6, 0x9df, 0x7f6, 0x97e, 0x77d, 0x97e, -0x77d, 0xa1a, 0x806, 0xa1a, 0x806, 0xa20, 0x802, 0xa20, 0x802, 0xa20, 0x802, -0x970, 0x74f, 0x970, 0x74f, 0xa20, 0x803, 0xa20, 0x803, 0xc1a, 0xa09, 0xc1a, -0xa09, 0xb37, 0x938, 0xb37, 0x938, 0xa06, 0x820, 0xa06, 0x820, 0xa06, 0x820, -0xa69, 0x8a2, 0xa69, 0x8a2, 0xa3f, 0x89c, 0xa3f, 0x89c, 0xa6e, 0x8f4, 0xa6e, -0x8f4, 0x92a, 0x7dc, 0x92a, 0x7dc, 0x829, 0x70a, 0x829, 0x70a, 0x91c, 0x82e, -0x91c, 0x82e, 0x91c, 0x82e, 0x8b9, 0x7fd, 0x8b9, 0x7fd, 0x8a7, 0x81d, 0x8a7, -0x81d, 0x8d5, 0x87c, 0x8d5, 0x87c, 0x7a4, 0x77b, 0x7a4, 0x77b, 0x7d9, 0x7dc, -0x7d9, 0x7dc, 0x7d9, 0x7dc, 0x8ef, 0x91c, 0x8ef, 0x91c, 0x96a, 0x9bd, 0x96a, -0x9bd, 0xa4c, 0xac1, 0xa4c, 0xac1, 0xa8e, 0xb20, 0xa8e, 0xb20, 0x93d, 0x9e7, -0x93d, 0x9e7, 0x9f3, 0xaae, 0x9f3, 0xaae, 0x9f3, 0xaae, 0xa8f, 0xb57, 0xa8f, -0xb57, 0x894, 0x962, 0x894, 0x962, 0x88e, 0x95e, 0x88e, 0x95e, 0x8ec, 0x9b8, -0x8ec, 0x9b8, 0x92c, 0x9f0, 0x92c, 0x9f0, 0x955, 0xa0b, 0x955, 0xa0b, 0x955, -0xa0b, 0x8a3, 0x947, 0x8a3, 0x947, 0x959, 0x9e7, 0x959, 0x9e7, 0xa20, 0xa95, -0xa20, 0xa95, 0x9f7, 0xa50, 0x9f7, 0xa50, 0x90d, 0x947, 0x90d, 0x947, 0x90d, -0x947, 0x8f4, 0x90e, 0x8f4, 0x90e, 0x900, 0x8f7, 0x900, 0x8f7, 0x8cc, 0x8a0, -0x8cc, 0x8a0, 0x97d, 0x92d, 0x97d, 0x92d, 0x939, 0x8c5, 0x939, 0x8c5, 0x83e, -0x7a6, 0x83e, 0x7a6, 0x83e, 0x7a6, 0x780, 0x6c4, 0x780, 0x6c4, 0x6c0, 0x5e1, -0x6c0, 0x5e1, 0x4f0, 0x3ee, 0x4f0, 0x3ee, 0x3ae, 0x289, 0x3ae, 0x289, 0x400, -0x2ba, 0x400, 0x2ba, 0x3f1, 0x28b, 0x3f1, 0x28b, 0x3f1, 0x28b, 0x4fc, 0x375, -0x4fc, 0x375, 0x696, 0x4f1, 0x696, 0x4f1, 0x789, 0x5c6, 0x789, 0x5c6, 0x870, -0x690, 0x870, 0x690, 0x8eb, 0x6ef, 0x8eb, 0x6ef, 0x8eb, 0x6ef, 0xa71, 0x85a, -0xa71, 0x85a, 0xc01, 0x9d1, 0xc01, 0x9d1, 0xd79, 0xb2f, 0xd79, 0xb2f, 0xf04, -0xca3, 0xf04, 0xca3, 0x1000, 0xd89, 0x1000, 0xd89, 0x12fb, 0x1070, 0x12fb, 0x1070, -0x12fb, 0x1070, 0x1470, 0x11d2, 0x1470, 0x11d2, 0x15b5, 0x1307, 0x15b5, 0x1307, 0x1861, -0x15a5, 0x1861, 0x15a5, 0x1852, 0x158b, 0x1852, 0x158b, 0x193b, 0x166c, 0x193b, 0x166c, -0x195c, 0x1688, 0x195c, 0x1688, 0x195c, 0x1688, 0x189f, 0x15ca, 0x189f, 0x15ca, 0x193d, -0x1669, 0x193d, 0x1669, 0x17ef, 0x1521, 0x17ef, 0x1521, 0x1843, 0x157f, 0x1843, 0x157f, -0x1955, 0x16a0, 0x1955, 0x16a0, 0x1955, 0x16a0, 0x170c, 0x1469, 0x170c, 0x1469, 0x1599, -0x130c, 0x1599, 0x130c, 0x15cc, 0x1359, 0x15cc, 0x1359, 0x1387, 0x1131, 0x1387, 0x1131, -0x107b, 0xe47, 0x107b, 0xe47, 0xf51, 0xd40, 0xf51, 0xd40, 0xf51, 0xd40, 0xd22, -0xb38, 0xd22, 0xb38, 0xaee, 0x92d, 0xaee, 0x92d, 0xb81, 0x9ea, 0xb81, 0x9ea, -0xa9f, 0x932, 0xa9f, 0x932, 0x914, 0x7d3, 0x914, 0x7d3, 0x85e, 0x747, 0x85e, -0x747, 0x85e, 0x747, 0x6e6, 0x5f9, 0x6e6, 0x5f9, 0x76b, 0x6a6, 0x76b, 0x6a6, -0x5d1, 0x532, 0x5d1, 0x532, 0x2ba, 0x23e, 0x2ba, 0x23e, 0x2b1, 0x256, 0x2b1, -0x256, 0x2b1, 0x256, 0x20c, 0x1ce, 0x20c, 0x1ce, 0xca, 0xa5, 0xca, 0xa5, -0xffe7, 0xffd7, 0xffe7, 0xffd7, 0xfedd, 0xfedf, 0xfedd, 0xfedf, 0xfdcb, 0xfdda, 0xfdcb, -0xfdda, 0xfd02, 0xfd1b, 0xfd02, 0xfd1b, 0xfd02, 0xfd1b, 0xfc8b, 0xfcaa, 0xfc8b, 0xfcaa, -0xfbaf, 0xfbd0, 0xfbaf, 0xfbd0, 0xfac2, 0xfae2, 0xfac2, 0xfae2, 0xf9af, 0xf9cc, 0xf9af, -0xf9cc, 0xf884, 0xf89c, 0xf884, 0xf89c, 0xf7c5, 0xf7d7, 0xf7c5, 0xf7d7, 0xf7c5, 0xf7d7, -0xf671, 0xf67d, 0xf671, 0xf67d, 0xf52e, 0xf532, 0xf52e, 0xf532, 0xf514, 0xf513, 0xf514, -0xf513, 0xf4b8, 0xf4b2, 0xf4b8, 0xf4b2, 0xf495, 0xf48c, 0xf495, 0xf48c, 0xf495, 0xf48c, -0xf36e, 0xf365, 0xf36e, 0xf365, 0xf1af, 0xf1a9, 0xf1af, 0xf1a9, 0xf20a, 0xf20b, 0xf20a, -0xf20b, 0xf262, 0xf26d, 0xf262, 0xf26d, 0xf1f5, 0xf20f, 0xf1f5, 0xf20f, 0xf1a2, 0xf1ce, -0xf1a2, 0xf1ce, 0xf1a2, 0xf1ce, 0xf1bd, 0xf200, 0xf1bd, 0xf200, 0xf1a1, 0xf1ff, 0xf1a1, -0xf1ff, 0xf184, 0xf201, 0xf184, 0xf201, 0xf24e, 0xf2ec, 0xf24e, 0xf2ec, 0xf24c, 0xf310, -0xf24c, 0xf310, 0xf168, 0xf254, 0xf168, 0xf254, 0xf168, 0xf254, 0xf0c8, 0xf1dd, 0xf0c8, -0xf1dd, 0xf06c, 0xf1ac, 0xf06c, 0xf1ac, 0xef97, 0xf102, 0xef97, 0xf102, 0xedd7, 0xef6d, -0xedd7, 0xef6d, 0xecb3, 0xee72, 0xecb3, 0xee72, 0xecb3, 0xee72, 0xeb94, 0xed7b, 0xeb94, -0xed7b, 0xead7, 0xece3, 0xead7, 0xece3, 0xeba9, 0xedd7, 0xeba9, 0xedd7, 0xeaa4, 0xecf0, -0xeaa4, 0xecf0, 0xea3e, 0xeca2, 0xea3e, 0xeca2, 0xea56, 0xeccf, 0xea56, 0xeccf, 0xea56, -0xeccf, 0xe9a2, 0xec2a, 0xe9a2, 0xec2a, 0xec1f, 0xeeb0, 0xec1f, 0xeeb0, 0xec18, 0xeeac, -0xec18, 0xeeac, 0xeaf0, 0xed82, 0xeaf0, 0xed82, 0xec73, 0xeeff, 0xec73, 0xeeff, 0xeccb, -0xef4a, 0xeccb, 0xef4a, 0xeccb, 0xef4a, 0xecc8, 0xef36, 0xecc8, 0xef36, 0xecb0, 0xef09, -0xecb0, 0xef09, 0xedfe, 0xf040, 0xedfe, 0xf040, 0xeefd, 0xf123, 0xeefd, 0xf123, 0xef98, -0xf1a2, 0xef98, 0xf1a2, 0xef98, 0xf1a2, 0xf200, 0xf3ed, 0xf200, 0xf3ed, 0xf29a, 0xf46a, -0xf29a, 0xf46a, 0xf29f, 0xf453, 0xf29f, 0xf453, 0xf310, 0xf4aa, 0xf310, 0xf4aa, 0xf3e0, -0xf562, 0xf3e0, 0xf562, 0xf476, 0xf5e4, 0xf476, 0xf5e4, 0xf476, 0xf5e4, 0xf2f0, 0xf450, -0xf2f0, 0xf450, 0xf3bd, 0xf513, 0xf3bd, 0xf513, 0xf4b3, 0xf604, 0xf4b3, 0xf604, 0xf36c, -0xf4be, 0xf36c, 0xf4be, 0xf40c, 0xf565, 0xf40c, 0xf565, 0xf371, 0xf4d7, 0xf371, 0xf4d7, -0xf371, 0xf4d7, 0xf18e, 0xf308, 0xf18e, 0xf308, 0xf101, 0xf295, 0xf101, 0xf295, 0xf086, -0xf239, 0xf086, 0xf239, 0xf005, 0xf1dc, 0xf005, 0xf1dc, 0xee98, 0xf098, 0xee98, 0xf098, -0xee98, 0xf098, 0xed2e, 0xef59, 0xed2e, 0xef59, 0xeca5, 0xeeff, 0xeca5, 0xeeff, 0xebc1, -0xee4c, 0xebc1, 0xee4c, 0xeb03, 0xedc0, 0xeb03, 0xedc0, 0xea7d, 0xed6a, 0xea7d, 0xed6a, -0xe973, 0xec90, 0xe973, 0xec90, 0xe973, 0xec90, 0xe901, 0xec4b, 0xe901, 0xec4b, 0xe80e, -0xeb82, 0xe80e, 0xeb82, 0xe5fe, 0xe997, 0xe5fe, 0xe997, 0xe525, 0xe8de, 0xe525, 0xe8de, -0xe41c, 0xe7ee, 0xe41c, 0xe7ee, 0xe41c, 0xe7ee, 0xe314, 0xe6fa, 0xe314, 0xe6fa, 0xe365, -0xe756, 0xe365, 0xe756, 0xe387, 0xe77d, 0xe387, 0xe77d, 0xe372, 0xe763, 0xe372, 0xe763, -0xe43b, 0xe821, 0xe43b, 0xe821, 0xe53d, 0xe90e, 0xe53d, 0xe90e, 0xe53d, 0xe90e, 0xe51d, -0xe8d3, 0xe51d, 0xe8d3, 0xe508, 0xe89c, 0xe508, 0xe89c, 0xe424, 0xe78d, 0xe424, 0xe78d, -0xe3f6, 0xe72f, 0xe3f6, 0xe72f, 0xe5f3, 0xe8f6, 0xe5f3, 0xe8f6, 0xe62c, 0xe8f5, 0xe62c, -0xe8f5, 0xe62c, 0xe8f5, 0xe72b, 0xe9b5, 0xe72b, 0xe9b5, 0xe97d, 0xebc6, 0xe97d, 0xebc6, -0xea98, 0xec9c, 0xea98, 0xec9c, 0xed0b, 0xeeca, 0xed0b, 0xeeca, 0xef8d, 0xf105, 0xef8d, -0xf105, 0xef8d, 0xf105, 0xf0ab, 0xf1dc, 0xf0ab, 0xf1dc, 0xf234, 0xf31f, 0xf234, 0xf31f, -0xf434, 0xf4da, 0xf434, 0xf4da, 0xf633, 0xf696, 0xf633, 0xf696, 0xf881, 0xf8a3, 0xf881, -0xf8a3, 0xfa24, 0xfa07, 0xfa24, 0xfa07, 0xfa24, 0xfa07, 0xfa81, 0xfa28, 0xfa81, 0xfa28, -0xfbc2, 0xfb30, 0xfbc2, 0xfb30, 0xfde5, 0xfd1c, 0xfde5, 0xfd1c, 0xff51, 0xfe55, 0xff51, -0xfe55, 0xff94, 0xfe66, 0xff94, 0xfe66, 0xff31, 0xfdd3, 0xff31, 0xfdd3, 0xff31, 0xfdd3, -0xac, 0xff21, 0xac, 0xff21, 0x2ae, 0xf7, 0x2ae, 0xf7, 0x36d, 0x18b, 0x36d, -0x18b, 0x50a, 0x2fe, 0x50a, 0x2fe, 0x72d, 0x4f8, 0x72d, 0x4f8, 0x72d, 0x4f8, -0x90d, 0x6af, 0x90d, 0x6af, 0xb77, 0x8ef, 0xb77, 0x8ef, 0xee4, 0xc34, 0xee4, -0xc34, 0x1088, 0xdaf, 0x1088, 0xdaf, 0x1112, 0xe10, 0x1112, 0xe10, 0x144a, 0x1120, -0x144a, 0x1120, 0x144a, 0x1120, 0x1603, 0x12b1, 0x1603, 0x12b1, 0x166c, 0x12f2, 0x166c, -0x12f2, 0x1893, 0x14f2, 0x1893, 0x14f2, 0x1a29, 0x1663, 0x1a29, 0x1663, 0x1b53, 0x1768, -0x1b53, 0x1768, 0x1d53, 0x1948, 0x1d53, 0x1948, 0x1d53, 0x1948, 0x200f, 0x1be6, 0x200f, -0x1be6, 0x20bf, 0x1c7b, 0x20bf, 0x1c7b, 0x204a, 0x1bef, 0x204a, 0x1bef, 0x21b4, 0x1d47, -0x21b4, 0x1d47, 0x2285, 0x1e0b, 0x2285, 0x1e0b, 0x2285, 0x1e0b, 0x227d, 0x1dfb, 0x227d, -0x1dfb, 0x228f, 0x1e0d, 0x228f, 0x1e0d, 0x2211, 0x1d93, 0x2211, 0x1d93, 0x2273, 0x1e01, -0x2273, 0x1e01, 0x22e0, 0x1e81, 0x22e0, 0x1e81, 0x21ff, 0x1db9, 0x21ff, 0x1db9, 0x21ff, -0x1db9, 0x2084, 0x1c5e, 0x2084, 0x1c5e, 0x1deb, 0x19eb, 0x1deb, 0x19eb, 0x1c8d, 0x18ba, -0x1c8d, 0x18ba, 0x1cca, 0x1929, 0x1cca, 0x1929, 0x1bc5, 0x185c, 0x1bc5, 0x185c, 0x1ae3, -0x17b6, 0x1ae3, 0x17b6, 0x1ae3, 0x17b6, 0x1a42, 0x1756, 0x1a42, 0x1756, 0x1923, 0x167b, -0x1923, 0x167b, 0x17d7, 0x1575, 0x17d7, 0x1575, 0x15b6, 0x139c, 0x15b6, 0x139c, 0x1416, -0x1244, 0x1416, 0x1244, 0x1416, 0x1244, 0x12c5, 0x113c, 0x12c5, 0x113c, 0x10b2, 0xf72, -0x10b2, 0xf72, 0xefe, 0xe03, 0xefe, 0xe03, 0xd98, 0xce1, 0xd98, 0xce1, 0xcdc, -0xc67, 0xcdc, 0xc67, 0xb31, 0xafa, 0xb31, 0xafa, 0xb31, 0xafa, 0x92f, 0x932, -0x92f, 0x932, 0x8cb, 0x903, 0x8cb, 0x903, 0x5e7, 0x650, 0x5e7, 0x650, 0x322, -0x3b7, 0x322, 0x3b7, 0x25f, 0x31b, 0x25f, 0x31b, 0x149, 0x228, 0x149, 0x228, -0x149, 0x228, 0x191, 0x28d, 0x191, 0x28d, 0xd9, 0x1ee, 0xd9, 0x1ee, 0xff26, -0x50, 0xff26, 0x50, 0xfe15, 0xff51, 0xfe15, 0xff51, 0xfd33, 0xfe7d, 0xfd33, 0xfe7d, -0xfd33, 0xfe7d, 0xfbf4, 0xfd49, 0xfbf4, 0xfd49, 0xfa69, 0xfbc7, 0xfa69, 0xfbc7, 0xf9e2, -0xfb47, 0xf9e2, 0xfb47, 0xf962, 0xface, 0xf962, 0xface, 0xf992, 0xfb03, 0xf992, 0xfb03, -0xf9f0, 0xfb67, 0xf9f0, 0xfb67, 0xf9f0, 0xfb67, 0xf9a8, 0xfb25, 0xf9a8, 0xfb25, 0xf9f7, -0xfb7b, 0xf9f7, 0xfb7b, 0xf9e7, 0xfb73, 0xf9e7, 0xfb73, 0xfa57, 0xfbeb, 0xfa57, 0xfbeb, -0xfae6, 0xfc85, 0xfae6, 0xfc85, 0xf9cb, 0xfb76, 0xf9cb, 0xfb76, 0xf9cb, 0xfb76, 0xf888, -0xfa3f, 0xf888, 0xfa3f, 0xf727, 0xf8ed, 0xf727, 0xf8ed, 0xf638, 0xf80d, 0xf638, 0xf80d, -0xf4f3, 0xf6d7, 0xf4f3, 0xf6d7, 0xf2e3, 0xf4d6, 0xf2e3, 0xf4d6, 0xf2e3, 0xf4d6, 0xf1f5, -0xf3f6, 0xf1f5, 0xf3f6, 0xefbd, 0xf1cc, 0xefbd, 0xf1cc, 0xeeac, 0xf0c6, 0xeeac, 0xf0c6, -0xef0f, 0xf132, 0xef0f, 0xf132, 0xed62, 0xef8b, 0xed62, 0xef8b, 0xec28, 0xee53, 0xec28, -0xee53, 0xec28, 0xee53, 0xeb8b, 0xedb4, 0xeb8b, 0xedb4, 0xeba5, 0xedc8, 0xeba5, 0xedc8, -0xebe3, 0xedf9, 0xebe3, 0xedf9, 0xec11, 0xee15, 0xec11, 0xee15, 0xec90, 0xee7d, 0xec90, -0xee7d, 0xed29, 0xeef8, 0xed29, 0xeef8, 0xed29, 0xeef8, 0xef1c, 0xf0c8, 0xef1c, 0xf0c8, -0xf0c5, 0xf249, 0xf0c5, 0xf249, 0xf19d, 0xf2f3, 0xf19d, 0xf2f3, 0xf21c, 0xf33f, 0xf21c, -0xf33f, 0xf450, 0xf53b, 0xf450, 0xf53b, 0xf450, 0xf53b, 0xf811, 0xf8c1, 0xf811, 0xf8c1, -0xf92a, 0xf99c, 0xf92a, 0xf99c, 0xfa30, 0xfa61, 0xfa30, 0xfa61, 0xfcad, 0xfc9d, 0xfcad, -0xfc9d, 0xfdac, 0xfd5a, 0xfdac, 0xfd5a, 0xffa2, 0xff10, 0xffa2, 0xff10, 0xffa2, 0xff10, -0x2ab, 0x1da, 0x2ab, 0x1da, 0x3f0, 0x2e3, 0x3f0, 0x2e3, 0x488, 0x342, 0x488, -0x342, 0x660, 0x4e7, 0x660, 0x4e7, 0x8a3, 0x6fb, 0x8a3, 0x6fb, 0x846, 0x675, -0x846, 0x675, 0x846, 0x675, 0x829, 0x636, 0x829, 0x636, 0x8f6, 0x6e8, 0x8f6, -0x6e8, 0x8a8, 0x686, 0x8a8, 0x686, 0x9ee, 0x7bf, 0x9ee, 0x7bf, 0xb40, 0x90c, -0xb40, 0x90c, 0xb40, 0x90c, 0xb8a, 0x958, 0xb8a, 0x958, 0xc26, 0x9fc, 0xc26, -0x9fc, 0xcda, 0xabf, 0xcda, 0xabf, 0xcd3, 0xacd, 0xcd3, 0xacd, 0xcbf, 0xad2, -0xcbf, 0xad2, 0xcd4, 0xb06, 0xcd4, 0xb06, 0xcd4, 0xb06, 0xc44, 0xa99, 0xc44, -0xa99, 0xbbe, 0xa38, 0xbbe, 0xa38, 0xb54, 0x9f5, 0xb54, 0x9f5, 0xb99, 0xa61, -0xb99, 0xa61, 0xbdb, 0xacc, 0xbdb, 0xacc, 0xbdb, 0xacc, 0xbd3, 0xaeb, 0xbd3, -0xaeb, 0xc3e, 0xb7d, 0xc3e, 0xb7d, 0xd09, 0xc6d, 0xd09, 0xc6d, 0xca6, 0xc2b, -0xca6, 0xc2b, 0xc29, 0xbce, 0xc29, 0xbce, 0xd77, 0xd38, 0xd77, 0xd38, 0xd77, -0xd38, 0xdab, 0xd84, 0xdab, 0xd84, 0xdea, 0xdd7, 0xdea, 0xdd7, 0xe15, 0xe12, -0xe15, 0xe12, 0xd3b, 0xd44, 0xd3b, 0xd44, 0xd70, 0xd81, 0xd70, 0xd81, 0xd12, -0xd29, 0xd12, 0xd29, 0xd12, 0xd29, 0xc09, 0xc21, 0xc09, 0xc21, 0xc3d, 0xc53, -0xc3d, 0xc53, 0xce5, 0xcf6, 0xce5, 0xcf6, 0xcba, 0xcc4, 0xcba, 0xcc4, 0xd47, -0xd48, 0xd47, 0xd48, 0xd47, 0xd48, 0xdeb, 0xde1, 0xdeb, 0xde1, 0xd7c, 0xd65, -0xd7c, 0xd65, 0xd5e, 0xd3b, 0xd5e, 0xd3b, 0xc97, 0xc65, 0xc97, 0xc65, 0xb88, -0xb47, 0xb88, 0xb47, 0xba5, 0xb56, 0xba5, 0xb56, 0xba5, 0xb56, 0xaf1, 0xa93, -0xaf1, 0xa93, 0xa52, 0x9e5, 0xa52, 0x9e5, 0xacb, 0xa4f, 0xacb, 0xa4f, 0xaf4, -0xa6a, 0xaf4, 0xa6a, 0xaa5, 0xa0c, 0xaa5, 0xa0c, 0x822, 0x77a, 0x822, 0x77a, -0x822, 0x77a, 0x610, 0x559, 0x610, 0x559, 0x513, 0x44d, 0x513, 0x44d, 0x49a, -0x3c4, 0x49a, 0x3c4, 0x5f2, 0x50b, 0x5f2, 0x50b, 0x57c, 0x485, 0x57c, 0x485, -0x57c, 0x485, 0x593, 0x489, 0x593, 0x489, 0x71c, 0x600, 0x71c, 0x600, 0x77d, -0x64c, 0x77d, 0x64c, 0x804, 0x6be, 0x804, 0x6be, 0x8a3, 0x746, 0x8a3, 0x746, -0x8ca, 0x755, 0x8ca, 0x755, 0x8ca, 0x755, 0x9cd, 0x840, 0x9cd, 0x840, 0xbb7, -0xa11, 0xbb7, 0xa11, 0xc9b, 0xadb, 0xc9b, 0xadb, 0xd18, 0xb3e, 0xd18, 0xb3e, -0xe16, 0xc22, 0xe16, 0xc22, 0x1060, 0xe52, 0x1060, 0xe52, 0x1060, 0xe52, 0x1229, -0x1002, 0x1229, 0x1002, 0x12ed, 0x10af, 0x12ed, 0x10af, 0x13e3, 0x118f, 0x13e3, 0x118f, -0x13c5, 0x115e, 0x13c5, 0x115e, 0x1394, 0x111d, 0x1394, 0x111d, 0x1394, 0x111d, 0x13da, -0x1156, 0x13da, 0x1156, 0x1526, 0x1299, 0x1526, 0x1299, 0x1503, 0x1271, 0x1503, 0x1271, -0x1302, 0x106f, 0x1302, 0x106f, 0x12e8, 0x1058, 0x12e8, 0x1058, 0x12d6, 0x1050, 0x12d6, -0x1050, 0x12d6, 0x1050, 0x113d, 0xec5, 0x113d, 0xec5, 0xf91, 0xd2c, 0xf91, 0xd2c, -0xd9f, 0xb53, 0xd9f, 0xb53, 0xbb2, 0x983, 0xbb2, 0x983, 0xabd, 0x8b0, 0xabd, -0x8b0, 0x9a5, 0x7be, 0x9a5, 0x7be, 0x9a5, 0x7be, 0x8e3, 0x726, 0x8e3, 0x726, -0x88c, 0x6fd, 0x88c, 0x6fd, 0x6b3, 0x554, 0x6b3, 0x554, 0x4df, 0x3b2, 0x4df, -0x3b2, 0x4b3, 0x3b9, 0x4b3, 0x3b9, 0x4b3, 0x3b9, 0x35f, 0x299, 0x35f, 0x299, -0x1c0, 0x12e, 0x1c0, 0x12e, 0x165, 0x105, 0x165, 0x105, 0xffc2, 0xff93, 0xffc2, -0xff93, 0xff01, 0xff00, 0xff01, 0xff00, 0xfe50, 0xfe7a, 0xfe50, 0xfe7a, 0xfe50, 0xfe7a, -0xfcb0, 0xfd02, 0xfcb0, 0xfd02, 0xfbda, 0xfc4f, 0xfbda, 0xfc4f, 0xfb10, 0xfba4, 0xfb10, -0xfba4, 0xfa92, 0xfb40, 0xfa92, 0xfb40, 0xf969, 0xfa2c, 0xf969, 0xfa2c, 0xf898, 0xf96b, -0xf898, 0xf96b, 0xf898, 0xf96b, 0xf85e, 0xf93c, 0xf85e, 0xf93c, 0xf7d5, 0xf8b9, 0xf7d5, -0xf8b9, 0xf71d, 0xf803, 0xf71d, 0xf803, 0xf6b2, 0xf797, 0xf6b2, 0xf797, 0xf612, 0xf6f2, -0xf612, 0xf6f2, 0xf612, 0xf6f2, 0xf4bc, 0xf594, 0xf4bc, 0xf594, 0xf4b9, 0xf587, 0xf4b9, -0xf587, 0xf479, 0xf53b, 0xf479, 0xf53b, 0xf36e, 0xf425, 0xf36e, 0xf425, 0xf35d, 0xf408, -0xf35d, 0xf408, 0xf341, 0xf3e1, 0xf341, 0xf3e1, 0xf341, 0xf3e1, 0xf2cc, 0xf363, 0xf2cc, -0xf363, 0xf329, 0xf3b8, 0xf329, 0xf3b8, 0xf347, 0xf3d2, 0xf347, 0xf3d2, 0xf3a7, 0xf431, -0xf3a7, 0xf431, 0xf433, 0xf4c0, 0xf433, 0xf4c0, 0xf35f, 0xf3f2, 0xf35f, 0xf3f2, 0xf35f, -0xf3f2, 0xf3c1, 0xf45d, 0xf3c1, 0xf45d, 0xf3ff, 0xf4a9, 0xf3ff, 0xf4a9, 0xf3f6, 0xf4b0, -0xf3f6, 0xf4b0, 0xf530, 0xf5ff, 0xf530, 0xf5ff, 0xf526, 0xf60c, 0xf526, 0xf60c, 0xf526, -0xf60c, 0xf404, 0xf502, 0xf404, 0xf502, 0xf38e, 0xf4a8, 0xf38e, 0xf4a8, 0xf2eb, 0xf420, -0xf2eb, 0xf420, 0xf1a9, 0xf2fa, 0xf1a9, 0xf2fa, 0xf179, 0xf2e4, 0xf179, 0xf2e4, 0xf063, -0xf1e9, 0xf063, 0xf1e9, 0xf063, 0xf1e9, 0xefbd, 0xf15a, 0xefbd, 0xf15a, 0xf084, 0xf236, -0xf084, 0xf236, 0xef0f, 0xf0d3, 0xef0f, 0xf0d3, 0xeef2, 0xf0c4, 0xeef2, 0xf0c4, 0xf06b, -0xf247, 0xf06b, 0xf247, 0xeeca, 0xf0ab, 0xeeca, 0xf0ab, 0xeeca, 0xf0ab, 0xeea4, 0xf086, -0xeea4, 0xf086, 0xf09c, 0xf27b, 0xf09c, 0xf27b, 0xef81, 0xf157, 0xef81, 0xf157, 0xef08, -0xf0d2, 0xef08, 0xf0d2, 0xefc8, 0xf181, 0xefc8, 0xf181, 0xefc8, 0xf181, 0xefe5, 0xf18a, -0xefe5, 0xf18a, 0xf09d, 0xf22b, 0xf09d, 0xf22b, 0xf0ab, 0xf220, 0xf0ab, 0xf220, 0xf17d, -0xf2d9, 0xf17d, 0xf2d9, 0xf2a9, 0xf3ea, 0xf2a9, 0xf3ea, 0xf295, 0xf3bd, 0xf295, 0xf3bd, -0xf295, 0xf3bd, 0xf46f, 0xf57f, 0xf46f, 0xf57f, 0xf6aa, 0xf7a5, 0xf6aa, 0xf7a5, 0xf5c5, -0xf6ae, 0xf5c5, 0xf6ae, 0xf594, 0xf66f, 0xf594, 0xf66f, 0xf5b1, 0xf682, 0xf5b1, 0xf682, -0xf50e, 0xf5dc, 0xf50e, 0xf5dc, 0xf50e, 0xf5dc, 0xf54a, 0xf61a, 0xf54a, 0xf61a, 0xf51b, -0xf5f5, 0xf51b, 0xf5f5, 0xf516, 0xf5ff, 0xf516, 0xf5ff, 0xf450, 0xf54f, 0xf450, 0xf54f, -0xf46b, 0xf588, 0xf46b, 0xf588, 0xf46b, 0xf588, 0xf502, 0xf642, 0xf502, 0xf642, 0xf430, -0xf59a, 0xf430, 0xf59a, 0xf346, 0xf4e1, 0xf346, 0xf4e1, 0xf188, 0xf357, 0xf188, 0xf357, -0xf006, 0xf20e, 0xf006, 0xf20e, 0xeef4, 0xf138, 0xeef4, 0xf138, 0xeef4, 0xf138, 0xee2f, -0xf0b2, 0xee2f, 0xf0b2, 0xed20, 0xefe3, 0xed20, 0xefe3, 0xec2c, 0xef2f, 0xec2c, 0xef2f, -0xec40, 0xef82, 0xec40, 0xef82, 0xeb37, 0xeeb7, 0xeb37, 0xeeb7, 0xeb37, 0xeeb7, 0xe95c, -0xed16, 0xe95c, 0xed16, 0xe82e, 0xec1f, 0xe82e, 0xec1f, 0xe7ae, 0xebcf, 0xe7ae, 0xebcf, -0xe6dd, 0xeb2a, 0xe6dd, 0xeb2a, 0xe62e, 0xea9f, 0xe62e, 0xea9f, 0xe634, 0xeac1, 0xe634, -0xeac1, 0xe634, 0xeac1, 0xe5d1, 0xea72, 0xe5d1, 0xea72, 0xe581, 0xea2d, 0xe581, 0xea2d, -0xe52d, 0xe9dc, 0xe52d, 0xe9dc, 0xe4e4, 0xe98c, 0xe4e4, 0xe98c, 0xe5aa, 0xea43, 0xe5aa, -0xea43, 0xe526, 0xe9a6, 0xe526, 0xe9a6, 0xe526, 0xe9a6, 0xe490, 0xe8ef, 0xe490, 0xe8ef, -0xe4a8, 0xe8dd, 0xe4a8, 0xe8dd, 0xe428, 0xe82c, 0xe428, 0xe82c, 0xe61d, 0xe9ea, 0xe61d, -0xe9ea, 0xe70d, 0xea9b, 0xe70d, 0xea9b, 0xe70d, 0xea9b, 0xe718, 0xea62, 0xe718, 0xea62, -0xe910, 0xec12, 0xe910, 0xec12, 0xe9ab, 0xec62, 0xe9ab, 0xec62, 0xea67, 0xecd0, 0xea67, -0xecd0, 0xec48, 0xee61, 0xec48, 0xee61, 0xee10, 0xefd9, 0xee10, 0xefd9, 0xee10, 0xefd9, -0xefaa, 0xf123, 0xefaa, 0xf123, 0xf19f, 0xf2c8, 0xf19f, 0xf2c8, 0xf37b, 0xf456, 0xf37b, -0xf456, 0xf50f, 0xf59f, 0xf50f, 0xf59f, 0xf6c3, 0xf70b, 0xf6c3, 0xf70b, 0xf7de, 0xf7e0, -0xf7de, 0xf7e0, 0xf7de, 0xf7e0, 0xf8ba, 0xf87a, 0xf8ba, 0xf87a, 0xf96d, 0xf8ef, 0xf96d, -0xf8ef, 0xfa6b, 0xf9b2, 0xfa6b, 0xf9b2, 0xfb77, 0xfa88, 0xfb77, 0xfa88, 0xfbbb, 0xfa99, -0xfbbb, 0xfa99, 0xfbbb, 0xfa99, 0xfd41, 0xfbef, 0xfd41, 0xfbef, 0x3e, 0xfec0, 0x3e, -0xfec0, 0xbe, 0xff16, 0xbe, 0xff16, 0x183, 0xffb5, 0x183, 0xffb5, 0x49a, 0x2a6, -0x49a, 0x2a6, 0x609, 0x3f1, 0x609, 0x3f1, 0x609, 0x3f1, 0x854, 0x61a, 0x854, -0x61a, 0xba3, 0x948, 0xba3, 0x948, 0xdde, 0xb62, 0xdde, 0xb62, 0xf60, 0xcc4, -0xf60, 0xcc4, 0x107a, 0xdbd, 0x107a, 0xdbd, 0x12bf, 0xfe2, 0x12bf, 0xfe2, 0x12bf, -0xfe2, 0x1435, 0x1139, 0x1435, 0x1139, 0x1565, 0x1248, 0x1565, 0x1248, 0x17da, 0x149f, -0x17da, 0x149f, 0x18ab, 0x1552, 0x18ab, 0x1552, 0x1900, 0x158a, 0x1900, 0x158a, 0x1900, -0x158a, 0x1af7, 0x1765, 0x1af7, 0x1765, 0x1d12, 0x1967, 0x1d12, 0x1967, 0x1df6, 0x1a34, -0x1df6, 0x1a34, 0x1e64, 0x1a8f, 0x1e64, 0x1a8f, 0x1fc5, 0x1be1, 0x1fc5, 0x1be1, 0x206b, -0x1c7b, 0x206b, 0x1c7b, 0x206b, 0x1c7b, 0x216c, 0x1d76, 0x216c, 0x1d76, 0x2269, 0x1e72, -0x2269, 0x1e72, 0x2141, 0x1d4f, 0x2141, 0x1d4f, 0x20e3, 0x1cfc, 0x20e3, 0x1cfc, 0x203f, -0x1c6a, 0x203f, 0x1c6a, 0x1f53, 0x1b97, 0x1f53, 0x1b97, 0x1f53, 0x1b97, 0x1ea7, 0x1b0a, -0x1ea7, 0x1b0a, 0x1e13, 0x1a9b, 0x1e13, 0x1a9b, 0x1e55, 0x1b08, 0x1e55, 0x1b08, 0x1d3a, -0x1a1f, 0x1d3a, 0x1a1f, 0x1c1b, 0x1937, 0x1c1b, 0x1937, 0x1c1b, 0x1937, 0x1b22, 0x187a, -0x1b22, 0x187a, 0x1a24, 0x17bd, 0x1a24, 0x17bd, 0x1945, 0x1721, 0x1945, 0x1721, 0x1855, -0x1679, 0x1855, 0x1679, 0x17b4, 0x1622, 0x17b4, 0x1622, 0x1533, 0x13ec, 0x1533, 0x13ec, -0x1533, 0x13ec, 0x134a, 0x124d, 0x134a, 0x124d, 0x1285, 0x11d4, 0x1285, 0x11d4, 0x1114, -0x10ad, 0x1114, 0x10ad, 0x103b, 0x101c, 0x103b, 0x101c, 0xead, 0xed4, 0xead, 0xed4, -0xd60, 0xdc9, 0xd60, 0xdc9, 0xd60, 0xdc9, 0xc2a, 0xcd3, 0xc2a, 0xcd3, 0x972, -0xa56, 0x972, 0xa56, 0x74b, 0x866, 0x74b, 0x866, 0x534, 0x682, 0x534, 0x682, -0x42a, 0x5a6, 0x42a, 0x5a6, 0x42a, 0x5a6, 0x351, 0x4f6, 0x351, 0x4f6, 0xdc, -0x2a6, 0xdc, 0x2a6, 0xff8a, 0x174, 0xff8a, 0x174, 0xfe3f, 0x46, 0xfe3f, 0x46, -0xfd42, 0xff60, 0xfd42, 0xff60, 0xfc8e, 0xfec1, 0xfc8e, 0xfec1, 0xfc8e, 0xfec1, 0xfb54, -0xfd99, 0xfb54, 0xfd99, 0xfaad, 0xfcff, 0xfaad, 0xfcff, 0xf977, 0xfbd5, 0xf977, 0xfbd5, -0xf977, 0xfbde, 0xf977, 0xfbde, 0xf9fe, 0xfc6d, 0xf9fe, 0xfc6d, 0xf9bf, 0xfc33, 0xf9bf, -0xfc33, 0xf9bf, 0xfc33, 0xfa8c, 0xfd04, 0xfa8c, 0xfd04, 0xfafd, 0xfd79, 0xfafd, 0xfd79, -0xfaa8, 0xfd26, 0xfaa8, 0xfd26, 0xfa5b, 0xfcda, 0xfa5b, 0xfcda, 0xf9b6, 0xfc36, 0xf9b6, -0xfc36, 0xf9b6, 0xfc36, 0xf8cd, 0xfb4d, 0xf8cd, 0xfb4d, 0xf799, 0xfa18, 0xf799, 0xfa18, -0xf761, 0xf9df, 0xf761, 0xf9df, 0xf6c7, 0xf941, 0xf6c7, 0xf941, 0xf452, 0xf6c8, 0xf452, -0xf6c8, 0xf399, 0xf609, 0xf399, 0xf609, 0xf399, 0xf609, 0xf370, 0xf5d8, 0xf370, 0xf5d8, -0xf1b2, 0xf411, 0xf1b2, 0xf411, 0xf0c6, 0xf318, 0xf0c6, 0xf318, 0xf06e, 0xf2b1, 0xf06e, -0xf2b1, 0xeef1, 0xf123, 0xeef1, 0xf123, 0xedd4, 0xeff1, 0xedd4, 0xeff1, 0xedd4, 0xeff1, -0xee94, 0xf098, 0xee94, 0xf098, 0xef32, 0xf11b, 0xef32, 0xf11b, 0xef24, 0xf0ee, 0xef24, -0xf0ee, 0xef27, 0xf0ce, 0xef27, 0xf0ce, 0xefcd, 0xf14f, 0xefcd, 0xf14f, 0xefcd, 0xf14f, -0xeffa, 0xf153, 0xeffa, 0xf153, 0xefe1, 0xf10e, 0xefe1, 0xf10e, 0xf1b0, 0xf2af, 0xf1b0, -0xf2af, 0xf25a, 0xf329, 0xf25a, 0xf329, 0xf275, 0xf311, 0xf275, 0xf311, 0xf585, 0xf5ed, -0xf585, 0xf5ed, 0xf585, 0xf5ed, 0xf8ba, 0xf8ee, 0xf8ba, 0xf8ee, 0xfa1f, 0xfa1e, 0xfa1f, -0xfa1e, 0xfb51, 0xfb1b, 0xfb51, 0xfb1b, 0xfc9d, 0xfc34, 0xfc9d, 0xfc34, 0xfdcc, 0xfd32, -0xfdcc, 0xfd32, 0xff70, 0xfea7, 0xff70, 0xfea7, 0xff70, 0xfea7, 0xaf, 0xffba, 0xaf, -0xffba, 0xc6, 0xffa9, 0xc6, 0xffa9, 0xf5, 0xffb3, 0xf5, 0xffb3, 0x241, 0xe0, -0x241, 0xe0, 0x37c, 0x200, 0x37c, 0x200, 0x37c, 0x200, 0x36c, 0x1da, 0x36c, -0x1da, 0x334, 0x191, 0x334, 0x191, 0x3b6, 0x208, 0x3b6, 0x208, 0x48a, 0x2d7, -0x48a, 0x2d7, 0x56d, 0x3b8, 0x56d, 0x3b8, 0x5de, 0x42d, 0x5de, 0x42d, 0x5de, -0x42d, 0x6c2, 0x51b, 0x6c2, 0x51b, 0x723, 0x589, 0x723, 0x589, 0x69d, 0x512, -0x69d, 0x512, 0x750, 0x5d9, 0x750, 0x5d9, 0x6b8, 0x557, 0x6b8, 0x557, 0x6b8, -0x557, 0x5ef, 0x4a5, 0x5ef, 0x4a5, 0x65a, 0x528, 0x65a, 0x528, 0x61d, 0x503, -0x61d, 0x503, 0x694, 0x592, 0x694, 0x592, 0x69f, 0x5b4, 0x69f, 0x5b4, 0x6c1, -0x5ea, 0x6c1, 0x5ea, 0x6c1, 0x5ea, 0x824, 0x75e, 0x824, 0x75e, 0x907, 0x850, -0x907, 0x850, 0x8b4, 0x808, 0x8b4, 0x808, 0x8a0, 0x7fb, 0x8a0, 0x7fb, 0x932, -0x891, 0x932, 0x891, 0x8ee, 0x84c, 0x8ee, 0x84c, 0x8ee, 0x84c, 0x953, 0x8ac, -0x953, 0x8ac, 0x9ee, 0x93c, 0x9ee, 0x93c, 0x978, 0x8ba, 0x978, 0x8ba, 0x991, -0x8c2, 0x991, 0x8c2, 0xa49, 0x966, 0xa49, 0x966, 0xa49, 0x966, 0xaae, 0x9b4, -0xaae, 0x9b4, 0xa52, 0x940, 0xa52, 0x940, 0x9c8, 0x89c, 0x9c8, 0x89c, 0x997, -0x84f, 0x997, 0x84f, 0x9ce, 0x86a, 0x9ce, 0x86a, 0xab4, 0x935, 0xab4, 0x935, -0xab4, 0x935, 0xb28, 0x98e, 0xb28, 0x98e, 0xacd, 0x919, 0xacd, 0x919, 0xac4, -0x8f8, 0xac4, 0x8f8, 0xa95, 0x8b3, 0xa95, 0x8b3, 0xb02, 0x90d, 0xb02, 0x90d, -0xb9c, 0x995, 0xb9c, 0x995, 0xb9c, 0x995, 0xafc, 0x8e6, 0xafc, 0x8e6, 0xb44, -0x923, 0xb44, 0x923, 0xb30, 0x906, 0xb30, 0x906, 0x9b2, 0x781, 0x9b2, 0x781, -0x968, 0x733, 0x968, 0x733, 0x968, 0x733, 0x84a, 0x613, 0x84a, 0x613, 0x6e5, -0x4ad, 0x6e5, 0x4ad, 0x73a, 0x503, 0x73a, 0x503, 0x743, 0x50d, 0x743, 0x50d, -0x7d4, 0x5a1, 0x7d4, 0x5a1, 0x74f, 0x51d, 0x74f, 0x51d, 0x74f, 0x51d, 0x79b, -0x56b, 0x79b, 0x56b, 0xa5a, 0x82a, 0xa5a, 0x82a, 0xb0b, 0x8dc, 0xb0b, 0x8dc, -0xbe2, 0x9b1, 0xbe2, 0x9b1, 0xc59, 0xa25, 0xc59, 0xa25, 0xc74, 0xa3c, 0xc74, -0xa3c, 0xc74, 0xa3c, 0xdeb, 0xbac, 0xdeb, 0xbac, 0xf60, 0xd19, 0xf60, 0xd19, -0x1180, 0xf2f, 0x1180, 0xf2f, 0x11da, 0xf7f, 0x11da, 0xf7f, 0x11d5, 0xf6e, 0x11d5, -0xf6e, 0x11d5, 0xf6e, 0x139f, 0x112b, 0x139f, 0x112b, 0x1556, 0x12d5, 0x1556, 0x12d5, -0x157f, 0x12f2, 0x157f, 0x12f2, 0x1586, 0x12ec, 0x1586, 0x12ec, 0x1710, 0x146a, 0x1710, -0x146a, 0x172e, 0x147e, 0x172e, 0x147e, 0x172e, 0x147e, 0x1792, 0x14d9, 0x1792, 0x14d9, -0x1808, 0x1549, 0x1808, 0x1549, 0x16c0, 0x13fd, 0x16c0, 0x13fd, 0x16bc, 0x13f9, 0x16bc, -0x13f9, 0x15d9, 0x1319, 0x15d9, 0x1319, 0x14e0, 0x1227, 0x14e0, 0x1227, 0x14e0, 0x1227, -0x1449, 0x119a, 0x1449, 0x119a, 0x11d9, 0xf39, 0x11d9, 0xf39, 0x1117, 0xe89, 0x1117, -0xe89, 0x10c3, 0xe4c, 0x10c3, 0xe4c, 0xfd1, 0xd74, 0xfd1, 0xd74, 0xfd1, 0xd74, -0xef2, 0xcb3, 0xef2, 0xcb3, 0xd50, 0xb33, 0xd50, 0xb33, 0xc5f, 0xa67, 0xc5f, -0xa67, 0xb12, 0x942, 0xb12, 0x942, 0x9b3, 0x80d, 0x9b3, 0x80d, 0x77b, 0x601, -0x77b, 0x601, 0x77b, 0x601, 0x534, 0x3e8, 0x534, 0x3e8, 0x4ee, 0x3d1, 0x4ee, -0x3d1, 0x4ae, 0x3c0, 0x4ae, 0x3c0, 0x48a, 0x3cc, 0x48a, 0x3cc, 0x336, 0x2a7, -0x336, 0x2a7, 0x180, 0x11f, 0x180, 0x11f, 0x180, 0x11f, 0x12e, 0xfa, 0x12e, -0xfa, 0x45, 0x3c, 0x45, 0x3c, 0xfee0, 0xff00, 0xfee0, 0xff00, 0xfd30, 0xfd77, -0xfd30, 0xfd77, 0xfaba, 0xfb25, 0xfaba, 0xfb25, 0xfaba, 0xfb25, 0xf933, 0xf9c0, 0xf933, -0xf9c0, 0xf93f, 0xf9eb, 0xf93f, 0xf9eb, 0xf917, 0xf9df, 0xf917, 0xf9df, 0xf89b, 0xf97c, -0xf89b, 0xf97c, 0xf77a, 0xf872, 0xf77a, 0xf872, 0xf5b4, 0xf6c0, 0xf5b4, 0xf6c0, 0xf5b4, -0xf6c0, 0xf4b3, 0xf5d1, 0xf4b3, 0xf5d1, 0xf3c1, 0xf4ee, 0xf3c1, 0xf4ee, 0xf280, 0xf3ba, -0xf280, 0xf3ba, 0xf29e, 0xf3e5, 0xf29e, 0xf3e5, 0xf328, 0xf47a, 0xf328, 0xf47a, 0xf36c, -0xf4c6, 0xf36c, 0xf4c6, 0xf36c, 0xf4c6, 0xf4a2, 0xf606, 0xf4a2, 0xf606, 0xf419, 0xf586, -0xf419, 0xf586, 0xf2c6, 0xf43c, 0xf2c6, 0xf43c, 0xf334, 0xf4b4, 0xf334, 0xf4b4, 0xf2ec, -0xf476, 0xf2ec, 0xf476, 0xf2ec, 0xf476, 0xf283, 0xf418, 0xf283, 0xf418, 0xf27a, 0xf41a, -0xf27a, 0xf41a, 0xf1dd, 0xf389, 0xf1dd, 0xf389, 0xf1ee, 0xf3a7, 0xf1ee, 0xf3a7, 0xf1d8, -0xf39f, 0xf1d8, 0xf39f, 0xf1a0, 0xf375, 0xf1a0, 0xf375, 0xf1a0, 0xf375, 0xf21c, 0xf3fe, -0xf21c, 0xf3fe, 0xf0b0, 0xf2a1, 0xf0b0, 0xf2a1, 0xef74, 0xf173, 0xef74, 0xf173, 0xf05f, -0xf26c, 0xf05f, 0xf26c, 0xefa6, 0xf1be, 0xefa6, 0xf1be, 0xedde, 0xf002, 0xedde, 0xf002, -0xedde, 0xf002, 0xee31, 0xf05d, 0xee31, 0xf05d, 0xef3a, 0xf16d, 0xef3a, 0xf16d, 0xef19, -0xf150, 0xef19, 0xf150, 0xefa9, 0xf1e2, 0xefa9, 0xf1e2, 0xef70, 0xf1a7, 0xef70, 0xf1a7, -0xef70, 0xf1a7, 0xedaa, 0xefdb, 0xedaa, 0xefdb, 0xed90, 0xefb9, 0xed90, 0xefb9, 0xeea4, -0xf0c2, 0xeea4, 0xf0c2, 0xef85, 0xf194, 0xef85, 0xf194, 0xeeec, 0xf0e9, 0xeeec, 0xf0e9, -0xee83, 0xf06c, 0xee83, 0xf06c, 0xee83, 0xf06c, 0xf05b, 0xf22c, 0xf05b, 0xf22c, 0xf12d, -0xf2e5, 0xf12d, 0xf2e5, 0xf159, 0xf2f7, 0xf159, 0xf2f7, 0xf2c4, 0xf448, 0xf2c4, 0xf448, -0xf365, 0xf4ce, 0xf365, 0xf4ce, 0xf46f, 0xf5be, 0xf46f, 0xf5be, 0xf46f, 0xf5be, 0xf62c, -0xf761, 0xf62c, 0xf761, 0xf66e, 0xf78d, 0xf66e, 0xf78d, 0xf5a1, 0xf6ab, 0xf5a1, 0xf6ab, -0xf4e8, 0xf5e1, 0xf4e8, 0xf5e1, 0xf509, 0xf5f5, 0xf509, 0xf5f5, 0xf509, 0xf5f5, 0xf472, -0xf555, 0xf472, 0xf555, 0xf3ae, 0xf48d, 0xf3ae, 0xf48d, 0xf37e, 0xf45e, 0xf37e, 0xf45e, -0xf34b, 0xf430, 0xf34b, 0xf430, 0xf3b8, 0xf4a8, 0xf3b8, 0xf4a8, 0xf447, 0xf548, 0xf447, -0xf548, 0xf447, 0xf548, 0xf427, 0xf53d, 0xf427, 0xf53d, 0xf18b, 0xf2bb, 0xf18b, 0xf2bb, -0xf04d, 0xf19c, 0xf04d, 0xf19c, 0xf0de, 0xf24f, 0xf0de, 0xf24f, 0xef21, 0xf0b8, 0xef21, -0xf0b8, 0xef21, 0xf0b8, 0xee66, 0xf027, 0xee66, 0xf027, 0xedb5, 0xefa2, 0xedb5, 0xefa2, -0xec9c, 0xeeb6, 0xec9c, 0xeeb6, 0xed0a, 0xef53, 0xed0a, 0xef53, 0xec49, 0xeec1, 0xec49, -0xeec1, 0xeb22, 0xedc8, 0xeb22, 0xedc8, 0xeb22, 0xedc8, 0xeac2, 0xed96, 0xeac2, 0xed96, -0xea71, 0xed70, 0xea71, 0xed70, 0xea84, 0xedac, 0xea84, 0xedac, 0xea64, 0xedb3, 0xea64, -0xedb3, 0xe8cd, 0xec3f, 0xe8cd, 0xec3f, 0xe70c, 0xea9d, 0xe70c, 0xea9d, 0xe70c, 0xea9d, -0xe768, 0xeb13, 0xe768, 0xeb13, 0xe757, 0xeb19, 0xe757, 0xeb19, 0xe738, 0xeb0a, 0xe738, -0xeb0a, 0xe823, 0xec02, 0xe823, 0xec02, 0xe69b, 0xea80, 0xe69b, 0xea80, 0xe69b, 0xea80, -0xe6a2, 0xea88, 0xe6a2, 0xea88, 0xe8c0, 0xeca2, 0xe8c0, 0xeca2, 0xe8ac, 0xec84, 0xe8ac, -0xec84, 0xe8d4, 0xec9c, 0xe8d4, 0xec9c, 0xe907, 0xecbb, 0xe907, 0xecbb, 0xe91b, 0xecb5, -0xe91b, 0xecb5, 0xe91b, 0xecb5, 0xeafd, 0xee78, 0xeafd, 0xee78, 0xec3c, 0xef93, 0xec3c, -0xef93, 0xebc7, 0xeef5, 0xebc7, 0xeef5, 0xecf6, 0xeff7, 0xecf6, 0xeff7, 0xee71, 0xf141, -0xee71, 0xf141, 0xefc2, 0xf25c, 0xefc2, 0xf25c, 0xefc2, 0xf25c, 0xf2c6, 0xf528, 0xf2c6, -0xf528, 0xf419, 0xf63f, 0xf419, 0xf63f, 0xf4c9, 0xf6b0, 0xf4c9, 0xf6b0, 0xf6bb, 0xf85f, -0xf6bb, 0xf85f, 0xf807, 0xf966, 0xf807, 0xf966, 0xf807, 0xf966, 0xf947, 0xfa5f, 0xf947, -0xfa5f, 0xfa44, 0xfb13, 0xfa44, 0xfb13, 0xfa4c, 0xfad1, 0xfa4c, 0xfad1, 0xfc88, 0xfcc2, -0xfc88, 0xfcc2, 0xff53, 0xff40, 0xff53, 0xff40, 0xff88, 0xff28, 0xff88, 0xff28, 0xff88, -0xff28, 0x11b, 0x6d, 0x11b, 0x6d, 0x2ae, 0x1b2, 0x2ae, 0x1b2, 0x3b6, 0x26c, -0x3b6, 0x26c, 0x60d, 0x475, 0x60d, 0x475, 0x75c, 0x576, 0x75c, 0x576, 0x85b, -0x629, 0x85b, 0x629, 0x85b, 0x629, 0x99d, 0x71e, 0x99d, 0x71e, 0xc61, 0x998, -0xc61, 0x998, 0xf92, 0xc80, 0xf92, 0xc80, 0x10f3, 0xd99, 0x10f3, 0xd99, 0x1237, -0xe97, 0x1237, 0xe97, 0x1237, 0xe97, 0x132b, 0xf47, 0x132b, 0xf47, 0x1469, 0x1044, -0x1469, 0x1044, 0x1624, 0x11c0, 0x1624, 0x11c0, 0x16f1, 0x1251, 0x16f1, 0x1251, 0x175d, -0x1284, 0x175d, 0x1284, 0x18b2, 0x13a4, 0x18b2, 0x13a4, 0x18b2, 0x13a4, 0x1bf8, 0x16ba, -0x1bf8, 0x16ba, 0x1eca, 0x1961, 0x1eca, 0x1961, 0x2172, 0x1be3, 0x2172, 0x1be3, 0x24f5, -0x1f46, 0x24f5, 0x1f46, 0x25c6, 0x1ffe, 0x25c6, 0x1ffe, 0x25fe, 0x2023, 0x25fe, 0x2023, -0x25fe, 0x2023, 0x26bc, 0x20d7, 0x26bc, 0x20d7, 0x2647, 0x205f, 0x2647, 0x205f, 0x252c, -0x1f4a, 0x252c, 0x1f4a, 0x254c, 0x1f7a, 0x254c, 0x1f7a, 0x2836, 0x227d, 0x2836, 0x227d, -0x2836, 0x227d, 0x29a7, 0x2411, 0x29a7, 0x2411, 0x28f9, 0x2390, 0x28f9, 0x2390, 0x27a3, -0x2273, 0x27a3, 0x2273, 0x25ee, 0x2100, 0x25ee, 0x2100, 0x2520, 0x207e, 0x2520, 0x207e, -0x24d7, 0x208b, 0x24d7, 0x208b, 0x24d7, 0x208b, 0x248a, 0x209c, 0x248a, 0x209c, 0x2253, -0x1ecd, 0x2253, 0x1ecd, 0x207d, 0x1d65, 0x207d, 0x1d65, 0x1eaa, 0x1c07, 0x1eaa, 0x1c07, -0x1b32, 0x190a, 0x1b32, 0x190a, 0x1919, 0x176f, 0x1919, 0x176f, 0x1919, 0x176f, 0x1623, -0x14fb, 0x1623, 0x14fb, 0x12d8, 0x1232, 0x12d8, 0x1232, 0x11d3, 0x11b0, 0x11d3, 0x11b0, -0x108a, 0x10e7, 0x108a, 0x10e7, 0xdb9, 0xe93, 0xdb9, 0xe93, 0xdb9, 0xe93, 0xaa9, -0xbfb, 0xaa9, 0xbfb, 0x7f2, 0x9b7, 0x7f2, 0x9b7, 0x489, 0x6ba, 0x489, 0x6ba, -0xe3, 0x377, 0xe3, 0x377, 0xfd2a, 0x17, 0xfd2a, 0x17, 0xf933, 0xfc70, 0xf933, -0xfc70, 0xf933, 0xfc70, 0xf603, 0xf985, 0xf603, 0xf985, 0xf370, 0xf72c, 0xf370, 0xf72c, -0xf246, 0xf631, 0xf246, 0xf631, 0xef8a, 0xf39a, 0xef8a, 0xf39a, 0xeb8e, 0xefb6, 0xeb8e, -0xefb6, 0xeb96, 0xefce, 0xeb96, 0xefce, 0xeb96, 0xefce, 0xeb31, 0xef70, 0xeb31, 0xef70, -0xe960, 0xed9c, 0xe960, 0xed9c, 0xe884, 0xecb5, 0xe884, 0xecb5, 0xe741, 0xeb61, 0xe741, -0xeb61, 0xe6f9, 0xeb01, 0xe6f9, 0xeb01, 0xe6f9, 0xeb01, 0xe7f1, 0xebdd, 0xe7f1, 0xebdd, -0xe9ac, 0xed79, 0xe9ac, 0xed79, 0xe96d, 0xed18, 0xe96d, 0xed18, 0xe7df, 0xeb66, 0xe7df, -0xeb66, 0xe725, 0xea85, 0xe725, 0xea85, 0xe6c8, 0xea03, 0xe6c8, 0xea03, 0xe6c8, 0xea03, -0xe786, 0xea9b, 0xe786, 0xea9b, 0xe795, 0xea84, 0xe795, 0xea84, 0xe816, 0xeae0, 0xe816, -0xeae0, 0xe8c4, 0xeb6a, 0xe8c4, 0xeb6a, 0xe8a9, 0xeb2b, 0xe8a9, 0xeb2b, 0xe9d1, 0xec30, -0xe9d1, 0xec30, 0xe9d1, 0xec30, 0xe92f, 0xeb69, 0xe92f, 0xeb69, 0xe7ca, 0xe9df, 0xe7ca, -0xe9df, 0xe8ea, 0xeada, 0xe8ea, 0xeada, 0xea90, 0xec59, 0xea90, 0xec59, 0xebec, 0xed8b, -0xebec, 0xed8b, 0xebec, 0xed8b, 0xece0, 0xee52, 0xece0, 0xee52, 0xee00, 0xef44, 0xee00, -0xef44, 0xef2b, 0xf03c, 0xef2b, 0xf03c, 0xf0fd, 0xf1d8, 0xf0fd, 0xf1d8, 0xf331, 0xf3d3, -0xf331, 0xf3d3, 0xf32e, 0xf394, 0xf32e, 0xf394, 0xf32e, 0xf394, 0xf43f, 0xf466, 0xf43f, -0xf466, 0xf692, 0xf677, 0xf692, 0xf677, 0xf9a3, 0xf945, 0xf9a3, 0xf945, 0xfd62, 0xfcc0, -0xfd62, 0xfcc0, 0xfe62, 0xfd7b, 0xfe62, 0xfd7b, 0x31, 0xff07, 0x31, 0xff07, 0x31, -0xff07, 0x24f, 0xe4, 0x24f, 0xe4, 0x49c, 0x2f3, 0x49c, 0x2f3, 0x881, 0x69f, -0x881, 0x69f, 0xa5b, 0x847, 0xa5b, 0x847, 0xb56, 0x916, 0xb56, 0x916, 0xb56, -0x916, 0xbc4, 0x960, 0xbc4, 0x960, 0xcd6, 0xa57, 0xcd6, 0xa57, 0xe2c, 0xb9b, -0xe2c, 0xb9b, 0xef2, 0xc5a, 0xef2, 0xc5a, 0x10dc, 0xe47, 0x10dc, 0xe47, 0x1124, -0xe9c, 0x1124, 0xe9c, 0x1124, 0xe9c, 0x10c3, 0xe52, 0x10c3, 0xe52, 0xfb7, 0xd67, -0xfb7, 0xd67, 0xd2f, 0xb09, 0xd2f, 0xb09, 0xcd4, 0xae0, 0xcd4, 0xae0, 0xd9a, -0xbe0, 0xd9a, 0xbe0, 0xd9a, 0xbe0, 0xd8c, 0xc10, 0xd8c, 0xc10, 0xca2, 0xb69, -0xca2, 0xb69, 0xb6f, 0xa7c, 0xb6f, 0xa7c, 0xaba, 0xa0e, 0xaba, 0xa0e, 0xa01, -0x99b, 0xa01, 0x99b, 0x978, 0x956, 0x978, 0x956, 0x978, 0x956, 0x7f1, 0x810, -0x7f1, 0x810, 0x566, 0x5c2, 0x566, 0x5c2, 0x3ca, 0x45b, 0x3ca, 0x45b, 0x2e2, -0x3a3, 0x2e2, 0x3a3, 0x1fb, 0x2e2, 0x1fb, 0x2e2, 0x56, 0x15b, 0x56, 0x15b, -0x56, 0x15b, 0xfeff, 0x1b, 0xfeff, 0x1b, 0xfec5, 0xffed, 0xfec5, 0xffed, 0xfe35, -0xff61, 0xfe35, 0xff61, 0xfea5, 0xffcd, 0xfea5, 0xffcd, 0xffdd, 0xf7, 0xffdd, 0xf7, -0xffdd, 0xf7, 0xfeee, 0xfff5, 0xfeee, 0xfff5, 0xfea1, 0xff8e, 0xfea1, 0xff8e, 0x12c, -0x1f9, 0x12c, 0x1f9, 0x2f9, 0x3a4, 0x2f9, 0x3a4, 0x39f, 0x423, 0x39f, 0x423, -0x585, 0x5e2, 0x585, 0x5e2, 0x585, 0x5e2, 0x793, 0x7c8, 0x793, 0x7c8, 0x7e9, -0x7f6, 0x7e9, 0x7f6, 0x80b, 0x7f2, 0x80b, 0x7f2, 0x810, 0x7d3, 0x810, 0x7d3, -0x6d6, 0x677, 0x6d6, 0x677, 0x689, 0x60c, 0x689, 0x60c, 0x689, 0x60c, 0x84d, -0x7b7, 0x84d, 0x7b7, 0xab7, 0xa0b, 0xab7, 0xa0b, 0xb1f, 0xa60, 0xb1f, 0xa60, -0xa77, 0x9a9, 0xa77, 0x9a9, 0xaca, 0x9f0, 0xaca, 0x9f0, 0xaca, 0x9f0, 0x9a1, -0x8bd, 0x9a1, 0x8bd, 0x828, 0x73c, 0x828, 0x73c, 0x829, 0x735, 0x829, 0x735, -0x7ca, 0x6ce, 0x7ca, 0x6ce, 0x719, 0x614, 0x719, 0x614, 0x7b6, 0x6a5, 0x7b6, -0x6a5, 0x7b6, 0x6a5, 0x8f4, 0x7d5, 0x8f4, 0x7d5, 0x807, 0x6d6, 0x807, 0x6d6, -0x785, 0x63c, 0x785, 0x63c, 0x8e5, 0x781, 0x8e5, 0x781, 0x96f, 0x7eb, 0x96f, -0x7eb, 0xae6, 0x93b, 0xae6, 0x93b, 0xae6, 0x93b, 0xcee, 0xb18, 0xcee, 0xb18, -0xe2f, 0xc27, 0xe2f, 0xc27, 0xf7c, 0xd40, 0xf7c, 0xd40, 0x111f, 0xeaa, 0x111f, -0xeaa, 0x1349, 0x1099, 0x1349, 0x1099, 0x1349, 0x1099, 0x149f, 0x11b2, 0x149f, 0x11b2, -0x1626, 0x12fc, 0x1626, 0x12fc, 0x1932, 0x15cb, 0x1932, 0x15cb, 0x1c27, 0x1885, 0x1c27, -0x1885, 0x1d42, 0x196a, 0x1d42, 0x196a, 0x1e19, 0x1a0f, 0x1e19, 0x1a0f, 0x1e19, 0x1a0f, -0x2038, 0x1c03, 0x2038, 0x1c03, 0x216d, 0x1d14, 0x216d, 0x1d14, 0x23bf, 0x1f4c, 0x23bf, -0x1f4c, 0x26cc, 0x2249, 0x26cc, 0x2249, 0x262a, 0x21a0, 0x262a, 0x21a0, 0x2494, 0x2010, -0x2494, 0x2010, 0x2494, 0x2010, 0x23cc, 0x1f59, 0x23cc, 0x1f59, 0x210f, 0x1cba, 0x210f, -0x1cba, 0x1d3d, 0x1911, 0x1d3d, 0x1911, 0x1aa3, 0x16ac, 0x1aa3, 0x16ac, 0x1881, 0x14c8, -0x1881, 0x14c8, 0x1881, 0x14c8, 0x16d1, 0x1362, 0x16d1, 0x1362, 0x15fa, 0x12de, 0x15fa, -0x12de, 0x146c, 0x11a9, 0x146c, 0x11a9, 0x1209, 0xfa7, 0x1209, 0xfa7, 0xf1f, 0xd23, -0xf1f, 0xd23, 0xc7a, 0xae8, 0xc7a, 0xae8, 0xc7a, 0xae8, 0xa48, 0x921, 0xa48, -0x921, 0x684, 0x5c9, 0x684, 0x5c9, 0x2ed, 0x29c, 0x2ed, 0x29c, 0xffdf, 0xfff6, -0xffdf, 0xfff6, 0xfc14, 0xfc8f, 0xfc14, 0xfc8f, 0xf9e5, 0xfabf, 0xf9e5, 0xfabf, 0xf9e5, -0xfabf, 0xf8d3, 0xfa06, 0xf8d3, 0xfa06, 0xf7b0, 0xf934, 0xf7b0, 0xf934, 0xf6a7, 0xf875, -0xf6a7, 0xf875, 0xf66c, 0xf87a, 0xf66c, 0xf87a, 0xf57e, 0xf7c5, 0xf57e, 0xf7c5, 0xf57e, -0xf7c5, 0xf2ba, 0xf530, 0xf2ba, 0xf530, 0xf12c, 0xf3c7, 0xf12c, 0xf3c7, 0xefad, 0xf265, -0xefad, 0xf265, 0xeed4, 0xf1a0, 0xeed4, 0xf1a0, 0xefa9, 0xf281, 0xefa9, 0xf281, 0xef5e, -0xf23a, 0xef5e, 0xf23a, 0xef5e, 0xf23a, 0xeed0, 0xf1a9, 0xeed0, 0xf1a9, 0xee48, 0xf117, -0xee48, 0xf117, 0xedbd, 0xf07d, 0xedbd, 0xf07d, 0xecc7, 0xef72, 0xecc7, 0xef72, 0xeb22, -0xedb4, 0xeb22, 0xedb4, 0xeb4f, 0xedc4, 0xeb4f, 0xedc4, 0xeb4f, 0xedc4, 0xec50, 0xeea4, -0xec50, 0xeea4, 0xed28, 0xef5a, 0xed28, 0xef5a, 0xee8e, 0xf09b, 0xee8e, 0xf09b, 0xef4d, -0xf134, 0xef4d, 0xf134, 0xeef9, 0xf0b9, 0xeef9, 0xf0b9, 0xeef9, 0xf0b9, 0xee15, 0xefae, -0xee15, 0xefae, 0xeef4, 0xf064, 0xeef4, 0xf064, 0xf063, 0xf1ab, 0xf063, 0xf1ab, 0xf075, -0xf195, 0xf075, 0xf195, 0xf136, 0xf22f, 0xf136, 0xf22f, 0xf1f8, 0xf2cb, 0xf1f8, 0xf2cb, -0xf1f8, 0xf2cb, 0xf29d, 0xf34b, 0xf29d, 0xf34b, 0xf375, 0xf3ff, 0xf375, 0xf3ff, 0xf569, -0xf5d1, 0xf569, 0xf5d1, 0xf673, 0xf6ba, 0xf673, 0xf6ba, 0xf604, 0xf62d, 0xf604, 0xf62d, -0xf864, 0xf871, 0xf864, 0xf871, 0xf864, 0xf871, 0xf9c2, 0xf9b4, 0xf9c2, 0xf9b4, 0xf91b, -0xf8f8, 0xf91b, 0xf8f8, 0xf8fb, 0xf8c5, 0xf8fb, 0xf8c5, 0xfa26, 0xf9e0, 0xfa26, 0xf9e0, -0xfbd4, 0xfb83, 0xfbd4, 0xfb83, 0xfbd4, 0xfb83, 0xfc20, 0xfbc9, 0xfc20, 0xfbc9, 0xfd7a, -0xfd20, 0xfd7a, 0xfd20, 0xfdd0, 0xfd79, 0xfdd0, 0xfd79, 0xfcc5, 0xfc74, 0xfcc5, 0xfc74, -0xfd2a, 0xfce5, 0xfd2a, 0xfce5, 0xfdca, 0xfd97, 0xfdca, 0xfd97, 0xfdca, 0xfd97, 0xfca1, -0xfc83, 0xfca1, 0xfc83, 0xfb6d, 0xfb69, 0xfb6d, 0xfb69, 0xfcf4, 0xfd0e, 0xfcf4, 0xfd0e, -0xfceb, 0xfd26, 0xfceb, 0xfd26, 0xfba9, 0xfc09, 0xfba9, 0xfc09, 0xfbc1, 0xfc48, 0xfbc1, -0xfc48, 0xfbc1, 0xfc48, 0xf9ea, 0xfa9a, 0xf9ea, 0xfa9a, 0xf7de, 0xf8b8, 0xf7de, 0xf8b8, -0xf7c4, 0xf8c9, 0xf7c4, 0xf8c9, 0xf7ad, 0xf8dc, 0xf7ad, 0xf8dc, 0xf744, 0xf89d, 0xf744, -0xf89d, 0xf744, 0xf89d, 0xf6f7, 0xf877, 0xf6f7, 0xf877, 0xf74e, 0xf8f4, 0xf74e, 0xf8f4, -0xf735, 0xf8fe, 0xf735, 0xf8fe, 0xf533, 0xf71b, 0xf533, 0xf71b, 0xf322, 0xf526, 0xf322, -0xf526, 0xf20b, 0xf427, 0xf20b, 0xf427, 0xf20b, 0xf427, 0xf011, 0xf241, 0xf011, 0xf241, -0xedf3, 0xf033, 0xedf3, 0xf033, 0xedd4, 0xf021, 0xedd4, 0xf021, 0xebcf, 0xee24, 0xebcf, -0xee24, 0xe900, 0xeb5c, 0xe900, 0xeb5c, 0xe900, 0xeb5c, 0xe956, 0xebb5, 0xe956, 0xebb5, -0xe8d3, 0xeb33, 0xe8d3, 0xeb33, 0xe78e, 0xe9ef, 0xe78e, 0xe9ef, 0xe72b, 0xe98a, 0xe72b, -0xe98a, 0xe680, 0xe8de, 0xe680, 0xe8de, 0xe4ed, 0xe74b, 0xe4ed, 0xe74b, 0xe4ed, 0xe74b, -0xe407, 0xe665, 0xe407, 0xe665, 0xe445, 0xe6a5, 0xe445, 0xe6a5, 0xe47f, 0xe6e2, 0xe47f, -0xe6e2, 0xe524, 0xe78d, 0xe524, 0xe78d, 0xe52f, 0xe7a0, 0xe52f, 0xe7a0, 0xe685, 0xe8ff, -0xe685, 0xe8ff, 0xe685, 0xe8ff, 0xe703, 0xe98a, 0xe703, 0xe98a, 0xe596, 0xe82b, 0xe596, -0xe82b, 0xe695, 0xe939, 0xe695, 0xe939, 0xe681, 0xe935, 0xe681, 0xe935, 0xe4e5, 0xe7a9, -0xe4e5, 0xe7a9, 0xe4e5, 0xe7a9, 0xe566, 0xe839, 0xe566, 0xe839, 0xe55c, 0xe83c, 0xe55c, -0xe83c, 0xe402, 0xe6ed, 0xe402, 0xe6ed, 0xe420, 0xe713, 0xe420, 0xe713, 0xe481, 0xe776, -0xe481, 0xe776, 0xe47c, 0xe76f, 0xe47c, 0xe76f, 0xe47c, 0xe76f, 0xe4d9, 0xe7c5, 0xe4d9, -0xe7c5, 0xe539, 0xe815, 0xe539, 0xe815, 0xe613, 0xe8d9, 0xe613, 0xe8d9, 0xe731, 0xe9d8, -0xe731, 0xe9d8, 0xe7de, 0xea5f, 0xe7de, 0xea5f, 0xe841, 0xea94, 0xe841, 0xea94, 0xe841, -0xea94, 0xe95d, 0xeb7a, 0xe95d, 0xeb7a, 0xead3, 0xecb3, 0xead3, 0xecb3, 0xecf8, 0xee93, -0xecf8, 0xee93, 0xef6a, 0xf0bb, 0xef6a, 0xf0bb, 0xf22a, 0xf32b, 0xf22a, 0xf32b, 0xf22a, -0xf32b, 0xf614, 0xf6c1, 0xf614, 0xf6c1, 0xf904, 0xf95b, 0xf904, 0xf95b, 0xfb5c, 0xfb5a, -0xfb5c, 0xfb5a, 0xfd59, 0xfcfe, 0xfd59, 0xfcfe, 0xfed9, 0xfe25, 0xfed9, 0xfe25, 0x154, -0x4a, 0x154, 0x4a, 0x154, 0x4a, 0x4ae, 0x351, 0x4ae, 0x351, 0x799, 0x5ee, -0x799, 0x5ee, 0x901, 0x70e, 0x901, 0x70e, 0xa9c, 0x868, 0xa9c, 0x868, 0xde9, -0xb7b, 0xde9, 0xb7b, 0x10c7, 0xe27, 0x10c7, 0xe27, 0x10c7, 0xe27, 0x1202, 0xf39, -0x1202, 0xf39, 0x12b9, 0xfcf, 0x12b9, 0xfcf, 0x122f, 0xf2d, 0x122f, 0xf2d, 0x1194, -0xe83, 0x1194, 0xe83, 0x128b, 0xf73, 0x128b, 0xf73, 0x128b, 0xf73, 0x134f, 0x1037, -0x134f, 0x1037, 0x132f, 0x101e, 0x132f, 0x101e, 0x13c0, 0x10bd, 0x13c0, 0x10bd, 0x142e, -0x113d, 0x142e, 0x113d, 0x1431, 0x1157, 0x1431, 0x1157, 0x15d4, 0x1314, 0x15d4, 0x1314, -0x15d4, 0x1314, 0x1503, 0x1260, 0x1503, 0x1260, 0x1340, 0x10ba, 0x1340, 0x10ba, 0x13b8, -0x1150, 0x13b8, 0x1150, 0x12ea, 0x10a0, 0x12ea, 0x10a0, 0x12c0, 0x1093, 0x12c0, 0x1093, -0x1379, 0x1168, 0x1379, 0x1168, 0x1379, 0x1168, 0x133d, 0x1145, 0x133d, 0x1145, 0x12d1, -0x10f0, 0x12d1, 0x10f0, 0x1236, 0x106b, 0x1236, 0x106b, 0x1069, 0xeb1, 0x1069, 0xeb1, -0xf7b, 0xdd4, 0xf7b, 0xdd4, 0xf7b, 0xdd4, 0xfff, 0xe68, 0xfff, 0xe68, 0xf29, -0xda1, 0xf29, 0xda1, 0xf10, 0xd96, 0xf10, 0xd96, 0xf82, 0xe17, 0xf82, 0xe17, -0xf29, 0xdcd, 0xf29, 0xdcd, 0xf7b, 0xe2f, 0xf7b, 0xe2f, 0xf7b, 0xe2f, 0xf7a, -0xe40, 0xf7a, 0xe40, 0xf1e, 0xdf8, 0xf1e, 0xdf8, 0xfaa, 0xe9b, 0xfaa, 0xe9b, -0xea1, 0xdac, 0xea1, 0xdac, 0xd66, 0xc8e, 0xd66, 0xc8e, 0xdab, 0xcf3, 0xdab, -0xcf3, 0xdab, 0xcf3, 0xbd7, 0xb42, 0xbd7, 0xb42, 0xbdc, 0xb6c, 0xbdc, 0xb6c, -0xd9e, 0xd54, 0xd9e, 0xd54, 0xd24, 0xd03, 0xd24, 0xd03, 0xd22, 0xd2a, 0xd22, -0xd2a, 0xd22, 0xd2a, 0xd49, 0xd79, 0xd49, 0xd79, 0xbee, 0xc46, 0xbee, 0xc46, -0xa4a, 0xac7, 0xa4a, 0xac7, 0xa74, 0xb12, 0xa74, 0xb12, 0xa20, 0xadc, 0xa20, -0xadc, 0x8f0, 0x9c4, 0x8f0, 0x9c4, 0x8f0, 0x9c4, 0x866, 0x94c, 0x866, 0x94c, -0x77e, 0x86f, 0x77e, 0x86f, 0x705, 0x7fb, 0x705, 0x7fb, 0x59a, 0x68e, 0x59a, -0x68e, 0x4a8, 0x591, 0x4a8, 0x591, 0x4cc, 0x5a3, 0x4cc, 0x5a3, 0x4cc, 0x5a3, -0x326, 0x3e5, 0x326, 0x3e5, 0x30a, 0x3aa, 0x30a, 0x3aa, 0x4cc, 0x548, 0x4cc, -0x548, 0x560, 0x5b4, 0x560, 0x5b4, 0x5eb, 0x613, 0x5eb, 0x613, 0x5eb, 0x613, -0x69b, 0x695, 0x69b, 0x695, 0x694, 0x661, 0x694, 0x661, 0x5e5, 0x587, 0x5e5, -0x587, 0x6b3, 0x62c, 0x6b3, 0x62c, 0x86e, 0x7c2, 0x86e, 0x7c2, 0x8a9, 0x7df, -0x8a9, 0x7df, 0x8a9, 0x7df, 0x8dc, 0x7fb, 0x8dc, 0x7fb, 0x95a, 0x86a, 0x95a, -0x86a, 0x9b4, 0x8bf, 0x9b4, 0x8bf, 0x8cc, 0x7dc, 0x8cc, 0x7dc, 0x8f4, 0x814, -0x8f4, 0x814, 0xa5c, 0x996, 0xa5c, 0x996, 0xa5c, 0x996, 0x858, 0x7b6, 0x858, -0x7b6, 0x5e2, 0x56f, 0x5e2, 0x56f, 0x398, 0x35d, 0x398, 0x35d, 0x44, 0x48, -0x44, 0x48, 0xfe0a, 0xfe53, 0xfe0a, 0xfe53, 0xfe0a, 0xfe53, 0xfc79, 0xfd0d, 0xfc79, -0xfd0d, 0xfa2b, 0xfb0d, 0xfa2b, 0xfb0d, 0xf736, 0xf865, 0xf736, 0xf865, 0xf691, 0xf80e, -0xf691, 0xf80e, 0xf67e, 0xf845, 0xf67e, 0xf845, 0xf482, 0xf68f, 0xf482, 0xf68f, 0xf482, -0xf68f, 0xf2f4, 0xf53f, 0xf2f4, 0xf53f, 0xf188, 0xf409, 0xf188, 0xf409, 0xeeed, 0xf19a, -0xeeed, 0xf19a, 0xecb7, 0xef85, 0xecb7, 0xef85, 0xec55, 0xef37, 0xec55, 0xef37, 0xeb4d, -0xee36, 0xeb4d, 0xee36, 0xeb4d, 0xee36, 0xe90b, 0xebef, 0xe90b, 0xebef, 0xe92f, 0xec00, -0xe92f, 0xec00, 0xea5e, 0xed0f, 0xea5e, 0xed0f, 0xea7c, 0xed02, 0xea7c, 0xed02, 0xebbb, -0xee0a, 0xebbb, 0xee0a, 0xebbb, 0xee0a, 0xedb9, 0xefca, 0xedb9, 0xefca, 0xef01, 0xf0cb, -0xef01, 0xf0cb, 0xefae, 0xf12b, 0xefae, 0xf12b, 0xf0cb, 0xf1f6, 0xf0cb, 0xf1f6, 0xf1eb, -0xf2c4, 0xf1eb, 0xf2c4, 0xf2db, 0xf360, 0xf2db, 0xf360, 0xf2db, 0xf360, 0xf58d, 0xf5c1, -0xf58d, 0xf5c1, 0xf85b, 0xf842, 0xf85b, 0xf842, 0xf99a, 0xf938, 0xf99a, 0xf938, 0xfa84, -0xf9e1, 0xfa84, 0xf9e1, 0xfb5f, 0xfa82, 0xfb5f, 0xfa82, 0xfb5f, 0xfa82, 0xfae0, 0xf9d3, -0xfae0, 0xf9d3, 0xfafe, 0xf9c9, 0xfafe, 0xf9c9, 0xfd03, 0xfbaf, 0xfd03, 0xfbaf, 0xfdb2, -0xfc49, 0xfdb2, 0xfc49, 0xfea8, 0xfd33, 0xfea8, 0xfd33, 0x70, 0xfef5, 0x70, 0xfef5, -0x70, 0xfef5, 0x73, 0xfefa, 0x73, 0xfefa, 0x16, 0xfea5, 0x16, 0xfea5, 0x4f, -0xfeea, 0x4f, 0xfeea, 0x2f, 0xfed7, 0x2f, 0xfed7, 0x3b, 0xfef2, 0x3b, 0xfef2, -0xe5, 0xffaa, 0xe5, 0xffaa, 0xe5, 0xffaa, 0x16e, 0x3f, 0x16e, 0x3f, 0x297, -0x170, 0x297, 0x170, 0x3af, 0x28b, 0x3af, 0x28b, 0x515, 0x3ee, 0x515, 0x3ee, -0x75c, 0x62c, 0x75c, 0x62c, 0x75c, 0x62c, 0x7fe, 0x6bd, 0x7fe, 0x6bd, 0x835, -0x6dc, 0x835, 0x6dc, 0x9cf, 0x856, 0x9cf, 0x856, 0xb0f, 0x971, 0xb0f, 0x971, -0xc30, 0xa67, 0xc30, 0xa67, 0xe38, 0xc3e, 0xe38, 0xc3e, 0xe38, 0xc3e, 0xec3, -0xc96, 0xec3, 0xc96, 0xf44, 0xce1, 0xf44, 0xce1, 0x123e, 0xfa7, 0x123e, 0xfa7, -0x14fc, 0x1231, 0x14fc, 0x1231, 0x167f, 0x1383, 0x167f, 0x1383, 0x1716, 0x13ef, 0x1716, -0x13ef, 0x1716, 0x13ef, 0x171d, 0x13d3, 0x171d, 0x13d3, 0x16fb, 0x1395, 0x16fb, 0x1395, -0x1760, 0x13ea, 0x1760, 0x13ea, 0x1827, 0x14aa, 0x1827, 0x14aa, 0x1872, 0x14fb, 0x1872, -0x14fb, 0x1872, 0x14fb, 0x18d6, 0x1571, 0x18d6, 0x1571, 0x186d, 0x1526, 0x186d, 0x1526, -0x17da, 0x14be, 0x17da, 0x14be, 0x15ff, 0x1319, 0x15ff, 0x1319, 0x1280, 0xfdb, 0x1280, -0xfdb, 0x1148, 0xeee, 0x1148, 0xeee, 0x1148, 0xeee, 0x1084, 0xe7d, 0x1084, 0xe7d, -0xec4, 0xd16, 0xec4, 0xd16, 0xe44, 0xcf4, 0xe44, 0xcf4, 0xdf4, 0xd04, 0xdf4, -0xd04, 0xc83, 0xbf3, 0xc83, 0xbf3, 0xc1c, 0xbeb, 0xc1c, 0xbeb, 0xc1c, 0xbeb, -0xbe3, 0xc0d, 0xbe3, 0xc0d, 0x91b, 0x99c, 0x91b, 0x99c, 0x751, 0x820, 0x751, -0x820, 0x6c2, 0x7d6, 0x6c2, 0x7d6, 0x531, 0x680, 0x531, 0x680, 0x531, 0x680, -0x478, 0x5f7, 0x478, 0x5f7, 0x42e, 0x5d1, 0x42e, 0x5d1, 0x387, 0x542, 0x387, -0x542, 0x3b3, 0x579, 0x3b3, 0x579, 0x461, 0x625, 0x461, 0x625, 0x44a, 0x601, -0x44a, 0x601, 0x44a, 0x601, 0x43e, 0x5de, 0x43e, 0x5de, 0x3da, 0x558, 0x3da, -0x558, 0x3a5, 0x4f8, 0x3a5, 0x4f8, 0x4fa, 0x61c, 0x4fa, 0x61c, 0x5e1, 0x6cb, -0x5e1, 0x6cb, 0x6f3, 0x7a1, 0x6f3, 0x7a1, 0x6f3, 0x7a1, 0x8f0, 0x960, 0x8f0, -0x960, 0xa92, 0xac2, 0xa92, 0xac2, 0xb63, 0xb54, 0xb63, 0xb54, 0xc26, 0xbda, -0xc26, 0xbda, 0xc00, 0xb79, 0xc00, 0xb79, 0xc00, 0xb79, 0xb1c, 0xa5f, 0xb1c, -0xa5f, 0xc81, 0xb92, 0xc81, 0xb92, 0xd8b, 0xc70, 0xd8b, 0xc70, 0xdc0, 0xc7e, -0xdc0, 0xc7e, 0xe65, 0xd02, 0xe65, 0xd02, 0xdf1, 0xc74, 0xdf1, 0xc74, 0xdf1, -0xc74, 0xdd8, 0xc46, 0xdd8, 0xc46, 0xddf, 0xc3e, 0xddf, 0xc3e, 0xd77, 0xbca, -0xd77, 0xbca, 0xcc3, 0xb10, 0xcc3, 0xb10, 0xc6b, 0xab6, 0xc6b, 0xab6, 0xc16, -0xa61, 0xc16, 0xa61, 0xc16, 0xa61, 0xb9a, 0x9e7, 0xb9a, 0x9e7, 0xbef, 0xa40, -0xbef, 0xa40, 0xaaf, 0x906, 0xaaf, 0x906, 0x9d1, 0x82d, 0x9d1, 0x82d, 0xa42, -0x8a4, 0xa42, 0x8a4, 0xa42, 0x8a4, 0x9f0, 0x858, 0x9f0, 0x858, 0xaef, 0x95d, -0xaef, 0x95d, 0xbf4, 0xa68, 0xbf4, 0xa68, 0xbbc, 0xa35, 0xbbc, 0xa35, 0xb65, -0x9e4, 0xb65, 0x9e4, 0xab1, 0x936, 0xab1, 0x936, 0xab1, 0x936, 0x9aa, 0x837, -0x9aa, 0x837, 0x92f, 0x7c5, 0x92f, 0x7c5, 0x9a5, 0x846, 0x9a5, 0x846, 0x92a, -0x7d9, 0x92a, 0x7d9, 0x81d, 0x6de, 0x81d, 0x6de, 0x72e, 0x606, 0x72e, 0x606, -0x72e, 0x606, 0x571, 0x463, 0x571, 0x463, 0x485, 0x396, 0x485, 0x396, 0x3bc, -0x2f1, 0x3bc, 0x2f1, 0x228, 0x188, 0x228, 0x188, 0x126, 0xb5, 0x126, 0xb5, -0x126, 0xb5, 0xff4f, 0xff11, 0xff4f, 0xff11, 0xfd29, 0xfd24, 0xfd29, 0xfd24, 0xfc75, -0xfcad, 0xfc75, 0xfcad, 0xfb28, 0xfba0, 0xfb28, 0xfba0, 0xf974, 0xfa2e, 0xf974, 0xfa2e, -0xf883, 0xf983, 0xf883, 0xf983, 0xf883, 0xf983, 0xf770, 0xf8b5, 0xf770, 0xf8b5, 0xf685, -0xf80f, 0xf685, 0xf80f, 0xf51f, 0xf6ee, 0xf51f, 0xf6ee, 0xf2bd, 0xf4cf, 0xf2bd, 0xf4cf, -0xf0cb, 0xf31b, 0xf0cb, 0xf31b, 0xefdd, 0xf269, 0xefdd, 0xf269, 0xefdd, 0xf269, 0xee7d, -0xf13f, 0xee7d, 0xf13f, 0xecec, 0xefde, 0xecec, 0xefde, 0xec0a, 0xef26, 0xec0a, 0xef26, -0xea42, 0xed81, 0xea42, 0xed81, 0xe836, 0xeb91, 0xe836, 0xeb91, 0xe836, 0xeb91, 0xe6d0, -0xea40, 0xe6d0, 0xea40, 0xe636, 0xe9b4, 0xe636, 0xe9b4, 0xe614, 0xe998, 0xe614, 0xe998, -0xe57c, 0xe8ff, 0xe57c, 0xe8ff, 0xe536, 0xe8b2, 0xe536, 0xe8b2, 0xe53d, 0xe8ac, 0xe53d, -0xe8ac, 0xe53d, 0xe8ac, 0xe517, 0xe873, 0xe517, 0xe873, 0xe501, 0xe847, 0xe501, 0xe847, -0xe529, 0xe854, 0xe529, 0xe854, 0xe52f, 0xe83b, 0xe52f, 0xe83b, 0xe5a8, 0xe894, 0xe5a8, -0xe894, 0xe5ee, 0xe8b8, 0xe5ee, 0xe8b8, 0xe5ee, 0xe8b8, 0xe599, 0xe840, 0xe599, 0xe840, -0xe605, 0xe888, 0xe605, 0xe888, 0xe672, 0xe8d1, 0xe672, 0xe8d1, 0xe72e, 0xe969, 0xe72e, -0xe969, 0xe854, 0xea6c, 0xe854, 0xea6c, 0xe854, 0xea6c, 0xe99f, 0xeb94, 0xe99f, 0xeb94, -0xeaff, 0xecd3, 0xeaff, 0xecd3, 0xec36, 0xedea, 0xec36, 0xedea, 0xed19, 0xeeab, 0xed19, -0xeeab, 0xed83, 0xeef6, 0xed83, 0xeef6, 0xee22, 0xef75, 0xee22, 0xef75, 0xee22, 0xef75, -0xee75, 0xefa7, 0xee75, 0xefa7, 0xefcf, 0xf0e1, 0xefcf, 0xf0e1, 0xf12b, 0xf21c, 0xf12b, -0xf21c, 0xf102, 0xf1d1, 0xf102, 0xf1d1, 0xf16f, 0xf21b, 0xf16f, 0xf21b, 0xf16f, 0xf21b, -0xf25b, 0xf2e4, 0xf25b, 0xf2e4, 0xf2e5, 0xf34a, 0xf2e5, 0xf34a, 0xf326, 0xf365, 0xf326, -0xf365, 0xf411, 0xf42a, 0xf411, 0xf42a, 0xf512, 0xf505, 0xf512, 0xf505, 0xf604, 0xf5d2, -0xf604, 0xf5d2, 0xf604, 0xf5d2, 0xf7e5, 0xf78f, 0xf7e5, 0xf78f, 0xf981, 0xf909, 0xf981, -0xf909, 0xf9e6, 0xf94e, 0xf9e6, 0xf94e, 0xf953, 0xf89f, 0xf953, 0xf89f, 0xf8a9, 0xf7de, -0xf8a9, 0xf7de, 0xf8e3, 0xf805, 0xf8e3, 0xf805, 0xf8e3, 0xf805, 0xf9c3, 0xf8d9, 0xf9c3, -0xf8d9, 0xfabf, 0xf9d0, 0xfabf, 0xf9d0, 0xfbce, 0xfae0, 0xfbce, 0xfae0, 0xfbfd, 0xfb1a, -0xfbfd, 0xfb1a, 0xfc47, 0xfb77, 0xfc47, 0xfb77, 0xfc47, 0xfb77, 0xfd41, 0xfc8d, 0xfd41, -0xfc8d, 0xfd3c, 0xfcac, 0xfd3c, 0xfcac, 0xfc70, 0xfc0d, 0xfc70, 0xfc0d, 0xfb76, 0xfb49, -0xfb76, 0xfb49, 0xfab7, 0xfac7, 0xfab7, 0xfac7, 0xf8bf, 0xf913, 0xf8bf, 0xf913, 0xf8bf, -0xf913, 0xf627, 0xf6c6, 0xf627, 0xf6c6, 0xf4ca, 0xf5b7, 0xf4ca, 0xf5b7, 0xf2a6, 0xf3e6, -0xf2a6, 0xf3e6, 0xf10d, 0xf2a1, 0xf10d, 0xf2a1, 0xf0c1, 0xf2ab, 0xf0c1, 0xf2ab, 0xefa8, -0xf1e7, 0xefa8, 0xf1e7, 0xefa8, 0xf1e7, 0xeedd, 0xf16e, 0xeedd, 0xf16e, 0xee19, 0xf0f7, -0xee19, 0xf0f7, 0xec89, 0xefb0, 0xec89, 0xefb0, 0xeb63, 0xeecc, 0xeb63, 0xeecc, 0xea80, -0xee23, 0xea80, 0xee23, 0xea80, 0xee23, 0xe926, 0xecfa, 0xe926, 0xecfa, 0xe858, 0xec53, -0xe858, 0xec53, 0xe7c4, 0xebdb, 0xe7c4, 0xebdb, 0xe65b, 0xea82, 0xe65b, 0xea82, 0xe67b, -0xeaa8, 0xe67b, 0xeaa8, 0xe6af, 0xead6, 0xe6af, 0xead6, 0xe6af, 0xead6, 0xe665, 0xea7c, -0xe665, 0xea7c, 0xe83f, 0xec39, 0xe83f, 0xec39, 0xe91e, 0xecf2, 0xe91e, 0xecf2, 0xe947, -0xeceb, 0xe947, 0xeceb, 0xea91, 0xedfd, 0xea91, 0xedfd, 0xeb49, 0xee75, 0xeb49, 0xee75, -0xeb49, 0xee75, 0xec18, 0xeefe, 0xec18, 0xeefe, 0xeef3, 0xf18e, 0xeef3, 0xf18e, 0xf14d, -0xf397, 0xf14d, 0xf397, 0xf2b0, 0xf4a7, 0xf2b0, 0xf4a7, 0xf5e7, 0xf789, 0xf5e7, 0xf789, -0xf5e7, 0xf789, 0xf76b, 0xf8b5, 0xf76b, 0xf8b5, 0xf8b3, 0xf9a5, 0xf8b3, 0xf9a5, 0xfaa8, -0xfb43, 0xfaa8, 0xfb43, 0xfb3a, 0xfb7f, 0xfb3a, 0xfb7f, 0xfda3, 0xfd93, 0xfda3, 0xfd93, -0x2b, 0xffc6, 0x2b, 0xffc6, 0x2b, 0xffc6, 0x1ad, 0xf6, 0x1ad, 0xf6, 0x43b, -0x334, 0x43b, 0x334, 0x705, 0x5af, 0x705, 0x5af, 0x804, 0x661, 0x804, 0x661, -0x95d, 0x76f, 0x95d, 0x76f, 0xb23, 0x8ec, 0xb23, 0x8ec, 0xb23, 0x8ec, 0xb3b, -0x8bc, 0xb3b, 0x8bc, 0xd69, 0xaa2, 0xd69, 0xaa2, 0x1058, 0xd4b, 0x1058, 0xd4b, -0x11cf, 0xe7e, 0x11cf, 0xe7e, 0x13ed, 0x1058, 0x13ed, 0x1058, 0x13ed, 0x1058, 0x15d5, -0x11fe, 0x15d5, 0x11fe, 0x1710, 0x12fa, 0x1710, 0x12fa, 0x190b, 0x14b8, 0x190b, 0x14b8, -0x1afb, 0x166d, 0x1afb, 0x166d, 0x1c18, 0x1753, 0x1c18, 0x1753, 0x1e42, 0x194b, 0x1e42, -0x194b, 0x1e42, 0x194b, 0x2065, 0x1b41, 0x2065, 0x1b41, 0x21b1, 0x1c66, 0x21b1, 0x1c66, -0x2314, 0x1da9, 0x2314, 0x1da9, 0x239f, 0x1e1c, 0x239f, 0x1e1c, 0x24b1, 0x1f1f, 0x24b1, -0x1f1f, 0x2682, 0x20e9, 0x2682, 0x20e9, 0x2682, 0x20e9, 0x270c, 0x2178, 0x270c, 0x2178, -0x26dc, 0x2156, 0x26dc, 0x2156, 0x25d8, 0x206b, 0x25d8, 0x206b, 0x2401, 0x1eb8, 0x2401, -0x1eb8, 0x2375, 0x1e5a, 0x2375, 0x1e5a, 0x2375, 0x1e5a, 0x241e, 0x1f3b, 0x241e, 0x1f3b, -0x234b, 0x1eab, 0x234b, 0x1eab, 0x2190, 0x1d3b, 0x2190, 0x1d3b, 0x20eb, 0x1ce9, 0x20eb, -0x1ce9, 0x1f03, 0x1b5a, 0x1f03, 0x1b5a, 0x1c14, 0x18ca, 0x1c14, 0x18ca, 0x1c14, 0x18ca, -0x1a08, 0x1721, 0x1a08, 0x1721, 0x1738, 0x14b6, 0x1738, 0x14b6, 0x13d2, 0x11b5, 0x13d2, -0x11b5, 0x1204, 0x104c, 0x1204, 0x104c, 0x10ab, 0xf55, 0x10ab, 0xf55, 0xe27, 0xd30, -0xe27, 0xd30, 0xe27, 0xd30, 0xc1e, 0xb80, 0xc1e, 0xb80, 0x954, 0x90a, 0x954, -0x90a, 0x5b4, 0x5b5, 0x5b4, 0x5b5, 0x2ae, 0x2f3, 0x2ae, 0x2f3, 0xff75, 0xfff5, -0xff75, 0xfff5, 0xff75, 0xfff5, 0xfd13, 0xfdc6, 0xfd13, 0xfdc6, 0xfaa5, 0xfb81, 0xfaa5, -0xfb81, 0xf7c7, 0xf8c5, 0xf7c7, 0xf8c5, 0xf64e, 0xf765, 0xf64e, 0xf765, 0xf53e, 0xf666, -0xf53e, 0xf666, 0xf381, 0xf4b5, 0xf381, 0xf4b5, 0xf381, 0xf4b5, 0xf2f7, 0xf431, 0xf2f7, -0xf431, 0xf29e, 0xf3da, 0xf29e, 0xf3da, 0xf0e3, 0xf21f, 0xf0e3, 0xf21f, 0xf087, 0xf1c0, -0xf087, 0xf1c0, 0xf0b9, 0xf1ee, 0xf0b9, 0xf1ee, 0xefc2, 0xf0f5, 0xefc2, 0xf0f5, 0xefc2, -0xf0f5, 0xf05c, 0xf18f, 0xf05c, 0xf18f, 0xf1f6, 0xf32b, 0xf1f6, 0xf32b, 0xf219, 0xf354, -0xf219, 0xf354, 0xf2d4, 0xf419, 0xf2d4, 0xf419, 0xf2f8, 0xf44b, 0xf2f8, 0xf44b, 0xf2f8, -0xf44b, 0xf1e7, 0xf34c, 0xf1e7, 0xf34c, 0xf1cc, 0xf346, 0xf1cc, 0xf346, 0xf0eb, 0xf27f, -0xf0eb, 0xf27f, 0xf05e, 0xf20e, 0xf05e, 0xf20e, 0xf079, 0xf246, 0xf079, 0xf246, 0xf0a0, -0xf28c, 0xf0a0, 0xf28c, 0xf0a0, 0xf28c, 0xf18b, 0xf395, 0xf18b, 0xf395, 0xf1c9, 0xf3ef, -0xf1c9, 0xf3ef, 0xf114, 0xf353, 0xf114, 0xf353, 0xf0b4, 0xf307, 0xf0b4, 0xf307, 0xf08e, -0xf2ef, 0xf08e, 0xf2ef, 0xef04, 0xf16b, 0xef04, 0xf16b, 0xef04, 0xf16b, 0xee53, 0xf0b8, -0xee53, 0xf0b8, 0xef3d, 0xf199, 0xef3d, 0xf199, 0xef55, 0xf19c, 0xef55, 0xf19c, 0xf047, -0xf270, 0xf047, 0xf270, 0xf1f0, 0xf3f0, 0xf1f0, 0xf3f0, 0xf1f0, 0xf3f0, 0xf253, 0xf420, -0xf253, 0xf420, 0xf39e, 0xf52f, 0xf39e, 0xf52f, 0xf68a, 0xf7d7, 0xf68a, 0xf7d7, 0xf9c8, -0xfac8, 0xf9c8, 0xfac8, 0xfcb3, 0xfd60, 0xfcb3, 0xfd60, 0xfead, 0xff03, 0xfead, 0xff03, -0xfead, 0xff03, 0xae, 0xa8, 0xae, 0xa8, 0x2c8, 0x266, 0x2c8, 0x266, 0x50d, -0x44f, 0x50d, 0x44f, 0x77d, 0x665, 0x77d, 0x665, 0x9b3, 0x846, 0x9b3, 0x846, -0x9b3, 0x846, 0xb72, 0x9b6, 0xb72, 0x9b6, 0xd11, 0xb0d, 0xd11, 0xb0d, 0xe81, -0xc3f, 0xe81, 0xc3f, 0xe1c, 0xba7, 0xe1c, 0xba7, 0xec5, 0xc27, 0xec5, 0xc27, -0x1024, 0xd6a, 0x1024, 0xd6a, 0x1024, 0xd6a, 0xffe, 0xd34, 0xffe, 0xd34, 0x103b, -0xd6e, 0x103b, 0xd6e, 0xfe1, 0xd1e, 0xfe1, 0xd1e, 0xeba, 0xc0c, 0xeba, 0xc0c, -0xdca, 0xb3c, 0xdca, 0xb3c, 0xd87, 0xb23, 0xd87, 0xb23, 0xd87, 0xb23, 0xcfe, -0xacd, 0xcfe, 0xacd, 0xb95, 0x99e, 0xb95, 0x99e, 0xa9f, 0x8e8, 0xa9f, 0x8e8, -0xa0a, 0x895, 0xa0a, 0x895, 0x9e3, 0x8b4, 0x9e3, 0x8b4, 0x9e3, 0x8b4, 0x9b3, -0x8ca, 0x9b3, 0x8ca, 0x8bd, 0x818, 0x8bd, 0x818, 0x7de, 0x77c, 0x7de, 0x77c, -0x681, 0x65d, 0x681, 0x65d, 0x56e, 0x583, 0x56e, 0x583, 0x567, 0x5af, 0x567, -0x5af, 0x567, 0x5af, 0x415, 0x48a, 0x415, 0x48a, 0x2b9, 0x352, 0x2b9, 0x352, -0x1d0, 0x286, 0x1d0, 0x286, 0x8b, 0x157, 0x8b, 0x157, 0xff8b, 0x66, 0xff8b, -0x66, 0xff3a, 0x1e, 0xff3a, 0x1e, 0xff3a, 0x1e, 0xff7f, 0x65, 0xff7f, 0x65, -0xff43, 0x26, 0xff43, 0x26, 0xfff3, 0xcf, 0xfff3, 0xcf, 0xffdb, 0xac, 0xffdb, -0xac, 0xfef4, 0xffb9, 0xfef4, 0xffb9, 0xfef4, 0xffb9, 0xfef5, 0xffad, 0xfef5, 0xffad, -0xfebc, 0xff66, 0xfebc, 0xff66, 0xff9f, 0x3c, 0xff9f, 0x3c, 0x8f, 0x11f, 0x8f, -0x11f, 0xc9, 0x14f, 0xc9, 0x14f, 0x119, 0x197, 0x119, 0x197, 0x119, 0x197, -0x158, 0x1d1, 0x158, 0x1d1, 0x171, 0x1e5, 0x171, 0x1e5, 0x250, 0x2c3, 0x250, -0x2c3, 0x35d, 0x3d0, 0x35d, 0x3d0, 0x323, 0x397, 0x323, 0x397, 0x3c8, 0x43d, -0x3c8, 0x43d, 0x3c8, 0x43d, 0x4e0, 0x556, 0x4e0, 0x556, 0x509, 0x57e, 0x509, -0x57e, 0x581, 0x5f3, 0x581, 0x5f3, 0x611, 0x67c, 0x611, 0x67c, 0x64d, 0x6ac, -0x64d, 0x6ac, 0x64d, 0x6ac, 0x7a9, 0x7f8, 0x7a9, 0x7f8, 0x88a, 0x8c3, 0x88a, -0x8c3, 0x867, 0x883, 0x867, 0x883, 0x995, 0x98e, 0x995, 0x98e, 0xa67, 0xa35, -0xa67, 0xa35, 0xae7, 0xa84, 0xae7, 0xa84, 0xae7, 0xa84, 0xc36, 0xb9b, 0xc36, -0xb9b, 0xdc7, 0xcee, 0xdc7, 0xcee, 0xf6e, 0xe51, 0xf6e, 0xe51, 0x11a9, 0x1045, -0x11a9, 0x1045, 0x1343, 0x1195, 0x1343, 0x1195, 0x132b, 0x1131, 0x132b, 0x1131, 0x132b, -0x1131, 0x140f, 0x11c9, 0x140f, 0x11c9, 0x1596, 0x1305, 0x1596, 0x1305, 0x17bc, 0x14e3, -0x17bc, 0x14e3, 0x1ade, 0x17c2, 0x1ade, 0x17c2, 0x1c0f, 0x18b7, 0x1c0f, 0x18b7, 0x1c0f, -0x18b7, 0x1c96, 0x1909, 0x1c96, 0x1909, 0x1e06, 0x1a4e, 0x1e06, 0x1a4e, 0x1ecd, 0x1af3, -0x1ecd, 0x1af3, 0x1f7c, 0x1b8c, 0x1f7c, 0x1b8c, 0x1f7b, 0x1b7f, 0x1f7b, 0x1b7f, 0x1e55, -0x1a5b, 0x1e55, 0x1a5b, 0x1e55, 0x1a5b, 0x1deb, 0x19fe, 0x1deb, 0x19fe, 0x1d86, 0x19b3, -0x1d86, 0x19b3, 0x1beb, 0x183e, 0x1beb, 0x183e, 0x1a3c, 0x16c0, 0x1a3c, 0x16c0, 0x192c, -0x15eb, 0x192c, 0x15eb, 0x16f0, 0x13f3, 0x16f0, 0x13f3, 0x16f0, 0x13f3, 0x158f, 0x12df, -0x158f, 0x12df, 0x14d8, 0x127c, 0x14d8, 0x127c, 0x121f, 0x101b, 0x121f, 0x101b, 0x1046, -0xe9e, 0x1046, 0xe9e, 0xe59, 0xd0f, 0xe59, 0xd0f, 0xe59, 0xd0f, 0xbc9, 0xadd, -0xbc9, 0xadd, 0x9c7, 0x938, 0x9c7, 0x938, 0x71a, 0x6e5, 0x71a, 0x6e5, 0x3b9, -0x3da, 0x3b9, 0x3da, 0x171, 0x1e4, 0x171, 0x1e4, 0x73, 0x131, 0x73, 0x131, -0x73, 0x131, 0xfe6e, 0xff70, 0xfe6e, 0xff70, 0xfc46, 0xfd86, 0xfc46, 0xfd86, 0xf9cb, -0xfb41, 0xf9cb, 0xfb41, 0xf76d, 0xf911, 0xf76d, 0xf911, 0xf6a4, 0xf86f, 0xf6a4, 0xf86f, -0xf5da, 0xf7c3, 0xf5da, 0xf7c3, 0xf5da, 0xf7c3, 0xf4a9, 0xf6aa, 0xf4a9, 0xf6aa, 0xf359, -0xf56c, 0xf359, 0xf56c, 0xf16a, 0xf389, 0xf16a, 0xf389, 0xf011, 0xf237, 0xf011, 0xf237, -0xf003, 0xf22a, 0xf003, 0xf22a, 0xf003, 0xf22a, 0xef0a, 0xf130, 0xef0a, 0xf130, 0xee5c, -0xf07e, 0xee5c, 0xf07e, 0xee8e, 0xf0a9, 0xee8e, 0xf0a9, 0xede3, 0xeff6, 0xede3, 0xeff6, -0xed75, 0xef7f, 0xed75, 0xef7f, 0xed84, 0xef84, 0xed84, 0xef84, 0xed84, 0xef84, 0xecfd, -0xeef4, 0xecfd, 0xeef4, 0xed41, 0xef2e, 0xed41, 0xef2e, 0xef3c, 0xf11f, 0xef3c, 0xf11f, -0xf018, 0xf1f1, 0xf018, 0xf1f1, 0xf06b, 0xf23c, 0xf06b, 0xf23c, 0xf0b5, 0xf27d, 0xf0b5, -0xf27d, 0xf0b5, 0xf27d, 0xeffa, 0xf1b9, 0xeffa, 0xf1b9, 0xf032, 0xf1e7, 0xf032, 0xf1e7, -0xf11f, 0xf2cb, 0xf11f, 0xf2cb, 0xf101, 0xf2a3, 0xf101, 0xf2a3, 0xf048, 0xf1de, 0xf048, -0xf1de, 0xf048, 0xf1de, 0xf0e2, 0xf26b, 0xf0e2, 0xf26b, 0xf217, 0xf392, 0xf217, 0xf392, -0xf2cc, 0xf438, 0xf2cc, 0xf438, 0xf2f0, 0xf44b, 0xf2f0, 0xf44b, 0xf308, 0xf451, 0xf308, -0xf451, 0xf448, 0xf57e, 0xf448, 0xf57e, 0xf448, 0xf57e, 0xf591, 0xf6b4, 0xf591, 0xf6b4, -0xf662, 0xf770, 0xf662, 0xf770, 0xf7a1, 0xf89b, 0xf7a1, 0xf89b, 0xf8b7, 0xf99c, 0xf8b7, -0xf99c, 0xf927, 0xf9f9, 0xf927, 0xf9f9, 0xf9db, 0xfa9c, 0xf9db, 0xfa9c, 0xf9db, 0xfa9c, -0xfa29, 0xfada, 0xfa29, 0xfada, 0xf9bf, 0xfa62, 0xf9bf, 0xfa62, 0xfa4d, 0xfae5, 0xfa4d, -0xfae5, 0xfb5f, 0xfbef, 0xfb5f, 0xfbef, 0xfb12, 0xfb9e, 0xfb12, 0xfb9e, 0xfb12, 0xfb9e, -0xfa7d, 0xfb08, 0xfa7d, 0xfb08, 0xfa5f, 0xfaee, 0xfa5f, 0xfaee, 0xfa07, 0xfa9e, 0xfa07, -0xfa9e, 0xfb17, 0xfbb9, 0xfb17, 0xfbb9, 0xfc47, 0xfcf8, 0xfc47, 0xfcf8, 0xfbfd, 0xfcc1, -0xfbfd, 0xfcc1, 0xfbfd, 0xfcc1, 0xfb4b, 0xfc25, 0xfb4b, 0xfc25, 0xfa6a, 0xfb5c, 0xfa6a, -0xfb5c, 0xf9c3, 0xfad1, 0xf9c3, 0xfad1, 0xf98c, 0xfab6, 0xf98c, 0xfab6, 0xf8d4, 0xfa1c, -0xf8d4, 0xfa1c, 0xf8d4, 0xfa1c, 0xf7c3, 0xf929, 0xf7c3, 0xf929, 0xf7da, 0xf95d, 0xf7da, -0xf95d, 0xf7bf, 0xf960, 0xf7bf, 0xf960, 0xf775, 0xf931, 0xf775, 0xf931, 0xf714, 0xf8ea, -0xf714, 0xf8ea, 0xf4c4, 0xf6b2, 0xf4c4, 0xf6b2, 0xf4c4, 0xf6b2, 0xf286, 0xf48a, 0xf286, -0xf48a, 0xf1ff, 0xf415, 0xf1ff, 0xf415, 0xf104, 0xf32b, 0xf104, 0xf32b, 0xef2f, 0xf164, -0xef2f, 0xf164, 0xee28, 0xf067, 0xee28, 0xf067, 0xec51, 0xee99, 0xec51, 0xee99, 0xec51, -0xee99, 0xeaae, 0xecfc, 0xeaae, 0xecfc, 0xea85, 0xecd8, 0xea85, 0xecd8, 0xe8e8, 0xeb3e, -0xe8e8, 0xeb3e, 0xe6d9, 0xe932, 0xe6d9, 0xe932, 0xe67f, 0xe8d9, 0xe67f, 0xe8d9, 0xe67f, -0xe8d9, 0xe698, 0xe8f4, 0xe698, 0xe8f4, 0xe624, 0xe882, 0xe624, 0xe882, 0xe582, 0xe7e3, -0xe582, 0xe7e3, 0xe4c2, 0xe727, 0xe4c2, 0xe727, 0xe502, 0xe76c, 0xe502, 0xe76c, 0xe60b, -0xe87b, 0xe60b, 0xe87b, 0xe60b, 0xe87b, 0xe6ae, 0xe927, 0xe6ae, 0xe927, 0xe6df, 0xe960, -0xe6df, 0xe960, 0xe5c2, 0xe84d, 0xe5c2, 0xe84d, 0xe433, 0xe6c8, 0xe433, 0xe6c8, 0xe3ef, -0xe68e, 0xe3ef, 0xe68e, 0xe415, 0xe6be, 0xe415, 0xe6be, 0xe415, 0xe6be, 0xe375, 0xe627, -0xe375, 0xe627, 0xe3a1, 0xe65a, 0xe3a1, 0xe65a, 0xe454, 0xe712, 0xe454, 0xe712, 0xe4de, -0xe79d, 0xe4de, 0xe79d, 0xe54c, 0xe809, 0xe54c, 0xe809, 0xe54c, 0xe809, 0xe4c1, 0xe777, -0xe4c1, 0xe777, 0xe45a, 0xe704, 0xe45a, 0xe704, 0xe4e0, 0xe779, 0xe4e0, 0xe779, 0xe677, -0xe8f8, 0xe677, 0xe8f8, 0xe7ae, 0xea11, 0xe7ae, 0xea11, 0xe81f, 0xea5e, 0xe81f, 0xea5e, -0xe81f, 0xea5e, 0xe898, 0xeaac, 0xe898, 0xeaac, 0xe969, 0xeb4d, 0xe969, 0xeb4d, 0xeb99, -0xed45, 0xeb99, 0xed45, 0xedb8, 0xef29, 0xedb8, 0xef29, 0xef27, 0xf057, 0xef27, 0xf057, -0xf0ab, 0xf197, 0xf0ab, 0xf197, 0xf0ab, 0xf197, 0xf306, 0xf3ab, 0xf306, 0xf3ab, 0xf656, -0xf6b1, 0xf656, 0xf6b1, 0xf911, 0xf922, 0xf911, 0xf922, 0xfb2c, 0xfaf3, 0xfb2c, 0xfaf3, -0xfd4f, 0xfccd, 0xfd4f, 0xfccd, 0xfd4f, 0xfccd, 0xffd3, 0xff0b, 0xffd3, 0xff0b, 0x2d5, -0x1cb, 0x2d5, 0x1cb, 0x560, 0x418, 0x560, 0x418, 0x7f2, 0x671, 0x7f2, 0x671, -0xa0a, 0x856, 0xa0a, 0x856, 0xb05, 0x925, 0xb05, 0x925, 0xb05, 0x925, 0xd0f, -0xb0a, 0xd0f, 0xb0a, 0xe4e, 0xc2b, 0xe4e, 0xc2b, 0xddf, 0xba5, 0xddf, 0xba5, -0xe20, 0xbd7, 0xe20, 0xbd7, 0xf65, 0xd13, 0xf65, 0xd13, 0x1063, 0xe0f, 0x1063, -0xe0f, 0x1063, 0xe0f, 0xfec, 0xd9b, 0xfec, 0xd9b, 0xf6b, 0xd22, 0xf6b, 0xd22, -0xedc, 0xca0, 0xedc, 0xca0, 0xf1b, 0xcee, 0xf1b, 0xcee, 0x10c4, 0xea8, 0x10c4, -0xea8, 0x10c4, 0xea8, 0x11b1, 0xfa8, 0x11b1, 0xfa8, 0x11e5, 0xfef, 0x11e5, 0xfef, -0x1258, 0x1074, 0x1258, 0x1074, 0x131a, 0x1147, 0x131a, 0x1147, 0x1359, 0x1194, 0x1359, -0x1194, 0x1325, 0x116c, 0x1325, 0x116c, 0x1325, 0x116c, 0x12b4, 0x1104, 0x12b4, 0x1104, -0x121b, 0x1071, 0x121b, 0x1071, 0x1202, 0x1059, 0x1202, 0x1059, 0x1249, 0x109f, 0x1249, -0x109f, 0x1213, 0x1064, 0x1213, 0x1064, 0x1141, 0xf8b, 0x1141, 0xf8b, 0x1141, 0xf8b, -0x108b, 0xecc, 0x108b, 0xecc, 0x10f0, 0xf26, 0x10f0, 0xf26, 0x11f3, 0x101d, 0x11f3, -0x101d, 0x11d9, 0xff8, 0x11d9, 0xff8, 0x1147, 0xf5b, 0x1147, 0xf5b, 0x1147, 0xf5b, -0x1088, 0xe93, 0x1088, 0xe93, 0x1017, 0xe1b, 0x1017, 0xe1b, 0x1080, 0xe81, 0x1080, -0xe81, 0x10b6, 0xeb6, 0x10b6, 0xeb6, 0x100c, 0xe11, 0x100c, 0xe11, 0x103b, 0xe49, -0x103b, 0xe49, 0x103b, 0xe49, 0x11c2, 0xfde, 0x11c2, 0xfde, 0x110a, 0xf37, 0x110a, -0xf37, 0xf97, 0xddb, 0xf97, 0xddb, 0xec9, 0xd28, 0xec9, 0xd28, 0xd86, 0xc03, -0xd86, 0xc03, 0xd5d, 0xbfc, 0xd5d, 0xbfc, 0xd5d, 0xbfc, 0xda4, 0xc67, 0xda4, -0xc67, 0xd1d, 0xc05, 0xd1d, 0xc05, 0xc22, 0xb30, 0xc22, 0xb30, 0xb49, 0xa7d, -0xb49, 0xa7d, 0xa28, 0x980, 0xa28, 0x980, 0xa28, 0x980, 0x92a, 0x8a3, 0x92a, -0x8a3, 0x757, 0x6ef, 0x757, 0x6ef, 0x4bd, 0x46f, 0x4bd, 0x46f, 0x3ca, 0x391, -0x3ca, 0x391, 0x315, 0x2ed, 0x315, 0x2ed, 0x206, 0x1e9, 0x206, 0x1e9, 0x206, -0x1e9, 0x1e6, 0x1ce, 0x1e6, 0x1ce, 0x1a1, 0x18a, 0x1a1, 0x18a, 0x159, 0x13d, -0x159, 0x13d, 0x32a, 0x305, 0x32a, 0x305, 0x48a, 0x458, 0x48a, 0x458, 0x3f9, -0x3b7, 0x3f9, 0x3b7, 0x3f9, 0x3b7, 0x425, 0x3d0, 0x425, 0x3d0, 0x45b, 0x3f3, -0x45b, 0x3f3, 0x4c6, 0x44b, 0x4c6, 0x44b, 0x65c, 0x5d0, 0x65c, 0x5d0, 0x6bc, -0x621, 0x6bc, 0x621, 0x6bc, 0x621, 0x65c, 0x5b5, 0x65c, 0x5b5, 0x7ea, 0x73d, -0x7ea, 0x73d, 0x960, 0x8b2, 0x960, 0x8b2, 0x938, 0x88f, 0x938, 0x88f, 0x8d6, -0x838, 0x8d6, 0x838, 0x817, 0x78d, 0x817, 0x78d, 0x817, 0x78d, 0x6f7, 0x687, -0x6f7, 0x687, 0x635, 0x5e6, 0x635, 0x5e6, 0x51f, 0x4f9, 0x51f, 0x4f9, 0x3ae, -0x3b6, 0x3ae, 0x3b6, 0x28f, 0x2cb, 0x28f, 0x2cb, 0xad, 0x121, 0xad, 0x121, -0xad, 0x121, 0xff37, 0xffe6, 0xff37, 0xffe6, 0xfda0, 0xfe8c, 0xfda0, 0xfe8c, 0xfa72, -0xfb9a, 0xfa72, 0xfb9a, 0xf879, 0xf9dd, 0xf879, 0xf9dd, 0xf7c6, 0xf963, 0xf7c6, 0xf963, -0xf7c6, 0xf963, 0xf621, 0xf7f3, 0xf621, 0xf7f3, 0xf4c9, 0xf6cb, 0xf4c9, 0xf6cb, 0xf409, -0xf634, 0xf409, 0xf634, 0xf196, 0xf3e2, 0xf196, 0xf3e2, 0xf080, 0xf2e6, 0xf080, 0xf2e6, -0xf0b9, 0xf32f, 0xf0b9, 0xf32f, 0xf0b9, 0xf32f, 0xef55, 0xf1d0, 0xef55, 0xf1d0, 0xef05, -0xf17c, 0xef05, 0xf17c, 0xef12, 0xf17c, 0xef12, 0xf17c, 0xee3a, 0xf08e, 0xee3a, 0xf08e, -0xee9c, 0xf0d0, 0xee9c, 0xf0d0, 0xee9c, 0xf0d0, 0xf014, 0xf221, 0xf014, 0xf221, 0xf063, -0xf242, 0xf063, 0xf242, 0xf0fa, 0xf2a5, 0xf0fa, 0xf2a5, 0xf2b4, 0xf426, 0xf2b4, 0xf426, -0xf396, 0xf4cd, 0xf396, 0xf4cd, 0xf457, 0xf550, 0xf457, 0xf550, 0xf457, 0xf550, 0xf4b4, -0xf56e, 0xf4b4, 0xf56e, 0xf542, 0xf5bf, 0xf542, 0xf5bf, 0xf7a0, 0xf7e2, 0xf7a0, 0xf7e2, -0xf9e2, 0xf9ec, 0xf9e2, 0xf9ec, 0xfab4, 0xfa89, 0xfab4, 0xfa89, 0xfb2c, 0xfad2, 0xfb2c, -0xfad2, 0xfb2c, 0xfad2, 0xfae3, 0xfa60, 0xfae3, 0xfa60, 0xfb1d, 0xfa75, 0xfb1d, 0xfa75, -0xfc8d, 0xfbc6, 0xfc8d, 0xfbc6, 0xfcd4, 0xfbf5, 0xfcd4, 0xfbf5, 0xfd2b, 0xfc38, 0xfd2b, -0xfc38, 0xfd2b, 0xfc38, 0xfeb5, 0xfdb3, 0xfeb5, 0xfdb3, 0x35, 0xff29, 0x35, 0xff29, -0x128, 0x16, 0x128, 0x16, 0x240, 0x129, 0x240, 0x129, 0x28b, 0x171, 0x28b, -0x171, 0x209, 0xed, 0x209, 0xed, 0x209, 0xed, 0x2e4, 0x1c6, 0x2e4, 0x1c6, -0x3ce, 0x2ac, 0x3ce, 0x2ac, 0x468, 0x341, 0x468, 0x341, 0x53b, 0x40c, 0x53b, -0x40c, 0x5ac, 0x471, 0x5ac, 0x471, 0x673, 0x52a, 0x673, 0x52a, 0x673, 0x52a, -0x7b2, 0x657, 0x7b2, 0x657, 0x870, 0x6fe, 0x870, 0x6fe, 0x8e5, 0x75a, 0x8e5, -0x75a, 0xa06, 0x85e, 0xa06, 0x85e, 0xbbd, 0x9f7, 0xbbd, 0x9f7, 0xbbd, 0x9f7, -0xd83, 0xb9c, 0xd83, 0xb9c, 0xe9b, 0xc92, 0xe9b, 0xc92, 0xe88, 0xc5e, 0xe88, -0xc5e, 0xeef, 0xca5, 0xeef, 0xca5, 0x1121, 0xeb9, 0x1121, 0xeb9, 0x128b, 0x1009, -0x128b, 0x1009, 0x128b, 0x1009, 0x1327, 0x108f, 0x1327, 0x108f, 0x13a9, 0x10ff, 0x13a9, -0x10ff, 0x1373, 0x10be, 0x1373, 0x10be, 0x1420, 0x1166, 0x1420, 0x1166, 0x14c9, 0x1211, -0x14c9, 0x1211, 0x1460, 0x11b1, 0x1460, 0x11b1, 0x1460, 0x11b1, 0x13b8, 0x111a, 0x13b8, -0x111a, 0x13a1, 0x111a, 0x13a1, 0x111a, 0x12dc, 0x1073, 0x12dc, 0x1073, 0x11e4, 0xfa0, -0x11e4, 0xfa0, 0x11c0, 0xfa5, 0x11c0, 0xfa5, 0x11c0, 0xfa5, 0x1044, 0xe57, 0x1044, -0xe57, 0xf26, 0xd69, 0xf26, 0xd69, 0xf48, 0xdbd, 0xf48, 0xdbd, 0xf3e, 0xde6, -0xf3e, 0xde6, 0xf34, 0xe0e, 0xf34, 0xe0e, 0xeba, 0xdc5, 0xeba, 0xdc5, 0xeba, -0xdc5, 0xde7, 0xd20, 0xde7, 0xd20, 0xd1b, 0xc7c, 0xd1b, 0xc7c, 0xbf1, 0xb77, -0xbf1, 0xb77, 0xa78, 0xa1b, 0xa78, 0xa1b, 0x913, 0x8cd, 0x913, 0x8cd, 0x83d, -0x807, 0x83d, 0x807, 0x83d, 0x807, 0x86a, 0x83c, 0x86a, 0x83c, 0x7f1, 0x7c4, -0x7f1, 0x7c4, 0x60b, 0x5d7, 0x60b, 0x5d7, 0x4bc, 0x47a, 0x4bc, 0x47a, 0x4e9, -0x492, 0x4e9, 0x492, 0x4e9, 0x492, 0x4f3, 0x482, 0x4f3, 0x482, 0x55d, 0x4cd, -0x55d, 0x4cd, 0x688, 0x5d5, 0x688, 0x5d5, 0x66b, 0x592, 0x66b, 0x592, 0x6c4, -0x5c3, 0x6c4, 0x5c3, 0x89e, 0x775, 0x89e, 0x775, 0x89e, 0x775, 0xa52, 0x901, -0xa52, 0x901, 0xb36, 0x9bf, 0xb36, 0x9bf, 0xbfc, 0xa61, 0xbfc, 0xa61, 0xcde, -0xb23, 0xcde, 0xb23, 0xd59, 0xb81, 0xd59, 0xb81, 0xda2, 0xbb4, 0xda2, 0xbb4, -0xda2, 0xbb4, 0xd8a, 0xb89, 0xd8a, 0xb89, 0xd75, 0xb67, 0xd75, 0xb67, 0xdd2, -0xbbd, 0xdd2, 0xbbd, 0xf0e, 0xcf6, 0xf0e, 0xcf6, 0xfae, 0xd99, 0xfae, 0xd99, -0xfae, 0xd99, 0xf35, 0xd28, 0xf35, 0xd28, 0xf0c, 0xd0b, 0xf0c, 0xd0b, 0xe53, -0xc62, 0xe53, 0xc62, 0xd0e, 0xb2f, 0xd0e, 0xb2f, 0xc19, 0xa50, 0xc19, 0xa50, -0xb53, 0x9a1, 0xb53, 0x9a1, 0xb53, 0x9a1, 0xa1d, 0x882, 0xa1d, 0x882, 0xa0a, -0x887, 0xa0a, 0x887, 0xaaf, 0x943, 0xaaf, 0x943, 0xa22, 0x8cd, 0xa22, 0x8cd, -0x94e, 0x80e, 0x94e, 0x80e, 0x824, 0x6f7, 0x824, 0x6f7, 0x824, 0x6f7, 0x75e, -0x643, 0x75e, 0x643, 0x75d, 0x651, 0x75d, 0x651, 0x7af, 0x6af, 0x7af, 0x6af, -0x82b, 0x735, 0x82b, 0x735, 0x83b, 0x74e, 0x83b, 0x74e, 0x83b, 0x74e, 0x7d9, -0x6f2, 0x7d9, 0x6f2, 0x735, 0x654, 0x735, 0x654, 0x6ac, 0x5cf, 0x6ac, 0x5cf, -0x5b1, 0x4d8, 0x5b1, 0x4d8, 0x4fd, 0x428, 0x4fd, 0x428, 0x573, 0x4a3, 0x573, -0x4a3, 0x573, 0x4a3, 0x566, 0x49c, 0x566, 0x49c, 0x4a6, 0x3e4, 0x4a6, 0x3e4, -0x383, 0x2cc, 0x383, 0x2cc, 0x215, 0x16a, 0x215, 0x16a, 0x203, 0x169, 0x203, -0x169, 0x208, 0x182, 0x208, 0x182, 0x208, 0x182, 0xa4, 0x36, 0xa4, 0x36, -0xfecc, 0xfe79, 0xfecc, 0xfe79, 0xfd3e, 0xfd0b, 0xfd3e, 0xfd0b, 0xfbb5, 0xfba6, 0xfbb5, -0xfba6, 0xfa21, 0xfa3a, 0xfa21, 0xfa3a, 0xfa21, 0xfa3a, 0xf94d, 0xf990, 0xf94d, 0xf990, -0xf7d6, 0xf848, 0xf7d6, 0xf848, 0xf655, 0xf6f8, 0xf655, 0xf6f8, 0xf594, 0xf66a, 0xf594, -0xf66a, 0xf4af, 0xf5ba, 0xf4af, 0xf5ba, 0xf36f, 0xf4b0, 0xf36f, 0xf4b0, 0xf36f, 0xf4b0, -0xf13a, 0xf2b2, 0xf13a, 0xf2b2, 0xefb4, 0xf163, 0xefb4, 0xf163, 0xef18, 0xf0fd, 0xef18, -0xf0fd, 0xee0a, 0xf024, 0xee0a, 0xf024, 0xecb6, 0xef04, 0xecb6, 0xef04, 0xec23, 0xeea1, -0xec23, 0xeea1, 0xec23, 0xeea1, 0xeb33, 0xedde, 0xeb33, 0xedde, 0xe99b, 0xec70, 0xe99b, -0xec70, 0xe91f, 0xec1b, 0xe91f, 0xec1b, 0xe79d, 0xeabb, 0xe79d, 0xeabb, 0xe5aa, 0xe8e5, -0xe5aa, 0xe8e5, 0xe5aa, 0xe8e5, 0xe591, 0xe8e5, 0xe591, 0xe8e5, 0xe55d, 0xe8c6, 0xe55d, -0xe8c6, 0xe3f3, 0xe76c, 0xe3f3, 0xe76c, 0xe33b, 0xe6bf, 0xe33b, 0xe6bf, 0xe32e, 0xe6b7, -0xe32e, 0xe6b7, 0xe2ea, 0xe675, 0xe2ea, 0xe675, 0xe2ea, 0xe675, 0xe3eb, 0xe775, 0xe3eb, -0xe775, 0xe56d, 0xe8f0, 0xe56d, 0xe8f0, 0xe63e, 0xe9b7, 0xe63e, 0xe9b7, 0xe684, 0xe9f0, -0xe684, 0xe9f0, 0xe6cc, 0xea27, 0xe6cc, 0xea27, 0xe6cc, 0xea27, 0xe79a, 0xeae1, 0xe79a, -0xeae1, 0xe85b, 0xeb8b, 0xe85b, 0xeb8b, 0xe8ba, 0xebd2, 0xe8ba, 0xebd2, 0xe9b8, 0xecb5, -0xe9b8, 0xecb5, 0xeb79, 0xee59, 0xeb79, 0xee59, 0xecdc, 0xef9d, 0xecdc, 0xef9d, 0xecdc, -0xef9d, 0xee74, 0xf114, 0xee74, 0xf114, 0xeee6, 0xf166, 0xeee6, 0xf166, 0xee27, 0xf084, -0xee27, 0xf084, 0xeeb0, 0xf0ea, 0xeeb0, 0xf0ea, 0xef41, 0xf158, 0xef41, 0xf158, 0xef64, -0xf158, 0xef64, 0xf158, 0xef64, 0xf158, 0xf079, 0xf24a, 0xf079, 0xf24a, 0xf192, 0xf341, -0xf192, 0xf341, 0xf1f4, 0xf381, 0xf1f4, 0xf381, 0xf2ff, 0xf46c, 0xf2ff, 0xf46c, 0xf488, -0xf5d7, 0xf488, 0xf5d7, 0xf488, 0xf5d7, 0xf515, 0xf647, 0xf515, 0xf647, 0xf52d, 0xf645, -0xf52d, 0xf645, 0xf5df, 0xf6e0, 0xf5df, 0xf6e0, 0xf700, 0xf7ee, 0xf700, 0xf7ee, 0xf81d, -0xf8fb, 0xf81d, 0xf8fb, 0xf858, 0xf92a, 0xf858, 0xf92a, 0xf858, 0xf92a, 0xf80a, 0xf8d4, -0xf80a, 0xf8d4, 0xf840, 0xf906, 0xf840, 0xf906, 0xf8e7, 0xf9ae, 0xf8e7, 0xf9ae, 0xfa94, -0xfb61, 0xfa94, 0xfb61, 0xfbf6, 0xfccd, 0xfbf6, 0xfccd, 0xfba6, 0xfc8c, 0xfba6, 0xfc8c, -0xfba6, 0xfc8c, 0xfab5, 0xfbae, 0xfab5, 0xfbae, 0xfa40, 0xfb52, 0xfa40, 0xfb52, 0xf97b, -0xfaa8, 0xf97b, 0xfaa8, 0xf7d2, 0xf91d, 0xf7d2, 0xf91d, 0xf719, 0xf886, 0xf719, 0xf886, -0xf719, 0xf886, 0xf6ef, 0xf87f, 0xf6ef, 0xf87f, 0xf618, 0xf7cc, 0xf618, 0xf7cc, 0xf432, -0xf60b, 0xf432, 0xf60b, 0xf1b8, 0xf3b6, 0xf1b8, 0xf3b6, 0xefcc, 0xf1ed, 0xefcc, 0xf1ed, -0xeebf, 0xf101, 0xeebf, 0xf101, 0xeebf, 0xf101, 0xee1e, 0xf07f, 0xee1e, 0xf07f, 0xed15, -0xef91, 0xed15, 0xef91, 0xecc7, 0xef59, 0xecc7, 0xef59, 0xecb3, 0xef57, 0xecb3, 0xef57, -0xec05, 0xeeb4, 0xec05, 0xeeb4, 0xebc0, 0xee76, 0xebc0, 0xee76, 0xebc0, 0xee76, 0xeb63, -0xee19, 0xeb63, 0xee19, 0xea97, 0xed46, 0xea97, 0xed46, 0xe9b5, 0xec58, 0xe9b5, 0xec58, -0xe8f9, 0xeb89, 0xe8f9, 0xeb89, 0xe90b, 0xeb82, 0xe90b, 0xeb82, 0xe90b, 0xeb82, 0xe9a6, -0xebff, 0xe9a6, 0xebff, 0xe9f4, 0xec2a, 0xe9f4, 0xec2a, 0xeb24, 0xed33, 0xeb24, 0xed33, -0xec9f, 0xee83, 0xec9f, 0xee83, 0xed95, 0xef4a, 0xed95, 0xef4a, 0xefbf, 0xf144, 0xefbf, -0xf144, 0xefbf, 0xf144, 0xf219, 0xf36c, 0xf219, 0xf36c, 0xf326, 0xf447, 0xf326, 0xf447, -0xf48c, 0xf579, 0xf48c, 0xf579, 0xf6b2, 0xf76d, 0xf6b2, 0xf76d, 0xf81d, 0xf8a7, 0xf81d, -0xf8a7, 0xfa2c, 0xfa87, 0xfa2c, 0xfa87, 0xfa2c, 0xfa87, 0xfcd3, 0xfd00, 0xfcd3, 0xfd00, -0xfe13, 0xfe14, 0xfe13, 0xfe14, 0xff11, 0xfee8, 0xff11, 0xfee8, 0x1e, 0xffcd, 0x1e, -0xffcd, 0x89, 0x12, 0x89, 0x12, 0x89, 0x12, 0x166, 0xca, 0x166, 0xca, -0x2ca, 0x20a, 0x2ca, 0x20a, 0x499, 0x3b6, 0x499, 0x3b6, 0x74b, 0x644, 0x74b, -0x644, 0x947, 0x81c, 0x947, 0x81c, 0xb0b, 0x9bb, 0xb0b, 0x9bb, 0xb0b, 0x9bb, -0xcf2, 0xb7c, 0xcf2, 0xb7c, 0xdc1, 0xc23, 0xdc1, 0xc23, 0xeb9, 0xcf0, 0xeb9, -0xcf0, 0xfca, 0xdd5, 0xfca, 0xdd5, 0x10d8, 0xeb5, 0x10d8, 0xeb5, 0x126a, 0x1016, -0x126a, 0x1016, 0x126a, 0x1016, 0x1468, 0x11e1, 0x1468, 0x11e1, 0x1651, 0x1395, 0x1651, -0x1395, 0x17d7, 0x14e6, 0x17d7, 0x14e6, 0x19a7, 0x1681, 0x19a7, 0x1681, 0x1b4c, 0x17f1, -0x1b4c, 0x17f1, 0x1b4c, 0x17f1, 0x1ccc, 0x193f, 0x1ccc, 0x193f, 0x1e71, 0x1ab5, 0x1e71, -0x1ab5, 0x1f8c, 0x1ba5, 0x1f8c, 0x1ba5, 0x2019, 0x1c0c, 0x2019, 0x1c0c, 0x20e2, 0x1cb5, -0x20e2, 0x1cb5, 0x21c8, 0x1d84, 0x21c8, 0x1d84, 0x21c8, 0x1d84, 0x2219, 0x1dc6, 0x2219, -0x1dc6, 0x2244, 0x1dec, 0x2244, 0x1dec, 0x2351, 0x1efe, 0x2351, 0x1efe, 0x247f, 0x203c, -0x247f, 0x203c, 0x240c, 0x1fe3, 0x240c, 0x1fe3, 0x22a6, 0x1ea4, 0x22a6, 0x1ea4, 0x22a6, -0x1ea4, 0x2160, 0x1d8f, 0x2160, 0x1d8f, 0x2023, 0x1c8e, 0x2023, 0x1c8e, 0x1ec5, 0x1b76, -0x1ec5, 0x1b76, 0x1d8f, 0x1a8e, 0x1d8f, 0x1a8e, 0x1c59, 0x19af, 0x1c59, 0x19af, 0x1c59, -0x19af, 0x19f2, 0x17a5, 0x19f2, 0x17a5, 0x1728, 0x153d, 0x1728, 0x153d, 0x1555, 0x13cf, -0x1555, 0x13cf, 0x12bf, 0x11a0, 0x12bf, 0x11a0, 0xf38, 0xe7f, 0xf38, 0xe7f, 0xd2e, -0xcda, 0xd2e, 0xcda, 0xd2e, 0xcda, 0xb3b, 0xb48, 0xb3b, 0xb48, 0x836, 0x89f, -0x836, 0x89f, 0x5b1, 0x66f, 0x5b1, 0x66f, 0x34b, 0x456, 0x34b, 0x456, 0xdc, -0x22c, 0xdc, 0x22c, 0xfedb, 0x65, 0xfedb, 0x65, 0xfedb, 0x65, 0xfcf0, 0xfeaa, -0xfcf0, 0xfeaa, 0xfb65, 0xfd45, 0xfb65, 0xfd45, 0xfa20, 0xfc1c, 0xfa20, 0xfc1c, 0xf7f7, -0xfa04, 0xf7f7, 0xfa04, 0xf582, 0xf797, 0xf582, 0xf797, 0xf582, 0xf797, 0xf3f6, 0xf60a, -0xf3f6, 0xf60a, 0xf307, 0xf513, 0xf307, 0xf513, 0xf1e1, 0xf3de, 0xf1e1, 0xf3de, 0xf110, -0xf2f9, 0xf110, 0xf2f9, 0xf11b, 0xf2ed, 0xf11b, 0xf2ed, 0xf0f7, 0xf2af, 0xf0f7, 0xf2af, -0xf0f7, 0xf2af, 0xf0f3, 0xf291, 0xf0f3, 0xf291, 0xf107, 0xf28a, 0xf107, 0xf28a, 0xf167, -0xf2d2, 0xf167, 0xf2d2, 0xf1f4, 0xf349, 0xf1f4, 0xf349, 0xf227, 0xf36b, 0xf227, 0xf36b, -0xf339, 0xf46f, 0xf339, 0xf46f, 0xf339, 0xf46f, 0xf41a, 0xf548, 0xf41a, 0xf548, 0xf437, -0xf561, 0xf437, 0xf561, 0xf418, 0xf543, 0xf418, 0xf543, 0xf393, 0xf4c4, 0xf393, 0xf4c4, -0xf343, 0xf47d, 0xf343, 0xf47d, 0xf343, 0xf47d, 0xf337, 0xf47e, 0xf337, 0xf47e, 0xf331, -0xf487, 0xf331, 0xf487, 0xf28d, 0xf3f1, 0xf28d, 0xf3f1, 0xf16f, 0xf2e3, 0xf16f, 0xf2e3, -0xf100, 0xf281, 0xf100, 0xf281, 0xf06f, 0xf1fa, 0xf06f, 0xf1fa, 0xf06f, 0xf1fa, 0xef93, -0xf123, 0xef93, 0xf123, 0xefe3, 0xf173, 0xefe3, 0xf173, 0xf003, 0xf18d, 0xf003, 0xf18d, -0xf03a, 0xf1b6, 0xf03a, 0xf1b6, 0xf1cb, 0xf332, 0xf1cb, 0xf332, 0xf1cb, 0xf332, 0xf2a9, -0xf3f1, 0xf2a9, 0xf3f1, 0xf365, 0xf486, 0xf365, 0xf486, 0xf520, 0xf611, 0xf520, 0xf611, -0xf6c5, 0xf77f, 0xf6c5, 0xf77f, 0xf8ae, 0xf929, 0xf8ae, 0xf929, 0xfb6a, 0xfba0, 0xfb6a, -0xfba0, 0xfb6a, 0xfba0, 0xfe56, 0xfe42, 0xfe56, 0xfe42, 0xf1, 0x8e, 0xf1, 0x8e, -0x305, 0x252, 0x305, 0x252, 0x45e, 0x359, 0x45e, 0x359, 0x5c8, 0x474, 0x5c8, -0x474, 0x7dd, 0x63c, 0x7dd, 0x63c, 0x7dd, 0x63c, 0x9d2, 0x7e9, 0x9d2, 0x7e9, -0xbfa, 0x9cf, 0xbfa, 0x9cf, 0xde2, 0xb7c, 0xde2, 0xb7c, 0xe23, 0xb8c, 0xe23, -0xb8c, 0xeb8, 0xbfa, 0xeb8, 0xbfa, 0xeb8, 0xbfa, 0xfad, 0xcd3, 0xfad, 0xcd3, -0xf36, 0xc4b, 0xf36, 0xc4b, 0xf18, 0xc29, 0xf18, 0xc29, 0xf72, 0xc89, 0xf72, -0xc89, 0xec5, 0xbef, 0xec5, 0xbef, 0xe5a, 0xba1, 0xe5a, 0xba1, 0xe5a, 0xba1, -0xe27, 0xb93, 0xe27, 0xb93, 0xd13, 0xaaf, 0xd13, 0xaaf, 0xc77, 0xa4a, 0xc77, -0xa4a, 0xc00, 0xa0e, 0xc00, 0xa0e, 0xb4a, 0x999, 0xb4a, 0x999, 0xadb, 0x96c, -0xadb, 0x96c, 0xadb, 0x96c, 0xa49, 0x91e, 0xa49, 0x91e, 0x99f, 0x8b7, 0x99f, -0x8b7, 0x899, 0x7f0, 0x899, 0x7f0, 0x7c7, 0x75b, 0x7c7, 0x75b, 0x6cc, 0x698, -0x6cc, 0x698, 0x6cc, 0x698, 0x606, 0x603, 0x606, 0x603, 0x5d3, 0x5fa, 0x5d3, -0x5fa, 0x494, 0x4df, 0x494, 0x4df, 0x338, 0x39e, 0x338, 0x39e, 0x20e, 0x288, -0x20e, 0x288, 0xba, 0x141, 0xba, 0x141, 0xba, 0x141, 0xffab, 0x38, 0xffab, -0x38, 0xfea1, 0xff2d, 0xfea1, 0xff2d, 0xfe91, 0xff16, 0xfe91, 0xff16, 0xff55, 0xffd0, -0xff55, 0xffd0, 0xff44, 0xffb0, 0xff44, 0xffb0, 0xff2c, 0xff87, 0xff2c, 0xff87, 0xff2c, -0xff87, 0xfff5, 0x3e, 0xfff5, 0x3e, 0x3e, 0x74, 0x3e, 0x74, 0x28, 0x4c, -0x28, 0x4c, 0x150, 0x164, 0x150, 0x164, 0x267, 0x26c, 0x267, 0x26c, 0x267, -0x26c, 0x226, 0x21e, 0x226, 0x21e, 0x310, 0x2ff, 0x310, 0x2ff, 0x449, 0x431, -0x449, 0x431, 0x404, 0x3e8, 0x404, 0x3e8, 0x4fc, 0x4df, 0x4fc, 0x4df, 0x655, -0x639, 0x655, 0x639, 0x655, 0x639, 0x6b4, 0x69b, 0x6b4, 0x69b, 0x87a, 0x863, -0x87a, 0x863, 0x9e0, 0x9ca, 0x9e0, 0x9ca, 0x94b, 0x936, 0x94b, 0x936, 0x93d, -0x926, 0x93d, 0x926, 0x970, 0x954, 0x970, 0x954, 0x970, 0x954, 0x964, 0x93d, -0x964, 0x93d, 0x979, 0x943, 0x979, 0x943, 0x9a7, 0x95d, 0x9a7, 0x95d, 0xa9b, -0xa35, 0xa9b, 0xa35, 0xb24, 0xa9c, 0xb24, 0xa9c, 0xb24, 0xa9c, 0xb3b, 0xa89, -0xb3b, 0xa89, 0xc56, 0xb75, 0xc56, 0xb75, 0xda2, 0xc8b, 0xda2, 0xc8b, 0xe53, -0xd00, 0xe53, 0xd00, 0x1004, 0xe70, 0x1004, 0xe70, 0x1253, 0x107b, 0x1253, 0x107b, -0x1253, 0x107b, 0x1398, 0x1178, 0x1398, 0x1178, 0x1577, 0x130f, 0x1577, 0x130f, 0x17b9, -0x150a, 0x17b9, 0x150a, 0x186a, 0x1575, 0x186a, 0x1575, 0x1964, 0x162c, 0x1964, 0x162c, -0x1bb3, 0x183f, 0x1bb3, 0x183f, 0x1bb3, 0x183f, 0x1cf3, 0x1948, 0x1cf3, 0x1948, 0x1dc4, -0x19eb, 0x1dc4, 0x19eb, 0x1eb8, 0x1aba, 0x1eb8, 0x1aba, 0x1eb8, 0x1a9f, 0x1eb8, 0x1a9f, -0x1f23, 0x1afb, 0x1f23, 0x1afb, 0x1f23, 0x1afb, 0x1f69, 0x1b3e, 0x1f69, 0x1b3e, 0x1f16, -0x1af4, 0x1f16, 0x1af4, 0x1e4e, 0x1a40, 0x1e4e, 0x1a40, 0x1ce3, 0x18f6, 0x1ce3, 0x18f6, -0x1b9a, 0x17d9, 0x1b9a, 0x17d9, 0x1964, 0x15d9, 0x1964, 0x15d9, 0x1964, 0x15d9, 0x16e3, -0x1398, 0x16e3, 0x1398, 0x1526, 0x1224, 0x1526, 0x1224, 0x1337, 0x1084, 0x1337, 0x1084, -0x1153, 0xef5, 0x1153, 0xef5, 0xfcd, 0xdc8, 0xfcd, 0xdc8, 0xe8d, 0xce2, 0xe8d, -0xce2, 0xe8d, 0xce2, 0xcf5, 0xba6, 0xcf5, 0xba6, 0xa75, 0x980, 0xa75, 0x980, -0x826, 0x788, 0x826, 0x788, 0x5a1, 0x557, 0x5a1, 0x557, 0x293, 0x296, 0x293, -0x296, 0x293, 0x296, 0x92, 0xdd, 0x92, 0xdd, 0xff3f, 0xffca, 0xff3f, 0xffca, -0xfd2b, 0xfdef, 0xfd2b, 0xfdef, 0xfac0, 0xfbb4, 0xfac0, 0xfbb4, 0xf8ec, 0xfa07, 0xf8ec, -0xfa07, 0xf703, 0xf83d, 0xf703, 0xf83d, 0xf703, 0xf83d, 0xf562, 0xf6b3, 0xf562, 0xf6b3, -0xf44f, 0xf5af, 0xf44f, 0xf5af, 0xf27a, 0xf3e2, 0xf27a, 0xf3e2, 0xf0d7, 0xf241, 0xf0d7, -0xf241, 0xf069, 0xf1cf, 0xf069, 0xf1cf, 0xefc3, 0xf121, 0xefc3, 0xf121, 0xefc3, 0xf121, -0xef40, 0xf093, 0xef40, 0xf093, 0xf004, 0xf149, 0xf004, 0xf149, 0xf082, 0xf1b9, 0xf082, -0xf1b9, 0xf0cc, 0xf1f4, 0xf0cc, 0xf1f4, 0xf0fc, 0xf216, 0xf0fc, 0xf216, 0xf0fc, 0xf216, -0xf08f, 0xf19c, 0xf08f, 0xf19c, 0xf051, 0xf153, 0xf051, 0xf153, 0xefeb, 0xf0e5, 0xefeb, -0xf0e5, 0xf042, 0xf136, 0xf042, 0xf136, 0xf131, 0xf224, 0xf131, 0xf224, 0xf19f, 0xf292, -0xf19f, 0xf292, 0xf19f, 0xf292, 0xf264, 0xf35b, 0xf264, 0xf35b, 0xf2e0, 0xf3dd, 0xf2e0, -0xf3dd, 0xf1c5, 0xf2cc, 0xf1c5, 0xf2cc, 0xf0c6, 0xf1d7, 0xf0c6, 0xf1d7, 0xf0d2, 0xf1ef, -0xf0d2, 0xf1ef, 0xf034, 0xf15e, 0xf034, 0xf15e, 0xf034, 0xf15e, 0xeffb, 0xf132, 0xeffb, -0xf132, 0xf163, 0xf2a6, 0xf163, 0xf2a6, 0xf2de, 0xf42c, 0xf2de, 0xf42c, 0xf3b3, 0xf50a, -0xf3b3, 0xf50a, 0xf503, 0xf661, 0xf503, 0xf661, 0xf503, 0xf661, 0xf665, 0xf7c8, 0xf665, -0xf7c8, 0xf699, 0xf7fd, 0xf699, 0xf7fd, 0xf708, 0xf86b, 0xf708, 0xf86b, 0xf7a9, 0xf908, -0xf7a9, 0xf908, 0xf779, 0xf8d0, 0xf779, 0xf8d0, 0xf7ae, 0xf8fb, 0xf7ae, 0xf8fb, 0xf7ae, -0xf8fb, 0xf856, 0xf996, 0xf856, 0xf996, 0xf889, 0xf9bb, 0xf889, 0xf9bb, 0xf890, 0xf9b3, -0xf890, 0xf9b3, 0xf914, 0xfa27, 0xf914, 0xfa27, 0xfa25, 0xfb28, 0xfa25, 0xfb28, 0xfa25, -0xfb28, 0xfad6, 0xfbc9, 0xfad6, 0xfbc9, 0xfb41, 0xfc26, 0xfb41, 0xfc26, 0xfb4a, 0xfc24, -0xfb4a, 0xfc24, 0xfa9b, 0xfb6c, 0xfa9b, 0xfb6c, 0xfa98, 0xfb63, 0xfa98, 0xfb63, 0xfad2, -0xfb9b, 0xfad2, 0xfb9b, 0xfad2, 0xfb9b, 0xfaf9, 0xfbc4, 0xfaf9, 0xfbc4, 0xfade, 0xfbb1, -0xfade, 0xfbb1, 0xfa35, 0xfb14, 0xfa35, 0xfb14, 0xf9dc, 0xfacb, 0xf9dc, 0xfacb, 0xf901, -0xfa05, 0xf901, 0xfa05, 0xf7e0, 0xf8fd, 0xf7e0, 0xf8fd, 0xf7e0, 0xf8fd, 0xf719, 0xf854, -0xf719, 0xf854, 0xf5b5, 0xf711, 0xf5b5, 0xf711, 0xf480, 0xf600, 0xf480, 0xf600, 0xf497, -0xf63d, 0xf497, 0xf63d, 0xf445, 0xf613, 0xf445, 0xf613, 0xf445, 0xf613, 0xf327, 0xf51e, -0xf327, 0xf51e, 0xf22a, 0xf44a, 0xf22a, 0xf44a, 0xf113, 0xf35c, 0xf113, 0xf35c, 0xf028, -0xf297, 0xf028, 0xf297, 0xef25, 0xf1ba, 0xef25, 0xf1ba, 0xedd6, 0xf08d, 0xedd6, 0xf08d, -0xedd6, 0xf08d, 0xec5e, 0xef34, 0xec5e, 0xef34, 0xeb2a, 0xee1c, 0xeb2a, 0xee1c, 0xe9b5, -0xecbf, 0xe9b5, 0xecbf, 0xe86a, 0xeb87, 0xe86a, 0xeb87, 0xe812, 0xeb3e, 0xe812, 0xeb3e, -0xe6eb, 0xea22, 0xe6eb, 0xea22, 0xe6eb, 0xea22, 0xe5f6, 0xe934, 0xe5f6, 0xe934, 0xe5c3, -0xe903, 0xe5c3, 0xe903, 0xe4d9, 0xe819, 0xe4d9, 0xe819, 0xe3ee, 0xe72a, 0xe3ee, 0xe72a, -0xe399, 0xe6cf, 0xe399, 0xe6cf, 0xe399, 0xe6cf, 0xe3b1, 0xe6dd, 0xe3b1, 0xe6dd, 0xe439, -0xe759, 0xe439, 0xe759, 0xe4f1, 0xe805, 0xe4f1, 0xe805, 0xe546, 0xe84b, 0xe546, 0xe84b, -0xe4ec, 0xe7e3, 0xe4ec, 0xe7e3, 0xe3b7, 0xe69e, 0xe3b7, 0xe69e, 0xe3b7, 0xe69e, 0xe24b, -0xe523, 0xe24b, 0xe523, 0xe1ef, 0xe4b6, 0xe1ef, 0xe4b6, 0xe24b, 0xe503, 0xe24b, 0xe503, -0xe26d, 0xe515, 0xe26d, 0xe515, 0xe327, 0xe5bf, 0xe327, 0xe5bf, 0xe422, 0xe6a9, 0xe422, -0xe6a9, 0xe422, 0xe6a9, 0xe45c, 0xe6d2, 0xe45c, 0xe6d2, 0xe49d, 0xe700, 0xe49d, 0xe700, -0xe509, 0xe759, 0xe509, 0xe759, 0xe4f2, 0xe72c, 0xe4f2, 0xe72c, 0xe4dc, 0xe6fe, 0xe4dc, -0xe6fe, 0xe4dc, 0xe6fe, 0xe5bb, 0xe7c2, 0xe5bb, 0xe7c2, 0xe641, 0xe82b, 0xe641, 0xe82b, -0xe772, 0xe93a, 0xe772, 0xe93a, 0xe9e3, 0xeb86, 0xe9e3, 0xeb86, 0xebf3, 0xed6d, 0xebf3, -0xed6d, 0xee69, 0xefb7, 0xee69, 0xefb7, 0xee69, 0xefb7, 0xf097, 0xf1b4, 0xf097, 0xf1b4, -0xf33e, 0xf428, 0xf33e, 0xf428, 0xf6e0, 0xf792, 0xf6e0, 0xf792, 0xfa11, 0xfa88, 0xfa11, -0xfa88, 0xfceb, 0xfd26, 0xfceb, 0xfd26, 0xff69, 0xff66, 0xff69, 0xff66, 0xff69, 0xff66, -0x19b, 0x157, 0x19b, 0x157, 0x3e7, 0x363, 0x3e7, 0x363, 0x704, 0x640, 0x704, -0x640, 0x9b8, 0x8b5, 0x9b8, 0x8b5, 0xb82, 0xa43, 0xb82, 0xa43, 0xb82, 0xa43, -0xd30, 0xbb7, 0xd30, 0xbb7, 0xde0, 0xc31, 0xde0, 0xc31, 0xded, 0xc0c, 0xded, -0xc0c, 0xe79, 0xc6b, 0xe79, 0xc6b, 0xe7c, 0xc45, 0xe7c, 0xc45, 0xe6b, 0xc13, -0xe6b, 0xc13, 0xe6b, 0xc13, 0xfe5, 0xd70, 0xfe5, 0xd70, 0x112a, 0xe9e, 0x112a, -0xe9e, 0x11ea, 0xf4e, 0x11ea, 0xf4e, 0x1297, 0xfef, 0x1297, 0xfef, 0x12a5, 0xff8, -0x12a5, 0xff8, 0x12e4, 0x1035, 0x12e4, 0x1035, 0x12e4, 0x1035, 0x1339, 0x108d, 0x1339, -0x108d, 0x131f, 0x107a, 0x131f, 0x107a, 0x1302, 0x1067, 0x1302, 0x1067, 0x1349, 0x10bb, -0x1349, 0x10bb, 0x1397, 0x1117, 0x1397, 0x1117, 0x1397, 0x1117, 0x1435, 0x11c5, 0x1435, -0x11c5, 0x14f8, 0x1298, 0x14f8, 0x1298, 0x1514, 0x12c5, 0x1514, 0x12c5, 0x14fb, 0x12bc, -0x14fb, 0x12bc, 0x1502, 0x12d2, 0x1502, 0x12d2, 0x1472, 0x1251, 0x1472, 0x1251, 0x1472, -0x1251, 0x133d, 0x112a, 0x133d, 0x112a, 0x121c, 0x1017, 0x121c, 0x1017, 0x116f, 0xf77, -0x116f, 0xf77, 0x115c, 0xf70, 0x115c, 0xf70, 0x1187, 0xfa8, 0x1187, 0xfa8, 0x123f, -0x106d, 0x123f, 0x106d, 0x123f, 0x106d, 0x129c, 0x10d8, 0x129c, 0x10d8, 0x11ae, 0xff9, -0x11ae, 0xff9, 0x108f, 0xeeb, 0x108f, 0xeeb, 0x1034, 0xea4, 0x1034, 0xea4, 0x1048, -0xece, 0x1048, 0xece, 0x1048, 0xece, 0xff6, 0xe95, 0xff6, 0xe95, 0x1049, 0xf05, -0x1049, 0xf05, 0x10c1, 0xf9c, 0x10c1, 0xf9c, 0x1023, 0xf20, 0x1023, 0xf20, 0xef5, -0xe18, 0xef5, 0xe18, 0xdf9, 0xd45, 0xdf9, 0xd45, 0xdf9, 0xd45, 0xd2f, 0xca5, -0xd2f, 0xca5, 0xc5c, 0xbfd, 0xc5c, 0xbfd, 0xc0c, 0xbda, 0xc0c, 0xbda, 0xb17, -0xb11, 0xb17, 0xb11, 0x9be, 0x9e3, 0x9be, 0x9e3, 0x8a8, 0x8f7, 0x8a8, 0x8f7, -0x8a8, 0x8f7, 0x738, 0x7ad, 0x738, 0x7ad, 0x5f7, 0x68e, 0x5f7, 0x68e, 0x469, -0x51e, 0x469, 0x51e, 0x2c6, 0x392, 0x2c6, 0x392, 0x23e, 0x31c, 0x23e, 0x31c, -0x23e, 0x31c, 0x26a, 0x354, 0x26a, 0x354, 0x28b, 0x378, 0x28b, 0x378, 0x2c4, -0x3ae, 0x2c4, 0x3ae, 0x292, 0x372, 0x292, 0x372, 0x238, 0x306, 0x238, 0x306, -0x2a1, 0x358, 0x2a1, 0x358, 0x2a1, 0x358, 0x32e, 0x3c9, 0x32e, 0x3c9, 0x391, -0x40a, 0x391, 0x40a, 0x474, 0x4c9, 0x474, 0x4c9, 0x5b1, 0x5df, 0x5b1, 0x5df, -0x62d, 0x634, 0x62d, 0x634, 0x5cc, 0x5ac, 0x5cc, 0x5ac, 0x5cc, 0x5ac, 0x56b, -0x526, 0x56b, 0x526, 0x609, 0x5a2, 0x609, 0x5a2, 0x791, 0x70e, 0x791, 0x70e, -0x919, 0x87f, 0x919, 0x87f, 0xa01, 0x956, 0xa01, 0x956, 0xa01, 0x956, 0x9d8, -0x925, 0x9d8, 0x925, 0x8e6, 0x833, 0x8e6, 0x833, 0x808, 0x75e, 0x808, 0x75e, -0x72a, 0x692, 0x72a, 0x692, 0x554, 0x4d6, 0x554, 0x4d6, 0x35b, 0x300, 0x35b, -0x300, 0x35b, 0x300, 0x175, 0x143, 0x175, 0x143, 0xff18, 0xff17, 0xff18, 0xff17, -0xfcfc, 0xfd30, 0xfcfc, 0xfd30, 0xfb2c, 0xfb9a, 0xfb2c, 0xfb9a, 0xf949, 0xf9f3, 0xf949, -0xf9f3, 0xf949, 0xf9f3, 0xf735, 0xf81a, 0xf735, 0xf81a, 0xf59e, 0xf6bf, 0xf59e, 0xf6bf, -0xf47c, 0xf5d6, 0xf47c, 0xf5d6, 0xf32b, 0xf4ba, 0xf32b, 0xf4ba, 0xf1db, 0xf399, 0xf1db, -0xf399, 0xf0f5, 0xf2da, 0xf0f5, 0xf2da, 0xf0f5, 0xf2da, 0xefe3, 0xf1e7, 0xefe3, 0xf1e7, -0xeec9, 0xf0e3, 0xeec9, 0xf0e3, 0xeeaf, 0xf0d4, 0xeeaf, 0xf0d4, 0xee6d, 0xf093, 0xee6d, -0xf093, 0xedbb, 0xefd7, 0xedbb, 0xefd7, 0xed6b, 0xef73, 0xed6b, 0xef73, 0xed6b, 0xef73, -0xeda0, 0xef8b, 0xeda0, 0xef8b, 0xedf2, 0xefb6, 0xedf2, 0xefb6, 0xee4c, 0xefe0, 0xee4c, -0xefe0, 0xef5b, 0xf0b9, 0xef5b, 0xf0b9, 0xf0a2, 0xf1c3, 0xf0a2, 0xf1c3, 0xf0a2, 0xf1c3, -0xf1c0, 0xf2a0, 0xf1c0, 0xf2a0, 0xf2be, 0xf35b, 0xf2be, 0xf35b, 0xf3d3, 0xf42c, 0xf3d3, -0xf42c, 0xf4f1, 0xf507, 0xf4f1, 0xf507, 0xf614, 0xf5e7, 0xf614, 0xf5e7, 0xf807, 0xf79c, -0xf807, 0xf79c, 0xf807, 0xf79c, 0xf9b6, 0xf911, 0xf9b6, 0xf911, 0xfa79, 0xf9a0, 0xfa79, -0xf9a0, 0xfb50, 0xfa49, 0xfb50, 0xfa49, 0xfbea, 0xfabd, 0xfbea, 0xfabd, 0xfcc1, 0xfb75, -0xfcc1, 0xfb75, 0xfe2b, 0xfcc7, 0xfe2b, 0xfcc7, 0xfe2b, 0xfcc7, 0xff8e, 0xfe19, 0xff8e, -0xfe19, 0x11e, 0xffa0, 0x11e, 0xffa0, 0x2cb, 0x148, 0x2cb, 0x148, 0x3c1, 0x23e, -0x3c1, 0x23e, 0x340, 0x1c2, 0x340, 0x1c2, 0x340, 0x1c2, 0x339, 0x1c2, 0x339, -0x1c2, 0x3c4, 0x255, 0x3c4, 0x255, 0x39f, 0x23a, 0x39f, 0x23a, 0x42d, 0x2cf, -0x42d, 0x2cf, 0x551, 0x3fa, 0x551, 0x3fa, 0x689, 0x535, 0x689, 0x535, 0x689, -0x535, 0x791, 0x63c, 0x791, 0x63c, 0x8f6, 0x79b, 0x8f6, 0x79b, 0xa09, 0x8a3, -0xa09, 0x8a3, 0xa17, 0x8a1, 0xa17, 0x8a1, 0xa7d, 0x8f2, 0xa7d, 0x8f2, 0xb71, -0x9cc, 0xb71, 0x9cc, 0xb71, 0x9cc, 0xd79, 0xbb7, 0xd79, 0xbb7, 0xf77, 0xd93, -0xf77, 0xd93, 0x1116, 0xf0e, 0x1116, 0xf0e, 0x1299, 0x106c, 0x1299, 0x106c, 0x130c, -0x10ba, 0x130c, 0x10ba, 0x130c, 0x10ba, 0x1400, 0x118c, 0x1400, 0x118c, 0x151e, 0x1289, -0x151e, 0x1289, 0x1510, 0x125e, 0x1510, 0x125e, 0x1581, 0x12b8, 0x1581, 0x12b8, 0x1659, -0x137f, 0x1659, 0x137f, 0x15f2, 0x1310, 0x15f2, 0x1310, 0x15f2, 0x1310, 0x15b8, 0x12d5, -0x15b8, 0x12d5, 0x1659, 0x137e, 0x1659, 0x137e, 0x1646, 0x137c, 0x1646, 0x137c, 0x15f9, -0x134a, 0x15f9, 0x134a, 0x169a, 0x140e, 0x169a, 0x140e, 0x169e, 0x143e, 0x169e, 0x143e, -0x169e, 0x143e, 0x15a2, 0x1376, 0x15a2, 0x1376, 0x1507, 0x1314, 0x1507, 0x1314, 0x1408, -0x1254, 0x1408, 0x1254, 0x12e9, 0x1178, 0x12e9, 0x1178, 0x1233, 0x1107, 0x1233, 0x1107, -0x1233, 0x1107, 0x115f, 0x1077, 0x115f, 0x1077, 0x1015, 0xf71, 0x1015, 0xf71, 0xe13, -0xdb1, 0xe13, 0xdb1, 0xc7d, 0xc57, 0xc7d, 0xc57, 0xba6, 0xbb6, 0xba6, 0xbb6, -0xa01, 0xa3f, 0xa01, 0xa3f, 0xa01, 0xa3f, 0x845, 0x8aa, 0x845, 0x8aa, 0x79f, -0x820, 0x79f, 0x820, 0x665, 0x6f8, 0x665, 0x6f8, 0x513, 0x5af, 0x513, 0x5af, -0x4d3, 0x56c, 0x4d3, 0x56c, 0x48c, 0x518, 0x48c, 0x518, 0x48c, 0x518, 0x3f1, -0x467, 0x3f1, 0x467, 0x45b, 0x4b1, 0x45b, 0x4b1, 0x4dc, 0x50b, 0x4dc, 0x50b, -0x43b, 0x43b, 0x43b, 0x43b, 0x4b6, 0x483, 0x4b6, 0x483, 0x4b6, 0x483, 0x5c4, -0x559, 0x5c4, 0x559, 0x6c2, 0x61d, 0x6c2, 0x61d, 0x85a, 0x77b, 0x85a, 0x77b, -0xa79, 0x960, 0xa79, 0x960, 0xc74, 0xb24, 0xc74, 0xb24, 0xda5, 0xc22, 0xda5, -0xc22, 0xda5, 0xc22, 0xf0a, 0xd58, 0xf0a, 0xd58, 0xf2d, 0xd53, 0xf2d, 0xd53, -0xe4f, 0xc53, 0xe4f, 0xc53, 0xdb2, 0xb9c, 0xdb2, 0xb9c, 0xd8b, 0xb63, 0xd8b, -0xb63, 0xe45, 0xc13, 0xe45, 0xc13, 0xe45, 0xc13, 0xee3, 0xcaf, 0xee3, 0xcaf, -0xf74, 0xd46, 0xf74, 0xd46, 0xf71, 0xd4f, 0xf71, 0xd4f, 0xe7a, 0xc6a, 0xe7a, -0xc6a, 0xd17, 0xb1f, 0xd17, 0xb1f, 0xd17, 0xb1f, 0xb87, 0x9ab, 0xb87, 0x9ab, -0x991, 0x7d4, 0x991, 0x7d4, 0x80f, 0x672, 0x80f, 0x672, 0x80e, 0x693, 0x80e, -0x693, 0x7cb, 0x672, 0x7cb, 0x672, 0x72b, 0x5f1, 0x72b, 0x5f1, 0x72b, 0x5f1, -0x76a, 0x64e, 0x76a, 0x64e, 0x707, 0x605, 0x707, 0x605, 0x634, 0x54a, 0x634, -0x54a, 0x6c9, 0x5f2, 0x6c9, 0x5f2, 0x6a5, 0x5dd, 0x6a5, 0x5dd, 0x5f7, 0x53a, -0x5f7, 0x53a, 0x5f7, 0x53a, 0x647, 0x592, 0x647, 0x592, 0x5ee, 0x53c, 0x5ee, -0x53c, 0x5a5, 0x4f4, 0x5a5, 0x4f4, 0x59a, 0x4e9, 0x59a, 0x4e9, 0x4f0, 0x43d, -0x4f0, 0x43d, 0x4f0, 0x43d, 0x4c8, 0x414, 0x4c8, 0x414, 0x53c, 0x486, 0x53c, -0x486, 0x4f5, 0x441, 0x4f5, 0x441, 0x3e0, 0x330, 0x3e0, 0x330, 0x287, 0x1e0, -0x287, 0x1e0, 0x15c, 0xc2, 0x15c, 0xc2, 0x15c, 0xc2, 0x7c, 0xfff4, 0x7c, -0xfff4, 0xff6a, 0xfefb, 0xff6a, 0xfefb, 0xfe7b, 0xfe2b, 0xfe7b, 0xfe2b, 0xfe4f, 0xfe26, -0xfe4f, 0xfe26, 0xfd84, 0xfd86, 0xfd84, 0xfd86, 0xfb48, 0xfb7e, 0xfb48, 0xfb7e, 0xfb48, -0xfb7e, 0xf9cc, 0xfa3b, 0xf9cc, 0xfa3b, 0xf7dd, 0xf88a, 0xf7dd, 0xf88a, 0xf56b, 0xf65b, -0xf56b, 0xf65b, 0xf473, 0xf5aa, 0xf473, 0xf5aa, 0xf36b, 0xf4ec, 0xf36b, 0xf4ec, 0xf36b, -0xf4ec, 0xf276, 0xf440, 0xf276, 0xf440, 0xf209, 0xf41e, 0xf209, 0xf41e, 0xf1dd, 0xf43c, -0xf1dd, 0xf43c, 0xf0f4, 0xf399, 0xf0f4, 0xf399, 0xefd3, 0xf2bc, 0xefd3, 0xf2bc, 0xeebc, -0xf1e4, 0xeebc, 0xf1e4, 0xeebc, 0xf1e4, 0xec90, 0xeff1, 0xec90, 0xeff1, 0xea62, 0xedf5, -0xea62, 0xedf5, 0xe840, 0xebff, 0xe840, 0xebff, 0xe6cd, 0xeaaf, 0xe6cd, 0xeaaf, 0xe565, -0xe963, 0xe565, 0xe963, 0xe565, 0xe963, 0xe400, 0xe812, 0xe400, 0xe812, 0xe375, 0xe793, -0xe375, 0xe793, 0xe2db, 0xe6fc, 0xe2db, 0xe6fc, 0xe2c5, 0xe6e2, 0xe2c5, 0xe6e2, 0xe290, -0xe6a3, 0xe290, 0xe6a3, 0xe209, 0xe60a, 0xe209, 0xe60a, 0xe209, 0xe60a, 0xe1b7, 0xe5a2, -0xe1b7, 0xe5a2, 0xe210, 0xe5df, 0xe210, 0xe5df, 0xe367, 0xe717, 0xe367, 0xe717, 0xe4d7, -0xe865, 0xe4d7, 0xe865, 0xe62c, 0xe995, 0xe62c, 0xe995, 0xe736, 0xea7a, 0xe736, 0xea7a, -0xe736, 0xea7a, 0xe7b0, 0xeacd, 0xe7b0, 0xeacd, 0xe7d8, 0xeace, 0xe7d8, 0xeace, 0xe854, -0xeb24, 0xe854, 0xeb24, 0xe917, 0xebc1, 0xe917, 0xebc1, 0xe9ce, 0xec54, 0xe9ce, 0xec54, -0xe9ce, 0xec54, 0xeb3f, 0xeda1, 0xeb3f, 0xeda1, 0xed26, 0xef67, 0xed26, 0xef67, 0xee45, -0xf066, 0xee45, 0xf066, 0xeed3, 0xf0d6, 0xeed3, 0xf0d6, 0xeeb3, 0xf098, 0xeeb3, 0xf098, -0xee42, 0xf00b, 0xee42, 0xf00b, 0xee42, 0xf00b, 0xeec4, 0xf073, 0xeec4, 0xf073, 0xef5c, -0xf0f0, 0xef5c, 0xf0f0, 0xeff9, 0xf175, 0xeff9, 0xf175, 0xf194, 0xf2f7, 0xf194, 0xf2f7, -0xf345, 0xf48f, 0xf345, 0xf48f, 0xf41c, 0xf54f, 0xf41c, 0xf54f, 0xf41c, 0xf54f, 0xf4f4, -0xf611, 0xf4f4, 0xf611, 0xf5cd, 0xf6d3, 0xf5cd, 0xf6d3, 0xf694, 0xf786, 0xf694, 0xf786, -0xf7ea, 0xf8c9, 0xf7ea, 0xf8c9, 0xf935, 0xfa04, 0xf935, 0xfa04, 0xf935, 0xfa04, 0xf9fe, -0xfabe, 0xf9fe, 0xfabe, 0xf9b4, 0xfa68, 0xf9b4, 0xfa68, 0xf96c, 0xfa18, 0xf96c, 0xfa18, -0xf986, 0xfa2d, 0xf986, 0xfa2d, 0xf9a8, 0xfa4f, 0xf9a8, 0xfa4f, 0xfaa0, 0xfb4d, 0xfaa0, -0xfb4d, 0xfaa0, 0xfb4d, 0xfb8c, 0xfc42, 0xfb8c, 0xfc42, 0xfb9b, 0xfc61, 0xfb9b, 0xfc61, -0xfa56, 0xfb30, 0xfa56, 0xfb30, 0xf8c1, 0xf9b5, 0xf8c1, 0xf9b5, 0xf740, 0xf853, 0xf740, -0xf853, 0xf56c, 0xf6a3, 0xf56c, 0xf6a3, 0xf56c, 0xf6a3, 0xf42a, 0xf589, 0xf42a, 0xf589, -0xf329, 0xf4b5, 0xf329, 0xf4b5, 0xf193, 0xf34d, 0xf193, 0xf34d, 0xefbf, 0xf1ab, 0xefbf, -0xf1ab, 0xef0e, 0xf12d, 0xef0e, 0xf12d, 0xef0e, 0xf12d, 0xee57, 0xf0a8, 0xee57, 0xf0a8, -0xecd0, 0xef54, 0xecd0, 0xef54, 0xeb7c, 0xee2f, 0xeb7c, 0xee2f, 0xea23, 0xed02, 0xea23, -0xed02, 0xe906, 0xec0e, 0xe906, 0xec0e, 0xe87b, 0xeba6, 0xe87b, 0xeba6, 0xe87b, 0xeba6, -0xe85e, 0xeba6, 0xe85e, 0xeba6, 0xe7e1, 0xeb40, 0xe7e1, 0xeb40, 0xe787, 0xeaf5, 0xe787, -0xeaf5, 0xe7ca, 0xeb3f, 0xe7ca, 0xeb3f, 0xe7cc, 0xeb40, 0xe7cc, 0xeb40, 0xe87d, 0xebe8, -0xe87d, 0xebe8, 0xe87d, 0xebe8, 0xe985, 0xecde, 0xe985, 0xecde, 0xea1c, 0xed5c, 0xea1c, -0xed5c, 0xeae6, 0xee03, 0xeae6, 0xee03, 0xeba0, 0xee95, 0xeba0, 0xee95, 0xecf4, 0xefba, -0xecf4, 0xefba, 0xecf4, 0xefba, 0xeea9, 0xf139, 0xeea9, 0xf139, 0xf00c, 0xf262, 0xf00c, -0xf262, 0xf1b2, 0xf3ca, 0xf1b2, 0xf3ca, 0xf379, 0xf54e, 0xf379, 0xf54e, 0xf4e1, 0xf671, -0xf4e1, 0xf671, 0xf621, 0xf76b, 0xf621, 0xf76b, 0xf621, 0xf76b, 0xf795, 0xf897, 0xf795, -0xf897, 0xf8a1, 0xf959, 0xf8a1, 0xf959, 0xfa07, 0xfa78, 0xfa07, 0xfa78, 0xfc03, 0xfc2b, -0xfc03, 0xfc2b, 0xfd73, 0xfd52, 0xfd73, 0xfd52, 0xfeaf, 0xfe47, 0xfeaf, 0xfe47, 0xfeaf, -0xfe47, 0x1c, 0xff6e, 0x1c, 0xff6e, 0x1d1, 0xde, 0x1d1, 0xde, 0x3d9, 0x2a1, -0x3d9, 0x2a1, 0x657, 0x4db, 0x657, 0x4db, 0x83b, 0x67a, 0x83b, 0x67a, 0x83b, -0x67a, 0x9c7, 0x7c2, 0x9c7, 0x7c2, 0xba3, 0x95a, 0xba3, 0x95a, 0xce1, 0xa54, -0xce1, 0xa54, 0xe10, 0xb3e, 0xe10, 0xb3e, 0xf40, 0xc29, 0xf40, 0xc29, 0x10b2, -0xd55, 0x10b2, 0xd55, 0x10b2, 0xd55, 0x12b2, 0xf0f, 0x12b2, 0xf0f, 0x1521, 0x113a, -0x1521, 0x113a, 0x177b, 0x134f, 0x177b, 0x134f, 0x190d, 0x149e, 0x190d, 0x149e, 0x1a7e, -0x15cf, 0x1a7e, 0x15cf, 0x1bc0, 0x16d3, 0x1bc0, 0x16d3, 0x1bc0, 0x16d3, 0x1cd8, 0x17b2, -0x1cd8, 0x17b2, 0x1e31, 0x18d7, 0x1e31, 0x18d7, 0x2027, 0x1aa0, 0x2027, 0x1aa0, 0x22eb, -0x1d3e, 0x22eb, 0x1d3e, 0x252e, 0x1f64, 0x252e, 0x1f64, 0x252e, 0x1f64, 0x25fe, 0x2020, -0x25fe, 0x2020, 0x263c, 0x2056, 0x263c, 0x2056, 0x2676, 0x2092, 0x2676, 0x2092, 0x2651, -0x207c, 0x2651, 0x207c, 0x26c1, 0x2107, 0x26c1, 0x2107, 0x274a, 0x21b9, 0x274a, 0x21b9, -0x274a, 0x21b9, 0x260a, 0x20ae, 0x260a, 0x20ae, 0x24d0, 0x1fb6, 0x24d0, 0x1fb6, 0x23c8, -0x1efb, 0x23c8, 0x1efb, 0x21ea, 0x1d75, 0x21ea, 0x1d75, 0x2090, 0x1c7f, 0x2090, 0x1c7f, -0x1eae, 0x1b08, 0x1eae, 0x1b08, 0x1eae, 0x1b08, 0x1c63, 0x1930, 0x1c63, 0x1930, 0x1a07, -0x174d, 0x1a07, 0x174d, 0x1770, 0x1532, 0x1770, 0x1532, 0x1512, 0x1353, 0x1512, 0x1353, -0x1267, 0x1127, 0x1267, 0x1127, 0x1267, 0x1127, 0xf92, 0xecf, 0xf92, 0xecf, 0xc8e, -0xc44, 0xc8e, 0xc44, 0xa3e, 0xa69, 0xa3e, 0xa69, 0x772, 0x809, 0x772, 0x809, -0x49f, 0x59a, 0x49f, 0x59a, 0x321, 0x477, 0x321, 0x477, 0x321, 0x477, 0x120, -0x2c7, 0x120, 0x2c7, 0xff0a, 0xf6, 0xff0a, 0xf6, 0xfd0b, 0xff31, 0xfd0b, 0xff31, -0xfaf1, 0xfd44, 0xfaf1, 0xfd44, 0xf8e9, 0xfb5f, 0xf8e9, 0xfb5f, 0xf760, 0xf9ee, 0xf760, -0xf9ee, 0xf760, 0xf9ee, 0xf5cd, 0xf86a, 0xf5cd, 0xf86a, 0xf3ee, 0xf68f, 0xf3ee, 0xf68f, -0xf25e, 0xf4fd, 0xf25e, 0xf4fd, 0xf07b, 0xf30f, 0xf07b, 0xf30f, 0xef8d, 0xf213, 0xef8d, -0xf213, 0xef8d, 0xf213, 0xef7e, 0xf1f2, 0xef7e, 0xf1f2, 0xefda, 0xf23a, 0xefda, 0xf23a, -0xf0ba, 0xf305, 0xf0ba, 0xf305, 0xf12b, 0xf362, 0xf12b, 0xf362, 0xf1f3, 0xf417, 0xf1f3, -0xf417, 0xf359, 0xf56d, 0xf359, 0xf56d, 0xf359, 0xf56d, 0xf40a, 0xf612, 0xf40a, 0xf612, -0xf3e1, 0xf5e0, 0xf3e1, 0xf5e0, 0xf3b9, 0xf5b5, 0xf3b9, 0xf5b5, 0xf323, 0xf51f, 0xf323, -0xf51f, 0xf1f9, 0xf3f8, 0xf1f9, 0xf3f8, 0xf1f9, 0xf3f8, 0xf0f2, 0xf2f8, 0xf0f2, 0xf2f8, -0xf085, 0xf294, 0xf085, 0xf294, 0xf034, 0xf24d, 0xf034, 0xf24d, 0xf026, 0xf24b, 0xf026, -0xf24b, 0xf0bd, 0xf2eb, 0xf0bd, 0xf2eb, 0xf072, 0xf2a7, 0xf072, 0xf2a7, 0xf072, 0xf2a7, -0xef56, 0xf18e, 0xef56, 0xf18e, 0xeed0, 0xf106, 0xeed0, 0xf106, 0xee95, 0xf0c2, 0xee95, -0xf0c2, 0xee0e, 0xf02a, 0xee0e, 0xf02a, 0xedec, 0xefee, 0xedec, 0xefee, 0xeea0, 0xf07e, -0xeea0, 0xf07e, 0xeea0, 0xf07e, 0xefeb, 0xf19d, 0xefeb, 0xf19d, 0xf159, 0xf2d3, 0xf159, -0xf2d3, 0xf2ff, 0xf438, 0xf2ff, 0xf438, 0xf4c7, 0xf5b5, 0xf4c7, 0xf5b5, 0xf695, 0xf72e, -0xf695, 0xf72e, 0xf695, 0xf72e, 0xf8b9, 0xf8f7, 0xf8b9, 0xf8f7, 0xfb43, 0xfb1f, 0xfb43, -0xfb1f, 0xfe92, 0xfe06, 0xfe92, 0xfe06, 0x14c, 0x57, 0x14c, 0x57, 0x3c6, 0x265, -0x3c6, 0x265, 0x63c, 0x472, 0x63c, 0x472, 0x63c, 0x472, 0x7c9, 0x597, 0x7c9, -0x597, 0x9df, 0x74c, 0x9df, 0x74c, 0xb9a, 0x8ab, 0xb9a, 0x8ab, 0xd2c, 0x9ec, -0xd2c, 0x9ec, 0xf32, 0xbaa, 0xf32, 0xbaa, 0x1004, 0xc40, 0x1004, 0xc40, 0x1004, -0xc40, 0x1024, 0xc32, 0x1024, 0xc32, 0x104c, 0xc3a, 0x104c, 0xc3a, 0x104f, 0xc2b, -0x104f, 0xc2b, 0x1073, 0xc4c, 0x1073, 0xc4c, 0x1131, 0xd15, 0x1131, 0xd15, 0x1131, -0xd15, 0x11cc, 0xdc9, 0x11cc, 0xdc9, 0x1174, 0xd96, 0x1174, 0xd96, 0x108f, 0xce2, -0x108f, 0xce2, 0xf88, 0xc16, 0xf88, 0xc16, 0xe7d, 0xb4e, 0xe7d, 0xb4e, 0xd4c, -0xa68, 0xd4c, 0xa68, 0xd4c, 0xa68, 0xc04, 0x96f, 0xc04, 0x96f, 0xb0f, 0x8cb, -0xb0f, 0x8cb, 0xa6a, 0x878, 0xa6a, 0x878, 0xa00, 0x860, 0xa00, 0x860, 0xa09, -0x8b7, 0xa09, 0x8b7, 0x967, 0x85f, 0x967, 0x85f, 0x967, 0x85f, 0x7a0, 0x6db, -0x7a0, 0x6db, 0x629, 0x5a1, 0x629, 0x5a1, 0x4df, 0x48c, 0x4df, 0x48c, 0x2fb, -0x2d4, 0x2fb, 0x2d4, 0x166, 0x164, 0x166, 0x164, 0x166, 0x164, 0x73, 0x8d, -0x73, 0x8d, 0xff89, 0xffb6, 0xff89, 0xffb6, 0xff18, 0xff51, 0xff18, 0xff51, 0xff42, -0xff7f, 0xff42, 0xff7f, 0xff35, 0xff71, 0xff35, 0xff71, 0xff18, 0xff4f, 0xff18, 0xff4f, -0xff18, 0xff4f, 0xff4c, 0xff7a, 0xff4c, 0xff7a, 0xff3b, 0xff5d, 0xff3b, 0xff5d, 0xfee6, -0xfefc, 0xfee6, 0xfefc, 0xff45, 0xff4f, 0xff45, 0xff4f, 0x6c, 0x6b, 0x6c, 0x6b, -0x1ae, 0x1a4, 0x1ae, 0x1a4, 0x1ae, 0x1a4, 0x34c, 0x33d, 0x34c, 0x33d, 0x4cb, -0x4b9, 0x4cb, 0x4b9, 0x50d, 0x4fc, 0x50d, 0x4fc, 0x55b, 0x54e, 0x55b, 0x54e, -0x66d, 0x668, 0x66d, 0x668, 0x66d, 0x668, 0x744, 0x74a, 0x744, 0x74a, 0x7a7, -0x7ba, 0x7a7, 0x7ba, 0x84b, 0x86c, 0x84b, 0x86c, 0x9b3, 0x9e2, 0x9b3, 0x9e2, -0xa1b, 0xa58, 0xa1b, 0xa58, 0x9b5, 0x9fd, 0x9b5, 0x9fd, 0x9b5, 0x9fd, 0x951, -0x9a1, 0x951, 0x9a1, 0x814, 0x868, 0x814, 0x868, 0x72d, 0x77f, 0x72d, 0x77f, -0x775, 0x7be, 0x775, 0x7be, 0x89a, 0x8d2, 0x89a, 0x8d2, 0x91b, 0x93a, 0x91b, -0x93a, 0x91b, 0x93a, 0x9f4, 0x9f2, 0x9f4, 0x9f2, 0xb8e, 0xb62, 0xb8e, 0xb62, -0xc75, 0xc16, 0xc75, 0xc16, 0xe19, 0xd80, 0xe19, 0xd80, 0xfb3, 0xed8, 0xfb3, -0xed8, 0xfb3, 0xed8, 0x10f6, 0xfd2, 0x10f6, 0xfd2, 0x1267, 0x10f5, 0x1267, 0x10f5, -0x1427, 0x1264, 0x1427, 0x1264, 0x163a, 0x1423, 0x163a, 0x1423, 0x179f, 0x1534, 0x179f, -0x1534, 0x18ef, 0x1632, 0x18ef, 0x1632, 0x18ef, 0x1632, 0x1a84, 0x1778, 0x1a84, 0x1778, -0x1d07, 0x19b1, 0x1d07, 0x19b1, 0x1ff4, 0x1c5b, 0x1ff4, 0x1c5b, 0x21d3, 0x1e00, 0x21d3, -0x1e00, 0x2209, 0x1e07, 0x2209, 0x1e07, 0x215e, 0x1d37, 0x215e, 0x1d37, 0x215e, 0x1d37, -0x20d9, 0x1c9a, 0x20d9, 0x1c9a, 0x1feb, 0x1ba1, 0x1feb, 0x1ba1, 0x1ef4, 0x1aaf, 0x1ef4, -0x1aaf, 0x1e3f, 0x1a0c, 0x1e3f, 0x1a0c, 0x1da6, 0x1992, 0x1da6, 0x1992, 0x1da6, 0x1992, -0x1cf0, 0x190a, 0x1cf0, 0x190a, 0x1bd7, 0x182b, 0x1bd7, 0x182b, 0x1a2b, 0x16c6, 0x1a2b, -0x16c6, 0x17bd, 0x14a9, 0x17bd, 0x14a9, 0x1489, 0x11cf, 0x1489, 0x11cf, 0x11bf, 0xf67, -0x11bf, 0xf67, 0x11bf, 0xf67, 0xff5, 0xe05, 0xff5, 0xe05, 0xdc4, 0xc41, 0xdc4, -0xc41, 0xbb4, 0xa9e, 0xbb4, 0xa9e, 0x999, 0x8f2, 0x999, 0x8f2, 0x71a, 0x6e1, -0x71a, 0x6e1, 0x508, 0x539, 0x508, 0x539, 0x508, 0x539, 0x28f, 0x326, 0x28f, -0x326, 0xff94, 0x8b, 0xff94, 0x8b, 0xfd01, 0xfe51, 0xfd01, 0xfe51, 0xfa93, 0xfc35, -0xfa93, 0xfc35, 0xf7dc, 0xf9c6, 0xf7dc, 0xf9c6, 0xf7dc, 0xf9c6, 0xf56b, 0xf794, 0xf56b, -0xf794, 0xf38e, 0xf5ed, 0xf38e, 0xf5ed, 0xf236, 0xf4c1, 0xf236, 0xf4c1, 0xf155, 0xf403, -0xf155, 0xf403, 0xf0af, 0xf377, 0xf0af, 0xf377, 0xef80, 0xf25a, 0xef80, 0xf25a, 0xef80, -0xf25a, 0xee8b, 0xf16f, 0xee8b, 0xf16f, 0xee2f, 0xf116, 0xee2f, 0xf116, 0xeddd, 0xf0c2, -0xeddd, 0xf0c2, 0xee0d, 0xf0eb, 0xee0d, 0xf0eb, 0xedfc, 0xf0cf, 0xedfc, 0xf0cf, 0xee8f, -0xf153, 0xee8f, 0xf153, 0xee8f, 0xf153, 0xef53, 0xf206, 0xef53, 0xf206, 0xeed8, 0xf179, -0xeed8, 0xf179, 0xeea5, 0xf133, 0xeea5, 0xf133, 0xee75, 0xf0f0, 0xee75, 0xf0f0, 0xee03, -0xf06b, 0xee03, 0xf06b, 0xee03, 0xf06b, 0xee74, 0xf0ca, 0xee74, 0xf0ca, 0xef87, 0xf1cc, -0xef87, 0xf1cc, 0xefd7, 0xf20a, 0xefd7, 0xf20a, 0xef65, 0xf189, 0xef65, 0xf189, 0xef3a, -0xf14f, 0xef3a, 0xf14f, 0xef26, 0xf12c, 0xef26, 0xf12c, 0xef26, 0xf12c, 0xef3c, 0xf134, -0xef3c, 0xf134, 0xefb7, 0xf19f, 0xefb7, 0xf19f, 0xf044, 0xf21d, 0xf044, 0xf21d, 0xf0b4, -0xf27c, 0xf0b4, 0xf27c, 0xf128, 0xf2de, 0xf128, 0xf2de, 0xf128, 0xf2de, 0xf217, 0xf3ba, -0xf217, 0xf3ba, 0xf27c, 0xf40a, 0xf27c, 0xf40a, 0xf273, 0xf3ea, 0xf273, 0xf3ea, 0xf31b, -0xf47a, 0xf31b, 0xf47a, 0xf3cc, 0xf511, 0xf3cc, 0xf511, 0xf504, 0xf62d, 0xf504, 0xf62d, -0xf504, 0xf62d, 0xf6a3, 0xf7b0, 0xf6a3, 0xf7b0, 0xf83c, 0xf92b, 0xf83c, 0xf92b, 0xf93b, -0xfa0d, 0xf93b, 0xfa0d, 0xf96c, 0xfa22, 0xf96c, 0xfa22, 0xf9b0, 0xfa4a, 0xf9b0, 0xfa4a, -0xf9f7, 0xfa78, 0xf9f7, 0xfa78, 0xf9f7, 0xfa78, 0xfad1, 0xfb3b, 0xfad1, 0xfb3b, 0xfb67, -0xfbbe, 0xfb67, 0xfbbe, 0xfbe9, 0xfc31, 0xfbe9, 0xfc31, 0xfc70, 0xfcae, 0xfc70, 0xfcae, -0xfbe4, 0xfc1e, 0xfbe4, 0xfc1e, 0xfbe4, 0xfc1e, 0xfb37, 0xfb72, 0xfb37, 0xfb72, 0xfa53, -0xfa95, 0xfa53, 0xfa95, 0xf9e4, 0xfa34, 0xf9e4, 0xfa34, 0xfa2f, 0xfa94, 0xfa2f, 0xfa94, -0xf9a2, 0xfa21, 0xf9a2, 0xfa21, 0xf945, 0xf9e5, 0xf945, 0xf9e5, 0xf945, 0xf9e5, 0xf930, -0xf9f6, 0xf930, 0xf9f6, 0xf7c6, 0xf8b8, 0xf7c6, 0xf8b8, 0xf6ef, 0xf811, 0xf6ef, 0xf811, -0xf633, 0xf788, 0xf633, 0xf788, 0xf437, 0xf5c2, 0xf437, 0xf5c2, 0xf346, 0xf50a, 0xf346, -0xf50a, 0xf346, 0xf50a, 0xf31f, 0xf51d, 0xf31f, 0xf51d, 0xf28d, 0xf4c5, 0xf28d, 0xf4c5, -0xf1d8, 0xf448, 0xf1d8, 0xf448, 0xf16d, 0xf415, 0xf16d, 0xf415, 0xf04e, 0xf32b, 0xf04e, -0xf32b, 0xf04e, 0xf32b, 0xeed6, 0xf1e6, 0xeed6, 0xf1e6, 0xee14, 0xf151, 0xee14, 0xf151, -0xec93, 0xeffa, 0xec93, 0xeffa, 0xeaa3, 0xee30, 0xeaa3, 0xee30, 0xe89e, 0xec4c, 0xe89e, -0xec4c, 0xe6a5, 0xea6f, 0xe6a5, 0xea6f, 0xe6a5, 0xea6f, 0xe52b, 0xe90d, 0xe52b, 0xe90d, -0xe332, 0xe727, 0xe332, 0xe727, 0xe21b, 0xe61e, 0xe21b, 0xe61e, 0xe249, 0xe657, 0xe249, -0xe657, 0xe205, 0xe61a, 0xe205, 0xe61a, 0xe1dd, 0xe5f6, 0xe1dd, 0xe5f6, 0xe1dd, 0xe5f6, -0xe1bb, 0xe5d5, 0xe1bb, 0xe5d5, 0xe168, 0xe581, 0xe168, 0xe581, 0xe167, 0xe57d, 0xe167, -0xe57d, 0xe1ea, 0xe5fb, 0xe1ea, 0xe5fb, 0xe1c5, 0xe5d0, 0xe1c5, 0xe5d0, 0xe1c5, 0xe5d0, -0xe09b, 0xe49e, 0xe09b, 0xe49e, 0xe03b, 0xe435, 0xe03b, 0xe435, 0xdf95, 0xe385, 0xdf95, -0xe385, 0xdf17, 0xe2fa, 0xdf17, 0xe2fa, 0xdf2d, 0xe302, 0xdf2d, 0xe302, 0xdf60, 0xe324, -0xdf60, 0xe324, 0xdf60, 0xe324, 0xe062, 0xe414, 0xe062, 0xe414, 0xe0c9, 0xe464, 0xe0c9, -0xe464, 0xe11a, 0xe49b, 0xe11a, 0xe49b, 0xe109, 0xe46b, 0xe109, 0xe46b, 0xe06a, 0xe3a8, -0xe06a, 0xe3a8, 0xe09b, 0xe3b0, 0xe09b, 0xe3b0, 0xe09b, 0xe3b0, 0xe16d, 0xe452, 0xe16d, -0xe452, 0xe300, 0xe5b0, 0xe300, 0xe5b0, 0xe510, 0xe784, 0xe510, 0xe784, 0xe76b, 0xe99d, -0xe76b, 0xe99d, 0xea29, 0xec13, 0xea29, 0xec13, 0xea29, 0xec13, 0xed19, 0xeeb5, 0xed19, -0xeeb5, 0xf002, 0xf149, 0xf002, 0xf149, 0xf314, 0xf403, 0xf314, 0xf403, 0xf605, 0xf696, -0xf605, 0xf696, 0xf930, 0xf961, 0xf930, 0xf961, 0xfd12, 0xfce0, 0xfd12, 0xfce0, 0xfd12, -0xfce0, 0xa4, 0xf, 0xa4, 0xf, 0x3b2, 0x2b9, 0x3b2, 0x2b9, 0x60c, 0x4b1, -0x60c, 0x4b1, 0x79f, 0x5e4, 0x79f, 0x5e4, 0x905, 0x6ee, 0x905, 0x6ee, 0xb27, -0x8b9, 0xb27, 0x8b9, 0xb27, 0x8b9, 0xd67, 0xaa9, 0xd67, 0xaa9, 0xecb, 0xbc2, -0xecb, 0xbc2, 0xfd9, 0xc8e, 0xfd9, 0xc8e, 0xff9, 0xc74, 0xff9, 0xc74, 0x1056, -0xca0, 0x1056, 0xca0, 0x1056, 0xca0, 0x11d6, 0xdf7, 0x11d6, 0xdf7, 0x12a5, 0xea6, -0x12a5, 0xea6, 0x132c, 0xf16, 0x132c, 0xf16, 0x140c, 0xfe6, 0x140c, 0xfe6, 0x14bc, -0x1090, 0x14bc, 0x1090, 0x14a9, 0x107c, 0x14a9, 0x107c, 0x14a9, 0x107c, 0x13ec, 0xfc5, -0x13ec, 0xfc5, 0x13cc, 0xfaf, 0x13cc, 0xfaf, 0x1405, 0xff7, 0x1405, 0xff7, 0x1464, -0x106a, 0x1464, 0x106a, 0x1532, 0x114c, 0x1532, 0x114c, 0x1629, 0x125a, 0x1629, 0x125a, -0x1629, 0x125a, 0x16da, 0x1322, 0x16da, 0x1322, 0x170d, 0x136c, 0x170d, 0x136c, 0x174f, -0x13c5, 0x174f, 0x13c5, 0x16cb, 0x1356, 0x16cb, 0x1356, 0x161e, 0x12bd, 0x161e, 0x12bd, -0x161e, 0x12bd, 0x164d, 0x12ff, 0x164d, 0x12ff, 0x15ee, 0x12b1, 0x15ee, 0x12b1, 0x153e, -0x1211, 0x153e, 0x1211, 0x14af, 0x1191, 0x14af, 0x1191, 0x13fb, 0x10ed, 0x13fb, 0x10ed, -0x135f, 0x1060, 0x135f, 0x1060, 0x135f, 0x1060, 0x1343, 0x1053, 0x1343, 0x1053, 0x136a, -0x108b, 0x136a, 0x108b, 0x12a7, 0xfdb, 0x12a7, 0xfdb, 0x11ee, 0xf37, 0x11ee, 0xf37, -0x11d3, 0xf35, 0x11d3, 0xf35, 0x119f, 0xf1e, 0x119f, 0xf1e, 0x119f, 0xf1e, 0x11b4, -0xf52, 0x11b4, 0xf52, 0x119c, 0xf5d, 0x119c, 0xf5d, 0x115a, 0xf43, 0x115a, 0xf43, -0x10c8, 0xedb, 0x10c8, 0xedb, 0xfc3, 0xe04, 0xfc3, 0xe04, 0xfc3, 0xe04, 0xe70, -0xce1, 0xe70, 0xce1, 0xcb1, 0xb54, 0xcb1, 0xb54, 0xbc6, 0xa9c, 0xbc6, 0xa9c, -0xb4c, 0xa55, 0xb4c, 0xa55, 0xad4, 0xa0f, 0xad4, 0xa0f, 0xa63, 0x9ce, 0xa63, -0x9ce, 0xa63, 0x9ce, 0x985, 0x91b, 0x985, 0x91b, 0x837, 0x7f5, 0x837, 0x7f5, -0x60d, 0x5ee, 0x60d, 0x5ee, 0x401, 0x3fe, 0x401, 0x3fe, 0x26d, 0x27f, 0x26d, -0x27f, 0x143, 0x163, 0x143, 0x163, 0x143, 0x163, 0x102, 0x128, 0x102, 0x128, -0x12a, 0x14e, 0x12a, 0x14e, 0x190, 0x1ab, 0x190, 0x1ab, 0x1f8, 0x202, 0x1f8, -0x202, 0x278, 0x26a, 0x278, 0x26a, 0x278, 0x26a, 0x2ce, 0x2a3, 0x2ce, 0x2a3, -0x2a4, 0x257, 0x2a4, 0x257, 0x2b7, 0x245, 0x2b7, 0x245, 0x323, 0x289, 0x323, -0x289, 0x456, 0x395, 0x456, 0x395, 0x5ff, 0x517, 0x5ff, 0x517, 0x5ff, 0x517, -0x75b, 0x650, 0x75b, 0x650, 0x8a4, 0x779, 0x8a4, 0x779, 0x9ed, 0x8a9, 0x9ed, -0x8a9, 0xb5d, 0xa07, 0xb5d, 0xa07, 0xc9a, 0xb3b, 0xc9a, 0xb3b, 0xc9a, 0xb3b, -0xd46, 0xbe6, 0xd46, 0xbe6, 0xcb1, 0xb5b, 0xcb1, 0xb5b, 0xad4, 0x993, 0xad4, -0x993, 0x873, 0x750, 0x873, 0x750, 0x647, 0x54e, 0x647, 0x54e, 0x467, 0x3a2, -0x467, 0x3a2, 0x467, 0x3a2, 0x2dd, 0x254, 0x2dd, 0x254, 0x20c, 0x1c8, 0x20c, -0x1c8, 0x7f, 0x86, 0x7f, 0x86, 0xfe86, 0xfedf, 0xfe86, 0xfedf, 0xfc42, 0xfcee, -0xfc42, 0xfcee, 0xf97b, 0xfa7d, 0xf97b, 0xfa7d, 0xf97b, 0xfa7d, 0xf6d4, 0xf82c, 0xf6d4, -0xf82c, 0xf3cf, 0xf57b, 0xf3cf, 0xf57b, 0xf18c, 0xf388, 0xf18c, 0xf388, 0xf0c1, 0xf307, -0xf0c1, 0xf307, 0xf06a, 0xf2f1, 0xf06a, 0xf2f1, 0xf06a, 0xf2f1, 0xef04, 0xf1c4, 0xef04, -0xf1c4, 0xedec, 0xf0db, 0xedec, 0xf0db, 0xed2d, 0xf03f, 0xed2d, 0xf03f, 0xec4e, 0xef77, -0xec4e, 0xef77, 0xec81, 0xefb5, 0xec81, 0xefb5, 0xebec, 0xef1e, 0xebec, 0xef1e, 0xebec, -0xef1e, 0xeb70, 0xee94, 0xeb70, 0xee94, 0xebb2, 0xeebb, 0xebb2, 0xeebb, 0xebb8, 0xee9b, -0xebb8, 0xee9b, 0xec15, 0xeec9, 0xec15, 0xeec9, 0xed3e, 0xefb9, 0xed3e, 0xefb9, 0xeebc, -0xf0f8, 0xeebc, 0xf0f8, 0xeebc, 0xf0f8, 0xefdb, 0xf1d0, 0xefdb, 0xf1d0, 0xf120, 0xf2cb, -0xf120, 0xf2cb, 0xf21f, 0xf37d, 0xf21f, 0xf37d, 0xf349, 0xf458, 0xf349, 0xf458, 0xf4be, -0xf57f, 0xf4be, 0xf57f, 0xf4be, 0xf57f, 0xf625, 0xf699, 0xf625, 0xf699, 0xf87c, 0xf8a7, -0xf87c, 0xf8a7, 0xfadd, 0xfac2, 0xfadd, 0xfac2, 0xfc3c, 0xfbe1, 0xfc3c, 0xfbe1, 0xfd6f, -0xfcd9, 0xfd6f, 0xfcd9, 0xfe8d, 0xfdc1, 0xfe8d, 0xfdc1, 0xfe8d, 0xfdc1, 0xff1e, 0xfe23, -0xff1e, 0xfe23, 0xffd8, 0xfeb4, 0xffd8, 0xfeb4, 0xdf, 0xff98, 0xdf, 0xff98, 0x1bc, -0x56, 0x1bc, 0x56, 0x2e2, 0x163, 0x2e2, 0x163, 0x39b, 0x207, 0x39b, 0x207, -0x39b, 0x207, 0x36d, 0x1c7, 0x36d, 0x1c7, 0x3d7, 0x220, 0x3d7, 0x220, 0x408, -0x244, 0x408, 0x244, 0x3e0, 0x20e, 0x3e0, 0x20e, 0x435, 0x255, 0x435, 0x255, -0x435, 0x255, 0x4d4, 0x2e7, 0x4d4, 0x2e7, 0x5fa, 0x3fe, 0x5fa, 0x3fe, 0x70d, -0x501, 0x70d, 0x501, 0x833, 0x616, 0x833, 0x616, 0x934, 0x704, 0x934, 0x704, -0xa7d, 0x83a, 0xa7d, 0x83a, 0xa7d, 0x83a, 0xbe7, 0x990, 0xbe7, 0x990, 0xd2d, -0xac2, 0xd2d, 0xac2, 0xf22, 0xca2, 0xf22, 0xca2, 0x10f7, 0xe64, 0x10f7, 0xe64, -0x1217, 0xf74, 0x1217, 0xf74, 0x12f8, 0x1048, 0x12f8, 0x1048, 0x12f8, 0x1048, 0x1427, -0x116d, 0x1427, 0x116d, 0x149f, 0x11e0, 0x149f, 0x11e0, 0x15ae, 0x12f0, 0x15ae, 0x12f0, -0x17f4, 0x153e, 0x17f4, 0x153e, 0x199a, 0x16f2, 0x199a, 0x16f2, 0x199a, 0x16f2, 0x1a8b, -0x17f8, 0x1a8b, 0x17f8, 0x1a85, 0x180f, 0x1a85, 0x180f, 0x1a32, 0x17df, 0x1a32, 0x17df, -0x19d3, 0x17ac, 0x19d3, 0x17ac, 0x197a, 0x1785, 0x197a, 0x1785, 0x1948, 0x178b, 0x1948, -0x178b, 0x1948, 0x178b, 0x1976, 0x17f7, 0x1976, 0x17f7, 0x198e, 0x1851, 0x198e, 0x1851, -0x1839, 0x1741, 0x1839, 0x1741, 0x16a9, 0x15f9, 0x16a9, 0x15f9, 0x1485, 0x141d, 0x1485, -0x141d, 0x118c, 0x116a, 0x118c, 0x116a, 0x118c, 0x116a, 0xfb5, 0xfd8, 0xfb5, 0xfd8, -0xdf8, 0xe5c, 0xdf8, 0xe5c, 0xca7, 0xd48, 0xca7, 0xd48, 0xc89, 0xd60, 0xc89, -0xd60, 0xbab, 0xcb0, 0xbab, 0xcb0, 0xbab, 0xcb0, 0xb08, 0xc33, 0xb08, 0xc33, -0xaa1, 0xbe9, 0xaa1, 0xbe9, 0x930, 0xa8b, 0x930, 0xa8b, 0x7ad, 0x910, 0x7ad, -0x910, 0x6a7, 0x809, 0x6a7, 0x809, 0x52a, 0x680, 0x52a, 0x680, 0x52a, 0x680, -0x344, 0x485, 0x344, 0x485, 0x29e, 0x3c0, 0x29e, 0x3c0, 0x222, 0x31d, 0x222, -0x31d, 0x227, 0x2f3, 0x227, 0x2f3, 0x375, 0x40c, 0x375, 0x40c, 0x502, 0x560, -0x502, 0x560, 0x502, 0x560, 0x700, 0x721, 0x700, 0x721, 0x89a, 0x87c, 0x89a, -0x87c, 0x9b3, 0x955, 0x9b3, 0x955, 0xab4, 0xa17, 0xab4, 0xa17, 0xbcb, 0xaf2, -0xbcb, 0xaf2, 0xbcb, 0xaf2, 0xd2f, 0xc1d, 0xd2f, 0xc1d, 0xe83, 0xd3d, 0xe83, -0xd3d, 0xf85, 0xe11, 0xf85, 0xe11, 0xfe9, 0xe4d, 0xfe9, 0xe4d, 0x104c, 0xe90, -0x104c, 0xe90, 0x1094, 0xebf, 0x1094, 0xebf, 0x1094, 0xebf, 0x1079, 0xe93, 0x1079, -0xe93, 0x10a1, 0xeb2, 0x10a1, 0xeb2, 0x100e, 0xe1d, 0x100e, 0xe1d, 0xef6, 0xd09, -0xef6, 0xd09, 0xe2b, 0xc4a, 0xe2b, 0xc4a, 0xcf4, 0xb23, 0xcf4, 0xb23, 0xcf4, -0xb23, 0xb93, 0x9d6, 0xb93, 0x9d6, 0xa2a, 0x885, 0xa2a, 0x885, 0x933, 0x7a8, -0x933, 0x7a8, 0x878, 0x708, 0x878, 0x708, 0x789, 0x634, 0x789, 0x634, 0x789, -0x634, 0x6f5, 0x5bb, 0x6f5, 0x5bb, 0x5df, 0x4bc, 0x5df, 0x4bc, 0x50b, 0x3fd, -0x50b, 0x3fd, 0x542, 0x447, 0x542, 0x447, 0x528, 0x43b, 0x528, 0x43b, 0x4f6, -0x414, 0x4f6, 0x414, 0x4f6, 0x414, 0x585, 0x4a9, 0x585, 0x4a9, 0x68e, 0x5b5, -0x68e, 0x5b5, 0x735, 0x65c, 0x735, 0x65c, 0x753, 0x676, 0x753, 0x676, 0x74d, -0x66b, 0x74d, 0x66b, 0x683, 0x59b, 0x683, 0x59b, 0x683, 0x59b, 0x545, 0x457, -0x545, 0x457, 0x509, 0x417, 0x509, 0x417, 0x592, 0x49c, 0x592, 0x49c, 0x5d4, -0x4de, 0x5d4, 0x4de, 0x4dc, 0x3e9, 0x4dc, 0x3e9, 0x4dc, 0x3e9, 0x39e, 0x2b4, -0x39e, 0x2b4, 0x25e, 0x182, 0x25e, 0x182, 0x63, 0xff9c, 0x63, 0xff9c, 0xff81, -0xfed5, 0xff81, 0xfed5, 0xfe96, 0xfe0c, 0xfe96, 0xfe0c, 0xfd77, 0xfd17, 0xfd77, 0xfd17, -0xfd77, 0xfd17, 0xfd01, 0xfcd1, 0xfd01, 0xfcd1, 0xfbbc, 0xfbc3, 0xfbbc, 0xfbc3, 0xfa3a, -0xfa7e, 0xfa3a, 0xfa7e, 0xf86d, 0xf8f4, 0xf86d, 0xf8f4, 0xf6d5, 0xf7a2, 0xf6d5, 0xf7a2, -0xf6d5, 0xf7a2, 0xf521, 0xf638, 0xf521, 0xf638, 0xf336, 0xf499, 0xf336, 0xf499, 0xf219, -0xf3c8, 0xf219, 0xf3c8, 0xf0d2, 0xf2cd, 0xf0d2, 0xf2cd, 0xef3a, 0xf181, 0xef3a, 0xf181, -0xeddc, 0xf06a, 0xeddc, 0xf06a, 0xeddc, 0xf06a, 0xec70, 0xef42, 0xec70, 0xef42, 0xea3e, -0xed4e, 0xea3e, 0xed4e, 0xe8ac, 0xebf3, 0xe8ac, 0xebf3, 0xe7b3, 0xeb2c, 0xe7b3, 0xeb2c, -0xe623, 0xe9c5, 0xe623, 0xe9c5, 0xe4da, 0xe89e, 0xe4da, 0xe89e, 0xe4da, 0xe89e, 0xe3a5, -0xe783, 0xe3a5, 0xe783, 0xe22c, 0xe61b, 0xe22c, 0xe61b, 0xe0b2, 0xe4ab, 0xe0b2, 0xe4ab, -0xdff3, 0xe3ee, 0xdff3, 0xe3ee, 0xdfc7, 0xe3bc, 0xdfc7, 0xe3bc, 0xdfc7, 0xe3bc, 0xdf70, -0xe359, 0xdf70, 0xe359, 0xdf70, 0xe347, 0xdf70, 0xe347, 0xe07a, 0xe43a, 0xe07a, 0xe43a, -0xe196, 0xe53b, 0xe196, 0xe53b, 0xe21d, 0xe5a3, 0xe21d, 0xe5a3, 0xe362, 0xe6c8, 0xe362, -0xe6c8, 0xe362, 0xe6c8, 0xe4ef, 0xe833, 0xe4ef, 0xe833, 0xe5c9, 0xe8ea, 0xe5c9, 0xe8ea, -0xe6a6, 0xe9a5, 0xe6a6, 0xe9a5, 0xe751, 0xea2e, 0xe751, 0xea2e, 0xe772, 0xea2d, 0xe772, -0xea2d, 0xe887, 0xeb24, 0xe887, 0xeb24, 0xe887, 0xeb24, 0xea58, 0xecd7, 0xea58, 0xecd7, -0xeb55, 0xedb8, 0xeb55, 0xedb8, 0xec59, 0xeea3, 0xec59, 0xeea3, 0xecf3, 0xef24, 0xecf3, -0xef24, 0xec2c, 0xee47, 0xec2c, 0xee47, 0xec2c, 0xee47, 0xec1f, 0xee26, 0xec1f, 0xee26, -0xecb9, 0xeead, 0xecb9, 0xeead, 0xed48, 0xef2a, 0xed48, 0xef2a, 0xeea2, 0xf072, 0xeea2, -0xf072, 0xf024, 0xf1e2, 0xf024, 0xf1e2, 0xf1e7, 0xf394, 0xf1e7, 0xf394, 0xf1e7, 0xf394, -0xf35c, 0xf4f7, 0xf35c, 0xf4f7, 0xf466, 0xf5ef, 0xf466, 0xf5ef, 0xf563, 0xf6db, 0xf563, -0xf6db, 0xf5ed, 0xf752, 0xf5ed, 0xf752, 0xf67b, 0xf7cf, 0xf67b, 0xf7cf, 0xf737, 0xf87a, -0xf737, 0xf87a, 0xf737, 0xf87a, 0xf83f, 0xf972, 0xf83f, 0xf972, 0xf8f8, 0xfa1b, 0xf8f8, -0xfa1b, 0xf9ea, 0xfb00, 0xf9ea, 0xfb00, 0xfb13, 0xfc1d, 0xfb13, 0xfc1d, 0xfaf1, 0xfbf4, -0xfaf1, 0xfbf4, 0xfaf1, 0xfbf4, 0xfabd, 0xfbba, 0xfabd, 0xfbba, 0xfb48, 0xfc45, 0xfb48, -0xfc45, 0xfb86, 0xfc86, 0xfb86, 0xfc86, 0xfb43, 0xfc4b, 0xfb43, 0xfc4b, 0xfa28, 0xfb3e, -0xfa28, 0xfb3e, 0xf816, 0xf93f, 0xf816, 0xf93f, 0xf816, 0xf93f, 0xf5c2, 0xf702, 0xf5c2, -0xf702, 0xf3fa, 0xf557, 0xf3fa, 0xf557, 0xf307, 0xf486, 0xf307, 0xf486, 0xf1d1, 0xf376, -0xf1d1, 0xf376, 0xf064, 0xf233, 0xf064, 0xf233, 0xeeff, 0xf0fb, 0xeeff, 0xf0fb, 0xeeff, -0xf0fb, 0xed57, 0xef81, 0xed57, 0xef81, 0xebb3, 0xee0d, 0xebb3, 0xee0d, 0xea45, 0xeccf, -0xea45, 0xeccf, 0xe8fd, 0xebb5, 0xe8fd, 0xebb5, 0xe7c6, 0xeaaa, 0xe7c6, 0xeaaa, 0xe7c6, -0xeaaa, 0xe7ac, 0xeab9, 0xe7ac, 0xeab9, 0xe84e, 0xeb7f, 0xe84e, 0xeb7f, 0xe8d2, 0xec20, -0xe8d2, 0xec20, 0xe8d2, 0xec38, 0xe8d2, 0xec38, 0xe913, 0xec89, 0xe913, 0xec89, 0xea42, -0xedbf, 0xea42, 0xedbf, 0xea42, 0xedbf, 0xea9b, 0xee17, 0xea9b, 0xee17, 0xeb2c, 0xee9e, -0xeb2c, 0xee9e, 0xec01, 0xef5f, 0xec01, 0xef5f, 0xebb9, 0xeefa, 0xebb9, 0xeefa, 0xec39, -0xef54, 0xec39, 0xef54, 0xed36, 0xf023, 0xed36, 0xf023, 0xed36, 0xf023, 0xed3d, 0xeff3, -0xed3d, 0xeff3, 0xedab, 0xf024, 0xedab, 0xf024, 0xeee3, 0xf118, 0xeee3, 0xf118, 0xefec, -0xf1d7, 0xefec, 0xf1d7, 0xf193, 0xf331, 0xf193, 0xf331, 0xf193, 0xf331, 0xf40f, 0xf55b, -0xf40f, 0xf55b, 0xf596, 0xf68e, 0xf596, 0xf68e, 0xf6ce, 0xf772, 0xf6ce, 0xf772, 0xf912, -0xf962, 0xf912, 0xf962, 0xfb5c, 0xfb58, 0xfb5c, 0xfb58, 0xfd81, 0xfd2b, 0xfd81, 0xfd2b, -0xfd81, 0xfd2b, 0xff15, 0xfe70, 0xff15, 0xfe70, 0xf, 0xff1d, 0xf, 0xff1d, 0x184, -0x48, 0x184, 0x48, 0x334, 0x1b3, 0x334, 0x1b3, 0x546, 0x383, 0x546, 0x383, -0x7e7, 0x5e8, 0x7e7, 0x5e8, 0x7e7, 0x5e8, 0x9ed, 0x7b3, 0x9ed, 0x7b3, 0xb8d, -0x91e, 0xb8d, 0x91e, 0xcf1, 0xa4f, 0xcf1, 0xa4f, 0xd06, 0xa35, 0xd06, 0xa35, -0xd8a, 0xa8d, 0xd8a, 0xa8d, 0xd8a, 0xa8d, 0xef9, 0xbd2, 0xef9, 0xbd2, 0x1029, -0xcdb, 0x1029, 0xcdb, 0x120e, 0xe9a, 0x120e, 0xe9a, 0x14d1, 0x1138, 0x14d1, 0x1138, -0x16ff, 0x1344, 0x16ff, 0x1344, 0x18eb, 0x1510, 0x18eb, 0x1510, 0x18eb, 0x1510, 0x1b82, -0x1789, 0x1b82, 0x1789, 0x1d58, 0x1941, 0x1d58, 0x1941, 0x1f56, 0x1b25, 0x1f56, 0x1b25, -0x21af, 0x1d66, 0x21af, 0x1d66, 0x238c, 0x1f30, 0x238c, 0x1f30, 0x25e8, 0x217c, 0x25e8, -0x217c, 0x25e8, 0x217c, 0x27c9, 0x2352, 0x27c9, 0x2352, 0x28c8, 0x244b, 0x28c8, 0x244b, -0x2946, 0x24c8, 0x2946, 0x24c8, 0x29c7, 0x2551, 0x29c7, 0x2551, 0x2a5f, 0x25f7, 0x2a5f, -0x25f7, 0x2a5f, 0x25f7, 0x2a4b, 0x25f9, 0x2a4b, 0x25f9, 0x2962, 0x252e, 0x2962, 0x252e, -0x27e2, 0x23d4, 0x27e2, 0x23d4, 0x263e, 0x225f, 0x263e, 0x225f, 0x2437, 0x208e, 0x2437, -0x208e, 0x21b0, 0x1e47, 0x21b0, 0x1e47, 0x21b0, 0x1e47, 0x1fa5, 0x1c82, 0x1fa5, 0x1c82, -0x1df8, 0x1b21, 0x1df8, 0x1b21, 0x1c05, 0x1981, 0x1c05, 0x1981, 0x1a8b, 0x185d, 0x1a8b, -0x185d, 0x18ef, 0x171b, 0x18ef, 0x171b, 0x15d8, 0x1461, 0x15d8, 0x1461, 0x15d8, 0x1461, -0x11c7, 0x10ac, 0x11c7, 0x10ac, 0xe37, 0xd79, 0xe37, 0xd79, 0xafa, 0xa96, 0xafa, -0xa96, 0x7bd, 0x7af, 0x7bd, 0x7af, 0x553, 0x597, 0x553, 0x597, 0x553, 0x597, -0x36a, 0x3fa, 0x36a, 0x3fa, 0x1e8, 0x2be, 0x1e8, 0x2be, 0xd3, 0x1e6, 0xd3, -0x1e6, 0xff55, 0x9d, 0xff55, 0x9d, 0xfd15, 0xfe8a, 0xfd15, 0xfe8a, 0xfab9, 0xfc53, -0xfab9, 0xfc53, 0xfab9, 0xfc53, 0xf889, 0xfa3f, 0xf889, 0xfa3f, 0xf6c0, 0xf889, 0xf6c0, -0xf889, 0xf522, 0xf6f8, 0xf522, 0xf6f8, 0xf386, 0xf562, 0xf386, 0xf562, 0xf224, 0xf401, -0xf224, 0xf401, 0xf224, 0xf401, 0xf152, 0xf32a, 0xf152, 0xf32a, 0xf1a4, 0xf374, 0xf1a4, -0xf374, 0xf22f, 0xf3f5, 0xf22f, 0xf3f5, 0xf283, 0xf43e, 0xf283, 0xf43e, 0xf25f, 0xf40f, -0xf25f, 0xf40f, 0xf25f, 0xf404, 0xf25f, 0xf404, 0xf25f, 0xf404, 0xf24b, 0xf3e8, 0xf24b, -0xf3e8, 0xf1c1, 0xf35a, 0xf1c1, 0xf35a, 0xf232, 0xf3c8, 0xf232, 0xf3c8, 0xf244, 0xf3dc, -0xf244, 0xf3dc, 0xf238, 0xf3d6, 0xf238, 0xf3d6, 0xf2f7, 0xf49e, 0xf2f7, 0xf49e, 0xf2f7, -0xf49e, 0xf307, 0xf4b9, 0xf307, 0xf4b9, 0xf261, 0xf422, 0xf261, 0xf422, 0xf167, 0xf339, -0xf167, 0xf339, 0xf081, 0xf264, 0xf081, 0xf264, 0xeff4, 0xf1e7, 0xeff4, 0xf1e7, 0xeff4, -0xf1e7, 0xef37, 0xf139, 0xef37, 0xf139, 0xee88, 0xf095, 0xee88, 0xf095, 0xed82, 0xef96, -0xed82, 0xef96, 0xec62, 0xee77, 0xec62, 0xee77, 0xebcd, 0xeddc, 0xebcd, 0xeddc, 0xeb2b, -0xed2d, 0xeb2b, 0xed2d, 0xeb2b, 0xed2d, 0xeb44, 0xed2f, 0xeb44, 0xed2f, 0xec0f, 0xedda, -0xec0f, 0xedda, 0xeda1, 0xef42, 0xeda1, 0xef42, 0xef83, 0xf0f1, 0xef83, 0xf0f1, 0xf17c, -0xf2ad, 0xf17c, 0xf2ad, 0xf3ea, 0xf4d4, 0xf3ea, 0xf4d4, 0xf3ea, 0xf4d4, 0xf618, 0xf6b4, -0xf618, 0xf6b4, 0xf94d, 0xf994, 0xf94d, 0xf994, 0xfcec, 0xfcd7, 0xfcec, 0xfcd7, 0xe, -0xff9a, 0xe, 0xff9a, 0x300, 0x22a, 0x300, 0x22a, 0x300, 0x22a, 0x5c8, 0x490, -0x5c8, 0x490, 0x8a5, 0x70b, 0x8a5, 0x70b, 0xb44, 0x94d, 0xb44, 0x94d, 0xd9a, -0xb49, 0xd9a, 0xb49, 0xf54, 0xcb1, 0xf54, 0xcb1, 0x1129, 0xe3e, 0x1129, 0xe3e, -0x1129, 0xe3e, 0x1385, 0x105b, 0x1385, 0x105b, 0x152d, 0x11d0, 0x152d, 0x11d0, 0x155e, -0x11da, 0x155e, 0x11da, 0x1498, 0x10fa, 0x1498, 0x10fa, 0x1409, 0x105e, 0x1409, 0x105e, -0x13fc, 0x1052, 0x13fc, 0x1052, 0x13fc, 0x1052, 0x13c5, 0x1029, 0x13c5, 0x1029, 0x13d8, -0x1055, 0x13d8, 0x1055, 0x1372, 0x1015, 0x1372, 0x1015, 0x1264, 0xf37, 0x1264, 0xf37, -0x1181, 0xe8c, 0x1181, 0xe8c, 0x1181, 0xe8c, 0xfbc, 0xd06, 0xfbc, 0xd06, 0xde1, -0xb71, 0xde1, 0xb71, 0xb92, 0x96a, 0xb92, 0x96a, 0x957, 0x779, 0x957, 0x779, -0x8b8, 0x724, 0x8b8, 0x724, 0x8bb, 0x76f, 0x8bb, 0x76f, 0x8bb, 0x76f, 0x85c, -0x755, 0x85c, 0x755, 0x72d, 0x666, 0x72d, 0x666, 0x63c, 0x5af, 0x63c, 0x5af, -0x52d, 0x4d3, 0x52d, 0x4d3, 0x3ca, 0x39b, 0x3ca, 0x39b, 0x263, 0x258, 0x263, -0x258, 0x263, 0x258, 0x9c, 0xac, 0x9c, 0xac, 0xfe83, 0xfea6, 0xfe83, 0xfea6, -0xfdb5, 0xfde3, 0xfdb5, 0xfde3, 0xfdb9, 0xfdeb, 0xfdb9, 0xfdeb, 0xfc90, 0xfcc1, 0xfc90, -0xfcc1, 0xfc90, 0xfcc1, 0xfc60, 0xfc89, 0xfc60, 0xfc89, 0xfce8, 0xfd05, 0xfce8, 0xfd05, -0xfddc, 0xfdea, 0xfddc, 0xfdea, 0xff1b, 0xff17, 0xff1b, 0xff17, 0xffda, 0xffc5, 0xffda, -0xffc5, 0x76, 0x4f, 0x76, 0x4f, 0x76, 0x4f, 0x136, 0xfe, 0x136, 0xfe, -0x37c, 0x336, 0x37c, 0x336, 0x52f, 0x4dc, 0x52f, 0x4dc, 0x6db, 0x67f, 0x6db, -0x67f, 0x833, 0x7d1, 0x833, 0x7d1, 0x859, 0x7f3, 0x859, 0x7f3, 0x859, 0x7f3, -0x943, 0x8de, 0x943, 0x8de, 0x91c, 0x8b9, 0x91c, 0x8b9, 0x909, 0x8aa, 0x909, -0x8aa, 0x8fc, 0x8a2, 0x8fc, 0x8a2, 0x81d, 0x7c8, 0x81d, 0x7c8, 0x81d, 0x7c8, -0x804, 0x7b3, 0x804, 0x7b3, 0x7fe, 0x7b0, 0x7fe, 0x7b0, 0x761, 0x713, 0x761, -0x713, 0x6d1, 0x67e, 0x6d1, 0x67e, 0x71f, 0x6c2, 0x71f, 0x6c2, 0x72e, 0x6c1, -0x72e, 0x6c1, 0x72e, 0x6c1, 0x79f, 0x71d, 0x79f, 0x71d, 0x878, 0x7d9, 0x878, -0x7d9, 0x85c, 0x798, 0x85c, 0x798, 0x903, 0x814, 0x903, 0x814, 0xb49, 0xa28, -0xb49, 0xa28, 0xd11, 0xbb7, 0xd11, 0xbb7, 0xd11, 0xbb7, 0xe5f, 0xcc7, 0xe5f, -0xcc7, 0x1114, 0xf38, 0x1114, 0xf38, 0x1339, 0x1116, 0x1339, 0x1116, 0x15ee, 0x1382, -0x15ee, 0x1382, 0x195e, 0x16a8, 0x195e, 0x16a8, 0x195e, 0x16a8, 0x1b27, 0x1828, 0x1b27, -0x1828, 0x1d62, 0x1a1b, 0x1d62, 0x1a1b, 0x1f19, 0x1b8f, 0x1f19, 0x1b8f, 0x20b5, 0x1cee, -0x20b5, 0x1cee, 0x22ae, 0x1eb0, 0x22ae, 0x1eb0, 0x23c6, 0x1f9a, 0x23c6, 0x1f9a, 0x23c6, -0x1f9a, 0x244f, 0x1ffe, 0x244f, 0x1ffe, 0x242c, 0x1fc1, 0x242c, 0x1fc1, 0x23e6, 0x1f6b, -0x23e6, 0x1f6b, 0x22c2, 0x1e44, 0x22c2, 0x1e44, 0x21e3, 0x1d6e, 0x21e3, 0x1d6e, 0x20e5, -0x1c85, 0x20e5, 0x1c85, 0x20e5, 0x1c85, 0x1fc2, 0x1b82, 0x1fc2, 0x1b82, 0x1f36, 0x1b21, -0x1f36, 0x1b21, 0x1daf, 0x19cf, 0x1daf, 0x19cf, 0x1ab3, 0x1712, 0x1ab3, 0x1712, 0x17b8, -0x145d, 0x17b8, 0x145d, 0x17b8, 0x145d, 0x1609, 0x12fb, 0x1609, 0x12fb, 0x12a6, 0xfe9, -0x12a6, 0xfe9, 0x100a, 0xda2, 0x100a, 0xda2, 0xd87, 0xb75, 0xd87, 0xb75, 0x9c9, -0x80d, 0x9c9, 0x80d, 0x8a6, 0x73f, 0x8a6, 0x73f, 0x8a6, 0x73f, 0x65b, 0x547, -0x65b, 0x547, 0x3d6, 0x310, 0x3d6, 0x310, 0x159, 0xdd, 0x159, 0xdd, 0xfe6f, -0xfe36, 0xfe6f, 0xfe36, 0xfd0d, 0xfd12, 0xfd0d, 0xfd12, 0xfb09, 0xfb45, 0xfb09, 0xfb45, -0xfb09, 0xfb45, 0xf85d, 0xf8c8, 0xf85d, 0xf8c8, 0xf4db, 0xf56f, 0xf4db, 0xf56f, 0xf25d, -0xf314, 0xf25d, 0xf314, 0xf0a2, 0xf174, 0xf0a2, 0xf174, 0xee98, 0xef81, 0xee98, 0xef81, -0xee98, 0xef81, 0xee50, 0xef4a, 0xee50, 0xef4a, 0xed57, 0xee5f, 0xed57, 0xee5f, 0xebe0, -0xecf3, 0xebe0, 0xecf3, 0xece8, 0xee03, 0xece8, 0xee03, 0xecd8, 0xedfa, 0xecd8, 0xedfa, -0xebae, 0xecd7, 0xebae, 0xecd7, 0xebae, 0xecd7, 0xeca2, 0xedd2, 0xeca2, 0xedd2, 0xeccf, -0xee06, 0xeccf, 0xee06, 0xee2b, 0xef6c, 0xee2b, 0xef6c, 0xf097, 0xf1e3, 0xf097, 0xf1e3, -0xf026, 0xf17f, 0xf026, 0xf17f, 0xf026, 0xf17f, 0xefce, 0xf135, 0xefce, 0xf135, 0xeffb, -0xf173, 0xeffb, 0xf173, 0xf0af, 0xf239, 0xf0af, 0xf239, 0xf0af, 0xf24b, 0xf0af, 0xf24b, -0xf091, 0xf241, 0xf091, 0xf241, 0xf022, 0xf1e5, 0xf022, 0xf1e5, 0xf022, 0xf1e5, 0xed5f, -0xef34, 0xed5f, 0xef34, 0xee0f, 0xeff5, 0xee0f, 0xeff5, 0xee28, 0xf01b, 0xee28, 0xf01b, -0xecef, 0xeeed, 0xecef, 0xeeed, 0xed85, 0xef8a, 0xed85, 0xef8a, 0xecbd, 0xeec5, 0xecbd, -0xeec5, 0xecbd, 0xeec5, 0xedf6, 0xeffc, 0xedf6, 0xeffc, 0xef7a, 0xf17a, 0xef7a, 0xf17a, -0xefa4, 0xf198, 0xefa4, 0xf198, 0xf01f, 0xf202, 0xf01f, 0xf202, 0xf154, 0xf322, 0xf154, -0xf322, 0xf154, 0xf322, 0xf2fc, 0xf4b1, 0xf2fc, 0xf4b1, 0xf4d5, 0xf66c, 0xf4d5, 0xf66c, -0xf5a0, 0xf717, 0xf5a0, 0xf717, 0xf5af, 0xf703, 0xf5af, 0xf703, 0xf6d2, 0xf803, 0xf6d2, -0xf803, 0xf871, 0xf97f, 0xf871, 0xf97f, 0xf871, 0xf97f, 0xfa29, 0xfb15, 0xfa29, 0xfb15, -0xf94a, 0xfa15, 0xf94a, 0xfa15, 0xf9a7, 0xfa55, 0xf9a7, 0xfa55, 0xfa2d, 0xfac2, 0xfa2d, -0xfac2, 0xfb1f, 0xfba0, 0xfb1f, 0xfba0, 0xfcf1, 0xfd63, 0xfcf1, 0xfd63, 0xfcf1, 0xfd63, -0xfaab, 0xfb15, 0xfaab, 0xfb15, 0xfa05, 0xfa6e, 0xfa05, 0xfa6e, 0xf8f7, 0xf965, 0xf8f7, -0xf965, 0xf91a, 0xf995, 0xf91a, 0xf995, 0xfa88, 0xfb17, 0xfa88, 0xfb17, 0xfa88, 0xfb17, -0xf9a9, 0xfa52, 0xf9a9, 0xfa52, 0xf948, 0xfa13, 0xf948, 0xfa13, 0xf7b7, 0xf8aa, 0xf7b7, -0xf8aa, 0xf74f, 0xf86f, 0xf74f, 0xf86f, 0xf684, 0xf7d6, 0xf684, 0xf7d6, 0xf4a2, 0xf629, -0xf4a2, 0xf629, 0xf4a2, 0xf629, 0xf3b4, 0xf574, 0xf3b4, 0xf574, 0xf313, 0xf50e, 0xf313, -0xf50e, 0xf316, 0xf54c, 0xf316, 0xf54c, 0xf313, 0xf587, 0xf313, 0xf587, 0xf264, 0xf513, -0xf264, 0xf513, 0xf163, 0xf44f, 0xf163, 0xf44f, 0xf163, 0xf44f, 0xf067, 0xf38d, 0xf067, -0xf38d, 0xeee7, 0xf245, 0xeee7, 0xf245, 0xedca, 0xf15e, 0xedca, 0xf15e, 0xeb5d, 0xef24, -0xeb5d, 0xef24, 0xe8a0, 0xec98, 0xe8a0, 0xec98, 0xe8a0, 0xec98, 0xe6ce, 0xeaf5, 0xe6ce, -0xeaf5, 0xe422, 0xe874, 0xe422, 0xe874, 0xe2d3, 0xe74e, 0xe2d3, 0xe74e, 0xe0ef, 0xe591, -0xe0ef, 0xe591, 0xdf31, 0xe3f8, 0xdf31, 0xe3f8, 0xdf87, 0xe470, 0xdf87, 0xe470, 0xdf87, -0xe470, 0xdf3b, 0xe444, 0xdf3b, 0xe444, 0xe048, 0xe570, 0xe048, 0xe570, 0xdf8d, 0xe4d0, -0xdf8d, 0xe4d0, 0xddd2, 0xe32f, 0xddd2, 0xe32f, 0xddf8, 0xe36c, 0xddf8, 0xe36c, 0xdd6f, -0xe2f8, 0xdd6f, 0xe2f8, 0xdd6f, 0xe2f8, 0xde1d, 0xe3b8, 0xde1d, 0xe3b8, 0xdd86, 0xe32e, -0xdd86, 0xe32e, 0xdcc8, 0xe27a, 0xdcc8, 0xe27a, 0xdc8b, 0xe240, 0xdc8b, 0xe240, 0xdc0c, -0xe1c0, 0xdc0c, 0xe1c0, 0xdc0c, 0xe1c0, 0xdcbf, 0xe26c, 0xdcbf, 0xe26c, 0xdc49, 0xe1e7, -0xdc49, 0xe1e7, 0xdc60, 0xe1e7, 0xdc60, 0xe1e7, 0xdd67, 0xe2ce, 0xdd67, 0xe2ce, 0xddf8, -0xe338, 0xddf8, 0xe338, 0xdeb6, 0xe3c4, 0xdeb6, 0xe3c4, 0xdeb6, 0xe3c4, 0xdfac, 0xe47e, -0xdfac, 0xe47e, 0xdf91, 0xe41e, 0xdf91, 0xe41e, 0xe107, 0xe545, 0xe107, 0xe545, 0xe30d, -0xe6f3, 0xe30d, 0xe6f3, 0xe526, 0xe8ab, 0xe526, 0xe8ab, 0xe842, 0xeb5e, 0xe842, 0xeb5e, -0xe842, 0xeb5e, 0xe9f9, 0xeca4, 0xe9f9, 0xeca4, 0xed67, 0xef9c, 0xed67, 0xef9c, 0xf0b3, -0xf26c, 0xf0b3, 0xf26c, 0xf44d, 0xf588, 0xf44d, 0xf588, 0xf7a0, 0xf85b, 0xf7a0, 0xf85b, -0xf7a0, 0xf85b, 0xf9e2, 0xfa1c, 0xf9e2, 0xfa1c, 0xfd3f, 0xfcfa, 0xfd3f, 0xfcfa, 0xa, -0xff49, 0xa, 0xff49, 0x421, 0x2e9, 0x421, 0x2e9, 0x7b7, 0x60d, 0x7b7, 0x60d, -0xa04, 0x7f1, 0xa04, 0x7f1, 0xa04, 0x7f1, 0xc2d, 0x9b9, 0xc2d, 0x9b9, 0xe11, -0xb45, 0xe11, 0xb45, 0xfbf, 0xca7, 0xfbf, 0xca7, 0x11c6, 0xe6d, 0x11c6, 0xe6d, -0x123f, 0xeae, 0x123f, 0xeae, 0x1182, 0xdc6, 0x1182, 0xdc6, 0x1182, 0xdc6, 0x1251, -0xe75, 0x1251, 0xe75, 0x125b, 0xe69, 0x125b, 0xe69, 0x1399, 0xf9a, 0x1399, 0xf9a, -0x151d, 0x111b, 0x151d, 0x111b, 0x1640, 0x1243, 0x1640, 0x1243, 0x1640, 0x1243, 0x1742, -0x134f, 0x1742, 0x134f, 0x16d1, 0x12ee, 0x16d1, 0x12ee, 0x16ba, 0x12ed, 0x16ba, 0x12ed, -0x15ec, 0x1235, 0x15ec, 0x1235, 0x1592, 0x11f4, 0x1592, 0x11f4, 0x15b5, 0x1230, 0x15b5, -0x1230, 0x15b5, 0x1230, 0x15dc, 0x126f, 0x15dc, 0x126f, 0x16e9, 0x1393, 0x16e9, 0x1393, -0x17f5, 0x14b4, 0x17f5, 0x14b4, 0x18ad, 0x157e, 0x18ad, 0x157e, 0x18f2, 0x15d3, 0x18f2, -0x15d3, 0x18cd, 0x15ba, 0x18cd, 0x15ba, 0x18cd, 0x15ba, 0x18de, 0x15d6, 0x18de, 0x15d6, -0x192b, 0x162b, 0x192b, 0x162b, 0x1871, 0x1577, 0x1871, 0x1577, 0x17ef, 0x14fb, 0x17ef, -0x14fb, 0x1774, 0x1486, 0x1774, 0x1486, 0x1774, 0x1486, 0x16ac, 0x13c5, 0x16ac, 0x13c5, -0x1620, 0x1342, 0x1620, 0x1342, 0x14be, 0x11ec, 0x14be, 0x11ec, 0x13f9, 0x1136, 0x13f9, -0x1136, 0x131f, 0x1071, 0x131f, 0x1071, 0x1300, 0x106d, 0x1300, 0x106d, 0x1300, 0x106d, -0x1328, 0x10b4, 0x1328, 0x10b4, 0x1230, 0xfe1, 0x1230, 0xfe1, 0x11d2, 0xfb0, 0x11d2, -0xfb0, 0x107d, 0xe8d, 0x107d, 0xe8d, 0x1070, 0xeb7, 0x1070, 0xeb7, 0x10b9, 0xf3c, -0x10b9, 0xf3c, 0x10b9, 0xf3c, 0x103c, 0xf00, 0x103c, 0xf00, 0xfe8, 0xeef, 0xfe8, -0xeef, 0xe3d, 0xd88, 0xe3d, 0xd88, 0xd33, 0xcc3, 0xd33, 0xcc3, 0xbc0, 0xb92, -0xbc0, 0xb92, 0xbc0, 0xb92, 0xa03, 0xa16, 0xa03, 0xa16, 0x835, 0x883, 0x835, -0x883, 0x69e, 0x721, 0x69e, 0x721, 0x4f1, 0x5a3, 0x4f1, 0x5a3, 0x32a, 0x402, -0x32a, 0x402, 0x1ff, 0x2f3, 0x1ff, 0x2f3, 0x1ff, 0x2f3, 0xff79, 0x7e, 0xff79, -0x7e, 0xfd9b, 0xfea7, 0xfd9b, 0xfea7, 0xfcb3, 0xfdbc, 0xfcb3, 0xfdbc, 0xfc6f, 0xfd69, -0xfc6f, 0xfd69, 0xfd0c, 0xfdee, 0xfd0c, 0xfdee, 0xfd0c, 0xfdee, 0xfde8, 0xfea7, 0xfde8, -0xfea7, 0xfee3, 0xff79, 0xfee3, 0xff79, 0x1b, 0x81, 0x1b, 0x81, 0x1b6, 0x1e7, -0x1b6, 0x1e7, 0x319, 0x310, 0x319, 0x310, 0x488, 0x446, 0x488, 0x446, 0x488, -0x446, 0x608, 0x58d, 0x608, 0x58d, 0x822, 0x770, 0x822, 0x770, 0xa9b, 0x9b8, -0xa9b, 0x9b8, 0xc2f, 0xb21, 0xc2f, 0xb21, 0xc8d, 0xb5d, 0xc8d, 0xb5d, 0xc70, -0xb26, 0xc70, 0xb26, 0xc70, 0xb26, 0xbbf, 0xa67, 0xbbf, 0xa67, 0xb92, 0xa38, -0xb92, 0xa38, 0xb8f, 0xa3d, 0xb8f, 0xa3d, 0x977, 0x83b, 0x977, 0x83b, 0x70f, -0x5f3, 0x70f, 0x5f3, 0x70f, 0x5f3, 0x512, 0x423, 0x512, 0x423, 0x349, 0x28f, -0x349, 0x28f, 0x226, 0x1aa, 0x226, 0x1aa, 0xf8, 0xc2, 0xf8, 0xc2, 0xff0f, -0xff23, 0xff0f, 0xff23, 0xfcc3, 0xfd24, 0xfcc3, 0xfd24, 0xfcc3, 0xfd24, 0xfa49, 0xfaf7, -0xfa49, 0xfaf7, 0xf769, 0xf864, 0xf769, 0xf864, 0xf3f0, 0xf532, 0xf3f0, 0xf532, 0xf11d, -0xf2a2, 0xf11d, 0xf2a2, 0xef75, 0xf135, 0xef75, 0xf135, 0xee1e, 0xf00f, 0xee1e, 0xf00f, -0xee1e, 0xf00f, 0xee1f, 0xf036, 0xee1f, 0xf036, 0xed87, 0xefb8, 0xed87, 0xefb8, 0xece9, -0xef28, 0xece9, 0xef28, 0xed05, 0xef45, 0xed05, 0xef45, 0xecf5, 0xef29, 0xecf5, 0xef29, -0xecf5, 0xef29, 0xed05, 0xef20, 0xed05, 0xef20, 0xec53, 0xee49, 0xec53, 0xee49, 0xebfe, -0xedc4, 0xebfe, 0xedc4, 0xecaa, 0xee38, 0xecaa, 0xee38, 0xed42, 0xee90, 0xed42, 0xee90, -0xed23, 0xee2d, 0xed23, 0xee2d, 0xed23, 0xee2d, 0xee34, 0xeef5, 0xee34, 0xeef5, 0xef1c, -0xef92, 0xef1c, 0xef92, 0xf096, 0xf0c2, 0xf096, 0xf0c2, 0xf2e4, 0xf2c8, 0xf2e4, 0xf2c8, -0xf4b7, 0xf458, 0xf4b7, 0xf458, 0xf61f, 0xf582, 0xf61f, 0xf582, 0xf61f, 0xf582, 0xf6f9, -0xf625, 0xf6f9, 0xf625, 0xf97b, 0xf878, 0xf97b, 0xf878, 0xfae9, 0xf9c0, 0xfae9, 0xf9c0, -0xfca8, 0xfb63, 0xfca8, 0xfb63, 0xff36, 0xfddc, 0xff36, 0xfddc, 0xff36, 0xfddc, 0x9c, -0xff37, 0x9c, 0xff37, 0x270, 0x107, 0x270, 0x107, 0x32f, 0x1c9, 0x32f, 0x1c9, -0x346, 0x1e8, 0x346, 0x1e8, 0x33c, 0x1eb, 0x33c, 0x1eb, 0x2ab, 0x169, 0x2ab, -0x169, 0x2ab, 0x169, 0x2be, 0x18c, 0x2be, 0x18c, 0x371, 0x24e, 0x371, 0x24e, -0x3a9, 0x293, 0x3a9, 0x293, 0x3bd, 0x2b0, 0x3bd, 0x2b0, 0x40c, 0x301, 0x40c, -0x301, 0x3a1, 0x293, 0x3a1, 0x293, 0x3a1, 0x293, 0x417, 0x2ff, 0x417, 0x2ff, -0x4f7, 0x3cd, 0x4f7, 0x3cd, 0x534, 0x3ef, 0x534, 0x3ef, 0x5a7, 0x43f, 0x5a7, -0x43f, 0x6d6, 0x544, 0x6d6, 0x544, 0x6d6, 0x544, 0x8e6, 0x723, 0x8e6, 0x723, -0xa2e, 0x835, 0xa2e, 0x835, 0xc57, 0xa24, 0xc57, 0xa24, 0xe71, 0xc01, 0xe71, -0xc01, 0x1000, 0xd52, 0x1000, 0xd52, 0x1300, 0x1016, 0x1300, 0x1016, 0x1300, 0x1016, -0x1573, 0x124f, 0x1573, 0x124f, 0x17ec, 0x1493, 0x17ec, 0x1493, 0x19e0, 0x1659, 0x19e0, -0x1659, 0x1a84, 0x16d6, 0x1a84, 0x16d6, 0x1ce1, 0x1918, 0x1ce1, 0x1918, 0x1e29, 0x1a4f, -0x1e29, 0x1a4f, 0x1e29, 0x1a4f, 0x1efc, 0x1b1e, 0x1efc, 0x1b1e, 0x2050, 0x1c79, 0x2050, -0x1c79, 0x1f1b, 0x1b58, 0x1f1b, 0x1b58, 0x1e28, 0x1a87, 0x1e28, 0x1a87, 0x1d47, 0x19d4, -0x1d47, 0x19d4, 0x1d47, 0x19d4, 0x1bcd, 0x1892, 0x1bcd, 0x1892, 0x1b8e, 0x1896, 0x1b8e, -0x1896, 0x1b19, 0x186e, 0x1b19, 0x186e, 0x1a32, 0x17da, 0x1a32, 0x17da, 0x18d7, 0x16d7, -0x18d7, 0x16d7, 0x1642, 0x149e, 0x1642, 0x149e, 0x1642, 0x149e, 0x1447, 0x12ff, 0x1447, -0x12ff, 0x1137, 0x104a, 0x1137, 0x104a, 0xfe2, 0xf4c, 0xfe2, 0xf4c, 0xe50, 0xe0d, -0xe50, 0xe0d, 0xba0, 0xba8, 0xba0, 0xba8, 0xb3f, 0xb8a, 0xb3f, 0xb8a, 0xb3f, -0xb8a, 0x9e8, 0xa6d, 0x9e8, 0xa6d, 0x930, 0x9e3, 0x930, 0x9e3, 0x862, 0x937, -0x862, 0x937, 0x6f4, 0x7de, 0x6f4, 0x7de, 0x687, 0x77b, 0x687, 0x77b, 0x687, -0x77b, 0x588, 0x67b, 0x588, 0x67b, 0x48d, 0x572, 0x48d, 0x572, 0x3ea, 0x4b9, -0x3ea, 0x4b9, 0x2a6, 0x354, 0x2a6, 0x354, 0x2e6, 0x36d, 0x2e6, 0x36d, 0x33c, -0x395, 0x33c, 0x395, 0x33c, 0x395, 0x427, 0x44e, 0x427, 0x44e, 0x587, 0x579, -0x587, 0x579, 0x781, 0x73e, 0x781, 0x73e, 0x930, 0x8b8, 0x930, 0x8b8, 0x9cc, -0x922, 0x9cc, 0x922, 0xb0d, 0xa34, 0xb0d, 0xa34, 0xb0d, 0xa34, 0xc79, 0xb77, -0xc79, 0xb77, 0xd9f, 0xc79, 0xd9f, 0xc79, 0xf17, 0xdd5, 0xf17, 0xdd5, 0x1151, -0xff9, 0x1151, 0xff9, 0x11e5, 0x107e, 0x11e5, 0x107e, 0x11e5, 0x107e, 0x133b, 0x11cc, -0x133b, 0x11cc, 0x1331, 0x11c2, 0x1331, 0x11c2, 0x1271, 0x1107, 0x1271, 0x1107, 0x1184, -0x1025, 0x1184, 0x1025, 0x1064, 0xf15, 0x1064, 0xf15, 0xfa3, 0xe66, 0xfa3, 0xe66, -0xfa3, 0xe66, 0xe29, 0xd01, 0xe29, 0xd01, 0xca9, 0xb97, 0xca9, 0xb97, 0xabe, -0x9c2, 0xabe, 0x9c2, 0x941, 0x85a, 0x941, 0x85a, 0x7f6, 0x721, 0x7f6, 0x721, -0x613, 0x54d, 0x613, 0x54d, 0x613, 0x54d, 0x4c4, 0x40a, 0x4c4, 0x40a, 0x3c7, -0x315, 0x3c7, 0x315, 0x308, 0x259, 0x308, 0x259, 0x3c7, 0x316, 0x3c7, 0x316, -0x347, 0x291, 0x347, 0x291, 0x347, 0x291, 0x3f9, 0x33a, 0x3f9, 0x33a, 0x4b5, -0x3ea, 0x4b5, 0x3ea, 0x4d0, 0x3f6, 0x4d0, 0x3f6, 0x4b5, 0x3cc, 0x4b5, 0x3cc, -0x59d, 0x4a4, 0x59d, 0x4a4, 0x554, 0x44d, 0x554, 0x44d, 0x554, 0x44d, 0x5ab, -0x497, 0x5ab, 0x497, 0x61f, 0x503, 0x61f, 0x503, 0x46e, 0x34e, 0x46e, 0x34e, -0x476, 0x358, 0x476, 0x358, 0x38d, 0x277, 0x38d, 0x277, 0x38d, 0x277, 0x3a0, -0x29b, 0x3a0, 0x29b, 0x346, 0x259, 0x346, 0x259, 0x296, 0x1c9, 0x296, 0x1c9, -0x129, 0x86, 0x129, 0x86, 0x39, 0xffc7, 0x39, 0xffc7, 0xff2b, 0xfef2, 0xff2b, -0xfef2, 0xff2b, 0xfef2, 0xfe26, 0xfe2e, 0xfe26, 0xfe2e, 0xfd75, 0xfdc4, 0xfd75, 0xfdc4, -0xfbc2, 0xfc5e, 0xfbc2, 0xfc5e, 0xf9bb, 0xfaa8, 0xf9bb, 0xfaa8, 0xf825, 0xf965, 0xf825, -0xf965, 0xf5b5, 0xf74a, 0xf5b5, 0xf74a, 0xf5b5, 0xf74a, 0xf2b2, 0xf49d, 0xf2b2, 0xf49d, -0xf0fc, 0xf33b, 0xf0fc, 0xf33b, 0xee5d, 0xf0ed, 0xee5d, 0xf0ed, 0xec9c, 0xef78, 0xec9c, -0xef78, 0xec06, 0xef29, 0xec06, 0xef29, 0xec06, 0xef29, 0xeb42, 0xeea6, 0xeb42, 0xeea6, -0xe9c2, 0xed60, 0xe9c2, 0xed60, 0xe93e, 0xed0d, 0xe93e, 0xed0d, 0xe7b4, 0xebac, 0xe7b4, -0xebac, 0xe6e0, 0xeaf8, 0xe6e0, 0xeaf8, 0xe530, 0xe95f, 0xe530, 0xe95f, 0xe530, 0xe95f, -0xe409, 0xe847, 0xe409, 0xe847, 0xe1d2, 0xe616, 0xe1d2, 0xe616, 0xdf5f, 0xe3a1, 0xdf5f, -0xe3a1, 0xde1f, 0xe259, 0xde1f, 0xe259, 0xdc78, 0xe0a3, 0xdc78, 0xe0a3, 0xdc84, 0xe09c, -0xdc84, 0xe09c, 0xdc84, 0xe09c, 0xdbac, 0xdfac, 0xdbac, 0xdfac, 0xdd4a, 0xe12f, 0xdd4a, -0xe12f, 0xde40, 0xe209, 0xde40, 0xe209, 0xdf9a, 0xe345, 0xdf9a, 0xe345, 0xe090, 0xe41d, -0xe090, 0xe41d, 0xe090, 0xe41d, 0xe1be, 0xe52f, 0xe1be, 0xe52f, 0xe287, 0xe5dd, 0xe287, -0xe5dd, 0xe42c, 0xe769, 0xe42c, 0xe769, 0xe70e, 0xea35, 0xe70e, 0xea35, 0xe7cd, 0xeae0, -0xe7cd, 0xeae0, 0xe913, 0xec15, 0xe913, 0xec15, 0xe913, 0xec15, 0xea5f, 0xed54, 0xea5f, -0xed54, 0xeb09, 0xedf3, 0xeb09, 0xedf3, 0xeb3e, 0xee20, 0xeb3e, 0xee20, 0xebde, 0xeeba, -0xebde, 0xeeba, 0xec82, 0xef59, 0xec82, 0xef59, 0xed5e, 0xf032, 0xed5e, 0xf032, 0xed5e, -0xf032, 0xeda0, 0xf070, 0xeda0, 0xf070, 0xeeb4, 0xf181, 0xeeb4, 0xf181, 0xef3e, 0xf207, -0xef3e, 0xf207, 0xefa1, 0xf265, 0xefa1, 0xf265, 0xf056, 0xf314, 0xf056, 0xf314, 0xf056, -0xf314, 0xf16a, 0xf420, 0xf16a, 0xf420, 0xf177, 0xf423, 0xf177, 0xf423, 0xf231, 0xf4d1, -0xf231, 0xf4d1, 0xf3a4, 0xf637, 0xf3a4, 0xf637, 0xf33d, 0xf5c0, 0xf33d, 0xf5c0, 0xf3c2, -0xf635, 0xf3c2, 0xf635, 0xf3c2, 0xf635, 0xf534, 0xf795, 0xf534, 0xf795, 0xf604, 0xf855, -0xf604, 0xf855, 0xf735, 0xf975, 0xf735, 0xf975, 0xf88c, 0xfabb, 0xf88c, 0xfabb, 0xf8e8, -0xfb09, 0xf8e8, 0xfb09, 0xfa1d, 0xfc32, 0xfa1d, 0xfc32, 0xfa1d, 0xfc32, 0xfb31, 0xfd3e, -0xfb31, 0xfd3e, 0xfb82, 0xfd89, 0xfb82, 0xfd89, 0xfa27, 0xfc2d, 0xfa27, 0xfc2d, 0xfa04, -0xfc0e, 0xfa04, 0xfc0e, 0xf91d, 0xfb2f, 0xf91d, 0xfb2f, 0xf91d, 0xfb2f, 0xf7a5, 0xf9c4, -0xf7a5, 0xf9c4, 0xf5b7, 0xf7e8, 0xf5b7, 0xf7e8, 0xf24d, 0xf495, 0xf24d, 0xf495, 0xf032, -0xf295, 0xf032, 0xf295, 0xef04, 0xf185, 0xef04, 0xf185, 0xee02, 0xf0a5, 0xee02, 0xf0a5, -0xee02, 0xf0a5, 0xed6f, 0xf035, 0xed6f, 0xf035, 0xebef, 0xeeda, 0xebef, 0xeeda, 0xea6a, -0xed7b, 0xea6a, 0xed7b, 0xeaed, 0xee22, 0xeaed, 0xee22, 0xe911, 0xec69, 0xe911, 0xec69, -0xe8b7, 0xec2f, 0xe8b7, 0xec2f, 0xe8b7, 0xec2f, 0xe86c, 0xec00, 0xe86c, 0xec00, 0xe72e, -0xeada, 0xe72e, 0xeada, 0xe762, 0xeb1f, 0xe762, 0xeb1f, 0xe89a, 0xec64, 0xe89a, 0xec64, -0xe8e4, 0xecb2, 0xe8e4, 0xecb2, 0xe8e4, 0xecb2, 0xe912, 0xecdd, 0xe912, 0xecdd, 0xea76, -0xee37, 0xea76, 0xee37, 0xe9a4, 0xed54, 0xe9a4, 0xed54, 0xea16, 0xedae, 0xea16, 0xedae, -0xeab6, 0xee2d, 0xeab6, 0xee2d, 0xea83, 0xedd3, 0xea83, 0xedd3, 0xea83, 0xedd3, 0xeaf6, -0xee18, 0xeaf6, 0xee18, 0xebc2, 0xeeb1, 0xebc2, 0xeeb1, 0xed02, 0xefb8, 0xed02, 0xefb8, -0xede6, 0xf05f, 0xede6, 0xf05f, 0xef11, 0xf14a, 0xef11, 0xf14a, 0xf07a, 0xf270, 0xf07a, -0xf270, 0xf07a, 0xf270, 0xf2a4, 0xf454, 0xf2a4, 0xf454, 0xf4d0, 0xf63a, 0xf4d0, 0xf63a, -0xf6e9, 0xf80c, 0xf6e9, 0xf80c, 0xf95a, 0xfa36, 0xf95a, 0xfa36, 0xfa7e, 0xfb14, 0xfa7e, -0xfb14, 0xfa7e, 0xfb14, 0xfc67, 0xfcb7, 0xfc67, 0xfcb7, 0xff5a, 0xff64, 0xff5a, 0xff64, -0x30c, 0x2d2, 0x30c, 0x2d2, 0x57a, 0x4fe, 0x57a, 0x4fe, 0x790, 0x6d2, 0x790, -0x6d2, 0x8d3, 0x7d3, 0x8d3, 0x7d3, 0x8d3, 0x7d3, 0x993, 0x853, 0x993, 0x853, -0xb7b, 0x9fb, 0xb7b, 0x9fb, 0xc9b, 0xadb, 0xc9b, 0xadb, 0xdd7, 0xbd7, 0xdd7, -0xbd7, 0xf72, 0xd31, 0xf72, 0xd31, 0x117b, 0xef9, 0x117b, 0xef9, 0x117b, 0xef9, -0x12a8, 0xfe4, 0x12a8, 0xfe4, 0x1477, 0x1171, 0x1477, 0x1171, 0x1679, 0x1330, 0x1679, -0x1330, 0x17fc, 0x1470, 0x17fc, 0x1470, 0x1a5c, 0x168e, 0x1a5c, 0x168e, 0x1a5c, 0x168e, -0x1ba2, 0x1791, 0x1ba2, 0x1791, 0x1c65, 0x1814, 0x1c65, 0x1814, 0x2073, 0x1be3, 0x2073, -0x1be3, 0x223e, 0x1d74, 0x223e, 0x1d74, 0x23fc, 0x1efb, 0x23fc, 0x1efb, 0x2586, 0x2053, -0x2586, 0x2053, 0x2586, 0x2053, 0x260e, 0x20ae, 0x260e, 0x20ae, 0x281e, 0x229a, 0x281e, -0x229a, 0x29f2, 0x2451, 0x29f2, 0x2451, 0x29f3, 0x243f, 0x29f3, 0x243f, 0x27f4, 0x2235, -0x27f4, 0x2235, 0x28c7, 0x2308, 0x28c7, 0x2308, 0x28c7, 0x2308, 0x28a6, 0x22f3, 0x28a6, -0x22f3, 0x2887, 0x22ea, 0x2887, 0x22ea, 0x25ce, 0x2053, 0x25ce, 0x2053, 0x23ec, 0x1e9d, -0x23ec, 0x1e9d, 0x2318, 0x1e01, 0x2318, 0x1e01, 0x2318, 0x1e01, 0x21ad, 0x1cd8, 0x21ad, -0x1cd8, 0x1fc3, 0x1b3b, 0x1fc3, 0x1b3b, 0x1b9a, 0x1766, 0x1b9a, 0x1766, 0x18a2, 0x14ca, -0x18a2, 0x14ca, 0x16a0, 0x132a, 0x16a0, 0x132a, 0x15d8, 0x12ca, 0x15d8, 0x12ca, 0x15d8, -0x12ca, 0x136f, 0x10cb, 0x136f, 0x10cb, 0xf15, 0xcde, 0xf15, 0xcde, 0xc52, 0xa88, -0xc52, 0xa88, 0x876, 0x719, 0x876, 0x719, 0x4a0, 0x3ac, 0x4a0, 0x3ac, 0x4a0, -0x3ac, 0x2b4, 0x226, 0x2b4, 0x226, 0xfddd, 0xfdb1, 0xfddd, 0xfdb1, 0xfbd3, 0xfc02, -0xfbd3, 0xfc02, 0xf9f9, 0xfa7d, 0xf9f9, 0xfa7d, 0xfa9e, 0xfb70, 0xfa9e, 0xfb70, 0xfa80, -0xfb96, 0xfa80, 0xfb96, 0xfa80, 0xfb96, 0xf8c9, 0xfa1d, 0xf8c9, 0xfa1d, 0xf8d3, 0xfa5c, -0xf8d3, 0xfa5c, 0xf64d, 0xf802, 0xf64d, 0xf802, 0xf48f, 0xf669, 0xf48f, 0xf669, 0xf43f, -0xf636, 0xf43f, 0xf636, 0xf148, 0xf356, 0xf148, 0xf356, 0xf148, 0xf356, 0xeff2, 0xf210, -0xeff2, 0xf210, 0xefab, 0xf1d4, 0xefab, 0xf1d4, 0xeecb, 0xf0fa, 0xeecb, 0xf0fa, 0xf065, -0xf296, 0xf065, 0xf296, 0xee27, 0xf057, 0xee27, 0xf057, 0xee27, 0xf057, 0xef90, 0xf1bc, -0xef90, 0xf1bc, 0xef7c, 0xf1a3, 0xef7c, 0xf1a3, 0xf1ee, 0xf40d, 0xf1ee, 0xf40d, 0xf1cc, -0xf3e2, 0xf1cc, 0xf3e2, 0xf060, 0xf26d, 0xf060, 0xf26d, 0xf17e, 0xf381, 0xf17e, 0xf381, -0xf17e, 0xf381, 0xf22c, 0xf424, 0xf22c, 0xf424, 0xf594, 0xf77f, 0xf594, 0xf77f, 0xf4af, -0xf68c, 0xf4af, 0xf68c, 0xf4fe, 0xf6cb, 0xf4fe, 0xf6cb, 0xf36f, 0xf52a, 0xf36f, 0xf52a, -0xf3a6, 0xf54b, 0xf3a6, 0xf54b, 0xf3a6, 0xf54b, 0xf368, 0xf4f4, 0xf368, 0xf4f4, 0xf197, -0xf306, 0xf197, 0xf306, 0xf0fd, 0xf249, 0xf0fd, 0xf249, 0xf0eb, 0xf20f, 0xf0eb, 0xf20f, -0xf155, 0xf24c, 0xf155, 0xf24c, 0xf155, 0xf24c, 0xf286, 0xf349, 0xf286, 0xf349, 0xf04d, -0xf0d6, 0xf04d, 0xf0d6, 0xf058, 0xf0a1, 0xf058, 0xf0a1, 0xf0aa, 0xf0ae, 0xf0aa, 0xf0ae, -0xf235, 0xf1ed, 0xf235, 0xf1ed, 0xf5c7, 0xf52e, 0xf5c7, 0xf52e, 0xf5c7, 0xf52e, 0xf68b, -0xf59e, 0xf68b, 0xf59e, 0xfa2b, 0xf8e5, 0xfa2b, 0xf8e5, 0xfbb7, 0xfa18, 0xfbb7, 0xfa18, -0xffa1, 0xfda7, 0xffa1, 0xfda7, 0x31a, 0xc6, 0x31a, 0xc6, 0x5ae, 0x302, 0x5ae, -0x302, 0x5ae, 0x302, 0x80c, 0x50c, 0x80c, 0x50c, 0xc8a, 0x93b, 0xc8a, 0x93b, -0xf54, 0xbbd, 0xf54, 0xbbd, 0x11d0, 0xdf9, 0x11d0, 0xdf9, 0x1317, 0xf09, 0x1317, -0xf09, 0x1317, 0xf09, 0x12c3, 0xe88, 0x12c3, 0xe88, 0x144d, 0xff1, 0x144d, 0xff1, -0x159b, 0x112a, 0x159b, 0x112a, 0x1784, 0x130a, 0x1784, 0x130a, 0x176a, 0x12f5, 0x176a, -0x12f5, 0x155c, 0x10f9, 0x155c, 0x10f9, 0x155c, 0x10f9, 0x13ab, 0xf66, 0x13ab, 0xf66, -0x12c0, 0xea5, 0x12c0, 0xea5, 0x110b, 0xd25, 0x110b, 0xd25, 0x1256, 0xeaf, 0x1256, -0xeaf, 0x10de, 0xd7e, 0x10de, 0xd7e, 0xec7, 0xbb7, 0xec7, 0xbb7, 0xec7, 0xbb7, -0xc13, 0x958, 0xc13, 0x958, 0xc32, 0x9cf, 0xc32, 0x9cf, 0xadc, 0x8d5, 0xadc, -0x8d5, 0xa41, 0x895, 0xa41, 0x895, 0x990, 0x83d, 0x990, 0x83d, 0x990, 0x83d, -0x6c3, 0x5c8, 0x6c3, 0x5c8, 0x549, 0x4a0, 0x549, 0x4a0, 0x46c, 0x410, 0x46c, -0x410, 0x370, 0x359, 0x370, 0x359, 0xffbf, 0xffe5, 0xffbf, 0xffe5, 0x16e, 0x1c8, -0x16e, 0x1c8, 0x16e, 0x1c8, 0x1d, 0xa1, 0x1d, 0xa1, 0x169, 0x20e, 0x169, -0x20e, 0xfeff, 0xffba, 0xfeff, 0xffba, 0xfc4e, 0xfd16, 0xfc4e, 0xfd16, 0xfd75, 0xfe41, -0xfd75, 0xfe41, 0xfc0f, 0xfcd6, 0xfc0f, 0xfcd6, 0xfc0f, 0xfcd6, 0xfd2e, 0xfde9, 0xfd2e, -0xfde9, 0xfdae, 0xfe56, 0xfdae, 0xfe56, 0xfc93, 0xfd22, 0xfc93, 0xfd22, 0xfe64, 0xfed6, -0xfe64, 0xfed6, 0x1cd, 0x21e, 0x1cd, 0x21e, 0x1cd, 0x21e, 0x2a2, 0x2d0, 0x2a2, -0x2d0, 0x447, 0x451, 0x447, 0x451, 0x52d, 0x513, 0x52d, 0x513, 0x5e6, 0x5a9, -0x5e6, 0x5a9, 0x711, 0x6b2, 0x711, 0x6b2, 0x8e4, 0x865, 0x8e4, 0x865, 0x8e4, -0x865, 0x953, 0x8b6, 0x953, 0x8b6, 0xa8d, 0x9d4, 0xa8d, 0x9d4, 0x8db, 0x80b, -0x8db, 0x80b, 0xa38, 0x950, 0xa38, 0x950, 0x8b8, 0x7bc, 0x8b8, 0x7bc, 0x721, -0x612, 0x721, 0x612, 0x721, 0x612, 0x816, 0x6f4, 0x816, 0x6f4, 0x5b5, 0x480, -0x5b5, 0x480, 0x6ff, 0x5b5, 0x6ff, 0x5b5, 0x57e, 0x41e, 0x57e, 0x41e, 0x55d, -0x3e4, 0x55d, 0x3e4, 0x55d, 0x3e4, 0x3e1, 0x24b, 0x3e1, 0x24b, 0x52c, 0x375, -0x52c, 0x375, 0x6a8, 0x4cc, 0x6a8, 0x4cc, 0x58c, 0x385, 0x58c, 0x385, 0x736, -0x4ff, 0x736, 0x4ff, 0x7a3, 0x537, 0x7a3, 0x537, 0x7a3, 0x537, 0xa1b, 0x776, -0xa1b, 0x776, 0xd72, 0xa8e, 0xd72, 0xa8e, 0xf9e, 0xc79, 0xf9e, 0xc79, 0x1183, -0xe1b, 0x1183, 0xe1b, 0x1345, 0xf99, 0x1345, 0xf99, 0x1676, 0x1285, 0x1676, 0x1285, -0x1676, 0x1285, 0x1a11, 0x15de, 0x1a11, 0x15de, 0x1df8, 0x1986, 0x1df8, 0x1986, 0x1f29, -0x1a7e, 0x1f29, 0x1a7e, 0x2261, 0x1d84, 0x2261, 0x1d84, 0x24f3, 0x1fec, 0x24f3, 0x1fec, -0x24f3, 0x1fec, 0x2536, 0x200f, 0x2536, 0x200f, 0x26f7, 0x21bd, 0x26f7, 0x21bd, 0x2522, -0x1fe1, 0x2522, 0x1fe1, 0x2523, 0x1fe9, 0x2523, 0x1fe9, 0x2513, 0x1fed, 0x2513, 0x1fed, -0x25b1, 0x20af, 0x25b1, 0x20af, 0x25b1, 0x20af, 0x229d, 0x1dce, 0x229d, 0x1dce, 0x2159, -0x1ccb, 0x2159, 0x1ccb, 0x211c, 0x1cde, 0x211c, 0x1cde, 0x1e4e, 0x1a6d, 0x1e4e, 0x1a6d, -0x1dff, 0x1a85, 0x1dff, 0x1a85, 0x19b3, 0x16ac, 0x19b3, 0x16ac, 0x19b3, 0x16ac, 0x153d, -0x12b1, 0x153d, 0x12b1, 0x11c2, 0xfb7, 0x11c2, 0xfb7, 0xf7a, 0xdf6, 0xf7a, 0xdf6, -0xd33, 0xc37, 0xd33, 0xc37, 0x9ef, 0x97d, 0x9ef, 0x97d, 0x9ef, 0x97d, 0x5eb, -0x5ff, 0x5eb, 0x5ff, 0x373, 0x409, 0x373, 0x409, 0x10f, 0x223, 0x10f, 0x223, -0xff72, 0xfa, 0xff72, 0xfa, 0xff41, 0x135, 0xff41, 0x135, 0xfc88, 0xfedd, 0xfc88, -0xfedd, 0xfc88, 0xfedd, 0xf947, 0xfbf2, 0xf947, 0xfbf2, 0xf718, 0xfa0c, 0xf718, 0xfa0c, -0xf549, 0xf87a, 0xf549, 0xf87a, 0xf100, 0xf462, 0xf100, 0xf462, 0xeffa, 0xf380, 0xeffa, -0xf380, 0xeffa, 0xf380, 0xefaa, 0xf349, 0xefaa, 0xf349, 0xed40, 0xf0ec, 0xed40, 0xf0ec, -0xedad, 0xf15d, 0xedad, 0xf15d, 0xec64, 0xf00f, 0xec64, 0xf00f, 0xec35, 0xefd4, 0xec35, -0xefd4, 0xeabc, 0xee4a, 0xeabc, 0xee4a, 0xeabc, 0xee4a, 0xec27, 0xef9e, 0xec27, 0xef9e, -0xee58, 0xf1b5, 0xee58, 0xf1b5, 0xee6c, 0xf1ae, 0xee6c, 0xf1ae, 0xf086, 0xf3ad, 0xf086, -0xf3ad, 0xf017, 0xf322, 0xf017, 0xf322, 0xf234, 0xf525, 0xf234, 0xf525, 0xf234, 0xf525, -0xf411, 0xf6ea, 0xf411, 0xf6ea, 0xf3aa, 0xf66e, 0xf3aa, 0xf66e, 0xf240, 0xf4f2, 0xf240, -0xf4f2, 0xf100, 0xf3a2, 0xf100, 0xf3a2, 0xef17, 0xf1ab, 0xef17, 0xf1ab, 0xef17, 0xf1ab, -0xef44, 0xf1cb, 0xef44, 0xf1cb, 0xecb9, 0xef34, 0xecb9, 0xef34, 0xec77, 0xeee8, 0xec77, -0xeee8, 0xedf7, 0xf05d, 0xedf7, 0xf05d, 0xed51, 0xefaa, 0xed51, 0xefaa, 0xee56, 0xf09f, -0xee56, 0xf09f, 0xee56, 0xf09f, 0xec80, 0xeeb7, 0xec80, 0xeeb7, 0xec18, 0xee38, 0xec18, -0xee38, 0xebb3, 0xedb6, 0xebb3, 0xedb6, 0xec98, 0xee7a, 0xec98, 0xee7a, 0xec4d, 0xee09, -0xec4d, 0xee09, 0xef87, 0xf118, 0xef87, 0xf118, 0xef87, 0xf118, 0xf20a, 0xf36a, 0xf20a, -0xf36a, 0xf0aa, 0xf1d5, 0xf0aa, 0xf1d5, 0xf19f, 0xf290, 0xf19f, 0xf290, 0xf504, 0xf5b8, -0xf504, 0xf5b8, 0xf58c, 0xf601, 0xf58c, 0xf601, 0xf58c, 0xf601, 0xf60b, 0xf641, 0xf60b, -0xf641, 0xf9ad, 0xf9a5, 0xf9ad, 0xf9a5, 0xf936, 0xf8f2, 0xf936, 0xf8f2, 0xfb67, 0xfaed, -0xfb67, 0xfaed, 0xff22, 0xfe76, 0xff22, 0xfe76, 0xfd1e, 0xfc48, 0xfd1e, 0xfc48, 0xfd1e, -0xfc48, 0xfe42, 0xfd4b, 0xfe42, 0xfd4b, 0x4a, 0xff3d, 0x4a, 0xff3d, 0xffc5, 0xfead, -0xffc5, 0xfead, 0x34, 0xff1d, 0x34, 0xff1d, 0xfcad, 0xfba4, 0xfcad, 0xfba4, 0xfc6d, -0xfb7f, 0xfc6d, 0xfb7f, 0xfc6d, 0xfb7f, 0xfcd8, 0xfc14, 0xfcd8, 0xfc14, 0xfe71, 0xfde1, -0xfe71, 0xfde1, 0xfd8e, 0xfd40, 0xfd8e, 0xfd40, 0xfcd5, 0xfcd3, 0xfcd5, 0xfcd3, 0xfa9a, -0xfaee, 0xfa9a, 0xfaee, 0xfa9a, 0xfaee, 0xf78e, 0xf841, 0xf78e, 0xf841, 0xf680, 0xf798, -0xf680, 0xf798, 0xf576, 0xf6f7, 0xf576, 0xf6f7, 0xf3ce, 0xf5bc, 0xf3ce, 0xf5bc, 0xf117, -0xf373, 0xf117, 0xf373, 0xf419, 0xf6e0, 0xf419, 0xf6e0, 0xf419, 0xf6e0, 0xf1db, 0xf50b, -0xf1db, 0xf50b, 0xf151, 0xf4e5, 0xf151, 0xf4e5, 0xee2c, 0xf21d, 0xee2c, 0xf21d, 0xebce, -0xf014, 0xebce, 0xf014, 0xeb5a, 0xefec, 0xeb5a, 0xefec, 0xe7fb, 0xeccd, 0xe7fb, 0xeccd, -0xe7fb, 0xeccd, 0xe54d, 0xea56, 0xe54d, 0xea56, 0xe2b1, 0xe7e6, 0xe2b1, 0xe7e6, 0xde64, -0xe3b8, 0xde64, 0xe3b8, 0xddcb, 0xe334, 0xddcb, 0xe334, 0xde69, 0xe3de, 0xde69, 0xe3de, -0xde69, 0xe3de, 0xdbe3, 0xe158, 0xdbe3, 0xe158, 0xdb60, 0xe0cd, 0xdb60, 0xe0cd, 0xdb0d, -0xe06a, 0xdb0d, 0xe06a, 0xdc57, 0xe19d, 0xdc57, 0xe19d, 0xd91d, 0xde47, 0xd91d, 0xde47, -0xd95a, 0xde64, 0xd95a, 0xde64, 0xd95a, 0xde64, 0xd955, 0xde3b, 0xd955, 0xde3b, 0xd873, -0xdd34, 0xd873, 0xdd34, 0xd920, 0xddb9, 0xd920, 0xddb9, 0xdc83, 0xe0f5, 0xdc83, 0xe0f5, -0xdc47, 0xe092, 0xdc47, 0xe092, 0xdd73, 0xe199, 0xdd73, 0xe199, 0xdd73, 0xe199, 0xddc1, -0xe1c1, 0xddc1, 0xe1c1, 0xdc61, 0xe03c, 0xdc61, 0xe03c, 0xdf24, 0xe2da, 0xdf24, 0xe2da, -0xdf49, 0xe2da, 0xdf49, 0xe2da, 0xdfcf, 0xe33a, 0xdfcf, 0xe33a, 0xdfcf, 0xe33a, 0xdee0, -0xe224, 0xdee0, 0xe224, 0xe15e, 0xe47a, 0xe15e, 0xe47a, 0xe01d, 0xe30c, 0xe01d, 0xe30c, -0xe3ac, 0xe66b, 0xe3ac, 0xe66b, 0xe4bd, 0xe746, 0xe4bd, 0xe746, 0xe36f, 0xe5be, 0xe36f, -0xe5be, 0xe36f, 0xe5be, 0xe78d, 0xe99c, 0xe78d, 0xe99c, 0xe974, 0xeb3c, 0xe974, 0xeb3c, -0xe960, 0xeadb, 0xe960, 0xeadb, 0xed54, 0xee7c, 0xed54, 0xee7c, 0xefc1, 0xf090, 0xefc1, -0xf090, 0xf388, 0xf3f8, 0xf388, 0xf3f8, 0xf388, 0xf3f8, 0xf99e, 0xf9ad, 0xf99e, 0xf9ad, -0xfad2, 0xfa7b, 0xfad2, 0xfa7b, 0x1, 0xff43, 0x1, 0xff43, 0x1d2, 0xac, 0x1d2, -0xac, 0x3f0, 0x263, 0x3f0, 0x263, 0x3f0, 0x263, 0x7bf, 0x5ce, 0x7bf, 0x5ce, -0xb67, 0x916, 0xb67, 0x916, 0xcb6, 0xa0d, 0xcb6, 0xa0d, 0x11fb, 0xf00, 0x11fb, -0xf00, 0x13c4, 0x1080, 0x13c4, 0x1080, 0x1506, 0x1183, 0x1506, 0x1183, 0x1506, 0x1183, -0x1946, 0x1590, 0x1946, 0x1590, 0x18cf, 0x14f2, 0x18cf, 0x14f2, 0x19a3, 0x15ab, 0x19a3, -0x15ab, 0x1a87, 0x1680, 0x1a87, 0x1680, 0x1a1f, 0x1616, 0x1a1f, 0x1616, 0x1c6f, 0x186f, -0x1c6f, 0x186f, 0x1c6f, 0x186f, 0x1eb0, 0x1ac4, 0x1eb0, 0x1ac4, 0x1d88, 0x19b9, 0x1d88, -0x19b9, 0x20ed, 0x1d44, 0x20ed, 0x1d44, 0x2193, 0x1e17, 0x2193, 0x1e17, 0x208c, 0x1d41, -0x208c, 0x1d41, 0x208c, 0x1d41, 0x2050, 0x1d3a, 0x2050, 0x1d3a, 0x20c0, 0x1de1, 0x20c0, -0x1de1, 0x1df8, 0x1b50, 0x1df8, 0x1b50, 0x1f1d, 0x1ca9, 0x1f1d, 0x1ca9, 0x1f11, 0x1cce, -0x1f11, 0x1cce, 0x1d1b, 0x1b06, 0x1d1b, 0x1b06, 0x1d1b, 0x1b06, 0x1dd6, 0x1be8, 0x1dd6, -0x1be8, 0x1d8f, 0x1bc3, 0x1d8f, 0x1bc3, 0x1f06, 0x1d54, 0x1f06, 0x1d54, 0x1f55, 0x1db7, -0x1f55, 0x1db7, 0x1c50, 0x1abe, 0x1c50, 0x1abe, 0x18fd, 0x1772, 0x18fd, 0x1772, 0x18fd, -0x1772, 0x19d0, 0x1845, 0x19d0, 0x1845, 0x14d3, 0x1344, 0x14d3, 0x1344, 0x14d5, 0x133f, -0x14d5, 0x133f, 0x12b9, 0x1119, 0x12b9, 0x1119, 0xd98, 0xbee, 0xd98, 0xbee, 0xd98, -0xbee, 0xcdd, 0xb2a, 0xcdd, 0xb2a, 0xd05, 0xb4a, 0xd05, 0xb4a, 0xc9e, 0xade, -0xc9e, 0xade, 0xc31, 0xa71, 0xc31, 0xa71, 0xba1, 0x9e7, 0xba1, 0x9e7, 0xa6f, -0x8c2, 0xa6f, 0x8c2, 0xa6f, 0x8c2, 0xb3f, 0x9a5, 0xb3f, 0x9a5, 0xb34, 0x9b4, -0xb34, 0x9b4, 0x9eb, 0x88d, 0x9eb, 0x88d, 0x821, 0x6eb, 0x821, 0x6eb, 0x954, -0x84c, 0x954, 0x84c, 0x954, 0x84c, 0x6c5, 0x5f0, 0x6c5, 0x5f0, 0x656, 0x5b8, -0x656, 0x5b8, 0x349, 0x2e4, 0x349, 0x2e4, 0x13d, 0x112, 0x13d, 0x112, 0xbf, -0xcf, 0xbf, 0xcf, 0xfe06, 0xfe4d, 0xfe06, 0xfe4d, 0xfe06, 0xfe4d, 0xfd45, 0xfdc0, -0xfd45, 0xfdc0, 0xfb58, 0xfc02, 0xfb58, 0xfc02, 0xf9c8, 0xfa9a, 0xf9c8, 0xfa9a, 0xf8f7, -0xf9ea, 0xf8f7, 0xf9ea, 0xfb12, 0xfc1d, 0xfb12, 0xfc1d, 0xf96f, 0xfa8a, 0xf96f, 0xfa8a, -0xf96f, 0xfa8a, 0xfb03, 0xfc26, 0xfb03, 0xfc26, 0xfc7b, 0xfd9c, 0xfc7b, 0xfd9c, 0xfa50, -0xfb67, 0xfa50, 0xfb67, 0xfd05, 0xfe0b, 0xfd05, 0xfe0b, 0xfe25, 0xff14, 0xfe25, 0xff14, -0xfe25, 0xff14, 0xff25, 0xfff9, 0xff25, 0xfff9, 0x25f, 0x315, 0x25f, 0x315, 0x357, -0x3ed, 0x357, 0x3ed, 0x636, 0x6ad, 0x636, 0x6ad, 0x76f, 0x7ca, 0x76f, 0x7ca, -0x6f2, 0x735, 0x6f2, 0x735, 0x6f2, 0x735, 0x8f5, 0x925, 0x8f5, 0x925, 0x883, -0x8a9, 0x883, 0x8a9, 0x882, 0x8a7, 0x882, 0x8a7, 0x74c, 0x779, 0x74c, 0x779, -0x549, 0x589, 0x549, 0x589, 0x649, 0x6a7, 0x649, 0x6a7, 0x649, 0x6a7, 0x484, -0x50b, 0x484, 0x50b, 0x3c3, 0x47e, 0x3c3, 0x47e, 0x15b, 0x252, 0x15b, 0x252, -0xff3c, 0x79, 0xff3c, 0x79, 0xfea4, 0x2d, 0xfea4, 0x2d, 0xfea4, 0x2d, 0xfb34, -0xfd0e, 0xfb34, 0xfd0e, 0xfbc4, 0xfdf2, 0xfbc4, 0xfdf2, 0xfa84, 0xfd08, 0xfa84, 0xfd08, -0xf810, 0xfae8, 0xf810, 0xfae8, 0xf671, 0xf99a, 0xf671, 0xf99a, 0xf50f, 0xf883, 0xf50f, -0xf883, 0xf50f, 0xf883, 0xf2b1, 0xf669, 0xf2b1, 0xf669, 0xf268, 0xf65a, 0xf268, 0xf65a, -0xf183, 0xf5a3, 0xf183, 0xf5a3, 0xf016, 0xf459, 0xf016, 0xf459, 0xf0a1, 0xf4fa, 0xf0a1, -0xf4fa, 0xef9d, 0xf3fc, 0xef9d, 0xf3fc, 0xef9d, 0xf3fc, 0xf245, 0xf69d, 0xf245, 0xf69d, -0xf28d, 0xf6cf, 0xf28d, 0xf6cf, 0xf166, 0xf583, 0xf166, 0xf583, 0xf31c, 0xf708, 0xf31c, -0xf708, 0xf367, 0xf718, 0xf367, 0xf718, 0xf367, 0xf718, 0xf352, 0xf6bc, 0xf352, 0xf6bc, -0xf479, 0xf792, 0xf479, 0xf792, 0xf347, 0xf60a, 0xf347, 0xf60a, 0xf499, 0xf700, 0xf499, -0xf700, 0xf7f1, 0xf9f9, 0xf7f1, 0xf9f9, 0xf761, 0xf90a, 0xf761, 0xf90a, 0xf761, 0xf90a, -0xf7e2, 0xf92c, 0xf7e2, 0xf92c, 0xf815, 0xf904, 0xf815, 0xf904, 0xf8a8, 0xf940, 0xf8a8, -0xf940, 0xfced, 0xfd33, 0xfced, 0xfd33, 0xfe88, 0xfe83, 0xfe88, 0xfe83, 0xfcb5, 0xfc6e, -0xfcb5, 0xfc6e, 0xfcb5, 0xfc6e, 0xfdb2, 0xfd31, 0xfdb2, 0xfd31, 0x7d, 0xffca, 0x7d, -0xffca, 0xff83, 0xfea7, 0xff83, 0xfea7, 0x27a, 0x17c, 0x27a, 0x17c, 0x276, 0x15d, -0x276, 0x15d, 0x276, 0x15d, 0x94, 0xff68, 0x94, 0xff68, 0x3b1, 0x275, 0x3b1, -0x275, 0x2e1, 0x199, 0x2e1, 0x199, 0x1d9, 0x87, 0x1d9, 0x87, 0x243, 0xe8, -0x243, 0xe8, 0x255, 0xf0, 0x255, 0xf0, 0x255, 0xf0, 0xc5, 0xff53, 0xc5, -0xff53, 0x41f, 0x29c, 0x41f, 0x29c, 0x242, 0xaa, 0x242, 0xaa, 0x2de, 0x12a, -0x2de, 0x12a, 0x3de, 0x209, 0x3de, 0x209, 0x387, 0x189, 0x387, 0x189, 0x387, -0x189, 0x774, 0x546, 0x774, 0x546, 0x77d, 0x519, 0x77d, 0x519, 0x927, 0x687, -0x927, 0x687, 0xb7e, 0x89d, 0xb7e, 0x89d, 0x1038, 0xd12, 0x1038, 0xd12, 0x1038, -0xd12, 0x11e7, 0xe79, 0x11e7, 0xe79, 0x1544, 0x118d, 0x1544, 0x118d, 0x15d4, 0x11d6, -0x15d4, 0x11d6, 0x1751, 0x130f, 0x1751, 0x130f, 0x1ae4, 0x1662, 0x1ae4, 0x1662, 0x1d85, -0x18cb, 0x1d85, 0x18cb, 0x1d85, 0x18cb, 0x1e48, 0x195d, 0x1e48, 0x195d, 0x201a, 0x1b0a, -0x201a, 0x1b0a, 0x21a3, 0x1c79, 0x21a3, 0x1c79, 0x20ca, 0x1b93, 0x20ca, 0x1b93, 0x2254, -0x1d1e, 0x2254, 0x1d1e, 0x2095, 0x1b6e, 0x2095, 0x1b6e, 0x2095, 0x1b6e, 0x1ed5, 0x19cb, -0x1ed5, 0x19cb, 0x1d22, 0x1844, 0x1d22, 0x1844, 0x1c00, 0x175c, 0x1c00, 0x175c, 0x1956, -0x14f8, 0x1956, 0x14f8, 0x196a, 0x155d, 0x196a, 0x155d, 0x196a, 0x155d, 0x14ee, 0x113b, -0x14ee, 0x113b, 0x131f, 0xfce, 0x131f, 0xfce, 0x128b, 0xfa1, 0x128b, 0xfa1, 0xeca, -0xc4b, 0xeca, 0xc4b, 0xe3d, 0xc29, 0xe3d, 0xc29, 0xb70, 0x9c5, 0xb70, 0x9c5, -0xb70, 0x9c5, 0x79b, 0x655, 0x79b, 0x655, 0x890, 0x7a9, 0x890, 0x7a9, 0x89d, -0x80b, 0x89d, 0x80b, 0x6d2, 0x68c, 0x6d2, 0x68c, 0x9d7, 0x9d1, 0x9d7, 0x9d1, -0x7e3, 0x811, 0x7e3, 0x811, 0x7e3, 0x811, 0x75a, 0x7ac, 0x75a, 0x7ac, 0x7cd, -0x837, 0x7cd, 0x837, 0x642, 0x6b5, 0x642, 0x6b5, 0x6d2, 0x741, 0x6d2, 0x741, -0x899, 0x8f6, 0x899, 0x8f6, 0x899, 0x8f6, 0x79d, 0x7dc, 0x79d, 0x7dc, 0x9b8, -0x9cf, 0x9b8, 0x9cf, 0x92e, 0x915, 0x92e, 0x915, 0x82f, 0x7e0, 0x82f, 0x7e0, -0xaa1, 0xa15, 0xaa1, 0xa15, 0xa81, 0x9b8, 0xa81, 0x9b8, 0xa81, 0x9b8, 0xaae, -0x9a6, 0xaae, 0x9a6, 0xdff, 0xcb9, 0xdff, 0xcb9, 0xe09, 0xc8a, 0xe09, 0xc8a, -0xf09, 0xd54, 0xf09, 0xd54, 0x1370, 0x118d, 0x1370, 0x118d, 0x1245, 0x103d, 0x1245, -0x103d, 0x1245, 0x103d, 0x15f2, 0x13cb, 0x15f2, 0x13cb, 0x1407, 0x11cc, 0x1407, 0x11cc, -0x1516, 0x12d0, 0x1516, 0x12d0, 0x12b1, 0x106a, 0x12b1, 0x106a, 0x10eb, 0xeac, 0x10eb, -0xeac, 0x10eb, 0xeac, 0x1181, 0xf51, 0x1181, 0xf51, 0xb0d, 0x8f4, 0xb0d, 0x8f4, -0x888, 0x68c, 0x888, 0x68c, 0x7d0, 0x5f5, 0x7d0, 0x5f5, 0x7a4, 0x5ed, 0x7a4, -0x5ed, 0x4fc, 0x36b, 0x4fc, 0x36b, 0x4fc, 0x36b, 0x249, 0xdd, 0x249, 0xdd, -0xff44, 0xfdfd, 0xff44, 0xfdfd, 0x5, 0xfedf, 0x5, 0xfedf, 0xfe06, 0xfcfd, 0xfe06, -0xfcfd, 0xfcf8, 0xfc07, 0xfcf8, 0xfc07, 0xfcf8, 0xfc07, 0xfa00, 0xf921, 0xfa00, 0xf921, -0xf9ca, 0xf8f7, 0xf9ca, 0xf8f7, 0xfd53, 0xfc86, 0xfd53, 0xfc86, 0xfecd, 0xfe00, 0xfecd, -0xfe00, 0xfed2, 0xfe00, 0xfed2, 0xfe00, 0xffca, 0xfeee, 0xffca, 0xfeee, 0xffca, 0xfeee, -0x28, 0xff3e, 0x28, 0xff3e, 0xffdb, 0xfee1, 0xffdb, 0xfee1, 0x2a7, 0x19d, 0x2a7, -0x19d, 0x13f, 0x24, 0x13f, 0x24, 0xe0, 0xffb7, 0xe0, 0xffb7, 0x14c, 0x19, -0x14c, 0x19, 0x14c, 0x19, 0x29b, 0x164, 0x29b, 0x164, 0x137, 0x3, 0x137, -0x3, 0x15e, 0x35, 0x15e, 0x35, 0x15d, 0x48, 0x15d, 0x48, 0xff04, 0xfe0c, -0xff04, 0xfe0c, 0xff04, 0xfe0c, 0xfce8, 0xfc19, 0xfce8, 0xfc19, 0xfcc6, 0xfc29, 0xfcc6, -0xfc29, 0xf87a, 0xf81a, 0xf87a, 0xf81a, 0xf5e8, 0xf5cf, 0xf5e8, 0xf5cf, 0xf643, 0xf679, -0xf643, 0xf679, 0xf442, 0xf4d0, 0xf442, 0xf4d0, 0xf442, 0xf4d0, 0xf358, 0xf443, 0xf358, -0xf443, 0xf004, 0xf151, 0xf004, 0xf151, 0xeff5, 0xf1a6, 0xeff5, 0xf1a6, 0xedac, 0xefc3, -0xedac, 0xefc3, 0xeb75, 0xedef, 0xeb75, 0xedef, 0xe8fc, 0xebd6, 0xe8fc, 0xebd6, 0xe8fc, -0xebd6, 0xe6b0, 0xe9e4, 0xe6b0, 0xe9e4, 0xe4fd, 0xe885, 0xe4fd, 0xe885, 0xe50f, 0xe8e0, -0xe50f, 0xe8e0, 0xe444, 0xe855, 0xe444, 0xe855, 0xe551, 0xe995, 0xe551, 0xe995, 0xe551, -0xe995, 0xe503, 0xe96f, 0xe503, 0xe96f, 0xe3b2, 0xe837, 0xe3b2, 0xe837, 0xe1f8, 0xe688, -0xe1f8, 0xe688, 0xdf59, 0xe3e8, 0xdf59, 0xe3e8, 0xe2e1, 0xe760, 0xe2e1, 0xe760, 0xdfa9, -0xe40e, 0xdfa9, 0xe40e, 0xdfa9, 0xe40e, 0xe0f3, 0xe531, 0xe0f3, 0xe531, 0xe1cd, 0xe5da, -0xe1cd, 0xe5da, 0xdf85, 0xe35a, 0xdf85, 0xe35a, 0xe213, 0xe5a8, 0xe213, 0xe5a8, 0xe361, -0xe6b2, 0xe361, 0xe6b2, 0xe500, 0xe809, 0xe500, 0xe809, 0xe500, 0xe809, 0xe6b9, 0xe978, -0xe6b9, 0xe978, 0xea04, 0xec7b, 0xea04, 0xec7b, 0xedd6, 0xf005, 0xedd6, 0xf005, 0xef2b, -0xf117, 0xef2b, 0xf117, 0xf002, 0xf1b0, 0xf002, 0xf1b0, 0xf002, 0xf1b0, 0xf2f4, 0xf469, -0xf2f4, 0xf469, 0xf432, 0xf574, 0xf432, 0xf574, 0xf3ea, 0xf500, 0xf3ea, 0xf500, 0xf6ae, -0xf7a0, 0xf6ae, 0xf7a0, 0xf746, 0xf81c, 0xf746, 0xf81c, 0xf7dd, 0xf89c, 0xf7dd, 0xf89c, -0xf7dd, 0xf89c, 0xf937, 0xf9e6, 0xf937, 0xf9e6, 0xf819, 0xf8bf, 0xf819, 0xf8bf, 0xf997, -0xfa38, 0xf997, 0xfa38, 0xf8b5, 0xf955, 0xf8b5, 0xf955, 0xf7bc, 0xf85d, 0xf7bc, 0xf85d, -0xf9d8, 0xfa7d, 0xf9d8, 0xfa7d, 0xf9d8, 0xfa7d, 0xf8ec, 0xf996, 0xf8ec, 0xf996, 0xf58c, -0xf63a, 0xf58c, 0xf63a, 0xf6ae, 0xf761, 0xf6ae, 0xf761, 0xf3d0, 0xf484, 0xf3d0, 0xf484, -0xf390, 0xf445, 0xf390, 0xf445, 0xf390, 0xf445, 0xf5b5, 0xf668, 0xf5b5, 0xf668, 0xf4cc, -0xf57b, 0xf4cc, 0xf57b, 0xf8a6, 0xf94e, 0xf8a6, 0xf94e, 0xf8e3, 0xf983, 0xf8e3, 0xf983, -0xfa34, 0xfacb, 0xfa34, 0xfacb, 0xfa77, 0xfb03, 0xfa77, 0xfb03, 0xfa77, 0xfb03, 0xf9e3, -0xfa65, 0xf9e3, 0xfa65, 0xf8c6, 0xf940, 0xf8c6, 0xf940, 0xf945, 0xf9b8, 0xf945, 0xf9b8, -0xf967, 0xf9d7, 0xf967, 0xf9d7, 0xf7d7, 0xf847, 0xf7d7, 0xf847, 0xf935, 0xf9aa, 0xf935, -0xf9aa, 0xf935, 0xf9aa, 0xf523, 0xf5a3, 0xf523, 0xf5a3, 0xf42c, 0xf4bd, 0xf42c, 0xf4bd, -0xf45a, 0xf504, 0xf45a, 0xf504, 0xf19e, 0xf267, 0xf19e, 0xf267, 0xf122, 0xf210, 0xf122, -0xf210, 0xf122, 0xf210, 0xefa8, 0xf0c3, 0xefa8, 0xf0c3, 0xec2d, 0xed79, 0xec2d, 0xed79, -0xebe4, 0xed67, 0xebe4, 0xed67, 0xeccf, 0xee8d, 0xeccf, 0xee8d, 0xe9b1, 0xebad, 0xe9b1, -0xebad, 0xe989, 0xebc5, 0xe989, 0xebc5, 0xe989, 0xebc5, 0xe8d1, 0xeb4c, 0xe8d1, 0xeb4c, -0xe76b, 0xea23, 0xe76b, 0xea23, 0xe63d, 0xe931, 0xe63d, 0xe931, 0xe3e6, 0xe710, 0xe3e6, -0xe710, 0xe2b1, 0xe60a, 0xe2b1, 0xe60a, 0xe209, 0xe58b, 0xe209, 0xe58b, 0xe209, 0xe58b, -0xe1ec, 0xe58d, 0xe1ec, 0xe58d, 0xe287, 0xe63d, 0xe287, 0xe63d, 0xe291, 0xe651, 0xe291, -0xe651, 0xe01b, 0xe3db, 0xe01b, 0xe3db, 0xe296, 0xe649, 0xe296, 0xe649, 0xe296, 0xe649, -0xe3f6, 0xe791, 0xe3f6, 0xe791, 0xe3e5, 0xe75c, 0xe3e5, 0xe75c, 0xe562, 0xe8ab, 0xe562, -0xe8ab, 0xe6b1, 0xe9c2, 0xe6b1, 0xe9c2, 0xe6ac, 0xe97a, 0xe6ac, 0xe97a, 0xe877, 0xeafc, -0xe877, 0xeafc, 0xe877, 0xeafc, 0xeaa8, 0xecdd, 0xeaa8, 0xecdd, 0xe935, 0xeb14, 0xe935, -0xeb14, 0xebfa, 0xed80, 0xebfa, 0xed80, 0xeeb8, 0xefe2, 0xeeb8, 0xefe2, 0xf185, 0xf253, -0xf185, 0xf253, 0xf44c, 0xf4bd, 0xf44c, 0xf4bd, 0xf44c, 0xf4bd, 0xf666, 0xf67d, 0xf666, -0xf67d, 0xfa55, 0xfa13, 0xfa55, 0xfa13, 0xfead, 0xfe17, 0xfead, 0xfe17, 0x5c, 0xff76, -0x5c, 0xff76, 0x513, 0x3e1, 0x513, 0x3e1, 0x513, 0x3e1, 0x9e2, 0x86a, 0x9e2, -0x86a, 0xba9, 0x9f1, 0xba9, 0x9f1, 0xd8c, 0xb97, 0xd8c, 0xb97, 0x1041, 0xe16, -0x1041, 0xe16, 0x123d, 0xfdf, 0x123d, 0xfdf, 0x1414, 0x1186, 0x1414, 0x1186, 0x1414, -0x1186, 0x15c1, 0x1308, 0x15c1, 0x1308, 0x15d0, 0x12ed, 0x15d0, 0x12ed, 0x18c2, 0x15b8, -0x18c2, 0x15b8, 0x1911, 0x15e2, 0x1911, 0x15e2, 0x1b98, 0x1845, 0x1b98, 0x1845, 0x1bea, -0x1872, 0x1bea, 0x1872, 0x1bea, 0x1872, 0x1c14, 0x1879, 0x1c14, 0x1879, 0x1d3d, 0x1980, -0x1d3d, 0x1980, 0x1e8e, 0x1aaf, 0x1e8e, 0x1aaf, 0x20d4, 0x1cd4, 0x20d4, 0x1cd4, 0x229b, -0x1e7b, 0x229b, 0x1e7b, 0x229b, 0x1e7b, 0x25ac, 0x216f, 0x25ac, 0x216f, 0x25b2, 0x215a, -0x25b2, 0x215a, 0x27b5, 0x2347, 0x27b5, 0x2347, 0x282b, 0x23ab, 0x282b, 0x23ab, 0x26a0, -0x2214, 0x26a0, 0x2214, 0x27d9, 0x234a, 0x27d9, 0x234a, 0x27d9, 0x234a, 0x2a29, 0x259d, -0x2a29, 0x259d, 0x28c2, 0x2443, 0x28c2, 0x2443, 0x292b, 0x24c3, 0x292b, 0x24c3, 0x2b2e, -0x26e7, 0x2b2e, 0x26e7, 0x2958, 0x253e, 0x2958, 0x253e, 0x2958, 0x253e, 0x270d, 0x232b, -0x270d, 0x232b, 0x257d, 0x21de, 0x257d, 0x21de, 0x2331, 0x1fe1, 0x2331, 0x1fe1, 0x20e3, -0x1deb, 0x20e3, 0x1deb, 0x1c80, 0x19ea, 0x1c80, 0x19ea, 0x1c05, 0x19d9, 0x1c05, 0x19d9, -0x1c05, 0x19d9, 0x19f5, 0x183a, 0x19f5, 0x183a, 0x14b5, 0x1371, 0x14b5, 0x1371, 0x1335, -0x126c, 0x1335, 0x126c, 0x107f, 0x1032, 0x107f, 0x1032, 0xd86, 0xdb5, 0xd86, 0xdb5, -0xb09, 0xbb4, 0xb09, 0xbb4, 0xb09, 0xbb4, 0x9d0, 0xaf1, 0x9d0, 0xaf1, 0x6e3, -0x876, 0x6e3, 0x876, 0x49c, 0x698, 0x49c, 0x698, 0xb4, 0x311, 0xb4, 0x311, -0xfe84, 0x138, 0xfe84, 0x138, 0xfe84, 0x138, 0xfcaf, 0xffae, 0xfcaf, 0xffae, 0xfd05, -0x43, 0xfd05, 0x43, 0xf9a7, 0xfd19, 0xf9a7, 0xfd19, 0xf91a, 0xfcb1, 0xf91a, 0xfcb1, -0xf897, 0xfc48, 0xf897, 0xfc48, 0xf41a, 0xf7d9, 0xf41a, 0xf7d9, 0xf41a, 0xf7d9, 0xf620, -0xf9e1, 0xf620, 0xf9e1, 0xf2e0, 0xf69a, 0xf2e0, 0xf69a, 0xf18b, 0xf533, 0xf18b, 0xf533, -0xeffd, 0xf38c, 0xeffd, 0xf38c, 0xf141, 0xf4b0, 0xf141, 0xf4b0, 0xedd5, 0xf11f, 0xedd5, -0xf11f, 0xedd5, 0xf11f, 0xec3e, 0xef5f, 0xec3e, 0xef5f, 0xecb4, 0xefaa, 0xecb4, 0xefaa, -0xedaa, 0xf074, 0xedaa, 0xf074, 0xefc0, 0xf25e, 0xefc0, 0xf25e, 0xed03, 0xef76, 0xed03, -0xef76, 0xed03, 0xef76, 0xefc1, 0xf20c, 0xefc1, 0xf20c, 0xf0ed, 0xf313, 0xf0ed, 0xf313, -0xf1b2, 0xf3b5, 0xf1b2, 0xf3b5, 0xf05c, 0xf240, 0xf05c, 0xf240, 0xf193, 0xf35a, 0xf193, -0xf35a, 0xf10b, 0xf2b9, 0xf10b, 0xf2b9, 0xf10b, 0xf2b9, 0xf096, 0xf22d, 0xf096, 0xf22d, -0xf173, 0xf2f3, 0xf173, 0xf2f3, 0xeefa, 0xf065, 0xeefa, 0xf065, 0xedc1, 0xef16, 0xedc1, -0xef16, 0xed5f, 0xee9e, 0xed5f, 0xee9e, 0xeea4, 0xefc9, 0xeea4, 0xefc9, 0xeea4, 0xefc9, -0xef37, 0xf040, 0xef37, 0xf040, 0xec09, 0xecf2, 0xec09, 0xecf2, 0xeb02, 0xebc5, 0xeb02, -0xebc5, 0xed45, 0xeddd, 0xed45, 0xeddd, 0xed31, 0xed9a, 0xed31, 0xed9a, 0xed31, 0xed9a, -0xed4c, 0xed7f, 0xed4c, 0xed7f, 0xed2b, 0xed22, 0xed2b, 0xed22, 0xeebc, 0xee74, 0xeebc, -0xee74, 0xf2e0, 0xf253, 0xf2e0, 0xf253, 0xf5f7, 0xf522, 0xf5f7, 0xf522, 0xfabb, 0xf99d, -0xfabb, 0xf99d, 0xfabb, 0xf99d, 0xfd4a, 0xfbe1, 0xfd4a, 0xfbe1, 0xfe47, 0xfc92, 0xfe47, -0xfc92, 0x467, 0x26a, 0x467, 0x26a, 0x4a0, 0x25f, 0x4a0, 0x25f, 0x879, 0x5f9, -0x879, 0x5f9, 0xb96, 0x8dd, 0xb96, 0x8dd, 0xb96, 0x8dd, 0xb33, 0x84a, 0xb33, -0x84a, 0xfa5, 0xc95, 0xfa5, 0xc95, 0x101c, 0xcf1, 0x101c, 0xcf1, 0xe97, 0xb5b, -0xe97, 0xb5b, 0xdff, 0xac0, 0xdff, 0xac0, 0xdff, 0xac0, 0xdb2, 0xa7b, 0xdb2, -0xa7b, 0xe41, 0xb1f, 0xe41, 0xb1f, 0xf48, 0xc46, 0xf48, 0xc46, 0xd2a, 0xa54, -0xd2a, 0xa54, 0xe2f, 0xb8e, 0xe2f, 0xb8e, 0xb59, 0x8f8, 0xb59, 0x8f8, 0xb59, -0x8f8, 0xbb8, 0x99e, 0xbb8, 0x99e, 0xcd0, 0xb01, 0xcd0, 0xb01, 0xa2c, 0x8ad, -0xa2c, 0x8ad, 0xa6e, 0x941, 0xa6e, 0x941, 0x943, 0x869, 0x943, 0x869, 0x8b1, -0x826, 0x8b1, 0x826, 0x8b1, 0x826, 0x897, 0x858, 0x897, 0x858, 0x8d9, 0x8e1, -0x8d9, 0x8e1, 0x51d, 0x563, 0x51d, 0x563, 0x59c, 0x619, 0x59c, 0x619, 0x50f, -0x5b8, 0x50f, 0x5b8, 0x50f, 0x5b8, 0x490, 0x55c, 0x490, 0x55c, 0x735, 0x819, -0x735, 0x819, 0x515, 0x605, 0x515, 0x605, 0x5f5, 0x6e7, 0x5f5, 0x6e7, 0x67e, -0x766, 0x67e, 0x766, 0x5b6, 0x68c, 0x5b6, 0x68c, 0x5b6, 0x68c, 0x94b, 0xa05, -0x94b, 0xa05, 0x76a, 0x802, 0x76a, 0x802, 0x6ae, 0x71d, 0x6ae, 0x71d, 0x97b, -0x9bc, 0x97b, 0x9bc, 0x71b, 0x72c, 0x71b, 0x72c, 0x82e, 0x80f, 0x82e, 0x80f, -0x82e, 0x80f, 0x9c9, 0x977, 0x9c9, 0x977, 0xa97, 0xa16, 0xa97, 0xa16, 0xc8f, -0xbe1, 0xc8f, 0xbe1, 0xf97, 0xec1, 0xf97, 0xec1, 0x10b9, 0xfbf, 0x10b9, 0xfbf, -0x10b9, 0xfbf, 0x108e, 0xf76, 0x108e, 0xf76, 0x129c, 0x116d, 0x129c, 0x116d, 0x145d, -0x131b, 0x145d, 0x131b, 0x1519, 0x13cc, 0x1519, 0x13cc, 0x143c, 0x12e8, 0x143c, 0x12e8, -0x1463, 0x130e, 0x1463, 0x130e, 0x1463, 0x130e, 0x143d, 0x12ea, 0x143d, 0x12ea, 0x11b9, -0x106c, 0x11b9, 0x106c, 0xf5b, 0xe16, 0xf5b, 0xe16, 0xf1c, 0xddf, 0xf1c, 0xddf, -0xf5f, 0xe2a, 0xf5f, 0xe2a, 0xf13, 0xde5, 0xf13, 0xde5, 0xf13, 0xde5, 0x1004, -0xed9, 0x1004, 0xed9, 0xfb0, 0xe83, 0xfb0, 0xe83, 0xe31, 0xcff, 0xe31, 0xcff, -0xdce, 0xc91, 0xdce, 0xc91, 0xd01, 0xbb4, 0xd01, 0xbb4, 0xd01, 0xbb4, 0xd9d, -0xc38, 0xd9d, 0xc38, 0xfc6, 0xe45, 0xfc6, 0xe45, 0x1215, 0x1072, 0x1215, 0x1072, -0x15c7, 0x13fd, 0x15c7, 0x13fd, 0x18f7, 0x1702, 0x18f7, 0x1702, 0x1ac1, 0x189f, 0x1ac1, -0x189f, 0x1ac1, 0x189f, 0x1deb, 0x1b99, 0x1deb, 0x1b99, 0x1ddf, 0x1b5e, 0x1ddf, 0x1b5e, -0x1d6c, 0x1abd, 0x1d6c, 0x1abd, 0x2020, 0x1d45, 0x2020, 0x1d45, 0x20dd, 0x1ddc, 0x20dd, -0x1ddc, 0x2373, 0x2052, 0x2373, 0x2052, 0x2373, 0x2052, 0x264a, 0x2310, 0x264a, 0x2310, -0x24e3, 0x2198, 0x24e3, 0x2198, 0x2329, 0x1fd7, 0x2329, 0x1fd7, 0x22f4, 0x1fa6, 0x22f4, -0x1fa6, 0x22ff, 0x1fc0, 0x22ff, 0x1fc0, 0x22ff, 0x1fc0, 0x218c, 0x1e67, 0x218c, 0x1e67, -0x1eca, 0x1bca, 0x1eca, 0x1bca, 0x1ca4, 0x19d4, 0x1ca4, 0x19d4, 0x195b, 0x16c5, 0x195b, -0x16c5, 0x168c, 0x1439, 0x168c, 0x1439, 0x12e7, 0x10e1, 0x12e7, 0x10e1, 0x12e7, 0x10e1, -0xed2, 0xd1e, 0xed2, 0xd1e, 0xca5, 0xb49, 0xca5, 0xb49, 0xa5a, 0x958, 0xa5a, -0x958, 0x974, 0x8d0, 0x974, 0x8d0, 0x4ef, 0x4a8, 0x4ef, 0x4a8, 0x4ef, 0x4a8, -0xe3, 0xf6, 0xe3, 0xf6, 0xfef3, 0xff5e, 0xfef3, 0xff5e, 0xfa93, 0xfb51, 0xfa93, -0xfb51, 0xf8a6, 0xf9b0, 0xf8a6, 0xf9b0, 0xf594, 0xf6e3, 0xf594, 0xf6e3, 0xf315, 0xf49f, -0xf315, 0xf49f, 0xf315, 0xf49f, 0xf187, 0xf345, 0xf187, 0xf345, 0xf2cc, 0xf4b4, 0xf2cc, -0xf4b4, 0xf228, 0xf42f, 0xf228, 0xf42f, 0xecac, 0xeeca, 0xecac, 0xeeca, 0xec52, 0xee7d, -0xec52, 0xee7d, 0xea74, 0xeca3, 0xea74, 0xeca3, 0xea74, 0xeca3, 0xe930, 0xeb5c, 0xe930, -0xeb5c, 0xe867, 0xea8a, 0xe867, 0xea8a, 0xe64c, 0xe85f, 0xe64c, 0xe85f, 0xe527, 0xe727, -0xe527, 0xe727, 0xe381, 0xe56a, 0xe381, 0xe56a, 0xe381, 0xe56a, 0xe3f1, 0xe5c1, 0xe3f1, -0xe5c1, 0xe4d8, 0xe68e, 0xe4d8, 0xe68e, 0xe422, 0xe5bf, 0xe422, 0xe5bf, 0xe59b, 0xe721, -0xe59b, 0xe721, 0xe7be, 0xe92d, 0xe7be, 0xe92d, 0xe84f, 0xe9ab, 0xe84f, 0xe9ab, 0xe84f, -0xe9ab, 0xea24, 0xeb71, 0xea24, 0xeb71, 0xeb36, 0xec76, 0xeb36, 0xec76, 0xec06, 0xed3d, -0xec06, 0xed3d, 0xecd0, 0xee00, 0xecd0, 0xee00, 0xeebe, 0xefeb, 0xeebe, 0xefeb, 0xed69, -0xee94, 0xed69, 0xee94, 0xed69, 0xee94, 0xec35, 0xed60, 0xec35, 0xed60, 0xebe0, 0xed0c, -0xebe0, 0xed0c, 0xeb9f, 0xeccc, 0xeb9f, 0xeccc, 0xec66, 0xed92, 0xec66, 0xed92, 0xeb3b, -0xec64, 0xeb3b, 0xec64, 0xeb3b, 0xec64, 0xeaf9, 0xec1d, 0xeaf9, 0xec1d, 0xe9bc, 0xead7, -0xe9bc, 0xead7, 0xea29, 0xeb37, 0xea29, 0xeb37, 0xea19, 0xeb16, 0xea19, 0xeb16, 0xe978, -0xea60, 0xe978, 0xea60, 0xeb20, 0xebed, 0xeb20, 0xebed, 0xeb20, 0xebed, 0xeca9, 0xed57, -0xeca9, 0xed57, 0xef33, 0xefbd, 0xef33, 0xefbd, 0xf314, 0xf377, 0xf314, 0xf377, 0xf496, -0xf4cf, 0xf496, 0xf4cf, 0xf74d, 0xf75b, 0xf74d, 0xf75b, 0xfa51, 0xfa32, 0xfa51, 0xfa32, -0xfa51, 0xfa32, 0xfc04, 0xfbb8, 0xfc04, 0xfbb8, 0xff94, 0xff1e, 0xff94, 0xff1e, 0xe2, -0x45, 0xe2, 0x45, 0x1db, 0x11a, 0x1db, 0x11a, 0x5a7, 0x4c7, 0x5a7, 0x4c7, -0x5a7, 0x4c7, 0x857, 0x75f, 0x857, 0x75f, 0x959, 0x851, 0x959, 0x851, 0x942, -0x831, 0x942, 0x831, 0x979, 0x869, 0x979, 0x869, 0x923, 0x81d, 0x923, 0x81d, -0x71e, 0x62b, 0x71e, 0x62b, 0x71e, 0x62b, 0x87b, 0x7a4, 0x87b, 0x7a4, 0x69f, -0x5ed, 0x69f, 0x5ed, 0x55c, 0x4d8, 0x55c, 0x4d8, 0x424, 0x3d5, 0x424, 0x3d5, -0x264, 0x251, 0x264, 0x251, 0x3d2, 0x401, 0x3d2, 0x401, 0x3d2, 0x401, 0xff9c, -0x10, 0xff9c, 0x10, 0xfec4, 0xff82, 0xfec4, 0xff82, 0x68, 0x170, 0x68, 0x170, -0xfc8b, 0xfddf, 0xfc8b, 0xfddf, 0xfa30, 0xfbcd, 0xfa30, 0xfbcd, 0xfa30, 0xfbcd, 0xf894, -0xfa78, 0xf894, 0xfa78, 0xf544, 0xf76d, 0xf544, 0xf76d, 0xf381, 0xf5ea, 0xf381, 0xf5ea, -0xf1c0, 0xf464, 0xf1c0, 0xf464, 0xef0f, 0xf1e8, 0xef0f, 0xf1e8, 0xec6e, 0xef75, 0xec6e, -0xef75, 0xec6e, 0xef75, 0xec1e, 0xef4c, 0xec1e, 0xef4c, 0xeb34, 0xee84, 0xeb34, 0xee84, -0xe98d, 0xecf8, 0xe98d, 0xecf8, 0xe635, 0xe9b5, 0xe635, 0xe9b5, 0xe2bc, 0xe64c, 0xe2bc, -0xe64c, 0xdf6a, 0xe306, 0xdf6a, 0xe306, 0xdf6a, 0xe306, 0xdbbb, 0xdf5e, 0xdbbb, 0xdf5e, -0xdaa1, 0xde47, 0xdaa1, 0xde47, 0xd7e8, 0xdb8f, 0xd7e8, 0xdb8f, 0xd783, 0xdb2b, 0xd783, -0xdb2b, 0xd6d0, 0xda76, 0xd6d0, 0xda76, 0xd6d0, 0xda76, 0xd667, 0xda0b, 0xd667, 0xda0b, -0xd7bf, 0xdb62, 0xd7bf, 0xdb62, 0xd905, 0xdca7, 0xd905, 0xdca7, 0xd90b, 0xdcae, 0xd90b, -0xdcae, 0xd819, 0xdbbc, 0xd819, 0xdbbc, 0xd979, 0xdd1d, 0xd979, 0xdd1d, 0xd979, 0xdd1d, -0xdada, 0xde7f, 0xdada, 0xde7f, 0xdc63, 0xe00b, 0xdc63, 0xe00b, 0xdcfc, 0xe0a4, 0xdcfc, -0xe0a4, 0xdc6e, 0xe014, 0xdc6e, 0xe014, 0xdbd3, 0xdf75, 0xdbd3, 0xdf75, 0xdcf9, 0xe093, -0xdcf9, 0xe093, 0xdcf9, 0xe093, 0xdd51, 0xe0df, 0xdd51, 0xe0df, 0xdbb1, 0xdf2e, 0xdbb1, -0xdf2e, 0xdaf4, 0xde59, 0xdaf4, 0xde59, 0xdc0e, 0xdf54, 0xdc0e, 0xdf54, 0xdcdf, 0xdffe, -0xdcdf, 0xdffe, 0xdcdf, 0xdffe, 0xdcbc, 0xdfad, 0xdcbc, 0xdfad, 0xdd39, 0xdff3, 0xdd39, -0xdff3, 0xde50, 0xe0ca, 0xde50, 0xe0ca, 0xdf81, 0xe1b4, 0xdf81, 0xe1b4, 0xe1c9, 0xe3ad, -0xe1c9, 0xe3ad, 0xe5e6, 0xe774, 0xe5e6, 0xe774, 0xe5e6, 0xe774, 0xe7cc, 0xe8fe, 0xe7cc, -0xe8fe, 0xeb0a, 0xebdc, 0xeb0a, 0xebdc, 0xf0bc, 0xf12a, 0xf0bc, 0xf12a, 0xf499, 0xf4a1, -0xf499, 0xf4a1, 0xf8d4, 0xf876, 0xf8d4, 0xf876, 0xfd4c, 0xfc89, 0xfd4c, 0xfc89, 0xfd4c, -0xfc89, 0x31, 0xff0b, 0x31, 0xff0b, 0x308, 0x183, 0x308, 0x183, 0x88d, 0x6b0, -0x88d, 0x6b0, 0xb76, 0x948, 0xb76, 0x948, 0xcd6, 0xa5e, 0xcd6, 0xa5e, 0xcd6, -0xa5e, 0xfd2, 0xd1a, 0xfd2, 0xd1a, 0x103c, 0xd4d, 0x103c, 0xd4d, 0x14cd, 0x11b2, -0x14cd, 0x11b2, 0x1832, 0x14f5, 0x1832, 0x14f5, 0x185c, 0x1507, 0x185c, 0x1507, 0x1b53, -0x17ee, 0x1b53, 0x17ee, 0x1b53, 0x17ee, 0x1cae, 0x1943, 0x1cae, 0x1943, 0x1d68, 0x19ff, -0x1d68, 0x19ff, 0x1dca, 0x1a69, 0x1dca, 0x1a69, 0x1ca9, 0x1956, 0x1ca9, 0x1956, 0x1bd5, -0x1893, 0x1bd5, 0x1893, 0x1d74, 0x1a46, 0x1d74, 0x1a46, 0x1d74, 0x1a46, 0x1dc0, 0x1aa9, -0x1dc0, 0x1aa9, 0x1fa9, 0x1ca7, 0x1fa9, 0x1ca7, 0x2067, 0x1d79, 0x2067, 0x1d79, 0x1d51, -0x1a75, 0x1d51, 0x1a75, 0x1e09, 0x1b3b, 0x1e09, 0x1b3b, 0x1e09, 0x1b3b, 0x1de9, 0x1b25, -0x1de9, 0x1b25, 0x1c4f, 0x1992, 0x1c4f, 0x1992, 0x1d0d, 0x1a52, 0x1d0d, 0x1a52, 0x1cde, -0x1a21, 0x1cde, 0x1a21, 0x1b1c, 0x1858, 0x1b1c, 0x1858, 0x1b62, 0x1895, 0x1b62, 0x1895, -0x1b62, 0x1895, 0x1a27, 0x1750, 0x1a27, 0x1750, 0x19b9, 0x16d5, 0x19b9, 0x16d5, 0x1996, -0x16a6, 0x1996, 0x16a6, 0x15f3, 0x12f8, 0x15f3, 0x12f8, 0x14dd, 0x11db, 0x14dd, 0x11db, -0x14dd, 0x11db, 0x1387, 0x1082, 0x1387, 0x1082, 0x1086, 0xd82, 0x1086, 0xd82, 0x1009, -0xd0f, 0x1009, 0xd0f, 0x10bb, 0xdd3, 0x10bb, 0xdd3, 0x10c3, 0xdf4, 0x10c3, 0xdf4, -0x11fa, 0xf4d, 0x11fa, 0xf4d, 0x11fa, 0xf4d, 0x11a6, 0xf25, 0x11a6, 0xf25, 0x1106, -0xeb9, 0x1106, 0xeb9, 0x1175, 0xf65, 0x1175, 0xf65, 0x10cf, 0xf04, 0x10cf, 0xf04, -0x112c, 0xfac, 0x112c, 0xfac, 0x1072, 0xf43, 0x1072, 0xf43, 0x1072, 0xf43, 0xf78, -0xe9d, 0xf78, 0xe9d, 0xf00, 0xe7b, 0xf00, 0xe7b, 0xe61, 0xe32, 0xe61, 0xe32, -0xc23, 0xc47, 0xc23, 0xc47, 0x9d9, 0xa4d, 0x9d9, 0xa4d, 0x9d9, 0xa4d, 0x8ff, -0x9bd, 0x8ff, 0x9bd, 0x63d, 0x73e, 0x63d, 0x73e, 0x4ee, 0x628, 0x4ee, 0x628, -0x400, 0x569, 0x400, 0x569, 0x1bb, 0x348, 0x1bb, 0x348, 0x12f, 0x2d2, 0x12f, -0x2d2, 0x12f, 0x2d2, 0x165, 0x313, 0x165, 0x313, 0xff5d, 0x10a, 0xff5d, 0x10a, -0xfe9b, 0x39, 0xfe9b, 0x39, 0xbf, 0x244, 0xbf, 0x244, 0xff9a, 0xfd, 0xff9a, -0xfd, 0xffd6, 0x10e, 0xffd6, 0x10e, 0xffd6, 0x10e, 0x2e8, 0x3ee, 0x2e8, 0x3ee, -0x4db, 0x5aa, 0x4db, 0x5aa, 0x6a7, 0x73c, 0x6a7, 0x73c, 0x73b, 0x795, 0x73b, -0x795, 0x7c8, 0x7eb, 0x7c8, 0x7eb, 0x7c8, 0x7eb, 0x91a, 0x907, 0x91a, 0x907, -0x9c8, 0x985, 0x9c8, 0x985, 0xae7, 0xa7c, 0xae7, 0xa7c, 0xb8c, 0xb01, 0xb8c, -0xb01, 0xab5, 0xa14, 0xab5, 0xa14, 0xb21, 0xa75, 0xb21, 0xa75, 0xb21, 0xa75, -0x94c, 0x89f, 0x94c, 0x89f, 0x61d, 0x57a, 0x61d, 0x57a, 0x473, 0x3e4, 0x473, -0x3e4, 0x2bc, 0x24c, 0x2bc, 0x24c, 0x18d, 0x143, 0x18d, 0x143, 0x28, 0xc, -0x28, 0xc, 0x28, 0xc, 0xfded, 0xfe04, 0xfded, 0xfe04, 0xfa87, 0xfad4, 0xfa87, -0xfad4, 0xf9f0, 0xfa75, 0xf9f0, 0xfa75, 0xf9ac, 0xfa68, 0xf9ac, 0xfa68, 0xf5fc, 0xf6ed, -0xf5fc, 0xf6ed, 0xf5fc, 0xf6ed, 0xf4ab, 0xf5cb, 0xf4ab, 0xf5cb, 0xf3f9, 0xf542, 0xf3f9, -0xf542, 0xf217, 0xf380, 0xf217, 0xf380, 0xf1f2, 0xf372, 0xf1f2, 0xf372, 0xef34, 0xf0bf, -0xef34, 0xf0bf, 0xec30, 0xedba, 0xec30, 0xedba, 0xec30, 0xedba, 0xeb68, 0xece7, 0xeb68, -0xece7, 0xeace, 0xec36, 0xeace, 0xec36, 0xed73, 0xeeb8, 0xed73, 0xeeb8, 0xee22, 0xef3a, -0xee22, 0xef3a, 0xed25, 0xee07, 0xed25, 0xee07, 0xee7c, 0xef21, 0xee7c, 0xef21, 0xee7c, -0xef21, 0xef6e, 0xefcf, 0xef6e, 0xefcf, 0xf064, 0xf07e, 0xf064, 0xf07e, 0xf0cf, 0xf0a1, -0xf0cf, 0xf0a1, 0xeff8, 0xef82, 0xeff8, 0xef82, 0xef5a, 0xee9e, 0xef5a, 0xee9e, 0xef5a, -0xee9e, 0xf022, 0xef26, 0xf022, 0xef26, 0xefad, 0xee78, 0xefad, 0xee78, 0xefa1, 0xee3b, -0xefa1, 0xee3b, 0xf113, 0xef87, 0xf113, 0xef87, 0xf255, 0xf0ad, 0xf255, 0xf0ad, 0xf4c0, -0xf309, 0xf4c0, 0xf309, 0xf4c0, 0xf309, 0xf769, 0xf5af, 0xf769, 0xf5af, 0xf9b1, 0xf7ff, -0xf9b1, 0xf7ff, 0xfb14, 0xf976, 0xfb14, 0xf976, 0xfd63, 0xfbe3, 0xfd63, 0xfbe3, 0xffff, -0xfea8, 0xffff, 0xfea8, 0x77, 0xff4f, 0x77, 0xff4f, 0x77, 0xff4f, 0x56, 0xff64, -0x56, 0xff64, 0x36, 0xff7d, 0x36, 0xff7d, 0xffd0, 0xff52, 0xffd0, 0xff52, 0x4c, -0x8, 0x4c, 0x8, 0xa0, 0x93, 0xa0, 0x93, 0xa0, 0x93, 0x24, 0x4a, -0x24, 0x4a, 0x9a, 0xed, 0x9a, 0xed, 0x1a3, 0x218, 0x1a3, 0x218, 0x249, -0x2d8, 0x249, 0x2d8, 0x2c7, 0x363, 0x2c7, 0x363, 0x41b, 0x4ba, 0x41b, 0x4ba, -0x41b, 0x4ba, 0x53b, 0x5d0, 0x53b, 0x5d0, 0x6ac, 0x72b, 0x6ac, 0x72b, 0x8b5, -0x913, 0x8b5, 0x913, 0xb33, 0xb66, 0xb33, 0xb66, 0xd79, 0xd78, 0xd79, 0xd78, -0x1082, 0x1045, 0x1082, 0x1045, 0x1082, 0x1045, 0x1406, 0x1389, 0x1406, 0x1389, 0x1508, -0x1447, 0x1508, 0x1447, 0x17e6, 0x16df, 0x17e6, 0x16df, 0x19a7, 0x185c, 0x19a7, 0x185c, -0x1a46, 0x18bb, 0x1a46, 0x18bb, 0x1a46, 0x18bb, 0x1d67, 0x1ba1, 0x1d67, 0x1ba1, 0x1f53, -0x1d5a, 0x1f53, 0x1d5a, 0x2013, 0x1df2, 0x2013, 0x1df2, 0x2097, 0x1e58, 0x2097, 0x1e58, -0x204c, 0x1dfa, 0x204c, 0x1dfa, 0x1e2d, 0x1bd6, 0x1e2d, 0x1bd6, 0x1e2d, 0x1bd6, 0x1d24, -0x1ad4, 0x1d24, 0x1ad4, 0x1b98, 0x195c, 0x1b98, 0x195c, 0x192c, 0x1712, 0x192c, 0x1712, -0x1878, 0x168a, 0x1878, 0x168a, 0x167c, 0x14c4, 0x167c, 0x14c4, 0x13e8, 0x126f, 0x13e8, -0x126f, 0x13e8, 0x126f, 0x122e, 0x10fa, 0x122e, 0x10fa, 0xfe7, 0xefd, 0xfe7, 0xefd, -0xf19, 0xe7a, 0xf19, 0xe7a, 0xf24, 0xece, 0xf24, 0xece, 0xc76, 0xc68, 0xc76, -0xc68, 0xc76, 0xc68, 0xab1, 0xae4, 0xab1, 0xae4, 0x9c8, 0xa36, 0x9c8, 0xa36, -0x922, 0x9c1, 0x922, 0x9c1, 0x8fb, 0x9c0, 0x8fb, 0x9c0, 0x7dd, 0x8bb, 0x7dd, -0x8bb, 0x62f, 0x719, 0x62f, 0x719, 0x62f, 0x719, 0x552, 0x63b, 0x552, 0x63b, -0x696, 0x770, 0x696, 0x770, 0x6ec, 0x7a9, 0x6ec, 0x7a9, 0x7b9, 0x84d, 0x7b9, -0x84d, 0x726, 0x785, 0x726, 0x785, 0x5ea, 0x60a, 0x5ea, 0x60a, 0x5ea, 0x60a, -0x698, 0x671, 0x698, 0x671, 0x544, 0x4d0, 0x544, 0x4d0, 0x4ed, 0x429, 0x4ed, -0x429, 0x65b, 0x545, 0x65b, 0x545, 0x5a1, 0x43a, 0x5a1, 0x43a, 0x5a1, 0x43a, -0x596, 0x3e2, 0x596, 0x3e2, 0x6db, 0x4de, 0x6db, 0x4de, 0x797, 0x559, 0x797, -0x559, 0xa48, 0x7d3, 0xa48, 0x7d3, 0xa2a, 0x788, 0xa2a, 0x788, 0xb36, 0x873, -0xb36, 0x873, 0xb36, 0x873, 0xdb5, 0xadd, 0xdb5, 0xadd, 0xc6f, 0x98f, 0xc6f, -0x98f, 0xe80, 0xba5, 0xe80, 0xba5, 0xe77, 0xbad, 0xe77, 0xbad, 0xb91, 0x8e3, -0xb91, 0x8e3, 0xb91, 0x8e3, 0xb6b, 0x8e3, 0xb6b, 0x8e3, 0xb97, 0x93e, 0xb97, -0x93e, 0xa15, 0x7f2, 0xa15, 0x7f2, 0x7fe, 0x617, 0x7fe, 0x617, 0x63e, 0x495, -0x63e, 0x495, 0x4f3, 0x389, 0x4f3, 0x389, 0x4f3, 0x389, 0x53a, 0x40f, 0x53a, -0x40f, 0x323, 0x233, 0x323, 0x233, 0xffb6, 0xfefe, 0xffb6, 0xfefe, 0xfe9f, 0xfe19, -0xfe9f, 0xfe19, 0xfd82, 0xfd27, 0xfd82, 0xfd27, 0xfc45, 0xfc0d, 0xfc45, 0xfc0d, 0xfc45, -0xfc0d, 0xfd65, 0xfd49, 0xfd65, 0xfd49, 0xfd67, 0xfd5e, 0xfd67, 0xfd5e, 0xfd04, 0xfd05, -0xfd04, 0xfd05, 0xff35, 0xff39, 0xff35, 0xff39, 0x19c, 0x19c, 0x19c, 0x19c, 0x19c, -0x19c, 0x3a3, 0x399, 0x3a3, 0x399, 0x3aa, 0x394, 0x3aa, 0x394, 0x43d, 0x417, -0x43d, 0x417, 0x5b2, 0x57b, 0x5b2, 0x57b, 0x621, 0x5db, 0x621, 0x5db, 0x67c, -0x62a, 0x67c, 0x62a, 0x67c, 0x62a, 0x751, 0x6f7, 0x751, 0x6f7, 0x772, 0x716, -0x772, 0x716, 0x64a, 0x5f4, 0x64a, 0x5f4, 0x6ac, 0x665, 0x6ac, 0x665, 0x64e, -0x620, 0x64e, 0x620, 0x437, 0x42b, 0x437, 0x42b, 0x437, 0x42b, 0x380, 0x3a1, -0x380, 0x3a1, 0x379, 0x3d1, 0x379, 0x3d1, 0x219, 0x2b3, 0x219, 0x2b3, 0xffd4, -0xb7, 0xffd4, 0xb7, 0xfc98, 0xfdcc, 0xfc98, 0xfdcc, 0xfc98, 0xfdcc, 0xfa43, 0xfbce, -0xfa43, 0xfbce, 0xf926, 0xfb0c, 0xf926, 0xfb0c, 0xf7f1, 0xfa34, 0xf7f1, 0xfa34, 0xf7fc, -0xfa9d, 0xf7fc, 0xfa9d, 0xf709, 0xfa07, 0xf709, 0xfa07, 0xf49b, 0xf7f1, 0xf49b, 0xf7f1, -0xf49b, 0xf7f1, 0xf1dc, 0xf584, 0xf1dc, 0xf584, 0xef97, 0xf38a, 0xef97, 0xf38a, 0xed3c, -0xf171, 0xed3c, 0xf171, 0xec46, 0xf0b1, 0xec46, 0xf0b1, 0xebd8, 0xf06e, 0xebd8, 0xf06e, -0xea9a, 0xef4f, 0xea9a, 0xef4f, 0xea9a, 0xef4f, 0xec53, 0xf119, 0xec53, 0xf119, 0xecf5, -0xf1bf, 0xecf5, 0xf1bf, 0xece0, 0xf1a1, 0xece0, 0xf1a1, 0xedc1, 0xf26c, 0xedc1, 0xf26c, -0xec0d, 0xf099, 0xec0d, 0xf099, 0xec0d, 0xf099, 0xeadc, 0xef3d, 0xeadc, 0xef3d, 0xeb0b, -0xef3a, 0xeb0b, 0xef3a, 0xea9b, 0xee8f, 0xea9b, 0xee8f, 0xead9, 0xee8e, 0xead9, 0xee8e, -0xeb59, 0xeecd, 0xeb59, 0xeecd, 0xebe9, 0xef19, 0xebe9, 0xef19, 0xebe9, 0xef19, 0xece8, -0xefd5, 0xece8, 0xefd5, 0xee70, 0xf11d, 0xee70, 0xf11d, 0xf02c, 0xf29b, 0xf02c, 0xf29b, -0xf0c1, 0xf2f8, 0xf0c1, 0xf2f8, 0xf2a8, 0xf4ae, 0xf2a8, 0xf4ae, 0xf467, 0xf642, 0xf467, -0xf642, 0xf467, 0xf642, 0xf57b, 0xf733, 0xf57b, 0xf733, 0xf718, 0xf8b5, 0xf718, 0xf8b5, -0xf887, 0xfa12, 0xf887, 0xfa12, 0xfa20, 0xfb9f, 0xfa20, 0xfb9f, 0xfa2a, 0xfba5, 0xfa2a, -0xfba5, 0xfa2a, 0xfba5, 0xf9c7, 0xfb43, 0xf9c7, 0xfb43, 0xf961, 0xfae5, 0xf961, 0xfae5, -0xf784, 0xf914, 0xf784, 0xf914, 0xf424, 0xf5c3, 0xf424, 0xf5c3, 0xf345, 0xf4f5, 0xf345, -0xf4f5, 0xf2f9, 0xf4bb, 0xf2f9, 0xf4bb, 0xf2f9, 0xf4bb, 0xf11c, 0xf2ef, 0xf11c, 0xf2ef, -0xf07a, 0xf25d, 0xf07a, 0xf25d, 0xefb5, 0xf1a6, 0xefb5, 0xf1a6, 0xf023, 0xf21f, 0xf023, -0xf21f, 0xf012, 0xf215, 0xf012, 0xf215, 0xf022, 0xf229, 0xf022, 0xf229, 0xf022, 0xf229, -0xefbe, 0xf1c5, 0xefbe, 0xf1c5, 0xee74, 0xf077, 0xee74, 0xf077, 0xefae, 0xf1a9, 0xefae, -0xf1a9, 0xf063, 0xf253, 0xf063, 0xf253, 0xefdb, 0xf1bf, 0xefdb, 0xf1bf, 0xefdb, 0xf1bf, -0xefc5, 0xf19a, 0xefc5, 0xf19a, 0xf0d3, 0xf299, 0xf0d3, 0xf299, 0xf1c9, 0xf37f, 0xf1c9, -0xf37f, 0xf27e, 0xf426, 0xf27e, 0xf426, 0xf2c7, 0xf463, 0xf2c7, 0xf463, 0xf2a4, 0xf437, -0xf2a4, 0xf437, 0xf2a4, 0xf437, 0xf2ef, 0xf47c, 0xf2ef, 0xf47c, 0xf361, 0xf4ec, 0xf361, -0xf4ec, 0xf2d1, 0xf45d, 0xf2d1, 0xf45d, 0xf05f, 0xf1f1, 0xf05f, 0xf1f1, 0xef3e, 0xf0da, -0xef3e, 0xf0da, 0xef0c, 0xf0b6, 0xef0c, 0xf0b6, 0xef0c, 0xf0b6, 0xeda1, 0xef5d, 0xeda1, -0xef5d, 0xeb4f, 0xed1f, 0xeb4f, 0xed1f, 0xe9b9, 0xeb9f, 0xe9b9, 0xeb9f, 0xe826, 0xea23, -0xe826, 0xea23, 0xe698, 0xe8ab, 0xe698, 0xe8ab, 0xe698, 0xe8ab, 0xe5f5, 0xe81e, 0xe5f5, -0xe81e, 0xe568, 0xe7a4, 0xe568, 0xe7a4, 0xe5ca, 0xe816, 0xe5ca, 0xe816, 0xe5e5, 0xe83c, -0xe5e5, 0xe83c, 0xe619, 0xe877, 0xe619, 0xe877, 0xe4f8, 0xe755, 0xe4f8, 0xe755, 0xe4f8, -0xe755, 0xe2e9, 0xe540, 0xe2e9, 0xe540, 0xe0f1, 0xe33b, 0xe0f1, 0xe33b, 0xe014, 0xe248, -0xe014, 0xe248, 0xe1e2, 0xe3f9, 0xe1e2, 0xe3f9, 0xe413, 0xe607, 0xe413, 0xe607, 0xe631, -0xe7fa, 0xe631, 0xe7fa, 0xe631, 0xe7fa, 0xe66b, 0xe803, 0xe66b, 0xe803, 0xe8a7, 0xea09, -0xe8a7, 0xea09, 0xeb05, 0xec2c, 0xeb05, 0xec2c, 0xeb42, 0xec2c, 0xeb42, 0xec2c, 0xec11, -0xecba, 0xec11, 0xecba, 0xec11, 0xecba, 0xeb72, 0xebd9, 0xeb72, 0xebd9, 0xecbb, 0xece0, -0xecbb, 0xece0, 0xef82, 0xef66, 0xef82, 0xef66, 0xf316, 0xf2bb, 0xf316, 0xf2bb, 0xf589, -0xf4f1, 0xf589, 0xf4f1, 0xf688, 0xf5b6, 0xf688, 0xf5b6, 0xf688, 0xf5b6, 0xf9bb, 0xf8b4, -0xf9bb, 0xf8b4, 0xfdcb, 0xfc92, 0xfdcb, 0xfc92, 0x141, 0xffdb, 0x141, 0xffdb, 0x4c9, -0x33a, 0x4c9, 0x33a, 0x85f, 0x6ac, 0x85f, 0x6ac, 0xa3c, 0x868, 0xa3c, 0x868, -0xa3c, 0x868, 0xce6, 0xaf4, 0xce6, 0xaf4, 0xff3, 0xde6, 0xff3, 0xde6, 0x1246, -0x1021, 0x1246, 0x1021, 0x134b, 0x110f, 0x134b, 0x110f, 0x13ce, 0x117b, 0x13ce, 0x117b, -0x13ce, 0x117b, 0x1576, 0x130c, 0x1576, 0x130c, 0x159f, 0x131d, 0x159f, 0x131d, 0x15f6, -0x135c, 0x15f6, 0x135c, 0x1654, 0x13a0, 0x1654, 0x13a0, 0x1642, 0x1371, 0x1642, 0x1371, -0x167b, 0x138b, 0x167b, 0x138b, 0x167b, 0x138b, 0x16d2, 0x13c2, 0x16d2, 0x13c2, 0x167e, -0x134d, 0x167e, 0x134d, 0x15cf, 0x127c, 0x15cf, 0x127c, 0x15e3, 0x126e, 0x15e3, 0x126e, -0x171d, 0x1385, 0x171d, 0x1385, 0x171d, 0x1385, 0x1887, 0x14cf, 0x1887, 0x14cf, 0x1880, -0x14a9, 0x1880, 0x14a9, 0x1a6b, 0x167b, 0x1a6b, 0x167b, 0x1c40, 0x183a, 0x1c40, 0x183a, -0x1e43, 0x1a2f, 0x1e43, 0x1a2f, 0x206a, 0x1c4f, 0x206a, 0x1c4f, 0x206a, 0x1c4f, 0x2079, -0x1c5f, 0x2079, 0x1c5f, 0x2172, 0x1d61, 0x2172, 0x1d61, 0x21df, 0x1de2, 0x21df, 0x1de2, -0x2227, 0x1e48, 0x2227, 0x1e48, 0x22d4, 0x1f1e, 0x22d4, 0x1f1e, 0x230e, 0x1f8b, 0x230e, -0x1f8b, 0x230e, 0x1f8b, 0x220a, 0x1ec3, 0x220a, 0x1ec3, 0x208a, 0x1d89, 0x208a, 0x1d89, -0x1d81, 0x1ad0, 0x1d81, 0x1ad0, 0x1ada, 0x187f, 0x1ada, 0x187f, 0x1aa6, 0x18a8, 0x1aa6, -0x18a8, 0x1aa6, 0x18a8, 0x17f3, 0x1656, 0x17f3, 0x1656, 0x14d6, 0x139e, 0x14d6, 0x139e, -0x1224, 0x1151, 0x1224, 0x1151, 0xf6f, 0xf02, 0xf6f, 0xf02, 0xdd3, 0xdc7, 0xdd3, -0xdc7, 0xcac, 0xcfe, 0xcac, 0xcfe, 0xcac, 0xcfe, 0x959, 0xa04, 0x959, 0xa04, -0x5dd, 0x6d8, 0x5dd, 0x6d8, 0x541, 0x683, 0x541, 0x683, 0x1cf, 0x34f, 0x1cf, -0x34f, 0xff4a, 0xfc, 0xff4a, 0xfc, 0xfe38, 0x11, 0xfe38, 0x11, 0xfe38, 0x11, -0xfb6b, 0xfd5d, 0xfb6b, 0xfd5d, 0xfb03, 0xfd04, 0xfb03, 0xfd04, 0xfa35, 0xfc39, 0xfa35, -0xfc39, 0xf8ab, 0xfaa6, 0xf8ab, 0xfaa6, 0xf9a7, 0xfb8f, 0xf9a7, 0xfb8f, 0xf9a7, 0xfb8f, -0xf97f, 0xfb4c, 0xf97f, 0xfb4c, 0xf7ea, 0xf992, 0xf7ea, 0xf992, 0xf77e, 0xf8fc, 0xf77e, -0xf8fc, 0xf568, 0xf6b7, 0xf568, 0xf6b7, 0xf41c, 0xf538, 0xf41c, 0xf538, 0xf493, 0xf57c, -0xf493, 0xf57c, 0xf493, 0xf57c, 0xf39f, 0xf455, 0xf39f, 0xf455, 0xf283, 0xf307, 0xf283, -0xf307, 0xf253, 0xf2a9, 0xf253, 0xf2a9, 0xf27b, 0xf2a6, 0xf27b, 0xf2a6, 0xf310, 0xf317, -0xf310, 0xf317, 0xf3d7, 0xf3bf, 0xf3d7, 0xf3bf, 0xf3d7, 0xf3bf, 0xf222, 0xf1f3, 0xf222, -0xf1f3, 0xf29f, 0xf25f, 0xf29f, 0xf25f, 0xf5db, 0xf591, 0xf5db, 0xf591, 0xf693, 0xf645, -0xf693, 0xf645, 0xf761, 0xf715, 0xf761, 0xf715, 0xf761, 0xf715, 0xf769, 0xf723, 0xf769, -0xf723, 0xf6ec, 0xf6b0, 0xf6ec, 0xf6b0, 0xf7b5, 0xf786, 0xf7b5, 0xf786, 0xf781, 0xf760, -0xf781, 0xf760, 0xf66f, 0xf65a, 0xf66f, 0xf65a, 0xf56d, 0xf563, 0xf56d, 0xf563, 0xf56d, -0xf563, 0xf461, 0xf45f, 0xf461, 0xf45f, 0xf415, 0xf416, 0xf415, 0xf416, 0xf3d5, 0xf3d4, -0xf3d5, 0xf3d4, 0xf29e, 0xf292, 0xf29e, 0xf292, 0xf242, 0xf225, 0xf242, 0xf225, 0xf2b9, -0xf282, 0xf2b9, 0xf282, 0xf2b9, 0xf282, 0xf3e9, 0xf390, 0xf3e9, 0xf390, 0xf4dc, 0xf459, -0xf4dc, 0xf459, 0xf4f2, 0xf43e, 0xf4f2, 0xf43e, 0xf6d3, 0xf5e6, 0xf6d3, 0xf5e6, 0xfadb, -0xf9b0, 0xfadb, 0xf9b0, 0xfadb, 0xf9b0, 0xfdfe, 0xfc90, 0xfdfe, 0xfc90, 0xff7c, 0xfdc7, -0xff7c, 0xfdc7, 0x27c, 0x81, 0x27c, 0x81, 0x50b, 0x2c9, 0x50b, 0x2c9, 0x69e, -0x418, 0x69e, 0x418, 0x88d, 0x5c7, 0x88d, 0x5c7, 0x88d, 0x5c7, 0x9b4, 0x6b5, -0x9b4, 0x6b5, 0xafc, 0x7cb, 0xafc, 0x7cb, 0xc1e, 0x8c6, 0xc1e, 0x8c6, 0xdd8, -0xa64, 0xdd8, 0xa64, 0x1023, 0xc9e, 0x1023, 0xc9e, 0x12da, 0xf51, 0x12da, 0xf51, -0x12da, 0xf51, 0x1394, 0x1016, 0x1394, 0x1016, 0x125a, 0xef2, 0x125a, 0xef2, 0x124f, -0xf0c, 0x124f, 0xf0c, 0x1164, 0xe51, 0x1164, 0xe51, 0x110a, 0xe32, 0x110a, 0xe32, -0x110a, 0xe32, 0x108f, 0xdfd, 0x108f, 0xdfd, 0xe5b, 0xc18, 0xe5b, 0xc18, 0xcff, -0xb10, 0xcff, 0xb10, 0xc09, 0xa73, 0xc09, 0xa73, 0xc16, 0xadb, 0xc16, 0xadb, -0xcf0, 0xc10, 0xcf0, 0xc10, 0xcf0, 0xc10, 0xb76, 0xaee, 0xb76, 0xaee, 0xa14, -0x9e1, 0xa14, 0x9e1, 0xa5d, 0xa77, 0xa5d, 0xa77, 0x915, 0x974, 0x915, 0x974, -0x7f0, 0x889, 0x7f0, 0x889, 0x7ad, 0x874, 0x7ad, 0x874, 0x7ad, 0x874, 0x70b, -0x7f5, 0x70b, 0x7f5, 0x733, 0x833, 0x733, 0x833, 0x85f, 0x968, 0x85f, 0x968, -0x82b, 0x92e, 0x82b, 0x92e, 0x732, 0x824, 0x732, 0x824, 0x732, 0x824, 0x7d2, -0x8a7, 0x7d2, 0x8a7, 0x78c, 0x839, 0x78c, 0x839, 0x753, 0x7d0, 0x753, 0x7d0, -0x7f4, 0x838, 0x7f4, 0x838, 0x7a4, 0x7aa, 0x7a4, 0x7aa, 0x79c, 0x760, 0x79c, -0x760, 0x79c, 0x760, 0x777, 0x6f9, 0x777, 0x6f9, 0x744, 0x684, 0x744, 0x684, -0x7bd, 0x6bc, 0x7bd, 0x6bc, 0x78d, 0x64f, 0x78d, 0x64f, 0x84a, 0x6d4, 0x84a, -0x6d4, 0x9d6, 0x82f, 0x9d6, 0x82f, 0x9d6, 0x82f, 0xa58, 0x887, 0xa58, 0x887, -0xb37, 0x944, 0xb37, 0x944, 0xc05, 0x9f9, 0xc05, 0x9f9, 0xd04, 0xae5, 0xd04, -0xae5, 0xd51, 0xb28, 0xd51, 0xb28, 0xd51, 0xb28, 0xd03, 0xad8, 0xd03, 0xad8, -0xcc9, 0xaa0, 0xcc9, 0xaa0, 0xb9e, 0x97d, 0xb9e, 0x97d, 0xb66, 0x950, 0xb66, -0x950, 0xb1f, 0x916, 0xb1f, 0x916, 0xa5a, 0x85d, 0xa5a, 0x85d, 0xa5a, 0x85d, -0x9f6, 0x803, 0x9f6, 0x803, 0x93f, 0x754, 0x93f, 0x754, 0x94f, 0x767, 0x94f, -0x767, 0xa33, 0x848, 0xa33, 0x848, 0xb11, 0x91d, 0xb11, 0x91d, 0xb9d, 0x998, -0xb9d, 0x998, 0xb9d, 0x998, 0xb5c, 0x93e, 0xb5c, 0x93e, 0xbde, 0x99f, 0xbde, -0x99f, 0xd86, 0xb20, 0xd86, 0xb20, 0xfcc, 0xd37, 0xfcc, 0xd37, 0x11bb, 0xef2, -0x11bb, 0xef2, 0x11bb, 0xef2, 0x129c, 0xf9a, 0x129c, 0xf9a, 0x14e6, 0x11a9, 0x14e6, -0x11a9, 0x1795, 0x141c, 0x1795, 0x141c, 0x1a61, 0x16ad, 0x1a61, 0x16ad, 0x1c50, 0x1865, -0x1c50, 0x1865, 0x1d78, 0x195a, 0x1d78, 0x195a, 0x1d78, 0x195a, 0x1f47, 0x1b00, 0x1f47, -0x1b00, 0x2034, 0x1bcc, 0x2034, 0x1bcc, 0x214b, 0x1cce, 0x214b, 0x1cce, 0x20eb, 0x1c68, -0x20eb, 0x1c68, 0x1fa5, 0x1b29, 0x1fa5, 0x1b29, 0x1fa5, 0x1b29, 0x1eab, 0x1a45, 0x1eab, -0x1a45, 0x1d71, 0x1932, 0x1d71, 0x1932, 0x1c17, 0x180f, 0x1c17, 0x180f, 0x19f5, 0x1634, -0x19f5, 0x1634, 0x176e, 0x1403, 0x176e, 0x1403, 0x15d3, 0x12cd, 0x15d3, 0x12cd, 0x15d3, -0x12cd, 0x14b3, 0x121e, 0x14b3, 0x121e, 0x1149, 0xf31, 0x1149, 0xf31, 0xe47, 0xcb3, -0xe47, 0xcb3, 0xc73, 0xb6a, 0xc73, 0xb6a, 0x9ee, 0x975, 0x9ee, 0x975, 0x86b, -0x882, 0x86b, 0x882, 0x86b, 0x882, 0x790, 0x836, 0x790, 0x836, 0x31d, 0x44d, -0x31d, 0x44d, 0xfe3a, 0xffec, 0xfe3a, 0xffec, 0xfbf7, 0xfe24, 0xfbf7, 0xfe24, 0xf858, -0xfaf4, 0xf858, 0xfaf4, 0xf858, 0xfaf4, 0xf5eb, 0xf8ea, 0xf5eb, 0xf8ea, 0xf3e3, 0xf736, -0xf3e3, 0xf736, 0xf2b8, 0xf650, 0xf2b8, 0xf650, 0xf2bf, 0xf68c, 0xf2bf, 0xf68c, 0xf195, -0xf588, 0xf195, 0xf588, 0xf125, 0xf52d, 0xf125, 0xf52d, 0xf125, 0xf52d, 0xef5d, 0xf36c, -0xef5d, 0xf36c, 0xebbc, 0xefc6, 0xebbc, 0xefc6, 0xea20, 0xee17, 0xea20, 0xee17, 0xea5e, -0xee38, 0xea5e, 0xee38, 0xe814, 0xebc8, 0xe814, 0xebc8, 0xe673, 0xe9fb, 0xe673, 0xe9fb, -0xe673, 0xe9fb, 0xe5cc, 0xe924, 0xe5cc, 0xe924, 0xe4ae, 0xe7d4, 0xe4ae, 0xe7d4, 0xe603, -0xe8f7, 0xe603, 0xe8f7, 0xe7ca, 0xea8d, 0xe7ca, 0xea8d, 0xe8e5, 0xeb7b, 0xe8e5, 0xeb7b, -0xe8e5, 0xeb7b, 0xea78, 0xece6, 0xea78, 0xece6, 0xeca2, 0xeeee, 0xeca2, 0xeeee, 0xed78, -0xefaa, 0xed78, 0xefaa, 0xedb2, 0xefd0, 0xedb2, 0xefd0, 0xed06, 0xef18, 0xed06, 0xef18, -0xecd2, 0xeee1, 0xecd2, 0xeee1, 0xecd2, 0xeee1, 0xedb0, 0xefc2, 0xedb0, 0xefc2, 0xed58, -0xef72, 0xed58, 0xef72, 0xed1b, 0xef41, 0xed1b, 0xef41, 0xec74, 0xeeaa, 0xec74, 0xeeaa, -0xeb0e, 0xed56, 0xeb0e, 0xed56, 0xea7f, 0xecd9, 0xea7f, 0xecd9, 0xea7f, 0xecd9, 0xeb20, -0xed8a, 0xeb20, 0xed8a, 0xea08, 0xec7e, 0xea08, 0xec7e, 0xe9d9, 0xec56, 0xe9d9, 0xec56, -0xea34, 0xecb2, 0xea34, 0xecb2, 0xe9fe, 0xec76, 0xe9fe, 0xec76, 0xe9fe, 0xec76, 0xec5c, -0xeec5, 0xec5c, 0xeec5, 0xed92, 0xefe4, 0xed92, 0xefe4, 0xef0e, 0xf140, 0xef0e, 0xf140, -0xf201, 0xf40b, 0xf201, 0xf40b, 0xf44a, 0xf623, 0xf44a, 0xf623, 0xf66c, 0xf80d, 0xf66c, -0xf80d, 0xf66c, 0xf80d, 0xf915, 0xfa78, 0xf915, 0xfa78, 0xfb0e, 0xfc30, 0xfb0e, 0xfc30, -0xfcb9, 0xfd97, 0xfcb9, 0xfd97, 0xffb6, 0x51, 0xffb6, 0x51, 0x25e, 0x2b7, 0x25e, -0x2b7, 0x4da, 0x4f4, 0x4da, 0x4f4, 0x4da, 0x4f4, 0x6cb, 0x6ae, 0x6cb, 0x6ae, -0x82e, 0x7e2, 0x82e, 0x7e2, 0x90f, 0x89e, 0x90f, 0x89e, 0x896, 0x80d, 0x896, -0x80d, 0x74b, 0x6b7, 0x74b, 0x6b7, 0x74b, 0x6b7, 0x713, 0x682, 0x713, 0x682, -0x724, 0x6a6, 0x724, 0x6a6, 0x609, 0x5ac, 0x609, 0x5ac, 0x5b9, 0x58d, 0x5b9, -0x58d, 0x547, 0x55b, 0x547, 0x55b, 0x34c, 0x3ad, 0x34c, 0x3ad, 0x34c, 0x3ad, -0x9c, 0x156, 0x9c, 0x156, 0xfe73, 0xff91, 0xfe73, 0xff91, 0xfc78, 0xfe02, 0xfc78, -0xfe02, 0xfa5f, 0xfc5b, 0xfa5f, 0xfc5b, 0xf8de, 0xfb51, 0xf8de, 0xfb51, 0xf83f, 0xfb2a, -0xf83f, 0xfb2a, 0xf83f, 0xfb2a, 0xf77d, 0xfadf, 0xf77d, 0xfadf, 0xf653, 0xfa28, 0xf653, -0xfa28, 0xf522, 0xf965, 0xf522, 0xf965, 0xf1c8, 0xf671, 0xf1c8, 0xf671, 0xee49, 0xf34e, -0xee49, 0xf34e, 0xee49, 0xf34e, 0xed66, 0xf2bd, 0xed66, 0xf2bd, 0xecc6, 0xf263, 0xecc6, -0xf263, 0xea08, 0xefde, 0xea08, 0xefde, 0xe737, 0xed38, 0xe737, 0xed38, 0xe5a4, 0xebc3, -0xe5a4, 0xebc3, 0xe3ce, 0xe9fe, 0xe3ce, 0xe9fe, 0xe3ce, 0xe9fe, 0xe26c, 0xe8a1, 0xe26c, -0xe8a1, 0xe0ea, 0xe718, 0xe0ea, 0xe718, 0xdf4f, 0xe56c, 0xdf4f, 0xe56c, 0xded6, 0xe4d8, -0xded6, 0xe4d8, 0xde4a, 0xe42b, 0xde4a, 0xe42b, 0xddee, 0xe3a8, 0xddee, 0xe3a8, 0xddee, -0xe3a8, 0xdd7f, 0xe30d, 0xdd7f, 0xe30d, 0xdcc0, 0xe21e, 0xdcc0, 0xe21e, 0xdde9, 0xe316, -0xdde9, 0xe316, 0xdf5b, 0xe457, 0xdf5b, 0xe457, 0xe01d, 0xe4e8, 0xe01d, 0xe4e8, 0xe01d, -0xe4e8, 0xe0c9, 0xe564, 0xe0c9, 0xe564, 0xe079, 0xe4e5, 0xe079, 0xe4e5, 0xe132, 0xe570, -0xe132, 0xe570, 0xe35c, 0xe76f, 0xe35c, 0xe76f, 0xe3cc, 0xe7b3, 0xe3cc, 0xe7b3, 0xe37d, -0xe73a, 0xe37d, 0xe73a, 0xe37d, 0xe73a, 0xe4de, 0xe870, 0xe4de, 0xe870, 0xe562, 0xe8c8, -0xe562, 0xe8c8, 0xe5cf, 0xe906, 0xe5cf, 0xe906, 0xe607, 0xe90d, 0xe607, 0xe90d, 0xe481, -0xe751, 0xe481, 0xe751, 0xe3e7, 0xe67b, 0xe3e7, 0xe67b, 0xe3e7, 0xe67b, 0xe454, 0xe6a7, -0xe454, 0xe6a7, 0xe5fb, 0xe806, 0xe5fb, 0xe806, 0xe768, 0xe924, 0xe768, 0xe924, 0xe80c, -0xe973, 0xe80c, 0xe973, 0xea04, 0xeb0f, 0xea04, 0xeb0f, 0xea04, 0xeb0f, 0xec55, 0xecfe, -0xec55, 0xecfe, 0xef67, 0xefa8, 0xef67, 0xefa8, 0xf33c, 0xf311, 0xf33c, 0xf311, 0xf5d0, -0xf538, 0xf5d0, 0xf538, 0xf91c, 0xf814, 0xf91c, 0xf814, 0xfde2, 0xfc6c, 0xfde2, 0xfc6c, -0xfde2, 0xfc6c, 0x1df, 0xfffd, 0x1df, 0xfffd, 0x519, 0x2cf, 0x519, 0x2cf, 0x830, -0x585, 0x830, 0x585, 0xb4f, 0x84b, 0xb4f, 0x84b, 0xe7f, 0xb2c, 0xe7f, 0xb2c, -0x1274, 0xedd, 0x1274, 0xedd, 0x1274, 0xedd, 0x1544, 0x1175, 0x1544, 0x1175, 0x1676, -0x127e, 0x1676, 0x127e, 0x1760, 0x134c, 0x1760, 0x134c, 0x178b, 0x1368, 0x178b, 0x1368, -0x183f, 0x141c, 0x183f, 0x141c, 0x183f, 0x141c, 0x186c, 0x1455, 0x186c, 0x1455, 0x1896, -0x1498, 0x1896, 0x1498, 0x195e, 0x1583, 0x195e, 0x1583, 0x18de, 0x1530, 0x18de, 0x1530, -0x1852, 0x14d9, 0x1852, 0x14d9, 0x1851, 0x1511, 0x1851, 0x1511, 0x1851, 0x1511, 0x17e2, -0x14e0, 0x17e2, 0x14e0, 0x17ac, 0x14e9, 0x17ac, 0x14e9, 0x1801, 0x157c, 0x1801, 0x157c, -0x173a, 0x14f1, 0x173a, 0x14f1, 0x158c, 0x137b, 0x158c, 0x137b, 0x158c, 0x137b, 0x13b7, -0x11d8, 0x13b7, 0x11d8, 0x11bd, 0x1009, 0x11bd, 0x1009, 0x1009, 0xe79, 0x1009, 0xe79, -0xee1, 0xd6b, 0xee1, 0xd6b, 0xe89, 0xd27, 0xe89, 0xd27, 0xeac, 0xd55, 0xeac, -0xd55, 0xeac, 0xd55, 0xf03, 0xdae, 0xf03, 0xdae, 0xefe, 0xda6, 0xefe, 0xda6, -0xece, 0xd6d, 0xece, 0xd6d, 0xe36, 0xcc8, 0xe36, 0xcc8, 0xc1c, 0xa9e, 0xc1c, -0xa9e, 0xad6, 0x946, 0xad6, 0x946, 0xad6, 0x946, 0xb0b, 0x96b, 0xb0b, 0x96b, -0xa5c, 0x8ae, 0xa5c, 0x8ae, 0xa20, 0x867, 0xa20, 0x867, 0xa2c, 0x86d, 0xa2c, -0x86d, 0x95b, 0x79d, 0x95b, 0x79d, 0x95b, 0x79d, 0x90f, 0x757, 0x90f, 0x757, -0x91a, 0x770, 0x91a, 0x770, 0x91d, 0x789, 0x91d, 0x789, 0x92e, 0x7b7, 0x92e, -0x7b7, 0x9b0, 0x85d, 0x9b0, 0x85d, 0x9eb, 0x8c3, 0x9eb, 0x8c3, 0x9eb, 0x8c3, -0x9f7, 0x8fe, 0x9f7, 0x8fe, 0xb23, 0xa5d, 0xb23, 0xa5d, 0xb9d, 0xb0c, 0xb9d, -0xb0c, 0xb21, 0xac6, 0xb21, 0xac6, 0xade, 0xab7, 0xade, 0xab7, 0x9a7, 0x9b2, -0x9a7, 0x9b2, 0x9a7, 0x9b2, 0x7f3, 0x82a, 0x7f3, 0x82a, 0x60c, 0x669, 0x60c, -0x669, 0x35a, 0x3d5, 0x35a, 0x3d5, 0x1c2, 0x252, 0x1c2, 0x252, 0x194, 0x22f, -0x194, 0x22f, 0x194, 0x22f, 0x195, 0x230, 0x195, 0x230, 0x202, 0x292, 0x202, -0x292, 0x21a, 0x295, 0x21a, 0x295, 0x171, 0x1cc, 0x171, 0x1cc, 0x207, 0x238, -0x207, 0x238, 0x2a8, 0x2a6, 0x2a8, 0x2a6, 0x2a8, 0x2a6, 0x2be, 0x283, 0x2be, -0x283, 0x38b, 0x311, 0x38b, 0x311, 0x38c, 0x2d0, 0x38c, 0x2d0, 0x521, 0x420, -0x521, 0x420, 0x80c, 0x6c8, 0x80c, 0x6c8, 0x976, 0x7f1, 0x976, 0x7f1, 0x976, -0x7f1, 0xb19, 0x958, 0xb19, 0x958, 0xd38, 0xb43, 0xd38, 0xb43, 0xd8d, 0xb6b, -0xd8d, 0xb6b, 0xcc7, 0xa83, 0xcc7, 0xa83, 0xdaf, 0xb54, 0xdaf, 0xb54, 0xdaf, -0xb54, 0xdbd, 0xb57, 0xdbd, 0xb57, 0xc81, 0xa1f, 0xc81, 0xa1f, 0xbf2, 0x99f, -0xbf2, 0x99f, 0xa3c, 0x806, 0xa3c, 0x806, 0x7fa, 0x5ee, 0x7fa, 0x5ee, 0x67c, -0x4a4, 0x67c, 0x4a4, 0x67c, 0x4a4, 0x548, 0x3af, 0x548, 0x3af, 0x46e, 0x31e, -0x46e, 0x31e, 0x23c, 0x13b, 0x23c, 0x13b, 0xfe29, 0xfd7c, 0xfe29, 0xfd7c, 0xfa9b, -0xfa46, 0xfa9b, 0xfa46, 0xf875, 0xf877, 0xf875, 0xf877, 0xf875, 0xf877, 0xf8a4, 0xf8fd, -0xf8a4, 0xf8fd, 0xf849, 0xf8f4, 0xf849, 0xf8f4, 0xf5bc, 0xf6b5, 0xf5bc, 0xf6b5, 0xf3cb, -0xf509, 0xf3cb, 0xf509, 0xf1f0, 0xf36b, 0xf1f0, 0xf36b, 0xf1f0, 0xf36b, 0xefc3, 0xf170, -0xefc3, 0xf170, 0xee5f, 0xf033, 0xee5f, 0xf033, 0xee21, 0xf010, 0xee21, 0xf010, 0xed8a, -0xef88, 0xed8a, 0xef88, 0xeda9, 0xefa9, 0xeda9, 0xefa9, 0xeeea, 0xf0e1, 0xeeea, 0xf0e1, -0xeeea, 0xf0e1, 0xef1e, 0xf101, 0xef1e, 0xf101, 0xee2a, 0xefee, 0xee2a, 0xefee, 0xed3c, -0xeeda, 0xed3c, 0xeeda, 0xed5d, 0xeecc, 0xed5d, 0xeecc, 0xed82, 0xeebe, 0xed82, 0xeebe, -0xed0e, 0xee12, 0xed0e, 0xee12, 0xed0e, 0xee12, 0xed86, 0xee51, 0xed86, 0xee51, 0xefa6, -0xf038, 0xefa6, 0xf038, 0xefbc, 0xf017, 0xefbc, 0xf017, 0xf07f, 0xf0a6, 0xf07f, 0xf0a6, -0xf386, 0xf37c, 0xf386, 0xf37c, 0xf386, 0xf37c, 0xf435, 0xf401, 0xf435, 0xf401, 0xf5e8, -0xf58e, 0xf5e8, 0xf58e, 0xf7d8, 0xf761, 0xf7d8, 0xf761, 0xf8fb, 0xf86d, 0xf8fb, 0xf86d, -0xfb0f, 0xfa70, 0xfb0f, 0xfa70, 0xfbb3, 0xfb09, 0xfbb3, 0xfb09, 0xfbb3, 0xfb09, 0xfc6a, -0xfbbc, 0xfc6a, 0xfbbc, 0xfece, 0xfe20, 0xfece, 0xfe20, 0x45, 0xff99, 0x45, 0xff99, -0x1c7, 0x11f, 0x1c7, 0x11f, 0x409, 0x366, 0x409, 0x366, 0x3ec, 0x34c, 0x3ec, -0x34c, 0x3ec, 0x34c, 0x3a6, 0x307, 0x3a6, 0x307, 0x426, 0x384, 0x426, 0x384, -0x3b1, 0x307, 0x3b1, 0x307, 0x3d9, 0x31f, 0x3d9, 0x31f, 0x525, 0x456, 0x525, -0x456, 0x525, 0x456, 0x5b6, 0x4c9, 0x5b6, 0x4c9, 0x700, 0x5ec, 0x700, 0x5ec, -0x906, 0x7c5, 0x906, 0x7c5, 0x953, 0x7dd, 0x953, 0x7dd, 0xa47, 0x895, 0xa47, -0x895, 0xae8, 0x8f5, 0xae8, 0x8f5, 0xae8, 0x8f5, 0xbf3, 0x9ba, 0xbf3, 0x9ba, -0xed1, 0xc51, 0xed1, 0xc51, 0x109e, 0xdd5, 0x109e, 0xdd5, 0x11cc, 0xebb, 0x11cc, -0xebb, 0x1404, 0x10ae, 0x1404, 0x10ae, 0x1724, 0x1390, 0x1724, 0x1390, 0x1724, 0x1390, -0x19aa, 0x15dd, 0x19aa, 0x15dd, 0x1bb6, 0x17bb, 0x1bb6, 0x17bb, 0x1d40, 0x191f, 0x1d40, -0x191f, 0x1db5, 0x197c, 0x1db5, 0x197c, 0x1d26, 0x18e1, 0x1d26, 0x18e1, 0x1d26, 0x18e1, -0x1c96, 0x1853, 0x1c96, 0x1853, 0x1bf2, 0x17c0, 0x1bf2, 0x17c0, 0x1a4c, 0x1638, 0x1a4c, -0x1638, 0x1880, 0x1498, 0x1880, 0x1498, 0x17b2, 0x1403, 0x17b2, 0x1403, 0x17ab, 0x143f, -0x17ab, 0x143f, 0x17ab, 0x143f, 0x1671, 0x1353, 0x1671, 0x1353, 0x1496, 0x11cf, 0x1496, -0x11cf, 0x1259, 0xfee, 0x1259, 0xfee, 0x1076, 0xe6b, 0x1076, 0xe6b, 0xfd2, 0xe29, -0xfd2, 0xe29, 0xee8, 0xd9f, 0xee8, 0xd9f, 0xee8, 0xd9f, 0xdf0, 0xd03, 0xdf0, -0xd03, 0xdd9, 0xd44, 0xdd9, 0xd44, 0xe40, 0xdf9, 0xe40, 0xdf9, 0xcd5, 0xcd4, -0xcd5, 0xcd4, 0xacc, 0xb05, 0xacc, 0xb05, 0xacc, 0xb05, 0x91a, 0x981, 0x91a, -0x981, 0x82d, 0x8b5, 0x82d, 0x8b5, 0x98e, 0xa2a, 0x98e, 0xa2a, 0x9a9, 0xa4b, -0x9a9, 0xa4b, 0x904, 0x99f, 0x904, 0x99f, 0x913, 0x99c, 0x913, 0x99c, 0x913, -0x99c, 0x93a, 0x9a5, 0x93a, 0x9a5, 0xafc, 0xb41, 0xafc, 0xb41, 0xadd, 0xaf4, -0xadd, 0xaf4, 0x984, 0x968, 0x984, 0x968, 0xa3c, 0x9ea, 0xa3c, 0x9ea, 0xa3c, -0x9ea, 0xa05, 0x97d, 0xa05, 0x97d, 0x9a1, 0x8e5, 0x9a1, 0x8e5, 0x9ac, 0x8bf, -0x9ac, 0x8bf, 0x858, 0x740, 0x858, 0x740, 0x87c, 0x740, 0x87c, 0x740, 0xa7f, -0x928, 0xa7f, 0x928, 0xa7f, 0x928, 0xb4a, 0x9e2, 0xb4a, 0x9e2, 0xc47, 0xada, -0xc47, 0xada, 0xe1b, 0xcb4, 0xe1b, 0xcb4, 0xdf8, 0xca1, 0xdf8, 0xca1, 0xd78, -0xc3b, 0xd78, 0xc3b, 0xe46, 0xd2e, 0xe46, 0xd2e, 0xe46, 0xd2e, 0xdeb, 0xcff, -0xdeb, 0xcff, 0xcd3, 0xc1b, 0xcd3, 0xc1b, 0xc40, 0xbc1, 0xc40, 0xbc1, 0xbaa, -0xb67, 0xbaa, 0xb67, 0xb20, 0xb19, 0xb20, 0xb19, 0xb20, 0xb19, 0x8a1, 0x8d6, -0x8a1, 0x8d6, 0x52d, 0x59b, 0x52d, 0x59b, 0x362, 0x404, 0x362, 0x404, 0x132, -0x200, 0x132, 0x200, 0xff14, 0x6, 0xff14, 0x6, 0xfe23, 0xff30, 0xfe23, 0xff30, -0xfe23, 0xff30, 0xfc10, 0xfd2d, 0xfc10, 0xfd2d, 0xfaeb, 0xfc0d, 0xfaeb, 0xfc0d, 0xfbab, -0xfcc7, 0xfbab, 0xfcc7, 0xfbd3, 0xfcde, 0xfbd3, 0xfcde, 0xfc41, 0xfd33, 0xfc41, 0xfd33, -0xfc68, 0xfd37, 0xfc68, 0xfd37, 0xfc68, 0xfd37, 0xfcca, 0xfd6e, 0xfcca, 0xfd6e, 0xfd60, -0xfdd5, 0xfd60, 0xfdd5, 0xfdf0, 0xfe31, 0xfdf0, 0xfe31, 0xfe19, 0xfe26, 0xfe19, 0xfe26, -0xfce4, 0xfcbd, 0xfce4, 0xfcbd, 0xfce4, 0xfcbd, 0xfd6b, 0xfd14, 0xfd6b, 0xfd14, 0xfe7e, -0xfdfd, 0xfe7e, 0xfdfd, 0xb, 0xff66, 0xb, 0xff66, 0x10e, 0x4e, 0x10e, 0x4e, -0x84, 0xffb5, 0x84, 0xffb5, 0xa0, 0xffce, 0xa0, 0xffce, 0xa0, 0xffce, 0xff9c, -0xfed3, 0xff9c, 0xfed3, 0xfeb5, 0xfe02, 0xfeb5, 0xfe02, 0xfdcf, 0xfd40, 0xfdcf, 0xfd40, -0xfbe2, 0xfb82, 0xfbe2, 0xfb82, 0xfa14, 0xf9f1, 0xfa14, 0xf9f1, 0xf8db, 0xf8ff, 0xf8db, -0xf8ff, 0xf8db, 0xf8ff, 0xf7e2, 0xf855, 0xf7e2, 0xf855, 0xf634, 0xf6fe, 0xf634, 0xf6fe, -0xf485, 0xf5aa, 0xf485, 0xf5aa, 0xf37c, 0xf500, 0xf37c, 0xf500, 0xf300, 0xf4e2, 0xf300, -0xf4e2, 0xf300, 0xf4e2, 0xf222, 0xf460, 0xf222, 0xf460, 0xf06b, 0xf300, 0xf06b, 0xf300, -0xef3e, 0xf222, 0xef3e, 0xf222, 0xedf2, 0xf11d, 0xedf2, 0xf11d, 0xece4, 0xf04a, 0xece4, -0xf04a, 0xee10, 0xf1a6, 0xee10, 0xf1a6, 0xee10, 0xf1a6, 0xedd4, 0xf18b, 0xedd4, 0xf18b, -0xecf8, 0xf0c2, 0xecf8, 0xf0c2, 0xeda8, 0xf176, 0xeda8, 0xf176, 0xee07, 0xf1cc, 0xee07, -0xf1cc, 0xee12, 0xf1bf, 0xee12, 0xf1bf, 0xecba, 0xf041, 0xecba, 0xf041, 0xecba, 0xf041, -0xebc4, 0xef1a, 0xebc4, 0xef1a, 0xecaf, 0xefca, 0xecaf, 0xefca, 0xedd8, 0xf0b0, 0xedd8, -0xf0b0, 0xee08, 0xf096, 0xee08, 0xf096, 0xef6c, 0xf1ac, 0xef6c, 0xf1ac, 0xef6c, 0xf1ac, -0xf0a1, 0xf292, 0xf0a1, 0xf292, 0xf003, 0xf1a5, 0xf003, 0xf1a5, 0xf175, 0xf2ca, 0xf175, -0xf2ca, 0xf30b, 0xf418, 0xf30b, 0xf418, 0xf387, 0xf453, 0xf387, 0xf453, 0xf556, 0xf5e8, -0xf556, 0xf5e8, 0xf556, 0xf5e8, 0xf758, 0xf7b9, 0xf758, 0xf7b9, 0xf81f, 0xf85a, 0xf81f, -0xf85a, 0xf906, 0xf925, 0xf906, 0xf925, 0xf8fa, 0xf908, 0xf8fa, 0xf908, 0xf88e, 0xf896, -0xf88e, 0xf896, 0xf8b0, 0xf8bc, 0xf8b0, 0xf8bc, 0xf8b0, 0xf8bc, 0xf7f8, 0xf812, 0xf7f8, -0xf812, 0xf8f3, 0xf924, 0xf8f3, 0xf924, 0xf90c, 0xf95b, 0xf90c, 0xf95b, 0xf6de, 0xf750, -0xf6de, 0xf750, 0xf670, 0xf70b, 0xf670, 0xf70b, 0xf670, 0xf70b, 0xf630, 0xf6f7, 0xf630, -0xf6f7, 0xf4be, 0xf5b1, 0xf4be, 0xf5b1, 0xf404, 0xf524, 0xf404, 0xf524, 0xf30e, 0xf459, -0xf30e, 0xf459, 0xf12d, 0xf2a1, 0xf12d, 0xf2a1, 0xf04d, 0xf1e7, 0xf04d, 0xf1e7, 0xf04d, -0xf1e7, 0xf046, 0xf201, 0xf046, 0xf201, 0xee4b, 0xf022, 0xee4b, 0xf022, 0xeccd, 0xeeb9, -0xeccd, 0xeeb9, 0xee41, 0xf03f, 0xee41, 0xf03f, 0xef11, 0xf11b, 0xef11, 0xf11b, 0xf088, -0xf299, 0xf088, 0xf299, 0xf088, 0xf299, 0xf163, 0xf377, 0xf163, 0xf377, 0xf102, 0xf316, -0xf102, 0xf316, 0xf1a6, 0xf3b8, 0xf1a6, 0xf3b8, 0xf1c2, 0xf3d0, 0xf1c2, 0xf3d0, 0xf2d3, -0xf4dd, 0xf2d3, 0xf4dd, 0xf2d3, 0xf4dd, 0xf36b, 0xf572, 0xf36b, 0xf572, 0xf2a4, 0xf4a9, -0xf2a4, 0xf4a9, 0xf34d, 0xf554, 0xf34d, 0xf554, 0xf450, 0xf65a, 0xf450, 0xf65a, 0xf376, -0xf588, 0xf376, 0xf588, 0xf286, 0xf4a4, 0xf286, 0xf4a4, 0xf286, 0xf4a4, 0xf12c, 0xf35a, -0xf12c, 0xf35a, 0xef66, 0xf1a8, 0xef66, 0xf1a8, 0xeef6, 0xf151, 0xeef6, 0xf151, 0xedaf, -0xf025, 0xedaf, 0xf025, 0xeae0, 0xed74, 0xeae0, 0xed74, 0xe927, 0xebdb, 0xe927, 0xebdb, -0xe927, 0xebdb, 0xe9d9, 0xecae, 0xe9d9, 0xecae, 0xe9f2, 0xece6, 0xe9f2, 0xece6, 0xea02, -0xed14, 0xea02, 0xed14, 0xea02, 0xed2e, 0xea02, 0xed2e, 0xe871, 0xebb5, 0xe871, 0xebb5, -0xe871, 0xebb5, 0xe6c6, 0xea1b, 0xe6c6, 0xea1b, 0xe5a1, 0xe901, 0xe5a1, 0xe901, 0xe5a9, -0xe90c, 0xe5a9, 0xe90c, 0xe466, 0xe7c4, 0xe466, 0xe7c4, 0xe3ad, 0xe6fe, 0xe3ad, 0xe6fe, -0xe571, 0xe8ac, 0xe571, 0xe8ac, 0xe571, 0xe8ac, 0xe6eb, 0xea06, 0xe6eb, 0xea06, 0xe88b, -0xeb7f, 0xe88b, 0xeb7f, 0xea9b, 0xed5e, 0xea9b, 0xed5e, 0xeb60, 0xedeb, 0xeb60, 0xedeb, -0xebcb, 0xee16, 0xebcb, 0xee16, 0xed66, 0xef6d, 0xed66, 0xef6d, 0xed66, 0xef6d, 0xef31, -0xf0ee, 0xef31, 0xf0ee, 0xf0a4, 0xf214, 0xf0a4, 0xf214, 0xf23f, 0xf35f, 0xf23f, 0xf35f, -0xf4cb, 0xf59a, 0xf4cb, 0xf59a, 0xf700, 0xf77e, 0xf700, 0xf77e, 0xf700, 0xf77e, 0xf896, -0xf8c4, 0xf896, 0xf8c4, 0xfa49, 0xfa2b, 0xfa49, 0xfa2b, 0xfc8a, 0xfc23, 0xfc8a, 0xfc23, -0xff02, 0xfe56, 0xff02, 0xfe56, 0x230, 0x143, 0x230, 0x143, 0x66e, 0x546, 0x66e, -0x546, 0x66e, 0x546, 0x836, 0x6da, 0x836, 0x6da, 0x9b4, 0x827, 0x9b4, 0x827, -0xc3f, 0xa88, 0xc3f, 0xa88, 0xe32, 0xc56, 0xe32, 0xc56, 0x1022, 0xe24, 0x1022, -0xe24, 0x1022, 0xe24, 0x11b1, 0xf96, 0x11b1, 0xf96, 0x1276, 0x1042, 0x1276, 0x1042, -0x1245, 0xff9, 0x1245, 0xff9, 0x12b5, 0x1053, 0x12b5, 0x1053, 0x11ed, 0xf76, 0x11ed, -0xf76, 0x100b, 0xd80, 0x100b, 0xd80, 0x100b, 0xd80, 0xf62, 0xcc2, 0xf62, 0xcc2, -0xece, 0xc1a, 0xece, 0xc1a, 0xfa1, 0xcd7, 0xfa1, 0xcd7, 0x117d, 0xe9b, 0x117d, -0xe9b, 0x1243, 0xf4a, 0x1243, 0xf4a, 0x1301, 0xfef, 0x1301, 0xfef, 0x1301, 0xfef, -0x1439, 0x110e, 0x1439, 0x110e, 0x156d, 0x1229, 0x156d, 0x1229, 0x175e, 0x1403, 0x175e, -0x1403, 0x17f4, 0x1483, 0x17f4, 0x1483, 0x188a, 0x1506, 0x188a, 0x1506, 0x188a, 0x1506, -0x1b33, 0x17a0, 0x1b33, 0x17a0, 0x1c43, 0x18a5, 0x1c43, 0x18a5, 0x1d99, 0x19f6, 0x1d99, -0x19f6, 0x1f8d, 0x1bec, 0x1f8d, 0x1bec, 0x2052, 0x1cba, 0x2052, 0x1cba, 0x2081, 0x1cfa, -0x2081, 0x1cfa, 0x2081, 0x1cfa, 0x2090, 0x1d22, 0x2090, 0x1d22, 0x2137, 0x1dec, 0x2137, -0x1dec, 0x1fd6, 0x1cb5, 0x1fd6, 0x1cb5, 0x1e6e, 0x1b80, 0x1e6e, 0x1b80, 0x1de8, 0x1b35, -0x1de8, 0x1b35, 0x1c37, 0x19c6, 0x1c37, 0x19c6, 0x1c37, 0x19c6, 0x1acb, 0x18a3, 0x1acb, -0x18a3, 0x18b0, 0x16d5, 0x18b0, 0x16d5, 0x15c7, 0x143e, 0x15c7, 0x143e, 0x12fa, 0x11c5, -0x12fa, 0x11c5, 0x1053, 0xf74, 0x1053, 0xf74, 0x1053, 0xf74, 0xde9, 0xd5f, 0xde9, -0xd5f, 0xb6f, 0xb37, 0xb6f, 0xb37, 0x946, 0x95e, 0x946, 0x95e, 0x7f0, 0x852, -0x7f0, 0x852, 0x6fe, 0x7a3, 0x6fe, 0x7a3, 0x5ea, 0x6cc, 0x5ea, 0x6cc, 0x5ea, -0x6cc, 0x363, 0x479, 0x363, 0x479, 0x52, 0x193, 0x52, 0x193, 0xfe68, 0xffcb, -0xfe68, 0xffcb, 0xfe00, 0xff7a, 0xfe00, 0xff7a, 0xfe61, 0xffea, 0xfe61, 0xffea, 0xfc3e, -0xfdcd, 0xfc3e, 0xfdcd, 0xfc3e, 0xfdcd, 0xfa78, 0xfc04, 0xfa78, 0xfc04, 0xfa93, 0xfc15, -0xfa93, 0xfc15, 0xf9e1, 0xfb51, 0xf9e1, 0xfb51, 0xf8ec, 0xfa46, 0xf8ec, 0xfa46, 0xf7e6, -0xf926, 0xf7e6, 0xf926, 0xf7e6, 0xf926, 0xf665, 0xf787, 0xf665, 0xf787, 0xf541, 0xf644, -0xf541, 0xf644, 0xf57f, 0xf664, 0xf57f, 0xf664, 0xf4b9, 0xf580, 0xf4b9, 0xf580, 0xf3c1, -0xf46d, 0xf3c1, 0xf46d, 0xf3b3, 0xf446, 0xf3b3, 0xf446, 0xf3b3, 0xf446, 0xf42b, 0xf4ab, -0xf42b, 0xf4ab, 0xf4da, 0xf54a, 0xf4da, 0xf54a, 0xf574, 0xf5da, 0xf574, 0xf5da, 0xf6cb, -0xf72c, 0xf6cb, 0xf72c, 0xf724, 0xf784, 0xf724, 0xf784, 0xf7c5, 0xf829, 0xf7c5, 0xf829, -0xf7c5, 0xf829, 0xf823, 0xf88f, 0xf823, 0xf88f, 0xf74b, 0xf7c2, 0xf74b, 0xf7c2, 0xf6ac, -0xf730, 0xf6ac, 0xf730, 0xf6ee, 0xf780, 0xf6ee, 0xf780, 0xf7c3, 0xf863, 0xf7c3, 0xf863, -0xf7c3, 0xf863, 0xf803, 0xf8b0, 0xf803, 0xf8b0, 0xf7e9, 0xf8a0, 0xf7e9, 0xf8a0, 0xf698, -0xf755, 0xf698, 0xf755, 0xf50b, 0xf5ca, 0xf50b, 0xf5ca, 0xf3a1, 0xf45c, 0xf3a1, 0xf45c, -0xf2de, 0xf38f, 0xf2de, 0xf38f, 0xf2de, 0xf38f, 0xf2fe, 0xf39f, 0xf2fe, 0xf39f, 0xf28e, -0xf317, 0xf28e, 0xf317, 0xf385, 0xf3f0, 0xf385, 0xf3f0, 0xf5fc, 0xf642, 0xf5fc, 0xf642, -0xf75b, 0xf776, 0xf75b, 0xf776, 0xf7df, 0xf7c9, 0xf7df, 0xf7c9, 0xf7df, 0xf7c9, 0xf8e8, -0xf89d, 0xf8e8, 0xf89d, 0xf98e, 0xf90b, 0xf98e, 0xf90b, 0xfaa8, 0xf9eb, 0xfaa8, 0xf9eb, -0xfd8c, 0xfc93, 0xfd8c, 0xfc93, 0xffda, 0xfea7, 0xffda, 0xfea7, 0xffda, 0xfea7, 0x1ba, -0x50, 0x1ba, 0x50, 0x55c, 0x3bd, 0x55c, 0x3bd, 0x84b, 0x67c, 0x84b, 0x67c, -0xa64, 0x86c, 0xa64, 0x86c, 0xc12, 0x9f8, 0xc12, 0x9f8, 0xba3, 0x96f, 0xba3, -0x96f, 0xba3, 0x96f, 0xbca, 0x984, 0xbca, 0x984, 0xc7a, 0xa2b, 0xc7a, 0xa2b, -0xd2c, 0xade, 0xd2c, 0xade, 0xe3d, 0xbf8, 0xe3d, 0xbf8, 0xd99, 0xb65, 0xd99, -0xb65, 0xc67, 0xa4d, 0xc67, 0xa4d, 0xc67, 0xa4d, 0xccf, 0xad5, 0xccf, 0xad5, -0xd65, 0xb91, 0xd65, 0xb91, 0xc93, 0xaea, 0xc93, 0xaea, 0xbc2, 0xa46, 0xbc2, -0xa46, 0xb02, 0x9b6, 0xb02, 0x9b6, 0xb02, 0x9b6, 0x9e8, 0x8cc, 0x9e8, 0x8cc, -0x9fe, 0x90f, 0x9fe, 0x90f, 0x9f7, 0x934, 0x9f7, 0x934, 0x89b, 0x801, 0x89b, -0x801, 0x8b6, 0x83f, 0x8b6, 0x83f, 0x8d1, 0x878, 0x8d1, 0x878, 0x8d1, 0x878, -0x7b3, 0x771, 0x7b3, 0x771, 0x7b8, 0x787, 0x7b8, 0x787, 0x6fc, 0x6d4, 0x6fc, -0x6d4, 0x62f, 0x60a, 0x62f, 0x60a, 0x671, 0x646, 0x671, 0x646, 0x5d6, 0x5a0, -0x5d6, 0x5a0, 0x5d6, 0x5a0, 0x53d, 0x4f7, 0x53d, 0x4f7, 0x51e, 0x4c2, 0x51e, -0x4c2, 0x5af, 0x53a, 0x5af, 0x53a, 0x6ed, 0x65c, 0x6ed, 0x65c, 0x6e6, 0x638, -0x6e6, 0x638, 0x6e6, 0x638, 0x663, 0x598, 0x663, 0x598, 0x64e, 0x566, 0x64e, -0x566, 0x5bc, 0x4b9, 0x5bc, 0x4b9, 0x53e, 0x424, 0x53e, 0x424, 0x51b, 0x3ee, -0x51b, 0x3ee, 0x4f9, 0x3bc, 0x4f9, 0x3bc, 0x4f9, 0x3bc, 0x540, 0x3fa, 0x540, -0x3fa, 0x6f3, 0x5a8, 0x6f3, 0x5a8, 0x87c, 0x731, 0x87c, 0x731, 0x934, 0x7f0, -0x934, 0x7f0, 0x9e7, 0x8ad, 0x9e7, 0x8ad, 0x98e, 0x863, 0x98e, 0x863, 0x98e, -0x863, 0x97c, 0x863, 0x97c, 0x863, 0xa32, 0x92d, 0xa32, 0x92d, 0xb8b, 0xa9a, -0xb8b, 0xa9a, 0xcc2, 0xbe6, 0xcc2, 0xbe6, 0xc74, 0xbac, 0xc74, 0xbac, 0xc74, -0xbac, 0xc6b, 0xbb4, 0xc6b, 0xbb4, 0xcd1, 0xc27, 0xcd1, 0xc27, 0xbd9, 0xb38, -0xbd9, 0xb38, 0xa9f, 0xa02, 0xa9f, 0xa02, 0xa48, 0x9a7, 0xa48, 0x9a7, 0x9d1, -0x926, 0x9d1, 0x926, 0x9d1, 0x926, 0xb5d, 0xaa0, 0xb5d, 0xaa0, 0xd76, 0xca1, -0xd76, 0xca1, 0xd1c, 0xc27, 0xd1c, 0xc27, 0xd87, 0xc6b, 0xd87, 0xc6b, 0xebc, -0xd74, 0xebc, 0xd74, 0xebc, 0xd74, 0x1025, 0xeac, 0x1025, 0xeac, 0x117a, 0xfcc, -0x117a, 0xfcc, 0x119e, 0xfb9, 0x119e, 0xfb9, 0x1288, 0x106b, 0x1288, 0x106b, 0x153e, -0x12ea, 0x153e, 0x12ea, 0x1768, 0x14e0, 0x1768, 0x14e0, 0x1768, 0x14e0, 0x17d5, 0x151c, -0x17d5, 0x151c, 0x1893, 0x15af, 0x1893, 0x15af, 0x18b3, 0x15ac, 0x18b3, 0x15ac, 0x1901, -0x15de, 0x1901, 0x15de, 0x1ac1, 0x178d, 0x1ac1, 0x178d, 0x1af8, 0x17bc, 0x1af8, 0x17bc, -0x1af8, 0x17bc, 0x19c1, 0x1689, 0x19c1, 0x1689, 0x1929, 0x1600, 0x1929, 0x1600, 0x18e8, -0x15db, 0x18e8, 0x15db, 0x1821, 0x153a, 0x1821, 0x153a, 0x168c, 0x13d5, 0x168c, 0x13d5, -0x168c, 0x13d5, 0x1393, 0x1117, 0x1393, 0x1117, 0x10f7, 0xebf, 0x10f7, 0xebf, 0xf49, -0xd5c, 0xf49, 0xd5c, 0xdaf, 0xc12, 0xdaf, 0xc12, 0xc28, 0xadf, 0xc28, 0xadf, -0x97e, 0x88d, 0x97e, 0x88d, 0x97e, 0x88d, 0x5d4, 0x53a, 0x5d4, 0x53a, 0x2ae, -0x26b, 0x2ae, 0x26b, 0x36, 0x45, 0x36, 0x45, 0xfd12, 0xfd70, 0xfd12, 0xfd70, -0xfa70, 0xfb17, 0xfa70, 0xfb17, 0xf832, 0xf91a, 0xf832, 0xf91a, 0xf832, 0xf91a, 0xf69f, -0xf7bf, 0xf69f, 0xf7bf, 0xf5e4, 0xf733, 0xf5e4, 0xf733, 0xf46f, 0xf5e5, 0xf46f, 0xf5e5, -0xf2a6, 0xf439, 0xf2a6, 0xf439, 0xf086, 0xf22c, 0xf086, 0xf22c, 0xf086, 0xf22c, 0xeeba, -0xf06a, 0xeeba, 0xf06a, 0xecab, 0xee5e, 0xecab, 0xee5e, 0xec40, 0xedee, 0xec40, 0xedee, -0xec1a, 0xedbd, 0xec1a, 0xedbd, 0xea4b, 0xebdf, 0xea4b, 0xebdf, 0xea24, 0xeba5, 0xea24, -0xeba5, 0xea24, 0xeba5, 0xeaa6, 0xec14, 0xeaa6, 0xec14, 0xea87, 0xebe1, 0xea87, 0xebe1, -0xe9e0, 0xeb27, 0xe9e0, 0xeb27, 0xe993, 0xeaca, 0xe993, 0xeaca, 0xe966, 0xea92, 0xe966, -0xea92, 0xe9a3, 0xeac8, 0xe9a3, 0xeac8, 0xe9a3, 0xeac8, 0xeb43, 0xec67, 0xeb43, 0xec67, -0xed61, 0xee8b, 0xed61, 0xee8b, 0xee75, 0xefa9, 0xee75, 0xefa9, 0xef35, 0xf07b, 0xef35, -0xf07b, 0xf017, 0xf175, 0xf017, 0xf175, 0xf017, 0xf175, 0xefd5, 0xf150, 0xefd5, 0xf150, -0xf106, 0xf2a2, 0xf106, 0xf2a2, 0xf255, 0xf416, 0xf255, 0xf416, 0xf325, 0xf50d, 0xf325, -0xf50d, 0xf3ee, 0xf5fc, 0xf3ee, 0xf5fc, 0xf37d, 0xf5b1, 0xf37d, 0xf5b1, 0xf37d, 0xf5b1, -0xf307, 0xf55e, 0xf307, 0xf55e, 0xf20c, 0xf482, 0xf20c, 0xf482, 0xf1c3, 0xf453, 0xf1c3, -0xf453, 0xf2bc, 0xf55f, 0xf2bc, 0xf55f, 0xf3e0, 0xf68d, 0xf3e0, 0xf68d, 0xf475, 0xf724, -0xf475, 0xf724, 0xf475, 0xf724, 0xf5c3, 0xf86c, 0xf5c3, 0xf86c, 0xf762, 0xf9fb, 0xf762, -0xf9fb, 0xf777, 0xf9f6, 0xf777, 0xf9f6, 0xf859, 0xfab4, 0xf859, 0xfab4, 0xf9e8, 0xfc19, -0xf9e8, 0xfc19, 0xf9e8, 0xfc19, 0xfab0, 0xfcaf, 0xfab0, 0xfcaf, 0xfce9, 0xfeaf, 0xfce9, -0xfeaf, 0xffee, 0x177, 0xffee, 0x177, 0x186, 0x2cf, 0x186, 0x2cf, 0x3c9, 0x4d1, -0x3c9, 0x4d1, 0x594, 0x65c, 0x594, 0x65c, 0x594, 0x65c, 0x6cb, 0x755, 0x6cb, -0x755, 0x88d, 0x8df, 0x88d, 0x8df, 0x8fe, 0x91e, 0x8fe, 0x91e, 0x9dd, 0x9d3, -0x9dd, 0x9d3, 0xab2, 0xa87, 0xab2, 0xa87, 0xa30, 0x9ef, 0xa30, 0x9ef, 0xa30, -0x9ef, 0x9a2, 0x957, 0x9a2, 0x957, 0x8cd, 0x884, 0x8cd, 0x884, 0x670, 0x635, -0x670, 0x635, 0x3a2, 0x380, 0x3a2, 0x380, 0x225, 0x228, 0x225, 0x228, 0x225, -0x228, 0xd8, 0x10b, 0xd8, 0x10b, 0xffff, 0x6c, 0xffff, 0x6c, 0xff2a, 0xffd9, -0xff2a, 0xffd9, 0xfd19, 0xfe11, 0xfd19, 0xfe11, 0xfbaa, 0xfcf0, 0xfbaa, 0xfcf0, 0xfadb, -0xfc72, 0xfadb, 0xfc72, 0xfadb, 0xfc72, 0xf857, 0xfa41, 0xf857, 0xfa41, 0xf517, 0xf753, -0xf517, 0xf753, 0xf301, 0xf58e, 0xf301, 0xf58e, 0xf0ec, 0xf3c6, 0xf0ec, 0xf3c6, 0xef06, -0xf228, 0xef06, 0xf228, 0xed5d, 0xf0c1, 0xed5d, 0xf0c1, 0xed5d, 0xf0c1, 0xeb3a, 0xeed9, -0xeb3a, 0xeed9, 0xe98e, 0xed5f, 0xe98e, 0xed5f, 0xe83c, 0xec37, 0xe83c, 0xec37, 0xe737, -0xeb54, 0xe737, 0xeb54, 0xe5d2, 0xea09, 0xe5d2, 0xea09, 0xe5d2, 0xea09, 0xe396, 0xe7de, -0xe396, 0xe7de, 0xe214, 0xe665, 0xe214, 0xe665, 0xe1fd, 0xe651, 0xe1fd, 0xe651, 0xe129, -0xe57a, 0xe129, 0xe57a, 0xe09e, 0xe4e7, 0xe09e, 0xe4e7, 0xe0b6, 0xe4f4, 0xe0b6, 0xe4f4, -0xe0b6, 0xe4f4, 0xdf25, 0xe355, 0xdf25, 0xe355, 0xdf75, 0xe396, 0xdf75, 0xe396, 0xdff5, -0xe406, 0xdff5, 0xe406, 0xdf25, 0xe326, 0xdf25, 0xe326, 0xdfea, 0xe3dc, 0xdfea, 0xe3dc, -0xe171, 0xe555, 0xe171, 0xe555, 0xe171, 0xe555, 0xe327, 0xe6ff, 0xe327, 0xe6ff, 0xe3ad, -0xe77a, 0xe3ad, 0xe77a, 0xe3c0, 0xe784, 0xe3c0, 0xe784, 0xe43a, 0xe7f4, 0xe43a, 0xe7f4, -0xe4e5, 0xe897, 0xe4e5, 0xe897, 0xe4e5, 0xe897, 0xe59f, 0xe948, 0xe59f, 0xe948, 0xe6e7, -0xea85, 0xe6e7, 0xea85, 0xe7fb, 0xeb8c, 0xe7fb, 0xeb8c, 0xe77d, 0xeafd, 0xe77d, 0xeafd, -0xe7c5, 0xeb30, 0xe7c5, 0xeb30, 0xe7e7, 0xeb38, 0xe7e7, 0xeb38, 0xe7e7, 0xeb38, 0xe6de, -0xea0d, 0xe6de, 0xea0d, 0xe751, 0xea58, 0xe751, 0xea58, 0xe7cc, 0xeaa3, 0xe7cc, 0xeaa3, -0xe79f, 0xea3e, 0xe79f, 0xea3e, 0xea68, 0xecc6, 0xea68, 0xecc6, 0xece6, 0xeefc, 0xece6, -0xeefc, 0xece6, 0xeefc, 0xee2f, 0xeff5, 0xee2f, 0xeff5, 0xf0c0, 0xf230, 0xf0c0, 0xf230, -0xf2a7, 0xf3b9, 0xf2a7, 0xf3b9, 0xf598, 0xf647, 0xf598, 0xf647, 0xf97a, 0xf9c4, 0xf97a, -0xf9c4, 0xf97a, 0xf9c4, 0xfc89, 0xfc6a, 0xfc89, 0xfc6a, 0xff1f, 0xfe97, 0xff1f, 0xfe97, -0x1d6, 0xe7, 0x1d6, 0xe7, 0x461, 0x30b, 0x461, 0x30b, 0x78a, 0x5d3, 0x78a, -0x5d3, 0xa9e, 0x88b, 0xa9e, 0x88b, 0xa9e, 0x88b, 0xc05, 0x99d, 0xc05, 0x99d, -0xe67, 0xbb2, 0xe67, 0xbb2, 0x10b2, 0xdb9, 0x10b2, 0xdb9, 0x11f7, 0xec3, 0x11f7, -0xec3, 0x1407, 0x10a3, 0x1407, 0x10a3, 0x1407, 0x10a3, 0x1567, 0x11de, 0x1567, 0x11de, -0x14b7, 0x1113, 0x14b7, 0x1113, 0x14b0, 0x10fa, 0x14b0, 0x10fa, 0x14e0, 0x1123, 0x14e0, -0x1123, 0x1445, 0x1087, 0x1445, 0x1087, 0x14ee, 0x1138, 0x14ee, 0x1138, 0x14ee, 0x1138, -0x145e, 0x10b7, 0x145e, 0x10b7, 0x13a5, 0x1010, 0x13a5, 0x1010, 0x12f5, 0xf76, 0x12f5, -0xf76, 0x10bc, 0xd56, 0x10bc, 0xd56, 0xf48, 0xbfc, 0xf48, 0xbfc, 0xe5c, 0xb29, -0xe5c, 0xb29, 0xe5c, 0xb29, 0xe49, 0xb2e, 0xe49, 0xb2e, 0xe83, 0xb7d, 0xe83, -0xb7d, 0xdc3, 0xace, 0xdc3, 0xace, 0xcbd, 0x9d6, 0xcbd, 0x9d6, 0xccc, 0x9f0, -0xccc, 0x9f0, 0xccc, 0x9f0, 0xcae, 0x9d9, 0xcae, 0x9d9, 0xbc7, 0x8f4, 0xbc7, -0x8f4, 0xc4d, 0x979, 0xc4d, 0x979, 0xcb0, 0x9d8, 0xcb0, 0x9d8, 0xc55, 0x977, -0xc55, 0x977, 0xbcb, 0x8e7, 0xbcb, 0x8e7, 0xbcb, 0x8e7, 0xb9f, 0x8b5, 0xb9f, -0x8b5, 0xbf6, 0x908, 0xbf6, 0x908, 0xb07, 0x816, 0xb07, 0x816, 0xaa3, 0x7b4, -0xaa3, 0x7b4, 0xad3, 0x7e9, 0xad3, 0x7e9, 0xa3f, 0x760, 0xa3f, 0x760, 0xa3f, -0x760, 0xa90, 0x7c4, 0xa90, 0x7c4, 0xb1b, 0x868, 0xb1b, 0x868, 0xb30, 0x89c, -0xb30, 0x89c, 0xc04, 0x998, 0xc04, 0x998, 0xc6f, 0xa31, 0xc6f, 0xa31, 0xc6f, -0xa31, 0xb70, 0x968, 0xb70, 0x968, 0xa1b, 0x84e, 0xa1b, 0x84e, 0x973, 0x7e6, -0x973, 0x7e6, 0x941, 0x7f9, 0x941, 0x7f9, 0x916, 0x815, 0x916, 0x815, 0x973, -0x8ba, 0x973, 0x8ba, 0x973, 0x8ba, 0x8e2, 0x871, 0x8e2, 0x871, 0x86e, 0x843, -0x86e, 0x843, 0x88e, 0x8a5, 0x88e, 0x8a5, 0x6df, 0x733, 0x6df, 0x733, 0x462, -0x4ee, 0x462, 0x4ee, 0x1e8, 0x2a3, 0x1e8, 0x2a3, 0x1e8, 0x2a3, 0x55, 0x136, -0x55, 0x136, 0x4b, 0x149, 0x4b, 0x149, 0xa5, 0x1b6, 0xa5, 0x1b6, 0x95, -0x1ae, 0x95, 0x1ae, 0xcb, 0x1e1, 0xcb, 0x1e1, 0xcb, 0x1e1, 0x11a, 0x225, -0x11a, 0x225, 0x219, 0x30f, 0x219, 0x30f, 0x2e8, 0x3c1, 0x2e8, 0x3c1, 0x1b8, -0x26e, 0x1b8, 0x26e, 0x1fd, 0x288, 0x1fd, 0x288, 0x3af, 0x40d, 0x3af, 0x40d, -0x3af, 0x40d, 0x4d2, 0x501, 0x4d2, 0x501, 0x5ac, 0x5ab, 0x5ac, 0x5ab, 0x6a3, -0x674, 0x6a3, 0x674, 0x6e1, 0x687, 0x6e1, 0x687, 0x7d2, 0x752, 0x7d2, 0x752, -0xa64, 0x9c4, 0xa64, 0x9c4, 0xa64, 0x9c4, 0xa60, 0x9a9, 0xa60, 0x9a9, 0x944, -0x87f, 0x944, 0x87f, 0x8b8, 0x7ee, 0x8b8, 0x7ee, 0x839, 0x774, 0x839, 0x774, -0x75b, 0x6a5, 0x75b, 0x6a5, 0x75b, 0x6a5, 0x529, 0x48c, 0x529, 0x48c, 0x2f7, -0x27c, 0x2f7, 0x27c, 0x124, 0xd4, 0x124, 0xd4, 0x1b, 0xfffd, 0x1b, 0xfffd, -0xffba, 0xffd5, 0xffba, 0xffd5, 0xff0d, 0xff66, 0xff0d, 0xff66, 0xff0d, 0xff66, 0xfcd7, -0xfd6f, 0xfcd7, 0xfd6f, 0xfa20, 0xfaf8, 0xfa20, 0xfaf8, 0xf85e, 0xf976, 0xf85e, 0xf976, -0xf731, 0xf885, 0xf731, 0xf885, 0xf5e7, 0xf773, 0xf5e7, 0xf773, 0xf4fb, 0xf6b7, 0xf4fb, -0xf6b7, 0xf4fb, 0xf6b7, 0xf4b0, 0xf696, 0xf4b0, 0xf696, 0xf35a, 0xf560, 0xf35a, 0xf560, -0xf246, 0xf462, 0xf246, 0xf462, 0xf195, 0xf3bd, 0xf195, 0xf3bd, 0xf08e, 0xf2b5, 0xf08e, -0xf2b5, 0xf08e, 0xf2b5, 0xf04e, 0xf26b, 0xf04e, 0xf26b, 0xf0b4, 0xf2bb, 0xf0b4, 0xf2bb, -0xf11f, 0xf306, 0xf11f, 0xf306, 0xf199, 0xf357, 0xf199, 0xf357, 0xf277, 0xf403, 0xf277, -0xf403, 0xf300, 0xf455, 0xf300, 0xf455, 0xf300, 0xf455, 0xf3a3, 0xf4ba, 0xf3a3, 0xf4ba, -0xf412, 0xf4e8, 0xf412, 0xf4e8, 0xf41c, 0xf4b0, 0xf41c, 0xf4b0, 0xf475, 0xf4c6, 0xf475, -0xf4c6, 0xf463, 0xf473, 0xf463, 0xf473, 0xf554, 0xf525, 0xf554, 0xf525, 0xf554, 0xf525, -0xf839, 0xf7d0, 0xf839, 0xf7d0, 0xfa63, 0xf9c7, 0xfa63, 0xf9c7, 0xfbc4, 0xfaf9, 0xfbc4, -0xfaf9, 0xfd75, 0xfc84, 0xfd75, 0xfc84, 0xfec0, 0xfdb0, 0xfec0, 0xfdb0, 0xfec0, 0xfdb0, -0x94, 0xff6d, 0x94, 0xff6d, 0x1b7, 0x7f, 0x1b7, 0x7f, 0x22a, 0xe9, 0x22a, -0xe9, 0x402, 0x2be, 0x402, 0x2be, 0x615, 0x4d2, 0x615, 0x4d2, 0x7d7, 0x69a, -0x7d7, 0x69a, 0x7d7, 0x69a, 0x97c, 0x847, 0x97c, 0x847, 0x9e3, 0x8b7, 0x9e3, -0x8b7, 0x8ae, 0x78a, 0x8ae, 0x78a, 0x868, 0x74b, 0x868, 0x74b, 0x835, 0x71c, -0x835, 0x71c, 0x762, 0x649, 0x762, 0x649, 0x762, 0x649, 0x791, 0x673, 0x791, -0x673, 0x7b3, 0x68a, 0x7b3, 0x68a, 0x93f, 0x804, 0x93f, 0x804, 0xa9d, 0x94a, -0xa9d, 0x94a, 0xb86, 0xa14, 0xb86, 0xa14, 0xb86, 0xa14, 0xd34, 0xb9c, 0xd34, -0xb9c, 0xc9e, 0xadb, 0xc9e, 0xadb, 0xcb8, 0xac6, 0xcb8, 0xac6, 0xf05, 0xcdf, -0xf05, 0xcdf, 0x104b, 0xdf0, 0x104b, 0xdf0, 0x11ec, 0xf5b, 0x11ec, 0xf5b, 0x11ec, -0xf5b, 0x1487, 0x11c1, 0x1487, 0x11c1, 0x1548, 0x124f, 0x1548, 0x124f, 0x1634, 0x130c, -0x1634, 0x130c, 0x182c, 0x14dc, 0x182c, 0x14dc, 0x1913, 0x15a2, 0x1913, 0x15a2, 0x1a38, -0x16ae, 0x1a38, 0x16ae, 0x1a38, 0x16ae, 0x1ab4, 0x171b, 0x1ab4, 0x171b, 0x1a90, 0x16f3, -0x1a90, 0x16f3, 0x1a46, 0x16af, 0x1a46, 0x16af, 0x18ae, 0x1529, 0x18ae, 0x1529, 0x170f, -0x13a6, 0x170f, 0x13a6, 0x170f, 0x13a6, 0x1689, 0x1348, 0x1689, 0x1348, 0x15e6, 0x12d6, -0x15e6, 0x12d6, 0x14c5, 0x11ef, 0x14c5, 0x11ef, 0x142d, 0x1199, 0x142d, 0x1199, 0x1267, -0x101a, 0x1267, 0x101a, 0x10ac, 0xeab, 0x10ac, 0xeab, 0x10ac, 0xeab, 0x1093, 0xedf, -0x1093, 0xedf, 0xf0d, 0xda7, 0xf0d, 0xda7, 0xd22, 0xc09, 0xd22, 0xc09, 0xc8d, -0xbbe, 0xc8d, 0xbbe, 0xb95, 0xb0a, 0xb95, 0xb0a, 0xb95, 0xb0a, 0xb57, 0xb0a, -0xb57, 0xb0a, 0xb56, 0xb40, 0xb56, 0xb40, 0x9bc, 0x9d3, 0x9bc, 0x9d3, 0x9b1, -0x9eb, 0x9b1, 0x9eb, 0xa72, 0xac6, 0xa72, 0xac6, 0x978, 0x9da, 0x978, 0x9da, -0x978, 0x9da, 0x90c, 0x974, 0x90c, 0x974, 0x88f, 0x8f2, 0x88f, 0x8f2, 0x717, -0x76c, 0x717, 0x76c, 0x774, 0x7b4, 0x774, 0x7b4, 0x7c5, 0x7e9, 0x7c5, 0x7e9, -0x64b, 0x64e, 0x64b, 0x64e, 0x64b, 0x64e, 0x5fd, 0x5dc, 0x5fd, 0x5dc, 0x5a3, -0x55c, 0x5a3, 0x55c, 0x5a2, 0x535, 0x5a2, 0x535, 0x678, 0x5e7, 0x678, 0x5e7, -0x5df, 0x52c, 0x5df, 0x52c, 0x5df, 0x52c, 0x65f, 0x58f, 0x65f, 0x58f, 0x7df, -0x6f9, 0x7df, 0x6f9, 0x884, 0x78d, 0x884, 0x78d, 0x9ce, 0x8ce, 0x9ce, 0x8ce, -0xaa2, 0x9a1, 0xaa2, 0x9a1, 0x999, 0x89e, 0x999, 0x89e, 0x999, 0x89e, 0x9b9, -0x8cc, 0x9b9, 0x8cc, 0xa63, 0x98b, 0xa63, 0x98b, 0x974, 0x8b8, 0x974, 0x8b8, -0x938, 0x89e, 0x938, 0x89e, 0x8ac, 0x836, 0x8ac, 0x836, 0x787, 0x73a, 0x787, -0x73a, 0x787, 0x73a, 0x6c1, 0x69e, 0x6c1, 0x69e, 0x4dd, 0x4e3, 0x4dd, 0x4e3, -0x268, 0x297, 0x268, 0x297, 0x56, 0xab, 0x56, 0xab, 0xfdb5, 0xfe2b, 0xfdb5, -0xfe2b, 0xfdb5, 0xfe2b, 0xfba9, 0xfc3c, 0xfba9, 0xfc3c, 0xfb6b, 0xfc15, 0xfb6b, 0xfc15, -0xfa00, 0xfaba, 0xfa00, 0xfaba, 0xf8d5, 0xf997, 0xf8d5, 0xf997, 0xf86b, 0xf92f, 0xf86b, -0xf92f, 0xf79d, 0xf85c, 0xf79d, 0xf85c, 0xf79d, 0xf85c, 0xf87d, 0xf930, 0xf87d, 0xf930, -0xf8e0, 0xf982, 0xf8e0, 0xf982, 0xf8fb, 0xf987, 0xf8fb, 0xf987, 0xf9e3, 0xfa55, 0xf9e3, -0xfa55, 0xfa97, 0xfaeb, 0xfa97, 0xfaeb, 0xfb11, 0xfb49, 0xfb11, 0xfb49, 0xfb11, 0xfb49, -0xfb94, 0xfbae, 0xfb94, 0xfbae, 0xfb9a, 0xfb99, 0xfb9a, 0xfb99, 0xfb86, 0xfb6e, 0xfb86, -0xfb6e, 0xfc97, 0xfc6c, 0xfc97, 0xfc6c, 0xfcfe, 0xfcc6, 0xfcfe, 0xfcc6, 0xfcfe, 0xfcc6, -0xfdeb, 0xfdae, 0xfdeb, 0xfdae, 0xfe95, 0xfe5a, 0xfe95, 0xfe5a, 0xfd5e, 0xfd2f, 0xfd5e, -0xfd2f, 0xfd02, 0xfce6, 0xfd02, 0xfce6, 0xfc61, 0xfc62, 0xfc61, 0xfc62, 0xfb1b, 0xfb41, -0xfb1b, 0xfb41, 0xfb1b, 0xfb41, 0xfa96, 0xfae9, 0xfa96, 0xfae9, 0xf960, 0xf9e9, 0xf960, -0xf9e9, 0xf82c, 0xf8ef, 0xf82c, 0xf8ef, 0xf7dc, 0xf8de, 0xf7dc, 0xf8de, 0xf638, 0xf77c, -0xf638, 0xf77c, 0xf4e1, 0xf66a, 0xf4e1, 0xf66a, 0xf4e1, 0xf66a, 0xf4a5, 0xf672, 0xf4a5, -0xf672, 0xf381, 0xf591, 0xf381, 0xf591, 0xf2ea, 0xf53a, 0xf2ea, 0xf53a, 0xf292, 0xf51c, -0xf292, 0xf51c, 0xf139, 0xf3f7, 0xf139, 0xf3f7, 0xf139, 0xf3f7, 0xf0ae, 0xf399, 0xf0ae, -0xf399, 0xf0de, 0xf3ed, 0xf0de, 0xf3ed, 0xf08a, 0xf3b4, 0xf08a, 0xf3b4, 0xf075, 0xf3af, -0xf075, 0xf3af, 0xefd9, 0xf31a, 0xefd9, 0xf31a, 0xef28, 0xf265, 0xef28, 0xf265, 0xef28, -0xf265, 0xef0c, 0xf23c, 0xef0c, 0xf23c, 0xeeee, 0xf208, 0xeeee, 0xf208, 0xefab, 0xf2a5, -0xefab, 0xf2a5, 0xf0ab, 0xf37f, 0xf0ab, 0xf37f, 0xf0ed, 0xf393, 0xf0ed, 0xf393, 0xf127, -0xf39c, 0xf127, 0xf39c, 0xf127, 0xf39c, 0xf262, 0xf4a2, 0xf262, 0xf4a2, 0xf2f0, 0xf4fa, -0xf2f0, 0xf4fa, 0xf2ca, 0xf49d, 0xf2ca, 0xf49d, 0xf2f9, 0xf496, 0xf2f9, 0xf496, 0xf2bd, -0xf426, 0xf2bd, 0xf426, 0xf2bd, 0xf426, 0xf2fd, 0xf436, 0xf2fd, 0xf436, 0xf3c4, 0xf4d2, -0xf3c4, 0xf4d2, 0xf40e, 0xf4f6, 0xf40e, 0xf4f6, 0xf432, 0xf4fb, 0xf432, 0xf4fb, 0xf5eb, -0xf69b, 0xf5eb, 0xf69b, 0xf752, 0xf7f1, 0xf752, 0xf7f1, 0xf752, 0xf7f1, 0xf729, 0xf7be, -0xf729, 0xf7be, 0xf70b, 0xf79d, 0xf70b, 0xf79d, 0xf674, 0xf708, 0xf674, 0xf708, 0xf6fb, -0xf798, 0xf6fb, 0xf798, 0xf74a, 0xf7f5, 0xf74a, 0xf7f5, 0xf5e4, 0xf6a1, 0xf5e4, 0xf6a1, -0xf5e4, 0xf6a1, 0xf486, 0xf559, 0xf486, 0xf559, 0xf346, 0xf431, 0xf346, 0xf431, 0xf2b7, -0xf3bb, 0xf2b7, 0xf3bb, 0xf217, 0xf336, 0xf217, 0xf336, 0xf141, 0xf279, 0xf141, 0xf279, -0xf141, 0xf279, 0xf105, 0xf255, 0xf105, 0xf255, 0xf0dc, 0xf244, 0xf0dc, 0xf244, 0xefbc, -0xf139, 0xefbc, 0xf139, 0xeecf, 0xf05e, 0xeecf, 0xf05e, 0xee7b, 0xf019, 0xee7b, 0xf019, -0xede6, 0xef91, 0xede6, 0xef91, 0xede6, 0xef91, 0xef7e, 0xf133, 0xef7e, 0xf133, 0xf14a, -0xf307, 0xf14a, 0xf307, 0xf154, 0xf317, 0xf154, 0xf317, 0xf166, 0xf32d, 0xf166, 0xf32d, -0xf1b6, 0xf381, 0xf1b6, 0xf381, 0xf26b, 0xf439, 0xf26b, 0xf439, 0xf26b, 0xf439, 0xf367, -0xf538, 0xf367, 0xf538, 0xf3eb, 0xf5c1, 0xf3eb, 0xf5c1, 0xf3d6, 0xf5b2, 0xf3d6, 0xf5b2, -0xf471, 0xf655, 0xf471, 0xf655, 0xf4c3, 0xf6b1, 0xf4c3, 0xf6b1, 0xf4c3, 0xf6b1, 0xf53e, -0xf739, 0xf53e, 0xf739, 0xf581, 0xf78b, 0xf581, 0xf78b, 0xf39f, 0xf5bc, 0xf39f, 0xf5bc, -0xf269, 0xf49b, 0xf269, 0xf49b, 0xf193, 0xf3db, 0xf193, 0xf3db, 0xf008, 0xf268, 0xf008, -0xf268, 0xf008, 0xf268, 0xefe5, 0xf25f, 0xefe5, 0xf25f, 0xefc4, 0xf256, 0xefc4, 0xf256, -0xee89, 0xf134, 0xee89, 0xf134, 0xeecc, 0xf18e, 0xeecc, 0xf18e, 0xee82, 0xf159, 0xee82, -0xf159, 0xecc5, 0xefac, 0xecc5, 0xefac, 0xecc5, 0xefac, 0xec7f, 0xef72, 0xec7f, 0xef72, -0xec25, 0xef20, 0xec25, 0xef20, 0xebd4, 0xeed0, 0xebd4, 0xeed0, 0xec58, 0xef4f, 0xec58, -0xef4f, 0xeca1, 0xef8c, 0xeca1, 0xef8c, 0xeca1, 0xef8c, 0xecf5, 0xefcb, 0xecf5, 0xefcb, -0xed78, 0xf033, 0xed78, 0xf033, 0xedec, 0xf083, 0xedec, 0xf083, 0xef4c, 0xf1b8, 0xef4c, -0xf1b8, 0xf0f1, 0xf32c, 0xf0f1, 0xf32c, 0xf0ef, 0xf2f1, 0xf0ef, 0xf2f1, 0xf0ef, 0xf2f1, -0xf1ad, 0xf371, 0xf1ad, 0xf371, 0xf3e5, 0xf565, 0xf3e5, 0xf565, 0xf54d, 0xf685, 0xf54d, -0xf685, 0xf69b, 0xf788, 0xf69b, 0xf788, 0xf7d1, 0xf871, 0xf7d1, 0xf871, 0xf7d1, 0xf871, -0xf81b, 0xf86c, 0xf81b, 0xf86c, 0xf9ab, 0xf9ae, 0xf9ab, 0xf9ae, 0xfc79, 0xfc2e, 0xfc79, -0xfc2e, 0xfe4a, 0xfdb3, 0xfe4a, 0xfdb3, 0x51, 0xff71, 0x51, 0xff71, 0x2bc, 0x196, -0x2bc, 0x196, 0x2bc, 0x196, 0x495, 0x32d, 0x495, 0x32d, 0x72d, 0x588, 0x72d, -0x588, 0x958, 0x779, 0x958, 0x779, 0x9fc, 0x7ea, 0x9fc, 0x7ea, 0xaf3, 0x8b2, -0xaf3, 0x8b2, 0xc2f, 0x9c3, 0xc2f, 0x9c3, 0xc2f, 0x9c3, 0xd7d, 0xaea, 0xd7d, -0xaea, 0xe65, 0xbb0, 0xe65, 0xbb0, 0xe12, 0xb3f, 0xe12, 0xb3f, 0xe79, 0xb8a, -0xe79, 0xb8a, 0xf4e, 0xc48, 0xf4e, 0xc48, 0xf4e, 0xc48, 0xe6e, 0xb51, 0xe6e, -0xb51, 0xe77, 0xb45, 0xe77, 0xb45, 0xf25, 0xbe0, 0xf25, 0xbe0, 0xed8, 0xb80, -0xed8, 0xb80, 0x1020, 0xcb7, 0x1020, 0xcb7, 0x11be, 0xe44, 0x11be, 0xe44, 0x11be, -0xe44, 0x12d6, 0xf4c, 0x12d6, 0xf4c, 0x13c3, 0x102a, 0x13c3, 0x102a, 0x142e, 0x1087, -0x142e, 0x1087, 0x146f, 0x10bb, 0x146f, 0x10bb, 0x1522, 0x1163, 0x1522, 0x1163, 0x16b7, -0x12f1, 0x16b7, 0x12f1, 0x16b7, 0x12f1, 0x1857, 0x148d, 0x1857, 0x148d, 0x1a27, 0x165d, -0x1a27, 0x165d, 0x1b09, 0x1745, 0x1b09, 0x1745, 0x1c0f, 0x1855, 0x1c0f, 0x1855, 0x1d4b, -0x19a1, 0x1d4b, 0x19a1, 0x1d4b, 0x19a1, 0x1d9d, 0x1a0b, 0x1d9d, 0x1a0b, 0x1eb6, 0x1b43, -0x1eb6, 0x1b43, 0x1e6a, 0x1b1e, 0x1e6a, 0x1b1e, 0x1d48, 0x1a2a, 0x1d48, 0x1a2a, 0x1d0a, -0x1a22, 0x1d0a, 0x1a22, 0x1afb, 0x1852, 0x1afb, 0x1852, 0x1afb, 0x1852, 0x1951, 0x16ed, -0x1951, 0x16ed, 0x199a, 0x1783, 0x199a, 0x1783, 0x1821, 0x165d, 0x1821, 0x165d, 0x1568, -0x13fb, 0x1568, 0x13fb, 0x1339, 0x1227, 0x1339, 0x1227, 0x115a, 0x10a6, 0x115a, 0x10a6, -0x115a, 0x10a6, 0xf90, 0xf3b, 0xf90, 0xf3b, 0xd8a, 0xd96, 0xd8a, 0xd96, 0xae8, -0xb51, 0xae8, 0xb51, 0x77d, 0x842, 0x77d, 0x842, 0x497, 0x5b3, 0x497, 0x5b3, -0x497, 0x5b3, 0x327, 0x494, 0x327, 0x494, 0x266, 0x41d, 0x266, 0x41d, 0xa6, -0x2a0, 0xa6, 0x2a0, 0xfed3, 0x105, 0xfed3, 0x105, 0xfe5b, 0xbe, 0xfe5b, 0xbe, -0xfd44, 0xffcc, 0xfd44, 0xffcc, 0xfd44, 0xffcc, 0xfb32, 0xfdd5, 0xfb32, 0xfdd5, 0xfa2a, -0xfcdd, 0xfa2a, 0xfcdd, 0xf894, 0xfb4d, 0xf894, 0xfb4d, 0xf729, 0xf9de, 0xf729, 0xf9de, -0xf7c0, 0xfa67, 0xf7c0, 0xfa67, 0xf704, 0xf996, 0xf704, 0xf996, 0xf704, 0xf996, 0xf598, -0xf80c, 0xf598, 0xf80c, 0xf533, 0xf783, 0xf533, 0xf783, 0xf55b, 0xf781, 0xf55b, 0xf781, -0xf57c, 0xf774, 0xf57c, 0xf774, 0xf51b, 0xf6e2, 0xf51b, 0xf6e2, 0xf51b, 0xf6e2, 0xf443, -0xf5d7, 0xf443, 0xf5d7, 0xf394, 0xf4f5, 0xf394, 0xf4f5, 0xf42a, 0xf557, 0xf42a, 0xf557, -0xf50c, 0xf608, 0xf50c, 0xf608, 0xf653, 0xf720, 0xf653, 0xf720, 0xf660, 0xf700, 0xf660, -0xf700, 0xf660, 0xf700, 0xf628, 0xf69f, 0xf628, 0xf69f, 0xf774, 0xf7c5, 0xf774, 0xf7c5, -0xf74e, 0xf77d, 0xf74e, 0xf77d, 0xf70b, 0xf71a, 0xf70b, 0xf71a, 0xf74d, 0xf742, 0xf74d, -0xf742, 0xf770, 0xf74c, 0xf770, 0xf74c, 0xf770, 0xf74c, 0xf7bb, 0xf780, 0xf7bb, 0xf780, -0xf822, 0xf7d3, 0xf822, 0xf7d3, 0xf932, 0xf8cf, 0xf932, 0xf8cf, 0xf872, 0xf7fb, 0xf872, -0xf7fb, 0xf706, 0xf67a, 0xf706, 0xf67a, 0xf706, 0xf67a, 0xf5e3, 0xf542, 0xf5e3, 0xf542, -0xf411, 0xf358, 0xf411, 0xf358, 0xf42b, 0xf359, 0xf42b, 0xf359, 0xf45f, 0xf371, 0xf45f, -0xf371, 0xf4fa, 0xf3ec, 0xf4fa, 0xf3ec, 0xf699, 0xf569, 0xf699, 0xf569, 0xf699, 0xf569, -0xf7a3, 0xf64e, 0xf7a3, 0xf64e, 0xf9c2, 0xf846, 0xf9c2, 0xf846, 0xfb36, 0xf991, 0xfb36, -0xf991, 0xfc4b, 0xfa7b, 0xfc4b, 0xfa7b, 0xfdd0, 0xfbd5, 0xfdd0, 0xfbd5, 0xfefb, 0xfcd6, -0xfefb, 0xfcd6, 0xfefb, 0xfcd6, 0x100, 0xfeb2, 0x100, 0xfeb2, 0x321, 0xad, 0x321, -0xad, 0x4bb, 0x225, 0x4bb, 0x225, 0x6ce, 0x41b, 0x6ce, 0x41b, 0x8d3, 0x60a, -0x8d3, 0x60a, 0x8d3, 0x60a, 0xa13, 0x73a, 0xa13, 0x73a, 0xb74, 0x893, 0xb74, -0x893, 0xcb0, 0x9d0, 0xcb0, 0x9d0, 0xd26, 0xa51, 0xd26, 0xa51, 0xcdd, 0xa1d, -0xcdd, 0xa1d, 0xd0e, 0xa6a, 0xd0e, 0xa6a, 0xd0e, 0xa6a, 0xd63, 0xae7, 0xd63, -0xae7, 0xcf5, 0xaa8, 0xcf5, 0xaa8, 0xcfc, 0xae8, 0xcfc, 0xae8, 0xd60, 0xb8c, -0xd60, 0xb8c, 0xd0c, 0xb7d, 0xd0c, 0xb7d, 0xbaa, 0xa65, 0xbaa, 0xa65, 0xbaa, -0xa65, 0xae6, 0x9ef, 0xae6, 0x9ef, 0xa5d, 0x9b5, 0xa5d, 0x9b5, 0x859, 0x801, -0x859, 0x801, 0x6ef, 0x6e4, 0x6ef, 0x6e4, 0x6d0, 0x710, 0x6d0, 0x710, 0x6d0, -0x710, 0x614, 0x69a, 0x614, 0x69a, 0x5c5, 0x68a, 0x5c5, 0x68a, 0x622, 0x71f, -0x622, 0x71f, 0x52a, 0x656, 0x52a, 0x656, 0x3ea, 0x53c, 0x3ea, 0x53c, 0x36a, -0x4d7, 0x36a, 0x4d7, 0x36a, 0x4d7, 0x287, 0x404, 0x287, 0x404, 0x14b, 0x2cf, -0x14b, 0x2cf, 0x57, 0x1d7, 0x57, 0x1d7, 0xffc4, 0x136, 0xffc4, 0x136, 0xffe7, -0x142, 0xffe7, 0x142, 0xc, 0x147, 0xc, 0x147, 0xc, 0x147, 0xad, 0x1c2, -0xad, 0x1c2, 0x1a5, 0x28e, 0x1a5, 0x28e, 0x210, 0x2c9, 0x210, 0x2c9, 0x278, -0x2fe, 0x278, 0x2fe, 0x2f1, 0x342, 0x2f1, 0x342, 0x2f1, 0x342, 0x42c, 0x448, -0x42c, 0x448, 0x4c4, 0x4ac, 0x4c4, 0x4ac, 0x53b, 0x4f1, 0x53b, 0x4f1, 0x5f8, -0x581, 0x5f8, 0x581, 0x69b, 0x5fa, 0x69b, 0x5fa, 0x97b, 0x8b6, 0x97b, 0x8b6, -0x97b, 0x8b6, 0xb2a, 0xa45, 0xb2a, 0xa45, 0xafa, 0x9fa, 0xafa, 0x9fa, 0xc04, -0xaf0, 0xc04, 0xaf0, 0xc8e, 0xb6a, 0xc8e, 0xb6a, 0xd6f, 0xc40, 0xd6f, 0xc40, -0xd6f, 0xc40, 0xe6d, 0xd36, 0xe6d, 0xd36, 0xe4b, 0xd0e, 0xe4b, 0xd0e, 0xe55, -0xd14, 0xe55, 0xd14, 0xe29, 0xce4, 0xe29, 0xce4, 0xe2a, 0xce1, 0xe2a, 0xce1, -0xdf7, 0xca7, 0xdf7, 0xca7, 0xdf7, 0xca7, 0xdd2, 0xc79, 0xdd2, 0xc79, 0xdf8, -0xc92, 0xdf8, 0xc92, 0xf07, 0xd90, 0xf07, 0xd90, 0x10d3, 0xf45, 0x10d3, 0xf45, -0x1092, 0xee8, 0x1092, 0xee8, 0x1070, 0xea5, 0x1070, 0xea5, 0x1070, 0xea5, 0x10f0, -0xeff, 0x10f0, 0xeff, 0x11c6, 0xfaa, 0x11c6, 0xfaa, 0x12ef, 0x10a4, 0x12ef, 0x10a4, -0x12df, 0x1062, 0x12df, 0x1062, 0x1368, 0x10b8, 0x1368, 0x10b8, 0x1368, 0x10b8, 0x14f2, -0x120f, 0x14f2, 0x120f, 0x1618, 0x1303, 0x1618, 0x1303, 0x1786, 0x1442, 0x1786, 0x1442, -0x192c, 0x15bd, 0x192c, 0x15bd, 0x197f, 0x15ec, 0x197f, 0x15ec, 0x1a94, 0x16e5, 0x1a94, -0x16e5, 0x1a94, 0x16e5, 0x1bb2, 0x17f1, 0x1bb2, 0x17f1, 0x1b5d, 0x1795, 0x1b5d, 0x1795, -0x1b34, 0x176f, 0x1b34, 0x176f, 0x19a6, 0x15f1, 0x19a6, 0x15f1, 0x1822, 0x148b, 0x1822, -0x148b, 0x1773, 0x1407, 0x1773, 0x1407, 0x1773, 0x1407, 0x14c7, 0x1192, 0x14c7, 0x1192, -0x128c, 0xf9a, 0x128c, 0xf9a, 0x1184, 0xee1, 0x1184, 0xee1, 0xf1e, 0xcd4, 0xf1e, -0xcd4, 0xd30, 0xb48, 0xd30, 0xb48, 0xd30, 0xb48, 0xb27, 0x9a7, 0xb27, 0x9a7, -0x7e0, 0x6ce, 0x7e0, 0x6ce, 0x4b7, 0x415, 0x4b7, 0x415, 0x1b9, 0x189, 0x1b9, -0x189, 0xff00, 0xff40, 0xff00, 0xff40, 0xfca5, 0xfd51, 0xfca5, 0xfd51, 0xfca5, 0xfd51, -0xfa98, 0xfbac, 0xfa98, 0xfbac, 0xf840, 0xf9b4, 0xf840, 0xf9b4, 0xf63b, 0xf806, 0xf63b, -0xf806, 0xf45d, 0xf675, 0xf45d, 0xf675, 0xf284, 0xf4dd, 0xf284, 0xf4dd, 0xf1a0, 0xf430, -0xf1a0, 0xf430, 0xf1a0, 0xf430, 0xf07f, 0xf339, 0xf07f, 0xf339, 0xee8d, 0xf165, 0xee8d, -0xf165, 0xed75, 0xf05f, 0xed75, 0xf05f, 0xebfe, 0xeef0, 0xebfe, 0xeef0, 0xea29, 0xed18, -0xea29, 0xed18, 0xea29, 0xed18, 0xea32, 0xed16, 0xea32, 0xed16, 0xe92a, 0xebfb, 0xe92a, -0xebfb, 0xe8b5, 0xeb6e, 0xe8b5, 0xeb6e, 0xe9f4, 0xec91, 0xe9f4, 0xec91, 0xe9da, 0xec58, -0xe9da, 0xec58, 0xea8a, 0xecea, 0xea8a, 0xecea, 0xea8a, 0xecea, 0xeb27, 0xed69, 0xeb27, -0xed69, 0xeb45, 0xed6c, 0xeb45, 0xed6c, 0xec72, 0xee81, 0xec72, 0xee81, 0xed15, 0xef12, -0xed15, 0xef12, 0xedd5, 0xefc5, 0xedd5, 0xefc5, 0xef81, 0xf169, 0xef81, 0xf169, 0xef81, -0xf169, 0xf11b, 0xf302, 0xf11b, 0xf302, 0xf214, 0xf3ff, 0xf214, 0xf3ff, 0xf325, 0xf51b, -0xf325, 0xf51b, 0xf447, 0xf64c, 0xf447, 0xf64c, 0xf505, 0xf71d, 0xf505, 0xf71d, 0xf505, -0xf71d, 0xf619, 0xf845, 0xf619, 0xf845, 0xf5dc, 0xf81f, 0xf5dc, 0xf81f, 0xf542, 0xf79b, -0xf542, 0xf79b, 0xf599, 0xf807, 0xf599, 0xf807, 0xf572, 0xf7f2, 0xf572, 0xf7f2, 0xf5ce, -0xf85a, 0xf5ce, 0xf85a, 0xf5ce, 0xf85a, 0xf681, 0xf915, 0xf681, 0xf915, 0xf72b, 0xf9c1, -0xf72b, 0xf9c1, 0xf84f, 0xfae0, 0xf84f, 0xfae0, 0xf8b3, 0xfb36, 0xf8b3, 0xfb36, 0xf854, -0xfac2, 0xf854, 0xfac2, 0xf975, 0xfbc6, 0xf975, 0xfbc6, 0xf975, 0xfbc6, 0xfa51, 0xfc7e, -0xfa51, 0xfc7e, 0xfb62, 0xfd65, 0xfb62, 0xfd65, 0xfe16, 0xffe9, 0xfe16, 0xffe9, 0xff47, -0xe5, 0xff47, 0xe5, 0x15d, 0x2c5, 0x15d, 0x2c5, 0x15d, 0x2c5, 0x3b6, 0x4e5, -0x3b6, 0x4e5, 0x407, 0x4ff, 0x407, 0x4ff, 0x4ce, 0x591, 0x4ce, 0x591, 0x5ee, -0x680, 0x5ee, 0x680, 0x6bf, 0x726, 0x6bf, 0x726, 0x732, 0x775, 0x732, 0x775, -0x732, 0x775, 0x6b6, 0x6de, 0x6b6, 0x6de, 0x618, 0x62e, 0x618, 0x62e, 0x602, -0x611, 0x602, 0x611, 0x54d, 0x560, 0x54d, 0x560, 0x47a, 0x49c, 0x47a, 0x49c, -0x2f5, 0x332, 0x2f5, 0x332, 0x2f5, 0x332, 0x5c, 0xbe, 0x5c, 0xbe, 0xff3b, -0xffcb, 0xff3b, 0xffcb, 0xfeb9, 0xff80, 0xfeb9, 0xff80, 0xfce6, 0xfdeb, 0xfce6, 0xfdeb, -0xfafe, 0xfc47, 0xfafe, 0xfc47, 0xfafe, 0xfc47, 0xf8b9, 0xfa4a, 0xf8b9, 0xfa4a, 0xf637, -0xf812, 0xf637, 0xf812, 0xf497, 0xf6bc, 0xf497, 0xf6bc, 0xf331, 0xf59f, 0xf331, 0xf59f, -0xf1a8, 0xf45b, 0xf1a8, 0xf45b, 0xf036, 0xf329, 0xf036, 0xf329, 0xf036, 0xf329, 0xef73, -0xf29f, 0xef73, 0xf29f, 0xedcf, 0xf12d, 0xedcf, 0xf12d, 0xec3e, 0xefc6, 0xec3e, 0xefc6, -0xea69, 0xee10, 0xea69, 0xee10, 0xe8bd, 0xec7a, 0xe8bd, 0xec7a, 0xe8c7, 0xec91, 0xe8c7, -0xec91, 0xe8c7, 0xec91, 0xe6f0, 0xeabc, 0xe6f0, 0xeabc, 0xe58c, 0xe951, 0xe58c, 0xe951, -0xe49b, 0xe851, 0xe49b, 0xe851, 0xe37d, 0xe71c, 0xe37d, 0xe71c, 0xe3ce, 0xe750, 0xe3ce, -0xe750, 0xe3ce, 0xe750, 0xe31c, 0xe67c, 0xe31c, 0xe67c, 0xe260, 0xe59a, 0xe260, 0xe59a, -0xe289, 0xe59a, 0xe289, 0xe59a, 0xe327, 0xe60e, 0xe327, 0xe60e, 0xe351, 0xe60e, 0xe351, -0xe60e, 0xe410, 0xe6a3, 0xe410, 0xe6a3, 0xe410, 0xe6a3, 0xe4e1, 0xe74d, 0xe4e1, 0xe74d, -0xe4ad, 0xe6f4, 0xe4ad, 0xe6f4, 0xe5e4, 0xe809, 0xe5e4, 0xe809, 0xe648, 0xe84d, 0xe648, -0xe84d, 0xe60d, 0xe7f7, 0xe60d, 0xe7f7, 0xe6bb, 0xe88c, 0xe6bb, 0xe88c, 0xe6bb, 0xe88c, -0xe716, 0xe8d1, 0xe716, 0xe8d1, 0xe827, 0xe9cd, 0xe827, 0xe9cd, 0xe962, 0xeaf5, 0xe962, -0xeaf5, 0xea6d, 0xebee, 0xea6d, 0xebee, 0xebce, 0xed3c, 0xebce, 0xed3c, 0xebce, 0xed3c, -0xecaf, 0xee08, 0xecaf, 0xee08, 0xebe2, 0xed25, 0xebe2, 0xed25, 0xebc3, 0xeceb, 0xebc3, -0xeceb, 0xec47, 0xed52, 0xec47, 0xed52, 0xebed, 0xecd6, 0xebed, 0xecd6, 0xee2f, 0xeef0, -0xee2f, 0xeef0, 0xee2f, 0xeef0, 0xf008, 0xf09c, 0xf008, 0xf09c, 0xf0b5, 0xf118, 0xf0b5, -0xf118, 0xf35d, 0xf388, 0xf35d, 0xf388, 0xf541, 0xf52f, 0xf541, 0xf52f, 0xf692, 0xf641, -0xf692, 0xf641, 0xf692, 0xf641, 0xf893, 0xf7fe, 0xf893, 0xf7fe, 0xfada, 0xf9fe, 0xfada, -0xf9fe, 0xfca0, 0xfb7c, 0xfca0, 0xfb7c, 0xfe7e, 0xfd12, 0xfe7e, 0xfd12, 0x8f, 0xfedc, -0x8f, 0xfedc, 0x2ac, 0xb4, 0x2ac, 0xb4, 0x2ac, 0xb4, 0x4fe, 0x2c4, 0x4fe, -0x2c4, 0x73e, 0x4c6, 0x73e, 0x4c6, 0xa75, 0x7c6, 0xa75, 0x7c6, 0xce7, 0xa07, -0xce7, 0xa07, 0xe26, 0xb1e, 0xe26, 0xb1e, 0xf8d, 0xc64, 0xf8d, 0xc64, 0xf8d, -0xc64, 0x101c, 0xcda, 0x101c, 0xcda, 0xf90, 0xc3f, 0xf90, 0xc3f, 0xfd3, 0xc7c, -0xfd3, 0xc7c, 0x100c, 0xcb8, 0x100c, 0xcb8, 0xee8, 0xb9f, 0xee8, 0xb9f, 0xee8, -0xb9f, 0xe9c, 0xb66, 0xe9c, 0xb66, 0xec7, 0xbad, 0xec7, 0xbad, 0xd9d, 0xaa3, -0xd9d, 0xaa3, 0xd17, 0xa43, 0xd17, 0xa43, 0xc39, 0x98f, 0xc39, 0x98f, 0xb17, -0x89b, 0xb17, 0x89b, 0xb17, 0x89b, 0xb58, 0x90c, 0xb58, 0x90c, 0xaf4, 0x8d7, -0xaf4, 0x8d7, 0xb1f, 0x932, 0xb1f, 0x932, 0xb67, 0x9a8, 0xb67, 0x9a8, 0xb21, -0x98e, 0xb21, 0x98e, 0xb7e, 0xa15, 0xb7e, 0xa15, 0xb7e, 0xa15, 0xbce, 0xa89, -0xbce, 0xa89, 0xb0c, 0x9e9, 0xb0c, 0x9e9, 0xabb, 0x9b4, 0xabb, 0x9b4, 0xb1f, -0xa30, 0xb1f, 0xa30, 0xad8, 0x9fb, 0xad8, 0x9fb, 0xad8, 0x9fb, 0xab0, 0x9e3, -0xab0, 0x9e3, 0xa47, 0x984, 0xa47, 0x984, 0xa15, 0x95a, 0xa15, 0x95a, 0xb39, -0xa82, 0xb39, 0xa82, 0xc13, 0xb5d, 0xc13, 0xb5d, 0xb84, 0xace, 0xb84, 0xace, -0xb84, 0xace, 0xb80, 0xaca, 0xb80, 0xaca, 0xc0f, 0xb58, 0xc0f, 0xb58, 0xbb6, -0xaff, 0xbb6, 0xaff, 0xc0a, 0xb54, 0xc0a, 0xb54, 0xc0b, 0xb59, 0xc0b, 0xb59, -0xb3b, 0xa8e, 0xb3b, 0xa8e, 0xb3b, 0xa8e, 0xc1e, 0xb78, 0xc1e, 0xb78, 0xcb6, -0xc1b, 0xcb6, 0xc1b, 0xc9d, 0xc10, 0xc9d, 0xc10, 0xba9, 0xb2b, 0xba9, 0xb2b, -0xa9b, 0xa2e, 0xa9b, 0xa2e, 0xa9b, 0xa2e, 0xaa2, 0xa4a, 0xaa2, 0xa4a, 0xa17, -0x9d3, 0xa17, 0x9d3, 0x92f, 0x901, 0x92f, 0x901, 0x8be, 0x8a4, 0x8be, 0x8a4, -0x871, 0x86c, 0x871, 0x86c, 0x7a6, 0x7b4, 0x7a6, 0x7b4, 0x7a6, 0x7b4, 0x698, -0x6b5, 0x698, 0x6b5, 0x545, 0x56f, 0x545, 0x56f, 0x3cd, 0x400, 0x3cd, 0x400, -0x341, 0x377, 0x341, 0x377, 0x40c, 0x441, 0x40c, 0x441, 0x42f, 0x45f, 0x42f, -0x45f, 0x42f, 0x45f, 0x404, 0x42a, 0x404, 0x42a, 0x3ea, 0x400, 0x3ea, 0x400, -0x443, 0x444, 0x443, 0x444, 0x4ba, 0x4a2, 0x4ba, 0x4a2, 0x4ff, 0x4ca, 0x4ff, -0x4ca, 0x4ff, 0x4ca, 0x4fc, 0x4a8, 0x4fc, 0x4a8, 0x557, 0x4e2, 0x557, 0x4e2, -0x632, 0x59a, 0x632, 0x59a, 0x710, 0x656, 0x710, 0x656, 0x83d, 0x762, 0x83d, -0x762, 0x7d9, 0x6df, 0x7d9, 0x6df, 0x7d9, 0x6df, 0x837, 0x722, 0x837, 0x722, -0x87f, 0x753, 0x87f, 0x753, 0x832, 0x6f4, 0x832, 0x6f4, 0x8c9, 0x77f, 0x8c9, -0x77f, 0x890, 0x741, 0x890, 0x741, 0x7bd, 0x670, 0x7bd, 0x670, 0x7bd, 0x670, -0x6eb, 0x5a7, 0x6eb, 0x5a7, 0x548, 0x413, 0x548, 0x413, 0x3f6, 0x2d8, 0x3f6, -0x2d8, 0x268, 0x166, 0x268, 0x166, 0xe2, 0x2, 0xe2, 0x2, 0xe2, 0x2, -0xfff1, 0xff37, 0xfff1, 0xff37, 0xfec6, 0xfe37, 0xfec6, 0xfe37, 0xfd7b, 0xfd18, 0xfd7b, -0xfd18, 0xfb8f, 0xfb59, 0xfb8f, 0xfb59, 0xf9c6, 0xf9be, 0xf9c6, 0xf9be, 0xf723, 0xf746, -0xf723, 0xf746, 0xf723, 0xf746, 0xf632, 0xf67d, 0xf632, 0xf67d, 0xf541, 0xf5b1, 0xf541, -0xf5b1, 0xf3d0, 0xf460, 0xf3d0, 0xf460, 0xf314, 0xf3bd, 0xf314, 0xf3bd, 0xf250, 0xf30b, -0xf250, 0xf30b, 0xf26c, 0xf332, 0xf26c, 0xf332, 0xf26c, 0xf332, 0xf2ae, 0xf377, 0xf2ae, -0xf377, 0xf2d4, 0xf397, 0xf2d4, 0xf397, 0xf243, 0xf2f9, 0xf243, 0xf2f9, 0xf234, 0xf2d6, -0xf234, 0xf2d6, 0xf27f, 0xf306, 0xf27f, 0xf306, 0xf27f, 0xf306, 0xf2cc, 0xf331, 0xf2cc, -0xf331, 0xf366, 0xf3a5, 0xf366, 0xf3a5, 0xf3e7, 0xf3fb, 0xf3e7, 0xf3fb, 0xf471, 0xf458, -0xf471, 0xf458, 0xf5ac, 0xf565, 0xf5ac, 0xf565, 0xf718, 0xf6a1, 0xf718, 0xf6a1, 0xf718, -0xf6a1, 0xf8a0, 0xf7fc, 0xf8a0, 0xf7fc, 0xf95c, 0xf88d, 0xf95c, 0xf88d, 0xfb4a, 0xfa52, -0xfb4a, 0xfa52, 0xfdbc, 0xfca1, 0xfdbc, 0xfca1, 0xfe87, 0xfd4d, 0xfe87, 0xfd4d, 0xffb9, -0xfe67, 0xffb9, 0xfe67, 0xffb9, 0xfe67, 0xb6, 0xff52, 0xb6, 0xff52, 0x14e, 0xffde, -0x14e, 0xffde, 0x2a7, 0x131, 0x2a7, 0x131, 0x49f, 0x328, 0x49f, 0x328, 0x5b4, -0x441, 0x5b4, 0x441, 0x5b4, 0x441, 0x63a, 0x4d0, 0x63a, 0x4d0, 0x6b5, 0x558, -0x6b5, 0x558, 0x6b8, 0x569, 0x6b8, 0x569, 0x697, 0x558, 0x697, 0x558, 0x745, -0x615, 0x745, 0x615, 0x72f, 0x60e, 0x72f, 0x60e, 0x72f, 0x60e, 0x746, 0x62f, -0x746, 0x62f, 0x6fc, 0x5ee, 0x6fc, 0x5ee, 0x753, 0x648, 0x753, 0x648, 0x8df, -0x7d4, 0x8df, 0x7d4, 0x8d1, 0x7be, 0x8d1, 0x7be, 0x8f6, 0x7d6, 0x8f6, 0x7d6, -0x8f6, 0x7d6, 0x922, 0x7ef, 0x922, 0x7ef, 0x9af, 0x862, 0x9af, 0x862, 0xa04, -0x899, 0xa04, 0x899, 0xaf6, 0x968, 0xaf6, 0x968, 0xccf, 0xb1b, 0xccf, 0xb1b, -0xccf, 0xb1b, 0xef2, 0xd14, 0xef2, 0xd14, 0x115c, 0xf53, 0x115c, 0xf53, 0x1228, -0xff4, 0x1228, 0xff4, 0x12e9, 0x108c, 0x12e9, 0x108c, 0x1459, 0x11d6, 0x1459, 0x11d6, -0x157b, 0x12d5, 0x157b, 0x12d5, 0x157b, 0x12d5, 0x16d1, 0x140f, 0x16d1, 0x140f, 0x16f4, -0x141d, 0x16f4, 0x141d, 0x17bf, 0x14db, 0x17bf, 0x14db, 0x1880, 0x1597, 0x1880, 0x1597, -0x1906, 0x1622, 0x1906, 0x1622, 0x1906, 0x1622, 0x1977, 0x16a1, 0x1977, 0x16a1, 0x1769, -0x14ab, 0x1769, 0x14ab, 0x16e4, 0x1447, 0x16e4, 0x1447, 0x162b, 0x13b7, 0x162b, 0x13b7, -0x1590, 0x134e, 0x1590, 0x134e, 0x1432, 0x1229, 0x1432, 0x1229, 0x1432, 0x1229, 0x11b9, -0xfed, 0x11b9, 0xfed, 0xfbc, 0xe32, 0xfbc, 0xe32, 0xe53, 0xd0d, 0xe53, 0xd0d, -0xe87, 0xd86, 0xe87, 0xd86, 0xddd, 0xd1f, 0xddd, 0xd1f, 0xd31, 0xcb4, 0xd31, -0xcb4, 0xd31, 0xcb4, 0xccd, 0xc8c, 0xccd, 0xc8c, 0xc9d, 0xc92, 0xc9d, 0xc92, -0xc0f, 0xc34, 0xc0f, 0xc34, 0xab3, 0xaff, 0xab3, 0xaff, 0x934, 0x99e, 0x934, -0x99e, 0x934, 0x99e, 0x8a1, 0x920, 0x8a1, 0x920, 0x821, 0x8ac, 0x821, 0x8ac, -0x6e0, 0x76c, 0x6e0, 0x76c, 0x522, 0x5a7, 0x522, 0x5a7, 0x411, 0x486, 0x411, -0x486, 0x372, 0x3d0, 0x372, 0x3d0, 0x372, 0x3d0, 0x4d8, 0x51a, 0x4d8, 0x51a, -0x562, 0x582, 0x562, 0x582, 0x4e0, 0x4dc, 0x4e0, 0x4dc, 0x663, 0x638, 0x663, -0x638, 0x650, 0x5ff, 0x650, 0x5ff, 0x77d, 0x708, 0x77d, 0x708, 0x77d, 0x708, -0x793, 0x6fc, 0x793, 0x6fc, 0x789, 0x6d5, 0x789, 0x6d5, 0x828, 0x75d, 0x828, -0x75d, 0x805, 0x72a, 0x805, 0x72a, 0x8f7, 0x813, 0x8f7, 0x813, 0x8f7, 0x813, -0x87d, 0x799, 0x87d, 0x799, 0x7a3, 0x6c6, 0x7a3, 0x6c6, 0x765, 0x698, 0x765, -0x698, 0x6f6, 0x641, 0x6f6, 0x641, 0x74d, 0x6b7, 0x74d, 0x6b7, 0x6be, 0x64c, -0x6be, 0x64c, 0x6be, 0x64c, 0x5ea, 0x5a3, 0x5ea, 0x5a3, 0x4e2, 0x4c9, 0x4e2, -0x4c9, 0x325, 0x33d, 0x325, 0x33d, 0x251, 0x29a, 0x251, 0x29a, 0xff82, 0xfffd, -0xff82, 0xfffd, 0xfdd8, 0xfe82, 0xfdd8, 0xfe82, 0xfdd8, 0xfe82, 0xfbb3, 0xfc89, 0xfbb3, -0xfc89, 0xf9ea, 0xfae9, 0xf9ea, 0xfae9, 0xf9bd, 0xfade, 0xf9bd, 0xfade, 0xf876, 0xf9b3, -0xf876, 0xf9b3, 0xf77b, 0xf8cd, 0xf77b, 0xf8cd, 0xf77b, 0xf8cd, 0xf6f9, 0xf859, 0xf6f9, -0xf859, 0xf667, 0xf7ce, 0xf667, 0xf7ce, 0xf60e, 0xf774, 0xf60e, 0xf774, 0xf6ce, 0xf82c, -0xf6ce, 0xf82c, 0xf5bc, 0xf70d, 0xf5bc, 0xf70d, 0xf5a7, 0xf6e5, 0xf5a7, 0xf6e5, 0xf5a7, -0xf6e5, 0xf684, 0xf7ac, 0xf684, 0xf7ac, 0xf746, 0xf855, 0xf746, 0xf855, 0xf9c4, 0xfab9, -0xf9c4, 0xfab9, 0xfabf, 0xfb9a, 0xfabf, 0xfb9a, 0xfae6, 0xfba7, 0xfae6, 0xfba7, 0xfb9f, -0xfc4b, 0xfb9f, 0xfc4b, 0xfb9f, 0xfc4b, 0xfb9a, 0xfc33, 0xfb9a, 0xfc33, 0xfbc9, 0xfc55, -0xfbc9, 0xfc55, 0xfaf4, 0xfb78, 0xfaf4, 0xfb78, 0xfb48, 0xfbcc, 0xfb48, 0xfbcc, 0xfb16, -0xfba0, 0xfb16, 0xfba0, 0xfb16, 0xfba0, 0xfa6e, 0xfb05, 0xfa6e, 0xfb05, 0xfa31, 0xfadd, -0xfa31, 0xfadd, 0xfa23, 0xfaea, 0xfa23, 0xfaea, 0xfac1, 0xfbaa, 0xfac1, 0xfbaa, 0xf9f2, -0xfb01, 0xf9f2, 0xfb01, 0xfa4a, 0xfb85, 0xfa4a, 0xfb85, 0xfa4a, 0xfb85, 0xf86e, 0xf9d6, -0xf86e, 0xf9d6, 0xf71b, 0xf8b3, 0xf71b, 0xf8b3, 0xf5e2, 0xf7a9, 0xf5e2, 0xf7a9, 0xf480, -0xf675, 0xf480, 0xf675, 0xf43a, 0xf65c, 0xf43a, 0xf65c, 0xf479, 0xf6c2, 0xf479, 0xf6c2, -0xf479, 0xf6c2, 0xf4da, 0xf746, 0xf4da, 0xf746, 0xf43d, 0xf6c5, 0xf43d, 0xf6c5, 0xf3f7, -0xf694, 0xf3f7, 0xf694, 0xf300, 0xf5a9, 0xf300, 0xf5a9, 0xf2cf, 0xf57d, 0xf2cf, 0xf57d, -0xf2cf, 0xf57d, 0xf24b, 0xf4f5, 0xf24b, 0xf4f5, 0xf178, 0xf415, 0xf178, 0xf415, 0xf143, -0xf3cc, 0xf143, 0xf3cc, 0xf190, 0xf3fd, 0xf190, 0xf3fd, 0xf21c, 0xf467, 0xf21c, 0xf467, -0xf2cd, 0xf4f0, 0xf2cd, 0xf4f0, 0xf2cd, 0xf4f0, 0xf1cf, 0xf3c6, 0xf1cf, 0xf3c6, 0xf1e4, -0xf3ac, 0xf1e4, 0xf3ac, 0xf1a3, 0xf33b, 0xf1a3, 0xf33b, 0xf1d7, 0xf33f, 0xf1d7, 0xf33f, -0xf2d6, 0xf40e, 0xf2d6, 0xf40e, 0xf240, 0xf34c, 0xf240, 0xf34c, 0xf240, 0xf34c, 0xf20c, -0xf2f0, 0xf20c, 0xf2f0, 0xf318, 0xf3d8, 0xf318, 0xf3d8, 0xf55b, 0xf5fe, 0xf55b, 0xf5fe, -0xf5bf, 0xf64a, 0xf5bf, 0xf64a, 0xf698, 0xf714, 0xf698, 0xf714, 0xf698, 0xf714, 0xf725, -0xf799, 0xf725, 0xf799, 0xf760, 0xf7d3, 0xf760, 0xf7d3, 0xf7e1, 0xf85a, 0xf7e1, 0xf85a, -0xf7fc, 0xf882, 0xf7fc, 0xf882, 0xf712, 0xf7ab, 0xf712, 0xf7ab, 0xf680, 0xf732, 0xf680, -0xf732, 0xf680, 0xf732, 0xf60f, 0xf6dd, 0xf60f, 0xf6dd, 0xf5fd, 0xf6ea, 0xf5fd, 0xf6ea, -0xf58b, 0xf69a, 0xf58b, 0xf69a, 0xf4cc, 0xf5fc, 0xf4cc, 0xf5fc, 0xf4a8, 0xf5f9, 0xf4a8, -0xf5f9, 0xf3ea, 0xf55b, 0xf3ea, 0xf55b, 0xf3ea, 0xf55b, 0xf31b, 0xf4a9, 0xf31b, 0xf4a9, -0xf241, 0xf3e8, 0xf241, 0xf3e8, 0xf2dc, 0xf499, 0xf2dc, 0xf499, 0xf21b, 0xf3e9, 0xf21b, -0xf3e9, 0xf263, 0xf43d, 0xf263, 0xf43d, 0xf263, 0xf43d, 0xf254, 0xf435, 0xf254, 0xf435, -0xf1e9, 0xf3cc, 0xf1e9, 0xf3cc, 0xf245, 0xf424, 0xf245, 0xf424, 0xf284, 0xf45c, 0xf284, -0xf45c, 0xf2f4, 0xf4c2, 0xf2f4, 0xf4c2, 0xf357, 0xf518, 0xf357, 0xf518, 0xf357, 0xf518, -0xf3f8, 0xf5aa, 0xf3f8, 0xf5aa, 0xf46a, 0xf60d, 0xf46a, 0xf60d, 0xf5e0, 0xf772, 0xf5e0, -0xf772, 0xf71c, 0xf89f, 0xf71c, 0xf89f, 0xf7d3, 0xf94a, 0xf7d3, 0xf94a, 0xf817, 0xf984, -0xf817, 0xf984, 0xf817, 0xf984, 0xf7a3, 0xf90a, 0xf7a3, 0xf90a, 0xf659, 0xf7bd, 0xf659, -0xf7bd, 0xf57d, 0xf6e4, 0xf57d, 0xf6e4, 0xf497, 0xf604, 0xf497, 0xf604, 0xf465, 0xf5dc, -0xf465, 0xf5dc, 0xf465, 0xf5dc, 0xf3a1, 0xf526, 0xf3a1, 0xf526, 0xf305, 0xf49c, 0xf305, -0xf49c, 0xf326, 0xf4d2, 0xf326, 0xf4d2, 0xf38e, 0xf551, 0xf38e, 0xf551, 0xf324, 0xf500, -0xf324, 0xf500, 0xf2ab, 0xf49f, 0xf2ab, 0xf49f, 0xf2ab, 0xf49f, 0xf17d, 0xf388, 0xf17d, -0xf388, 0xefbf, 0xf1e0, 0xefbf, 0xf1e0, 0xefb2, 0xf1e4, 0xefb2, 0xf1e4, 0xef5f, 0xf19e, -0xef5f, 0xf19e, 0xefe4, 0xf22b, 0xefe4, 0xf22b, 0xefe4, 0xf22b, 0xef4f, 0xf197, 0xef4f, -0xf197, 0xf0aa, 0xf2ed, 0xf0aa, 0xf2ed, 0xf185, 0xf3bc, 0xf185, 0xf3bc, 0xf1f9, 0xf41c, -0xf1f9, 0xf41c, 0xf32a, 0xf530, 0xf32a, 0xf530, 0xf2ed, 0xf4cf, 0xf2ed, 0xf4cf, 0xf2ed, -0xf4cf, 0xf2fc, 0xf4b3, 0xf2fc, 0xf4b3, 0xf34a, 0xf4ce, 0xf34a, 0xf4ce, 0xf348, 0xf493, -0xf348, 0xf493, 0xf388, 0xf496, 0xf388, 0xf496, 0xf4a5, 0xf571, 0xf4a5, 0xf571, 0xf5f8, -0xf680, 0xf5f8, 0xf680, 0xf5f8, 0xf680, 0xf7ff, 0xf840, 0xf7ff, 0xf840, 0xf9ab, 0xf9a5, -0xf9ab, 0xf9a5, 0xfc41, 0xfbf4, 0xfc41, 0xfbf4, 0xfde7, 0xfd55, 0xfde7, 0xfd55, 0xff29, -0xfe55, 0xff29, 0xfe55, 0xff29, 0xfe55, 0xffe4, 0xfed1, 0xffe4, 0xfed1, 0x124, 0xffd8, -0x124, 0xffd8, 0x22c, 0xac, 0x22c, 0xac, 0x2fc, 0x14d, 0x2fc, 0x14d, 0x457, -0x27f, 0x457, 0x27f, 0x574, 0x379, 0x574, 0x379, 0x574, 0x379, 0x6a0, 0x489, -0x6a0, 0x489, 0x829, 0x5fa, 0x829, 0x5fa, 0x94e, 0x70d, 0x94e, 0x70d, 0x952, -0x703, 0x952, 0x703, 0xace, 0x875, 0xace, 0x875, 0xb35, 0x8d5, 0xb35, 0x8d5, -0xb35, 0x8d5, 0xc77, 0xa12, 0xc77, 0xa12, 0xd54, 0xaeb, 0xd54, 0xaeb, 0xe05, -0xb9a, 0xe05, 0xb9a, 0xeab, 0xc3d, 0xeab, 0xc3d, 0xf9f, 0xd2e, 0xf9f, 0xd2e, -0xf9f, 0xd2e, 0x1065, 0xdef, 0x1065, 0xdef, 0x1053, 0xdd8, 0x1053, 0xdd8, 0x1150, -0xece, 0x1150, 0xece, 0x1230, 0xfa5, 0x1230, 0xfa5, 0x1291, 0xffb, 0x1291, 0xffb, -0x132f, 0x108f, 0x132f, 0x108f, 0x132f, 0x108f, 0x1472, 0x11c7, 0x1472, 0x11c7, 0x1511, -0x125a, 0x1511, 0x125a, 0x16a5, 0x13e5, 0x16a5, 0x13e5, 0x1770, 0x14a8, 0x1770, 0x14a8, -0x184b, 0x157f, 0x184b, 0x157f, 0x1872, 0x15a4, 0x1872, 0x15a4, 0x1872, 0x15a4, 0x198a, -0x16c1, 0x198a, 0x16c1, 0x1a59, 0x1798, 0x1a59, 0x1798, 0x1a11, 0x1760, 0x1a11, 0x1760, -0x194c, 0x16b1, 0x194c, 0x16b1, 0x1963, 0x16e5, 0x1963, 0x16e5, 0x1963, 0x16e5, 0x19de, -0x1786, 0x19de, 0x1786, 0x1887, 0x165b, 0x1887, 0x165b, 0x183b, 0x1643, 0x183b, 0x1643, -0x1616, 0x1459, 0x1616, 0x1459, 0x145a, 0x12df, 0x145a, 0x12df, 0x12ef, 0x11ba, 0x12ef, -0x11ba, 0x12ef, 0x11ba, 0x108e, 0xfa5, 0x108e, 0xfa5, 0xdcb, 0xd30, 0xdcb, 0xd30, -0xbcb, 0xb81, 0xbcb, 0xb81, 0xa16, 0xa1d, 0xa16, 0xa1d, 0x8a2, 0x8fa, 0x8a2, -0x8fa, 0x6a3, 0x749, 0x6a3, 0x749, 0x6a3, 0x749, 0x401, 0x4f2, 0x401, 0x4f2, -0x20d, 0x343, 0x20d, 0x343, 0x48, 0x1bd, 0x48, 0x1bd, 0xfec9, 0x77, 0xfec9, -0x77, 0xfd4d, 0xff2a, 0xfd4d, 0xff2a, 0xfd4d, 0xff2a, 0xfba8, 0xfdac, 0xfba8, 0xfdac, -0xfaf5, 0xfd16, 0xfaf5, 0xfd16, 0xfaf5, 0xfd2a, 0xfaf5, 0xfd2a, 0xfa39, 0xfc78, 0xfa39, -0xfc78, 0xf988, 0xfbc8, 0xf988, 0xfbc8, 0xf856, 0xfa8d, 0xf856, 0xfa8d, 0xf856, 0xfa8d, -0xf776, 0xf99e, 0xf776, 0xf99e, 0xf5fb, 0xf80a, 0xf5fb, 0xf80a, 0xf672, 0xf863, 0xf672, -0xf863, 0xf4ed, 0xf6bb, 0xf4ed, 0xf6bb, 0xf38b, 0xf531, 0xf38b, 0xf531, 0xf3ab, 0xf527, -0xf3ab, 0xf527, 0xf3ab, 0xf527, 0xf2ef, 0xf440, 0xf2ef, 0xf440, 0xf32b, 0xf450, 0xf32b, -0xf450, 0xf3f3, 0xf4ed, 0xf3f3, 0xf4ed, 0xf47a, 0xf54b, 0xf47a, 0xf54b, 0xf448, 0xf4f2, -0xf448, 0xf4f2, 0xf448, 0xf4f2, 0xf4e4, 0xf56b, 0xf4e4, 0xf56b, 0xf41a, 0xf481, 0xf41a, -0xf481, 0xf567, 0xf5b2, 0xf567, 0xf5b2, 0xf600, 0xf634, 0xf600, 0xf634, 0xf6d2, 0xf6f3, -0xf6d2, 0xf6f3, 0xf74f, 0xf75f, 0xf74f, 0xf75f, 0xf74f, 0xf75f, 0xf7a2, 0xf7a5, 0xf7a2, -0xf7a5, 0xf873, 0xf86c, 0xf873, 0xf86c, 0xf83d, 0xf82d, 0xf83d, 0xf82d, 0xf70a, 0xf6f2, -0xf70a, 0xf6f2, 0xf5af, 0xf58f, 0xf5af, 0xf58f, 0xf57f, 0xf555, 0xf57f, 0xf555, 0xf57f, -0xf555, 0xf443, 0xf40f, 0xf443, 0xf40f, 0xf41a, 0xf3d8, 0xf41a, 0xf3d8, 0xf419, 0xf3c6, -0xf419, 0xf3c6, 0xf4f9, 0xf491, 0xf4f9, 0xf491, 0xf5ef, 0xf56e, 0xf5ef, 0xf56e, 0xf5ef, -0xf56e, 0xf7ca, 0xf72c, 0xf7ca, 0xf72c, 0xf943, 0xf883, 0xf943, 0xf883, 0xfa1a, 0xf935, -0xfa1a, 0xf935, 0xfa27, 0xf919, 0xfa27, 0xf919, 0xfb49, 0xfa10, 0xfb49, 0xfa10, 0xfc92, -0xfb2b, 0xfc92, 0xfb2b, 0xfc92, 0xfb2b, 0xfd71, 0xfbdc, 0xfd71, 0xfbdc, 0xfebb, 0xfcf8, -0xfebb, 0xfcf8, 0xffb6, 0xfdc6, 0xffb6, 0xfdc6, 0x197, 0xff7d, 0x197, 0xff7d, 0x3b8, -0x179, 0x3b8, 0x179, 0x59e, 0x33f, 0x59e, 0x33f, 0x59e, 0x33f, 0x6f8, 0x480, -0x6f8, 0x480, 0x932, 0x6a9, 0x932, 0x6a9, 0x976, 0x6e5, 0x976, 0x6e5, 0xafa, -0x869, 0xafa, 0x869, 0xb23, 0x89d, 0xb23, 0x89d, 0xb23, 0x89d, 0xb6e, 0x8fd, -0xb6e, 0x8fd, 0xbfe, 0x9ab, 0xbfe, 0x9ab, 0xb22, 0x8f8, 0xb22, 0x8f8, 0xaab, -0x8b2, 0xaab, 0x8b2, 0x9f8, 0x838, 0x9f8, 0x838, 0x948, 0x7c9, 0x948, 0x7c9, -0x948, 0x7c9, 0x7ec, 0x6b3, 0x7ec, 0x6b3, 0x7c6, 0x6d7, 0x7c6, 0x6d7, 0x6c1, -0x61e, 0x6c1, 0x61e, 0x588, 0x532, 0x588, 0x532, 0x466, 0x45d, 0x466, 0x45d, -0x3de, 0x41e, 0x3de, 0x41e, 0x3de, 0x41e, 0x3a0, 0x424, 0x3a0, 0x424, 0x397, -0x45a, 0x397, 0x45a, 0x362, 0x45c, 0x362, 0x45c, 0x2c3, 0x3ec, 0x2c3, 0x3ec, -0x178, 0x2c6, 0x178, 0x2c6, 0x178, 0x2c6, 0x17f, 0x2e7, 0x17f, 0x2e7, 0xdc, -0x253, 0xdc, 0x253, 0x47, 0x1c3, 0x47, 0x1c3, 0x86, 0x1fc, 0x86, 0x1fc, -0x73, 0x1d9, 0x73, 0x1d9, 0xe2, 0x22f, 0xe2, 0x22f, 0xe2, 0x22f, 0x1d5, -0x300, 0x1d5, 0x300, 0x39c, 0x49d, 0x39c, 0x49d, 0x327, 0x3f9, 0x327, 0x3f9, -0x4aa, 0x548, 0x4aa, 0x548, 0x66f, 0x6d5, 0x66f, 0x6d5, 0x66f, 0x6d5, 0x70e, -0x73c, 0x70e, 0x73c, 0x799, 0x78e, 0x799, 0x78e, 0x8bc, 0x87a, 0x8bc, 0x87a, -0xa54, 0x9de, 0xa54, 0x9de, 0xb8c, 0xae5, 0xb8c, 0xae5, 0xc0d, 0xb3a, 0xc0d, -0xb3a, 0xc0d, 0xb3a, 0xdc2, 0xcc8, 0xdc2, 0xcc8, 0xe45, 0xd2a, 0xe45, 0xd2a, -0xee7, 0xdb2, 0xee7, 0xdb2, 0xfc6, 0xe7c, 0xfc6, 0xe7c, 0xf49, 0xdee, 0xf49, -0xdee, 0x1105, 0xfa0, 0x1105, 0xfa0, 0x1105, 0xfa0, 0x1115, 0xfa9, 0x1115, 0xfa9, -0x126f, 0x10ff, 0x126f, 0x10ff, 0x1330, 0x11bf, 0x1330, 0x11bf, 0x140a, 0x1297, 0x140a, -0x1297, 0x141c, 0x12a7, 0x141c, 0x12a7, 0x141c, 0x12a7, 0x1416, 0x129e, 0x1416, 0x129e, -0x135e, 0x11e1, 0x135e, 0x11e1, 0x1339, 0x11b2, 0x1339, 0x11b2, 0x130c, 0x1178, 0x130c, -0x1178, 0x1197, 0xff1, 0x1197, 0xff1, 0x12ab, 0x10ed, 0x12ab, 0x10ed, 0x12ab, 0x10ed, -0x12d1, 0x10f6, 0x12d1, 0x10f6, 0x1414, 0x1217, 0x1414, 0x1217, 0x1354, 0x1130, 0x1354, -0x1130, 0x1381, 0x1133, 0x1381, 0x1133, 0x142b, 0x11af, 0x142b, 0x11af, 0x1392, 0x10e7, -0x1392, 0x10e7, 0x1392, 0x10e7, 0x14d9, 0x11fe, 0x14d9, 0x11fe, 0x15b6, 0x12ad, 0x15b6, -0x12ad, 0x1548, 0x1213, 0x1548, 0x1213, 0x165a, 0x12fe, 0x165a, 0x12fe, 0x17a1, 0x1425, -0x17a1, 0x1425, 0x17a1, 0x1425, 0x193c, 0x15a7, 0x193c, 0x15a7, 0x1aac, 0x1707, 0x1aac, -0x1707, 0x1a3a, 0x168f, 0x1a3a, 0x168f, 0x19e2, 0x163e, 0x19e2, 0x163e, 0x19b8, 0x1626, -0x19b8, 0x1626, 0x17bd, 0x144a, 0x17bd, 0x144a, 0x17bd, 0x144a, 0x1669, 0x1321, 0x1669, -0x1321, 0x15b8, 0x12a8, 0x15b8, 0x12a8, 0x12dd, 0x1011, 0x12dd, 0x1011, 0x1399, 0x111c, -0x1399, 0x111c, 0x12c4, 0x10a0, 0x12c4, 0x10a0, 0x1145, 0xf83, 0x1145, 0xf83, 0x1145, -0xf83, 0xe82, 0xd28, 0xe82, 0xd28, 0xbf9, 0xb0c, 0xbf9, 0xb0c, 0x915, 0x898, -0x915, 0x898, 0x5a1, 0x596, 0x5a1, 0x596, 0x405, 0x46a, 0x405, 0x46a, 0x405, -0x46a, 0x24, 0xf5, 0x24, 0xf5, 0xfede, 0x18, 0xfede, 0x18, 0xfd95, 0xff2f, -0xfd95, 0xff2f, 0xfc7a, 0xfe6e, 0xfc7a, 0xfe6e, 0xfad3, 0xfd15, 0xfad3, 0xfd15, 0xf8a0, -0xfb28, 0xf8a0, 0xfb28, 0xf8a0, 0xfb28, 0xf5c7, 0xf888, 0xf5c7, 0xf888, 0xf30f, 0xf5ff, -0xf30f, 0xf5ff, 0xf0bc, 0xf3cf, 0xf0bc, 0xf3cf, 0xee7b, 0xf1a6, 0xee7b, 0xf1a6, 0xed37, -0xf070, 0xed37, 0xf070, 0xeb8c, 0xeec9, 0xeb8c, 0xeec9, 0xeb8c, 0xeec9, 0xec08, 0xef42, -0xec08, 0xef42, 0xecb6, 0xefe5, 0xecb6, 0xefe5, 0xeba4, 0xeec2, 0xeba4, 0xeec2, 0xecc0, -0xefca, 0xecc0, 0xefca, 0xebab, 0xee9f, 0xebab, 0xee9f, 0xebab, 0xee9f, 0xeb08, 0xede5, -0xeb08, 0xede5, 0xee0c, 0xf0d2, 0xee0c, 0xf0d2, 0xeda4, 0xf055, 0xeda4, 0xf055, 0xee3b, -0xf0d9, 0xee3b, 0xf0d9, 0xefd0, 0xf261, 0xefd0, 0xf261, 0xf08d, 0xf313, 0xf08d, 0xf313, -0xf08d, 0xf313, 0xf140, 0xf3c1, 0xf140, 0xf3c1, 0xf342, 0xf5c2, 0xf342, 0xf5c2, 0xf3ef, -0xf672, 0xf3ef, 0xf672, 0xf47c, 0xf706, 0xf47c, 0xf706, 0xf567, 0xf7fb, 0xf567, 0xf7fb, -0xf74b, 0xf9ea, 0xf74b, 0xf9ea, 0xf74b, 0xf9ea, 0xf86b, 0xfb17, 0xf86b, 0xfb17, 0xf771, -0xfa29, 0xf771, 0xfa29, 0xf732, 0xf9f3, 0xf732, 0xf9f3, 0xf817, 0xfadf, 0xf817, 0xfadf, -0xf8b5, 0xfb7f, 0xf8b5, 0xfb7f, 0xf8b5, 0xfb7f, 0xf6dd, 0xf9a4, 0xf6dd, 0xf9a4, 0xf892, -0xfb4e, 0xf892, 0xfb4e, 0xf772, 0xfa1c, 0xf772, 0xfa1c, 0xf762, 0xf9f2, 0xf762, 0xf9f2, -0xf851, 0xfabe, 0xf851, 0xfabe, 0xf7ef, 0xfa32, 0xf7ef, 0xfa32, 0xf7ef, 0xfa32, 0xf88d, -0xfa9c, 0xf88d, 0xfa9c, 0xf9bc, 0xfb90, 0xf9bc, 0xfb90, 0xfc3a, 0xfdcc, 0xfc3a, 0xfdcc, -0xfc84, 0xfdd0, 0xfc84, 0xfdd0, 0xfe84, 0xff84, 0xfe84, 0xff84, 0x28, 0xda, 0x28, -0xda, 0x28, 0xda, 0xff3b, 0xff9f, 0xff3b, 0xff9f, 0xfff5, 0xc, 0xfff5, 0xc, -0xde, 0xaa, 0xde, 0xaa, 0x3e, 0xffc5, 0x3e, 0xffc5, 0x25e, 0x1a7, 0x25e, -0x1a7, 0x25e, 0x1a7, 0x29e, 0x1b0, 0x29e, 0x1b0, 0x34a, 0x22f, 0x34a, 0x22f, -0x3f3, 0x2b6, 0x3f3, 0x2b6, 0x331, 0x1de, 0x331, 0x1de, 0x1cc, 0x70, 0x1cc, -0x70, 0x4a, 0xfef1, 0x4a, 0xfef1, 0x4a, 0xfef1, 0xff00, 0xfdb7, 0xff00, 0xfdb7, -0xfd5f, 0xfc32, 0xfd5f, 0xfc32, 0xfba1, 0xfa9b, 0xfba1, 0xfa9b, 0xf9ac, 0xf8d8, 0xf9ac, -0xf8d8, 0xfaea, 0xfa52, 0xfaea, 0xfa52, 0xf91b, 0xf8c5, 0xf91b, 0xf8c5, 0xf91b, 0xf8c5, -0xf766, 0xf759, 0xf766, 0xf759, 0xf5af, 0xf5f0, 0xf5af, 0xf5f0, 0xf2e3, 0xf372, 0xf2e3, -0xf372, 0xf226, 0xf304, 0xf226, 0xf304, 0xf0cc, 0xf1f8, 0xf0cc, 0xf1f8, 0xf0cc, 0xf1f8, -0xeefc, 0xf072, 0xeefc, 0xf072, 0xeea5, 0xf061, 0xeea5, 0xf061, 0xed16, 0xef11, 0xed16, -0xef11, 0xed0f, 0xef42, 0xed0f, 0xef42, 0xed7a, 0xefdc, 0xed7a, 0xefdc, 0xeb5b, 0xede3, -0xeb5b, 0xede3, 0xeb5b, 0xede3, 0xe944, 0xebea, 0xe944, 0xebea, 0xe783, 0xea3e, 0xe783, -0xea3e, 0xe73f, 0xea06, 0xe73f, 0xea06, 0xe5d5, 0xe89e, 0xe5d5, 0xe89e, 0xe586, 0xe84c, -0xe586, 0xe84c, 0xe493, 0xe74e, 0xe493, 0xe74e, 0xe493, 0xe74e, 0xe505, 0xe7b0, 0xe505, -0xe7b0, 0xe611, 0xe8a9, 0xe611, 0xe8a9, 0xe601, 0xe882, 0xe601, 0xe882, 0xe6af, 0xe918, -0xe6af, 0xe918, 0xe64f, 0xe8a0, 0xe64f, 0xe8a0, 0xe64f, 0xe8a0, 0xe532, 0xe76c, 0xe532, -0xe76c, 0xe668, 0xe88c, 0xe668, 0xe88c, 0xe6c0, 0xe8d1, 0xe6c0, 0xe8d1, 0xe70d, 0xe90e, -0xe70d, 0xe90e, 0xe985, 0xeb7a, 0xe985, 0xeb7a, 0xea15, 0xec02, 0xea15, 0xec02, 0xea15, -0xec02, 0xec2a, 0xee12, 0xec2a, 0xee12, 0xed78, 0xef5e, 0xed78, 0xef5e, 0xee3c, 0xf022, -0xee3c, 0xf022, 0xefb5, 0xf19d, 0xefb5, 0xf19d, 0xef3b, 0xf125, 0xef3b, 0xf125, 0xef3b, -0xf125, 0xee42, 0xf02e, 0xee42, 0xf02e, 0xf074, 0xf25e, 0xf074, 0xf25e, 0xf19f, 0xf386, -0xf19f, 0xf386, 0xf295, 0xf474, 0xf295, 0xf474, 0xf24b, 0xf41c, 0xf24b, 0xf41c, 0xf28e, -0xf44a, 0xf28e, 0xf44a, 0xf28e, 0xf44a, 0xf433, 0xf5d2, 0xf433, 0xf5d2, 0xf3d8, 0xf552, -0xf3d8, 0xf552, 0xf3ce, 0xf519, 0xf3ce, 0xf519, 0xf3a9, 0xf4be, 0xf3a9, 0xf4be, 0xf4f6, -0xf5cb, 0xf4f6, 0xf5cb, 0xf55e, 0xf5ea, 0xf55e, 0xf5ea, 0xf55e, 0xf5ea, 0xf786, 0xf7c1, -0xf786, 0xf7c1, 0xf91b, 0xf8fe, 0xf91b, 0xf8fe, 0xfb89, 0xfb0e, 0xfb89, 0xfb0e, 0xfd66, -0xfc89, 0xfd66, 0xfc89, 0xfef9, 0xfdb7, 0xfef9, 0xfdb7, 0xfef9, 0xfdb7, 0x1d5, 0x2e, -0x1d5, 0x2e, 0x377, 0x16b, 0x377, 0x16b, 0x530, 0x2c2, 0x530, 0x2c2, 0x6c0, -0x3f5, 0x6c0, 0x3f5, 0x8af, 0x58e, 0x8af, 0x58e, 0xa8b, 0x71c, 0xa8b, 0x71c, -0xa8b, 0x71c, 0xb8a, 0x7d7, 0xb8a, 0x7d7, 0xbbb, 0x7cf, 0xbbb, 0x7cf, 0xd2a, -0x910, 0xd2a, 0x910, 0xd30, 0x8f5, 0xd30, 0x8f5, 0xd83, 0x935, 0xd83, 0x935, -0xe15, 0x9c0, 0xe15, 0x9c0, 0xe15, 0x9c0, 0xee2, 0xa94, 0xee2, 0xa94, 0xe1d, -0x9e1, 0xe1d, 0x9e1, 0xe42, 0xa24, 0xe42, 0xa24, 0xe86, 0xa8f, 0xe86, 0xa8f, -0xdc2, 0x9fc, 0xdc2, 0x9fc, 0xdc2, 0x9fc, 0xd60, 0x9d2, 0xd60, 0x9d2, 0xde0, -0xa8e, 0xde0, 0xa8e, 0xd7f, 0xa6d, 0xd7f, 0xa6d, 0xc84, 0x9b4, 0xc84, 0x9b4, -0xde2, 0xb55, 0xde2, 0xb55, 0xbcc, 0x97f, 0xbcc, 0x97f, 0xbcc, 0x97f, 0xcf9, -0xae9, 0xcf9, 0xae9, 0xe3f, 0xc67, 0xe3f, 0xc67, 0xe54, 0xcaf, 0xe54, 0xcaf, -0xf04, 0xd8d, 0xf04, 0xd8d, 0xe41, 0xcef, 0xe41, 0xcef, 0xdfb, 0xcc8, 0xdfb, -0xcc8, 0xdfb, 0xcc8, 0xe35, 0xd18, 0xe35, 0xd18, 0xd18, 0xc0d, 0xd18, 0xc0d, -0xc25, 0xb24, 0xc25, 0xb24, 0xc46, 0xb4a, 0xc46, 0xb4a, 0xcd7, 0xbdc, 0xcd7, -0xbdc, 0xcd7, 0xbdc, 0xdbc, 0xcbe, 0xdbc, 0xcbe, 0xbce, 0xacc, 0xbce, 0xacc, -0xcaa, 0xba3, 0xcaa, 0xba3, 0xdbd, 0xcb2, 0xdbd, 0xcb2, 0xd21, 0xc13, 0xd21, -0xc13, 0xd01, 0xbf4, 0xd01, 0xbf4, 0xd01, 0xbf4, 0xc8b, 0xb84, 0xc8b, 0xb84, -0xaa5, 0x9a6, 0xaa5, 0x9a6, 0xb8a, 0xa9b, 0xb8a, 0xa9b, 0xcdf, 0xc04, 0xcdf, -0xc04, 0xab1, 0x9f1, 0xab1, 0x9f1, 0x984, 0x8e4, 0x984, 0x8e4, 0x984, 0x8e4, -0x8e6, 0x86b, 0x8e6, 0x86b, 0x7fd, 0x7ab, 0x7fd, 0x7ab, 0x882, 0x85c, 0x882, -0x85c, 0x7e7, 0x7f1, 0x7e7, 0x7f1, 0x5c5, 0x5ff, 0x5c5, 0x5ff, 0x5c5, 0x5ff, -0x5c5, 0x62e, 0x5c5, 0x62e, 0x4e7, 0x57e, 0x4e7, 0x57e, 0x39c, 0x45e, 0x39c, -0x45e, 0x1b1, 0x299, 0x1b1, 0x299, 0x66, 0x16f, 0x66, 0x16f, 0xa5, 0x1c7, -0xa5, 0x1c7, 0xa5, 0x1c7, 0xad, 0x1e1, 0xad, 0x1e1, 0x2c, 0x169, 0x2c, -0x169, 0xffdd, 0x11b, 0xffdd, 0x11b, 0xff20, 0x55, 0xff20, 0x55, 0xffe7, 0x10c, -0xffe7, 0x10c, 0x3d, 0x148, 0x3d, 0x148, 0x3d, 0x148, 0xb0, 0x19b, 0xb0, -0x19b, 0x107, 0x1ca, 0x107, 0x1ca, 0x132, 0x1c9, 0x132, 0x1c9, 0x2d1, 0x339, -0x2d1, 0x339, 0x215, 0x24a, 0x215, 0x24a, 0x215, 0x24a, 0x263, 0x265, 0x263, -0x265, 0x227, 0x1f6, 0x227, 0x1f6, 0x18b, 0x12b, 0x18b, 0x12b, 0x1e9, 0x15e, -0x1e9, 0x15e, 0x4b6, 0x406, 0x4b6, 0x406, 0x438, 0x369, 0x438, 0x369, 0x438, -0x369, 0x490, 0x3ab, 0x490, 0x3ab, 0x557, 0x464, 0x557, 0x464, 0x3f7, 0x300, -0x3f7, 0x300, 0x3d6, 0x2e5, 0x3d6, 0x2e5, 0x2c2, 0x1e0, 0x2c2, 0x1e0, 0x186, -0xbc, 0x186, 0xbc, 0x186, 0xbc, 0xff44, 0xfe9a, 0xff44, 0xfe9a, 0xfee2, 0xfe60, -0xfee2, 0xfe60, 0xfd07, 0xfcb3, 0xfd07, 0xfcb3, 0xfbd7, 0xfbb5, 0xfbd7, 0xfbb5, 0xf84e, -0xf862, 0xf84e, 0xf862, 0xf84e, 0xf862, 0xf786, 0xf7d2, 0xf786, 0xf7d2, 0xf7e5, 0xf869, -0xf7e5, 0xf869, 0xf6e8, 0xf7a1, 0xf6e8, 0xf7a1, 0xf79e, 0xf889, 0xf79e, 0xf889, 0xf6ad, -0xf7c5, 0xf6ad, 0xf7c5, 0xf550, 0xf68e, 0xf550, 0xf68e, 0xf550, 0xf68e, 0xf4de, 0xf63c, -0xf4de, 0xf63c, 0xf6b0, 0xf824, 0xf6b0, 0xf824, 0xf6ed, 0xf86f, 0xf6ed, 0xf86f, 0xf825, -0xf9ab, 0xf825, 0xf9ab, 0xf733, 0xf8b5, 0xf733, 0xf8b5, 0xf747, 0xf8bb, 0xf747, 0xf8bb, -0xf747, 0xf8bb, 0xf8b1, 0xfa0e, 0xf8b1, 0xfa0e, 0xf89e, 0xf9dd, 0xf89e, 0xf9dd, 0xf8c4, -0xf9de, 0xf8c4, 0xf9de, 0xf974, 0xfa64, 0xf974, 0xfa64, 0xfa6f, 0xfb31, 0xfa6f, 0xfb31, -0xfa6f, 0xfb31, 0xfc93, 0xfd24, 0xfc93, 0xfd24, 0xfda1, 0xfe00, 0xfda1, 0xfe00, 0xfe09, -0xfe37, 0xfe09, 0xfe37, 0x1d4, 0x1d2, 0x1d4, 0x1d2, 0x282, 0x254, 0x282, 0x254, -0x325, 0x2ce, 0x325, 0x2ce, 0x325, 0x2ce, 0x2dc, 0x263, 0x2dc, 0x263, 0x21e, -0x188, 0x21e, 0x188, 0x445, 0x399, 0x445, 0x399, 0x484, 0x3c8, 0x484, 0x3c8, -0x51a, 0x454, 0x51a, 0x454, 0x5d4, 0x50b, 0x5d4, 0x50b, 0x5d4, 0x50b, 0x648, -0x582, 0x648, 0x582, 0x7c4, 0x705, 0x7c4, 0x705, 0x690, 0x5dd, 0x690, 0x5dd, -0x606, 0x562, 0x606, 0x562, 0x67a, 0x5e6, 0x67a, 0x5e6, 0x67a, 0x5e6, 0x5be, -0x539, 0x5be, 0x539, 0x543, 0x4ce, 0x543, 0x4ce, 0x4ca, 0x460, 0x4ca, 0x460, -0x371, 0x310, 0x371, 0x310, 0x3c0, 0x364, 0x3c0, 0x364, 0x3bf, 0x361, 0x3bf, -0x361, 0x3bf, 0x361, 0x2ef, 0x289, 0x2ef, 0x289, 0x2ca, 0x257, 0x2ca, 0x257, -0x11e, 0x95, 0x11e, 0x95, 0x1e1, 0x13d, 0x1e1, 0x13d, 0x2aa, 0x1e4, 0x2aa, -0x1e4, 0x2aa, 0x1e4, 0x3e5, 0x2f8, 0x3e5, 0x2f8, 0x414, 0x2fb, 0x414, 0x2fb, -0x59e, 0x455, 0x59e, 0x455, 0x8de, 0x763, 0x8de, 0x763, 0xaf7, 0x949, 0xaf7, -0x949, 0xd0c, 0xb2b, 0xd0c, 0xb2b, 0xd0c, 0xb2b, 0xe65, 0xc55, 0xe65, 0xc55, -0xdc2, 0xb84, 0xdc2, 0xb84, 0xe48, 0xbe2, 0xe48, 0xbe2, 0x1040, 0xdb7, 0x1040, -0xdb7, 0xfa7, 0xd03, 0xfa7, 0xd03, 0x10ef, 0xe38, 0x10ef, 0xe38, 0x10ef, 0xe38, -0x1183, 0xec2, 0x1183, 0xec2, 0x10c3, 0xe00, 0x10c3, 0xe00, 0x1025, 0xd6a, 0x1025, -0xd6a, 0x12ab, 0x1000, 0x12ab, 0x1000, 0x102e, 0xd9d, 0x102e, 0xd9d, 0x102e, 0xd9d, -0xe32, 0xbc1, 0xe32, 0xbc1, 0xe86, 0xc3d, 0xe86, 0xc3d, 0xdc2, 0xba6, 0xdc2, -0xba6, 0xf71, 0xd87, 0xf71, 0xd87, 0xd1e, 0xb69, 0xd1e, 0xb69, 0xc19, 0xa99, -0xc19, 0xa99, 0xc19, 0xa99, 0xb3a, 0x9ef, 0xb3a, 0x9ef, 0xb70, 0xa58, 0xb70, -0xa58, 0xaf4, 0xa0c, 0xaf4, 0xa0c, 0xa4e, 0x991, 0xa4e, 0x991, 0x883, 0x7eb, -0x883, 0x7eb, 0x8ed, 0x873, 0x8ed, 0x873, 0x8ed, 0x873, 0xa82, 0xa1f, 0xa82, -0xa1f, 0xaba, 0xa65, 0xaba, 0xa65, 0xa4c, 0x9fc, 0xa4c, 0x9fc, 0x9db, 0x989, -0x9db, 0x989, 0xa95, 0xa39, 0xa95, 0xa39, 0xa95, 0xa39, 0x877, 0x80b, 0x877, -0x80b, 0xc05, 0xb82, 0xc05, 0xb82, 0xaa6, 0xa06, 0xaa6, 0xa06, 0xa21, 0x962, -0xa21, 0x962, 0xf1d, 0xe3b, 0xf1d, 0xe3b, 0xdd0, 0xcca, 0xdd0, 0xcca, 0xdd0, -0xcca, 0xee8, 0xdbf, 0xee8, 0xdbf, 0x112e, 0xfe4, 0x112e, 0xfe4, 0x10e8, 0xf81, -0x10e8, 0xf81, 0x1160, 0xfe0, 0x1160, 0xfe0, 0x12e1, 0x114e, 0x12e1, 0x114e, 0x1228, -0x1089, 0x1228, 0x1089, 0x1228, 0x1089, 0x10b7, 0xf13, 0x10b7, 0xf13, 0x1169, 0xfc8, -0x1169, 0xfc8, 0x10ad, 0xf16, 0x10ad, 0xf16, 0xfdf, 0xe5b, 0xfdf, 0xe5b, 0xf34, -0xdca, 0xf34, 0xdca, 0xf34, 0xdca, 0xf34, 0xdea, 0xf34, 0xdea, 0xeaf, 0xd8c, -0xeaf, 0xd8c, 0xd5a, 0xc63, 0xd5a, 0xc63, 0xbc2, 0xafa, 0xbc2, 0xafa, 0x86c, -0x7d6, 0x86c, 0x7d6, 0x7a2, 0x740, 0x7a2, 0x740, 0x7a2, 0x740, 0x4cc, 0x49d, -0x4cc, 0x49d, 0x23c, 0x23e, 0x23c, 0x23e, 0x1a5, 0x1d6, 0x1a5, 0x1d6, 0x8e, -0xeb, 0x8e, 0xeb, 0xffd7, 0x5c, 0xffd7, 0x5c, 0xfe89, 0xff30, 0xfe89, 0xff30, -0xfe89, 0xff30, 0xfb7b, 0xfc3f, 0xfb7b, 0xfc3f, 0xfa83, 0xfb5e, 0xfa83, 0xfb5e, 0xf9b3, -0xfa9f, 0xf9b3, 0xfa9f, 0xf77b, 0xf873, 0xf77b, 0xf873, 0xf799, 0xf897, 0xf799, 0xf897, -0xf799, 0xf897, 0xf826, 0xf927, 0xf826, 0xf927, 0xf8de, 0xf9dd, 0xf8de, 0xf9dd, 0xf8e1, -0xf9dd, 0xf8e1, 0xf9dd, 0xfb23, 0xfc1a, 0xfb23, 0xfc1a, 0xf8e2, 0xf9d3, 0xf8e2, 0xf9d3, -0xf97e, 0xfa6b, 0xf97e, 0xfa6b, 0xf97e, 0xfa6b, 0xfc40, 0xfd2a, 0xfc40, 0xfd2a, 0xfb01, -0xfbec, 0xfb01, 0xfbec, 0xfbb7, 0xfca7, 0xfbb7, 0xfca7, 0xfc04, 0xfcfe, 0xfc04, 0xfcfe, -0xfa4a, 0xfb53, 0xfa4a, 0xfb53, 0xf943, 0xfa61, 0xf943, 0xfa61, 0xf943, 0xfa61, 0xfae8, -0xfc20, 0xfae8, 0xfc20, 0xf9c5, 0xfb1e, 0xf9c5, 0xfb1e, 0xfb5c, 0xfcdc, 0xfb5c, 0xfcdc, -0xfb25, 0xfcd0, 0xfb25, 0xfcd0, 0xfa24, 0xfbfe, 0xfa24, 0xfbfe, 0xfa24, 0xfbfe, 0xfa54, -0xfc61, 0xfa54, 0xfc61, 0xf6a3, 0xf8e4, 0xf6a3, 0xf8e4, 0xf547, 0xf7bd, 0xf547, 0xf7bd, -0xf361, 0xf60c, 0xf361, 0xf60c, 0xf05a, 0xf338, 0xf05a, 0xf338, 0xefd3, 0xf2e0, 0xefd3, -0xf2e0, 0xefd3, 0xf2e0, 0xef3e, 0xf275, 0xef3e, 0xf275, 0xefa9, 0xf305, 0xefa9, 0xf305, -0xf027, 0xf3a1, 0xf027, 0xf3a1, 0xef7c, 0xf30c, 0xef7c, 0xf30c, 0xed90, 0xf12d, 0xed90, -0xf12d, 0xed27, 0xf0c8, 0xed27, 0xf0c8, 0xed27, 0xf0c8, 0xec82, 0xf01e, 0xec82, 0xf01e, -0xe7fd, 0xeb8b, 0xe7fd, 0xeb8b, 0xe89a, 0xec11, 0xe89a, 0xec11, 0xe995, 0xeced, 0xe995, -0xeced, 0xe900, 0xec31, 0xe900, 0xec31, 0xe900, 0xec31, 0xe9e8, 0xecec, 0xe9e8, 0xecec, -0xe90a, 0xebdb, 0xe90a, 0xebdb, 0xe780, 0xea1a, 0xe780, 0xea1a, 0xe963, 0xebc3, 0xe963, -0xebc3, 0xea95, 0xecb9, 0xea95, 0xecb9, 0xec10, 0xedf9, 0xec10, 0xedf9, 0xec10, 0xedf9, -0xee03, 0xefb3, 0xee03, 0xefb3, 0xed57, 0xeecf, 0xed57, 0xeecf, 0xeef7, 0xf03c, 0xeef7, -0xf03c, 0xef03, 0xf018, 0xef03, 0xf018, 0xef1c, 0xf008, 0xef1c, 0xf008, 0xf05c, 0xf124, -0xf05c, 0xf124, 0xf05c, 0xf124, 0xf137, 0xf1e3, 0xf137, 0xf1e3, 0xf0bc, 0xf151, 0xf0bc, -0xf151, 0xf2da, 0xf360, 0xf2da, 0xf360, 0xf3b7, 0xf434, 0xf3b7, 0xf434, 0xf25e, 0xf2d7, -0xf25e, 0xf2d7, 0xf25e, 0xf2d7, 0xf49e, 0xf518, 0xf49e, 0xf518, 0xf599, 0xf619, 0xf599, -0xf619, 0xf626, 0xf6b0, 0xf626, 0xf6b0, 0xf89f, 0xf934, 0xf89f, 0xf934, 0xf750, 0xf7f3, -0xf750, 0xf7f3, 0xf5aa, 0xf65a, 0xf5aa, 0xf65a, 0xf5aa, 0xf65a, 0xf728, 0xf7e5, 0xf728, -0xf7e5, 0xf58c, 0xf656, 0xf58c, 0xf656, 0xf5af, 0xf682, 0xf5af, 0xf682, 0xf4c9, 0xf5a4, -0xf4c9, 0xf5a4, 0xf4dc, 0xf5bb, 0xf4dc, 0xf5bb, 0xf72f, 0xf80f, 0xf72f, 0xf80f, 0xf72f, -0xf80f, 0xf724, 0xf802, 0xf724, 0xf802, 0xf732, 0xf80b, 0xf732, 0xf80b, 0xf81e, 0xf8ee, -0xf81e, 0xf8ee, 0xf895, 0xf95a, 0xf895, 0xf95a, 0xf7d0, 0xf889, 0xf7d0, 0xf889, 0xf7d0, -0xf889, 0xf846, 0xf8f0, 0xf846, 0xf8f0, 0xf879, 0xf915, 0xf879, 0xf915, 0xf974, 0xfa03, -0xf974, 0xfa03, 0xfa4c, 0xface, 0xfa4c, 0xface, 0xfa55, 0xfacc, 0xfa55, 0xfacc, 0xfb86, -0xfbf5, 0xfb86, 0xfbf5, 0xfb86, 0xfbf5, 0xfd16, 0xfd81, 0xfd16, 0xfd81, 0xfdc1, 0xfe2d, -0xfdc1, 0xfe2d, 0xfca5, 0xfd16, 0xfca5, 0xfd16, 0xfbc3, 0xfc3d, 0xfbc3, 0xfc3d, 0xfb14, -0xfb9d, 0xfb14, 0xfb9d, 0xfb14, 0xfb9d, 0xf99f, 0xfa3a, 0xf99f, 0xfa3a, 0xf94c, 0xfa00, -0xf94c, 0xfa00, 0xf826, 0xf8f6, 0xf826, 0xf8f6, 0xf8ad, 0xf99c, 0xf8ad, 0xf99c, 0xf92d, -0xfa3e, 0xf92d, 0xfa3e, 0xf810, 0xf943, 0xf810, 0xf943, 0xf810, 0xf943, 0xf793, 0xf8eb, -0xf793, 0xf8eb, 0xf58f, 0xf70a, 0xf58f, 0xf70a, 0xf3e8, 0xf584, 0xf3e8, 0xf584, 0xf2e4, -0xf49e, 0xf2e4, 0xf49e, 0xf1eb, 0xf3c0, 0xf1eb, 0xf3c0, 0xf0e3, 0xf2cd, 0xf0e3, 0xf2cd, -0xf0e3, 0xf2cd, 0xf0f2, 0xf2eb, 0xf0f2, 0xf2eb, 0xf0d2, 0xf2d3, 0xf0d2, 0xf2d3, 0xf122, -0xf324, 0xf122, 0xf324, 0xf196, 0xf390, 0xf196, 0xf390, 0xf103, 0xf2ed, 0xf103, 0xf2ed, -0xf103, 0xf2ed, 0xf032, 0xf204, 0xf032, 0xf204, 0xefff, 0xf1b1, 0xefff, 0xf1b1, 0xf057, -0xf1e0, 0xf057, 0xf1e0, 0xf145, 0xf29d, 0xf145, 0xf29d, 0xf0ec, 0xf20e, 0xf0ec, 0xf20e, -0xf178, 0xf25d, 0xf178, 0xf25d, 0xf178, 0xf25d, 0xf35f, 0xf402, 0xf35f, 0xf402, 0xf422, -0xf480, 0xf422, 0xf480, 0xf621, 0xf637, 0xf621, 0xf637, 0xf7b6, 0xf782, 0xf7b6, 0xf782, -0xf979, 0xf8fc, 0xf979, 0xf8fc, 0xf986, 0xf8bf, 0xf986, 0xf8bf, 0xf986, 0xf8bf, 0xfc81, -0xfb72, 0xfc81, 0xfb72, 0xfd5e, 0xfc0a, 0xfd5e, 0xfc0a, 0xfd7c, 0xfbe6, 0xfd7c, 0xfbe6, -0x91, 0xfebf, 0x91, 0xfebf, 0x161, 0xff56, 0x161, 0xff56, 0x161, 0xff56, 0x2f8, -0xba, 0x2f8, 0xba, 0x5bb, 0x34e, 0x5bb, 0x34e, 0x8a5, 0x610, 0x8a5, 0x610, -0x85f, 0x5a7, 0x85f, 0x5a7, 0xa1d, 0x747, 0xa1d, 0x747, 0xa4e, 0x760, 0xa4e, -0x760, 0xa4e, 0x760, 0xb08, 0x806, 0xb08, 0x806, 0xcc6, 0x9b3, 0xcc6, 0x9b3, -0xe68, 0xb49, 0xe68, 0xb49, 0xf1b, 0xbf3, 0xf1b, 0xbf3, 0xe79, 0xb4a, 0xe79, -0xb4a, 0x1171, 0xe3e, 0x1171, 0xe3e, 0x1171, 0xe3e, 0x1141, 0xe0b, 0x1141, 0xe0b, -0x10c4, 0xd8d, 0x10c4, 0xd8d, 0x104d, 0xd16, 0x104d, 0xd16, 0x1148, 0xe11, 0x1148, -0xe11, 0x1274, 0xf3f, 0x1274, 0xf3f, 0x1274, 0xf3f, 0x1304, 0xfd1, 0x1304, 0xfd1, -0x15b7, 0x1289, 0x15b7, 0x1289, 0x16a6, 0x137d, 0x16a6, 0x137d, 0x1868, 0x1546, 0x1868, -0x1546, 0x1a5d, 0x1745, 0x1a5d, 0x1745, 0x1a62, 0x1757, 0x1a62, 0x1757, 0x1a62, 0x1757, -0x1b89, 0x188d, 0x1b89, 0x188d, 0x1c64, 0x197c, 0x1c64, 0x197c, 0x1c9e, 0x19cf, 0x1c9e, -0x19cf, 0x1cc7, 0x1a15, 0x1cc7, 0x1a15, 0x1bf5, 0x1965, 0x1bf5, 0x1965, 0x1cd9, 0x1a71, -0x1cd9, 0x1a71, 0x1cd9, 0x1a71, 0x1c5d, 0x1a23, 0x1c5d, 0x1a23, 0x1aa8, 0x18a1, 0x1aa8, -0x18a1, 0x19a3, 0x17d7, 0x19a3, 0x17d7, 0x169b, 0x150d, 0x169b, 0x150d, 0x14a4, 0x135b, -0x14a4, 0x135b, 0x14a4, 0x135b, 0x11ec, 0x10ec, 0x11ec, 0x10ec, 0xf3d, 0xe8b, 0xf3d, -0xe8b, 0xe67, 0xe05, 0xe67, 0xe05, 0xc04, 0xbf5, 0xc04, 0xbf5, 0xb03, 0xb49, -0xb03, 0xb49, 0x885, 0x920, 0x885, 0x920, 0x885, 0x920, 0x5d0, 0x6c0, 0x5d0, -0x6c0, 0x3c7, 0x50a, 0x3c7, 0x50a, 0x155, 0x2e7, 0x155, 0x2e7, 0xff0d, 0xeb, -0xff0d, 0xeb, 0xfd3a, 0xff5e, 0xfd3a, 0xff5e, 0xfc50, 0xfeb4, 0xfc50, 0xfeb4, 0xfc50, -0xfeb4, 0xfb19, 0xfdb8, 0xfb19, 0xfdb8, 0xfbaf, 0xfe80, 0xfbaf, 0xfe80, 0xfb96, 0xfe92, -0xfb96, 0xfe92, 0xfa24, 0xfd41, 0xfa24, 0xfd41, 0xf845, 0xfb7c, 0xf845, 0xfb7c, 0xf845, -0xfb7c, 0xf6c9, 0xfa10, 0xf6c9, 0xfa10, 0xf4d6, 0xf825, 0xf4d6, 0xf825, 0xf3b3, 0xf702, -0xf3b3, 0xf702, 0xf11d, 0xf463, 0xf11d, 0xf463, 0xee5f, 0xf195, 0xee5f, 0xf195, 0xed54, -0xf074, 0xed54, 0xf074, 0xed54, 0xf074, 0xed5a, 0xf05d, 0xed5a, 0xf05d, 0xef3d, 0xf21f, -0xef3d, 0xf21f, 0xef83, 0xf23f, 0xef83, 0xf23f, 0xf029, 0xf2bb, 0xf029, 0xf2bb, 0xf19d, -0xf403, 0xf19d, 0xf403, 0xf27f, 0xf4b6, 0xf27f, 0xf4b6, 0xf27f, 0xf4b6, 0xf129, 0xf331, -0xf129, 0xf331, 0xefe3, 0xf1bb, 0xefe3, 0xf1bb, 0xefe2, 0xf18a, 0xefe2, 0xf18a, 0xefea, -0xf163, 0xefea, 0xf163, 0xf05e, 0xf1aa, 0xf05e, 0xf1aa, 0xf05e, 0xf1aa, 0xf11d, 0xf23c, -0xf11d, 0xf23c, 0xf076, 0xf16b, 0xf076, 0xf16b, 0xf033, 0xf0fe, 0xf033, 0xf0fe, 0xf0e9, -0xf18e, 0xf0e9, 0xf18e, 0xf0f8, 0xf176, 0xf0f8, 0xf176, 0xf14b, 0xf1a5, 0xf14b, 0xf1a5, -0xf14b, 0xf1a5, 0xf232, 0xf269, 0xf232, 0xf269, 0xf1a2, 0xf1b7, 0xf1a2, 0xf1b7, 0xf26e, -0xf262, 0xf26e, 0xf262, 0xf3f2, 0xf3c5, 0xf3f2, 0xf3c5, 0xf320, 0xf2d2, 0xf320, 0xf2d2, -0xf584, 0xf516, 0xf584, 0xf516, 0xf584, 0xf516, 0xf541, 0xf4b3, 0xf541, 0xf4b3, 0xf5df, -0xf531, 0xf5df, 0xf531, 0xf7ba, 0xf6ec, 0xf7ba, 0xf6ec, 0xf8ba, 0xf7cc, 0xf8ba, 0xf7cc, -0xfcbb, 0xfbae, 0xfcbb, 0xfbae, 0xfcbb, 0xfbae, 0x46, 0xff1a, 0x46, 0xff1a, 0x136, -0xffec, 0x136, 0xffec, 0x23a, 0xd4, 0x23a, 0xd4, 0x597, 0x417, 0x597, 0x417, -0x65b, 0x4c4, 0x65b, 0x4c4, 0x869, 0x6be, 0x869, 0x6be, 0x869, 0x6be, 0x95e, -0x7a2, 0x95e, 0x7a2, 0xb34, 0x96c, 0xb34, 0x96c, 0xd42, 0xb71, 0xd42, 0xb71, -0xda5, 0xbd2, 0xda5, 0xbd2, 0x104d, 0xe7d, 0x104d, 0xe7d, 0xf62, 0xd9a, 0xf62, -0xd9a, 0xf62, 0xd9a, 0x10d7, 0xf1d, 0x10d7, 0xf1d, 0x124b, 0x10a5, 0x124b, 0x10a5, -0x1044, 0xeb6, 0x1044, 0xeb6, 0x11e2, 0x1074, 0x11e2, 0x1074, 0x1237, 0x10eb, 0x1237, -0x10eb, 0x1237, 0x10eb, 0x10ce, 0xfaa, 0x10ce, 0xfaa, 0xfe0, 0xee7, 0xfe0, 0xee7, -0xda2, 0xcd6, 0xda2, 0xcd6, 0xd9a, 0xcfe, 0xd9a, 0xcfe, 0xcd5, 0xc69, 0xcd5, -0xc69, 0xa9f, 0xa64, 0xa9f, 0xa64, 0xa9f, 0xa64, 0x9fc, 0x9f0, 0x9fc, 0x9f0, -0x7c8, 0x7e8, 0x7c8, 0x7e8, 0x6e5, 0x72e, 0x6e5, 0x72e, 0x58b, 0x5fa, 0x58b, -0x5fa, 0x2c0, 0x34f, 0x2c0, 0x34f, 0x2c0, 0x34f, 0x263, 0x30c, 0x263, 0x30c, -0x262, 0x321, 0x262, 0x321, 0x22b, 0x2f8, 0x22b, 0x2f8, 0x220, 0x2f4, 0x220, -0x2f4, 0x2e8, 0x3bc, 0x2e8, 0x3bc, 0x2a0, 0x36d, 0x2a0, 0x36d, 0x2a0, 0x36d, -0x3d6, 0x495, 0x3d6, 0x495, 0x347, 0x3f2, 0x347, 0x3f2, 0x24e, 0x2df, 0x24e, -0x2df, 0x339, 0x3ab, 0x339, 0x3ab, 0x3d4, 0x421, 0x3d4, 0x421, 0x63f, 0x665, -0x63f, 0x665, 0x63f, 0x665, 0x670, 0x66a, 0x670, 0x66a, 0x816, 0x7e3, 0x816, -0x7e3, 0x866, 0x804, 0x866, 0x804, 0x8fe, 0x86d, 0x8fe, 0x86d, 0x9af, 0x8ef, -0x9af, 0x8ef, 0x9af, 0x8ef, 0x8dc, 0x7ed, 0x8dc, 0x7ed, 0x894, 0x779, 0x894, -0x779, 0x82a, 0x6e3, 0x82a, 0x6e3, 0x9c7, 0x858, 0x9c7, 0x858, 0xa2b, 0x895, -0xa2b, 0x895, 0xcfa, 0xb41, 0xcfa, 0xb41, 0xcfa, 0xb41, 0xdca, 0xbf0, 0xdca, -0xbf0, 0xe34, 0xc3c, 0xe34, 0xc3c, 0x105c, 0xe48, 0x105c, 0xe48, 0xfe5, 0xdb7, -0xfe5, 0xdb7, 0x1038, 0xdf2, 0x1038, 0xdf2, 0x1013, 0xdb6, 0x1013, 0xdb6, 0x1013, -0xdb6, 0xf2c, 0xcba, 0xf2c, 0xcba, 0xf8b, 0xd05, 0xf8b, 0xd05, 0x1069, 0xdce, -0x1069, 0xdce, 0xfe3, 0xd35, 0xfe3, 0xd35, 0xfe3, 0xd22, 0xfe3, 0xd22, 0xfe3, -0xd22, 0x103e, 0xd69, 0x103e, 0xd69, 0x106c, 0xd84, 0x106c, 0xd84, 0x104d, 0xd52, -0x104d, 0xd52, 0x107d, 0xd70, 0x107d, 0xd70, 0x108b, 0xd6d, 0x108b, 0xd6d, 0x105d, -0xd2f, 0x105d, 0xd2f, 0x105d, 0xd2f, 0x11fa, 0xebe, 0x11fa, 0xebe, 0x1490, 0x1149, -0x1490, 0x1149, 0x1652, 0x1303, 0x1652, 0x1303, 0x15ae, 0x125b, 0x15ae, 0x125b, 0x183c, -0x14ea, 0x183c, 0x14ea, 0x1a18, 0x16cb, 0x1a18, 0x16cb, 0x1a18, 0x16cb, 0x17cb, 0x148a, -0x17cb, 0x148a, 0x1886, 0x1558, 0x1886, 0x1558, 0x184a, 0x1534, 0x184a, 0x1534, 0x189e, -0x15a7, 0x189e, 0x15a7, 0x18fa, 0x162b, 0x18fa, 0x162b, 0x18fa, 0x162b, 0x183c, 0x1599, -0x183c, 0x1599, 0x1903, 0x1695, 0x1903, 0x1695, 0x1582, 0x134f, 0x1582, 0x134f, 0x12d9, -0x10e6, 0x12d9, 0x10e6, 0x101b, 0xe6e, 0x101b, 0xe6e, 0xcd9, 0xb76, 0xcd9, 0xb76, -0xcd9, 0xb76, 0xc7b, 0xb65, 0xc7b, 0xb65, 0x87e, 0x7b7, 0x87e, 0x7b7, 0x573, -0x4fe, 0x573, 0x4fe, 0x339, 0x314, 0x339, 0x314, 0x28, 0x53, 0x28, 0x53, -0xffe2, 0x59, 0xffe2, 0x59, 0xffe2, 0x59, 0xfc3a, 0xfcfb, 0xfc3a, 0xfcfb, 0xf7e5, -0xf8eb, 0xf7e5, 0xf8eb, 0xf717, 0xf85e, 0xf717, 0xf85e, 0xf4a4, 0xf625, 0xf4a4, 0xf625, -0xf1c4, 0xf379, 0xf1c4, 0xf379, 0xf1c4, 0xf379, 0xee83, 0xf064, 0xee83, 0xf064, 0xebf5, -0xedfd, 0xebf5, 0xedfd, 0xec74, 0xee99, 0xec74, 0xee99, 0xebf8, 0xee35, 0xebf8, 0xee35, -0xeb1d, 0xed6b, 0xeb1d, 0xed6b, 0xebc0, 0xee18, 0xebc0, 0xee18, 0xebc0, 0xee18, 0xeb17, -0xed73, 0xeb17, 0xed73, 0xea47, 0xeca4, 0xea47, 0xeca4, 0xe9fb, 0xec52, 0xe9fb, 0xec52, -0xe914, 0xeb64, 0xe914, 0xeb64, 0xe9e6, 0xec2c, 0xe9e6, 0xec2c, 0xea93, 0xeccc, 0xea93, -0xeccc, 0xea93, 0xeccc, 0xed32, 0xef5e, 0xed32, 0xef5e, 0xefdb, 0xf1f9, 0xefdb, 0xf1f9, -0xefe4, 0xf1f4, 0xefe4, 0xf1f4, 0xf3d7, 0xf5db, 0xf3d7, 0xf5db, 0xf62a, 0xf821, 0xf62a, -0xf821, 0xf62a, 0xf821, 0xf530, 0xf71c, 0xf530, 0xf71c, 0xf640, 0xf822, 0xf640, 0xf822, -0xf7f4, 0xf9ce, 0xf7f4, 0xf9ce, 0xf89f, 0xfa71, 0xf89f, 0xfa71, 0xf941, 0xfb0b, 0xf941, -0xfb0b, 0xfa2d, 0xfbef, 0xfa2d, 0xfbef, 0xfa2d, 0xfbef, 0xfa10, 0xfbc9, 0xfa10, 0xfbc9, -0xfbf8, 0xfda8, 0xfbf8, 0xfda8, 0xfb7c, 0xfd21, 0xfb7c, 0xfd21, 0xfa18, 0xfbb0, 0xfa18, -0xfbb0, 0xfb7e, 0xfd06, 0xfb7e, 0xfd06, 0xfb46, 0xfcbc, 0xfb46, 0xfcbc, 0xfb46, 0xfcbc, -0xfba8, 0xfd07, 0xfba8, 0xfd07, 0xfa9e, 0xfbe3, 0xfa9e, 0xfbe3, 0xfa4b, 0xfb73, 0xfa4b, -0xfb73, 0xfad8, 0xfbe1, 0xfad8, 0xfbe1, 0xfa77, 0xfb5c, 0xfa77, 0xfb5c, 0xfa77, 0xfb5c, -0xfa41, 0xfb01, 0xfa41, 0xfb01, 0xf8a1, 0xf939, 0xf8a1, 0xf939, 0xf917, 0xf988, 0xf917, -0xf988, 0xfa38, 0xfa80, 0xfa38, 0xfa80, 0xfa32, 0xfa52, 0xfa32, 0xfa52, 0xfaff, 0xfaf8, -0xfaff, 0xfaf8, 0xfaff, 0xfaf8, 0xfbed, 0xfbc3, 0xfbed, 0xfbc3, 0xfd3a, 0xfcf0, 0xfd3a, -0xfcf0, 0xff5e, 0xfef8, 0xff5e, 0xfef8, 0x125, 0xa9, 0x125, 0xa9, 0x193, 0x106, -0x193, 0x106, 0x13c, 0xa6, 0x13c, 0xa6, 0x13c, 0xa6, 0x1f9, 0x161, 0x1f9, -0x161, 0x254, 0x1c1, 0x254, 0x1c1, 0x177, 0xf1, 0x177, 0xf1, 0x196, 0x125, -0x196, 0x125, 0x23a, 0x1e4, 0x23a, 0x1e4, 0x23a, 0x1e4, 0x7d, 0x4a, 0x7d, -0x4a, 0x6, 0xfffd, 0x6, 0xfffd, 0x1ea, 0x20f, 0x1ea, 0x20f, 0x14d, 0x1a6, -0x14d, 0x1a6, 0xe5, 0x175, 0xe5, 0x175, 0xfff3, 0xbd, 0xfff3, 0xbd, 0xfff3, -0xbd, 0xfefc, 0x3, 0xfefc, 0x3, 0xfe1e, 0xff62, 0xfe1e, 0xff62, 0xfa01, 0xfb82, -0xfa01, 0xfb82, 0xf77c, 0xf939, 0xf77c, 0xf939, 0xf698, 0xf88f, 0xf698, 0xf88f, 0xf3b4, -0xf5e2, 0xf3b4, 0xf5e2, 0xf3b4, 0xf5e2, 0xf23a, 0xf49c, 0xf23a, 0xf49c, 0xf145, 0xf3d7, -0xf145, 0xf3d7, 0xef15, 0xf1d3, 0xef15, 0xf1d3, 0xee28, 0xf10d, 0xee28, 0xf10d, 0xeb94, -0xee9b, 0xeb94, 0xee9b, 0xeb94, 0xee9b, 0xe8ac, 0xebd1, 0xe8ac, 0xebd1, 0xe6a5, 0xe9e3, -0xe6a5, 0xe9e3, 0xe4a2, 0xe7f4, 0xe4a2, 0xe7f4, 0xe438, 0xe79a, 0xe438, 0xe79a, 0xe36b, -0xe6d9, 0xe36b, 0xe6d9, 0xe182, 0xe4f8, 0xe182, 0xe4f8, 0xe182, 0xe4f8, 0xe01a, 0xe395, -0xe01a, 0xe395, 0xe0f3, 0xe471, 0xe0f3, 0xe471, 0xe0ce, 0xe44b, 0xe0ce, 0xe44b, 0xdf59, -0xe2d3, 0xdf59, 0xe2d3, 0xe041, 0xe3b5, 0xe041, 0xe3b5, 0xe041, 0xe3b5, 0xe185, 0xe4f2, -0xe185, 0xe4f2, 0xe1cf, 0xe534, 0xe1cf, 0xe534, 0xe346, 0xe6a1, 0xe346, 0xe6a1, 0xe590, -0xe8e0, 0xe590, 0xe8e0, 0xe67b, 0xe9bc, 0xe67b, 0xe9bc, 0xe663, 0xe995, 0xe663, 0xe995, -0xe663, 0xe995, 0xe670, 0xe990, 0xe670, 0xe990, 0xe5bc, 0xe8c8, 0xe5bc, 0xe8c8, 0xe3c5, -0xe6ba, 0xe3c5, 0xe6ba, 0xe45e, 0xe73a, 0xe45e, 0xe73a, 0xe605, 0xe8c3, 0xe605, 0xe8c3, -0xe614, 0xe8b2, 0xe614, 0xe8b2, 0xe614, 0xe8b2, 0xe6a2, 0xe91b, 0xe6a2, 0xe91b, 0xe7c7, -0xea17, 0xe7c7, 0xea17, 0xe908, 0xeb2b, 0xe908, 0xeb2b, 0xea34, 0xec25, 0xea34, 0xec25, -0xea25, 0xebe0, 0xea25, 0xebe0, 0xea25, 0xebe0, 0xe93f, 0xeabf, 0xe93f, 0xeabf, 0xea9e, -0xebdf, 0xea9e, 0xebdf, 0xea5d, 0xeb5b, 0xea5d, 0xeb5b, 0xea34, 0xeaeb, 0xea34, 0xeaeb, -0xed01, 0xed6d, 0xed01, 0xed6d, 0xeef6, 0xef16, 0xeef6, 0xef16, 0xeef6, 0xef16, 0xf184, -0xf155, 0xf184, 0xf155, 0xf38e, 0xf30e, 0xf38e, 0xf30e, 0xf4f3, 0xf421, 0xf4f3, 0xf421, -0xf769, 0xf646, 0xf769, 0xf646, 0xf9a4, 0xf831, 0xf9a4, 0xf831, 0xf94f, 0xf78d, 0xf94f, -0xf78d, 0xf94f, 0xf78d, 0xfa21, 0xf812, 0xfa21, 0xf812, 0xfc46, 0xf9ef, 0xfc46, 0xf9ef, -0xfd52, 0xfab7, 0xfd52, 0xfab7, 0xeb, 0xfe11, 0xeb, 0xfe11, 0x300, 0xffed, 0x300, -0xffed, 0x300, 0xffed, 0x4df, 0x198, 0x4df, 0x198, 0x8bd, 0x549, 0x8bd, 0x549, -0xa1b, 0x681, 0xa1b, 0x681, 0xc34, 0x87b, 0xc34, 0x87b, 0xd85, 0x9b5, 0xd85, -0x9b5, 0xc5f, 0x87f, 0xc5f, 0x87f, 0xc5f, 0x87f, 0xe20, 0xa37, 0xe20, 0xa37, -0x11bf, 0xdd4, 0x11bf, 0xdd4, 0x13a2, 0xfbb, 0x13a2, 0xfbb, 0x1461, 0x1084, 0x1461, -0x1084, 0x16ea, 0x131d, 0x16ea, 0x131d, 0x17ae, 0x13f6, 0x17ae, 0x13f6, 0x17ae, 0x13f6, -0x1692, 0x12f2, 0x1692, 0x12f2, 0x1825, 0x14a2, 0x1825, 0x14a2, 0x1778, 0x1414, 0x1778, -0x1414, 0x16ac, 0x136a, 0x16ac, 0x136a, 0x16ed, 0x13ce, 0x16ed, 0x13ce, 0x16ed, 0x13ce, -0x16de, 0x13e3, 0x16de, 0x13e3, 0x18a3, 0x15cc, 0x18a3, 0x15cc, 0x18e0, 0x162d, 0x18e0, -0x162d, 0x198b, 0x16fd, 0x198b, 0x16fd, 0x1953, 0x16e8, 0x1953, 0x16e8, 0x1834, 0x15eb, -0x1834, 0x15eb, 0x1834, 0x15eb, 0x177d, 0x1554, 0x177d, 0x1554, 0x165a, 0x1450, 0x165a, -0x1450, 0x17fe, 0x1612, 0x17fe, 0x1612, 0x17c7, 0x15f8, 0x17c7, 0x15f8, 0x17a2, 0x15ee, -0x17a2, 0x15ee, 0x1901, 0x1768, 0x1901, 0x1768, 0x1901, 0x1768, 0x18de, 0x175e, 0x18de, -0x175e, 0x1958, 0x17f2, 0x1958, 0x17f2, 0x1843, 0x16f6, 0x1843, 0x16f6, 0x18d1, 0x179d, -0x18d1, 0x179d, 0x1807, 0x16ec, 0x1807, 0x16ec, 0x1807, 0x16ec, 0x14ea, 0x13e8, 0x14ea, -0x13e8, 0x14c7, 0x13df, 0x14c7, 0x13df, 0x1262, 0x1194, 0x1262, 0x1194, 0x110f, 0x105d, -0x110f, 0x105d, 0x1194, 0x10fd, 0x1194, 0x10fd, 0x10bf, 0x1045, 0x10bf, 0x1045, 0x10bf, -0x1045, 0x11b0, 0x1153, 0x11b0, 0x1153, 0x1183, 0x1143, 0x1183, 0x1143, 0x107e, 0x105b, -0x107e, 0x105b, 0xfef, 0xfe8, 0xfef, 0xfe8, 0xd7e, 0xd92, 0xd7e, 0xd92, 0xae1, -0xb0f, 0xae1, 0xb0f, 0xae1, 0xb0f, 0x980, 0x9c6, 0x980, 0x9c6, 0x814, 0x871, -0x814, 0x871, 0x790, 0x801, 0x790, 0x801, 0x8bd, 0x93e, 0x8bd, 0x93e, 0x880, -0x90e, 0x880, 0x90e, 0x880, 0x90e, 0x6ec, 0x784, 0x6ec, 0x784, 0x56f, 0x60e, -0x56f, 0x60e, 0x38e, 0x42f, 0x38e, 0x42f, 0x27c, 0x31c, 0x27c, 0x31c, 0x10f, -0x1ab, 0x10f, 0x1ab, 0x2e, 0xc2, 0x2e, 0xc2, 0x2e, 0xc2, 0xffeb, 0x74, -0xffeb, 0x74, 0xff2a, 0xffa4, 0xff2a, 0xffa4, 0xff60, 0xffca, 0xff60, 0xffca, 0xff3c, -0xff94, 0xff3c, 0xff94, 0xff3b, 0xff80, 0xff3b, 0xff80, 0xff23, 0xff55, 0xff23, 0xff55, -0xff23, 0xff55, 0xfe7c, 0xfe9b, 0xfe7c, 0xfe9b, 0xfdd7, 0xfde3, 0xfdd7, 0xfde3, 0xfd24, -0xfd1f, 0xfd24, 0xfd1f, 0xfc9e, 0xfc8a, 0xfc9e, 0xfc8a, 0xfccb, 0xfcab, 0xfccb, 0xfcab, -0xfccb, 0xfcab, 0xfd85, 0xfd5c, 0xfd85, 0xfd5c, 0xfd43, 0xfd14, 0xfd43, 0xfd14, 0xfcd2, -0xfca1, 0xfcd2, 0xfca1, 0xfa72, 0xfa43, 0xfa72, 0xfa43, 0xf6c4, 0xf69b, 0xf6c4, 0xf69b, -0xf57b, 0xf55c, 0xf57b, 0xf55c, 0xf57b, 0xf55c, 0xf3c2, 0xf3b1, 0xf3c2, 0xf3b1, 0xf136, -0xf136, 0xf136, 0xf136, 0xf178, 0xf18c, 0xf178, 0xf18c, 0xf20c, 0xf237, 0xf20c, 0xf237, -0xf15e, 0xf1a1, 0xf15e, 0xf1a1, 0xf10a, 0xf167, 0xf10a, 0xf167, 0xf10a, 0xf167, 0xf147, -0xf1bf, 0xf147, 0xf1bf, 0xf0f0, 0xf182, 0xf0f0, 0xf182, 0xef32, 0xefde, 0xef32, 0xefde, -0xeee7, 0xefab, 0xeee7, 0xefab, 0xef46, 0xf021, 0xef46, 0xf021, 0xef46, 0xf021, 0xeee0, -0xefce, 0xeee0, 0xefce, 0xef15, 0xf014, 0xef15, 0xf014, 0xf04a, 0xf155, 0xf04a, 0xf155, -0xf1a0, 0xf2b4, 0xf1a0, 0xf2b4, 0xf310, 0xf428, 0xf310, 0xf428, 0xf3f1, 0xf50b, 0xf3f1, -0xf50b, 0xf3f1, 0xf50b, 0xf49d, 0xf5b4, 0xf49d, 0xf5b4, 0xf538, 0xf647, 0xf538, 0xf647, -0xf42e, 0xf532, 0xf42e, 0xf532, 0xf487, 0xf57d, 0xf487, 0xf57d, 0xf41c, 0xf501, 0xf41c, -0xf501, 0xf5a2, 0xf673, 0xf5a2, 0xf673, 0xf5a2, 0xf673, 0xf812, 0xf8cd, 0xf812, 0xf8cd, -0xf7e9, 0xf88e, 0xf7e9, 0xf88e, 0xfbd6, 0xfc63, 0xfbd6, 0xfc63, 0xfde0, 0xfe55, 0xfde0, -0xfe55, 0xfe56, 0xfeb4, 0xfe56, 0xfeb4, 0xfe56, 0xfeb4, 0x39, 0x7f, 0x39, 0x7f, -0xfffd, 0x2e, 0xfffd, 0x2e, 0x167, 0x183, 0x167, 0x183, 0x306, 0x30f, 0x306, -0x30f, 0x46f, 0x466, 0x46f, 0x466, 0x6a3, 0x68a, 0x6a3, 0x68a, 0x6a3, 0x68a, -0x73f, 0x718, 0x73f, 0x718, 0x9e7, 0x9b3, 0x9e7, 0x9b3, 0xab4, 0xa74, 0xab4, -0xa74, 0x84a, 0x7ff, 0x84a, 0x7ff, 0x7fb, 0x7a6, 0x7fb, 0x7a6, 0x7fb, 0x7a6, -0x6e9, 0x689, 0x6e9, 0x689, 0x733, 0x6c9, 0x733, 0x6c9, 0x7a6, 0x730, 0x7a6, -0x730, 0x812, 0x78f, 0x812, 0x78f, 0x8c2, 0x82f, 0x8c2, 0x82f, 0x9d7, 0x933, -0x9d7, 0x933, 0x9d7, 0x933, 0xb96, 0xadf, 0xb96, 0xadf, 0xa2c, 0x95f, 0xa2c, -0x95f, 0xa01, 0x91d, 0xa01, 0x91d, 0x9b5, 0x8b6, 0x9b5, 0x8b6, 0xa24, 0x909, -0xa24, 0x909, 0xb65, 0xa2c, 0xb65, 0xa2c, 0xb65, 0xa2c, 0xc47, 0xaed, 0xc47, -0xaed, 0xf31, 0xdb7, 0xf31, 0xdb7, 0x1166, 0xfca, 0x1166, 0xfca, 0x13a0, 0x11e3, -0x13a0, 0x11e3, 0x15da, 0x13fd, 0x15da, 0x13fd, 0x15da, 0x13fd, 0x17a7, 0x15ab, 0x17a7, -0x15ab, 0x17f8, 0x15df, 0x17f8, 0x15df, 0x1886, 0x1654, 0x1886, 0x1654, 0x198c, 0x1743, -0x198c, 0x1743, 0x1844, 0x15e9, 0x1844, 0x15e9, 0x1885, 0x161d, 0x1885, 0x161d, 0x1885, -0x161d, 0x1a6a, 0x17fa, 0x1a6a, 0x17fa, 0x1a19, 0x17a6, 0x1a19, 0x17a6, 0x1aee, 0x187c, -0x1aee, 0x187c, 0x1bd0, 0x1966, 0x1bd0, 0x1966, 0x1afd, 0x18a0, 0x1afd, 0x18a0, 0x1aea, -0x189f, 0x1aea, 0x189f, 0x1aea, 0x189f, 0x18d0, 0x169b, 0x18d0, 0x169b, 0x1775, 0x155b, -0x1775, 0x155b, 0x1674, 0x1478, 0x1674, 0x1478, 0x14e8, 0x130e, 0x14e8, 0x130e, 0x13b7, -0x1200, 0x13b7, 0x1200, 0x13b7, 0x1200, 0x120c, 0x107a, 0x120c, 0x107a, 0x1117, 0xfaa, -0x1117, 0xfaa, 0x1035, 0xeed, 0x1035, 0xeed, 0xfd1, 0xead, 0xfd1, 0xead, 0xc43, -0xb41, 0xc43, 0xb41, 0x91a, 0x838, 0x91a, 0x838, 0x91a, 0x838, 0x86b, 0x7a6, -0x86b, 0x7a6, 0x660, 0x5b5, 0x660, 0x5b5, 0x602, 0x56e, 0x602, 0x56e, 0x662, -0x5e0, 0x662, 0x5e0, 0x5f8, 0x585, 0x5f8, 0x585, 0x5d2, 0x56c, 0x5d2, 0x56c, -0x5d2, 0x56c, 0x4ed, 0x48e, 0x4ed, 0x48e, 0x3d8, 0x37f, 0x3d8, 0x37f, 0x314, -0x2bc, 0x314, 0x2bc, 0x162, 0x10b, 0x162, 0x10b, 0x82, 0x29, 0x82, 0x29, -0x82, 0x29, 0x8f, 0x34, 0x8f, 0x34, 0x156, 0xf9, 0x156, 0xf9, 0x341, -0x2e0, 0x341, 0x2e0, 0x4a6, 0x443, 0x4a6, 0x443, 0x5db, 0x577, 0x5db, 0x577, -0x734, 0x6d2, 0x734, 0x6d2, 0x734, 0x6d2, 0x695, 0x635, 0x695, 0x635, 0x3bc, -0x361, 0x3bc, 0x361, 0x20b, 0x1b7, 0x20b, 0x1b7, 0x17f, 0x135, 0x17f, 0x135, -0xab, 0x6c, 0xab, 0x6c, 0xffd2, 0xffa1, 0xffd2, 0xffa1, 0xffd2, 0xffa1, 0xff60, -0xff3f, 0xff60, 0xff3f, 0xffb9, 0xffa8, 0xffb9, 0xffa8, 0x87, 0x86, 0x87, 0x86, -0xffde, 0xffef, 0xffde, 0xffef, 0xfd28, 0xfd49, 0xfd28, 0xfd49, 0xfd28, 0xfd49, 0xfb38, -0xfb69, 0xfb38, 0xfb69, 0xf99e, 0xf9dc, 0xf99e, 0xf9dc, 0xf7b0, 0xf7fa, 0xf7b0, 0xf7fa, -0xf644, 0xf697, 0xf644, 0xf697, 0xf534, 0xf58c, 0xf534, 0xf58c, 0xf573, 0xf5cd, 0xf573, -0xf5cd, 0xf573, 0xf5cd, 0xf570, 0xf5c9, 0xf570, 0xf5c9, 0xf5f5, 0xf649, 0xf5f5, 0xf649, -0xf78e, 0xf7d9, 0xf78e, 0xf7d9, 0xf5ad, 0xf5ec, 0xf5ad, 0xf5ec, 0xf4be, 0xf4ee, 0xf4be, -0xf4ee, 0xf646, 0xf665, 0xf646, 0xf665, 0xf646, 0xf665, 0xf4b8, 0xf4c4, 0xf4b8, 0xf4c4, -0xf4cb, 0xf4c2, 0xf4cb, 0xf4c2, 0xf781, 0xf763, 0xf781, 0xf763, 0xf87c, 0xf849, 0xf87c, -0xf849, 0xfae7, 0xfaa0, 0xfae7, 0xfaa0, 0xfae7, 0xfaa0, 0xfe2f, 0xfdd6, 0xfe2f, 0xfdd6, -0xff86, 0xff1c, 0xff86, 0xff1c, 0x1b6, 0x141, 0x1b6, 0x141, 0x30c, 0x28e, 0x30c, -0x28e, 0x3ff, 0x37e, 0x3ff, 0x37e, 0x541, 0x4c1, 0x541, 0x4c1, 0x541, 0x4c1, -0x543, 0x4c9, 0x543, 0x4c9, 0x659, 0x5ea, 0x659, 0x5ea, 0x75c, 0x6ff, 0x75c, -0x6ff, 0x816, 0x7cf, 0x816, 0x7cf, 0x7f7, 0x7ca, 0x7f7, 0x7ca, 0x791, 0x783, -0x791, 0x783, 0x791, 0x783, 0x62e, 0x643, 0x62e, 0x643, 0x2b8, 0x2f3, 0x2b8, -0x2f3, 0x18a, 0x1ed, 0x18a, 0x1ed, 0x82, 0x10e, 0x82, 0x10e, 0xfe46, 0xfefc, -0xfe46, 0xfefc, 0xfe46, 0xfefc, 0xfd90, 0xfe70, 0xfd90, 0xfe70, 0xfcca, 0xfdd2, 0xfcca, -0xfdd2, 0xfbb1, 0xfcdf, 0xfbb1, 0xfcdf, 0xfa04, 0xfb55, 0xfa04, 0xfb55, 0xf798, 0xf909, -0xf798, 0xf909, 0xf560, 0xf6ed, 0xf560, 0xf6ed, 0xf560, 0xf6ed, 0xf27a, 0xf41f, 0xf27a, -0xf41f, 0xf149, 0xf302, 0xf149, 0xf302, 0xf0fb, 0xf2c2, 0xf0fb, 0xf2c2, 0xefd5, 0xf1a7, -0xefd5, 0xf1a7, 0xefac, 0xf183, 0xefac, 0xf183, 0xf0a7, 0xf281, 0xf0a7, 0xf281, 0xf0a7, -0xf281, 0xf11a, 0xf2f3, 0xf11a, 0xf2f3, 0xf002, 0xf1d7, 0xf002, 0xf1d7, 0xf037, 0xf206, -0xf037, 0xf206, 0xefbd, 0xf185, 0xefbd, 0xf185, 0xef08, 0xf0c8, 0xef08, 0xf0c8, 0xef08, -0xf0c8, 0xeefb, 0xf0b3, 0xeefb, 0xf0b3, 0xeeb1, 0xf063, 0xeeb1, 0xf063, 0xf08b, 0xf237, -0xf08b, 0xf237, 0xf179, 0xf322, 0xf179, 0xf322, 0xf1f3, 0xf39b, 0xf1f3, 0xf39b, 0xf3ed, -0xf597, 0xf3ed, 0xf597, 0xf3ed, 0xf597, 0xf504, 0xf6b4, 0xf504, 0xf6b4, 0xf419, 0xf5d1, -0xf419, 0xf5d1, 0xf3de, 0xf5a2, 0xf3de, 0xf5a2, 0xf4b3, 0xf686, 0xf4b3, 0xf686, 0xf42d, -0xf611, 0xf42d, 0xf611, 0xf45b, 0xf653, 0xf45b, 0xf653, 0xf45b, 0xf653, 0xf4c6, 0xf6d3, -0xf4c6, 0xf6d3, 0xf446, 0xf668, 0xf446, 0xf668, 0xf4c4, 0xf6fc, 0xf4c4, 0xf6fc, 0xf488, -0xf6d5, 0xf488, 0xf6d5, 0xf4de, 0xf73e, 0xf4de, 0xf73e, 0xf4de, 0xf73e, 0xf53a, 0xf7ac, -0xf53a, 0xf7ac, 0xf305, 0xf587, 0xf305, 0xf587, 0xf340, 0xf5cc, 0xf340, 0xf5cc, 0xf240, -0xf4d4, 0xf240, 0xf4d4, 0xefa9, 0xf240, 0xefa9, 0xf240, 0xf053, 0xf2e9, 0xf053, 0xf2e9, -0xf053, 0xf2e9, 0xf0ac, 0xf33c, 0xf0ac, 0xf33c, 0xf08d, 0xf313, 0xf08d, 0xf313, 0xf03e, -0xf2b6, 0xf03e, 0xf2b6, 0xf07b, 0xf2e1, 0xf07b, 0xf2e1, 0xf067, 0xf2b7, 0xf067, 0xf2b7, -0xf067, 0xf2b7, 0xee64, 0xf09c, 0xee64, 0xf09c, 0xedea, 0xf008, 0xedea, 0xf008, 0xeeca, -0xf0cd, 0xeeca, 0xf0cd, 0xeef2, 0xf0db, 0xeef2, 0xf0db, 0xf017, 0xf1e6, 0xf017, 0xf1e6, -0xf15f, 0xf315, 0xf15f, 0xf315, 0xf15f, 0xf315, 0xf2fb, 0xf49c, 0xf2fb, 0xf49c, 0xf3c5, -0xf553, 0xf3c5, 0xf553, 0xf3bd, 0xf53c, 0xf3bd, 0xf53c, 0xf4dc, 0xf651, 0xf4dc, 0xf651, -0xf24d, 0xf3bc, 0xf24d, 0xf3bc, 0xefee, 0xf15c, 0xefee, 0xf15c, 0xefee, 0xf15c, 0xf00e, -0xf180, 0xf00e, 0xf180, 0xefde, 0xf159, 0xefde, 0xf159, 0xefcd, 0xf155, 0xefcd, 0xf155, -0xef67, 0xf0ff, 0xef67, 0xf0ff, 0xf010, 0xf1bc, 0xf010, 0xf1bc, 0xf010, 0xf1bc, 0xf0e2, -0xf2a3, 0xf0e2, 0xf2a3, 0xf0d2, 0xf2aa, 0xf0d2, 0xf2aa, 0xef60, 0xf14f, 0xef60, 0xf14f, -0xed9d, 0xefa2, 0xed9d, 0xefa2, 0xebfe, 0xee17, 0xebfe, 0xee17, 0xeb41, 0xed6b, 0xeb41, -0xed6b, 0xeb41, 0xed6b, 0xea39, 0xec70, 0xea39, 0xec70, 0xe8f5, 0xeb33, 0xe8f5, 0xeb33, -0xe923, 0xeb63, 0xe923, 0xeb63, 0xe9eb, 0xec27, 0xe9eb, 0xec27, 0xebd6, 0xee06, 0xebd6, -0xee06, 0xebd5, 0xedf1, 0xebd5, 0xedf1, 0xebd5, 0xedf1, 0xeb8d, 0xed8f, 0xeb8d, 0xed8f, -0xec2b, 0xee0c, 0xec2b, 0xee0c, 0xeb4a, 0xed04, 0xeb4a, 0xed04, 0xeb21, 0xecad, 0xeb21, -0xecad, 0xecbc, 0xee13, 0xecbc, 0xee13, 0xecbc, 0xee13, 0xedb2, 0xeed0, 0xedb2, 0xeed0, -0xede3, 0xeec6, 0xede3, 0xeec6, 0xef2d, 0xefd0, 0xef2d, 0xefd0, 0xf144, 0xf1a6, 0xf144, -0xf1a6, 0xf35a, 0xf37b, 0xf35a, 0xf37b, 0xf58c, 0xf56c, 0xf58c, 0xf56c, 0xf58c, 0xf56c, -0xf859, 0xf7fa, 0xf859, 0xf7fa, 0xf993, 0xf8f7, 0xf993, 0xf8f7, 0xfc43, 0xfb6e, 0xfc43, -0xfb6e, 0xffe1, 0xfed7, 0xffe1, 0xfed7, 0x23d, 0x103, 0x23d, 0x103, 0x53d, 0x3d7, -0x53d, 0x3d7, 0x53d, 0x3d7, 0x7c6, 0x63b, 0x7c6, 0x63b, 0xae2, 0x936, 0xae2, -0x936, 0xcd3, 0xb0c, 0xcd3, 0xb0c, 0xce2, 0xb04, 0xce2, 0xb04, 0xc97, 0xaa5, -0xc97, 0xaa5, 0xc97, 0xaa5, 0xe67, 0xc67, 0xe67, 0xc67, 0xf20, 0xd14, 0xf20, -0xd14, 0xf84, 0xd6d, 0xf84, 0xd6d, 0x1245, 0x1025, 0x1245, 0x1025, 0x13cd, 0x11a5, -0x13cd, 0x11a5, 0x1623, 0x13f1, 0x1623, 0x13f1, 0x1623, 0x13f1, 0x178c, 0x1550, 0x178c, -0x1550, 0x199c, 0x1755, 0x199c, 0x1755, 0x199f, 0x174a, 0x199f, 0x174a, 0x183f, 0x15da, -0x183f, 0x15da, 0x19d6, 0x175e, 0x19d6, 0x175e, 0x19e9, 0x175d, 0x19e9, 0x175d, 0x19e9, -0x175d, 0x1b58, 0x18b5, 0x1b58, 0x18b5, 0x1cd6, 0x1a1b, 0x1cd6, 0x1a1b, 0x1efc, 0x1c27, -0x1efc, 0x1c27, 0x2192, 0x1ea4, 0x2192, 0x1ea4, 0x21bb, 0x1eb5, 0x21bb, 0x1eb5, 0x21bb, -0x1eb5, 0x22bf, 0x1fa2, 0x22bf, 0x1fa2, 0x2161, 0x1e30, 0x2161, 0x1e30, 0x1f2f, 0x1bee, -0x1f2f, 0x1bee, 0x1ed8, 0x1b8d, 0x1ed8, 0x1b8d, 0x1d70, 0x1a20, 0x1d70, 0x1a20, 0x1db9, -0x1a6c, 0x1db9, 0x1a6c, 0x1db9, 0x1a6c, 0x1d57, 0x1a13, 0x1d57, 0x1a13, 0x1c7e, 0x194d, -0x1c7e, 0x194d, 0x1d15, 0x1a00, 0x1d15, 0x1a00, 0x1a97, 0x17a6, 0x1a97, 0x17a6, 0x18e2, -0x161f, 0x18e2, 0x161f, 0x16d2, 0x1445, 0x16d2, 0x1445, 0x16d2, 0x1445, 0x13d9, 0x118a, -0x13d9, 0x118a, 0x11d0, 0xfc8, 0x11d0, 0xfc8, 0xf41, 0xd86, 0xf41, 0xd86, 0xdf0, -0xc87, 0xdf0, 0xc87, 0xb80, 0xa6e, 0xb80, 0xa6e, 0xb80, 0xa6e, 0x95c, 0x8a4, -0x95c, 0x8a4, 0x80b, 0x7ad, 0x80b, 0x7ad, 0x637, 0x633, 0x637, 0x633, 0x3f7, -0x44b, 0x3f7, 0x44b, 0x185, 0x22e, 0x185, 0x22e, 0xfeaa, 0xffa4, 0xfeaa, 0xffa4, -0xfeaa, 0xffa4, 0xfb60, 0xfca3, 0xfb60, 0xfca3, 0xf89a, 0xfa20, 0xf89a, 0xfa20, 0xf616, -0xf7d7, 0xf616, 0xf7d7, 0xf5eb, 0xf7dd, 0xf5eb, 0xf7dd, 0xf47d, 0xf697, 0xf47d, 0xf697, -0xf2ff, 0xf539, 0xf2ff, 0xf539, 0xf2ff, 0xf539, 0xf266, 0xf4b5, 0xf266, 0xf4b5, 0xef97, -0xf1f2, 0xef97, 0xf1f2, 0xeded, 0xf04d, 0xeded, 0xf04d, 0xeba6, 0xee02, 0xeba6, 0xee02, -0xe9d5, 0xec26, 0xe9d5, 0xec26, 0xe9d5, 0xec26, 0xe9d3, 0xec14, 0xe9d3, 0xec14, 0xe9d8, -0xec04, 0xe9d8, 0xec04, 0xe9bd, 0xebcf, 0xe9bd, 0xebcf, 0xea1b, 0xec12, 0xea1b, 0xec12, -0xec64, 0xee3e, 0xec64, 0xee3e, 0xedd2, 0xef90, 0xedd2, 0xef90, 0xedd2, 0xef90, 0xed85, -0xef27, 0xed85, 0xef27, 0xec1f, 0xeda8, 0xec1f, 0xeda8, 0xea89, 0xebfa, 0xea89, 0xebfa, -0xe9c2, 0xeb1e, 0xe9c2, 0xeb1e, 0xe9e3, 0xeb2e, 0xe9e3, 0xeb2e, 0xeaa6, 0xebe2, 0xeaa6, -0xebe2, 0xeaa6, 0xebe2, 0xeac1, 0xebf1, 0xeac1, 0xebf1, 0xec08, 0xed2f, 0xec08, 0xed2f, -0xedb5, 0xeed5, 0xedb5, 0xeed5, 0xeedd, 0xeff7, 0xeedd, 0xeff7, 0xef86, 0xf09a, 0xef86, -0xf09a, 0xef86, 0xf09a, 0xef5a, 0xf068, 0xef5a, 0xf068, 0xf0df, 0xf1e4, 0xf0df, 0xf1e4, -0xf1d3, 0xf2ce, 0xf1d3, 0xf2ce, 0xf294, 0xf381, 0xf294, 0xf381, 0xf4ea, 0xf5c5, 0xf4ea, -0xf5c5, 0xf66c, 0xf730, 0xf66c, 0xf730, 0xf66c, 0xf730, 0xf8eb, 0xf992, 0xf8eb, 0xf992, -0xfb2e, 0xfbb3, 0xfb2e, 0xfbb3, 0xfbde, 0xfc3b, 0xfbde, 0xfc3b, 0xfcb0, 0xfcdf, 0xfcb0, -0xfcdf, 0xfcba, 0xfcb6, 0xfcba, 0xfcb6, 0xfdb4, 0xfd78, 0xfdb4, 0xfd78, 0xfdb4, 0xfd78, -0xff4c, 0xfed3, 0xff4c, 0xfed3, 0x19f, 0xe7, 0x19f, 0xe7, 0x49a, 0x3a1, 0x49a, -0x3a1, 0x6ed, 0x5b3, 0x6ed, 0x5b3, 0xa21, 0x8a6, 0xa21, 0x8a6, 0xa21, 0x8a6, -0xb13, 0x958, 0xb13, 0x958, 0xc27, 0xa32, 0xc27, 0xa32, 0xece, 0xca4, 0xece, -0xca4, 0xfcd, 0xd74, 0xfcd, 0xd74, 0x10c6, 0xe45, 0x10c6, 0xe45, 0x11f9, 0xf5a, -0x11f9, 0xf5a, 0x11f9, 0xf5a, 0x13fe, 0x114b, 0x13fe, 0x114b, 0x1611, 0x1353, 0x1611, -0x1353, 0x1763, 0x14a5, 0x1763, 0x14a5, 0x17e3, 0x152f, 0x17e3, 0x152f, 0x1840, 0x15a1, -0x1840, 0x15a1, 0x1840, 0x15a1, 0x17b7, 0x1535, 0x17b7, 0x1535, 0x1622, 0x13c7, 0x1622, -0x13c7, 0x1464, 0x1237, 0x1464, 0x1237, 0x128a, 0x1091, 0x128a, 0x1091, 0x1204, 0x1045, -0x1204, 0x1045, 0x1092, 0xf0f, 0x1092, 0xf0f, 0x1092, 0xf0f, 0xee6, 0xda1, 0xee6, -0xda1, 0xe35, 0xd2e, 0xe35, 0xd2e, 0xe87, 0xdbc, 0xe87, 0xdbc, 0xe4a, 0xdb7, -0xe4a, 0xdb7, 0xd05, 0xca7, 0xd05, 0xca7, 0xb0b, 0xad9, 0xb0b, 0xad9, 0xb0b, -0xad9, 0x7b7, 0x7ac, 0x7b7, 0x7ac, 0x6d8, 0x6ea, 0x6d8, 0x6ea, 0x650, 0x677, -0x650, 0x677, 0x60e, 0x641, 0x60e, 0x641, 0x661, 0x698, 0x661, 0x698, 0x661, -0x698, 0x64d, 0x67e, 0x64d, 0x67e, 0x761, 0x783, 0x761, 0x783, 0x7e8, 0x7f5, -0x7e8, 0x7f5, 0x6e4, 0x6d6, 0x6e4, 0x6d6, 0x5a8, 0x579, 0x5a8, 0x579, 0x589, -0x535, 0x589, 0x535, 0x589, 0x535, 0x4af, 0x433, 0x4af, 0x433, 0x56f, 0x4ca, -0x56f, 0x4ca, 0x6f5, 0x627, 0x6f5, 0x627, 0x700, 0x60b, 0x700, 0x60b, 0x88a, -0x770, 0x88a, 0x770, 0xb0d, 0x9d1, 0xb0d, 0x9d1, 0xb0d, 0x9d1, 0xd2e, 0xbd5, -0xd2e, 0xbd5, 0xd9a, 0xc2a, 0xd9a, 0xc2a, 0xc8e, 0xb0a, 0xc8e, 0xb0a, 0xd65, -0xbd3, 0xd65, 0xbd3, 0xf15, 0xd7c, 0xf15, 0xd7c, 0xf15, 0xd7c, 0xf42, 0xda5, -0xf42, 0xda5, 0xfc4, 0xe27, 0xfc4, 0xe27, 0xf8e, 0xdf5, 0xf8e, 0xdf5, 0xf46, -0xdb4, 0xf46, 0xdb4, 0xf18, 0xd8e, 0xf18, 0xd8e, 0xef3, 0xd71, 0xef3, 0xd71, -0xef3, 0xd71, 0xe69, 0xcef, 0xe69, 0xcef, 0xc97, 0xb22, 0xc97, 0xb22, 0xcb3, -0xb40, 0xcb3, 0xb40, 0xcf9, 0xb85, 0xcf9, 0xb85, 0xd23, 0xba9, 0xd23, 0xba9, -0xcf3, 0xb6e, 0xcf3, 0xb6e, 0xcf3, 0xb6e, 0xd1d, 0xb87, 0xd1d, 0xb87, 0xe64, -0xcb8, 0xe64, 0xcb8, 0xf48, 0xd81, 0xf48, 0xd81, 0xf95, 0xdae, 0xf95, 0xdae, -0xeb0, 0xca4, 0xeb0, 0xca4, 0xeb0, 0xca4, 0xe73, 0xc40, 0xe73, 0xc40, 0xef2, -0xc95, 0xef2, 0xc95, 0x10bb, 0xe35, 0x10bb, 0xe35, 0x11e1, 0xf31, 0x11e1, 0xf31, -0x12e9, 0x1013, 0x12e9, 0x1013, 0x1465, 0x116c, 0x1465, 0x116c, 0x1465, 0x116c, 0x1540, -0x1229, 0x1540, 0x1229, 0x1801, 0x14d4, 0x1801, 0x14d4, 0x1882, 0x1546, 0x1882, 0x1546, -0x1734, 0x13f3, 0x1734, 0x13f3, 0x16d7, 0x139c, 0x16d7, 0x139c, 0x145d, 0x1131, 0x145d, -0x1131, 0x145d, 0x1131, 0x12c4, 0xfb3, 0x12c4, 0xfb3, 0x12fe, 0x1014, 0x12fe, 0x1014, -0x1149, 0xe91, 0x1149, 0xe91, 0xfc3, 0xd47, 0xfc3, 0xd47, 0xef6, 0xcc0, 0xef6, -0xcc0, 0xef6, 0xcc0, 0xd68, 0xb81, 0xd68, 0xb81, 0xae1, 0x950, 0xae1, 0x950, -0x7ce, 0x698, 0x7ce, 0x698, 0x551, 0x47b, 0x551, 0x47b, 0x320, 0x2ac, 0x320, -0x2ac, 0x8b, 0x7a, 0x8b, 0x7a, 0x8b, 0x7a, 0xfd5b, 0xfdac, 0xfd5b, 0xfdac, -0xfacc, 0xfb7b, 0xfacc, 0xfb7b, 0xf831, 0xf93a, 0xf831, 0xf93a, 0xf741, 0xf89e, 0xf741, -0xf89e, 0xf71d, 0xf8c6, 0xf71d, 0xf8c6, 0xf3b5, 0xf5a3, 0xf3b5, 0xf5a3, 0xf3b5, 0xf5a3, -0xf022, 0xf24b, 0xf022, 0xf24b, 0xefbe, 0xf218, 0xefbe, 0xf218, 0xee4c, 0xf0cd, 0xee4c, -0xf0cd, 0xec40, 0xeede, 0xec40, 0xeede, 0xecef, 0xefa0, 0xecef, 0xefa0, 0xecef, 0xefa0, -0xeb34, 0xedf0, 0xeb34, 0xedf0, 0xeb11, 0xedd0, 0xeb11, 0xedd0, 0xecc6, 0xef81, 0xecc6, -0xef81, 0xec4f, 0xeefe, 0xec4f, 0xeefe, 0xecf2, 0xef92, 0xecf2, 0xef92, 0xed3f, 0xefcb, -0xed3f, 0xefcb, 0xed3f, 0xefcb, 0xee85, 0xf0fa, 0xee85, 0xf0fa, 0xf0bd, 0xf31b, 0xf0bd, -0xf31b, 0xf296, 0xf4dc, 0xf296, 0xf4dc, 0xf453, 0xf681, 0xf453, 0xf681, 0xf5cc, 0xf7e4, -0xf5cc, 0xf7e4, 0xf7be, 0xf9c3, 0xf7be, 0xf9c3, 0xf7be, 0xf9c3, 0xf923, 0xfb17, 0xf923, -0xfb17, 0xfa31, 0xfc15, 0xfa31, 0xfc15, 0xfae0, 0xfcb9, 0xfae0, 0xfcb9, 0xf98b, 0xfb5a, -0xf98b, 0xfb5a, 0xf8bc, 0xfa83, 0xf8bc, 0xfa83, 0xf8bc, 0xfa83, 0xf944, 0xfb04, 0xf944, -0xfb04, 0xfa14, 0xfbcf, 0xfa14, 0xfbcf, 0xfae7, 0xfc9c, 0xfae7, 0xfc9c, 0xfa6d, 0xfc1a, -0xfa6d, 0xfc1a, 0xfaf7, 0xfc9b, 0xfaf7, 0xfc9b, 0xfaec, 0xfc84, 0xfaec, 0xfc84, 0xfaec, -0xfc84, 0xfa61, 0xfbea, 0xfa61, 0xfbea, 0xf9df, 0xfb53, 0xf9df, 0xfb53, 0xf7db, 0xf935, -0xf7db, 0xf935, 0xf649, 0xf785, 0xf649, 0xf785, 0xf593, 0xf6aa, 0xf593, 0xf6aa, 0xf54f, -0xf63c, 0xf54f, 0xf63c, 0xf54f, 0xf63c, 0xf501, 0xf5be, 0xf501, 0xf5be, 0xf559, 0xf5e1, -0xf559, 0xf5e1, 0xf5a6, 0xf5f5, 0xf5a6, 0xf5f5, 0xf717, 0xf729, 0xf717, 0xf729, 0xf7f3, -0xf7c7, 0xf7f3, 0xf7c7, 0xf7f3, 0xf7c7, 0xf83e, 0xf7d2, 0xf83e, 0xf7d2, 0xf9be, 0xf913, -0xf9be, 0xf913, 0xf9b1, 0xf8c8, 0xf9b1, 0xf8c8, 0xfa04, 0xf8e1, 0xfa04, 0xf8e1, 0xfb60, -0xfa07, 0xfb60, 0xfa07, 0xfcec, 0xfb64, 0xfcec, 0xfb64, 0xfcec, 0xfb64, 0xfe0f, 0xfc60, -0xfe0f, 0xfc60, 0xfff5, 0xfe27, 0xfff5, 0xfe27, 0x1d4, 0xfff3, 0x1d4, 0xfff3, 0x1fd, -0x13, 0x1fd, 0x13, 0x163, 0xff7c, 0x163, 0xff7c, 0x95, 0xfebd, 0x95, 0xfebd, -0x95, 0xfebd, 0xbb, 0xfefe, 0xbb, 0xfefe, 0x156, 0xffc0, 0x156, 0xffc0, 0x1a0, -0x3d, 0x1a0, 0x3d, 0x127, 0x1, 0x127, 0x1, 0x12b, 0x4d, 0x12b, 0x4d, -0x12b, 0x4d, 0xffbb, 0xff2c, 0xffbb, 0xff2c, 0xfe3b, 0xfe03, 0xfe3b, 0xfe03, 0xfd21, -0xfd45, 0xfd21, 0xfd45, 0xf8b6, 0xf93a, 0xf8b6, 0xf93a, 0xf668, 0xf74e, 0xf668, 0xf74e, -0xf5b7, 0xf6fe, 0xf5b7, 0xf6fe, 0xf5b7, 0xf6fe, 0xf304, 0xf4ac, 0xf304, 0xf4ac, 0xf127, -0xf32d, 0xf127, 0xf32d, 0xef1b, 0xf17a, 0xef1b, 0xf17a, 0xeda7, 0xf058, 0xeda7, 0xf058, -0xecff, 0xeffb, 0xecff, 0xeffb, 0xecff, 0xeffb, 0xeb00, 0xee40, 0xeb00, 0xee40, 0xea35, -0xedb0, 0xea35, 0xedb0, 0xe7c5, 0xeb72, 0xe7c5, 0xeb72, 0xe511, 0xe8e6, 0xe511, 0xe8e6, -0xe515, 0xe909, 0xe515, 0xe909, 0xe471, 0xe87b, 0xe471, 0xe87b, 0xe471, 0xe87b, 0xe3af, -0xe7c7, 0xe3af, 0xe7c7, 0xe274, 0xe692, 0xe274, 0xe692, 0xe266, 0xe683, 0xe266, 0xe683, -0xe1fc, 0xe614, 0xe1fc, 0xe614, 0xe1ca, 0xe5d7, 0xe1ca, 0xe5d7, 0xe297, 0xe697, 0xe297, -0xe697, 0xe297, 0xe697, 0xe163, 0xe553, 0xe163, 0xe553, 0xe1c9, 0xe5a7, 0xe1c9, 0xe5a7, -0xe273, 0xe63f, 0xe273, 0xe63f, 0xe21d, 0xe5d8, 0xe21d, 0xe5d8, 0xe281, 0xe62a, 0xe281, -0xe62a, 0xe281, 0xe62a, 0xe2c6, 0xe660, 0xe2c6, 0xe660, 0xe30d, 0xe699, 0xe30d, 0xe699, -0xe3b3, 0xe732, 0xe3b3, 0xe732, 0xe479, 0xe7ed, 0xe479, 0xe7ed, 0xe4ed, 0xe856, 0xe4ed, -0xe856, 0xe518, 0xe877, 0xe518, 0xe877, 0xe518, 0xe877, 0xe564, 0xe8b7, 0xe564, 0xe8b7, -0xe662, 0xe9a8, 0xe662, 0xe9a8, 0xe762, 0xea99, 0xe762, 0xea99, 0xe7cd, 0xeaf1, 0xe7cd, -0xeaf1, 0xe7a7, 0xeab4, 0xe7a7, 0xeab4, 0xe7ec, 0xeadb, 0xe7ec, 0xeadb, 0xe7ec, 0xeadb, -0xe9f5, 0xecc1, 0xe9f5, 0xecc1, 0xebcc, 0xee6e, 0xebcc, 0xee6e, 0xec4c, 0xeebd, 0xec4c, -0xeebd, 0xecde, 0xef15, 0xecde, 0xef15, 0xedda, 0xefd0, 0xedda, 0xefd0, 0xedda, 0xefd0, -0xef25, 0xf0d2, 0xef25, 0xf0d2, 0xef78, 0xf0d5, 0xef78, 0xf0d5, 0xf05a, 0xf160, 0xf05a, -0xf160, 0xf12f, 0xf1d9, 0xf12f, 0xf1d9, 0xf22d, 0xf276, 0xf22d, 0xf276, 0xf5a0, 0xf585, -0xf5a0, 0xf585, 0xf5a0, 0xf585, 0xf6d3, 0xf652, 0xf6d3, 0xf652, 0xf7f0, 0xf709, 0xf7f0, -0xf709, 0xface, 0xf982, 0xface, 0xf982, 0xfd2b, 0xfb7e, 0xfd2b, 0xfb7e, 0x70, 0xfe67, -0x70, 0xfe67, 0x3c4, 0x165, 0x3c4, 0x165, 0x3c4, 0x165, 0x6cc, 0x41f, 0x6cc, -0x41f, 0xa5d, 0x76b, 0xa5d, 0x76b, 0xde5, 0xab8, 0xde5, 0xab8, 0x100f, 0xcb2, -0x100f, 0xcb2, 0x12c1, 0xf3f, 0x12c1, 0xf3f, 0x12c1, 0xf3f, 0x14a3, 0x1109, 0x14a3, -0x1109, 0x151d, 0x1175, 0x151d, 0x1175, 0x16e0, 0x1336, 0x16e0, 0x1336, 0x17d9, 0x1438, -0x17d9, 0x1438, 0x17bd, 0x142f, 0x17bd, 0x142f, 0x180a, 0x1497, 0x180a, 0x1497, 0x180a, -0x1497, 0x18d6, 0x1587, 0x18d6, 0x1587, 0x19d2, 0x16ac, 0x19d2, 0x16ac, 0x1a1d, 0x1724, -0x1a1d, 0x1724, 0x1a10, 0x1747, 0x1a10, 0x1747, 0x19ed, 0x1755, 0x19ed, 0x1755, 0x1962, -0x16fb, 0x1962, 0x16fb, 0x1962, 0x16fb, 0x18c8, 0x1690, 0x18c8, 0x1690, 0x1876, 0x166a, -0x1876, 0x166a, 0x18f6, 0x1712, 0x18f6, 0x1712, 0x17d2, 0x1610, 0x17d2, 0x1610, 0x17c0, -0x161b, 0x17c0, 0x161b, 0x17c0, 0x161b, 0x1937, 0x17a8, 0x1937, 0x17a8, 0x182e, 0x16af, -0x182e, 0x16af, 0x1858, 0x16e3, 0x1858, 0x16e3, 0x178f, 0x161e, 0x178f, 0x161e, 0x1590, -0x141d, 0x1590, 0x141d, 0x14a0, 0x1327, 0x14a0, 0x1327, 0x14a0, 0x1327, 0x13f3, 0x1271, -0x13f3, 0x1271, 0x1389, 0x11fb, 0x1389, 0x11fb, 0x1231, 0x1096, 0x1231, 0x1096, 0x119e, -0xff7, 0x119e, 0xff7, 0x1258, 0x10a6, 0x1258, 0x10a6, 0x12d2, 0x1117, 0x12d2, 0x1117, -0x12d2, 0x1117, 0x1219, 0x1059, 0x1219, 0x1059, 0x119c, 0xfdb, 0x119c, 0xfdb, 0x10f2, -0xf36, 0x10f2, 0xf36, 0x1080, 0xece, 0x1080, 0xece, 0xffc, 0xe5b, 0xffc, 0xe5b, -0xffc, 0xe5b, 0xe48, 0xcbd, 0xe48, 0xcbd, 0xd00, 0xb91, 0xd00, 0xb91, 0xc27, -0xadb, 0xc27, 0xadb, 0xbc3, 0xa9d, 0xbc3, 0xa9d, 0xaae, 0x9b3, 0xaae, 0x9b3, -0x999, 0x8cb, 0x999, 0x8cb, 0x999, 0x8cb, 0x7f8, 0x75a, 0x7f8, 0x75a, 0x5d3, -0x565, 0x5d3, 0x565, 0x51f, 0x4e1, 0x51f, 0x4e1, 0x4b6, 0x4a6, 0x4b6, 0x4a6, -0x377, 0x391, 0x377, 0x391, 0x255, 0x296, 0x255, 0x296, 0x255, 0x296, 0x1e8, -0x24b, 0x1e8, 0x24b, 0x1bf, 0x23c, 0x1bf, 0x23c, 0x16e, 0x200, 0x16e, 0x200, -0xffaa, 0x4b, 0xffaa, 0x4b, 0xfe62, 0xff09, 0xfe62, 0xff09, 0xfe62, 0xff09, 0xfdc9, -0xfe71, 0xfdc9, 0xfe71, 0xfdd7, 0xfe78, 0xfdd7, 0xfe78, 0xfe27, 0xfebc, 0xfe27, 0xfebc, -0xfde1, 0xfe65, 0xfde1, 0xfe65, 0xfe99, 0xff07, 0xfe99, 0xff07, 0xfef6, 0xff4d, 0xfef6, -0xff4d, 0xfef6, 0xff4d, 0xfef6, 0xff33, 0xfef6, 0xff33, 0xfedb, 0xfefe, 0xfedb, 0xfefe, -0xfe49, 0xfe53, 0xfe49, 0xfe53, 0xfd82, 0xfd76, 0xfd82, 0xfd76, 0xfd77, 0xfd59, 0xfd77, -0xfd59, 0xfcc7, 0xfc9b, 0xfcc7, 0xfc9b, 0xfcc7, 0xfc9b, 0xfb3f, 0xfb0b, 0xfb3f, 0xfb0b, -0xfa74, 0xfa3f, 0xfa74, 0xfa3f, 0xf9c1, 0xf991, 0xf9c1, 0xf991, 0xf953, 0xf930, 0xf953, -0xf930, 0xf8ce, 0xf8bf, 0xf8ce, 0xf8bf, 0xf8ce, 0xf8bf, 0xf87b, 0xf886, 0xf87b, 0xf886, -0xf7a2, 0xf7cf, 0xf7a2, 0xf7cf, 0xf724, 0xf777, 0xf724, 0xf777, 0xf6e5, 0xf763, 0xf6e5, -0xf763, 0xf755, 0xf802, 0xf755, 0xf802, 0xf916, 0xf9f4, 0xf916, 0xf9f4, 0xf916, 0xf9f4, -0xf89a, 0xf9aa, 0xf89a, 0xf9aa, 0xf7ea, 0xf92a, 0xf7ea, 0xf92a, 0xf7aa, 0xf918, 0xf7aa, -0xf918, 0xf636, 0xf7cf, 0xf636, 0xf7cf, 0xf59b, 0xf759, 0xf59b, 0xf759, 0xf441, 0xf61d, -0xf441, 0xf61d, 0xf441, 0xf61d, 0xf2af, 0xf4a1, 0xf2af, 0xf4a1, 0xf2d1, 0xf4d2, 0xf2d1, -0xf4d2, 0xf251, 0xf457, 0xf251, 0xf457, 0xf31c, 0xf51d, 0xf31c, 0xf51d, 0xf3c5, 0xf5b8, -0xf3c5, 0xf5b8, 0xf3c5, 0xf5b8, 0xf2a0, 0xf47c, 0xf2a0, 0xf47c, 0xf2b3, 0xf46f, 0xf2b3, -0xf46f, 0xf28c, 0xf41f, 0xf28c, 0xf41f, 0xf228, 0xf38a, 0xf228, 0xf38a, 0xf1d6, 0xf302, -0xf1d6, 0xf302, 0xf274, 0xf363, 0xf274, 0xf363, 0xf274, 0xf363, 0xf432, 0xf4e1, 0xf432, -0xf4e1, 0xf5af, 0xf61b, 0xf5af, 0xf61b, 0xf75b, 0xf784, 0xf75b, 0xf784, 0xf93f, 0xf925, -0xf93f, 0xf925, 0xfbbd, 0xfb62, 0xfbbd, 0xfb62, 0xfbbd, 0xfb62, 0xfe9b, 0xfe01, 0xfe9b, -0xfe01, 0xd8, 0x3, 0xd8, 0x3, 0x1cd, 0xc1, 0x1cd, 0xc1, 0x201, 0xc4, -0x201, 0xc4, 0x2b6, 0x14d, 0x2b6, 0x14d, 0x34e, 0x1c0, 0x34e, 0x1c0, 0x34e, -0x1c0, 0x2ca, 0x11d, 0x2ca, 0x11d, 0x2e9, 0x123, 0x2e9, 0x123, 0x303, 0x128, -0x303, 0x128, 0x2fe, 0x113, 0x2fe, 0x113, 0x463, 0x26c, 0x463, 0x26c, 0x5be, -0x3bd, 0x5be, 0x3bd, 0x5be, 0x3bd, 0x5e0, 0x3d7, 0x5e0, 0x3d7, 0x53d, 0x32d, -0x53d, 0x32d, 0x578, 0x361, 0x578, 0x361, 0x58f, 0x370, 0x58f, 0x370, 0x63f, -0x414, 0x63f, 0x414, 0x63f, 0x414, 0x7c0, 0x588, 0x7c0, 0x588, 0x826, 0x5dd, -0x826, 0x5dd, 0x933, 0x6d6, 0x933, 0x6d6, 0xb16, 0x8a1, 0xb16, 0x8a1, 0xcd3, -0xa42, 0xcd3, 0xa42, 0xd31, 0xa7f, 0xd31, 0xa7f, 0xd31, 0xa7f, 0xced, 0xa18, -0xced, 0xa18, 0xefd, 0xc04, 0xefd, 0xc04, 0x1147, 0xe26, 0x1147, 0xe26, 0x1269, -0xf21, 0x1269, 0xf21, 0x13a7, 0x1038, 0x13a7, 0x1038, 0x1453, 0x10bf, 0x1453, 0x10bf, -0x1453, 0x10bf, 0x15fd, 0x1246, 0x15fd, 0x1246, 0x17b9, 0x13e4, 0x17b9, 0x13e4, 0x1997, -0x15a9, 0x1997, 0x15a9, 0x1bb1, 0x17b1, 0x1bb1, 0x17b1, 0x1bf1, 0x17e5, 0x1bf1, 0x17e5, -0x1bf1, 0x17e5, 0x1cfe, 0x18ef, 0x1cfe, 0x18ef, 0x1e3b, 0x1a31, 0x1e3b, 0x1a31, 0x1edf, -0x1ae4, 0x1edf, 0x1ae4, 0x1eb8, 0x1ad4, 0x1eb8, 0x1ad4, 0x1e2f, 0x1a6b, 0x1e2f, 0x1a6b, -0x1dff, 0x1a64, 0x1dff, 0x1a64, 0x1dff, 0x1a64, 0x1cce, 0x1962, 0x1cce, 0x1962, 0x1bf5, -0x18c2, 0x1bf5, 0x18c2, 0x1a60, 0x176a, 0x1a60, 0x176a, 0x1831, 0x157d, 0x1831, 0x157d, -0x172a, 0x14bb, 0x172a, 0x14bb, 0x15e6, 0x13bf, 0x15e6, 0x13bf, 0x15e6, 0x13bf, 0x14d7, -0x12f8, 0x14d7, 0x12f8, 0x13ae, 0x1216, 0x13ae, 0x1216, 0x11cd, 0x107a, 0x11cd, 0x107a, -0x11ca, 0x10b9, 0x11ca, 0x10b9, 0x1125, 0x1052, 0x1125, 0x1052, 0x1125, 0x1052, 0xf91, -0xef6, 0xf91, 0xef6, 0xec8, 0xe5f, 0xec8, 0xe5f, 0xd15, 0xcd6, 0xd15, 0xcd6, -0xd0d, 0xcf3, 0xd0d, 0xcf3, 0xc97, 0xc9a, 0xc97, 0xc9a, 0xae7, 0xaff, 0xae7, -0xaff, 0xae7, 0xaff, 0xa68, 0xa8f, 0xa68, 0xa8f, 0x997, 0x9c6, 0x997, 0x9c6, -0x901, 0x933, 0x901, 0x933, 0x97c, 0x9ad, 0x97c, 0x9ad, 0x947, 0x972, 0x947, -0x972, 0x761, 0x785, 0x761, 0x785, 0x761, 0x785, 0x6ab, 0x6c6, 0x6ab, 0x6c6, -0x71c, 0x72e, 0x71c, 0x72e, 0x725, 0x72f, 0x725, 0x72f, 0x7e3, 0x7e6, 0x7e3, -0x7e6, 0x83c, 0x83b, 0x83c, 0x83b, 0x83c, 0x83b, 0x7a5, 0x7a3, 0x7a5, 0x7a3, -0x7f0, 0x7f2, 0x7f0, 0x7f2, 0x7ac, 0x7b5, 0x7ac, 0x7b5, 0x674, 0x68a, 0x674, -0x68a, 0x520, 0x545, 0x520, 0x545, 0x3da, 0x414, 0x3da, 0x414, 0x3da, 0x414, -0x408, 0x45a, 0x408, 0x45a, 0x371, 0x3de, 0x371, 0x3de, 0x1cf, 0x25b, 0x1cf, -0x25b, 0x7d, 0x129, 0x7d, 0x129, 0xfeef, 0xffbb, 0xfeef, 0xffbb, 0xfd1b, 0xfe06, -0xfd1b, 0xfe06, 0xfd1b, 0xfe06, 0xfc76, 0xfd80, 0xfc76, 0xfd80, 0xfb54, 0xfc7b, 0xfb54, -0xfc7b, 0xf7b0, 0xf8f1, 0xf7b0, 0xf8f1, 0xf622, 0xf77a, 0xf622, 0xf77a, 0xf676, 0xf7e0, -0xf676, 0xf7e0, 0xf676, 0xf7e0, 0xf60e, 0xf786, 0xf60e, 0xf786, 0xf517, 0xf697, 0xf517, -0xf697, 0xf41f, 0xf5a3, 0xf41f, 0xf5a3, 0xf41c, 0xf59e, 0xf41c, 0xf59e, 0xf40b, 0xf587, -0xf40b, 0xf587, 0xf44e, 0xf5c0, 0xf44e, 0xf5c0, 0xf44e, 0xf5c0, 0xf514, 0xf678, 0xf514, -0xf678, 0xf484, 0xf5d8, 0xf484, 0xf5d8, 0xf546, 0xf687, 0xf546, 0xf687, 0xf90c, 0xfa3a, -0xf90c, 0xfa3a, 0xfbad, 0xfcc6, 0xfbad, 0xfcc6, 0xfd16, 0xfe1e, 0xfd16, 0xfe1e, 0xfd16, -0xfe1e, 0xfe6c, 0xff63, 0xfe6c, 0xff63, 0xffbb, 0xa4, 0xffbb, 0xa4, 0x6d, 0x14c, -0x6d, 0x14c, 0x33, 0x10d, 0x33, 0x10d, 0x4c, 0x125, 0x4c, 0x125, 0x4c, -0x125, 0x1f, 0xfd, 0x1f, 0xfd, 0x94, 0x17d, 0x94, 0x17d, 0x104, 0x1fd, -0x104, 0x1fd, 0x184, 0x293, 0x184, 0x293, 0x186, 0x2af, 0x186, 0x2af, 0xffb2, -0xfa, 0xffb2, 0xfa, 0xffb2, 0xfa, 0xff42, 0xad, 0xff42, 0xad, 0xfeed, 0x7e, -0xfeed, 0x7e, 0xfd2e, 0xfee5, 0xfd2e, 0xfee5, 0xfbef, 0xfdcf, 0xfbef, 0xfdcf, 0xf9c1, -0xfbc8, 0xf9c1, 0xfbc8, 0xf7ac, 0xf9db, 0xf7ac, 0xf9db, 0xf7ac, 0xf9db, 0xf5ca, 0xf81c, -0xf5ca, 0xf81c, 0xf2b5, 0xf527, 0xf2b5, 0xf527, 0xf162, 0xf3f1, 0xf162, 0xf3f1, 0xefcc, -0xf272, 0xefcc, 0xf272, 0xed72, 0xf02a, 0xed72, 0xf02a, 0xed72, 0xf02a, 0xed10, 0xefd4, -0xed10, 0xefd4, 0xec70, 0xef39, 0xec70, 0xef39, 0xeab3, 0xed7a, 0xeab3, 0xed7a, 0xea0d, -0xeccc, 0xea0d, 0xeccc, 0xea60, 0xed11, 0xea60, 0xed11, 0xe9af, 0xec4d, 0xe9af, 0xec4d, -0xe9af, 0xec4d, 0xea1a, 0xec9f, 0xea1a, 0xec9f, 0xea1e, 0xec87, 0xea1e, 0xec87, 0xe948, -0xeb90, 0xe948, 0xeb90, 0xea22, 0xec48, 0xea22, 0xec48, 0xea7a, 0xec7d, 0xea7a, 0xec7d, -0xebc2, 0xeda1, 0xebc2, 0xeda1, 0xebc2, 0xeda1, 0xecfe, 0xeeb9, 0xecfe, 0xeeb9, 0xed18, -0xeeb3, 0xed18, 0xeeb3, 0xef5e, 0xf0da, 0xef5e, 0xf0da, 0xf274, 0xf3d4, 0xf274, 0xf3d4, -0xf3be, 0xf507, 0xf3be, 0xf507, 0xf3be, 0xf507, 0xf4ac, 0xf5e1, 0xf4ac, 0xf5e1, 0xf636, -0xf75c, 0xf636, 0xf75c, 0xf661, 0xf77d, 0xf661, 0xf77d, 0xf749, 0xf861, 0xf749, 0xf861, -0xf8fd, 0xfa14, 0xf8fd, 0xfa14, 0xf7fc, 0xf917, 0xf7fc, 0xf917, 0xf7fc, 0xf917, 0xf6d2, -0xf7f5, 0xf6d2, 0xf7f5, 0xf748, 0xf876, 0xf748, 0xf876, 0xf831, 0xf96d, 0xf831, 0xf96d, -0xf8a4, 0xf9ef, 0xf8a4, 0xf9ef, 0xf7f0, 0xf94b, 0xf7f0, 0xf94b, 0xf7f0, 0xf94b, 0xf825, -0xf992, 0xf825, 0xf992, 0xf8e1, 0xfa5e, 0xf8e1, 0xfa5e, 0xf853, 0xf9e1, 0xf853, 0xf9e1, -0xf80a, 0xf9a5, 0xf80a, 0xf9a5, 0xf775, 0xf91c, 0xf775, 0xf91c, 0xf58a, 0xf73b, 0xf58a, -0xf73b, 0xf58a, 0xf73b, 0xf4fa, 0xf6b2, 0xf4fa, 0xf6b2, 0xf686, 0xf842, 0xf686, 0xf842, -0xf5d1, 0xf78f, 0xf5d1, 0xf78f, 0xf3f9, 0xf5b6, 0xf3f9, 0xf5b6, 0xf4a8, 0xf661, 0xf4a8, -0xf661, 0xf50b, 0xf6bf, 0xf50b, 0xf6bf, 0xf50b, 0xf6bf, 0xf4d9, 0xf687, 0xf4d9, 0xf687, -0xf4e0, 0xf687, 0xf4e0, 0xf687, 0xf442, 0xf5e2, 0xf442, 0xf5e2, 0xf433, 0xf5cc, 0xf433, -0xf5cc, 0xf4d3, 0xf666, 0xf4d3, 0xf666, 0xf4d3, 0xf666, 0xf529, 0xf6b9, 0xf529, 0xf6b9, -0xf5bd, 0xf74c, 0xf5bd, 0xf74c, 0xf581, 0xf712, 0xf581, 0xf712, 0xf464, 0xf5fa, 0xf464, -0xf5fa, 0xf490, 0xf62f, 0xf490, 0xf62f, 0xf455, 0xf600, 0xf455, 0xf600, 0xf455, 0xf600, -0xf3ef, 0xf5aa, 0xf3ef, 0xf5aa, 0xf37b, 0xf549, 0xf37b, 0xf549, 0xf2c9, 0xf4ae, 0xf2c9, -0xf4ae, 0xf2c4, 0xf4c1, 0xf2c4, 0xf4c1, 0xf171, 0xf389, 0xf171, 0xf389, 0xf056, 0xf289, -0xf056, 0xf289, 0xf056, 0xf289, 0xefb2, 0xf202, 0xefb2, 0xf202, 0xeef2, 0xf15d, 0xeef2, -0xf15d, 0xeed8, 0xf15c, 0xeed8, 0xf15c, 0xee20, 0xf0bb, 0xee20, 0xf0bb, 0xec86, 0xef35, -0xec86, 0xef35, 0xec86, 0xef35, 0xeaa7, 0xed65, 0xeaa7, 0xed65, 0xe9c3, 0xec8b, 0xe9c3, -0xec8b, 0xe9a5, 0xec6f, 0xe9a5, 0xec6f, 0xe917, 0xebdf, 0xe917, 0xebdf, 0xe846, 0xeb03, -0xe846, 0xeb03, 0xe79e, 0xea49, 0xe79e, 0xea49, 0xe79e, 0xea49, 0xe6d3, 0xe964, 0xe6d3, -0xe964, 0xe62b, 0xe89b, 0xe62b, 0xe89b, 0xe662, 0xe8a9, 0xe662, 0xe8a9, 0xe654, 0xe86b, -0xe654, 0xe86b, 0xe564, 0xe744, 0xe564, 0xe744, 0xe613, 0xe7b6, 0xe613, 0xe7b6, 0xe613, -0xe7b6, 0xe845, 0xe9a7, 0xe845, 0xe9a7, 0xe9dd, 0xeaf9, 0xe9dd, 0xeaf9, 0xeb4a, 0xec1d, -0xeb4a, 0xec1d, 0xed66, 0xedee, 0xed66, 0xedee, 0xf020, 0xf05b, 0xf020, 0xf05b, 0xf020, -0xf05b, 0xf24d, 0xf23b, 0xf24d, 0xf23b, 0xf5c3, 0xf566, 0xf5c3, 0xf566, 0xf904, 0xf85d, -0xf904, 0xf85d, 0xfafc, 0xfa0e, 0xfafc, 0xfa0e, 0xfee1, 0xfdaf, 0xfee1, 0xfdaf, 0x224, -0xb2, 0x224, 0xb2, 0x224, 0xb2, 0x44b, 0x29e, 0x44b, 0x29e, 0x573, 0x390, -0x573, 0x390, 0x686, 0x471, 0x686, 0x471, 0x8f9, 0x6b8, 0x8f9, 0x6b8, 0xaa2, -0x839, 0xaa2, 0x839, 0xbec, 0x961, 0xbec, 0x961, 0xbec, 0x961, 0xdd5, 0xb2c, -0xdd5, 0xb2c, 0x1097, 0xdd4, 0x1097, 0xdd4, 0x12a5, 0xfcb, 0x12a5, 0xfcb, 0x14db, -0x11ee, 0x14db, 0x11ee, 0x172c, 0x142e, 0x172c, 0x142e, 0x172c, 0x142e, 0x1780, 0x1474, -0x1780, 0x1474, 0x183b, 0x1522, 0x183b, 0x1522, 0x1950, 0x162c, 0x1950, 0x162c, 0x19bb, -0x168c, 0x19bb, 0x168c, 0x1a30, 0x16f8, 0x1a30, 0x16f8, 0x1acd, 0x178b, 0x1acd, 0x178b, -0x1acd, 0x178b, 0x1bda, 0x1891, 0x1bda, 0x1891, 0x1c8f, 0x193e, 0x1c8f, 0x193e, 0x1d25, -0x19cd, 0x1d25, 0x19cd, 0x1d6c, 0x1a10, 0x1d6c, 0x1a10, 0x1cd5, 0x1975, 0x1cd5, 0x1975, -0x1d9e, 0x1a3d, 0x1d9e, 0x1a3d, 0x1d9e, 0x1a3d, 0x1e51, 0x1af3, 0x1e51, 0x1af3, 0x1e1c, -0x1ac3, 0x1e1c, 0x1ac3, 0x1e67, 0x1b18, 0x1e67, 0x1b18, 0x1e3e, 0x1afd, 0x1e3e, 0x1afd, -0x1e6f, 0x1b42, 0x1e6f, 0x1b42, 0x1e6f, 0x1b42, 0x1e6a, 0x1b57, 0x1e6a, 0x1b57, 0x1e24, -0x1b30, 0x1e24, 0x1b30, 0x1dcd, 0x1b00, 0x1dcd, 0x1b00, 0x1c9b, 0x19fc, 0x1c9b, 0x19fc, -0x1b68, 0x18fd, 0x1b68, 0x18fd, 0x1a72, 0x1841, 0x1a72, 0x1841, 0x1a72, 0x1841, 0x1911, -0x1720, 0x1911, 0x1720, 0x1781, 0x15d6, 0x1781, 0x15d6, 0x1624, 0x14c4, 0x1624, 0x14c4, -0x1415, 0x1304, 0x1415, 0x1304, 0x120e, 0x1150, 0x120e, 0x1150, 0x1020, 0xfb6, 0x1020, -0xfb6, 0x1020, 0xfb6, 0xdad, 0xd99, 0xdad, 0xd99, 0xaf3, 0xb34, 0xaf3, 0xb34, -0x861, 0x8f6, 0x861, 0x8f6, 0x62e, 0x714, 0x62e, 0x714, 0x3a1, 0x4d5, 0x3a1, -0x4d5, 0x3a1, 0x4d5, 0xab, 0x227, 0xab, 0x227, 0xfe1a, 0xffd8, 0xfe1a, 0xffd8, -0xfbf0, 0xfdea, 0xfbf0, 0xfdea, 0xfa90, 0xfcbd, 0xfa90, 0xfcbd, 0xfa11, 0xfc6a, 0xfa11, -0xfc6a, 0xf7eb, 0xfa67, 0xf7eb, 0xfa67, 0xf7eb, 0xfa67, 0xf722, 0xf9b8, 0xf722, 0xf9b8, -0xf73d, 0xf9e5, 0xf73d, 0xf9e5, 0xf544, 0xf7f4, 0xf544, 0xf7f4, 0xf4c0, 0xf771, 0xf4c0, -0xf771, 0xf39c, 0xf647, 0xf39c, 0xf647, 0xf0d2, 0xf36f, 0xf0d2, 0xf36f, 0xf0d2, 0xf36f, -0xeeb9, 0xf141, 0xeeb9, 0xf141, 0xee3c, 0xf0ab, 0xee3c, 0xf0ab, 0xedbd, 0xf00f, 0xedbd, -0xf00f, 0xece2, 0xef13, 0xece2, 0xef13, 0xed15, 0xef22, 0xed15, 0xef22, 0xed15, 0xef22, -0xecef, 0xeed7, 0xecef, 0xeed7, 0xed42, 0xef05, 0xed42, 0xef05, 0xed51, 0xeeef, 0xed51, -0xeeef, 0xed7d, 0xeef7, 0xed7d, 0xeef7, 0xee1a, 0xef72, 0xee1a, 0xef72, 0xeda1, 0xeed7, -0xeda1, 0xeed7, 0xeda1, 0xeed7, 0xee45, 0xef5d, 0xee45, 0xef5d, 0xf039, 0xf133, 0xf039, -0xf133, 0xf193, 0xf272, 0xf193, 0xf272, 0xf21f, 0xf2e4, 0xf21f, 0xf2e4, 0xf310, 0xf3bd, -0xf310, 0xf3bd, 0xf3d2, 0xf467, 0xf3d2, 0xf467, 0xf3d2, 0xf467, 0xf3c7, 0xf445, 0xf3c7, -0xf445, 0xf4eb, 0xf551, 0xf4eb, 0xf551, 0xf59d, 0xf5eb, 0xf59d, 0xf5eb, 0xf546, 0xf579, -0xf546, 0xf579, 0xf616, 0xf62d, 0xf616, 0xf62d, 0xf616, 0xf62d, 0xf6cf, 0xf6c6, 0xf6cf, -0xf6c6, 0xf7a8, 0xf77d, 0xf7a8, 0xf77d, 0xf8b9, 0xf868, 0xf8b9, 0xf868, 0xf93f, 0xf8c5, -0xf93f, 0xf8c5, 0xfa33, 0xf98d, 0xfa33, 0xf98d, 0xfba6, 0xfad0, 0xfba6, 0xfad0, 0xfba6, -0xfad0, 0xfc29, 0xfb20, 0xfc29, 0xfb20, 0xfc2a, 0xfaec, 0xfc2a, 0xfaec, 0xfd53, 0xfbde, -0xfd53, 0xfbde, 0xfec5, 0xfd1a, 0xfec5, 0xfd1a, 0x15e, 0xff7b, 0x15e, 0xff7b, 0x15e, -0xff7b, 0x3e5, 0x1cd, 0x3e5, 0x1cd, 0x5c5, 0x37a, 0x5c5, 0x37a, 0x830, 0x5b4, -0x830, 0x5b4, 0xa2f, 0x787, 0xa2f, 0x787, 0xbf3, 0x923, 0xbf3, 0x923, 0xc26, -0x936, 0xc26, 0x936, 0xc26, 0x936, 0xc92, 0x988, 0xc92, 0x988, 0xdb0, 0xa94, -0xdb0, 0xa94, 0xe63, 0xb3d, 0xe63, 0xb3d, 0x1017, 0xcee, 0x1017, 0xcee, 0x111e, -0xdfb, 0x111e, 0xdfb, 0x10be, 0xda7, 0x10be, 0xda7, 0x10be, 0xda7, 0x10ac, 0xdaa, -0x10ac, 0xdaa, 0x1191, 0xeab, 0x1191, 0xeab, 0x1136, 0xe70, 0x1136, 0xe70, 0x102c, -0xd8b, 0x102c, 0xd8b, 0x103a, 0xdc2, 0x103a, 0xdc2, 0x103a, 0xdc2, 0xff9, 0xdac, -0xff9, 0xdac, 0xf2b, 0xd0a, 0xf2b, 0xd0a, 0xda3, 0xbae, 0xda3, 0xbae, 0xc21, -0xa57, 0xc21, 0xa57, 0xb28, 0x985, 0xb28, 0x985, 0xa46, 0x8c7, 0xa46, 0x8c7, -0xa46, 0x8c7, 0xa12, 0x8b1, 0xa12, 0x8b1, 0x95c, 0x814, 0x95c, 0x814, 0x788, -0x653, 0x788, 0x653, 0x5ff, 0x4d6, 0x5ff, 0x4d6, 0x5aa, 0x486, 0x5aa, 0x486, -0x600, 0x4db, 0x600, 0x4db, 0x600, 0x4db, 0x556, 0x429, 0x556, 0x429, 0x4d1, -0x395, 0x4d1, 0x395, 0x4ec, 0x39d, 0x4ec, 0x39d, 0x486, 0x31f, 0x486, 0x31f, -0x485, 0x303, 0x485, 0x303, 0x485, 0x303, 0x4d8, 0x338, 0x4d8, 0x338, 0x6d3, -0x515, 0x6d3, 0x515, 0x8b3, 0x6d6, 0x8b3, 0x6d6, 0x977, 0x77c, 0x977, 0x77c, -0xc27, 0xa12, 0xc27, 0xa12, 0xdf1, 0xbc3, 0xdf1, 0xbc3, 0xdf1, 0xbc3, 0xe95, -0xc52, 0xe95, 0xc52, 0xf74, 0xd21, 0xf74, 0xd21, 0xfb0, 0xd52, 0xfb0, 0xd52, -0xf61, 0xcfd, 0xf61, 0xcfd, 0xf1a, 0xcb5, 0xf1a, 0xcb5, 0xf93, 0xd32, 0xf93, -0xd32, 0xf93, 0xd32, 0xf62, 0xd09, 0xf62, 0xd09, 0xf27, 0xcdc, 0xf27, 0xcdc, -0xf06, 0xcca, 0xf06, 0xcca, 0xf1e, 0xcf4, 0xf1e, 0xcf4, 0xf46, 0xd2f, 0xf46, -0xd2f, 0xf46, 0xd2f, 0xec3, 0xcc0, 0xec3, 0xcc0, 0xf3d, 0xd4d, 0xf3d, 0xd4d, -0x100e, 0xe2f, 0x100e, 0xe2f, 0x1056, 0xe86, 0x1056, 0xe86, 0x1010, 0xe4c, 0x1010, -0xe4c, 0x103d, 0xe80, 0x103d, 0xe80, 0x103d, 0xe80, 0x1143, 0xf8a, 0x1143, 0xf8a, -0x1247, 0x108b, 0x1247, 0x108b, 0x12e8, 0x1127, 0x12e8, 0x1127, 0x12d3, 0x1107, 0x12d3, -0x1107, 0x12b4, 0x10d8, 0x12b4, 0x10d8, 0x12ab, 0x10bd, 0x12ab, 0x10bd, 0x12ab, 0x10bd, -0x1314, 0x1111, 0x1314, 0x1111, 0x13a4, 0x118b, 0x13a4, 0x118b, 0x1365, 0x1134, 0x1365, -0x1134, 0x13a2, 0x115b, 0x13a2, 0x115b, 0x1415, 0x11b9, 0x1415, 0x11b9, 0x1415, 0x11b9, -0x1456, 0x11ea, 0x1456, 0x11ea, 0x1589, 0x1310, 0x1589, 0x1310, 0x15fe, 0x137f, 0x15fe, -0x137f, 0x1567, 0x12e8, 0x1567, 0x12e8, 0x1540, 0x12c8, 0x1540, 0x12c8, 0x155c, 0x12f4, -0x155c, 0x12f4, 0x155c, 0x12f4, 0x13d5, 0x1186, 0x13d5, 0x1186, 0x1240, 0x1013, 0x1240, -0x1013, 0x120b, 0x1009, 0x120b, 0x1009, 0x10af, 0xedf, 0x10af, 0xedf, 0xf5d, 0xdc8, -0xf5d, 0xdc8, 0xe44, 0xcf1, 0xe44, 0xcf1, 0xe44, 0xcf1, 0xd2c, 0xc20, 0xd2c, -0xc20, 0xad4, 0xa15, 0xad4, 0xa15, 0x871, 0x801, 0x871, 0x801, 0x75c, 0x73e, -0x75c, 0x73e, 0x4e4, 0x517, 0x4e4, 0x517, 0x4e4, 0x517, 0x2a3, 0x327, 0x2a3, -0x327, 0xffd9, 0xaa, 0xffd9, 0xaa, 0xfccd, 0xfde8, 0xfccd, 0xfde8, 0xf9b7, 0xfb17, -0xf9b7, 0xfb17, 0xf733, 0xf8d2, 0xf733, 0xf8d2, 0xf5ea, 0xf7c0, 0xf5ea, 0xf7c0, 0xf5ea, -0xf7c0, 0xf379, 0xf57e, 0xf379, 0xf57e, 0xf0cc, 0xf2f9, 0xf0cc, 0xf2f9, 0xeeab, 0xf0f6, -0xeeab, 0xf0f6, 0xee55, 0xf0b7, 0xee55, 0xf0b7, 0xeddf, 0xf050, 0xeddf, 0xf050, 0xece7, -0xef5f, 0xece7, 0xef5f, 0xece7, 0xef5f, 0xed15, 0xef8e, 0xed15, 0xef8e, 0xed07, 0xef7a, -0xed07, 0xef7a, 0xed68, 0xefd0, 0xed68, 0xefd0, 0xedfa, 0xf053, 0xedfa, 0xf053, 0xedd2, -0xf01a, 0xedd2, 0xf01a, 0xedd2, 0xf01a, 0xee02, 0xf037, 0xee02, 0xf037, 0xee2e, 0xf04e, -0xee2e, 0xf04e, 0xee2f, 0xf03b, 0xee2f, 0xf03b, 0xef71, 0xf16a, 0xef71, 0xf16a, 0xf016, -0xf1fd, 0xf016, 0xf1fd, 0xf11c, 0xf2f4, 0xf11c, 0xf2f4, 0xf11c, 0xf2f4, 0xf3f3, 0xf5be, -0xf3f3, 0xf5be, 0xf58c, 0xf74c, 0xf58c, 0xf74c, 0xf57d, 0xf735, 0xf57d, 0xf735, 0xf5e6, -0xf798, 0xf5e6, 0xf798, 0xf740, 0xf8ef, 0xf740, 0xf8ef, 0xf7d4, 0xf982, 0xf7d4, 0xf982, -0xf7d4, 0xf982, 0xf789, 0xf936, 0xf789, 0xf936, 0xf741, 0xf8ee, 0xf741, 0xf8ee, 0xf6f3, -0xf89f, 0xf6f3, 0xf89f, 0xf6e1, 0xf88b, 0xf6e1, 0xf88b, 0xf697, 0xf83e, 0xf697, 0xf83e, -0xf697, 0xf83e, 0xf56f, 0xf70f, 0xf56f, 0xf70f, 0xf442, 0xf5d9, 0xf442, 0xf5d9, 0xf2b0, -0xf43b, 0xf2b0, 0xf43b, 0xf23c, 0xf3b6, 0xf23c, 0xf3b6, 0xf277, 0xf3dc, 0xf277, 0xf3dc, -0xf14a, 0xf297, 0xf14a, 0xf297, 0xf14a, 0xf297, 0xf169, 0xf299, 0xf169, 0xf299, 0xf283, -0xf394, 0xf283, 0xf394, 0xf3a2, 0xf490, 0xf3a2, 0xf490, 0xf466, 0xf52f, 0xf466, 0xf52f, -0xf535, 0xf5d8, 0xf535, 0xf5d8, 0xf60d, 0xf689, 0xf60d, 0xf689, 0xf60d, 0xf689, 0xf6d7, -0xf72d, 0xf6d7, 0xf72d, 0xf8af, 0xf8df, 0xf8af, 0xf8df, 0xfa62, 0xfa71, 0xfa62, 0xfa71, -0xfc23, 0xfc15, 0xfc23, 0xfc15, 0xfd9d, 0xfd76, 0xfd9d, 0xfd76, 0xfd9d, 0xfd76, 0xfff3, -0xffb9, 0xfff3, 0xffb9, 0x1bd, 0x177, 0x1bd, 0x177, 0x257, 0x20e, 0x257, 0x20e, -0x451, 0x40c, 0x451, 0x40c, 0x424, 0x3ed, 0x424, 0x3ed, 0x334, 0x314, 0x334, -0x314, 0x334, 0x314, 0x443, 0x442, 0x443, 0x442, 0x3e5, 0x40d, 0x3e5, 0x40d, -0x381, 0x3d9, 0x381, 0x3d9, 0x343, 0x3d5, 0x343, 0x3d5, 0x1df, 0x2b0, 0x1df, -0x2b0, 0x1df, 0x2b0, 0x11e, 0x236, 0x11e, 0x236, 0xff54, 0xb6, 0xff54, 0xb6, -0xfe6d, 0x1e, 0xfe6d, 0x1e, 0xfe02, 0x4, 0xfe02, 0x4, 0xfbe8, 0xfe3d, 0xfbe8, -0xfe3d, 0xfa79, 0xfd21, 0xfa79, 0xfd21, 0xfa79, 0xfd21, 0xf937, 0xfc2f, 0xf937, 0xfc2f, -0xf7a8, 0xfaed, 0xf7a8, 0xfaed, 0xf4ee, 0xf87d, 0xf4ee, 0xf87d, 0xf320, 0xf6f3, 0xf320, -0xf6f3, 0xf1ca, 0xf5db, 0xf1ca, 0xf5db, 0xefa4, 0xf3eb, 0xefa4, 0xf3eb, 0xefa4, 0xf3eb, -0xee30, 0xf2a8, 0xee30, 0xf2a8, 0xeb75, 0xf014, 0xeb75, 0xf014, 0xea1d, 0xeedb, 0xea1d, -0xeedb, 0xe9b7, 0xee8c, 0xe9b7, 0xee8c, 0xe829, 0xed0d, 0xe829, 0xed0d, 0xe829, 0xed0d, -0xe788, 0xec73, 0xe788, 0xec73, 0xe5ec, 0xead7, 0xe5ec, 0xead7, 0xe3be, 0xe8a2, 0xe3be, -0xe8a2, 0xe1af, 0xe686, 0xe1af, 0xe686, 0xdff5, 0xe4b9, 0xdff5, 0xe4b9, 0xdf5c, 0xe409, -0xdf5c, 0xe409, 0xdf5c, 0xe409, 0xdea2, 0xe335, 0xdea2, 0xe335, 0xdf4a, 0xe3bf, 0xdf4a, -0xe3bf, 0xe043, 0xe498, 0xe043, 0xe498, 0xe0e0, 0xe514, 0xe0e0, 0xe514, 0xe1d2, 0xe5e3, -0xe1d2, 0xe5e3, 0xe2b0, 0xe69e, 0xe2b0, 0xe69e, 0xe2b0, 0xe69e, 0xe39d, 0xe767, 0xe39d, -0xe767, 0xe35e, 0xe704, 0xe35e, 0xe704, 0xe3ce, 0xe751, 0xe3ce, 0xe751, 0xe433, 0xe792, -0xe433, 0xe792, 0xe3b2, 0xe6ed, 0xe3b2, 0xe6ed, 0xe3b2, 0xe6ed, 0xe42f, 0xe744, 0xe42f, -0xe744, 0xe4f9, 0xe7e7, 0xe4f9, 0xe7e7, 0xe52d, 0xe7f4, 0xe52d, 0xe7f4, 0xe59c, 0xe83a, -0xe59c, 0xe83a, 0xe69a, 0xe90b, 0xe69a, 0xe90b, 0xe6d2, 0xe915, 0xe6d2, 0xe915, 0xe6d2, -0xe915, 0xe6f4, 0xe904, 0xe6f4, 0xe904, 0xe71b, 0xe8f4, 0xe71b, 0xe8f4, 0xe79d, 0xe93b, -0xe79d, 0xe93b, 0xe7c4, 0xe924, 0xe7c4, 0xe924, 0xe764, 0xe881, 0xe764, 0xe881, 0xe865, -0xe93a, 0xe865, 0xe93a, 0xe865, 0xe93a, 0xe9c9, 0xea52, 0xe9c9, 0xea52, 0xeac8, 0xeb02, -0xeac8, 0xeb02, 0xec55, 0xec3d, 0xec55, 0xec3d, 0xeded, 0xed80, 0xeded, 0xed80, 0xeed3, -0xee0f, 0xeed3, 0xee0f, 0xeed3, 0xee0f, 0xf20c, 0xf0f3, 0xf20c, 0xf0f3, 0xf518, 0xf3a9, -0xf518, 0xf3a9, 0xf6e3, 0xf51f, 0xf6e3, 0xf51f, 0xfb78, 0xf962, 0xfb78, 0xf962, 0xff67, -0xfd04, 0xff67, 0xfd04, 0x2c8, 0x1c, 0x2c8, 0x1c, 0x2c8, 0x1c, 0x635, 0x346, -0x635, 0x346, 0x7e1, 0x4b7, 0x7e1, 0x4b7, 0xaf0, 0x792, 0xaf0, 0x792, 0xe60, -0xad6, 0xe60, 0xad6, 0x10a8, 0xcfd, 0x10a8, 0xcfd, 0x12b8, 0xef3, 0x12b8, 0xef3, -0x12b8, 0xef3, 0x1437, 0x1063, 0x1437, 0x1063, 0x15cf, 0x11f6, 0x15cf, 0x11f6, 0x177e, -0x13a8, 0x177e, 0x13a8, 0x196d, 0x15a2, 0x196d, 0x15a2, 0x1a1d, 0x1666, 0x1a1d, 0x1666, -0x1a1d, 0x1666, 0x1aec, 0x1750, 0x1aec, 0x1750, 0x1cce, 0x1953, 0x1cce, 0x1953, 0x1d3a, -0x19e6, 0x1d3a, 0x19e6, 0x1e05, 0x1adb, 0x1e05, 0x1adb, 0x1df0, 0x1af3, 0x1df0, 0x1af3, -0x1c7a, 0x19ac, 0x1c7a, 0x19ac, 0x1c7a, 0x19ac, 0x1b1c, 0x187d, 0x1b1c, 0x187d, 0x1a39, -0x17c8, 0x1a39, 0x17c8, 0x1a86, 0x1842, 0x1a86, 0x1842, 0x1a12, 0x17f8, 0x1a12, 0x17f8, -0x18fe, 0x170a, 0x18fe, 0x170a, 0x1860, 0x168f, 0x1860, 0x168f, 0x1860, 0x168f, 0x1780, -0x15ce, 0x1780, 0x15ce, 0x167f, 0x14e6, 0x167f, 0x14e6, 0x1638, 0x14b5, 0x1638, 0x14b5, -0x1544, 0x13d1, 0x1544, 0x13d1, 0x145b, 0x12f4, 0x145b, 0x12f4, 0x145b, 0x12f4, 0x142d, -0x12ce, 0x142d, 0x12ce, 0x139c, 0x1243, 0x139c, 0x1243, 0x12eb, 0x1195, 0x12eb, 0x1195, -0x11ef, 0x1099, 0x11ef, 0x1099, 0x10ee, 0xf99, 0x10ee, 0xf99, 0x1021, 0xecc, 0x1021, -0xecc, 0x1021, 0xecc, 0xffd, 0xea8, 0xffd, 0xea8, 0xf74, 0xe20, 0xf74, 0xe20, -0xeb0, 0xd61, 0xeb0, 0xd61, 0xe2e, 0xce6, 0xe2e, 0xce6, 0xe3a, 0xcfb, 0xe3a, -0xcfb, 0xe4b, 0xd19, 0xe4b, 0xd19, 0xe4b, 0xd19, 0xd71, 0xc50, 0xd71, 0xc50, -0xd48, 0xc3b, 0xd48, 0xc3b, 0xc19, 0xb23, 0xc19, 0xb23, 0xacc, 0x9f0, 0xacc, -0x9f0, 0x9d7, 0x917, 0x9d7, 0x917, 0x9d7, 0x917, 0x771, 0x6cf, 0x771, 0x6cf, -0x5c3, 0x541, 0x5c3, 0x541, 0x587, 0x524, 0x587, 0x524, 0x561, 0x51e, 0x561, -0x51e, 0x400, 0x3da, 0x400, 0x3da, 0x2b2, 0x2a7, 0x2b2, 0x2a7, 0x2b2, 0x2a7, -0x22d, 0x23b, 0x22d, 0x23b, 0x120, 0x144, 0x120, 0x144, 0xf8, 0x12c, 0xf8, -0x12c, 0x12e, 0x16e, 0x12e, 0x16e, 0xffea, 0x31, 0xffea, 0x31, 0xff87, 0xffd0, -0xff87, 0xffd0, 0xff87, 0xffd0, 0x1d, 0x64, 0x1d, 0x64, 0x6d, 0xab, 0x6d, -0xab, 0xe, 0x41, 0xe, 0x41, 0xfe9f, 0xfec2, 0xfe9f, 0xfec2, 0xfd50, 0xfd60, -0xfd50, 0xfd60, 0xfd50, 0xfd60, 0xfc18, 0xfc12, 0xfc18, 0xfc12, 0xfaef, 0xfad3, 0xfaef, -0xfad3, 0xf9c1, 0xf98e, 0xf9c1, 0xf98e, 0xf9ba, 0xf971, 0xf9ba, 0xf971, 0xfa80, 0xfa22, -0xfa80, 0xfa22, 0xfa8c, 0xfa1c, 0xfa8c, 0xfa1c, 0xfa8c, 0xfa1c, 0xfb65, 0xfae6, 0xfb65, -0xfae6, 0xfbce, 0xfb44, 0xfbce, 0xfb44, 0xfb2f, 0xfa9f, 0xfb2f, 0xfa9f, 0xfbb5, 0xfb25, -0xfbb5, 0xfb25, 0xfba1, 0xfb16, 0xfba1, 0xfb16, 0xfa92, 0xfa11, 0xfa92, 0xfa11, 0xfa92, -0xfa11, 0xfaa9, 0xfa38, 0xfaa9, 0xfa38, 0xfae6, 0xfa8b, 0xfae6, 0xfa8b, 0xfadc, 0xfa9b, -0xfadc, 0xfa9b, 0xfa9b, 0xfa7a, 0xfa9b, 0xfa7a, 0xfaf2, 0xfaf3, 0xfaf2, 0xfaf3, 0xfaf2, -0xfaf3, 0xfbb4, 0xfbda, 0xfbb4, 0xfbda, 0xfb1d, 0xfb69, 0xfb1d, 0xfb69, 0xf9d0, 0xfa45, -0xf9d0, 0xfa45, 0xf890, 0xf92c, 0xf890, 0xf92c, 0xf750, 0xf811, 0xf750, 0xf811, 0xf5a5, -0xf688, 0xf5a5, 0xf688, 0xf5a5, 0xf688, 0xf483, 0xf586, 0xf483, 0xf586, 0xf368, 0xf486, -0xf368, 0xf486, 0xf26e, 0xf3a3, 0xf26e, 0xf3a3, 0xf2a9, 0xf3ee, 0xf2a9, 0xf3ee, 0xf242, -0xf391, 0xf242, 0xf391, 0xf242, 0xf391, 0xf163, 0xf2b6, 0xf163, 0xf2b6, 0xf0fa, 0xf24b, -0xf0fa, 0xf24b, 0xf16b, 0xf2b4, 0xf16b, 0xf2b4, 0xf1be, 0xf2f8, 0xf1be, 0xf2f8, 0xf229, -0xf351, 0xf229, 0xf351, 0xf353, 0xf463, 0xf353, 0xf463, 0xf353, 0xf463, 0xf403, 0xf4f7, -0xf403, 0xf4f7, 0xf53a, 0xf610, 0xf53a, 0xf610, 0xf5f1, 0xf6a7, 0xf5f1, 0xf6a7, 0xf5e9, -0xf67e, 0xf5e9, 0xf67e, 0xf62a, 0xf69d, 0xf62a, 0xf69d, 0xf662, 0xf6b6, 0xf662, 0xf6b6, -0xf662, 0xf6b6, 0xf831, 0xf866, 0xf831, 0xf866, 0xfa7d, 0xfa97, 0xfa7d, 0xfa97, 0xfbb2, -0xfbb4, 0xfbb2, 0xfbb4, 0xfd69, 0xfd55, 0xfd69, 0xfd55, 0xff93, 0xff6f, 0xff93, 0xff6f, -0xff93, 0xff6f, 0x190, 0x15f, 0x190, 0x15f, 0x39e, 0x363, 0x39e, 0x363, 0x3e0, -0x3a1, 0x3e0, 0x3a1, 0x383, 0x342, 0x383, 0x342, 0x444, 0x404, 0x444, 0x404, -0x48b, 0x44d, 0x48b, 0x44d, 0x48b, 0x44d, 0x539, 0x4ff, 0x539, 0x4ff, 0x597, -0x562, 0x597, 0x562, 0x5b4, 0x583, 0x5b4, 0x583, 0x6da, 0x6ac, 0x6da, 0x6ac, -0x881, 0x854, 0x881, 0x854, 0x9d7, 0x9a6, 0x9d7, 0x9a6, 0x9d7, 0x9a6, 0xa0b, -0x9d5, 0xa0b, 0x9d5, 0xaf7, 0xab6, 0xaf7, 0xab6, 0xb95, 0xb45, 0xb95, 0xb45, -0xc0e, 0xbab, 0xc0e, 0xbab, 0xd16, 0xc9a, 0xd16, 0xc9a, 0xd16, 0xc9a, 0xd31, -0xc97, 0xd31, 0xc97, 0xe48, 0xd8b, 0xe48, 0xd8b, 0xf0f, 0xe2c, 0xf0f, 0xe2c, -0x10aa, 0xf9c, 0x10aa, 0xf9c, 0x1478, 0x133d, 0x1478, 0x133d, 0x15fb, 0x1491, 0x15fb, -0x1491, 0x15fb, 0x1491, 0x17af, 0x1615, 0x17af, 0x1615, 0x1afb, 0x1931, 0x1afb, 0x1931, -0x1c84, 0x1a8b, 0x1c84, 0x1a8b, 0x1d48, 0x1b22, 0x1d48, 0x1b22, 0x1d68, 0x1b18, 0x1d68, -0x1b18, 0x1cfd, 0x1a88, 0x1cfd, 0x1a88, 0x1cfd, 0x1a88, 0x1c8a, 0x19f5, 0x1c8a, 0x19f5, -0x1cf5, 0x1a45, 0x1cf5, 0x1a45, 0x1dbf, 0x1af9, 0x1dbf, 0x1af9, 0x1dac, 0x1ad7, 0x1dac, -0x1ad7, 0x1dbc, 0x1adf, 0x1dbc, 0x1adf, 0x1dbc, 0x1adf, 0x1ce8, 0x1a09, 0x1ce8, 0x1a09, -0x1c1d, 0x1943, 0x1c1d, 0x1943, 0x1b08, 0x1837, 0x1b08, 0x1837, 0x1901, 0x1640, 0x1901, -0x1640, 0x1867, 0x15ba, 0x1867, 0x15ba, 0x1861, 0x15cb, 0x1861, 0x15cb, 0x1861, 0x15cb, -0x187a, 0x15fd, 0x187a, 0x15fd, 0x18d1, 0x166f, 0x18d1, 0x166f, 0x17a1, 0x155c, 0x17a1, -0x155c, 0x15cb, 0x13a1, 0x15cb, 0x13a1, 0x14bc, 0x12ac, 0x14bc, 0x12ac, 0x13f4, 0x11fc, -0x13f4, 0x11fc, 0x13f4, 0x11fc, 0x12e7, 0x1104, 0x12e7, 0x1104, 0x10b0, 0xede, 0x10b0, -0xede, 0xed5, 0xd10, 0xed5, 0xd10, 0xde0, 0xc25, 0xde0, 0xc25, 0xd8b, 0xbd3, -0xd8b, 0xbd3, 0xd8b, 0xbd3, 0xd95, 0xbde, 0xd95, 0xbde, 0xd0e, 0xb53, 0xd0e, -0xb53, 0xbd5, 0xa12, 0xbd5, 0xa12, 0xaa1, 0x8d3, 0xaa1, 0x8d3, 0xa96, 0x8bc, -0xa96, 0x8bc, 0x853, 0x66a, 0x853, 0x66a, 0x853, 0x66a, 0x65c, 0x463, 0x65c, -0x463, 0x6b0, 0x4aa, 0x6b0, 0x4aa, 0x6a5, 0x491, 0x6a5, 0x491, 0x7a0, 0x581, -0x7a0, 0x581, 0x7bd, 0x596, 0x7bd, 0x596, 0x767, 0x53c, 0x767, 0x53c, 0x767, -0x53c, 0x798, 0x56f, 0x798, 0x56f, 0x7bc, 0x599, 0x7bc, 0x599, 0x831, 0x619, -0x831, 0x619, 0x78d, 0x587, 0x78d, 0x587, 0x63b, 0x44c, 0x63b, 0x44c, 0x63b, -0x44c, 0x5fd, 0x42b, 0x5fd, 0x42b, 0x5e7, 0x438, 0x5e7, 0x438, 0x4ed, 0x366, -0x4ed, 0x366, 0x360, 0x204, 0x360, 0x204, 0x142, 0x15, 0x142, 0x15, 0xff4a, -0xfe4f, 0xff4a, 0xfe4f, 0xff4a, 0xfe4f, 0xfdbc, 0xfcf3, 0xfdbc, 0xfcf3, 0xfca3, 0xfc0d, -0xfca3, 0xfc0d, 0xfa81, 0xfa1f, 0xfa81, 0xfa1f, 0xf897, 0xf866, 0xf897, 0xf866, 0xf7c0, -0xf7be, 0xf7c0, 0xf7be, 0xf70a, 0xf734, 0xf70a, 0xf734, 0xf70a, 0xf734, 0xf832, 0xf885, -0xf832, 0xf885, 0xf8b2, 0xf929, 0xf8b2, 0xf929, 0xf845, 0xf8db, 0xf845, 0xf8db, 0xf939, -0xf9ea, 0xf939, 0xf9ea, 0xf986, 0xfa4c, 0xf986, 0xfa4c, 0xf986, 0xfa4c, 0xf892, 0xf969, -0xf892, 0xf969, 0xf7ce, 0xf8b2, 0xf7ce, 0xf8b2, 0xf7f2, 0xf8df, 0xf7f2, 0xf8df, 0xf8f8, -0xf9ea, 0xf8f8, 0xf9ea, 0xfa3c, 0xfb31, 0xfa3c, 0xfb31, 0xfbf1, 0xfce8, 0xfbf1, 0xfce8, -0xfbf1, 0xfce8, 0xfcb5, 0xfdad, 0xfcb5, 0xfdad, 0xfc7b, 0xfd74, 0xfc7b, 0xfd74, 0xfd0b, -0xfe06, 0xfd0b, 0xfe06, 0xfd49, 0xfe48, 0xfd49, 0xfe48, 0xfd5e, 0xfe64, 0xfd5e, 0xfe64, -0xfcbc, 0xfdcc, 0xfcbc, 0xfdcc, 0xfcbc, 0xfdcc, 0xfcf4, 0xfe12, 0xfcf4, 0xfe12, 0xfe5d, -0xff8d, 0xfe5d, 0xff8d, 0xfefd, 0x45, 0xfefd, 0x45, 0xffa0, 0x103, 0xffa0, 0x103, -0xff1f, 0xa2, 0xff1f, 0xa2, 0xff1f, 0xa2, 0xfe2a, 0xffd0, 0xfe2a, 0xffd0, 0xfd10, -0xfedd, 0xfd10, 0xfedd, 0xfba6, 0xfd9c, 0xfba6, 0xfd9c, 0xfa83, 0xfca5, 0xfa83, 0xfca5, -0xf8db, 0xfb29, 0xf8db, 0xfb29, 0xf68a, 0xf904, 0xf68a, 0xf904, 0xf68a, 0xf904, 0xf51b, -0xf7bf, 0xf51b, 0xf7bf, 0xf3d9, 0xf6a6, 0xf3d9, 0xf6a6, 0xf0c0, 0xf3b3, 0xf0c0, 0xf3b3, -0xee38, 0xf14c, 0xee38, 0xf14c, 0xec97, 0xefc6, 0xec97, 0xefc6, 0xeb1f, 0xee64, 0xeb1f, -0xee64, 0xeb1f, 0xee64, 0xea1c, 0xed6f, 0xea1c, 0xed6f, 0xe89a, 0xebf5, 0xe89a, 0xebf5, -0xe71c, 0xea77, 0xe71c, 0xea77, 0xe6e2, 0xea37, 0xe6e2, 0xea37, 0xe77b, 0xeac2, 0xe77b, -0xeac2, 0xe77b, 0xeac2, 0xe83c, 0xeb6f, 0xe83c, 0xeb6f, 0xe8d3, 0xebeb, 0xe8d3, 0xebeb, -0xe983, 0xec7a, 0xe983, 0xec7a, 0xea9f, 0xed71, 0xea9f, 0xed71, 0xea87, 0xed30, 0xea87, -0xed30, 0xeb0c, 0xed8a, 0xeb0c, 0xed8a, 0xeb0c, 0xed8a, 0xebc5, 0xee17, 0xebc5, 0xee17, -0xeb29, 0xed4e, 0xeb29, 0xed4e, 0xebfc, 0xedf5, 0xebfc, 0xedf5, 0xee40, 0xf00f, 0xee40, -0xf00f, 0xf075, 0xf21d, 0xf075, 0xf21d, 0xf075, 0xf21d, 0xf17c, 0xf302, 0xf17c, 0xf302, -0xf2a8, 0xf411, 0xf2a8, 0xf411, 0xf475, 0xf5c5, 0xf475, 0xf5c5, 0xf597, 0xf6d4, 0xf597, -0xf6d4, 0xf64d, 0xf77d, 0xf64d, 0xf77d, 0xf65c, 0xf785, 0xf65c, 0xf785, 0xf65c, 0xf785, -0xf647, 0xf76f, 0xf647, 0xf76f, 0xf651, 0xf77e, 0xf651, 0xf77e, 0xf6bd, 0xf7f3, 0xf6bd, -0xf7f3, 0xf75e, 0xf8a2, 0xf75e, 0xf8a2, 0xf68b, 0xf7df, 0xf68b, 0xf7df, 0xf5f3, 0xf75b, -0xf5f3, 0xf75b, 0xf5f3, 0xf75b, 0xf5d5, 0xf752, 0xf5d5, 0xf752, 0xf501, 0xf694, 0xf501, -0xf694, 0xf54c, 0xf6f4, 0xf54c, 0xf6f4, 0xf4c4, 0xf680, 0xf4c4, 0xf680, 0xf39f, 0xf56e, -0xf39f, 0xf56e, 0xf39f, 0xf56e, 0xf3a6, 0xf584, 0xf3a6, 0xf584, 0xf3c3, 0xf5ad, 0xf3c3, -0xf5ad, 0xf49e, 0xf691, 0xf49e, 0xf691, 0xf536, 0xf72d, 0xf536, 0xf72d, 0xf45e, 0xf656, -0xf45e, 0xf656, 0xf2f0, 0xf4e5, 0xf2f0, 0xf4e5, 0xf2f0, 0xf4e5, 0xf1fe, 0xf3ec, 0xf1fe, -0xf3ec, 0xf102, 0xf2e8, 0xf102, 0xf2e8, 0xefdd, 0xf1b7, 0xefdd, 0xf1b7, 0xef4c, 0xf119, -0xef4c, 0xf119, 0xefce, 0xf18d, 0xefce, 0xf18d, 0xf1bc, 0xf36d, 0xf1bc, 0xf36d, 0xf1bc, -0xf36d, 0xf37d, 0xf522, 0xf37d, 0xf522, 0xf40a, 0xf5a4, 0xf40a, 0xf5a4, 0xf3f3, 0xf586, -0xf3f3, 0xf586, 0xf3c1, 0xf550, 0xf3c1, 0xf550, 0xf320, 0xf4af, 0xf320, 0xf4af, 0xf320, -0xf4af, 0xf218, 0xf3ab, 0xf218, 0xf3ab, 0xf0ae, 0xf24b, 0xf0ae, 0xf24b, 0xef55, 0xf100, -0xef55, 0xf100, 0xeedc, 0xf099, 0xeedc, 0xf099, 0xef59, 0xf12f, 0xef59, 0xf12f, 0xefe7, -0xf1d8, 0xefe7, 0xf1d8, 0xefe7, 0xf1d8, 0xefe2, 0xf1f2, 0xefe2, 0xf1f2, 0xf02b, 0xf25b, -0xf02b, 0xf25b, 0xef7c, 0xf1cf, 0xef7c, 0xf1cf, 0xee51, 0xf0c7, 0xee51, 0xf0c7, 0xed24, -0xefbc, 0xed24, 0xefbc, 0xeb38, 0xedef, 0xeb38, 0xedef, 0xeb38, 0xedef, 0xe98f, 0xec61, -0xe98f, 0xec61, 0xe7c2, 0xeaab, 0xe7c2, 0xeaab, 0xe6cb, 0xe9c4, 0xe6cb, 0xe9c4, 0xe639, -0xe93b, 0xe639, 0xe93b, 0xe5af, 0xe8b1, 0xe5af, 0xe8b1, 0xe5af, 0xe8b1, 0xe60f, 0xe909, -0xe60f, 0xe909, 0xe5a6, 0xe88e, 0xe5a6, 0xe88e, 0xe58d, 0xe859, 0xe58d, 0xe859, 0xe5cc, -0xe872, 0xe5cc, 0xe872, 0xe590, 0xe806, 0xe590, 0xe806, 0xe6bf, 0xe8fc, 0xe6bf, 0xe8fc, -0xe6bf, 0xe8fc, 0xe84b, 0xea46, 0xe84b, 0xea46, 0xeadb, 0xec8d, 0xeadb, 0xec8d, 0xedb2, -0xef13, 0xedb2, 0xef13, 0xee80, 0xef8a, 0xee80, 0xef8a, 0xefec, 0xf09c, 0xefec, 0xf09c, -0xf1d6, 0xf228, 0xf1d6, 0xf228, 0xf1d6, 0xf228, 0xf3b6, 0xf3a9, 0xf3b6, 0xf3a9, 0xf651, -0xf5e5, 0xf651, 0xf5e5, 0xf945, 0xf87b, 0xf945, 0xf87b, 0xfc7b, 0xfb56, 0xfc7b, 0xfb56, -0x85, 0xff09, 0x85, 0xff09, 0x85, 0xff09, 0x60f, 0x441, 0x60f, 0x441, 0xa2a, -0x810, 0xa2a, 0x810, 0xc54, 0x9f5, 0xc54, 0x9f5, 0xed5, 0xc37, 0xed5, 0xc37, -0x1111, 0xe3c, 0x1111, 0xe3c, 0x1312, 0x100d, 0x1312, 0x100d, 0x1312, 0x100d, 0x147c, -0x114e, 0x147c, 0x114e, 0x1559, 0x1209, 0x1559, 0x1209, 0x171b, 0x13af, 0x171b, 0x13af, -0x1857, 0x14d4, 0x1857, 0x14d4, 0x19b8, 0x1623, 0x19b8, 0x1623, 0x1af2, 0x1750, 0x1af2, -0x1750, 0x1af2, 0x1750, 0x1ad2, 0x1724, 0x1ad2, 0x1724, 0x1baa, 0x17f3, 0x1baa, 0x17f3, -0x1c16, 0x1857, 0x1c16, 0x1857, 0x1bc1, 0x17fa, 0x1bc1, 0x17fa, 0x1b73, 0x17a4, 0x1b73, -0x17a4, 0x1b73, 0x17a4, 0x1acf, 0x16f8, 0x1acf, 0x16f8, 0x1acd, 0x16ec, 0x1acd, 0x16ec, -0x1bd1, 0x17e6, 0x1bd1, 0x17e6, 0x1d46, 0x194f, 0x1d46, 0x194f, 0x1d3e, 0x193b, 0x1d3e, -0x193b, 0x1cf4, 0x18e5, 0x1cf4, 0x18e5, 0x1cf4, 0x18e5, 0x1dc2, 0x19a7, 0x1dc2, 0x19a7, -0x1e67, 0x1a41, 0x1e67, 0x1a41, 0x1f00, 0x1ad1, 0x1f00, 0x1ad1, 0x1f49, 0x1b14, 0x1f49, -0x1b14, 0x1ed1, 0x1a9a, 0x1ed1, 0x1a9a, 0x1ef2, 0x1abf, 0x1ef2, 0x1abf, 0x1ef2, 0x1abf, -0x1f01, 0x1ad8, 0x1f01, 0x1ad8, 0x1dd2, 0x19ba, 0x1dd2, 0x19ba, 0x1ca0, 0x18a0, 0x1ca0, -0x18a0, 0x1b85, 0x17a7, 0x1b85, 0x17a7, 0x1a96, 0x16e2, 0x1a96, 0x16e2, 0x1a96, 0x16e2, -0x19d8, 0x1658, 0x19d8, 0x1658, 0x1838, 0x14f4, 0x1838, 0x14f4, 0x15bd, 0x12bf, 0x15bd, -0x12bf, 0x135f, 0x10b0, 0x135f, 0x10b0, 0x10fb, 0xea2, 0x10fb, 0xea2, 0xf7c, 0xd80, -0xf7c, 0xd80, 0xf7c, 0xd80, 0xe23, 0xc8a, 0xe23, 0xc8a, 0xb71, 0xa3f, 0xb71, -0xa3f, 0x9aa, 0x8e2, 0x9aa, 0x8e2, 0x73e, 0x6e1, 0x73e, 0x6e1, 0x476, 0x483, -0x476, 0x483, 0x334, 0x3aa, 0x334, 0x3aa, 0x334, 0x3aa, 0xbf, 0x19a, 0xbf, -0x19a, 0xfee1, 0x1b, 0xfee1, 0x1b, 0xfe25, 0xffb7, 0xfe25, 0xffb7, 0xfcf8, 0xfeda, -0xfcf8, 0xfeda, 0xfc8e, 0xfeb6, 0xfc8e, 0xfeb6, 0xfc8e, 0xfeb6, 0xfb1e, 0xfd83, 0xfb1e, -0xfd83, 0xf8a1, 0xfb38, 0xf8a1, 0xfb38, 0xf683, 0xf941, 0xf683, 0xf941, 0xf485, 0xf75e, -0xf485, 0xf75e, 0xf270, 0xf55a, 0xf270, 0xf55a, 0xf00c, 0xf2fc, 0xf00c, 0xf2fc, 0xf00c, -0xf2fc, 0xee71, 0xf15f, 0xee71, 0xf15f, 0xecea, 0xefcc, 0xecea, 0xefcc, 0xec55, 0xef24, -0xec55, 0xef24, 0xec77, 0xef2d, 0xec77, 0xef2d, 0xebb4, 0xee4b, 0xebb4, 0xee4b, 0xeb7e, -0xedf4, 0xeb7e, 0xedf4, 0xeb7e, 0xedf4, 0xebf2, 0xee43, 0xebf2, 0xee43, 0xed5d, 0xef8a, -0xed5d, 0xef8a, 0xedc1, 0xefca, 0xedc1, 0xefca, 0xed7f, 0xef65, 0xed7f, 0xef65, 0xee9d, -0xf062, 0xee9d, 0xf062, 0xee9d, 0xf062, 0xf010, 0xf1b8, 0xf010, 0xf1b8, 0xf22b, 0xf3b9, -0xf22b, 0xf3b9, 0xf3da, 0xf551, 0xf3da, 0xf551, 0xf4e7, 0xf64c, 0xf4e7, 0xf64c, 0xf655, -0xf7ac, 0xf655, 0xf7ac, 0xf74f, 0xf89a, 0xf74f, 0xf89a, 0xf74f, 0xf89a, 0xf718, 0xf85a, -0xf718, 0xf85a, 0xf6bf, 0xf7f9, 0xf6bf, 0xf7f9, 0xf64d, 0xf780, 0xf64d, 0xf780, 0xf678, -0xf7a5, 0xf678, 0xf7a5, 0xf7a6, 0xf8ca, 0xf7a6, 0xf8ca, 0xf7a6, 0xf8ca, 0xf7bc, 0xf8d6, -0xf7bc, 0xf8d6, 0xf80e, 0xf91a, 0xf80e, 0xf91a, 0xf88f, 0xf989, 0xf88f, 0xf989, 0xf921, -0xfa04, 0xf921, 0xfa04, 0xfae9, 0xfbb0, 0xfae9, 0xfbb0, 0xfbf6, 0xfc9b, 0xfbf6, 0xfc9b, -0xfbf6, 0xfc9b, 0xfc4a, 0xfcc7, 0xfc4a, 0xfcc7, 0xfce5, 0xfd34, 0xfce5, 0xfd34, 0xfdab, -0xfdc7, 0xfdab, 0xfdc7, 0xfe51, 0xfe34, 0xfe51, 0xfe34, 0xff48, 0xfeee, 0xff48, 0xfeee, -0xa0, 0x6, 0xa0, 0x6, 0xa0, 0x6, 0x184, 0xa9, 0x184, 0xa9, 0x2b4, -0x197, 0x2b4, 0x197, 0x45c, 0x2fd, 0x45c, 0x2fd, 0x610, 0x471, 0x610, 0x471, -0x7bc, 0x5e1, 0x7bc, 0x5e1, 0x7bc, 0x5e1, 0x8cc, 0x6b9, 0x8cc, 0x6b9, 0x9ac, -0x768, 0x9ac, 0x768, 0xb63, 0x8f6, 0xb63, 0x8f6, 0xd1c, 0xa8d, 0xd1c, 0xa8d, -0xe14, 0xb6c, 0xe14, 0xb6c, 0xfbc, 0xd05, 0xfbc, 0xd05, 0xfbc, 0xd05, 0x107b, -0xdbe, 0x107b, 0xdbe, 0x103b, 0xd82, 0x103b, 0xd82, 0x10b2, 0xe06, 0x10b2, 0xe06, -0xfed, 0xd57, 0xfed, 0xd57, 0xf45, 0xccc, 0xf45, 0xccc, 0xf06, 0xcb1, 0xf06, -0xcb1, 0xf06, 0xcb1, 0xf27, 0xcfc, 0xf27, 0xcfc, 0xfd9, 0xddc, 0xfd9, 0xddc, -0xf20, 0xd53, 0xf20, 0xd53, 0xde3, 0xc47, 0xde3, 0xc47, 0xbfa, 0xa8f, 0xbfa, -0xa8f, 0xbfa, 0xa8f, 0xa8e, 0x952, 0xa8e, 0x952, 0x921, 0x811, 0x921, 0x811, -0x6a5, 0x5bb, 0x6a5, 0x5bb, 0x535, 0x46c, 0x535, 0x46c, 0x44d, 0x39e, 0x44d, -0x39e, 0x455, 0x3b9, 0x455, 0x3b9, 0x455, 0x3b9, 0x538, 0x4a8, 0x538, 0x4a8, -0x5e9, 0x55d, 0x5e9, 0x55d, 0x6a4, 0x614, 0x6a4, 0x614, 0x76d, 0x6d2, 0x76d, -0x6d2, 0x84e, 0x7a2, 0x84e, 0x7a2, 0x917, 0x853, 0x917, 0x853, 0x917, 0x853, -0x927, 0x847, 0x927, 0x847, 0x841, 0x742, 0x841, 0x742, 0x7cd, 0x6ac, 0x7cd, -0x6ac, 0x7d5, 0x692, 0x7d5, 0x692, 0x76a, 0x604, 0x76a, 0x604, 0x76a, 0x604, -0x729, 0x5a1, 0x729, 0x5a1, 0x7b4, 0x60d, 0x7b4, 0x60d, 0x8d6, 0x713, 0x8d6, -0x713, 0xa26, 0x84c, 0xa26, 0x84c, 0xb01, 0x914, 0xb01, 0x914, 0xae8, 0x8ee, -0xae8, 0x8ee, 0xae8, 0x8ee, 0xb0a, 0x907, 0xb0a, 0x907, 0xbad, 0x9a8, 0xbad, -0x9a8, 0xc0e, 0xa0a, 0xc0e, 0xa0a, 0xc8e, 0xa8f, 0xc8e, 0xa8f, 0xcf2, 0xafd, -0xcf2, 0xafd, 0xd25, 0xb3c, 0xd25, 0xb3c, 0xd25, 0xb3c, 0xdb9, 0xbdf, 0xdb9, -0xbdf, 0xe2b, 0xc60, 0xe2b, 0xc60, 0xe3e, 0xc83, 0xe3e, 0xc83, 0xe89, 0xcdc, -0xe89, 0xcdc, 0xeed, 0xd4c, 0xeed, 0xd4c, 0xeed, 0xd4c, 0xf6e, 0xdd7, 0xf6e, -0xdd7, 0x1008, 0xe77, 0x1008, 0xe77, 0x1053, 0xec4, 0x1053, 0xec4, 0x111b, 0xf88, -0x111b, 0xf88, 0x1252, 0x10b7, 0x1252, 0x10b7, 0x12d1, 0x112a, 0x12d1, 0x112a, 0x12d1, -0x112a, 0x131a, 0x1162, 0x131a, 0x1162, 0x131b, 0x114e, 0x131b, 0x114e, 0x120e, 0x1029, -0x120e, 0x1029, 0x1160, 0xf60, 0x1160, 0xf60, 0x11c5, 0xfa9, 0x11c5, 0xfa9, 0x1227, -0xfee, 0x1227, 0xfee, 0x1227, 0xfee, 0x12e8, 0x1094, 0x12e8, 0x1094, 0x1416, 0x11a8, -0x1416, 0x11a8, 0x1513, 0x128f, 0x1513, 0x128f, 0x15fe, 0x1368, 0x15fe, 0x1368, 0x1666, -0x13c5, 0x1666, 0x13c5, 0x1666, 0x13c5, 0x15d0, 0x1329, 0x15d0, 0x1329, 0x146f, 0x11ca, -0x146f, 0x11ca, 0x130f, 0x1074, 0x130f, 0x1074, 0x12d7, 0x1050, 0x12d7, 0x1050, 0x12fc, -0x1090, 0x12fc, 0x1090, 0x11df, 0xf99, 0x11df, 0xf99, 0x11df, 0xf99, 0x10d2, 0xeb9, -0x10d2, 0xeb9, 0xffc, 0xe19, 0xffc, 0xe19, 0xecf, 0xd29, 0xecf, 0xd29, 0xd83, -0xc21, 0xd83, 0xc21, 0xa66, 0x94e, 0xa66, 0x94e, 0x759, 0x68f, 0x759, 0x68f, -0x759, 0x68f, 0x5fa, 0x582, 0x5fa, 0x582, 0x478, 0x453, 0x478, 0x453, 0x2de, -0x30c, 0x2de, 0x30c, 0x5c, 0xdd, 0x5c, 0xdd, 0xfd65, 0xfe35, 0xfd65, 0xfe35, -0xfd65, 0xfe35, 0xfbd1, 0xfcee, 0xfbd1, 0xfcee, 0xfaf3, 0xfc57, 0xfaf3, 0xfc57, 0xf9a5, -0xfb4a, 0xf9a5, 0xfb4a, 0xf787, 0xf966, 0xf787, 0xf966, 0xf5a2, 0xf7b4, 0xf5a2, 0xf7b4, -0xf469, 0xf6a6, 0xf469, 0xf6a6, 0xf469, 0xf6a6, 0xf340, 0xf5a0, 0xf340, 0xf5a0, 0xf227, -0xf4a1, 0xf227, 0xf4a1, 0xf0fb, 0xf389, 0xf0fb, 0xf389, 0xf049, 0xf2e2, 0xf049, 0xf2e2, -0xf053, 0xf2f1, 0xf053, 0xf2f1, 0xefb5, 0xf251, 0xefb5, 0xf251, 0xefb5, 0xf251, 0xeefb, -0xf190, 0xeefb, 0xf190, 0xef05, 0xf18e, 0xef05, 0xf18e, 0xee6f, 0xf0e9, 0xee6f, 0xf0e9, -0xeea3, 0xf10b, 0xeea3, 0xf10b, 0xefe7, 0xf23b, 0xefe7, 0xf23b, 0xefe7, 0xf23b, 0xf172, -0xf3b2, 0xf172, 0xf3b2, 0xf32d, 0xf55a, 0xf32d, 0xf55a, 0xf420, 0xf639, 0xf420, 0xf639, -0xf57b, 0xf783, 0xf57b, 0xf783, 0xf5de, 0xf7d6, 0xf5de, 0xf7d6, 0xf57e, 0xf768, 0xf57e, -0xf768, 0xf57e, 0xf768, 0xf51b, 0xf6fa, 0xf51b, 0xf6fa, 0xf41b, 0xf5f1, 0xf41b, 0xf5f1, -0xf3dd, 0xf5ac, 0xf3dd, 0xf5ac, 0xf39b, 0xf564, 0xf39b, 0xf564, 0xf325, 0xf4e9, 0xf325, -0xf4e9, 0xf2b7, 0xf477, 0xf2b7, 0xf477, 0xf2b7, 0xf477, 0xf27a, 0xf435, 0xf27a, 0xf435, -0xf192, 0xf348, 0xf192, 0xf348, 0xf107, 0xf2b5, 0xf107, 0xf2b5, 0xf13f, 0xf2e4, 0xf13f, -0xf2e4, 0xf05a, 0xf1f2, 0xf05a, 0xf1f2, 0xf05a, 0xf1f2, 0xf001, 0xf18a, 0xf001, 0xf18a, -0xf086, 0xf1fb, 0xf086, 0xf1fb, 0xf21d, 0xf379, 0xf21d, 0xf379, 0xf3b4, 0xf4f5, 0xf3b4, -0xf4f5, 0xf4f4, 0xf615, 0xf4f4, 0xf615, 0xf70c, 0xf80a, 0xf70c, 0xf80a, 0xf70c, 0xf80a, -0xf868, 0xf93f, 0xf868, 0xf93f, 0xf9ab, 0xfa59, 0xf9ab, 0xfa59, 0xfb09, 0xfb8d, 0xfb09, -0xfb8d, 0xfc32, 0xfc8b, 0xfc32, 0xfc8b, 0xfd15, 0xfd44, 0xfd15, 0xfd44, 0xfd15, 0xfd44, -0xfe25, 0xfe2d, 0xfe25, 0xfe2d, 0x39, 0x1b, 0x39, 0x1b, 0xed, 0xaf, 0xed, -0xaf, 0xf6, 0x9c, 0xf6, 0x9c, 0x145, 0xd8, 0x145, 0xd8, 0x104, 0x8a, -0x104, 0x8a, 0x104, 0x8a, 0x1e2, 0x164, 0x1e2, 0x164, 0x255, 0x1dc, 0x255, -0x1dc, 0x1b8, 0x14e, 0x1b8, 0x14e, 0x236, 0x1e4, 0x236, 0x1e4, 0x2d0, 0x2a2, -0x2d0, 0x2a2, 0x236, 0x234, 0x236, 0x234, 0x236, 0x234, 0x176, 0x1a9, 0x176, -0x1a9, 0x32, 0xa3, 0x32, 0xa3, 0xfe83, 0xff3a, 0xfe83, 0xff3a, 0xfe76, 0xff78, -0xfe76, 0xff78, 0xfd83, 0xfed5, 0xfd83, 0xfed5, 0xfd83, 0xfed5, 0xfb9b, 0xfd41, 0xfb9b, -0xfd41, 0xfa8e, 0xfc8a, 0xfa8e, 0xfc8a, 0xf8c0, 0xfb13, 0xf8c0, 0xfb13, 0xf6c6, 0xf96f, -0xf6c6, 0xf96f, 0xf4e2, 0xf7dd, 0xf4e2, 0xf7dd, 0xf268, 0xf5b1, 0xf268, 0xf5b1, 0xf268, -0xf5b1, 0xf034, 0xf3c6, 0xf034, 0xf3c6, 0xef07, 0xf2db, 0xef07, 0xf2db, 0xecf2, 0xf100, -0xecf2, 0xf100, 0xea41, 0xee81, 0xea41, 0xee81, 0xe810, 0xec79, 0xe810, 0xec79, 0xe50e, -0xe997, 0xe50e, 0xe997, 0xe50e, 0xe997, 0xe2be, 0xe75d, 0xe2be, 0xe75d, 0xe155, 0xe602, -0xe155, 0xe602, 0xe006, 0xe4b8, 0xe006, 0xe4b8, 0xdfd9, 0xe487, 0xdfd9, 0xe487, 0xdf7e, -0xe421, 0xdf7e, 0xe421, 0xdf7e, 0xe421, 0xdee5, 0xe376, 0xdee5, 0xe376, 0xdefe, 0xe379, -0xdefe, 0xe379, 0xde3d, 0xe29c, 0xde3d, 0xe29c, 0xde02, 0xe242, 0xde02, 0xe242, 0xddab, -0xe1c9, 0xddab, 0xe1c9, 0xdc91, 0xe08d, 0xdc91, 0xe08d, 0xdc91, 0xe08d, 0xdda9, 0xe181, -0xdda9, 0xe181, 0xdf1c, 0xe2d1, 0xdf1c, 0xe2d1, 0xe039, 0xe3ca, 0xe039, 0xe3ca, 0xe14d, -0xe4bd, 0xe14d, 0xe4bd, 0xe1e0, 0xe52f, 0xe1e0, 0xe52f, 0xe318, 0xe648, 0xe318, 0xe648, -0xe318, 0xe648, 0xe3f0, 0xe702, 0xe3f0, 0xe702, 0xe3c8, 0xe6bc, 0xe3c8, 0xe6bc, 0xe2d6, -0xe5ad, 0xe2d6, 0xe5ad, 0xe1d1, 0xe48b, 0xe1d1, 0xe48b, 0xe20d, 0xe4a8, 0xe20d, 0xe4a8, -0xe20d, 0xe4a8, 0xe1ed, 0xe468, 0xe1ed, 0xe468, 0xe170, 0xe3c8, 0xe170, 0xe3c8, 0xe250, -0xe482, 0xe250, 0xe482, 0xe2ee, 0xe4f5, 0xe2ee, 0xe4f5, 0xe359, 0xe531, 0xe359, 0xe531, -0xe4db, 0xe67f, 0xe4db, 0xe67f, 0xe4db, 0xe67f, 0xe6b8, 0xe821, 0xe6b8, 0xe821, 0xe835, -0xe95d, 0xe835, 0xe95d, 0xea98, 0xeb7a, 0xea98, 0xeb7a, 0xedc9, 0xee5f, 0xedc9, 0xee5f, -0xf012, 0xf058, 0xf012, 0xf058, 0xf263, 0xf253, 0xf263, 0xf253, 0xf263, 0xf253, 0xf4df, -0xf476, 0xf4df, 0xf476, 0xf787, 0xf6c2, 0xf787, 0xf6c2, 0xfaa3, 0xf982, 0xfaa3, 0xf982, -0xfd30, 0xfbb2, 0xfd30, 0xfbb2, 0x17, 0xfe3e, 0x17, 0xfe3e, 0x17, 0xfe3e, 0x3d4, -0x1a3, 0x3d4, 0x1a3, 0x6b7, 0x432, 0x6b7, 0x432, 0xa17, 0x745, 0xa17, 0x745, -0xd7b, 0xa62, 0xd7b, 0xa62, 0x102c, 0xcd4, 0x102c, 0xcd4, 0x13d1, 0x1045, 0x13d1, -0x1045, 0x13d1, 0x1045, 0x1625, 0x126f, 0x1625, 0x126f, 0x188a, 0x14b5, 0x188a, 0x14b5, -0x1a91, 0x16a7, 0x1a91, 0x16a7, 0x1ac4, 0x16d1, 0x1ac4, 0x16d1, 0x1bcf, 0x17de, 0x1bcf, -0x17de, 0x1cb7, 0x18d3, 0x1cb7, 0x18d3, 0x1cb7, 0x18d3, 0x1d43, 0x1976, 0x1d43, 0x1976, -0x1de9, 0x1a3c, 0x1de9, 0x1a3c, 0x1e24, 0x1a9e, 0x1e24, 0x1a9e, 0x1eb0, 0x1b58, 0x1eb0, -0x1b58, 0x1fae, 0x1c8a, 0x1fae, 0x1c8a, 0x1fae, 0x1c8a, 0x1f1e, 0x1c31, 0x1f1e, 0x1c31, -0x1e0d, 0x1b58, 0x1e0d, 0x1b58, 0x1c5e, 0x19e3, 0x1c5e, 0x19e3, 0x19db, 0x1799, 0x19db, -0x1799, 0x18da, 0x16cf, 0x18da, 0x16cf, 0x17bc, 0x15e5, 0x17bc, 0x15e5, 0x17bc, 0x15e5, -0x1716, 0x156f, 0x1716, 0x156f, 0x161d, 0x14a0, 0x161d, 0x14a0, 0x14a5, 0x134d, 0x14a5, -0x134d, 0x1417, 0x12dd, 0x1417, 0x12dd, 0x1327, 0x1206, 0x1327, 0x1206, 0x127d, 0x1171, -0x127d, 0x1171, 0x127d, 0x1171, 0x11c6, 0x10c7, 0x11c6, 0x10c7, 0x10b1, 0xfbb, 0x10b1, -0xfbb, 0xfc5, 0xed4, 0xfc5, 0xed4, 0xf8e, 0xe9f, 0xf8e, 0xe9f, 0xe27, 0xd38, -0xe27, 0xd38, 0xe27, 0xd38, 0xc5a, 0xb6a, 0xc5a, 0xb6a, 0xc28, 0xb37, 0xc28, -0xb37, 0xac4, 0x9d4, 0xac4, 0x9d4, 0xac5, 0x9d7, 0xac5, 0x9d7, 0xb93, 0xaab, -0xb93, 0xaab, 0xab6, 0x9d6, 0xab6, 0x9d6, 0xab6, 0x9d6, 0xb5c, 0xa8a, 0xb5c, -0xa8a, 0xbaa, 0xaea, 0xbaa, 0xaea, 0xb68, 0xabf, 0xb68, 0xabf, 0xa4d, 0x9bf, -0xa4d, 0x9bf, 0x84c, 0x7dd, 0x84c, 0x7dd, 0x7d0, 0x784, 0x7d0, 0x784, 0x7d0, -0x784, 0x6b2, 0x68d, 0x6b2, 0x68d, 0x5df, 0x5e2, 0x5df, 0x5e2, 0x522, 0x54f, -0x522, 0x54f, 0x37f, 0x3d6, 0x37f, 0x3d6, 0x294, 0x314, 0x294, 0x314, 0x294, -0x314, 0x268, 0x30f, 0x268, 0x30f, 0x24c, 0x317, 0x24c, 0x317, 0x14d, 0x237, -0x14d, 0x237, 0x10, 0x115, 0x10, 0x115, 0xfedf, 0xfff8, 0xfedf, 0xfff8, 0xfd95, -0xfebd, 0xfd95, 0xfebd, 0xfd95, 0xfebd, 0xfc4b, 0xfd7a, 0xfc4b, 0xfd7a, 0xfc31, 0xfd61, -0xfc31, 0xfd61, 0xfc24, 0xfd4e, 0xfc24, 0xfd4e, 0xfbcc, 0xfcea, 0xfbcc, 0xfcea, 0xfb8f, -0xfc9b, 0xfb8f, 0xfc9b, 0xfacc, 0xfbc0, 0xfacc, 0xfbc0, 0xfacc, 0xfbc0, 0xfae1, 0xfbbb, -0xfae1, 0xfbbb, 0xfafb, 0xfbb7, 0xfafb, 0xfbb7, 0xfbe2, 0xfc7d, 0xfbe2, 0xfc7d, 0xfcbf, -0xfd3a, 0xfcbf, 0xfd3a, 0xfdc6, 0xfe22, 0xfdc6, 0xfe22, 0xfdc6, 0xfe22, 0xff30, 0xff6e, -0xff30, 0xff6e, 0xff09, 0xff2d, 0xff09, 0xff2d, 0xfe8a, 0xfe99, 0xfe8a, 0xfe99, 0xfe1f, -0xfe1d, 0xfe1f, 0xfe1d, 0xfe06, 0xfdfb, 0xfe06, 0xfdfb, 0xfe3f, 0xfe32, 0xfe3f, 0xfe32, -0xfe3f, 0xfe32, 0xfec1, 0xfeb8, 0xfec1, 0xfeb8, 0xfe72, 0xfe75, 0xfe72, 0xfe75, 0xfe5c, -0xfe72, 0xfe5c, 0xfe72, 0xfe79, 0xfea9, 0xfe79, 0xfea9, 0xfe20, 0xfe70, 0xfe20, 0xfe70, -0xfe20, 0xfe70, 0xfd78, 0xfded, 0xfd78, 0xfded, 0xfbe9, 0xfc88, 0xfbe9, 0xfc88, 0xfb1a, -0xfbe6, 0xfb1a, 0xfbe6, 0xfabe, 0xfbb7, 0xfabe, 0xfbb7, 0xfa8b, 0xfbb3, 0xfa8b, 0xfbb3, -0xf955, 0xfaaa, 0xf955, 0xfaaa, 0xf955, 0xfaaa, 0xf85a, 0xf9da, 0xf85a, 0xf9da, 0xf74e, -0xf8f5, 0xf74e, 0xf8f5, 0xf602, 0xf7cb, 0xf602, 0xf7cb, 0xf5e7, 0xf7cb, 0xf5e7, 0xf7cb, -0xf490, 0xf689, 0xf490, 0xf689, 0xf3fb, 0xf602, 0xf3fb, 0xf602, 0xf3fb, 0xf602, 0xf391, -0xf59c, 0xf391, 0xf59c, 0xf212, 0xf419, 0xf212, 0xf419, 0xf0e3, 0xf2de, 0xf0e3, 0xf2de, -0xf012, 0xf1f7, 0xf012, 0xf1f7, 0xf012, 0xf1db, 0xf012, 0xf1db, 0xf012, 0xf1db, 0xf032, -0xf1d7, 0xf032, 0xf1d7, 0xf02c, 0xf1a8, 0xf02c, 0xf1a8, 0xf0a1, 0xf1ed, 0xf0a1, 0xf1ed, -0xf0f3, 0xf20d, 0xf0f3, 0xf20d, 0xf156, 0xf23a, 0xf156, 0xf23a, 0xf357, 0xf404, 0xf357, -0xf404, 0xf357, 0xf404, 0xf4c8, 0xf53e, 0xf4c8, 0xf53e, 0xf57a, 0xf5b8, 0xf57a, 0xf5b8, -0xf7a9, 0xf7b3, 0xf7a9, 0xf7b3, 0xf9ef, 0xf9c7, 0xf9ef, 0xf9c7, 0xfc1c, 0xfbc6, 0xfc1c, -0xfbc6, 0xfee2, 0xfe62, 0xfee2, 0xfe62, 0xfee2, 0xfe62, 0x131, 0x8b, 0x131, 0x8b, -0x383, 0x2bc, 0x383, 0x2bc, 0x55a, 0x478, 0x55a, 0x478, 0x6f1, 0x5f8, 0x6f1, -0x5f8, 0x87f, 0x772, 0x87f, 0x772, 0x87f, 0x772, 0x937, 0x81b, 0x937, 0x81b, -0xa96, 0x96d, 0xa96, 0x96d, 0xadf, 0x9ab, 0xadf, 0x9ab, 0xada, 0x99c, 0xada, -0x99c, 0xb4f, 0xa07, 0xb4f, 0xa07, 0xb49, 0x9f7, 0xb49, 0x9f7, 0xb49, 0x9f7, -0xb98, 0xa3a, 0xb98, 0xa3a, 0xbc3, 0xa57, 0xbc3, 0xa57, 0xc84, 0xb06, 0xc84, -0xb06, 0xd94, 0xc01, 0xd94, 0xc01, 0xef1, 0xd45, 0xef1, 0xd45, 0x10b0, 0xee7, -0x10b0, 0xee7, 0x10b0, 0xee7, 0x129c, 0x10b2, 0x129c, 0x10b2, 0x1466, 0x1257, 0x1466, -0x1257, 0x1638, 0x1401, 0x1638, 0x1401, 0x17a7, 0x1545, 0x17a7, 0x1545, 0x1851, 0x15c3, -0x1851, 0x15c3, 0x1851, 0x15c3, 0x188f, 0x15d4, 0x188f, 0x15d4, 0x18df, 0x15f7, 0x18df, -0x15f7, 0x1a1d, 0x170a, 0x1a1d, 0x170a, 0x1ad9, 0x179d, 0x1ad9, 0x179d, 0x1b76, 0x1816, -0x1b76, 0x1816, 0x1be4, 0x1863, 0x1be4, 0x1863, 0x1be4, 0x1863, 0x1c3d, 0x18a3, 0x1c3d, -0x18a3, 0x1cbd, 0x1910, 0x1cbd, 0x1910, 0x1ca1, 0x18e9, 0x1ca1, 0x18e9, 0x1ccc, 0x1911, -0x1ccc, 0x1911, 0x1d2e, 0x1978, 0x1d2e, 0x1978, 0x1d12, 0x196b, 0x1d12, 0x196b, 0x1d12, -0x196b, 0x1d58, 0x19c8, 0x1d58, 0x19c8, 0x1cc9, 0x195a, 0x1cc9, 0x195a, 0x1b04, 0x17bc, -0x1b04, 0x17bc, 0x1ba5, 0x188c, 0x1ba5, 0x188c, 0x1ad6, 0x17f1, 0x1ad6, 0x17f1, 0x1ad6, -0x17f1, 0x192b, 0x1680, 0x192b, 0x1680, 0x191f, 0x16b2, 0x191f, 0x16b2, 0x17c9, 0x159c, -0x17c9, 0x159c, 0x1726, 0x153a, 0x1726, 0x153a, 0x16f3, 0x1548, 0x16f3, 0x1548, 0x156d, -0x1401, 0x156d, 0x1401, 0x156d, 0x1401, 0x1352, 0x1223, 0x1352, 0x1223, 0x12ae, 0x11b7, -0x12ae, 0x11b7, 0x11b5, 0x10f1, 0x11b5, 0x10f1, 0x10a0, 0x100a, 0x10a0, 0x100a, 0xffa, -0xf8a, 0xffa, 0xf8a, 0xe2d, 0xddd, 0xe2d, 0xddd, 0xe2d, 0xddd, 0xc9e, 0xc67, -0xc9e, 0xc67, 0xb36, 0xb10, 0xb36, 0xb10, 0x97f, 0x963, 0x97f, 0x963, 0x7c3, -0x7aa, 0x7c3, 0x7aa, 0x79a, 0x77f, 0x79a, 0x77f, 0x79a, 0x77f, 0x731, 0x70f, -0x731, 0x70f, 0x6e3, 0x6b5, 0x6e3, 0x6b5, 0x6d0, 0x692, 0x6d0, 0x692, 0x5f5, -0x5a5, 0x5f5, 0x5a5, 0x601, 0x59f, 0x601, 0x59f, 0x54a, 0x4d5, 0x54a, 0x4d5, -0x54a, 0x4d5, 0x3e0, 0x358, 0x3e0, 0x358, 0x30c, 0x273, 0x30c, 0x273, 0x35f, -0x2b7, 0x35f, 0x2b7, 0x245, 0x193, 0x245, 0x193, 0x142, 0x88, 0x142, 0x88, -0x1fb, 0x13c, 0x1fb, 0x13c, 0x1fb, 0x13c, 0x205, 0x147, 0x205, 0x147, 0x2a1, -0x1e6, 0x2a1, 0x1e6, 0x2ce, 0x21b, 0x2ce, 0x21b, 0x1be, 0x115, 0x1be, 0x115, -0x3d, 0xffa2, 0x3d, 0xffa2, 0x3d, 0xffa2, 0xff60, 0xfed4, 0xff60, 0xfed4, 0xfe5a, -0xfde0, 0xfe5a, 0xfde0, 0xfcc5, 0xfc5c, 0xfcc5, 0xfc5c, 0xfbd1, 0xfb79, 0xfbd1, 0xfb79, -0xfb6a, 0xfb22, 0xfb6a, 0xfb22, 0xfba8, 0xfb6e, 0xfba8, 0xfb6e, 0xfba8, 0xfb6e, 0xfbd6, -0xfba8, 0xfbd6, 0xfba8, 0xfb4d, 0xfb27, 0xfb4d, 0xfb27, 0xfa5d, 0xfa3d, 0xfa5d, 0xfa3d, -0xfa59, 0xfa3a, 0xfa59, 0xfa3a, 0xf9d3, 0xf9b1, 0xf9d3, 0xf9b1, 0xf92b, 0xf901, 0xf92b, -0xf901, 0xf92b, 0xf901, 0xf952, 0xf91e, 0xf952, 0xf91e, 0xf8ab, 0xf869, 0xf8ab, 0xf869, -0xf933, 0xf8df, 0xf933, 0xf8df, 0xf93c, 0xf8d5, 0xf93c, 0xf8d5, 0xf83c, 0xf7c0, 0xf83c, -0xf7c0, 0xf83c, 0xf7c0, 0xf930, 0xf89d, 0xf930, 0xf89d, 0xfa1e, 0xf977, 0xfa1e, 0xf977, -0xfb19, 0xfa5d, 0xfb19, 0xfa5d, 0xfc52, 0xfb85, 0xfc52, 0xfb85, 0xfd11, 0xfc36, 0xfd11, -0xfc36, 0xfd62, 0xfc7d, 0xfd62, 0xfc7d, 0xfd62, 0xfc7d, 0xfd67, 0xfc7e, 0xfd67, 0xfc7e, -0xfda1, 0xfcb8, 0xfda1, 0xfcb8, 0xfcb0, 0xfbce, 0xfcb0, 0xfbce, 0xfc7e, 0xfbaa, 0xfc7e, -0xfbaa, 0xfc88, 0xfbc8, 0xfc88, 0xfbc8, 0xfc44, 0xfb9f, 0xfc44, 0xfb9f, 0xfc44, 0xfb9f, -0xfbe5, 0xfb60, 0xfbe5, 0xfb60, 0xfa20, 0xf9c2, 0xfa20, 0xf9c2, 0xf913, 0xf8e1, 0xf913, -0xf8e1, 0xf7a4, 0xf7a2, 0xf7a4, 0xf7a2, 0xf62c, 0xf65f, 0xf62c, 0xf65f, 0xf62c, 0xf65f, -0xf517, 0xf580, 0xf517, 0xf580, 0xf399, 0xf439, 0xf399, 0xf439, 0xf1ba, 0xf292, 0xf1ba, -0xf292, 0xeff5, 0xf103, 0xeff5, 0xf103, 0xee6e, 0xefb0, 0xee6e, 0xefb0, 0xebf0, 0xed63, -0xebf0, 0xed63, 0xebf0, 0xed63, 0xeb0b, 0xecaa, 0xeb0b, 0xecaa, 0xeb18, 0xecde, 0xeb18, -0xecde, 0xe9fd, 0xebe4, 0xe9fd, 0xebe4, 0xe962, 0xeb62, 0xe962, 0xeb62, 0xe99c, 0xebb0, -0xe99c, 0xebb0, 0xe99c, 0xebb0, 0xe928, 0xeb47, 0xe928, 0xeb47, 0xe9c4, 0xebe7, 0xe9c4, -0xebe7, 0xeb0f, 0xed2f, 0xeb0f, 0xed2f, 0xeb28, 0xed3f, 0xeb28, 0xed3f, 0xec03, 0xee0a, -0xec03, 0xee0a, 0xed9f, 0xef91, 0xed9f, 0xef91, 0xed9f, 0xef91, 0xeefc, 0xf0d5, 0xeefc, -0xf0d5, 0xeeb1, 0xf06d, 0xeeb1, 0xf06d, 0xeea6, 0xf042, 0xeea6, 0xf042, 0xeec3, 0xf03e, -0xeec3, 0xf03e, 0xef28, 0xf082, 0xef28, 0xf082, 0xf11e, 0xf257, 0xf11e, 0xf257, 0xf11e, -0xf257, 0xf2a6, 0xf3c1, 0xf2a6, 0xf3c1, 0xf475, 0xf573, 0xf475, 0xf573, 0xf5b1, 0xf696, -0xf5b1, 0xf696, 0xf700, 0xf7d1, 0xf700, 0xf7d1, 0xf745, 0xf805, 0xf745, 0xf805, 0xf745, -0xf805, 0xf6dd, 0xf791, 0xf6dd, 0xf791, 0xf7aa, 0xf858, 0xf7aa, 0xf858, 0xf880, 0xf92c, -0xf880, 0xf92c, 0xf950, 0xf9ff, 0xf950, 0xf9ff, 0xf87f, 0xf934, 0xf87f, 0xf934, 0xf862, -0xf922, 0xf862, 0xf922, 0xf862, 0xf922, 0xf822, 0xf8f0, 0xf822, 0xf8f0, 0xf6fb, 0xf7d9, -0xf6fb, 0xf7d9, 0xf6bb, 0xf7ac, 0xf6bb, 0xf7ac, 0xf547, 0xf64a, 0xf547, 0xf64a, 0xf467, -0xf57d, 0xf467, 0xf57d, 0xf443, 0xf56b, 0xf443, 0xf56b, 0xf443, 0xf56b, 0xf3f7, 0xf530, -0xf3f7, 0xf530, 0xf3b2, 0xf4f9, 0xf3b2, 0xf4f9, 0xf309, 0xf45d, 0xf309, 0xf45d, 0xf352, -0xf4b0, 0xf352, 0xf4b0, 0xf3f5, 0xf559, 0xf3f5, 0xf559, 0xf3f5, 0xf559, 0xf3d4, 0xf53c, -0xf3d4, 0xf53c, 0xf33f, 0xf4a7, 0xf33f, 0xf4a7, 0xf2d5, 0xf43b, 0xf2d5, 0xf43b, 0xf280, -0xf3e2, 0xf280, 0xf3e2, 0xf2a3, 0xf3ff, 0xf2a3, 0xf3ff, 0xf328, 0xf47d, 0xf328, 0xf47d, -0xf328, 0xf47d, 0xf359, 0xf4a7, 0xf359, 0xf4a7, 0xf389, 0xf4d1, 0xf389, 0xf4d1, 0xf379, -0xf4bc, 0xf379, 0xf4bc, 0xf376, 0xf4b5, 0xf376, 0xf4b5, 0xf30b, 0xf44a, 0xf30b, 0xf44a, -0xf28c, 0xf3cf, 0xf28c, 0xf3cf, 0xf28c, 0xf3cf, 0xf227, 0xf372, 0xf227, 0xf372, 0xf125, -0xf27c, 0xf125, 0xf27c, 0xf113, 0xf27b, 0xf113, 0xf27b, 0xf168, 0xf2e7, 0xf168, 0xf2e7, -0xf0da, 0xf273, 0xf0da, 0xf273, 0xf0da, 0xf273, 0xf063, 0xf21c, 0xf063, 0xf21c, 0xef9f, -0xf17d, 0xef9f, 0xf17d, 0xed08, 0xef0d, 0xed08, 0xef0d, 0xebab, 0xedda, 0xebab, 0xedda, -0xebbe, 0xee19, 0xebbe, 0xee19, 0xeac5, 0xed4d, 0xeac5, 0xed4d, 0xeac5, 0xed4d, 0xea52, -0xed07, 0xea52, 0xed07, 0xe96a, 0xec49, 0xe96a, 0xec49, 0xe8f5, 0xebfb, 0xe8f5, 0xebfb, -0xe8e9, 0xec12, 0xe8e9, 0xec12, 0xe824, 0xeb6b, 0xe824, 0xeb6b, 0xe8ac, 0xec0a, 0xe8ac, -0xec0a, 0xe8ac, 0xec0a, 0xe906, 0xec73, 0xe906, 0xec73, 0xe8bd, 0xec31, 0xe8bd, 0xec31, -0xe8af, 0xec21, 0xe8af, 0xec21, 0xe849, 0xebaf, 0xe849, 0xebaf, 0xe7c5, 0xeb15, 0xe7c5, -0xeb15, 0xe7c5, 0xeb15, 0xe818, 0xeb49, 0xe818, 0xeb49, 0xe9b1, 0xecb9, 0xe9b1, 0xecb9, -0xeb82, 0xee57, 0xeb82, 0xee57, 0xed9b, 0xf035, 0xed9b, 0xf035, 0xefdb, 0xf233, 0xefdb, -0xf233, 0xf15a, 0xf367, 0xf15a, 0xf367, 0xf15a, 0xf367, 0xf39d, 0xf55c, 0xf39d, 0xf55c, -0xf6c4, 0xf830, 0xf6c4, 0xf830, 0xf8e2, 0xf9f7, 0xf8e2, 0xf9f7, 0xfb27, 0xfbe4, 0xfb27, -0xfbe4, 0xfe6d, 0xfed2, 0xfe6d, 0xfed2, 0x179, 0x188, 0x179, 0x188, 0x179, 0x188, -0x4a0, 0x459, 0x4a0, 0x459, 0x7de, 0x746, 0x7de, 0x746, 0xb17, 0xa31, 0xb17, -0xa31, 0xd59, 0xc2b, 0xd59, 0xc2b, 0xed0, 0xd5f, 0xed0, 0xd5f, 0xed0, 0xd5f, -0x1138, 0xf8a, 0x1138, 0xf8a, 0x1290, 0x10ac, 0x1290, 0x10ac, 0x136e, 0x115a, 0x136e, -0x115a, 0x14c9, 0x128b, 0x14c9, 0x128b, 0x1559, 0x12f6, 0x1559, 0x12f6, 0x1533, 0x12b0, -0x1533, 0x12b0, 0x1533, 0x12b0, 0x1499, 0x11fc, 0x1499, 0x11fc, 0x14c6, 0x1212, 0x14c6, -0x1212, 0x1545, 0x127d, 0x1545, 0x127d, 0x1605, 0x132c, 0x1605, 0x132c, 0x166c, 0x1383, -0x166c, 0x1383, 0x16be, 0x13c7, 0x16be, 0x13c7, 0x16be, 0x13c7, 0x17d2, 0x14cd, 0x17d2, -0x14cd, 0x1867, 0x1553, 0x1867, 0x1553, 0x1993, 0x1671, 0x1993, 0x1671, 0x1aed, 0x17bc, -0x1aed, 0x17bc, 0x1b98, 0x1857, 0x1b98, 0x1857, 0x1b98, 0x1857, 0x1c00, 0x18b0, 0x1c00, -0x18b0, 0x1c30, 0x18d0, 0x1c30, 0x18d0, 0x1c6f, 0x1901, 0x1c6f, 0x1901, 0x1d32, 0x19b6, -0x1d32, 0x19b6, 0x1e39, 0x1ab2, 0x1e39, 0x1ab2, 0x1de2, 0x1a52, 0x1de2, 0x1a52, 0x1de2, -0x1a52, 0x1dca, 0x1a36, 0x1dca, 0x1a36, 0x1dc0, 0x1a2b, 0x1dc0, 0x1a2b, 0x1c64, 0x18d5, -0x1c64, 0x18d5, 0x1cc0, 0x193e, 0x1cc0, 0x193e, 0x1c3f, 0x18d1, 0x1c3f, 0x18d1, 0x1ae9, -0x1798, 0x1ae9, 0x1798, 0x1ae9, 0x1798, 0x1a90, 0x1763, 0x1a90, 0x1763, 0x1828, 0x1529, -0x1828, 0x1529, 0x1641, 0x1379, 0x1641, 0x1379, 0x1409, 0x1180, 0x1409, 0x1180, 0x11d8, -0xf97, 0x11d8, 0xf97, 0x11d8, 0xf97, 0x1139, 0xf48, 0x1139, 0xf48, 0xfd6, 0xe3c, -0xfd6, 0xe3c, 0xeec, 0xdaf, 0xeec, 0xdaf, 0xe17, 0xd3c, 0xe17, 0xd3c, 0xd75, -0xcff, 0xd75, 0xcff, 0xcd4, 0xcc5, 0xcd4, 0xcc5, 0xcd4, 0xcc5, 0xb6e, 0xbc8, -0xb6e, 0xbc8, 0x841, 0x900, 0x841, 0x900, 0x46c, 0x590, 0x46c, 0x590, 0x1cb, -0x34e, 0x1cb, 0x34e, 0xff7b, 0x158, 0xff7b, 0x158, 0xfe24, 0x54, 0xfe24, 0x54, -0xfe24, 0x54, 0xfcdd, 0xff56, 0xfcdd, 0xff56, 0xfb46, 0xfe01, 0xfb46, 0xfe01, 0xf889, -0xfb7b, 0xf889, 0xfb7b, 0xf611, 0xf930, 0xf611, 0xf930, 0xf46b, 0xf7ac, 0xf46b, 0xf7ac, -0xf46b, 0xf7ac, 0xf250, 0xf5aa, 0xf250, 0xf5aa, 0xf14e, 0xf4b6, 0xf14e, 0xf4b6, 0xf020, -0xf38b, 0xf020, 0xf38b, 0xef4e, 0xf2b4, 0xef4e, 0xf2b4, 0xef4c, 0xf2a6, 0xef4c, 0xf2a6, -0xef1f, 0xf266, 0xef1f, 0xf266, 0xef1f, 0xf266, 0xee26, 0xf153, 0xee26, 0xf153, 0xed38, -0xf047, 0xed38, 0xf047, 0xed6a, 0xf057, 0xed6a, 0xf057, 0xed5c, 0xf026, 0xed5c, 0xf026, -0xedc3, 0xf069, 0xedc3, 0xf069, 0xedc3, 0xf069, 0xeedc, 0xf15d, 0xeedc, 0xf15d, 0xefbe, -0xf21c, 0xefbe, 0xf21c, 0xf0bc, 0xf2f7, 0xf0bc, 0xf2f7, 0xf1fc, 0xf418, 0xf1fc, 0xf418, -0xf244, 0xf444, 0xf244, 0xf444, 0xf2b4, 0xf499, 0xf2b4, 0xf499, 0xf2b4, 0xf499, 0xf40e, -0xf5dc, 0xf40e, 0xf5dc, 0xf48e, 0xf646, 0xf48e, 0xf646, 0xf4a0, 0xf645, 0xf4a0, 0xf645, -0xf4c2, 0xf655, 0xf4c2, 0xf655, 0xf453, 0xf5d5, 0xf453, 0xf5d5, 0xf3f9, 0xf569, 0xf3f9, -0xf569, 0xf3f9, 0xf569, 0xf51e, 0xf67c, 0xf51e, 0xf67c, 0xf547, 0xf691, 0xf547, 0xf691, -0xf527, 0xf65a, 0xf527, 0xf65a, 0xf653, 0xf76c, 0xf653, 0xf76c, 0xf5e0, 0xf6da, 0xf5e0, -0xf6da, 0xf5e0, 0xf6da, 0xf5fc, 0xf6d3, 0xf5fc, 0xf6d3, 0xf735, 0xf7e5, 0xf735, 0xf7e5, -0xf751, 0xf7d4, 0xf751, 0xf7d4, 0xf88d, 0xf8df, 0xf88d, 0xf8df, 0xfab8, 0xfad4, 0xfab8, -0xfad4, 0xfaa3, 0xfa85, 0xfaa3, 0xfa85, 0xfaa3, 0xfa85, 0xfb22, 0xfac7, 0xfb22, 0xfac7, -0xfc97, 0xfbfd, 0xfc97, 0xfbfd, 0xfd47, 0xfc6b, 0xfd47, 0xfc6b, 0x67, 0xff4a, 0x67, -0xff4a, 0x36e, 0x211, 0x36e, 0x211, 0x4f9, 0x35f, 0x4f9, 0x35f, 0x4f9, 0x35f, -0x68f, 0x4ba, 0x68f, 0x4ba, 0x7ea, 0x5e0, 0x7ea, 0x5e0, 0x9da, 0x7a2, 0x9da, -0x7a2, 0xbe2, 0x981, 0xbe2, 0x981, 0xda1, 0xb21, 0xda1, 0xb21, 0xda1, 0xb21, -0xea6, 0xc10, 0xea6, 0xc10, 0xfe7, 0xd43, 0xfe7, 0xd43, 0x1122, 0xe79, 0x1122, -0xe79, 0x115e, 0xeba, 0x115e, 0xeba, 0x11b2, 0xf1d, 0x11b2, 0xf1d, 0x1160, 0xee1, -0x1160, 0xee1, 0x1160, 0xee1, 0x10d4, 0xe75, 0x10d4, 0xe75, 0x10dd, 0xea2, 0x10dd, -0xea2, 0x1028, 0xe19, 0x1028, 0xe19, 0x101d, 0xe3e, 0x101d, 0xe3e, 0x1047, 0xe9a, -0x1047, 0xe9a, 0xeee, 0xd75, 0xeee, 0xd75, 0xeee, 0xd75, 0xdd9, 0xc95, 0xdd9, -0xc95, 0xcb6, 0xba4, 0xcb6, 0xba4, 0xc0e, 0xb2c, 0xc0e, 0xb2c, 0xbd7, 0xb21, -0xbd7, 0xb21, 0xaf3, 0xa64, 0xaf3, 0xa64, 0xaf3, 0xa64, 0xa34, 0x9c7, 0xa34, -0x9c7, 0x952, 0x900, 0x952, 0x900, 0x8ba, 0x87b, 0x8ba, 0x87b, 0x8ac, 0x87a, -0x8ac, 0x87a, 0x7c7, 0x79c, 0x7c7, 0x79c, 0x630, 0x603, 0x630, 0x603, 0x630, -0x603, 0x5b8, 0x583, 0x5b8, 0x583, 0x4fc, 0x4ba, 0x4fc, 0x4ba, 0x503, 0x4ae, -0x503, 0x4ae, 0x587, 0x51c, 0x587, 0x51c, 0x499, 0x414, 0x499, 0x414, 0x484, -0x3e5, 0x484, 0x3e5, 0x484, 0x3e5, 0x47c, 0x3c0, 0x47c, 0x3c0, 0x577, 0x49e, -0x577, 0x49e, 0x719, 0x626, 0x719, 0x626, 0x916, 0x80a, 0x916, 0x80a, 0xa9f, -0x97c, 0xa9f, 0x97c, 0xa9f, 0x97c, 0xabb, 0x984, 0xabb, 0x984, 0xce3, 0xb9c, -0xce3, 0xb9c, 0xe67, 0xd13, 0xe67, 0xd13, 0xf15, 0xdb9, 0xf15, 0xdb9, 0xffc, -0xe9a, 0xffc, 0xe9a, 0xfc9, 0xe65, 0xfc9, 0xe65, 0xfc9, 0xe65, 0x1070, 0xf0d, -0x1070, 0xf0d, 0x1172, 0x1011, 0x1172, 0x1011, 0x1162, 0x1006, 0x1162, 0x1006, 0x1130, -0xfd9, 0x1130, 0xfd9, 0x1077, 0xf25, 0x1077, 0xf25, 0xfbf, 0xe71, 0xfbf, 0xe71, -0xfbf, 0xe71, 0x10d9, 0xf8d, 0x10d9, 0xf8d, 0x107a, 0xf2e, 0x107a, 0xf2e, 0x1030, -0xee1, 0x1030, 0xee1, 0x108c, 0xf37, 0x108c, 0xf37, 0x1001, 0xea3, 0x1001, 0xea3, -0x1001, 0xea3, 0x1109, 0xf9e, 0x1109, 0xf9e, 0x111b, 0xf9f, 0x111b, 0xf9f, 0x1152, -0xfc3, 0x1152, 0xfc3, 0x1163, 0xfbc, 0x1163, 0xfbc, 0x10c2, 0xf02, 0x10c2, 0xf02, -0x1160, 0xf86, 0x1160, 0xf86, 0x1160, 0xf86, 0x11d6, 0xfe0, 0x11d6, 0xfe0, 0x12f7, -0x10e5, 0x12f7, 0x10e5, 0x13f2, 0x11c4, 0x13f2, 0x11c4, 0x1525, 0x12de, 0x1525, 0x12de, -0x15e0, 0x1383, 0x15e0, 0x1383, 0x1558, 0x12ea, 0x1558, 0x12ea, 0x1558, 0x12ea, 0x1477, -0x11fc, 0x1477, 0x11fc, 0x1381, 0x10ff, 0x1381, 0x10ff, 0x1310, 0x108d, 0x1310, 0x108d, -0x124c, 0xfcf, 0x124c, 0xfcf, 0x123c, 0xfce, 0x123c, 0xfce, 0x123c, 0xfce, 0x115b, -0xf04, 0x115b, 0xf04, 0x1114, 0xeda, 0x1114, 0xeda, 0x10c0, 0xead, 0x10c0, 0xead, -0xf0a, 0xd25, 0xf0a, 0xd25, 0xe97, 0xce6, 0xe97, 0xce6, 0xbc9, 0xa54, 0xbc9, -0xa54, 0xbc9, 0xa54, 0x9ed, 0x8b8, 0x9ed, 0x8b8, 0x8f7, 0x808, 0x8f7, 0x808, -0x70d, 0x667, 0x70d, 0x667, 0x68f, 0x634, 0x68f, 0x634, 0x455, 0x447, 0x455, -0x447, 0x22b, 0x26a, 0x22b, 0x26a, 0x22b, 0x26a, 0x45, 0xd0, 0x45, 0xd0, -0xfe3e, 0xff12, 0xfe3e, 0xff12, 0xfb8e, 0xfca8, 0xfb8e, 0xfca8, 0xf7e7, 0xf943, 0xf7e7, -0xf943, 0xf584, 0xf71d, 0xf584, 0xf71d, 0xf584, 0xf71d, 0xf2f1, 0xf4bf, 0xf2f1, 0xf4bf, -0xf155, 0xf354, 0xf155, 0xf354, 0xf00c, 0xf234, 0xf00c, 0xf234, 0xee20, 0xf069, 0xee20, -0xf069, 0xecf8, 0xef5b, 0xecf8, 0xef5b, 0xec0f, 0xee85, 0xec0f, 0xee85, 0xec0f, 0xee85, -0xec7d, 0xeeff, 0xec7d, 0xeeff, 0xec44, 0xeecb, 0xec44, 0xeecb, 0xeb1e, 0xeda4, 0xeb1e, -0xeda4, 0xeb76, 0xedf6, 0xeb76, 0xedf6, 0xeb9f, 0xee14, 0xeb9f, 0xee14, 0xebe7, 0xee4d, -0xebe7, 0xee4d, 0xebe7, 0xee4d, 0xeb5e, 0xedb1, 0xeb5e, 0xedb1, 0xea96, 0xecd5, 0xea96, -0xecd5, 0xeb7a, 0xeda2, 0xeb7a, 0xeda2, 0xec67, 0xee77, 0xec67, 0xee77, 0xed97, 0xef8f, -0xed97, 0xef8f, 0xed97, 0xef8f, 0xeece, 0xf0af, 0xeece, 0xf0af, 0xef88, 0xf151, 0xef88, -0xf151, 0xefee, 0xf1a1, 0xefee, 0xf1a1, 0xf152, 0xf2f0, 0xf152, 0xf2f0, 0xf143, 0xf2cd, -0xf143, 0xf2cd, 0xf002, 0xf179, 0xf002, 0xf179, 0xf002, 0xf179, 0xefe7, 0xf14d, 0xefe7, -0xf14d, 0xef26, 0xf07c, 0xef26, 0xf07c, 0xf036, 0xf17b, 0xf036, 0xf17b, 0xf098, 0xf1cd, -0xf098, 0xf1cd, 0xf092, 0xf1b7, 0xf092, 0xf1b7, 0xf092, 0xf1b7, 0xf189, 0xf29d, 0xf189, -0xf29d, 0xf114, 0xf217, 0xf114, 0xf217, 0xf23d, 0xf32c, 0xf23d, 0xf32c, 0xf367, 0xf441, -0xf367, 0xf441, 0xf41e, 0xf4e1, 0xf41e, 0xf4e1, 0xf53b, 0xf5e5, 0xf53b, 0xf5e5, 0xf53b, -0xf5e5, 0xf674, 0xf702, 0xf674, 0xf702, 0xf894, 0xf903, 0xf894, 0xf903, 0xf9bd, 0xfa0b, -0xf9bd, 0xfa0b, 0xfafc, 0xfb28, 0xfafc, 0xfb28, 0xfc56, 0xfc5f, 0xfc56, 0xfc5f, 0xfcf6, -0xfcd9, 0xfcf6, 0xfcd9, 0xfcf6, 0xfcd9, 0xfec0, 0xfe7e, 0xfec0, 0xfe7e, 0x28, 0xffc2, -0x28, 0xffc2, 0x9a, 0x11, 0x9a, 0x11, 0x18f, 0xe5, 0x18f, 0xe5, 0x27a, -0x1b2, 0x27a, 0x1b2, 0x27a, 0x1b2, 0x3ed, 0x30b, 0x3ed, 0x30b, 0x5b6, 0x4bf, -0x5b6, 0x4bf, 0x64f, 0x548, 0x64f, 0x548, 0x55e, 0x44e, 0x55e, 0x44e, 0x4d0, -0x3bf, 0x4d0, 0x3bf, 0x51c, 0x411, 0x51c, 0x411, 0x51c, 0x411, 0x459, 0x35c, -0x459, 0x35c, 0x413, 0x32d, 0x413, 0x32d, 0x33c, 0x275, 0x33c, 0x275, 0x134, -0x93, 0x134, 0x93, 0x126, 0xb3, 0x126, 0xb3, 0xa9, 0x6c, 0xa9, 0x6c, -0xa9, 0x6c, 0xff53, 0xff53, 0xff53, 0xff53, 0xfe3a, 0xfe7b, 0xfe3a, 0xfe7b, 0xfc8c, -0xfd14, 0xfc8c, 0xfd14, 0xfadd, 0xfbb0, 0xfadd, 0xfbb0, 0xf839, 0xf959, 0xf839, 0xf959, -0xf839, 0xf959, 0xf558, 0xf6c5, 0xf558, 0xf6c5, 0xf2e6, 0xf4a1, 0xf2e6, 0xf4a1, 0xf0b4, -0xf2bd, 0xf0b4, 0xf2bd, 0xf012, 0xf265, 0xf012, 0xf265, 0xefb0, 0xf24a, 0xefb0, 0xf24a, -0xec2d, 0xef09, 0xec2d, 0xef09, 0xec2d, 0xef09, 0xea2c, 0xed45, 0xea2c, 0xed45, 0xe9d3, -0xed22, 0xe9d3, 0xed22, 0xe6ad, 0xea2b, 0xe6ad, 0xea2b, 0xe5ed, 0xe994, 0xe5ed, 0xe994, -0xe48e, 0xe855, 0xe48e, 0xe855, 0xe197, 0xe577, 0xe197, 0xe577, 0xe197, 0xe577, 0xe104, -0xe4f5, 0xe104, 0xe4f5, 0xdffd, 0xe3f7, 0xdffd, 0xe3f7, 0xdf54, 0xe350, 0xdf54, 0xe350, -0xde9f, 0xe297, 0xde9f, 0xe297, 0xdc6c, 0xe05a, 0xdc6c, 0xe05a, 0xdc6c, 0xe05a, 0xdb9d, -0xdf7b, 0xdb9d, 0xdf7b, 0xdbd6, 0xdfa0, 0xdbd6, 0xdfa0, 0xdc09, 0xdfbb, 0xdc09, 0xdfbb, -0xdca5, 0xe03d, 0xdca5, 0xe03d, 0xdc47, 0xdfc2, 0xdc47, 0xdfc2, 0xdd8c, 0xe0e8, 0xdd8c, -0xe0e8, 0xdd8c, 0xe0e8, 0xddc0, 0xe0fc, 0xddc0, 0xe0fc, 0xde33, 0xe14e, 0xde33, 0xe14e, -0xdf94, 0xe28e, 0xdf94, 0xe28e, 0xdd9b, 0xe074, 0xdd9b, 0xe074, 0xde68, 0xe120, 0xde68, -0xe120, 0xdeb5, 0xe14c, 0xdeb5, 0xe14c, 0xdeb5, 0xe14c, 0xdee3, 0xe159, 0xdee3, 0xe159, -0xe136, 0xe38a, 0xe136, 0xe38a, 0xe200, 0xe432, 0xe200, 0xe432, 0xe419, 0xe628, 0xe419, -0xe628, 0xe6df, 0xe8c8, 0xe6df, 0xe8c8, 0xe6df, 0xe8c8, 0xe7b9, 0xe97a, 0xe7b9, 0xe97a, -0xe88a, 0xea21, 0xe88a, 0xea21, 0xea38, 0xeba1, 0xea38, 0xeba1, 0xeaea, 0xec21, 0xeaea, -0xec21, 0xeeac, 0xefad, 0xeeac, 0xefad, 0xf1e7, 0xf2af, 0xf1e7, 0xf2af, 0xf1e7, 0xf2af, -0xf37d, 0xf406, 0xf37d, 0xf406, 0xf67f, 0xf6c5, 0xf67f, 0xf6c5, 0xf8c2, 0xf8c2, 0xf8c2, -0xf8c2, 0xfc24, 0xfbd9, 0xfc24, 0xfbd9, 0xfebb, 0xfe23, 0xfebb, 0xfe23, 0x1a6, 0xbf, -0x1a6, 0xbf, 0x1a6, 0xbf, 0x433, 0x2fa, 0x433, 0x2fa, 0x73b, 0x5b0, 0x73b, -0x5b0, 0xb49, 0x96c, 0xb49, 0x96c, 0xca1, 0xa74, 0xca1, 0xa74, 0xf6a, 0xcef, -0xf6a, 0xcef, 0xf6a, 0xcef, 0x1221, 0xf5d, 0x1221, 0xf5d, 0x1331, 0x1029, 0x1331, -0x1029, 0x1652, 0x130b, 0x1652, 0x130b, 0x1776, 0x13f9, 0x1776, 0x13f9, 0x174a, 0x139e, -0x174a, 0x139e, 0x19dd, 0x160b, 0x19dd, 0x160b, 0x19dd, 0x160b, 0x1b2f, 0x1741, 0x1b2f, -0x1741, 0x1c08, 0x1808, 0x1c08, 0x1808, 0x1ca7, 0x189f, 0x1ca7, 0x189f, 0x1be6, 0x17e0, -0x1be6, 0x17e0, 0x1b5d, 0x1762, 0x1b5d, 0x1762, 0x1bf8, 0x1813, 0x1bf8, 0x1813, 0x1bf8, -0x1813, 0x1c90, 0x18c9, 0x1c90, 0x18c9, 0x1b70, 0x17ce, 0x1b70, 0x17ce, 0x1b25, 0x17b1, -0x1b25, 0x17b1, 0x1a18, 0x16d6, 0x1a18, 0x16d6, 0x195a, 0x164f, 0x195a, 0x164f, 0x195a, -0x164f, 0x1912, 0x1642, 0x1912, 0x1642, 0x17c4, 0x1531, 0x17c4, 0x1531, 0x1723, 0x14ce, -0x1723, 0x14ce, 0x15ee, 0x13d6, 0x15ee, 0x13d6, 0x1466, 0x128a, 0x1466, 0x128a, 0x13e3, -0x1241, 0x13e3, 0x1241, 0x13e3, 0x1241, 0x1400, 0x1295, 0x1400, 0x1295, 0x1233, 0x10fb, -0x1233, 0x10fb, 0x1262, 0x1157, 0x1262, 0x1157, 0x126e, 0x118d, 0x126e, 0x118d, 0x106e, -0xfb1, 0x106e, 0xfb1, 0x1135, 0x1098, 0x1135, 0x1098, 0x1135, 0x1098, 0xfbb, 0xf39, -0xfbb, 0xf39, 0xe5b, 0xdef, 0xe5b, 0xdef, 0xdec, 0xd93, 0xdec, 0xd93, 0xccd, -0xc84, 0xccd, 0xc84, 0xe16, 0xdda, 0xe16, 0xdda, 0xe16, 0xdda, 0xd4c, 0xd1c, -0xd4c, 0xd1c, 0xbce, 0xba8, 0xbce, 0xba8, 0xbaa, 0xb8f, 0xbaa, 0xb8f, 0xb75, -0xb65, 0xb75, 0xb65, 0xb5a, 0xb56, 0xb5a, 0xb56, 0x967, 0x971, 0x967, 0x971, -0x967, 0x971, 0x7b3, 0x7cc, 0x7b3, 0x7cc, 0x6e9, 0x715, 0x6e9, 0x715, 0x61b, -0x65a, 0x61b, 0x65a, 0x6cd, 0x723, 0x6cd, 0x723, 0x60c, 0x67a, 0x60c, 0x67a, -0x439, 0x4c2, 0x439, 0x4c2, 0x439, 0x4c2, 0x370, 0x414, 0x370, 0x414, 0x111, -0x1d0, 0x111, 0x1d0, 0x6d, 0x148, 0x6d, 0x148, 0xfffa, 0xf0, 0xfffa, 0xf0, -0xfdbb, 0xfec8, 0xfdbb, 0xfec8, 0xfdbb, 0xfec8, 0xfe2a, 0xff4e, 0xfe2a, 0xff4e, 0xfd61, -0xfe97, 0xfd61, 0xfe97, 0xfd16, 0xfe5b, 0xfd16, 0xfe5b, 0xfddf, 0xff2d, 0xfddf, 0xff2d, -0xfce4, 0xfe37, 0xfce4, 0xfe37, 0xfd7b, 0xfecd, 0xfd7b, 0xfecd, 0xfd7b, 0xfecd, 0xfd55, -0xfea0, 0xfd55, 0xfea0, 0xfcbe, 0xfdfe, 0xfcbe, 0xfdfe, 0xfd9b, 0xfec9, 0xfd9b, 0xfec9, -0xfe15, 0xff2c, 0xfe15, 0xff2c, 0xfed0, 0xffcc, 0xfed0, 0xffcc, 0xfed0, 0xffcc, 0xffef, -0xcd, 0xffef, 0xcd, 0xfef1, 0xffad, 0xfef1, 0xffad, 0xff2c, 0xffc4, 0xff2c, 0xffc4, -0xff76, 0xffea, 0xff76, 0xffea, 0xfd46, 0xfd96, 0xfd46, 0xfd96, 0xfd6a, 0xfd97, 0xfd6a, -0xfd97, 0xfd6a, 0xfd97, 0xfc2a, 0xfc37, 0xfc2a, 0xfc37, 0xfaf7, 0xfae7, 0xfaf7, 0xfae7, -0xfb75, 0xfb4d, 0xfb75, 0xfb4d, 0xfbb1, 0xfb76, 0xfbb1, 0xfb76, 0xfc42, 0xfbfa, 0xfc42, -0xfbfa, 0xfbae, 0xfb5f, 0xfbae, 0xfb5f, 0xfbae, 0xfb5f, 0xfc9c, 0xfc4d, 0xfc9c, 0xfc4d, -0xfbf6, 0xfbae, 0xfbf6, 0xfbae, 0xfada, 0xfaa0, 0xfada, 0xfaa0, 0xfaab, 0xfa85, 0xfaab, -0xfa85, 0xf90f, 0xf902, 0xf90f, 0xf902, 0xf90f, 0xf902, 0xf904, 0xf915, 0xf904, 0xf915, -0xf84e, 0xf881, 0xf84e, 0xf881, 0xf768, 0xf7c0, 0xf768, 0xf7c0, 0xf70d, 0xf78c, 0xf70d, -0xf78c, 0xf4cc, 0xf573, 0xf4cc, 0xf573, 0xf2df, 0xf3ae, 0xf2df, 0xf3ae, 0xf2df, 0xf3ae, -0xf233, 0xf327, 0xf233, 0xf327, 0xf090, 0xf1a6, 0xf090, 0xf1a6, 0xef4c, 0xf081, 0xef4c, -0xf081, 0xee35, 0xef82, 0xee35, 0xef82, 0xed38, 0xee99, 0xed38, 0xee99, 0xee70, 0xefdd, -0xee70, 0xefdd, 0xee70, 0xefdd, 0xee44, 0xefb7, 0xee44, 0xefb7, 0xeeb6, 0xf027, 0xeeb6, -0xf027, 0xf00e, 0xf175, 0xf00e, 0xf175, 0xf067, 0xf1bf, 0xf067, 0xf1bf, 0xf259, 0xf399, -0xf259, 0xf399, 0xf259, 0xf399, 0xf3ab, 0xf4ce, 0xf3ab, 0xf4ce, 0xf492, 0xf592, 0xf492, -0xf592, 0xf5b0, 0xf687, 0xf5b0, 0xf687, 0xf7c0, 0xf86c, 0xf7c0, 0xf86c, 0xf9a5, 0xfa22, -0xf9a5, 0xfa22, 0xfb01, 0xfb4e, 0xfb01, 0xfb4e, 0xfb01, 0xfb4e, 0xfdf4, 0xfe0e, 0xfdf4, -0xfe0e, 0xd6, 0xbf, 0xd6, 0xbf, 0x41f, 0x3d8, 0x41f, 0x3d8, 0x705, 0x68e, -0x705, 0x68e, 0x856, 0x7b4, 0x856, 0x7b4, 0x918, 0x84c, 0x918, 0x84c, 0x918, -0x84c, 0x9e9, 0x8f8, 0x9e9, 0x8f8, 0xa53, 0x940, 0xa53, 0x940, 0xadd, 0x9ac, -0xadd, 0x9ac, 0xb18, 0x9cc, 0xb18, 0x9cc, 0xb18, 0x9b5, 0xb18, 0x9b5, 0xb18, -0x9b5, 0xc0e, 0xa97, 0xc0e, 0xa97, 0xc3a, 0xab1, 0xc3a, 0xab1, 0xc76, 0xadb, -0xc76, 0xadb, 0xccd, 0xb23, 0xccd, 0xb23, 0xd8c, 0xbd3, 0xd8c, 0xbd3, 0xecb, -0xd02, 0xecb, 0xd02, 0xecb, 0xd02, 0xec8, 0xcee, 0xec8, 0xcee, 0xec9, 0xcdd, -0xec9, 0xcdd, 0xf6f, 0xd6e, 0xf6f, 0xd6e, 0x1050, 0xe38, 0x1050, 0xe38, 0x122f, -0xffd, 0x122f, 0xffd, 0x134c, 0x10fd, 0x134c, 0x10fd, 0x134c, 0x10fd, 0x13c8, 0x115a, -0x13c8, 0x115a, 0x151f, 0x128f, 0x151f, 0x128f, 0x1620, 0x136c, 0x1620, 0x136c, 0x17c9, -0x14f0, 0x17c9, 0x14f0, 0x17e2, 0x14e3, 0x17e2, 0x14e3, 0x17e2, 0x14e3, 0x1911, 0x15ed, -0x1911, 0x15ed, 0x1ad3, 0x178b, 0x1ad3, 0x178b, 0x1ab6, 0x174d, 0x1ab6, 0x174d, 0x1d25, -0x199e, 0x1d25, 0x199e, 0x1e44, 0x1aa3, 0x1e44, 0x1aa3, 0x1d60, 0x19ac, 0x1d60, 0x19ac, -0x1d60, 0x19ac, 0x1d54, 0x1993, 0x1d54, 0x1993, 0x1d5e, 0x1996, 0x1d5e, 0x1996, 0x1c4d, -0x1887, 0x1c4d, 0x1887, 0x1c7a, 0x18be, 0x1c7a, 0x18be, 0x1bd0, 0x1827, 0x1bd0, 0x1827, -0x1bdb, 0x184d, 0x1bdb, 0x184d, 0x1bdb, 0x184d, 0x1cf3, 0x1989, 0x1cf3, 0x1989, 0x1b56, -0x1818, 0x1b56, 0x1818, 0x1bae, 0x18a4, 0x1bae, 0x18a4, 0x1980, 0x16b1, 0x1980, 0x16b1, -0x18ba, 0x162b, 0x18ba, 0x162b, 0x18ba, 0x162b, 0x1733, 0x14e9, 0x1733, 0x14e9, 0x13cd, -0x11cc, 0x13cd, 0x11cc, 0x1420, 0x1269, 0x1420, 0x1269, 0x1174, 0x1009, 0x1174, 0x1009, -0x112e, 0x100f, 0x112e, 0x100f, 0x1149, 0x1073, 0x1149, 0x1073, 0x1149, 0x1073, 0xf92, -0xf03, 0xf92, 0xf03, 0xe7d, 0xe31, 0xe7d, 0xe31, 0xd1e, 0xd0f, 0xd1e, 0xd0f, -0xb4a, 0xb73, 0xb4a, 0xb73, 0x8ba, 0x913, 0x8ba, 0x913, 0x7ad, 0x830, 0x7ad, -0x830, 0x7ad, 0x830, 0x724, 0x7c9, 0x724, 0x7c9, 0x6aa, 0x76a, 0x6aa, 0x76a, -0x593, 0x667, 0x593, 0x667, 0x541, 0x621, 0x541, 0x621, 0x3ff, 0x4e6, 0x3ff, -0x4e6, 0x3ff, 0x4e6, 0x3b7, 0x49f, 0x3b7, 0x49f, 0x392, 0x476, 0x392, 0x476, -0x16d, 0x249, 0x16d, 0x249, 0x103, 0x1d4, 0x103, 0x1d4, 0xff, 0x1c3, 0xff, -0x1c3, 0x20b, 0x2c1, 0x20b, 0x2c1, 0x20b, 0x2c1, 0x339, 0x3e2, 0x339, 0x3e2, -0x3e6, 0x481, 0x3e6, 0x481, 0x407, 0x497, 0x407, 0x497, 0x4cb, 0x551, 0x4cb, -0x551, 0x40b, 0x48a, 0x40b, 0x48a, 0x1f1, 0x26b, 0x1f1, 0x26b, 0x1f1, 0x26b, -0x168, 0x1e0, 0x168, 0x1e0, 0x1d, 0x97, 0x1d, 0x97, 0xffb8, 0x35, 0xffb8, -0x35, 0xffc6, 0x48, 0xffc6, 0x48, 0xffea, 0x74, 0xffea, 0x74, 0xffea, 0x74, -0xfdd6, 0xfe68, 0xfdd6, 0xfe68, 0xfbe1, 0xfc7c, 0xfbe1, 0xfc7c, 0xfbe4, 0xfc87, 0xfbe4, -0xfc87, 0xf97e, 0xfa28, 0xf97e, 0xfa28, 0xf7b0, 0xf860, 0xf7b0, 0xf860, 0xf731, 0xf7e4, -0xf731, 0xf7e4, 0xf731, 0xf7e4, 0xf628, 0xf6da, 0xf628, 0xf6da, 0xf5c9, 0xf678, 0xf5c9, -0xf678, 0xf717, 0xf7c0, 0xf717, 0xf7c0, 0xf751, 0xf7ee, 0xf751, 0xf7ee, 0xf755, 0xf7e4, -0xf755, 0xf7e4, 0xf86f, 0xf8ec, 0xf86f, 0xf8ec, 0xf86f, 0xf8ec, 0xf8ef, 0xf956, 0xf8ef, -0xf956, 0xf91d, 0xf96c, 0xf91d, 0xf96c, 0xf96f, 0xf9a4, 0xf96f, 0xf9a4, 0xfa11, 0xfa2b, -0xfa11, 0xfa2b, 0xf943, 0xf943, 0xf943, 0xf943, 0xf943, 0xf943, 0xf982, 0xf967, 0xf982, -0xf967, 0xf9e8, 0xf9b5, 0xf9e8, 0xf9b5, 0xf924, 0xf8dc, 0xf924, 0xf8dc, 0xf893, 0xf83a, -0xf893, 0xf83a, 0xf7a7, 0xf741, 0xf7a7, 0xf741, 0xf86a, 0xf7fe, 0xf86a, 0xf7fe, 0xf86a, -0xf7fe, 0xf832, 0xf7c6, 0xf832, 0xf7c6, 0xf738, 0xf6d4, 0xf738, 0xf6d4, 0xf63f, 0xf5e9, -0xf63f, 0xf5e9, 0xf5c3, 0xf584, 0xf5c3, 0xf584, 0xf751, 0xf730, 0xf751, 0xf730, 0xf751, -0xf730, 0xf6aa, 0xf6af, 0xf6aa, 0xf6af, 0xf560, 0xf591, 0xf560, 0xf591, 0xf400, 0xf465, -0xf400, 0xf465, 0xf314, 0xf3b1, 0xf314, 0xf3b1, 0xf383, 0xf45c, 0xf383, 0xf45c, 0xf1b5, -0xf2cf, 0xf1b5, 0xf2cf, 0xf1b5, 0xf2cf, 0xf0dc, 0xf238, 0xf0dc, 0xf238, 0xf056, 0xf1f5, -0xf056, 0xf1f5, 0xef73, 0xf155, 0xef73, 0xf155, 0xf03d, 0xf25f, 0xf03d, 0xf25f, 0xef20, -0xf17f, 0xef20, 0xf17f, 0xee1d, 0xf0b5, 0xee1d, 0xf0b5, 0xee1d, 0xf0b5, 0xee2b, 0xf0f7, -0xee2b, 0xf0f7, 0xee56, 0xf14f, 0xee56, 0xf14f, 0xeee8, 0xf207, 0xeee8, 0xf207, 0xedea, -0xf128, 0xedea, 0xf128, 0xede4, 0xf139, 0xede4, 0xf139, 0xede4, 0xf139, 0xeed7, 0xf23b, -0xeed7, 0xf23b, 0xef59, 0xf2c5, 0xef59, 0xf2c5, 0xefed, 0xf358, 0xefed, 0xf358, 0xf02c, -0xf390, 0xf02c, 0xf390, 0xf022, 0xf379, 0xf022, 0xf379, 0xf057, 0xf39d, 0xf057, 0xf39d, -0xf057, 0xf39d, 0xf1aa, 0xf4d8, 0xf1aa, 0xf4d8, 0xf245, 0xf55a, 0xf245, 0xf55a, 0xf2ac, -0xf5a5, 0xf2ac, 0xf5a5, 0xf347, 0xf622, 0xf347, 0xf622, 0xf4a9, 0xf766, 0xf4a9, 0xf766, -0xf5e8, 0xf889, 0xf5e8, 0xf889, 0xf5e8, 0xf889, 0xf647, 0xf8cc, 0xf647, 0xf8cc, 0xf876, -0xfae2, 0xf876, 0xfae2, 0xf92a, 0xfb81, 0xf92a, 0xfb81, 0xf8ea, 0xfb2d, 0xf8ea, 0xfb2d, -0xf9ee, 0xfc22, 0xf9ee, 0xfc22, 0xf9ee, 0xfc22, 0xfabb, 0xfce3, 0xfabb, 0xfce3, 0xfa28, -0xfc48, 0xfa28, 0xfc48, 0xf9bf, 0xfbd9, 0xf9bf, 0xfbd9, 0xf8f8, 0xfb0f, 0xf8f8, 0xfb0f, -0xf677, 0xf88d, 0xf677, 0xf88d, 0xf58b, 0xf7a1, 0xf58b, 0xf7a1, 0xf58b, 0xf7a1, 0xf59b, -0xf7b2, 0xf59b, 0xf7b2, 0xf607, 0xf81e, 0xf607, 0xf81e, 0xf52e, 0xf744, 0xf52e, 0xf744, -0xf586, 0xf799, 0xf586, 0xf799, 0xf628, 0xf835, 0xf628, 0xf835, 0xf5a3, 0xf7a6, 0xf5a3, -0xf7a6, 0xf5a3, 0xf7a6, 0xf593, 0xf788, 0xf593, 0xf788, 0xf3b1, 0xf595, 0xf3b1, 0xf595, -0xf395, 0xf563, 0xf395, 0xf563, 0xf293, 0xf447, 0xf293, 0xf447, 0xf380, 0xf516, 0xf380, -0xf516, 0xf380, 0xf516, 0xf4e6, 0xf65a, 0xf4e6, 0xf65a, 0xf3a3, 0xf4f1, 0xf3a3, 0xf4f1, -0xf547, 0xf66c, 0xf547, 0xf66c, 0xf4fc, 0xf5f7, 0xf4fc, 0xf5f7, 0xf478, 0xf548, 0xf478, -0xf548, 0xf3e4, 0xf489, 0xf3e4, 0xf489, 0xf3e4, 0xf489, 0xf216, 0xf291, 0xf216, 0xf291, -0xf10f, 0xf163, 0xf10f, 0xf163, 0xf05f, 0xf08e, 0xf05f, 0xf08e, 0xf08b, 0xf099, 0xf08b, -0xf099, 0xf037, 0xf029, 0xf037, 0xf029, 0xf05c, 0xf038, 0xf05c, 0xf038, 0xf05c, 0xf038, -0xf056, 0xf021, 0xf056, 0xf021, 0xefea, 0xefab, 0xefea, 0xefab, 0xef72, 0xef2f, 0xef72, -0xef2f, 0xee02, 0xedc1, 0xee02, 0xedc1, 0xed01, 0xecc7, 0xed01, 0xecc7, 0xed01, 0xecc7, -0xed72, 0xed46, 0xed72, 0xed46, 0xed25, 0xed0c, 0xed25, 0xed0c, 0xec83, 0xec7f, 0xec83, -0xec7f, 0xed24, 0xed38, 0xed24, 0xed38, 0xed87, 0xedb5, 0xed87, 0xedb5, 0xee47, 0xee8f, -0xee47, 0xee8f, 0xee47, 0xee8f, 0xee6c, 0xeecd, 0xee6c, 0xeecd, 0xed12, 0xed8b, 0xed12, -0xed8b, 0xec8e, 0xed1a, 0xec8e, 0xed1a, 0xec4f, 0xecea, 0xec4f, 0xecea, 0xec4b, 0xecf0, -0xec4b, 0xecf0, 0xed75, 0xee1d, 0xed75, 0xee1d, 0xed75, 0xee1d, 0xee0d, 0xeeb1, 0xee0d, -0xeeb1, 0xee95, 0xef2e, 0xee95, 0xef2e, 0xefcb, 0xf051, 0xefcb, 0xf051, 0xf178, 0xf1e4, -0xf178, 0xf1e4, 0xf274, 0xf2bd, 0xf274, 0xf2bd, 0xf274, 0xf2bd, 0xf320, 0xf340, 0xf320, -0xf340, 0xf501, 0xf4f2, 0xf501, 0xf4f2, 0xf5e7, 0xf5a4, 0xf5e7, 0xf5a4, 0xf72f, 0xf6b2, -0xf72f, 0xf6b2, 0xf947, 0xf88e, 0xf947, 0xf88e, 0xfa2f, 0xf938, 0xfa2f, 0xf938, 0xfa2f, -0xf938, 0xfb90, 0xfa59, 0xfb90, 0xfa59, 0xfe0a, 0xfc93, 0xfe0a, 0xfc93, 0x29, 0xfe76, -0x29, 0xfe76, 0x2bc, 0xce, 0x2bc, 0xce, 0x52b, 0x305, 0x52b, 0x305, 0x720, -0x4c8, 0x720, 0x4c8, 0x720, 0x4c8, 0x8ff, 0x67a, 0x8ff, 0x67a, 0x9c6, 0x71a, -0x9c6, 0x71a, 0xc60, 0x994, 0xc60, 0x994, 0xdab, 0xac5, 0xdab, 0xac5, 0xda0, -0xaa6, 0xda0, 0xaa6, 0xda0, 0xaa6, 0xf28, 0xc21, 0xf28, 0xc21, 0xf67, 0xc58, -0xf67, 0xc58, 0x1032, 0xd20, 0x1032, 0xd20, 0x1090, 0xd80, 0x1090, 0xd80, 0x1076, -0xd6b, 0x1076, 0xd6b, 0x1198, 0xe95, 0x1198, 0xe95, 0x1198, 0xe95, 0x124d, 0xf55, -0x124d, 0xf55, 0x128d, 0xfa0, 0x128d, 0xfa0, 0x1370, 0x108d, 0x1370, 0x108d, 0x13dd, -0x1105, 0x13dd, 0x1105, 0x1445, 0x1177, 0x1445, 0x1177, 0x163c, 0x1376, 0x163c, 0x1376, -0x163c, 0x1376, 0x16cd, 0x140d, 0x16cd, 0x140d, 0x171e, 0x1462, 0x171e, 0x1462, 0x17e1, -0x1527, 0x17e1, 0x1527, 0x187a, 0x15c0, 0x187a, 0x15c0, 0x1a0c, 0x1751, 0x1a0c, 0x1751, -0x1a0c, 0x1751, 0x1a11, 0x1755, 0x1a11, 0x1755, 0x1a19, 0x175c, 0x1a19, 0x175c, 0x1a80, -0x17c2, 0x1a80, 0x17c2, 0x1af8, 0x183b, 0x1af8, 0x183b, 0x1b87, 0x18ce, 0x1b87, 0x18ce, -0x1a25, 0x1774, 0x1a25, 0x1774, 0x1a25, 0x1774, 0x1991, 0x16ed, 0x1991, 0x16ed, 0x1851, -0x15c0, 0x1851, 0x15c0, 0x16d0, 0x1457, 0x16d0, 0x1457, 0x1683, 0x142a, 0x1683, 0x142a, -0x158a, 0x1358, 0x158a, 0x1358, 0x14ca, 0x12c6, 0x14ca, 0x12c6, 0x14ca, 0x12c6, 0x12ff, -0x1131, 0x12ff, 0x1131, 0x129f, 0x110e, 0x129f, 0x110e, 0x125f, 0x1113, 0x125f, 0x1113, -0x1034, 0xf32, 0x1034, 0xf32, 0xf0c, 0xe59, 0xf0c, 0xe59, 0xf0c, 0xe59, 0xdc9, -0xd6b, 0xdc9, 0xd6b, 0xbdf, 0xbd8, 0xbdf, 0xbd8, 0x991, 0x9e3, 0x991, 0x9e3, -0x7f0, 0x89b, 0x7f0, 0x89b, 0x68c, 0x790, 0x68c, 0x790, 0x484, 0x5de, 0x484, -0x5de, 0x484, 0x5de, 0x2ee, 0x49a, 0x2ee, 0x49a, 0x132, 0x32b, 0x132, 0x32b, -0xfe3b, 0x7b, 0xfe3b, 0x7b, 0xfc1e, 0xfe9d, 0xfc1e, 0xfe9d, 0xfb77, 0xfe2c, 0xfb77, -0xfe2c, 0xfb77, 0xfe2c, 0xf9c8, 0xfcab, 0xf9c8, 0xfcab, 0xf83f, 0xfb47, 0xf83f, 0xfb47, -0xf794, 0xfab8, 0xf794, 0xfab8, 0xf730, 0xfa66, 0xf730, 0xfa66, 0xf6b8, 0xf9f6, 0xf6b8, -0xf9f6, 0xf679, 0xf9b7, 0xf679, 0xf9b7, 0xf679, 0xf9b7, 0xf638, 0xf96e, 0xf638, 0xf96e, -0xf436, 0xf75d, 0xf436, 0xf75d, 0xf2d0, 0xf5e1, 0xf2d0, 0xf5e1, 0xf1f3, 0xf4e9, 0xf1f3, -0xf4e9, 0xf007, 0xf2dd, 0xf007, 0xf2dd, 0xf09b, 0xf34f, 0xf09b, 0xf34f, 0xf09b, 0xf34f, -0xf1c7, 0xf457, 0xf1c7, 0xf457, 0xf192, 0xf3fb, 0xf192, 0xf3fb, 0xf3b0, 0xf5f3, 0xf3b0, -0xf5f3, 0xf59e, 0xf7bd, 0xf59e, 0xf7bd, 0xf5c4, 0xf7bf, 0xf5c4, 0xf7bf, 0xf5c4, 0xf7bf, -0xf5db, 0xf7b4, 0xf5db, 0xf7b4, 0xf5a9, 0xf762, 0xf5a9, 0xf762, 0xf680, 0xf81b, 0xf680, -0xf81b, 0xf67d, 0xf7fd, 0xf67d, 0xf7fd, 0xf609, 0xf76f, 0xf609, 0xf76f, 0xf7bf, 0xf90d, -0xf7bf, 0xf90d, 0xf7bf, 0xf90d, 0xf8c5, 0xf9fd, 0xf8c5, 0xf9fd, 0xf933, 0xfa55, 0xf933, -0xfa55, 0xf909, 0xfa15, 0xf909, 0xfa15, 0xf8a2, 0xf997, 0xf8a2, 0xf997, 0xf863, 0xf93f, -0xf863, 0xf93f, 0xf6e2, 0xf7a4, 0xf6e2, 0xf7a4, 0xf6e2, 0xf7a4, 0xf6e8, 0xf78c, 0xf6e8, -0xf78c, 0xf733, 0xf7b8, 0xf733, 0xf7b8, 0xf7a0, 0xf802, 0xf7a0, 0xf802, 0xf997, 0xf9d1, -0xf997, 0xf9d1, 0xfc1d, 0xfc2d, 0xfc1d, 0xfc2d, 0xfc1d, 0xfc2d, 0xfde4, 0xfdc6, 0xfde4, -0xfdc6, 0xfeaa, 0xfe5c, 0xfeaa, 0xfe5c, 0x4e, 0xffcd, 0x4e, 0xffcd, 0x15d, 0xa7, -0x15d, 0xa7, 0x1ff, 0x113, 0x1ff, 0x113, 0x2e2, 0x1bf, 0x2e2, 0x1bf, 0x2e2, -0x1bf, 0x512, 0x3ba, 0x512, 0x3ba, 0x699, 0x50c, 0x699, 0x50c, 0x7fd, 0x640, -0x7fd, 0x640, 0xa53, 0x868, 0xa53, 0x868, 0xa68, 0x854, 0xa68, 0x854, 0xb88, -0x952, 0xb88, 0x952, 0xb88, 0x952, 0xbe2, 0x98e, 0xbe2, 0x98e, 0xc42, 0x9d9, -0xc42, 0x9d9, 0xdc7, 0xb50, 0xdc7, 0xb50, 0xd64, 0xae6, 0xd64, 0xae6, 0xe40, -0xbc4, 0xe40, 0xbc4, 0xe40, 0xbc4, 0xf2c, 0xcb8, 0xf2c, 0xcb8, 0xfaf, 0xd4b, -0xfaf, 0xd4b, 0xfc0, 0xd73, 0xfc0, 0xd73, 0xdda, 0xbaa, 0xdda, 0xbaa, 0xd1e, -0xb11, 0xd1e, 0xb11, 0xcd1, 0xaea, 0xcd1, 0xaea, 0xcd1, 0xaea, 0xb3c, 0x97f, -0xb3c, 0x97f, 0xa7b, 0x8ea, 0xa7b, 0x8ea, 0xa04, 0x8a1, 0xa04, 0x8a1, 0x95d, -0x827, 0x95d, 0x827, 0x851, 0x747, 0x851, 0x747, 0x6fc, 0x61c, 0x6fc, 0x61c, -0x6fc, 0x61c, 0x531, 0x478, 0x531, 0x478, 0x3f7, 0x361, 0x3f7, 0x361, 0x395, -0x31d, 0x395, 0x31d, 0x201, 0x1a3, 0x201, 0x1a3, 0x16d, 0x123, 0x16d, 0x123, -0x16d, 0x123, 0x124, 0xe7, 0x124, 0xe7, 0xfb, 0xc7, 0xfb, 0xc7, 0x196, -0x166, 0x196, 0x166, 0x246, 0x213, 0x246, 0x213, 0x22a, 0x1f0, 0x22a, 0x1f0, -0x291, 0x24c, 0x291, 0x24c, 0x291, 0x24c, 0x43f, 0x3eb, 0x43f, 0x3eb, 0x415, -0x3af, 0x415, 0x3af, 0x4cb, 0x451, 0x4cb, 0x451, 0x4c8, 0x438, 0x4c8, 0x438, -0x5b0, 0x509, 0x5b0, 0x509, 0x7d5, 0x718, 0x7d5, 0x718, 0x7d5, 0x718, 0x8a8, -0x7d5, 0x8a8, 0x7d5, 0xbc6, 0xadd, 0xbc6, 0xadd, 0xd15, 0xc19, 0xd15, 0xc19, -0xe1f, 0xd11, 0xe1f, 0xd11, 0xfc5, 0xea7, 0xfc5, 0xea7, 0xfc5, 0xea7, 0xf2c, -0xe00, 0xf2c, 0xe00, 0xfaf, 0xe78, 0xfaf, 0xe78, 0x101c, 0xedb, 0x101c, 0xedb, -0xf3a, 0xdf1, 0xf3a, 0xdf1, 0xf25, 0xdd5, 0xf25, 0xdd5, 0xebd, 0xd66, 0xebd, -0xd66, 0xebd, 0xd66, 0xe7b, 0xd20, 0xe7b, 0xd20, 0xfd2, 0xe71, 0xfd2, 0xe71, -0x1138, 0xfd1, 0x1138, 0xfd1, 0x1232, 0x10c5, 0x1232, 0x10c5, 0x11ba, 0x1046, 0x11ba, -0x1046, 0x11de, 0x1062, 0x11de, 0x1062, 0x11de, 0x1062, 0x1294, 0x110d, 0x1294, 0x110d, -0x1338, 0x11a6, 0x1338, 0x11a6, 0x1436, 0x1296, 0x1436, 0x1296, 0x13bf, 0x1211, 0x13bf, -0x1211, 0x14de, 0x1320, 0x14de, 0x1320, 0x14de, 0x1320, 0x1631, 0x1462, 0x1631, 0x1462, -0x16a4, 0x14c3, 0x16a4, 0x14c3, 0x17d9, 0x15e6, 0x17d9, 0x15e6, 0x17b2, 0x15ae, 0x17b2, -0x15ae, 0x1782, 0x156f, 0x1782, 0x156f, 0x189e, 0x167e, 0x189e, 0x167e, 0x189e, 0x167e, -0x1925, 0x16fa, 0x1925, 0x16fa, 0x18a7, 0x1675, 0x18a7, 0x1675, 0x1899, 0x1664, 0x1899, -0x1664, 0x1878, 0x1644, 0x1878, 0x1644, 0x17c3, 0x1595, 0x17c3, 0x1595, 0x16e6, 0x14c4, -0x16e6, 0x14c4, 0x16e6, 0x14c4, 0x159d, 0x138c, 0x159d, 0x138c, 0x1416, 0x121d, 0x1416, -0x121d, 0x126d, 0x1092, 0x126d, 0x1092, 0x11a0, 0xfe8, 0x11a0, 0xfe8, 0x10ae, 0xf1e, -0x10ae, 0xf1e, 0x10ae, 0xf1e, 0xec8, 0xd66, 0xec8, 0xd66, 0xdf8, 0xcc8, 0xdf8, -0xcc8, 0xce1, 0xbe7, 0xce1, 0xbe7, 0xb4f, 0xa8d, 0xb4f, 0xa8d, 0x911, 0x88b, -0x911, 0x88b, 0x603, 0x5b8, 0x603, 0x5b8, 0x603, 0x5b8, 0x438, 0x42a, 0x438, -0x42a, 0x1f6, 0x224, 0x1f6, 0x224, 0xff16, 0xff7f, 0xff16, 0xff7f, 0xfb0b, 0xfbad, -0xfb0b, 0xfbad, 0xf73e, 0xf815, 0xf73e, 0xf815, 0xf643, 0xf74b, 0xf643, 0xf74b, 0xf643, -0xf74b, 0xf4d5, 0xf60a, 0xf4d5, 0xf60a, 0xf317, 0xf475, 0xf317, 0xf475, 0xf1a0, 0xf322, -0xf1a0, 0xf322, 0xeeef, 0xf091, 0xeeef, 0xf091, 0xed3a, 0xeef4, 0xed3a, 0xeef4, 0xed3a, -0xeef4, 0xec66, 0xee36, 0xec66, 0xee36, 0xeaf3, 0xecd3, 0xeaf3, 0xecd3, 0xe9f4, 0xebdf, -0xe9f4, 0xebdf, 0xe814, 0xea06, 0xe814, 0xea06, 0xe78c, 0xe981, 0xe78c, 0xe981, 0xe8b5, -0xeaab, 0xe8b5, 0xeaab, 0xe8b5, 0xeaab, 0xe806, 0xe9fb, 0xe806, 0xe9fb, 0xe78a, 0xe97a, -0xe78a, 0xe97a, 0xe5ff, 0xe7ea, 0xe5ff, 0xe7ea, 0xe54d, 0xe733, 0xe54d, 0xe733, 0xe64a, -0xe82a, 0xe64a, 0xe82a, 0xe64a, 0xe82a, 0xe637, 0xe812, 0xe637, 0xe812, 0xe840, 0xea16, -0xe840, 0xea16, 0xe9b8, 0xeb8a, 0xe9b8, 0xeb8a, 0xeaf6, 0xecc4, 0xeaf6, 0xecc4, 0xee39, -0xf004, 0xee39, 0xf004, 0xef8a, 0xf154, 0xef8a, 0xf154, 0xef8a, 0xf154, 0xefc6, 0xf18f, -0xefc6, 0xf18f, 0xefc9, 0xf193, 0xefc9, 0xf193, 0xeef7, 0xf0c0, 0xeef7, 0xf0c0, 0xede9, -0xefb3, 0xede9, 0xefb3, 0xed4a, 0xef14, 0xed4a, 0xef14, 0xeda5, 0xef6d, 0xeda5, 0xef6d, -0xeda5, 0xef6d, 0xedf5, 0xefbb, 0xedf5, 0xefbb, 0xef37, 0xf0f9, 0xef37, 0xf0f9, 0xf08a, -0xf247, 0xf08a, 0xf247, 0xf046, 0xf1fb, 0xf046, 0xf1fb, 0xf0ca, 0xf275, 0xf0ca, 0xf275, -0xf0ca, 0xf275, 0xf12f, 0xf2ce, 0xf12f, 0xf2ce, 0xf13e, 0xf2d0, 0xf13e, 0xf2d0, 0xf29f, -0xf421, 0xf29f, 0xf421, 0xf405, 0xf575, 0xf405, 0xf575, 0xf5c3, 0xf720, 0xf5c3, 0xf720, -0xf83d, 0xf986, 0xf83d, 0xf986, 0xf83d, 0xf986, 0xface, 0xfc02, 0xface, 0xfc02, 0xfc7c, -0xfd9c, 0xfc7c, 0xfd9c, 0xfdb5, 0xfec1, 0xfdb5, 0xfec1, 0xff7a, 0x75, 0xff7a, 0x75, -0xffef, 0xdb, 0xffef, 0xdb, 0xffa6, 0x85, 0xffa6, 0x85, 0xffa6, 0x85, 0x94, -0x16b, 0x94, 0x16b, 0x145, 0x218, 0x145, 0x218, 0x10e, 0x1e0, 0x10e, 0x1e0, -0x1aa, 0x281, 0x1aa, 0x281, 0x297, 0x379, 0x297, 0x379, 0x297, 0x379, 0x2e2, -0x3d4, 0x2e2, 0x3d4, 0x310, 0x417, 0x310, 0x417, 0x2f0, 0x413, 0x2f0, 0x413, -0x27b, 0x3be, 0x27b, 0x3be, 0x136, 0x29d, 0x136, 0x29d, 0xffd1, 0x161, 0xffd1, -0x161, 0xffd1, 0x161, 0xff39, 0xf6, 0xff39, 0xf6, 0xfdef, 0xffdb, 0xfdef, 0xffdb, -0xfcba, 0xfed7, 0xfcba, 0xfed7, 0xfbac, 0xfdfa, 0xfbac, 0xfdfa, 0xfa3b, 0xfcbc, 0xfa3b, -0xfcbc, 0xfa98, 0xfd4a, 0xfa98, 0xfd4a, 0xfa98, 0xfd4a, 0xf994, 0xfc76, 0xf994, 0xfc76, -0xf818, 0xfb27, 0xf818, 0xfb27, 0xf705, 0xfa3f, 0xf705, 0xfa3f, 0xf397, 0xf6f7, 0xf397, -0xf6f7, 0xf1d4, 0xf555, 0xf1d4, 0xf555, 0xf1d4, 0xf555, 0xef95, 0xf333, 0xef95, 0xf333, -0xedf9, 0xf1af, 0xedf9, 0xf1af, 0xecf4, 0xf0bc, 0xecf4, 0xf0bc, 0xea0a, 0xeddf, 0xea0a, -0xeddf, 0xe911, 0xecee, 0xe911, 0xecee, 0xe6d7, 0xeab5, 0xe6d7, 0xeab5, 0xe6d7, 0xeab5, -0xe531, 0xe90d, 0xe531, 0xe90d, 0xe4ff, 0xe8d3, 0xe4ff, 0xe8d3, 0xe42a, 0xe7f3, 0xe42a, -0xe7f3, 0xe2fa, 0xe6b3, 0xe2fa, 0xe6b3, 0xe084, 0xe42b, 0xe084, 0xe42b, 0xdf9c, 0xe32e, -0xdf9c, 0xe32e, 0xdf9c, 0xe32e, 0xdfdc, 0xe357, 0xdfdc, 0xe357, 0xe033, 0xe395, 0xe033, -0xe395, 0xe083, 0xe3cb, 0xe083, 0xe3cb, 0xe00b, 0xe337, 0xe00b, 0xe337, 0xdfb7, 0xe2c7, -0xdfb7, 0xe2c7, 0xdfb7, 0xe2c7, 0xe137, 0xe42a, 0xe137, 0xe42a, 0xe2a0, 0xe576, 0xe2a0, -0xe576, 0xe352, 0xe60b, 0xe352, 0xe60b, 0xe49d, 0xe737, 0xe49d, 0xe737, 0xe515, 0xe78f, -0xe515, 0xe78f, 0xe6b6, 0xe90f, 0xe6b6, 0xe90f, 0xe6b6, 0xe90f, 0xe88a, 0xeac1, 0xe88a, -0xeac1, 0xe8e9, 0xeafc, 0xe8e9, 0xeafc, 0xe981, 0xeb6d, 0xe981, 0xeb6d, 0xe9eb, 0xebad, -0xe9eb, 0xebad, 0xead1, 0xec67, 0xead1, 0xec67, 0xec94, 0xedf9, 0xec94, 0xedf9, 0xec94, -0xedf9, 0xeda8, 0xeed8, 0xeda8, 0xeed8, 0xeec2, 0xefbb, 0xeec2, 0xefbb, 0xf098, 0xf155, -0xf098, 0xf155, 0xf2da, 0xf357, 0xf2da, 0xf357, 0xf5a0, 0xf5d9, 0xf5a0, 0xf5d9, 0xf5a0, -0xf5d9, 0xf725, 0xf717, 0xf725, 0xf717, 0xf865, 0xf80c, 0xf865, 0xf80c, 0xfa37, 0xf991, -0xfa37, 0xf991, 0xfc84, 0xfb8f, 0xfc84, 0xfb8f, 0xff66, 0xfe22, 0xff66, 0xfe22, 0x6c, -0xfed7, 0x6c, 0xfed7, 0x6c, 0xfed7, 0x20a, 0x25, 0x20a, 0x25, 0x576, 0x343, -0x576, 0x343, 0x815, 0x596, 0x815, 0x596, 0xaa6, 0x7df, 0xaa6, 0x7df, 0xcc3, -0x9b7, 0xcc3, 0x9b7, 0xe5d, 0xb12, 0xe5d, 0xb12, 0xe5d, 0xb12, 0xf4c, 0xbc7, -0xf4c, 0xbc7, 0x1039, 0xc81, 0x1039, 0xc81, 0x1261, 0xe7c, 0x1261, 0xe7c, 0x125d, -0xe52, 0x125d, 0xe52, 0x1354, 0xf2b, 0x1354, 0xf2b, 0x1354, 0xf2b, 0x162f, 0x11ef, -0x162f, 0x11ef, 0x16dc, 0x128c, 0x16dc, 0x128c, 0x17ae, 0x1356, 0x17ae, 0x1356, 0x17c6, -0x136d, 0x17c6, 0x136d, 0x179c, 0x1347, 0x179c, 0x1347, 0x1758, 0x130d, 0x1758, 0x130d, -0x1758, 0x130d, 0x1636, 0x11fb, 0x1636, 0x11fb, 0x165a, 0x1231, 0x165a, 0x1231, 0x1611, -0x1200, 0x1611, 0x1200, 0x163d, 0x1246, 0x163d, 0x1246, 0x17be, 0x13e3, 0x17be, 0x13e3, -0x17a5, 0x13e8, 0x17a5, 0x13e8, 0x17a5, 0x13e8, 0x16d3, 0x1335, 0x16d3, 0x1335, 0x1584, -0x1205, 0x1584, 0x1205, 0x1331, 0xfd1, 0x1331, 0xfd1, 0x122a, 0xee8, 0x122a, 0xee8, -0x10fe, 0xdd9, 0x10fe, 0xdd9, 0x10fe, 0xdd9, 0xf98, 0xc8f, 0xf98, 0xc8f, 0xea6, -0xbba, 0xea6, 0xbba, 0xe6c, 0xb9b, 0xe6c, 0xb9b, 0xf61, 0xcab, 0xf61, 0xcab, -0xec2, 0xc26, 0xec2, 0xc26, 0xe80, 0xbfe, 0xe80, 0xbfe, 0xe80, 0xbfe, 0xe48, -0xbe1, 0xe48, 0xbe1, 0xce3, 0xa99, 0xce3, 0xa99, 0xbde, 0x9b1, 0xbde, 0x9b1, -0x9c7, 0x7b8, 0x9c7, 0x7b8, 0x80c, 0x61f, 0x80c, 0x61f, 0x700, 0x537, 0x700, -0x537, 0x700, 0x537, 0x5f0, 0x44c, 0x5f0, 0x44c, 0x66e, 0x4f3, 0x66e, 0x4f3, -0x718, 0x5c8, 0x718, 0x5c8, 0x6b6, 0x595, 0x6b6, 0x595, 0x700, 0x610, 0x700, -0x610, 0x700, 0x610, 0x6bf, 0x601, 0x6bf, 0x601, 0x5f8, 0x56f, 0x5f8, 0x56f, -0x6ca, 0x677, 0x6ca, 0x677, 0x670, 0x654, 0x670, 0x654, 0x4d4, 0x4ef, 0x4d4, -0x4ef, 0x3df, 0x430, 0x3df, 0x430, 0x3df, 0x430, 0x312, 0x398, 0x312, 0x398, -0x2e5, 0x39e, 0x2e5, 0x39e, 0x23c, 0x325, 0x23c, 0x325, 0x15a, 0x270, 0x15a, -0x270, 0x5a, 0x198, 0x5a, 0x198, 0x5a, 0x198, 0xff3d, 0xa0, 0xff3d, 0xa0, -0xff88, 0x10a, 0xff88, 0x10a, 0xff1d, 0xba, 0xff1d, 0xba, 0xfeb8, 0x6b, 0xfeb8, -0x6b, 0xfe8e, 0x51, 0xfe8e, 0x51, 0xfe6d, 0x3b, 0xfe6d, 0x3b, 0xfe6d, 0x3b, -0xff97, 0x16b, 0xff97, 0x16b, 0xff2e, 0x105, 0xff2e, 0x105, 0xfec3, 0x97, 0xfec3, -0x97, 0xfeb8, 0x87, 0xfeb8, 0x87, 0xfe66, 0x2d, 0xfe66, 0x2d, 0xff9d, 0x159, -0xff9d, 0x159, 0xff9d, 0x159, 0xff49, 0xf9, 0xff49, 0xf9, 0xfe27, 0xffcb, 0xfe27, -0xffcb, 0xff37, 0xcd, 0xff37, 0xcd, 0xffa4, 0x12e, 0xffa4, 0x12e, 0x1, 0x180, -0x1, 0x180, 0x1, 0x180, 0x7, 0x17c, 0x7, 0x17c, 0xfddd, 0xff4a, 0xfddd, -0xff4a, 0xfe08, 0xff6f, 0xfe08, 0xff6f, 0xfdd1, 0xff36, 0xfdd1, 0xff36, 0xfd1e, 0xfe82, -0xfd1e, 0xfe82, 0xfd5b, 0xfec2, 0xfd5b, 0xfec2, 0xfd5b, 0xfec2, 0xfb77, 0xfce2, 0xfb77, -0xfce2, 0xfbc4, 0xfd35, 0xfbc4, 0xfd35, 0xfc20, 0xfd98, 0xfc20, 0xfd98, 0xfc27, 0xfda8, -0xfc27, 0xfda8, 0xfc07, 0xfd92, 0xfc07, 0xfd92, 0xf969, 0xfafd, 0xf969, 0xfafd, 0xf969, -0xfafd, 0xf84a, 0xf9e6, 0xf84a, 0xf9e6, 0xf76e, 0xf911, 0xf76e, 0xf911, 0xf5ed, 0xf796, -0xf5ed, 0xf796, 0xf4e4, 0xf690, 0xf4e4, 0xf690, 0xf455, 0xf602, 0xf455, 0xf602, 0xf455, -0xf602, 0xf387, 0xf530, 0xf387, 0xf530, 0xf306, 0xf4a7, 0xf306, 0xf4a7, 0xf3af, 0xf546, -0xf3af, 0xf546, 0xf3c2, 0xf54a, 0xf3c2, 0xf54a, 0xf2c1, 0xf435, 0xf2c1, 0xf435, 0xf1bb, -0xf318, 0xf1bb, 0xf318, 0xf1bb, 0xf318, 0xf18e, 0xf2d0, 0xf18e, 0xf2d0, 0xf0b6, 0xf1d9, -0xf0b6, 0xf1d9, 0xf0fa, 0xf1fb, 0xf0fa, 0xf1fb, 0xf18f, 0xf26c, 0xf18f, 0xf26c, 0xf222, -0xf2d7, 0xf222, 0xf2d7, 0xf479, 0xf505, 0xf479, 0xf505, 0xf479, 0xf505, 0xf554, 0xf5b6, -0xf554, 0xf5b6, 0xf6de, 0xf716, 0xf6de, 0xf716, 0xf820, 0xf82e, 0xf820, 0xf82e, 0xf7e5, -0xf7c9, 0xf7e5, 0xf7c9, 0xf91a, 0xf8d6, 0xf91a, 0xf8d6, 0xf91a, 0xf8d6, 0xfa46, 0xf9db, -0xfa46, 0xf9db, 0xfb9f, 0xfb0e, 0xfb9f, 0xfb0e, 0xfdae, 0xfcf9, 0xfdae, 0xfcf9, 0x25, -0xff4f, 0x25, 0xff4f, 0x27e, 0x189, 0x27e, 0x189, 0x4e1, 0x3cf, 0x4e1, 0x3cf, -0x4e1, 0x3cf, 0x6fd, 0x5d0, 0x6fd, 0x5d0, 0x755, 0x60f, 0x755, 0x60f, 0x71d, -0x5bf, 0x71d, 0x5bf, 0x7bc, 0x648, 0x7bc, 0x648, 0x808, 0x67f, 0x808, 0x67f, -0x76e, 0x5d0, 0x76e, 0x5d0, 0x76e, 0x5d0, 0x80b, 0x658, 0x80b, 0x658, 0x9d9, -0x811, 0x9d9, 0x811, 0xafd, 0x920, 0xafd, 0x920, 0xb07, 0x914, 0xb07, 0x914, -0xa8e, 0x882, 0xa8e, 0x882, 0xa8e, 0x882, 0x99e, 0x77a, 0x99e, 0x77a, 0x948, -0x709, 0x948, 0x709, 0xb12, 0x8b8, 0xb12, 0x8b8, 0xb62, 0x8eb, 0xb62, 0x8eb, -0xaa9, 0x813, 0xaa9, 0x813, 0xd0a, 0xa56, 0xd0a, 0xa56, 0xd0a, 0xa56, 0xf9a, -0xcc7, 0xf9a, 0xcc7, 0x11bc, 0xeca, 0x11bc, 0xeca, 0x140a, 0x10fa, 0x140a, 0x10fa, -0x1496, 0x1168, 0x1496, 0x1168, 0x1580, 0x1237, 0x1580, 0x1237, 0x16a3, 0x1341, 0x16a3, -0x1341, 0x16a3, 0x1341, 0x17a6, 0x142e, 0x17a6, 0x142e, 0x1952, 0x15c7, 0x1952, 0x15c7, -0x199e, 0x1604, 0x199e, 0x1604, 0x1aad, 0x170a, 0x1aad, 0x170a, 0x1c88, 0x18e0, 0x1c88, -0x18e0, 0x1c88, 0x18e0, 0x1d7d, 0x19d5, 0x1d7d, 0x19d5, 0x1ed2, 0x1b31, 0x1ed2, 0x1b31, -0x1e74, 0x1ade, 0x1e74, 0x1ade, 0x1d89, 0x1a05, 0x1d89, 0x1a05, 0x1d5b, 0x19ed, 0x1d5b, -0x19ed, 0x1cac, 0x195a, 0x1cac, 0x195a, 0x1cac, 0x195a, 0x1c6f, 0x193e, 0x1c6f, 0x193e, -0x1b70, 0x1864, 0x1b70, 0x1864, 0x1afb, 0x1818, 0x1afb, 0x1818, 0x1b3e, 0x1888, 0x1b3e, -0x1888, 0x1af1, 0x186b, 0x1af1, 0x186b, 0x1b12, 0x18bd, 0x1b12, 0x18bd, 0x1b12, 0x18bd, -0x19df, 0x17bc, 0x19df, 0x17bc, 0x190d, 0x171d, 0x190d, 0x171d, 0x1857, 0x1699, 0x1857, -0x1699, 0x16b4, 0x1528, 0x16b4, 0x1528, 0x1613, 0x14b7, 0x1613, 0x14b7, 0x1613, 0x14b7, -0x1401, 0x12d2, 0x1401, 0x12d2, 0x1264, 0x1160, 0x1264, 0x1160, 0x11fd, 0x1121, 0x11fd, -0x1121, 0x1027, 0xf6e, 0x1027, 0xf6e, 0xe8b, 0xdf3, 0xe8b, 0xdf3, 0xcf4, 0xc79, -0xcf4, 0xc79, 0xcf4, 0xc79, 0xa5c, 0x9f9, 0xa5c, 0x9f9, 0x90f, 0x8c1, 0x90f, -0x8c1, 0x9c4, 0x987, 0x9c4, 0x987, 0x9cc, 0x99d, 0x9cc, 0x99d, 0x96b, 0x946, -0x96b, 0x946, 0x8fd, 0x8e0, 0x8fd, 0x8e0, 0x8fd, 0x8e0, 0x880, 0x869, 0x880, -0x869, 0x7c6, 0x7b3, 0x7c6, 0x7b3, 0x67d, 0x66d, 0x67d, 0x66d, 0x562, 0x553, -0x562, 0x553, 0x35f, 0x352, 0x35f, 0x352, 0x35f, 0x352, 0x2cc, 0x2c0, 0x2cc, -0x2c0, 0x348, 0x33e, 0x348, 0x33e, 0x398, 0x390, 0x398, 0x390, 0x457, 0x451, -0x457, 0x451, 0x445, 0x443, 0x445, 0x443, 0x421, 0x423, 0x421, 0x423, 0x421, -0x423, 0x37b, 0x383, 0x37b, 0x383, 0x2ba, 0x2c8, 0x2ba, 0x2c8, 0x10a, 0x11f, -0x10a, 0x11f, 0xfeae, 0xfeca, 0xfeae, 0xfeca, 0xfd25, 0xfd48, 0xfd25, 0xfd48, 0xfb67, -0xfb92, 0xfb67, 0xfb92, 0xfb67, 0xfb92, 0xf96c, 0xf99f, 0xf96c, 0xf99f, 0xf840, 0xf879, -0xf840, 0xf879, 0xf725, 0xf763, 0xf725, 0xf763, 0xf63c, 0xf67e, 0xf63c, 0xf67e, 0xf746, -0xf78b, 0xf746, 0xf78b, 0xf746, 0xf78b, 0xf678, 0xf6be, 0xf678, 0xf6be, 0xf5c0, 0xf606, -0xf5c0, 0xf606, 0xf5fd, 0xf641, 0xf5fd, 0xf641, 0xf54d, 0xf58c, 0xf54d, 0xf58c, 0xf611, -0xf64a, 0xf611, 0xf64a, 0xf508, 0xf53a, 0xf508, 0xf53a, 0xf508, 0xf53a, 0xf40b, 0xf435, -0xf40b, 0xf435, 0xf3bd, 0xf3df, 0xf3bd, 0xf3df, 0xf3f2, 0xf40b, 0xf3f2, 0xf40b, 0xf5b2, -0xf5c3, 0xf5b2, 0xf5c3, 0xf562, 0xf56b, 0xf562, 0xf56b, 0xf562, 0xf56b, 0xf498, 0xf49b, -0xf498, 0xf49b, 0xf481, 0xf47f, 0xf481, 0xf47f, 0xf4de, 0xf4da, 0xf4de, 0xf4da, 0xf538, -0xf535, 0xf538, 0xf535, 0xf4aa, 0xf4ac, 0xf4aa, 0xf4ac, 0xf44d, 0xf457, 0xf44d, 0xf457, -0xf44d, 0xf457, 0xf4a6, 0xf4bd, 0xf4a6, 0xf4bd, 0xf615, 0xf63d, 0xf615, 0xf63d, 0xf7ee, -0xf82c, 0xf7ee, 0xf82c, 0xf826, 0xf87e, 0xf826, 0xf87e, 0xf78a, 0xf802, 0xf78a, 0xf802, -0xf743, 0xf7de, 0xf743, 0xf7de, 0xf743, 0xf7de, 0xf6d1, 0xf794, 0xf6d1, 0xf794, 0xf653, -0xf741, 0xf653, 0xf741, 0xf4cb, 0xf5e7, 0xf4cb, 0xf5e7, 0xf41d, 0xf56a, 0xf41d, 0xf56a, -0xf550, 0xf6d1, 0xf550, 0xf6d1, 0xf550, 0xf6d1, 0xf5ee, 0xf7a2, 0xf5ee, 0xf7a2, 0xf5e5, -0xf7ce, 0xf5e5, 0xf7ce, 0xf4e2, 0xf6ff, 0xf4e2, 0xf6ff, 0xf2a9, 0xf4f8, 0xf2a9, 0xf4f8, -0xf1ad, 0xf42d, 0xf1ad, 0xf42d, 0xf1c7, 0xf475, 0xf1c7, 0xf475, 0xf1c7, 0xf475, 0xf140, -0xf41a, 0xf140, 0xf41a, 0xf076, 0xf376, 0xf076, 0xf376, 0xf031, 0xf353, 0xf031, 0xf353, -0xf169, 0xf4a9, 0xf169, 0xf4a9, 0xf1ee, 0xf546, 0xf1ee, 0xf546, 0xf1e2, 0xf54d, 0xf1e2, -0xf54d, 0xf1e2, 0xf54d, 0xf246, 0xf5c0, 0xf246, 0xf5c0, 0xf166, 0xf4e8, 0xf166, 0xf4e8, -0xf0d8, 0xf45e, 0xf0d8, 0xf45e, 0xf16f, 0xf4f5, 0xf16f, 0xf4f5, 0xf212, 0xf592, 0xf212, -0xf592, 0xf212, 0xf592, 0xf1e5, 0xf55c, 0xf1e5, 0xf55c, 0xf23d, 0xf5a8, 0xf23d, 0xf5a8, -0xf38d, 0xf6e9, 0xf38d, 0xf6e9, 0xf4a1, 0xf7eb, 0xf4a1, 0xf7eb, 0xf58a, 0xf8c1, 0xf58a, -0xf8c1, 0xf6b5, 0xf9d8, 0xf6b5, 0xf9d8, 0xf6b5, 0xf9d8, 0xf70e, 0xfa1c, 0xf70e, 0xfa1c, -0xf790, 0xfa8a, 0xf790, 0xfa8a, 0xf9c8, 0xfcae, 0xf9c8, 0xfcae, 0xf993, 0xfc65, 0xf993, -0xfc65, 0xf9b3, 0xfc72, 0xf9b3, 0xfc72, 0xfad9, 0xfd86, 0xfad9, 0xfd86, 0xfad9, 0xfd86, -0xfa2b, 0xfcc6, 0xfa2b, 0xfcc6, 0xfa91, 0xfd1d, 0xfa91, 0xfd1d, 0xfa88, 0xfd04, 0xfa88, -0xfd04, 0xfaa4, 0xfd11, 0xfaa4, 0xfd11, 0xf9dd, 0xfc3b, 0xf9dd, 0xfc3b, 0xf9dd, 0xfc3b, -0xf8b7, 0xfb06, 0xf8b7, 0xfb06, 0xf907, 0xfb47, 0xf907, 0xfb47, 0xf7b2, 0xf9e2, 0xf7b2, -0xf9e2, 0xf751, 0xf970, 0xf751, 0xf970, 0xf745, 0xf950, 0xf745, 0xf950, 0xf5ee, 0xf7e4, -0xf5ee, 0xf7e4, 0xf5ee, 0xf7e4, 0xf63d, 0xf81c, 0xf63d, 0xf81c, 0xf5c5, 0xf78a, 0xf5c5, -0xf78a, 0xf413, 0xf5bb, 0xf413, 0xf5bb, 0xf3c0, 0xf549, 0xf3c0, 0xf549, 0xf334, 0xf49c, -0xf334, 0xf49c, 0xf30a, 0xf44e, 0xf30a, 0xf44e, 0xf30a, 0xf44e, 0xf340, 0xf45e, 0xf340, -0xf45e, 0xf386, 0xf47d, 0xf386, 0xf47d, 0xf45e, 0xf52b, 0xf45e, 0xf52b, 0xf45e, 0xf502, -0xf45e, 0xf502, 0xf4ca, 0xf544, 0xf4ca, 0xf544, 0xf4ca, 0xf544, 0xf40c, 0xf45d, 0xf40c, -0xf45d, 0xf2f6, 0xf31f, 0xf2f6, 0xf31f, 0xf272, 0xf275, 0xf272, 0xf275, 0xf16a, 0xf149, -0xf16a, 0xf149, 0xf1e4, 0xf1a3, 0xf1e4, 0xf1a3, 0xf185, 0xf128, 0xf185, 0xf128, 0xf185, -0xf128, 0xf0d4, 0xf05e, 0xf0d4, 0xf05e, 0xf0cb, 0xf041, 0xf0cb, 0xf041, 0xf027, 0xef8d, -0xf027, 0xef8d, 0xefd3, 0xef2e, 0xefd3, 0xef2e, 0xef97, 0xeeec, 0xef97, 0xeeec, 0xeeea, -0xee3d, 0xeeea, 0xee3d, 0xeeea, 0xee3d, 0xee3d, 0xed93, 0xee3d, 0xed93, 0xeed7, 0xee34, -0xeed7, 0xee34, 0xefb8, 0xef1f, 0xefb8, 0xef1f, 0xf04f, 0xefc4, 0xf04f, 0xefc4, 0xf077, -0xeffa, 0xf077, 0xeffa, 0xf077, 0xeffa, 0xf0af, 0xf043, 0xf0af, 0xf043, 0xf10f, 0xf0b4, -0xf10f, 0xf0b4, 0xf118, 0xf0cf, 0xf118, 0xf0cf, 0xf1f4, 0xf1bb, 0xf1f4, 0xf1bb, 0xf173, -0xf148, 0xf173, 0xf148, 0xf089, 0xf06b, 0xf089, 0xf06b, 0xf089, 0xf06b, 0xf101, 0xf0eb, -0xf101, 0xf0eb, 0xf111, 0xf100, 0xf111, 0xf100, 0xf14e, 0xf13f, 0xf14e, 0xf13f, 0xf17b, -0xf169, 0xf17b, 0xf169, 0xf186, 0xf16c, 0xf186, 0xf16c, 0xf283, 0xf25d, 0xf283, 0xf25d, -0xf283, 0xf25d, 0xf3a0, 0xf369, 0xf3a0, 0xf369, 0xf498, 0xf44d, 0xf498, 0xf44d, 0xf556, -0xf4f3, 0xf556, 0xf4f3, 0xf580, 0xf501, 0xf580, 0xf501, 0xf6d1, 0xf634, 0xf6d1, 0xf634, -0xf6d1, 0xf634, 0xf816, 0xf759, 0xf816, 0xf759, 0xf8a1, 0xf7c3, 0xf8a1, 0xf7c3, 0xfa37, -0xf936, 0xfa37, 0xf936, 0xfba5, 0xfa82, 0xfba5, 0xfa82, 0xfe80, 0xfd3b, 0xfe80, 0xfd3b, -0x1e3, 0x7e, 0x1e3, 0x7e, 0x1e3, 0x7e, 0x3b5, 0x233, 0x3b5, 0x233, 0x5e0, -0x442, 0x5e0, 0x442, 0x77d, 0x5c7, 0x77d, 0x5c7, 0x9ca, 0x7ff, 0x9ca, 0x7ff, -0xb8a, 0x9ad, 0xb8a, 0x9ad, 0xb75, 0x98a, 0xb75, 0x98a, 0xb75, 0x98a, 0xca6, -0xab2, 0xca6, 0xab2, 0xd58, 0xb5d, 0xd58, 0xb5d, 0xef7, 0xcf8, 0xef7, 0xcf8, -0x10b7, 0xeb7, 0x10b7, 0xeb7, 0xfc6, 0xdc8, 0xfc6, 0xdc8, 0xfc6, 0xdc8, 0xeef, -0xcf5, 0xeef, 0xcf5, 0xe02, 0xc0e, 0xe02, 0xc0e, 0xe61, 0xc73, 0xe61, 0xc73, -0xf51, 0xd6a, 0xf51, 0xd6a, 0xf9a, 0xdbb, 0xf9a, 0xdbb, 0x1083, 0xeab, 0x1083, -0xeab, 0x1083, 0xeab, 0x1126, 0xf55, 0x1126, 0xf55, 0x1357, 0x118c, 0x1357, 0x118c, -0x15d9, 0x1412, 0x15d9, 0x1412, 0x16c1, 0x14ff, 0x16c1, 0x14ff, 0x16f4, 0x1535, 0x16f4, -0x1535, 0x16e9, 0x152c, 0x16e9, 0x152c, 0x16e9, 0x152c, 0x1720, 0x1565, 0x1720, 0x1565, -0x16e3, 0x152b, 0x16e3, 0x152b, 0x168b, 0x14d5, 0x168b, 0x14d5, 0x174e, 0x159b, 0x174e, -0x159b, 0x1884, 0x16d6, 0x1884, 0x16d6, 0x1884, 0x16d6, 0x18a4, 0x16fd, 0x18a4, 0x16fd, -0x18e0, 0x1742, 0x18e0, 0x1742, 0x1909, 0x1778, 0x1909, 0x1778, 0x1851, 0x16d1, 0x1851, -0x16d1, 0x174c, 0x15e1, 0x174c, 0x15e1, 0x160c, 0x14ba, 0x160c, 0x14ba, 0x160c, 0x14ba, -0x14d4, 0x13a1, 0x14d4, 0x13a1, 0x128f, 0x117f, 0x128f, 0x117f, 0x114f, 0x1068, 0x114f, -0x1068, 0x109c, 0xfe2, 0x109c, 0xfe2, 0xec6, 0xe3d, 0xec6, 0xe3d, 0xec6, 0xe3d, -0xdff, 0xdac, 0xdff, 0xdac, 0xc76, 0xc5c, 0xc76, 0xc5c, 0x9ea, 0xa0d, 0x9ea, -0xa0d, 0x8c8, 0x929, 0x8c8, 0x929, 0x824, 0x8c5, 0x824, 0x8c5, 0x6c1, 0x7a2, -0x6c1, 0x7a2, 0x6c1, 0x7a2, 0x58e, 0x6af, 0x58e, 0x6af, 0x481, 0x5df, 0x481, -0x5df, 0x38e, 0x528, 0x38e, 0x528, 0x23b, 0x40c, 0x23b, 0x40c, 0xa0, 0x2a4, -0xa0, 0x2a4, 0xff11, 0x144, 0xff11, 0x144, 0xff11, 0x144, 0xfbea, 0xfe46, 0xfbea, -0xfe46, 0xfa5e, 0xfcdc, 0xfa5e, 0xfcdc, 0xf946, 0xfbdf, 0xf946, 0xfbdf, 0xf78b, 0xfa3a, -0xf78b, 0xfa3a, 0xf7cf, 0xfa8c, 0xf7cf, 0xfa8c, 0xf7cf, 0xfa8c, 0xf744, 0xfa08, 0xf744, -0xfa08, 0xf746, 0xfa0b, 0xf746, 0xfa0b, 0xf702, 0xf9c1, 0xf702, 0xf9c1, 0xf557, 0xf80a, -0xf557, 0xf80a, 0xf3ce, 0xf670, 0xf3ce, 0xf670, 0xf1b5, 0xf441, 0xf1b5, 0xf441, 0xf1b5, -0xf441, 0xf159, 0xf3cc, 0xf159, 0xf3cc, 0xf193, 0xf3e8, 0xf193, 0xf3e8, 0xf1c6, 0xf3fb, -0xf1c6, 0xf3fb, 0xf303, 0xf516, 0xf303, 0xf516, 0xf369, 0xf559, 0xf369, 0xf559, 0xf49a, -0xf665, 0xf49a, 0xf665, 0xf49a, 0xf665, 0xf6a7, 0xf84d, 0xf6a7, 0xf84d, 0xf697, 0xf819, -0xf697, 0xf819, 0xf5db, 0xf739, 0xf5db, 0xf739, 0xf59d, 0xf6d7, 0xf59d, 0xf6d7, 0xf5b8, -0xf6d0, 0xf5b8, 0xf6d0, 0xf5b8, 0xf6d0, 0xf677, 0xf76d, 0xf677, 0xf76d, 0xf683, 0xf758, -0xf683, 0xf758, 0xf687, 0xf73c, 0xf687, 0xf73c, 0xf64e, 0xf6e3, 0xf64e, 0xf6e3, 0xf683, -0xf6f9, 0xf683, 0xf6f9, 0xf811, 0xf868, 0xf811, 0xf868, 0xf811, 0xf868, 0xf8cc, 0xf903, -0xf8cc, 0xf903, 0xf985, 0xf99c, 0xf985, 0xf99c, 0xf980, 0xf977, 0xf980, 0xf977, 0xf91a, -0xf8ef, 0xf91a, 0xf8ef, 0xfa60, 0xfa13, 0xfa60, 0xfa13, 0xfb0a, 0xfa99, 0xfb0a, 0xfa99, -0xfb0a, 0xfa99, 0xfb89, 0xfaf4, 0xfb89, 0xfaf4, 0xfccf, 0xfc16, 0xfccf, 0xfc16, 0xfdce, -0xfcef, 0xfdce, 0xfcef, 0xff87, 0xfe82, 0xff87, 0xfe82, 0x1f4, 0xc8, 0x1f4, 0xc8, -0x1f4, 0xc8, 0x2ff, 0x1ae, 0x2ff, 0x1ae, 0x34a, 0x1d4, 0x34a, 0x1d4, 0x4f2, -0x359, 0x4f2, 0x359, 0x6e2, 0x528, 0x6e2, 0x528, 0x84f, 0x677, 0x84f, 0x677, -0x9e2, 0x7ee, 0x9e2, 0x7ee, 0x9e2, 0x7ee, 0xb1e, 0x912, 0xb1e, 0x912, 0xb89, -0x96a, 0xb89, 0x96a, 0xca6, 0xa77, 0xca6, 0xa77, 0xe0e, 0xbd6, 0xe0e, 0xbd6, -0xdbe, 0xb81, 0xdbe, 0xb81, 0xde9, 0xbad, 0xde9, 0xbad, 0xde9, 0xbad, 0xe5d, -0xc27, 0xe5d, 0xc27, 0xe11, 0xbe7, 0xe11, 0xbe7, 0xe2a, 0xc12, 0xe2a, 0xc12, -0xdd4, 0xbd2, 0xdd4, 0xbd2, 0xddb, 0xbf4, 0xddb, 0xbf4, 0xddb, 0xbf4, 0xd47, -0xb7e, 0xd47, 0xb7e, 0xbdd, 0xa36, 0xbdd, 0xa36, 0xa5f, 0x8de, 0xa5f, 0x8de, -0x7f7, 0x69d, 0x7f7, 0x69d, 0x70a, 0x5d9, 0x70a, 0x5d9, 0x6b5, 0x5ac, 0x6b5, -0x5ac, 0x6b5, 0x5ac, 0x517, 0x437, 0x517, 0x437, 0x3cc, 0x313, 0x3cc, 0x313, -0x294, 0x200, 0x294, 0x200, 0x281, 0x210, 0x281, 0x210, 0x39b, 0x349, 0x39b, -0x349, 0x34a, 0x313, 0x34a, 0x313, 0x34a, 0x313, 0x327, 0x306, 0x327, 0x306, -0x311, 0x302, 0x311, 0x302, 0x2de, 0x2db, 0x2de, 0x2db, 0x41a, 0x41e, 0x41a, -0x41e, 0x43f, 0x445, 0x43f, 0x445, 0x43f, 0x445, 0x433, 0x435, 0x433, 0x435, -0x3ab, 0x3a4, 0x3ab, 0x3a4, 0x378, 0x364, 0x378, 0x364, 0x502, 0x4dd, 0x502, -0x4dd, 0x4ca, 0x48e, 0x4ca, 0x48e, 0x51e, 0x4ca, 0x51e, 0x4ca, 0x51e, 0x4ca, -0x5e5, 0x575, 0x5e5, 0x575, 0x6aa, 0x61d, 0x6aa, 0x61d, 0x801, 0x756, 0x801, -0x756, 0x84f, 0x786, 0x84f, 0x786, 0x98c, 0x8a3, 0x98c, 0x8a3, 0xa47, 0x93f, -0xa47, 0x93f, 0xa47, 0x93f, 0xb3a, 0xa15, 0xb3a, 0xa15, 0xcd1, 0xb91, 0xcd1, -0xb91, 0xd8f, 0xc35, 0xd8f, 0xc35, 0xebc, 0xd4b, 0xebc, 0xd4b, 0xf0f, 0xd89, -0xf0f, 0xd89, 0xf0f, 0xd89, 0xf3c, 0xda3, 0xf3c, 0xda3, 0x105b, 0xeb3, 0x105b, -0xeb3, 0x1095, 0xee0, 0x1095, 0xee0, 0xfde, 0xe1e, 0xfde, 0xe1e, 0x1087, 0xebf, -0x1087, 0xebf, 0x1168, 0xf9a, 0x1168, 0xf9a, 0x1168, 0xf9a, 0x11a4, 0xfd1, 0x11a4, -0xfd1, 0x1264, 0x108e, 0x1264, 0x108e, 0x1213, 0x103d, 0x1213, 0x103d, 0x11a9, 0xfd2, -0x11a9, 0xfd2, 0x11cb, 0xff6, 0x11cb, 0xff6, 0x12af, 0x10dc, 0x12af, 0x10dc, 0x12af, -0x10dc, 0x1426, 0x1255, 0x1426, 0x1255, 0x1519, 0x134b, 0x1519, 0x134b, 0x1682, 0x14b8, -0x1682, 0x14b8, 0x171f, 0x1559, 0x171f, 0x1559, 0x1786, 0x15c5, 0x1786, 0x15c5, 0x1786, -0x15c5, 0x17d8, 0x161e, 0x17d8, 0x161e, 0x168c, 0x14da, 0x168c, 0x14da, 0x1554, 0x13aa, -0x1554, 0x13aa, 0x14e9, 0x134b, 0x14e9, 0x134b, 0x1516, 0x1385, 0x1516, 0x1385, 0x1584, -0x1402, 0x1584, 0x1402, 0x1584, 0x1402, 0x157f, 0x1410, 0x157f, 0x1410, 0x1521, 0x13c7, -0x1521, 0x13c7, 0x1451, 0x1310, 0x1451, 0x1310, 0x12b0, 0x118b, 0x12b0, 0x118b, 0x1133, -0x102e, 0x1133, 0x102e, 0xf25, 0xe44, 0xf25, 0xe44, 0xf25, 0xe44, 0xcb1, 0xbf7, -0xcb1, 0xbf7, 0xb26, 0xa97, 0xb26, 0xa97, 0x8ca, 0x868, 0x8ca, 0x868, 0x748, -0x717, 0x748, 0x717, 0x602, 0x604, 0x602, 0x604, 0x602, 0x604, 0x3ba, 0x3f0, -0x3ba, 0x3f0, 0x255, 0x2c2, 0x255, 0x2c2, 0x29, 0xcd, 0x29, 0xcd, 0xfeae, -0xff89, 0xfeae, 0xff89, 0xfdaf, 0xfebf, 0xfdaf, 0xfebf, 0xfb72, 0xfcb7, 0xfb72, 0xfcb7, -0xfb72, 0xfcb7, 0xf961, 0xfad8, 0xf961, 0xfad8, 0xf6eb, 0xf891, 0xf6eb, 0xf891, 0xf4ce, -0xf6a1, 0xf4ce, 0xf6a1, 0xf312, 0xf50c, 0xf312, 0xf50c, 0xf09a, 0xf2b6, 0xf09a, 0xf2b6, -0xf09a, 0xf2b6, 0xeeb7, 0xf0f2, 0xeeb7, 0xf0f2, 0xed86, 0xefd9, 0xed86, 0xefd9, 0xeb75, -0xedda, 0xeb75, 0xedda, 0xe9e0, 0xec52, 0xe9e0, 0xec52, 0xe904, 0xeb7e, 0xe904, 0xeb7e, -0xe826, 0xeaa0, 0xe826, 0xeaa0, 0xe826, 0xeaa0, 0xe821, 0xea97, 0xe821, 0xea97, 0xe7d4, -0xea40, 0xe7d4, 0xea40, 0xe77d, 0xe9da, 0xe77d, 0xe9da, 0xe6ea, 0xe935, 0xe6ea, 0xe935, -0xe728, 0xe95a, 0xe728, 0xe95a, 0xe87a, 0xea91, 0xe87a, 0xea91, 0xe87a, 0xea91, 0xe935, -0xeb2d, 0xe935, 0xeb2d, 0xeaa3, 0xec7b, 0xeaa3, 0xec7b, 0xeb63, 0xed18, 0xeb63, 0xed18, -0xec7c, 0xee0d, 0xec7c, 0xee0d, 0xee10, 0xef7c, 0xee10, 0xef7c, 0xee10, 0xef7c, 0xee66, -0xefac, 0xee66, 0xefac, 0xef49, 0xf06a, 0xef49, 0xf06a, 0xef87, 0xf083, 0xef87, 0xf083, -0xefc4, 0xf09d, 0xefc4, 0xf09d, 0xf0b5, 0xf16a, 0xf0b5, 0xf16a, 0xf0b4, 0xf149, 0xf0b4, -0xf149, 0xf0b4, 0xf149, 0xefdb, 0xf050, 0xefdb, 0xf050, 0xef5b, 0xefb2, 0xef5b, 0xefb2, -0xf002, 0xf03d, 0xf002, 0xf03d, 0xf0bd, 0xf0df, 0xf0bd, 0xf0df, 0xf0e8, 0xf0f2, 0xf0e8, -0xf0f2, 0xf10b, 0xf0ff, 0xf10b, 0xf0ff, 0xf10b, 0xf0ff, 0xf20e, 0xf1ef, 0xf20e, 0xf1ef, -0xf348, 0xf319, 0xf348, 0xf319, 0xf4ea, 0xf4ac, 0xf4ea, 0xf4ac, 0xf68e, 0xf644, 0xf68e, -0xf644, 0xf77a, 0xf725, 0xf77a, 0xf725, 0xf77a, 0xf725, 0xf93c, 0xf8e0, 0xf93c, 0xf8e0, -0xfa73, 0xfa11, 0xfa73, 0xfa11, 0xfb76, 0xfb10, 0xfb76, 0xfb10, 0xfc9a, 0xfc34, 0xfc9a, -0xfc34, 0xfd3d, 0xfcda, 0xfd3d, 0xfcda, 0xfe5b, 0xfdfc, 0xfe5b, 0xfdfc, 0xfe5b, 0xfdfc, -0xfefc, 0xfea4, 0xfefc, 0xfea4, 0x57, 0xa, 0x57, 0xa, 0x125, 0xe5, 0x125, -0xe5, 0x152, 0x123, 0x152, 0x123, 0x2cd, 0x2b2, 0x2cd, 0x2b2, 0x300, 0x2fb, -0x300, 0x2fb, 0x300, 0x2fb, 0x29d, 0x2b2, 0x29d, 0x2b2, 0x1cd, 0x1ff, 0x1cd, -0x1ff, 0xf6, 0x148, 0xf6, 0x148, 0x171, 0x1e7, 0x171, 0x1e7, 0x109, 0x1a6, -0x109, 0x1a6, 0x109, 0x1a6, 0xa4, 0x16a, 0xa4, 0x16a, 0x47, 0x139, 0x47, -0x139, 0xff0f, 0x2f, 0xff0f, 0x2f, 0xfeb1, 0x1, 0xfeb1, 0x1, 0xfdc2, 0xff44, -0xfdc2, 0xff44, 0xfc7b, 0xfe2f, 0xfc7b, 0xfe2f, 0xfc7b, 0xfe2f, 0xfc05, 0xfdec, 0xfc05, -0xfdec, 0xf9e5, 0xfc00, 0xf9e5, 0xfc00, 0xf80f, 0xfa5e, 0xf80f, 0xfa5e, 0xf72d, 0xf9af, -0xf72d, 0xf9af, 0xf51c, 0xf7d0, 0xf51c, 0xf7d0, 0xf315, 0xf5f9, 0xf315, 0xf5f9, 0xf315, -0xf5f9, 0xf0d6, 0xf3e9, 0xf0d6, 0xf3e9, 0xeeb5, 0xf1f4, 0xeeb5, 0xf1f4, 0xec64, 0xefcb, -0xec64, 0xefcb, 0xea6c, 0xedf9, 0xea6c, 0xedf9, 0xe971, 0xed20, 0xe971, 0xed20, 0xe971, -0xed20, 0xe804, 0xebd0, 0xe804, 0xebd0, 0xe744, 0xeb29, 0xe744, 0xeb29, 0xe6d2, 0xeacb, -0xe6d2, 0xeacb, 0xe61c, 0xea25, 0xe61c, 0xea25, 0xe53f, 0xe951, 0xe53f, 0xe951, 0xe457, -0xe86f, 0xe457, 0xe86f, 0xe457, 0xe86f, 0xe348, 0xe75e, 0xe348, 0xe75e, 0xe261, 0xe672, -0xe261, 0xe672, 0xe23a, 0xe63f, 0xe23a, 0xe63f, 0xe22c, 0xe620, 0xe22c, 0xe620, 0xe307, -0xe6e4, 0xe307, 0xe6e4, 0xe3b8, 0xe779, 0xe3b8, 0xe779, 0xe3b8, 0xe779, 0xe501, 0xe8a2, -0xe501, 0xe8a2, 0xe6b7, 0xea32, 0xe6b7, 0xea32, 0xe751, 0xeaa2, 0xe751, 0xeaa2, 0xe836, -0xeb59, 0xe836, 0xeb59, 0xe8e9, 0xebd9, 0xe8e9, 0xebd9, 0xe8e9, 0xebd9, 0xea6f, 0xed2a, -0xea6f, 0xed2a, 0xec27, 0xeea9, 0xec27, 0xeea9, 0xeddb, 0xf021, 0xeddb, 0xf021, 0xef82, -0xf18a, 0xef82, 0xf18a, 0xef77, 0xf140, 0xef77, 0xf140, 0xf011, 0xf198, 0xf011, 0xf198, -0xf011, 0xf198, 0xf18d, 0xf2d1, 0xf18d, 0xf2d1, 0xf308, 0xf409, 0xf308, 0xf409, 0xf46c, -0xf52a, 0xf46c, 0xf52a, 0xf57d, 0xf5f7, 0xf57d, 0xf5f7, 0xf6ab, 0xf6e1, 0xf6ab, 0xf6e1, -0xf83f, 0xf832, 0xf83f, 0xf832, 0xf83f, 0xf832, 0xfa5a, 0xfa0c, 0xfa5a, 0xfa0c, 0xfbe6, -0xfb57, 0xfbe6, 0xfb57, 0xfcca, 0xfbfc, 0xfcca, 0xfbfc, 0xfe4f, 0xfd43, 0xfe4f, 0xfd43, -0x6, 0xfebf, 0x6, 0xfebf, 0x6, 0xfebf, 0x176, 0xfff6, 0x176, 0xfff6, 0x3ed, -0x236, 0x3ed, 0x236, 0x5fd, 0x412, 0x5fd, 0x412, 0x706, 0x4ea, 0x706, 0x4ea, -0x8ca, 0x67f, 0x8ca, 0x67f, 0xac8, 0x852, 0xac8, 0x852, 0xac8, 0x852, 0xc8e, -0x9f0, 0xc8e, 0x9f0, 0xd68, 0xaa5, 0xd68, 0xaa5, 0xedf, 0xbfa, 0xedf, 0xbfa, -0x10b5, 0xdb3, 0x10b5, 0xdb3, 0x10f7, 0xddb, 0x10f7, 0xddb, 0x129e, 0xf6b, 0x129e, -0xf6b, 0x129e, 0xf6b, 0x1430, 0x10eb, 0x1430, 0x10eb, 0x14e2, 0x1190, 0x14e2, 0x1190, -0x1699, 0x133d, 0x1699, 0x133d, 0x1673, 0x1312, 0x1673, 0x1312, 0x1614, 0x12b2, 0x1614, -0x12b2, 0x1614, 0x12b2, 0x170a, 0x13ac, 0x170a, 0x13ac, 0x1722, 0x13cc, 0x1722, 0x13cc, -0x1642, 0x12f9, 0x1642, 0x12f9, 0x14e3, 0x11ab, 0x14e3, 0x11ab, 0x13f1, 0x10ce, 0x13f1, -0x10ce, 0x13da, 0x10d1, 0x13da, 0x10d1, 0x13da, 0x10d1, 0x1420, 0x1134, 0x1420, 0x1134, -0x13af, 0x10e4, 0x13af, 0x10e4, 0x1250, 0xfaa, 0x1250, 0xfaa, 0x108c, 0xe0d, 0x108c, -0xe0d, 0xfb4, 0xd5e, 0xfb4, 0xd5e, 0x1023, 0xdfa, 0x1023, 0xdfa, 0x1023, 0xdfa, -0x102e, 0xe32, 0x102e, 0xe32, 0xf89, 0xdbc, 0xf89, 0xdbc, 0xe2e, 0xc91, 0xe2e, -0xc91, 0xcd7, 0xb6a, 0xcd7, 0xb6a, 0xb9f, 0xa61, 0xb9f, 0xa61, 0xb9f, 0xa61, -0xa48, 0x939, 0xa48, 0x939, 0x92e, 0x84c, 0x92e, 0x84c, 0x7e8, 0x732, 0x7e8, -0x732, 0x6c0, 0x633, 0x6c0, 0x633, 0x679, 0x614, 0x679, 0x614, 0x694, 0x655, -0x694, 0x655, 0x694, 0x655, 0x5a0, 0x582, 0x5a0, 0x582, 0x529, 0x52b, 0x529, -0x52b, 0x49f, 0x4bc, 0x49f, 0x4bc, 0x306, 0x33c, 0x306, 0x33c, 0x27b, 0x2c7, -0x27b, 0x2c7, 0x27b, 0x2c7, 0x2a8, 0x306, 0x2a8, 0x306, 0x252, 0x2c1, 0x252, -0x2c1, 0x1b4, 0x230, 0x1b4, 0x230, 0x232, 0x2b8, 0x232, 0x2b8, 0x22d, 0x2bc, -0x22d, 0x2bc, 0x230, 0x2c4, 0x230, 0x2c4, 0x230, 0x2c4, 0x29b, 0x334, 0x29b, -0x334, 0x20e, 0x2a9, 0x20e, 0x2a9, 0x1f8, 0x295, 0x1f8, 0x295, 0x17b, 0x218, -0x17b, 0x218, 0x17f, 0x21c, 0x17f, 0x21c, 0xa9, 0x143, 0xa9, 0x143, 0xa9, -0x143, 0xff96, 0x2d, 0xff96, 0x2d, 0xfff1, 0x85, 0xfff1, 0x85, 0xfeec, 0xff7c, -0xfeec, 0xff7c, 0xfee9, 0xff74, 0xfee9, 0xff74, 0xfed1, 0xff57, 0xfed1, 0xff57, 0xfed1, -0xff57, 0xfd8e, 0xfe0f, 0xfd8e, 0xfe0f, 0xfd3c, 0xfdb6, 0xfd3c, 0xfdb6, 0xfd76, 0xfde9, -0xfd76, 0xfde9, 0xfe92, 0xfefd, 0xfe92, 0xfefd, 0xff5b, 0xffbe, 0xff5b, 0xffbe, 0x52, -0xab, 0x52, 0xab, 0x52, 0xab, 0x179, 0x1c8, 0x179, 0x1c8, 0x141, 0x187, -0x141, 0x187, 0x10c, 0x146, 0x10c, 0x146, 0x80, 0xaf, 0x80, 0xaf, 0xff75, -0xff98, 0xff75, 0xff98, 0xffa6, 0xffbd, 0xffa6, 0xffbd, 0xffa6, 0xffbd, 0xffb8, 0xffc3, -0xffb8, 0xffc3, 0xffa1, 0xffa1, 0xffa1, 0xffa1, 0x10, 0x5, 0x10, 0x5, 0xffc2, -0xffad, 0xffc2, 0xffad, 0xff6a, 0xff4c, 0xff6a, 0xff4c, 0xff6a, 0xff4c, 0xfea9, 0xfe83, -0xfea9, 0xfe83, 0xfd75, 0xfd49, 0xfd75, 0xfd49, 0xfccd, 0xfc9c, 0xfccd, 0xfc9c, 0xfbc1, -0xfb8d, 0xfbc1, 0xfb8d, 0xfacd, 0xfa98, 0xfacd, 0xfa98, 0xfae4, 0xfaaf, 0xfae4, 0xfaaf, -0xfae4, 0xfaaf, 0xfaf7, 0xfac5, 0xfaf7, 0xfac5, 0xfa55, 0xfa28, 0xfa55, 0xfa28, 0xf9f5, -0xf9cd, 0xf9f5, 0xf9cd, 0xfa3a, 0xfa1a, 0xfa3a, 0xfa1a, 0xfac1, 0xfaaa, 0xfac1, 0xfaaa, -0xfb6c, 0xfb5f, 0xfb6c, 0xfb5f, 0xfb6c, 0xfb5f, 0xfb74, 0xfb71, 0xfb74, 0xfb71, 0xfae5, -0xfaed, 0xfae5, 0xfaed, 0xf9f2, 0xfa06, 0xf9f2, 0xfa06, 0xf92e, 0xf94d, 0xf92e, 0xf94d, -0xf927, 0xf94f, 0xf927, 0xf94f, 0xf927, 0xf94f, 0xf870, 0xf8a2, 0xf870, 0xf8a2, 0xf830, -0xf869, 0xf830, 0xf869, 0xf894, 0xf8d2, 0xf894, 0xf8d2, 0xf83b, 0xf87e, 0xf83b, 0xf87e, -0xf829, 0xf86e, 0xf829, 0xf86e, 0xf876, 0xf8bc, 0xf876, 0xf8bc, 0xf876, 0xf8bc, 0xf924, -0xf968, 0xf924, 0xf968, 0xfa0d, 0xfa4c, 0xfa0d, 0xfa4c, 0xfb42, 0xfb7a, 0xfb42, 0xfb7a, -0xfb93, 0xfbc2, 0xfb93, 0xfbc2, 0xfb1c, 0xfb40, 0xfb1c, 0xfb40, 0xfba5, 0xfbbd, 0xfba5, -0xfbbd, 0xfba5, 0xfbbd, 0xfc94, 0xfc9e, 0xfc94, 0xfc9e, 0xfde3, 0xfdde, 0xfde3, 0xfdde, -0xfe83, 0xfe6e, 0xfe83, 0xfe6e, 0xff9f, 0xff79, 0xff9f, 0xff79, 0x1e0, 0x1a8, 0x1e0, -0x1a8, 0x1e0, 0x1a8, 0x3a2, 0x357, 0x3a2, 0x357, 0x5bb, 0x55e, 0x5bb, 0x55e, -0x67c, 0x60c, 0x67c, 0x60c, 0x603, 0x580, 0x603, 0x580, 0x6a8, 0x613, 0x6a8, -0x613, 0x6fa, 0x651, 0x6fa, 0x651, 0x6fa, 0x651, 0x6d0, 0x615, 0x6d0, 0x615, -0x70d, 0x640, 0x70d, 0x640, 0x6a7, 0x5c7, 0x6a7, 0x5c7, 0x66e, 0x57c, 0x66e, -0x57c, 0x63a, 0x535, 0x63a, 0x535, 0x5f8, 0x4e0, 0x5f8, 0x4e0, 0x5f8, 0x4e0, -0x603, 0x4d8, 0x603, 0x4d8, 0x568, 0x429, 0x568, 0x429, 0x688, 0x536, 0x688, -0x536, 0x827, 0x6c0, 0x827, 0x6c0, 0x970, 0x7f6, 0x970, 0x7f6, 0x970, 0x7f6, -0xb64, 0x9d5, 0xb64, 0x9d5, 0xcba, 0xb16, 0xcba, 0xb16, 0xee2, 0xd2a, 0xee2, -0xd2a, 0x1022, 0xe55, 0x1022, 0xe55, 0x109e, 0xebe, 0x109e, 0xebe, 0x11b3, 0xfc0, -0x11b3, 0xfc0, 0x11b3, 0xfc0, 0x1215, 0x1011, 0x1215, 0x1011, 0x130c, 0x10fa, 0x130c, -0x10fa, 0x13f3, 0x11d3, 0x13f3, 0x11d3, 0x14de, 0x12b3, 0x14de, 0x12b3, 0x16b8, 0x1485, -0x16b8, 0x1485, 0x17bc, 0x1584, 0x17bc, 0x1584, 0x17bc, 0x1584, 0x17dd, 0x15a3, 0x17dd, -0x15a3, 0x180b, 0x15d2, 0x180b, 0x15d2, 0x17fe, 0x15ca, 0x17fe, 0x15ca, 0x17d2, 0x15a6, -0x17d2, 0x15a6, 0x1781, 0x1561, 0x1781, 0x1561, 0x1781, 0x1561, 0x17cd, 0x15bc, 0x17cd, -0x15bc, 0x18c5, 0x16c6, 0x18c5, 0x16c6, 0x18bc, 0x16d2, 0x18bc, 0x16d2, 0x18a4, 0x16d1, -0x18a4, 0x16d1, 0x188e, 0x16d5, 0x188e, 0x16d5, 0x1780, 0x15e2, 0x1780, 0x15e2, 0x1780, -0x15e2, 0x16af, 0x152e, 0x16af, 0x152e, 0x1630, 0x14cc, 0x1630, 0x14cc, 0x154d, 0x1406, -0x154d, 0x1406, 0x143f, 0x1315, 0x143f, 0x1315, 0x13c8, 0x12bb, 0x13c8, 0x12bb, 0x1311, -0x121f, 0x1311, 0x121f, 0x1311, 0x121f, 0x118c, 0x10b4, 0x118c, 0x10b4, 0x1055, 0xf96, -0x1055, 0xf96, 0xeb2, 0xe0a, 0xeb2, 0xe0a, 0xd11, 0xc7e, 0xd11, 0xc7e, 0xc98, -0xc18, 0xc98, 0xc18, 0xc98, 0xc18, 0xc45, 0xbd5, 0xc45, 0xbd5, 0xbee, 0xb8e, -0xbee, 0xb8e, 0xb8b, 0xb38, 0xb8b, 0xb38, 0xaf9, 0xab2, 0xaf9, 0xab2, 0xa95, -0xa58, 0xa95, 0xa58, 0x9a8, 0x975, 0x9a8, 0x975, 0x9a8, 0x975, 0x877, 0x84d, -0x877, 0x84d, 0x7a9, 0x788, 0x7a9, 0x788, 0x617, 0x5fe, 0x617, 0x5fe, 0x536, -0x526, 0x536, 0x526, 0x52b, 0x524, 0x52b, 0x524, 0x44f, 0x450, 0x44f, 0x450, -0x44f, 0x450, 0x47b, 0x486, 0x47b, 0x486, 0x3e2, 0x3f6, 0x3e2, 0x3f6, 0x2d8, -0x2f6, 0x2d8, 0x2f6, 0x2cb, 0x2f3, 0x2cb, 0x2f3, 0x17e, 0x1b1, 0x17e, 0x1b1, -0x17e, 0x1b1, 0x81, 0xbd, 0x81, 0xbd, 0xff37, 0xff7c, 0xff37, 0xff7c, 0xfe39, -0xfe87, 0xfe39, 0xfe87, 0xfe42, 0xfe97, 0xfe42, 0xfe97, 0xfd53, 0xfdae, 0xfd53, 0xfdae, -0xfcd1, 0xfd31, 0xfcd1, 0xfd31, 0xfcd1, 0xfd31, 0xfc64, 0xfcc6, 0xfc64, 0xfcc6, 0xfc01, -0xfc63, 0xfc01, 0xfc63, 0xfbf0, 0xfc4f, 0xfbf0, 0xfc4f, 0xfaf0, 0xfb4a, 0xfaf0, 0xfb4a, -0xf9e5, 0xfa38, 0xf9e5, 0xfa38, 0xf9e5, 0xfa38, 0xf92f, 0xf979, 0xf92f, 0xf979, 0xf7de, -0xf81c, 0xf7de, 0xf81c, 0xf6a5, 0xf6d5, 0xf6a5, 0xf6d5, 0xf582, 0xf5a3, 0xf582, 0xf5a3, -0xf3d6, 0xf3e7, 0xf3d6, 0xf3e7, 0xf2de, 0xf2dd, 0xf2de, 0xf2dd, 0xf2de, 0xf2dd, 0xf2a1, -0xf28e, 0xf2a1, 0xf28e, 0xf312, 0xf2ee, 0xf312, 0xf2ee, 0xf345, 0xf310, 0xf345, 0xf310, -0xf328, 0xf2e3, 0xf328, 0xf2e3, 0xf3d4, 0xf382, 0xf3d4, 0xf382, 0xf3bd, 0xf35f, 0xf3bd, -0xf35f, 0xf3bd, 0xf35f, 0xf3cf, 0xf368, 0xf3cf, 0xf368, 0xf3fb, 0xf38e, 0xf3fb, 0xf38e, -0xf3cc, 0xf35d, 0xf3cc, 0xf35d, 0xf57c, 0xf50e, 0xf57c, 0xf50e, 0xf6f4, 0xf68a, 0xf6f4, -0xf68a, 0xf6f4, 0xf68a, 0xf763, 0xf701, 0xf763, 0xf701, 0xf89a, 0xf844, 0xf89a, 0xf844, -0xf94f, 0xf908, 0xf94f, 0xf908, 0xf9a8, 0xf974, 0xf9a8, 0xf974, 0xfa44, 0xfa25, 0xfa44, -0xfa25, 0xfa10, 0xfa07, 0xfa10, 0xfa07, 0xfa10, 0xfa07, 0xf96f, 0xf980, 0xf96f, 0xf980, -0xf953, 0xf97f, 0xf953, 0xf97f, 0xf9c9, 0xfa10, 0xf9c9, 0xfa10, 0xf985, 0xf9e7, 0xf985, -0xf9e7, 0xf867, 0xf8e4, 0xf867, 0xf8e4, 0xf77e, 0xf815, 0xf77e, 0xf815, 0xf77e, 0xf815, -0xf6fc, 0xf7ad, 0xf6fc, 0xf7ad, 0xf724, 0xf7ed, 0xf724, 0xf7ed, 0xf6e7, 0xf7c6, 0xf6e7, -0xf7c6, 0xf602, 0xf6f5, 0xf602, 0xf6f5, 0xf4e6, 0xf5eb, 0xf4e6, 0xf5eb, 0xf4e6, 0xf5eb, -0xf3ca, 0xf4de, 0xf3ca, 0xf4de, 0xf3eb, 0xf50c, 0xf3eb, 0xf50c, 0xf402, 0xf52e, 0xf402, -0xf52e, 0xf3e8, 0xf51d, 0xf3e8, 0xf51d, 0xf473, 0xf5ae, 0xf473, 0xf5ae, 0xf3d0, 0xf510, -0xf3d0, 0xf510, 0xf3d0, 0xf510, 0xf385, 0xf4c9, 0xf385, 0xf4c9, 0xf40f, 0xf555, 0xf40f, -0xf555, 0xf354, 0xf49c, 0xf354, 0xf49c, 0xf33f, 0xf488, 0xf33f, 0xf488, 0xf361, 0xf4ab, -0xf361, 0xf4ab, 0xf2f2, 0xf43c, 0xf2f2, 0xf43c, 0xf2f2, 0xf43c, 0xf46c, 0xf5b7, 0xf46c, -0xf5b7, 0xf5da, 0xf726, 0xf5da, 0xf726, 0xf639, 0xf787, 0xf639, 0xf787, 0xf63e, 0xf790, -0xf63e, 0xf790, 0xf515, 0xf66a, 0xf515, 0xf66a, 0xf515, 0xf66a, 0xf4e5, 0xf640, 0xf4e5, -0xf640, 0xf543, 0xf6a3, 0xf543, 0xf6a3, 0xf5f6, 0xf75d, 0xf5f6, 0xf75d, 0xf760, 0xf8ce, -0xf760, 0xf8ce, 0xf7c7, 0xf93d, 0xf7c7, 0xf93d, 0xf931, 0xfab0, 0xf931, 0xfab0, 0xf931, -0xfab0, 0xfa4a, 0xfbd2, 0xfa4a, 0xfbd2, 0xfa54, 0xfbe6, 0xfa54, 0xfbe6, 0xfb43, 0xfcde, -0xfb43, 0xfcde, 0xfb29, 0xfcce, 0xfb29, 0xfcce, 0xfa3d, 0xfbeb, 0xfa3d, 0xfbeb, 0xf98e, -0xfb45, 0xf98e, 0xfb45, 0xf98e, 0xfb45, 0xf949, 0xfb08, 0xf949, 0xfb08, 0xf8a6, 0xfa6e, -0xf8a6, 0xfa6e, 0xf79a, 0xf969, 0xf79a, 0xf969, 0xf74a, 0xf920, 0xf74a, 0xf920, 0xf666, -0xf842, 0xf666, 0xf842, 0xf666, 0xf842, 0xf51c, 0xf6fe, 0xf51c, 0xf6fe, 0xf474, 0xf65a, -0xf474, 0xf65a, 0xf3a2, 0xf58d, 0xf3a2, 0xf58d, 0xf2f6, 0xf4e4, 0xf2f6, 0xf4e4, 0xf301, -0xf4f2, 0xf301, 0xf4f2, 0xf2f9, 0xf4ec, 0xf2f9, 0xf4ec, 0xf2f9, 0xf4ec, 0xf3d1, 0xf5c7, -0xf3d1, 0xf5c7, 0xf50c, 0xf703, 0xf50c, 0xf703, 0xf54a, 0xf742, 0xf54a, 0xf742, 0xf58c, -0xf785, 0xf58c, 0xf785, 0xf444, 0xf63d, 0xf444, 0xf63d, 0xf290, 0xf48a, 0xf290, 0xf48a, -0xf290, 0xf48a, 0xf21c, 0xf415, 0xf21c, 0xf415, 0xf192, 0xf38b, 0xf192, 0xf38b, 0xf1f3, -0xf3eb, 0xf1f3, 0xf3eb, 0xf2db, 0xf4d1, 0xf2db, 0xf4d1, 0xf3c7, 0xf5bd, 0xf3c7, 0xf5bd, -0xf3c7, 0xf5bd, 0xf43d, 0xf632, 0xf43d, 0xf632, 0xf3f2, 0xf5e5, 0xf3f2, 0xf5e5, 0xf3d4, -0xf5c6, 0xf3d4, 0xf5c6, 0xf341, 0xf530, 0xf341, 0xf530, 0xf2bb, 0xf4a8, 0xf2bb, 0xf4a8, -0xf2b8, 0xf4a3, 0xf2b8, 0xf4a3, 0xf2b8, 0xf4a3, 0xf2c0, 0xf4a9, 0xf2c0, 0xf4a9, 0xf2ff, -0xf4e5, 0xf2ff, 0xf4e5, 0xf3a5, 0xf589, 0xf3a5, 0xf589, 0xf451, 0xf632, 0xf451, 0xf632, -0xf4cd, 0xf6aa, 0xf4cd, 0xf6aa, 0xf575, 0xf74e, 0xf575, 0xf74e, 0xf575, 0xf74e, 0xf5de, -0xf7b2, 0xf5de, 0xf7b2, 0xf5c4, 0xf792, 0xf5c4, 0xf792, 0xf5e3, 0xf7aa, 0xf5e3, 0xf7aa, -0xf672, 0xf831, 0xf672, 0xf831, 0xf5b8, 0xf76e, 0xf5b8, 0xf76e, 0xf5b8, 0xf76e, 0xf523, -0xf6ce, 0xf523, 0xf6ce, 0xf59a, 0xf737, 0xf59a, 0xf737, 0xf4ed, 0xf67b, 0xf4ed, 0xf67b, -0xf54a, 0xf6c6, 0xf54a, 0xf6c6, 0xf5e4, 0xf74b, 0xf5e4, 0xf74b, 0xf5b2, 0xf701, 0xf5b2, -0xf701, 0xf5b2, 0xf701, 0xf5f6, 0xf72a, 0xf5f6, 0xf72a, 0xf5a4, 0xf6b9, 0xf5a4, 0xf6b9, -0xf631, 0xf724, 0xf631, 0xf724, 0xf718, 0xf7e5, 0xf718, 0xf7e5, 0xf777, 0xf81b, 0xf777, -0xf81b, 0xf815, 0xf88c, 0xf815, 0xf88c, 0xf815, 0xf88c, 0xf8ab, 0xf8f3, 0xf8ab, 0xf8f3, -0xf9a0, 0xf9b5, 0xf9a0, 0xf9b5, 0xfad1, 0xfab1, 0xfad1, 0xfab1, 0xfbbb, 0xfb63, 0xfbbb, -0xfb63, 0xfd1f, 0xfc8f, 0xfd1f, 0xfc8f, 0xfd1f, 0xfc8f, 0xffce, 0xff03, 0xffce, 0xff03, -0x1db, 0xd5, 0x1db, 0xd5, 0x36e, 0x22d, 0x36e, 0x22d, 0x564, 0x3e9, 0x564, -0x3e9, 0x65b, 0x4a5, 0x65b, 0x4a5, 0x6ed, 0x500, 0x6ed, 0x500, 0x6ed, 0x500, -0x7d7, 0x5b5, 0x7d7, 0x5b5, 0x8d0, 0x67b, 0x8d0, 0x67b, 0x93a, 0x6b5, 0x93a, -0x6b5, 0x9cf, 0x71f, 0x9cf, 0x71f, 0xa8b, 0x7b3, 0xa8b, 0x7b3, 0xaef, 0x7f3, -0xaef, 0x7f3, 0xaef, 0x7f3, 0xb92, 0x878, 0xb92, 0x878, 0xb90, 0x85c, 0xb90, -0x85c, 0xc37, 0x8ee, 0xc37, 0x8ee, 0xd42, 0x9e7, 0xd42, 0x9e7, 0xd8e, 0xa27, -0xd8e, 0xa27, 0xd8e, 0xa27, 0xec6, 0xb57, 0xec6, 0xb57, 0xf79, 0xc07, 0xf79, -0xc07, 0xfb0, 0xc3f, 0xfb0, 0xc3f, 0x109f, 0xd32, 0x109f, 0xd32, 0x110a, 0xda5, -0x110a, 0xda5, 0x1169, 0xe10, 0x1169, 0xe10, 0x1169, 0xe10, 0x124f, 0xf04, 0x124f, -0xf04, 0x1380, 0x1047, 0x1380, 0x1047, 0x1443, 0x111f, 0x1443, 0x111f, 0x147a, 0x116e, -0x147a, 0x116e, 0x14dc, 0x11ea, 0x14dc, 0x11ea, 0x14dc, 0x11ea, 0x1517, 0x1243, 0x1517, -0x1243, 0x1533, 0x127f, 0x1533, 0x127f, 0x14ef, 0x125e, 0x14ef, 0x125e, 0x13cd, 0x1163, -0x13cd, 0x1163, 0x1243, 0x1002, 0x1243, 0x1002, 0x1104, 0xef0, 0x1104, 0xef0, 0x1104, -0xef0, 0x1074, 0xe92, 0x1074, 0xe92, 0xfe7, 0xe38, 0xfe7, 0xe38, 0xf14, 0xd9d, -0xf14, 0xd9d, 0xe8c, 0xd4f, 0xe8c, 0xd4f, 0xd94, 0xc95, 0xd94, 0xc95, 0xc90, -0xbd1, 0xc90, 0xbd1, 0xc90, 0xbd1, 0xc10, 0xb95, 0xc10, 0xb95, 0xa74, 0xa3d, -0xa74, 0xa3d, 0x929, 0x93a, 0x929, 0x93a, 0x916, 0x96f, 0x916, 0x96f, 0x84b, -0x8ec, 0x84b, 0x8ec, 0x84b, 0x8ec, 0x73c, 0x824, 0x73c, 0x824, 0x681, 0x7af, -0x681, 0x7af, 0x5c9, 0x73b, 0x5c9, 0x73b, 0x45e, 0x610, 0x45e, 0x610, 0x221, -0x40f, 0x221, 0x40f, 0x74, 0x29b, 0x74, 0x29b, 0x74, 0x29b, 0xfeda, 0x132, -0xfeda, 0x132, 0xfd3c, 0xffbf, 0xfd3c, 0xffbf, 0xfd52, 0xfff9, 0xfd52, 0xfff9, 0xfca8, -0xff6c, 0xfca8, 0xff6c, 0xfb58, 0xfe31, 0xfb58, 0xfe31, 0xfb56, 0xfe3c, 0xfb56, 0xfe3c, -0xfb56, 0xfe3c, 0xfa34, 0xfd1e, 0xfa34, 0xfd1e, 0xf947, 0xfc2f, 0xf947, 0xfc2f, 0xf87d, -0xfb5a, 0xf87d, 0xfb5a, 0xf6a7, 0xf971, 0xf6a7, 0xf971, 0xf531, 0xf7e2, 0xf531, 0xf7e2, -0xf531, 0xf7e2, 0xf460, 0xf6f2, 0xf460, 0xf6f2, 0xf46d, 0xf6db, 0xf46d, 0xf6db, 0xf421, -0xf667, 0xf421, 0xf667, 0xf42a, 0xf644, 0xf42a, 0xf644, 0xf4aa, 0xf695, 0xf4aa, 0xf695, -0xf4d9, 0xf694, 0xf4d9, 0xf694, 0xf4d9, 0xf694, 0xf4cc, 0xf655, 0xf4cc, 0xf655, 0xf45c, -0xf5b5, 0xf45c, 0xf5b5, 0xf455, 0xf57d, 0xf455, 0xf57d, 0xf45c, 0xf555, 0xf45c, 0xf555, -0xf4b3, 0xf57f, 0xf4b3, 0xf57f, 0xf5bd, 0xf65e, 0xf5bd, 0xf65e, 0xf5bd, 0xf65e, 0xf72b, -0xf7a4, 0xf72b, 0xf7a4, 0xf830, 0xf883, 0xf830, 0xf883, 0xf99e, 0xf9cd, 0xf99e, 0xf9cd, -0xfb2f, 0xfb3d, 0xfb2f, 0xfb3d, 0xfa7f, 0xfa6e, 0xfa7f, 0xfa6e, 0xfa7f, 0xfa6e, 0xf992, -0xf964, 0xf992, 0xf964, 0xf963, 0xf919, 0xf963, 0xf919, 0xf90c, 0xf8a8, 0xf90c, 0xf8a8, -0xf96c, 0xf8ec, 0xf96c, 0xf8ec, 0xfac8, 0xfa2e, 0xfac8, 0xfa2e, 0xfbbc, 0xfb08, 0xfbbc, -0xfb08, 0xfbbc, 0xfb08, 0xfbc6, 0xfaf6, 0xfbc6, 0xfaf6, 0xfc9c, 0xfbb0, 0xfc9c, 0xfbb0, -0xfe08, 0xfcfd, 0xfe08, 0xfcfd, 0xff28, 0xfdff, 0xff28, 0xfdff, 0x29, 0xfedf, 0x29, -0xfedf, 0x155, 0xffea, 0x155, 0xffea, 0x155, 0xffea, 0x244, 0xb8, 0x244, 0xb8, -0x2d6, 0x128, 0x2d6, 0x128, 0x471, 0x2a3, 0x471, 0x2a3, 0x619, 0x42b, 0x619, -0x42b, 0x6cf, 0x4c3, 0x6cf, 0x4c3, 0x6cf, 0x4c3, 0x7f4, 0x5ce, 0x7f4, 0x5ce, -0x8b5, 0x678, 0x8b5, 0x678, 0x8f0, 0x6a1, 0x8f0, 0x6a1, 0xa50, 0x7f3, 0xa50, -0x7f3, 0xb6d, 0x909, 0xb6d, 0x909, 0xb84, 0x91f, 0xb84, 0x91f, 0xb84, 0x91f, -0xbc7, 0x968, 0xbc7, 0x968, 0xbbb, 0x96a, 0xbbb, 0x96a, 0xb61, 0x925, 0xb61, -0x925, 0xb00, 0x8e1, 0xb00, 0x8e1, 0xa52, 0x857, 0xa52, 0x857, 0x9a8, 0x7d8, -0x9a8, 0x7d8, 0x9a8, 0x7d8, 0x84e, 0x6af, 0x84e, 0x6af, 0x700, 0x598, 0x700, -0x598, 0x641, 0x513, 0x641, 0x513, 0x54f, 0x45f, 0x54f, 0x45f, 0x527, 0x478, -0x527, 0x478, 0x527, 0x478, 0x4fe, 0x490, 0x4fe, 0x490, 0x46b, 0x43f, 0x46b, -0x43f, 0x3d4, 0x3e7, 0x3d4, 0x3e7, 0x38a, 0x3d9, 0x38a, 0x3d9, 0x3b4, 0x43d, -0x3b4, 0x43d, 0x3d8, 0x494, 0x3d8, 0x494, 0x3d8, 0x494, 0x440, 0x52a, 0x440, -0x52a, 0x3da, 0x4e9, 0x3da, 0x4e9, 0x34e, 0x47c, 0x34e, 0x47c, 0x34e, 0x493, -0x34e, 0x493, 0x389, 0x4dd, 0x389, 0x4dd, 0x3a0, 0x4f9, 0x3a0, 0x4f9, 0x3a0, -0x4f9, 0x34b, 0x4a1, 0x34b, 0x4a1, 0x33f, 0x48a, 0x33f, 0x48a, 0x382, 0x4bb, -0x382, 0x4bb, 0x468, 0x588, 0x468, 0x588, 0x47b, 0x57b, 0x47b, 0x57b, 0x47b, -0x57b, 0x442, 0x51d, 0x442, 0x51d, 0x42f, 0x4e0, 0x42f, 0x4e0, 0x46e, 0x4f1, -0x46e, 0x4f1, 0x621, 0x675, 0x621, 0x675, 0x7ac, 0x7cd, 0x7ac, 0x7cd, 0x9c0, -0x9ae, 0x9c0, 0x9ae, 0x9c0, 0x9ae, 0xb64, 0xb20, 0xb64, 0xb20, 0xc82, 0xc0b, -0xc82, 0xc0b, 0xdf7, 0xd50, 0xdf7, 0xd50, 0xeac, 0xdd6, 0xeac, 0xdd6, 0xf5d, -0xe5a, 0xf5d, 0xe5a, 0xfcf, 0xea2, 0xfcf, 0xea2, 0xfcf, 0xea2, 0x10a7, 0xf52, -0x10a7, 0xf52, 0x11b5, 0x103c, 0x11b5, 0x103c, 0x11f7, 0x105c, 0x11f7, 0x105c, 0x11b9, -0xfff, 0x11b9, 0xfff, 0x11a5, 0xfce, 0x11a5, 0xfce, 0x11a5, 0xfce, 0x11cd, 0xfdd, -0x11cd, 0xfdd, 0x11db, 0xfd2, 0x11db, 0xfd2, 0x1230, 0x1012, 0x1230, 0x1012, 0x123a, -0x1007, 0x123a, 0x1007, 0x127f, 0x103a, 0x127f, 0x103a, 0x1333, 0x10dd, 0x1333, 0x10dd, -0x1333, 0x10dd, 0x13e2, 0x117c, 0x13e2, 0x117c, 0x146b, 0x11f5, 0x146b, 0x11f5, 0x150d, -0x128a, 0x150d, 0x128a, 0x167d, 0x13ef, 0x167d, 0x13ef, 0x1748, 0x14b0, 0x1748, 0x14b0, -0x1765, 0x14c6, 0x1765, 0x14c6, 0x1765, 0x14c6, 0x16e5, 0x1441, 0x16e5, 0x1441, 0x15c5, -0x131f, 0x15c5, 0x131f, 0x15c4, 0x131f, 0x15c4, 0x131f, 0x1650, 0x13b0, 0x1650, 0x13b0, -0x165f, 0x13c8, 0x165f, 0x13c8, 0x165f, 0x13c8, 0x15d8, 0x134e, 0x15d8, 0x134e, 0x14f3, -0x127b, 0x14f3, 0x127b, 0x1428, 0x11c8, 0x1428, 0x11c8, 0x133e, 0x10fb, 0x133e, 0x10fb, -0x114e, 0xf2d, 0x114e, 0xf2d, 0xed0, 0xcd6, 0xed0, 0xcd6, 0xed0, 0xcd6, 0xc7a, -0xaac, 0xc7a, 0xaac, 0xac6, 0x929, 0xac6, 0x929, 0xa39, 0x8d2, 0xa39, 0x8d2, -0x902, 0x7d4, 0x902, 0x7d4, 0x78c, 0x69b, 0x78c, 0x69b, 0x78c, 0x69b, 0x6af, -0x5ff, 0x6af, 0x5ff, 0x58a, 0x51b, 0x58a, 0x51b, 0x427, 0x3fa, 0x427, 0x3fa, -0x204, 0x21a, 0x204, 0x21a, 0xff98, 0xfff1, 0xff98, 0xfff1, 0xfd3e, 0xfdd7, 0xfd3e, -0xfdd7, 0xfd3e, 0xfdd7, 0xfb83, 0xfc5a, 0xfb83, 0xfc5a, 0xf9f3, 0xfb05, 0xf9f3, 0xfb05, -0xf781, 0xf8ca, 0xf781, 0xf8ca, 0xf527, 0xf6a3, 0xf527, 0xf6a3, 0xf35d, 0xf507, 0xf35d, -0xf507, 0xf222, 0xf3f5, 0xf222, 0xf3f5, 0xf222, 0xf3f5, 0xf062, 0xf257, 0xf062, 0xf257, -0xee47, 0xf059, 0xee47, 0xf059, 0xecfc, 0xef24, 0xecfc, 0xef24, 0xebd8, 0xee11, 0xebd8, -0xee11, 0xeae1, 0xed24, 0xeae1, 0xed24, 0xeae1, 0xed24, 0xeb16, 0xed5f, 0xeb16, 0xed5f, -0xeb66, 0xedb0, 0xeb66, 0xedb0, 0xeaf7, 0xed3b, 0xeaf7, 0xed3b, 0xeb41, 0xed7d, 0xeb41, -0xed7d, 0xead4, 0xed03, 0xead4, 0xed03, 0xe9b7, 0xebd7, 0xe9b7, 0xebd7, 0xe9b7, 0xebd7, -0xea04, 0xec11, 0xea04, 0xec11, 0xeab9, 0xecb3, 0xeab9, 0xecb3, 0xeb86, 0xed69, 0xeb86, -0xed69, 0xecc9, 0xee95, 0xecc9, 0xee95, 0xee74, 0xf027, 0xee74, 0xf027, 0xef7d, 0xf118, -0xef7d, 0xf118, 0xef7d, 0xf118, 0xf025, 0xf1a6, 0xf025, 0xf1a6, 0xf0cc, 0xf235, 0xf0cc, -0xf235, 0xf0ae, 0xf1fe, 0xf0ae, 0xf1fe, 0xf0c4, 0xf1fb, 0xf0c4, 0xf1fb, 0xf139, 0xf258, -0xf139, 0xf258, 0xf139, 0xf258, 0xf1d0, 0xf2d6, 0xf1d0, 0xf2d6, 0xf1cf, 0xf2bc, 0xf1cf, -0xf2bc, 0xf1cb, 0xf29f, 0xf1cb, 0xf29f, 0xf261, 0xf31c, 0xf261, 0xf31c, 0xf275, 0xf315, -0xf275, 0xf315, 0xf28c, 0xf311, 0xf28c, 0xf311, 0xf28c, 0xf311, 0xf2d9, 0xf343, 0xf2d9, -0xf343, 0xf33c, 0xf38a, 0xf33c, 0xf38a, 0xf3cf, 0xf3ff, 0xf3cf, 0xf3ff, 0xf4f4, 0xf506, -0xf4f4, 0xf506, 0xf57f, 0xf572, 0xf57f, 0xf572, 0xf5d7, 0xf5aa, 0xf5d7, 0xf5aa, 0xf5d7, -0xf5aa, 0xf724, 0xf6d8, 0xf724, 0xf6d8, 0xf856, 0xf7eb, 0xf856, 0xf7eb, 0xfa4b, 0xf9c0, -0xfa4b, 0xf9c0, 0xfb6a, 0xfac2, 0xfb6a, 0xfac2, 0xfc59, 0xfb95, 0xfc59, 0xfb95, 0xfc59, -0xfb95, 0xfdde, 0xfd01, 0xfdde, 0xfd01, 0xfe7c, 0xfd88, 0xfe7c, 0xfd88, 0xff7c, 0xfe75, -0xff7c, 0xfe75, 0xffb9, 0xfea3, 0xffb9, 0xfea3, 0x39, 0xff1a, 0x39, 0xff1a, 0x157, -0x35, 0x157, 0x35, 0x157, 0x35, 0x1b3, 0x93, 0x1b3, 0x93, 0x215, 0xfe, -0x215, 0xfe, 0x24c, 0x145, 0x24c, 0x145, 0x241, 0x152, 0x241, 0x152, 0x268, -0x198, 0x268, 0x198, 0x299, 0x1ef, 0x299, 0x1ef, 0x299, 0x1ef, 0x1a7, 0x12c, -0x1a7, 0x12c, 0x68, 0x21, 0x68, 0x21, 0xff91, 0xff85, 0xff91, 0xff85, 0xff2e, -0xff63, 0xff2e, 0xff63, 0xfe53, 0xfecf, 0xfe53, 0xfecf, 0xfe53, 0xfecf, 0xfcbd, 0xfd84, -0xfcbd, 0xfd84, 0xfb3b, 0xfc50, 0xfb3b, 0xfc50, 0xf8f1, 0xfa56, 0xf8f1, 0xfa56, 0xf7c7, -0xf97e, 0xf7c7, 0xf97e, 0xf66f, 0xf878, 0xf66f, 0xf878, 0xf41f, 0xf679, 0xf41f, 0xf679, -0xf41f, 0xf679, 0xf2ad, 0xf555, 0xf2ad, 0xf555, 0xf09d, 0xf390, 0xf09d, 0xf390, 0xef57, -0xf290, 0xef57, 0xf290, 0xeece, 0xf247, 0xeece, 0xf247, 0xeda0, 0xf153, 0xeda0, 0xf153, -0xece3, 0xf0c8, 0xece3, 0xf0c8, 0xece3, 0xf0c8, 0xec25, 0xf036, 0xec25, 0xf036, 0xeb2c, -0xef5e, 0xeb2c, 0xef5e, 0xe9e0, 0xee2b, 0xe9e0, 0xee2b, 0xe83d, 0xec98, 0xe83d, 0xec98, -0xe715, 0xeb77, 0xe715, 0xeb77, 0xe715, 0xeb77, 0xe663, 0xeac3, 0xe663, 0xeac3, 0xe65a, -0xeab0, 0xe65a, 0xeab0, 0xe6d0, 0xeb13, 0xe6d0, 0xeb13, 0xe70e, 0xeb36, 0xe70e, 0xeb36, -0xe6e3, 0xeae9, 0xe6e3, 0xeae9, 0xe74c, 0xeb2b, 0xe74c, 0xeb2b, 0xe74c, 0xeb2b, 0xe89c, -0xec4f, 0xe89c, 0xec4f, 0xe983, 0xed04, 0xe983, 0xed04, 0xe9ec, 0xed39, 0xe9ec, 0xed39, -0xea5b, 0xed70, 0xea5b, 0xed70, 0xeb5d, 0xee39, 0xeb5d, 0xee39, 0xed02, 0xefa3, 0xed02, -0xefa3, 0xed02, 0xefa3, 0xeee5, 0xf14b, 0xeee5, 0xf14b, 0xeffd, 0xf229, 0xeffd, 0xf229, -0xf169, 0xf35b, 0xf169, 0xf35b, 0xf312, 0xf4cb, 0xf312, 0xf4cb, 0xf3c5, 0xf548, 0xf3c5, -0xf548, 0xf3c5, 0xf548, 0xf501, 0xf64e, 0xf501, 0xf64e, 0xf503, 0xf61c, 0xf503, 0xf61c, -0xf544, 0xf62b, 0xf544, 0xf62b, 0xf689, 0xf73f, 0xf689, 0xf73f, 0xf764, 0xf7ea, 0xf764, -0xf7ea, 0xf8ae, 0xf905, 0xf8ae, 0xf905, 0xf8ae, 0xf905, 0xf98d, 0xf9b5, 0xf98d, 0xf9b5, -0xfab2, 0xfaac, 0xfab2, 0xfaac, 0xfc07, 0xfbd3, 0xfc07, 0xfbd3, 0xfd1a, 0xfcb7, 0xfd1a, -0xfcb7, 0xfdcb, 0xfd38, 0xfdcb, 0xfd38, 0xfe98, 0xfdd5, 0xfe98, 0xfdd5, 0xfe98, 0xfdd5, -0xffbc, 0xfec8, 0xffbc, 0xfec8, 0x1b2, 0x8b, 0x1b2, 0x8b, 0x3ff, 0x2a4, 0x3ff, -0x2a4, 0x540, 0x3b2, 0x540, 0x3b2, 0x6b1, 0x4ef, 0x6b1, 0x4ef, 0x6b1, 0x4ef, -0x7f6, 0x600, 0x7f6, 0x600, 0x934, 0x70b, 0x934, 0x70b, 0xa4f, 0x7f6, 0xa4f, -0x7f6, 0xb88, 0x8ff, 0xb88, 0x8ff, 0xd41, 0xa8b, 0xd41, 0xa8b, 0xf2b, 0xc4c, -0xf2b, 0xc4c, 0xf2b, 0xc4c, 0x113f, 0xe3c, 0x113f, 0xe3c, 0x1203, 0xee0, 0x1203, -0xee0, 0x1220, 0xee4, 0x1220, 0xee4, 0x125a, 0xf0b, 0x125a, 0xf0b, 0x1276, 0xf1a, -0x1276, 0xf1a, 0x129f, 0xf3e, 0x129f, 0xf3e, 0x129f, 0xf3e, 0x125e, 0xf00, 0x125e, -0xf00, 0x11e7, 0xe92, 0x11e7, 0xe92, 0x11ef, 0xeab, 0x11ef, 0xeab, 0x11d4, 0xea8, -0x11d4, 0xea8, 0x1246, 0xf39, 0x1246, 0xf39, 0x1246, 0xf39, 0x12de, 0xff6, 0x12de, -0xff6, 0x1203, 0xf45, 0x1203, 0xf45, 0x117c, 0xeed, 0x117c, 0xeed, 0x10df, 0xe83, -0x10df, 0xe83, 0xf87, 0xd61, 0xf87, 0xd61, 0xe9e, 0xcb0, 0xe9e, 0xcb0, 0xe9e, -0xcb0, 0xd5b, 0xba6, 0xd5b, 0xba6, 0xbd9, 0xa5c, 0xbd9, 0xa5c, 0xac7, 0x982, -0xac7, 0x982, 0xa2a, 0x91b, 0xa2a, 0x91b, 0xa58, 0x97c, 0xa58, 0x97c, 0xa58, -0x97c, 0xa51, 0x9a4, 0xa51, 0x9a4, 0x97e, 0x8fe, 0x97e, 0x8fe, 0x856, 0x7fd, -0x856, 0x7fd, 0x743, 0x70e, 0x743, 0x70e, 0x682, 0x66c, 0x682, 0x66c, 0x5f3, -0x5f7, 0x5f3, 0x5f7, 0x5f3, 0x5f7, 0x567, 0x581, 0x567, 0x581, 0x420, 0x44d, -0x420, 0x44d, 0x335, 0x371, 0x335, 0x371, 0x290, 0x2d7, 0x290, 0x2d7, 0x1e7, -0x238, 0x1e7, 0x238, 0x1c3, 0x21c, 0x1c3, 0x21c, 0x1c3, 0x21c, 0x142, 0x1a2, -0x142, 0x1a2, 0xb4, 0x119, 0xb4, 0x119, 0xa2, 0x10d, 0xa2, 0x10d, 0x70, -0xe0, 0x70, 0xe0, 0x4, 0x7a, 0x4, 0x7a, 0x4, 0x7a, 0xdb, 0x158, -0xdb, 0x158, 0x134, 0x1b8, 0x134, 0x1b8, 0x175, 0x201, 0x175, 0x201, 0x211, -0x2a7, 0x211, 0x2a7, 0x13c, 0x1db, 0x13c, 0x1db, 0x144, 0x1ee, 0x144, 0x1ee, -0x144, 0x1ee, 0xbe, 0x171, 0xbe, 0x171, 0xffb9, 0x76, 0xffb9, 0x76, 0xff57, -0x1c, 0xff57, 0x1c, 0xfe5f, 0xff2a, 0xfe5f, 0xff2a, 0xfe72, 0xff41, 0xfe72, 0xff41, -0xfeb6, 0xff87, 0xfeb6, 0xff87, 0xfeb6, 0xff87, 0xfe9a, 0xff69, 0xfe9a, 0xff69, 0xff28, -0xfff3, 0xff28, 0xfff3, 0xff96, 0x59, 0xff96, 0x59, 0xffe9, 0xa0, 0xffe9, 0xa0, -0x8c, 0x134, 0x8c, 0x134, 0x8c, 0x134, 0x115, 0x1ab, 0x115, 0x1ab, 0xd6, -0x156, 0xd6, 0x156, 0x26, 0x8d, 0x26, 0x8d, 0x33, 0x80, 0x33, 0x80, -0x5c, 0x8c, 0x5c, 0x8c, 0x59, 0x6d, 0x59, 0x6d, 0x59, 0x6d, 0x3f, -0x37, 0x3f, 0x37, 0xff9e, 0xff7a, 0xff9e, 0xff7a, 0xff95, 0xff58, 0xff95, 0xff58, -0xffed, 0xff99, 0xffed, 0xff99, 0xff87, 0xff20, 0xff87, 0xff20, 0xfeb8, 0xfe43, 0xfeb8, -0xfe43, 0xfeb8, 0xfe43, 0xfce9, 0xfc6a, 0xfce9, 0xfc6a, 0xfba1, 0xfb1d, 0xfba1, 0xfb1d, -0xfc2d, 0xfbaa, 0xfc2d, 0xfbaa, 0xfc98, 0xfc1c, 0xfc98, 0xfc1c, 0xfd59, 0xfce9, 0xfd59, -0xfce9, 0xfd59, 0xfce9, 0xfde0, 0xfd82, 0xfde0, 0xfd82, 0xfe17, 0xfdd0, 0xfe17, 0xfdd0, -0xfe63, 0xfe36, 0xfe63, 0xfe36, 0xfdd5, 0xfdc7, 0xfdd5, 0xfdc7, 0xfd18, 0xfd2c, 0xfd18, -0xfd2c, 0xfc0c, 0xfc43, 0xfc0c, 0xfc43, 0xfc0c, 0xfc43, 0xfbb9, 0xfc15, 0xfbb9, 0xfc15, -0xfc67, 0xfce6, 0xfc67, 0xfce6, 0xfc82, 0xfd23, 0xfc82, 0xfd23, 0xfbe5, 0xfca6, 0xfbe5, -0xfca6, 0xfbaf, 0xfc8c, 0xfbaf, 0xfc8c, 0xfb37, 0xfc2c, 0xfb37, 0xfc2c, 0xfb37, 0xfc2c, -0xfaee, 0xfbf6, 0xfaee, 0xfbf6, 0xfade, 0xfbf3, 0xfade, 0xfbf3, 0xfa1b, 0xfb36, 0xfa1b, -0xfb36, 0xfa34, 0xfb4f, 0xfa34, 0xfb4f, 0xfa83, 0xfb96, 0xfa83, 0xfb96, 0xfa83, 0xfb96, -0xfb2b, 0xfc30, 0xfb2b, 0xfc30, 0xfaf3, 0xfbe4, 0xfaf3, 0xfbe4, 0xfa83, 0xfb59, 0xfa83, -0xfb59, 0xfaee, 0xfba4, 0xfaee, 0xfba4, 0xfa4b, 0xfadc, 0xfa4b, 0xfadc, 0xfa7f, 0xfae8, -0xfa7f, 0xfae8, 0xfa7f, 0xfae8, 0xfab3, 0xfaf0, 0xfab3, 0xfaf0, 0xfaf3, 0xfb03, 0xfaf3, -0xfb03, 0xfc9d, 0xfc7f, 0xfc9d, 0xfc7f, 0xfe47, 0xfdfb, 0xfe47, 0xfdfb, 0xff48, 0xfecf, -0xff48, 0xfecf, 0xffa0, 0xfefc, 0xffa0, 0xfefc, 0xffa0, 0xfefc, 0x88, 0xffbb, 0x88, -0xffbb, 0x210, 0x11e, 0x210, 0x11e, 0x2a6, 0x192, 0x2a6, 0x192, 0x2cd, 0x19c, -0x2cd, 0x19c, 0x363, 0x21a, 0x363, 0x21a, 0x363, 0x21a, 0x2f0, 0x192, 0x2f0, -0x192, 0x32f, 0x1c2, 0x32f, 0x1c2, 0x512, 0x399, 0x512, 0x399, 0x571, 0x3f0, -0x571, 0x3f0, 0x599, 0x413, 0x599, 0x413, 0x63e, 0x4b7, 0x63e, 0x4b7, 0x63e, -0x4b7, 0x607, 0x480, 0x607, 0x480, 0x69b, 0x514, 0x69b, 0x514, 0x775, 0x5f0, -0x775, 0x5f0, 0x80d, 0x68a, 0x80d, 0x68a, 0x87c, 0x6f9, 0x87c, 0x6f9, 0x936, -0x7b2, 0x936, 0x7b2, 0x936, 0x7b2, 0xa8a, 0x903, 0xa8a, 0x903, 0xb64, 0x9d8, -0xb64, 0x9d8, 0xcf6, 0xb63, 0xcf6, 0xb63, 0xe71, 0xcd5, 0xe71, 0xcd5, 0xf57, -0xdaf, 0xf57, 0xdaf, 0xf57, 0xdaf, 0x102d, 0xe76, 0x102d, 0xe76, 0x115e, 0xf98, -0x115e, 0xf98, 0x128b, 0x10b2, 0x128b, 0x10b2, 0x126f, 0x1084, 0x126f, 0x1084, 0x12f6, -0x10f9, 0x12f6, 0x10f9, 0x144f, 0x123f, 0x144f, 0x123f, 0x144f, 0x123f, 0x1578, 0x1356, -0x1578, 0x1356, 0x165d, 0x142c, 0x165d, 0x142c, 0x1743, 0x1505, 0x1743, 0x1505, 0x17b6, -0x156e, 0x17b6, 0x156e, 0x183b, 0x15ed, 0x183b, 0x15ed, 0x1844, 0x15f4, 0x1844, 0x15f4, -0x1844, 0x15f4, 0x175a, 0x150e, 0x175a, 0x150e, 0x1707, 0x14c3, 0x1707, 0x14c3, 0x162c, -0x13f4, 0x162c, 0x13f4, 0x1616, 0x13f0, 0x1616, 0x13f0, 0x163d, 0x142e, 0x163d, 0x142e, -0x163d, 0x142e, 0x158a, 0x1397, 0x158a, 0x1397, 0x14fb, 0x1329, 0x14fb, 0x1329, 0x141f, -0x1271, 0x141f, 0x1271, 0x133b, 0x11b3, 0x133b, 0x11b3, 0x1284, 0x1127, 0x1284, 0x1127, -0x1264, 0x1132, 0x1264, 0x1132, 0x1264, 0x1132, 0x11e7, 0x10e2, 0x11e7, 0x10e2, 0x110e, -0x1036, 0x110e, 0x1036, 0x105c, 0xfb0, 0x105c, 0xfb0, 0xf82, 0xf02, 0xf82, 0xf02, -0xe53, 0xdfb, 0xe53, 0xdfb, 0xd8e, 0xd5d, 0xd8e, 0xd5d, 0xd8e, 0xd5d, 0xd0b, -0xcfd, 0xd0b, 0xcfd, 0xbcb, 0xbdd, 0xbcb, 0xbdd, 0xabe, 0xaec, 0xabe, 0xaec, -0x986, 0x9cd, 0x986, 0x9cd, 0x891, 0x8ec, 0x891, 0x8ec, 0x891, 0x8ec, 0x7b5, -0x820, 0x7b5, 0x820, 0x68e, 0x705, 0x68e, 0x705, 0x5e8, 0x667, 0x5e8, 0x667, -0x4c4, 0x547, 0x4c4, 0x547, 0x3b5, 0x43b, 0x3b5, 0x43b, 0x2fe, 0x384, 0x2fe, -0x384, 0x2fe, 0x384, 0x22a, 0x2ae, 0x22a, 0x2ae, 0x15d, 0x1dd, 0x15d, 0x1dd, -0xffc4, 0x40, 0xffc4, 0x40, 0xfe30, 0xfea7, 0xfe30, 0xfea7, 0xfd09, 0xfd7c, 0xfd09, -0xfd7c, 0xfd09, 0xfd7c, 0xfcec, 0xfd5c, 0xfcec, 0xfd5c, 0xfdec, 0xfe59, 0xfdec, 0xfe59, -0xfd8c, 0xfdf8, 0xfd8c, 0xfdf8, 0xfd34, 0xfd9f, 0xfd34, 0xfd9f, 0xfd1c, 0xfd89, 0xfd1c, -0xfd89, 0xfc2b, 0xfc9b, 0xfc2b, 0xfc9b, 0xfc2b, 0xfc9b, 0xfc1a, 0xfc8f, 0xfc1a, 0xfc8f, -0xfb87, 0xfc03, 0xfb87, 0xfc03, 0xf9d6, 0xfa59, 0xf9d6, 0xfa59, 0xf906, 0xf992, 0xf906, -0xf992, 0xf89a, 0xf92f, 0xf89a, 0xf92f, 0xf797, 0xf836, 0xf797, 0xf836, 0xf797, 0xf836, -0xf61a, 0xf6c3, 0xf61a, 0xf6c3, 0xf491, 0xf543, 0xf491, 0xf543, 0xf3bf, 0xf479, 0xf3bf, -0xf479, 0xf31d, 0xf3df, 0xf31d, 0xf3df, 0xf2c2, 0xf389, 0xf2c2, 0xf389, 0xf2c2, 0xf389, -0xf1d5, 0xf2a0, 0xf1d5, 0xf2a0, 0xf0e9, 0xf1b7, 0xf0e9, 0xf1b7, 0xf195, 0xf263, 0xf195, -0xf263, 0xf2f5, 0xf3c2, 0xf2f5, 0xf3c2, 0xf465, 0xf52e, 0xf465, 0xf52e, 0xf4f4, 0xf5b8, -0xf4f4, 0xf5b8, 0xf4f4, 0xf5b8, 0xf614, 0xf6d1, 0xf614, 0xf6d1, 0xf6a0, 0xf755, 0xf6a0, -0xf755, 0xf68a, 0xf735, 0xf68a, 0xf735, 0xf722, 0xf7c4, 0xf722, 0xf7c4, 0xf747, 0xf7df, -0xf747, 0xf7df, 0xf7ce, 0xf85d, 0xf7ce, 0xf85d, 0xf7ce, 0xf85d, 0xf8f8, 0xf97f, 0xf8f8, -0xf97f, 0xfb63, 0xfbe2, 0xfb63, 0xfbe2, 0xfc51, 0xfcca, 0xfc51, 0xfcca, 0xfc42, 0xfcb8, -0xfc42, 0xfcb8, 0xfc91, 0xfd06, 0xfc91, 0xfd06, 0xfc91, 0xfd06, 0xfc5c, 0xfcd3, 0xfc5c, -0xfcd3, 0xfc2c, 0xfca7, 0xfc2c, 0xfca7, 0xfb7b, 0xfbfd, 0xfb7b, 0xfbfd, 0xfb4f, 0xfbda, -0xfb4f, 0xfbda, 0xfa6f, 0xfb07, 0xfa6f, 0xfb07, 0xfa60, 0xfb08, 0xfa60, 0xfb08, 0xfa60, -0xfb08, 0xfa74, 0xfb2e, 0xfa74, 0xfb2e, 0xfa86, 0xfb53, 0xfa86, 0xfb53, 0xfaec, 0xfbce, -0xfaec, 0xfbce, 0xf951, 0xfa4a, 0xf951, 0xfa4a, 0xf89d, 0xf9ad, 0xf89d, 0xf9ad, 0xf7de, -0xf904, 0xf7de, 0xf904, 0xf7de, 0xf904, 0xf6ec, 0xf829, 0xf6ec, 0xf829, 0xf651, 0xf7a2, -0xf651, 0xf7a2, 0xf595, 0xf6fa, 0xf595, 0xf6fa, 0xf500, 0xf677, 0xf500, 0xf677, 0xf4fe, -0xf683, 0xf4fe, 0xf683, 0xf4fe, 0xf683, 0xf5e5, 0xf775, 0xf5e5, 0xf775, 0xf5ee, 0xf787, -0xf5ee, 0xf787, 0xf657, 0xf7f5, 0xf657, 0xf7f5, 0xf631, 0xf7d0, 0xf631, 0xf7d0, 0xf5b5, -0xf751, 0xf5b5, 0xf751, 0xf5c6, 0xf75c, 0xf5c6, 0xf75c, 0xf5c6, 0xf75c, 0xf52d, 0xf6ba, -0xf52d, 0xf6ba, 0xf524, 0xf6a6, 0xf524, 0xf6a6, 0xf570, 0xf6e3, 0xf570, 0xf6e3, 0xf56b, -0xf6ce, 0xf56b, 0xf6ce, 0xf5b2, 0xf703, 0xf5b2, 0xf703, 0xf62a, 0xf768, 0xf62a, 0xf768, -0xf62a, 0xf768, 0xf677, 0xf7a2, 0xf677, 0xf7a2, 0xf6e6, 0xf7fe, 0xf6e6, 0xf7fe, 0xf7ac, -0xf8b3, 0xf7ac, 0xf8b3, 0xf844, 0xf93b, 0xf844, 0xf93b, 0xf8c2, 0xf9aa, 0xf8c2, 0xf9aa, -0xf8c2, 0xf9aa, 0xf9d2, 0xfaae, 0xf9d2, 0xfaae, 0xfa2a, 0xfafd, 0xfa2a, 0xfafd, 0xfad6, -0xfba3, 0xfad6, 0xfba3, 0xfae6, 0xfbaf, 0xfae6, 0xfbaf, 0xf9a5, 0xfa6e, 0xf9a5, 0xfa6e, -0xf9cc, 0xfa98, 0xf9cc, 0xfa98, 0xf9cc, 0xfa98, 0xf97c, 0xfa4e, 0xf97c, 0xfa4e, 0xf8e4, -0xf9bf, 0xf8e4, 0xf9bf, 0xf872, 0xf957, 0xf872, 0xf957, 0xf7f7, 0xf8e8, 0xf7f7, 0xf8e8, -0xf6fb, 0xf7fa, 0xf6fb, 0xf7fa, 0xf611, 0xf71f, 0xf611, 0xf71f, 0xf611, 0xf71f, 0xf634, -0xf74f, 0xf634, 0xf74f, 0xf57a, 0xf6a4, 0xf57a, 0xf6a4, 0xf4c6, 0xf5fc, 0xf4c6, 0xf5fc, -0xf3f9, 0xf53b, 0xf3f9, 0xf53b, 0xf368, 0xf4b3, 0xf368, 0xf4b3, 0xf368, 0xf4b3, 0xf339, -0xf48b, 0xf339, 0xf48b, 0xf333, 0xf489, 0xf333, 0xf489, 0xf2f5, 0xf44c, 0xf2f5, 0xf44c, -0xf2e3, 0xf438, 0xf2e3, 0xf438, 0xf3b1, 0xf501, 0xf3b1, 0xf501, 0xf458, 0xf5a0, 0xf458, -0xf5a0, 0xf458, 0xf5a0, 0xf535, 0xf672, 0xf535, 0xf672, 0xf4d4, 0xf605, 0xf4d4, 0xf605, -0xf48d, 0xf5ae, 0xf48d, 0xf5ae, 0xf4d2, 0xf5e4, 0xf4d2, 0xf5e4, 0xf5a5, 0xf6a5, 0xf5a5, -0xf6a5, 0xf739, 0xf827, 0xf739, 0xf827, 0xf739, 0xf827, 0xf6f4, 0xf7d1, 0xf6f4, 0xf7d1, -0xf684, 0xf74f, 0xf684, 0xf74f, 0xf6b0, 0xf76c, 0xf6b0, 0xf76c, 0xf715, 0xf7c3, 0xf715, -0xf7c3, 0xf7bc, 0xf85e, 0xf7bc, 0xf85e, 0xf7bc, 0xf85e, 0xf79e, 0xf837, 0xf79e, 0xf837, -0xf75e, 0xf7ef, 0xf75e, 0xf7ef, 0xf802, 0xf88f, 0xf802, 0xf88f, 0xf845, 0xf8d1, 0xf845, -0xf8d1, 0xf83d, 0xf8c9, 0xf83d, 0xf8c9, 0xf879, 0xf909, 0xf879, 0xf909, 0xf879, 0xf909, -0xf7e6, 0xf87a, 0xf7e6, 0xf87a, 0xf84e, 0xf8e9, 0xf84e, 0xf8e9, 0xf8c4, 0xf968, 0xf8c4, -0xf968, 0xf869, 0xf915, 0xf869, 0xf915, 0xf892, 0xf945, 0xf892, 0xf945, 0xf813, 0xf8ce, -0xf813, 0xf8ce, 0xf813, 0xf8ce, 0xf86e, 0xf92d, 0xf86e, 0xf92d, 0xf8b2, 0xf974, 0xf8b2, -0xf974, 0xf79e, 0xf861, 0xf79e, 0xf861, 0xf75b, 0xf81a, 0xf75b, 0xf81a, 0xf75a, 0xf812, -0xf75a, 0xf812, 0xf75a, 0xf812, 0xf807, 0xf8b4, 0xf807, 0xf8b4, 0xf876, 0xf912, 0xf876, -0xf912, 0xf894, 0xf91c, 0xf894, 0xf91c, 0xf895, 0xf903, 0xf895, 0xf903, 0xf879, 0xf8cb, -0xf879, 0xf8cb, 0xf99e, 0xf9ce, 0xf99e, 0xf9ce, 0xf99e, 0xf9ce, 0xf91c, 0xf926, 0xf91c, -0xf926, 0xf921, 0xf903, 0xf921, 0xf903, 0xf9b7, 0xf96d, 0xf9b7, 0xf96d, 0xfa28, 0xf9b1, -0xfa28, 0xf9b1, 0xfc99, 0xfbf4, 0xfc99, 0xfbf4, 0xfded, 0xfd19, 0xfded, 0xfd19, 0xfded, -0xfd19, 0xff74, 0xfe72, 0xff74, 0xfe72, 0x68, 0xff39, 0x68, 0xff39, 0x111, 0xffb6, -0x111, 0xffb6, 0x296, 0x112, 0x296, 0x112, 0x333, 0x188, 0x333, 0x188, 0x333, -0x188, 0x451, 0x284, 0x451, 0x284, 0x4d7, 0x2eb, 0x4d7, 0x2eb, 0x585, 0x37e, -0x585, 0x37e, 0x70d, 0x4f0, 0x70d, 0x4f0, 0x8c3, 0x692, 0x8c3, 0x692, 0x9e4, -0x7a5, 0x9e4, 0x7a5, 0x9e4, 0x7a5, 0xa3c, 0x7f2, 0xa3c, 0x7f2, 0xa47, 0x7f6, -0xa47, 0x7f6, 0xa04, 0x7ae, 0xa04, 0x7ae, 0xae2, 0x88c, 0xae2, 0x88c, 0xade, -0x889, 0xade, 0x889, 0xade, 0x889, 0xad9, 0x887, 0xad9, 0x887, 0xb99, 0x94b, -0xb99, 0x94b, 0xc00, 0x9b9, 0xc00, 0x9b9, 0xd61, 0xb20, 0xd61, 0xb20, 0xee1, -0xca8, 0xee1, 0xca8, 0xfb0, 0xd7e, 0xfb0, 0xd7e, 0xfb0, 0xd7e, 0xfb9, 0xd8f, -0xfb9, 0xd8f, 0x1078, 0xe57, 0x1078, 0xe57, 0x114e, 0xf34, 0x114e, 0xf34, 0x1128, -0xf17, 0x1128, 0xf17, 0x10c2, 0xeba, 0x10c2, 0xeba, 0x1155, 0xf58, 0x1155, 0xf58, -0x1155, 0xf58, 0x1159, 0xf67, 0x1159, 0xf67, 0x10ef, 0xf09, 0x10ef, 0xf09, 0x116c, -0xf94, 0x116c, 0xf94, 0xfe9, 0xe21, 0xfe9, 0xe21, 0xfe7, 0xe32, 0xfe7, 0xe32, -0xfe7, 0xe32, 0xfe7, 0xe48, 0xfe7, 0xe48, 0xf00, 0xd7a, 0xf00, 0xd7a, 0xee0, -0xd75, 0xee0, 0xd75, 0xd3c, 0xbf1, 0xd3c, 0xbf1, 0xca3, 0xb7b, 0xca3, 0xb7b, -0xc30, 0xb2e, 0xc30, 0xb2e, 0xc30, 0xb2e, 0xc15, 0xb3d, 0xc15, 0xb3d, 0xb6e, -0xac3, 0xb6e, 0xac3, 0xaa6, 0xa2b, 0xaa6, 0xa2b, 0xab5, 0xa6b, 0xab5, 0xa6b, -0x9c2, 0x9ad, 0x9c2, 0x9ad, 0x89f, 0x8c0, 0x89f, 0x8c0, 0x89f, 0x8c0, 0x787, -0x7df, 0x787, 0x7df, 0x6a8, 0x737, 0x6a8, 0x737, 0x53a, 0x600, 0x53a, 0x600, -0x4e7, 0x5e3, 0x4e7, 0x5e3, 0x409, 0x539, 0x409, 0x539, 0x409, 0x539, 0x21c, -0x37f, 0x21c, 0x37f, 0xbd, 0x24e, 0xbd, 0x24e, 0xff01, 0xbe, 0xff01, 0xbe, -0xfe4a, 0x2f, 0xfe4a, 0x2f, 0xfd98, 0xffa0, 0xfd98, 0xffa0, 0xfc64, 0xfe8b, 0xfc64, -0xfe8b, 0xfc64, 0xfe8b, 0xfb6d, 0xfdab, 0xfb6d, 0xfdab, 0xfa72, 0xfcc3, 0xfa72, 0xfcc3, -0xf956, 0xfbb4, 0xf956, 0xfbb4, 0xf8b3, 0xfb19, 0xf8b3, 0xfb19, 0xf7b9, 0xfa1f, 0xf7b9, -0xfa1f, 0xf62b, 0xf88b, 0xf62b, 0xf88b, 0xf62b, 0xf88b, 0xf4e3, 0xf738, 0xf4e3, 0xf738, -0xf44b, 0xf68e, 0xf44b, 0xf68e, 0xf3f8, 0xf625, 0xf3f8, 0xf625, 0xf299, 0xf4a9, 0xf299, -0xf4a9, 0xf16b, 0xf35b, 0xf16b, 0xf35b, 0xf16b, 0xf35b, 0xf0f3, 0xf2be, 0xf0f3, 0xf2be, -0xf1b0, 0xf353, 0xf1b0, 0xf353, 0xf358, 0xf4d0, 0xf358, 0xf4d0, 0xf4f0, 0xf63a, 0xf4f0, -0xf63a, 0xf5c4, 0xf6de, 0xf5c4, 0xf6de, 0xf5f1, 0xf6db, 0xf5f1, 0xf6db, 0xf5f1, 0xf6db, -0xf724, 0xf7dd, 0xf724, 0xf7dd, 0xf826, 0xf8ae, 0xf826, 0xf8ae, 0xf857, 0xf8af, 0xf857, -0xf8af, 0xf89e, 0xf8c7, 0xf89e, 0xf8c7, 0xf940, 0xf93c, 0xf940, 0xf93c, 0xf9db, 0xf9ac, -0xf9db, 0xf9ac, 0xf9db, 0xf9ac, 0xfa13, 0xf9bb, 0xfa13, 0xf9bb, 0xfa41, 0xf9c3, 0xfa41, -0xf9c3, 0xfa15, 0xf972, 0xfa15, 0xf972, 0xfa48, 0xf983, 0xfa48, 0xf983, 0xfc21, 0xfb3d, -0xfc21, 0xfb3d, 0xfc21, 0xfb3d, 0xfcdd, 0xfbdc, 0xfcdd, 0xfbdc, 0xfcb0, 0xfb94, 0xfcb0, -0xfb94, 0xfdd4, 0xfc9f, 0xfdd4, 0xfc9f, 0xfe62, 0xfd16, 0xfe62, 0xfd16, 0xffa6, 0xfe43, -0xffa6, 0xfe43, 0x11a, 0xffa2, 0x11a, 0xffa2, 0x11a, 0xffa2, 0x18a, 0xfffd, 0x18a, -0xfffd, 0x225, 0x84, 0x225, 0x84, 0x2d2, 0x11d, 0x2d2, 0x11d, 0x3e1, 0x219, -0x3e1, 0x219, 0x430, 0x255, 0x430, 0x255, 0x45c, 0x270, 0x45c, 0x270, 0x45c, -0x270, 0x582, 0x385, 0x582, 0x385, 0x6f5, 0x4e7, 0x6f5, 0x4e7, 0x877, 0x65a, -0x877, 0x65a, 0x99e, 0x775, 0x99e, 0x775, 0x9ee, 0x7ba, 0x9ee, 0x7ba, 0x9ee, -0x7ba, 0x9f3, 0x7b7, 0x9f3, 0x7b7, 0xa45, 0x806, 0xa45, 0x806, 0x9a1, 0x761, -0x9a1, 0x761, 0x8d8, 0x69c, 0x8d8, 0x69c, 0x876, 0x643, 0x876, 0x643, 0x7e6, -0x5c1, 0x7e6, 0x5c1, 0x7e6, 0x5c1, 0x817, 0x605, 0x817, 0x605, 0x800, 0x607, -0x800, 0x607, 0x822, 0x646, 0x822, 0x646, 0x7d6, 0x61d, 0x7d6, 0x61d, 0x710, -0x57f, 0x710, 0x57f, 0x781, 0x61d, 0x781, 0x61d, 0x781, 0x61d, 0x6bb, 0x587, -0x6bb, 0x587, 0x604, 0x503, 0x604, 0x503, 0x62d, 0x561, 0x62d, 0x561, 0x550, -0x4bb, 0x550, 0x4bb, 0x4b8, 0x45a, 0x4b8, 0x45a, 0x4b8, 0x45a, 0x4ad, 0x485, -0x4ad, 0x485, 0x483, 0x490, 0x483, 0x490, 0x4bc, 0x4fb, 0x4bc, 0x4fb, 0x453, -0x4c1, 0x453, 0x4c1, 0x3e2, 0x47a, 0x3e2, 0x47a, 0x3e9, 0x4a6, 0x3e9, 0x4a6, -0x3e9, 0x4a6, 0x2cd, 0x3a9, 0x2cd, 0x3a9, 0x273, 0x367, 0x273, 0x367, 0x27c, -0x382, 0x27c, 0x382, 0x2de, 0x3f0, 0x2de, 0x3f0, 0x348, 0x45e, 0x348, 0x45e, -0x3b6, 0x4c9, 0x3b6, 0x4c9, 0x3b6, 0x4c9, 0x4ef, 0x5fb, 0x4ef, 0x5fb, 0x4c8, -0x5c5, 0x4c8, 0x5c5, 0x5bb, 0x6a4, 0x5bb, 0x6a4, 0x73c, 0x80d, 0x73c, 0x80d, -0x752, 0x807, 0x752, 0x807, 0x752, 0x807, 0x7d5, 0x86a, 0x7d5, 0x86a, 0x91b, -0x98f, 0x91b, 0x98f, 0xa30, 0xa81, 0xa30, 0xa81, 0xbfd, 0xc2b, 0xbfd, 0xc2b, -0xd93, 0xd9e, 0xd93, 0xd9e, 0xdb4, 0xd9c, 0xdb4, 0xd9c, 0xdb4, 0xd9c, 0xe1f, -0xde6, 0xe1f, 0xde6, 0xe66, 0xe0e, 0xe66, 0xe0e, 0xf3b, 0xec6, 0xf3b, 0xec6, -0xfef, 0xf60, 0xfef, 0xf60, 0x1072, 0xfcb, 0x1072, 0xfcb, 0x10b3, 0xff7, 0x10b3, -0xff7, 0x10b3, 0xff7, 0x1080, 0xfb2, 0x1080, 0xfb2, 0x108e, 0xfb0, 0x108e, 0xfb0, -0x10cc, 0xfe1, 0x10cc, 0xfe1, 0x10e7, 0xff0, 0x10e7, 0xff0, 0x106f, 0xf6f, 0x106f, -0xf6f, 0x106f, 0xf6f, 0x112b, 0x1023, 0x112b, 0x1023, 0x11b6, 0x10a8, 0x11b6, 0x10a8, -0x12c0, 0x11ad, 0x12c0, 0x11ad, 0x13b3, 0x129c, 0x13b3, 0x129c, 0x1395, 0x127b, 0x1395, -0x127b, 0x137e, 0x1262, 0x137e, 0x1262, 0x137e, 0x1262, 0x13ed, 0x12d0, 0x13ed, 0x12d0, -0x1435, 0x1319, 0x1435, 0x1319, 0x1344, 0x122a, 0x1344, 0x122a, 0x12f7, 0x11e0, 0x12f7, -0x11e0, 0x11bc, 0x10aa, 0x11bc, 0x10aa, 0x11bc, 0x10aa, 0x11de, 0x10d4, 0x11de, 0x10d4, -0x11ea, 0x10ea, 0x11ea, 0x10ea, 0x10b8, 0xfc5, 0x10b8, 0xfc5, 0x1046, 0xf63, 0x1046, -0xf63, 0xf85, 0xeb6, 0xf85, 0xeb6, 0xf40, 0xe88, 0xf40, 0xe88, 0xf40, 0xe88, -0xe20, 0xd83, 0xe20, 0xd83, 0xd07, 0xc87, 0xd07, 0xc87, 0xaca, 0xa6c, 0xaca, -0xa6c, 0x947, 0x90f, 0x947, 0x90f, 0x895, 0x884, 0x895, 0x884, 0x6bf, 0x6da, -0x6bf, 0x6da, 0x6bf, 0x6da, 0x553, 0x59a, 0x553, 0x59a, 0x3a3, 0x418, 0x3a3, -0x418, 0x21c, 0x2c0, 0x21c, 0x2c0, 0xa1, 0x174, 0xa1, 0x174, 0xff6d, 0x70, -0xff6d, 0x70, 0xff6d, 0x70, 0xfd2f, 0xfe5f, 0xfd2f, 0xfe5f, 0xfb72, 0xfccd, 0xfb72, -0xfccd, 0xfaa7, 0xfc2b, 0xfaa7, 0xfc2b, 0xf8e6, 0xfa90, 0xf8e6, 0xfa90, 0xf711, 0xf8dd, -0xf711, 0xf8dd, 0xf58d, 0xf777, 0xf58d, 0xf777, 0xf58d, 0xf777, 0xf486, 0xf688, 0xf486, -0xf688, 0xf3ac, 0xf5c3, 0xf3ac, 0xf5c3, 0xf2fc, 0xf522, 0xf2fc, 0xf522, 0xf1eb, 0xf41b, -0xf1eb, 0xf41b, 0xf09f, 0xf2d3, 0xf09f, 0xf2d3, 0xefad, 0xf1e1, 0xefad, 0xf1e1, 0xefad, -0xf1e1, 0xeed1, 0xf0ff, 0xeed1, 0xf0ff, 0xede1, 0xf007, 0xede1, 0xf007, 0xed71, 0xef89, -0xed71, 0xef89, 0xecc4, 0xeecb, 0xecc4, 0xeecb, 0xed32, 0xef24, 0xed32, 0xef24, 0xed32, -0xef24, 0xedc5, 0xef9f, 0xedc5, 0xef9f, 0xed0d, 0xeece, 0xed0d, 0xeece, 0xed82, 0xef27, -0xed82, 0xef27, 0xed9c, 0xef24, 0xed9c, 0xef24, 0xedd5, 0xef3f, 0xedd5, 0xef3f, 0xeea0, -0xefec, 0xeea0, 0xefec, 0xeea0, 0xefec, 0xeefd, 0xf029, 0xeefd, 0xf029, 0xef79, 0xf087, -0xef79, 0xf087, 0xf035, 0xf124, 0xf035, 0xf124, 0xf149, 0xf21a, 0xf149, 0xf21a, 0xf26f, -0xf323, 0xf26f, 0xf323, 0xf2e4, 0xf37a, 0xf2e4, 0xf37a, 0xf2e4, 0xf37a, 0xf39e, 0xf419, -0xf39e, 0xf419, 0xf3a8, 0xf407, 0xf3a8, 0xf407, 0xf2a1, 0xf2e6, 0xf2a1, 0xf2e6, 0xf2e1, -0xf30d, 0xf2e1, 0xf30d, 0xf1ce, 0xf1e1, 0xf1ce, 0xf1e1, 0xf1ce, 0xf1e1, 0xf0ba, 0xf0b6, -0xf0ba, 0xf0b6, 0xf085, 0xf06c, 0xf085, 0xf06c, 0xf095, 0xf067, 0xf095, 0xf067, 0xf139, -0xf0f7, 0xf139, 0xf0f7, 0xf26d, 0xf219, 0xf26d, 0xf219, 0xf3d2, 0xf36d, 0xf3d2, 0xf36d, -0xf3d2, 0xf36d, 0xf425, 0xf3af, 0xf425, 0xf3af, 0xf5cb, 0xf547, 0xf5cb, 0xf547, 0xf6bd, -0xf62d, 0xf6bd, 0xf62d, 0xf7b5, 0xf71a, 0xf7b5, 0xf71a, 0xf85f, 0xf7bb, 0xf85f, 0xf7bb, -0xf89f, 0xf7f4, 0xf89f, 0xf7f4, 0xf89f, 0xf7f4, 0xfa66, 0xf9b6, 0xfa66, 0xf9b6, 0xfba7, -0xfaf4, 0xfba7, 0xfaf4, 0xfcd3, 0xfc1f, 0xfcd3, 0xfc1f, 0xfcf6, 0xfc44, 0xfcf6, 0xfc44, -0xfda4, 0xfcf6, 0xfda4, 0xfcf6, 0xfda4, 0xfcf6, 0xff14, 0xfe6c, 0xff14, 0xfe6c, 0xfff7, -0xff58, 0xfff7, 0xff58, 0xc3, 0x2f, 0xc3, 0x2f, 0x12a, 0xa4, 0x12a, 0xa4, -0xf0, 0x7a, 0xf0, 0x7a, 0x9a, 0x37, 0x9a, 0x37, 0x9a, 0x37, 0x23, -0xffd6, 0x23, 0xffd6, 0xfe61, 0xfe2c, 0xfe61, 0xfe2c, 0xfdb1, 0xfd96, 0xfdb1, 0xfd96, -0xfdda, 0xfddd, 0xfdda, 0xfddd, 0xfd24, 0xfd47, 0xfd24, 0xfd47, 0xfcf9, 0xfd40, 0xfcf9, -0xfd40, 0xfcf9, 0xfd40, 0xfb90, 0xfbfc, 0xfb90, 0xfbfc, 0xf9b1, 0xfa44, 0xf9b1, 0xfa44, -0xf98a, 0xfa47, 0xf98a, 0xfa47, 0xf848, 0xf931, 0xf848, 0xf931, 0xf732, 0xf84a, 0xf732, -0xf84a, 0xf732, 0xf84a, 0xf6a0, 0xf7e6, 0xf6a0, 0xf7e6, 0xf595, 0xf70b, 0xf595, 0xf70b, -0xf3b5, 0xf55b, 0xf3b5, 0xf55b, 0xf20d, 0xf3e4, 0xf20d, 0xf3e4, 0xf16f, 0xf375, 0xf16f, -0xf375, 0xefeb, 0xf21f, 0xefeb, 0xf21f, 0xefeb, 0xf21f, 0xefee, 0xf24d, 0xefee, 0xf24d, -0xef5d, 0xf1e5, 0xef5d, 0xf1e5, 0xee35, 0xf0e1, 0xee35, 0xf0e1, 0xee1a, 0xf0e7, 0xee1a, -0xf0e7, 0xeda1, 0xf08a, 0xeda1, 0xf08a, 0xec52, 0xef50, 0xec52, 0xef50, 0xec52, 0xef50, -0xeafb, 0xee09, 0xeafb, 0xee09, 0xea2d, 0xed44, 0xea2d, 0xed44, 0xe9b4, 0xeccc, 0xe9b4, -0xeccc, 0xeae2, 0xedf4, 0xeae2, 0xedf4, 0xeabc, 0xedc1, 0xeabc, 0xedc1, 0xeabc, 0xedc1, -0xe9ff, 0xecef, 0xe9ff, 0xecef, 0xea11, 0xece6, 0xea11, 0xece6, 0xebae, 0xee60, 0xebae, -0xee60, 0xed23, 0xefad, 0xed23, 0xefad, 0xed8c, 0xefe8, 0xed8c, 0xefe8, 0xedf9, 0xf023, -0xedf9, 0xf023, 0xedf9, 0xf023, 0xedeb, 0xefde, 0xedeb, 0xefde, 0xef85, 0xf13e, 0xef85, -0xf13e, 0xf025, 0xf1a3, 0xf025, 0xf1a3, 0xf11a, 0xf25b, 0xf11a, 0xf25b, 0xf212, 0xf317, -0xf212, 0xf317, 0xf2f2, 0xf3bb, 0xf2f2, 0xf3bb, 0xf2f2, 0xf3bb, 0xf511, 0xf5a0, 0xf511, -0xf5a0, 0xf684, 0xf6da, 0xf684, 0xf6da, 0xf70c, 0xf72e, 0xf70c, 0xf72e, 0xf76c, 0xf75c, -0xf76c, 0xf75c, 0xf8e6, 0xf8a8, 0xf8e6, 0xf8a8, 0xf8e6, 0xf8a8, 0xf970, 0xf908, 0xf970, -0xf908, 0xfaa2, 0xfa13, 0xfaa2, 0xfa13, 0xfbfa, 0xfb48, 0xfbfa, 0xfb48, 0xfc52, 0xfb81, -0xfc52, 0xfb81, 0xfd67, 0xfc78, 0xfd67, 0xfc78, 0xfe8d, 0xfd83, 0xfe8d, 0xfd83, 0xfe8d, -0xfd83, 0xff56, 0xfe32, 0xff56, 0xfe32, 0xe3, 0xffa6, 0xe3, 0xffa6, 0x294, 0x13e, -0x294, 0x13e, 0x4a3, 0x334, 0x4a3, 0x334, 0x607, 0x47d, 0x607, 0x47d, 0x698, -0x4f3, 0x698, 0x4f3, 0x698, 0x4f3, 0x890, 0x6cd, 0x890, 0x6cd, 0x8cf, 0x6ed, -0x8cf, 0x6ed, 0xb01, 0x8fd, 0xb01, 0x8fd, 0xd49, 0xb23, 0xd49, 0xb23, 0xdd4, -0xb89, 0xdd4, 0xb89, 0xdd4, 0xb89, 0xf69, 0xcf9, 0xf69, 0xcf9, 0x109b, 0xe06, -0x109b, 0xe06, 0x1250, 0xf97, 0x1250, 0xf97, 0x133f, 0x1063, 0x133f, 0x1063, 0x1504, -0x1208, 0x1504, 0x1208, 0x14eb, 0x11d3, 0x14eb, 0x11d3, 0x14eb, 0x11d3, 0x13af, 0x1080, -0x13af, 0x1080, 0x143a, 0x10f9, 0x143a, 0x10f9, 0x14ae, 0x1163, 0x14ae, 0x1163, 0x1476, -0x1126, 0x1476, 0x1126, 0x13fd, 0x10b1, 0x13fd, 0x10b1, 0x13fd, 0x10b1, 0x1317, 0xfd7, -0x1317, 0xfd7, 0x11da, 0xeae, 0x11da, 0xeae, 0x11df, 0xed0, 0x11df, 0xed0, 0x1100, -0xe15, 0x1100, 0xe15, 0xff0, 0xd30, 0xff0, 0xd30, 0xea4, 0xc16, 0xea4, 0xc16, -0xea4, 0xc16, 0xeff, 0xcaa, 0xeff, 0xcaa, 0xfe3, 0xdca, 0xfe3, 0xdca, 0xeaf, -0xcd6, 0xeaf, 0xcd6, 0xdea, 0xc52, 0xdea, 0xc52, 0xb8c, 0xa36, 0xb8c, 0xa36, -0x98e, 0x879, 0x98e, 0x879, 0x98e, 0x879, 0xa54, 0x97e, 0xa54, 0x97e, 0x92f, -0x895, 0x92f, 0x895, 0x6e9, 0x685, 0x6e9, 0x685, 0x62a, 0x5f8, 0x62a, 0x5f8, -0x489, 0x483, 0x489, 0x483, 0x489, 0x483, 0x4e5, 0x503, 0x4e5, 0x503, 0x3b1, -0x3ed, 0x3b1, 0x3ed, 0x1e2, 0x236, 0x1e2, 0x236, 0x14b, 0x1af, 0x14b, 0x1af, -0xfeee, 0xff5d, 0xfeee, 0xff5d, 0xff95, 0x9, 0xff95, 0x9, 0xff95, 0x9, 0xfebe, -0xff33, 0xfebe, 0xff33, 0xfe3b, 0xfeac, 0xfe3b, 0xfeac, 0xfe54, 0xfec0, 0xfe54, 0xfec0, -0xfdd0, 0xfe35, 0xfdd0, 0xfe35, 0xfedc, 0xff39, 0xfedc, 0xff39, 0xfdc0, 0xfe16, 0xfdc0, -0xfe16, 0xfdc0, 0xfe16, 0xfe56, 0xfea7, 0xfe56, 0xfea7, 0xfea1, 0xfeef, 0xfea1, 0xfeef, -0xfde0, 0xfe2e, 0xfde0, 0xfe2e, 0xff1c, 0xff6e, 0xff1c, 0xff6e, 0xfdfd, 0xfe55, 0xfdfd, -0xfe55, 0xfdfd, 0xfe55, 0xfdbf, 0xfe22, 0xfdbf, 0xfe22, 0xff94, 0x5, 0xff94, 0x5, -0xfe70, 0xfef3, 0xfe70, 0xfef3, 0xfeee, 0xff85, 0xfeee, 0xff85, 0xfeae, 0xff5b, 0xfeae, -0xff5b, 0xfd0f, 0xfdd2, 0xfd0f, 0xfdd2, 0xfd0f, 0xfdd2, 0xfdbf, 0xfe9a, 0xfdbf, 0xfe9a, -0xfced, 0xfddd, 0xfced, 0xfddd, 0xfda8, 0xfead, 0xfda8, 0xfead, 0xfd96, 0xfeac, 0xfd96, -0xfeac, 0xfc54, 0xfd78, 0xfc54, 0xfd78, 0xfe30, 0xff5d, 0xfe30, 0xff5d, 0xfe30, 0xff5d, -0xfe70, 0xffa2, 0xfe70, 0xffa2, 0xfdbf, 0xfef1, 0xfdbf, 0xfef1, 0xff61, 0x8d, 0xff61, -0x8d, 0xfe22, 0xff43, 0xfe22, 0xff43, 0xfcf1, 0xfe02, 0xfcf1, 0xfe02, 0xfcf1, 0xfe02, -0xfea6, 0xffa2, 0xfea6, 0xffa2, 0xfcec, 0xfdd0, 0xfcec, 0xfdd0, 0xfbc6, 0xfc8e, 0xfbc6, -0xfc8e, 0xfbb2, 0xfc5c, 0xfbb2, 0xfc5c, 0xfc12, 0xfc9c, 0xfc12, 0xfc9c, 0xfe66, 0xfed1, -0xfe66, 0xfed1, 0xfe66, 0xfed1, 0xff1e, 0xff6a, 0xff1e, 0xff6a, 0x11, 0x3f, 0x11, -0x3f, 0xfff0, 0x5, 0xfff0, 0x5, 0xffc7, 0xffc5, 0xffc7, 0xffc5, 0x130, 0x11d, -0x130, 0x11d, 0x7b, 0x5b, 0x7b, 0x5b, 0x7b, 0x5b, 0x68, 0x40, 0x68, -0x40, 0xc7, 0x9d, 0xc7, 0x9d, 0x9a, 0x74, 0x9a, 0x74, 0x12e, 0x111, -0x12e, 0x111, 0x176, 0x167, 0x176, 0x167, 0x176, 0x167, 0xc7, 0xcb, 0xc7, -0xcb, 0xa, 0x25, 0xa, 0x25, 0x15d, 0x192, 0x15d, 0x192, 0x7d, 0xcf, -0x7d, 0xcf, 0x9d, 0x10d, 0x9d, 0x10d, 0x106, 0x194, 0x106, 0x194, 0x106, -0x194, 0xff59, 0x5, 0xff59, 0x5, 0xffff, 0xc7, 0xffff, 0xc7, 0xfe1a, 0xfefe, -0xfe1a, 0xfefe, 0xfdf4, 0xfef0, 0xfdf4, 0xfef0, 0xfea9, 0xffba, 0xfea9, 0xffba, 0xfd87, -0xfeaa, 0xfd87, 0xfeaa, 0xfd87, 0xfeaa, 0xfd1b, 0xfe4c, 0xfd1b, 0xfe4c, 0xfc71, 0xfdac, -0xfc71, 0xfdac, 0xfbf8, 0xfd3a, 0xfbf8, 0xfd3a, 0xfc56, 0xfd9a, 0xfc56, 0xfd9a, 0xfdfd, -0xff3f, 0xfdfd, 0xff3f, 0xfdfd, 0xff3f, 0xfc8c, 0xfdca, 0xfc8c, 0xfdca, 0xfd3e, 0xfe74, -0xfd3e, 0xfe74, 0xfefa, 0x27, 0xfefa, 0x27, 0xfe9d, 0xffbd, 0xfe9d, 0xffbd, 0xfefe, -0x10, 0xfefe, 0x10, 0xfdb7, 0xfeb8, 0xfdb7, 0xfeb8, 0xfdb7, 0xfeb8, 0xfc96, 0xfd86, -0xfc96, 0xfd86, 0xfcd5, 0xfdb2, 0xfcd5, 0xfdb2, 0xfecd, 0xff97, 0xfecd, 0xff97, 0xf, -0xc5, 0xf, 0xc5, 0xffd9, 0x7a, 0xffd9, 0x7a, 0x6c, 0xf6, 0x6c, 0xf6, -0x6c, 0xf6, 0x242, 0x2b5, 0x242, 0x2b5, 0x2eb, 0x346, 0x2eb, 0x346, 0x3bd, -0x3fe, 0x3bd, 0x3fe, 0x348, 0x36d, 0x348, 0x36d, 0x12c, 0x135, 0x12c, 0x135, -0x12c, 0x135, 0x258, 0x243, 0x258, 0x243, 0x2bc, 0x287, 0x2bc, 0x287, 0x3f4, -0x39d, 0x3f4, 0x39d, 0x5d0, 0x556, 0x5d0, 0x556, 0x5af, 0x511, 0x5af, 0x511, -0x676, 0x5b2, 0x676, 0x5b2, 0x676, 0x5b2, 0x8b4, 0x7c8, 0x8b4, 0x7c8, 0x95d, -0x84a, 0x95d, 0x84a, 0x9fc, 0x8c0, 0x9fc, 0x8c0, 0xb7b, 0xa17, 0xb7b, 0xa17, -0xa5d, 0x8d1, 0xa5d, 0x8d1, 0xb81, 0x9ce, 0xb81, 0x9ce, 0xb81, 0x9ce, 0xc6b, -0xa92, 0xc6b, 0xa92, 0xd3b, 0xb3d, 0xd3b, 0xb3d, 0xfe6, 0xdc5, 0xfe6, 0xdc5, -0x1035, 0xdf4, 0x1035, 0xdf4, 0x10b3, 0xe53, 0x10b3, 0xe53, 0x10b3, 0xe53, 0x1275, -0xff9, 0x1275, 0xff9, 0x1338, 0x10a2, 0x1338, 0x10a2, 0x1450, 0x11a2, 0x1450, 0x11a2, -0x1639, 0x1374, 0x1639, 0x1374, 0x148e, 0x11b5, 0x148e, 0x11b5, 0x13c6, 0x10da, 0x13c6, -0x10da, 0x13c6, 0x10da, 0x1467, 0x116b, 0x1467, 0x116b, 0x1487, 0x117a, 0x1487, 0x117a, -0x14d6, 0x11bb, 0x14d6, 0x11bb, 0x1388, 0x105f, 0x1388, 0x105f, 0x140d, 0x10d7, 0x140d, -0x10d7, 0x13ef, 0x10ac, 0x13ef, 0x10ac, 0x13ef, 0x10ac, 0x134d, 0xfff, 0x134d, 0xfff, -0x14b5, 0x115d, 0x14b5, 0x115d, 0x15a8, 0x1247, 0x15a8, 0x1247, 0x163c, 0x12d4, 0x163c, -0x12d4, 0x1848, 0x14dc, 0x1848, 0x14dc, 0x1848, 0x14dc, 0x1943, 0x15d6, 0x1943, 0x15d6, -0x1898, 0x152d, 0x1898, 0x152d, 0x1846, 0x14e3, 0x1846, 0x14e3, 0x176e, 0x1417, 0x176e, -0x1417, 0x17cb, 0x1486, 0x17cb, 0x1486, 0x178b, 0x145e, 0x178b, 0x145e, 0x178b, 0x145e, -0x1708, 0x13fb, 0x1708, 0x13fb, 0x1707, 0x1421, 0x1707, 0x1421, 0x16ba, 0x1402, 0x16ba, -0x1402, 0x1689, 0x1406, 0x1689, 0x1406, 0x1531, 0x12ec, 0x1531, 0x12ec, 0x1531, 0x12ec, -0x1447, 0x1246, 0x1447, 0x1246, 0x127d, 0x10c8, 0x127d, 0x10c8, 0x102a, 0xec6, 0x102a, -0xec6, 0xdb2, 0xca4, 0xdb2, 0xca4, 0xb51, 0xa9d, 0xb51, 0xa9d, 0x93d, 0x8e7, -0x93d, 0x8e7, 0x93d, 0x8e7, 0x61f, 0x627, 0x61f, 0x627, 0x489, 0x4f0, 0x489, -0x4f0, 0x36e, 0x432, 0x36e, 0x432, 0x186, 0x2a5, 0x186, 0x2a5, 0x3d, 0x1b3, -0x3d, 0x1b3, 0xff35, 0xfd, 0xff35, 0xfd, 0xff35, 0xfd, 0xfc7c, 0xfe8f, 0xfc7c, -0xfe8f, 0xf9e7, 0xfc3e, 0xf9e7, 0xfc3e, 0xf778, 0xfa0c, 0xf778, 0xfa0c, 0xf37e, 0xf646, -0xf37e, 0xf646, 0xf14c, 0xf43f, 0xf14c, 0xf43f, 0xf14c, 0xf43f, 0xf00a, 0xf31f, 0xf00a, -0xf31f, 0xef01, 0xf230, 0xef01, 0xf230, 0xed6c, 0xf0ac, 0xed6c, 0xf0ac, 0xeaf2, 0xee3b, -0xeaf2, 0xee3b, 0xe8fc, 0xec46, 0xe8fc, 0xec46, 0xe7df, 0xeb23, 0xe7df, 0xeb23, 0xe7df, -0xeb23, 0xe753, 0xea8c, 0xe753, 0xea8c, 0xe5fe, 0xe926, 0xe5fe, 0xe926, 0xe49f, 0xe7b1, -0xe49f, 0xe7b1, 0xe396, 0xe68f, 0xe396, 0xe68f, 0xe499, 0xe775, 0xe499, 0xe775, 0xe626, -0xe8e2, 0xe626, 0xe8e2, 0xe626, 0xe8e2, 0xe716, 0xe9b0, 0xe716, 0xe9b0, 0xe79e, 0xea14, -0xe79e, 0xea14, 0xe7de, 0xea2e, 0xe7de, 0xea2e, 0xea11, 0xec39, 0xea11, 0xec39, 0xebc2, -0xedc1, 0xebc2, 0xedc1, 0xebc2, 0xedc1, 0xecc4, 0xee97, 0xecc4, 0xee97, 0xede3, 0xef89, -0xede3, 0xef89, 0xeed1, 0xf047, 0xeed1, 0xf047, 0xf137, 0xf27b, 0xf137, 0xf27b, 0xf4c2, -0xf5d0, 0xf4c2, 0xf5d0, 0xf5ad, 0xf684, 0xf5ad, 0xf684, 0xf5ad, 0xf684, 0xf5dc, 0xf679, -0xf5dc, 0xf679, 0xf7c8, 0xf828, 0xf7c8, 0xf828, 0xf957, 0xf979, 0xf957, 0xf979, 0xfb91, -0xfb73, 0xfb91, 0xfb73, 0xfd07, 0xfca9, 0xfd07, 0xfca9, 0xfcf8, 0xfc5b, 0xfcf8, 0xfc5b, -0xfcf8, 0xfc5b, 0xfda4, 0xfcc9, 0xfda4, 0xfcc9, 0xffc0, 0xfeaa, 0xffc0, 0xfeaa, 0x83, -0xff36, 0x83, 0xff36, 0x1d7, 0x59, 0x1d7, 0x59, 0x349, 0x1a0, 0x349, 0x1a0, -0x349, 0x1a0, 0x37a, 0x1af, 0x37a, 0x1af, 0x504, 0x321, 0x504, 0x321, 0x480, -0x290, 0x480, 0x290, 0x424, 0x232, 0x424, 0x232, 0x3ce, 0x1e7, 0x3ce, 0x1e7, -0x457, 0x287, 0x457, 0x287, 0x457, 0x287, 0x4a1, 0x2f4, 0x4a1, 0x2f4, 0x250, -0xd3, 0x250, 0xd3, 0x2dd, 0x19b, 0x2dd, 0x19b, 0x36c, 0x270, 0x36c, 0x270, -0x362, 0x2b4, 0x362, 0x2b4, 0x335, 0x2dd, 0x335, 0x2dd, 0x335, 0x2dd, 0xb3, -0xb6, 0xb3, 0xb6, 0xfdae, 0xfe0f, 0xfdae, 0xfe0f, 0xfbcd, 0xfc8d, 0xfbcd, 0xfc8d, -0xf974, 0xfa92, 0xf974, 0xfa92, 0xf7a6, 0xf91d, 0xf7a6, 0xf91d, 0xf7a6, 0xf91d, 0xf769, -0xf935, 0xf769, 0xf935, 0xf64d, 0xf867, 0xf64d, 0xf867, 0xf604, 0xf860, 0xf604, 0xf860, -0xf5ac, 0xf841, 0xf5ac, 0xf841, 0xf3c9, 0xf68b, 0xf3c9, 0xf68b, 0xf1a7, 0xf48a, 0xf1a7, -0xf48a, 0xf1a7, 0xf48a, 0xf17d, 0xf474, 0xf17d, 0xf474, 0xf159, 0xf457, 0xf159, 0xf457, -0xef1f, 0xf218, 0xef1f, 0xf218, 0xede5, 0xf0d0, 0xede5, 0xf0d0, 0xed26, 0xeff9, 0xed26, -0xeff9, 0xeda1, 0xf055, 0xeda1, 0xf055, 0xeda1, 0xf055, 0xeece, 0xf15c, 0xeece, 0xf15c, -0xee78, 0xf0dc, 0xee78, 0xf0dc, 0xeefa, 0xf133, 0xeefa, 0xf133, 0xee87, 0xf096, 0xee87, -0xf096, 0xee2c, 0xf012, 0xee2c, 0xf012, 0xee2c, 0xf012, 0xf09a, 0xf25c, 0xf09a, 0xf25c, -0xf118, 0xf2bb, 0xf118, 0xf2bb, 0xf1d3, 0xf35d, 0xf1d3, 0xf35d, 0xf282, 0xf3fb, 0xf282, -0xf3fb, 0xf24c, 0xf3bb, 0xf24c, 0xf3bb, 0xf3ab, 0xf518, 0xf3ab, 0xf518, 0xf3ab, 0xf518, -0xf1c8, 0xf339, 0xf1c8, 0xf339, 0xf02f, 0xf1ab, 0xf02f, 0xf1ab, 0xefda, 0xf165, 0xefda, -0xf165, 0xee6b, 0xf00a, 0xee6b, 0xf00a, 0xee93, 0xf046, 0xee93, 0xf046, 0xeeb6, 0xf07c, -0xeeb6, 0xf07c, 0xeeb6, 0xf07c, 0xef00, 0xf0d7, 0xef00, 0xf0d7, 0xeec1, 0xf0a4, 0xeec1, -0xf0a4, 0xee87, 0xf06f, 0xee87, 0xf06f, 0xef82, 0xf167, 0xef82, 0xf167, 0xee9a, 0xf073, -0xee9a, 0xf073, 0xee9a, 0xf073, 0xede4, 0xefa6, 0xede4, 0xefa6, 0xef59, 0xf0f8, 0xef59, -0xf0f8, 0xf0b3, 0xf224, 0xf0b3, 0xf224, 0xf1d7, 0xf310, 0xf1d7, 0xf310, 0xf2ec, 0xf3e1, -0xf2ec, 0xf3e1, 0xf58e, 0xf637, 0xf58e, 0xf637, 0xf58e, 0xf637, 0xf88b, 0xf8e0, 0xf88b, -0xf8e0, 0xf9d6, 0xf9d2, 0xf9d6, 0xf9d2, 0xfbfc, 0xfb9d, 0xfbfc, 0xfb9d, 0xfe2f, 0xfd74, -0xfe2f, 0xfd74, 0xff40, 0xfe2d, 0xff40, 0xfe2d, 0xfb, 0xff93, 0xfb, 0xff93, 0xfb, -0xff93, 0x34f, 0x19c, 0x34f, 0x19c, 0x4b9, 0x2c5, 0x4b9, 0x2c5, 0x42b, 0x203, -0x42b, 0x203, 0x459, 0x20c, 0x459, 0x20c, 0x708, 0x4a8, 0x708, 0x4a8, 0x708, -0x4a8, 0x721, 0x4be, 0x721, 0x4be, 0x5f8, 0x3a3, 0x5f8, 0x3a3, 0x65d, 0x429, -0x65d, 0x429, 0x57e, 0x37c, 0x57e, 0x37c, 0x4cf, 0x30f, 0x4cf, 0x30f, 0x304, -0x194, 0x304, 0x194, 0x304, 0x194, 0xa9, 0xff95, 0xa9, 0xff95, 0x19, 0xff6b, -0x19, 0xff6b, 0xfe71, 0xfe30, 0xfe71, 0xfe30, 0xfd85, 0xfdb4, 0xfd85, 0xfdb4, 0xfe57, -0xfef7, 0xfe57, 0xfef7, 0xfce4, 0xfdf3, 0xfce4, 0xfdf3, 0xfce4, 0xfdf3, 0xfb42, 0xfcb9, -0xfb42, 0xfcb9, 0xfb02, 0xfcda, 0xfb02, 0xfcda, 0xf9be, 0xfbeb, 0xf9be, 0xfbeb, 0xf727, -0xf99c, 0xf727, 0xf99c, 0xf446, 0xf6f4, 0xf446, 0xf6f4, 0xf446, 0xf6f4, 0xf455, 0xf72b, -0xf455, 0xf72b, 0xf46c, 0xf75a, 0xf46c, 0xf75a, 0xf3ef, 0xf6e3, 0xf3ef, 0xf6e3, 0xf56c, -0xf855, 0xf56c, 0xf855, 0xf5ef, 0xf8bb, 0xf5ef, 0xf8bb, 0xf6e6, 0xf986, 0xf6e6, 0xf986, -0xf6e6, 0xf986, 0xf7f3, 0xfa59, 0xf7f3, 0xfa59, 0xf85d, 0xfa7c, 0xf85d, 0xfa7c, 0xfa04, -0xfbd2, 0xfa04, 0xfbd2, 0xfb0f, 0xfc82, 0xfb0f, 0xfc82, 0xfbd2, 0xfce6, 0xfbd2, 0xfce6, -0xfbd2, 0xfce6, 0xfec9, 0xff79, 0xfec9, 0xff79, 0x127, 0x171, 0x127, 0x171, 0x240, -0x224, 0x240, 0x224, 0x522, 0x4a3, 0x522, 0x4a3, 0x718, 0x637, 0x718, 0x637, -0x77d, 0x641, 0x77d, 0x641, 0x77d, 0x641, 0x8cd, 0x73c, 0x8cd, 0x73c, 0xa0a, -0x82a, 0xa0a, 0x82a, 0xae2, 0x8b8, 0xae2, 0x8b8, 0xccd, 0xa62, 0xccd, 0xa62, -0xd72, 0xacc, 0xd72, 0xacc, 0xe23, 0xb4a, 0xe23, 0xb4a, 0xe23, 0xb4a, 0x1024, -0xd1d, 0x1024, 0xd1d, 0xfa8, 0xc78, 0xfa8, 0xc78, 0x10fc, 0xda9, 0x10fc, 0xda9, -0x1313, 0xfa1, 0x1313, 0xfa1, 0x128e, 0xf01, 0x128e, 0xf01, 0x128e, 0xf01, 0x1407, -0x1062, 0x1407, 0x1062, 0x156f, 0x11b6, 0x156f, 0x11b6, 0x1556, 0x118d, 0x1556, 0x118d, -0x1724, 0x134e, 0x1724, 0x134e, 0x184e, 0x146d, 0x184e, 0x146d, 0x18c2, 0x14dc, 0x18c2, -0x14dc, 0x18c2, 0x14dc, 0x1a0d, 0x1624, 0x1a0d, 0x1624, 0x19de, 0x15f9, 0x19de, 0x15f9, -0x1a56, 0x167b, 0x1a56, 0x167b, 0x1a1b, 0x1650, 0x1a1b, 0x1650, 0x19e4, 0x1631, 0x19e4, -0x1631, 0x1aba, 0x1726, 0x1aba, 0x1726, 0x1aba, 0x1726, 0x1a1a, 0x16af, 0x1a1a, 0x16af, -0x19ff, 0x16c5, 0x19ff, 0x16c5, 0x17eb, 0x14ec, 0x17eb, 0x14ec, 0x160e, 0x1353, 0x160e, -0x1353, 0x1577, 0x1308, 0x1577, 0x1308, 0x1577, 0x1308, 0x1297, 0x107e, 0x1297, 0x107e, -0xf8c, 0xdcf, 0xf8c, 0xdcf, 0xcb5, 0xb5a, 0xcb5, 0xb5a, 0xa9b, 0x9a8, 0xa9b, -0x9a8, 0x8f4, 0x86c, 0x8f4, 0x86c, 0x70d, 0x6f3, 0x70d, 0x6f3, 0x70d, 0x6f3, -0x593, 0x5e4, 0x593, 0x5e4, 0x3b5, 0x472, 0x3b5, 0x472, 0x1ca, 0x2ed, 0x1ca, -0x2ed, 0xffc6, 0x14b, 0xffc6, 0x14b, 0xfc3f, 0xfe1e, 0xfc3f, 0xfe1e, 0xf865, 0xfa96, -0xf865, 0xfa96, 0xf865, 0xfa96, 0xf535, 0xf7ae, 0xf535, 0xf7ae, 0xf37c, 0xf632, 0xf37c, -0xf632, 0xf1d3, 0xf4bb, 0xf1d3, 0xf4bb, 0xee2a, 0xf138, 0xee2a, 0xf138, 0xec56, 0xef7f, -0xec56, 0xef7f, 0xec56, 0xef7f, 0xebb7, 0xeeef, 0xebb7, 0xeeef, 0xec27, 0xef63, 0xec27, -0xef63, 0xecb2, 0xefe9, 0xecb2, 0xefe9, 0xea61, 0xed89, 0xea61, 0xed89, 0xe96d, 0xec80, -0xe96d, 0xec80, 0xe906, 0xebfc, 0xe906, 0xebfc, 0xe906, 0xebfc, 0xe8ad, 0xeb81, 0xe8ad, -0xeb81, 0xe922, 0xebd1, 0xe922, 0xebd1, 0xe94c, 0xebd3, 0xe94c, 0xebd3, 0xeae5, 0xed44, -0xeae5, 0xed44, 0xed2d, 0xef63, 0xed2d, 0xef63, 0xeec5, 0xf0d2, 0xeec5, 0xf0d2, 0xeec5, -0xf0d2, 0xeebd, 0xf0a3, 0xeebd, 0xf0a3, 0xeec8, 0xf089, 0xeec8, 0xf089, 0xeff9, 0xf198, -0xeff9, 0xf198, 0xf107, 0xf284, 0xf107, 0xf284, 0xf1ae, 0xf30b, 0xf1ae, 0xf30b, 0xf1ae, -0xf30b, 0xf1ed, 0xf32b, 0xf1ed, 0xf32b, 0xf241, 0xf361, 0xf241, 0xf361, 0xf35b, 0xf45d, -0xf35b, 0xf45d, 0xf516, 0xf5f9, 0xf516, 0xf5f9, 0xf613, 0xf6d4, 0xf613, 0xf6d4, 0xf746, -0xf7e4, 0xf746, 0xf7e4, 0xf746, 0xf7e4, 0xf867, 0xf8de, 0xf867, 0xf8de, 0xf93d, 0xf98b, -0xf93d, 0xf98b, 0xfb37, 0xfb58, 0xfb37, 0xfb58, 0xfc6f, 0xfc5f, 0xfc6f, 0xfc5f, 0xfd3f, -0xfcfb, 0xfd3f, 0xfcfb, 0xff4d, 0xfed2, 0xff4d, 0xfed2, 0xff4d, 0xfed2, 0x135, 0x81, -0x135, 0x81, 0x327, 0x239, 0x327, 0x239, 0x596, 0x46c, 0x596, 0x46c, 0x749, -0x5e5, 0x749, 0x5e5, 0x94b, 0x7ae, 0x94b, 0x7ae, 0x94b, 0x7ae, 0xb46, 0x975, -0xb46, 0x975, 0xd5c, 0xb5b, 0xd5c, 0xb5b, 0xfad, 0xd82, 0xfad, 0xd82, 0x1160, -0xf12, 0x1160, 0xf12, 0x134e, 0x10e5, 0x134e, 0x10e5, 0x142c, 0x11b2, 0x142c, 0x11b2, -0x142c, 0x11b2, 0x14f3, 0x1271, 0x14f3, 0x1271, 0x1586, 0x1307, 0x1586, 0x1307, 0x152a, -0x12b8, 0x152a, 0x12b8, 0x145f, 0x1204, 0x145f, 0x1204, 0x1346, 0x110a, 0x1346, 0x110a, -0x1249, 0x1037, 0x1249, 0x1037, 0x1249, 0x1037, 0x118e, 0xfad, 0x118e, 0xfad, 0x1121, -0xf78, 0x1121, 0xf78, 0xf10, 0xda5, 0xf10, 0xda5, 0xdf9, 0xcd0, 0xdf9, 0xcd0, -0xd7c, 0xc97, 0xd7c, 0xc97, 0xd7c, 0xc97, 0xc47, 0xba8, 0xc47, 0xba8, 0xb4e, -0xaf4, 0xb4e, 0xaf4, 0x927, 0x911, 0x927, 0x911, 0x6e6, 0x711, 0x6e6, 0x711, -0x4ab, 0x513, 0x4ab, 0x513, 0x320, 0x3c0, 0x320, 0x3c0, 0x320, 0x3c0, 0x146, -0x219, 0x146, 0x219, 0x7, 0x107, 0x7, 0x107, 0xff70, 0x96, 0xff70, 0x96, -0xfedd, 0x23, 0xfedd, 0x23, 0xfef5, 0x55, 0xfef5, 0x55, 0xfdd3, 0xff45, 0xfdd3, -0xff45, 0xfdd3, 0xff45, 0xfd7c, 0xfefb, 0xfd7c, 0xfefb, 0xfde6, 0xff6d, 0xfde6, 0xff6d, -0xfe18, 0xffa1, 0xfe18, 0xffa1, 0xfd99, 0xff1f, 0xfd99, 0xff1f, 0xfd28, 0xfea7, 0xfd28, -0xfea7, 0xfd28, 0xfea7, 0xfe1a, 0xff8e, 0xfe1a, 0xff8e, 0xff56, 0xba, 0xff56, 0xba, -0x73, 0x1c5, 0x73, 0x1c5, 0x101, 0x23d, 0x101, 0x23d, 0x1b8, 0x2db, 0x1b8, -0x2db, 0x2cd, 0x3d3, 0x2cd, 0x3d3, 0x2cd, 0x3d3, 0x3bb, 0x4a2, 0x3bb, 0x4a2, -0x3fd, 0x4c0, 0x3fd, 0x4c0, 0x53d, 0x5d9, 0x53d, 0x5d9, 0x6b9, 0x72b, 0x6b9, -0x72b, 0x789, 0x7cd, 0x789, 0x7cd, 0x951, 0x963, 0x951, 0x963, 0x951, 0x963, -0x9d9, 0x9b5, 0x9d9, 0x9b5, 0xa3b, 0x9df, 0xa3b, 0x9df, 0xc07, 0xb6f, 0xc07, -0xb6f, 0xd02, 0xc2c, 0xd02, 0xc2c, 0xdad, 0xc98, 0xdad, 0xc98, 0xdad, 0xc98, -0xeed, 0xd98, 0xeed, 0xd98, 0x10c3, 0xf2f, 0x10c3, 0xf2f, 0x13bd, 0x11ea, 0x13bd, -0x11ea, 0x156f, 0x1361, 0x156f, 0x1361, 0x16c9, 0x1485, 0x16c9, 0x1485, 0x1933, 0x16be, -0x1933, 0x16be, 0x1933, 0x16be, 0x1a4e, 0x17af, 0x1a4e, 0x17af, 0x1acd, 0x180c, 0x1acd, -0x180c, 0x1a77, 0x179e, 0x1a77, 0x179e, 0x1b0e, 0x1826, 0x1b0e, 0x1826, 0x1c66, 0x197a, -0x1c66, 0x197a, 0x1c66, 0x197a, 0x1c54, 0x196f, 0x1c54, 0x196f, 0x1cc1, 0x19ee, 0x1cc1, -0x19ee, 0x1d36, 0x1a7f, 0x1d36, 0x1a7f, 0x1cd4, 0x1a44, 0x1cd4, 0x1a44, 0x1c57, 0x19f8, -0x1c57, 0x19f8, 0x1bb9, 0x1991, 0x1bb9, 0x1991, 0x1bb9, 0x1991, 0x197d, 0x1795, 0x197d, -0x1795, 0x1710, 0x156c, 0x1710, 0x156c, 0x1595, 0x1437, 0x1595, 0x1437, 0x1365, 0x1250, -0x1365, 0x1250, 0x1253, 0x1186, 0x1253, 0x1186, 0x11a4, 0x111c, 0x11a4, 0x111c, 0x11a4, -0x111c, 0x1060, 0x1019, 0x1060, 0x1019, 0x1003, 0xff7, 0x1003, 0xff7, 0xed6, 0xeff, -0xed6, 0xeff, 0xd3a, 0xd8f, 0xd3a, 0xd8f, 0xba9, 0xc21, 0xba9, 0xc21, 0xba9, -0xc21, 0x926, 0x9b7, 0x926, 0x9b7, 0x667, 0x708, 0x667, 0x708, 0x3b9, 0x460, -0x3b9, 0x460, 0x13f, 0x1e5, 0x13f, 0x1e5, 0xfef5, 0xff93, 0xfef5, 0xff93, 0xfce8, -0xfd77, 0xfce8, 0xfd77, 0xfce8, 0xfd77, 0xfb13, 0xfb8f, 0xfb13, 0xfb8f, 0xfa0e, 0xfa73, -0xfa0e, 0xfa73, 0xf91c, 0xf96b, 0xf91c, 0xf96b, 0xf7d6, 0xf80e, 0xf7d6, 0xf80e, 0xf7a9, -0xf7cd, 0xf7a9, 0xf7cd, 0xf6e6, 0xf6fb, 0xf6e6, 0xf6fb, 0xf6e6, 0xf6fb, 0xf5b5, 0xf5bf, -0xf5b5, 0xf5bf, 0xf5a2, 0xf5a8, 0xf5a2, 0xf5a8, 0xf495, 0xf49f, 0xf495, 0xf49f, 0xf378, -0xf38d, 0xf378, 0xf38d, 0xf3d3, 0xf3fc, 0xf3d3, 0xf3fc, 0xf3d3, 0xf3fc, 0xf3bb, 0xf3ff, -0xf3bb, 0xf3ff, 0xf2ba, 0xf320, 0xf2ba, 0xf320, 0xf183, 0xf211, 0xf183, 0xf211, 0xf084, -0xf13e, 0xf084, 0xf13e, 0xef86, 0xf070, 0xef86, 0xf070, 0xef1b, 0xf035, 0xef1b, 0xf035, -0xef1b, 0xf035, 0xee08, 0xef51, 0xee08, 0xef51, 0xec65, 0xedda, 0xec65, 0xedda, 0xebde, -0xed7c, 0xebde, 0xed7c, 0xea95, 0xec55, 0xea95, 0xec55, 0xea34, 0xec0d, 0xea34, 0xec0d, -0xea29, 0xec13, 0xea29, 0xec13, 0xea29, 0xec13, 0xe982, 0xeb72, 0xe982, 0xeb72, 0xe9c0, -0xebab, 0xe9c0, 0xebab, 0xea46, 0xec22, 0xea46, 0xec22, 0xeb3b, 0xecfc, 0xeb3b, 0xecfc, -0xeb7c, 0xed18, 0xeb7c, 0xed18, 0xeb7c, 0xed18, 0xec21, 0xed90, 0xec21, 0xed90, 0xee19, -0xef52, 0xee19, 0xef52, 0xf0c7, 0xf1c5, 0xf0c7, 0xf1c5, 0xf336, 0xf3f4, 0xf336, 0xf3f4, -0xf3de, 0xf45b, 0xf3de, 0xf45b, 0xf3f4, 0xf42f, 0xf3f4, 0xf42f, 0xf3f4, 0xf42f, 0xf5a9, -0xf5a5, 0xf5a9, 0xf5a5, 0xf77b, 0xf73d, 0xf77b, 0xf73d, 0xf851, 0xf7e0, 0xf851, 0xf7e0, -0xf997, 0xf8fc, 0xf997, 0xf8fc, 0xf9a8, 0xf8eb, 0xf9a8, 0xf8eb, 0xfa6a, 0xf997, 0xfa6a, -0xf997, 0xfa6a, 0xf997, 0xfcd5, 0xfbf7, 0xfcd5, 0xfbf7, 0xfcdc, 0xfc00, 0xfcdc, 0xfc00, -0xfb53, 0xfa84, 0xfb53, 0xfa84, 0xfaba, 0xfa04, 0xfaba, 0xfa04, 0xfa41, 0xf9ad, 0xfa41, -0xf9ad, 0xfa41, 0xf9ad, 0xf998, 0xf930, 0xf998, 0xf930, 0xf88e, 0xf859, 0xf88e, 0xf859, -0xf79c, 0xf79f, 0xf79c, 0xf79f, 0xf7eb, 0xf829, 0xf7eb, 0xf829, 0xf848, 0xf8c2, 0xf848, -0xf8c2, 0xf886, 0xf93d, 0xf886, 0xf93d, 0xf886, 0xf93d, 0xf888, 0xf978, 0xf888, 0xf978, -0xf8f2, 0xfa16, 0xf8f2, 0xfa16, 0xf86b, 0xf9bd, 0xf86b, 0xf9bd, 0xf702, 0xf87b, 0xf702, -0xf87b, 0xf77e, 0xf914, 0xf77e, 0xf914, 0xf769, 0xf914, 0xf769, 0xf914, 0xf769, 0xf914, -0xf6cd, 0xf883, 0xf6cd, 0xf883, 0xf754, 0xf90d, 0xf754, 0xf90d, 0xf782, 0xf935, 0xf782, -0xf935, 0xf70a, 0xf8af, 0xf70a, 0xf8af, 0xf74a, 0xf8db, 0xf74a, 0xf8db, 0xf74a, 0xf8db, -0xf750, 0xf8c8, 0xf750, 0xf8c8, 0xf671, 0xf7cd, 0xf671, 0xf7cd, 0xf5a8, 0xf6e6, 0xf5a8, -0xf6e6, 0xf5ab, 0xf6cb, 0xf5ab, 0xf6cb, 0xf686, 0xf78a, 0xf686, 0xf78a, 0xf6b3, 0xf79e, -0xf6b3, 0xf79e, 0xf6b3, 0xf79e, 0xf6ef, 0xf7c6, 0xf6ef, 0xf7c6, 0xf7dd, 0xf8a5, 0xf7dd, -0xf8a5, 0xf8e7, 0xf9a7, 0xf8e7, 0xf9a7, 0xf911, 0xf9cf, 0xf911, 0xf9cf, 0xf86d, 0xf931, -0xf86d, 0xf931, 0xf779, 0xf84a, 0xf779, 0xf84a, 0xf779, 0xf84a, 0xf5f3, 0xf6d7, 0xf5f3, -0xf6d7, 0xf4e9, 0xf5e4, 0xf4e9, 0xf5e4, 0xf446, 0xf55d, 0xf446, 0xf55d, 0xf37b, 0xf4b0, -0xf37b, 0xf4b0, 0xf30f, 0xf464, 0xf30f, 0xf464, 0xf30f, 0xf464, 0xf2cb, 0xf440, 0xf2cb, -0xf440, 0xf294, 0xf426, 0xf294, 0xf426, 0xf276, 0xf421, 0xf276, 0xf421, 0xf0d1, 0xf291, -0xf0d1, 0xf291, 0xef87, 0xf155, 0xef87, 0xf155, 0xef43, 0xf118, 0xef43, 0xf118, 0xef43, -0xf118, 0xee91, 0xf065, 0xee91, 0xf065, 0xee27, 0xeff1, 0xee27, 0xeff1, 0xee56, 0xf00e, -0xee56, 0xf00e, 0xef8b, 0xf129, 0xef8b, 0xf129, 0xf066, 0xf1e3, 0xf066, 0xf1e3, 0xf1f3, -0xf348, 0xf1f3, 0xf348, 0xf1f3, 0xf348, 0xf3c8, 0xf4f0, 0xf3c8, 0xf4f0, 0xf472, 0xf56a, -0xf472, 0xf56a, 0xf551, 0xf617, 0xf551, 0xf617, 0xf69d, 0xf730, 0xf69d, 0xf730, 0xf74f, -0xf7b0, 0xf74f, 0xf7b0, 0xf74f, 0xf7b0, 0xf72b, 0xf75e, 0xf72b, 0xf75e, 0xf88a, 0xf894, -0xf88a, 0xf894, 0xfa27, 0xfa0d, 0xfa27, 0xfa0d, 0xfb5e, 0xfb27, 0xfb5e, 0xfb27, 0xfc97, -0xfc4d, 0xfc97, 0xfc4d, 0xfc86, 0xfc2f, 0xfc86, 0xfc2f, 0xfc86, 0xfc2f, 0xfc35, 0xfbdc, -0xfc35, 0xfbdc, 0xfbd2, 0xfb7f, 0xfbd2, 0xfb7f, 0xfb80, 0xfb3b, 0xfb80, 0xfb3b, 0xfb3b, -0xfb0b, 0xfb3b, 0xfb0b, 0xfae0, 0xfacb, 0xfae0, 0xfacb, 0xfae7, 0xfaf2, 0xfae7, 0xfaf2, -0xfae7, 0xfaf2, 0xfb09, 0xfb37, 0xfb09, 0xfb37, 0xfb2f, 0xfb82, 0xfb2f, 0xfb82, 0xfb0d, -0xfb84, 0xfb0d, 0xfb84, 0xfa74, 0xfb0e, 0xfa74, 0xfb0e, 0xf9cf, 0xfa88, 0xf9cf, 0xfa88, -0xf9cf, 0xfa88, 0xf8fe, 0xf9d0, 0xf8fe, 0xf9d0, 0xf7d8, 0xf8bd, 0xf7d8, 0xf8bd, 0xf7d0, -0xf8c0, 0xf7d0, 0xf8c0, 0xf983, 0xfa77, 0xf983, 0xfa77, 0xfa69, 0xfb57, 0xfa69, 0xfb57, -0xfabb, 0xfb9b, 0xfabb, 0xfb9b, 0xfabb, 0xfb9b, 0xfc36, 0xfcff, 0xfc36, 0xfcff, 0xfdf9, -0xfea2, 0xfdf9, 0xfea2, 0xff90, 0x13, 0xff90, 0x13, 0x4c, 0xa2, 0x4c, 0xa2, -0xed, 0x111, 0xed, 0x111, 0xed, 0x111, 0x288, 0x277, 0x288, 0x277, 0x4d1, -0x48a, 0x4d1, 0x48a, 0x708, 0x68a, 0x708, 0x68a, 0x8d1, 0x81c, 0x8d1, 0x81c, -0xafb, 0xa13, 0xafb, 0xa13, 0xccd, 0xbb6, 0xccd, 0xbb6, 0xccd, 0xbb6, 0xda9, -0xc68, 0xda9, 0xc68, 0xe33, 0xcce, 0xe33, 0xcce, 0xe47, 0xcc3, 0xe47, 0xcc3, -0xdfb, 0xc60, 0xdfb, 0xc60, 0xe7c, 0xcd1, 0xe7c, 0xcd1, 0xf69, 0xdb6, 0xf69, -0xdb6, 0xf69, 0xdb6, 0xf7f, 0xdc8, 0xf7f, 0xdc8, 0xfa4, 0xdef, 0xfa4, 0xdef, -0x106b, 0xebe, 0x106b, 0xebe, 0x1045, 0xea3, 0x1045, 0xea3, 0xfba, 0xe25, 0xfba, -0xe25, 0xfba, 0xe25, 0xfab, 0xe26, 0xfab, 0xe26, 0xfbd, 0xe47, 0xfbd, 0xe47, -0x101a, 0xeb4, 0x101a, 0xeb4, 0x1005, 0xeac, 0x1005, 0xeac, 0xfe6, 0xe99, 0xfe6, -0xe99, 0xf79, 0xe35, 0xf79, 0xe35, 0xf79, 0xe35, 0xefd, 0xdbf, 0xefd, 0xdbf, -0xf1f, 0xde5, 0xf1f, 0xde5, 0xfac, 0xe73, 0xfac, 0xe73, 0x1020, 0xee5, 0x1020, -0xee5, 0xf37, 0xdf9, 0xf37, 0xdf9, 0xe3d, 0xcfb, 0xe3d, 0xcfb, 0xe3d, 0xcfb, -0xd91, 0xc4a, 0xd91, 0xc4a, 0xd05, 0xbbb, 0xd05, 0xbbb, 0xccf, 0xb84, 0xccf, -0xb84, 0xca7, 0xb5d, 0xca7, 0xb5d, 0xc52, 0xb0e, 0xc52, 0xb0e, 0xc52, 0xb0e, -0xbff, 0xac6, 0xbff, 0xac6, 0xb95, 0xa6c, 0xb95, 0xa6c, 0xa52, 0x93f, 0xa52, -0x93f, 0x8e2, 0x7eb, 0x8e2, 0x7eb, 0x694, 0x5bf, 0x694, 0x5bf, 0x454, 0x3a8, -0x454, 0x3a8, 0x454, 0x3a8, 0x327, 0x2a9, 0x327, 0x2a9, 0x20d, 0x1c1, 0x20d, -0x1c1, 0x1ba, 0x1a5, 0x1ba, 0x1a5, 0x27c, 0x2a1, 0x27c, 0x2a1, 0x337, 0x397, -0x337, 0x397, 0x321, 0x3bc, 0x321, 0x3bc, 0x321, 0x3bc, 0x22f, 0x303, 0x22f, -0x303, 0x5f, 0x16a, 0x5f, 0x16a, 0xfe0d, 0xff4b, 0xfe0d, 0xff4b, 0xfb88, 0xfcf3, -0xfb88, 0xfcf3, 0xf96e, 0xfb00, 0xf96e, 0xfb00, 0xf96e, 0xfb00, 0xf7a0, 0xf951, 0xf7a0, -0xf951, 0xf611, 0xf7d9, 0xf611, 0xf7d9, 0xf53a, 0xf710, 0xf53a, 0xf710, 0xf4fd, 0xf6d9, -0xf4fd, 0xf6d9, 0xf514, 0xf6ec, 0xf514, 0xf6ec, 0xf574, 0xf740, 0xf574, 0xf740, 0xf574, -0xf740, 0xf596, 0xf74d, 0xf596, 0xf74d, 0xf4a8, 0xf643, 0xf4a8, 0xf643, 0xf474, 0xf5ec, -0xf474, 0xf5ec, 0xf4f7, 0xf647, 0xf4f7, 0xf647, 0xf5d8, 0xf6fb, 0xf5d8, 0xf6fb, 0xf6cf, -0xf7c2, 0xf6cf, 0xf7c2, 0xf6cf, 0xf7c2, 0xf741, 0xf802, 0xf741, 0xf802, 0xf8ec, 0xf97a, -0xf8ec, 0xf97a, 0xfac9, 0xfb25, 0xfac9, 0xfb25, 0xfc46, 0xfc70, 0xfc46, 0xfc70, 0xfd4a, -0xfd45, 0xfd4a, 0xfd45, 0xfd4a, 0xfd45, 0xfdab, 0xfd78, 0xfdab, 0xfd78, 0xfe52, 0xfdf5, -0xfe52, 0xfdf5, 0xfe39, 0xfdb6, 0xfe39, 0xfdb6, 0xfde0, 0xfd3a, 0xfde0, 0xfd3a, 0xfe17, -0xfd51, 0xfe17, 0xfd51, 0xfe00, 0xfd1d, 0xfe00, 0xfd1d, 0xfe00, 0xfd1d, 0xfdfa, 0xfcfe, -0xfdfa, 0xfcfe, 0xfe22, 0xfd0f, 0xfe22, 0xfd0f, 0xfdff, 0xfcd7, 0xfdff, 0xfcd7, 0xfe67, -0xfd2b, 0xfe67, 0xfd2b, 0xff58, 0xfe0b, 0xff58, 0xfe0b, 0x37, 0xfed8, 0x37, 0xfed8, -0x37, 0xfed8, 0x128, 0xffb8, 0x128, 0xffb8, 0x20a, 0x89, 0x20a, 0x89, 0x2bf, -0x12d, 0x2bf, 0x12d, 0x351, 0x1af, 0x351, 0x1af, 0x41c, 0x269, 0x41c, 0x269, -0x41c, 0x269, 0x492, 0x2cf, 0x492, 0x2cf, 0x447, 0x275, 0x447, 0x275, 0x4c1, -0x2e2, 0x4c1, 0x2e2, 0x57b, 0x391, 0x57b, 0x391, 0x551, 0x35e, 0x551, 0x35e, -0x596, 0x39d, 0x596, 0x39d, 0x596, 0x39d, 0x669, 0x46f, 0x669, 0x46f, 0x681, -0x48a, 0x681, 0x48a, 0x651, 0x462, 0x651, 0x462, 0x6f0, 0x50e, 0x6f0, 0x50e, -0x697, 0x4c9, 0x697, 0x4c9, 0x491, 0x2dc, 0x491, 0x2dc, 0x491, 0x2dc, 0x253, -0xbb, 0x253, 0xbb, 0x46, 0xfed2, 0x46, 0xfed2, 0xfe70, 0xfd23, 0xfe70, 0xfd23, -0xfcd6, 0xfbb6, 0xfcd6, 0xfbb6, 0xfc23, 0xfb31, 0xfc23, 0xfb31, 0xfc23, 0xfb31, 0xfc0a, -0xfb49, 0xfc0a, 0xfb49, 0xfb98, 0xfb09, 0xfb98, 0xfb09, 0xfb25, 0xfac7, 0xfb25, 0xfac7, -0xfb29, 0xfafb, 0xfb29, 0xfafb, 0xfad8, 0xfad8, 0xfad8, 0xfad8, 0xfa7d, 0xfaa8, 0xfa7d, -0xfaa8, 0xfa7d, 0xfaa8, 0xf9fa, 0xfa4a, 0xf9fa, 0xfa4a, 0xf8e8, 0xf958, 0xf8e8, 0xf958, -0xf8a9, 0xf933, 0xf8a9, 0xf933, 0xf860, 0xf8fd, 0xf860, 0xf8fd, 0xf84c, 0xf8f4, 0xf84c, -0xf8f4, 0xf922, 0xf9d0, 0xf922, 0xf9d0, 0xf922, 0xf9d0, 0xf9c4, 0xfa6f, 0xf9c4, 0xfa6f, -0xfa78, 0xfb1a, 0xfa78, 0xfb1a, 0xfba2, 0xfc33, 0xfba2, 0xfc33, 0xfcad, 0xfd28, 0xfcad, -0xfd28, 0xfcbb, 0xfd1a, 0xfcbb, 0xfd1a, 0xfcbb, 0xfd1a, 0xfc6e, 0xfcad, 0xfc6e, 0xfcad, -0xfdc6, 0xfde0, 0xfdc6, 0xfde0, 0xffe5, 0xffd7, 0xffe5, 0xffd7, 0x12a, 0xf3, 0x12a, -0xf3, 0x358, 0x2f6, 0x358, 0x2f6, 0x58b, 0x4fc, 0x58b, 0x4fc, 0x58b, 0x4fc, -0x725, 0x66b, 0x725, 0x66b, 0x931, 0x84b, 0x931, 0x84b, 0xa8a, 0x979, 0xa8a, -0x979, 0xbcb, 0xa8f, 0xbcb, 0xa8f, 0xd4c, 0xbe6, 0xd4c, 0xbe6, 0xf01, 0xd73, -0xf01, 0xd73, 0xf01, 0xd73, 0x10d4, 0xf1e, 0x10d4, 0xf1e, 0x1250, 0x1073, 0x1250, -0x1073, 0x136e, 0x116b, 0x136e, 0x116b, 0x14ad, 0x1284, 0x14ad, 0x1284, 0x1609, 0x13ba, -0x1609, 0x13ba, 0x1609, 0x13ba, 0x16b1, 0x143c, 0x16b1, 0x143c, 0x1769, 0x14ce, 0x1769, -0x14ce, 0x1880, 0x15c0, 0x1880, 0x15c0, 0x1906, 0x1621, 0x1906, 0x1621, 0x19ad, 0x16a4, -0x19ad, 0x16a4, 0x1b75, 0x184a, 0x1b75, 0x184a, 0x1b75, 0x184a, 0x1ca8, 0x195e, 0x1ca8, -0x195e, 0x1d5b, 0x19f4, 0x1d5b, 0x19f4, 0x1ec3, 0x1b44, 0x1ec3, 0x1b44, 0x1ff6, 0x1c62, -0x1ff6, 0x1c62, 0x20c9, 0x1d29, 0x20c9, 0x1d29, 0x20c9, 0x1d29, 0x2176, 0x1dce, 0x2176, -0x1dce, 0x214a, 0x1da5, 0x214a, 0x1da5, 0x2107, 0x1d6c, 0x2107, 0x1d6c, 0x21a1, 0x1e1b, -0x21a1, 0x1e1b, 0x2159, 0x1df1, 0x2159, 0x1df1, 0x208c, 0x1d4e, 0x208c, 0x1d4e, 0x208c, -0x1d4e, 0x1fda, 0x1cd1, 0x1fda, 0x1cd1, 0x1eb9, 0x1bef, 0x1eb9, 0x1bef, 0x1d22, 0x1aa2, -0x1d22, 0x1aa2, 0x1b0b, 0x18de, 0x1b0b, 0x18de, 0x18b6, 0x16e4, 0x18b6, 0x16e4, 0x152e, -0x13be, 0x152e, 0x13be, 0x152e, 0x13be, 0x1201, 0x10fa, 0x1201, 0x10fa, 0x1018, 0xf7e, -0x1018, 0xf7e, 0xdd3, 0xda7, 0xdd3, 0xda7, 0xb28, 0xb6a, 0xb28, 0xb6a, 0x903, -0x9b1, 0x903, 0x9b1, 0x903, 0x9b1, 0x784, 0x89c, 0x784, 0x89c, 0x5aa, 0x724, -0x5aa, 0x724, 0x340, 0x516, 0x340, 0x516, 0xd4, 0x2fc, 0xd4, 0x2fc, 0xfe3e, -0xad, 0xfe3e, 0xad, 0xfb45, 0xfdf1, 0xfb45, 0xfdf1, 0xfb45, 0xfdf1, 0xf908, 0xfbe4, -0xf908, 0xfbe4, 0xf726, 0xfa26, 0xf726, 0xfa26, 0xf4bc, 0xf7d4, 0xf4bc, 0xf7d4, 0xf300, -0xf623, 0xf300, 0xf623, 0xf264, 0xf587, 0xf264, 0xf587, 0xf1ba, 0xf4d3, 0xf1ba, 0xf4d3, -0xf1ba, 0xf4d3, 0xf159, 0xf45d, 0xf159, 0xf45d, 0xf16c, 0xf454, 0xf16c, 0xf454, 0xf0b9, -0xf37e, 0xf0b9, 0xf37e, 0xf025, 0xf2c2, 0xf025, 0xf2c2, 0xefb6, 0xf227, 0xefb6, 0xf227, -0xefb6, 0xf227, 0xefd9, 0xf21c, 0xefd9, 0xf21c, 0xf0c0, 0xf2d4, 0xf0c0, 0xf2d4, 0xf120, -0xf306, 0xf120, 0xf306, 0xf174, 0xf32e, 0xf174, 0xf32e, 0xf17b, 0xf30b, 0xf17b, 0xf30b, -0xf0f4, 0xf25e, 0xf0f4, 0xf25e, 0xf0f4, 0xf25e, 0xf06c, 0xf1b2, 0xf06c, 0xf1b2, 0xf00e, -0xf134, 0xf00e, 0xf134, 0xf021, 0xf12a, 0xf021, 0xf12a, 0xf14b, 0xf23a, 0xf14b, 0xf23a, -0xf27e, 0xf356, 0xf27e, 0xf356, 0xf39b, 0xf45d, 0xf39b, 0xf45d, 0xf39b, 0xf45d, 0xf4dc, -0xf58a, 0xf4dc, 0xf58a, 0xf511, 0xf5ab, 0xf511, 0xf5ab, 0xf5a9, 0xf62e, 0xf5a9, 0xf62e, -0xf661, 0xf6d0, 0xf661, 0xf6d0, 0xf69b, 0xf6f2, 0xf69b, 0xf6f2, 0xf69b, 0xf6f2, 0xf6dc, -0xf719, 0xf6dc, 0xf719, 0xf744, 0xf765, 0xf744, 0xf765, 0xf91e, 0xf921, 0xf91e, 0xf921, -0xfb29, 0xfb0c, 0xfb29, 0xfb0c, 0xfcbd, 0xfc7f, 0xfcbd, 0xfc7f, 0xff1e, 0xfebe, 0xff1e, -0xfebe, 0xff1e, 0xfebe, 0xbe, 0x3d, 0xbe, 0x3d, 0x165, 0xc4, 0x165, 0xc4, -0x2c4, 0x207, 0x2c4, 0x207, 0x371, 0x29c, 0x371, 0x29c, 0x343, 0x25c, 0x343, -0x25c, 0x36c, 0x279, 0x36c, 0x279, 0x36c, 0x279, 0x3d0, 0x2db, 0x3d0, 0x2db, -0x3d7, 0x2e8, 0x3d7, 0x2e8, 0x2fd, 0x21f, 0x2fd, 0x21f, 0x316, 0x254, 0x316, -0x254, 0x37a, 0x2df, 0x37a, 0x2df, 0x37a, 0x2df, 0x2a0, 0x238, 0x2a0, 0x238, -0x119, 0xee, 0x119, 0xee, 0xfef1, 0xff0d, 0xfef1, 0xff0d, 0xfcea, 0xfd57, 0xfcea, -0xfd57, 0xfbba, 0xfc7e, 0xfbba, 0xfc7e, 0xfacd, 0xfbef, 0xfacd, 0xfbef, 0xfacd, 0xfbef, -0xf93e, 0xfac3, 0xf93e, 0xfac3, 0xf794, 0xf97d, 0xf794, 0xf97d, 0xf696, 0xf8e3, 0xf696, -0xf8e3, 0xf678, 0xf928, 0xf678, 0xf928, 0xf5af, 0xf8be, 0xf5af, 0xf8be, 0xf45d, 0xf7c4, -0xf45d, 0xf7c4, 0xf45d, 0xf7c4, 0xf383, 0xf73b, 0xf383, 0xf73b, 0xf1be, 0xf5bd, 0xf1be, -0xf5bd, 0xf024, 0xf460, 0xf024, 0xf460, 0xef10, 0xf37d, 0xef10, 0xf37d, 0xee64, 0xf2f7, -0xee64, 0xf2f7, 0xee64, 0xf2f7, 0xee1e, 0xf2ca, 0xee1e, 0xf2ca, 0xedd0, 0xf289, 0xedd0, -0xf289, 0xede2, 0xf29c, 0xede2, 0xf29c, 0xedd3, 0xf284, 0xedd3, 0xf284, 0xed70, 0xf20d, -0xed70, 0xf20d, 0xec75, 0xf0f6, 0xec75, 0xf0f6, 0xec75, 0xf0f6, 0xec26, 0xf083, 0xec26, -0xf083, 0xece7, 0xf11b, 0xece7, 0xf11b, 0xee16, 0xf21c, 0xee16, 0xf21c, 0xefc4, 0xf39a, -0xefc4, 0xf39a, 0xf193, 0xf537, 0xf193, 0xf537, 0xf2eb, 0xf65c, 0xf2eb, 0xf65c, 0xf2eb, -0xf65c, 0xf397, 0xf6d6, 0xf397, 0xf6d6, 0xf466, 0xf775, 0xf466, 0xf775, 0xf4e4, 0xf7c5, -0xf4e4, 0xf7c5, 0xf43d, 0xf6f1, 0xf43d, 0xf6f1, 0xf28c, 0xf517, 0xf28c, 0xf517, 0xf28c, -0xf517, 0xf1f3, 0xf456, 0xf1f3, 0xf456, 0xf2ac, 0xf4e8, 0xf2ac, 0xf4e8, 0xf22f, 0xf445, -0xf22f, 0xf445, 0xf10e, 0xf2fe, 0xf10e, 0xf2fe, 0xf0e6, 0xf2b0, 0xf0e6, 0xf2b0, 0xf151, -0xf2f4, 0xf151, 0xf2f4, 0xf151, 0xf2f4, 0xf14f, 0xf2c7, 0xf14f, 0xf2c7, 0xf154, 0xf2a1, -0xf154, 0xf2a1, 0xf17b, 0xf298, 0xf17b, 0xf298, 0xf195, 0xf27e, 0xf195, 0xf27e, 0xf2b7, -0xf369, 0xf2b7, 0xf369, 0xf497, 0xf50f, 0xf497, 0xf50f, 0xf497, 0xf50f, 0xf551, 0xf58d, -0xf551, 0xf58d, 0xf61f, 0xf61c, 0xf61f, 0xf61c, 0xf83c, 0xf7f9, 0xf83c, 0xf7f9, 0xfa1f, -0xf99d, 0xfa1f, 0xf99d, 0xfb9a, 0xfada, 0xfb9a, 0xfada, 0xfb9a, 0xfada, 0xfc4a, 0xfb4f, -0xfc4a, 0xfb4f, 0xfcb1, 0xfb81, 0xfcb1, 0xfb81, 0xfdac, 0xfc4c, 0xfdac, 0xfc4c, 0xfeff, -0xfd78, 0xfeff, 0xfd78, 0xff76, 0xfdd1, 0xff76, 0xfdd1, 0xff45, 0xfd8c, 0xff45, 0xfd8c, -0xff45, 0xfd8c, 0xffad, 0xfdeb, 0xffad, 0xfdeb, 0xff56, 0xfd98, 0xff56, 0xfd98, 0xfecf, -0xfd21, 0xfecf, 0xfd21, 0xfdde, 0xfc4b, 0xfdde, 0xfc4b, 0xfc18, 0xfaad, 0xfc18, 0xfaad, -0xfaa1, 0xf969, 0xfaa1, 0xf969, 0xfaa1, 0xf969, 0xf9ef, 0xf8f2, 0xf9ef, 0xf8f2, 0xfa09, -0xf950, 0xfa09, 0xf950, 0xf993, 0xf924, 0xf993, 0xf924, 0xf873, 0xf853, 0xf873, 0xf853, -0xf763, 0xf793, 0xf763, 0xf793, 0xf763, 0xf793, 0xf6ca, 0xf74c, 0xf6ca, 0xf74c, 0xf5b0, -0xf680, 0xf5b0, 0xf680, 0xf404, 0xf51f, 0xf404, 0xf51f, 0xf2ad, 0xf40c, 0xf2ad, 0xf40c, -0xf15b, 0xf2f7, 0xf15b, 0xf2f7, 0xf04b, 0xf21a, 0xf04b, 0xf21a, 0xf04b, 0xf21a, 0xefbb, -0xf1b4, 0xefbb, 0xf1b4, 0xef82, 0xf198, 0xef82, 0xf198, 0xeed5, 0xf0fd, 0xeed5, 0xf0fd, -0xee87, 0xf0b6, 0xee87, 0xf0b6, 0xeea0, 0xf0ca, 0xeea0, 0xf0ca, 0xeea0, 0xf0ca, 0xee9c, -0xf0b7, 0xee9c, 0xf0b7, 0xef07, 0xf109, 0xef07, 0xf109, 0xef82, 0xf162, 0xef82, 0xf162, -0xf000, 0xf1b6, 0xf000, 0xf1b6, 0xf053, 0xf1db, 0xf053, 0xf1db, 0xf163, 0xf2b8, 0xf163, -0xf2b8, 0xf163, 0xf2b8, 0xf38a, 0xf4a9, 0xf38a, 0xf4a9, 0xf5a2, 0xf689, 0xf5a2, 0xf689, -0xf764, 0xf812, 0xf764, 0xf812, 0xf9ad, 0xfa23, 0xf9ad, 0xfa23, 0xfbfe, 0xfc3e, 0xfbfe, -0xfc3e, 0xfd9f, 0xfdaa, 0xfd9f, 0xfdaa, 0xfd9f, 0xfdaa, 0xff2b, 0xff04, 0xff2b, 0xff04, -0x66, 0xe, 0x66, 0xe, 0x21f, 0x198, 0x21f, 0x198, 0x470, 0x3bd, 0x470, -0x3bd, 0x69f, 0x5c0, 0x69f, 0x5c0, 0x69f, 0x5c0, 0x85a, 0x74f, 0x85a, 0x74f, -0x9b3, 0x87d, 0x9b3, 0x87d, 0xaff, 0x99c, 0xaff, 0x99c, 0xbff, 0xa6f, 0xbff, -0xa6f, 0xd58, 0xb98, 0xd58, 0xb98, 0xe93, 0xca0, 0xe93, 0xca0, 0xe93, 0xca0, -0xf1f, 0xcf7, 0xf1f, 0xcf7, 0xffc, 0xd9e, 0xffc, 0xd9e, 0x117c, 0xee5, 0x117c, -0xee5, 0x126b, 0xf9a, 0x126b, 0xf9a, 0x13a4, 0x1099, 0x13a4, 0x1099, 0x1636, 0x12f1, -0x1636, 0x12f1, 0x1636, 0x12f1, 0x181f, 0x14a2, 0x181f, 0x14a2, 0x18f1, 0x1540, 0x18f1, -0x1540, 0x19a0, 0x15c0, 0x19a0, 0x15c0, 0x1acc, 0x16c4, 0x1acc, 0x16c4, 0x1c15, 0x17ed, -0x1c15, 0x17ed, 0x1c15, 0x17ed, 0x1cf4, 0x18b5, 0x1cf4, 0x18b5, 0x1d91, 0x1946, 0x1d91, -0x1946, 0x1dc9, 0x197f, 0x1dc9, 0x197f, 0x1dcc, 0x198f, 0x1dcc, 0x198f, 0x1dad, 0x198b, -0x1dad, 0x198b, 0x1d21, 0x1927, 0x1d21, 0x1927, 0x1d21, 0x1927, 0x1bc7, 0x1801, 0x1bc7, -0x1801, 0x1a13, 0x168e, 0x1a13, 0x168e, 0x1869, 0x1531, 0x1869, 0x1531, 0x16e8, 0x1408, -0x16e8, 0x1408, 0x15a8, 0x1328, 0x15a8, 0x1328, 0x146b, 0x1252, 0x146b, 0x1252, 0x146b, -0x1252, 0x134a, 0x119d, 0x134a, 0x119d, 0x1258, 0x111a, 0x1258, 0x111a, 0x111a, 0x104d, -0x111a, 0x104d, 0xf3a, 0xedc, 0xf3a, 0xedc, 0xd86, 0xd94, 0xd86, 0xd94, 0xd86, -0xd94, 0xbed, 0xc62, 0xbed, 0xc62, 0x956, 0xa2b, 0x956, 0xa2b, 0x642, 0x76f, -0x642, 0x76f, 0x3ff, 0x57b, 0x3ff, 0x57b, 0x22d, 0x3ef, 0x22d, 0x3ef, 0x25, -0x222, 0x25, 0x222, 0x25, 0x222, 0xfe29, 0x55, 0xfe29, 0x55, 0xfca1, 0xfef3, -0xfca1, 0xfef3, 0xfbe7, 0xfe55, 0xfbe7, 0xfe55, 0xfb1c, 0xfd9d, 0xfb1c, 0xfd9d, 0xf9be, -0xfc49, 0xf9be, 0xfc49, 0xf83a, 0xfac7, 0xf83a, 0xfac7, 0xf83a, 0xfac7, 0xf6ab, 0xf934, -0xf6ab, 0xf934, 0xf539, 0xf7ba, 0xf539, 0xf7ba, 0xf4c2, 0xf737, 0xf4c2, 0xf737, 0xf477, -0xf6dc, 0xf477, 0xf6dc, 0xf387, 0xf5d9, 0xf387, 0xf5d9, 0xf387, 0xf5d9, 0xf33a, 0xf578, -0xf33a, 0xf578, 0xf2eb, 0xf515, 0xf2eb, 0xf515, 0xf2d3, 0xf4e8, 0xf2d3, 0xf4e8, 0xf2f2, -0xf4f0, 0xf2f2, 0xf4f0, 0xf25b, 0xf443, 0xf25b, 0xf443, 0xf1a8, 0xf378, 0xf1a8, 0xf378, -0xf1a8, 0xf378, 0xf0f5, 0xf2ab, 0xf0f5, 0xf2ab, 0xf06b, 0xf205, 0xf06b, 0xf205, 0xefdc, -0xf157, 0xefdc, 0xf157, 0xef85, 0xf0dd, 0xef85, 0xf0dd, 0xefae, 0xf0df, 0xefae, 0xf0df, -0xf085, 0xf18b, 0xf085, 0xf18b, 0xf085, 0xf18b, 0xf1e6, 0xf2bb, 0xf1e6, 0xf2bb, 0xf377, -0xf415, 0xf377, 0xf415, 0xf4c4, 0xf525, 0xf4c4, 0xf525, 0xf684, 0xf6a2, 0xf684, 0xf6a2, -0xf917, 0xf8ef, 0xf917, 0xf8ef, 0xf917, 0xf8ef, 0xfa7e, 0xfa0a, 0xfa7e, 0xfa0a, 0xfc49, -0xfb86, 0xfc49, 0xfb86, 0xfe17, 0xfd03, 0xfe17, 0xfd03, 0xfe84, 0xfd1e, 0xfe84, 0xfd1e, -0xff62, 0xfdac, 0xff62, 0xfdac, 0x4c, 0xfe48, 0x4c, 0xfe48, 0x4c, 0xfe48, 0x12b, -0xfedd, 0x12b, 0xfedd, 0x18f, 0xfefd, 0x18f, 0xfefd, 0x1e6, 0xff17, 0x1e6, 0xff17, -0x36f, 0x6d, 0x36f, 0x6d, 0x52b, 0x200, 0x52b, 0x200, 0x632, 0x2e9, 0x632, -0x2e9, 0x632, 0x2e9, 0x720, 0x3c5, 0x720, 0x3c5, 0x81f, 0x4be, 0x81f, 0x4be, -0x7f7, 0x49d, 0x7f7, 0x49d, 0x718, 0x3d0, 0x718, 0x3d0, 0x616, 0x2ec, 0x616, -0x2ec, 0x616, 0x2ec, 0x51d, 0x21b, 0x51d, 0x21b, 0x45d, 0x18b, 0x45d, 0x18b, -0x3ed, 0x154, 0x3ed, 0x154, 0x45c, 0x200, 0x45c, 0x200, 0x462, 0x248, 0x462, -0x248, 0x3f6, 0x220, 0x3f6, 0x220, 0x3f6, 0x220, 0x459, 0x2c7, 0x459, 0x2c7, -0x4f5, 0x3a5, 0x4f5, 0x3a5, 0x465, 0x355, 0x465, 0x355, 0x2c5, 0x1ef, 0x2c5, -0x1ef, 0x1e5, 0x143, 0x1e5, 0x143, 0x162, 0xee, 0x162, 0xee, 0x162, 0xee, -0xdc, 0x8e, 0xdc, 0x8e, 0x4e, 0x1e, 0x4e, 0x1e, 0xff8d, 0xff75, 0xff8d, -0xff75, 0xff7e, 0xff76, 0xff7e, 0xff76, 0xffe6, 0xffe7, 0xffe6, 0xffe7, 0xffe6, 0xffe7, -0xcf, 0xd3, 0xcf, 0xd3, 0x121, 0x124, 0x121, 0x124, 0x83, 0x7f, 0x83, -0x7f, 0xffff, 0xfff3, 0xffff, 0xfff3, 0x4f, 0x3b, 0x4f, 0x3b, 0x1c0, 0x1a2, -0x1c0, 0x1a2, 0x1c0, 0x1a2, 0x2c2, 0x29b, 0x2c2, 0x29b, 0x396, 0x368, 0x396, -0x368, 0x508, 0x4d5, 0x508, 0x4d5, 0x658, 0x622, 0x658, 0x622, 0x72f, 0x6f8, -0x72f, 0x6f8, 0x847, 0x813, 0x847, 0x813, 0x847, 0x813, 0x92e, 0x8fe, 0x92e, -0x8fe, 0x964, 0x93b, 0x964, 0x93b, 0x9d2, 0x9af, 0x9d2, 0x9af, 0xa47, 0xa2c, -0xa47, 0xa2c, 0xa77, 0xa60, 0xa77, 0xa60, 0xa77, 0xa60, 0xa55, 0xa40, 0xa55, -0xa40, 0xaa2, 0xa8d, 0xaa2, 0xa8d, 0xac8, 0xaad, 0xac8, 0xaad, 0xac5, 0xa9e, -0xac5, 0xa9e, 0xc22, 0xbe9, 0xc22, 0xbe9, 0xd4a, 0xcf7, 0xd4a, 0xcf7, 0xd4a, -0xcf7, 0xdb3, 0xd40, 0xdb3, 0xd40, 0xe93, 0xdfa, 0xe93, 0xdfa, 0xf9c, 0xed5, -0xf9c, 0xed5, 0x10ec, 0xff0, 0x10ec, 0xff0, 0x12fe, 0x11ca, 0x12fe, 0x11ca, 0x12fe, -0x11ca, 0x14d3, 0x1361, 0x14d3, 0x1361, 0x16ab, 0x14fa, 0x16ab, 0x14fa, 0x1944, 0x1753, -0x1944, 0x1753, 0x1b83, 0x1953, 0x1b83, 0x1953, 0x1d1c, 0x1aaf, 0x1d1c, 0x1aaf, 0x1e41, -0x1b9c, 0x1e41, 0x1b9c, 0x1e41, 0x1b9c, 0x1f09, 0x1c31, 0x1f09, 0x1c31, 0x1f1e, 0x1c1d, -0x1f1e, 0x1c1d, 0x1ee8, 0x1bc5, 0x1ee8, 0x1bc5, 0x1f13, 0x1bd9, 0x1f13, 0x1bd9, 0x1e54, -0x1b0d, 0x1e54, 0x1b0d, 0x1d12, 0x19c9, 0x1d12, 0x19c9, 0x1d12, 0x19c9, 0x1c3d, 0x18fe, -0x1c3d, 0x18fe, 0x1b38, 0x180e, 0x1b38, 0x180e, 0x19da, 0x16cf, 0x19da, 0x16cf, 0x1870, -0x158d, 0x1870, 0x158d, 0x1786, 0x14d3, 0x1786, 0x14d3, 0x1786, 0x14d3, 0x162b, 0x13af, -0x162b, 0x13af, 0x1478, 0x1237, 0x1478, 0x1237, 0x136b, 0x116a, 0x136b, 0x116a, 0x1296, -0x10d5, 0x1296, 0x10d5, 0x11b7, 0x1036, 0x11b7, 0x1036, 0x1054, 0xf12, 0x1054, 0xf12, -0x1054, 0xf12, 0xe7e, 0xd77, 0xe7e, 0xd77, 0xc86, 0xbb6, 0xc86, 0xbb6, 0xad6, -0xa36, 0xad6, 0xa36, 0x8ee, 0x879, 0x8ee, 0x879, 0x6c2, 0x670, 0x6c2, 0x670, -0x518, 0x4e3, 0x518, 0x4e3, 0x518, 0x4e3, 0x379, 0x35a, 0x379, 0x35a, 0x1af, -0x1a1, 0x1af, 0x1a1, 0xffac, 0xffaa, 0xffac, 0xffaa, 0xfdd5, 0xfddb, 0xfdd5, 0xfddb, -0xfbc3, 0xfbcd, 0xfbc3, 0xfbcd, 0xfbc3, 0xfbcd, 0xfa21, 0xfa2f, 0xfa21, 0xfa2f, 0xf914, -0xf925, 0xf914, 0xf925, 0xf796, 0xf7ab, 0xf796, 0xf7ab, 0xf723, 0xf73f, 0xf723, 0xf73f, -0xf711, 0xf738, 0xf711, 0xf738, 0xf66b, 0xf6a1, 0xf66b, 0xf6a1, 0xf66b, 0xf6a1, 0xf5b7, -0xf602, 0xf5b7, 0xf602, 0xf4e7, 0xf54c, 0xf4e7, 0xf54c, 0xf3e2, 0xf467, 0xf3e2, 0xf467, -0xf2df, 0xf389, 0xf2df, 0xf389, 0xf1cc, 0xf29f, 0xf1cc, 0xf29f, 0xf081, 0xf183, 0xf081, -0xf183, 0xf081, 0xf183, 0xf006, 0xf139, 0xf006, 0xf139, 0xefa8, 0xf10e, 0xefa8, 0xf10e, -0xef12, 0xf0ac, 0xef12, 0xf0ac, 0xee53, 0xf020, 0xee53, 0xf020, 0xecea, 0xeee8, 0xecea, -0xeee8, 0xecea, 0xeee8, 0xebf5, 0xee20, 0xebf5, 0xee20, 0xeba2, 0xedf4, 0xeba2, 0xedf4, -0xeb25, 0xed99, 0xeb25, 0xed99, 0xe9bd, 0xec4b, 0xe9bd, 0xec4b, 0xe8ff, 0xeba0, 0xe8ff, -0xeba0, 0xe962, 0xec0d, 0xe962, 0xec0d, 0xe962, 0xec0d, 0xe9c3, 0xec6f, 0xe9c3, 0xec6f, -0xeada, 0xed80, 0xeada, 0xed80, 0xebce, 0xee66, 0xebce, 0xee66, 0xec97, 0xef1a, 0xec97, -0xef1a, 0xed91, 0xeffa, 0xed91, 0xeffa, 0xeef1, 0xf13b, 0xeef1, 0xf13b, 0xeef1, 0xf13b, -0xf047, 0xf26f, 0xf047, 0xf26f, 0xf089, 0xf28d, 0xf089, 0xf28d, 0xf111, 0xf2f1, 0xf111, -0xf2f1, 0xf212, 0xf3d1, 0xf212, 0xf3d1, 0xf2fd, 0xf49d, 0xf2fd, 0xf49d, 0xf2fd, 0xf49d, -0xf3dc, 0xf561, 0xf3dc, 0xf561, 0xf4fe, 0xf66d, 0xf4fe, 0xf66d, 0xf608, 0xf768, 0xf608, -0xf768, 0xf71f, 0xf876, 0xf71f, 0xf876, 0xf7f1, 0xf945, 0xf7f1, 0xf945, 0xf735, 0xf88e, -0xf735, 0xf88e, 0xf735, 0xf88e, 0xf5ef, 0xf753, 0xf5ef, 0xf753, 0xf4c6, 0xf63a, 0xf4c6, -0xf63a, 0xf436, 0xf5be, 0xf436, 0xf5be, 0xf3a1, 0xf542, 0xf3a1, 0xf542, 0xf2f9, 0xf4b5, -0xf2f9, 0xf4b5, 0xf325, 0xf4fc, 0xf325, 0xf4fc, 0xf325, 0xf4fc, 0xf3c9, 0xf5bb, 0xf3c9, -0xf5bb, 0xf43f, 0xf649, 0xf43f, 0xf649, 0xf428, 0xf647, 0xf428, 0xf647, 0xf48d, 0xf6bd, -0xf48d, 0xf6bd, 0xf46d, 0xf6a8, 0xf46d, 0xf6a8, 0xf46d, 0xf6a8, 0xf40c, 0xf64c, 0xf40c, -0xf64c, 0xf438, 0xf676, 0xf438, 0xf676, 0xf474, 0xf6a9, 0xf474, 0xf6a9, 0xf51b, 0xf73f, -0xf51b, 0xf73f, 0xf570, 0xf77f, 0xf570, 0xf77f, 0xf636, 0xf828, 0xf636, 0xf828, 0xf636, -0xf828, 0xf756, 0xf926, 0xf756, 0xf926, 0xf817, 0xf9c3, 0xf817, 0xf9c3, 0xf82f, 0xf9b3, -0xf82f, 0xf9b3, 0xf847, 0xf9a3, 0xf847, 0xf9a3, 0xf9c4, 0xfaf8, 0xf9c4, 0xfaf8, 0xfb67, -0xfc74, 0xfb67, 0xfc74, 0xfb67, 0xfc74, 0xfcb4, 0xfd9e, 0xfcb4, 0xfd9e, 0xfdfe, 0xfec8, -0xfdfe, 0xfec8, 0xfebc, 0xff6d, 0xfebc, 0xff6d, 0xfe8b, 0xff28, 0xfe8b, 0xff28, 0xfeb3, -0xff44, 0xfeb3, 0xff44, 0xfeb3, 0xff44, 0xff50, 0xffdc, 0xff50, 0xffdc, 0xfe8f, 0xff1c, -0xfe8f, 0xff1c, 0xfd98, 0xfe2e, 0xfd98, 0xfe2e, 0xfd26, 0xfdcc, 0xfd26, 0xfdcc, 0xfcd9, -0xfd94, 0xfcd9, 0xfd94, 0xfc42, 0xfd17, 0xfc42, 0xfd17, 0xfc42, 0xfd17, 0xfb05, 0xfbf8, -0xfb05, 0xfbf8, 0xf9dd, 0xfaef, 0xf9dd, 0xfaef, 0xf879, 0xf9ad, 0xf879, 0xf9ad, 0xf7eb, -0xf940, 0xf7eb, 0xf940, 0xf80c, 0xf982, 0xf80c, 0xf982, 0xf784, 0xf917, 0xf784, 0xf917, -0xf784, 0xf917, 0xf72b, 0xf8d8, 0xf72b, 0xf8d8, 0xf701, 0xf8c5, 0xf701, 0xf8c5, 0xf6a7, -0xf87d, 0xf6a7, 0xf87d, 0xf679, 0xf85c, 0xf679, 0xf85c, 0xf6e7, 0xf8d1, 0xf6e7, 0xf8d1, -0xf6e7, 0xf8d1, 0xf6f0, 0xf8dd, 0xf6f0, 0xf8dd, 0xf6b5, 0xf8a0, 0xf6b5, 0xf8a0, 0xf70a, -0xf8f0, 0xf70a, 0xf8f0, 0xf72e, 0xf90b, 0xf72e, 0xf90b, 0xf74e, 0xf920, 0xf74e, 0xf920, -0xf7c3, 0xf989, 0xf7c3, 0xf989, 0xf7c3, 0xf989, 0xf829, 0xf9e2, 0xf829, 0xf9e2, 0xf7af, -0xf95c, 0xf7af, 0xf95c, 0xf758, 0xf8fa, 0xf758, 0xf8fa, 0xf74e, 0xf8e8, 0xf74e, 0xf8e8, -0xf691, 0xf825, 0xf691, 0xf825, 0xf5ff, 0xf791, 0xf5ff, 0xf791, 0xf5ff, 0xf791, 0xf594, -0xf727, 0xf594, 0xf727, 0xf54c, 0xf6e3, 0xf54c, 0xf6e3, 0xf500, 0xf69f, 0xf500, 0xf69f, -0xf4b7, 0xf661, 0xf4b7, 0xf661, 0xf4eb, 0xf6a1, 0xf4eb, 0xf6a1, 0xf4eb, 0xf6a1, 0xf578, -0xf73c, 0xf578, 0xf73c, 0xf60d, 0xf7df, 0xf60d, 0xf7df, 0xf669, 0xf848, 0xf669, 0xf848, -0xf6db, 0xf8c5, 0xf6db, 0xf8c5, 0xf6cb, 0xf8bd, 0xf6cb, 0xf8bd, 0xf64f, 0xf845, 0xf64f, -0xf845, 0xf64f, 0xf845, 0xf5d5, 0xf7c9, 0xf5d5, 0xf7c9, 0xf4df, 0xf6cb, 0xf4df, 0xf6cb, -0xf3f7, 0xf5d5, 0xf3f7, 0xf5d5, 0xf371, 0xf539, 0xf371, 0xf539, 0xf342, 0xf4ed, 0xf342, -0xf4ed, 0xf342, 0xf4ed, 0xf3f9, 0xf57f, 0xf3f9, 0xf57f, 0xf524, 0xf67f, 0xf524, 0xf67f, -0xf5f8, 0xf71f, 0xf5f8, 0xf71f, 0xf6d5, 0xf7c4, 0xf6d5, 0xf7c4, 0xf7a8, 0xf859, 0xf7a8, -0xf859, 0xf8bf, 0xf92d, 0xf8bf, 0xf92d, 0xf8bf, 0xf92d, 0xfa4f, 0xfa79, 0xfa4f, 0xfa79, -0xfb62, 0xfb45, 0xfb62, 0xfb45, 0xfc6b, 0xfc07, 0xfc6b, 0xfc07, 0xfe4c, 0xfda2, 0xfe4c, -0xfda2, 0x6c, 0xff7e, 0x6c, 0xff7e, 0x248, 0x119, 0x248, 0x119, 0x248, 0x119, -0x429, 0x2bd, 0x429, 0x2bd, 0x60d, 0x469, 0x60d, 0x469, 0x820, 0x648, 0x820, -0x648, 0x9e6, 0x7e2, 0x9e6, 0x7e2, 0xae0, 0x8b4, 0xae0, 0x8b4, 0xae0, 0x8b4, -0xc04, 0x9b6, 0xc04, 0x9b6, 0xd28, 0xabe, 0xd28, 0xabe, 0xdd6, 0xb55, 0xdd6, -0xb55, 0xe6a, 0xbd6, 0xe6a, 0xbd6, 0xee1, 0xc3f, 0xee1, 0xc3f, 0xeab, 0xbfd, -0xeab, 0xbfd, 0xeab, 0xbfd, 0xe6c, 0xbb6, 0xe6c, 0xbb6, 0xf9c, 0xce0, 0xf9c, -0xce0, 0x10c8, 0xe06, 0x10c8, 0xe06, 0x1095, 0xdcf, 0x1095, 0xdcf, 0x10b0, 0xde6, -0x10b0, 0xde6, 0x11b7, 0xee9, 0x11b7, 0xee9, 0x11b7, 0xee9, 0x125d, 0xf8c, 0x125d, -0xf8c, 0x12ca, 0xff7, 0x12ca, 0xff7, 0x1301, 0x102b, 0x1301, 0x102b, 0x12ca, 0xff4, -0x12ca, 0xff4, 0x12ee, 0x1018, 0x12ee, 0x1018, 0x12ee, 0x1018, 0x131f, 0x104c, 0x131f, -0x104c, 0x12ee, 0x1022, 0x12ee, 0x1022, 0x12a8, 0xfe6, 0x12a8, 0xfe6, 0x127b, 0xfc7, -0x127b, 0xfc7, 0x11bd, 0xf1b, 0x11bd, 0xf1b, 0x10cb, 0xe42, 0x10cb, 0xe42, 0x10cb, -0xe42, 0x1031, 0xdc6, 0x1031, 0xdc6, 0xf09, 0xcc3, 0xf09, 0xcc3, 0xd8f, 0xb73, -0xd8f, 0xb73, 0xc71, 0xa84, 0xc71, 0xa84, 0xafe, 0x945, 0xafe, 0x945, 0x8e2, -0x762, 0x8e2, 0x762, 0x8e2, 0x762, 0x6f7, 0x5b5, 0x6f7, 0x5b5, 0x56f, 0x46c, -0x56f, 0x46c, 0x418, 0x356, 0x418, 0x356, 0x2d4, 0x253, 0x2d4, 0x253, 0x1e6, -0x1a5, 0x1e6, 0x1a5, 0x1e6, 0x1a5, 0xe6, 0xe3, 0xe6, 0xe3, 0xffc7, 0xffff, -0xffc7, 0xffff, 0xff11, 0xff7e, 0xff11, 0xff7e, 0xfe7b, 0xff17, 0xfe7b, 0xff17, 0xfdde, -0xfea3, 0xfdde, 0xfea3, 0xfc56, 0xfd3d, 0xfc56, 0xfd3d, 0xfc56, 0xfd3d, 0xfb1f, 0xfc20, -0xfb1f, 0xfc20, 0xfa87, 0xfb9a, 0xfa87, 0xfb9a, 0xf987, 0xfaa3, 0xf987, 0xfaa3, 0xf8b1, -0xf9cf, 0xf8b1, 0xf9cf, 0xf801, 0xf919, 0xf801, 0xf919, 0xf7bd, 0xf8ca, 0xf7bd, 0xf8ca, -0xf7bd, 0xf8ca, 0xf76c, 0xf866, 0xf76c, 0xf866, 0xf71e, 0xf802, 0xf71e, 0xf802, 0xf66f, -0xf738, 0xf66f, 0xf738, 0xf55f, 0xf60b, 0xf55f, 0xf60b, 0xf536, 0xf5c4, 0xf536, 0xf5c4, -0xf536, 0xf5c4, 0xf618, 0xf686, 0xf618, 0xf686, 0xf7ab, 0xf7f9, 0xf7ab, 0xf7f9, 0xf8c7, -0xf8f7, 0xf8c7, 0xf8f7, 0xf98b, 0xf99f, 0xf98b, 0xf99f, 0xfa83, 0xfa7d, 0xfa83, 0xfa7d, -0xfba5, 0xfb87, 0xfba5, 0xfb87, 0xfba5, 0xfb87, 0xfc7c, 0xfc49, 0xfc7c, 0xfc49, 0xfcd0, -0xfc8a, 0xfcd0, 0xfc8a, 0xfd67, 0xfd0f, 0xfd67, 0xfd0f, 0xfd7e, 0xfd17, 0xfd7e, 0xfd17, -0xfd5f, 0xfcea, 0xfd5f, 0xfcea, 0xfde4, 0xfd60, 0xfde4, 0xfd60, 0xfde4, 0xfd60, 0xfe28, -0xfd95, 0xfe28, 0xfd95, 0xfe60, 0xfdbd, 0xfe60, 0xfdbd, 0xff16, 0xfe62, 0xff16, 0xfe62, -0x37, 0xff6f, 0x37, 0xff6f, 0xc8, 0xffeb, 0xc8, 0xffeb, 0xc8, 0xffeb, 0xa5, -0xffb0, 0xa5, 0xffb0, 0x11c, 0xc, 0x11c, 0xc, 0x212, 0xe5, 0x212, 0xe5, -0x2dc, 0x18f, 0x2dc, 0x18f, 0x35e, 0x1f2, 0x35e, 0x1f2, 0x485, 0x2f8, 0x485, -0x2f8, 0x485, 0x2f8, 0x58d, 0x3e0, 0x58d, 0x3e0, 0x5d9, 0x40e, 0x5d9, 0x40e, -0x6b1, 0x4cb, 0x6b1, 0x4cb, 0x78f, 0x593, 0x78f, 0x593, 0x7b3, 0x5a6, 0x7b3, -0x5a6, 0x7b0, 0x598, 0x7b0, 0x598, 0x7b0, 0x598, 0x827, 0x60b, 0x827, 0x60b, -0x817, 0x5ff, 0x817, 0x5ff, 0x7d5, 0x5cb, 0x7d5, 0x5cb, 0x7dc, 0x5e7, 0x7dc, -0x5e7, 0x74d, 0x577, 0x74d, 0x577, 0x74d, 0x577, 0x602, 0x452, 0x602, 0x452, -0x427, 0x2a6, 0x427, 0x2a6, 0x27b, 0x12f, 0x27b, 0x12f, 0xb2, 0xffa2, 0xb2, -0xffa2, 0xfeb4, 0xfde3, 0xfeb4, 0xfde3, 0xfc55, 0xfbc6, 0xfc55, 0xfbc6, 0xfc55, 0xfbc6, -0xfa81, 0xfa35, 0xfa81, 0xfa35, 0xf9a4, 0xf99b, 0xf9a4, 0xf99b, 0xf8ae, 0xf8e4, 0xf8ae, -0xf8e4, 0xf7d8, 0xf849, 0xf7d8, 0xf849, 0xf6fd, 0xf7a3, 0xf6fd, 0xf7a3, 0xf668, 0xf73c, -0xf668, 0xf73c, 0xf668, 0xf73c, 0xf5e4, 0xf6de, 0xf5e4, 0xf6de, 0xf53c, 0xf651, 0xf53c, -0xf651, 0xf48d, 0xf5b4, 0xf48d, 0xf5b4, 0xf37a, 0xf4a9, 0xf37a, 0xf4a9, 0xf2d9, 0xf406, -0xf2d9, 0xf406, 0xf2d9, 0xf406, 0xf366, 0xf487, 0xf366, 0xf487, 0xf44e, 0xf559, 0xf44e, -0xf559, 0xf597, 0xf685, 0xf597, 0xf685, 0xf74d, 0xf816, 0xf74d, 0xf816, 0xf8c6, 0xf965, -0xf8c6, 0xf965, 0xfa50, 0xfac1, 0xfa50, 0xfac1, 0xfa50, 0xfac1, 0xfb6e, 0xfbae, 0xfb6e, -0xfbae, 0xfc38, 0xfc46, 0xfc38, 0xfc46, 0xfcf0, 0xfccd, 0xfcf0, 0xfccd, 0xfdff, 0xfdad, -0xfdff, 0xfdad, 0xffa1, 0xff22, 0xffa1, 0xff22, 0x167, 0xbe, 0x167, 0xbe, 0x167, -0xbe, 0x310, 0x242, 0x310, 0x242, 0x4a4, 0x3b6, 0x4a4, 0x3b6, 0x6fb, 0x5f2, -0x6fb, 0x5f2, 0x913, 0x7f3, 0x913, 0x7f3, 0xa64, 0x931, 0xa64, 0x931, 0xa64, -0x931, 0xb8d, 0xa4b, 0xb8d, 0xa4b, 0xca0, 0xb51, 0xca0, 0xb51, 0xdd1, 0xc77, -0xdd1, 0xc77, 0xf3e, 0xdd9, 0xf3e, 0xdd9, 0x1062, 0xef2, 0x1062, 0xef2, 0x110d, -0xf91, 0x110d, 0xf91, 0x110d, 0xf91, 0x11c9, 0x103e, 0x11c9, 0x103e, 0x12f2, 0x1154, -0x12f2, 0x1154, 0x14bc, 0x1308, 0x14bc, 0x1308, 0x16d6, 0x1509, 0x16d6, 0x1509, 0x18cf, -0x16e4, 0x18cf, 0x16e4, 0x18cf, 0x16e4, 0x19c3, 0x17b7, 0x19c3, 0x17b7, 0x1b38, 0x1909, -0x1b38, 0x1909, 0x1dc7, 0x1b72, 0x1dc7, 0x1b72, 0x1f7b, 0x1d00, 0x1f7b, 0x1d00, 0x2073, -0x1dd2, 0x2073, 0x1dd2, 0x2158, 0x1e95, 0x2158, 0x1e95, 0x2158, 0x1e95, 0x2203, 0x1f20, -0x2203, 0x1f20, 0x2254, 0x1f57, 0x2254, 0x1f57, 0x2309, 0x1ffa, 0x2309, 0x1ffa, 0x235d, -0x2044, 0x235d, 0x2044, 0x2357, 0x203e, 0x2357, 0x203e, 0x230b, 0x1ffd, 0x230b, 0x1ffd, -0x230b, 0x1ffd, 0x228f, 0x1f98, 0x228f, 0x1f98, 0x2209, 0x1f35, 0x2209, 0x1f35, 0x2087, -0x1de3, 0x2087, 0x1de3, 0x1f48, 0x1ce0, 0x1f48, 0x1ce0, 0x1db3, 0x1b92, 0x1db3, 0x1b92, -0x1db3, 0x1b92, 0x1bf4, 0x1a24, 0x1bf4, 0x1a24, 0x1a1a, 0x18a5, 0x1a1a, 0x18a5, 0x17f2, -0x16de, 0x17f2, 0x16de, 0x164c, 0x159f, 0x164c, 0x159f, 0x141b, 0x13d6, 0x141b, 0x13d6, -0x11f4, 0x1219, 0x11f4, 0x1219, 0x11f4, 0x1219, 0xfab, 0x1038, 0xfab, 0x1038, 0xd53, -0xe45, 0xd53, 0xe45, 0xb31, 0xc81, 0xb31, 0xc81, 0x91a, 0xac1, 0x91a, 0xac1, -0x6cc, 0x8c0, 0x6cc, 0x8c0, 0x39f, 0x5d4, 0x39f, 0x5d4, 0x39f, 0x5d4, 0xb6, -0x321, 0xb6, 0x321, 0xfe01, 0x97, 0xfe01, 0x97, 0xfbc3, 0xfe76, 0xfbc3, 0xfe76, -0xf998, 0xfc5d, 0xf998, 0xfc5d, 0xf73b, 0xfa05, 0xf73b, 0xfa05, 0xf73b, 0xfa05, 0xf5b4, -0xf87a, 0xf5b4, 0xf87a, 0xf472, 0xf72a, 0xf472, 0xf72a, 0xf331, 0xf5d2, 0xf331, 0xf5d2, -0xf17d, 0xf402, 0xf17d, 0xf402, 0xf05a, 0xf2bf, 0xf05a, 0xf2bf, 0xf024, 0xf265, 0xf024, -0xf265, 0xf024, 0xf265, 0xf081, 0xf29e, 0xf081, 0xf29e, 0xf190, 0xf388, 0xf190, 0xf388, -0xf24c, 0xf421, 0xf24c, 0xf421, 0xf344, 0xf4fa, 0xf344, 0xf4fa, 0xf435, 0xf5cf, 0xf435, -0xf5cf, 0xf508, 0xf68b, 0xf508, 0xf68b, 0xf508, 0xf68b, 0xf535, 0xf6a5, 0xf535, 0xf6a5, -0xf50c, 0xf66e, 0xf50c, 0xf66e, 0xf58d, 0xf6e4, 0xf58d, 0xf6e4, 0xf578, 0xf6c9, 0xf578, -0xf6c9, 0xf510, 0xf65e, 0xf510, 0xf65e, 0xf510, 0xf65e, 0xf50f, 0xf659, 0xf50f, 0xf659, -0xf572, 0xf6bb, 0xf572, 0xf6bb, 0xf572, 0xf6b8, 0xf572, 0xf6b8, 0xf5ae, 0xf6f0, 0xf5ae, -0xf6f0, 0xf625, 0xf75e, 0xf625, 0xf75e, 0xf61d, 0xf74c, 0xf61d, 0xf74c, 0xf61d, 0xf74c, -0xf61f, 0xf73e, 0xf61f, 0xf73e, 0xf65a, 0xf764, 0xf65a, 0xf764, 0xf6fd, 0xf7ed, 0xf6fd, -0xf7ed, 0xf7cc, 0xf89e, 0xf7cc, 0xf89e, 0xf9c1, 0xfa6f, 0xf9c1, 0xfa6f, 0xfbcf, 0xfc57, -0xfbcf, 0xfc57, 0xfbcf, 0xfc57, 0xfd37, 0xfd95, 0xfd37, 0xfd95, 0xfea0, 0xfed3, 0xfea0, -0xfed3, 0xffd0, 0xffd8, 0xffd0, 0xffd8, 0xb5, 0x93, 0xb5, 0x93, 0x15b, 0x113, -0x15b, 0x113, 0x15b, 0x113, 0x27b, 0x212, 0x27b, 0x212, 0x357, 0x2d3, 0x357, -0x2d3, 0x399, 0x301, 0x399, 0x301, 0x3ab, 0x30a, 0x3ab, 0x30a, 0x3d1, 0x330, -0x3d1, 0x330, 0x37a, 0x2e3, 0x37a, 0x2e3, 0x37a, 0x2e3, 0x2e8, 0x267, 0x2e8, -0x267, 0x21c, 0x1ba, 0x21c, 0x1ba, 0x4e, 0x17, 0x4e, 0x17, 0xfe69, 0xfe65, -0xfe69, 0xfe65, 0xfc81, 0xfcba, 0xfc81, 0xfcba, 0xfad8, 0xfb54, 0xfad8, 0xfb54, 0xfad8, -0xfb54, 0xf949, 0xfa0d, 0xf949, 0xfa0d, 0xf80c, 0xf91c, 0xf80c, 0xf91c, 0xf700, 0xf85e, -0xf700, 0xf85e, 0xf5e6, 0xf790, 0xf5e6, 0xf790, 0xf4ba, 0xf6af, 0xf4ba, 0xf6af, 0xf4ba, -0xf6af, 0xf355, 0xf590, 0xf355, 0xf590, 0xf23b, 0xf4b6, 0xf23b, 0xf4b6, 0xf129, 0xf3dc, -0xf129, 0xf3dc, 0xf001, 0xf2e4, 0xf001, 0xf2e4, 0xee4b, 0xf155, 0xee4b, 0xf155, 0xecf9, -0xf01f, 0xecf9, 0xf01f, 0xecf9, 0xf01f, 0xec00, 0xef38, 0xec00, 0xef38, 0xeafc, 0xee3a, -0xeafc, 0xee3a, 0xea7c, 0xedb8, 0xea7c, 0xedb8, 0xe9f4, 0xed25, 0xe9f4, 0xed25, 0xe9a1, -0xecbe, 0xe9a1, 0xecbe, 0xe943, 0xec46, 0xe943, 0xec46, 0xe943, 0xec46, 0xe919, 0xebfb, -0xe919, 0xebfb, 0xe96c, 0xec2a, 0xe96c, 0xec2a, 0xe9b9, 0xec50, 0xe9b9, 0xec50, 0xea30, -0xec9f, 0xea30, 0xec9f, 0xeb3d, 0xed83, 0xeb3d, 0xed83, 0xeb3d, 0xed83, 0xebf9, 0xee18, -0xebf9, 0xee18, 0xec3d, 0xee36, 0xec3d, 0xee36, 0xeca2, 0xee79, 0xeca2, 0xee79, 0xed3f, -0xeef6, 0xed3f, 0xeef6, 0xedeb, 0xef86, 0xedeb, 0xef86, 0xee19, 0xef9c, 0xee19, 0xef9c, -0xee19, 0xef9c, 0xee5c, 0xefca, 0xee5c, 0xefca, 0xee53, 0xefaf, 0xee53, 0xefaf, 0xeeda, -0xf026, 0xeeda, 0xf026, 0xf01b, 0xf158, 0xf01b, 0xf158, 0xf065, 0xf195, 0xf065, 0xf195, -0xf053, 0xf175, 0xf053, 0xf175, 0xf053, 0xf175, 0xf06e, 0xf182, 0xf06e, 0xf182, 0xf0ba, -0xf1be, 0xf0ba, 0xf1be, 0xf0c5, 0xf1b8, 0xf0c5, 0xf1b8, 0xf17b, 0xf25b, 0xf17b, 0xf25b, -0xf259, 0xf323, 0xf259, 0xf323, 0xf259, 0xf323, 0xf230, 0xf2e2, 0xf230, 0xf2e2, 0xf354, -0xf3ec, 0xf354, 0xf3ec, 0xf564, 0xf5e0, 0xf564, 0xf5e0, 0xf6dd, 0xf73d, 0xf6dd, 0xf73d, -0xf82a, 0xf86d, 0xf82a, 0xf86d, 0xf952, 0xf979, 0xf952, 0xf979, 0xf952, 0xf979, 0xfa73, -0xfa80, 0xfa73, 0xfa80, 0xfba4, 0xfb99, 0xfba4, 0xfb99, 0xfce8, 0xfcc9, 0xfce8, 0xfcc9, -0xfdc0, 0xfd92, 0xfdc0, 0xfd92, 0xfe3c, 0xfe04, 0xfe3c, 0xfe04, 0xfed0, 0xfe95, 0xfed0, -0xfe95, 0xfed0, 0xfe95, 0xff7f, 0xff47, 0xff7f, 0xff47, 0xe, 0xffe1, 0xe, 0xffe1, -0x18, 0xfffc, 0x18, 0xfffc, 0x33, 0x2f, 0x33, 0x2f, 0x1e, 0x37, 0x1e, -0x37, 0x1e, 0x37, 0xff6c, 0xffa9, 0xff6c, 0xffa9, 0xfea8, 0xff0d, 0xfea8, 0xff0d, -0xfde4, 0xfe75, 0xfde4, 0xfe75, 0xfd1c, 0xfdda, 0xfd1c, 0xfdda, 0xfc64, 0xfd51, 0xfc64, -0xfd51, 0xfba9, 0xfcc4, 0xfba9, 0xfcc4, 0xfba9, 0xfcc4, 0xfad9, 0xfc20, 0xfad9, 0xfc20, -0xfa40, 0xfbb1, 0xfa40, 0xfbb1, 0xf9ac, 0xfb42, 0xf9ac, 0xfb42, 0xf8c3, 0xfa79, 0xf8c3, -0xfa79, 0xf78a, 0xf95a, 0xf78a, 0xf95a, 0xf78a, 0xf95a, 0xf656, 0xf838, 0xf656, 0xf838, -0xf567, 0xf755, 0xf567, 0xf755, 0xf4c9, 0xf6ba, 0xf4c9, 0xf6ba, 0xf447, 0xf636, 0xf447, -0xf636, 0xf3e6, 0xf5ca, 0xf3e6, 0xf5ca, 0xf3e1, 0xf5b4, 0xf3e1, 0xf5b4, 0xf3e1, 0xf5b4, -0xf3d9, 0xf595, 0xf3d9, 0xf595, 0xf3e0, 0xf57f, 0xf3e0, 0xf57f, 0xf3df, 0xf55c, 0xf3df, -0xf55c, 0xf432, 0xf58b, 0xf432, 0xf58b, 0xf4a7, 0xf5d8, 0xf4a7, 0xf5d8, 0xf4a7, 0xf5ae, -0xf4a7, 0xf5ae, 0xf4a7, 0xf5ae, 0xf4ac, 0xf588, 0xf4ac, 0xf588, 0xf54c, 0xf5fd, 0xf54c, -0xf5fd, 0xf673, 0xf6f8, 0xf673, 0xf6f8, 0xf6e9, 0xf743, 0xf6e9, 0xf743, 0xf7e5, 0xf814, -0xf7e5, 0xf814, 0xf7e5, 0xf814, 0xf9af, 0xf9b3, 0xf9af, 0xf9b3, 0xfac0, 0xfa9a, 0xfac0, -0xfa9a, 0xfbe0, 0xfb8f, 0xfbe0, 0xfb8f, 0xfd3a, 0xfcbf, 0xfd3a, 0xfcbf, 0xfe0b, 0xfd64, -0xfe0b, 0xfd64, 0xfec6, 0xfdf1, 0xfec6, 0xfdf1, 0xfec6, 0xfdf1, 0xb, 0xff08, 0xb, -0xff08, 0x147, 0x13, 0x147, 0x13, 0x264, 0xfc, 0x264, 0xfc, 0x3bb, 0x21d, -0x3bb, 0x21d, 0x5bd, 0x3e6, 0x5bd, 0x3e6, 0x7e5, 0x5d3, 0x7e5, 0x5d3, 0x7e5, -0x5d3, 0x9a2, 0x754, 0x9a2, 0x754, 0xb6e, 0x8e1, 0xb6e, 0x8e1, 0xcc4, 0x9f8, -0xcc4, 0x9f8, 0xe37, 0xb2c, 0xe37, 0xb2c, 0x1003, 0xcbb, 0x1003, 0xcbb, 0x1003, -0xcbb, 0x116c, 0xdea, 0x116c, 0xdea, 0x12c3, 0xf0a, 0x12c3, 0xf0a, 0x1407, 0x101e, -0x1407, 0x101e, 0x1505, 0x10f1, 0x1505, 0x10f1, 0x15be, 0x1188, 0x15be, 0x1188, 0x1704, -0x12b6, 0x1704, 0x12b6, 0x1704, 0x12b6, 0x1873, 0x1415, 0x1873, 0x1415, 0x18f8, 0x1497, -0x18f8, 0x1497, 0x1985, 0x152c, 0x1985, 0x152c, 0x19b9, 0x1572, 0x19b9, 0x1572, 0x1962, -0x1539, 0x1962, 0x1539, 0x1931, 0x1532, 0x1931, 0x1532, 0x1931, 0x1532, 0x1917, 0x154c, -0x1917, 0x154c, 0x191b, 0x158d, 0x191b, 0x158d, 0x184c, 0x1502, 0x184c, 0x1502, 0x1708, -0x140a, 0x1708, 0x140a, 0x1618, 0x136b, 0x1618, 0x136b, 0x1618, 0x136b, 0x1534, 0x12db, -0x1534, 0x12db, 0x1431, 0x122d, 0x1431, 0x122d, 0x1357, 0x11a8, 0x1357, 0x11a8, 0x12f3, -0x1197, 0x12f3, 0x1197, 0x11f3, 0x10e7, 0x11f3, 0x10e7, 0x101d, 0xf5c, 0x101d, 0xf5c, -0x101d, 0xf5c, 0xe1b, 0xda0, 0xe1b, 0xda0, 0xc60, 0xc23, 0xc60, 0xc23, 0xad0, -0xacb, 0xad0, 0xacb, 0x8e0, 0x90b, 0x8e0, 0x90b, 0x74c, 0x7a0, 0x74c, 0x7a0, -0x5e0, 0x656, 0x5e0, 0x656, 0x5e0, 0x656, 0x455, 0x4e7, 0x455, 0x4e7, 0x374, -0x41d, 0x374, 0x41d, 0x2ab, 0x365, 0x2ab, 0x365, 0x1d4, 0x29c, 0x1d4, 0x29c, -0xc5, 0x199, 0xc5, 0x199, 0xc5, 0x199, 0xff66, 0x44, 0xff66, 0x44, 0xfe04, -0xfeed, 0xfe04, 0xfeed, 0xfced, 0xfde0, 0xfced, 0xfde0, 0xfc8d, 0xfd8d, 0xfc8d, 0xfd8d, -0xfc5d, 0xfd6a, 0xfc5d, 0xfd6a, 0xfc86, 0xfda5, 0xfc86, 0xfda5, 0xfc86, 0xfda5, 0xfc54, -0xfd85, 0xfc54, 0xfd85, 0xfbd2, 0xfd18, 0xfbd2, 0xfd18, 0xfb52, 0xfcad, 0xfb52, 0xfcad, -0xfa7f, 0xfbf1, 0xfa7f, 0xfbf1, 0xf951, 0xfad9, 0xf951, 0xfad9, 0xf7b4, 0xf952, 0xf7b4, -0xf952, 0xf7b4, 0xf952, 0xf6c8, 0xf878, 0xf6c8, 0xf878, 0xf534, 0xf6f3, 0xf534, 0xf6f3, -0xf40a, 0xf5d2, 0xf40a, 0xf5d2, 0xf413, 0xf5df, 0xf413, 0xf5df, 0xf356, 0xf51e, 0xf356, -0xf51e, 0xf356, 0xf51e, 0xf2e7, 0xf4a4, 0xf2e7, 0xf4a4, 0xf362, 0xf509, 0xf362, 0xf509, -0xf3da, 0xf564, 0xf3da, 0xf564, 0xf3f9, 0xf55d, 0xf3f9, 0xf55d, 0xf4b7, 0xf5ec, 0xf4b7, -0xf5ec, 0xf4ef, 0xf5ee, 0xf4ef, 0xf5ee, 0xf4ef, 0xf5ee, 0xf4c0, 0xf581, 0xf4c0, 0xf581, -0xf5db, 0xf659, 0xf5db, 0xf659, 0xf79e, 0xf7d6, 0xf79e, 0xf7d6, 0xf961, 0xf951, 0xf961, -0xf951, 0xfb2b, 0xfad1, 0xfb2b, 0xfad1, 0xfcfb, 0xfc59, 0xfcfb, 0xfc59, 0xfcfb, 0xfc59, -0xfe8d, 0xfda8, 0xfe8d, 0xfda8, 0x77, 0xff53, 0x77, 0xff53, 0x1e1, 0x86, 0x1e1, -0x86, 0x29c, 0x112, 0x29c, 0x112, 0x2e1, 0x131, 0x2e1, 0x131, 0x2e1, 0x131, -0x2a2, 0xd8, 0x2a2, 0xd8, 0x297, 0xbd, 0x297, 0xbd, 0x2fb, 0x11d, 0x2fb, -0x11d, 0x34d, 0x175, 0x34d, 0x175, 0x299, 0xd0, 0x299, 0xd0, 0x1e4, 0x35, -0x1e4, 0x35, 0x1e4, 0x35, 0x14c, 0xffbe, 0x14c, 0xffbe, 0x77, 0xff0f, 0x77, -0xff0f, 0xff4f, 0xfe12, 0xff4f, 0xfe12, 0xfe53, 0xfd43, 0xfe53, 0xfd43, 0xfdfa, 0xfd16, -0xfdfa, 0xfd16, 0xfdc7, 0xfd0f, 0xfdc7, 0xfd0f, 0xfdc7, 0xfd0f, 0xfe0b, 0xfd7a, 0xfe0b, -0xfd7a, 0xfea4, 0xfe35, 0xfea4, 0xfe35, 0xff44, 0xfef0, 0xff44, 0xfef0, 0xff31, 0xfef0, -0xff31, 0xfef0, 0xfec6, 0xfe8f, 0xfec6, 0xfe8f, 0xfec6, 0xfe8f, 0xfdfe, 0xfdc8, 0xfdfe, -0xfdc8, 0xfd69, 0xfd2b, 0xfd69, 0xfd2b, 0xfdbb, 0xfd6b, 0xfdbb, 0xfd6b, 0xfe33, 0xfdc9, -0xfe33, 0xfdc9, 0xfef3, 0xfe69, 0xfef3, 0xfe69, 0xff75, 0xfec4, 0xff75, 0xfec4, 0xff75, -0xfec4, 0xffdc, 0xff00, 0xffdc, 0xff00, 0x4f, 0xff45, 0x4f, 0xff45, 0xd4, 0xff9b, -0xd4, 0xff9b, 0x147, 0xffe0, 0x147, 0xffe0, 0x1a5, 0x13, 0x1a5, 0x13, 0x21f, -0x65, 0x21f, 0x65, 0x21f, 0x65, 0x2b4, 0xd8, 0x2b4, 0xd8, 0x3bd, 0x1c6, -0x3bd, 0x1c6, 0x4b0, 0x2a5, 0x4b0, 0x2a5, 0x5e2, 0x3cb, 0x5e2, 0x3cb, 0x738, -0x51b, 0x738, 0x51b, 0x738, 0x51b, 0x826, 0x60c, 0x826, 0x60c, 0x8f6, 0x6e6, -0x8f6, 0x6e6, 0x9fa, 0x7fa, 0x9fa, 0x7fa, 0xaf5, 0x908, 0xaf5, 0x908, 0xbd5, -0xa00, 0xbd5, 0xa00, 0xcaf, 0xaf3, 0xcaf, 0xaf3, 0xcaf, 0xaf3, 0xca7, 0xb04, -0xca7, 0xb04, 0xc28, 0xa9e, 0xc28, 0xa9e, 0xbc0, 0xa4b, 0xbc0, 0xa4b, 0xb4c, -0x9e8, 0xb4c, 0x9e8, 0xae8, 0x98f, 0xae8, 0x98f, 0xae8, 0x98f, 0xab6, 0x964, -0xab6, 0x964, 0xad4, 0x980, 0xad4, 0x980, 0xb8d, 0xa31, 0xb8d, 0xa31, 0xca2, -0xb37, 0xca2, 0xb37, 0xdb6, 0xc37, 0xdb6, 0xc37, 0xf42, 0xda9, 0xf42, 0xda9, -0xf42, 0xda9, 0x10c7, 0xf0f, 0x10c7, 0xf0f, 0x1205, 0x102b, 0x1205, 0x102b, 0x1309, -0x110d, 0x1309, 0x110d, 0x1426, 0x1208, 0x1426, 0x1208, 0x15a3, 0x1365, 0x15a3, 0x1365, -0x16df, 0x1486, 0x16df, 0x1486, 0x16df, 0x1486, 0x17dd, 0x156f, 0x17dd, 0x156f, 0x184d, -0x15d0, 0x184d, 0x15d0, 0x18d3, 0x1650, 0x18d3, 0x1650, 0x19d0, 0x1750, 0x19d0, 0x1750, -0x1abd, 0x184b, 0x1abd, 0x184b, 0x1abd, 0x184b, 0x1bab, 0x1950, 0x1bab, 0x1950, 0x1bb2, -0x197a, 0x1bb2, 0x197a, 0x1ad4, 0x18c7, 0x1ad4, 0x18c7, 0x19ad, 0x17d5, 0x19ad, 0x17d5, -0x1876, 0x16d9, 0x1876, 0x16d9, 0x16d5, 0x157a, 0x16d5, 0x157a, 0x16d5, 0x157a, 0x14fc, -0x13e7, 0x14fc, 0x13e7, 0x13b1, 0x12e4, 0x13b1, 0x12e4, 0x12bf, 0x123b, 0x12bf, 0x123b, -0x1278, 0x123b, 0x1278, 0x123b, 0x122b, 0x1231, 0x122b, 0x1231, 0x117c, 0x11c0, 0x117c, -0x11c0, 0x117c, 0x11c0, 0x1050, 0x10cc, 0x1050, 0x10cc, 0xe67, 0xf11, 0xe67, 0xf11, -0xcc0, 0xd8f, 0xcc0, 0xd8f, 0xb8b, 0xc75, 0xb8b, 0xc75, 0xab4, 0xbaf, 0xab4, -0xbaf, 0xab4, 0xbaf, 0x991, 0xa91, 0x991, 0xa91, 0x81e, 0x91c, 0x81e, 0x91c, -0x73a, 0x82a, 0x73a, 0x82a, 0x6d9, 0x7b5, 0x6d9, 0x7b5, 0x63f, 0x6ff, 0x63f, -0x6ff, 0x52c, 0x5cb, 0x52c, 0x5cb, 0x52c, 0x5cb, 0x419, 0x494, 0x419, 0x494, -0x2ff, 0x355, 0x2ff, 0x355, 0x1f8, 0x228, 0x1f8, 0x228, 0x180, 0x18d, 0x180, -0x18d, 0x181, 0x16e, 0x181, 0x16e, 0x13f, 0x110, 0x13f, 0x110, 0x13f, 0x110, -0x11c, 0xd7, 0x11c, 0xd7, 0xfd, 0xa8, 0xfd, 0xa8, 0x53, 0xfff6, 0x53, -0xfff6, 0xff38, 0xfed9, 0xff38, 0xfed9, 0xfe18, 0xfdbe, 0xfe18, 0xfdbe, 0xfe18, 0xfdbe, -0xfdc6, 0xfd77, 0xfdc6, 0xfd77, 0xfd99, 0xfd5c, 0xfd99, 0xfd5c, 0xfd19, 0xfcf2, 0xfd19, -0xfcf2, 0xfc91, 0xfc83, 0xfc91, 0xfc83, 0xfbf2, 0xfc00, 0xfbf2, 0xfc00, 0xfaeb, 0xfb15, -0xfaeb, 0xfb15, 0xfaeb, 0xfb15, 0xfa0c, 0xfa51, 0xfa0c, 0xfa51, 0xf936, 0xf996, 0xf936, -0xf996, 0xf811, 0xf889, 0xf811, 0xf889, 0xf786, 0xf812, 0xf786, 0xf812, 0xf6c6, 0xf762, -0xf6c6, 0xf762, 0xf596, 0xf63d, 0xf596, 0xf63d, 0xf596, 0xf63d, 0xf47e, 0xf52c, 0xf47e, -0xf52c, 0xf3fa, 0xf4a9, 0xf3fa, 0xf4a9, 0xf3f6, 0xf4a2, 0xf3f6, 0xf4a2, 0xf3e0, 0xf486, -0xf3e0, 0xf486, 0xf3c1, 0xf45e, 0xf3c1, 0xf45e, 0xf3c1, 0xf45e, 0xf320, 0xf3b1, 0xf320, -0xf3b1, 0xf2a2, 0xf328, 0xf2a2, 0xf328, 0xf2ed, 0xf368, 0xf2ed, 0xf368, 0xf36f, 0xf3e0, -0xf36f, 0xf3e0, 0xf37e, 0xf3ea, 0xf37e, 0xf3ea, 0xf343, 0xf3ac, 0xf343, 0xf3ac, 0xf343, -0xf3ac, 0xf337, 0xf3a3, 0xf337, 0xf3a3, 0xf356, 0xf3cb, 0xf356, 0xf3cb, 0xf380, 0xf404, -0xf380, 0xf404, 0xf34a, 0xf3e3, 0xf34a, 0xf3e3, 0xf290, 0xf345, 0xf290, 0xf345, 0xf1f0, -0xf2c6, 0xf1f0, 0xf2c6, 0xf1f0, 0xf2c6, 0xf15d, 0xf25a, 0xf15d, 0xf25a, 0xf074, 0xf19d, -0xf074, 0xf19d, 0xefac, 0xf103, 0xefac, 0xf103, 0xeedc, 0xf064, 0xeedc, 0xf064, 0xee60, -0xf019, 0xee60, 0xf019, 0xee60, 0xf019, 0xee4a, 0xf032, 0xee4a, 0xf032, 0xee13, 0xf02a, -0xee13, 0xf02a, 0xedc9, 0xf00a, 0xedc9, 0xf00a, 0xed2b, 0xef90, 0xed2b, 0xef90, 0xec62, -0xeee5, 0xec62, 0xeee5, 0xeb98, 0xee32, 0xeb98, 0xee32, 0xeb98, 0xee32, 0xead4, 0xed7d, -0xead4, 0xed7d, 0xea12, 0xecc1, 0xea12, 0xecc1, 0xe9e6, 0xec93, 0xe9e6, 0xec93, 0xea08, -0xeca9, 0xea08, 0xeca9, 0xea1c, 0xeca9, 0xea1c, 0xeca9, 0xeabb, 0xed2e, 0xeabb, 0xed2e, -0xeabb, 0xed2e, 0xeb87, 0xedd8, 0xeb87, 0xedd8, 0xec50, 0xee7a, 0xec50, 0xee7a, 0xed24, -0xef23, 0xed24, 0xef23, 0xee7c, 0xf04c, 0xee7c, 0xf04c, 0xf023, 0xf1c3, 0xf023, 0xf1c3, -0xf023, 0xf1c3, 0xf1d1, 0xf33f, 0xf1d1, 0xf33f, 0xf418, 0xf557, 0xf418, 0xf557, 0xf624, -0xf736, 0xf624, 0xf736, 0xf79e, 0xf886, 0xf79e, 0xf886, 0xf92e, 0xf9f0, 0xf92e, 0xf9f0, -0xfa91, 0xfb32, 0xfa91, 0xfb32, 0xfa91, 0xfb32, 0xfb71, 0xfbf7, 0xfb71, 0xfbf7, 0xfbe3, -0xfc53, 0xfbe3, 0xfc53, 0xfc26, 0xfc85, 0xfc26, 0xfc85, 0xfc11, 0xfc65, 0xfc11, 0xfc65, -0xfbb5, 0xfc03, 0xfbb5, 0xfc03, 0xfbce, 0xfc1a, 0xfbce, 0xfc1a, 0xfbce, 0xfc1a, 0xfc0b, -0xfc59, 0xfc0b, 0xfc59, 0xfbdc, 0xfc2f, 0xfbdc, 0xfc2f, 0xfbac, 0xfc07, 0xfbac, 0xfc07, -0xfb98, 0xfbfd, 0xfb98, 0xfbfd, 0xfb3a, 0xfba9, 0xfb3a, 0xfba9, 0xfb3a, 0xfba9, 0xfad9, -0xfb53, 0xfad9, 0xfb53, 0xfa63, 0xfae8, 0xfa63, 0xfae8, 0xf9f1, 0xfa80, 0xf9f1, 0xfa80, -0xfa31, 0xfacb, 0xfa31, 0xfacb, 0xfac9, 0xfb6d, 0xfac9, 0xfb6d, 0xfbb5, 0xfc63, 0xfbb5, -0xfc63, 0xfbb5, 0xfc63, 0xfc74, 0xfd2c, 0xfc74, 0xfd2c, 0xfce4, 0xfda6, 0xfce4, 0xfda6, -0xfd70, 0xfe3e, 0xfd70, 0xfe3e, 0xfda0, 0xfe7c, 0xfda0, 0xfe7c, 0xfd67, 0xfe52, 0xfd67, -0xfe52, 0xfce3, 0xfde1, 0xfce3, 0xfde1, 0xfce3, 0xfde1, 0xfc1b, 0xfd2f, 0xfc1b, 0xfd2f, -0xfb59, 0xfc87, 0xfb59, 0xfc87, 0xfab3, 0xfbff, 0xfab3, 0xfbff, 0xf99f, 0xfb0d, 0xf99f, -0xfb0d, 0xf87c, 0xfa11, 0xf87c, 0xfa11, 0xf87c, 0xfa11, 0xf7a7, 0xf966, 0xf7a7, 0xf966, -0xf70f, 0xf8fb, 0xf70f, 0xf8fb, 0xf5ff, 0xf81d, 0xf5ff, 0xf81d, 0xf49c, 0xf6ec, 0xf49c, -0xf6ec, 0xf3c6, 0xf649, 0xf3c6, 0xf649, 0xf2eb, 0xf5a1, 0xf2eb, 0xf5a1, 0xf2eb, 0xf5a1, -0xf1f2, 0xf4da, 0xf1f2, 0xf4da, 0xf0ac, 0xf3c2, 0xf0ac, 0xf3c2, 0xef95, 0xf2d6, 0xef95, -0xf2d6, 0xeed7, 0xf23d, 0xeed7, 0xf23d, 0xeec6, 0xf24c, 0xeec6, 0xf24c, 0xeec6, 0xf24c, -0xeef8, 0xf295, 0xeef8, 0xf295, 0xeecf, 0xf27c, 0xeecf, 0xf27c, 0xef25, 0xf2d9, 0xef25, -0xf2d9, 0xef2a, 0xf2db, 0xef2a, 0xf2db, 0xef80, 0xf325, 0xef80, 0xf325, 0xefec, 0xf37b, -0xefec, 0xf37b, 0xefec, 0xf37b, 0xefcc, 0xf33d, 0xefcc, 0xf33d, 0xefc1, 0xf30c, 0xefc1, -0xf30c, 0xf025, 0xf340, 0xf025, 0xf340, 0xf115, 0xf3fa, 0xf115, 0xf3fa, 0xf1f1, 0xf49c, -0xf1f1, 0xf49c, 0xf2a3, 0xf50d, 0xf2a3, 0xf50d, 0xf2a3, 0xf50d, 0xf2ea, 0xf510, 0xf2ea, -0xf510, 0xf3c2, 0xf5a2, 0xf3c2, 0xf5a2, 0xf4af, 0xf647, 0xf4af, 0xf647, 0xf5b8, 0xf708, -0xf5b8, 0xf708, 0xf79a, 0xf8a2, 0xf79a, 0xf8a2, 0xf79a, 0xf8a2, 0xf957, 0xfa19, 0xf957, -0xfa19, 0xfafd, 0xfb7b, 0xfafd, 0xfb7b, 0xfcec, 0xfd29, 0xfcec, 0xfd29, 0xff0c, 0xff0a, -0xff0c, 0xff0a, 0x75, 0x37, 0x75, 0x37, 0x227, 0x1b1, 0x227, 0x1b1, 0x227, -0x1b1, 0x422, 0x376, 0x422, 0x376, 0x5a2, 0x4c2, 0x5a2, 0x4c2, 0x6ff, 0x5ee, -0x6ff, 0x5ee, 0x85f, 0x71e, 0x85f, 0x71e, 0x9fe, 0x88f, 0x9fe, 0x88f, 0xb83, -0x9e7, 0xb83, 0x9e7, 0xb83, 0x9e7, 0xd47, 0xb80, 0xd47, 0xb80, 0xeb4, 0xcc2, -0xeb4, 0xcc2, 0xfe6, 0xdc9, 0xfe6, 0xdc9, 0x1106, 0xec1, 0x1106, 0xec1, 0x11c0, -0xf54, 0x11c0, 0xf54, 0x11c0, 0xf54, 0x1219, 0xf88, 0x1219, 0xf88, 0x1254, 0xfa0, -0x1254, 0xfa0, 0x12f5, 0x1022, 0x12f5, 0x1022, 0x1371, 0x1083, 0x1371, 0x1083, 0x1453, -0x1150, 0x1453, 0x1150, 0x155d, 0x124a, 0x155d, 0x124a, 0x155d, 0x124a, 0x15c1, 0x12a6, -0x15c1, 0x12a6, 0x157a, 0x125f, 0x157a, 0x125f, 0x1543, 0x1230, 0x1543, 0x1230, 0x15a8, -0x12a7, 0x15a8, 0x12a7, 0x1643, 0x135c, 0x1643, 0x135c, 0x1698, 0x13d6, 0x1698, 0x13d6, -0x1698, 0x13d6, 0x1657, 0x13c4, 0x1657, 0x13c4, 0x1572, 0x1316, 0x1572, 0x1316, 0x13f1, -0x11d6, 0x13f1, 0x11d6, 0x12c1, 0x10ed, 0x12c1, 0x10ed, 0x1131, 0xfac, 0x1131, 0xfac, -0x1131, 0xfac, 0xf1d, 0xdec, 0xf1d, 0xdec, 0xca7, 0xbce, 0xca7, 0xbce, 0xa28, -0x9a8, 0xa28, 0x9a8, 0x858, 0x833, 0x858, 0x833, 0x632, 0x665, 0x632, 0x665, -0x49e, 0x526, 0x49e, 0x526, 0x49e, 0x526, 0x321, 0x3fa, 0x321, 0x3fa, 0x187, -0x2aa, 0x187, 0x2aa, 0x3b, 0x1a1, 0x3b, 0x1a1, 0xfe4d, 0xffec, 0xfe4d, 0xffec, -0xfc34, 0xfe04, 0xfc34, 0xfe04, 0xfa2d, 0xfc24, 0xfa2d, 0xfc24, 0xfa2d, 0xfc24, 0xf873, -0xfa86, 0xf873, 0xfa86, 0xf6c8, 0xf8ed, 0xf6c8, 0xf8ed, 0xf580, 0xf7ad, 0xf580, 0xf7ad, -0xf4ca, 0xf6f6, 0xf4ca, 0xf6f6, 0xf49c, 0xf6bf, 0xf49c, 0xf6bf, 0xf49c, 0xf6bf, 0xf53f, -0xf751, 0xf53f, 0xf751, 0xf617, 0xf812, 0xf617, 0xf812, 0xf6cc, 0xf8ab, 0xf6cc, 0xf8ab, -0xf6ee, 0xf8ae, 0xf6ee, 0xf8ae, 0xf700, 0xf89e, 0xf700, 0xf89e, 0xf706, 0xf880, 0xf706, -0xf880, 0xf706, 0xf880, 0xf6f2, 0xf849, 0xf6f2, 0xf849, 0xf7d3, 0xf907, 0xf7d3, 0xf907, -0xf8f4, 0xfa06, 0xf8f4, 0xfa06, 0xf9eb, 0xfade, 0xf9eb, 0xfade, 0xfb01, 0xfbd6, 0xfb01, -0xfbd6, 0xfbfa, 0xfcb5, 0xfbfa, 0xfcb5, 0xfbfa, 0xfcb5, 0xfcdb, 0xfd7c, 0xfcdb, 0xfd7c, -0xfd64, 0xfdee, 0xfd64, 0xfdee, 0xfd87, 0xfdfa, 0xfd87, 0xfdfa, 0xfd5f, 0xfdbd, 0xfd5f, -0xfdbd, 0xfd4f, 0xfd97, 0xfd4f, 0xfd97, 0xfd4f, 0xfd97, 0xfdd8, 0xfe09, 0xfdd8, 0xfe09, -0xfe72, 0xfe8b, 0xfe72, 0xfe8b, 0xfed1, 0xfed0, 0xfed1, 0xfed0, 0xff89, 0xff6b, 0xff89, -0xff6b, 0x7b, 0x3c, 0x7b, 0x3c, 0x13a, 0xd8, 0x13a, 0xd8, 0x13a, 0xd8, -0x1ea, 0x161, 0x1ea, 0x161, 0x2b7, 0x205, 0x2b7, 0x205, 0x36e, 0x290, 0x36e, -0x290, 0x452, 0x348, 0x452, 0x348, 0x599, 0x460, 0x599, 0x460, 0x6d0, 0x56a, -0x6d0, 0x56a, 0x6d0, 0x56a, 0x7ee, 0x65d, 0x7ee, 0x65d, 0x8f4, 0x73d, 0x8f4, -0x73d, 0xa04, 0x82a, 0xa04, 0x82a, 0xb01, 0x909, 0xb01, 0x909, 0xbe8, 0x9dc, -0xbe8, 0x9dc, 0xbe8, 0x9dc, 0xcc9, 0xab0, 0xcc9, 0xab0, 0xd58, 0xb3b, 0xd58, -0xb3b, 0xdcb, 0xbb5, 0xdcb, 0xbb5, 0xe18, 0xc13, 0xe18, 0xc13, 0xe12, 0xc29, -0xe12, 0xc29, 0xda7, 0xbe4, 0xda7, 0xbe4, 0xda7, 0xbe4, 0xd02, 0xb6f, 0xd02, -0xb6f, 0xbd2, 0xa79, 0xbd2, 0xa79, 0x9c9, 0x8b1, 0x9c9, 0x8b1, 0x752, 0x681, -0x752, 0x681, 0x50d, 0x488, 0x50d, 0x488, 0x36c, 0x335, 0x36c, 0x335, 0x36c, -0x335, 0x17c, 0x195, 0x17c, 0x195, 0xff3d, 0xffa4, 0xff3d, 0xffa4, 0xfd01, 0xfdb4, -0xfd01, 0xfdb4, 0xfaf6, 0xfbef, 0xfaf6, 0xfbef, 0xf9d0, 0xfb08, 0xf9d0, 0xfb08, 0xf9d0, -0xfb08, 0xf8b9, 0xfa28, 0xf8b9, 0xfa28, 0xf732, 0xf8cf, 0xf732, 0xf8cf, 0xf53a, 0xf6f9, -0xf53a, 0xf6f9, 0xf329, 0xf4ff, 0xf329, 0xf4ff, 0xf20a, 0xf3ec, 0xf20a, 0xf3ec, 0xf176, -0xf357, 0xf176, 0xf357, 0xf176, 0xf357, 0xf0fa, 0xf2cf, 0xf0fa, 0xf2cf, 0xf0fa, 0xf2b7, -0xf0fa, 0xf2b7, 0xf155, 0xf2f2, 0xf155, 0xf2f2, 0xf23c, 0xf3ae, 0xf23c, 0xf3ae, 0xf328, -0xf469, 0xf328, 0xf469, 0xf39c, 0xf4a4, 0xf39c, 0xf4a4, 0xf39c, 0xf4a4, 0xf417, 0xf4e2, -0xf417, 0xf4e2, 0xf495, 0xf520, 0xf495, 0xf520, 0xf5ce, 0xf615, 0xf5ce, 0xf615, 0xf7b7, -0xf7bb, 0xf7b7, 0xf7bb, 0xf95f, 0xf920, 0xf95f, 0xf920, 0xf95f, 0xf920, 0xfb12, 0xfa90, -0xfb12, 0xfa90, 0xfce0, 0xfc1f, 0xfce0, 0xfc1f, 0xfec4, 0xfdc6, 0xfec4, 0xfdc6, 0xca, -0xff91, 0xca, 0xff91, 0x22c, 0xbc, 0x22c, 0xbc, 0x371, 0x1cb, 0x371, 0x1cb, -0x371, 0x1cb, 0x545, 0x36d, 0x545, 0x36d, 0x695, 0x48d, 0x695, 0x48d, 0x7af, -0x577, 0x7af, 0x577, 0x8df, 0x67a, 0x8df, 0x67a, 0x98b, 0x6f7, 0x98b, 0x6f7, -0x98b, 0x6f7, 0xa95, 0x7d4, 0xa95, 0x7d4, 0xc2b, 0x93a, 0xc2b, 0x93a, 0xd73, -0xa52, 0xd73, 0xa52, 0xe85, 0xb33, 0xe85, 0xb33, 0xfc5, 0xc40, 0xfc5, 0xc40, -0x1136, 0xd7d, 0x1136, 0xd7d, 0x1136, 0xd7d, 0x12f4, 0xf06, 0x12f4, 0xf06, 0x1555, -0x1134, 0x1555, 0x1134, 0x17d2, 0x137e, 0x17d2, 0x137e, 0x1a5d, 0x15d7, 0x1a5d, 0x15d7, -0x1d4f, 0x189c, 0x1d4f, 0x189c, 0x1f9e, 0x1ac1, 0x1f9e, 0x1ac1, 0x1f9e, 0x1ac1, 0x210c, -0x1c0d, 0x210c, 0x1c0d, 0x21e6, 0x1ccb, 0x21e6, 0x1ccb, 0x22b9, 0x1d8a, 0x22b9, 0x1d8a, -0x23d9, 0x1ea0, 0x23d9, 0x1ea0, 0x24ae, 0x1f76, 0x24ae, 0x1f76, 0x24ae, 0x1f76, 0x2523, -0x1ff6, 0x2523, 0x1ff6, 0x24ed, 0x1fd8, 0x24ed, 0x1fd8, 0x24a8, 0x1fb6, 0x24a8, 0x1fb6, -0x24ac, 0x1fea, 0x24ac, 0x1fea, 0x2421, 0x1f9a, 0x2421, 0x1f9a, 0x22d7, 0x1e96, 0x22d7, -0x1e96, 0x22d7, 0x1e96, 0x211d, 0x1d2c, 0x211d, 0x1d2c, 0x1f2b, 0x1b92, 0x1f2b, 0x1b92, -0x1d11, 0x19d7, 0x1d11, 0x19d7, 0x1ae9, 0x1815, 0x1ae9, 0x1815, 0x188f, 0x1624, 0x188f, -0x1624, 0x168d, 0x148e, 0x168d, 0x148e, 0x168d, 0x148e, 0x154c, 0x13b9, 0x154c, 0x13b9, -0x148e, 0x1364, 0x148e, 0x1364, 0x1400, 0x133d, 0x1400, 0x133d, 0x12c5, 0x1265, 0x12c5, -0x1265, 0x10bd, 0x10b8, 0x10bd, 0x10b8, 0x10bd, 0x10b8, 0xe30, 0xe80, 0xe30, 0xe80, -0xb5b, 0xbf8, 0xb5b, 0xbf8, 0x880, 0x960, 0x880, 0x960, 0x582, 0x69b, 0x582, -0x69b, 0x29c, 0x3e5, 0x29c, 0x3e5, 0xffea, 0x159, 0xffea, 0x159, 0xffea, 0x159, -0xfdc5, 0xff51, 0xfdc5, 0xff51, 0xfbf3, 0xfd93, 0xfbf3, 0xfd93, 0xf9c3, 0xfb6e, 0xf9c3, -0xfb6e, 0xf81d, 0xf9cd, 0xf81d, 0xf9cd, 0xf69c, 0xf84a, 0xf69c, 0xf84a, 0xf580, 0xf725, -0xf580, 0xf725, 0xf580, 0xf725, 0xf55f, 0xf6f7, 0xf55f, 0xf6f7, 0xf4f5, 0xf67c, 0xf4f5, -0xf67c, 0xf48a, 0xf5fd, 0xf48a, 0xf5fd, 0xf41c, 0xf578, 0xf41c, 0xf578, 0xf40d, 0xf54f, -0xf40d, 0xf54f, 0xf40d, 0xf54f, 0xf45a, 0xf581, 0xf45a, 0xf581, 0xf484, 0xf58e, 0xf484, -0xf58e, 0xf4fe, 0xf5ea, 0xf4fe, 0xf5ea, 0xf5aa, 0xf678, 0xf5aa, 0xf678, 0xf682, 0xf72f, -0xf682, 0xf72f, 0xf7a4, 0xf830, 0xf7a4, 0xf830, 0xf7a4, 0xf830, 0xf926, 0xf98f, 0xf926, -0xf98f, 0xf968, 0xf9ad, 0xf968, 0xf9ad, 0xf927, 0xf944, 0xf927, 0xf944, 0xf92f, 0xf925, -0xf92f, 0xf925, 0xf8b2, 0xf87e, 0xf8b2, 0xf87e, 0xf870, 0xf811, 0xf870, 0xf811, 0xf870, -0xf811, 0xf80e, 0xf782, 0xf80e, 0xf782, 0xf820, 0xf767, 0xf820, 0xf767, 0xf831, 0xf74b, -0xf831, 0xf74b, 0xf870, 0xf75e, 0xf870, 0xf75e, 0xf985, 0xf847, 0xf985, 0xf847, 0xf985, -0xf847, 0xfaa9, 0xf942, 0xfaa9, 0xf942, 0xfbf8, 0xfa6a, 0xfbf8, 0xfa6a, 0xfd01, 0xfb51, -0xfd01, 0xfb51, 0xfe37, 0xfc6a, 0xfe37, 0xfc6a, 0xff2f, 0xfd4c, 0xff2f, 0xfd4c, 0xfffa, -0xfe07, 0xfffa, 0xfe07, 0xfffa, 0xfe07, 0x11b, 0xff21, 0x11b, 0xff21, 0x217, 0x1e, -0x217, 0x1e, 0x30f, 0x121, 0x30f, 0x121, 0x3a3, 0x1c8, 0x3a3, 0x1c8, 0x3b4, -0x1f7, 0x3b4, 0x1f7, 0x3d8, 0x243, 0x3d8, 0x243, 0x3d8, 0x243, 0x46f, 0x30a, -0x46f, 0x30a, 0x49e, 0x373, 0x49e, 0x373, 0x408, 0x31e, 0x408, 0x31e, 0x2c7, -0x225, 0x2c7, 0x225, 0xd5, 0x81, 0xd5, 0x81, 0xd5, 0x81, 0xfe7e, 0xfe7e, -0xfe7e, 0xfe7e, 0xfc2f, 0xfc85, 0xfc2f, 0xfc85, 0xfa45, 0xfaf4, 0xfa45, 0xfaf4, 0xf854, -0xf95c, 0xf854, 0xf95c, 0xf6a8, 0xf809, 0xf6a8, 0xf809, 0xf5da, 0xf793, 0xf5da, 0xf793, -0xf5da, 0xf793, 0xf52f, 0xf73d, 0xf52f, 0xf73d, 0xf3de, 0xf63e, 0xf3de, 0xf63e, 0xf28c, -0xf538, 0xf28c, 0xf538, 0xf10a, 0xf3fe, 0xf10a, 0xf3fe, 0xef6d, 0xf2a4, 0xef6d, 0xf2a4, -0xee38, 0xf1ab, 0xee38, 0xf1ab, 0xee38, 0xf1ab, 0xeceb, 0xf095, 0xeceb, 0xf095, 0xebf4, -0xefcf, 0xebf4, 0xefcf, 0xeb57, 0xef5c, 0xeb57, 0xef5c, 0xeb35, 0xef5e, 0xeb35, 0xef5e, -0xeae8, 0xef2f, 0xeae8, 0xef2f, 0xeae8, 0xef2f, 0xe9e6, 0xee46, 0xe9e6, 0xee46, 0xe8ad, -0xed22, 0xe8ad, 0xed22, 0xe7da, 0xec5e, 0xe7da, 0xec5e, 0xe877, 0xed05, 0xe877, 0xed05, -0xe970, 0xee04, 0xe970, 0xee04, 0xe9b8, 0xee4c, 0xe9b8, 0xee4c, 0xe9b8, 0xee4c, 0xe9a3, -0xee35, 0xe9a3, 0xee35, 0xea0c, 0xee96, 0xea0c, 0xee96, 0xeac0, 0xef3e, 0xeac0, 0xef3e, -0xeae2, 0xef4f, 0xeae2, 0xef4f, 0xeaa5, 0xeefc, 0xeaa5, 0xeefc, 0xea1d, 0xee59, 0xea1d, -0xee59, 0xea1d, 0xee59, 0xe9b7, 0xedd3, 0xe9b7, 0xedd3, 0xe9be, 0xedb5, 0xe9be, 0xedb5, -0xea09, 0xedd4, 0xea09, 0xedd4, 0xe9da, 0xed75, 0xe9da, 0xed75, 0xe99e, 0xed04, 0xe99e, -0xed04, 0xe99e, 0xed04, 0xea64, 0xed8f, 0xea64, 0xed8f, 0xebd7, 0xeec3, 0xebd7, 0xeec3, -0xed15, 0xefbe, 0xed15, 0xefbe, 0xedc9, 0xf02b, 0xedc9, 0xf02b, 0xeebe, 0xf0d8, 0xeebe, -0xf0d8, 0xefb0, 0xf17e, 0xefb0, 0xf17e, 0xefb0, 0xf17e, 0xf0ad, 0xf231, 0xf0ad, 0xf231, -0xf1f9, 0xf332, 0xf1f9, 0xf332, 0xf2f8, 0xf3ea, 0xf2f8, 0xf3ea, 0xf42c, 0xf4d8, 0xf42c, -0xf4d8, 0xf5df, 0xf64b, 0xf5df, 0xf64b, 0xf748, 0xf77a, 0xf748, 0xf77a, 0xf748, 0xf77a, -0xf845, 0xf843, 0xf845, 0xf843, 0xf96b, 0xf93d, 0xf96b, 0xf93d, 0xfa4b, 0xf9f9, 0xfa4b, -0xf9f9, 0xfb08, 0xfa9c, 0xfb08, 0xfa9c, 0xfbde, 0xfb61, 0xfbde, 0xfb61, 0xfbde, 0xfb61, -0xfc25, 0xfba2, 0xfc25, 0xfba2, 0xfc05, 0xfb84, 0xfc05, 0xfb84, 0xfc49, 0xfbd5, 0xfc49, -0xfbd5, 0xfcc9, 0xfc6a, 0xfcc9, 0xfc6a, 0xfd33, 0xfcf0, 0xfd33, 0xfcf0, 0xfe14, 0xfdf5, -0xfe14, 0xfdf5, 0xfe14, 0xfdf5, 0xfe6b, 0xfe75, 0xfe6b, 0xfe75, 0xfe35, 0xfe6d, 0xfe35, -0xfe6d, 0xfdf8, 0xfe62, 0xfdf8, 0xfe62, 0xfd23, 0xfdbf, 0xfd23, 0xfdbf, 0xfc44, 0xfd13, -0xfc44, 0xfd13, 0xfc44, 0xfd13, 0xfb40, 0xfc41, 0xfb40, 0xfc41, 0xfa52, 0xfb82, 0xfa52, -0xfb82, 0xfa06, 0xfb62, 0xfa06, 0xfb62, 0xf9e6, 0xfb6a, 0xf9e6, 0xfb6a, 0xf95b, 0xfb01, -0xf95b, 0xfb01, 0xf84f, 0xfa10, 0xf84f, 0xfa10, 0xf84f, 0xfa10, 0xf72b, 0xf903, 0xf72b, -0xf903, 0xf617, 0xf7ff, 0xf617, 0xf7ff, 0xf595, 0xf785, 0xf595, 0xf785, 0xf55a, 0xf74e, -0xf55a, 0xf74e, 0xf4ed, 0xf6de, 0xf4ed, 0xf6de, 0xf508, 0xf6f1, 0xf508, 0xf6f1, 0xf508, -0xf6f1, 0xf58a, 0xf768, 0xf58a, 0xf768, 0xf5ea, 0xf7b9, 0xf5ea, 0xf7b9, 0xf60c, 0xf7c7, -0xf60c, 0xf7c7, 0xf5ef, 0xf796, 0xf5ef, 0xf796, 0xf5ea, 0xf77b, 0xf5ea, 0xf77b, 0xf5ea, -0xf77b, 0xf648, 0xf7c3, 0xf648, 0xf7c3, 0xf782, 0xf8e6, 0xf782, 0xf8e6, 0xf8dd, 0xfa29, -0xf8dd, 0xfa29, 0xf9dc, 0xfb11, 0xf9dc, 0xfb11, 0xfadd, 0xfbfb, 0xfadd, 0xfbfb, 0xfba5, -0xfcac, 0xfba5, 0xfcac, 0xfba5, 0xfcac, 0xfc4c, 0xfd3b, 0xfc4c, 0xfd3b, 0xfc3a, 0xfd11, -0xfc3a, 0xfd11, 0xfbfb, 0xfcb7, 0xfbfb, 0xfcb7, 0xfbdd, 0xfc7c, 0xfbdd, 0xfc7c, 0xfba7, -0xfc27, 0xfba7, 0xfc27, 0xfc3d, 0xfc9a, 0xfc3d, 0xfc9a, 0xfc3d, 0xfc9a, 0xfc7d, 0xfcb2, -0xfc7d, 0xfcb2, 0xfc69, 0xfc71, 0xfc69, 0xfc71, 0xfd2e, 0xfd04, 0xfd2e, 0xfd04, 0xfe88, -0xfe26, 0xfe88, 0xfe26, 0xffbc, 0xff1d, 0xffbc, 0xff1d, 0xffbc, 0xff1d, 0xd4, 0xfff2, -0xd4, 0xfff2, 0x272, 0x149, 0x272, 0x149, 0x3fc, 0x287, 0x3fc, 0x287, 0x537, -0x372, 0x537, 0x372, 0x6ae, 0x498, 0x6ae, 0x498, 0x8a9, 0x640, 0x8a9, 0x640, -0x8a9, 0x640, 0xab5, 0x7fa, 0xab5, 0x7fa, 0xcff, 0x9f4, 0xcff, 0x9f4, 0xf97, -0xc41, 0xf97, 0xc41, 0x1168, 0xdcd, 0x1168, 0xdcd, 0x12dc, 0xf02, 0x12dc, 0xf02, -0x1466, 0x1057, 0x1466, 0x1057, 0x1466, 0x1057, 0x158f, 0x1155, 0x158f, 0x1155, 0x1679, -0x1220, 0x1679, 0x1220, 0x174e, 0x12e2, 0x174e, 0x12e2, 0x1794, 0x1322, 0x1794, 0x1322, -0x1732, 0x12c8, 0x1732, 0x12c8, 0x1732, 0x12c8, 0x169e, 0x1249, 0x169e, 0x1249, 0x1696, -0x1262, 0x1696, 0x1262, 0x16d1, 0x12cc, 0x16d1, 0x12cc, 0x167d, 0x12b0, 0x167d, 0x12b0, -0x15d1, 0x1247, 0x15d1, 0x1247, 0x1481, 0x1142, 0x1481, 0x1142, 0x1481, 0x1142, 0x1321, -0x1033, 0x1321, 0x1033, 0x123f, 0xfa8, 0x123f, 0xfa8, 0x1145, 0xf05, 0x1145, 0xf05, -0x1061, 0xe7a, 0x1061, 0xe7a, 0x1039, 0xeaa, 0x1039, 0xeaa, 0x1084, 0xf4a, 0x1084, -0xf4a, 0x1084, 0xf4a, 0x1044, 0xf5a, 0x1044, 0xf5a, 0xf81, 0xee1, 0xf81, 0xee1, -0xdfd, 0xda0, 0xdfd, 0xda0, 0xbc8, 0xba7, 0xbc8, 0xba7, 0x9f9, 0xa0b, 0x9f9, -0xa0b, 0x9f9, 0xa0b, 0x8c4, 0x902, 0x8c4, 0x902, 0x74c, 0x7ad, 0x74c, 0x7ad, -0x5c9, 0x646, 0x5c9, 0x646, 0x521, 0x5b4, 0x521, 0x5b4, 0x4ac, 0x54e, 0x4ac, -0x54e, 0x415, 0x4c2, 0x415, 0x4c2, 0x415, 0x4c2, 0x2e7, 0x39c, 0x2e7, 0x39c, -0x18f, 0x24a, 0x18f, 0x24a, 0xee, 0x1ae, 0xee, 0x1ae, 0x51, 0x116, 0x51, -0x116, 0x46, 0x110, 0x46, 0x110, 0x24, 0xf6, 0x24, 0xf6, 0x24, 0xf6, -0xffc1, 0x9f, 0xffc1, 0x9f, 0x3b, 0x127, 0x3b, 0x127, 0x79, 0x177, 0x79, -0x177, 0x6c, 0x17f, 0x6c, 0x17f, 0x20, 0x14a, 0x20, 0x14a, 0x20, 0x14a, -0xff4a, 0x8c, 0xff4a, 0x8c, 0xfe04, 0xff61, 0xfe04, 0xff61, 0xfcc8, 0xfe3f, 0xfcc8, -0xfe3f, 0xfb7e, 0xfd0e, 0xfb7e, 0xfd0e, 0xf95c, 0xfb03, 0xf95c, 0xfb03, 0xf7ea, 0xf9a3, -0xf7ea, 0xf9a3, 0xf7ea, 0xf9a3, 0xf740, 0xf907, 0xf740, 0xf907, 0xf67d, 0xf84c, 0xf67d, -0xf84c, 0xf5cc, 0xf79b, 0xf5cc, 0xf79b, 0xf505, 0xf6ce, 0xf505, 0xf6ce, 0xf431, 0xf5ea, -0xf431, 0xf5ea, 0xf344, 0xf4e5, 0xf344, 0xf4e5, 0xf344, 0xf4e5, 0xf330, 0xf4b2, 0xf330, -0xf4b2, 0xf3c4, 0xf51e, 0xf3c4, 0xf51e, 0xf421, 0xf54d, 0xf421, 0xf54d, 0xf4d4, 0xf5ca, -0xf4d4, 0xf5ca, 0xf5a4, 0xf661, 0xf5a4, 0xf661, 0xf5a4, 0xf661, 0xf647, 0xf6c7, 0xf647, -0xf6c7, 0xf6df, 0xf71f, 0xf6df, 0xf71f, 0xf7ab, 0xf7ac, 0xf7ab, 0xf7ac, 0xf91f, 0xf8e3, -0xf91f, 0xf8e3, 0xfad1, 0xfa5a, 0xfad1, 0xfa5a, 0xfcf1, 0xfc44, 0xfcf1, 0xfc44, 0xfcf1, -0xfc44, 0xff15, 0xfe39, 0xff15, 0xfe39, 0x77, 0xff73, 0x77, 0xff73, 0x1a8, 0x85, -0x1a8, 0x85, 0x263, 0x129, 0x263, 0x129, 0x2a2, 0x15b, 0x2a2, 0x15b, 0x218, -0xcc, 0x218, 0xcc, 0x218, 0xcc, 0x111, 0xffca, 0x111, 0xffca, 0xfff3, 0xfeba, -0xfff3, 0xfeba, 0xfe41, 0xfd1d, 0xfe41, 0xfd1d, 0xfce2, 0xfbd8, 0xfce2, 0xfbd8, 0xfb39, -0xfa4f, 0xfb39, 0xfa4f, 0xfb39, 0xfa4f, 0xf9a8, 0xf8e0, 0xf9a8, 0xf8e0, 0xf921, 0xf87d, -0xf921, 0xf87d, 0xf8c4, 0xf844, 0xf8c4, 0xf844, 0xf8f4, 0xf896, 0xf8f4, 0xf896, 0xf8dc, -0xf89c, 0xf8dc, 0xf89c, 0xf81d, 0xf7f7, 0xf81d, 0xf7f7, 0xf81d, 0xf7f7, 0xf7a2, 0xf78f, -0xf7a2, 0xf78f, 0xf77a, 0xf774, 0xf77a, 0xf774, 0xf7d4, 0xf7d3, 0xf7d4, 0xf7d3, 0xf812, -0xf80e, 0xf812, 0xf80e, 0xf874, 0xf865, 0xf874, 0xf865, 0xf994, 0xf972, 0xf994, 0xf972, -0xf994, 0xf972, 0xfb5d, 0xfb21, 0xfb5d, 0xfb21, 0xfd16, 0xfcba, 0xfd16, 0xfcba, 0xfe1c, -0xfd9a, 0xfe1c, 0xfd9a, 0xff37, 0xfe8c, 0xff37, 0xfe8c, 0x3a, 0xff62, 0x3a, 0xff62, -0x3a, 0xff62, 0x11c, 0x16, 0x11c, 0x16, 0x293, 0x160, 0x293, 0x160, 0x40e, -0x2ae, 0x40e, 0x2ae, 0x50e, 0x384, 0x50e, 0x384, 0x659, 0x4a8, 0x659, 0x4a8, -0x7a5, 0x5d2, 0x7a5, 0x5d2, 0x7a5, 0x5d2, 0x896, 0x6a7, 0x896, 0x6a7, 0x974, -0x76e, 0x974, 0x76e, 0xa6c, 0x855, 0xa6c, 0x855, 0xba0, 0x97e, 0xba0, 0x97e, -0xc65, 0xa3c, 0xc65, 0xa3c, 0xc65, 0xa3c, 0xd26, 0xafc, 0xd26, 0xafc, 0xdbe, -0xb96, 0xdbe, 0xb96, 0xddb, 0xbb9, 0xddb, 0xbb9, 0xdff, 0xbe5, 0xdff, 0xbe5, -0xe93, 0xc82, 0xe93, 0xc82, 0xedb, 0xcd4, 0xedb, 0xcd4, 0xedb, 0xcd4, 0xf38, -0xd39, 0xf38, 0xd39, 0x1044, 0xe4c, 0x1044, 0xe4c, 0x1057, 0xe64, 0x1057, 0xe64, -0x10da, 0xee9, 0x10da, 0xee9, 0x11b1, 0xfbe, 0x11b1, 0xfbe, 0x12a2, 0x10aa, 0x12a2, -0x10aa, 0x12a2, 0x10aa, 0x13bb, 0x11bc, 0x13bb, 0x11bc, 0x1483, 0x1278, 0x1483, 0x1278, -0x15e8, 0x13d0, 0x15e8, 0x13d0, 0x168c, 0x1465, 0x168c, 0x1465, 0x1710, 0x14d9, 0x1710, -0x14d9, 0x1710, 0x14d9, 0x17a8, 0x1561, 0x17a8, 0x1561, 0x181f, 0x15c8, 0x181f, 0x15c8, -0x1871, 0x160d, 0x1871, 0x160d, 0x18f1, 0x1682, 0x18f1, 0x1682, 0x197c, 0x1706, 0x197c, -0x1706, 0x192c, 0x16b4, 0x192c, 0x16b4, 0x192c, 0x16b4, 0x1950, 0x16db, 0x1950, 0x16db, -0x1945, 0x16d8, 0x1945, 0x16d8, 0x18f1, 0x1692, 0x18f1, 0x1692, 0x1887, 0x163b, 0x1887, -0x163b, 0x1807, 0x15d3, 0x1807, 0x15d3, 0x177e, 0x1568, 0x177e, 0x1568, 0x177e, 0x1568, -0x1694, 0x149f, 0x1694, 0x149f, 0x1598, 0x13c9, 0x1598, 0x13c9, 0x141e, 0x1276, 0x141e, -0x1276, 0x12e9, 0x116a, 0x12e9, 0x116a, 0x12ab, 0x1154, 0x12ab, 0x1154, 0x12ab, 0x1154, -0x1270, 0x1141, 0x1270, 0x1141, 0x121e, 0x1115, 0x121e, 0x1115, 0x11c4, 0x10de, 0x11c4, -0x10de, 0x10b5, 0xfee, 0x10b5, 0xfee, 0xf5a, 0xead, 0xf5a, 0xead, 0xda6, 0xd0e, -0xda6, 0xd0e, 0xda6, 0xd0e, 0xc0f, 0xb87, 0xc0f, 0xb87, 0xa7a, 0x9fd, 0xa7a, -0x9fd, 0x8fe, 0x885, 0x8fe, 0x885, 0x7d1, 0x758, 0x7d1, 0x758, 0x695, 0x616, -0x695, 0x616, 0x640, 0x5b8, 0x640, 0x5b8, 0x640, 0x5b8, 0x5bb, 0x527, 0x5bb, -0x527, 0x547, 0x4a4, 0x547, 0x4a4, 0x543, 0x48f, 0x543, 0x48f, 0x528, 0x464, -0x528, 0x464, 0x56b, 0x497, 0x56b, 0x497, 0x56b, 0x497, 0x592, 0x4b0, 0x592, -0x4b0, 0x540, 0x451, 0x540, 0x451, 0x50a, 0x412, 0x50a, 0x412, 0x51c, 0x41d, -0x51c, 0x41d, 0x4fd, 0x3fb, 0x4fd, 0x3fb, 0x4e3, 0x3e3, 0x4e3, 0x3e3, 0x4e3, -0x3e3, 0x459, 0x35d, 0x459, 0x35d, 0x373, 0x27f, 0x373, 0x27f, 0x337, 0x24e, -0x337, 0x24e, 0x371, 0x297, 0x371, 0x297, 0x253, 0x18a, 0x253, 0x18a, 0x24b, -0x194, 0x24b, 0x194, 0x24b, 0x194, 0x1fb, 0x157, 0x1fb, 0x157, 0xbb, 0x2b, -0xbb, 0x2b, 0x192, 0x117, 0x192, 0x117, 0x2a, 0xffc3, 0x2a, 0xffc3, 0xff22, -0xfece, 0xff22, 0xfece, 0xff22, 0xfece, 0xfe5a, 0xfe18, 0xfe5a, 0xfe18, 0xfd4e, 0xfd1f, -0xfd4e, 0xfd1f, 0xfdca, 0xfdab, 0xfdca, 0xfdab, 0xfd4d, 0xfd3f, 0xfd4d, 0xfd3f, 0xfe09, -0xfe0d, 0xfe09, 0xfe0d, 0xfe9a, 0xfeb0, 0xfe9a, 0xfeb0, 0xfe9a, 0xfeb0, 0xfeb3, 0xfedc, -0xfeb3, 0xfedc, 0xfdcc, 0xfe0a, 0xfdcc, 0xfe0a, 0xfd05, 0xfd5b, 0xfd05, 0xfd5b, 0xfc74, -0xfce4, 0xfc74, 0xfce4, 0xfb0a, 0xfb99, 0xfb0a, 0xfb99, 0xfb35, 0xfbe6, 0xfb35, 0xfbe6, -0xfb35, 0xfbe6, 0xfa34, 0xfb0c, 0xfa34, 0xfb0c, 0xf899, 0xf99c, 0xf899, 0xf99c, 0xf71f, -0xf852, 0xf71f, 0xf852, 0xf61e, 0xf784, 0xf61e, 0xf784, 0xf5c9, 0xf768, 0xf5c9, 0xf768, -0xf5c9, 0xf768, 0xf40e, 0xf5e6, 0xf40e, 0xf5e6, 0xf299, 0xf4af, 0xf299, 0xf4af, 0xf0e8, -0xf33b, 0xf0e8, 0xf33b, 0xeeeb, 0xf17c, 0xeeeb, 0xf17c, 0xed14, 0xefe0, 0xed14, 0xefe0, -0xea91, 0xed97, 0xea91, 0xed97, 0xea91, 0xed97, 0xe963, 0xec9f, 0xe963, 0xec9f, 0xe7ff, -0xeb6a, 0xe7ff, 0xeb6a, 0xe77f, 0xeb14, 0xe77f, 0xeb14, 0xe82f, 0xebe6, 0xe82f, 0xebe6, -0xe778, 0xeb48, 0xe778, 0xeb48, 0xe7d2, 0xebb4, 0xe7d2, 0xebb4, 0xe7d2, 0xebb4, 0xe74c, -0xeb35, 0xe74c, 0xeb35, 0xe736, 0xeb1d, 0xe736, 0xeb1d, 0xe726, 0xeb02, 0xe726, 0xeb02, -0xe5de, 0xe9a6, 0xe5de, 0xe9a6, 0xe5bd, 0xe96a, 0xe5bd, 0xe96a, 0xe5bd, 0xe96a, 0xe52e, -0xe8b9, 0xe52e, 0xe8b9, 0xe52a, 0xe88c, 0xe52a, 0xe88c, 0xe50c, 0xe840, 0xe50c, 0xe840, -0xe579, 0xe87c, 0xe579, 0xe87c, 0xe58b, 0xe85c, 0xe58b, 0xe85c, 0xe644, 0xe8e1, 0xe644, -0xe8e1, 0xe644, 0xe8e1, 0xe817, 0xea81, 0xe817, 0xea81, 0xe9a1, 0xebdb, 0xe9a1, 0xebdb, -0xec3d, 0xee48, 0xec3d, 0xee48, 0xed7f, 0xef60, 0xed7f, 0xef60, 0xef6a, 0xf124, 0xef6a, -0xf124, 0xf1e6, 0xf37f, 0xf1e6, 0xf37f, 0xf1e6, 0xf37f, 0xf426, 0xf5a2, 0xf426, 0xf5a2, -0xf63d, 0xf7a0, 0xf63d, 0xf7a0, 0xf786, 0xf8d5, 0xf786, 0xf8d5, 0xf889, 0xf9c8, 0xf889, -0xf9c8, 0xf905, 0xfa37, 0xf905, 0xfa37, 0xf905, 0xfa37, 0xf963, 0xfa8a, 0xf963, 0xfa8a, -0xf9a1, 0xfabf, 0xf9a1, 0xfabf, 0xf9b0, 0xfac5, 0xf9b0, 0xfac5, 0xf926, 0xfa32, 0xf926, -0xfa32, 0xfa9b, 0xfb9d, 0xfa9b, 0xfb9d, 0xfb05, 0xfbfb, 0xfb05, 0xfbfb, 0xfb05, 0xfbfb, -0xfab6, 0xfb9e, 0xfab6, 0xfb9e, 0xfae8, 0xfbc1, 0xfae8, 0xfbc1, 0xf9e1, 0xfaa9, 0xf9e1, -0xfaa9, 0xfa91, 0xfb45, 0xfa91, 0xfb45, 0xfa97, 0xfb36, 0xfa97, 0xfb36, 0xfaf0, 0xfb7a, -0xfaf0, 0xfb7a, 0xfaf0, 0xfb7a, 0xfbf3, 0xfc69, 0xfbf3, 0xfc69, 0xfcaf, 0xfd12, 0xfcaf, -0xfd12, 0xfdb7, 0xfe0a, 0xfdb7, 0xfe0a, 0xff5a, 0xffa2, 0xff5a, 0xffa2, 0x47, 0x89, -0x47, 0x89, 0x47, 0x89, 0xffc5, 0x7, 0xffc5, 0x7, 0x41, 0x8c, 0x41, -0x8c, 0xffe0, 0x3c, 0xffe0, 0x3c, 0xd, 0x84, 0xd, 0x84, 0xffac, 0x48, -0xffac, 0x48, 0xfe40, 0xff0b, 0xfe40, 0xff0b, 0xfe40, 0xff0b, 0xfce5, 0xfde8, 0xfce5, -0xfde8, 0xfb36, 0xfc79, 0xfb36, 0xfc79, 0xfa81, 0xfc0e, 0xfa81, 0xfc0e, 0xf8f9, 0xfad6, -0xf8f9, 0xfad6, 0xf788, 0xf9b9, 0xf788, 0xf9b9, 0xf788, 0xf9b9, 0xf55f, 0xf7e7, 0xf55f, -0xf7e7, 0xf2b2, 0xf593, 0xf2b2, 0xf593, 0xf112, 0xf44a, 0xf112, 0xf44a, 0xeebd, 0xf249, -0xeebd, 0xf249, 0xecab, 0xf085, 0xecab, 0xf085, 0xeae5, 0xef04, 0xeae5, 0xef04, 0xeae5, -0xef04, 0xe8e8, 0xed42, 0xe8e8, 0xed42, 0xe86f, 0xecf9, 0xe86f, 0xecf9, 0xe7ab, 0xec58, -0xe7ab, 0xec58, 0xe677, 0xeb38, 0xe677, 0xeb38, 0xe647, 0xeb0e, 0xe647, 0xeb0e, 0xe631, -0xeaee, 0xe631, 0xeaee, 0xe631, 0xeaee, 0xe6fc, 0xeb9f, 0xe6fc, 0xeb9f, 0xe79b, 0xec16, -0xe79b, 0xec16, 0xe83d, 0xec83, 0xe83d, 0xec83, 0xe8e1, 0xece4, 0xe8e1, 0xece4, 0xe9bb, -0xed71, 0xe9bb, 0xed71, 0xe9bb, 0xed71, 0xeb40, 0xeea1, 0xeb40, 0xeea1, 0xecdd, 0xefe1, -0xecdd, 0xefe1, 0xee46, 0xf0e8, 0xee46, 0xf0e8, 0xeef3, 0xf130, 0xeef3, 0xf130, 0xf0cf, -0xf2a7, 0xf0cf, 0xf2a7, 0xf2b7, 0xf429, 0xf2b7, 0xf429, 0xf2b7, 0xf429, 0xf49e, 0xf5af, -0xf49e, 0xf5af, 0xf6aa, 0xf75c, 0xf6aa, 0xf75c, 0xf815, 0xf86e, 0xf815, 0xf86e, 0xf9c2, -0xf9c8, 0xf9c2, 0xf9c8, 0xfba6, 0xfb5f, 0xfba6, 0xfb5f, 0xfd3f, 0xfcb0, 0xfd3f, 0xfcb0, -0xfd3f, 0xfcb0, 0xfdd3, 0xfd04, 0xfdd3, 0xfd04, 0xfe87, 0xfd7c, 0xfe87, 0xfd7c, 0xff84, -0xfe43, 0xff84, 0xfe43, 0x12f, 0xffbb, 0x12f, 0xffbb, 0x30f, 0x16b, 0x30f, 0x16b, -0x30f, 0x16b, 0x4cc, 0x2fa, 0x4cc, 0x2fa, 0x6e0, 0x4df, 0x6e0, 0x4df, 0x8e3, -0x6b4, 0x8e3, 0x6b4, 0xb19, 0x8ba, 0xb19, 0x8ba, 0xd51, 0xac0, 0xd51, 0xac0, -0xed0, 0xc0b, 0xed0, 0xc0b, 0xed0, 0xc0b, 0xffc, 0xd00, 0xffc, 0xd00, 0x11d3, -0xe9f, 0x11d3, 0xe9f, 0x13cd, 0x105f, 0x13cd, 0x105f, 0x15ed, 0x1245, 0x15ed, 0x1245, -0x1780, 0x139f, 0x1780, 0x139f, 0x182d, 0x1415, 0x182d, 0x1415, 0x182d, 0x1415, 0x183c, -0x13f1, 0x183c, 0x13f1, 0x18e5, 0x146d, 0x18e5, 0x146d, 0x19b8, 0x151b, 0x19b8, 0x151b, -0x19b3, 0x14f9, 0x19b3, 0x14f9, 0x19ff, 0x1535, 0x19ff, 0x1535, 0x19ff, 0x1535, 0x19dd, -0x150e, 0x19dd, 0x150e, 0x19ee, 0x152a, 0x19ee, 0x152a, 0x1a6d, 0x15c2, 0x1a6d, 0x15c2, -0x1a81, 0x15ff, 0x1a81, 0x15ff, 0x194e, 0x1505, 0x194e, 0x1505, 0x181d, 0x141c, 0x181d, -0x141c, 0x181d, 0x141c, 0x1732, 0x1388, 0x1732, 0x1388, 0x15da, 0x1295, 0x15da, 0x1295, -0x148a, 0x11b4, 0x148a, 0x11b4, 0x1257, 0xffb, 0x1257, 0xffb, 0x1080, 0xea6, 0x1080, -0xea6, 0xe06, 0xcb3, 0xe06, 0xcb3, 0xe06, 0xcb3, 0xb78, 0xaae, 0xb78, 0xaae, -0x999, 0x957, 0x999, 0x957, 0x79f, 0x7e2, 0x79f, 0x7e2, 0x603, 0x6c6, 0x603, -0x6c6, 0x416, 0x54f, 0x416, 0x54f, 0x416, 0x54f, 0x1a1, 0x346, 0x1a1, 0x346, -0xfedf, 0xe3, 0xfedf, 0xe3, 0xfca2, 0xfef8, 0xfca2, 0xfef8, 0xfa3c, 0xfcd4, 0xfa3c, -0xfcd4, 0xf7fb, 0xfac7, 0xf7fb, 0xfac7, 0xf65c, 0xf94a, 0xf65c, 0xf94a, 0xf65c, 0xf94a, -0xf4d3, 0xf7d5, 0xf4d3, 0xf7d5, 0xf38a, 0xf691, 0xf38a, 0xf691, 0xf305, 0xf604, 0xf305, -0xf604, 0xf305, 0xf5ee, 0xf305, 0xf5ee, 0xf367, 0xf631, 0xf367, 0xf631, 0xf47f, 0xf722, -0xf47f, 0xf722, 0xf47f, 0xf722, 0xf59c, 0xf810, 0xf59c, 0xf810, 0xf70f, 0xf950, 0xf70f, -0xf950, 0xf871, 0xfa7d, 0xf871, 0xfa7d, 0xfa06, 0xfbdc, 0xfa06, 0xfbdc, 0xfbf4, 0xfd94, -0xfbf4, 0xfd94, 0xfbf4, 0xfd94, 0xfd3c, 0xfea8, 0xfd3c, 0xfea8, 0xfdde, 0xff1a, 0xfdde, -0xff1a, 0xfedf, 0xffed, 0xfedf, 0xffed, 0xffcb, 0xb1, 0xffcb, 0xb1, 0xffb2, 0x73, -0xffb2, 0x73, 0xff72, 0x12, 0xff72, 0x12, 0xff72, 0x12, 0xff19, 0xff9a, 0xff19, -0xff9a, 0xfeda, 0xff40, 0xfeda, 0xff40, 0xfe8d, 0xfed8, 0xfe8d, 0xfed8, 0xfe63, 0xfe94, -0xfe63, 0xfe94, 0xfe1e, 0xfe34, 0xfe1e, 0xfe34, 0xfe24, 0xfe1c, 0xfe24, 0xfe1c, 0xfe24, -0xfe1c, 0xfecd, 0xfea5, 0xfecd, 0xfea5, 0xff84, 0xff38, 0xff84, 0xff38, 0xca, 0x55, -0xca, 0x55, 0x20d, 0x16c, 0x20d, 0x16c, 0x390, 0x2bd, 0x390, 0x2bd, 0x390, -0x2bd, 0x51b, 0x412, 0x51b, 0x412, 0x692, 0x550, 0x692, 0x550, 0x809, 0x68a, -0x809, 0x68a, 0x8f1, 0x734, 0x8f1, 0x734, 0x9ca, 0x7d0, 0x9ca, 0x7d0, 0xafc, -0x8c6, 0xafc, 0x8c6, 0xafc, 0x8c6, 0xc53, 0x9e5, 0xc53, 0x9e5, 0xd11, 0xa70, -0xd11, 0xa70, 0xda5, 0xad8, 0xda5, 0xad8, 0xe7f, 0xb8f, 0xe7f, 0xb8f, 0xee1, -0xbd7, 0xee1, 0xbd7, 0xede, 0xbc6, 0xede, 0xbc6, 0xede, 0xbc6, 0xe89, 0xb70, -0xe89, 0xb70, 0xd76, 0xa69, 0xd76, 0xa69, 0xc72, 0x97e, 0xc72, 0x97e, 0xb73, -0x8a5, 0xb73, 0x8a5, 0xa0d, 0x771, 0xa0d, 0x771, 0xa0d, 0x771, 0x806, 0x5a9, -0x806, 0x5a9, 0x54e, 0x339, 0x54e, 0x339, 0x2f7, 0x132, 0x2f7, 0x132, 0xf5, -0xff88, 0xf5, 0xff88, 0xff2a, 0xfe18, 0xff2a, 0xfe18, 0xfdcc, 0xfd18, 0xfdcc, 0xfd18, -0xfdcc, 0xfd18, 0xfca8, 0xfc52, 0xfca8, 0xfc52, 0xfb68, 0xfb6c, 0xfb68, 0xfb6c, 0xfa14, -0xfa6e, 0xfa14, 0xfa6e, 0xf863, 0xf90d, 0xf863, 0xf90d, 0xf651, 0xf741, 0xf651, 0xf741, -0xf494, 0xf5bf, 0xf494, 0xf5bf, 0xf494, 0xf5bf, 0xf31a, 0xf477, 0xf31a, 0xf477, 0xf1b9, -0xf33a, 0xf1b9, 0xf33a, 0xf045, 0xf1dd, 0xf045, 0xf1dd, 0xef48, 0xf0ec, 0xef48, 0xf0ec, -0xeeda, 0xf07d, 0xeeda, 0xf07d, 0xeeda, 0xf07d, 0xeec6, 0xf05b, 0xeec6, 0xf05b, 0xef37, -0xf0b5, 0xef37, 0xf0b5, 0xefdf, 0xf13b, 0xefdf, 0xf13b, 0xf0a2, 0xf1d4, 0xf0a2, 0xf1d4, -0xf1a1, 0xf2a2, 0xf1a1, 0xf2a2, 0xf348, 0xf413, 0xf348, 0xf413, 0xf348, 0xf413, 0xf4ff, -0xf590, 0xf4ff, 0xf590, 0xf65c, 0xf6b1, 0xf65c, 0xf6b1, 0xf7e7, 0xf7ff, 0xf7e7, 0xf7ff, -0xf971, 0xf94b, 0xf971, 0xf94b, 0xfb3e, 0xfadd, 0xfb3e, 0xfadd, 0xfb3e, 0xfadd, 0xfd5f, -0xfcc5, 0xfd5f, 0xfcc5, 0xff7b, 0xfea9, 0xff7b, 0xfea9, 0x175, 0x70, 0x175, 0x70, -0x350, 0x21a, 0x350, 0x21a, 0x4e8, 0x383, 0x4e8, 0x383, 0x61b, 0x489, 0x61b, -0x489, 0x61b, 0x489, 0x725, 0x56a, 0x725, 0x56a, 0x75d, 0x579, 0x75d, 0x579, -0x7af, 0x5a3, 0x7af, 0x5a3, 0x8b2, 0x67d, 0x8b2, 0x67d, 0xa06, 0x7aa, 0xa06, -0x7aa, 0xbf7, 0x971, 0xbf7, 0x971, 0xbf7, 0x971, 0xd79, 0xac9, 0xd79, 0xac9, -0xf4f, 0xc74, 0xf4f, 0xc74, 0x11c5, 0xebc, 0x11c5, 0xebc, 0x1381, 0x104b, 0x1381, -0x104b, 0x14c4, 0x1160, 0x14c4, 0x1160, 0x14c4, 0x1160, 0x1642, 0x12b1, 0x1642, 0x12b1, -0x17b3, 0x13f4, 0x17b3, 0x13f4, 0x19b9, 0x15d1, 0x19b9, 0x15d1, 0x1c42, 0x1832, 0x1c42, -0x1832, 0x1e18, 0x19e6, 0x1e18, 0x19e6, 0x2004, 0x1bb5, 0x2004, 0x1bb5, 0x2004, 0x1bb5, -0x217b, 0x1d16, 0x217b, 0x1d16, 0x2297, 0x1e25, 0x2297, 0x1e25, 0x236b, 0x1ef4, 0x236b, -0x1ef4, 0x2308, 0x1e96, 0x2308, 0x1e96, 0x2289, 0x1e27, 0x2289, 0x1e27, 0x227c, 0x1e35, -0x227c, 0x1e35, 0x227c, 0x1e35, 0x2244, 0x1e22, 0x2244, 0x1e22, 0x2160, 0x1d6e, 0x2160, -0x1d6e, 0x1fff, 0x1c48, 0x1fff, 0x1c48, 0x1e25, 0x1ab1, 0x1e25, 0x1ab1, 0x1bd3, 0x18ab, -0x1bd3, 0x18ab, 0x1bd3, 0x18ab, 0x195f, 0x168a, 0x195f, 0x168a, 0x16ee, 0x1473, 0x16ee, -0x1473, 0x14b6, 0x1297, 0x14b6, 0x1297, 0x135d, 0x119f, 0x135d, 0x119f, 0x127f, 0x1122, -0x127f, 0x1122, 0x1180, 0x1083, 0x1180, 0x1083, 0x1180, 0x1083, 0x1041, 0xfa4, 0x1041, -0xfa4, 0xe69, 0xe27, 0xe69, 0xe27, 0xcb5, 0xcc9, 0xcb5, 0xcc9, 0xb28, 0xb8e, -0xb28, 0xb8e, 0x959, 0xa09, 0x959, 0xa09, 0x77e, 0x871, 0x77e, 0x871, 0x77e, -0x871, 0x590, 0x6c0, 0x590, 0x6c0, 0x370, 0x4d4, 0x370, 0x4d4, 0x170, 0x301, -0x170, 0x301, 0xff70, 0x127, 0xff70, 0x127, 0xfdf5, 0xffc9, 0xfdf5, 0xffc9, 0xfdf5, -0xffc9, 0xfd08, 0xfef4, 0xfd08, 0xfef4, 0xfc02, 0xfe01, 0xfc02, 0xfe01, 0xfb8f, 0xfd9b, -0xfb8f, 0xfd9b, 0xfb37, 0xfd4b, 0xfb37, 0xfd4b, 0xfae7, 0xfcff, 0xfae7, 0xfcff, 0xfa59, -0xfc73, 0xfa59, 0xfc73, 0xfa59, 0xfc73, 0xf9c7, 0xfbdf, 0xf9c7, 0xfbdf, 0xf995, 0xfba8, -0xf995, 0xfba8, 0xf8d8, 0xfae4, 0xf8d8, 0xfae4, 0xf833, 0xfa35, 0xf833, 0xfa35, 0xf7ea, -0xf9e0, 0xf7ea, 0xf9e0, 0xf7a4, 0xf98d, 0xf7a4, 0xf98d, 0xf7a4, 0xf98d, 0xf7aa, 0xf982, -0xf7aa, 0xf982, 0xf7d6, 0xf99b, 0xf7d6, 0xf99b, 0xf7f2, 0xf9a1, 0xf7f2, 0xf9a1, 0xf86d, -0xfa02, 0xf86d, 0xfa02, 0xf8bb, 0xfa33, 0xf8bb, 0xfa33, 0xf8bb, 0xfa33, 0xf95e, 0xfab6, -0xf95e, 0xfab6, 0xfa88, 0xfbbc, 0xfa88, 0xfbbc, 0xfb49, 0xfc55, 0xfb49, 0xfc55, 0xfc44, -0xfd25, 0xfc44, 0xfd25, 0xfcc9, 0xfd7b, 0xfcc9, 0xfd7b, 0xfd28, 0xfdaa, 0xfd28, 0xfdaa, -0xfd28, 0xfdaa, 0xfe26, 0xfe76, 0xfe26, 0xfe76, 0xfefb, 0xff18, 0xfefb, 0xff18, 0xf, -0xfff8, 0xf, 0xfff8, 0x100, 0xb6, 0x100, 0xb6, 0x1b8, 0x13d, 0x1b8, 0x13d, -0x2e3, 0x23a, 0x2e3, 0x23a, 0x2e3, 0x23a, 0x3a8, 0x2d5, 0x3a8, 0x2d5, 0x438, -0x340, 0x438, 0x340, 0x41a, 0x302, 0x41a, 0x302, 0x37f, 0x24f, 0x37f, 0x24f, -0x34c, 0x20b, 0x34c, 0x20b, 0x34c, 0x20b, 0x2b7, 0x16c, 0x2b7, 0x16c, 0x2c1, -0x174, 0x2c1, 0x174, 0x2cb, 0x184, 0x2cb, 0x184, 0x348, 0x20f, 0x348, 0x20f, -0x3d0, 0x2ac, 0x3d0, 0x2ac, 0x2fe, 0x1f6, 0x2fe, 0x1f6, 0x2fe, 0x1f6, 0x21f, -0x139, 0x21f, 0x139, 0x12, 0xff53, 0x12, 0xff53, 0xfe34, 0xfda0, 0xfe34, 0xfda0, -0xfca2, 0xfc3c, 0xfca2, 0xfc3c, 0xfaf8, 0xfac1, 0xfaf8, 0xfac1, 0xf982, 0xf97c, 0xf982, -0xf97c, 0xf982, 0xf97c, 0xf7af, 0xf7da, 0xf7af, 0xf7da, 0xf71e, 0xf778, 0xf71e, 0xf778, -0xf603, 0xf689, 0xf603, 0xf689, 0xf4c4, 0xf575, 0xf4c4, 0xf575, 0xf335, 0xf40e, 0xf335, -0xf40e, 0xf335, 0xf40e, 0xf0ef, 0xf1ec, 0xf0ef, 0xf1ec, 0xef3f, 0xf05d, 0xef3f, 0xf05d, -0xeda3, 0xeede, 0xeda3, 0xeede, 0xecee, 0xee43, 0xecee, 0xee43, 0xeb4b, 0xecb7, 0xeb4b, -0xecb7, 0xea4e, 0xebcf, 0xea4e, 0xebcf, 0xea4e, 0xebcf, 0xea46, 0xebda, 0xea46, 0xebda, -0xe9f7, 0xeb9e, 0xe9f7, 0xeb9e, 0xeaa0, 0xec58, 0xeaa0, 0xec58, 0xeac0, 0xec8a, 0xeac0, -0xec8a, 0xeb4d, 0xed29, 0xeb4d, 0xed29, 0xec5d, 0xee4c, 0xec5d, 0xee4c, 0xec5d, 0xee4c, -0xed80, 0xef83, 0xed80, 0xef83, 0xee01, 0xf019, 0xee01, 0xf019, 0xee21, 0xf04f, 0xee21, -0xf04f, 0xee7e, 0xf0c3, 0xee7e, 0xf0c3, 0xee92, 0xf0ef, 0xee92, 0xf0ef, 0xee92, 0xf0ef, -0xef39, 0xf1ad, 0xef39, 0xf1ad, 0xee86, 0xf110, 0xee86, 0xf110, 0xed0d, 0xefab, 0xed0d, -0xefab, 0xec8a, 0xef39, 0xec8a, 0xef39, 0xec34, 0xeef0, 0xec34, 0xeef0, 0xebc0, 0xee84, -0xebc0, 0xee84, 0xebc0, 0xee84, 0xeb5b, 0xee22, 0xeb5b, 0xee22, 0xeae9, 0xedad, 0xeae9, -0xedad, 0xeaa6, 0xed60, 0xeaa6, 0xed60, 0xeb18, 0xedc2, 0xeb18, 0xedc2, 0xeb4c, 0xedde, -0xeb4c, 0xedde, 0xebb0, 0xee23, 0xebb0, 0xee23, 0xebb0, 0xee23, 0xec8f, 0xeede, 0xec8f, -0xeede, 0xed34, 0xef58, 0xed34, 0xef58, 0xeeec, 0xf0e2, 0xeeec, 0xf0e2, 0xf0ff, 0xf2c3, -0xf0ff, 0xf2c3, 0xf245, 0xf3d5, 0xf245, 0xf3d5, 0xf245, 0xf3d5, 0xf45d, 0xf5ba, 0xf45d, -0xf5ba, 0xf6f2, 0xf81d, 0xf6f2, 0xf81d, 0xf914, 0xfa0f, 0xf914, 0xfa0f, 0xfaa8, 0xfb79, -0xfaa8, 0xfb79, 0xfbc1, 0xfc6d, 0xfbc1, 0xfc6d, 0xfc34, 0xfcc3, 0xfc34, 0xfcc3, 0xfc34, -0xfcc3, 0xfc11, 0xfc8b, 0xfc11, 0xfc8b, 0xfcad, 0xfd1d, 0xfcad, 0xfd1d, 0xfd20, 0xfd8e, -0xfd20, 0xfd8e, 0xfc7e, 0xfcf5, 0xfc7e, 0xfcf5, 0xfc60, 0xfcea, 0xfc60, 0xfcea, 0xfc60, -0xfcea, 0xfc0f, 0xfcb5, 0xfc0f, 0xfcb5, 0xfbba, 0xfc85, 0xfbba, 0xfc85, 0xfc17, 0xfd0e, -0xfc17, 0xfd0e, 0xfaa2, 0xfbcb, 0xfaa2, 0xfbcb, 0xf9e1, 0xfb40, 0xf9e1, 0xfb40, 0xf841, -0xf9d8, 0xf841, 0xf9d8, 0xf841, 0xf9d8, 0xf6b1, 0xf881, 0xf6b1, 0xf881, 0xf726, 0xf92d, -0xf726, 0xf92d, 0xf539, 0xf775, 0xf539, 0xf775, 0xf553, 0xf7bf, 0xf553, 0xf7bf, 0xf543, -0xf7d7, 0xf543, 0xf7d7, 0xf49b, 0xf751, 0xf49b, 0xf751, 0xf49b, 0xf751, 0xf4a0, 0xf76e, -0xf4a0, 0xf76e, 0xf310, 0xf5ed, 0xf310, 0xf5ed, 0xf1de, 0xf4c0, 0xf1de, 0xf4c0, 0xf129, -0xf405, 0xf129, 0xf405, 0xf165, 0xf433, 0xf165, 0xf433, 0xf165, 0xf433, 0xf0be, 0xf374, -0xf0be, 0xf374, 0xf063, 0xf2fa, 0xf063, 0xf2fa, 0xef5a, 0xf1ca, 0xef5a, 0xf1ca, 0xf00f, -0xf254, 0xf00f, 0xf254, 0xf171, 0xf387, 0xf171, 0xf387, 0xf123, 0xf307, 0xf123, 0xf307, -0xf123, 0xf307, 0xf27f, 0xf430, 0xf27f, 0xf430, 0xf2f8, 0xf477, 0xf2f8, 0xf477, 0xf459, -0xf5a7, 0xf459, 0xf5a7, 0xf640, 0xf760, 0xf640, 0xf760, 0xf856, 0xf94c, 0xf856, 0xf94c, -0xf9f2, 0xfac2, 0xf9f2, 0xfac2, 0xf9f2, 0xfac2, 0xfc30, 0xfcdf, 0xfc30, 0xfcdf, 0xfe76, -0xff08, 0xfe76, 0xff08, 0xfe1c, 0xfe95, 0xfe1c, 0xfe95, 0xff0a, 0xff6e, 0xff0a, 0xff6e, -0xfeb9, 0xff0a, 0xfeb9, 0xff0a, 0xfeb9, 0xff0a, 0xfe4e, 0xfe8e, 0xfe4e, 0xfe8e, 0xff4a, -0xff78, 0xff4a, 0xff78, 0xff60, 0xff7c, 0xff60, 0xff7c, 0xff8d, 0xff94, 0xff8d, 0xff94, -0xfffa, 0xffe9, 0xfffa, 0xffe9, 0xc5, 0x99, 0xc5, 0x99, 0xc5, 0x99, 0x80, -0x31, 0x80, 0x31, 0, 0xff89, 0, 0xff89, 0xd2, 0x2c, 0xd2, 0x2c, -0x206, 0x12c, 0x206, 0x12c, 0x3bc, 0x2a6, 0x3bc, 0x2a6, 0x538, 0x3e2, 0x538, -0x3e2, 0x538, 0x3e2, 0x73a, 0x59e, 0x73a, 0x59e, 0x8ae, 0x6ca, 0x8ae, 0x6ca, -0x9f9, 0x7cb, 0x9f9, 0x7cb, 0xbfd, 0x984, 0xbfd, 0x984, 0xd3c, 0xa7b, 0xd3c, -0xa7b, 0xd3c, 0xa7b, 0xea5, 0xb9f, 0xea5, 0xb9f, 0xec6, 0xb80, 0xec6, 0xb80, -0x116c, 0xdef, 0x116c, 0xdef, 0x1232, 0xe87, 0x1232, 0xe87, 0x1350, 0xf81, 0x1350, -0xf81, 0x16d4, 0x12ee, 0x16d4, 0x12ee, 0x16d4, 0x12ee, 0x1656, 0x1264, 0x1656, 0x1264, -0x18c8, 0x14d8, 0x18c8, 0x14d8, 0x18ee, 0x150e, 0x18ee, 0x150e, 0x18ae, 0x14ea, 0x18ae, -0x14ea, 0x1745, 0x13aa, 0x1745, 0x13aa, 0x1568, 0x1201, 0x1568, 0x1201, 0x1568, 0x1201, -0x1684, 0x135a, 0x1684, 0x135a, 0x149a, 0x11b7, 0x149a, 0x11b7, 0x1413, 0x117d, 0x1413, -0x117d, 0x117a, 0xf34, 0x117a, 0xf34, 0x103a, 0xe47, 0x103a, 0xe47, 0x103a, 0xe47, -0xf82, 0xde2, 0xf82, 0xde2, 0xf4b, 0xdfc, 0xf4b, 0xdfc, 0xe2e, 0xd2c, 0xe2e, -0xd2c, 0xa7b, 0x9c0, 0xa7b, 0x9c0, 0xabb, 0xa41, 0xabb, 0xa41, 0x868, 0x826, -0x868, 0x826, 0x868, 0x826, 0x86d, 0x85a, 0x86d, 0x85a, 0x79e, 0x7b1, 0x79e, -0x7b1, 0x3bf, 0x3ef, 0x3bf, 0x3ef, 0x33f, 0x382, 0x33f, 0x382, 0x326, 0x374, -0x326, 0x374, 0x394, 0x3e4, 0x394, 0x3e4, 0x394, 0x3e4, 0x22a, 0x277, 0x22a, -0x277, 0x273, 0x2b7, 0x273, 0x2b7, 0x246, 0x27e, 0x246, 0x27e, 0x1d7, 0x1ff, -0x1d7, 0x1ff, 0x3eb, 0x403, 0x3eb, 0x403, 0x3eb, 0x403, 0x1bd, 0x1c5, 0x1bd, -0x1c5, 0x35b, 0x355, 0x35b, 0x355, 0x372, 0x361, 0x372, 0x361, 0x199, 0x180, -0x199, 0x180, 0x5a3, 0x586, 0x5a3, 0x586, 0x2ca, 0x2af, 0x2ca, 0x2af, 0x2ca, -0x2af, 0x1c3, 0x1ac, 0x1c3, 0x1ac, 0x29b, 0x28e, 0x29b, 0x28e, 0xaa, 0xab, -0xaa, 0xab, 0xab, 0xbc, 0xab, 0xbc, 0xff40, 0xff64, 0xff40, 0xff64, 0xfe3f, -0xfe76, 0xfe3f, 0xfe76, 0xfe3f, 0xfe76, 0xfd24, 0xfd6f, 0xfd24, 0xfd6f, 0xfd9e, 0xfdfd, -0xfd9e, 0xfdfd, 0xfc9e, 0xfd0d, 0xfc9e, 0xfd0d, 0xfb35, 0xfbb2, 0xfb35, 0xfbb2, 0xf9f2, -0xfa79, 0xf9f2, 0xfa79, 0xf9f2, 0xfa79, 0xf8ca, 0xf956, 0xf8ca, 0xf956, 0xf77c, 0xf808, -0xf77c, 0xf808, 0xf7ed, 0xf873, 0xf7ed, 0xf873, 0xf811, 0xf88d, 0xf811, 0xf88d, 0xf570, -0xf5dd, 0xf570, 0xf5dd, 0xf846, 0xf89e, 0xf846, 0xf89e, 0xf846, 0xf89e, 0xf7ba, 0xf7fb, -0xf7ba, 0xf7fb, 0xf8b7, 0xf8dc, 0xf8b7, 0xf8dc, 0xf7e9, 0xf7f1, 0xf7e9, 0xf7f1, 0xf70c, -0xf6f6, 0xf70c, 0xf6f6, 0xf9f4, 0xf9c0, 0xf9f4, 0xf9c0, 0xf863, 0xf814, 0xf863, 0xf814, -0xf863, 0xf814, 0xfb15, 0xfaad, 0xfb15, 0xfaad, 0xf9b2, 0xf934, 0xf9b2, 0xf934, 0xfb6e, -0xfadf, 0xfb6e, 0xfadf, 0xfc03, 0xfb69, 0xfc03, 0xfb69, 0xfcdf, 0xfc3f, 0xfcdf, 0xfc3f, -0xfcdf, 0xfc3f, 0xff2e, 0xfe8f, 0xff2e, 0xfe8f, 0xfba1, 0xfb09, 0xfba1, 0xfb09, 0xffae, -0xff22, 0xffae, 0xff22, 0xfcc7, 0xfc4e, 0xfcc7, 0xfc4e, 0xff11, 0xfeae, 0xff11, 0xfeae, -0xffc2, 0xff7b, 0xffc2, 0xff7b, 0xffc2, 0xff7b, 0xf9d6, 0xf9ac, 0xf9d6, 0xf9ac, 0xfd33, -0xfd28, 0xfd33, 0xfd28, 0xf92e, 0xf944, 0xf92e, 0xf944, 0xfa52, 0xfa87, 0xfa52, 0xfa87, -0xfa21, 0xfa72, 0xfa21, 0xfa72, 0xf71d, 0xf788, 0xf71d, 0xf788, 0xf71d, 0xf788, 0xf8ff, -0xf97f, 0xf8ff, 0xf97f, 0xf61d, 0xf6ad, 0xf61d, 0xf6ad, 0xf5da, 0xf676, 0xf5da, 0xf676, -0xf48b, 0xf52a, 0xf48b, 0xf52a, 0xf39b, 0xf438, 0xf39b, 0xf438, 0xf39b, 0xf438, 0xf166, -0xf1f9, 0xf166, 0xf1f9, 0xf222, 0xf2a4, 0xf222, 0xf2a4, 0xf4a4, 0xf510, 0xf4a4, 0xf510, -0xf320, 0xf36f, 0xf320, 0xf36f, 0xf65e, 0xf68b, 0xf65e, 0xf68b, 0xf695, 0xf69b, 0xf695, -0xf69b, 0xf695, 0xf69b, 0xf9e3, 0xf9bf, 0xf9e3, 0xf9bf, 0xfd23, 0xfcd2, 0xfd23, 0xfcd2, -0xfd0e, 0xfc8e, 0xfd0e, 0xfc8e, 0x198, 0xe7, 0x198, 0xe7, 0x1b6, 0xd6, 0x1b6, -0xd6, 0x1b6, 0xd6, 0x4d1, 0x3c1, 0x4d1, 0x3c1, 0x8c0, 0x783, 0x8c0, 0x783, -0x9b0, 0x847, 0x9b0, 0x847, 0xc2e, 0xa9b, 0xc2e, 0xa9b, 0xad7, 0x91e, 0xad7, -0x91e, 0xc49, 0xa6c, 0xc49, 0xa6c, 0xc49, 0xa6c, 0xdf3, 0xbf6, 0xdf3, 0xbf6, -0xd12, 0xaf9, 0xd12, 0xaf9, 0xe9f, 0xc6b, 0xe9f, 0xc6b, 0xcce, 0xa84, 0xcce, -0xa84, 0xd7c, 0xb1d, 0xd7c, 0xb1d, 0xf64, 0xcf4, 0xf64, 0xcf4, 0xf64, 0xcf4, -0xe30, 0xbb0, 0xe30, 0xbb0, 0xef9, 0xc6c, 0xef9, 0xc6c, 0xdfd, 0xb64, 0xdfd, -0xb64, 0xe83, 0xbe1, 0xe83, 0xbe1, 0xfe4, 0xd3a, 0xfe4, 0xd3a, 0xfe4, 0xd3a, -0x11e7, 0xf37, 0x11e7, 0xf37, 0x1545, 0x1291, 0x1545, 0x1291, 0x14cd, 0x1217, 0x14cd, -0x1217, 0x172b, 0x1476, 0x172b, 0x1476, 0x1a56, 0x17a5, 0x1a56, 0x17a5, 0x184e, 0x15a3, -0x184e, 0x15a3, 0x184e, 0x15a3, 0x1895, 0x15f3, 0x1895, 0x15f3, 0x195a, 0x16c6, 0x195a, -0x16c6, 0x1860, 0x15dc, 0x1860, 0x15dc, 0x197a, 0x170a, 0x197a, 0x170a, 0x19d6, 0x177f, -0x19d6, 0x177f, 0x19b7, 0x177c, 0x19b7, 0x177c, 0x19b7, 0x177c, 0x18ab, 0x1690, 0x18ab, -0x1690, 0x19a6, 0x17ae, 0x19a6, 0x17ae, 0x1950, 0x177f, 0x1950, 0x177f, 0x16c8, 0x1520, -0x16c8, 0x1520, 0x16d4, 0x1558, 0x16d4, 0x1558, 0x16d4, 0x1558, 0x146e, 0x131f, 0x146e, -0x131f, 0x12f7, 0x11d5, 0x12f7, 0x11d5, 0x1221, 0x112d, 0x1221, 0x112d, 0x10ed, 0x1026, -0x10ed, 0x1026, 0xf5e, 0xec2, 0xf5e, 0xec2, 0xe43, 0xdd0, 0xe43, 0xdd0, 0xe43, -0xdd0, 0xe5c, 0xe10, 0xe5c, 0xe10, 0xe53, 0xe2b, 0xe53, 0xe2b, 0xe68, 0xe5f, -0xe68, 0xe5f, 0xd55, 0xd67, 0xd55, 0xd67, 0xe39, 0xe62, 0xe39, 0xe62, 0xb89, -0xbc4, 0xb89, 0xbc4, 0xb89, 0xbc4, 0xa6a, 0xab3, 0xa6a, 0xab3, 0xb4f, 0xba2, -0xb4f, 0xba2, 0x7b3, 0x80a, 0x7b3, 0x80a, 0x79d, 0x7f6, 0x79d, 0x7f6, 0x6a5, -0x6fc, 0x6a5, 0x6fc, 0x6a5, 0x6fc, 0x52f, 0x582, 0x52f, 0x582, 0x552, 0x59d, -0x552, 0x59d, 0x354, 0x397, 0x354, 0x397, 0x357, 0x390, 0x357, 0x390, 0x32a, -0x358, 0x32a, 0x358, 0x431, 0x453, 0x431, 0x453, 0x431, 0x453, 0x649, 0x660, -0x649, 0x660, 0x564, 0x570, 0x564, 0x570, 0x6cf, 0x6d0, 0x6cf, 0x6d0, 0x86f, -0x866, 0x86f, 0x866, 0x9b3, 0x9a0, 0x9b3, 0x9a0, 0xa4f, 0xa32, 0xa4f, 0xa32, -0xa4f, 0xa32, 0x96b, 0x945, 0x96b, 0x945, 0x93b, 0x90d, 0x93b, 0x90d, 0x873, -0x83c, 0x873, 0x83c, 0x899, 0x859, 0x899, 0x859, 0x89d, 0x854, 0x89d, 0x854, -0x89d, 0x854, 0x765, 0x712, 0x765, 0x712, 0x65d, 0x601, 0x65d, 0x601, 0x79d, -0x737, 0x79d, 0x737, 0x689, 0x618, 0x689, 0x618, 0x650, 0x5d5, 0x650, 0x5d5, -0x5ec, 0x568, 0x5ec, 0x568, 0x5ec, 0x568, 0x382, 0x2f5, 0x382, 0x2f5, 0x402, -0x36e, 0x402, 0x36e, 0x259, 0x1c1, 0x259, 0x1c1, 0x357, 0x2bc, 0x357, 0x2bc, -0x386, 0x2ec, 0x386, 0x2ec, 0x34a, 0x2b6, 0x34a, 0x2b6, 0x34a, 0x2b6, 0x4c9, -0x440, 0x4c9, 0x440, 0x3ba, 0x340, 0x3ba, 0x340, 0x383, 0x31f, 0x383, 0x31f, -0x302, 0x2ba, 0x302, 0x2ba, 0x216, 0x1f0, 0x216, 0x1f0, 0x216, 0x1f0, 0x196, -0x199, 0x196, 0x199, 0x140, 0x172, 0x140, 0x172, 0xda, 0x142, 0xda, 0x142, -0xdb, 0x17e, 0xdb, 0x17e, 0xfe36, 0xff18, 0xfe36, 0xff18, 0xfda3, 0xfec9, 0xfda3, -0xfec9, 0xfda3, 0xfec9, 0xfbf4, 0xfd61, 0xfbf4, 0xfd61, 0xf981, 0xfb35, 0xf981, 0xfb35, -0xf82f, 0xfa2c, 0xf82f, 0xfa2c, 0xf36c, 0xf5b0, 0xf36c, 0xf5b0, 0xf2c4, 0xf54e, 0xf2c4, -0xf54e, 0xf06b, 0xf336, 0xf06b, 0xf336, 0xf06b, 0xf336, 0xed99, 0xf0a1, 0xed99, 0xf0a1, -0xebac, 0xeeea, 0xebac, 0xeeea, 0xe9f1, 0xed5f, 0xe9f1, 0xed5f, 0xe8a9, 0xec3e, 0xe8a9, -0xec3e, 0xe617, 0xe9cb, 0xe617, 0xe9cb, 0xe617, 0xe9cb, 0xe4e9, 0xe8b3, 0xe4e9, 0xe8b3, -0xe29e, 0xe675, 0xe29e, 0xe675, 0xe14b, 0xe525, 0xe14b, 0xe525, 0xdf8f, 0xe364, 0xdf8f, -0xe364, 0xdf89, 0xe351, 0xdf89, 0xe351, 0xde66, 0xe218, 0xde66, 0xe218, 0xde66, 0xe218, -0xdc63, 0xdff9, 0xdc63, 0xdff9, 0xddf0, 0xe164, 0xddf0, 0xe164, 0xde91, 0xe1de, 0xde91, -0xe1de, 0xdea4, 0xe1c7, 0xdea4, 0xe1c7, 0xe03a, 0xe32f, 0xe03a, 0xe32f, 0xe029, 0xe2f0, -0xe029, 0xe2f0, 0xe029, 0xe2f0, 0xe142, 0xe3da, 0xe142, 0xe3da, 0xe3fd, 0xe666, 0xe3fd, -0xe666, 0xe4ad, 0xe6ea, 0xe4ad, 0xe6ea, 0xe8f5, 0xeb07, 0xe8f5, 0xeb07, 0xe936, 0xeb1f, -0xe936, 0xeb1f, 0xe936, 0xeb1f, 0xeb60, 0xed23, 0xeb60, 0xed23, 0xeeda, 0xf07b, 0xeeda, -0xf07b, 0xede0, 0xef61, 0xede0, 0xef61, 0xf16a, 0xf2cd, 0xf16a, 0xf2cd, 0xf1d1, 0xf31b, -0xf1d1, 0xf31b, 0xf237, 0xf368, 0xf237, 0xf368, 0xf237, 0xf368, 0xf288, 0xf3a1, 0xf288, -0xf3a1, 0xf578, 0xf67c, 0xf578, 0xf67c, 0xf81e, 0xf90c, 0xf81e, 0xf90c, 0xf644, 0xf71e, -0xf644, 0xf71e, 0xf950, 0xfa14, 0xf950, 0xfa14, 0xf98b, 0xfa39, 0xf98b, 0xfa39, 0xf98b, -0xfa39, 0xf95f, 0xf9f6, 0xf95f, 0xf9f6, 0xfaeb, 0xfb6b, 0xfaeb, 0xfb6b, 0xfaa6, 0xfb0e, -0xfaa6, 0xfb0e, 0xfbd0, 0xfc21, 0xfbd0, 0xfc21, 0xfd86, 0xfdbe, 0xfd86, 0xfdbe, 0xfd86, -0xfdbe, 0x132, 0x154, 0x132, 0x154, 0x3b1, 0x3be, 0x3b1, 0x3be, 0x427, 0x421, -0x427, 0x421, 0x4d9, 0x4c4, 0x4d9, 0x4c4, 0x4b9, 0x498, 0x4b9, 0x498, 0x599, -0x572, 0x599, 0x572, 0x599, 0x572, 0x4d3, 0x4ac, 0x4d3, 0x4ac, 0x56a, 0x54b, -0x56a, 0x54b, 0x633, 0x622, 0x633, 0x622, 0x515, 0x51a, 0x515, 0x51a, 0x628, -0x64b, 0x628, 0x64b, 0x628, 0x64b, 0x56b, 0x5b3, 0x56b, 0x5b3, 0x705, 0x77b, -0x705, 0x77b, 0x75a, 0x805, 0x75a, 0x805, 0x4aa, 0x590, 0x4aa, 0x590, 0x390, -0x4b6, 0x390, 0x4b6, 0x125, 0x28f, 0x125, 0x28f, 0x125, 0x28f, 0xff7c, 0x12e, -0xff7c, 0x12e, 0xfde2, 0xffdc, 0xfde2, 0xffdc, 0xfa23, 0xfc65, 0xfa23, 0xfc65, 0xf6a7, -0xf92e, 0xf6a7, 0xf92e, 0xf446, 0xf70f, 0xf446, 0xf70f, 0xf13e, 0xf443, 0xf13e, 0xf443, -0xf13e, 0xf443, 0xf0b4, 0xf3ee, 0xf0b4, 0xf3ee, 0xee20, 0xf187, 0xee20, 0xf187, 0xea38, -0xedc1, 0xea38, 0xedc1, 0xe913, 0xecb4, 0xe913, 0xecb4, 0xe6d4, 0xea82, 0xe6d4, 0xea82, -0xe6d4, 0xea82, 0xe424, 0xe7d2, 0xe424, 0xe7d2, 0xe338, 0xe6db, 0xe338, 0xe6db, 0xe2cb, -0xe656, 0xe2cb, 0xe656, 0xdffe, 0xe365, 0xdffe, 0xe365, 0xe008, 0xe341, 0xe008, 0xe341, -0xdecb, 0xe1cc, 0xdecb, 0xe1cc, 0xdecb, 0xe1cc, 0xdfe3, 0xe2a3, 0xdfe3, 0xe2a3, 0xe24f, -0xe4c5, 0xe24f, 0xe4c5, 0xe146, 0xe36c, 0xe146, 0xe36c, 0xe423, 0xe5f5, 0xe423, 0xe5f5, -0xe43d, 0xe5b7, 0xe43d, 0xe5b7, 0xe6e3, 0xe803, 0xe6e3, 0xe803, 0xe6e3, 0xe803, 0xea53, -0xeb19, 0xea53, 0xeb19, 0xeb90, 0xebfb, 0xeb90, 0xebfb, 0xef2e, 0xef40, 0xef2e, 0xef40, -0xf13b, 0xf0f7, 0xf13b, 0xf0f7, 0xf239, 0xf1a3, 0xf239, 0xf1a3, 0xf239, 0xf1a3, 0xf2b0, -0xf1cb, 0xf2b0, 0xf1cb, 0xf4b1, 0xf381, 0xf4b1, 0xf381, 0xf5e7, 0xf472, 0xf5e7, 0xf472, -0xf816, 0xf660, 0xf816, 0xf660, 0xf954, 0xf761, 0xf954, 0xf761, 0xf8de, 0xf6b2, 0xf8de, -0xf6b2, 0xf8de, 0xf6b2, 0xfc2a, 0xf9ca, 0xfc2a, 0xf9ca, 0xfdc6, 0xfb35, 0xfdc6, 0xfb35, -0xfe57, 0xfb97, 0xfe57, 0xfb97, 0xffd8, 0xfcec, 0xffd8, 0xfcec, 0xbb, 0xfda7, 0xbb, -0xfda7, 0x40d, 0xd2, 0x40d, 0xd2, 0x40d, 0xd2, 0x584, 0x224, 0x584, 0x224, -0x76f, 0x3ed, 0x76f, 0x3ed, 0xa89, 0x6e7, 0xa89, 0x6e7, 0xbcd, 0x80c, 0xbcd, -0x80c, 0x1180, 0xda4, 0x1180, 0xda4, 0x1180, 0xda4, 0x138a, 0xf97, 0x138a, 0xf97, -0x13c8, 0xfc1, 0x13c8, 0xfc1, 0x15c8, 0x11b3, 0x15c8, 0x11b3, 0x17e0, 0x13c2, 0x17e0, -0x13c2, 0x1ae1, 0x16c1, 0x1ae1, 0x16c1, 0x1b5e, 0x1741, 0x1b5e, 0x1741, 0x1b5e, 0x1741, -0x1d9d, 0x198d, 0x1d9d, 0x198d, 0x1d4e, 0x1953, 0x1d4e, 0x1953, 0x2083, 0x1ca5, 0x2083, -0x1ca5, 0x22f1, 0x1f3b, 0x22f1, 0x1f3b, 0x220b, 0x1e84, 0x220b, 0x1e84, 0x233f, 0x1ff2, -0x233f, 0x1ff2, 0x233f, 0x1ff2, 0x1fe2, 0x1cd6, 0x1fe2, 0x1cd6, 0x2155, 0x1e93, 0x2155, -0x1e93, 0x1fba, 0x1d49, 0x1fba, 0x1d49, 0x1d0c, 0x1af1, 0x1d0c, 0x1af1, 0x1d5d, 0x1b9d, -0x1d5d, 0x1b9d, 0x1d5d, 0x1b9d, 0x17ca, 0x1669, 0x17ca, 0x1669, 0x16d7, 0x15d7, 0x16d7, -0x15d7, 0x1632, 0x1593, 0x1632, 0x1593, 0x13a8, 0x1368, 0x13a8, 0x1368, 0x1300, 0x131c, -0x1300, 0x131c, 0xfb9, 0x102c, 0xfb9, 0x102c, 0xfb9, 0x102c, 0xe23, 0xee7, 0xe23, -0xee7, 0xd7a, 0xe88, 0xd7a, 0xe88, 0x8a3, 0x9f1, 0x8a3, 0x9f1, 0x501, 0x686, -0x501, 0x686, 0x269, 0x41b, 0x269, 0x41b, 0xff2c, 0x100, 0xff2c, 0x100, 0xff2c, -0x100, 0xfeb4, 0x9f, 0xfeb4, 0x9f, 0xfc8f, 0xfe86, 0xfc8f, 0xfe86, 0xf97f, 0xfb77, -0xf97f, 0xfb77, 0xf754, 0xf943, 0xf754, 0xf943, 0xf42a, 0xf607, 0xf42a, 0xf607, 0xf42a, -0xf607, 0xf337, 0xf4fa, 0xf337, 0xf4fa, 0xf2b9, 0xf45a, 0xf2b9, 0xf45a, 0xf189, 0xf302, -0xf189, 0xf302, 0xf33a, 0xf486, 0xf33a, 0xf486, 0xf4f7, 0xf613, 0xf4f7, 0xf613, 0xf5ce, -0xf6b7, 0xf5ce, 0xf6b7, 0xf5ce, 0xf6b7, 0xf6d7, 0xf78c, 0xf6d7, 0xf78c, 0xf757, 0xf7d7, -0xf757, 0xf7d7, 0xf7dd, 0xf828, 0xf7dd, 0xf828, 0xf7ff, 0xf818, 0xf7ff, 0xf818, 0xf973, -0xf95a, 0xf973, 0xf95a, 0xf911, 0xf8c9, 0xf911, 0xf8c9, 0xf911, 0xf8c9, 0xf9b4, 0xf940, -0xf9b4, 0xf940, 0xfc18, 0xfb7a, 0xfc18, 0xfb7a, 0xfb9e, 0xfada, 0xfb9e, 0xfada, 0xfe2e, -0xfd46, 0xfe2e, 0xfd46, 0xfd6e, 0xfc66, 0xfd6e, 0xfc66, 0xfd6e, 0xfc66, 0xfb3f, 0xfa18, -0xfb3f, 0xfa18, 0xfc18, 0xfad5, 0xfc18, 0xfad5, 0xfa61, 0xf904, 0xfa61, 0xf904, 0xfc1b, -0xfaa6, 0xfc1b, 0xfaa6, 0xfc1a, 0xfa90, 0xfc1a, 0xfa90, 0xfa9e, 0xf900, 0xfa9e, 0xf900, -0xfa9e, 0xf900, 0xfd95, 0xfbe6, 0xfd95, 0xfbe6, 0xfef7, 0xfd39, 0xfef7, 0xfd39, 0xc9, -0xfefe, 0xc9, 0xfefe, 0x327, 0x154, 0x327, 0x154, 0x35f, 0x186, 0x35f, 0x186, -0x4c0, 0x2e6, 0x4c0, 0x2e6, 0x4c0, 0x2e6, 0x746, 0x56f, 0x746, 0x56f, 0x957, -0x789, 0x957, 0x789, 0xad4, 0x915, 0xad4, 0x915, 0xb37, 0x98d, 0xb37, 0x98d, -0xbfb, 0xa6d, 0xbfb, 0xa6d, 0xbfb, 0xa6d, 0xdfc, 0xc91, 0xdfc, 0xc91, 0xeae, -0xd6e, 0xeae, 0xd6e, 0xe77, 0xd68, 0xe77, 0xd68, 0xf2b, 0xe55, 0xf2b, 0xe55, -0xe22, 0xd8a, 0xe22, 0xd8a, 0xdd0, 0xd7e, 0xdd0, 0xd7e, 0xdd0, 0xd7e, 0xd4c, -0xd43, 0xd4c, 0xd43, 0xa2c, 0xa71, 0xa2c, 0xa71, 0x894, 0x92b, 0x894, 0x92b, -0x58c, 0x674, 0x58c, 0x674, 0x49e, 0x5d9, 0x49e, 0x5d9, 0x433, 0x5c1, 0x433, -0x5c1, 0x433, 0x5c1, 0x157, 0x333, 0x157, 0x333, 0xb4, 0x2da, 0xb4, 0x2da, -0xfef4, 0x15f, 0xfef4, 0x15f, 0xfe84, 0x12e, 0xfe84, 0x12e, 0xfd33, 0x12, 0xfd33, -0x12, 0xfd33, 0x12, 0xfaee, 0xfdf9, 0xfaee, 0xfdf9, 0xf994, 0xfcc2, 0xf994, 0xfcc2, -0xf7fc, 0xfb42, 0xf7fc, 0xfb42, 0xf837, 0xfb8a, 0xf837, 0xfb8a, 0xf615, 0xf96b, 0xf615, -0xf96b, 0xf4f5, 0xf843, 0xf4f5, 0xf843, 0xf4f5, 0xf843, 0xf41b, 0xf757, 0xf41b, 0xf757, -0xf1e5, 0xf504, 0xf1e5, 0xf504, 0xf160, 0xf45a, 0xf160, 0xf45a, 0xeff7, 0xf2c4, 0xeff7, -0xf2c4, 0xf000, 0xf298, 0xf000, 0xf298, 0xf000, 0xf298, 0xf130, 0xf38d, 0xf130, 0xf38d, -0xf3a3, 0xf5c0, 0xf3a3, 0xf5c0, 0xf667, 0xf840, 0xf667, 0xf840, 0xf716, 0xf8a8, 0xf716, -0xf8a8, 0xf876, 0xf9be, 0xf876, 0xf9be, 0xf89b, 0xf998, 0xf89b, 0xf998, 0xf89b, 0xf998, -0xf864, 0xf916, 0xf864, 0xf916, 0xfa0c, 0xfa72, 0xfa0c, 0xfa72, 0xfaf4, 0xfb10, 0xfaf4, -0xfb10, 0xfb74, 0xfb46, 0xfb74, 0xfb46, 0xfc26, 0xfbaf, 0xfc26, 0xfbaf, 0xfc4d, 0xfb8e, -0xfc4d, 0xfb8e, 0xfc4d, 0xfb8e, 0xfdd9, 0xfcd3, 0xfdd9, 0xfcd3, 0xffac, 0xfe60, 0xffac, -0xfe60, 0xff9a, 0xfe09, 0xff9a, 0xfe09, 0xd8, 0xff03, 0xd8, 0xff03, 0x245, 0x2d, -0x245, 0x2d, 0x245, 0x2d, 0x36c, 0x112, 0x36c, 0x112, 0x5d2, 0x338, 0x5d2, -0x338, 0x71a, 0x441, 0x71a, 0x441, 0x8f9, 0x5e2, 0x8f9, 0x5e2, 0xb82, 0x830, -0xb82, 0x830, 0xd15, 0x98b, 0xd15, 0x98b, 0xd15, 0x98b, 0xf0f, 0xb50, 0xf0f, -0xb50, 0x104b, 0xc5c, 0x104b, 0xc5c, 0x11b5, 0xd9c, 0x11b5, 0xd9c, 0x14d3, 0x1095, -0x14d3, 0x1095, 0x1689, 0x122e, 0x1689, 0x122e, 0x174c, 0x12db, 0x174c, 0x12db, 0x174c, -0x12db, 0x1832, 0x13b5, 0x1832, 0x13b5, 0x19f8, 0x1578, 0x19f8, 0x1578, 0x1be3, 0x176a, -0x1be3, 0x176a, 0x1d4c, 0x18e6, 0x1d4c, 0x18e6, 0x1f25, 0x1ada, 0x1f25, 0x1ada, 0x1f25, -0x1ada, 0x1d54, 0x1930, 0x1d54, 0x1930, 0x1d45, 0x1952, 0x1d45, 0x1952, 0x1ea6, 0x1aed, -0x1ea6, 0x1aed, 0x1c62, 0x18ec, 0x1c62, 0x18ec, 0x1c9b, 0x1970, 0x1c9b, 0x1970, 0x1bb1, -0x18d6, 0x1bb1, 0x18d6, 0x1bb1, 0x18d6, 0x1966, 0x16e2, 0x1966, 0x16e2, 0x18d8, 0x16ac, -0x18d8, 0x16ac, 0x16c7, 0x14f6, 0x16c7, 0x14f6, 0x166f, 0x14f9, 0x166f, 0x14f9, 0x153e, -0x1421, 0x153e, 0x1421, 0x1240, 0x1178, 0x1240, 0x1178, 0x1240, 0x1178, 0x12b3, 0x123c, -0x12b3, 0x123c, 0x102c, 0x1000, 0x102c, 0x1000, 0xd31, 0xd48, 0xd31, 0xd48, 0xd0e, -0xd60, 0xd0e, 0xd60, 0xa59, 0xadd, 0xa59, 0xadd, 0xa59, 0xadd, 0x869, 0x915, -0x869, 0x915, 0x751, 0x81d, 0x751, 0x81d, 0x664, 0x746, 0x664, 0x746, 0x5d7, -0x6c6, 0x5d7, 0x6c6, 0x545, 0x639, 0x545, 0x639, 0x3d8, 0x4c9, 0x3d8, 0x4c9, -0x3d8, 0x4c9, 0x21b, 0x303, 0x21b, 0x303, 0x13a, 0x213, 0x13a, 0x213, 0x1d1, -0x297, 0x1d1, 0x297, 0x468, 0x518, 0x468, 0x518, 0x406, 0x49d, 0x406, 0x49d, -0x3e5, 0x463, 0x3e5, 0x463, 0x3e5, 0x463, 0x555, 0x5b8, 0x555, 0x5b8, 0x53f, -0x589, 0x53f, 0x589, 0x548, 0x578, 0x548, 0x578, 0x4aa, 0x4c3, 0x4aa, 0x4c3, -0x2a1, 0x2a4, 0x2a1, 0x2a4, 0x2a1, 0x2a4, 0x13d, 0x12b, 0x13d, 0x12b, 0x189, -0x164, 0x189, 0x164, 0xc7, 0x8f, 0xc7, 0x8f, 0xffa7, 0xff5e, 0xffa7, 0xff5e, -0xfe35, 0xfdd9, 0xfe35, 0xfdd9, 0xfcc4, 0xfc57, 0xfcc4, 0xfc57, 0xfcc4, 0xfc57, 0xfc70, -0xfbef, 0xfc70, 0xfbef, 0xfca6, 0xfc10, 0xfca6, 0xfc10, 0xfbf1, 0xfb45, 0xfbf1, 0xfb45, -0xfbd4, 0xfb0f, 0xfbd4, 0xfb0f, 0xfd3d, 0xfc5e, 0xfd3d, 0xfc5e, 0xfcd2, 0xfbd6, 0xfcd2, -0xfbd6, 0xfcd2, 0xfbd6, 0xfe5a, 0xfd40, 0xfe5a, 0xfd40, 0xffdd, 0xfea4, 0xffdd, 0xfea4, -0x48, 0xfef0, 0x48, 0xfef0, 0x24b, 0xd3, 0x24b, 0xd3, 0x25d, 0xc8, 0x25d, -0xc8, 0x25d, 0xc8, 0x277, 0xc7, 0x277, 0xc7, 0x3b2, 0x1ea, 0x3b2, 0x1ea, -0x3eb, 0x211, 0x3eb, 0x211, 0x46f, 0x288, 0x46f, 0x288, 0x541, 0x355, 0x541, -0x355, 0x4a5, 0x2bb, 0x4a5, 0x2bb, 0x4a5, 0x2bb, 0x4b5, 0x2d7, 0x4b5, 0x2d7, -0x529, 0x35f, 0x529, 0x35f, 0x470, 0x2c4, 0x470, 0x2c4, 0x377, 0x1f2, 0x377, -0x1f2, 0x2af, 0x15b, 0x2af, 0x15b, 0xffa5, 0xfe8a, 0xffa5, 0xfe8a, 0xffa5, 0xfe8a, -0xfd9c, 0xfcc2, 0xfd9c, 0xfcc2, 0xfd92, 0xfd01, 0xfd92, 0xfd01, 0xfa3a, 0xf9f7, 0xfa3a, -0xf9f7, 0xfb13, 0xfb21, 0xfb13, 0xfb21, 0xfa64, 0xfac6, 0xfa64, 0xfac6, 0xfa64, 0xfac6, -0xf76f, 0xf827, 0xf76f, 0xf827, 0xf8ba, 0xf9c5, 0xf8ba, 0xf9c5, 0xf5a8, 0xf706, 0xf5a8, -0xf706, 0xf544, 0xf6f0, 0xf544, 0xf6f0, 0xf4ea, 0xf6df, 0xf4ea, 0xf6df, 0xf0e3, 0xf31a, -0xf0e3, 0xf31a, 0xf0e3, 0xf31a, 0xefff, 0xf272, 0xefff, 0xf272, 0xedf7, 0xf09d, 0xedf7, -0xf09d, 0xebdb, 0xeeae, 0xebdb, 0xeeae, 0xea1b, 0xed11, 0xea1b, 0xed11, 0xe9da, 0xeceb, -0xe9da, 0xeceb, 0xea84, 0xeda9, 0xea84, 0xeda9, 0xea84, 0xeda9, 0xe8d1, 0xec03, 0xe8d1, -0xec03, 0xe7f9, 0xeb30, 0xe7f9, 0xeb30, 0xe61a, 0xe952, 0xe61a, 0xe952, 0xe57f, 0xe8b4, -0xe57f, 0xe8b4, 0xe699, 0xe9c7, 0xe699, 0xe9c7, 0xe699, 0xe9c7, 0xe75c, 0xea81, 0xe75c, -0xea81, 0xea3c, 0xed56, 0xea3c, 0xed56, 0xea66, 0xed76, 0xea66, 0xed76, 0xec7c, 0xef81, -0xec7c, 0xef81, 0xeee9, 0xf1e4, 0xeee9, 0xf1e4, 0xee46, 0xf139, 0xee46, 0xf139, 0xee46, -0xf139, 0xf0b1, 0xf39d, 0xf0b1, 0xf39d, 0xf072, 0xf359, 0xf072, 0xf359, 0xef68, 0xf24a, -0xef68, 0xf24a, 0xf067, 0xf345, 0xf067, 0xf345, 0xf11d, 0xf3f7, 0xf11d, 0xf3f7, 0xf0d5, -0xf3ac, 0xf0d5, 0xf3ac, 0xf0d5, 0xf3ac, 0xf0da, 0xf3ab, 0xf0da, 0xf3ab, 0xf158, 0xf423, -0xf158, 0xf423, 0xf054, 0xf315, 0xf054, 0xf315, 0xf13d, 0xf3f1, 0xf13d, 0xf3f1, 0xf0f7, -0xf39c, 0xf0f7, 0xf39c, 0xf0f7, 0xf39c, 0xeff9, 0xf28a, 0xeff9, 0xf28a, 0xefd8, 0xf252, -0xefd8, 0xf252, 0xf02c, 0xf28a, 0xf02c, 0xf28a, 0xf28f, 0xf4cd, 0xf28f, 0xf4cd, 0xf4db, -0xf6f6, 0xf4db, 0xf6f6, 0xf6d4, 0xf8ca, 0xf6d4, 0xf8ca, 0xf6d4, 0xf8ca, 0xf774, 0xf942, -0xf774, 0xf942, 0xf832, 0xf9d7, 0xf832, 0xf9d7, 0xf968, 0xfae5, 0xf968, 0xfae5, 0xfaaa, -0xfbfe, 0xfaaa, 0xfbfe, 0xfb73, 0xfca1, 0xfb73, 0xfca1, 0xfb73, 0xfca1, 0xfbbb, 0xfcc7, -0xfbbb, 0xfcc7, 0xfe59, 0xff45, 0xfe59, 0xff45, 0x96, 0x169, 0x96, 0x169, 0x1a7, -0x266, 0x1a7, 0x266, 0x3e8, 0x49a, 0x3e8, 0x49a, 0x449, 0x4f5, 0x449, 0x4f5, -0x449, 0x4f5, 0x294, 0x340, 0x294, 0x340, 0x2fc, 0x3ae, 0x2fc, 0x3ae, 0x29b, -0x35b, 0x29b, 0x35b, 0x87, 0x15b, 0x87, 0x15b, 0xfffc, 0xe9, 0xfffc, 0xe9, -0xfe64, 0xff6c, 0xfe64, 0xff6c, 0xfe64, 0xff6c, 0xfba7, 0xfccf, 0xfba7, 0xfccf, 0xf9ef, -0xfb38, 0xf9ef, 0xfb38, 0xf784, 0xf8ee, 0xf784, 0xf8ee, 0xf645, 0xf7d0, 0xf645, 0xf7d0, -0xf57b, 0xf725, 0xf57b, 0xf725, 0xf57b, 0xf725, 0xf3e8, 0xf5ad, 0xf3e8, 0xf5ad, 0xf4a0, -0xf67b, 0xf4a0, 0xf67b, 0xf341, 0xf52e, 0xf341, 0xf52e, 0xf259, 0xf451, 0xf259, 0xf451, -0xf2f7, 0xf4f2, 0xf2f7, 0xf4f2, 0xf22e, 0xf427, 0xf22e, 0xf427, 0xf22e, 0xf427, 0xf1a1, -0xf390, 0xf1a1, 0xf390, 0xef8c, 0xf16b, 0xef8c, 0xf16b, 0xefae, 0xf176, 0xefae, 0xf176, -0xefad, 0xf157, 0xefad, 0xf157, 0xefa8, 0xf130, 0xefa8, 0xf130, 0xf05e, 0xf1c1, 0xf05e, -0xf1c1, 0xf05e, 0xf1c1, 0xef49, 0xf082, 0xef49, 0xf082, 0xf02c, 0xf139, 0xf02c, 0xf139, -0xf1a7, 0xf287, 0xf1a7, 0xf287, 0xf4a2, 0xf555, 0xf4a2, 0xf555, 0xf60e, 0xf693, 0xf60e, -0xf693, 0xf60e, 0xf693, 0xf64d, 0xf6a6, 0xf64d, 0xf6a6, 0xf79b, 0xf7cb, 0xf79b, 0xf7cb, -0xf6cc, 0xf6d5, 0xf6cc, 0xf6d5, 0xf769, 0xf74d, 0xf769, 0xf74d, 0xf77a, 0xf73c, 0xf77a, -0xf73c, 0xf75d, 0xf700, 0xf75d, 0xf700, 0xf75d, 0xf700, 0xf8db, 0xf861, 0xf8db, 0xf861, -0xf97b, 0xf8e6, 0xf97b, 0xf8e6, 0xfb4c, 0xfa9f, 0xfb4c, 0xfa9f, 0xfc14, 0xfb4e, 0xfc14, -0xfb4e, 0xfb41, 0xfa64, 0xfb41, 0xfa64, 0xfbce, 0xfad8, 0xfbce, 0xfad8, 0xfbce, 0xfad8, -0xfcba, 0xfbac, 0xfcba, 0xfbac, 0xfc65, 0xfb3d, 0xfc65, 0xfb3d, 0xfb9c, 0xfa58, 0xfb9c, -0xfa58, 0xfbfd, 0xfa9b, 0xfbfd, 0xfa9b, 0xfb81, 0xf9ff, 0xfb81, 0xf9ff, 0xfb81, 0xf9ff, -0xfd3c, 0xfb99, 0xfd3c, 0xfb99, 0xffd7, 0xfe0f, 0xffd7, 0xfe0f, 0xfff2, 0xfe05, 0xfff2, -0xfe05, 0x2a0, 0x8d, 0x2a0, 0x8d, 0x38a, 0x151, 0x38a, 0x151, 0x33b, 0xdc, -0x33b, 0xdc, 0x33b, 0xdc, 0x437, 0x1b4, 0x437, 0x1b4, 0x4b0, 0x20b, 0x4b0, -0x20b, 0x687, 0x3c5, 0x687, 0x3c5, 0x869, 0x58d, 0x869, 0x58d, 0xace, 0x7de, -0xace, 0x7de, 0xcb8, 0x9b9, 0xcb8, 0x9b9, 0xcb8, 0x9b9, 0xfee, 0xce7, 0xfee, -0xce7, 0x1214, 0xf0c, 0x1214, 0xf0c, 0x120c, 0xf0b, 0x120c, 0xf0b, 0x147a, 0x1187, -0x147a, 0x1187, 0x14cd, 0x11ef, 0x14cd, 0x11ef, 0x14cd, 0x11ef, 0x13ec, 0x112b, 0x13ec, -0x112b, 0x13cf, 0x1130, 0x13cf, 0x1130, 0x132b, 0x10b4, 0x132b, 0x10b4, 0x13e1, 0x1197, -0x13e1, 0x1197, 0x132e, 0x1114, 0x132e, 0x1114, 0x117a, 0xf92, 0x117a, 0xf92, 0x117a, -0xf92, 0x11a8, 0xff4, 0x11a8, 0xff4, 0xfeb, 0xe6a, 0xfeb, 0xe6a, 0xe9a, 0xd4b, -0xe9a, 0xd4b, 0xf72, 0xe53, 0xf72, 0xe53, 0xe54, 0xd62, 0xe54, 0xd62, 0xc41, -0xb77, 0xc41, 0xb77, 0xc41, 0xb77, 0xa63, 0x9bc, 0xa63, 0x9bc, 0x9ef, 0x966, -0x9ef, 0x966, 0x8c4, 0x853, 0x8c4, 0x853, 0x7f6, 0x797, 0x7f6, 0x797, 0x78b, -0x738, 0x78b, 0x738, 0x78b, 0x738, 0x64d, 0x601, 0x64d, 0x601, 0x60a, 0x5bf, -0x60a, 0x5bf, 0x4c1, 0x474, 0x4c1, 0x474, 0x490, 0x43d, 0x490, 0x43d, 0x3c9, -0x36d, 0x3c9, 0x36d, 0x41a, 0x3b2, 0x41a, 0x3b2, 0x41a, 0x3b2, 0x57b, 0x508, -0x57b, 0x508, 0x5d6, 0x557, 0x5d6, 0x557, 0x7a6, 0x71a, 0x7a6, 0x71a, 0x7eb, -0x756, 0x7eb, 0x756, 0x8e1, 0x842, 0x8e1, 0x842, 0x964, 0x8bf, 0x964, 0x8bf, -0x964, 0x8bf, 0x924, 0x87a, 0x924, 0x87a, 0x96b, 0x8c1, 0x96b, 0x8c1, 0x861, -0x7b7, 0x861, 0x7b7, 0x829, 0x782, 0x829, 0x782, 0x8bd, 0x81c, 0x8bd, 0x81c, -0x8bd, 0x81c, 0x87e, 0x7e4, 0x87e, 0x7e4, 0x6be, 0x62c, 0x6be, 0x62c, 0x544, -0x4bc, 0x544, 0x4bc, 0x494, 0x415, 0x494, 0x415, 0x43a, 0x3c3, 0x43a, 0x3c3, -0x3e2, 0x372, 0x3e2, 0x372, 0x3e2, 0x372, 0x2b2, 0x248, 0x2b2, 0x248, 0x66, -0, 0x66, 0, 0x52, 0xffee, 0x52, 0xffee, 0xc2, 0x5e, 0xc2, 0x5e, -0xfffa, 0xff94, 0xfffa, 0xff94, 0xfffb, 0xff91, 0xfffb, 0xff91, 0xfffb, 0xff91, 0xfea8, -0xfe39, 0xfea8, 0xfe39, 0x3, 0xff8c, 0x3, 0xff8c, 0xffe1, 0xff63, 0xffe1, 0xff63, -0xff1c, 0xfe97, 0xff1c, 0xfe97, 0xffea, 0xff5f, 0xffea, 0xff5f, 0xffea, 0xff5f, 0xfe89, -0xfdf9, 0xfe89, 0xfdf9, 0xffad, 0xff1b, 0xffad, 0xff1b, 0xffa7, 0xff16, 0xffa7, 0xff16, -0x82, 0xfff6, 0x82, 0xfff6, 0xf, 0xff8c, 0xf, 0xff8c, 0xfd51, 0xfcdb, 0xfd51, -0xfcdb, 0xfd51, 0xfcdb, 0xfde2, 0xfd7f, 0xfde2, 0xfd7f, 0xfc8b, 0xfc3f, 0xfc8b, 0xfc3f, -0xf9c4, 0xf994, 0xf9c4, 0xf994, 0xf88a, 0xf87b, 0xf88a, 0xf87b, 0xf7c4, 0xf7da, 0xf7c4, -0xf7da, 0xf600, 0xf63d, 0xf600, 0xf63d, 0xf600, 0xf63d, 0xf61a, 0xf683, 0xf61a, 0xf683, -0xf4fe, 0xf594, 0xf4fe, 0xf594, 0xf350, 0xf413, 0xf350, 0xf413, 0xf3af, 0xf4a0, 0xf3af, -0xf4a0, 0xf28a, 0xf3a7, 0xf28a, 0xf3a7, 0xf28a, 0xf3a7, 0xf38c, 0xf4d3, 0xf38c, 0xf4d3, -0xf2c4, 0xf432, 0xf2c4, 0xf432, 0xf0fa, 0xf28a, 0xf0fa, 0xf28a, 0xf204, 0xf3b3, 0xf204, -0xf3b3, 0xf1f5, 0xf3bc, 0xf1f5, 0xf3bc, 0xf2c0, 0xf49a, 0xf2c0, 0xf49a, 0xf2c0, 0xf49a, -0xf254, 0xf43a, 0xf254, 0xf43a, 0xf000, 0xf1ec, 0xf000, 0xf1ec, 0xf0a7, 0xf292, 0xf0a7, -0xf292, 0xf038, 0xf21c, 0xf038, 0xf21c, 0xee06, 0xefdd, 0xee06, 0xefdd, 0xee06, 0xefdd, -0xed8a, 0xef50, 0xed8a, 0xef50, 0xec58, 0xee07, 0xec58, 0xee07, 0xecac, 0xee40, 0xecac, -0xee40, 0xefb9, 0xf130, 0xefb9, 0xf130, 0xf413, 0xf56b, 0xf413, 0xf56b, 0xf727, 0xf85d, -0xf727, 0xf85d, 0xf727, 0xf85d, 0xf924, 0xfa39, 0xf924, 0xfa39, 0xfc5b, 0xfd4f, 0xfc5b, -0xfd4f, 0xffcf, 0xa1, 0xffcf, 0xa1, 0x2d8, 0x38b, 0x2d8, 0x38b, 0x37b, 0x410, -0x37b, 0x410, 0x4e1, 0x55a, 0x4e1, 0x55a, 0x4e1, 0x55a, 0x6f8, 0x756, 0x6f8, -0x756, 0x7a4, 0x7e9, 0x7a4, 0x7e9, 0x819, 0x848, 0x819, 0x848, 0x985, 0x99f, -0x985, 0x99f, 0xacc, 0xad2, 0xacc, 0xad2, 0xacc, 0xad2, 0xb0e, 0xb01, 0xb0e, -0xb01, 0xd1d, 0xcfd, 0xd1d, 0xcfd, 0xd23, 0xcf1, 0xd23, 0xcf1, 0xcb2, 0xc6d, -0xcb2, 0xc6d, 0xcee, 0xc96, 0xcee, 0xc96, 0xd47, 0xcdb, 0xd47, 0xcdb, 0xd47, -0xcdb, 0xfb3, 0xf31, 0xfb3, 0xf31, 0x10fe, 0x1066, 0x10fe, 0x1066, 0x129c, 0x11ed, -0x129c, 0x11ed, 0x14a0, 0x13d8, 0x14a0, 0x13d8, 0x1694, 0x15b3, 0x1694, 0x15b3, 0x18ef, -0x17f5, 0x18ef, 0x17f5, 0x18ef, 0x17f5, 0x1b8d, 0x1a7a, 0x1b8d, 0x1a7a, 0x1c8b, 0x1b60, -0x1c8b, 0x1b60, 0x1ca5, 0x1b64, 0x1ca5, 0x1b64, 0x1ed1, 0x1d7c, 0x1ed1, 0x1d7c, 0x1f35, -0x1dce, 0x1f35, 0x1dce, 0x1f35, 0x1dce, 0x1fe2, 0x1e6d, 0x1fe2, 0x1e6d, 0x21f9, 0x207b, -0x21f9, 0x207b, 0x206e, 0x1eea, 0x206e, 0x1eea, 0x1f30, 0x1dac, 0x1f30, 0x1dac, 0x201e, -0x1e9f, 0x201e, 0x1e9f, 0x1dc6, 0x1c50, 0x1dc6, 0x1c50, 0x1dc6, 0x1c50, 0x1ab2, 0x194b, -0x1ab2, 0x194b, 0x1855, 0x1701, 0x1855, 0x1701, 0x1592, 0x1455, 0x1592, 0x1455, 0x1372, -0x1250, 0x1372, 0x1250, 0x1106, 0x1003, 0x1106, 0x1003, 0xff2, 0xf0e, 0xff2, 0xf0e, -0xff2, 0xf0e, 0xee3, 0xe20, 0xee3, 0xe20, 0xdaa, 0xd09, 0xdaa, 0xd09, 0xd6d, -0xcec, 0xd6d, 0xcec, 0xc51, 0xbee, 0xc51, 0xbee, 0x9e3, 0x99c, 0x9e3, 0x99c, -0x9e3, 0x99c, 0x8bd, 0x88d, 0x8bd, 0x88d, 0x8ff, 0x8e2, 0x8ff, 0x8e2, 0x7dd, -0x7ce, 0x7dd, 0x7ce, 0x703, 0x6fd, 0x703, 0x6fd, 0x6e8, 0x6e4, 0x6e8, 0x6e4, -0x6f3, 0x6ec, 0x6f3, 0x6ec, 0x6f3, 0x6ec, 0x5ab, 0x59b, 0x5ab, 0x59b, 0x511, -0x4f3, 0x511, 0x4f3, 0x52b, 0x4fa, 0x52b, 0x4fa, 0x3d1, 0x387, 0x3d1, 0x387, -0x48e, 0x429, 0x48e, 0x429, 0x467, 0x3e4, 0x467, 0x3e4, 0x467, 0x3e4, 0x5f1, -0x54e, 0x5f1, 0x54e, 0x881, 0x7bd, 0x881, 0x7bd, 0x716, 0x631, 0x716, 0x631, -0x8ba, 0x7b4, 0x8ba, 0x7b4, 0xa73, 0x94f, 0xa73, 0x94f, 0xa73, 0x94f, 0xa74, -0x934, 0xa74, 0x934, 0xb6a, 0xa0f, 0xb6a, 0xa0f, 0xa8d, 0x91d, 0xa8d, 0x91d, -0xb39, 0x9b6, 0xb39, 0x9b6, 0xb95, 0xa03, 0xb95, 0xa03, 0xc30, 0xa93, 0xc30, -0xa93, 0xc30, 0xa93, 0xde4, 0xc40, 0xde4, 0xc40, 0xc0c, 0xa64, 0xc0c, 0xa64, -0xb7c, 0x9d4, 0xb7c, 0x9d4, 0xc59, 0xab2, 0xc59, 0xab2, 0xc24, 0xa82, 0xc24, -0xa82, 0xa48, 0x8ad, 0xa48, 0x8ad, 0xa48, 0x8ad, 0x7aa, 0x616, 0x7aa, 0x616, -0x71f, 0x594, 0x71f, 0x594, 0x6d2, 0x550, 0x6d2, 0x550, 0x804, 0x68c, 0x804, -0x68c, 0x844, 0x6d7, 0x844, 0x6d7, 0x844, 0x6d7, 0x736, 0x5d3, 0x736, 0x5d3, -0x792, 0x63a, 0x792, 0x63a, 0x6b3, 0x568, 0x6b3, 0x568, 0x60c, 0x4ce, 0x60c, -0x4ce, 0x5b3, 0x483, 0x5b3, 0x483, 0x436, 0x317, 0x436, 0x317, 0x436, 0x317, -0x399, 0x28d, 0x399, 0x28d, 0x391, 0x29c, 0x391, 0x29c, 0x3ad, 0x2d2, 0x3ad, -0x2d2, 0x4c5, 0x409, 0x4c5, 0x409, 0x3c4, 0x32b, 0x3c4, 0x32b, 0x1db, 0x16c, -0x1db, 0x16c, 0x1db, 0x16c, 0x1fb, 0x1b9, 0x1fb, 0x1b9, 0xffa8, 0xff9a, 0xffa8, -0xff9a, 0xfc0d, 0xfc37, 0xfc0d, 0xfc37, 0xfa5a, 0xfac0, 0xfa5a, 0xfac0, 0xf714, 0xf7bb, -0xf714, 0xf7bb, 0xf714, 0xf7bb, 0xf3e3, 0xf4ce, 0xf3e3, 0xf4ce, 0xf19c, 0xf2cd, 0xf19c, -0xf2cd, 0xedfa, 0xef73, 0xedfa, 0xef73, 0xec86, 0xee46, 0xec86, 0xee46, 0xea5c, 0xec61, -0xea5c, 0xec61, 0xe81d, 0xea65, 0xe81d, 0xea65, 0xe81d, 0xea65, 0xe7b1, 0xea38, 0xe7b1, -0xea38, 0xe27e, 0xe53d, 0xe27e, 0xe53d, 0xdf79, 0xe26b, 0xdf79, 0xe26b, 0xdf6f, 0xe28c, -0xdf6f, 0xe28c, 0xdbf6, 0xdf35, 0xdbf6, 0xdf35, 0xda2c, 0xdd82, 0xda2c, 0xdd82, 0xda2c, -0xdd82, 0xd8f7, 0xdc5b, 0xd8f7, 0xdc5b, 0xd875, 0xdbdd, 0xd875, 0xdbdd, 0xd8d8, 0xdc39, -0xd8d8, 0xdc39, 0xd81b, 0xdb6a, 0xd81b, 0xdb6a, 0xd8ae, 0xdbe2, 0xd8ae, 0xdbe2, 0xd8ae, -0xdbe2, 0xd757, 0xda67, 0xd757, 0xda67, 0xd70f, 0xd9f2, 0xd70f, 0xd9f2, 0xd9ba, 0xdc69, -0xd9ba, 0xdc69, 0xdc03, 0xde77, 0xdc03, 0xde77, 0xdfaf, 0xe1e4, 0xdfaf, 0xe1e4, 0xe2b1, -0xe4a3, 0xe2b1, 0xe4a3, 0xe2b1, 0xe4a3, 0xe617, 0xe7c4, 0xe617, 0xe7c4, 0xe8f6, 0xea5c, -0xe8f6, 0xea5c, 0xea9a, 0xebba, 0xea9a, 0xebba, 0xed62, 0xee3e, 0xed62, 0xee3e, 0xee2c, -0xeec5, 0xee2c, 0xeec5, 0xeecf, 0xef28, 0xeecf, 0xef28, 0xeecf, 0xef28, 0xf048, 0xf064, -0xf048, 0xf064, 0xf095, 0xf079, 0xf095, 0xf079, 0xf1bf, 0xf16e, 0xf1bf, 0xf16e, 0xf3d9, -0xf359, 0xf3d9, 0xf359, 0xf564, 0xf4b8, 0xf564, 0xf4b8, 0xf564, 0xf4b8, 0xf798, 0xf6c4, -0xf798, 0xf6c4, 0xfa3c, 0xf944, 0xfa3c, 0xf944, 0xfbe1, 0xfac9, 0xfbe1, 0xfac9, 0xfca8, -0xfb73, 0xfca8, 0xfb73, 0xff44, 0xfdf5, 0xff44, 0xfdf5, 0x27e, 0x118, 0x27e, 0x118, -0x27e, 0x118, 0x3a6, 0x22b, 0x3a6, 0x22b, 0x682, 0x4f5, 0x682, 0x4f5, 0x83b, -0x69e, 0x83b, 0x69e, 0x98a, 0x7e1, 0x98a, 0x7e1, 0xb49, 0x996, 0xb49, 0x996, -0xb49, 0x996, 0xb9e, 0x9e6, 0xb9e, 0x9e6, 0xdb2, 0xbf8, 0xdb2, 0xbf8, 0xcb0, -0xafa, 0xcb0, 0xafa, 0xd0d, 0xb60, 0xd0d, 0xb60, 0xfb3, 0xe16, 0xfb3, 0xe16, -0xe32, 0xcac, 0xe32, 0xcac, 0xe32, 0xcac, 0xea5, 0xd3e, 0xea5, 0xd3e, 0xfc1, -0xe82, 0xfc1, 0xe82, 0xe2f, 0xd21, 0xe2f, 0xd21, 0xdb6, 0xce2, 0xdb6, 0xce2, -0xc95, 0xc05, 0xc95, 0xc05, 0xa79, 0xa36, 0xa79, 0xa36, 0xa79, 0xa36, 0x987, -0x999, 0x987, 0x999, 0x737, 0x7a8, 0x737, 0x7a8, 0x46a, 0x540, 0x46a, 0x540, -0x168, 0x2a9, 0x168, 0x2a9, 0xfdfd, 0xffaf, 0xfdfd, 0xffaf, 0xfdfd, 0xffaf, 0xfb2d, -0xfd51, 0xfb2d, 0xfd51, 0xf81c, 0xfab5, 0xf81c, 0xfab5, 0xf5d8, 0xf8e4, 0xf5d8, 0xf8e4, -0xf494, 0xf811, 0xf494, 0xf811, 0xf1e7, 0xf5d1, 0xf1e7, 0xf5d1, 0xed7c, 0xf1cd, 0xed7c, -0xf1cd, 0xed7c, 0xf1cd, 0xebda, 0xf089, 0xebda, 0xf089, 0xe965, 0xee68, 0xe965, 0xee68, -0xe58f, 0xeadb, 0xe58f, 0xeadb, 0xe45c, 0xe9e5, 0xe45c, 0xe9e5, 0xe31e, 0xe8d5, 0xe31e, -0xe8d5, 0xe2c3, 0xe89b, 0xe2c3, 0xe89b, 0xe2c3, 0xe89b, 0xe148, 0xe733, 0xe148, 0xe733, -0xe00f, 0xe5fe, 0xe00f, 0xe5fe, 0xdf77, 0xe55d, 0xdf77, 0xe55d, 0xdc98, 0xe267, 0xdc98, -0xe267, 0xdbf2, 0xe19c, 0xdbf2, 0xe19c, 0xdbf2, 0xe19c, 0xddc1, 0xe33b, 0xddc1, 0xe33b, -0xdf59, 0xe498, 0xdf59, 0xe498, 0xe0d0, 0xe5ca, 0xe0d0, 0xe5ca, 0xe296, 0xe744, 0xe296, -0xe744, 0xe4b8, 0xe912, 0xe4b8, 0xe912, 0xe6ce, 0xeacf, 0xe6ce, 0xeacf, 0xe6ce, 0xeacf, -0xe867, 0xec0a, 0xe867, 0xec0a, 0xe997, 0xecda, 0xe997, 0xecda, 0xe9eb, 0xecca, 0xe9eb, -0xecca, 0xeae7, 0xed61, 0xeae7, 0xed61, 0xed2b, 0xef3f, 0xed2b, 0xef3f, 0xefb0, 0xf15f, -0xefb0, 0xf15f, 0xefb0, 0xf15f, 0xf18b, 0xf2d3, 0xf18b, 0xf2d3, 0xf2d8, 0xf3b9, 0xf2d8, -0xf3b9, 0xf543, 0xf5be, 0xf543, 0xf5be, 0xf5a3, 0xf5b6, 0xf5a3, 0xf5b6, 0xf687, 0xf634, -0xf687, 0xf634, 0xf687, 0xf634, 0xf818, 0xf75d, 0xf818, 0xf75d, 0xf794, 0xf672, 0xf794, -0xf672, 0xf901, 0xf778, 0xf901, 0xf778, 0xfa72, 0xf882, 0xfa72, 0xf882, 0xfc28, 0xf9d0, -0xfc28, 0xf9d0, 0xfecd, 0xfc0e, 0xfecd, 0xfc0e, 0xfecd, 0xfc0e, 0xfd, 0xfdd9, 0xfd, -0xfdd9, 0x38f, 0x7, 0x38f, 0x7, 0x641, 0x258, 0x641, 0x258, 0x8cc, 0x486, -0x8cc, 0x486, 0xb26, 0x688, 0xb26, 0x688, 0xe46, 0x956, 0xe46, 0x956, 0xe46, -0x956, 0x1232, 0xcf9, 0x1232, 0xcf9, 0x14cc, 0xf52, 0x14cc, 0xf52, 0x161b, 0x106b, -0x161b, 0x106b, 0x1905, 0x132b, 0x1905, 0x132b, 0x1b46, 0x154f, 0x1b46, 0x154f, 0x1b46, -0x154f, 0x1d36, 0x172f, 0x1d36, 0x172f, 0x1f05, 0x18fc, 0x1f05, 0x18fc, 0x1f31, 0x1936, -0x1f31, 0x1936, 0x1fdb, 0x19fc, 0x1fdb, 0x19fc, 0x1ee2, 0x192d, 0x1ee2, 0x192d, 0x1e86, -0x1909, 0x1e86, 0x1909, 0x1e86, 0x1909, 0x1d95, 0x185f, 0x1d95, 0x185f, 0x1af7, 0x1612, -0x1af7, 0x1612, 0x1a25, 0x159c, 0x1a25, 0x159c, 0x1879, 0x1455, 0x1879, 0x1455, 0x17df, -0x1427, 0x17df, 0x1427, 0x1795, 0x144e, 0x1795, 0x144e, 0x1795, 0x144e, 0x159e, 0x12cc, -0x159e, 0x12cc, 0x1464, 0x1207, 0x1464, 0x1207, 0x135c, 0x1174, 0x135c, 0x1174, 0x1232, -0x10bc, 0x1232, 0x10bc, 0xf7c, 0xe73, 0xf7c, 0xe73, 0xf7c, 0xe73, 0xd10, 0xc70, -0xd10, 0xc70, 0xcc7, 0xc88, 0xcc7, 0xc88, 0xaeb, 0xb05, 0xaeb, 0xb05, 0x8a3, -0x90e, 0x8a3, 0x90e, 0x6dc, 0x78f, 0x6dc, 0x78f, 0x470, 0x561, 0x470, 0x561, -0x470, 0x561, 0x2c7, 0x3ef, 0x2c7, 0x3ef, 0xe9, 0x23f, 0xe9, 0x23f, 0xa, -0x186, 0xa, 0x186, 0xff90, 0x12b, 0xff90, 0x12b, 0xfe19, 0xffcd, 0xfe19, 0xffcd, -0xfe3c, 0x3, 0xfe3c, 0x3, 0xfe3c, 0x3, 0xfec5, 0x9c, 0xfec5, 0x9c, 0xfeeb, -0xcd, 0xfeeb, 0xcd, 0xfec9, 0xb3, 0xfec9, 0xb3, 0xfe74, 0x65, 0xfe74, 0x65, -0xfe7d, 0x72, 0xfe7d, 0x72, 0xfe7d, 0x72, 0xfe40, 0x39, 0xfe40, 0x39, 0xff16, -0x110, 0xff16, 0x110, 0x52, 0x24b, 0x52, 0x24b, 0x65, 0x25c, 0x65, 0x25c, -0x78, 0x26a, 0x78, 0x26a, 0x15a, 0x345, 0x15a, 0x345, 0x15a, 0x345, 0x14b, -0x32c, 0x14b, 0x32c, 0xed, 0x2c0, 0xed, 0x2c0, 0x1ea, 0x3aa, 0x1ea, 0x3aa, -0x149, 0x2f1, 0x149, 0x2f1, 0x158, 0x2e3, 0x158, 0x2e3, 0x229, 0x392, 0x229, -0x392, 0x229, 0x392, 0xd6, 0x216, 0xd6, 0x216, 0x172, 0x286, 0x172, 0x286, -0x1fb, 0x2dc, 0x1fb, 0x2dc, 0x177, 0x222, 0x177, 0x222, 0x1e0, 0x252, 0x1e0, -0x252, 0x1e0, 0x252, 0x179, 0x1af, 0x179, 0x1af, 0x22b, 0x225, 0x22b, 0x225, -0x3ee, 0x3ac, 0x3ee, 0x3ac, 0x4af, 0x433, 0x4af, 0x433, 0x4dd, 0x42b, 0x4dd, -0x42b, 0x511, 0x42d, 0x511, 0x42d, 0x511, 0x42d, 0x6b9, 0x5aa, 0x6b9, 0x5aa, -0x8ad, 0x77b, 0x8ad, 0x77b, 0x893, 0x748, 0x893, 0x748, 0x92b, 0x7cf, 0x92b, -0x7cf, 0x9b1, 0x84f, 0x9b1, 0x84f, 0x930, 0x7d3, 0x930, 0x7d3, 0x930, 0x7d3, -0x860, 0x712, 0x860, 0x712, 0x641, 0x50d, 0x641, 0x50d, 0x46a, 0x358, 0x46a, -0x358, 0x1f9, 0x112, 0x1f9, 0x112, 0x11a, 0x65, 0x11a, 0x65, 0x11a, 0x65, -0x2c, 0xffaf, 0x2c, 0xffaf, 0xfe81, 0xfe40, 0xfe81, 0xfe40, 0xfe9f, 0xfe9d, 0xfe9f, -0xfe9d, 0xfcc1, 0xfcfd, 0xfcc1, 0xfcfd, 0xfc39, 0xfcb2, 0xfc39, 0xfcb2, 0xfbc7, 0xfc7a, -0xfbc7, 0xfc7a, 0xfbc7, 0xfc7a, 0xf95f, 0xfa48, 0xf95f, 0xfa48, 0xf821, 0xf93a, 0xf821, -0xf93a, 0xf655, 0xf797, 0xf655, 0xf797, 0xf56b, 0xf6cd, 0xf56b, 0xf6cd, 0xf5af, 0xf72a, -0xf5af, 0xf72a, 0xf5af, 0xf72a, 0xf4db, 0xf666, 0xf4db, 0xf666, 0xf42d, 0xf5be, 0xf42d, -0xf5be, 0xf3bf, 0xf54f, 0xf3bf, 0xf54f, 0xf1fa, 0xf381, 0xf1fa, 0xf381, 0xf0ce, 0xf245, -0xf0ce, 0xf245, 0xf0ba, 0xf21c, 0xf0ba, 0xf21c, 0xf0ba, 0xf21c, 0xf0ce, 0xf216, 0xf0ce, -0xf216, 0xf0fd, 0xf226, 0xf0fd, 0xf226, 0xf25b, 0xf364, 0xf25b, 0xf364, 0xf351, 0xf438, -0xf351, 0xf438, 0xf306, 0xf3cb, 0xf306, 0xf3cb, 0xf480, 0xf523, 0xf480, 0xf523, 0xf480, -0xf523, 0xf578, 0xf5fa, 0xf578, 0xf5fa, 0xf68c, 0xf6f0, 0xf68c, 0xf6f0, 0xf723, 0xf769, -0xf723, 0xf769, 0xf727, 0xf751, 0xf727, 0xf751, 0xf7ce, 0xf7dd, 0xf7ce, 0xf7dd, 0xf7ce, -0xf7dd, 0xf740, 0xf736, 0xf740, 0xf736, 0xf7ee, 0xf7ca, 0xf7ee, 0xf7ca, 0xf8e3, 0xf8a6, -0xf8e3, 0xf8a6, 0xf9ba, 0xf962, 0xf9ba, 0xf962, 0xfb4d, 0xfad8, 0xfb4d, 0xfad8, 0xfc80, -0xfbec, 0xfc80, 0xfbec, 0xfc80, 0xfbec, 0xfcc0, 0xfc08, 0xfcc0, 0xfc08, 0xfe92, 0xfdb3, -0xfe92, 0xfdb3, 0x26, 0xff1a, 0x26, 0xff1a, 0x52, 0xff17, 0x52, 0xff17, 0x2b1, -0x140, 0x2b1, 0x140, 0x4ac, 0x302, 0x4ac, 0x302, 0x4ac, 0x302, 0x830, 0x64a, -0x830, 0x64a, 0xbbc, 0x997, 0xbbc, 0x997, 0xe4b, 0xbe7, 0xe4b, 0xbe7, 0x110e, -0xe6a, 0x110e, 0xe6a, 0x12c9, 0xfe7, 0x12c9, 0xfe7, 0x12c9, 0xfe7, 0x1690, 0x1374, -0x1690, 0x1374, 0x18c5, 0x1574, 0x18c5, 0x1574, 0x195e, 0x15df, 0x195e, 0x15df, 0x1bad, -0x1807, 0x1bad, 0x1807, 0x1d49, 0x1987, 0x1d49, 0x1987, 0x1d63, 0x1990, 0x1d63, 0x1990, -0x1d63, 0x1990, 0x1dcb, 0x19f2, 0x1dcb, 0x19f2, 0x1d74, 0x19a2, 0x1d74, 0x19a2, 0x1ce8, -0x1928, 0x1ce8, 0x1928, 0x1d3e, 0x199e, 0x1d3e, 0x199e, 0x1cde, 0x1969, 0x1cde, 0x1969, -0x1c52, 0x1913, 0x1c52, 0x1913, 0x1c52, 0x1913, 0x1ab3, 0x17b3, 0x1ab3, 0x17b3, 0x1903, -0x164b, 0x1903, 0x164b, 0x1856, 0x15ed, 0x1856, 0x15ed, 0x1829, 0x1613, 0x1829, 0x1613, -0x1708, 0x1547, 0x1708, 0x1547, 0x1708, 0x1547, 0x169a, 0x152f, 0x169a, 0x152f, 0x1634, -0x151d, 0x1634, 0x151d, 0x1444, 0x137f, 0x1444, 0x137f, 0x13ee, 0x1376, 0x13ee, 0x1376, -0x1257, 0x1225, 0x1257, 0x1225, 0x1130, 0x113c, 0x1130, 0x113c, 0x1130, 0x113c, 0x102f, -0x1071, 0x102f, 0x1071, 0xf2e, 0xf9e, 0xf2e, 0xf9e, 0xe41, 0xed4, 0xe41, 0xed4, -0xb29, 0xbd8, 0xb29, 0xbd8, 0x991, 0xa53, 0x991, 0xa53, 0x761, 0x82e, 0x761, -0x82e, 0x761, 0x82e, 0x683, 0x755, 0x683, 0x755, 0x65d, 0x72d, 0x65d, 0x72d, -0x53e, 0x609, 0x53e, 0x609, 0x5c5, 0x687, 0x5c5, 0x687, 0x716, 0x7cd, 0x716, -0x7cd, 0x716, 0x7cd, 0x92b, 0x9d6, 0x92b, 0x9d6, 0x976, 0xa16, 0x976, 0xa16, -0x97c, 0xa12, 0x97c, 0xa12, 0xa2d, 0xabb, 0xa2d, 0xabb, 0x99a, 0xa21, 0x99a, -0xa21, 0x9f5, 0xa78, 0x9f5, 0xa78, 0x9f5, 0xa78, 0x9d6, 0xa57, 0x9d6, 0xa57, -0x763, 0x7e3, 0x763, 0x7e3, 0x5c3, 0x644, 0x5c3, 0x644, 0x3f4, 0x476, 0x3f4, -0x476, 0x315, 0x397, 0x315, 0x397, 0x33f, 0x3bf, 0x33f, 0x3bf, 0x33f, 0x3bf, -0x23f, 0x2bc, 0x23f, 0x2bc, 0x28f, 0x305, 0x28f, 0x305, 0xde, 0x148, 0xde, -0x148, 0xff93, 0xffed, 0xff93, 0xffed, 0xfe2c, 0xfe71, 0xfe2c, 0xfe71, 0xfe2c, 0xfe71, -0xfb34, 0xfb5e, 0xfb34, 0xfb5e, 0xfbae, 0xfbb8, 0xfbae, 0xfbb8, 0xfc20, 0xfc05, 0xfc20, -0xfc05, 0xfd62, 0xfd1e, 0xfd62, 0xfd1e, 0xfeba, 0xfe4b, 0xfeba, 0xfe4b, 0xfe37, 0xfd99, -0xfe37, 0xfd99, 0xfe37, 0xfd99, 0xff22, 0xfe56, 0xff22, 0xfe56, 0xfff3, 0xfef9, 0xfff3, -0xfef9, 0xdf, 0xffba, 0xdf, 0xffba, 0x2a0, 0x153, 0x2a0, 0x153, 0x18c, 0x1f, -0x18c, 0x1f, 0x207, 0x80, 0x207, 0x80, 0x207, 0x80, 0x520, 0x388, 0x520, -0x388, 0x542, 0x3a3, 0x542, 0x3a3, 0x5e0, 0x444, 0x5e0, 0x444, 0x592, 0x404, -0x592, 0x404, 0x437, 0x2c3, 0x437, 0x2c3, 0x437, 0x2c3, 0x2fb, 0x1ab, 0x2fb, -0x1ab, 0x153, 0x32, 0x153, 0x32, 0xc6, 0xffdd, 0xc6, 0xffdd, 0xfdba, 0xfd12, -0xfdba, 0xfd12, 0xfb78, 0xfb17, 0xfb78, 0xfb17, 0xfa9a, 0xfa85, 0xfa9a, 0xfa85, 0xfa9a, -0xfa85, 0xf8ce, 0xf908, 0xf8ce, 0xf908, 0xf785, 0xf810, 0xf785, 0xf810, 0xf69b, 0xf775, -0xf69b, 0xf775, 0xf64d, 0xf773, 0xf64d, 0xf773, 0xf3e9, 0xf557, 0xf3e9, 0xf557, 0xf22a, -0xf3d9, 0xf22a, 0xf3d9, 0xf22a, 0xf3d9, 0xf265, 0xf44e, 0xf265, 0xf44e, 0xf04e, 0xf267, -0xf04e, 0xf267, 0xef81, 0xf1c1, 0xef81, 0xf1c1, 0xf033, 0xf290, 0xf033, 0xf290, 0xef1a, -0xf189, 0xef1a, 0xf189, 0xef1a, 0xf189, 0xee62, 0xf0da, 0xee62, 0xf0da, 0xed3b, 0xefb2, -0xed3b, 0xefb2, 0xeca9, 0xef17, 0xeca9, 0xef17, 0xed17, 0xef74, 0xed17, 0xef74, 0xecef, -0xef36, 0xecef, 0xef36, 0xed2c, 0xef57, 0xed2c, 0xef57, 0xed2c, 0xef57, 0xecb5, 0xeec1, -0xecb5, 0xeec1, 0xed28, 0xef14, 0xed28, 0xef14, 0xee9b, 0xf065, 0xee9b, 0xf065, 0xef6f, -0xf118, 0xef6f, 0xf118, 0xefda, 0xf165, 0xefda, 0xf165, 0xf0fc, 0xf26b, 0xf0fc, 0xf26b, -0xf0fc, 0xf26b, 0xf25e, 0xf3b4, 0xf25e, 0xf3b4, 0xf28b, 0xf3cb, 0xf28b, 0xf3cb, 0xf3f9, -0xf528, 0xf3f9, 0xf528, 0xf430, 0xf551, 0xf430, 0xf551, 0xf30f, 0xf424, 0xf30f, 0xf424, -0xf30f, 0xf424, 0xf359, 0xf465, 0xf359, 0xf465, 0xf397, 0xf49c, 0xf397, 0xf49c, 0xf3e4, -0xf4e2, 0xf3e4, 0xf4e2, 0xf3c2, 0xf4ba, 0xf3c2, 0xf4ba, 0xf4a3, 0xf593, 0xf4a3, 0xf593, -0xf5dd, 0xf6c3, 0xf5dd, 0xf6c3, 0xf5dd, 0xf6c3, 0xf67c, 0xf755, 0xf67c, 0xf755, 0xf7fd, -0xf8c6, 0xf7fd, 0xf8c6, 0xf82f, 0xf8e5, 0xf82f, 0xf8e5, 0xf7a4, 0xf842, 0xf7a4, 0xf842, -0xf795, 0xf81a, 0xf795, 0xf81a, 0xf795, 0xf81a, 0xf884, 0xf8ea, 0xf884, 0xf8ea, 0xfa19, -0xfa60, 0xfa19, 0xfa60, 0xf96e, 0xf994, 0xf96e, 0xf994, 0xf99b, 0xf99f, 0xf99b, 0xf99f, -0xfa01, 0xf9e5, 0xfa01, 0xf9e5, 0xf98b, 0xf952, 0xf98b, 0xf952, 0xf98b, 0xf952, 0xfbf8, -0xfba6, 0xfbf8, 0xfba6, 0xfc5a, 0xfbf5, 0xfc5a, 0xfbf5, 0xfbd9, 0xfb67, 0xfbd9, 0xfb67, -0xfe05, 0xfd8e, 0xfe05, 0xfd8e, 0xfe16, 0xfda5, 0xfe16, 0xfda5, 0xfddf, 0xfd7e, 0xfddf, -0xfd7e, 0xfddf, 0xfd7e, 0xfee6, 0xfe9e, 0xfee6, 0xfe9e, 0xfe03, 0xfde0, 0xfe03, 0xfde0, -0xfd9f, 0xfdaa, 0xfd9f, 0xfdaa, 0xfda6, 0xfdeb, 0xfda6, 0xfdeb, 0xfc35, 0xfcbb, 0xfc35, -0xfcbb, 0xfc35, 0xfcbb, 0xfb0b, 0xfbda, 0xfb0b, 0xfbda, 0xf87b, 0xf999, 0xf87b, 0xf999, -0xf73e, 0xf8b0, 0xf73e, 0xf8b0, 0xf6e4, 0xf8aa, 0xf6e4, 0xf8aa, 0xf416, 0xf630, 0xf416, -0xf630, 0xf273, 0xf4e1, 0xf273, 0xf4e1, 0xf273, 0xf4e1, 0xf09f, 0xf35a, 0xf09f, 0xf35a, -0xee6e, 0xf171, 0xee6e, 0xf171, 0xecef, 0xf031, 0xecef, 0xf031, 0xec04, 0xef7b, 0xec04, -0xef7b, 0xeab9, 0xee5b, 0xeab9, 0xee5b, 0xe788, 0xeb48, 0xe788, 0xeb48, 0xe788, 0xeb48, -0xe783, 0xeb54, 0xe783, 0xeb54, 0xe803, 0xebd9, 0xe803, 0xebd9, 0xe6bf, 0xea8e, 0xe6bf, -0xea8e, 0xe7f6, 0xebb1, 0xe7f6, 0xebb1, 0xe7c6, 0xeb62, 0xe7c6, 0xeb62, 0xe7c6, 0xeb62, -0xe8e1, 0xec56, 0xe8e1, 0xec56, 0xea88, 0xedcc, 0xea88, 0xedcc, 0xe9ca, 0xecd6, 0xe9ca, -0xecd6, 0xeba1, 0xee72, 0xeba1, 0xee72, 0xec1d, 0xeeae, 0xec1d, 0xeeae, 0xee4d, 0xf09c, -0xee4d, 0xf09c, 0xee4d, 0xf09c, 0xf184, 0xf391, 0xf184, 0xf391, 0xf209, 0xf3d5, 0xf209, -0xf3d5, 0xf40e, 0xf59c, 0xf40e, 0xf59c, 0xf597, 0xf6ea, 0xf597, 0xf6ea, 0xf7a6, 0xf8c2, -0xf7a6, 0xf8c2, 0xf888, 0xf970, 0xf888, 0xf970, 0xf888, 0xf970, 0xf86b, 0xf924, 0xf86b, -0xf924, 0xf7aa, 0xf837, 0xf7aa, 0xf837, 0xf63d, 0xf6a2, 0xf63d, 0xf6a2, 0xf7a2, 0xf7e1, -0xf7a2, 0xf7e1, 0xf7fb, 0xf816, 0xf7fb, 0xf816, 0xf7fb, 0xf816, 0xf886, 0xf87e, 0xf886, -0xf87e, 0xfb3d, 0xfb10, 0xfb3d, 0xfb10, 0xfc22, 0xfbd0, 0xfc22, 0xfbd0, 0xfc5c, 0xfbe2, -0xfc5c, 0xfbe2, 0xfdb4, 0xfd0f, 0xfdb4, 0xfd0f, 0xfde2, 0xfd10, 0xfde2, 0xfd10, 0xfde2, -0xfd10, 0xfdee, 0xfcea, 0xfdee, 0xfcea, 0xfed6, 0xfd9d, 0xfed6, 0xfd9d, 0xae, 0xff3d, -0xae, 0xff3d, 0x2b8, 0x10c, 0x2b8, 0x10c, 0x2dc, 0xf4, 0x2dc, 0xf4, 0x3ec, -0x1c7, 0x3ec, 0x1c7, 0x3ec, 0x1c7, 0x642, 0x3e0, 0x642, 0x3e0, 0x760, 0x4c4, -0x760, 0x4c4, 0x885, 0x5b4, 0x885, 0x5b4, 0xa38, 0x736, 0xa38, 0x736, 0x9ed, -0x6c2, 0x9ed, 0x6c2, 0x9ed, 0x6c2, 0xb31, 0x7e6, 0xb31, 0x7e6, 0xd82, 0xa20, -0xd82, 0xa20, 0xdee, 0xa81, 0xdee, 0xa81, 0xfd4, 0xc68, 0xfd4, 0xc68, 0x1026, -0xcc6, 0x1026, 0xcc6, 0x1032, 0xceb, 0x1032, 0xceb, 0x1032, 0xceb, 0x1178, 0xe55, -0x1178, 0xe55, 0x11cd, 0xeda, 0x11cd, 0xeda, 0x11f4, 0xf3a, 0x11f4, 0xf3a, 0x108d, -0xe15, 0x108d, 0xe15, 0xe6a, 0xc3a, 0xe6a, 0xc3a, 0xe02, 0xc20, 0xe02, 0xc20, -0xe02, 0xc20, 0xe0f, 0xc7d, 0xe0f, 0xc7d, 0xe40, 0xcfe, 0xe40, 0xcfe, 0xfdf, -0xeec, 0xfdf, 0xeec, 0xe7c, 0xdd3, 0xe7c, 0xdd3, 0xcfd, 0xc99, 0xcfd, 0xc99, -0xcfd, 0xc99, 0xd2d, 0xd07, 0xd2d, 0xd07, 0xc3c, 0xc4a, 0xc3c, 0xc4a, 0xbdd, -0xc15, 0xbdd, 0xc15, 0xa65, 0xabc, 0xa65, 0xabc, 0xa2e, 0xa99, 0xa2e, 0xa99, -0x97c, 0x9ef, 0x97c, 0x9ef, 0x97c, 0x9ef, 0x72b, 0x79c, 0x72b, 0x79c, 0x5bd, -0x621, 0x5bd, 0x621, 0x45b, 0x4a9, 0x45b, 0x4a9, 0x3fd, 0x42d, 0x3fd, 0x42d, -0x3a2, 0x3ae, 0x3a2, 0x3ae, 0x438, 0x41b, 0x438, 0x41b, 0x438, 0x41b, 0x467, -0x41f, 0x467, 0x41f, 0x478, 0x403, 0x478, 0x403, 0x6a5, 0x605, 0x6a5, 0x605, -0x736, 0x66c, 0x736, 0x66c, 0x72b, 0x63b, 0x72b, 0x63b, 0x72b, 0x63b, 0x820, -0x70f, 0x820, 0x70f, 0x854, 0x727, 0x854, 0x727, 0x972, 0x82f, 0x972, 0x82f, -0xa3a, 0x8e6, 0xa3a, 0x8e6, 0xa60, 0x901, 0xa60, 0x901, 0xaf9, 0x995, 0xaf9, -0x995, 0xaf9, 0x995, 0x9ff, 0x89a, 0x9ff, 0x89a, 0xaa2, 0x940, 0xaa2, 0x940, -0xadc, 0x980, 0xadc, 0x980, 0xa05, 0x8b0, 0xa05, 0x8b0, 0xa3d, 0x8f0, 0xa3d, -0x8f0, 0x801, 0x6bb, 0x801, 0x6bb, 0x801, 0x6bb, 0x6fd, 0x5bd, 0x6fd, 0x5bd, -0x629, 0x4ed, 0x629, 0x4ed, 0x3db, 0x29f, 0x3db, 0x29f, 0x339, 0x1fa, 0x339, -0x1fa, 0x38a, 0x246, 0x38a, 0x246, 0x38a, 0x246, 0x442, 0x2f5, 0x442, 0x2f5, -0x3da, 0x281, 0x3da, 0x281, 0x2f4, 0x18f, 0x2f4, 0x18f, 0x305, 0x193, 0x305, -0x193, 0x2d4, 0x155, 0x2d4, 0x155, 0x309, 0x17f, 0x309, 0x17f, 0x309, 0x17f, -0x479, 0x2e8, 0x479, 0x2e8, 0x37b, 0x1e7, 0x37b, 0x1e7, 0x28e, 0xfe, 0x28e, -0xfe, 0x33f, 0x1ba, 0x33f, 0x1ba, 0x23f, 0xce, 0x23f, 0xce, 0x1b8, 0x64, -0x1b8, 0x64, 0x1b8, 0x64, 0xffd1, 0xfea3, 0xffd1, 0xfea3, 0xfe7d, 0xfd80, 0xfe7d, -0xfd80, 0xff68, 0xfea4, 0xff68, 0xfea4, 0xfd9e, 0xfd1c, 0xfd9e, 0xfd1c, 0xfaa8, 0xfa71, -0xfaa8, 0xfa71, 0xfaa8, 0xfa71, 0xf7c8, 0xf7e2, 0xf7c8, 0xf7e2, 0xf43d, 0xf4ad, 0xf43d, -0xf4ad, 0xf241, 0xf30a, 0xf241, 0xf30a, 0xf172, 0xf294, 0xf172, 0xf294, 0xf0a0, 0xf21c, -0xf0a0, 0xf21c, 0xf04c, 0xf21d, 0xf04c, 0xf21d, 0xf04c, 0xf21d, 0xef79, 0xf19a, 0xef79, -0xf19a, 0xef2b, 0xf194, 0xef2b, 0xf194, 0xefe1, 0xf28a, 0xefe1, 0xf28a, 0xf05a, 0xf336, -0xf05a, 0xf336, 0xefa7, 0xf2ac, 0xefa7, 0xf2ac, 0xefa7, 0xf2ac, 0xeedb, 0xf1fa, 0xeedb, -0xf1fa, 0xef2f, 0xf25c, 0xef2f, 0xf25c, 0xeffe, 0xf32a, 0xeffe, 0xf32a, 0xf0c5, 0xf3e3, -0xf0c5, 0xf3e3, 0xf03f, 0xf341, 0xf03f, 0xf341, 0xf093, 0xf36e, 0xf093, 0xf36e, 0xf093, -0xf36e, 0xf0a8, 0xf351, 0xf0a8, 0xf351, 0xf082, 0xf2f0, 0xf082, 0xf2f0, 0xf1a8, 0xf3d4, -0xf1a8, 0xf3d4, 0xf224, 0xf407, 0xf224, 0xf407, 0xf3db, 0xf572, 0xf3db, 0xf572, 0xf553, -0xf69c, 0xf553, 0xf69c, 0xf553, 0xf69c, 0xf684, 0xf77f, 0xf684, 0xf77f, 0xf847, 0xf8f5, -0xf847, 0xf8f5, 0xfa47, 0xfaaa, 0xfa47, 0xfaaa, 0xfcd6, 0xfcf1, 0xfcd6, 0xfcf1, 0xff03, -0xfedb, 0xff03, 0xfedb, 0xff03, 0xfedb, 0xfc, 0x97, 0xfc, 0x97, 0x178, 0xd9, -0x178, 0xd9, 0x2a8, 0x1d6, 0x2a8, 0x1d6, 0x417, 0x315, 0x417, 0x315, 0x500, -0x3d2, 0x500, 0x3d2, 0x720, 0x5ca, 0x720, 0x5ca, 0x720, 0x5ca, 0x831, 0x6b6, -0x831, 0x6b6, 0x9b5, 0x816, 0x9b5, 0x816, 0xb15, 0x953, 0xb15, 0x953, 0xbb7, -0x9d2, 0xbb7, 0x9d2, 0xde5, 0xbdc, 0xde5, 0xbdc, 0xe42, 0xc14, 0xe42, 0xc14, -0xe42, 0xc14, 0xeb5, 0xc62, 0xeb5, 0xc62, 0x108c, 0xe13, 0x108c, 0xe13, 0x10af, -0xe0e, 0x10af, 0xe0e, 0x12ac, 0xfe3, 0x12ac, 0xfe3, 0x1482, 0x1191, 0x1482, 0x1191, -0x1482, 0x1191, 0x1550, 0x123a, 0x1550, 0x123a, 0x1763, 0x142a, 0x1763, 0x142a, 0x189b, -0x1542, 0x189b, 0x1542, 0x1add, 0x176b, 0x1add, 0x176b, 0x1c0d, 0x1888, 0x1c0d, 0x1888, -0x1c89, 0x18fa, 0x1c89, 0x18fa, 0x1c89, 0x18fa, 0x1e4e, 0x1abe, 0x1e4e, 0x1abe, 0x1e77, -0x1af1, 0x1e77, 0x1af1, 0x1ed2, 0x1b61, 0x1ed2, 0x1b61, 0x1ead, 0x1b5d, 0x1ead, 0x1b5d, -0x1dfd, 0x1ad9, 0x1dfd, 0x1ad9, 0x1d73, 0x1a87, 0x1d73, 0x1a87, 0x1d73, 0x1a87, 0x1b1a, -0x1872, 0x1b1a, 0x1872, 0x196b, 0x1710, 0x196b, 0x1710, 0x1851, 0x164d, 0x1851, 0x164d, -0x15c5, 0x141e, 0x15c5, 0x141e, 0x1358, 0x1214, 0x1358, 0x1214, 0x1358, 0x1214, 0x1181, -0x10a2, 0x1181, 0x10a2, 0xfb3, 0xf3b, 0xfb3, 0xf3b, 0xde7, 0xdd3, 0xde7, 0xdd3, -0xb91, 0xbdf, 0xb91, 0xbdf, 0x96c, 0xa14, 0x96c, 0xa14, 0x746, 0x841, 0x746, -0x841, 0x746, 0x841, 0x4c9, 0x60e, 0x4c9, 0x60e, 0x2cc, 0x44e, 0x2cc, 0x44e, -0x127, 0x2db, 0x127, 0x2db, 0x8d, 0x265, 0x8d, 0x265, 0xffee, 0x1dc, 0xffee, -0x1dc, 0xff15, 0x10d, 0xff15, 0x10d, 0xff15, 0x10d, 0xfe71, 0x64, 0xfe71, 0x64, -0xfd63, 0xff45, 0xfd63, 0xff45, 0xfd0c, 0xfed1, 0xfd0c, 0xfed1, 0xfd0b, 0xfeab, 0xfd0b, -0xfeab, 0xfd4e, 0xfebe, 0xfd4e, 0xfebe, 0xfd4e, 0xfebe, 0xfd12, 0xfe4d, 0xfd12, 0xfe4d, -0xfd3e, 0xfe3e, 0xfd3e, 0xfe3e, 0xff8e, 0x50, 0xff8e, 0x50, 0x24a, 0x2cd, 0x24a, -0x2cd, 0x569, 0x5ac, 0x569, 0x5ac, 0x786, 0x78b, 0x786, 0x78b, 0x786, 0x78b, -0x7c4, 0x78d, 0x7c4, 0x78d, 0x8fc, 0x88d, 0x8fc, 0x88d, 0xa5d, 0x9bb, 0xa5d, -0x9bb, 0xadb, 0xa09, 0xadb, 0xa09, 0xadf, 0x9e2, 0xadf, 0x9e2, 0x990, 0x86b, -0x990, 0x86b, 0x990, 0x86b, 0x92a, 0x7e3, 0x92a, 0x7e3, 0x92b, 0x7c3, 0x92b, -0x7c3, 0x919, 0x794, 0x919, 0x794, 0xa66, 0x8c5, 0xa66, 0x8c5, 0xa5c, 0x8a0, -0xa5c, 0x8a0, 0xa5c, 0x8a0, 0x9f8, 0x821, 0x9f8, 0x821, 0xa7b, 0x888, 0xa7b, -0x888, 0xa79, 0x86b, 0xa79, 0x86b, 0x9f8, 0x7cd, 0x9f8, 0x7cd, 0xa3e, 0x7f5, -0xa3e, 0x7f5, 0xae6, 0x87f, 0xae6, 0x87f, 0xae6, 0x87f, 0xb6f, 0x8e9, 0xb6f, -0x8e9, 0xc1b, 0x978, 0xc1b, 0x978, 0xb8c, 0x8cd, 0xb8c, 0x8cd, 0xb57, 0x880, -0xb57, 0x880, 0xbaf, 0x8c5, 0xbaf, 0x8c5, 0xd5b, 0xa64, 0xd5b, 0xa64, 0xd5b, -0xa64, 0xdf5, 0xaf8, 0xdf5, 0xaf8, 0xbf6, 0x8fc, 0xbf6, 0x8fc, 0xc80, 0x995, -0xc80, 0x995, 0xc67, 0x996, 0xc67, 0x996, 0xb68, 0x8be, 0xb68, 0x8be, 0xb68, -0x8be, 0xae0, 0x869, 0xae0, 0x869, 0x87c, 0x647, 0x87c, 0x647, 0x67a, 0x494, -0x67a, 0x494, 0x4e9, 0x35e, 0x4e9, 0x35e, 0x3a7, 0x285, 0x3a7, 0x285, 0x25c, -0x1ac, 0x25c, 0x1ac, 0x25c, 0x1ac, 0xffcf, 0xff9b, 0xffcf, 0xff9b, 0xfd89, 0xfdd9, -0xfd89, 0xfdd9, 0xfbbf, 0xfc97, 0xfbbf, 0xfc97, 0xf94e, 0xfab0, 0xf94e, 0xfab0, 0xf73e, -0xf92b, 0xf73e, 0xf92b, 0xf4e6, 0xf75c, 0xf4e6, 0xf75c, 0xf4e6, 0xf75c, 0xf250, 0xf549, -0xf250, 0xf549, 0xefb1, 0xf325, 0xefb1, 0xf325, 0xec89, 0xf070, 0xec89, 0xf070, 0xea6c, -0xeebb, 0xea6c, 0xeebb, 0xe7af, 0xec58, 0xe7af, 0xec58, 0xe7af, 0xec58, 0xe469, 0xe95f, -0xe469, 0xe95f, 0xe231, 0xe764, 0xe231, 0xe764, 0xe093, 0xe5f4, 0xe093, 0xe5f4, 0xde4e, -0xe3ce, 0xde4e, 0xe3ce, 0xdc22, 0xe1b1, 0xdc22, 0xe1b1, 0xdb58, 0xe0e8, 0xdb58, 0xe0e8, -0xdb58, 0xe0e8, 0xdac4, 0xe048, 0xdac4, 0xe048, 0xdaae, 0xe019, 0xdaae, 0xe019, 0xda7d, -0xdfc6, 0xda7d, 0xdfc6, 0xdb67, 0xe085, 0xdb67, 0xe085, 0xdd45, 0xe231, 0xdd45, 0xe231, -0xdefc, 0xe3af, 0xdefc, 0xe3af, 0xdefc, 0xe3af, 0xe04f, 0xe4c7, 0xe04f, 0xe4c7, 0xe247, -0xe681, 0xe247, 0xe681, 0xe568, 0xe962, 0xe568, 0xe962, 0xe7b6, 0xeb71, 0xe7b6, 0xeb71, -0xea36, 0xedb3, 0xea36, 0xedb3, 0xea36, 0xedb3, 0xeb22, 0xee61, 0xeb22, 0xee61, 0xec6a, -0xef6e, 0xec6a, 0xef6e, 0xed5f, 0xf029, 0xed5f, 0xf029, 0xee3e, 0xf0ce, 0xee3e, 0xf0ce, -0xf0a7, 0xf300, 0xf0a7, 0xf300, 0xf038, 0xf259, 0xf038, 0xf259, 0xf038, 0xf259, 0xf201, -0xf3eb, 0xf201, 0xf3eb, 0xf417, 0xf5c9, 0xf417, 0xf5c9, 0xf475, 0xf5ed, 0xf475, 0xf5ed, -0xf605, 0xf741, 0xf605, 0xf741, 0xf6e4, 0xf7e3, 0xf6e4, 0xf7e3, 0xf6e4, 0xf7e3, 0xf8bb, -0xf97b, 0xf8bb, 0xf97b, 0xfae1, 0xfb5e, 0xfae1, 0xfb5e, 0xfd89, 0xfdc3, 0xfd89, 0xfdc3, -0xc5, 0xba, 0xc5, 0xba, 0x277, 0x226, 0x277, 0x226, 0x3ae, 0x319, 0x3ae, -0x319, 0x3ae, 0x319, 0x52c, 0x454, 0x52c, 0x454, 0x5a1, 0x48a, 0x5a1, 0x48a, -0x7b7, 0x667, 0x7b7, 0x667, 0xa86, 0x903, 0xa86, 0x903, 0xb80, 0x9d3, 0xb80, -0x9d3, 0xd49, 0xb7b, 0xd49, 0xb7b, 0xd49, 0xb7b, 0xea5, 0xcc3, 0xea5, 0xcc3, -0xe7b, 0xc92, 0xe7b, 0xc92, 0xea4, 0xcc2, 0xea4, 0xcc2, 0xfd7, 0xe0a, 0xfd7, -0xe0a, 0xf46, 0xd9d, 0xf46, 0xd9d, 0xf46, 0xd9d, 0xdf8, 0xc81, 0xdf8, 0xc81, -0xcc0, 0xb8a, 0xcc0, 0xb8a, 0xa87, 0x99f, 0xa87, 0x99f, 0x865, 0x7d8, 0x865, -0x7d8, 0x51b, 0x4f3, 0x51b, 0x4f3, 0x300, 0x345, 0x300, 0x345, 0x300, 0x345, -0xd9, 0x192, 0xd9, 0x192, 0xfe81, 0xffb4, 0xfe81, 0xffb4, 0xfd68, 0xff14, 0xfd68, -0xff14, 0xfa9e, 0xfcc4, 0xfa9e, 0xfcc4, 0xf805, 0xfaa2, 0xf805, 0xfaa2, 0xf652, 0xf960, -0xf652, 0xf960, 0xf652, 0xf960, 0xf430, 0xf7a8, 0xf430, 0xf7a8, 0xf16d, 0xf546, 0xf16d, -0xf546, 0xeeb0, 0xf2de, 0xeeb0, 0xf2de, 0xeccf, 0xf147, 0xeccf, 0xf147, 0xeb9e, 0xf052, -0xeb9e, 0xf052, 0xeb9e, 0xf052, 0xea84, 0xef67, 0xea84, 0xef67, 0xe8a7, 0xedac, 0xe8a7, -0xedac, 0xe676, 0xeb8e, 0xe676, 0xeb8e, 0xe576, 0xea96, 0xe576, 0xea96, 0xe58b, 0xeaa5, -0xe58b, 0xeaa5, 0xe584, 0xea8e, 0xe584, 0xea8e, 0xe584, 0xea8e, 0xe521, 0xea10, 0xe521, -0xea10, 0xe48d, 0xe959, 0xe48d, 0xe959, 0xe418, 0xe8b9, 0xe418, 0xe8b9, 0xe3b4, 0xe825, -0xe3b4, 0xe825, 0xe58b, 0xe9c6, 0xe58b, 0xe9c6, 0xe768, 0xeb6b, 0xe768, 0xeb6b, 0xe768, -0xeb6b, 0xe769, 0xeb2f, 0xe769, 0xeb2f, 0xe90f, 0xec97, 0xe90f, 0xec97, 0xea61, 0xeda9, -0xea61, 0xeda9, 0xeb5d, 0xee64, 0xeb5d, 0xee64, 0xec11, 0xeed6, 0xec11, 0xeed6, 0xec11, -0xeed6, 0xece4, 0xef65, 0xece4, 0xef65, 0xeeec, 0xf128, 0xeeec, 0xf128, 0xef15, 0xf10a, -0xef15, 0xf10a, 0xf07e, 0xf22a, 0xf07e, 0xf22a, 0xf33f, 0xf49f, 0xf33f, 0xf49f, 0xf440, -0xf550, 0xf440, 0xf550, 0xf440, 0xf550, 0xf51c, 0xf5d9, 0xf51c, 0xf5d9, 0xf698, 0xf6fe, -0xf698, 0xf6fe, 0xf7a2, 0xf7ad, 0xf7a2, 0xf7ad, 0xf8db, 0xf887, 0xf8db, 0xf887, 0xfaf1, -0xfa3a, 0xfaf1, 0xfa3a, 0xfd2c, 0xfc10, 0xfd2c, 0xfc10, 0xfd2c, 0xfc10, 0xff42, 0xfdbd, -0xff42, 0xfdbd, 0xffa7, 0xfdba, 0xffa7, 0xfdba, 0x191, 0xff3b, 0x191, 0xff3b, 0x3a0, -0xe4, 0x3a0, 0xe4, 0x54e, 0x22f, 0x54e, 0x22f, 0x54e, 0x22f, 0x8a3, 0x526, -0x8a3, 0x526, 0x95e, 0x58a, 0x95e, 0x58a, 0xb71, 0x74e, 0xb71, 0x74e, 0xe53, -0x9eb, 0xe53, 0x9eb, 0x1082, 0xbe1, 0x1082, 0xbe1, 0x1313, 0xe46, 0x1313, 0xe46, -0x1313, 0xe46, 0x1460, 0xf74, 0x1460, 0xf74, 0x167d, 0x1180, 0x167d, 0x1180, 0x1859, -0x135b, 0x1859, 0x135b, 0x1961, 0x1470, 0x1961, 0x1470, 0x199c, 0x14c5, 0x199c, 0x14c5, -0x198d, 0x14df, 0x198d, 0x14df, 0x198d, 0x14df, 0x18b4, 0x143b, 0x18b4, 0x143b, 0x1796, -0x135d, 0x1796, 0x135d, 0x175b, 0x136b, 0x175b, 0x136b, 0x164c, 0x12ad, 0x164c, 0x12ad, -0x1531, 0x11e9, 0x1531, 0x11e9, 0x1531, 0x11e9, 0x14d4, 0x11e5, 0x14d4, 0x11e5, 0x135f, -0x10cb, 0x135f, 0x10cb, 0x1131, 0xef9, 0x1131, 0xef9, 0x1020, 0xe41, 0x1020, 0xe41, -0xe86, 0xcfb, 0xe86, 0xcfb, 0xcd8, 0xb9d, 0xcd8, 0xb9d, 0xcd8, 0xb9d, 0xb2b, -0xa39, 0xb2b, 0xa39, 0xa83, 0x9d4, 0xa83, 0x9d4, 0x955, 0x8df, 0x955, 0x8df, -0x662, 0x61f, 0x662, 0x61f, 0x53e, 0x524, 0x53e, 0x524, 0x3c9, 0x3d1, 0x3c9, -0x3d1, 0x3c9, 0x3d1, 0x237, 0x25a, 0x237, 0x25a, 0x94, 0xca, 0x94, 0xca, -0xff42, 0xff87, 0xff42, 0xff87, 0xff31, 0xff7e, 0xff31, 0xff7e, 0x27, 0x7a, 0x27, -0x7a, 0x27, 0x7a, 0x101, 0x156, 0x101, 0x156, 0x68, 0xbd, 0x68, 0xbd, -0x56, 0xaa, 0x56, 0xaa, 0xffa8, 0xfff9, 0xffa8, 0xfff9, 0xff69, 0xffb7, 0xff69, -0xffb7, 0xff1e, 0xff6a, 0xff1e, 0xff6a, 0xff1e, 0xff6a, 0xfea4, 0xfeed, 0xfea4, 0xfeed, -0xfdd3, 0xfe18, 0xfdd3, 0xfe18, 0xfce4, 0xfd25, 0xfce4, 0xfd25, 0xfcf5, 0xfd31, 0xfcf5, -0xfd31, 0xfba3, 0xfbd7, 0xfba3, 0xfbd7, 0xfc34, 0xfc5e, 0xfc34, 0xfc5e, 0xfc34, 0xfc5e, -0xfdb5, 0xfdd2, 0xfdb5, 0xfdd2, 0xfdea, 0xfdf6, 0xfdea, 0xfdf6, 0xfd9e, 0xfd96, 0xfd9e, -0xfd96, 0xfd33, 0xfd11, 0xfd33, 0xfd11, 0xfd92, 0xfd50, 0xfd92, 0xfd50, 0xfd92, 0xfd50, -0xfd1a, 0xfcb4, 0xfd1a, 0xfcb4, 0xfcdb, 0xfc4b, 0xfcdb, 0xfc4b, 0xfd4a, 0xfc8c, 0xfd4a, -0xfc8c, 0xfdf5, 0xfd04, 0xfdf5, 0xfd04, 0xff51, 0xfe2a, 0xff51, 0xfe2a, 0x1ae, 0x4e, -0x1ae, 0x4e, 0x1ae, 0x4e, 0x380, 0x1e6, 0x380, 0x1e6, 0x3d4, 0x201, 0x3d4, -0x201, 0x4f0, 0x2e5, 0x4f0, 0x2e5, 0x569, 0x329, 0x569, 0x329, 0x5bd, 0x34d, -0x5bd, 0x34d, 0x723, 0x48a, 0x723, 0x48a, 0x723, 0x48a, 0x704, 0x448, 0x704, -0x448, 0x71a, 0x446, 0x71a, 0x446, 0x7c2, 0x4dd, 0x7c2, 0x4dd, 0x7cd, 0x4e2, -0x7cd, 0x4e2, 0x885, 0x59f, 0x885, 0x59f, 0x885, 0x59f, 0x828, 0x550, 0x828, -0x550, 0x6a3, 0x3e4, 0x6a3, 0x3e4, 0x5ad, 0x312, 0x5ad, 0x312, 0x504, 0x293, -0x504, 0x293, 0x4f3, 0x2b6, 0x4f3, 0x2b6, 0x40b, 0x208, 0x40b, 0x208, 0x40b, -0x208, 0x2ac, 0xe7, 0x2ac, 0xe7, 0x24b, 0xc8, 0x24b, 0xc8, 0x1d7, 0x97, -0x1d7, 0x97, 0x188, 0x8b, 0x188, 0x8b, 0x8f, 0xffd3, 0x8f, 0xffd3, 0x8f, -0xffd3, 0x24, 0xffa6, 0x24, 0xffa6, 0x7c, 0x38, 0x7c, 0x38, 0x22, 0x12, -0x22, 0x12, 0xff6f, 0xff8c, 0xff6f, 0xff8c, 0xfee9, 0xff2c, 0xfee9, 0xff2c, 0xff37, -0xff99, 0xff37, 0xff99, 0xff37, 0xff99, 0xfda0, 0xfe1a, 0xfda0, 0xfe1a, 0xfbd8, 0xfc61, -0xfbd8, 0xfc61, 0xfa48, 0xfadb, 0xfa48, 0xfadb, 0xf865, 0xf8fb, 0xf865, 0xf8fb, 0xf817, -0xf8aa, 0xf817, 0xf8aa, 0xf77f, 0xf80c, 0xf77f, 0xf80c, 0xf77f, 0xf80c, 0xf6e8, 0xf76b, -0xf6e8, 0xf76b, 0xf693, 0xf709, 0xf693, 0xf709, 0xf6e8, 0xf751, 0xf6e8, 0xf751, 0xf7d5, -0xf82f, 0xf7d5, 0xf82f, 0xf87c, 0xf8c9, 0xf87c, 0xf8c9, 0xf87c, 0xf8c9, 0xf8f8, 0xf938, -0xf8f8, 0xf938, 0xfac4, 0xfaf9, 0xfac4, 0xfaf9, 0xfb61, 0xfb8d, 0xfb61, 0xfb8d, 0xfaf1, -0xfb16, 0xfaf1, 0xfb16, 0xfbbb, 0xfbd9, 0xfbbb, 0xfbd9, 0xfac0, 0xfada, 0xfac0, 0xfada, -0xfac0, 0xfada, 0xfa60, 0xfa76, 0xfa60, 0xfa76, 0xf9dd, 0xf9ee, 0xf9dd, 0xf9ee, 0xf89d, -0xf8a9, 0xf89d, 0xf8a9, 0xf821, 0xf827, 0xf821, 0xf827, 0xf8c3, 0xf8c0, 0xf8c3, 0xf8c0, -0xf937, 0xf928, 0xf937, 0xf928, 0xf937, 0xf928, 0xf88a, 0xf86b, 0xf88a, 0xf86b, 0xf838, -0xf806, 0xf838, 0xf806, 0xf786, 0xf73b, 0xf786, 0xf73b, 0xf822, 0xf7ba, 0xf822, 0xf7ba, -0xf93f, 0xf8b5, 0xf93f, 0xf8b5, 0xf93f, 0xf8b5, 0xfc2d, 0xfb7d, 0xfc2d, 0xfb7d, 0xfdba, -0xfce1, 0xfdba, 0xfce1, 0xff05, 0xfe00, 0xff05, 0xfe00, 0x2a0, 0x16c, 0x2a0, 0x16c, -0x41f, 0x2bb, 0x41f, 0x2bb, 0x74b, 0x5b9, 0x74b, 0x5b9, 0x74b, 0x5b9, 0xa28, -0x869, 0xa28, 0x869, 0xc72, 0xa89, 0xc72, 0xa89, 0xe3b, 0xc2b, 0xe3b, 0xc2b, -0x1012, 0xde2, 0x1012, 0xde2, 0x1349, 0x10ff, 0x1349, 0x10ff, 0x1457, 0x11fa, 0x1457, -0x11fa, 0x1457, 0x11fa, 0x153d, 0x12d5, 0x153d, 0x12d5, 0x1640, 0x13d6, 0x1640, 0x13d6, -0x1727, 0x14c3, 0x1727, 0x14c3, 0x15f9, 0x13a3, 0x15f9, 0x13a3, 0x13c0, 0x1180, 0x13c0, -0x1180, 0x13c0, 0x1180, 0x12b0, 0x108e, 0x12b0, 0x108e, 0x11e1, 0xfe2, 0x11e1, 0xfe2, -0x11de, 0x1008, 0x11de, 0x1008, 0x1181, 0xfd7, 0x1181, 0xfd7, 0x11af, 0x1034, 0x11af, -0x1034, 0x1279, 0x112e, 0x1279, 0x112e, 0x1279, 0x112e, 0x11d0, 0x10b6, 0x11d0, 0x10b6, -0x10ab, 0xfbf, 0x10ab, 0xfbf, 0xfc0, 0xeff, 0xfc0, 0xeff, 0xe6f, 0xdd6, 0xe6f, -0xdd6, 0xee3, 0xe6d, 0xee3, 0xe6d, 0xf60, 0xf07, 0xf60, 0xf07, 0xf60, 0xf07, -0xeea, 0xea8, 0xeea, 0xea8, 0xee1, 0xeb0, 0xee1, 0xeb0, 0xe10, 0xde9, 0xe10, -0xde9, 0xe26, 0xe04, 0xe26, 0xe04, 0xdc7, 0xda4, 0xdc7, 0xda4, 0xdc7, 0xda4, -0xd17, 0xcee, 0xd17, 0xcee, 0xd15, 0xce3, 0xd15, 0xce3, 0xbf3, 0xbb4, 0xbf3, -0xbb4, 0xb45, 0xaf7, 0xb45, 0xaf7, 0xba7, 0xb4a, 0xba7, 0xb4a, 0xb57, 0xaeb, -0xb57, 0xaeb, 0xb57, 0xaeb, 0xad9, 0xa60, 0xad9, 0xa60, 0xc8c, 0xc07, 0xc8c, -0xc07, 0xe07, 0xd79, 0xe07, 0xd79, 0xfaa, 0xf17, 0xfaa, 0xf17, 0x11d4, 0x113e, -0x11d4, 0x113e, 0x11be, 0x112a, 0x11be, 0x112a, 0x11be, 0x112a, 0x11c0, 0x1130, 0x11c0, -0x1130, 0x113c, 0x10b5, 0x113c, 0x10b5, 0x105f, 0xfe3, 0x105f, 0xfe3, 0xf50, 0xee1, -0xf50, 0xee1, 0xdf6, 0xd95, 0xdf6, 0xd95, 0xdf6, 0xd95, 0xdfc, 0xda9, 0xdfc, -0xda9, 0xdc8, 0xd83, 0xdc8, 0xd83, 0xcdf, 0xca8, 0xcdf, 0xca8, 0xbe8, 0xbbb, -0xbe8, 0xbbb, 0xae2, 0xabd, 0xae2, 0xabd, 0x8ae, 0x88d, 0x8ae, 0x88d, 0x8ae, -0x88d, 0x830, 0x810, 0x830, 0x810, 0x826, 0x804, 0x826, 0x804, 0x6dd, 0x6b5, -0x6dd, 0x6b5, 0x60c, 0x5da, 0x60c, 0x5da, 0x4b7, 0x479, 0x4b7, 0x479, 0x48a, -0x43f, 0x48a, 0x43f, 0x48a, 0x43f, 0x33d, 0x2e1, 0x33d, 0x2e1, 0x25a, 0x1f0, -0x25a, 0x1f0, 0x2d7, 0x25e, 0x2d7, 0x25e, 0x2c8, 0x243, 0x2c8, 0x243, 0x388, -0x2fa, 0x388, 0x2fa, 0x388, 0x2fa, 0x46d, 0x3db, 0x46d, 0x3db, 0x54c, 0x4bb, -0x54c, 0x4bb, 0x4dc, 0x452, 0x4dc, 0x452, 0x3be, 0x342, 0x3be, 0x342, 0x357, -0x2f0, 0x357, 0x2f0, 0x375, 0x32a, 0x375, 0x32a, 0x375, 0x32a, 0x2b0, 0x287, -0x2b0, 0x287, 0x1e5, 0x1e5, 0x1e5, 0x1e5, 0xe8, 0x117, 0xe8, 0x117, 0xffdb, -0x3e, 0xffdb, 0x3e, 0xfede, 0xff77, 0xfede, 0xff77, 0xfd92, 0xfe65, 0xfd92, 0xfe65, -0xfd92, 0xfe65, 0xfdc2, 0xfece, 0xfdc2, 0xfece, 0xfcb0, 0xfdf5, 0xfcb0, 0xfdf5, 0xfb1f, -0xfc9b, 0xfb1f, 0xfc9b, 0xf8ad, 0xfa5c, 0xf8ad, 0xfa5c, 0xf62d, 0xf80a, 0xf62d, 0xf80a, -0xf62d, 0xf80a, 0xf42b, 0xf630, 0xf42b, 0xf630, 0xf1d1, 0xf3f7, 0xf1d1, 0xf3f7, 0xf0b6, -0xf2f6, 0xf0b6, 0xf2f6, 0xeedf, 0xf131, 0xeedf, 0xf131, 0xedab, 0xf007, 0xedab, 0xf007, -0xec83, 0xeee1, 0xec83, 0xeee1, 0xec83, 0xeee1, 0xebd9, 0xee32, 0xebd9, 0xee32, 0xeba9, -0xedf5, 0xeba9, 0xedf5, 0xeaf1, 0xed2c, 0xeaf1, 0xed2c, 0xea56, 0xec7a, 0xea56, 0xec7a, -0xe9ed, 0xebf8, 0xe9ed, 0xebf8, 0xe9c1, 0xebaf, 0xe9c1, 0xebaf, 0xe9c1, 0xebaf, 0xe9ea, -0xebbb, 0xe9ea, 0xebbb, 0xeb82, 0xed37, 0xeb82, 0xed37, 0xec4f, 0xede8, 0xec4f, 0xede8, -0xed8c, 0xef0c, 0xed8c, 0xef0c, 0xeeae, 0xf018, 0xeeae, 0xf018, 0xeeae, 0xf018, 0xf047, -0xf19f, 0xf047, 0xf19f, 0xf1f5, 0xf33f, 0xf1f5, 0xf33f, 0xf189, 0xf2ca, 0xf189, 0xf2ca, -0xf221, 0xf35c, 0xf221, 0xf35c, 0xf245, 0xf37e, 0xf245, 0xf37e, 0xf206, 0xf340, 0xf206, -0xf340, 0xf206, 0xf340, 0xf246, 0xf383, 0xf246, 0xf383, 0xf22a, 0xf36d, 0xf22a, 0xf36d, -0xf1a8, 0xf2f2, 0xf1a8, 0xf2f2, 0xf201, 0xf351, 0xf201, 0xf351, 0xf2ba, 0xf410, 0xf2ba, -0xf410, 0xf2ba, 0xf410, 0xf33d, 0xf497, 0xf33d, 0xf497, 0xf3ef, 0xf54a, 0xf3ef, 0xf54a, -0xf38a, 0xf4e4, 0xf38a, 0xf4e4, 0xf3d1, 0xf527, 0xf3d1, 0xf527, 0xf4af, 0xf5fd, 0xf4af, -0xf5fd, 0xf63e, 0xf782, 0xf63e, 0xf782, 0xf63e, 0xf782, 0xf7a1, 0xf8d8, 0xf7a1, 0xf8d8, -0xf8ff, 0xfa26, 0xf8ff, 0xfa26, 0xfb0c, 0xfc22, 0xfb0c, 0xfc22, 0xfab9, 0xfbbe, 0xfab9, -0xfbbe, 0xfab8, 0xfbad, 0xfab8, 0xfbad, 0xfbee, 0xfcd5, 0xfbee, 0xfcd5, 0xfbee, 0xfcd5, -0xfbd4, 0xfcaf, 0xfbd4, 0xfcaf, 0xfb90, 0xfc64, 0xfb90, 0xfc64, 0xfc2b, 0xfcfd, 0xfc2b, -0xfcfd, 0xfc92, 0xfd67, 0xfc92, 0xfd67, 0xfba3, 0xfc82, 0xfba3, 0xfc82, 0xfba3, 0xfc82, -0xfb49, 0xfc3a, 0xfb49, 0xfc3a, 0xfbf5, 0xfcfe, 0xfbf5, 0xfcfe, 0xfc64, 0xfd8c, 0xfc64, -0xfd8c, 0xfc9d, 0xfdeb, 0xfc9d, 0xfdeb, 0xfbf3, 0xfd6d, 0xfbf3, 0xfd6d, 0xfad1, 0xfc7b, -0xfad1, 0xfc7b, 0xfad1, 0xfc7b, 0xf9f8, 0xfbd7, 0xf9f8, 0xfbd7, 0xf90d, 0xfb23, 0xf90d, -0xfb23, 0xf6ed, 0xf93b, 0xf6ed, 0xf93b, 0xf449, 0xf6ce, 0xf449, 0xf6ce, 0xf2e2, 0xf59d, -0xf2e2, 0xf59d, 0xf2ae, 0xf59a, 0xf2ae, 0xf59a, 0xf2ae, 0xf59a, 0xf2ab, 0xf5c3, 0xf2ab, -0xf5c3, 0xf221, 0xf55e, 0xf221, 0xf55e, 0xf11f, 0xf47a, 0xf11f, 0xf47a, 0xef6b, 0xf2db, -0xef6b, 0xf2db, 0xee76, 0xf1f1, 0xee76, 0xf1f1, 0xee76, 0xf1f1, 0xed37, 0xf0b4, 0xed37, -0xf0b4, 0xeb8f, 0xef05, 0xeb8f, 0xef05, 0xeaf3, 0xee58, 0xeaf3, 0xee58, 0xea39, 0xed84, -0xea39, 0xed84, 0xe9d9, 0xed02, 0xe9d9, 0xed02, 0xe902, 0xec03, 0xe902, 0xec03, 0xe902, -0xec03, 0xe8b4, 0xeb87, 0xe8b4, 0xeb87, 0xe948, 0xebe8, 0xe948, 0xebe8, 0xe91d, 0xeb88, -0xe91d, 0xeb88, 0xe9d3, 0xec07, 0xe9d3, 0xec07, 0xebb7, 0xedb4, 0xebb7, 0xedb4, 0xed2f, -0xeef5, 0xed2f, 0xeef5, 0xed2f, 0xeef5, 0xee9b, 0xf02d, 0xee9b, 0xf02d, 0xf083, 0xf1e5, -0xf083, 0xf1e5, 0xf380, 0xf4b3, 0xf380, 0xf4b3, 0xf582, 0xf68c, 0xf582, 0xf68c, 0xf571, -0xf656, 0xf571, 0xf656, 0xf571, 0xf656, 0xf6fb, 0xf7bf, 0xf6fb, 0xf7bf, 0xf7a7, 0xf84e, -0xf7a7, 0xf84e, 0xf876, 0xf902, 0xf876, 0xf902, 0xfa3a, 0xfab0, 0xfa3a, 0xfab0, 0xfa77, -0xfad8, 0xfa77, 0xfad8, 0xfae3, 0xfb31, 0xfae3, 0xfb31, 0xfae3, 0xfb31, 0xfb51, 0xfb8b, -0xfb51, 0xfb8b, 0xfc90, 0xfcb6, 0xfc90, 0xfcb6, 0xfd06, 0xfd17, 0xfd06, 0xfd17, 0xfccd, -0xfcc8, 0xfccd, 0xfcc8, 0xfc2b, 0xfc0c, 0xfc2b, 0xfc0c, 0xfc42, 0xfc08, 0xfc42, 0xfc08, -0xfc42, 0xfc08, 0xfd54, 0xfcfc, 0xfd54, 0xfcfc, 0xfdd3, 0xfd5a, 0xfdd3, 0xfd5a, 0xff7b, -0xfee0, 0xff7b, 0xfee0, 0x2c, 0xff6d, 0x2c, 0xff6d, 0x1e8, 0x106, 0x1e8, 0x106, -0x1e8, 0x106, 0x3f3, 0x2ee, 0x3f3, 0x2ee, 0x43e, 0x317, 0x43e, 0x317, 0x616, -0x4d0, 0x616, 0x4d0, 0x797, 0x635, 0x797, 0x635, 0x7e9, 0x671, 0x7e9, 0x671, -0x8fa, 0x771, 0x8fa, 0x771, 0x8fa, 0x771, 0xa4d, 0x8ba, 0xa4d, 0x8ba, 0xb8a, -0x9f5, 0xb8a, 0x9f5, 0xbd9, 0xa49, 0xbd9, 0xa49, 0xbb9, 0xa36, 0xbb9, 0xa36, -0xd53, 0xbe3, 0xd53, 0xbe3, 0xdb4, 0xc61, 0xdb4, 0xc61, 0xdb4, 0xc61, 0xd9a, -0xc68, 0xd9a, 0xc68, 0xdc6, 0xcbc, 0xdc6, 0xcbc, 0xbeb, 0xb0e, 0xbeb, 0xb0e, -0x9ff, 0x951, 0x9ff, 0x951, 0x999, 0x91c, 0x999, 0x91c, 0x999, 0x91c, 0xa1c, -0x9cf, 0xa1c, 0x9cf, 0x938, 0x91b, 0x938, 0x91b, 0x9b4, 0x9c3, 0x9b4, 0x9c3, -0xa37, 0xa6e, 0xa37, 0xa6e, 0x88b, 0x8e4, 0x88b, 0x8e4, 0x7fd, 0x872, 0x7fd, -0x872, 0x7fd, 0x872, 0x756, 0x7de, 0x756, 0x7de, 0x718, 0x7ab, 0x718, 0x7ab, -0x6a7, 0x73c, 0x6a7, 0x73c, 0x637, 0x6c7, 0x637, 0x6c7, 0x688, 0x70a, 0x688, -0x70a, 0x62e, 0x69a, 0x62e, 0x69a, 0x62e, 0x69a, 0x652, 0x6a1, 0x652, 0x6a1, -0x63e, 0x66b, 0x63e, 0x66b, 0x5a8, 0x5ae, 0x5a8, 0x5ae, 0x4a4, 0x47f, 0x4a4, -0x47f, 0x2f5, 0x2a3, 0x2f5, 0x2a3, 0x2f5, 0x2a3, 0x1ba, 0x13b, 0x1ba, 0x13b, -0x1d1, 0x124, 0x1d1, 0x124, 0x212, 0x139, 0x212, 0x139, 0x291, 0x190, 0x291, -0x190, 0x45a, 0x334, 0x45a, 0x334, 0x5c6, 0x47f, 0x5c6, 0x47f, 0x5c6, 0x47f, -0x6fb, 0x598, 0x6fb, 0x598, 0x7dd, 0x663, 0x7dd, 0x663, 0x8f8, 0x76c, 0x8f8, -0x76c, 0x949, 0x7af, 0x949, 0x7af, 0x855, 0x6b2, 0x855, 0x6b2, 0x980, 0x7d7, -0x980, 0x7d7, 0x980, 0x7d7, 0xa84, 0x8d8, 0xa84, 0x8d8, 0xadc, 0x930, 0xadc, -0x930, 0xbb2, 0xa07, 0xbb2, 0xa07, 0xc08, 0xa5f, 0xc08, 0xa5f, 0xcf3, 0xb4c, -0xcf3, 0xb4c, 0xcf3, 0xb4c, 0xcf8, 0xb52, 0xcf8, 0xb52, 0xb9e, 0x9f9, 0xb9e, -0x9f9, 0xb37, 0x991, 0xb37, 0x991, 0xab4, 0x90c, 0xab4, 0x90c, 0xa50, 0x8a6, -0xa50, 0x8a6, 0xa87, 0x8d9, 0xa87, 0x8d9, 0xa87, 0x8d9, 0x94c, 0x79b, 0x94c, -0x79b, 0x8dd, 0x729, 0x8dd, 0x729, 0x88d, 0x6d7, 0x88d, 0x6d7, 0x7ee, 0x639, -0x7ee, 0x639, 0x90a, 0x759, 0x90a, 0x759, 0x9a1, 0x7f7, 0x9a1, 0x7f7, 0x9a1, -0x7f7, 0x945, 0x7a9, 0x945, 0x7a9, 0x968, 0x7df, 0x968, 0x7df, 0x9a5, 0x835, -0x9a5, 0x835, 0x8be, 0x76e, 0x8be, 0x76e, 0x836, 0x70d, 0x836, 0x70d, 0x836, -0x70d, 0x7bd, 0x6c2, 0x7bd, 0x6c2, 0x753, 0x68d, 0x753, 0x68d, 0x703, 0x678, -0x703, 0x678, 0x52e, 0x4e4, 0x52e, 0x4e4, 0x353, 0x34e, 0x353, 0x34e, 0x176, -0x1b9, 0x176, 0x1b9, 0x176, 0x1b9, 0xff94, 0x21, 0xff94, 0x21, 0xfe0d, 0xfee4, -0xfe0d, 0xfee4, 0xfc58, 0xfd79, 0xfc58, 0xfd79, 0xf92c, 0xfa93, 0xf92c, 0xfa93, 0xf6e0, -0xf88a, 0xf6e0, 0xf88a, 0xf6e0, 0xf88a, 0xf5e8, 0xf7d0, 0xf5e8, 0xf7d0, 0xf3ec, 0xf609, -0xf3ec, 0xf609, 0xf242, 0xf48d, 0xf242, 0xf48d, 0xf028, 0xf299, 0xf028, 0xf299, 0xef21, -0xf1ad, 0xef21, 0xf1ad, 0xeedb, 0xf17a, 0xeedb, 0xf17a, 0xeedb, 0xf17a, 0xee77, 0xf11d, -0xee77, 0xf11d, 0xef9b, 0xf240, 0xef9b, 0xf240, 0xefec, 0xf285, 0xefec, 0xf285, 0xeed0, -0xf156, 0xeed0, 0xf156, 0xeef6, 0xf161, 0xeef6, 0xf161, 0xef43, 0xf18b, 0xef43, 0xf18b, -0xef43, 0xf18b, 0xee71, 0xf091, 0xee71, 0xf091, 0xee79, 0xf06c, 0xee79, 0xf06c, 0xee78, -0xf03b, 0xee78, 0xf03b, 0xeedb, 0xf06c, 0xeedb, 0xf06c, 0xef96, 0xf0f4, 0xef96, 0xf0f4, -0xef96, 0xf0f4, 0xf087, 0xf1b1, 0xf087, 0xf1b1, 0xf21c, 0xf314, 0xf21c, 0xf314, 0xf4c1, -0xf587, 0xf4c1, 0xf587, 0xf84d, 0xf8e4, 0xf84d, 0xf8e4, 0xf9da, 0xfa44, 0xf9da, 0xfa44, -0xfb4a, 0xfb89, 0xfb4a, 0xfb89, 0xfb4a, 0xfb89, 0xfc36, 0xfc4b, 0xfc36, 0xfc4b, 0xfc85, -0xfc73, 0xfc85, 0xfc73, 0xfd1e, 0xfce6, 0xfd1e, 0xfce6, 0xfd85, 0xfd28, 0xfd85, 0xfd28, -0xfd7c, 0xfcfb, 0xfd7c, 0xfcfb, 0xfcc5, 0xfc20, 0xfcc5, 0xfc20, 0xfcc5, 0xfc20, 0xfe09, -0xfd3f, 0xfe09, 0xfd3f, 0xff4c, 0xfe5d, 0xff4c, 0xfe5d, 0x4a, 0xff34, 0x4a, 0xff34, -0x149, 0xb, 0x149, 0xb, 0x2ad, 0x146, 0x2ad, 0x146, 0x2ad, 0x146, 0x355, -0x1c4, 0x355, 0x1c4, 0x29c, 0xe0, 0x29c, 0xe0, 0x52f, 0x348, 0x52f, 0x348, -0x767, 0x554, 0x767, 0x554, 0x917, 0x6da, 0x917, 0x6da, 0xbde, 0x979, 0xbde, -0x979, 0xbde, 0x979, 0xd83, 0xaf9, 0xd83, 0xaf9, 0xfad, 0xd01, 0xfad, 0xd01, -0x1192, 0xeca, 0x1192, 0xeca, 0x1325, 0x1047, 0x1325, 0x1047, 0x158a, 0x129c, 0x158a, -0x129c, 0x166c, 0x1375, 0x166c, 0x1375, 0x166c, 0x1375, 0x16fe, 0x1406, 0x16fe, 0x1406, -0x18d5, 0x15e5, 0x18d5, 0x15e5, 0x18fb, 0x161a, 0x18fb, 0x161a, 0x196b, 0x16a1, 0x196b, -0x16a1, 0x199f, 0x16f3, 0x199f, 0x16f3, 0x199f, 0x16f3, 0x1908, 0x1682, 0x1908, 0x1682, -0x18c7, 0x166d, 0x18c7, 0x166d, 0x172b, 0x1502, 0x172b, 0x1502, 0x1598, 0x13a3, 0x1598, -0x13a3, 0x13ef, 0x1232, 0x13ef, 0x1232, 0x12dd, 0x1158, 0x12dd, 0x1158, 0x12dd, 0x1158, -0x1145, 0xff9, 0x1145, 0xff9, 0x104d, 0xf37, 0x104d, 0xf37, 0x1070, 0xf8e, 0x1070, -0xf8e, 0xf3e, 0xe8a, 0xf3e, 0xe8a, 0xe23, 0xd9a, 0xe23, 0xd9a, 0xc45, 0xbdf, -0xc45, 0xbdf, 0xc45, 0xbdf, 0xa52, 0xa09, 0xa52, 0xa09, 0x884, 0x850, 0x884, -0x850, 0x691, 0x66b, 0x691, 0x66b, 0x50c, 0x4ec, 0x50c, 0x4ec, 0x3c3, 0x3a1, -0x3c3, 0x3a1, 0x3c3, 0x3a1, 0x25b, 0x231, 0x25b, 0x231, 0x11e, 0xe5, 0x11e, -0xe5, 0x68, 0x1b, 0x68, 0x1b, 0xffa4, 0xff3e, 0xffa4, 0xff3e, 0xfeed, 0xfe6a, -0xfeed, 0xfe6a, 0xfdaf, 0xfd0d, 0xfdaf, 0xfd0d, 0xfdaf, 0xfd0d, 0xfe24, 0xfd5f, 0xfe24, -0xfd5f, 0xfeee, 0xfe07, 0xfeee, 0xfe07, 0xfefc, 0xfdf2, 0xfefc, 0xfdf2, 0x1, 0xfed5, -0x1, 0xfed5, 0x53, 0xff07, 0x53, 0xff07, 0x189, 0x1d, 0x189, 0x1d, 0x189, -0x1d, 0x49d, 0x314, 0x49d, 0x314, 0x80a, 0x666, 0x80a, 0x666, 0xa3b, 0x87e, -0xa3b, 0x87e, 0xaa7, 0x8d4, 0xaa7, 0x8d4, 0xaef, 0x907, 0xaef, 0x907, 0xaef, -0x907, 0xba2, 0x9a6, 0xba2, 0x9a6, 0xba5, 0x997, 0xba5, 0x997, 0xbe3, 0x9c3, -0xbe3, 0x9c3, 0xbfd, 0x9cc, 0xbfd, 0x9cc, 0xc17, 0x9d5, 0xc17, 0x9d5, 0xccc, -0xa79, 0xccc, 0xa79, 0xccc, 0xa79, 0xbc6, 0x961, 0xbc6, 0x961, 0xa8c, 0x815, -0xa8c, 0x815, 0x95f, 0x6d6, 0x95f, 0x6d6, 0x8e4, 0x649, 0x8e4, 0x649, 0x9ca, -0x71d, 0x9ca, 0x71d, 0xa73, 0x7b5, 0xa73, 0x7b5, 0xa73, 0x7b5, 0xb16, 0x849, -0xb16, 0x849, 0xbfb, 0x922, 0xbfb, 0x922, 0xca9, 0x9c6, 0xca9, 0x9c6, 0xc56, -0x96d, 0xc56, 0x96d, 0xcec, 0xa03, 0xcec, 0xa03, 0xcec, 0xa03, 0xcd5, 0x9f1, -0xcd5, 0x9f1, 0xce1, 0xa08, 0xce1, 0xa08, 0xd67, 0xaa2, 0xd67, 0xaa2, 0xd17, -0xa6c, 0xd17, 0xa6c, 0xee2, 0xc5a, 0xee2, 0xc5a, 0xefa, 0xc9d, 0xefa, 0xc9d, -0xefa, 0xc9d, 0xe31, 0xc07, 0xe31, 0xc07, 0xdfe, 0xc0f, 0xdfe, 0xc0f, 0xcf4, -0xb47, 0xcf4, 0xb47, 0xc39, 0xad5, 0xc39, 0xad5, 0x978, 0x864, 0x978, 0x864, -0x70c, 0x64c, 0x70c, 0x64c, 0x70c, 0x64c, 0x59a, 0x533, 0x59a, 0x533, 0x340, -0x335, 0x340, 0x335, 0x11b, 0x16b, 0x11b, 0x16b, 0xff93, 0x40, 0xff93, 0x40, -0xff00, 0x8, 0xff00, 0x8, 0xff00, 0x8, 0xfdb7, 0xff16, 0xfdb7, 0xff16, 0xfb36, -0xfcea, 0xfb36, 0xfcea, 0xf8cc, 0xfad0, 0xf8cc, 0xfad0, 0xf68a, 0xf8d7, 0xf68a, 0xf8d7, -0xf3c5, 0xf654, 0xf3c5, 0xf654, 0xf0d0, 0xf39b, 0xf0d0, 0xf39b, 0xf0d0, 0xf39b, 0xef17, -0xf215, 0xef17, 0xf215, 0xeda7, 0xf0d0, 0xeda7, 0xf0d0, 0xeae3, 0xee2e, 0xeae3, 0xee2e, -0xe8d5, 0xec3b, 0xe8d5, 0xec3b, 0xe703, 0xea7c, 0xe703, 0xea7c, 0xe411, 0xe796, 0xe411, -0xe796, 0xe411, 0xe796, 0xe310, 0xe699, 0xe310, 0xe699, 0xe28f, 0xe618, 0xe28f, 0xe618, -0xe1b7, 0xe538, 0xe1b7, 0xe538, 0xe125, 0xe49a, 0xe125, 0xe49a, 0xe084, 0xe3e9, 0xe084, -0xe3e9, 0xe084, 0xe3e9, 0xe0c1, 0xe412, 0xe0c1, 0xe412, 0xe103, 0xe43d, 0xe103, 0xe43d, -0xe2f8, 0xe619, 0xe2f8, 0xe619, 0xe515, 0xe81a, 0xe515, 0xe81a, 0xe624, 0xe90b, 0xe624, -0xe90b, 0xe768, 0xea31, 0xe768, 0xea31, 0xe768, 0xea31, 0xe890, 0xeb38, 0xe890, 0xeb38, -0xe9ad, 0xec33, 0xe9ad, 0xec33, 0xeaa9, 0xed0b, 0xeaa9, 0xed0b, 0xeba6, 0xede3, 0xeba6, -0xede3, 0xebce, 0xede5, 0xebce, 0xede5, 0xebce, 0xede5, 0xed8e, 0xef7c, 0xed8e, 0xef7c, -0xef2c, 0xf0f0, 0xef2c, 0xf0f0, 0xf06c, 0xf203, 0xf06c, 0xf203, 0xf2a2, 0xf40b, 0xf2a2, -0xf40b, 0xf333, 0xf46c, 0xf333, 0xf46c, 0xf3d1, 0xf4d9, 0xf3d1, 0xf4d9, 0xf3d1, 0xf4d9, -0xf462, 0xf536, 0xf462, 0xf536, 0xf653, 0xf6f2, 0xf653, 0xf6f2, 0xf859, 0xf8c4, 0xf859, -0xf8c4, 0xf9f0, 0xfa26, 0xf9f0, 0xfa26, 0xfc8f, 0xfc90, 0xfc8f, 0xfc90, 0xfd9b, 0xfd69, -0xfd9b, 0xfd69, 0xfd9b, 0xfd69, 0xff16, 0xfeb3, 0xff16, 0xfeb3, 0x1a9, 0x119, 0x1a9, -0x119, 0x3f0, 0x335, 0x3f0, 0x335, 0x56e, 0x48e, 0x56e, 0x48e, 0x67b, 0x57b, -0x67b, 0x57b, 0x67b, 0x57b, 0x760, 0x647, 0x760, 0x647, 0x879, 0x74e, 0x879, -0x74e, 0x9ec, 0x8b6, 0x9ec, 0x8b6, 0xb2d, 0x9f4, 0xb2d, 0x9f4, 0xc8e, 0xb5c, -0xc8e, 0xb5c, 0xd74, 0xc4f, 0xd74, 0xc4f, 0xd74, 0xc4f, 0xe65, 0xd56, 0xe65, -0xd56, 0xeb0, 0xdbf, 0xeb0, 0xdbf, 0xe13, 0xd48, 0xe13, 0xd48, 0xd1e, 0xc7f, -0xd1e, 0xc7f, 0xb3e, 0xad1, 0xb3e, 0xad1, 0x937, 0x903, 0x937, 0x903, 0x937, -0x903, 0x7c6, 0x7cf, 0x7c6, 0x7cf, 0x5bd, 0x605, 0x5bd, 0x605, 0x329, 0x3b3, -0x329, 0x3b3, 0x158, 0x227, 0x158, 0x227, 0xff76, 0x89, 0xff76, 0x89, 0xff76, -0x89, 0xfdfe, 0xff54, 0xfdfe, 0xff54, 0xfb9e, 0xfd35, 0xfb9e, 0xfd35, 0xf8ed, 0xfac4, -0xf8ed, 0xfac4, 0xf73a, 0xf94b, 0xf73a, 0xf94b, 0xf52e, 0xf777, 0xf52e, 0xf777, 0xf3d9, -0xf654, 0xf3d9, 0xf654, 0xf3d9, 0xf654, 0xf20e, 0xf4b7, 0xf20e, 0xf4b7, 0xf07f, 0xf351, -0xf07f, 0xf351, 0xef12, 0xf206, 0xef12, 0xf206, 0xedae, 0xf0c0, 0xedae, 0xf0c0, 0xed20, -0xf049, 0xed20, 0xf049, 0xeb75, 0xeeb1, 0xeb75, 0xeeb1, 0xeb75, 0xeeb1, 0xea3b, 0xed84, -0xea3b, 0xed84, 0xe9e2, 0xed33, 0xe9e2, 0xed33, 0xea3a, 0xed8e, 0xea3a, 0xed8e, 0xea79, -0xedcc, 0xea79, 0xedcc, 0xea35, 0xed82, 0xea35, 0xed82, 0xea35, 0xed82, 0xeb45, 0xee89, -0xeb45, 0xee89, 0xebad, 0xeee4, 0xebad, 0xeee4, 0xeb7b, 0xeea1, 0xeb7b, 0xeea1, 0xec3b, -0xef4d, 0xec3b, 0xef4d, 0xeb60, 0xee5b, 0xeb60, 0xee5b, 0xea87, 0xed68, 0xea87, 0xed68, -0xea87, 0xed68, 0xeb4f, 0xee12, 0xeb4f, 0xee12, 0xeba7, 0xee49, 0xeba7, 0xee49, 0xecb2, -0xef30, 0xecb2, 0xef30, 0xedb0, 0xf007, 0xedb0, 0xf007, 0xee9f, 0xf0ca, 0xee9f, 0xf0ca, -0xef40, 0xf13c, 0xef40, 0xf13c, 0xef40, 0xf13c, 0xefc4, 0xf18e, 0xefc4, 0xf18e, 0xf0dd, -0xf270, 0xf0dd, 0xf270, 0xf019, 0xf173, 0xf019, 0xf173, 0xf0ca, 0xf1e7, 0xf0ca, 0xf1e7, -0xf263, 0xf340, 0xf263, 0xf340, 0xf263, 0xf340, 0xf2c8, 0xf362, 0xf2c8, 0xf362, 0xf51b, -0xf56f, 0xf51b, 0xf56f, 0xf88f, 0xf89c, 0xf88f, 0xf89c, 0xfac7, 0xfa8c, 0xfac7, 0xfa8c, -0xfc93, 0xfc0e, 0xfc93, 0xfc0e, 0xff12, 0xfe44, 0xff12, 0xfe44, 0xff12, 0xfe44, 0x10c, -0xfff7, 0x10c, 0xfff7, 0x27e, 0x123, 0x27e, 0x123, 0x3b3, 0x214, 0x3b3, 0x214, -0x5b4, 0x3d6, 0x5b4, 0x3d6, 0x6fc, 0x4e2, 0x6fc, 0x4e2, 0x7e0, 0x58f, 0x7e0, -0x58f, 0x7e0, 0x58f, 0xa13, 0x792, 0xa13, 0x792, 0xb2d, 0x881, 0xb2d, 0x881, -0xc9e, 0x9ce, 0xc9e, 0x9ce, 0xea0, 0xbb4, 0xea0, 0xbb4, 0xfee, 0xced, 0xfee, -0xced, 0xfee, 0xced, 0xfca, 0xcbc, 0xfca, 0xcbc, 0xef8, 0xbe3, 0xef8, 0xbe3, -0xe47, 0xb33, 0xe47, 0xb33, 0xe86, 0xb79, 0xe86, 0xb79, 0x1029, 0xd2a, 0x1029, -0xd2a, 0x10ee, 0xe03, 0x10ee, 0xe03, 0x10ee, 0xe03, 0x11b8, 0xee6, 0x11b8, 0xee6, -0x112f, 0xe7b, 0x112f, 0xe7b, 0x108c, 0xdf9, 0x108c, 0xdf9, 0x106e, 0xdfe, 0x106e, -0xdfe, 0xf55, 0xd0b, 0xf55, 0xd0b, 0xdf9, 0xbd7, 0xdf9, 0xbd7, 0xdf9, 0xbd7, -0xc32, 0xa39, 0xc32, 0xa39, 0xc56, 0xa85, 0xc56, 0xa85, 0xc06, 0xa5e, 0xc06, -0xa5e, 0xb1f, 0x99d, 0xb1f, 0x99d, 0xa16, 0x8bb, 0xa16, 0x8bb, 0xa16, 0x8bb, -0x7d6, 0x69f, 0x7d6, 0x69f, 0x650, 0x53c, 0x650, 0x53c, 0x48d, 0x39a, 0x48d, -0x39a, 0x342, 0x26f, 0x342, 0x26f, 0x2f9, 0x244, 0x2f9, 0x244, 0x285, 0x1ee, -0x285, 0x1ee, 0x285, 0x1ee, 0x1f8, 0x17d, 0x1f8, 0x17d, 0x2a7, 0x247, 0x2a7, -0x247, 0x363, 0x31d, 0x363, 0x31d, 0x3da, 0x3ae, 0x3da, 0x3ae, 0x500, 0x4ed, -0x500, 0x4ed, 0x5bc, 0x5c3, 0x5bc, 0x5c3, 0x5bc, 0x5c3, 0x588, 0x5a9, 0x588, -0x5a9, 0x48c, 0x4c6, 0x48c, 0x4c6, 0x3ae, 0x402, 0x3ae, 0x402, 0x2ee, 0x35b, -0x2ee, 0x35b, 0x38b, 0x410, 0x38b, 0x410, 0x38b, 0x410, 0x293, 0x330, 0x293, -0x330, 0x137, 0x1ea, 0x137, 0x1ea, 0x198, 0x261, 0x198, 0x261, 0x3, 0xdf, -0x3, 0xdf, 0xff53, 0x40, 0xff53, 0x40, 0xfdfb, 0xfef5, 0xfdfb, 0xfef5, 0xfdfb, -0xfef5, 0xfc58, 0xfd5e, 0xfc58, 0xfd5e, 0xfc42, 0xfd4f, 0xfc42, 0xfd4f, 0xfbc5, 0xfcd6, -0xfbc5, 0xfcd6, 0xfcb1, 0xfdc2, 0xfcb1, 0xfdc2, 0xfd6d, 0xfe7a, 0xfd6d, 0xfe7a, 0xfcae, -0xfdb4, 0xfcae, 0xfdb4, 0xfcae, 0xfdb4, 0xfc89, 0xfd83, 0xfc89, 0xfd83, 0xfe40, 0xff2c, -0xfe40, 0xff2c, 0x15, 0xf0, 0x15, 0xf0, 0x23a, 0x301, 0x23a, 0x301, 0x383, -0x435, 0x383, 0x435, 0x383, 0x435, 0x3ab, 0x447, 0x3ab, 0x447, 0x567, 0x5ec, -0x567, 0x5ec, 0x627, 0x695, 0x627, 0x695, 0x66e, 0x6c7, 0x66e, 0x6c7, 0x725, -0x76b, 0x725, 0x76b, 0x6eb, 0x71f, 0x6eb, 0x71f, 0x6eb, 0x71f, 0x6fb, 0x721, -0x6fb, 0x721, 0x745, 0x75f, 0x745, 0x75f, 0x617, 0x62a, 0x617, 0x62a, 0x42a, -0x43a, 0x42a, 0x43a, 0x2c3, 0x2d4, 0x2c3, 0x2d4, 0x2c3, 0x2d4, 0x17f, 0x194, -0x17f, 0x194, 0xb7, 0xd5, 0xb7, 0xd5, 0xa0, 0xc9, 0xa0, 0xc9, 0x8e, -0xc5, 0x8e, 0xc5, 0xff5c, 0xffa3, 0xff5c, 0xffa3, 0xfe6f, 0xfec8, 0xfe6f, 0xfec8, -0xfe6f, 0xfec8, 0xfde5, 0xfe50, 0xfde5, 0xfe50, 0xfd0f, 0xfd8b, 0xfd0f, 0xfd8b, 0xfc43, -0xfcd1, 0xfc43, 0xfcd1, 0xfc5a, 0xfcf8, 0xfc5a, 0xfcf8, 0xfe67, 0xff12, 0xfe67, 0xff12, -0xff44, 0xfffb, 0xff44, 0xfffb, 0xff44, 0xfffb, 0xff56, 0x14, 0xff56, 0x14, 0xff0e, -0xffd0, 0xff0e, 0xffd0, 0xfdcb, 0xfe8e, 0xfdcb, 0xfe8e, 0xfd64, 0xfe24, 0xfd64, 0xfe24, -0xfd58, 0xfe12, 0xfd58, 0xfe12, 0xfd58, 0xfe12, 0xfc0b, 0xfcbb, 0xfc0b, 0xfcbb, 0xfa54, -0xfaf7, 0xfa54, 0xfaf7, 0xfa77, 0xfb0b, 0xfa77, 0xfb0b, 0xf9ba, 0xfa3e, 0xf9ba, 0xfa3e, -0xf97d, 0xf9ef, 0xf97d, 0xf9ef, 0xfb21, 0xfb80, 0xfb21, 0xfb80, 0xfb21, 0xfb80, 0xfbb2, -0xfbff, 0xfbb2, 0xfbff, 0xfc94, 0xfccf, 0xfc94, 0xfccf, 0xfe80, 0xfeab, 0xfe80, 0xfeab, -0xffcf, 0xffec, 0xffcf, 0xffec, 0xff67, 0xff78, 0xff67, 0xff78, 0xff58, 0xff60, 0xff58, -0xff60, 0xff58, 0xff60, 0xff39, 0xff3a, 0xff39, 0xff3a, 0xfe21, 0xfe1e, 0xfe21, 0xfe1e, -0xfd1d, 0xfd19, 0xfd1d, 0xfd19, 0xfceb, 0xfce9, 0xfceb, 0xfce9, 0xfd02, 0xfd03, 0xfd02, -0xfd03, 0xfd02, 0xfd03, 0xfbc1, 0xfbc6, 0xfbc1, 0xfbc6, 0xfb8d, 0xfb98, 0xfb8d, 0xfb98, -0xfb52, 0xfb63, 0xfb52, 0xfb63, 0xfa1a, 0xfa30, 0xfa1a, 0xfa30, 0xf9ea, 0xfa05, 0xf9ea, -0xfa05, 0xf95c, 0xf97a, 0xf95c, 0xf97a, 0xf95c, 0xf97a, 0xf916, 0xf935, 0xf916, 0xf935, -0xfa90, 0xfaac, 0xfa90, 0xfaac, 0xfadd, 0xfaf4, 0xfadd, 0xfaf4, 0xfafa, 0xfb08, 0xfafa, -0xfb08, 0xfd82, 0xfd85, 0xfd82, 0xfd85, 0xff4d, 0xff41, 0xff4d, 0xff41, 0xff4d, 0xff41, -0x187, 0x168, 0x187, 0x168, 0x3e3, 0x3b0, 0x3e3, 0x3b0, 0x4d8, 0x48e, 0x4d8, -0x48e, 0x68e, 0x62b, 0x68e, 0x62b, 0x89a, 0x81e, 0x89a, 0x81e, 0x89a, 0x81e, -0xacd, 0xa37, 0xacd, 0xa37, 0xc62, 0xbb3, 0xc62, 0xbb3, 0xd3c, 0xc74, 0xd3c, -0xc74, 0xdf5, 0xd18, 0xdf5, 0xd18, 0xeda, 0xde8, 0xeda, 0xde8, 0xea8, 0xda6, -0xea8, 0xda6, 0xea8, 0xda6, 0xe33, 0xd24, 0xe33, 0xd24, 0xddd, 0xcc4, 0xddd, -0xcc4, 0xc45, 0xb25, 0xc45, 0xb25, 0xc55, 0xb32, 0xc55, 0xb32, 0xcc9, 0xba6, -0xcc9, 0xba6, 0xcac, 0xb8a, 0xcac, 0xb8a, 0xcac, 0xb8a, 0xc56, 0xb38, 0xc56, -0xb38, 0xbd2, 0xab9, 0xbd2, 0xab9, 0xbaa, 0xa96, 0xbaa, 0xa96, 0xb5a, 0xa4b, -0xb5a, 0xa4b, 0xb1f, 0xa14, 0xb1f, 0xa14, 0xb1f, 0xa14, 0x923, 0x819, 0x923, -0x819, 0x8bd, 0x7b2, 0x8bd, 0x7b2, 0x96e, 0x85d, 0x96e, 0x85d, 0x928, 0x80f, -0x928, 0x80f, 0xa00, 0x8da, 0xa00, 0x8da, 0x9bb, 0x884, 0x9bb, 0x884, 0x9bb, -0x884, 0x999, 0x84c, 0x999, 0x84c, 0x9ea, 0x883, 0x9ea, 0x883, 0x9e6, 0x862, -0x9e6, 0x862, 0xa1f, 0x87c, 0xa1f, 0x87c, 0xa34, 0x86f, 0xa34, 0x86f, 0xa87, -0x8a0, 0xa87, 0x8a0, 0xa87, 0x8a0, 0xba4, 0x999, 0xba4, 0x999, 0xd9a, 0xb6e, -0xd9a, 0xb6e, 0xec0, 0xc73, 0xec0, 0xc73, 0xfbd, 0xd54, 0xfbd, 0xd54, 0x11f4, -0xf72, 0x11f4, 0xf72, 0x11f4, 0xf72, 0x133c, 0x10a5, 0x133c, 0x10a5, 0x131a, 0x1074, -0x131a, 0x1074, 0x133d, 0x108f, 0x133d, 0x108f, 0x132a, 0x1079, 0x132a, 0x1079, 0x140c, -0x115e, 0x140c, 0x115e, 0x141c, 0x1178, 0x141c, 0x1178, 0x141c, 0x1178, 0x1384, 0x10ef, -0x1384, 0x10ef, 0x13af, 0x112f, 0x13af, 0x112f, 0x11db, 0xf75, 0x11db, 0xf75, 0x11b3, -0xf6b, 0x11b3, 0xf6b, 0x1143, 0xf1e, 0x1143, 0xf1e, 0xedb, 0xcda, 0xedb, 0xcda, -0xedb, 0xcda, 0xd26, 0xb4c, 0xd26, 0xb4c, 0xb8c, 0x9d9, 0xb8c, 0x9d9, 0xb1c, -0x991, 0xb1c, 0x991, 0xb68, 0xa04, 0xb68, 0xa04, 0xc59, 0xb1c, 0xc59, 0xb1c, -0xc59, 0xb1c, 0xbbb, 0xaa2, 0xbbb, 0xaa2, 0xa64, 0x96f, 0xa64, 0x96f, 0x9bc, -0x8e8, 0x9bc, 0x8e8, 0x92c, 0x879, 0x92c, 0x879, 0x8bd, 0x828, 0x8bd, 0x828, -0x755, 0x6de, 0x755, 0x6de, 0x755, 0x6de, 0x6d3, 0x679, 0x6d3, 0x679, 0x6a7, -0x66a, 0x6a7, 0x66a, 0x65a, 0x63a, 0x65a, 0x63a, 0x5ed, 0x5eb, 0x5ed, 0x5eb, -0x4aa, 0x4c8, 0x4aa, 0x4c8, 0x40c, 0x44b, 0x40c, 0x44b, 0x40c, 0x44b, 0x410, -0x472, 0x410, 0x472, 0x2cf, 0x356, 0x2cf, 0x356, 0x114, 0x1c3, 0x114, 0x1c3, -0xffd1, 0xa9, 0xffd1, 0xa9, 0xfe41, 0xff44, 0xfe41, 0xff44, 0xfe41, 0xff44, 0xfcfe, -0xfe2d, 0xfcfe, 0xfe2d, 0xfbb5, 0xfd12, 0xfbb5, 0xfd12, 0xfb3d, 0xfcc6, 0xfb3d, 0xfcc6, -0xfa53, 0xfc08, 0xfa53, 0xfc08, 0xf8e1, 0xfabf, 0xf8e1, 0xfabf, 0xf84e, 0xfa52, 0xf84e, -0xfa52, 0xf84e, 0xfa52, 0xf74e, 0xf975, 0xf74e, 0xf975, 0xf600, 0xf844, 0xf600, 0xf844, -0xf458, 0xf6b3, 0xf458, 0xf6b3, 0xf30f, 0xf57a, 0xf30f, 0xf57a, 0xf1a1, 0xf416, 0xf1a1, -0xf416, 0xefe6, 0xf25c, 0xefe6, 0xf25c, 0xefe6, 0xf25c, 0xee47, 0xf0b8, 0xee47, 0xf0b8, -0xeccb, 0xef2f, 0xeccb, 0xef2f, 0xeb4a, 0xed98, 0xeb4a, 0xed98, 0xea56, 0xec89, 0xea56, -0xec89, 0xea6d, 0xec7d, 0xea6d, 0xec7d, 0xea6d, 0xec7d, 0xe9e6, 0xebcf, 0xe9e6, 0xebcf, -0xe9b6, 0xeb73, 0xe9b6, 0xeb73, 0xe952, 0xeae0, 0xe952, 0xeae0, 0xe964, 0xeac1, 0xe964, -0xeac1, 0xea7f, 0xebaa, 0xea7f, 0xebaa, 0xebc7, 0xecc1, 0xebc7, 0xecc1, 0xebc7, 0xecc1, -0xedbd, 0xee87, 0xedbd, 0xee87, 0xefa4, 0xf041, 0xefa4, 0xf041, 0xf214, 0xf287, 0xf214, -0xf287, 0xf37a, 0xf3c8, 0xf37a, 0xf3c8, 0xf43b, 0xf46a, 0xf43b, 0xf46a, 0xf43b, 0xf46a, -0xf4ed, 0xf501, 0xf4ed, 0xf501, 0xf4af, 0xf4ae, 0xf4af, 0xf4ae, 0xf48f, 0xf47d, 0xf48f, -0xf47d, 0xf4f4, 0xf4d9, 0xf4f4, 0xf4d9, 0xf5fe, 0xf5dd, 0xf5fe, 0xf5dd, 0xf59f, 0xf57d, -0xf59f, 0xf57d, 0xf59f, 0xf57d, 0xf568, 0xf549, 0xf568, 0xf549, 0xf5b8, 0xf59d, 0xf5b8, -0xf59d, 0xf49b, 0xf488, 0xf49b, 0xf488, 0xf55b, 0xf552, 0xf55b, 0xf552, 0xf689, 0xf689, -0xf689, 0xf689, 0xf6b1, 0xf6bb, 0xf6b1, 0xf6bb, 0xf6b1, 0xf6bb, 0xf86d, 0xf881, 0xf86d, -0xf881, 0xf8f8, 0xf916, 0xf8f8, 0xf916, 0xf901, 0xf927, 0xf901, 0xf927, 0xfa38, 0xfa66, -0xfa38, 0xfa66, 0xfadc, 0xfb11, 0xfadc, 0xfb11, 0xfadc, 0xfb11, 0xfd54, 0xfd90, 0xfd54, -0xfd90, 0xff38, 0xff7b, 0xff38, 0xff7b, 0xff13, 0xff5d, 0xff13, 0xff5d, 0xff86, 0xffd9, -0xff86, 0xffd9, 0xffb8, 0x16, 0xffb8, 0x16, 0x3e, 0xaa, 0x3e, 0xaa, 0x3e, -0xaa, 0x9a, 0x117, 0x9a, 0x117, 0x10, 0xa2, 0x10, 0xa2, 0xff24, 0xffcf, -0xff24, 0xffcf, 0xff2d, 0xfff7, 0xff2d, 0xfff7, 0xff54, 0x41, 0xff54, 0x41, 0xfe0f, -0xff24, 0xfe0f, 0xff24, 0xfe0f, 0xff24, 0xfcc6, 0xfe06, 0xfcc6, 0xfe06, 0xfa3a, 0xfbab, -0xfa3a, 0xfbab, 0xf7a4, 0xf948, 0xf7a4, 0xf948, 0xf65a, 0xf834, 0xf65a, 0xf834, 0xf5b2, -0xf7c2, 0xf5b2, 0xf7c2, 0xf5b2, 0xf7c2, 0xf507, 0xf74d, 0xf507, 0xf74d, 0xf2e6, 0xf561, -0xf2e6, 0xf561, 0xf1d4, 0xf481, 0xf1d4, 0xf481, 0xf138, 0xf413, 0xf138, 0xf413, 0xef09, -0xf20d, 0xef09, 0xf20d, 0xed83, 0xf0aa, 0xed83, 0xf0aa, 0xed83, 0xf0aa, 0xed51, 0xf092, -0xed51, 0xf092, 0xecee, 0xf041, 0xecee, 0xf041, 0xec2f, 0xef8b, 0xec2f, 0xef8b, 0xebf5, -0xef52, 0xebf5, 0xef52, 0xeb7b, 0xeece, 0xeb7b, 0xeece, 0xea7d, 0xedbd, 0xea7d, 0xedbd, -0xea7d, 0xedbd, 0xea52, 0xed76, 0xea52, 0xed76, 0xeb0d, 0xee0d, 0xeb0d, 0xee0d, 0xeabe, -0xed92, 0xeabe, 0xed92, 0xea1f, 0xecc0, 0xea1f, 0xecc0, 0xea14, 0xec7e, 0xea14, 0xec7e, -0xea14, 0xec7e, 0xe9d5, 0xec05, 0xe9d5, 0xec05, 0xeaf0, 0xece2, 0xeaf0, 0xece2, 0xed5d, -0xef0f, 0xed5d, 0xef0f, 0xef9c, 0xf10f, 0xef9c, 0xf10f, 0xf182, 0xf2b8, 0xf182, 0xf2b8, -0xf3d6, 0xf4d1, 0xf3d6, 0xf4d1, 0xf3d6, 0xf4d1, 0xf52a, 0xf5ec, 0xf52a, 0xf5ec, 0xf52f, -0xf5bd, 0xf52f, 0xf5bd, 0xf5f0, 0xf64e, 0xf5f0, 0xf64e, 0xf709, 0xf73b, 0xf709, 0xf73b, -0xf846, 0xf851, 0xf846, 0xf851, 0xfa0e, 0xf9f7, 0xfa0e, 0xf9f7, 0xfa0e, 0xf9f7, 0xfbd5, -0xfba0, 0xfbd5, 0xfba0, 0xfca2, 0xfc52, 0xfca2, 0xfc52, 0xfdea, 0xfd82, 0xfdea, 0xfd82, -0xff8e, 0xff10, 0xff8e, 0xff10, 0xffb7, 0xff25, 0xffb7, 0xff25, 0xffb7, 0xff25, 0xff12, -0xfe6c, 0xff12, 0xfe6c, 0xfeb1, 0xfdf8, 0xfeb1, 0xfdf8, 0xfe88, 0xfdba, 0xfe88, 0xfdba, -0xfebf, 0xfdde, 0xfebf, 0xfdde, 0x8b, 0xff93, 0x8b, 0xff93, 0x1fa, 0xeb, 0x1fa, -0xeb, 0x1fa, 0xeb, 0x2bb, 0x194, 0x2bb, 0x194, 0x383, 0x243, 0x383, 0x243, -0x547, 0x3ee, 0x547, 0x3ee, 0x789, 0x617, 0x789, 0x617, 0x82a, 0x6a0, 0x82a, -0x6a0, 0x926, 0x786, 0x926, 0x786, 0x926, 0x786, 0x995, 0x7e2, 0x995, 0x7e2, -0xa35, 0x874, 0xa35, 0x874, 0xb70, 0x9a4, 0xb70, 0x9a4, 0xc10, 0xa3f, 0xc10, -0xa3f, 0xd13, 0xb43, 0xd13, 0xb43, 0xd13, 0xb43, 0xd92, 0xbca, 0xd92, 0xbca, -0xdc5, 0xc0c, 0xdc5, 0xc0c, 0xdd9, 0xc35, 0xdd9, 0xc35, 0xdba, 0xc33, 0xdba, -0xc33, 0xcfc, 0xb98, 0xcfc, 0xb98, 0xbca, 0xa90, 0xbca, 0xa90, 0xbca, 0xa90, -0xac6, 0x9b9, 0xac6, 0x9b9, 0x9fa, 0x91f, 0x9fa, 0x91f, 0x8c0, 0x81a, 0x8c0, -0x81a, 0x744, 0x6d4, 0x744, 0x6d4, 0x61c, 0x5e2, 0x61c, 0x5e2, 0x523, 0x51d, -0x523, 0x51d, 0x523, 0x51d, 0x452, 0x47e, 0x452, 0x47e, 0x33a, 0x393, 0x33a, -0x393, 0x2fa, 0x37b, 0x2fa, 0x37b, 0x226, 0x2ca, 0x226, 0x2ca, 0x145, 0x203, -0x145, 0x203, 0x145, 0x203, 0x177, 0x248, 0x177, 0x248, 0x1bd, 0x299, 0x1bd, -0x299, 0x1a2, 0x282, 0x1a2, 0x282, 0x40, 0x11b, 0x40, 0x11b, 0xffad, 0x7b, -0xffad, 0x7b, 0xfeff, 0xffba, 0xfeff, 0xffba, 0xfeff, 0xffba, 0xfe81, 0xff24, 0xfe81, -0xff24, 0xfec8, 0xff4f, 0xfec8, 0xff4f, 0xfeab, 0xff12, 0xfeab, 0xff12, 0xfe91, 0xfed5, -0xfe91, 0xfed5, 0xfe95, 0xfeb7, 0xfe95, 0xfeb7, 0x29, 0x27, 0x29, 0x27, 0x29, -0x27, 0x163, 0x140, 0x163, 0x140, 0x28a, 0x247, 0x28a, 0x247, 0x493, 0x434, -0x493, 0x434, 0x5a5, 0x52e, 0x5a5, 0x52e, 0x64c, 0x5c1, 0x64c, 0x5c1, 0x64c, -0x5c1, 0x768, 0x6ce, 0x768, 0x6ce, 0x7a6, 0x700, 0x7a6, 0x700, 0x726, 0x67a, -0x726, 0x67a, 0x813, 0x763, 0x813, 0x763, 0x83a, 0x78b, 0x83a, 0x78b, 0x7f8, -0x74b, 0x7f8, 0x74b, 0x7f8, 0x74b, 0x901, 0x859, 0x901, 0x859, 0x8ed, 0x84a, -0x8ed, 0x84a, 0x838, 0x79c, 0x838, 0x79c, 0x840, 0x7aa, 0x840, 0x7aa, 0x7d5, -0x744, 0x7d5, 0x744, 0x778, 0x6eb, 0x778, 0x6eb, 0x778, 0x6eb, 0x7d8, 0x74d, -0x7d8, 0x74d, 0x86d, 0x7e3, 0x86d, 0x7e3, 0x8da, 0x84f, 0x8da, 0x84f, 0x82e, -0x7a2, 0x82e, 0x7a2, 0x8bb, 0x82d, 0x8bb, 0x82d, 0x8bb, 0x82d, 0x9c1, 0x930, -0x9c1, 0x930, 0x972, 0x8e0, 0x972, 0x8e0, 0x9ad, 0x91b, 0x9ad, 0x91b, 0x9f6, -0x966, 0x9f6, 0x966, 0xa89, 0x9ff, 0xa89, 0x9ff, 0xb46, 0xac6, 0xb46, 0xac6, -0xb46, 0xac6, 0xba4, 0xb34, 0xba4, 0xb34, 0xae7, 0xa8b, 0xae7, 0xa8b, 0x964, -0x924, 0x964, 0x924, 0x8a3, 0x884, 0x8a3, 0x884, 0x86c, 0x874, 0x86c, 0x874, -0x86c, 0x874, 0x749, 0x77e, 0x749, 0x77e, 0x48b, 0x4f2, 0x48b, 0x4f2, 0x204, -0x2a3, 0x204, 0x2a3, 0xff70, 0x4a, 0xff70, 0x4a, 0xfdb5, 0xfecd, 0xfdb5, 0xfecd, -0xfd35, 0xfe8b, 0xfd35, 0xfe8b, 0xfd35, 0xfe8b, 0xfbe3, 0xfd77, 0xfbe3, 0xfd77, 0xfa94, -0xfc65, 0xfa94, 0xfc65, 0xf92b, 0xfb35, 0xf92b, 0xfb35, 0xf793, 0xf9d2, 0xf793, 0xf9d2, -0xf640, 0xf8ae, 0xf640, 0xf8ae, 0xf4a0, 0xf734, 0xf4a0, 0xf734, 0xf4a0, 0xf734, 0xf399, -0xf64c, 0xf399, 0xf64c, 0xf2b6, 0xf57d, 0xf2b6, 0xf57d, 0xf164, 0xf437, 0xf164, 0xf437, -0xf111, 0xf3e5, 0xf111, 0xf3e5, 0xf05a, 0xf325, 0xf05a, 0xf325, 0xf05a, 0xf325, 0xef8b, -0xf244, 0xef8b, 0xf244, 0xf034, 0xf2d1, 0xf034, 0xf2d1, 0xeffb, 0xf274, 0xeffb, 0xf274, -0xee93, 0xf0e0, 0xee93, 0xf0e0, 0xee6c, 0xf086, 0xee6c, 0xf086, 0xee9c, 0xf07e, 0xee9c, -0xf07e, 0xee9c, 0xf07e, 0xee3d, 0xefe4, 0xee3d, 0xefe4, 0xef61, 0xf0ca, 0xef61, 0xf0ca, -0xf124, 0xf24e, 0xf124, 0xf24e, 0xf329, 0xf414, 0xf329, 0xf414, 0xf540, 0xf5ed, 0xf540, -0xf5ed, 0xf760, 0xf7d0, 0xf760, 0xf7d0, 0xf760, 0xf7d0, 0xfa38, 0xfa6e, 0xfa38, 0xfa6e, -0xfbb3, 0xfbb2, 0xfbb3, 0xfbb2, 0xfcf2, 0xfcbc, 0xfcf2, 0xfcbc, 0xfdd4, 0xfd6d, 0xfdd4, -0xfd6d, 0xfd43, 0xfcae, 0xfd43, 0xfcae, 0xfd43, 0xfcae, 0xfd75, 0xfcb4, 0xfd75, 0xfcb4, -0xfe4f, 0xfd63, 0xfe4f, 0xfd63, 0xfeec, 0xfdd8, 0xfeec, 0xfdd8, 0xffb0, 0xfe74, 0xffb0, -0xfe74, 0xff4a, 0xfde6, 0xff4a, 0xfde6, 0xfe3d, 0xfcb1, 0xfe3d, 0xfcb1, 0xfe3d, 0xfcb1, -0xfec7, 0xfd11, 0xfec7, 0xfd11, 0xff1b, 0xfd3b, 0xff1b, 0xfd3b, 0x5, 0xfdf9, 0x5, -0xfdf9, 0x1b0, 0xff76, 0x1b0, 0xff76, 0x21a, 0xffb1, 0x21a, 0xffb1, 0x320, 0x87, -0x320, 0x87, 0x320, 0x87, 0x46c, 0x1a2, 0x46c, 0x1a2, 0x671, 0x377, 0x671, -0x377, 0x9d2, 0x6aa, 0x9d2, 0x6aa, 0xc6c, 0x917, 0xc6c, 0x917, 0xf20, 0xba4, -0xf20, 0xba4, 0xf20, 0xba4, 0x11e7, 0xe48, 0x11e7, 0xe48, 0x137f, 0xfc4, 0x137f, -0xfc4, 0x14c0, 0x10f0, 0x14c0, 0x10f0, 0x15e5, 0x1209, 0x15e5, 0x1209, 0x16d2, 0x12f3, -0x16d2, 0x12f3, 0x176d, 0x1395, 0x176d, 0x1395, 0x176d, 0x1395, 0x17c7, 0x1401, 0x17c7, -0x1401, 0x1788, 0x13dd, 0x1788, 0x13dd, 0x169f, 0x131c, 0x169f, 0x131c, 0x1569, 0x1216, -0x1569, 0x1216, 0x1455, 0x113c, 0x1455, 0x113c, 0x1386, 0x10ad, 0x1386, 0x10ad, 0x1386, -0x10ad, 0x1213, 0xf82, 0x1213, 0xf82, 0x1122, 0xede, 0x1122, 0xede, 0x105c, 0xe68, -0x105c, 0xe68, 0xec4, 0xd23, 0xec4, 0xd23, 0xd72, 0xc22, 0xd72, 0xc22, 0xd72, -0xc22, 0xc47, 0xb46, 0xc47, 0xb46, 0xafc, 0xa47, 0xafc, 0xa47, 0x992, 0x924, -0x992, 0x924, 0x893, 0x864, 0x893, 0x864, 0x7d4, 0x7de, 0x7d4, 0x7de, 0x713, -0x74d, 0x713, 0x74d, 0x713, 0x74d, 0x687, 0x6e7, 0x687, 0x6e7, 0x564, 0x5e1, -0x564, 0x5e1, 0x3ab, 0x43c, 0x3ab, 0x43c, 0x2af, 0x34c, 0x2af, 0x34c, 0x21f, -0x2be, 0x21f, 0x2be, 0x14a, 0x1e5, 0x14a, 0x1e5, 0x14a, 0x1e5, 0xaf, 0x13f, -0xaf, 0x13f, 0xff84, 0x4, 0xff84, 0x4, 0xfe40, 0xfeac, 0xfe40, 0xfeac, 0xfd81, -0xfdd7, 0xfd81, 0xfdd7, 0xfe18, 0xfe56, 0xfe18, 0xfe56, 0xfe18, 0xfe56, 0x30, 0x56, -0x30, 0x56, 0x1d2, 0x1e0, 0x1d2, 0x1e0, 0x3d2, 0x3ca, 0x3d2, 0x3ca, 0x5e3, -0x5c6, 0x5e3, 0x5c6, 0x6ac, 0x67c, 0x6ac, 0x67c, 0x79e, 0x75e, 0x79e, 0x75e, -0x79e, 0x75e, 0x991, 0x944, 0x991, 0x944, 0xa4f, 0x9f5, 0xa4f, 0x9f5, 0xa4b, -0x9e6, 0xa4b, 0x9e6, 0xb98, 0xb28, 0xb98, 0xb28, 0xbe3, 0xb69, 0xbe3, 0xb69, -0xc7c, 0xbf5, 0xc7c, 0xbf5, 0xc7c, 0xbf5, 0xcde, 0xc49, 0xcde, 0xc49, 0xbc9, -0xb22, 0xbc9, 0xb22, 0xbee, 0xb33, 0xbee, 0xb33, 0xb72, 0xa9d, 0xb72, 0xa9d, -0xab3, 0x9c1, 0xab3, 0x9c1, 0xab3, 0x9c1, 0xabb, 0x9a6, 0xabb, 0x9a6, 0xb07, -0x9cd, 0xb07, 0x9cd, 0xb69, 0xa04, 0xb69, 0xa04, 0xb91, 0x9fe, 0xb91, 0x9fe, -0xc37, 0xa73, 0xc37, 0xa73, 0xc8a, 0xa95, 0xc8a, 0xa95, 0xc8a, 0xa95, 0xd24, -0xafd, 0xd24, 0xafd, 0xe2c, 0xbd6, 0xe2c, 0xbd6, 0xf20, 0xc9d, 0xf20, 0xc9d, -0xf3f, 0xc94, 0xf3f, 0xc94, 0xeb7, 0xbeb, 0xeb7, 0xbeb, 0xf28, 0xc43, 0xf28, -0xc43, 0xf28, 0xc43, 0xfdf, 0xce9, 0xfdf, 0xce9, 0x1026, 0xd29, 0x1026, 0xd29, -0x105e, 0xd66, 0x105e, 0xd66, 0x10e8, 0xe00, 0x10e8, 0xe00, 0x1051, 0xd85, 0x1051, -0xd85, 0x1051, 0xd85, 0xec0, 0xc1a, 0xec0, 0xc1a, 0xd4b, 0xad7, 0xd4b, 0xad7, -0xb0f, 0x8d6, 0xb0f, 0x8d6, 0x8e1, 0x6ee, 0x8e1, 0x6ee, 0x719, 0x571, 0x719, -0x571, 0x5b7, 0x462, 0x5b7, 0x462, 0x5b7, 0x462, 0x507, 0x408, 0x507, 0x408, -0x316, 0x270, 0x316, 0x270, 0xd9, 0x8c, 0xd9, 0x8c, 0xff6a, 0xff75, 0xff6a, -0xff75, 0xfce1, 0xfd42, 0xfce1, 0xfd42, 0xfac3, 0xfb74, 0xfac3, 0xfb74, 0xfac3, 0xfb74, -0xf8fe, 0xf9fa, 0xf8fe, 0xf9fa, 0xf637, 0xf776, 0xf637, 0xf776, 0xf382, 0xf4fe, 0xf382, -0xf4fe, 0xf16b, 0xf31b, 0xf16b, 0xf31b, 0xefae, 0xf18a, 0xefae, 0xf18a, 0xefae, 0xf18a, -0xee2b, 0xf02a, 0xee2b, 0xf02a, 0xece1, 0xeefc, 0xece1, 0xeefc, 0xeaa4, 0xecd4, 0xeaa4, -0xecd4, 0xe8f8, 0xeb36, 0xe8f8, 0xeb36, 0xe823, 0xea6b, 0xe823, 0xea6b, 0xe778, 0xe9c5, -0xe778, 0xe9c5, 0xe778, 0xe9c5, 0xe792, 0xe9e2, 0xe792, 0xe9e2, 0xe6da, 0xe92a, 0xe6da, -0xe92a, 0xe647, 0xe898, 0xe647, 0xe898, 0xe644, 0xe894, 0xe644, 0xe894, 0xe680, 0xe8d0, -0xe680, 0xe8d0, 0xe680, 0xe8d0, 0xe7d0, 0xea22, 0xe7d0, 0xea22, 0xe86b, 0xeac1, 0xe86b, -0xeac1, 0xe8c2, 0xeb1c, 0xe8c2, 0xeb1c, 0xe9b5, 0xec15, 0xe9b5, 0xec15, 0xe997, 0xebfc, -0xe997, 0xebfc, 0xea00, 0xec6c, 0xea00, 0xec6c, 0xea00, 0xec6c, 0xeaae, 0xed20, 0xeaae, -0xed20, 0xea86, 0xecfc, 0xea86, 0xecfc, 0xeb7b, 0xedf2, 0xeb7b, 0xedf2, 0xec9b, 0xef0f, -0xec9b, 0xef0f, 0xeccb, 0xef38, 0xeccb, 0xef38, 0xecea, 0xef4b, 0xecea, 0xef4b, 0xecea, -0xef4b, 0xedc3, 0xf010, 0xedc3, 0xf010, 0xef2e, 0xf161, 0xef2e, 0xf161, 0xf1a0, 0xf3b2, -0xf1a0, 0xf3b2, 0xf3d2, 0xf5bc, 0xf3d2, 0xf5bc, 0xf550, 0xf70b, 0xf550, 0xf70b, 0xf550, -0xf70b, 0xf71b, 0xf8a1, 0xf71b, 0xf8a1, 0xf85f, 0xf9ab, 0xf85f, 0xf9ab, 0xfa78, 0xfb84, -0xfa78, 0xfb84, 0xfc15, 0xfce1, 0xfc15, 0xfce1, 0xfd87, 0xfe0f, 0xfd87, 0xfe0f, 0xffe7, -0x2e, 0xffe7, 0x2e, 0xffe7, 0x2e, 0x172, 0x178, 0x172, 0x178, 0x316, 0x2e0, -0x316, 0x2e0, 0x47d, 0x410, 0x47d, 0x410, 0x53e, 0x4a1, 0x53e, 0x4a1, 0x601, -0x53d, 0x601, 0x53d, 0x723, 0x640, 0x723, 0x640, 0x723, 0x640, 0x7f7, 0x700, -0x7f7, 0x700, 0x85a, 0x759, 0x85a, 0x759, 0x8df, 0x7e0, 0x8df, 0x7e0, 0x920, -0x82c, 0x920, 0x82c, 0x86c, 0x78e, 0x86c, 0x78e, 0x86c, 0x78e, 0x6a2, 0x5e3, -0x6a2, 0x5e3, 0x528, 0x490, 0x528, 0x490, 0x49e, 0x434, 0x49e, 0x434, 0x507, -0x4d0, 0x507, 0x4d0, 0x49b, 0x49b, 0x49b, 0x49b, 0x34b, 0x383, 0x34b, 0x383, -0x34b, 0x383, 0x1fd, 0x26e, 0x1fd, 0x26e, 0xffb0, 0x59, 0xffb0, 0x59, 0xfdef, -0xfecd, 0xfdef, 0xfecd, 0xfc53, 0xfd63, 0xfc53, 0xfd63, 0xfa49, 0xfb85, 0xfa49, 0xfb85, -0xf86c, 0xf9cf, 0xf86c, 0xf9cf, 0xf86c, 0xf9cf, 0xf6b8, 0xf83c, 0xf6b8, 0xf83c, 0xf5c6, -0xf764, 0xf5c6, 0xf764, 0xf4d9, 0xf68c, 0xf4d9, 0xf68c, 0xf3da, 0xf59b, 0xf3da, 0xf59b, -0xf27c, 0xf447, 0xf27c, 0xf447, 0xf27c, 0xf447, 0xf11d, 0xf2ed, 0xf11d, 0xf2ed, 0xf076, -0xf248, 0xf076, 0xf248, 0xef46, 0xf118, 0xef46, 0xf118, 0xeda6, 0xef76, 0xeda6, 0xef76, -0xec7b, 0xee49, 0xec7b, 0xee49, 0xec9d, 0xee6b, 0xec9d, 0xee6b, 0xec9d, 0xee6b, 0xed9f, -0xef6c, 0xed9f, 0xef6c, 0xee79, 0xf049, 0xee79, 0xf049, 0xefff, 0xf1d4, 0xefff, 0xf1d4, -0xf087, 0xf264, 0xf087, 0xf264, 0xefd4, 0xf1bb, 0xefd4, 0xf1bb, 0xf0aa, 0xf29d, 0xf0aa, -0xf29d, 0xf0aa, 0xf29d, 0xf0d8, 0xf2d9, 0xf0d8, 0xf2d9, 0xefbe, 0xf1cd, 0xefbe, 0xf1cd, -0xef9d, 0xf1b9, 0xef9d, 0xf1b9, 0xef22, 0xf14b, 0xef22, 0xf14b, 0xeeaf, 0xf0e1, 0xeeaf, -0xf0e1, 0xeeaf, 0xf0e1, 0xef76, 0xf1ae, 0xef76, 0xf1ae, 0xefd0, 0xf208, 0xefd0, 0xf208, -0xef6d, 0xf19f, 0xef6d, 0xf19f, 0xef52, 0xf177, 0xef52, 0xf177, 0xef30, 0xf140, 0xef30, -0xf140, 0xef9f, 0xf192, 0xef9f, 0xf192, 0xef9f, 0xf192, 0xf0e5, 0xf2b2, 0xf0e5, 0xf2b2, -0xf1f0, 0xf38e, 0xf1f0, 0xf38e, 0xf390, 0xf4f8, 0xf390, 0xf4f8, 0xf4cb, 0xf5f6, 0xf4cb, -0xf5f6, 0xf5d0, 0xf6b8, 0xf5d0, 0xf6b8, 0xf844, 0xf8e4, 0xf844, 0xf8e4, 0xf844, 0xf8e4, -0xf9ea, 0xfa3f, 0xf9ea, 0xfa3f, 0xfc24, 0xfc2d, 0xfc24, 0xfc2d, 0xfef2, 0xfeae, 0xfef2, -0xfeae, 0x8e, 0xffff, 0x8e, 0xffff, 0x264, 0x18f, 0x264, 0x18f, 0x264, 0x18f, -0x31e, 0x207, 0x31e, 0x207, 0x451, 0x300, 0x451, 0x300, 0x6c0, 0x53c, 0x6c0, -0x53c, 0x882, 0x6d4, 0x882, 0x6d4, 0x9c7, 0x7fa, 0x9c7, 0x7fa, 0x9dd, 0x7f9, -0x9dd, 0x7f9, 0x9dd, 0x7f9, 0x9bc, 0x7cb, 0x9bc, 0x7cb, 0xa47, 0x853, 0xa47, -0x853, 0xa87, 0x89a, 0xa87, 0x89a, 0xa51, 0x872, 0xa51, 0x872, 0xa3c, 0x870, -0xa3c, 0x870, 0x9d3, 0x821, 0x9d3, 0x821, 0x9d3, 0x821, 0x8fc, 0x767, 0x8fc, -0x767, 0x8fc, 0x786, 0x8fc, 0x786, 0x8fc, 0x7a6, 0x8fc, 0x7a6, 0x828, 0x6f2, -0x828, 0x6f2, 0x844, 0x72b, 0x844, 0x72b, 0x844, 0x72b, 0x8f6, 0x7f7, 0x8f6, -0x7f7, 0x932, 0x848, 0x932, 0x848, 0x942, 0x86a, 0x942, 0x86a, 0x934, 0x867, -0x934, 0x867, 0x93f, 0x87a, 0x93f, 0x87a, 0x89b, 0x7d7, 0x89b, 0x7d7, 0x89b, -0x7d7, 0x82c, 0x766, 0x82c, 0x766, 0x786, 0x6ba, 0x786, 0x6ba, 0x663, 0x58f, -0x663, 0x58f, 0x618, 0x53b, 0x618, 0x53b, 0x586, 0x49f, 0x586, 0x49f, 0x4a0, -0x3b0, 0x4a0, 0x3b0, 0x4a0, 0x3b0, 0x3be, 0x2c9, 0x3be, 0x2c9, 0x350, 0x259, -0x350, 0x259, 0x3b5, 0x2c0, 0x3b5, 0x2c0, 0x50a, 0x41e, 0x50a, 0x41e, 0x604, -0x525, 0x604, 0x525, 0x604, 0x525, 0x5e5, 0x519, 0x5e5, 0x519, 0x5c5, 0x513, -0x5c5, 0x513, 0x641, 0x5af, 0x641, 0x5af, 0x722, 0x6b3, 0x722, 0x6b3, 0x76b, -0x725, 0x76b, 0x725, 0x78e, 0x773, 0x78e, 0x773, 0x78e, 0x773, 0x756, 0x768, -0x756, 0x768, 0x789, 0x7c7, 0x789, 0x7c7, 0x7cd, 0x837, 0x7cd, 0x837, 0x72f, -0x7c1, 0x72f, 0x7c1, 0x5f3, 0x6a9, 0x5f3, 0x6a9, 0x486, 0x55b, 0x486, 0x55b, -0x486, 0x55b, 0x386, 0x472, 0x386, 0x472, 0x2a5, 0x3a1, 0x2a5, 0x3a1, 0x1ca, -0x2ce, 0x1ca, 0x2ce, 0xffb3, 0xb7, 0xffb3, 0xb7, 0xfeb6, 0xffb1, 0xfeb6, 0xffb1, -0xfeb6, 0xffb1, 0xfebd, 0xffa8, 0xfebd, 0xffa8, 0xfeaf, 0xff82, 0xfeaf, 0xff82, 0x2f, -0xe5, 0x2f, 0xe5, 0x12e, 0x1c2, 0x12e, 0x1c2, 0x1a5, 0x212, 0x1a5, 0x212, -0x2b6, 0x2fc, 0x2b6, 0x2fc, 0x2b6, 0x2fc, 0x41b, 0x439, 0x41b, 0x439, 0x51e, -0x516, 0x51e, 0x516, 0x5de, 0x5b3, 0x5de, 0x5b3, 0x6ac, 0x663, 0x6ac, 0x663, -0x7b5, 0x753, 0x7b5, 0x753, 0x7b5, 0x753, 0x844, 0x7d0, 0x844, 0x7d0, 0x868, -0x7ea, 0x868, 0x7ea, 0x8db, 0x85a, 0x8db, 0x85a, 0x88b, 0x80f, 0x88b, 0x80f, -0x7fb, 0x78c, 0x7fb, 0x78c, 0x729, 0x6ce, 0x729, 0x6ce, 0x729, 0x6ce, 0x55d, -0x51a, 0x55d, 0x51a, 0x352, 0x32e, 0x352, 0x32e, 0x278, 0x276, 0x278, 0x276, -0x186, 0x1a7, 0x186, 0x1a7, 0x46, 0x8b, 0x46, 0x8b, 0xff7f, 0xffe6, 0xff7f, -0xffe6, 0xff7f, 0xffe6, 0xfdfa, 0xfe81, 0xfdfa, 0xfe81, 0xfd16, 0xfdb8, 0xfd16, 0xfdb8, -0xfe01, 0xfeb8, 0xfe01, 0xfeb8, 0xfea4, 0xff6b, 0xfea4, 0xff6b, 0xfdcc, 0xfe9a, 0xfdcc, -0xfe9a, 0xfdcc, 0xfe9a, 0xfd73, 0xfe42, 0xfd73, 0xfe42, 0xfcea, 0xfdb2, 0xfcea, 0xfdb2, -0xfc71, 0xfd2b, 0xfc71, 0xfd2b, 0xfd10, 0xfdb5, 0xfd10, 0xfdb5, 0xfd83, 0xfe0d, 0xfd83, -0xfe0d, 0xfd5b, 0xfdc5, 0xfd5b, 0xfdc5, 0xfd5b, 0xfdc5, 0xfcee, 0xfd35, 0xfcee, 0xfd35, -0xfd3c, 0xfd5e, 0xfd3c, 0xfd5e, 0xfd6f, 0xfd6c, 0xfd6f, 0xfd6c, 0xfcc4, 0xfc9d, 0xfcc4, -0xfc9d, 0xfc20, 0xfbd7, 0xfc20, 0xfbd7, 0xfcf2, 0xfc8b, 0xfcf2, 0xfc8b, 0xfcf2, 0xfc8b, -0xfd83, 0xfd03, 0xfd83, 0xfd03, 0xfe7e, 0xfdea, 0xfe7e, 0xfdea, 0x9a, 0xfff9, 0x9a, -0xfff9, 0x124, 0x7e, 0x124, 0x7e, 0x1f1, 0x14c, 0x1f1, 0x14c, 0x1f1, 0x14c, -0x2be, 0x220, 0x2be, 0x220, 0x1ad, 0x11c, 0x1ad, 0x11c, 0x92, 0x14, 0x92, -0x14, 0x21, 0xffb8, 0x21, 0xffb8, 0xfeeb, 0xfe9b, 0xfeeb, 0xfe9b, 0xfeeb, 0xfeb5, -0xfeeb, 0xfeb5, 0xfeeb, 0xfeb5, 0xfeb7, 0xfe9a, 0xfeb7, 0xfe9a, 0xfce6, 0xfce1, 0xfce6, -0xfce1, 0xfc1f, 0xfc2f, 0xfc1f, 0xfc2f, 0xfad5, 0xfaf6, 0xfad5, 0xfaf6, 0xfa3e, 0xfa6a, -0xfa3e, 0xfa6a, 0xfa14, 0xfa46, 0xfa14, 0xfa46, 0xfa14, 0xfa46, 0xf94c, 0xf97e, 0xf94c, -0xf97e, 0xf996, 0xf9c1, 0xf996, 0xf9c1, 0xf9af, 0xf9cd, 0xf9af, 0xf9cd, 0xf9c2, 0xf9cd, -0xf9c2, 0xf9cd, 0xfb00, 0xfaf3, 0xfb00, 0xfaf3, 0xfb00, 0xfaf3, 0xfbd3, 0xfba9, 0xfbd3, -0xfba9, 0xfc78, 0xfc30, 0xfc78, 0xfc30, 0xfe7d, 0xfe15, 0xfe7d, 0xfe15, 0xffe2, 0xff59, -0xffe2, 0xff59, 0x103, 0x5b, 0x103, 0x5b, 0x22e, 0x16b, 0x22e, 0x16b, 0x22e, -0x16b, 0x2e9, 0x20f, 0x2e9, 0x20f, 0x46f, 0x383, 0x46f, 0x383, 0x5af, 0x4b7, -0x5af, 0x4b7, 0x69d, 0x5a1, 0x69d, 0x5a1, 0x6e4, 0x5eb, 0x6e4, 0x5eb, 0x6a5, -0x5b6, 0x6a5, 0x5b6, 0x6a5, 0x5b6, 0x717, 0x63a, 0x717, 0x63a, 0x707, 0x642, -0x707, 0x642, 0x70f, 0x668, 0x70f, 0x668, 0x6db, 0x655, 0x6db, 0x655, 0x651, -0x5f0, 0x651, 0x5f0, 0x651, 0x5f0, 0x6c3, 0x688, 0x6c3, 0x688, 0x6d3, 0x6bd, -0x6d3, 0x6bd, 0x70f, 0x71c, 0x70f, 0x71c, 0x69c, 0x6c9, 0x69c, 0x6c9, 0x565, -0x5ab, 0x565, 0x5ab, 0x4e5, 0x53e, 0x4e5, 0x53e, 0x4e5, 0x53e, 0x4fd, 0x560, -0x4fd, 0x560, 0x57f, 0x5e3, 0x57f, 0x5e3, 0x567, 0x5c4, 0x567, 0x5c4, 0x565, -0x5b0, 0x565, 0x5b0, 0x543, 0x573, 0x543, 0x573, 0x553, 0x560, 0x553, 0x560, -0x553, 0x560, 0x53b, 0x51b, 0x53b, 0x51b, 0x4f8, 0x4a5, 0x4f8, 0x4a5, 0x534, -0x4a9, 0x534, 0x4a9, 0x527, 0x45f, 0x527, 0x45f, 0x61c, 0x516, 0x61c, 0x516, -0x61c, 0x516, 0x667, 0x522, 0x667, 0x522, 0x5d8, 0x455, 0x5d8, 0x455, 0x6a1, -0x4e3, 0x6a1, 0x4e3, 0x8cd, 0x6d9, 0x8cd, 0x6d9, 0xbb8, 0x993, 0xbb8, 0x993, -0xeb8, 0xc6a, 0xeb8, 0xc6a, 0xeb8, 0xc6a, 0x115a, 0xeeb, 0x115a, 0xeeb, 0x1255, -0xfcb, 0x1255, 0xfcb, 0x13d7, 0x113d, 0x13d7, 0x113d, 0x1540, 0x129c, 0x1540, 0x129c, -0x1501, 0x125b, 0x1501, 0x125b, 0x1543, 0x12a2, 0x1543, 0x12a2, 0x1543, 0x12a2, 0x14ab, -0x1215, 0x14ab, 0x1215, 0x14b3, 0x122c, 0x14b3, 0x122c, 0x1580, 0x130b, 0x1580, 0x130b, -0x1507, 0x12a6, 0x1507, 0x12a6, 0x143e, 0x11f2, 0x143e, 0x11f2, 0x143e, 0x11f2, 0x12d0, -0x1097, 0x12d0, 0x1097, 0x117a, 0xf53, 0x117a, 0xf53, 0x10ed, 0xed4, 0x10ed, 0xed4, -0x1068, 0xe5b, 0x1068, 0xe5b, 0xfeb, 0xde5, 0xfeb, 0xde5, 0x100d, 0xe0a, 0x100d, -0xe0a, 0x100d, 0xe0a, 0xef1, 0xcee, 0xef1, 0xcee, 0xe56, 0xc4f, 0xe56, 0xc4f, -0xedc, 0xcce, 0xedc, 0xcce, 0xe0e, 0xbf8, 0xe0e, 0xbf8, 0xed2, 0xcb5, 0xed2, -0xcb5, 0xf62, 0xd3e, 0xf62, 0xd3e, 0xf62, 0xd3e, 0xea5, 0xc7d, 0xea5, 0xc7d, -0xe47, 0xc1f, 0xe47, 0xc1f, 0xdfc, 0xbda, 0xdfc, 0xbda, 0xd53, 0xb3e, 0xd53, -0xb3e, 0xbe8, 0x9e7, 0xbe8, 0x9e7, 0xbe8, 0x9e7, 0xabf, 0x8da, 0xabf, 0x8da, -0x98e, 0x7cf, 0x98e, 0x7cf, 0x86a, 0x6da, 0x86a, 0x6da, 0x72b, 0x5d3, 0x72b, -0x5d3, 0x570, 0x459, 0x570, 0x459, 0x316, 0x248, 0x316, 0x248, 0x316, 0x248, -0xc8, 0x4a, 0xc8, 0x4a, 0xff2f, 0xff04, 0xff2f, 0xff04, 0xfe57, 0xfe85, 0xfe57, -0xfe85, 0xfd43, 0xfdcb, 0xfd43, 0xfdcb, 0xfc11, 0xfcf3, 0xfc11, 0xfcf3, 0xfabb, 0xfbf4, -0xfabb, 0xfbf4, 0xfabb, 0xfbf4, 0xf892, 0xfa1e, 0xf892, 0xfa1e, 0xf76b, 0xf944, 0xf76b, -0xf944, 0xf67a, 0xf89a, 0xf67a, 0xf89a, 0xf527, 0xf784, 0xf527, 0xf784, 0xf3d5, 0xf664, -0xf3d5, 0xf664, 0xf3d5, 0xf664, 0xf313, 0xf5cb, 0xf313, 0xf5cb, 0xf0e2, 0xf3b6, 0xf0e2, -0xf3b6, 0xeee4, 0xf1ca, 0xeee4, 0xf1ca, 0xeeef, 0xf1db, 0xeeef, 0xf1db, 0xeddb, 0xf0c2, -0xeddb, 0xf0c2, 0xecb8, 0xef90, 0xecb8, 0xef90, 0xecb8, 0xef90, 0xebab, 0xee6b, 0xebab, -0xee6b, 0xeb4c, 0xedee, 0xeb4c, 0xedee, 0xeab4, 0xed30, 0xeab4, 0xed30, 0xea5e, 0xecb0, -0xea5e, 0xecb0, 0xe9b6, 0xebdc, 0xe9b6, 0xebdc, 0xe9b6, 0xebdc, 0xe98d, 0xeb84, 0xe98d, -0xeb84, 0xeac3, 0xec8b, 0xeac3, 0xec8b, 0xeb9c, 0xed37, 0xeb9c, 0xed37, 0xeded, 0xef5d, -0xeded, 0xef5d, 0xeef1, 0xf038, 0xeef1, 0xf038, 0xf05f, 0xf181, 0xf05f, 0xf181, 0xf05f, -0xf181, 0xf152, 0xf252, 0xf152, 0xf252, 0xf1c7, 0xf2aa, 0xf1c7, 0xf2aa, 0xf33f, 0xf409, -0xf33f, 0xf409, 0xf3e5, 0xf498, 0xf3e5, 0xf498, 0xf4d1, 0xf570, 0xf4d1, 0xf570, 0xf586, -0xf614, 0xf586, 0xf614, 0xf586, 0xf614, 0xf6b9, 0xf736, 0xf6b9, 0xf736, 0xf662, 0xf6d0, -0xf662, 0xf6d0, 0xf6c9, 0xf727, 0xf6c9, 0xf727, 0xf687, 0xf6d5, 0xf687, 0xf6d5, 0xf62e, -0xf66b, 0xf62e, 0xf66b, 0xf62e, 0xf66b, 0xf7f2, 0xf81b, 0xf7f2, 0xf81b, 0xf88a, 0xf8a0, -0xf88a, 0xf8a0, 0xfa15, 0xfa14, 0xfa15, 0xfa14, 0xfb20, 0xfb09, 0xfb20, 0xfb09, 0xfc37, -0xfc08, 0xfc37, 0xfc08, 0xfd4f, 0xfd09, 0xfd4f, 0xfd09, 0xfd4f, 0xfd09, 0xfe09, 0xfdad, -0xfe09, 0xfdad, 0xfe95, 0xfe25, 0xfe95, 0xfe25, 0xfe83, 0xfe02, 0xfe83, 0xfe02, 0xfe77, -0xfdeb, 0xfe77, 0xfdeb, 0xff4f, 0xfebd, 0xff4f, 0xfebd, 0x256, 0x1c4, 0x256, 0x1c4, -0x256, 0x1c4, 0x254, 0x1cb, 0x254, 0x1cb, 0x194, 0x11d, 0x194, 0x11d, 0x395, -0x338, 0x395, 0x338, 0x431, 0x3f7, 0x431, 0x3f7, 0x36e, 0x360, 0x36e, 0x360, -0x36e, 0x360, 0x292, 0x2ba, 0x292, 0x2ba, 0x14e, 0x1b4, 0x14e, 0x1b4, 0x48, -0xf3, 0x48, 0xf3, 0xff4e, 0x43, 0xff4e, 0x43, 0xfcbd, 0xfe02, 0xfcbd, 0xfe02, -0xfa72, 0xfc09, 0xfa72, 0xfc09, 0xfa72, 0xfc09, 0xf887, 0xfa72, 0xf887, 0xfa72, 0xf700, -0xf93e, 0xf700, 0xf93e, 0xf6f7, 0xf986, 0xf6f7, 0xf986, 0xf436, 0xf711, 0xf436, 0xf711, -0xf073, 0xf393, 0xf073, 0xf393, 0xefd3, 0xf331, 0xefd3, 0xf331, 0xefd3, 0xf331, 0xef28, -0xf2bb, 0xef28, 0xf2bb, 0xed69, 0xf128, 0xed69, 0xf128, 0xec2d, 0xf00d, 0xec2d, 0xf00d, -0xead9, 0xeecf, 0xead9, 0xeecf, 0xe99a, 0xed9b, 0xe99a, 0xed9b, 0xe99a, 0xed9b, 0xe994, -0xed96, 0xe994, 0xed96, 0xe922, 0xed19, 0xe922, 0xed19, 0xe8ba, 0xec9f, 0xe8ba, 0xec9f, -0xe8f9, 0xecc3, 0xe8f9, 0xecc3, 0xe85d, 0xec05, 0xe85d, 0xec05, 0xe897, 0xec17, 0xe897, -0xec17, 0xe897, 0xec17, 0xe8df, 0xec32, 0xe8df, 0xec32, 0xe915, 0xec39, 0xe915, 0xec39, -0xe9f9, 0xecec, 0xe9f9, 0xecec, 0xea83, 0xed46, 0xea83, 0xed46, 0xeb50, 0xede3, 0xeb50, -0xede3, 0xecaf, 0xef13, 0xecaf, 0xef13, 0xecaf, 0xef13, 0xedac, 0xefe4, 0xedac, 0xefe4, -0xee86, 0xf095, 0xee86, 0xf095, 0xf027, 0xf20f, 0xf027, 0xf20f, 0xf0c6, 0xf28a, 0xf0c6, -0xf28a, 0xf1af, 0xf351, 0xf1af, 0xf351, 0xf1af, 0xf351, 0xf31d, 0xf49e, 0xf31d, 0xf49e, -0xf3e9, 0xf54b, 0xf3e9, 0xf54b, 0xf511, 0xf655, 0xf511, 0xf655, 0xf60d, 0xf731, 0xf60d, -0xf731, 0xf747, 0xf84a, 0xf747, 0xf84a, 0xf860, 0xf93f, 0xf860, 0xf93f, 0xf860, 0xf93f, -0xf9c1, 0xfa7a, 0xf9c1, 0xfa7a, 0xfaf7, 0xfb85, 0xfaf7, 0xfb85, 0xfbbe, 0xfc1f, 0xfbbe, -0xfc1f, 0xfd40, 0xfd70, 0xfd40, 0xfd70, 0xff0e, 0xff09, 0xff0e, 0xff09, 0xaa, 0x6c, -0xaa, 0x6c, 0xaa, 0x6c, 0x188, 0x110, 0x188, 0x110, 0x2be, 0x209, 0x2be, -0x209, 0x44e, 0x35c, 0x44e, 0x35c, 0x5b1, 0x484, 0x5b1, 0x484, 0x749, 0x5e2, -0x749, 0x5e2, 0x749, 0x5e2, 0x8b9, 0x71c, 0x8b9, 0x71c, 0x9d2, 0x803, 0x9d2, -0x803, 0xabf, 0x8c6, 0xabf, 0x8c6, 0xbcf, 0x9b4, 0xbcf, 0x9b4, 0xc89, 0xa55, -0xc89, 0xa55, 0xd1a, 0xad6, 0xd1a, 0xad6, 0xd1a, 0xad6, 0xd49, 0xb00, 0xd49, -0xb00, 0xcf9, 0xab5, 0xcf9, 0xab5, 0xcae, 0xa7b, 0xcae, 0xa7b, 0xc47, 0xa2f, -0xc47, 0xa2f, 0xc09, 0xa16, 0xc09, 0xa16, 0xb63, 0x99d, 0xb63, 0x99d, 0xb63, -0x99d, 0xa89, 0x8f8, 0xa89, 0x8f8, 0x9c1, 0x86b, 0x9c1, 0x86b, 0x8dc, 0x7c7, -0x8dc, 0x7c7, 0x7de, 0x70b, 0x7de, 0x70b, 0x694, 0x604, 0x694, 0x604, 0x694, -0x604, 0x58e, 0x541, 0x58e, 0x541, 0x478, 0x46b, 0x478, 0x46b, 0x371, 0x3a0, -0x371, 0x3a0, 0x27c, 0x2e1, 0x27c, 0x2e1, 0x134, 0x1c9, 0x134, 0x1c9, 0xb, -0xc7, 0xb, 0xc7, 0xb, 0xc7, 0xff74, 0x50, 0xff74, 0x50, 0xff13, 0x6, -0xff13, 0x6, 0xfe7b, 0xff7c, 0xfe7b, 0xff7c, 0xfe15, 0xff1d, 0xfe15, 0xff1d, 0xfda2, -0xfea8, 0xfda2, 0xfea8, 0xfd4d, 0xfe4a, 0xfd4d, 0xfe4a, 0xfd4d, 0xfe4a, 0xfd18, 0xfe07, -0xfd18, 0xfe07, 0xfd1e, 0xfdf9, 0xfd1e, 0xfdf9, 0xfd80, 0xfe43, 0xfd80, 0xfe43, 0xfe09, -0xfeb2, 0xfe09, 0xfeb2, 0xfeb5, 0xff43, 0xfeb5, 0xff43, 0xfeb5, 0xff43, 0xff42, 0xffb5, -0xff42, 0xffb5, 0x45, 0x9d, 0x45, 0x9d, 0x13a, 0x179, 0x13a, 0x179, 0x1ec, -0x214, 0x1ec, 0x214, 0x32b, 0x33f, 0x32b, 0x33f, 0x416, 0x418, 0x416, 0x418, -0x416, 0x418, 0x488, 0x47b, 0x488, 0x47b, 0x58b, 0x571, 0x58b, 0x571, 0x65d, -0x639, 0x65d, 0x639, 0x67e, 0x650, 0x67e, 0x650, 0x6a8, 0x671, 0x6a8, 0x671, -0x6b3, 0x673, 0x6b3, 0x673, 0x6b3, 0x673, 0x66b, 0x620, 0x66b, 0x620, 0x678, -0x622, 0x678, 0x622, 0x67f, 0x61a, 0x67f, 0x61a, 0x5f7, 0x580, 0x5f7, 0x580, -0x5d5, 0x549, 0x5d5, 0x549, 0x5d5, 0x549, 0x63f, 0x59a, 0x63f, 0x59a, 0x6d2, -0x611, 0x6d2, 0x611, 0x76f, 0x68e, 0x76f, 0x68e, 0x84f, 0x74c, 0x84f, 0x74c, -0x927, 0x7ff, 0x927, 0x7ff, 0xa4b, 0x8fe, 0xa4b, 0x8fe, 0xa4b, 0x8fe, 0xb82, -0xa0f, 0xb82, 0xa0f, 0xc7b, 0xae3, 0xc7b, 0xae3, 0xdf4, 0xc3a, 0xdf4, 0xc3a, -0xf12, 0xd3a, 0xf12, 0xd3a, 0x102d, 0xe3c, 0x102d, 0xe3c, 0x102d, 0xe3c, 0x1095, -0xe91, 0x1095, 0xe91, 0x108b, 0xe7b, 0x108b, 0xe7b, 0x1093, 0xe7f, 0x1093, 0xe7f, -0x1006, 0xdf8, 0x1006, 0xdf8, 0xf79, 0xd79, 0xf79, 0xd79, 0xe77, 0xc8f, 0xe77, -0xc8f, 0xe77, 0xc8f, 0xd43, 0xb7c, 0xd43, 0xb7c, 0xb55, 0x9b7, 0xb55, 0x9b7, -0x984, 0x818, 0x984, 0x818, 0x81d, 0x6e9, 0x81d, 0x6e9, 0x62a, 0x534, 0x62a, -0x534, 0x418, 0x364, 0x418, 0x364, 0x418, 0x364, 0x22c, 0x1bd, 0x22c, 0x1bd, -0xa1, 0x78, 0xa1, 0x78, 0xfef5, 0xff11, 0xfef5, 0xff11, 0xfd52, 0xfdb2, 0xfd52, -0xfdb2, 0xfb9f, 0xfc40, 0xfb9f, 0xfc40, 0xfb9f, 0xfc40, 0xfa2e, 0xfb0c, 0xfa2e, 0xfb0c, -0xf8ec, 0xfa01, 0xf8ec, 0xfa01, 0xf74e, 0xf892, 0xf74e, 0xf892, 0xf5ef, 0xf75d, 0xf5ef, -0xf75d, 0xf504, 0xf694, 0xf504, 0xf694, 0xf410, 0xf5ba, 0xf410, 0xf5ba, 0xf410, 0xf5ba, -0xf2d8, 0xf495, 0xf2d8, 0xf495, 0xf1b7, 0xf37f, 0xf1b7, 0xf37f, 0xf098, 0xf266, 0xf098, -0xf266, 0xef63, 0xf131, 0xef63, 0xf131, 0xeee4, 0xf0ad, 0xeee4, 0xf0ad, 0xeeff, 0xf0c0, -0xeeff, 0xf0c0, 0xeeff, 0xf0c0, 0xeecc, 0xf081, 0xeecc, 0xf081, 0xef0a, 0xf0b1, 0xef0a, -0xf0b1, 0xef91, 0xf129, 0xef91, 0xf129, 0xf048, 0xf1d0, 0xf048, 0xf1d0, 0xf18d, 0xf306, -0xf18d, 0xf306, 0xf18d, 0xf306, 0xf2e3, 0xf44d, 0xf2e3, 0xf44d, 0xf467, 0xf5c2, 0xf467, -0xf5c2, 0xf658, 0xf7a5, 0xf658, 0xf7a5, 0xf7fd, 0xf93c, 0xf7fd, 0xf93c, 0xf8b8, 0xf9e9, -0xf8b8, 0xf9e9, 0xf9b5, 0xfad7, 0xf9b5, 0xfad7, 0xf9b5, 0xfad7, 0xfa6d, 0xfb7f, 0xfa6d, -0xfb7f, 0xfb16, 0xfc16, 0xfb16, 0xfc16, 0xfc14, 0xfcfe, 0xfc14, 0xfcfe, 0xfca7, 0xfd78, -0xfca7, 0xfd78, 0xfd73, 0xfe27, 0xfd73, 0xfe27, 0xfdf2, 0xfe83, 0xfdf2, 0xfe83, 0xfdf2, -0xfe83, 0xfe54, 0xfebd, 0xfe54, 0xfebd, 0xfefd, 0xff37, 0xfefd, 0xff37, 0xff69, 0xff70, -0xff69, 0xff70, 0xffe2, 0xffaf, 0xffe2, 0xffaf, 0xe5, 0x73, 0xe5, 0x73, 0xe5, -0x73, 0x1e2, 0x12d, 0x1e2, 0x12d, 0x2df, 0x1e3, 0x2df, 0x1e3, 0x467, 0x323, -0x467, 0x323, 0x610, 0x481, 0x610, 0x481, 0x7b6, 0x5de, 0x7b6, 0x5de, 0x993, -0x773, 0x993, 0x773, 0x993, 0x773, 0xba8, 0x945, 0xba8, 0x945, 0xda8, 0xb06, -0xda8, 0xb06, 0xf44, 0xc6a, 0xf44, 0xc6a, 0x10c7, 0xdbc, 0x10c7, 0xdbc, 0x1259, -0xf27, 0x1259, 0xf27, 0x139f, 0x1050, 0x139f, 0x1050, 0x139f, 0x1050, 0x14d3, 0x1172, -0x14d3, 0x1172, 0x154f, 0x11e6, 0x154f, 0x11e6, 0x1588, 0x1223, 0x1588, 0x1223, 0x1597, -0x123f, 0x1597, 0x123f, 0x14ef, 0x11b0, 0x14ef, 0x11b0, 0x14ef, 0x11b0, 0x1497, 0x117a, -0x1497, 0x117a, 0x1383, 0x1090, 0x1383, 0x1090, 0x121f, 0xf5d, 0x121f, 0xf5d, 0x111d, -0xe91, 0x111d, 0xe91, 0xfcd, 0xd7c, 0xfcd, 0xd7c, 0xe82, 0xc6e, 0xe82, 0xc6e, -0xe82, 0xc6e, 0xd17, 0xb41, 0xd17, 0xb41, 0xbaf, 0xa15, 0xbaf, 0xa15, 0xa69, -0x90a, 0xa69, 0x90a, 0x8f4, 0x7cc, 0x8f4, 0x7cc, 0x7b8, 0x6c2, 0x7b8, 0x6c2, -0x6aa, 0x5e1, 0x6aa, 0x5e1, 0x6aa, 0x5e1, 0x596, 0x4f4, 0x596, 0x4f4, 0x4b4, -0x433, 0x4b4, 0x433, 0x37f, 0x317, 0x37f, 0x317, 0x2a1, 0x24d, 0x2a1, 0x24d, -0x1d3, 0x18d, 0x1d3, 0x18d, 0x1d3, 0x18d, 0xed, 0xb0, 0xed, 0xb0, 0x6b, -0x32, 0x6b, 0x32, 0xffb5, 0xff7c, 0xffb5, 0xff7c, 0xff33, 0xfef7, 0xff33, 0xfef7, -0xff18, 0xfed8, 0xff18, 0xfed8, 0xff0e, 0xfec7, 0xff0e, 0xfec7, 0xff0e, 0xfec7, 0xff09, -0xfebb, 0xff09, 0xfebb, 0xff6f, 0xff1a, 0xff6f, 0xff1a, 0xffd7, 0xff7b, 0xffd7, 0xff7b, -0x48, 0xffe7, 0x48, 0xffe7, 0xdc, 0x75, 0xdc, 0x75, 0x18c, 0x121, 0x18c, -0x121, 0x18c, 0x121, 0x218, 0x1aa, 0x218, 0x1aa, 0x267, 0x1f4, 0x267, 0x1f4, -0x328, 0x2b1, 0x328, 0x2b1, 0x405, 0x389, 0x405, 0x389, 0x4e8, 0x466, 0x4e8, -0x466, 0x4e8, 0x466, 0x564, 0x4d9, 0x564, 0x4d9, 0x59f, 0x508, 0x59f, 0x508, -0x5b5, 0x50f, 0x5b5, 0x50f, 0x5e6, 0x52d, 0x5e6, 0x52d, 0x663, 0x592, 0x663, -0x592, 0x6b8, 0x5cb, 0x6b8, 0x5cb, 0x6b8, 0x5cb, 0x71b, 0x60f, 0x71b, 0x60f, -0x7dc, 0x6ac, 0x7dc, 0x6ac, 0x901, 0x7a9, 0x901, 0x7a9, 0xa0c, 0x88b, 0xa0c, -0x88b, 0xb00, 0x953, 0xb00, 0x953, 0xbc4, 0x9eb, 0xbc4, 0x9eb, 0xbc4, 0x9eb, -0xcc4, 0xac0, 0xcc4, 0xac0, 0xd78, 0xb4b, 0xd78, 0xb4b, 0xe38, 0xbe4, 0xe38, -0xbe4, 0xf3f, 0xccb, 0xf3f, 0xccb, 0xfee, 0xd5e, 0xfee, 0xd5e, 0xfee, 0xd5e, -0x10ac, 0xe07, 0x10ac, 0xe07, 0x10fe, 0xe4d, 0x10fe, 0xe4d, 0x1155, 0xea0, 0x1155, -0xea0, 0x1159, 0xeaa, 0x1159, 0xeaa, 0x1133, 0xe94, 0x1133, 0xe94, 0x10a7, 0xe21, -0x10a7, 0xe21, 0x10a7, 0xe21, 0xfd4, 0xd72, 0xfd4, 0xd72, 0xf02, 0xccc, 0xf02, -0xccc, 0xdc0, 0xbbe, 0xdc0, 0xbbe, 0xcb5, 0xaf0, 0xcb5, 0xaf0, 0xb16, 0x992, -0xb16, 0x992, 0x9e8, 0x8ab, 0x9e8, 0x8ab, 0x9e8, 0x8ab, 0x91f, 0x82d, 0x91f, -0x82d, 0x7b2, 0x70b, 0x7b2, 0x70b, 0x63e, 0x5e4, 0x63e, 0x5e4, 0x4a8, 0x49a, -0x4a8, 0x49a, 0x312, 0x34d, 0x312, 0x34d, 0x312, 0x34d, 0x174, 0x1f5, 0x174, -0x1f5, 0xff9c, 0x5e, 0xff9c, 0x5e, 0xfdae, 0xfead, 0xfdae, 0xfead, 0xfbf4, 0xfd28, -0xfbf4, 0xfd28, 0xfaa8, 0xfc0d, 0xfaa8, 0xfc0d, 0xf933, 0xfac1, 0xf933, 0xfac1, 0xf933, -0xfac1, 0xf7c0, 0xf971, 0xf7c0, 0xf971, 0xf6d3, 0xf8a2, 0xf6d3, 0xf8a2, 0xf569, 0xf74f, -0xf569, 0xf74f, 0xf447, 0xf641, 0xf447, 0xf641, 0xf342, 0xf549, 0xf342, 0xf549, 0xf342, -0xf549, 0xf22b, 0xf43e, 0xf22b, 0xf43e, 0xf17f, 0xf39a, 0xf17f, 0xf39a, 0xf0cf, 0xf2f0, -0xf0cf, 0xf2f0, 0xf0a2, 0xf2c7, 0xf0a2, 0xf2c7, 0xf02d, 0xf256, 0xf02d, 0xf256, 0xf082, -0xf2ae, 0xf082, 0xf2ae, 0xf082, 0xf2ae, 0xf111, 0xf340, 0xf111, 0xf340, 0xf11c, 0xf34c, -0xf11c, 0xf34c, 0xf1cf, 0xf401, 0xf1cf, 0xf401, 0xf1e1, 0xf414, 0xf1e1, 0xf414, 0xf190, -0xf3c2, 0xf190, 0xf3c2, 0xf127, 0xf358, 0xf127, 0xf358, 0xf127, 0xf358, 0xf0b8, 0xf2e4, -0xf0b8, 0xf2e4, 0xf098, 0xf2bc, 0xf098, 0xf2bc, 0xf08d, 0xf2a5, 0xf08d, 0xf2a5, 0xf139, -0xf340, 0xf139, 0xf340, 0xf210, 0xf403, 0xf210, 0xf403, 0xf210, 0xf403, 0xf296, 0xf46d, -0xf296, 0xf46d, 0xf3aa, 0xf561, 0xf3aa, 0xf561, 0xf4b2, 0xf641, 0xf4b2, 0xf641, 0xf57b, -0xf6de, 0xf57b, 0xf6de, 0xf666, 0xf797, 0xf666, 0xf797, 0xf771, 0xf86a, 0xf771, 0xf86a, -0xf771, 0xf86a, 0xf947, 0xfa04, 0xf947, 0xfa04, 0xfb8b, 0xfc08, 0xfb8b, 0xfc08, 0xfe5e, -0xfe9a, 0xfe5e, 0xfe9a, 0x15b, 0x153, 0x15b, 0x153, 0x3ef, 0x3a4, 0x3ef, 0x3a4, -0x642, 0x5b7, 0x642, 0x5b7, 0x642, 0x5b7, 0x7cb, 0x703, 0x7cb, 0x703, 0x929, -0x828, 0x929, 0x828, 0xac8, 0x994, 0xac8, 0x994, 0xc3b, 0xadc, 0xc3b, 0xadc, -0xd12, 0xb90, 0xd12, 0xb90, 0xd12, 0xb90, 0xd41, 0xba4, 0xd41, 0xba4, 0xd68, -0xbbb, 0xd68, 0xbbb, 0xd6a, 0xbb7, 0xd6a, 0xbb7, 0xcf3, 0xb44, 0xcf3, 0xb44, -0xc6d, 0xacb, 0xc6d, 0xacb, 0xb63, 0x9d8, 0xb63, 0x9d8, 0xb63, 0x9d8, 0xa3a, -0x8cd, 0xa3a, 0x8cd, 0x970, 0x82a, 0x970, 0x82a, 0x8b0, 0x795, 0x8b0, 0x795, -0x879, 0x78f, 0x879, 0x78f, 0x83c, 0x786, 0x83c, 0x786, 0x835, 0x7b6, 0x835, -0x7b6, 0x835, 0x7b6, 0x7ab, 0x761, 0x7ab, 0x761, 0x69b, 0x686, 0x69b, 0x686, -0x6a1, 0x6bf, 0x6a1, 0x6bf, 0x6d5, 0x721, 0x6d5, 0x721, 0x6e9, 0x75f, 0x6e9, -0x75f, 0x6e9, 0x75f, 0x68d, 0x727, 0x68d, 0x727, 0x59b, 0x653, 0x59b, 0x653, -0x43e, 0x50d, 0x43e, 0x50d, 0x2ef, 0x3cf, 0x2ef, 0x3cf, 0x198, 0x282, 0x198, -0x282, 0x7f, 0x16d, 0x7f, 0x16d, 0x7f, 0x16d, 0x51, 0x13d, 0x51, 0x13d, -0xc, 0xf2, 0xc, 0xf2, 0x79, 0x155, 0x79, 0x155, 0x10f, 0x1dd, 0x10f, -0x1dd, 0x1cf, 0x28e, 0x1cf, 0x28e, 0x2cb, 0x37a, 0x2cb, 0x37a, 0x2cb, 0x37a, -0x2f4, 0x393, 0x2f4, 0x393, 0x290, 0x31f, 0x290, 0x31f, 0x1a1, 0x223, 0x1a1, -0x223, 0xa2, 0x119, 0xa2, 0x119, 0xff5e, 0xffce, 0xff5e, 0xffce, 0xff5e, 0xffce, -0xfe7d, 0xfee9, 0xfe7d, 0xfee9, 0xfdd1, 0xfe3d, 0xfdd1, 0xfe3d, 0xfddd, 0xfe4c, 0xfddd, -0xfe4c, 0xfe7f, 0xfef6, 0xfe7f, 0xfef6, 0xfe87, 0xff0a, 0xfe87, 0xff0a, 0xfe30, 0xfec2, -0xfe30, 0xfec2, 0xfe30, 0xfec2, 0xfd04, 0xfda8, 0xfd04, 0xfda8, 0xfbc9, 0xfc80, 0xfbc9, -0xfc80, 0xfa65, 0xfb33, 0xfa65, 0xfb33, 0xf997, 0xfa7c, 0xf997, 0xfa7c, 0xf9a9, 0xfaa5, -0xf9a9, 0xfaa5, 0xf9f4, 0xfb07, 0xf9f4, 0xfb07, 0xf9f4, 0xfb07, 0xfa44, 0xfb6d, 0xfa44, -0xfb6d, 0xfa26, 0xfb64, 0xfa26, 0xfb64, 0xf9e2, 0xfb32, 0xf9e2, 0xfb32, 0xf92c, 0xfa8d, -0xf92c, 0xfa8d, 0xf8d0, 0xfa40, 0xf8d0, 0xfa40, 0xf8d0, 0xfa40, 0xf884, 0xf9ff, 0xf884, -0xf9ff, 0xf800, 0xf983, 0xf800, 0xf983, 0xf780, 0xf908, 0xf780, 0xf908, 0xf700, 0xf88b, -0xf700, 0xf88b, 0xf699, 0xf823, 0xf699, 0xf823, 0xf5f2, 0xf779, 0xf5f2, 0xf779, 0xf5f2, -0xf779, 0xf56d, 0xf6ef, 0xf56d, 0xf6ef, 0xf47e, 0xf5f8, 0xf47e, 0xf5f8, 0xf364, 0xf4d4, -0xf364, 0xf4d4, 0xf2c2, 0xf426, 0xf2c2, 0xf426, 0xf24a, 0xf3a1, 0xf24a, 0xf3a1, 0xf255, -0xf39e, 0xf255, 0xf39e, 0xf255, 0xf39e, 0xf2ff, 0xf43a, 0xf2ff, 0xf43a, 0xf3b7, 0xf4e2, -0xf3b7, 0xf4e2, 0xf408, 0xf524, 0xf408, 0xf524, 0xf3b6, 0xf4c3, 0xf3b6, 0xf4c3, 0xf35b, -0xf45a, 0xf35b, 0xf45a, 0xf35b, 0xf45a, 0xf3ce, 0xf4c0, 0xf3ce, 0xf4c0, 0xf496, 0xf57c, -0xf496, 0xf57c, 0xf559, 0xf634, 0xf559, 0xf634, 0xf60b, 0xf6dd, 0xf60b, 0xf6dd, 0xf5f3, -0xf6bf, 0xf5f3, 0xf6bf, 0xf52e, 0xf5f7, 0xf52e, 0xf5f7, 0xf52e, 0xf5f7, 0xf440, 0xf508, -0xf440, 0xf508, 0xf355, 0xf420, 0xf355, 0xf420, 0xf315, 0xf3e7, 0xf315, 0xf3e7, 0xf335, -0xf412, 0xf335, 0xf412, 0xf363, 0xf44f, 0xf363, 0xf44f, 0xf361, 0xf460, 0xf361, 0xf460, -0xf361, 0xf460, 0xf343, 0xf459, 0xf343, 0xf459, 0xf357, 0xf48a, 0xf357, 0xf48a, 0xf311, -0xf463, 0xf311, 0xf463, 0xf24d, 0xf3c2, 0xf24d, 0xf3c2, 0xf16c, 0xf307, 0xf16c, 0xf307, -0xf16c, 0xf307, 0xf096, 0xf259, 0xf096, 0xf259, 0xef87, 0xf174, 0xef87, 0xf174, 0xef14, -0xf12c, 0xef14, 0xf12c, 0xee39, 0xf07b, 0xee39, 0xf07b, 0xec96, 0xef01, 0xec96, 0xef01, -0xeb39, 0xedca, 0xeb39, 0xedca, 0xeb39, 0xedca, 0xea50, 0xed04, 0xea50, 0xed04, 0xea88, -0xed5a, 0xea88, 0xed5a, 0xeb49, 0xee33, 0xeb49, 0xee33, 0xec99, 0xef93, 0xec99, 0xef93, -0xed87, 0xf08a, 0xed87, 0xf08a, 0xee65, 0xf168, 0xee65, 0xf168, 0xee65, 0xf168, 0xef7f, -0xf279, 0xef7f, 0xf279, 0xf067, 0xf34f, 0xf067, 0xf34f, 0xf25f, 0xf52c, 0xf25f, 0xf52c, -0xf45f, 0xf707, 0xf45f, 0xf707, 0xf680, 0xf8fb, 0xf680, 0xf8fb, 0xf680, 0xf8fb, 0xf8fb, -0xfb42, 0xf8fb, 0xfb42, 0xfb30, 0xfd3a, 0xfb30, 0xfd3a, 0xfd3f, 0xff08, 0xfd3f, 0xff08, -0xfe7e, 0x3, 0xfe7e, 0x3, 0xfeee, 0x2b, 0xfeee, 0x2b, 0xff50, 0x45, 0xff50, -0x45, 0xff50, 0x45, 0xff4d, 0xfffc, 0xff4d, 0xfffc, 0xff2b, 0xff95, 0xff2b, 0xff95, -0xfe5f, 0xfe8c, 0xfe5f, 0xfe8c, 0xfcea, 0xfcde, 0xfcea, 0xfcde, 0xfc6b, 0xfc2f, 0xfc6b, -0xfc2f, 0xfc6b, 0xfc2f, 0xfc2a, 0xfbc7, 0xfc2a, 0xfbc7, 0xfcdf, 0xfc5f, 0xfcdf, 0xfc5f, -0xfde5, 0xfd54, 0xfde5, 0xfd54, 0xfec4, 0xfe2c, 0xfec4, 0xfe2c, 0xff90, 0xfefc, 0xff90, -0xfefc, 0xff70, 0xfeec, 0xff70, 0xfeec, 0xff70, 0xfeec, 0xfea7, 0xfe3d, 0xfea7, 0xfe3d, -0xfd7e, 0xfd37, 0xfd7e, 0xfd37, 0xfd44, 0xfd28, 0xfd44, 0xfd28, 0xfc27, 0xfc3c, 0xfc27, -0xfc3c, 0xfb71, 0xfbbb, 0xfb71, 0xfbbb, 0xfaee, 0xfb6f, 0xfaee, 0xfb6f, 0xfaee, 0xfb6f, -0xf96d, 0xfa27, 0xf96d, 0xfa27, 0xf96b, 0xfa5d, 0xf96b, 0xfa5d, 0xf95f, 0xfa85, 0xf95f, -0xfa85, 0xf8a1, 0xf9f6, 0xf8a1, 0xf9f6, 0xf6c0, 0xf83d, 0xf6c0, 0xf83d, 0xf6c0, 0xf83d, -0xf640, 0xf7dd, 0xf640, 0xf7dd, 0xf66b, 0xf81e, 0xf66b, 0xf81e, 0xf534, 0xf6f3, 0xf534, -0xf6f3, 0xf570, 0xf731, 0xf570, 0xf731, 0xf5ed, 0xf7a4, 0xf5ed, 0xf7a4, 0xf685, 0xf827, -0xf685, 0xf827, 0xf685, 0xf827, 0xf684, 0xf807, 0xf684, 0xf807, 0xf639, 0xf793, 0xf639, -0xf793, 0xf753, 0xf87b, 0xf753, 0xf87b, 0xf7fd, 0xf8ec, 0xf7fd, 0xf8ec, 0xf886, 0xf934, -0xf886, 0xf934, 0xf986, 0xf9ef, 0xf986, 0xf9ef, 0xf986, 0xf9ef, 0xfa63, 0xfa84, 0xfa63, -0xfa84, 0xfbb4, 0xfb8b, 0xfbb4, 0xfb8b, 0xfc6e, 0xfbfb, 0xfc6e, 0xfbfb, 0xfdb9, 0xfcfb, -0xfdb9, 0xfcfb, 0x24, 0xff1f, 0x24, 0xff1f, 0x24, 0xff1f, 0x12a, 0xffe1, 0x12a, -0xffe1, 0x1d8, 0x4f, 0x1d8, 0x4f, 0x1b7, 0xfff3, 0x1b7, 0xfff3, 0x2f3, 0xf8, -0x2f3, 0xf8, 0x48a, 0x25e, 0x48a, 0x25e, 0x477, 0x21e, 0x477, 0x21e, 0x477, -0x21e, 0x537, 0x2b7, 0x537, 0x2b7, 0x48c, 0x1e9, 0x48c, 0x1e9, 0x585, 0x2c4, -0x585, 0x2c4, 0x7cd, 0x4f0, 0x7cd, 0x4f0, 0x9bc, 0x6c6, 0x9bc, 0x6c6, 0xb55, -0x849, 0xb55, 0x849, 0xb55, 0x849, 0xbb1, 0x88e, 0xbb1, 0x88e, 0xd72, 0xa3b, -0xd72, 0xa3b, 0xd5e, 0xa12, 0xd5e, 0xa12, 0xd54, 0x9f3, 0xd54, 0x9f3, 0xe97, -0xb20, 0xe97, 0xb20, 0xe97, 0xb20, 0xf0b, 0xb7e, 0xf0b, 0xb7e, 0x1025, 0xc82, -0x1025, 0xc82, 0x105e, 0xca3, 0x105e, 0xca3, 0x1028, 0xc57, 0x1028, 0xc57, 0x1016, -0xc2e, 0x1016, 0xc2e, 0x1185, 0xd87, 0x1185, 0xd87, 0x1185, 0xd87, 0x1410, 0xfff, -0x1410, 0xfff, 0x14a2, 0x1080, 0x14a2, 0x1080, 0x150f, 0x10e0, 0x150f, 0x10e0, 0x14a5, -0x106c, 0x14a5, 0x106c, 0x12f2, 0xeb4, 0x12f2, 0xeb4, 0x13eb, 0xfae, 0x13eb, 0xfae, -0x13eb, 0xfae, 0x1684, 0x124d, 0x1684, 0x124d, 0x181f, 0x13f4, 0x181f, 0x13f4, 0x17ea, -0x13d1, 0x17ea, 0x13d1, 0x1758, 0x1357, 0x1758, 0x1357, 0x1758, 0x1376, 0x1758, 0x1376, -0x1758, 0x1376, 0x171d, 0x135e, 0x171d, 0x135e, 0x176e, 0x13d8, 0x176e, 0x13d8, 0x16bb, -0x1352, 0x16bb, 0x1352, 0x14c2, 0x1189, 0x14c2, 0x1189, 0x12ed, 0xfe7, 0x12ed, 0xfe7, -0x10ab, 0xdda, 0x10ab, 0xdda, 0x10ab, 0xdda, 0xdaf, 0xb14, 0xdaf, 0xb14, 0xbab, -0x945, 0xbab, 0x945, 0xb51, 0x920, 0xb51, 0x920, 0xb30, 0x932, 0xb30, 0x932, -0xb19, 0x94b, 0xb19, 0x94b, 0xad8, 0x937, 0xad8, 0x937, 0xad8, 0x937, 0x9a2, -0x82a, 0x9a2, 0x82a, 0x8b4, 0x761, 0x8b4, 0x761, 0x9a1, 0x86f, 0x9a1, 0x86f, -0x9fa, 0x8e6, 0x9fa, 0x8e6, 0x913, 0x818, 0x913, 0x818, 0x913, 0x818, 0x91d, -0x838, 0x91d, 0x838, 0x9ba, 0x8e7, 0x9ba, 0x8e7, 0xa29, 0x966, 0xa29, 0x966, -0xb59, 0xaa5, 0xb59, 0xaa5, 0xc2c, 0xb84, 0xc2c, 0xb84, 0xc1c, 0xb7f, 0xc1c, -0xb7f, 0xc1c, 0xb7f, 0xd8a, 0xcf9, 0xd8a, 0xcf9, 0xfc4, 0xf3f, 0xfc4, 0xf3f, -0x1112, 0x1099, 0x1112, 0x1099, 0x108c, 0x1021, 0x108c, 0x1021, 0xff4, 0xf98, 0xff4, -0xf98, 0xf5c, 0xf11, 0xf5c, 0xf11, 0xf5c, 0xf11, 0xf46, 0xf0c, 0xf46, 0xf0c, -0x1149, 0x1123, 0x1149, 0x1123, 0x1271, 0x1260, 0x1271, 0x1260, 0x12b2, 0x12b7, 0x12b2, -0x12b7, 0x12d3, 0x12ed, 0x12d3, 0x12ed, 0x12d3, 0x12ed, 0x1285, 0x12b6, 0x1285, 0x12b6, -0x1076, 0x10be, 0x1076, 0x10be, 0xed5, 0xf31, 0xed5, 0xf31, 0xe95, 0xf06, 0xe95, -0xf06, 0xdbc, 0xe40, 0xdbc, 0xe40, 0xd10, 0xda5, 0xd10, 0xda5, 0xd10, 0xda5, -0xb01, 0xba4, 0xb01, 0xba4, 0x7f7, 0x8a6, 0x7f7, 0x8a6, 0x500, 0x5b9, 0x500, -0x5b9, 0x3e1, 0x4a2, 0x3e1, 0x4a2, 0x303, 0x3c9, 0x303, 0x3c9, 0x83, 0x14e, -0x83, 0x14e, 0x83, 0x14e, 0xfede, 0xffac, 0xfede, 0xffac, 0xfe35, 0xff06, 0xfe35, -0xff06, 0xfe3c, 0xff0f, 0xfe3c, 0xff0f, 0xfda4, 0xfe7b, 0xfda4, 0xfe7b, 0xfca3, 0xfd7f, -0xfca3, 0xfd7f, 0xfca3, 0xfd7f, 0xfb19, 0xfbfb, 0xfb19, 0xfbfb, 0xf8df, 0xf9ca, 0xf8df, -0xf9ca, 0xf7a9, 0xf8a0, 0xf7a9, 0xf8a0, 0xf618, 0xf71f, 0xf618, 0xf71f, 0xf3e7, 0xf501, -0xf3e7, 0xf501, 0xf3ae, 0xf4df, 0xf3ae, 0xf4df, 0xf3ae, 0xf4df, 0xf33f, 0xf48b, 0xf33f, -0xf48b, 0xf18a, 0xf2f3, 0xf18a, 0xf2f3, 0xf056, 0xf1e1, 0xf056, 0xf1e1, 0xef70, 0xf11d, -0xef70, 0xf11d, 0xeeb8, 0xf089, 0xeeb8, 0xf089, 0xedf3, 0xefea, 0xedf3, 0xefea, 0xedf3, -0xefea, 0xee77, 0xf093, 0xee77, 0xf093, 0xeccc, 0xef0b, 0xeccc, 0xef0b, 0xeac0, 0xed21, -0xeac0, 0xed21, 0xeade, 0xed5d, 0xeade, 0xed5d, 0xea49, 0xece3, 0xea49, 0xece3, 0xea49, -0xece3, 0xec09, 0xeeb7, 0xec09, 0xeeb7, 0xec21, 0xeedd, 0xec21, 0xeedd, 0xe9ff, 0xecc3, -0xe9ff, 0xecc3, 0xe916, 0xebd9, 0xe916, 0xebd9, 0xe895, 0xeb52, 0xe895, 0xeb52, 0xea1d, -0xecca, 0xea1d, 0xecca, 0xea1d, 0xecca, 0xeb4e, 0xede4, 0xeb4e, 0xede4, 0xec53, 0xeeca, -0xec53, 0xeeca, 0xecf5, 0xef46, 0xecf5, 0xef46, 0xebba, 0xedde, 0xebba, 0xedde, 0xec69, -0xee5d, 0xec69, 0xee5d, 0xec69, 0xee5d, 0xec88, 0xee45, 0xec88, 0xee45, 0xed6d, 0xeef0, -0xed6d, 0xeef0, 0xf11d, 0xf265, 0xf11d, 0xf265, 0xf340, 0xf44a, 0xf340, 0xf44a, 0xf64f, -0xf71d, 0xf64f, 0xf71d, 0xf84e, 0xf8e0, 0xf84e, 0xf8e0, 0xf84e, 0xf8e0, 0xf999, 0xf9f3, -0xf999, 0xf9f3, 0xfccb, 0xfcf0, 0xfccb, 0xfcf0, 0x43, 0x37, 0x43, 0x37, 0x399, -0x362, 0x399, 0x362, 0x54a, 0x4ed, 0x54a, 0x4ed, 0x84b, 0x7d0, 0x84b, 0x7d0, -0x84b, 0x7d0, 0xb15, 0xa81, 0xb15, 0xa81, 0xcc5, 0xc20, 0xcc5, 0xc20, 0xe9e, -0xdef, 0xe9e, 0xdef, 0xdfe, 0xd4b, 0xdfe, 0xd4b, 0xcd2, 0xc22, 0xcd2, 0xc22, -0xcd2, 0xc22, 0xcce, 0xc25, 0xcce, 0xc25, 0xc20, 0xb84, 0xc20, 0xb84, 0xb01, -0xa77, 0xb01, 0xa77, 0xb16, 0xaa0, 0xb16, 0xaa0, 0xba0, 0xb42, 0xba0, 0xb42, -0xc63, 0xc1e, 0xc63, 0xc1e, 0xc63, 0xc1e, 0xd44, 0xd1a, 0xd44, 0xd1a, 0xdd8, -0xdca, 0xdd8, 0xdca, 0xda6, 0xdb3, 0xda6, 0xdb3, 0xda0, 0xdc8, 0xda0, 0xdc8, -0xe18, 0xe5a, 0xe18, 0xe5a, 0xde3, 0xe3d, 0xde3, 0xe3d, 0xde3, 0xe3d, 0xcaf, -0xd1f, 0xcaf, 0xd1f, 0xab2, 0xb36, 0xab2, 0xb36, 0x92f, 0x9c4, 0x92f, 0x9c4, -0x7b8, 0x85d, 0x7b8, 0x85d, 0x871, 0x922, 0x871, 0x922, 0x871, 0x922, 0xab5, -0xb70, 0xab5, 0xb70, 0xb04, 0xbc8, 0xb04, 0xbc8, 0xa4f, 0xb1a, 0xa4f, 0xb1a, -0xa0a, 0xad8, 0xa0a, 0xad8, 0x9ef, 0xac0, 0x9ef, 0xac0, 0x81e, 0x8ef, 0x81e, -0x8ef, 0x81e, 0x8ef, 0x621, 0x6f1, 0x621, 0x6f1, 0x54e, 0x61c, 0x54e, 0x61c, -0x460, 0x52a, 0x460, 0x52a, 0x445, 0x50a, 0x445, 0x50a, 0x479, 0x538, 0x479, -0x538, 0x35a, 0x411, 0x35a, 0x411, 0x35a, 0x411, 0x154, 0x202, 0x154, 0x202, -0xffb5, 0x59, 0xffb5, 0x59, 0xff5e, 0xfff6, 0xff5e, 0xfff6, 0xff6a, 0xfff5, 0xff6a, -0xfff5, 0x39, 0xb5, 0x39, 0xb5, 0x39, 0xb5, 0x1f, 0x8b, 0x1f, 0x8b, -0xff95, 0xffef, 0xff95, 0xffef, 0xda, 0x120, 0xda, 0x120, 0x14f, 0x17f, 0x14f, -0x17f, 0x204, 0x21d, 0x204, 0x21d, 0x29d, 0x29d, 0x29d, 0x29d, 0x29d, 0x29d, -0x358, 0x33d, 0x358, 0x33d, 0x3aa, 0x373, 0x3aa, 0x373, 0x241, 0x1ec, 0x241, -0x1ec, 0x167, 0xf2, 0x167, 0xf2, 0x1a6, 0x110, 0x1a6, 0x110, 0x39b, 0x2e2, -0x39b, 0x2e2, 0x39b, 0x2e2, 0x3ce, 0x2f1, 0x3ce, 0x2f1, 0x34f, 0x24e, 0x34f, -0x24e, 0x44f, 0x328, 0x44f, 0x328, 0x49c, 0x34f, 0x49c, 0x34f, 0x54b, 0x3d7, -0x54b, 0x3d7, 0x54b, 0x3d7, 0x5f0, 0x454, 0x5f0, 0x454, 0x4ea, 0x327, 0x4ea, -0x327, 0x3af, 0x1c5, 0x3af, 0x1c5, 0x37e, 0x16e, 0x37e, 0x16e, 0x3a8, 0x172, -0x3a8, 0x172, 0x425, 0x1cb, 0x425, 0x1cb, 0x425, 0x1cb, 0x3cd, 0x150, 0x3cd, -0x150, 0x3d7, 0x138, 0x3d7, 0x138, 0x46e, 0x1b0, 0x46e, 0x1b0, 0x4bc, 0x1e2, -0x4bc, 0x1e2, 0x57e, 0x28a, 0x57e, 0x28a, 0x5cf, 0x2c5, 0x5cf, 0x2c5, 0x5cf, -0x2c5, 0x683, 0x367, 0x683, 0x367, 0x667, 0x33e, 0x667, 0x33e, 0x4f0, 0x1bd, -0x4f0, 0x1bd, 0x40c, 0xd6, 0x40c, 0xd6, 0x3e2, 0xad, 0x3e2, 0xad, 0x3e2, -0xad, 0x4ab, 0x17d, 0x4ab, 0x17d, 0x4d7, 0x1b7, 0x4d7, 0x1b7, 0x4c8, 0x1ba, -0x4c8, 0x1ba, 0x426, 0x131, 0x426, 0x131, 0xc2, 0xfdeb, 0xc2, 0xfdeb, 0x85, -0xfdd2, 0x85, 0xfdd2, 0x85, 0xfdd2, 0x15f, 0xfed4, 0x15f, 0xfed4, 0xff0a, 0xfcac, -0xff0a, 0xfcac, 0xfe22, 0xfbf4, 0xfe22, 0xfbf4, 0xff10, 0xfd17, 0xff10, 0xfd17, 0xfef2, -0xfd2f, 0xfef2, 0xfd2f, 0xfc8e, 0xfb02, 0xfc8e, 0xfb02, 0xfc8e, 0xfb02, 0xfcf7, 0xfba3, -0xfcf7, 0xfba3, 0xfcab, 0xfb8f, 0xfcab, 0xfb8f, 0xfa5c, 0xf976, 0xfa5c, 0xf976, 0xfad4, -0xfa22, 0xfad4, 0xfa22, 0xfad4, 0xfa54, 0xfad4, 0xfa54, 0xfad4, 0xfa54, 0xfbb6, 0xfb63, -0xfbb6, 0xfb63, 0xfdfe, 0xfdd5, 0xfdfe, 0xfdd5, 0x8e, 0x88, 0x8e, 0x88, 0x8c, -0xa6, 0x8c, 0xa6, 0xff38, 0xff6c, 0xff38, 0xff6c, 0xac, 0xf5, 0xac, 0xf5, -0xac, 0xf5, 0x13c, 0x194, 0x13c, 0x194, 0x26f, 0x2d2, 0x26f, 0x2d2, 0x4c1, -0x52b, 0x4c1, 0x52b, 0x4a1, 0x50e, 0x4a1, 0x50e, 0x620, 0x68d, 0x620, 0x68d, -0x7f7, 0x861, 0x7f7, 0x861, 0x7f7, 0x861, 0x6ea, 0x750, 0x6ea, 0x750, 0x73d, -0x7a0, 0x73d, 0x7a0, 0x8d1, 0x930, 0x8d1, 0x930, 0xa7e, 0xadc, 0xa7e, 0xadc, -0xa40, 0xa9d, 0xa40, 0xa9d, 0xa40, 0xa9d, 0x9d4, 0xa35, 0x9d4, 0xa35, 0xc55, -0xcbc, 0xc55, 0xcbc, 0xdb8, 0xe28, 0xdb8, 0xe28, 0xeb6, 0xf34, 0xeb6, 0xf34, -0xf5b, 0xfe9, 0xf5b, 0xfe9, 0xe11, 0xeb5, 0xe11, 0xeb5, 0xe11, 0xeb5, 0xd48, -0xe03, 0xd48, 0xe03, 0xe20, 0xef6, 0xe20, 0xef6, 0xf1f, 0x1011, 0xf1f, 0x1011, -0xcb8, 0xdc8, 0xcb8, 0xdc8, 0xa23, 0xb51, 0xa23, 0xb51, 0x93a, 0xa85, 0x93a, -0xa85, 0x93a, 0xa85, 0x663, 0x7ca, 0x663, 0x7ca, 0x643, 0x7c4, 0x643, 0x7c4, -0x61d, 0x7b4, 0x61d, 0x7b4, 0x359, 0x503, 0x359, 0x503, 0x191, 0x348, 0x191, -0x348, 0x191, 0x348, 0xff8b, 0x14b, 0xff8b, 0x14b, 0xfd62, 0xff25, 0xfd62, 0xff25, -0xf9f1, 0xfbb2, 0xf9f1, 0xfbb2, 0xf8f0, 0xfaa9, 0xf8f0, 0xfaa9, 0xf897, 0xfa44, 0xf897, -0xfa44, 0xf826, 0xf9c3, 0xf826, 0xf9c3, 0xf826, 0xf9c3, 0xf89a, 0xfa24, 0xf89a, 0xfa24, -0xf629, 0xf79c, 0xf629, 0xf79c, 0xf4e6, 0xf641, 0xf4e6, 0xf641, 0xf4e7, 0xf62a, 0xf4e7, -0xf62a, 0xf549, 0xf674, 0xf549, 0xf674, 0xf549, 0xf674, 0xf4e8, 0xf5fe, 0xf4e8, 0xf5fe, -0xf490, 0xf592, 0xf490, 0xf592, 0xf3d5, 0xf4c8, 0xf3d5, 0xf4c8, 0xf10b, 0xf1f3, 0xf10b, -0xf1f3, 0xf08f, 0xf173, 0xf08f, 0xf173, 0xf009, 0xf0ee, 0xf009, 0xf0ee, 0xf009, 0xf0ee, -0xeec4, 0xefaf, 0xeec4, 0xefaf, 0xef37, 0xf030, 0xef37, 0xf030, 0xef4c, 0xf058, 0xef4c, -0xf058, 0xee2a, 0xef4e, 0xee2a, 0xef4e, 0xec18, 0xed5a, 0xec18, 0xed5a, 0xea11, 0xeb73, -0xea11, 0xeb73, 0xea11, 0xeb73, 0xe8d8, 0xea5d, 0xe8d8, 0xea5d, 0xe70f, 0xe8ba, 0xe70f, -0xe8ba, 0xe67d, 0xe84c, 0xe67d, 0xe84c, 0xe5f7, 0xe7e9, 0xe5f7, 0xe7e9, 0xe49f, 0xe6b0, -0xe49f, 0xe6b0, 0xe49f, 0xe6b0, 0xe4ce, 0xe6fb, 0xe4ce, 0xe6fb, 0xe3d1, 0xe613, 0xe3d1, -0xe613, 0xe3a1, 0xe5f2, 0xe3a1, 0xe5f2, 0xe490, 0xe6e7, 0xe490, 0xe6e7, 0xe441, 0xe697, -0xe441, 0xe697, 0xe54e, 0xe799, 0xe54e, 0xe799, 0xe54e, 0xe799, 0xe7a7, 0xe9dd, 0xe7a7, -0xe9dd, 0xea0a, 0xec23, 0xea0a, 0xec23, 0xeb91, 0xed83, 0xeb91, 0xed83, 0xecf8, 0xeebc, -0xecf8, 0xeebc, 0xf047, 0xf1d5, 0xf047, 0xf1d5, 0xf2ec, 0xf43e, 0xf2ec, 0xf43e, 0xf2ec, -0xf43e, 0xf5aa, 0xf6bc, 0xf5aa, 0xf6bc, 0xf849, 0xf917, 0xf849, 0xf917, 0xf98e, 0xfa17, -0xf98e, 0xfa17, 0xfc47, 0xfc8b, 0xfc47, 0xfc8b, 0xfd76, 0xfd79, 0xfd76, 0xfd79, 0xfd76, -0xfd79, 0xfe25, 0xfde8, 0xfe25, 0xfde8, 0xfe1b, 0xfda5, 0xfe1b, 0xfda5, 0xff18, 0xfe6f, -0xff18, 0xfe6f, 0x109, 0x36, 0x109, 0x36, 0xff6f, 0xfe7b, 0xff6f, 0xfe7b, 0xff49, -0xfe3f, 0xff49, 0xfe3f, 0xff49, 0xfe3f, 0xfe8d, 0xfd75, 0xfe8d, 0xfd75, 0xfe98, 0xfd7e, -0xfe98, 0xfd7e, 0xffce, 0xfebd, 0xffce, 0xfebd, 0xfff6, 0xfef6, 0xfff6, 0xfef6, 0x24a, -0x167, 0x24a, 0x167, 0x34d, 0x28d, 0x34d, 0x28d, 0x34d, 0x28d, 0x44d, 0x3b9, -0x44d, 0x3b9, 0x59b, 0x539, 0x59b, 0x539, 0x63b, 0x611, 0x63b, 0x611, 0x73b, -0x74a, 0x73b, 0x74a, 0x51e, 0x56a, 0x51e, 0x56a, 0x51e, 0x56a, 0x22d, 0x2b6, -0x22d, 0x2b6, 0x12f, 0x1f3, 0x12f, 0x1f3, 0x137, 0x234, 0x137, 0x234, 0x186, -0x2b8, 0x186, 0x2b8, 0x187, 0x2ea, 0x187, 0x2ea, 0x32c, 0x4ba, 0x32c, 0x4ba, -0x32c, 0x4ba, 0x234, 0x3e6, 0x234, 0x3e6, 0xff55, 0x126, 0xff55, 0x126, 0xff93, -0x17b, 0xff93, 0x17b, 0xff4c, 0x143, 0xff4c, 0x143, 0xfefe, 0xfe, 0xfefe, 0xfe, -0xff8a, 0x18d, 0xff8a, 0x18d, 0xff8a, 0x18d, 0xffe1, 0x1e0, 0xffe1, 0x1e0, 0xff24, -0x119, 0xff24, 0x119, 0xfe4d, 0x34, 0xfe4d, 0x34, 0xfec7, 0x9a, 0xfec7, 0x9a, -0xff1a, 0xd7, 0xff1a, 0xd7, 0xff1a, 0xd7, 0xffb5, 0x158, 0xffb5, 0x158, 0x6a, -0x1f1, 0x6a, 0x1f1, 0x77, 0x1e1, 0x77, 0x1e1, 0xf7, 0x242, 0xf7, 0x242, -0x270, 0x39c, 0x270, 0x39c, 0x427, 0x533, 0x427, 0x533, 0x427, 0x533, 0x602, -0x6ef, 0x602, 0x6ef, 0x67b, 0x749, 0x67b, 0x749, 0x608, 0x6b6, 0x608, 0x6b6, -0x5ea, 0x679, 0x5ea, 0x679, 0x7f2, 0x862, 0x7f2, 0x862, 0x9bb, 0xa0b, 0x9bb, -0xa0b, 0x9bb, 0xa0b, 0x8bd, 0x8ed, 0x8bd, 0x8ed, 0x8ea, 0x8f9, 0x8ea, 0x8f9, -0x970, 0x95e, 0x970, 0x95e, 0xa50, 0xa1b, 0xa50, 0xa1b, 0xaac, 0xa52, 0xaac, -0xa52, 0xaac, 0xa52, 0xba6, 0xb27, 0xba6, 0xb27, 0xd12, 0xc6c, 0xd12, 0xc6c, -0xd64, 0xc96, 0xd64, 0xc96, 0xf99, 0xea1, 0xf99, 0xea1, 0x1136, 0x1013, 0x1136, -0x1013, 0x1261, 0x1112, 0x1261, 0x1112, 0x1261, 0x1112, 0x12f8, 0x117d, 0x12f8, 0x117d, -0x129f, 0x10f8, 0x129f, 0x10f8, 0x118b, 0xfb8, 0x118b, 0xfb8, 0x109c, 0xe9e, 0x109c, -0xe9e, 0x123d, 0x1015, 0x123d, 0x1015, 0x127c, 0x102d, 0x127c, 0x102d, 0x127c, 0x102d, -0x11df, 0xf6b, 0x11df, 0xf6b, 0x1214, 0xf7e, 0x1214, 0xf7e, 0x10ba, 0xe06, 0x10ba, -0xe06, 0xfba, 0xcec, 0xfba, 0xcec, 0xeb2, 0xbce, 0xeb2, 0xbce, 0xeb2, 0xbce, -0xd7e, 0xa89, 0xd7e, 0xa89, 0xd7e, 0xa7e, 0xd7e, 0xa7e, 0xc97, 0x98f, 0xc97, -0x98f, 0xc8d, 0x984, 0xc8d, 0x984, 0xd0a, 0xa03, 0xd0a, 0xa03, 0xc88, 0x98a, -0xc88, 0x98a, 0xc88, 0x98a, 0xba9, 0x8b8, 0xba9, 0x8b8, 0xaa3, 0x7c2, 0xaa3, -0x7c2, 0xa21, 0x754, 0xa21, 0x754, 0x997, 0x6e3, 0x997, 0x6e3, 0x974, 0x6db, -0x974, 0x6db, 0x9a1, 0x726, 0x9a1, 0x726, 0x9a1, 0x726, 0xa95, 0x839, 0xa95, -0x839, 0xaa6, 0x86d, 0xaa6, 0x86d, 0x8a5, 0x68e, 0x8a5, 0x68e, 0x610, 0x41c, -0x610, 0x41c, 0x45d, 0x28c, 0x45d, 0x28c, 0x45d, 0x28c, 0x316, 0x168, 0x316, -0x168, 0x242, 0xb7, 0x242, 0xb7, 0x20a, 0xa1, 0x20a, 0xa1, 0xf, 0xfec7, -0xf, 0xfec7, 0xff2c, 0xfe04, 0xff2c, 0xfe04, 0x8, 0xfefe, 0x8, 0xfefe, 0x8, -0xfefe, 0x1bb, 0xcd, 0x1bb, 0xcd, 0x355, 0x281, 0x355, 0x281, 0x381, 0x2c6, -0x381, 0x2c6, 0x3cc, 0x328, 0x3cc, 0x328, 0x32e, 0x29f, 0x32e, 0x29f, 0x2fb, -0x280, 0x2fb, 0x280, 0x2fb, 0x280, 0x4ae, 0x445, 0x4ae, 0x445, 0x678, 0x61f, -0x678, 0x61f, 0x6cd, 0x684, 0x6cd, 0x684, 0x656, 0x61b, 0x656, 0x61b, 0x68d, -0x65f, 0x68d, 0x65f, 0x68d, 0x65f, 0x6f7, 0x6d4, 0x6f7, 0x6d4, 0x6ed, 0x6d7, -0x6ed, 0x6d7, 0x874, 0x869, 0x874, 0x869, 0xa96, 0xa97, 0xa96, 0xa97, 0xb24, -0xb30, 0xb24, 0xb30, 0xad6, 0xaee, 0xad6, 0xaee, 0xad6, 0xaee, 0x985, 0x9aa, -0x985, 0x9aa, 0x886, 0x8b8, 0x886, 0x8b8, 0x855, 0x896, 0x855, 0x896, 0x775, -0x7c5, 0x775, 0x7c5, 0x5dc, 0x63d, 0x5dc, 0x63d, 0x5dc, 0x63d, 0x4ba, 0x52e, -0x4ba, 0x52e, 0x2b7, 0x33f, 0x2b7, 0x33f, 0xd0, 0x16d, 0xd0, 0x16d, 0x4f, -0x102, 0x4f, 0x102, 0xff70, 0x3c, 0xff70, 0x3c, 0xfdc8, 0xfeae, 0xfdc8, 0xfeae, -0xfdc8, 0xfeae, 0xfbd2, 0xfcd4, 0xfbd2, 0xfcd4, 0xfc12, 0xfd30, 0xfc12, 0xfd30, 0xfbcc, -0xfd07, 0xfbcc, 0xfd07, 0xf937, 0xfa8f, 0xf937, 0xfa8f, 0xf75f, 0xf8d6, 0xf75f, 0xf8d6, -0xf5e1, 0xf776, 0xf5e1, 0xf776, 0xf5e1, 0xf776, 0xf383, 0xf536, 0xf383, 0xf536, 0xf258, -0xf429, 0xf258, 0xf429, 0xf28b, 0xf478, 0xf28b, 0xf478, 0xf155, 0xf35e, 0xf155, 0xf35e, -0xef72, 0xf194, 0xef72, 0xf194, 0xef72, 0xf194, 0xedfd, 0xf037, 0xedfd, 0xf037, 0xeccc, -0xef1a, 0xeccc, 0xef1a, 0xea83, 0xece5, 0xea83, 0xece5, 0xe9c8, 0xec3a, 0xe9c8, 0xec3a, -0xeb29, 0xeda9, 0xeb29, 0xeda9, 0xeb9c, 0xee26, 0xeb9c, 0xee26, 0xeb9c, 0xee26, 0xebff, -0xee91, 0xebff, 0xee91, 0xec3e, 0xeed5, 0xec3e, 0xeed5, 0xeb7c, 0xee16, 0xeb7c, 0xee16, -0xea38, 0xecd2, 0xea38, 0xecd2, 0xea6a, 0xed02, 0xea6a, 0xed02, 0xeacc, 0xed5f, 0xeacc, -0xed5f, 0xeacc, 0xed5f, 0xeb49, 0xedd5, 0xeb49, 0xedd5, 0xeb5a, 0xedde, 0xeb5a, 0xedde, -0xe9ba, 0xec34, 0xe9ba, 0xec34, 0xe9fb, 0xec6b, 0xe9fb, 0xec6b, 0xeb13, 0xed77, 0xeb13, -0xed77, 0xeb13, 0xed77, 0xec3c, 0xee94, 0xec3c, 0xee94, 0xed8b, 0xefd5, 0xed8b, 0xefd5, -0xeca9, 0xeee6, 0xeca9, 0xeee6, 0xec4a, 0xee79, 0xec4a, 0xee79, 0xec5b, 0xee7b, 0xec5b, -0xee7b, 0xecd9, 0xeeea, 0xecd9, 0xeeea, 0xecd9, 0xeeea, 0xeec8, 0xf0cb, 0xeec8, 0xf0cb, -0xeed5, 0xf0c9, 0xeed5, 0xf0c9, 0xef79, 0xf15c, 0xef79, 0xf15c, 0xf0e1, 0xf2b4, 0xf0e1, -0xf2b4, 0xf2d3, 0xf495, 0xf2d3, 0xf495, 0xf5e5, 0xf795, 0xf5e5, 0xf795, 0xf5e5, 0xf795, -0xf884, 0xfa21, 0xf884, 0xfa21, 0xfb76, 0xfd00, 0xfb76, 0xfd00, 0xfd1d, 0xfe92, 0xfd1d, -0xfe92, 0xff58, 0xb7, 0xff58, 0xb7, 0x107, 0x24f, 0x107, 0x24f, 0x107, 0x24f, -0x258, 0x388, 0x258, 0x388, 0x587, 0x69e, 0x587, 0x69e, 0x7fb, 0x8f7, 0x7fb, -0x8f7, 0x90c, 0x9ee, 0x90c, 0x9ee, 0x902, 0x9c9, 0x902, 0x9c9, 0x94f, 0x9fc, -0x94f, 0x9fc, 0x94f, 0x9fc, 0x9ee, 0xa80, 0x9ee, 0xa80, 0xb78, 0xbef, 0xb78, -0xbef, 0xc86, 0xce4, 0xc86, 0xce4, 0xb43, 0xb88, 0xb43, 0xb88, 0x9c8, 0x9f6, -0x9c8, 0x9f6, 0x8d4, 0x8ed, 0x8d4, 0x8ed, 0x8d4, 0x8ed, 0x8c7, 0x8cd, 0x8c7, -0x8cd, 0x93e, 0x933, 0x93e, 0x933, 0x8df, 0x8c6, 0x8df, 0x8c6, 0x85b, 0x836, -0x85b, 0x836, 0x914, 0x8e5, 0x914, 0x8e5, 0x914, 0x8e5, 0xa9c, 0xa66, 0xa9c, -0xa66, 0xa4d, 0xa12, 0xa4d, 0xa12, 0x7e6, 0x7a9, 0x7e6, 0x7a9, 0x6fd, 0x6bf, -0x6fd, 0x6bf, 0x72d, 0x6ef, 0x72d, 0x6ef, 0x752, 0x717, 0x752, 0x717, 0x752, -0x717, 0x791, 0x758, 0x791, 0x758, 0x782, 0x74c, 0x782, 0x74c, 0x756, 0x722, -0x756, 0x722, 0x704, 0x6d1, 0x704, 0x6d1, 0x625, 0x5f3, 0x625, 0x5f3, 0x41d, -0x3ea, 0x41d, 0x3ea, 0x41d, 0x3ea, 0x2bf, 0x289, 0x2bf, 0x289, 0x2f9, 0x2bc, -0x2f9, 0x2bc, 0x38a, 0x346, 0x38a, 0x346, 0x399, 0x349, 0x399, 0x349, 0x290, -0x231, 0x290, 0x231, 0x290, 0x231, 0xff75, 0xff04, 0xff75, 0xff04, 0xfd05, 0xfc80, -0xfd05, 0xfc80, 0xfbf5, 0xfb57, 0xfbf5, 0xfb57, 0xfada, 0xfa21, 0xfada, 0xfa21, 0xfb17, -0xfa40, 0xfb17, 0xfa40, 0xfb69, 0xfa71, 0xfb69, 0xfa71, 0xfb69, 0xfa71, 0xfb8d, 0xfa72, -0xfb8d, 0xfa72, 0xfaf6, 0xf9b5, 0xfaf6, 0xf9b5, 0xfc00, 0xfa99, 0xfc00, 0xfa99, 0xfdb1, -0xfc22, 0xfdb1, 0xfc22, 0xfd8a, 0xfbd1, 0xfd8a, 0xfbd1, 0xfeda, 0xfcf9, 0xfeda, 0xfcf9, -0xfeda, 0xfcf9, 0xffed, 0xfde3, 0xffed, 0xfde3, 0x3f, 0xfe0b, 0x3f, 0xfe0b, 0x104, -0xfea8, 0x104, 0xfea8, 0x23d, 0xffba, 0x23d, 0xffba, 0x39b, 0xf3, 0x39b, 0xf3, -0x39b, 0xf3, 0x378, 0xab, 0x378, 0xab, 0x1ff, 0xff10, 0x1ff, 0xff10, 0x290, -0xff81, 0x290, 0xff81, 0x5ec, 0x2be, 0x5ec, 0x2be, 0x7f9, 0x4af, 0x7f9, 0x4af, -0x81d, 0x4bb, 0x81d, 0x4bb, 0x81d, 0x4bb, 0x85e, 0x4e5, 0x85e, 0x4e5, 0x980, -0x5f3, 0x980, 0x5f3, 0xb00, 0x763, 0xb00, 0x763, 0xc8a, 0x8de, 0xc8a, 0x8de, -0xea3, 0xaec, 0xea3, 0xaec, 0xf7a, 0xbbb, 0xf7a, 0xbbb, 0xf7a, 0xbbb, 0xdcf, -0xa0b, 0xdcf, 0xa0b, 0xc22, 0x85c, 0xc22, 0x85c, 0xbef, 0x82a, 0xbef, 0x82a, -0xd49, 0x989, 0xd49, 0x989, 0xe28, 0xa70, 0xe28, 0xa70, 0xe28, 0xa70, 0xe12, -0xa66, 0xe12, 0xa66, 0xdab, 0xa0e, 0xdab, 0xa0e, 0xc11, 0x885, 0xc11, 0x885, -0xb65, 0x7ef, 0xb65, 0x7ef, 0xbc6, 0x869, 0xbc6, 0x869, 0xca7, 0x966, 0xca7, -0x966, 0xca7, 0x966, 0xc92, 0x971, 0xc92, 0x971, 0xade, 0x7df, 0xade, 0x7df, -0x8d6, 0x5fd, 0x8d6, 0x5fd, 0x6f0, 0x43f, 0x6f0, 0x43f, 0x5a6, 0x320, 0x5a6, -0x320, 0x4b3, 0x258, 0x4b3, 0x258, 0x4b3, 0x258, 0x43c, 0x20f, 0x43c, 0x20f, -0x2d2, 0xd4, 0x2d2, 0xd4, 0x286, 0xb7, 0x286, 0xb7, 0x3d1, 0x232, 0x3d1, -0x232, 0x496, 0x327, 0x496, 0x327, 0x496, 0x327, 0x3f0, 0x2b0, 0x3f0, 0x2b0, -0x1f2, 0xe1, 0x1f2, 0xe1, 0x13c, 0x58, 0x13c, 0x58, 0xff5c, 0xfea3, 0xff5c, -0xfea3, 0xfcc4, 0xfc34, 0xfcc4, 0xfc34, 0xfbcb, 0xfb63, 0xfbcb, 0xfb63, 0xfbcb, 0xfb63, -0xfbab, 0xfb67, 0xfbab, 0xfb67, 0xfcb1, 0xfc8f, 0xfcb1, 0xfc8f, 0xfd63, 0xfd61, 0xfd63, -0xfd61, 0xfe62, 0xfe7c, 0xfe62, 0xfe7c, 0xffdf, 0x13, 0xffdf, 0x13, 0xffdf, 0x13, -0xc3, 0x10e, 0xc3, 0x10e, 0x1d2, 0x231, 0x1d2, 0x231, 0x1e5, 0x256, 0x1e5, -0x256, 0x234, 0x2b5, 0x234, 0x2b5, 0x2fa, 0x388, 0x2fa, 0x388, 0x1c1, 0x25b, -0x1c1, 0x25b, 0x1c1, 0x25b, 0x168, 0x20b, 0x168, 0x20b, 0x290, 0x33c, 0x290, -0x33c, 0x360, 0x413, 0x360, 0x413, 0x47a, 0x533, 0x47a, 0x533, 0x573, 0x632, -0x573, 0x632, 0x667, 0x72b, 0x667, 0x72b, 0x667, 0x72b, 0x7d2, 0x89b, 0x7d2, -0x89b, 0x839, 0x906, 0x839, 0x906, 0x834, 0x905, 0x834, 0x905, 0x921, 0x9f7, -0x921, 0x9f7, 0x963, 0xa3e, 0x963, 0xa3e, 0x963, 0xa3e, 0x8d3, 0x9b4, 0x8d3, -0x9b4, 0x84d, 0x934, 0x84d, 0x934, 0x909, 0x9f6, 0x909, 0x9f6, 0x8f5, 0x9e9, -0x8f5, 0x9e9, 0x604, 0x700, 0x604, 0x700, 0x4d2, 0x5d6, 0x4d2, 0x5d6, 0x4d2, -0x5d6, 0x4e3, 0x5f0, 0x4e3, 0x5f0, 0x30a, 0x41f, 0x30a, 0x41f, 0x21e, 0x33e, -0x21e, 0x33e, 0x1b2, 0x2dc, 0x1b2, 0x2dc, 0xfff0, 0x125, 0xfff0, 0x125, 0xfdcd, -0xff0d, 0xfdcd, 0xff0d, 0xfdcd, 0xff0d, 0xfb2e, 0xfc79, 0xfb2e, 0xfc79, 0xf967, 0xfabe, -0xf967, 0xfabe, 0xf7b9, 0xf91c, 0xf7b9, 0xf91c, 0xf628, 0xf796, 0xf628, 0xf796, 0xf4ad, -0xf627, 0xf4ad, 0xf627, 0xf4ad, 0xf627, 0xf22e, 0xf3b3, 0xf22e, 0xf3b3, 0xf1c6, 0xf355, -0xf1c6, 0xf355, 0xf199, 0xf333, 0xf199, 0xf333, 0xf0df, 0xf282, 0xf0df, 0xf282, 0xf0bf, -0xf26a, 0xf0bf, 0xf26a, 0xef0c, 0xf0be, 0xef0c, 0xf0be, 0xef0c, 0xf0be, 0xed5e, 0xef17, -0xed5e, 0xef17, 0xedc8, 0xef86, 0xedc8, 0xef86, 0xef55, 0xf116, 0xef55, 0xf116, 0xef74, -0xf137, 0xef74, 0xf137, 0xeef5, 0xf0b9, 0xeef5, 0xf0b9, 0xef17, 0xf0da, 0xef17, 0xf0da, -0xef17, 0xf0da, 0xedf6, 0xefb5, 0xedf6, 0xefb5, 0xeca6, 0xee61, 0xeca6, 0xee61, 0xecec, -0xeea0, 0xecec, 0xeea0, 0xece2, 0xee8e, 0xece2, 0xee8e, 0xeb94, 0xed37, 0xeb94, 0xed37, -0xeb94, 0xed37, 0xeaa3, 0xec3a, 0xeaa3, 0xec3a, 0xea6a, 0xebf5, 0xea6a, 0xebf5, 0xea7f, -0xebfc, 0xea7f, 0xebfc, 0xea08, 0xeb76, 0xea08, 0xeb76, 0xe969, 0xeac5, 0xe969, 0xeac5, -0xea24, 0xeb70, 0xea24, 0xeb70, 0xea24, 0xeb70, 0xeab3, 0xebed, 0xeab3, 0xebed, 0xeaea, -0xec11, 0xeaea, 0xec11, 0xeb2c, 0xec40, 0xeb2c, 0xec40, 0xead4, 0xebd5, 0xead4, 0xebd5, -0xeac1, 0xebaf, 0xeac1, 0xebaf, 0xeb11, 0xebec, 0xeb11, 0xebec, 0xeb11, 0xebec, 0xec68, -0xed30, 0xec68, 0xed30, 0xed8b, 0xee41, 0xed8b, 0xee41, 0xeee6, 0xef8a, 0xeee6, 0xef8a, -0xf1fd, 0xf290, 0xf1fd, 0xf290, 0xf4ef, 0xf572, 0xf4ef, 0xf572, 0xf4ef, 0xf572, 0xf77d, -0xf7f1, 0xf77d, 0xf7f1, 0xf90d, 0xf973, 0xf90d, 0xf973, 0xfac4, 0xfb1e, 0xfac4, 0xfb1e, -0xfcae, 0xfcfd, 0xfcae, 0xfcfd, 0xfdc0, 0xfe07, 0xfdc0, 0xfe07, 0xfff4, 0x32, 0xfff4, -0x32, 0xfff4, 0x32, 0x289, 0x2c3, 0x289, 0x2c3, 0x3bd, 0x3f3, 0x3bd, 0x3f3, -0x387, 0x3bb, 0x387, 0x3bb, 0x3aa, 0x3df, 0x3aa, 0x3df, 0x375, 0x3ad, 0x375, -0x3ad, 0x31a, 0x357, 0x31a, 0x357, 0x31a, 0x357, 0x3f9, 0x43d, 0x3f9, 0x43d, -0x421, 0x46e, 0x421, 0x46e, 0x402, 0x45b, 0x402, 0x45b, 0x361, 0x3c7, 0x361, -0x3c7, 0x32d, 0x3a2, 0x32d, 0x3a2, 0x32d, 0x3a2, 0x39b, 0x421, 0x39b, 0x421, -0x3b1, 0x44a, 0x3b1, 0x44a, 0x5a7, 0x653, 0x5a7, 0x653, 0x649, 0x70a, 0x649, -0x70a, 0x584, 0x65a, 0x584, 0x65a, 0x5fd, 0x6e8, 0x5fd, 0x6e8, 0x5fd, 0x6e8, -0x57f, 0x680, 0x57f, 0x680, 0x44d, 0x562, 0x44d, 0x562, 0x291, 0x3bb, 0x291, -0x3bb, 0x18b, 0x2c8, 0x18b, 0x2c8, 0x15e, 0x2ad, 0x15e, 0x2ad, 0xeb, 0x249, -0xeb, 0x249, 0xeb, 0x249, 0x200, 0x36b, 0x200, 0x36b, 0x27c, 0x3f2, 0x27c, -0x3f2, 0xe6, 0x264, 0xe6, 0x264, 0xffb2, 0x135, 0xffb2, 0x135, 0xff34, 0xb9, -0xff34, 0xb9, 0xff34, 0xb9, 0xff50, 0xd4, 0xff50, 0xd4, 0xff8d, 0x10b, 0xff8d, -0x10b, 0xfe22, 0xff98, 0xfe22, 0xff98, 0xfbed, 0xfd56, 0xfbed, 0xfd56, 0xfa43, 0xfb9d, -0xfa43, 0xfb9d, 0xf938, 0xfa80, 0xf938, 0xfa80, 0xf938, 0xfa80, 0xf9b6, 0xfae7, 0xf9b6, -0xfae7, 0xfa87, 0xfb9f, 0xfa87, 0xfb9f, 0xfb58, 0xfc54, 0xfb58, 0xfc54, 0xfc99, 0xfd77, -0xfc99, 0xfd77, 0xfceb, 0xfda8, 0xfceb, 0xfda8, 0xfd0c, 0xfda7, 0xfd0c, 0xfda7, 0xfd0c, -0xfda7, 0xfdf9, 0xfe6f, 0xfdf9, 0xfe6f, 0xff40, 0xff90, 0xff40, 0xff90, 0xfff8, 0x21, -0xfff8, 0x21, 0x4e, 0x4e, 0x4e, 0x4e, 0x93, 0x6b, 0x93, 0x6b, 0x93, -0x6b, 0x118, 0xc7, 0x118, 0xc7, 0x256, 0x1db, 0x256, 0x1db, 0x363, 0x2bf, -0x363, 0x2bf, 0x47d, 0x3b0, 0x47d, 0x3b0, 0x522, 0x42e, 0x522, 0x42e, 0x5e6, -0x4ca, 0x5e6, 0x4ca, 0x5e6, 0x4ca, 0x6a2, 0x55f, 0x6a2, 0x55f, 0x6af, 0x547, -0x6af, 0x547, 0x8bd, 0x730, 0x8bd, 0x730, 0xa83, 0x8d3, 0xa83, 0x8d3, 0xb76, -0x9a4, 0xb76, 0x9a4, 0xd2d, 0xb3a, 0xd2d, 0xb3a, 0xd2d, 0xb3a, 0xe41, 0xc31, -0xe41, 0xc31, 0x102a, 0xdfd, 0x102a, 0xdfd, 0x11c8, 0xf7f, 0x11c8, 0xf7f, 0x1196, -0xf35, 0x1196, 0xf35, 0x10b8, 0xe41, 0x10b8, 0xe41, 0x10b8, 0xe41, 0x1088, 0xdfd, -0x1088, 0xdfd, 0x10b4, 0xe18, 0x10b4, 0xe18, 0xff8, 0xd4d, 0xff8, 0xd4d, 0x1079, -0xdc3, 0x1079, 0xdc3, 0x1153, 0xe96, 0x1153, 0xe96, 0x10f1, 0xe2f, 0x10f1, 0xe2f, -0x10f1, 0xe2f, 0x107a, 0xdb7, 0x107a, 0xdb7, 0xf48, 0xc88, 0xf48, 0xc88, 0xd56, -0xa9d, 0xd56, 0xa9d, 0xc16, 0x968, 0xc16, 0x968, 0xc9a, 0x9fc, 0xc9a, 0x9fc, -0xc9a, 0x9fc, 0xcb9, 0xa2d, 0xcb9, 0xa2d, 0xb7f, 0x90b, 0xb7f, 0x90b, 0xaaa, -0x84f, 0xaaa, 0x84f, 0xa63, 0x827, 0xa63, 0x827, 0x9ca, 0x7af, 0x9ca, 0x7af, -0x898, 0x6a1, 0x898, 0x6a1, 0x898, 0x6a1, 0x885, 0x6b5, 0x885, 0x6b5, 0x8b9, -0x712, 0x8b9, 0x712, 0x8c1, 0x745, 0x8c1, 0x745, 0x903, 0x7b3, 0x903, 0x7b3, -0x86d, 0x74a, 0x86d, 0x74a, 0x71d, 0x627, 0x71d, 0x627, 0x71d, 0x627, 0x4f4, -0x42c, 0x4f4, 0x42c, 0x359, 0x2bd, 0x359, 0x2bd, 0x216, 0x1a6, 0x216, 0x1a6, -0x142, 0xfd, 0x142, 0xfd, 0x125, 0x108, 0x125, 0x108, 0x125, 0x108, 0xf0, -0xfa, 0xf0, 0xfa, 0x25b, 0x288, 0x25b, 0x288, 0x391, 0x3e0, 0x391, 0x3e0, -0x31a, 0x388, 0x31a, 0x388, 0x325, 0x3af, 0x325, 0x3af, 0x48b, 0x52f, 0x48b, -0x52f, 0x48b, 0x52f, 0x5e1, 0x69c, 0x5e1, 0x69c, 0x5db, 0x6a9, 0x5db, 0x6a9, -0x5b7, 0x697, 0x5b7, 0x697, 0x514, 0x603, 0x514, 0x603, 0x440, 0x53c, 0x440, -0x53c, 0x519, 0x621, 0x519, 0x621, 0x519, 0x621, 0x5fc, 0x70e, 0x5fc, 0x70e, -0x688, 0x7a3, 0x688, 0x7a3, 0x823, 0x947, 0x823, 0x947, 0x9b0, 0xada, 0x9b0, -0xada, 0xa0c, 0xb3e, 0xa0c, 0xb3e, 0xa0c, 0xb3e, 0x9ab, 0xae3, 0x9ab, 0xae3, -0x85f, 0x99e, 0x85f, 0x99e, 0x711, 0x856, 0x711, 0x856, 0x754, 0x89f, 0x754, -0x89f, 0x7d0, 0x922, 0x7d0, 0x922, 0x762, 0x8bb, 0x762, 0x8bb, 0x762, 0x8bb, -0x5e8, 0x747, 0x5e8, 0x747, 0x3f7, 0x55d, 0x3f7, 0x55d, 0x226, 0x392, 0x226, -0x392, 0xd3, 0x244, 0xd3, 0x244, 0xffdf, 0x155, 0xffdf, 0x155, 0xfd95, 0xff0f, -0xfd95, 0xff0f, 0xfd95, 0xff0f, 0xfb83, 0xfd00, 0xfb83, 0xfd00, 0xfaa1, 0xfc20, 0xfaa1, -0xfc20, 0xf993, 0xfb13, 0xf993, 0xfb13, 0xf7f8, 0xf976, 0xf7f8, 0xf976, 0xf625, 0xf7a1, -0xf625, 0xf7a1, 0xf625, 0xf7a1, 0xf50e, 0xf686, 0xf50e, 0xf686, 0xf38e, 0xf501, 0xf38e, -0xf501, 0xf161, 0xf2cc, 0xf161, 0xf2cc, 0xefd3, 0xf136, 0xefd3, 0xf136, 0xee06, 0xef5e, -0xee06, 0xef5e, 0xec1f, 0xed6c, 0xec1f, 0xed6c, 0xec1f, 0xed6c, 0xeae2, 0xec23, 0xeae2, -0xec23, 0xe8a2, 0xe9d6, 0xe8a2, 0xe9d6, 0xe670, 0xe797, 0xe670, 0xe797, 0xe5bc, 0xe6d4, -0xe5bc, 0xe6d4, 0xe60f, 0xe71a, 0xe60f, 0xe71a, 0xe75d, 0xe85a, 0xe75d, 0xe85a, 0xe75d, -0xe85a, 0xe7f0, 0xe8df, 0xe7f0, 0xe8df, 0xe7fd, 0xe8df, 0xe7fd, 0xe8df, 0xe7f7, 0xe8cd, -0xe7f7, 0xe8cd, 0xe72c, 0xe7f7, 0xe72c, 0xe7f7, 0xe6f2, 0xe7b2, 0xe6f2, 0xe7b2, 0xe6f2, -0xe7b2, 0xe7a9, 0xe85f, 0xe7a9, 0xe85f, 0xe747, 0xe7f4, 0xe747, 0xe7f4, 0xe5aa, 0xe64f, -0xe5aa, 0xe64f, 0xe513, 0xe5b0, 0xe513, 0xe5b0, 0xe62c, 0xe6c1, 0xe62c, 0xe6c1, 0xe7c9, -0xe857, 0xe7c9, 0xe857, 0xe7c9, 0xe857, 0xe8d4, 0xe95b, 0xe8d4, 0xe95b, 0xe983, 0xea02, -0xe983, 0xea02, 0xe979, 0xe9ef, 0xe979, 0xe9ef, 0xe90b, 0xe977, 0xe90b, 0xe977, 0xe965, -0xe9c6, 0xe965, 0xe9c6, 0xe999, 0xe9ef, 0xe999, 0xe9ef, 0xe999, 0xe9ef, 0xe986, 0xe9ce, -0xe986, 0xe9ce, 0xe9c1, 0xe9fb, 0xe9c1, 0xe9fb, 0xeb13, 0xeb3b, 0xeb13, 0xeb3b, 0xed6d, -0xed83, 0xed6d, 0xed83, 0xeedb, 0xeedd, 0xeedb, 0xeedd, 0xeedb, 0xeedd, 0xf10c, 0xf0f8, -0xf10c, 0xf0f8, 0xf433, 0xf409, 0xf433, 0xf409, 0xf65b, 0xf619, 0xf65b, 0xf619, 0xf8eb, -0xf890, 0xf8eb, 0xf890, 0xfaf8, 0xfa85, 0xfaf8, 0xfa85, 0xfcd9, 0xfc4c, 0xfcd9, 0xfc4c, -0xfcd9, 0xfc4c, 0xff88, 0xfee3, 0xff88, 0xfee3, 0x1f3, 0x137, 0x1f3, 0x137, 0x4fa, -0x428, 0x4fa, 0x428, 0x7d3, 0x6ed, 0x7d3, 0x6ed, 0x913, 0x81c, 0x913, 0x81c, -0xa4d, 0x947, 0xa4d, 0x947, 0xa4d, 0x947, 0xc17, 0xb06, 0xc17, 0xb06, 0xd66, -0xc4d, 0xd66, 0xc4d, 0xe16, 0xcf8, 0xe16, 0xcf8, 0xdc8, 0xcaa, 0xdc8, 0xcaa, -0xe7c, 0xd61, 0xe7c, 0xd61, 0xe7c, 0xd61, 0xf10, 0xdfd, 0xf10, 0xdfd, 0xda4, -0xc9c, 0xda4, 0xc9c, 0xc9a, 0xba1, 0xc9a, 0xba1, 0xb5a, 0xa74, 0xb5a, 0xa74, -0xae7, 0xa16, 0xae7, 0xa16, 0xbb0, 0xaf6, 0xbb0, 0xaf6, 0xbb0, 0xaf6, 0xc7e, -0xbdf, 0xc7e, 0xbdf, 0xcc5, 0xc42, 0xcc5, 0xc42, 0xbec, 0xb85, 0xbec, 0xb85, -0xb21, 0xad9, 0xb21, 0xad9, 0xa7b, 0xa51, 0xa7b, 0xa51, 0xa23, 0xa17, 0xa23, -0xa17, 0xa23, 0xa17, 0x909, 0x919, 0x909, 0x919, 0x831, 0x85d, 0x831, 0x85d, -0x889, 0x8cf, 0x889, 0x8cf, 0x7b3, 0x812, 0x7b3, 0x812, 0x704, 0x779, 0x704, -0x779, 0x704, 0x779, 0x673, 0x6fb, 0x673, 0x6fb, 0x5b7, 0x650, 0x5b7, 0x650, -0x577, 0x61e, 0x577, 0x61e, 0x469, 0x51c, 0x469, 0x51c, 0x362, 0x41d, 0x362, -0x41d, 0x1d8, 0x29a, 0x1d8, 0x29a, 0x1d8, 0x29a, 0x10, 0xd5, 0x10, 0xd5, -0xff76, 0x3d, 0xff76, 0x3d, 0xff54, 0x19, 0xff54, 0x19, 0xfdcd, 0xfe8f, 0xfdcd, -0xfe8f, 0xfb13, 0xfbd0, 0xfb13, 0xfbd0, 0xfa82, 0xfb38, 0xfa82, 0xfb38, 0xfa82, 0xfb38, -0xfacc, 0xfb7a, 0xfacc, 0xfb7a, 0xfb1d, 0xfbc2, 0xfb1d, 0xfbc2, 0xfc4d, 0xfce6, 0xfc4d, -0xfce6, 0xfd17, 0xfda5, 0xfd17, 0xfda5, 0xfd75, 0xfdf6, 0xfd75, 0xfdf6, 0xfd75, 0xfdf6, -0xfdd0, 0xfe43, 0xfdd0, 0xfe43, 0xfe76, 0xfed9, 0xfe76, 0xfed9, 0xfe52, 0xfea4, 0xfe52, -0xfea4, 0xfea9, 0xfee9, 0xfea9, 0xfee9, 0xffb6, 0xffe2, 0xffb6, 0xffe2, 0xffc3, 0xffda, -0xffc3, 0xffda, 0xffc3, 0xffda, 0xffe3, 0xffe4, 0xffe3, 0xffe4, 0x3c, 0x24, 0x3c, -0x24, 0xdd, 0xab, 0xdd, 0xab, 0x1c2, 0x174, 0x1c2, 0x174, 0x1e1, 0x175, -0x1e1, 0x175, 0x1e1, 0x175, 0x212, 0x188, 0x212, 0x188, 0x344, 0x299, 0x344, -0x299, 0x49b, 0x3cd, 0x49b, 0x3cd, 0x68f, 0x59d, 0x68f, 0x59d, 0x8e4, 0x7ce, -0x8e4, 0x7ce, 0xa9c, 0x960, 0xa9c, 0x960, 0xa9c, 0x960, 0xa9b, 0x93b, 0xa9b, -0x93b, 0x8e8, 0x763, 0x8e8, 0x763, 0x8d2, 0x728, 0x8d2, 0x728, 0x92c, 0x75f, -0x92c, 0x75f, 0x8b4, 0x6c6, 0x8b4, 0x6c6, 0x995, 0x788, 0x995, 0x788, 0x995, -0x788, 0xa98, 0x86f, 0xa98, 0x86f, 0xb58, 0x916, 0xb58, 0x916, 0xc34, 0x9de, -0xc34, 0x9de, 0xc8c, 0xa26, 0xc8c, 0xa26, 0xcef, 0xa7d, 0xcef, 0xa7d, 0xcef, -0xa7d, 0xd35, 0xabc, 0xd35, 0xabc, 0xcbb, 0xa40, 0xcbb, 0xa40, 0xb58, 0x8e0, -0xb58, 0x8e0, 0xa04, 0x795, 0xa04, 0x795, 0x911, 0x6b0, 0x911, 0x6b0, 0x8a0, -0x652, 0x8a0, 0x652, 0x8a0, 0x652, 0x82d, 0x5f6, 0x82d, 0x5f6, 0x5fd, 0x3e2, -0x5fd, 0x3e2, 0x4c1, 0x2c5, 0x4c1, 0x2c5, 0x59a, 0x3c2, 0x59a, 0x3c2, 0x66d, -0x4ba, 0x66d, 0x4ba, 0x718, 0x58d, 0x718, 0x58d, 0x718, 0x58d, 0x771, 0x610, -0x771, 0x610, 0x72f, 0x5f8, 0x72f, 0x5f8, 0x5e6, 0x4da, 0x5e6, 0x4da, 0x403, -0x321, 0x403, 0x321, 0x298, 0x1e0, 0x298, 0x1e0, 0x298, 0x1e0, 0x1d6, 0x146, -0x1d6, 0x146, 0x72, 0x7, 0x72, 0x7, 0xfeef, 0xfea7, 0xfeef, 0xfea7, 0xff93, -0xff6c, 0xff93, 0xff6c, 0x192, 0x189, 0x192, 0x189, 0x307, 0x318, 0x307, 0x318, -0x307, 0x318, 0x3d9, 0x402, 0x3d9, 0x402, 0x483, 0x4c0, 0x483, 0x4c0, 0x564, -0x5b2, 0x564, 0x5b2, 0x641, 0x69d, 0x641, 0x69d, 0x679, 0x6e0, 0x679, 0x6e0, -0x6f4, 0x763, 0x6f4, 0x763, 0x6f4, 0x763, 0x74c, 0x7c2, 0x74c, 0x7c2, 0x72e, -0x7a8, 0x72e, 0x7a8, 0x7cb, 0x847, 0x7cb, 0x847, 0x8b9, 0x937, 0x8b9, 0x937, -0x9a5, 0xa24, 0x9a5, 0xa24, 0x9a5, 0xa24, 0xa96, 0xb15, 0xa96, 0xb15, 0xc19, -0xc98, 0xc19, 0xc98, 0xd5d, 0xddb, 0xd5d, 0xddb, 0xce7, 0xd65, 0xce7, 0xd65, -0xbe4, 0xc63, 0xbe4, 0xc63, 0xbbb, 0xc3b, 0xbbb, 0xc3b, 0xbbb, 0xc3b, 0xc80, -0xd02, 0xc80, 0xd02, 0xd66, 0xde9, 0xd66, 0xde9, 0xdd7, 0xe5c, 0xdd7, 0xe5c, -0xd5b, 0xde3, 0xd5b, 0xde3, 0xbab, 0xc36, 0xbab, 0xc36, 0xa1c, 0xaab, 0xa1c, -0xaab, 0xa1c, 0xaab, 0x931, 0x9c3, 0x931, 0x9c3, 0x7d1, 0x866, 0x7d1, 0x866, -0x5c8, 0x660, 0x5c8, 0x660, 0x459, 0x4f4, 0x459, 0x4f4, 0x418, 0x4b4, 0x418, -0x4b4, 0x418, 0x4b4, 0x322, 0x3be, 0x322, 0x3be, 0x15e, 0x1fb, 0x15e, 0x1fb, -0xffc3, 0x5e, 0xffc3, 0x5e, 0xfdd5, 0xfe6f, 0xfdd5, 0xfe6f, 0xfb76, 0xfc0e, 0xfb76, -0xfc0e, 0xf85a, 0xf8ef, 0xf85a, 0xf8ef, 0xf85a, 0xf8ef, 0xf538, 0xf5ca, 0xf538, 0xf5ca, -0xf34f, 0xf3dd, 0xf34f, 0xf3dd, 0xf2e0, 0xf36a, 0xf2e0, 0xf36a, 0xf2a9, 0xf330, 0xf2a9, -0xf330, 0xf20a, 0xf28e, 0xf20a, 0xf28e, 0xf0f5, 0xf177, 0xf0f5, 0xf177, 0xf0f5, 0xf177, -0xeec9, 0xef4a, 0xeec9, 0xef4a, 0xed96, 0xee17, 0xed96, 0xee17, 0xee61, 0xeee3, 0xee61, -0xeee3, 0xeee6, 0xef6b, 0xeee6, 0xef6b, 0xee6d, 0xeef7, 0xee6d, 0xeef7, 0xee6d, 0xeef7, -0xed67, 0xedf7, 0xed67, 0xedf7, 0xec7f, 0xed17, 0xec7f, 0xed17, 0xecf9, 0xed9b, 0xecf9, -0xed9b, 0xed8c, 0xee39, 0xed8c, 0xee39, 0xec9f, 0xed58, 0xec9f, 0xed58, 0xeb41, 0xec07, -0xeb41, 0xec07, 0xeb41, 0xec07, 0xeb18, 0xebec, 0xeb18, 0xebec, 0xec6e, 0xed50, 0xec6e, -0xed50, 0xece3, 0xedd3, 0xece3, 0xedd3, 0xebf2, 0xecf0, 0xebf2, 0xecf0, 0xeb6a, 0xec74, -0xeb6a, 0xec74, 0xead3, 0xebe7, 0xead3, 0xebe7, 0xead3, 0xebe7, 0xea44, 0xeb60, 0xea44, -0xeb60, 0xea78, 0xeb9b, 0xea78, 0xeb9b, 0xea35, 0xeb5b, 0xea35, 0xeb5b, 0xea19, 0xeb40, -0xea19, 0xeb40, 0xeacf, 0xebf2, 0xeacf, 0xebf2, 0xeacf, 0xebf2, 0xeb3b, 0xec58, 0xeb3b, -0xec58, 0xeb85, 0xec98, 0xeb85, 0xec98, 0xebcb, 0xecd1, 0xebcb, 0xecd1, 0xecb0, 0xeda5, -0xecb0, 0xeda5, 0xee71, 0xef51, 0xee71, 0xef51, 0xf0d5, 0xf19e, 0xf0d5, 0xf19e, 0xf0d5, -0xf19e, 0xf33a, 0xf3eb, 0xf33a, 0xf3eb, 0xf4a3, 0xf539, 0xf4a3, 0xf539, 0xf6e4, 0xf75d, -0xf6e4, 0xf75d, 0xf9b5, 0xfa10, 0xf9b5, 0xfa10, 0xfb7f, 0xfbbd, 0xfb7f, 0xfbbd, 0xfdcf, -0xfdef, 0xfdcf, 0xfdef, 0xfdcf, 0xfdef, 0x18, 0x1b, 0x18, 0x1b, 0x173, 0x15b, -0x173, 0x15b, 0x327, 0x2f7, 0x327, 0x2f7, 0x4e3, 0x49d, 0x4e3, 0x49d, 0x5e9, -0x591, 0x5e9, 0x591, 0x5e9, 0x591, 0x65a, 0x5f3, 0x65a, 0x5f3, 0x688, 0x617, -0x688, 0x617, 0x6d2, 0x659, 0x6d2, 0x659, 0x6cc, 0x651, 0x6cc, 0x651, 0x58c, -0x513, 0x58c, 0x513, 0x3ff, 0x38c, 0x3ff, 0x38c, 0x3ff, 0x38c, 0x37e, 0x315, -0x37e, 0x315, 0x361, 0x306, 0x361, 0x306, 0x3e8, 0x39e, 0x3e8, 0x39e, 0x54c, -0x516, 0x54c, 0x516, 0x644, 0x625, 0x644, 0x625, 0x623, 0x61c, 0x623, 0x61c, -0x623, 0x61c, 0x5b7, 0x5c9, 0x5b7, 0x5c9, 0x56b, 0x598, 0x56b, 0x598, 0x43c, -0x482, 0x43c, 0x482, 0x2ca, 0x32a, 0x2ca, 0x32a, 0x257, 0x2d0, 0x257, 0x2d0, -0x257, 0x2d0, 0x26b, 0x2fb, 0x26b, 0x2fb, 0x225, 0x2ca, 0x225, 0x2ca, 0x1a8, -0x260, 0x1a8, 0x260, 0x12f, 0x1f7, 0x12f, 0x1f7, 0x54, 0x12a, 0x54, 0x12a, -0xff6e, 0x4e, 0xff6e, 0x4e, 0xff6e, 0x4e, 0xfedf, 0xffc7, 0xfedf, 0xffc7, 0xfe8f, -0xff7c, 0xfe8f, 0xff7c, 0xfdd8, 0xfec6, 0xfdd8, 0xfec6, 0xfc64, 0xfd52, 0xfc64, 0xfd52, -0xfb6d, 0xfc57, 0xfb6d, 0xfc57, 0xfb6d, 0xfc57, 0xfb02, 0xfbe6, 0xfb02, 0xfbe6, 0xfa42, -0xfb1e, 0xfa42, 0xfb1e, 0xf971, 0xfa44, 0xf971, 0xfa44, 0xf8d1, 0xf999, 0xf8d1, 0xf999, -0xf917, 0xf9d2, 0xf917, 0xf9d2, 0xf9ca, 0xfa78, 0xf9ca, 0xfa78, 0xf9ca, 0xfa78, 0xfa05, -0xfaa5, 0xfa05, 0xfaa5, 0xfaba, 0xfb4a, 0xfaba, 0xfb4a, 0xfb0f, 0xfb90, 0xfb0f, 0xfb90, -0xfac0, 0xfb30, 0xfac0, 0xfb30, 0xfbed, 0xfc4c, 0xfbed, 0xfc4c, 0xfe15, 0xfe62, 0xfe15, -0xfe62, 0xfe15, 0xfe62, 0xfff1, 0x2c, 0xfff1, 0x2c, 0x199, 0x1c0, 0x199, 0x1c0, -0x244, 0x257, 0x244, 0x257, 0x1fe, 0x1fc, 0x1fe, 0x1fc, 0x173, 0x15a, 0x173, -0x15a, 0x173, 0x15a, 0x17b, 0x149, 0x17b, 0x149, 0x27b, 0x22f, 0x27b, 0x22f, -0x35f, 0x2f7, 0x35f, 0x2f7, 0x4a0, 0x41a, 0x4a0, 0x41a, 0x5bd, 0x518, 0x5bd, -0x518, 0x6c2, 0x5fc, 0x6c2, 0x5fc, 0x6c2, 0x5fc, 0x8b5, 0x7cd, 0x8b5, 0x7cd, -0xa42, 0x937, 0xa42, 0x937, 0xbe5, 0xab6, 0xbe5, 0xab6, 0xcc3, 0xb6f, 0xcc3, -0xb6f, 0xcc9, 0xb50, 0xcc9, 0xb50, 0xdde, 0xc41, 0xdde, 0xc41, 0xdde, 0xc41, -0xe9b, 0xcdb, 0xe9b, 0xcdb, 0xf0a, 0xd29, 0xf0a, 0xd29, 0xfa1, 0xda0, 0xfa1, -0xda0, 0x1095, 0xe78, 0x1095, 0xe78, 0x120a, 0xfd3, 0x120a, 0xfd3, 0x120a, 0xfd3, -0x127a, 0x102f, 0x127a, 0x102f, 0x11fc, 0xfa1, 0x11fc, 0xfa1, 0x117b, 0xf14, 0x117b, -0xf14, 0x117f, 0xf13, 0x117f, 0xf13, 0x10e4, 0xe77, 0x10e4, 0xe77, 0xfa1, 0xd3a, -0xfa1, 0xd3a, 0xfa1, 0xd3a, 0xefc, 0xca1, 0xefc, 0xca1, 0xe55, 0xc0b, 0xe55, -0xc0b, 0xdeb, 0xbb8, 0xdeb, 0xbb8, 0xe1e, 0xc08, 0xe1e, 0xc08, 0xe26, 0xc31, -0xe26, 0xc31, 0xcf6, 0xb27, 0xcf6, 0xb27, 0xcf6, 0xb27, 0xb9e, 0x9f9, 0xb9e, -0x9f9, 0xb1d, 0x9a4, 0xb1d, 0x9a4, 0xb19, 0x9cf, 0xb19, 0x9cf, 0xbb2, 0xa98, -0xbb2, 0xa98, 0xb9d, 0xab5, 0xb9d, 0xab5, 0xb9d, 0xab5, 0xab1, 0x9fa, 0xab1, -0x9fa, 0x936, 0x8b0, 0x936, 0x8b0, 0x822, 0x7cb, 0x822, 0x7cb, 0x743, 0x718, -0x743, 0x718, 0x5a5, 0x5a3, 0x5a5, 0x5a3, 0x592, 0x5b7, 0x592, 0x5b7, 0x592, -0x5b7, 0x642, 0x68a, 0x642, 0x68a, 0x66e, 0x6d4, 0x66e, 0x6d4, 0x5d3, 0x653, -0x5d3, 0x653, 0x4e4, 0x57b, 0x4e4, 0x57b, 0x5bf, 0x668, 0x5bf, 0x668, 0x765, -0x81b, 0x765, 0x81b, 0x765, 0x81b, 0x89c, 0x95c, 0x89c, 0x95c, 0x942, 0xa09, -0x942, 0xa09, 0x9c0, 0xa8a, 0x9c0, 0xa8a, 0x954, 0xa1f, 0x954, 0xa1f, 0x865, -0x92f, 0x865, 0x92f, 0x865, 0x92f, 0x890, 0x956, 0x890, 0x956, 0x886, 0x949, -0x886, 0x949, 0x8ab, 0x969, 0x8ab, 0x969, 0x9a0, 0xa5a, 0x9a0, 0xa5a, 0xb4f, -0xc05, 0xb4f, 0xc05, 0xc70, 0xd23, 0xc70, 0xd23, 0xc70, 0xd23, 0xbf2, 0xca3, -0xbf2, 0xca3, 0xb36, 0xbe6, 0xb36, 0xbe6, 0xaa1, 0xb51, 0xaa1, 0xb51, 0xabb, -0xb6e, 0xabb, 0xb6e, 0xaa7, 0xb5d, 0xaa7, 0xb5d, 0xad5, 0xb8f, 0xad5, 0xb8f, -0xad5, 0xb8f, 0xae0, 0xba0, 0xae0, 0xba0, 0x93a, 0x9ff, 0x93a, 0x9ff, 0x7e1, -0x8ad, 0x7e1, 0x8ad, 0x5db, 0x6ae, 0x5db, 0x6ae, 0x297, 0x372, 0x297, 0x372, -0x297, 0x372, 0xffcc, 0xad, 0xffcc, 0xad, 0xfeaf, 0xff95, 0xfeaf, 0xff95, 0xfeaa, -0xff94, 0xfeaa, 0xff94, 0xfd27, 0xfe14, 0xfd27, 0xfe14, 0xfb6a, 0xfc59, 0xfb6a, 0xfc59, -0xfa68, 0xfb57, 0xfa68, 0xfb57, 0xfa68, 0xfb57, 0xf89c, 0xf989, 0xf89c, 0xf989, 0xf608, -0xf6f2, 0xf608, 0xf6f2, 0xf424, 0xf508, 0xf424, 0xf508, 0xf2a5, 0xf382, 0xf2a5, 0xf382, -0xf08f, 0xf164, 0xf08f, 0xf164, 0xeeee, 0xefb9, 0xeeee, 0xefb9, 0xeeee, 0xefb9, 0xedc0, -0xee81, 0xedc0, 0xee81, 0xecbf, 0xed75, 0xecbf, 0xed75, 0xeb1c, 0xebc8, 0xeb1c, 0xebc8, -0xe998, 0xea3a, 0xe998, 0xea3a, 0xe9b1, 0xea49, 0xe9b1, 0xea49, 0xe9b1, 0xea49, 0xea4a, -0xead9, 0xea4a, 0xead9, 0xeac2, 0xeb4a, 0xeac2, 0xeb4a, 0xeab5, 0xeb37, 0xeab5, 0xeb37, -0xeadb, 0xeb58, 0xeadb, 0xeb58, 0xeb0b, 0xeb86, 0xeb0b, 0xeb86, 0xeaa6, 0xeb1f, 0xeaa6, -0xeb1f, 0xeaa6, 0xeb1f, 0xea37, 0xeab1, 0xea37, 0xeab1, 0xe9df, 0xea5b, 0xe9df, 0xea5b, -0xe9b6, 0xea35, 0xe9b6, 0xea35, 0xe8ee, 0xe971, 0xe8ee, 0xe971, 0xe8d5, 0xe95d, 0xe8d5, -0xe95d, 0xe945, 0xe9d2, 0xe945, 0xe9d2, 0xe945, 0xe9d2, 0xe8b2, 0xe943, 0xe8b2, 0xe943, -0xe8ee, 0xe983, 0xe8ee, 0xe983, 0xea14, 0xeaab, 0xea14, 0xeaab, 0xeab0, 0xeb48, 0xeab0, -0xeb48, 0xea8b, 0xeb20, 0xea8b, 0xeb20, 0xea8b, 0xeb20, 0xea50, 0xeae2, 0xea50, 0xeae2, -0xea9a, 0xeb25, 0xea9a, 0xeb25, 0xeba2, 0xec23, 0xeba2, 0xec23, 0xed42, 0xedb6, 0xed42, -0xedb6, 0xeed3, 0xef37, 0xeed3, 0xef37, 0xef66, 0xefb8, 0xef66, 0xefb8, 0xef66, 0xefb8, -0xef77, 0xefb3, 0xef77, 0xefb3, 0xf106, 0xf12a, 0xf106, 0xf12a, 0xf2f3, 0xf2fd, 0xf2f3, -0xf2fd, 0xf4a4, 0xf493, 0xf4a4, 0xf493, 0xf735, 0xf707, 0xf735, 0xf707, 0xf9a6, 0xf95b, -0xf9a6, 0xf95b, 0xf9a6, 0xf95b, 0xfc40, 0xfbd9, 0xfc40, 0xfbd9, 0xffb6, 0xff34, 0xffb6, -0xff34, 0x2ed, 0x251, 0x2ed, 0x251, 0x4cd, 0x41a, 0x4cd, 0x41a, 0x661, 0x599, -0x661, 0x599, 0x661, 0x599, 0x863, 0x78b, 0x863, 0x78b, 0xa06, 0x921, 0xa06, -0x921, 0xb36, 0xa4a, 0xb36, 0xa4a, 0xbe9, 0xafa, 0xbe9, 0xafa, 0xce3, 0xbf6, -0xce3, 0xbf6, 0xe1a, 0xd34, 0xe1a, 0xd34, 0xe1a, 0xd34, 0xe2b, 0xd52, 0xe2b, -0xd52, 0xd41, 0xc79, 0xd41, 0xc79, 0xce3, 0xc31, 0xce3, 0xc31, 0xce8, 0xc50, -0xce8, 0xc50, 0xc27, 0xbad, 0xc27, 0xbad, 0xc27, 0xbad, 0xb3a, 0xae1, 0xb3a, -0xae1, 0xa59, 0xa23, 0xa59, 0xa23, 0x971, 0x960, 0x971, 0x960, 0x824, 0x839, -0x824, 0x839, 0x7bc, 0x7f7, 0x7bc, 0x7f7, 0x87e, 0x8df, 0x87e, 0x8df, 0x87e, -0x8df, 0x7d2, 0x857, 0x7d2, 0x857, 0x71f, 0x7c6, 0x71f, 0x7c6, 0x70b, 0x7d3, -0x70b, 0x7d3, 0x66b, 0x74f, 0x66b, 0x74f, 0x52e, 0x62b, 0x52e, 0x62b, 0x3a2, -0x4b4, 0x3a2, 0x4b4, 0x3a2, 0x4b4, 0x2dc, 0x3ff, 0x2dc, 0x3ff, 0x2b0, 0x3df, -0x2b0, 0x3df, 0x243, 0x37b, 0x243, 0x37b, 0x118, 0x254, 0x118, 0x254, 0x72, -0x1ae, 0x72, 0x1ae, 0x72, 0x1ae, 0xffff, 0x137, 0xffff, 0x137, 0xff02, 0x32, -0xff02, 0x32, 0xfe23, 0xff48, 0xfe23, 0xff48, 0xfc8b, 0xfda2, 0xfc8b, 0xfda2, 0xfb1b, -0xfc22, 0xfb1b, 0xfc22, 0xfa30, 0xfb24, 0xfa30, 0xfb24, 0xfa30, 0xfb24, 0xf9b6, 0xfa97, -0xf9b6, 0xfa97, 0xf949, 0xfa15, 0xf949, 0xfa15, 0xf84f, 0xf904, 0xf84f, 0xf904, 0xf7df, -0xf87d, 0xf7df, 0xf87d, 0xf7ff, 0xf886, 0xf7ff, 0xf886, 0xf8a5, 0xf915, 0xf8a5, 0xf915, -0xf8a5, 0xf915, 0xf919, 0xf971, 0xf919, 0xf971, 0xf9fe, 0xfa3f, 0xf9fe, 0xfa3f, 0xfb02, -0xfb2c, 0xfb02, 0xfb2c, 0xfac8, 0xfad9, 0xfac8, 0xfad9, 0xfaa9, 0xfaa2, 0xfaa9, 0xfaa2, -0xfaa9, 0xfaa2, 0xfa92, 0xfa74, 0xfa92, 0xfa74, 0xfade, 0xfaa6, 0xfade, 0xfaa6, 0xfb62, -0xfb11, 0xfb62, 0xfb11, 0xfc38, 0xfbcd, 0xfc38, 0xfbcd, 0xfd6d, 0xfce6, 0xfd6d, 0xfce6, -0xfdf3, 0xfd51, 0xfdf3, 0xfd51, 0xfdf3, 0xfd51, 0xfebf, 0xfdff, 0xfebf, 0xfdff, 0xfff3, -0xff16, 0xfff3, 0xff16, 0x1c3, 0xc8, 0x1c3, 0xc8, 0x332, 0x217, 0x332, 0x217, -0x434, 0x2fa, 0x434, 0x2fa, 0x51e, 0x3c5, 0x51e, 0x3c5, 0x51e, 0x3c5, 0x517, -0x39e, 0x517, 0x39e, 0x598, 0x402, 0x598, 0x402, 0x690, 0x4dd, 0x690, 0x4dd, -0x76d, 0x5a0, 0x76d, 0x5a0, 0x775, 0x58f, 0x775, 0x58f, 0x775, 0x58f, 0x781, -0x587, 0x781, 0x587, 0x8ae, 0x6a2, 0x8ae, 0x6a2, 0x9df, 0x7c6, 0x9df, 0x7c6, -0xac2, 0x8a1, 0xac2, 0x8a1, 0xac8, 0x8a3, 0xac8, 0x8a3, 0xb49, 0x925, 0xb49, -0x925, 0xb49, 0x925, 0xba6, 0x989, 0xba6, 0x989, 0xb4b, 0x93a, 0xb4b, 0x93a, -0xaf3, 0x8f3, 0xaf3, 0x8f3, 0x9df, 0x7f5, 0x9df, 0x7f5, 0x97c, 0x7ad, 0x97c, -0x7ad, 0x8f9, 0x749, 0x8f9, 0x749, 0x8f9, 0x749, 0x868, 0x6dc, 0x868, 0x6dc, -0x869, 0x702, 0x869, 0x702, 0x802, 0x6c6, 0x802, 0x6c6, 0x7be, 0x6ad, 0x7be, -0x6ad, 0x796, 0x6b1, 0x796, 0x6b1, 0x796, 0x6b1, 0x7e0, 0x729, 0x7e0, 0x729, -0x78e, 0x704, 0x78e, 0x704, 0x6a9, 0x64b, 0x6a9, 0x64b, 0x60b, 0x5d8, 0x60b, -0x5d8, 0x5e6, 0x5db, 0x5e6, 0x5db, 0x5e8, 0x603, 0x5e8, 0x603, 0x5e8, 0x603, -0x46b, 0x4a9, 0x46b, 0x4a9, 0x2f8, 0x356, 0x2f8, 0x356, 0x240, 0x2ba, 0x240, -0x2ba, 0x226, 0x2b7, 0x226, 0x2b7, 0x265, 0x309, 0x265, 0x309, 0x228, 0x2db, -0x228, 0x2db, 0x228, 0x2db, 0x2ce, 0x38b, 0x2ce, 0x38b, 0x3f0, 0x4b4, 0x3f0, -0x4b4, 0x509, 0x5cf, 0x509, 0x5cf, 0x619, 0x6de, 0x619, 0x6de, 0x762, 0x822, -0x762, 0x822, 0x762, 0x822, 0x8bc, 0x974, 0x8bc, 0x974, 0x971, 0xa1f, 0x971, -0xa1f, 0xa30, 0xad1, 0xa30, 0xad1, 0xaae, 0xb41, 0xaae, 0xb41, 0xb0d, 0xb90, -0xb0d, 0xb90, 0xb46, 0xbb8, 0xb46, 0xbb8, 0xb46, 0xbb8, 0xbf6, 0xc56, 0xbf6, -0xc56, 0xd7e, 0xdcd, 0xd7e, 0xdcd, 0xe7e, 0xebc, 0xe7e, 0xebc, 0xed3, 0xf02, -0xed3, 0xf02, 0xf0d, 0xf2e, 0xf0d, 0xf2e, 0xff3, 0x1007, 0xff3, 0x1007, 0xff3, -0x1007, 0x1064, 0x106d, 0x1064, 0x106d, 0xfbd, 0xfbf, 0xfbd, 0xfbf, 0xea6, 0xea2, -0xea6, 0xea2, 0xdd9, 0xdd2, 0xdd9, 0xdd2, 0xdff, 0xdf7, 0xdff, 0xdf7, 0xdff, -0xdf7, 0xde9, 0xde4, 0xde9, 0xde4, 0xd39, 0xd39, 0xd39, 0xd39, 0xb76, 0xb7e, -0xb76, 0xb7e, 0x9d9, 0x9eb, 0x9d9, 0x9eb, 0x939, 0x957, 0x939, 0x957, 0x87d, -0x8a9, 0x87d, 0x8a9, 0x87d, 0x8a9, 0x7fe, 0x83a, 0x7fe, 0x83a, 0x710, 0x75c, -0x710, 0x75c, 0x5b2, 0x610, 0x5b2, 0x610, 0x3d1, 0x441, 0x3d1, 0x441, 0x169, -0x1eb, 0x169, 0x1eb, 0xfeb0, 0xff43, 0xfeb0, 0xff43, 0xfeb0, 0xff43, 0xfbee, 0xfc91, -0xfbee, 0xfc91, 0xf984, 0xfa37, 0xf984, 0xfa37, 0xf71d, 0xf7dd, 0xf71d, 0xf7dd, 0xf635, -0xf701, 0xf635, 0xf701, 0xf5b7, 0xf68d, 0xf5b7, 0xf68d, 0xf5b7, 0xf68d, 0xf438, 0xf515, -0xf438, 0xf515, 0xf336, 0xf419, 0xf336, 0xf419, 0xf336, 0xf41d, 0xf336, 0xf41d, 0xf2e4, -0xf3cc, 0xf2e4, 0xf3cc, 0xf13d, 0xf225, 0xf13d, 0xf225, 0xf017, 0xf0fe, 0xf017, 0xf0fe, -0xf017, 0xf0fe, 0xefea, 0xf0cf, 0xefea, 0xf0cf, 0xeff2, 0xf0d3, 0xeff2, 0xf0d3, 0xf07a, -0xf156, 0xf07a, 0xf156, 0xf179, 0xf251, 0xf179, 0xf251, 0xf1c0, 0xf294, 0xf1c0, 0xf294, -0xf0f8, 0xf1c7, 0xf0f8, 0xf1c7, 0xf0f8, 0xf1c7, 0xf099, 0xf164, 0xf099, 0xf164, 0xefe7, -0xf0af, 0xefe7, 0xf0af, 0xeea0, 0xef64, 0xeea0, 0xef64, 0xed8b, 0xee4e, 0xed8b, 0xee4e, -0xed34, 0xedf4, 0xed34, 0xedf4, 0xed34, 0xedf4, 0xed6a, 0xee29, 0xed6a, 0xee29, 0xed2a, -0xede7, 0xed2a, 0xede7, 0xed44, 0xedff, 0xed44, 0xedff, 0xed8c, 0xee44, 0xed8c, 0xee44, -0xedf8, 0xeeab, 0xedf8, 0xeeab, 0xee4d, 0xeefb, 0xee4d, 0xeefb, 0xee4d, 0xeefb, 0xee57, -0xeefd, 0xee57, 0xeefd, 0xeeed, 0xef89, 0xeeed, 0xef89, 0xef4c, 0xefdb, 0xef4c, 0xefdb, -0xef97, 0xf017, 0xef97, 0xf017, 0xf008, 0xf075, 0xf008, 0xf075, 0xf008, 0xf075, 0xf177, -0xf1d0, 0xf177, 0xf1d0, 0xf344, 0xf384, 0xf344, 0xf384, 0xf488, 0xf4ae, 0xf488, 0xf4ae, -0xf6b6, 0xf6bf, 0xf6b6, 0xf6bf, 0xf90e, 0xf8f9, 0xf90e, 0xf8f9, 0xfb5e, 0xfb2a, 0xfb5e, -0xfb2a, 0xfb5e, 0xfb2a, 0xfd7b, 0xfd28, 0xfd7b, 0xfd28, 0x1f, 0xffad, 0x1f, 0xffad, -0x34d, 0x2bf, 0x34d, 0x2bf, 0x51b, 0x473, 0x51b, 0x473, 0x633, 0x574, 0x633, -0x574, 0x68d, 0x5bb, 0x68d, 0x5bb, 0x68d, 0x5bb, 0x6fd, 0x61f, 0x6fd, 0x61f, -0x846, 0x760, 0x846, 0x760, 0x976, 0x88f, 0x976, 0x88f, 0x9cf, 0x8ed, 0x9cf, -0x8ed, 0x905, 0x830, 0x905, 0x830, 0x905, 0x830, 0x7cf, 0x70d, 0x7cf, 0x70d, -0x69c, 0x5f4, 0x69c, 0x5f4, 0x61b, 0x592, 0x61b, 0x592, 0x5c3, 0x560, 0x5c3, -0x560, 0x582, 0x549, 0x582, 0x549, 0x58a, 0x57f, 0x58a, 0x57f, 0x58a, 0x57f, -0x529, 0x54f, 0x529, 0x54f, 0x4b5, 0x50d, 0x4b5, 0x50d, 0x423, 0x4ae, 0x423, -0x4ae, 0x40a, 0x4c7, 0x40a, 0x4c7, 0x434, 0x521, 0x434, 0x521, 0x381, 0x49b, -0x381, 0x49b, 0x381, 0x49b, 0x22d, 0x370, 0x22d, 0x370, 0xfe, 0x265, 0xfe, -0x265, 0xffcb, 0x14f, 0xffcb, 0x14f, 0xff2a, 0xc6, 0xff2a, 0xc6, 0xffc7, 0x173, -0xffc7, 0x173, 0xffc7, 0x173, 0xff5e, 0x113, 0xff5e, 0x113, 0xfe34, 0xffec, 0xfe34, -0xffec, 0xfd66, 0xff19, 0xfd66, 0xff19, 0xfc6c, 0xfe14, 0xfc6c, 0xfe14, 0xfb94, 0xfd2b, -0xfb94, 0xfd2b, 0xfa5a, 0xfbda, 0xfa5a, 0xfbda, 0xfa5a, 0xfbda, 0xf927, 0xfa8a, 0xf927, -0xfa8a, 0xf799, 0xf8dd, 0xf799, 0xf8dd, 0xf5dc, 0xf6fc, 0xf5dc, 0xf6fc, 0xf4fd, 0xf5f7, -0xf4fd, 0xf5f7, 0xf444, 0xf517, 0xf444, 0xf517, 0xf40d, 0xf4b7, 0xf40d, 0xf4b7, 0xf40d, -0xf4b7, 0xf4b2, 0xf533, 0xf4b2, 0xf533, 0xf5d0, 0xf628, 0xf5d0, 0xf628, 0xf631, 0xf660, -0xf631, 0xf660, 0xf626, 0xf62e, 0xf626, 0xf62e, 0xf71f, 0xf701, 0xf71f, 0xf701, 0xf71f, -0xf701, 0xf824, 0xf7e1, 0xf824, 0xf7e1, 0xf95f, 0xf8f8, 0xf95f, 0xf8f8, 0xfabc, 0xfa31, -0xfabc, 0xfa31, 0xfb1b, 0xfa70, 0xfb1b, 0xfa70, 0xfaac, 0xf9e0, 0xfaac, 0xf9e0, 0xfa3e, -0xf952, 0xfa3e, 0xf952, 0xfa3e, 0xf952, 0xfb0f, 0xfa04, 0xfb0f, 0xfa04, 0xfce2, 0xfbb9, -0xfce2, 0xfbb9, 0xfe54, 0xfd0c, 0xfe54, 0xfd0c, 0xfed6, 0xfd71, 0xfed6, 0xfd71, 0xff4d, -0xfdca, 0xff4d, 0xfdca, 0x76, 0xfed5, 0x76, 0xfed5, 0x76, 0xfed5, 0x20d, 0x50, -0x20d, 0x50, 0x370, 0x197, 0x370, 0x197, 0x3f1, 0x1fd, 0x3f1, 0x1fd, 0x4a3, -0x296, 0x4a3, 0x296, 0x618, 0x3f4, 0x618, 0x3f4, 0x618, 0x3f4, 0x753, 0x51a, -0x753, 0x51a, 0x8ac, 0x661, 0x8ac, 0x661, 0xa3b, 0x7e2, 0xa3b, 0x7e2, 0xb77, -0x913, 0xb77, 0x913, 0xd0a, 0xa9f, 0xd0a, 0xa9f, 0xe85, 0xc18, 0xe85, 0xc18, -0xe85, 0xc18, 0xf01, 0xc97, 0xf01, 0xc97, 0xfbe, 0xd5c, 0xfbe, 0xd5c, 0x1076, -0xe20, 0x1076, 0xe20, 0xfe6, 0xda2, 0xfe6, 0xda2, 0xeaa, 0xc7e, 0xeaa, 0xc7e, -0xdf6, 0xbe5, 0xdf6, 0xbe5, 0xdf6, 0xbe5, 0xdb3, 0xbc2, 0xdb3, 0xbc2, 0xcd7, -0xb0b, 0xcd7, 0xb0b, 0xc52, 0xaad, 0xc52, 0xaad, 0xc40, 0xac6, 0xc40, 0xac6, -0xb99, 0xa4d, 0xb99, 0xa4d, 0xb99, 0xa4d, 0xab6, 0x999, 0xab6, 0x999, 0xa75, -0x988, 0xa75, 0x988, 0xb0b, 0xa50, 0xb0b, 0xa50, 0xabe, 0xa34, 0xabe, 0xa34, -0x9e0, 0x986, 0x9e0, 0x986, 0x965, 0x93b, 0x965, 0x93b, 0x965, 0x93b, 0x966, -0x96a, 0x966, 0x96a, 0xa6d, 0xa9c, 0xa6d, 0xa9c, 0xaa9, 0xb01, 0xaa9, 0xb01, -0x9cd, 0xa4a, 0x9cd, 0xa4a, 0x93e, 0x9de, 0x93e, 0x9de, 0x8cc, 0x98a, 0x8cc, -0x98a, 0x8cc, 0x98a, 0x81e, 0x8f6, 0x81e, 0x8f6, 0x74a, 0x837, 0x74a, 0x837, -0x66e, 0x76d, 0x66e, 0x76d, 0x5a3, 0x6ae, 0x5a3, 0x6ae, 0x567, 0x67b, 0x567, -0x67b, 0x567, 0x67b, 0x624, 0x73a, 0x624, 0x73a, 0x743, 0x857, 0x743, 0x857, -0x831, 0x93e, 0x831, 0x93e, 0x94e, 0xa50, 0x94e, 0xa50, 0xa39, 0xb2a, 0xa39, -0xb2a, 0xa5c, 0xb3a, 0xa5c, 0xb3a, 0xa5c, 0xb3a, 0xa21, 0xae7, 0xa21, 0xae7, -0x9b1, 0xa5c, 0x9b1, 0xa5c, 0x918, 0x9a6, 0x918, 0x9a6, 0x94f, 0x9bd, 0x94f, -0x9bd, 0xafa, 0xb46, 0xafa, 0xb46, 0xc50, 0xc7b, 0xc50, 0xc7b, 0xc50, 0xc7b, -0xcc0, 0xcc9, 0xcc0, 0xcc9, 0xd5b, 0xd43, 0xd5b, 0xd43, 0xd74, 0xd3d, 0xd74, -0xd3d, 0xd24, 0xccf, 0xd24, 0xccf, 0xcab, 0xc3c, 0xcab, 0xc3c, 0xcab, 0xc3c, -0xbe3, 0xb5e, 0xbe3, 0xb5e, 0xb78, 0xae1, 0xb78, 0xae1, 0xa7b, 0x9d8, 0xa7b, -0x9d8, 0x91a, 0x86f, 0x91a, 0x86f, 0x831, 0x783, 0x831, 0x783, 0x6c2, 0x618, -0x6c2, 0x618, 0x6c2, 0x618, 0x4c5, 0x424, 0x4c5, 0x424, 0x2c0, 0x22d, 0x2c0, -0x22d, 0xc6, 0x46, 0xc6, 0x46, 0xfee3, 0xfe7a, 0xfee3, 0xfe7a, 0xfda1, 0xfd53, -0xfda1, 0xfd53, 0xfc52, 0xfc23, 0xfc52, 0xfc23, 0xfc52, 0xfc23, 0xfa9b, 0xfa8c, 0xfa9b, -0xfa8c, 0xf8dc, 0xf8ef, 0xf8dc, 0xf8ef, 0xf683, 0xf6b8, 0xf683, 0xf6b8, 0xf4cc, 0xf524, -0xf4cc, 0xf524, 0xf374, 0xf3ec, 0xf374, 0xf3ec, 0xf374, 0xf3ec, 0xf1d5, 0xf26c, 0xf1d5, -0xf26c, 0xf083, 0xf136, 0xf083, 0xf136, 0xef04, 0xefd1, 0xef04, 0xefd1, 0xed71, 0xee54, -0xed71, 0xee54, 0xec6b, 0xed61, 0xec6b, 0xed61, 0xec99, 0xed9e, 0xec99, 0xed9e, 0xec99, -0xed9e, 0xec65, 0xed76, 0xec65, 0xed76, 0xeb0a, 0xec24, 0xeb0a, 0xec24, 0xe9f2, 0xeb12, -0xe9f2, 0xeb12, 0xea11, 0xeb34, 0xea11, 0xeb34, 0xeb45, 0xec6a, 0xeb45, 0xec6a, 0xeb45, -0xec6a, 0xec2f, 0xed55, 0xec2f, 0xed55, 0xecb3, 0xedd8, 0xecb3, 0xedd8, 0xec7d, 0xeda3, -0xec7d, 0xeda3, 0xeb54, 0xec7a, 0xeb54, 0xec7a, 0xea25, 0xeb4d, 0xea25, 0xeb4d, 0xe962, -0xea8c, 0xe962, 0xea8c, 0xe962, 0xea8c, 0xe8f8, 0xea26, 0xe8f8, 0xea26, 0xe8da, 0xea0e, -0xe8da, 0xea0e, 0xe94d, 0xea87, 0xe94d, 0xea87, 0xea1d, 0xeb5d, 0xea1d, 0xeb5d, 0xeb0f, -0xec57, 0xeb0f, 0xec57, 0xebdd, 0xed2c, 0xebdd, 0xed2c, 0xebdd, 0xed2c, 0xecdd, 0xee32, -0xecdd, 0xee32, 0xed84, 0xeede, 0xed84, 0xeede, 0xed69, 0xeec5, 0xed69, 0xeec5, 0xee86, -0xefe2, 0xee86, 0xefe2, 0xf03b, 0xf192, 0xf03b, 0xf192, 0xf03b, 0xf192, 0xf1af, 0xf2fc, -0xf1af, 0xf2fc, 0xf31c, 0xf45b, 0xf31c, 0xf45b, 0xf3ff, 0xf52a, 0xf3ff, 0xf52a, 0xf4e7, -0xf5f7, 0xf4e7, 0xf5f7, 0xf55e, 0xf64f, 0xf55e, 0xf64f, 0xf668, 0xf734, 0xf668, 0xf734, -0xf668, 0xf734, 0xf8c6, 0xf969, 0xf8c6, 0xf969, 0xfbce, 0xfc43, 0xfbce, 0xfc43, 0xfed5, -0xff19, 0xfed5, 0xff19, 0xef, 0xff, 0xef, 0xff, 0x3dd, 0x3b8, 0x3dd, 0x3b8, -0x6ae, 0x655, 0x6ae, 0x655, 0x6ae, 0x655, 0x823, 0x797, 0x823, 0x797, 0x99b, -0x8df, 0x99b, 0x8df, 0xb55, 0xa6d, 0xb55, 0xa6d, 0xd3b, 0xc2d, 0xd3b, 0xc2d, -0xefb, 0xdcd, 0xefb, 0xdcd, 0xefb, 0xdcd, 0x1114, 0xfce, 0x1114, 0xfce, 0x128b, -0x1136, 0x128b, 0x1136, 0x130d, 0x11b0, 0x130d, 0x11b0, 0x1362, 0x1206, 0x1362, 0x1206, -0x139f, 0x124d, 0x139f, 0x124d, 0x134a, 0x120a, 0x134a, 0x120a, 0x134a, 0x120a, 0x1196, -0x1071, 0x1196, 0x1071, 0xfc8, 0xec4, 0xfc8, 0xec4, 0xe0d, 0xd31, 0xe0d, 0xd31, -0xcd3, 0xc23, 0xcd3, 0xc23, 0xbf6, 0xb77, 0xbf6, 0xb77, 0xad2, 0xa86, 0xad2, -0xa86, 0xad2, 0xa86, 0xa3d, 0xa26, 0xa3d, 0xa26, 0x9d1, 0x9ee, 0x9d1, 0x9ee, -0x9bd, 0xa0e, 0x9bd, 0xa0e, 0x999, 0xa1c, 0x999, 0xa1c, 0x890, 0x940, 0x890, -0x940, 0x890, 0x940, 0x6aa, 0x784, 0x6aa, 0x784, 0x4f1, 0x5f0, 0x4f1, 0x5f0, -0x3e5, 0x504, 0x3e5, 0x504, 0x30d, 0x447, 0x30d, 0x447, 0x2b1, 0x400, 0x2b1, -0x400, 0x242, 0x3a1, 0x242, 0x3a1, 0x242, 0x3a1, 0x21f, 0x389, 0x21f, 0x389, -0x1c9, 0x33a, 0x1c9, 0x33a, 0x7c, 0x1ef, 0x7c, 0x1ef, 0xff69, 0xda, 0xff69, -0xda, 0xfe3c, 0xffa9, 0xfe3c, 0xffa9, 0xfc76, 0xfddb, 0xfc76, 0xfddb, 0xfc76, 0xfddb, -0xfaa3, 0xfbfe, 0xfaa3, 0xfbfe, 0xf95f, 0xfaae, 0xf95f, 0xfaae, 0xf858, 0xf99b, 0xf858, -0xf99b, 0xf7ca, 0xf8ff, 0xf7ca, 0xf8ff, 0xf7f6, 0xf91b, 0xf7f6, 0xf91b, 0xf7f6, 0xf91b, -0xf7c9, 0xf8de, 0xf7c9, 0xf8de, 0xf779, 0xf87c, 0xf779, 0xf87c, 0xf6d5, 0xf7c5, 0xf6d5, -0xf7c5, 0xf651, 0xf72d, 0xf651, 0xf72d, 0xf6e1, 0xf7a6, 0xf6e1, 0xf7a6, 0xf762, 0xf810, -0xf762, 0xf810, 0xf762, 0xf810, 0xf766, 0xf7f9, 0xf766, 0xf7f9, 0xf749, 0xf7bf, 0xf749, -0xf7bf, 0xf7a7, 0xf7fe, 0xf7a7, 0xf7fe, 0xf8de, 0xf913, 0xf8de, 0xf913, 0xfaa0, 0xfab0, -0xfaa0, 0xfab0, 0xfba0, 0xfb88, 0xfba0, 0xfb88, 0xfba0, 0xfb88, 0xfb9b, 0xfb59, 0xfb9b, -0xfb59, 0xfc61, 0xfbf3, 0xfc61, 0xfbf3, 0xfdb5, 0xfd19, 0xfdb5, 0xfd19, 0xfeaa, 0xfde0, -0xfeaa, 0xfde0, 0xff5b, 0xfe62, 0xff5b, 0xfe62, 0xff5b, 0xfe62, 0x59, 0xff30, 0x59, -0xff30, 0x1a3, 0x4c, 0x1a3, 0x4c, 0x2a7, 0x122, 0x2a7, 0x122, 0x35e, 0x1ae, -0x35e, 0x1ae, 0x3de, 0x205, 0x3de, 0x205, 0x4a4, 0x2a7, 0x4a4, 0x2a7, 0x4a4, -0x2a7, 0x552, 0x333, 0x552, 0x333, 0x642, 0x406, 0x642, 0x406, 0x712, 0x4bc, -0x712, 0x4bc, 0x721, 0x4b7, 0x721, 0x4b7, 0x797, 0x51d, 0x797, 0x51d, 0x82b, -0x5a6, 0x82b, 0x5a6, 0x82b, 0x5a6, 0x8ee, 0x662, 0x8ee, 0x662, 0x999, 0x70c, -0x999, 0x70c, 0xa32, 0x7a6, 0xa32, 0x7a6, 0xa80, 0x7fa, 0xa80, 0x7fa, 0x9aa, -0x72f, 0x9aa, 0x72f, 0x9aa, 0x72f, 0x8dd, 0x66f, 0x8dd, 0x66f, 0x86f, 0x613, -0x86f, 0x613, 0x820, 0x5d8, 0x820, 0x5d8, 0x752, 0x520, 0x752, 0x520, 0x67f, -0x467, 0x67f, 0x467, 0x67d, 0x482, 0x67d, 0x482, 0x67d, 0x482, 0x63b, 0x45e, -0x63b, 0x45e, 0x5b8, 0x3fc, 0x5b8, 0x3fc, 0x5fa, 0x462, 0x5fa, 0x462, 0x691, -0x51f, 0x691, 0x51f, 0x5b9, 0x46f, 0x5b9, 0x46f, 0x469, 0x349, 0x469, 0x349, -0x469, 0x349, 0x3cd, 0x2d9, 0x3cd, 0x2d9, 0x359, 0x293, 0x359, 0x293, 0x2cd, -0x236, 0x2cd, 0x236, 0x23e, 0x1d6, 0x23e, 0x1d6, 0x212, 0x1d9, 0x212, 0x1d9, -0x212, 0x1d9, 0x154, 0x14b, 0x154, 0x14b, 0x7c, 0xa1, 0x7c, 0xa1, 0x78, -0xc9, 0x78, 0xc9, 0x168, 0x1e3, 0x168, 0x1e3, 0x2b6, 0x358, 0x2b6, 0x358, -0x371, 0x436, 0x371, 0x436, 0x371, 0x436, 0x4a7, 0x589, 0x4a7, 0x589, 0x645, -0x73f, 0x645, 0x73f, 0x771, 0x87e, 0x771, 0x87e, 0x7cb, 0x8e4, 0x7cb, 0x8e4, -0x7fe, 0x91b, 0x7fe, 0x91b, 0x863, 0x97f, 0x863, 0x97f, 0x863, 0x97f, 0x8d0, -0x9e4, 0x8d0, 0x9e4, 0x9b5, 0xabb, 0x9b5, 0xabb, 0xa13, 0xb06, 0xa13, 0xb06, -0xa17, 0xaf3, 0xa17, 0xaf3, 0xa7a, 0xb3a, 0xa7a, 0xb3a, 0xa7a, 0xb3a, 0xbaa, -0xc4b, 0xbaa, 0xc4b, 0xca3, 0xd23, 0xca3, 0xd23, 0xbf3, 0xc54, 0xbf3, 0xc54, -0xb60, 0xba1, 0xb60, 0xba1, 0xb2a, 0xb4c, 0xb2a, 0xb4c, 0xa8d, 0xa95, 0xa8d, -0xa95, 0xa8d, 0xa95, 0xa34, 0xa25, 0xa34, 0xa25, 0xa14, 0x9f4, 0xa14, 0x9f4, -0x997, 0x96a, 0x997, 0x96a, 0x876, 0x842, 0x876, 0x842, 0x766, 0x731, 0x766, -0x731, 0x766, 0x731, 0x6e9, 0x6b8, 0x6e9, 0x6b8, 0x64f, 0x628, 0x64f, 0x628, -0x4f6, 0x4df, 0x4f6, 0x4df, 0x36a, 0x367, 0x36a, 0x367, 0x237, 0x24b, 0x237, -0x24b, 0x76, 0xa3, 0x76, 0xa3, 0x76, 0xa3, 0xfdfc, 0xfe43, 0xfdfc, 0xfe43, -0xfbee, 0xfc50, 0xfbee, 0xfc50, 0xfa75, 0xfaf0, 0xfa75, 0xfaf0, 0xf919, 0xf9ac, 0xf919, -0xf9ac, 0xf759, 0xf800, 0xf759, 0xf800, 0xf52e, 0xf5e7, 0xf52e, 0xf5e7, 0xf52e, 0xf5e7, -0xf325, 0xf3ea, 0xf325, 0xf3ea, 0xf1c0, 0xf28f, 0xf1c0, 0xf28f, 0xf148, 0xf21b, 0xf148, -0xf21b, 0xf0ea, 0xf1bd, 0xf0ea, 0xf1bd, 0xefc6, 0xf096, 0xefc6, 0xf096, 0xefc6, 0xf096, -0xeebd, 0xef85, 0xeebd, 0xef85, 0xeeba, 0xef79, 0xeeba, 0xef79, 0xef40, 0xeff3, 0xef40, -0xeff3, 0xeff9, 0xf0a0, 0xeff9, 0xf0a0, 0xf0e2, 0xf17d, 0xf0e2, 0xf17d, 0xf1f3, 0xf283, -0xf1f3, 0xf283, 0xf1f3, 0xf283, 0xf255, 0xf2dd, 0xf255, 0xf2dd, 0xf1a7, 0xf229, 0xf1a7, -0xf229, 0xf0ba, 0xf13a, 0xf0ba, 0xf13a, 0xefe8, 0xf06a, 0xefe8, 0xf06a, 0xef81, 0xf009, -0xef81, 0xf009, 0xef63, 0xeff6, 0xef63, 0xeff6, 0xef63, 0xeff6, 0xef58, 0xeff9, 0xef58, -0xeff9, 0xeec8, 0xef7b, 0xeec8, 0xef7b, 0xee10, 0xeed8, 0xee10, 0xeed8, 0xee66, 0xef44, -0xee66, 0xef44, 0xef08, 0xeffd, 0xef08, 0xeffd, 0xef08, 0xeffd, 0xef35, 0xf040, 0xef35, -0xf040, 0xef04, 0xf024, 0xef04, 0xf024, 0xef45, 0xf078, 0xef45, 0xf078, 0xf02e, 0xf16e, -0xf02e, 0xf16e, 0xf11a, 0xf263, 0xf11a, 0xf263, 0xf1e4, 0xf32f, 0xf1e4, 0xf32f, 0xf1e4, -0xf32f, 0xf252, 0xf399, 0xf252, 0xf399, 0xf281, 0xf3bd, 0xf281, 0xf3bd, 0xf32a, 0xf452, -0xf32a, 0xf452, 0xf518, 0xf626, 0xf518, 0xf626, 0xf7b4, 0xf8a0, 0xf7b4, 0xf8a0, 0xfa43, -0xfb08, 0xfa43, 0xfb08, 0xfa43, 0xfb08, 0xfd53, 0xfdeb, 0xfd53, 0xfdeb, 0x2d, 0x92, -0x2d, 0x92, 0x236, 0x267, 0x236, 0x267, 0x3d9, 0x3d4, 0x3d9, 0x3d4, 0x559, -0x51d, 0x559, 0x51d, 0x559, 0x51d, 0x77a, 0x709, 0x77a, 0x709, 0x945, 0x8a3, -0x945, 0x8a3, 0xa38, 0x968, 0xa38, 0x968, 0xb61, 0xa6a, 0xb61, 0xa6a, 0xc65, -0xb4c, 0xc65, 0xb4c, 0xc77, 0xb44, 0xc77, 0xb44, 0xc77, 0xb44, 0xc17, 0xad3, -0xc17, 0xad3, 0xc4f, 0xb03, 0xc4f, 0xb03, 0xc42, 0xaf5, 0xc42, 0xaf5, 0xbff, -0xabb, 0xbff, 0xabb, 0xbc2, 0xa8e, 0xbc2, 0xa8e, 0xb4a, 0xa2d, 0xb4a, 0xa2d, -0xb4a, 0xa2d, 0xa8c, 0x98e, 0xa8c, 0x98e, 0x950, 0x875, 0x950, 0x875, 0x8c6, -0x813, 0x8c6, 0x813, 0x813, 0x78c, 0x813, 0x78c, 0x77f, 0x726, 0x77f, 0x726, -0x77f, 0x726, 0x74e, 0x723, 0x74e, 0x723, 0x680, 0x683, 0x680, 0x683, 0x54b, -0x57b, 0x54b, 0x57b, 0x42b, 0x486, 0x42b, 0x486, 0x40a, 0x48e, 0x40a, 0x48e, -0x341, 0x3eb, 0x341, 0x3eb, 0x341, 0x3eb, 0x20e, 0x2da, 0x20e, 0x2da, 0x112, -0x1fd, 0x112, 0x1fd, 0x7c, 0x181, 0x7c, 0x181, 0x54, 0x171, 0x54, 0x171, -0xfea5, 0xffd6, 0xfea5, 0xffd6, 0xfcc1, 0xfe03, 0xfcc1, 0xfe03, 0xfcc1, 0xfe03, 0xfaf8, -0xfc49, 0xfaf8, 0xfc49, 0xf911, 0xfa6e, 0xf911, 0xfa6e, 0xf782, 0xf8e8, 0xf782, 0xf8e8, -0xf64a, 0xf7b8, 0xf64a, 0xf7b8, 0xf61e, 0xf792, 0xf61e, 0xf792, 0xf61e, 0xf792, 0xf5d0, -0xf749, 0xf5d0, 0xf749, 0xf551, 0xf6ce, 0xf551, 0xf6ce, 0xf594, 0xf713, 0xf594, 0xf713, -0xf5ef, 0xf76e, 0xf5ef, 0xf76e, 0xf556, 0xf6d4, 0xf556, 0xf6d4, 0xf4e4, 0xf660, 0xf4e4, -0xf660, 0xf4e4, 0xf660, 0xf5c8, 0xf73e, 0xf5c8, 0xf73e, 0xf65b, 0xf7c9, 0xf65b, 0xf7c9, -0xf681, 0xf7e4, 0xf681, 0xf7e4, 0xf712, 0xf866, 0xf712, 0xf866, 0xf708, 0xf84b, 0xf708, -0xf84b, 0xf75f, 0xf88c, 0xf75f, 0xf88c, 0xf75f, 0xf88c, 0xf8e5, 0xf9f9, 0xf8e5, 0xf9f9, -0xfa22, 0xfb18, 0xfa22, 0xfb18, 0xfae5, 0xfbba, 0xfae5, 0xfbba, 0xfb45, 0xfbf7, 0xfb45, -0xfbf7, 0xfbf9, 0xfc83, 0xfbf9, 0xfc83, 0xfbf9, 0xfc83, 0xfd22, 0xfd82, 0xfd22, 0xfd82, -0xfe22, 0xfe55, 0xfe22, 0xfe55, 0xff3c, 0xff40, 0xff3c, 0xff40, 0x25, 0xfffa, 0x25, -0xfffa, 0x10f, 0xb3, 0x10f, 0xb3, 0x1d3, 0x147, 0x1d3, 0x147, 0x1d3, 0x147, -0x330, 0x274, 0x330, 0x274, 0x54e, 0x462, 0x54e, 0x462, 0x730, 0x617, 0x730, -0x617, 0x988, 0x842, 0x988, 0x842, 0xb6b, 0x9fb, 0xb6b, 0x9fb, 0xcd0, 0xb39, -0xcd0, 0xb39, 0xcd0, 0xb39, 0xdfe, 0xc42, 0xdfe, 0xc42, 0xe4b, 0xc6d, 0xe4b, -0xc6d, 0xf21, 0xd25, 0xf21, 0xd25, 0xf95, 0xd7c, 0xf95, 0xd7c, 0xee9, 0xcb6, -0xee9, 0xcb6, 0xee9, 0xcb6, 0xe47, 0xbfe, 0xe47, 0xbfe, 0xe11, 0xbb4, 0xe11, -0xbb4, 0xe67, 0xbf9, 0xe67, 0xbf9, 0xe28, 0xbac, 0xe28, 0xbac, 0xdb9, 0xb33, -0xdb9, 0xb33, 0xd0c, 0xa7d, 0xd0c, 0xa7d, 0xd0c, 0xa7d, 0xc42, 0x9af, 0xc42, -0x9af, 0xc60, 0x9cc, 0xc60, 0x9cc, 0xc30, 0x99f, 0xc30, 0x99f, 0xc02, 0x978, -0xc02, 0x978, 0xbd4, 0x955, 0xbd4, 0x955, 0xc4f, 0x9e0, 0xc4f, 0x9e0, 0xc4f, -0x9e0, 0xd1f, 0xac4, 0xd1f, 0xac4, 0xc9d, 0xa5b, 0xc9d, 0xa5b, 0xc5f, 0xa3b, -0xc5f, 0xa3b, 0xc8e, 0xa8d, 0xc8e, 0xa8d, 0xd10, 0xb36, 0xd10, 0xb36, 0xd10, -0xb36, 0xd14, 0xb66, 0xd14, 0xb66, 0xc55, 0xad6, 0xc55, 0xad6, 0xbad, 0xa5f, -0xbad, 0xa5f, 0xa43, 0x929, 0xa43, 0x929, 0x8d0, 0x7ec, 0x8d0, 0x7ec, 0x810, -0x761, 0x810, 0x761, 0x810, 0x761, 0x830, 0x7b6, 0x830, 0x7b6, 0x85d, 0x817, -0x85d, 0x817, 0x88a, 0x874, 0x88a, 0x874, 0x920, 0x936, 0x920, 0x936, 0x956, -0x994, 0x956, 0x994, 0x956, 0x994, 0x976, 0x9d6, 0x976, 0x9d6, 0x932, 0x9af, -0x932, 0x9af, 0x92c, 0x9bf, 0x92c, 0x9bf, 0x99b, 0xa3d, 0x99b, 0xa3d, 0x970, -0xa1c, 0x970, 0xa1c, 0x928, 0x9d6, 0x928, 0x9d6, 0x928, 0x9d6, 0x935, 0x9e0, -0x935, 0x9e0, 0x935, 0x9d8, 0x935, 0x9d8, 0x96b, 0xa02, 0x96b, 0xa02, 0xa53, -0xadc, 0xa53, 0xadc, 0xab8, 0xb30, 0xab8, 0xb30, 0xa54, 0xabc, 0xa54, 0xabc, -0xa54, 0xabc, 0x9fc, 0xa53, 0x9fc, 0xa53, 0x98a, 0x9d2, 0x98a, 0x9d2, 0x888, -0x8c4, 0x888, 0x8c4, 0x6de, 0x712, 0x6de, 0x712, 0x5cc, 0x5fd, 0x5cc, 0x5fd, -0x5cc, 0x5fd, 0x500, 0x533, 0x500, 0x533, 0x333, 0x36e, 0x333, 0x36e, 0x154, -0x19c, 0x154, 0x19c, 0xffc8, 0x24, 0xffc8, 0x24, 0xfdd4, 0xfe48, 0xfdd4, 0xfe48, -0xfb9c, 0xfc2c, 0xfb9c, 0xfc2c, 0xfb9c, 0xfc2c, 0xfa23, 0xfad3, 0xfa23, 0xfad3, 0xf8b4, -0xf986, 0xf8b4, 0xf986, 0xf6dd, 0xf7d2, 0xf6dd, 0xf7d2, 0xf581, 0xf69a, 0xf581, 0xf69a, -0xf44c, 0xf588, 0xf44c, 0xf588, 0xf3a1, 0xf4fd, 0xf3a1, 0xf4fd, 0xf3a1, 0xf4fd, 0xf2c7, -0xf440, 0xf2c7, 0xf440, 0xf0f1, 0xf282, 0xf0f1, 0xf282, 0xeecd, 0xf071, 0xeecd, 0xf071, -0xecf9, 0xeeab, 0xecf9, 0xeeab, 0xebaf, 0xed68, 0xebaf, 0xed68, 0xebaf, 0xed68, 0xea95, -0xec4f, 0xea95, 0xec4f, 0xe9ea, 0xeb9f, 0xe9ea, 0xeb9f, 0xe91d, 0xeac7, 0xe91d, 0xeac7, -0xe889, 0xea23, 0xe889, 0xea23, 0xe83c, 0xe9c2, 0xe83c, 0xe9c2, 0xe864, 0xe9d2, 0xe864, -0xe9d2, 0xe864, 0xe9d2, 0xe8f5, 0xea49, 0xe8f5, 0xea49, 0xe976, 0xeaaf, 0xe976, 0xeaaf, -0xea8c, 0xeba9, 0xea8c, 0xeba9, 0xea6e, 0xeb6f, 0xea6e, 0xeb6f, 0xe9d8, 0xeac0, 0xe9d8, -0xeac0, 0xe9bb, 0xea8c, 0xe9bb, 0xea8c, 0xe9bb, 0xea8c, 0xe9bb, 0xea78, 0xe9bb, 0xea78, -0xe965, 0xea11, 0xe965, 0xea11, 0xe941, 0xe9e1, 0xe941, 0xe9e1, 0xea9b, 0xeb31, 0xea9b, -0xeb31, 0xeb02, 0xeb91, 0xeb02, 0xeb91, 0xeb02, 0xeb91, 0xeb5d, 0xebe8, 0xeb5d, 0xebe8, -0xec7b, 0xed04, 0xec7b, 0xed04, 0xede2, 0xee6a, 0xede2, 0xee6a, 0xef3e, 0xefc5, 0xef3e, -0xefc5, 0xefe4, 0xf06a, 0xefe4, 0xf06a, 0xf0fd, 0xf180, 0xf0fd, 0xf180, 0xf0fd, 0xf180, -0xf1e8, 0xf266, 0xf1e8, 0xf266, 0xf33b, 0xf3b0, 0xf33b, 0xf3b0, 0xf465, 0xf4cd, 0xf465, -0xf4cd, 0xf4ee, 0xf545, 0xf4ee, 0xf545, 0xf5a0, 0xf5e0, 0xf5a0, 0xf5e0, 0xf659, 0xf67e, -0xf659, 0xf67e, 0xf659, 0xf67e, 0xf7b9, 0xf7c0, 0xf7b9, 0xf7c0, 0xf965, 0xf948, 0xf965, -0xf948, 0xfb51, 0xfb0e, 0xfb51, 0xfb0e, 0xfdbe, 0xfd51, 0xfdbe, 0xfd51, 0x7e, 0xffe7, -0x7e, 0xffe7, 0x7e, 0xffe7, 0x33f, 0x27e, 0x33f, 0x27e, 0x596, 0x4ac, 0x596, -0x4ac, 0x7db, 0x6c9, 0x7db, 0x6c9, 0xa54, 0x91f, 0xa54, 0x91f, 0xc5f, 0xb0c, -0xc5f, 0xb0c, 0xe33, 0xcc7, 0xe33, 0xcc7, 0xe33, 0xcc7, 0xfbe, 0xe3f, 0xfbe, -0xe3f, 0x1115, 0xf8d, 0x1115, 0xf8d, 0x126f, 0x10e4, 0x126f, 0x10e4, 0x1379, 0x11f4, -0x1379, 0x11f4, 0x14a7, 0x1330, 0x14a7, 0x1330, 0x14b7, 0x1356, 0x14b7, 0x1356, 0x14b7, -0x1356, 0x13f8, 0x12b5, 0x13f8, 0x12b5, 0x1332, 0x1215, 0x1332, 0x1215, 0x120e, 0x111c, -0x120e, 0x111c, 0x107b, 0xfb9, 0x107b, 0xfb9, 0xe3c, 0xdaf, 0xe3c, 0xdaf, 0xe3c, -0xdaf, 0xc7b, 0xc26, 0xc7b, 0xc26, 0xb4b, 0xb2f, 0xb4b, 0xb2f, 0xa47, 0xa65, -0xa47, 0xa65, 0x9a9, 0xa00, 0x9a9, 0xa00, 0x94b, 0x9da, 0x94b, 0x9da, 0x8d0, -0x995, 0x8d0, 0x995, 0x8d0, 0x995, 0x7fc, 0x8f3, 0x7fc, 0x8f3, 0x6de, 0x804, -0x6de, 0x804, 0x5e4, 0x733, 0x5e4, 0x733, 0x4d2, 0x647, 0x4d2, 0x647, 0x424, -0x5b9, 0x424, 0x5b9, 0x447, 0x5f9, 0x447, 0x5f9, 0x447, 0x5f9, 0x3e3, 0x5ab, -0x3e3, 0x5ab, 0x2e9, 0x4c3, 0x2e9, 0x4c3, 0x1d0, 0x3b9, 0x1d0, 0x3b9, 0x136, -0x329, 0x136, 0x329, 0x19, 0x211, 0x19, 0x211, 0x19, 0x211, 0xfe61, 0x5b, -0xfe61, 0x5b, 0xfc70, 0xfe68, 0xfc70, 0xfe68, 0xfa10, 0xfc03, 0xfa10, 0xfc03, 0xf8dd, -0xfac7, 0xf8dd, 0xfac7, 0xf852, 0xfa31, 0xf852, 0xfa31, 0xf84d, 0xfa1d, 0xf84d, 0xfa1d, -0xf84d, 0xfa1d, 0xf7a7, 0xf964, 0xf7a7, 0xf964, 0xf5e8, 0xf790, 0xf5e8, 0xf790, 0xf4cf, -0xf65e, 0xf4cf, 0xf65e, 0xf4a8, 0xf61b, 0xf4a8, 0xf61b, 0xf558, 0xf6aa, 0xf558, 0xf6aa, -0xf58b, 0xf6ba, 0xf58b, 0xf6ba, 0xf58b, 0xf6ba, 0xf56f, 0xf677, 0xf56f, 0xf677, 0xf5f2, -0xf6cf, 0xf5f2, 0xf6cf, 0xf6d1, 0xf780, 0xf6d1, 0xf780, 0xf7dc, 0xf85b, 0xf7dc, 0xf85b, -0xf8c9, 0xf914, 0xf8c9, 0xf914, 0xf8c9, 0xf914, 0xf96f, 0xf984, 0xf96f, 0xf984, 0xfa22, -0xfa00, 0xfa22, 0xfa00, 0xfb41, 0xfae6, 0xfb41, 0xfae6, 0xfc49, 0xfbb5, 0xfc49, 0xfbb5, -0xfc96, 0xfbc9, 0xfc96, 0xfbc9, 0xfd92, 0xfc8e, 0xfd92, 0xfc8e, 0xfd92, 0xfc8e, 0xffa4, -0xfe69, 0xffa4, 0xfe69, 0xf3, 0xff84, 0xf3, 0xff84, 0x146, 0xffa6, 0x146, 0xffa6, -0x177, 0xffa8, 0x177, 0xffa8, 0x273, 0x79, 0x273, 0x79, 0x384, 0x164, 0x384, -0x164, 0x384, 0x164, 0x461, 0x21f, 0x461, 0x21f, 0x53b, 0x2dc, 0x53b, 0x2dc, -0x5e1, 0x368, 0x5e1, 0x368, 0x661, 0x3d4, 0x661, 0x3d4, 0x6d4, 0x437, 0x6d4, -0x437, 0x6d4, 0x437, 0x809, 0x55f, 0x809, 0x55f, 0x989, 0x6d7, 0x989, 0x6d7, -0xaff, 0x849, 0xaff, 0x849, 0xb82, 0x8ca, 0xb82, 0x8ca, 0xbd8, 0x922, 0xbd8, -0x922, 0xc37, 0x987, 0xc37, 0x987, 0xc37, 0x987, 0xbbf, 0x918, 0xbbf, 0x918, -0xb3d, 0x8a0, 0xb3d, 0x8a0, 0xa6d, 0x7de, 0xa6d, 0x7de, 0x9d7, 0x759, 0x9d7, -0x759, 0x8e4, 0x67a, 0x8e4, 0x67a, 0x8e4, 0x67a, 0x85d, 0x609, 0x85d, 0x609, -0x847, 0x60c, 0x847, 0x60c, 0x801, 0x5e2, 0x801, 0x5e2, 0x865, 0x666, 0x865, -0x666, 0x875, 0x698, 0x875, 0x698, 0x816, 0x65f, 0x816, 0x65f, 0x816, 0x65f, -0x73a, 0x5ab, 0x73a, 0x5ab, 0x6a0, 0x53c, 0x6a0, 0x53c, 0x613, 0x4dd, 0x613, -0x4dd, 0x57e, 0x476, 0x57e, 0x476, 0x564, 0x48d, 0x564, 0x48d, 0x4cf, 0x428, -0x4cf, 0x428, 0x4cf, 0x428, 0x41c, 0x3a6, 0x41c, 0x3a6, 0x3b0, 0x369, 0x3b0, -0x369, 0x3a9, 0x390, 0x3a9, 0x390, 0x3b6, 0x3c8, 0x3b6, 0x3c8, 0x37b, 0x3b3, -0x37b, 0x3b3, 0x37b, 0x3b3, 0x3d4, 0x42f, 0x3d4, 0x42f, 0x55d, 0x5d5, 0x55d, -0x5d5, 0x6ea, 0x779, 0x6ea, 0x779, 0x786, 0x827, 0x786, 0x827, 0x7a8, 0x855, -0x7a8, 0x855, 0x802, 0x8b4, 0x802, 0x8b4, 0x802, 0x8b4, 0x86b, 0x91c, 0x86b, -0x91c, 0x895, 0x93e, 0x895, 0x93e, 0x8e3, 0x980, 0x8e3, 0x980, 0x8f3, 0x980, -0x8f3, 0x980, 0x8ca, 0x942, 0x8ca, 0x942, 0x8ad, 0x90e, 0x8ad, 0x90e, 0x8ad, -0x90e, 0x8fb, 0x945, 0x8fb, 0x945, 0x9d9, 0xa0b, 0x9d9, 0xa0b, 0xa5f, 0xa79, -0xa5f, 0xa79, 0xa64, 0xa6a, 0xa64, 0xa6a, 0xa35, 0xa29, 0xa35, 0xa29, 0xa35, -0xa29, 0xa0d, 0x9f4, 0xa0d, 0x9f4, 0x9d5, 0x9b3, 0x9d5, 0x9b3, 0x90d, 0x8e8, -0x90d, 0x8e8, 0x825, 0x803, 0x825, 0x803, 0x719, 0x6ff, 0x719, 0x6ff, 0x5f9, -0x5ee, 0x5f9, 0x5ee, 0x5f9, 0x5ee, 0x55b, 0x564, 0x55b, 0x564, 0x475, 0x496, -0x475, 0x496, 0x3d5, 0x413, 0x3d5, 0x413, 0x342, 0x3a1, 0x342, 0x3a1, 0x20a, -0x28a, 0x20a, 0x28a, 0x6f, 0x112, 0x6f, 0x112, 0x6f, 0x112, 0xfdf9, 0xfec0, -0xfdf9, 0xfec0, 0xfc6f, 0xfd59, 0xfc6f, 0xfd59, 0xfbb7, 0xfcc0, 0xfbb7, 0xfcc0, 0xf9ca, -0xfaf0, 0xf9ca, 0xfaf0, 0xf6df, 0xf81f, 0xf6df, 0xf81f, 0xf6df, 0xf81f, 0xf445, 0xf59b, -0xf445, 0xf59b, 0xf282, 0xf3e8, 0xf282, 0xf3e8, 0xf11a, 0xf28d, 0xf11a, 0xf28d, 0xf030, -0xf1ab, 0xf030, 0xf1ab, 0xef33, 0xf0b1, 0xef33, 0xf0b1, 0xee38, 0xefb7, 0xee38, 0xefb7, -0xee38, 0xefb7, 0xedec, 0xef68, 0xedec, 0xef68, 0xedad, 0xef23, 0xedad, 0xef23, 0xed3c, -0xeeaa, 0xed3c, 0xeeaa, 0xecd7, 0xee3e, 0xecd7, 0xee3e, 0xed1e, 0xee7d, 0xed1e, 0xee7d, -0xee7c, 0xefd5, 0xee7c, 0xefd5, 0xee7c, 0xefd5, 0xefe9, 0xf13c, 0xefe9, 0xf13c, 0xf0cd, -0xf21d, 0xf0cd, 0xf21d, 0xf102, 0xf251, 0xf102, 0xf251, 0xf092, 0xf1e2, 0xf092, 0xf1e2, -0xefd4, 0xf128, 0xefd4, 0xf128, 0xefd4, 0xf128, 0xee50, 0xefaa, 0xee50, 0xefaa, 0xed74, -0xeed4, 0xed74, 0xeed4, 0xedb0, 0xef19, 0xedb0, 0xef19, 0xedd9, 0xef4a, 0xedd9, 0xef4a, -0xee4c, 0xefc4, 0xee4c, 0xefc4, 0xef2b, 0xf0aa, 0xef2b, 0xf0aa, 0xef2b, 0xf0aa, 0xf002, -0xf183, 0xf002, 0xf183, 0xeffa, 0xf17a, 0xeffa, 0xf17a, 0xefcf, 0xf14a, 0xefcf, 0xf14a, -0xf02f, 0xf19f, 0xf02f, 0xf19f, 0xf0b2, 0xf211, 0xf0b2, 0xf211, 0xf1bf, 0xf307, 0xf1bf, -0xf307, 0xf1bf, 0xf307, 0xf30a, 0xf435, 0xf30a, 0xf435, 0xf416, 0xf51e, 0xf416, 0xf51e, -0xf505, 0xf5e3, 0xf505, 0xf5e3, 0xf60f, 0xf6be, 0xf60f, 0xf6be, 0xf7af, 0xf82b, 0xf7af, -0xf82b, 0xf7af, 0xf82b, 0xf9c8, 0xfa0d, 0xf9c8, 0xfa0d, 0xfc2f, 0xfc3b, 0xfc2f, 0xfc3b, -0xff11, 0xfee2, 0xff11, 0xfee2, 0x173, 0x10c, 0x173, 0x10c, 0x37d, 0x2de, 0x37d, -0x2de, 0x57c, 0x4a9, 0x57c, 0x4a9, 0x57c, 0x4a9, 0x75a, 0x658, 0x75a, 0x658, -0x957, 0x82c, 0x957, 0x82c, 0xaca, 0x97d, 0xaca, 0x97d, 0xbde, 0xa77, 0xbde, -0xa77, 0xca7, 0xb30, 0xca7, 0xb30, 0xd71, 0xbf1, 0xd71, 0xbf1, 0xd71, 0xbf1, -0xe2f, 0xcb1, 0xe2f, 0xcb1, 0xed1, 0xd5d, 0xed1, 0xd5d, 0xf37, 0xdd6, 0xf37, -0xdd6, 0xeda, 0xd95, 0xeda, 0xd95, 0xf19, 0xdf6, 0xf19, 0xdf6, 0xf19, 0xdf6, -0xf9f, 0xea6, 0xf9f, 0xea6, 0xec2, 0xdf8, 0xec2, 0xdf8, 0xcc0, 0xc28, 0xcc0, -0xc28, 0xaec, 0xa8b, 0xaec, 0xa8b, 0x99a, 0x971, 0x99a, 0x971, 0x87e, 0x88c, -0x87e, 0x88c, 0x87e, 0x88c, 0x7b8, 0x7fe, 0x7b8, 0x7fe, 0x72d, 0x7a9, 0x72d, -0x7a9, 0x68e, 0x73f, 0x68e, 0x73f, 0x5aa, 0x68c, 0x5aa, 0x68c, 0x535, 0x645, -0x535, 0x645, 0x4eb, 0x623, 0x4eb, 0x623, 0x4eb, 0x623, 0x3e0, 0x53e, 0x3e0, -0x53e, 0x29a, 0x419, 0x29a, 0x419, 0x1b8, 0x353, 0x1b8, 0x353, 0xeb, 0x29e, -0xeb, 0x29e, 0xffa4, 0x16b, 0xffa4, 0x16b, 0xffa4, 0x16b, 0xfdbb, 0xff92, 0xfdbb, -0xff92, 0xfbaa, 0xfd8d, 0xfbaa, 0xfd8d, 0xfa0b, 0xfbf7, 0xfa0b, 0xfbf7, 0xf8db, 0xfacd, -0xf8db, 0xfacd, 0xf7d0, 0xf9c6, 0xf7d0, 0xf9c6, 0xf6bf, 0xf8b5, 0xf6bf, 0xf8b5, 0xf6bf, -0xf8b5, 0xf5d8, 0xf7cb, 0xf5d8, 0xf7cb, 0xf4f5, 0xf6e3, 0xf4f5, 0xf6e3, 0xf465, 0xf64b, -0xf465, 0xf64b, 0xf3a1, 0xf57b, 0xf3a1, 0xf57b, 0xf239, 0xf406, 0xf239, 0xf406, 0xf1d3, -0xf38d, 0xf1d3, 0xf38d, 0xf1d3, 0xf38d, 0xf295, 0xf439, 0xf295, 0xf439, 0xf363, 0xf4ed, -0xf363, 0xf4ed, 0xf366, 0xf4d3, 0xf366, 0xf4d3, 0xf328, 0xf473, 0xf328, 0xf473, 0xf3bc, -0xf4e1, 0xf3bc, 0xf4e1, 0xf3bc, 0xf4e1, 0xf4bb, 0xf5b4, 0xf4bb, 0xf5b4, 0xf5ad, 0xf677, -0xf5ad, 0xf677, 0xf67f, 0xf715, 0xf67f, 0xf715, 0xf71c, 0xf77a, 0xf71c, 0xf77a, 0xf7a6, -0xf7c9, 0xf7a6, 0xf7c9, 0xf87a, 0xf85e, 0xf87a, 0xf85e, 0xf87a, 0xf85e, 0xf985, 0xf928, -0xf985, 0xf928, 0xfa5c, 0xf9bc, 0xfa5c, 0xf9bc, 0xfb55, 0xfa70, 0xfb55, 0xfa70, 0xfce8, -0xfbbe, 0xfce8, 0xfbbe, 0xfee9, 0xfd7a, 0xfee9, 0xfd7a, 0xfee9, 0xfd7a, 0x90, 0xfedc, -0x90, 0xfedc, 0x15a, 0xff63, 0x15a, 0xff63, 0x2b8, 0x80, 0x2b8, 0x80, 0x47f, -0x20a, 0x47f, 0x20a, 0x5e6, 0x337, 0x5e6, 0x337, 0x80f, 0x52a, 0x80f, 0x52a, -0x80f, 0x52a, 0xa35, 0x71f, 0xa35, 0x71f, 0xb8e, 0x84b, 0xb8e, 0x84b, 0xc7a, -0x910, 0xc7a, 0x910, 0xdb4, 0xa2a, 0xdb4, 0xa2a, 0xeec, 0xb47, 0xeec, 0xb47, -0xf53, 0xb98, 0xf53, 0xb98, 0xf53, 0xb98, 0xf7c, 0xbb2, 0xf7c, 0xbb2, 0xfb3, -0xbe1, 0xfb3, 0xbe1, 0xfd5, 0xc00, 0xfd5, 0xc00, 0xf9d, 0xbcc, 0xf9d, 0xbcc, -0xf4e, 0xb88, 0xf4e, 0xb88, 0xf4e, 0xb88, 0xeee, 0xb38, 0xeee, 0xb38, 0xe67, -0xac7, 0xe67, 0xac7, 0xdf3, 0xa6f, 0xdf3, 0xa6f, 0xd99, 0xa37, 0xd99, 0xa37, -0xd4c, 0xa12, 0xd4c, 0xa12, 0xd3f, 0xa32, 0xd3f, 0xa32, 0xd3f, 0xa32, 0xd48, -0xa6c, 0xd48, 0xa6c, 0xd56, 0xab0, 0xd56, 0xab0, 0xd7d, 0xb10, 0xd7d, 0xb10, -0xd1c, 0xaec, 0xd1c, 0xaec, 0xd35, 0xb45, 0xd35, 0xb45, 0xdec, 0xc3d, 0xdec, -0xc3d, 0xdec, 0xc3d, 0xe6a, 0xcfd, 0xe6a, 0xcfd, 0xe9d, 0xd73, 0xe9d, 0xd73, -0xe38, 0xd50, 0xe38, 0xd50, 0xcde, 0xc37, 0xcde, 0xc37, 0xae7, 0xa7f, 0xae7, -0xa7f, 0xae7, 0xa7f, 0x9e9, 0x9bd, 0x9e9, 0x9bd, 0x941, 0x94d, 0x941, 0x94d, -0x8a2, 0x8e1, 0x8a2, 0x8e1, 0x892, 0x8ff, 0x892, 0x8ff, 0x8cc, 0x962, 0x8cc, -0x962, 0x956, 0xa0e, 0x956, 0xa0e, 0x956, 0xa0e, 0x94d, 0xa20, 0x94d, 0xa20, -0x94a, 0xa33, 0x94a, 0xa33, 0x9c7, 0xac0, 0x9c7, 0xac0, 0xa00, 0xb02, 0xa00, -0xb02, 0x9fc, 0xb02, 0x9fc, 0xb02, 0x9b8, 0xabd, 0x9b8, 0xabd, 0x9b8, 0xabd, -0x980, 0xa7f, 0x980, 0xa7f, 0x940, 0xa36, 0x940, 0xa36, 0x8be, 0x9a8, 0x8be, -0x9a8, 0x87a, 0x957, 0x87a, 0x957, 0x882, 0x950, 0x882, 0x950, 0x882, 0x950, -0x8b3, 0x972, 0x8b3, 0x972, 0x8b2, 0x962, 0x8b2, 0x962, 0x8b9, 0x95d, 0x8b9, -0x95d, 0x896, 0x92f, 0x896, 0x92f, 0x76a, 0x7fa, 0x76a, 0x7fa, 0x5ef, 0x679, -0x5ef, 0x679, 0x5ef, 0x679, 0x4c3, 0x54a, 0x4c3, 0x54a, 0x380, 0x408, 0x380, -0x408, 0x1d7, 0x261, 0x1d7, 0x261, 0x3d, 0xcc, 0x3d, 0xcc, 0xfe3f, 0xfed6, -0xfe3f, 0xfed6, 0xfbfa, 0xfc9b, 0xfbfa, 0xfc9b, 0xfbfa, 0xfc9b, 0xfa8b, 0xfb36, 0xfa8b, -0xfb36, 0xf95e, 0xfa13, 0xf95e, 0xfa13, 0xf7c2, 0xf882, 0xf7c2, 0xf882, 0xf669, 0xf734, -0xf669, 0xf734, 0xf62d, 0xf701, 0xf62d, 0xf701, 0xf62d, 0xf701, 0xf5b8, 0xf693, 0xf5b8, -0xf693, 0xf46f, 0xf550, 0xf46f, 0xf550, 0xf2fc, 0xf3e0, 0xf2fc, 0xf3e0, 0xf160, 0xf246, -0xf160, 0xf246, 0xef95, 0xf07b, 0xef95, 0xf07b, 0xed96, 0xee7a, 0xed96, 0xee7a, 0xed96, -0xee7a, 0xebca, 0xecaa, 0xebca, 0xecaa, 0xea39, 0xeb14, 0xea39, 0xeb14, 0xe8f7, 0xe9cd, -0xe8f7, 0xe9cd, 0xe803, 0xe8d4, 0xe803, 0xe8d4, 0xe788, 0xe854, 0xe788, 0xe854, 0xe7af, -0xe877, 0xe7af, 0xe877, 0xe7af, 0xe877, 0xe7ea, 0xe8b0, 0xe7ea, 0xe8b0, 0xe824, 0xe8eb, -0xe824, 0xe8eb, 0xe8af, 0xe979, 0xe8af, 0xe979, 0xe8de, 0xe9af, 0xe8de, 0xe9af, 0xe8c1, -0xe99b, 0xe8c1, 0xe99b, 0xe8c1, 0xe99b, 0xe900, 0xe9e7, 0xe900, 0xe9e7, 0xe925, 0xea1b, -0xe925, 0xea1b, 0xe92f, 0xea37, 0xe92f, 0xea37, 0xe8e0, 0xe9fc, 0xe8e0, 0xe9fc, 0xe8c1, -0xe9f3, 0xe8c1, 0xe9f3, 0xe93e, 0xea86, 0xe93e, 0xea86, 0xe93e, 0xea86, 0xe9e8, 0xeb45, -0xe9e8, 0xeb45, 0xeaeb, 0xec5d, 0xeaeb, 0xec5d, 0xebe6, 0xed6b, 0xebe6, 0xed6b, 0xec93, -0xee28, 0xec93, 0xee28, 0xed7f, 0xef20, 0xed7f, 0xef20, 0xeef8, 0xf0a0, 0xeef8, 0xf0a0, -0xeef8, 0xf0a0, 0xf034, 0xf1de, 0xf034, 0xf1de, 0xf0fe, 0xf2a5, 0xf0fe, 0xf2a5, 0xf198, -0xf335, 0xf198, 0xf335, 0xf259, 0xf3e6, 0xf259, 0xf3e6, 0xf36f, 0xf4e6, 0xf36f, 0xf4e6, -0xf36f, 0xf4e6, 0xf467, 0xf5c2, 0xf467, 0xf5c2, 0xf54c, 0xf684, 0xf54c, 0xf684, 0xf680, -0xf793, 0xf680, 0xf793, 0xf7c1, 0xf8a9, 0xf7c1, 0xf8a9, 0xf92e, 0xf9e8, 0xf92e, 0xf9e8, -0xfbd1, 0xfc5b, 0xfbd1, 0xfc5b, 0xfbd1, 0xfc5b, 0xfef9, 0xff53, 0xfef9, 0xff53, 0x1b2, -0x1db, 0x1b2, 0x1db, 0x403, 0x3fd, 0x403, 0x3fd, 0x65c, 0x628, 0x65c, 0x628, -0x89d, 0x840, 0x89d, 0x840, 0xa95, 0xa13, 0xa95, 0xa13, 0xa95, 0xa13, 0xcad, -0xc0b, 0xcad, 0xc0b, 0xe88, 0xdcc, 0xe88, 0xdcc, 0x1061, 0xf93, 0x1061, 0xf93, -0x1214, 0x113a, 0x1214, 0x113a, 0x136a, 0x128a, 0x136a, 0x128a, 0x136a, 0x128a, 0x1489, -0x13aa, 0x1489, 0x13aa, 0x1568, 0x1492, 0x1568, 0x1492, 0x162d, 0x1566, 0x162d, 0x1566, -0x164b, 0x1599, 0x164b, 0x1599, 0x1534, 0x149c, 0x1534, 0x149c, 0x12f3, 0x127a, 0x12f3, -0x127a, 0x12f3, 0x127a, 0x109d, 0x1047, 0x109d, 0x1047, 0xeb0, 0xe80, 0xeb0, 0xe80, -0xcf3, 0xcec, 0xcf3, 0xcec, 0xb75, 0xb97, 0xb75, 0xb97, 0xaa8, 0xaf5, 0xaa8, -0xaf5, 0xacf, 0xb47, 0xacf, 0xb47, 0xacf, 0xb47, 0xaf5, 0xb97, 0xaf5, 0xb97, -0xae6, 0xbb1, 0xae6, 0xbb1, 0xa9f, 0xb91, 0xa9f, 0xb91, 0x9d5, 0xaec, 0x9d5, -0xaec, 0x8bd, 0x9f7, 0x8bd, 0x9f7, 0x8bd, 0x9f7, 0x7c8, 0x921, 0x7c8, 0x921, -0x766, 0x8db, 0x766, 0x8db, 0x6c1, 0x84f, 0x6c1, 0x84f, 0x5e4, 0x787, 0x5e4, -0x787, 0x55e, 0x714, 0x55e, 0x714, 0x44e, 0x612, 0x44e, 0x612, 0x44e, 0x612, -0x2ad, 0x47d, 0x2ad, 0x47d, 0xb4, 0x28b, 0xb4, 0x28b, 0xfe6c, 0x47, 0xfe6c, -0x47, 0xfc92, 0xfe6f, 0xfc92, 0xfe6f, 0xfbbf, 0xfd99, 0xfbbf, 0xfd99, 0xfbbf, 0xfd99, -0xfb52, 0xfd26, 0xfb52, 0xfd26, 0xfa28, 0xfbf3, 0xfa28, 0xfbf3, 0xf8a4, 0xfa63, 0xf8a4, -0xfa63, 0xf7d2, 0xf981, 0xf7d2, 0xf981, 0xf7e2, 0xf97e, 0xf7e2, 0xf97e, 0xf810, 0xf997, -0xf810, 0xf997, 0xf810, 0xf997, 0xf791, 0xf8fe, 0xf791, 0xf8fe, 0xf6c3, 0xf813, 0xf6c3, -0xf813, 0xf6c2, 0xf7f2, 0xf6c2, 0xf7f2, 0xf768, 0xf876, 0xf768, 0xf876, 0xf7d8, 0xf8c0, -0xf7d8, 0xf8c0, 0xf86b, 0xf92a, 0xf86b, 0xf92a, 0xf86b, 0xf92a, 0xf953, 0xf9e6, 0xf953, -0xf9e6, 0xfa1a, 0xfa7f, 0xfa1a, 0xfa7f, 0xfabb, 0xfaef, 0xfabb, 0xfaef, 0xfb85, 0xfb86, -0xfb85, 0xfb86, 0xfc52, 0xfc1e, 0xfc52, 0xfc1e, 0xfc52, 0xfc1e, 0xfd14, 0xfcaa, 0xfd14, -0xfcaa, 0xfe49, 0xfda7, 0xfe49, 0xfda7, 0xff97, 0xfebc, 0xff97, 0xfebc, 0x87, 0xff72, -0x87, 0xff72, 0x177, 0x28, 0x177, 0x28, 0x25f, 0xd5, 0x25f, 0xd5, 0x25f, -0xd5, 0x2f9, 0x135, 0x2f9, 0x135, 0x381, 0x184, 0x381, 0x184, 0x447, 0x212, -0x447, 0x212, 0x514, 0x2a9, 0x514, 0x2a9, 0x5db, 0x33d, 0x5db, 0x33d, 0x6f6, -0x426, 0x6f6, 0x426, 0x6f6, 0x426, 0x804, 0x507, 0x804, 0x507, 0x8d5, 0x5ae, -0x8d5, 0x5ae, 0x9f0, 0x6a4, 0x9f0, 0x6a4, 0xb3e, 0x7d0, 0xb3e, 0x7d0, 0xc56, -0x8ce, 0xc56, 0x8ce, 0xc56, 0x8ce, 0xd1b, 0x97c, 0xd1b, 0x97c, 0xd25, 0x977, -0xd25, 0x977, 0xcae, 0x8f7, 0xcae, 0x8f7, 0xc15, 0x85a, 0xc15, 0x85a, 0xb3d, -0x786, 0xb3d, 0x786, 0xa90, 0x6e5, 0xa90, 0x6e5, 0xa90, 0x6e5, 0x9dc, 0x643, -0x9dc, 0x643, 0x903, 0x582, 0x903, 0x582, 0x861, 0x4ff, 0x861, 0x4ff, 0x85c, -0x520, 0x85c, 0x520, 0x8db, 0x5c9, 0x8db, 0x5c9, 0x8de, 0x5fc, 0x8de, 0x5fc, -0x8de, 0x5fc, 0x816, 0x568, 0x816, 0x568, 0x6dc, 0x466, 0x6dc, 0x466, 0x622, -0x3e6, 0x622, 0x3e6, 0x626, 0x427, 0x626, 0x427, 0x63f, 0x47d, 0x63f, 0x47d, -0x63f, 0x47d, 0x631, 0x4ad, 0x631, 0x4ad, 0x5d5, 0x48d, 0x5d5, 0x48d, 0x50d, -0x400, 0x50d, 0x400, 0x4b3, 0x3de, 0x4b3, 0x3de, 0x4fc, 0x45b, 0x4fc, 0x45b, -0x4f2, 0x481, 0x4f2, 0x481, 0x4f2, 0x481, 0x4ba, 0x475, 0x4ba, 0x475, 0x4b0, -0x490, 0x4b0, 0x490, 0x520, 0x521, 0x520, 0x521, 0x569, 0x586, 0x569, 0x586, -0x584, 0x5b6, 0x584, 0x5b6, 0x622, 0x664, 0x622, 0x664, 0x622, 0x664, 0x680, -0x6cc, 0x680, 0x6cc, 0x69b, 0x6ee, 0x69b, 0x6ee, 0x6e2, 0x737, 0x6e2, 0x737, -0x77b, 0x7ce, 0x77b, 0x7ce, 0x736, 0x785, 0x736, 0x785, 0x736, 0x785, 0x606, -0x64e, 0x606, 0x64e, 0x5b6, 0x5f7, 0x5b6, 0x5f7, 0x603, 0x63b, 0x603, 0x63b, -0x63d, 0x66e, 0x63d, 0x66e, 0x6ac, 0x6d6, 0x6ac, 0x6d6, 0x79b, 0x7bf, 0x79b, -0x7bf, 0x79b, 0x7bf, 0x855, 0x875, 0x855, 0x875, 0x825, 0x843, 0x825, 0x843, -0x733, 0x752, 0x733, 0x752, 0x5c6, 0x5e9, 0x5c6, 0x5e9, 0x490, 0x4ba, 0x490, -0x4ba, 0x3a5, 0x3d8, 0x3a5, 0x3d8, 0x3a5, 0x3d8, 0x2b6, 0x2f5, 0x2b6, 0x2f5, -0x250, 0x29d, 0x250, 0x29d, 0x23a, 0x297, 0x23a, 0x297, 0x1bc, 0x22b, 0x1bc, -0x22b, 0xc3, 0x145, 0xc3, 0x145, 0xc3, 0x145, 0xff4d, 0xffe2, 0xff4d, 0xffe2, -0xfdca, 0xfe72, 0xfdca, 0xfe72, 0xfc6a, 0xfd25, 0xfc6a, 0xfd25, 0xfb28, 0xfbf7, 0xfb28, -0xfbf7, 0xf975, 0xfa55, 0xf975, 0xfa55, 0xf6fd, 0xf7ee, 0xf6fd, 0xf7ee, 0xf6fd, 0xf7ee, -0xf502, 0xf601, 0xf502, 0xf601, 0xf39e, 0xf4ab, 0xf39e, 0xf4ab, 0xf21b, 0xf334, 0xf21b, -0xf334, 0xf084, 0xf1a7, 0xf084, 0xf1a7, 0xef46, 0xf072, 0xef46, 0xf072, 0xee02, 0xef35, -0xee02, 0xef35, 0xee02, 0xef35, 0xec62, 0xed9c, 0xec62, 0xed9c, 0xeb59, 0xec98, 0xeb59, -0xec98, 0xeb26, 0xec6b, 0xeb26, 0xec6b, 0xeb85, 0xecce, 0xeb85, 0xecce, 0xebfe, 0xed4b, -0xebfe, 0xed4b, 0xebfe, 0xed4b, 0xec56, 0xeda8, 0xec56, 0xeda8, 0xecb5, 0xee0c, 0xecb5, -0xee0c, 0xed31, 0xee8d, 0xed31, 0xee8d, 0xedb7, 0xef1a, 0xedb7, 0xef1a, 0xedfb, 0xef64, -0xedfb, 0xef64, 0xee37, 0xefa6, 0xee37, 0xefa6, 0xee37, 0xefa6, 0xee11, 0xef88, 0xee11, -0xef88, 0xed7a, 0xeef7, 0xed7a, 0xeef7, 0xed41, 0xeec5, 0xed41, 0xeec5, 0xed5e, 0xeee8, -0xed5e, 0xeee8, 0xed43, 0xeed2, 0xed43, 0xeed2, 0xed2b, 0xeebe, 0xed2b, 0xeebe, 0xed2b, -0xeebe, 0xed9a, 0xef2f, 0xed9a, 0xef2f, 0xee79, 0xf00e, 0xee79, 0xf00e, 0xefcb, 0xf15c, -0xefcb, 0xf15c, 0xf0e1, 0xf26c, 0xf0e1, 0xf26c, 0xf127, 0xf2aa, 0xf127, 0xf2aa, 0xf127, -0xf2aa, 0xf13b, 0xf2b1, 0xf13b, 0xf2b1, 0xf21f, 0xf385, 0xf21f, 0xf385, 0xf38e, 0xf4e1, -0xf38e, 0xf4e1, 0xf4b0, 0xf5eb, 0xf4b0, 0xf5eb, 0xf58b, 0xf6aa, 0xf58b, 0xf6aa, 0xf65a, -0xf75b, 0xf65a, 0xf75b, 0xf65a, 0xf75b, 0xf779, 0xf859, 0xf779, 0xf859, 0xf889, 0xf946, -0xf889, 0xf946, 0xfa09, 0xfa9f, 0xfa09, 0xfa9f, 0xfc01, 0xfc6f, 0xfc01, 0xfc6f, 0xfdc5, -0xfe0b, 0xfdc5, 0xfe0b, 0xffca, 0xffe7, 0xffca, 0xffe7, 0xffca, 0xffe7, 0x251, 0x247, -0x251, 0x247, 0x4f6, 0x4c4, 0x4f6, 0x4c4, 0x6ce, 0x678, 0x6ce, 0x678, 0x85a, -0x7e2, 0x85a, 0x7e2, 0x9db, 0x944, 0x9db, 0x944, 0x9db, 0x944, 0xb01, 0xa50, -0xb01, 0xa50, 0xc19, 0xb51, 0xc19, 0xb51, 0xd19, 0xc40, 0xd19, 0xc40, 0xe1c, -0xd38, 0xe1c, 0xd38, 0xf04, 0xe1a, 0xf04, 0xe1a, 0xfaa, 0xec0, 0xfaa, 0xec0, -0xfaa, 0xec0, 0x1023, 0xf41, 0x1023, 0xf41, 0x101c, 0xf46, 0x101c, 0xf46, 0xf41, -0xe7d, 0xf41, 0xe7d, 0xded, 0xd41, 0xded, 0xd41, 0xc2c, 0xb9d, 0xc2c, 0xb9d, -0xc2c, 0xb9d, 0xa55, 0x9e8, 0xa55, 0x9e8, 0x8aa, 0x863, 0x8aa, 0x863, 0x775, -0x758, 0x775, 0x758, 0x6c6, 0x6d5, 0x6c6, 0x6d5, 0x62c, 0x66a, 0x62c, 0x66a, -0x5e0, 0x64e, 0x5e0, 0x64e, 0x5e0, 0x64e, 0x554, 0x5f4, 0x554, 0x5f4, 0x49b, -0x56b, 0x49b, 0x56b, 0x3ca, 0x4ca, 0x3ca, 0x4ca, 0x2aa, 0x3d8, 0x2aa, 0x3d8, -0x1af, 0x309, 0x1af, 0x309, 0x8b, 0x20d, 0x8b, 0x20d, 0x8b, 0x20d, 0xff15, -0xbc, 0xff15, 0xbc, 0xfe02, 0xffca, 0xfe02, 0xffca, 0xfd40, 0xff24, 0xfd40, 0xff24, -0xfbfd, 0xfdf8, 0xfbfd, 0xfdf8, 0xfa5e, 0xfc6b, 0xfa5e, 0xfc6b, 0xfa5e, 0xfc6b, 0xf917, -0xfb31, 0xf917, 0xfb31, 0xf852, 0xfa73, 0xf852, 0xfa73, 0xf745, 0xf968, 0xf745, 0xf968, -0xf617, 0xf837, 0xf617, 0xf837, 0xf4aa, 0xf6c1, 0xf4aa, 0xf6c1, 0xf304, 0xf50d, 0xf304, -0xf50d, 0xf304, 0xf50d, 0xf26d, 0xf464, 0xf26d, 0xf464, 0xf2fe, 0xf4df, 0xf2fe, 0xf4df, -0xf37c, 0xf542, 0xf37c, 0xf542, 0xf2d6, 0xf47f, 0xf2d6, 0xf47f, 0xf285, 0xf40d, 0xf285, -0xf40d, 0xf311, 0xf476, 0xf311, 0xf476, 0xf311, 0xf476, 0xf3b2, 0xf4f1, 0xf3b2, 0xf4f1, -0xf467, 0xf57f, 0xf467, 0xf57f, 0xf513, 0xf601, 0xf513, 0xf601, 0xf5c1, 0xf685, 0xf5c1, -0xf685, 0xf66a, 0xf701, 0xf66a, 0xf701, 0xf66a, 0xf701, 0xf760, 0xf7cb, 0xf760, 0xf7cb, -0xf89e, 0xf8db, 0xf89e, 0xf8db, 0xfa07, 0xfa14, 0xfa07, 0xfa14, 0xfb4c, 0xfb2a, 0xfb4c, -0xfb2a, 0xfc82, 0xfc2f, 0xfc82, 0xfc2f, 0xfe42, 0xfdbe, 0xfe42, 0xfdbe, 0xfe42, 0xfdbe, -0x5e, 0xffa9, 0x5e, 0xffa9, 0x1df, 0xf8, 0x1df, 0xf8, 0x2e1, 0x1c7, 0x2e1, -0x1c7, 0x46c, 0x31f, 0x46c, 0x31f, 0x5d3, 0x453, 0x5d3, 0x453, 0x6dc, 0x52a, -0x6dc, 0x52a, 0x6dc, 0x52a, 0x844, 0x65f, 0x844, 0x65f, 0xa0d, 0x7f7, 0xa0d, -0x7f7, 0xbf9, 0x9b3, 0xbf9, 0x9b3, 0xe16, 0xba2, 0xe16, 0xba2, 0xfc0, 0xd20, -0xfc0, 0xd20, 0xfc0, 0xd20, 0x1060, 0xd97, 0x1060, 0xd97, 0x10d3, 0xde5, 0x10d3, -0xde5, 0x11a5, 0xe95, 0x11a5, 0xe95, 0x1258, 0xf2c, 0x1258, 0xf2c, 0x1276, 0xf32, -0x1276, 0xf32, 0x1287, 0xf33, 0x1287, 0xf33, 0x1287, 0xf33, 0x12b2, 0xf53, 0x12b2, -0xf53, 0x12be, 0xf5a, 0x12be, 0xf5a, 0x1294, 0xf33, 0x1294, 0xf33, 0x1263, 0xf0b, -0x1263, 0xf0b, 0x1221, 0xed9, 0x1221, 0xed9, 0x118b, 0xe5a, 0x118b, 0xe5a, 0x118b, -0xe5a, 0x1168, 0xe54, 0x1168, 0xe54, 0x11a1, 0xeb0, 0x11a1, 0xeb0, 0x11c5, 0xefd, -0x11c5, 0xefd, 0x11af, 0xf14, 0x11af, 0xf14, 0x11bc, 0xf53, 0x11bc, 0xf53, 0x11bc, -0xf53, 0x1222, 0xfee, 0x1222, 0xfee, 0x1249, 0x104c, 0x1249, 0x104c, 0x121c, 0x1057, -0x121c, 0x1057, 0x119b, 0x100f, 0x119b, 0x100f, 0x1138, 0xfe3, 0x1138, 0xfe3, 0x1081, -0xf63, 0x1081, 0xf63, 0x1081, 0xf63, 0xf62, 0xe78, 0xf62, 0xe78, 0xeaa, 0xdf1, -0xeaa, 0xdf1, 0xded, 0xd60, 0xded, 0xd60, 0xd07, 0xca2, 0xd07, 0xca2, 0xc5a, -0xc1a, 0xc5a, 0xc1a, 0xc18, 0xbf6, 0xc18, 0xbf6, 0xc18, 0xbf6, 0xbc0, 0xbb8, -0xbc0, 0xbb8, 0xb3c, 0xb48, 0xb3c, 0xb48, 0xb0d, 0xb28, 0xb0d, 0xb28, 0xb07, -0xb2d, 0xb07, 0xb2d, 0xb0c, 0xb37, 0xb0c, 0xb37, 0xb0c, 0xb37, 0xb2a, 0xb57, -0xb2a, 0xb57, 0xb2c, 0xb59, 0xb2c, 0xb59, 0xaac, 0xad5, 0xaac, 0xad5, 0x9b6, -0x9d9, 0x9b6, 0x9d9, 0x8ab, 0x8c7, 0x8ab, 0x8c7, 0x7ed, 0x801, 0x7ed, 0x801, -0x7ed, 0x801, 0x760, 0x76d, 0x760, 0x76d, 0x72d, 0x732, 0x72d, 0x732, 0x7a7, -0x7a5, 0x7a7, 0x7a5, 0x7f1, 0x7ea, 0x7f1, 0x7ea, 0x7b3, 0x7aa, 0x7b3, 0x7aa, -0x6d8, 0x6cd, 0x6d8, 0x6cd, 0x6d8, 0x6cd, 0x55b, 0x552, 0x55b, 0x552, 0x33a, -0x335, 0x33a, 0x335, 0xca, 0xcc, 0xca, 0xcc, 0xff26, 0xff31, 0xff26, 0xff31, -0xfe1b, 0xfe32, 0xfe1b, 0xfe32, 0xfe1b, 0xfe32, 0xfcdf, 0xfd04, 0xfcdf, 0xfd04, 0xfb12, -0xfb47, 0xfb12, 0xfb47, 0xf938, 0xf97e, 0xf938, 0xf97e, 0xf7a1, 0xf7fa, 0xf7a1, 0xf7fa, -0xf661, 0xf6ce, 0xf661, 0xf6ce, 0xf5cd, 0xf64f, 0xf5cd, 0xf64f, 0xf5cd, 0xf64f, 0xf532, -0xf5c9, 0xf532, 0xf5c9, 0xf43c, 0xf4e8, 0xf43c, 0xf4e8, 0xf2e0, 0xf3a1, 0xf2e0, 0xf3a1, -0xf13d, 0xf212, 0xf13d, 0xf212, 0xef7e, 0xf067, 0xef7e, 0xf067, 0xed47, 0xee43, 0xed47, -0xee43, 0xed47, 0xee43, 0xeb28, 0xec36, 0xeb28, 0xec36, 0xe995, 0xeab4, 0xe995, 0xeab4, -0xe836, 0xe964, 0xe836, 0xe964, 0xe6a4, 0xe7e0, 0xe6a4, 0xe7e0, 0xe539, 0xe682, 0xe539, -0xe682, 0xe539, 0xe682, 0xe4f1, 0xe645, 0xe4f1, 0xe645, 0xe50a, 0xe669, 0xe50a, 0xe669, -0xe4f2, 0xe65a, 0xe4f2, 0xe65a, 0xe53f, 0xe6ae, 0xe53f, 0xe6ae, 0xe58b, 0xe701, 0xe58b, -0xe701, 0xe557, 0xe6d3, 0xe557, 0xe6d3, 0xe557, 0xe6d3, 0xe52d, 0xe6ad, 0xe52d, 0xe6ad, -0xe5da, 0xe75f, 0xe5da, 0xe75f, 0xe69e, 0xe826, 0xe69e, 0xe826, 0xe726, 0xe8b1, 0xe726, -0xe8b1, 0xe7bc, 0xe949, 0xe7bc, 0xe949, 0xe810, 0xe99e, 0xe810, 0xe99e, 0xe810, 0xe99e, -0xe851, 0xe9df, 0xe851, 0xe9df, 0xe8ae, 0xea3d, 0xe8ae, 0xea3d, 0xe942, 0xead0, 0xe942, -0xead0, 0xe9e6, 0xeb72, 0xe9e6, 0xeb72, 0xeac8, 0xec51, 0xeac8, 0xec51, 0xeac8, 0xec51, -0xebd8, 0xed5d, 0xebd8, 0xed5d, 0xecc6, 0xee46, 0xecc6, 0xee46, 0xed75, 0xeeed, 0xed75, -0xeeed, 0xedf6, 0xef65, 0xedf6, 0xef65, 0xeedb, 0xf03e, 0xeedb, 0xf03e, 0xf026, 0xf17d, -0xf026, 0xf17d, 0xf026, 0xf17d, 0xf186, 0xf2cd, 0xf186, 0xf2cd, 0xf2a4, 0xf3d8, 0xf2a4, -0xf3d8, 0xf3ad, 0xf4cc, 0xf3ad, 0xf4cc, 0xf4d7, 0xf5dd, 0xf4d7, 0xf5dd, 0xf616, 0xf701, -0xf616, 0xf701, 0xf616, 0xf701, 0xf789, 0xf857, 0xf789, 0xf857, 0xf935, 0xf9e2, 0xf935, -0xf9e2, 0xfafc, 0xfb85, 0xfafc, 0xfb85, 0xfced, 0xfd50, 0xfced, 0xfd50, 0xff99, 0xffd5, -0xff99, 0xffd5, 0x29f, 0x2b2, 0x29f, 0x2b2, 0x29f, 0x2b2, 0x4fd, 0x4e6, 0x4fd, -0x4e6, 0x6c8, 0x687, 0x6c8, 0x687, 0x89c, 0x831, 0x89c, 0x831, 0xa5b, 0x9c7, -0xa5b, 0x9c7, 0xbe2, 0xb26, 0xbe2, 0xb26, 0xd77, 0xc96, 0xd77, 0xc96, 0xd77, -0xc96, 0xf51, 0xe4e, 0xf51, 0xe4e, 0x1185, 0x1065, 0x1185, 0x1065, 0x13a4, 0x126b, -0x13a4, 0x126b, 0x14d1, 0x1384, 0x14d1, 0x1384, 0x1477, 0x131c, 0x1477, 0x131c, 0x1477, -0x131c, 0x1331, 0x11cf, 0x1331, 0x11cf, 0x11a4, 0x1040, 0x11a4, 0x1040, 0xfed, 0xe90, -0xfed, 0xe90, 0xe11, 0xcc0, 0xe11, 0xcc0, 0xc12, 0xad6, 0xc12, 0xad6, 0xa9a, -0x978, 0xa9a, 0x978, 0xa9a, 0x978, 0x9f1, 0x8ef, 0x9f1, 0x8ef, 0x9b2, 0x8d5, -0x9b2, 0x8d5, 0x999, 0x8e7, 0x999, 0x8e7, 0x92c, 0x8aa, 0x92c, 0x8aa, 0x865, -0x815, 0x865, 0x815, 0x77c, 0x761, 0x77c, 0x761, 0x77c, 0x761, 0x6d7, 0x6f2, -0x6d7, 0x6f2, 0x67a, 0x6cb, 0x67a, 0x6cb, 0x561, 0x5e8, 0x561, 0x5e8, 0x445, -0x500, 0x445, 0x500, 0x3c7, 0x4b5, 0x3c7, 0x4b5, 0x3c7, 0x4b5, 0x32c, 0x448, -0x32c, 0x448, 0x1bd, 0x303, 0x1bd, 0x303, 0xffd7, 0x144, 0xffd7, 0x144, 0xfed8, -0x66, 0xfed8, 0x66, 0xfde2, 0xff8b, 0xfde2, 0xff8b, 0xfc9b, 0xfe59, 0xfc9b, 0xfe59, -0xfc9b, 0xfe59, 0xfb1f, 0xfced, 0xfb1f, 0xfced, 0xf93a, 0xfb12, 0xf93a, 0xfb12, 0xf7c6, -0xf9a3, 0xf7c6, 0xf9a3, 0xf6c3, 0xf8a0, 0xf6c3, 0xf8a0, 0xf67b, 0xf852, 0xf67b, 0xf852, -0xf65d, 0xf82a, 0xf65d, 0xf82a, 0xf65d, 0xf82a, 0xf5e8, 0xf7a6, 0xf5e8, 0xf7a6, 0xf5cb, -0xf778, 0xf5cb, 0xf778, 0xf5d3, 0xf76a, 0xf5d3, 0xf76a, 0xf5fb, 0xf77a, 0xf5fb, 0xf77a, -0xf63e, 0xf7a4, 0xf63e, 0xf7a4, 0xf63e, 0xf7a4, 0xf6e5, 0xf82f, 0xf6e5, 0xf82f, 0xf7f5, -0xf922, 0xf7f5, 0xf922, 0xf85c, 0xf969, 0xf85c, 0xf969, 0xf874, 0xf961, 0xf874, 0xf961, -0xf91a, 0xf9e7, 0xf91a, 0xf9e7, 0xfa34, 0xfade, 0xfa34, 0xfade, 0xfa34, 0xfade, 0xfb55, -0xfbdd, 0xfb55, 0xfbdd, 0xfc7c, 0xfce0, 0xfc7c, 0xfce0, 0xfdc8, 0xfe06, 0xfdc8, 0xfe06, -0xfedc, 0xfef4, 0xfedc, 0xfef4, 0x3, 0xfff4, 0x3, 0xfff4, 0x15c, 0x124, 0x15c, -0x124, 0x15c, 0x124, 0x293, 0x233, 0x293, 0x233, 0x359, 0x2cd, 0x359, 0x2cd, -0x3c4, 0x30c, 0x3c4, 0x30c, 0x445, 0x361, 0x445, 0x361, 0x4ce, 0x3bc, 0x4ce, -0x3bc, 0x4ce, 0x3bc, 0x58d, 0x44e, 0x58d, 0x44e, 0x6dd, 0x571, 0x6dd, 0x571, -0x8d4, 0x73c, 0x8d4, 0x73c, 0xab1, 0x8ed, 0xab1, 0x8ed, 0xbd9, 0x9ec, 0xbd9, -0x9ec, 0xcc8, 0xab4, 0xcc8, 0xab4, 0xcc8, 0xab4, 0xdd0, 0xb98, 0xdd0, 0xb98, -0xe94, 0xc3d, 0xe94, 0xc3d, 0xefa, 0xc87, 0xefa, 0xc87, 0xf2f, 0xca5, 0xf2f, -0xca5, 0xf08, 0xc6c, 0xf08, 0xc6c, 0xe88, 0xbe0, 0xe88, 0xbe0, 0xe88, 0xbe0, -0xe09, 0xb5b, 0xe09, 0xb5b, 0xdd4, 0xb26, 0xdd4, 0xb26, 0xd8e, 0xae7, 0xd8e, -0xae7, 0xd55, 0xab9, 0xd55, 0xab9, 0xd75, 0xaeb, 0xd75, 0xaeb, 0xd75, 0xaeb, -0xd5d, 0xaea, 0xd5d, 0xaea, 0xccb, 0xa73, 0xccb, 0xa73, 0xc24, 0x9ec, 0xc24, -0x9ec, 0xbd6, 0x9c2, 0xbd6, 0x9c2, 0xb93, 0x9a5, 0xb93, 0x9a5, 0xb30, 0x96a, -0xb30, 0x96a, 0xb30, 0x96a, 0xb1b, 0x97e, 0xb1b, 0x97e, 0xb6b, 0x9f8, 0xb6b, -0x9f8, 0xb8a, 0xa40, 0xb8a, 0xa40, 0xb35, 0xa13, 0xb35, 0xa13, 0xab9, 0x9bd, -0xab9, 0x9bd, 0xa22, 0x949, 0xa22, 0x949, 0xa22, 0x949, 0x96a, 0x8b1, 0x96a, -0x8b1, 0x8aa, 0x80d, 0x8aa, 0x80d, 0x859, 0x7d5, 0x859, 0x7d5, 0x838, 0x7c9, -0x838, 0x7c9, 0x7e1, 0x783, 0x7e1, 0x783, 0x7e1, 0x783, 0x7d0, 0x77f, 0x7d0, -0x77f, 0x7fd, 0x7b5, 0x7fd, 0x7b5, 0x81a, 0x7d7, 0x81a, 0x7d7, 0x83b, 0x7fb, -0x83b, 0x7fb, 0x89a, 0x859, 0x89a, 0x859, 0x911, 0x8ce, 0x911, 0x8ce, 0x911, -0x8ce, 0x93d, 0x8f6, 0x93d, 0x8f6, 0x91c, 0x8d0, 0x91c, 0x8d0, 0x8a6, 0x856, -0x8a6, 0x856, 0x828, 0x7d2, 0x828, 0x7d2, 0x877, 0x81e, 0x877, 0x81e, 0x948, -0x8ec, 0x948, 0x8ec, 0x948, 0x8ec, 0x991, 0x935, 0x991, 0x935, 0x969, 0x90f, -0x969, 0x90f, 0x996, 0x940, 0x996, 0x940, 0x9cc, 0x97e, 0x9cc, 0x97e, 0x8f1, -0x8ad, 0x8f1, 0x8ad, 0x8f1, 0x8ad, 0x705, 0x6ce, 0x705, 0x6ce, 0x522, 0x4fc, -0x522, 0x4fc, 0x423, 0x410, 0x423, 0x410, 0x3ae, 0x3b0, 0x3ae, 0x3b0, 0x2c2, -0x2dc, 0x2c2, 0x2dc, 0x177, 0x1ab, 0x177, 0x1ab, 0x177, 0x1ab, 0x75, 0xc4, -0x75, 0xc4, 0xffc2, 0x2d, 0xffc2, 0x2d, 0xff29, 0xffb0, 0xff29, 0xffb0, 0xfe30, -0xfed3, 0xfe30, 0xfed3, 0xfc7e, 0xfd3c, 0xfc7e, 0xfd3c, 0xfa51, 0xfb29, 0xfa51, 0xfb29, -0xfa51, 0xfb29, 0xf82c, 0xf91d, 0xf82c, 0xf91d, 0xf62d, 0xf735, 0xf62d, 0xf735, 0xf441, -0xf55c, 0xf441, 0xf55c, 0xf2e7, 0xf414, 0xf2e7, 0xf414, 0xf217, 0xf352, 0xf217, 0xf352, -0xf217, 0xf352, 0xf0fc, 0xf243, 0xf0fc, 0xf243, 0xef50, 0xf0a0, 0xef50, 0xf0a0, 0xedc0, -0xef15, 0xedc0, 0xef15, 0xec6e, 0xedc7, 0xec6e, 0xedc7, 0xeb43, 0xec9c, 0xeb43, 0xec9c, -0xeae4, 0xec3b, 0xeae4, 0xec3b, 0xeae4, 0xec3b, 0xeb2f, 0xec83, 0xeb2f, 0xec83, 0xeb97, -0xece6, 0xeb97, 0xece6, 0xebce, 0xed16, 0xebce, 0xed16, 0xec07, 0xed49, 0xec07, 0xed49, -0xec86, 0xedc2, 0xec86, 0xedc2, 0xec86, 0xedc2, 0xecdf, 0xee13, 0xecdf, 0xee13, 0xed45, -0xee74, 0xed45, 0xee74, 0xedc1, 0xeeeb, 0xedc1, 0xeeeb, 0xee37, 0xef5c, 0xee37, 0xef5c, -0xee91, 0xefb3, 0xee91, 0xefb3, 0xee52, 0xef73, 0xee52, 0xef73, 0xee52, 0xef73, 0xee18, -0xef38, 0xee18, 0xef38, 0xede6, 0xef07, 0xede6, 0xef07, 0xeddf, 0xef02, 0xeddf, 0xef02, -0xeec9, 0xefee, 0xeec9, 0xefee, 0xefff, 0xf127, 0xefff, 0xf127, 0xf0f3, 0xf21e, 0xf0f3, -0xf21e, 0xf0f3, 0xf21e, 0xf177, 0xf2a3, 0xf177, 0xf2a3, 0xf23f, 0xf36b, 0xf23f, 0xf36b, -0xf35e, 0xf489, 0xf35e, 0xf489, 0xf3f4, 0xf51c, 0xf3f4, 0xf51c, 0xf458, 0xf579, 0xf458, -0xf579, 0xf458, 0xf579, 0xf4e8, 0xf600, 0xf4e8, 0xf600, 0xf5cb, 0xf6d7, 0xf5cb, 0xf6d7, -0xf6dc, 0xf7d8, 0xf6dc, 0xf7d8, 0xf7fb, 0xf8e2, 0xf7fb, 0xf8e2, 0xf92d, 0xf9fd, 0xf92d, -0xf9fd, 0xfa30, 0xfae4, 0xfa30, 0xfae4, 0xfa30, 0xfae4, 0xfb62, 0xfbf7, 0xfb62, 0xfbf7, -0xfd51, 0xfdc4, 0xfd51, 0xfdc4, 0xffb4, 0x2, 0xffb4, 0x2, 0x1f5, 0x21d, 0x1f5, -0x21d, 0x3f2, 0x3f2, 0x3f2, 0x3f2, 0x5dd, 0x5b4, 0x5dd, 0x5b4, 0x5dd, 0x5b4, -0x7b2, 0x760, 0x7b2, 0x760, 0x914, 0x89b, 0x914, 0x89b, 0xa48, 0x9a9, 0xa48, -0x9a9, 0xb89, 0xac7, 0xb89, 0xac7, 0xca2, 0xbc0, 0xca2, 0xbc0, 0xca2, 0xbc0, -0xda7, 0xcaa, 0xda7, 0xcaa, 0xee9, 0xdd4, 0xee9, 0xdd4, 0xfdb, 0xeb5, 0xfdb, -0xeb5, 0xfbd, 0xe8a, 0xfbd, 0xe8a, 0xf35, 0xdfb, 0xf35, 0xdfb, 0xe9e, 0xd64, -0xe9e, 0xd64, 0xe9e, 0xd64, 0xd87, 0xc52, 0xd87, 0xc52, 0xbb3, 0xa89, 0xbb3, -0xa89, 0x987, 0x86e, 0x987, 0x86e, 0x773, 0x670, 0x773, 0x670, 0x58d, 0x4a4, -0x58d, 0x4a4, 0x430, 0x365, 0x430, 0x365, 0x430, 0x365, 0x342, 0x29a, 0x342, -0x29a, 0x28e, 0x20b, 0x28e, 0x20b, 0x242, 0x1e6, 0x242, 0x1e6, 0x211, 0x1de, -0x211, 0x1de, 0x134, 0x12b, 0x134, 0x12b, 0x134, 0x12b, 0xff8e, 0xffaf, 0xff8e, -0xffaf, 0xfde1, 0xfe2b, 0xfde1, 0xfe2b, 0xfca4, 0xfd17, 0xfca4, 0xfd17, 0xfb9a, 0xfc36, -0xfb9a, 0xfc36, 0xfa36, 0xfaf7, 0xfa36, 0xfaf7, 0xf8b7, 0xf99d, 0xf8b7, 0xf99d, 0xf8b7, -0xf99d, 0xf7e9, 0xf8f1, 0xf7e9, 0xf8f1, 0xf739, 0xf860, 0xf739, 0xf860, 0xf5d4, 0xf717, -0xf5d4, 0xf717, 0xf3ea, 0xf546, 0xf3ea, 0xf546, 0xf206, 0xf379, 0xf206, 0xf379, 0xf0a6, -0xf22d, 0xf0a6, 0xf22d, 0xf0a6, 0xf22d, 0xefc8, 0xf15f, 0xefc8, 0xf15f, 0xef6d, 0xf111, -0xef6d, 0xf111, 0xef33, 0xf0e1, 0xef33, 0xf0e1, 0xeece, 0xf081, 0xeece, 0xf081, 0xee98, -0xf04d, 0xee98, 0xf04d, 0xee98, 0xf04d, 0xeea8, 0xf05c, 0xeea8, 0xf05c, 0xeee3, 0xf092, -0xeee3, 0xf092, 0xef3c, 0xf0e3, 0xef3c, 0xf0e3, 0xefe2, 0xf17c, 0xefe2, 0xf17c, 0xf05f, -0xf1e9, 0xf05f, 0xf1e9, 0xf08a, 0xf1ff, 0xf08a, 0xf1ff, 0xf08a, 0xf1ff, 0xf13f, 0xf29c, -0xf13f, 0xf29c, 0xf2a5, 0xf3e7, 0xf2a5, 0xf3e7, 0xf45a, 0xf57d, 0xf45a, 0xf57d, 0xf62b, -0xf72a, 0xf62b, 0xf72a, 0xf80e, 0xf8e7, 0xf80e, 0xf8e7, 0xf9ff, 0xfaaf, 0xf9ff, 0xfaaf, -0xf9ff, 0xfaaf, 0xfbbc, 0xfc40, 0xfbbc, 0xfc40, 0xfd2d, 0xfd83, 0xfd2d, 0xfd83, 0xfe8e, -0xfeb5, 0xfe8e, 0xfeb5, 0xffe5, 0xffdc, 0xffe5, 0xffdc, 0xf8, 0xbc, 0xf8, 0xbc, -0xf8, 0xbc, 0x1d4, 0x167, 0x1d4, 0x167, 0x2ef, 0x250, 0x2ef, 0x250, 0x42b, -0x35c, 0x42b, 0x35c, 0x5af, 0x4b1, 0x5af, 0x4b1, 0x7f5, 0x6ca, 0x7f5, 0x6ca, -0xa8e, 0x938, 0xa8e, 0x938, 0xa8e, 0x938, 0xd07, 0xb89, 0xd07, 0xb89, 0xefe, -0xd5b, 0xefe, 0xd5b, 0x106e, 0xea9, 0x106e, 0xea9, 0x1162, 0xf7f, 0x1162, 0xf7f, -0x11c2, 0xfc5, 0x11c2, 0xfc5, 0x1218, 0x1004, 0x1218, 0x1004, 0x1218, 0x1004, 0x12aa, -0x1083, 0x12aa, 0x1083, 0x1365, 0x112e, 0x1365, 0x112e, 0x13fa, 0x11b8, 0x13fa, 0x11b8, -0x1451, 0x1207, 0x1451, 0x1207, 0x14bc, 0x126d, 0x14bc, 0x126d, 0x14bc, 0x126d, 0x1511, -0x12c2, 0x1511, 0x12c2, 0x1531, 0x12e3, 0x1531, 0x12e3, 0x1515, 0x12cd, 0x1515, 0x12cd, -0x14b0, 0x126f, 0x14b0, 0x126f, 0x144a, 0x1214, 0x144a, 0x1214, 0x1436, 0x120d, 0x1436, -0x120d, 0x1436, 0x120d, 0x1494, 0x127b, 0x1494, 0x127b, 0x14c3, 0x12bb, 0x14c3, 0x12bb, -0x1483, 0x128e, 0x1483, 0x128e, 0x146a, 0x128b, 0x146a, 0x128b, 0x147d, 0x12b5, 0x147d, -0x12b5, 0x1467, 0x12b7, 0x1467, 0x12b7, 0x1467, 0x12b7, 0x1414, 0x127e, 0x1414, 0x127e, -0x13ce, 0x1254, 0x13ce, 0x1254, 0x133c, 0x11dd, 0x133c, 0x11dd, 0x124e, 0x110c, 0x124e, -0x110c, 0x11b0, 0x108a, 0x11b0, 0x108a, 0x11b0, 0x108a, 0x1123, 0x1019, 0x1123, 0x1019, -0x1056, 0xf68, 0x1056, 0xf68, 0xf71, 0xe9d, 0xf71, 0xe9d, 0xec1, 0xe06, 0xec1, -0xe06, 0xe40, 0xd9d, 0xe40, 0xd9d, 0xdb4, 0xd27, 0xdb4, 0xd27, 0xdb4, 0xd27, -0xd2e, 0xcb4, 0xd2e, 0xcb4, 0xcb9, 0xc50, 0xcb9, 0xc50, 0xc7d, 0xc22, 0xc7d, -0xc22, 0xc5c, 0xc0d, 0xc5c, 0xc0d, 0xbe5, 0xb9f, 0xbe5, 0xb9f, 0xb60, 0xb21, -0xb60, 0xb21, 0xb60, 0xb21, 0xb0f, 0xad4, 0xb0f, 0xad4, 0xa71, 0xa3a, 0xa71, -0xa3a, 0x987, 0x951, 0x987, 0x951, 0x898, 0x864, 0x898, 0x864, 0x7ea, 0x7b6, -0x7ea, 0x7b6, 0x7ea, 0x7b6, 0x7e1, 0x7ae, 0x7e1, 0x7ae, 0x814, 0x7e3, 0x814, -0x7e3, 0x753, 0x726, 0x753, 0x726, 0x54c, 0x525, 0x54c, 0x525, 0x348, 0x32a, -0x348, 0x32a, 0x1e6, 0x1d3, 0x1e6, 0x1d3, 0x1e6, 0x1d3, 0x90, 0x8b, 0x90, -0x8b, 0xfed9, 0xfee6, 0xfed9, 0xfee6, 0xfd10, 0xfd31, 0xfd10, 0xfd31, 0xfbd3, 0xfc0d, -0xfbd3, 0xfc0d, 0xface, 0xfb23, 0xface, 0xfb23, 0xface, 0xfb23, 0xf9c8, 0xfa3a, 0xf9c8, -0xfa3a, 0xf894, 0xf924, 0xf894, 0xf924, 0xf6eb, 0xf79b, 0xf6eb, 0xf79b, 0xf567, 0xf637, -0xf567, 0xf637, 0xf3d9, 0xf4c8, 0xf3d9, 0xf4c8, 0xf1f8, 0xf305, 0xf1f8, 0xf305, 0xf1f8, -0xf305, 0xf036, 0xf15f, 0xf036, 0xf15f, 0xeecb, 0xf00d, 0xeecb, 0xf00d, 0xeda2, 0xeef8, -0xeda2, 0xeef8, 0xec54, 0xedbb, 0xec54, 0xedbb, 0xeae9, 0xec5c, 0xeae9, 0xec5c, 0xe966, -0xeae0, 0xe966, 0xeae0, 0xe966, 0xeae0, 0xe822, 0xe99f, 0xe822, 0xe99f, 0xe77e, 0xe8f8, -0xe77e, 0xe8f8, 0xe708, 0xe87b, 0xe708, 0xe87b, 0xe6d8, 0xe841, 0xe6d8, 0xe841, 0xe6c7, -0xe821, 0xe6c7, 0xe821, 0xe6c7, 0xe821, 0xe697, 0xe7e0, 0xe697, 0xe7e0, 0xe685, 0xe7bd, -0xe685, 0xe7bd, 0xe6b1, 0xe7d6, 0xe6b1, 0xe7d6, 0xe74d, 0xe85f, 0xe74d, 0xe85f, 0xe846, -0xe947, 0xe846, 0xe947, 0xe945, 0xea37, 0xe945, 0xea37, 0xe945, 0xea37, 0xe9fd, 0xeae3, -0xe9fd, 0xeae3, 0xea8d, 0xeb6a, 0xea8d, 0xeb6a, 0xeb1b, 0xebf4, 0xeb1b, 0xebf4, 0xeb9f, -0xec78, 0xeb9f, 0xec78, 0xebd3, 0xecb0, 0xebd3, 0xecb0, 0xebb8, 0xec9d, 0xebb8, 0xec9d, -0xebb8, 0xec9d, 0xebec, 0xecdd, 0xebec, 0xecdd, 0xec73, 0xed74, 0xec73, 0xed74, 0xed45, -0xee58, 0xed45, 0xee58, 0xee73, 0xef98, 0xee73, 0xef98, 0xf011, 0xf149, 0xf011, 0xf149, -0xf011, 0xf149, 0xf1d3, 0xf31d, 0xf1d3, 0xf31d, 0xf2ca, 0xf425, 0xf2ca, 0xf425, 0xf31d, -0xf484, 0xf31d, 0xf484, 0xf374, 0xf4e4, 0xf374, 0xf4e4, 0xf479, 0xf5ed, 0xf479, 0xf5ed, -0xf659, 0xf7c9, 0xf659, 0xf7c9, 0xf659, 0xf7c9, 0xf863, 0xf9ca, 0xf863, 0xf9ca, 0xf9f3, -0xfb4b, 0xf9f3, 0xfb4b, 0xfade, 0xfc1e, 0xfade, 0xfc1e, 0xfbc4, 0xfce6, 0xfbc4, 0xfce6, -0xfd1d, 0xfe1a, 0xfd1d, 0xfe1a, 0xfec2, 0xff95, 0xfec2, 0xff95, 0xfec2, 0xff95, 0x7b, -0x11e, 0x7b, 0x11e, 0x26a, 0x2da, 0x26a, 0x2da, 0x4be, 0x4f8, 0x4be, 0x4f8, -0x6f2, 0x6f4, 0x6f2, 0x6f4, 0x8cc, 0x897, 0x8cc, 0x897, 0x8cc, 0x897, 0xa9b, -0xa30, 0xa9b, 0xa30, 0xc74, 0xbd5, 0xc74, 0xbd5, 0xe65, 0xd97, 0xe65, 0xd97, -0x1070, 0xf77, 0x1070, 0xf77, 0x125f, 0x1142, 0x125f, 0x1142, 0x13cb, 0x128f, 0x13cb, -0x128f, 0x13cb, 0x128f, 0x144f, 0x12fd, 0x144f, 0x12fd, 0x140a, 0x12a8, 0x140a, 0x12a8, -0x134c, 0x11e3, 0x134c, 0x11e3, 0x123a, 0x10d0, 0x123a, 0x10d0, 0x10a6, 0xf43, 0x10a6, -0xf43, 0xef2, 0xd9c, 0xef2, 0xd9c, 0xef2, 0xd9c, 0xdb3, 0xc70, 0xdb3, 0xc70, -0xc7b, 0xb50, 0xc7b, 0xb50, 0xafe, 0x9ef, 0xafe, 0x9ef, 0x986, 0x896, 0x986, -0x896, 0x84d, 0x77e, 0x84d, 0x77e, 0x84d, 0x77e, 0x745, 0x69a, 0x745, 0x69a, -0x679, 0x5f2, 0x679, 0x5f2, 0x5ce, 0x56b, 0x5ce, 0x56b, 0x4f8, 0x4ba, 0x4f8, -0x4ba, 0x448, 0x42d, 0x448, 0x42d, 0x3a4, 0x3ab, 0x3a4, 0x3ab, 0x3a4, 0x3ab, -0x289, 0x2b1, 0x289, 0x2b1, 0xf9, 0x141, 0xf9, 0x141, 0xff8a, 0xfff2, 0xff8a, -0xfff2, 0xfee3, 0xff69, 0xfee3, 0xff69, 0xfe6e, 0xff11, 0xfe6e, 0xff11, 0xfd12, 0xfdd2, -0xfd12, 0xfdd2, 0xfd12, 0xfdd2, 0xfaea, 0xfbc6, 0xfaea, 0xfbc6, 0xf8d3, 0xf9cc, 0xf8d3, -0xf9cc, 0xf760, 0xf875, 0xf760, 0xf875, 0xf64c, 0xf77d, 0xf64c, 0xf77d, 0xf542, 0xf68f, -0xf542, 0xf68f, 0xf542, 0xf68f, 0xf4a2, 0xf609, 0xf4a2, 0xf609, 0xf451, 0xf5d1, 0xf451, -0xf5d1, 0xf40e, 0xf5a6, 0xf40e, 0xf5a6, 0xf3e0, 0xf58f, 0xf3e0, 0xf58f, 0xf3ac, 0xf56d, -0xf3ac, 0xf56d, 0xf34c, 0xf51c, 0xf34c, 0xf51c, 0xf34c, 0xf51c, 0xf2f6, 0xf4d1, 0xf2f6, -0xf4d1, 0xf30f, 0xf4f0, 0xf30f, 0xf4f0, 0xf30d, 0xf4ee, 0xf30d, 0xf4ee, 0xf2f4, 0xf4ce, -0xf2f4, 0xf4ce, 0xf38e, 0xf55a, 0xf38e, 0xf55a, 0xf483, 0xf63b, 0xf483, 0xf63b, 0xf483, -0xf63b, 0xf59f, 0xf73c, 0xf59f, 0xf73c, 0xf715, 0xf88f, 0xf715, 0xf88f, 0xf8d2, 0xfa22, -0xf8d2, 0xfa22, 0xfa66, 0xfb86, 0xfa66, 0xfb86, 0xfb91, 0xfc7b, 0xfb91, 0xfc7b, 0xfb91, -0xfc7b, 0xfca1, 0xfd50, 0xfca1, 0xfd50, 0xfda5, 0xfe16, 0xfda5, 0xfe16, 0xfed1, 0xff01, -0xfed1, 0xff01, 0xfff1, 0xffdd, 0xfff1, 0xffdd, 0xa8, 0x51, 0xa8, 0x51, 0x124, -0x8a, 0x124, 0x8a, 0x124, 0x8a, 0x198, 0xbb, 0x198, 0xbb, 0x284, 0x169, -0x284, 0x169, 0x3f8, 0x2a2, 0x3f8, 0x2a2, 0x5d0, 0x444, 0x5d0, 0x444, 0x7ba, -0x5fd, 0x7ba, 0x5fd, 0x94f, 0x767, 0x94f, 0x767, 0x94f, 0x767, 0xaba, 0x8ad, -0xaba, 0x8ad, 0xba8, 0x97b, 0xba8, 0x97b, 0xc5c, 0xa15, 0xc5c, 0xa15, 0xd31, -0xad6, 0xd31, 0xad6, 0xdc2, 0xb58, 0xdc2, 0xb58, 0xdc2, 0xb58, 0xdf4, 0xb81, -0xdf4, 0xb81, 0xdbc, 0xb43, 0xdbc, 0xb43, 0xdc4, 0xb4a, 0xdc4, 0xb4a, 0xe1c, -0xba3, 0xe1c, 0xba3, 0xe37, 0xbc2, 0xe37, 0xbc2, 0xe47, 0xbd8, 0xe47, 0xbd8, -0xe47, 0xbd8, 0xe1f, 0xbb7, 0xe1f, 0xbb7, 0xde1, 0xb82, 0xde1, 0xb82, 0xdda, -0xb86, 0xdda, 0xb86, 0xdda, 0xb91, 0xdda, 0xb91, 0xdc1, 0xb84, 0xdc1, 0xb84, -0xdbc, 0xb8e, 0xdbc, 0xb8e, 0xdbc, 0xb8e, 0xdfe, 0xbdf, 0xdfe, 0xbdf, 0xe21, -0xc13, 0xe21, 0xc13, 0xe0b, 0xc0f, 0xe0b, 0xc0f, 0xda8, 0xbc1, 0xda8, 0xbc1, -0xcf1, 0xb21, 0xcf1, 0xb21, 0xcf1, 0xb21, 0xc85, 0xace, 0xc85, 0xace, 0xc89, -0xaed, 0xc89, 0xaed, 0xc9a, 0xb1b, 0xc9a, 0xb1b, 0xc4c, 0xaed, 0xc4c, 0xaed, -0xb99, 0xa5c, 0xb99, 0xa5c, 0xabc, 0x9a2, 0xabc, 0x9a2, 0xabc, 0x9a2, 0x9f6, -0x8ff, 0x9f6, 0x8ff, 0x968, 0x895, 0x968, 0x895, 0x8e3, 0x833, 0x8e3, 0x833, -0x8bc, 0x82e, 0x8bc, 0x82e, 0x939, 0x8cb, 0x939, 0x8cb, 0x939, 0x8cb, 0x9bb, -0x96a, 0x9bb, 0x96a, 0x99f, 0x969, 0x99f, 0x969, 0x93d, 0x91e, 0x93d, 0x91e, -0x94e, 0x942, 0x94e, 0x942, 0x9ab, 0x9af, 0x9ab, 0x9af, 0x9fb, 0xa09, 0x9fb, -0xa09, 0x9fb, 0xa09, 0xa02, 0xa18, 0xa02, 0xa18, 0x9a2, 0x9ba, 0x9a2, 0x9ba, -0x924, 0x93d, 0x924, 0x93d, 0x8d4, 0x8ea, 0x8d4, 0x8ea, 0x8b2, 0x8c4, 0x8b2, -0x8c4, 0x81c, 0x829, 0x81c, 0x829, 0x81c, 0x829, 0x6ef, 0x6f7, 0x6ef, 0x6f7, -0x5ee, 0x5f1, 0x5ee, 0x5f1, 0x513, 0x513, 0x513, 0x513, 0x3d4, 0x3d4, 0x3d4, -0x3d4, 0x247, 0x24a, 0x247, 0x24a, 0x247, 0x24a, 0x143, 0x14c, 0x143, 0x14c, -0x114, 0x128, 0x114, 0x128, 0xe1, 0x103, 0xe1, 0x103, 0x4d, 0x82, 0x4d, -0x82, 0xff6f, 0xffbb, 0xff6f, 0xffbb, 0xfe08, 0xfe6e, 0xfe08, 0xfe6e, 0xfe08, 0xfe6e, -0xfc2f, 0xfcb3, 0xfc2f, 0xfcb3, 0xfa70, 0xfb12, 0xfa70, 0xfb12, 0xf8f5, 0xf9b6, 0xf8f5, -0xf9b6, 0xf72a, 0xf80b, 0xf72a, 0xf80b, 0xf54d, 0xf64d, 0xf54d, 0xf64d, 0xf429, 0xf545, -0xf429, 0xf545, 0xf429, 0xf545, 0xf342, 0xf478, 0xf342, 0xf478, 0xf21d, 0xf369, 0xf21d, -0xf369, 0xf099, 0xf1f6, 0xf099, 0xf1f6, 0xeec4, 0xf02e, 0xeec4, 0xf02e, 0xed31, 0xeea2, -0xed31, 0xeea2, 0xed31, 0xeea2, 0xec08, 0xed7a, 0xec08, 0xed7a, 0xeb4e, 0xecbc, 0xeb4e, -0xecbc, 0xeaf6, 0xec5c, 0xeaf6, 0xec5c, 0xeac8, 0xec22, 0xeac8, 0xec22, 0xeae1, 0xec2b, -0xeae1, 0xec2b, 0xeb75, 0xecad, 0xeb75, 0xecad, 0xeb75, 0xecad, 0xec52, 0xed77, 0xec52, -0xed77, 0xecec, 0xedfe, 0xecec, 0xedfe, 0xed77, 0xee77, 0xed77, 0xee77, 0xee55, 0xef45, -0xee55, 0xef45, 0xef32, 0xf015, 0xef32, 0xf015, 0xefd3, 0xf0ac, 0xefd3, 0xf0ac, 0xefd3, -0xf0ac, 0xf068, 0xf13d, 0xf068, 0xf13d, 0xf100, 0xf1d5, 0xf100, 0xf1d5, 0xf13e, 0xf219, -0xf13e, 0xf219, 0xf15c, 0xf240, 0xf15c, 0xf240, 0xf1b2, 0xf2a5, 0xf1b2, 0xf2a5, 0xf1b2, -0xf2a5, 0xf223, 0xf329, 0xf223, 0xf329, 0xf2b8, 0xf3d3, 0xf2b8, 0xf3d3, 0xf37d, 0xf4b0, -0xf37d, 0xf4b0, 0xf481, 0xf5cc, 0xf481, 0xf5cc, 0xf54d, 0xf6af, 0xf54d, 0xf6af, 0xf5ae, -0xf726, 0xf5ae, 0xf726, 0xf5ae, 0xf726, 0xf606, 0xf790, 0xf606, 0xf790, 0xf669, 0xf801, -0xf669, 0xf801, 0xf756, 0xf8f5, 0xf756, 0xf8f5, 0xf8ba, 0xfa5b, 0xf8ba, 0xfa5b, 0xf9f4, -0xfb8f, 0xf9f4, 0xfb8f, 0xfb02, 0xfc8f, 0xfb02, 0xfc8f, 0xfb02, 0xfc8f, 0xfbeb, 0xfd63, -0xfbeb, 0xfd63, 0xfcbf, 0xfe1a, 0xfcbf, 0xfe1a, 0xfdb9, 0xfeef, 0xfdb9, 0xfeef, 0xff32, -0x3c, 0xff32, 0x3c, 0x126, 0x1ff, 0x126, 0x1ff, 0x126, 0x1ff, 0x35d, 0x401, -0x35d, 0x401, 0x599, 0x605, 0x599, 0x605, 0x75b, 0x78c, 0x75b, 0x78c, 0x8df, -0x8d6, 0x8df, 0x8d6, 0xa7b, 0xa39, 0xa7b, 0xa39, 0xc09, 0xb90, 0xc09, 0xb90, -0xc09, 0xb90, 0xd6a, 0xcbf, 0xd6a, 0xcbf, 0xe9a, 0xdc2, 0xe9a, 0xdc2, 0xf9c, -0xe9d, 0xf9c, 0xe9d, 0x1028, 0xf0a, 0x1028, 0xf0a, 0x1074, 0xf3e, 0x1074, 0xf3e, -0x1091, 0xf4a, 0x1091, 0xf4a, 0x1091, 0xf4a, 0xfe7, 0xe98, 0xfe7, 0xe98, 0xeb1, -0xd60, 0xeb1, 0xd60, 0xd7f, 0xc35, 0xd7f, 0xc35, 0xc3b, 0xafd, 0xc3b, 0xafd, -0xa54, 0x929, 0xa54, 0x929, 0xa54, 0x929, 0x7eb, 0x6d7, 0x7eb, 0x6d7, 0x5c6, -0x4cd, 0x5c6, 0x4cd, 0x441, 0x366, 0x441, 0x366, 0x348, 0x28d, 0x348, 0x28d, -0x275, 0x1db, 0x275, 0x1db, 0x1ce, 0x155, 0x1ce, 0x155, 0x1ce, 0x155, 0x150, -0xf8, 0x150, 0xf8, 0x8c, 0x54, 0x8c, 0x54, 0xff6d, 0xff54, 0xff6d, 0xff54, -0xfdec, 0xfdf1, 0xfdec, 0xfdf1, 0xfc25, 0xfc46, 0xfc25, 0xfc46, 0xfa5c, 0xfa99, 0xfa5c, -0xfa99, 0xfa5c, 0xfa99, 0xf8e8, 0xf940, 0xf8e8, 0xf940, 0xf7a6, 0xf816, 0xf7a6, 0xf816, -0xf5fb, 0xf684, 0xf5fb, 0xf684, 0xf425, 0xf4c8, 0xf425, 0xf4c8, 0xf2b9, 0xf374, 0xf2b9, -0xf374, 0xf2b9, 0xf374, 0xf17f, 0xf252, 0xf17f, 0xf252, 0xf031, 0xf11d, 0xf031, 0xf11d, -0xef44, 0xf04a, 0xef44, 0xf04a, 0xee9f, 0xefbf, 0xee9f, 0xefbf, 0xedaf, 0xeee7, 0xedaf, -0xeee7, 0xecf7, 0xee48, 0xecf7, 0xee48, 0xecf7, 0xee48, 0xeccb, 0xee33, 0xeccb, 0xee33, -0xecac, 0xee28, 0xecac, 0xee28, 0xec7a, 0xee08, 0xec7a, 0xee08, 0xec6d, 0xee0a, 0xec6d, -0xee0a, 0xecb3, 0xee5b, 0xecb3, 0xee5b, 0xed45, 0xeef1, 0xed45, 0xeef1, 0xed45, 0xeef1, -0xedf1, 0xef9d, 0xedf1, 0xef9d, 0xeee3, 0xf088, 0xeee3, 0xf088, 0xf063, 0xf1fb, 0xf063, -0xf1fb, 0xf229, 0xf3ab, 0xf229, 0xf3ab, 0xf401, 0xf568, 0xf401, 0xf568, 0xf401, 0xf568, -0xf5d2, 0xf716, 0xf5d2, 0xf716, 0xf762, 0xf87c, 0xf762, 0xf87c, 0xf8e2, 0xf9cd, 0xf8e2, -0xf9cd, 0xfa5a, 0xfb11, 0xfa5a, 0xfb11, 0xfbb4, 0xfc33, 0xfbb4, 0xfc33, 0xfcf5, 0xfd37, -0xfcf5, 0xfd37, 0xfcf5, 0xfd37, 0xfe1f, 0xfe23, 0xfe1f, 0xfe23, 0xff9c, 0xff61, 0xff9c, -0xff61, 0x16c, 0xf2, 0x16c, 0xf2, 0x31c, 0x264, 0x31c, 0x264, 0x4dd, 0x3ea, -0x4dd, 0x3ea, 0x6e4, 0x5ba, 0x6e4, 0x5ba, 0x6e4, 0x5ba, 0x92b, 0x7ce, 0x92b, -0x7ce, 0xb94, 0xa0a, 0xb94, 0xa0a, 0xdc9, 0xc16, 0xdc9, 0xc16, 0xf8b, 0xdb6, -0xf8b, 0xdb6, 0x10ac, 0xebc, 0x10ac, 0xebc, 0x10ac, 0xebc, 0x11c4, 0xfbd, 0x11c4, -0xfbd, 0x1313, 0x10fb, 0x1313, 0x10fb, 0x1414, 0x11f1, 0x1414, 0x11f1, 0x14ef, 0x12c5, -0x14ef, 0x12c5, 0x158a, 0x135d, 0x158a, 0x135d, 0x160f, 0x13e2, 0x160f, 0x13e2, 0x160f, -0x13e2, 0x169f, 0x1475, 0x169f, 0x1475, 0x16c7, 0x14a1, 0x16c7, 0x14a1, 0x16b2, 0x1492, -0x16b2, 0x1492, 0x166e, 0x1455, 0x166e, 0x1455, 0x1624, 0x1412, 0x1624, 0x1412, 0x1624, -0x1412, 0x15cf, 0x13c4, 0x15cf, 0x13c4, 0x156d, 0x1369, 0x156d, 0x1369, 0x154f, 0x1352, -0x154f, 0x1352, 0x1536, 0x1341, 0x1536, 0x1341, 0x1568, 0x137b, 0x1568, 0x137b, 0x15bc, -0x13d7, 0x15bc, 0x13d7, 0x15bc, 0x13d7, 0x159e, 0x13c2, 0x159e, 0x13c2, 0x153c, 0x136b, -0x153c, 0x136b, 0x14df, 0x131a, 0x14df, 0x131a, 0x14d2, 0x131c, 0x14d2, 0x131c, 0x14da, -0x1337, 0x14da, 0x1337, 0x14e0, 0x1351, 0x14e0, 0x1351, 0x14e0, 0x1351, 0x14b2, 0x133b, -0x14b2, 0x133b, 0x13e0, 0x1283, 0x13e0, 0x1283, 0x12c0, 0x117f, 0x12c0, 0x117f, 0x1180, -0x105f, 0x1180, 0x105f, 0x1023, 0xf22, 0x1023, 0xf22, 0x1023, 0xf22, 0xeac, 0xdcd, -0xeac, 0xdcd, 0xd64, 0xca8, 0xd64, 0xca8, 0xcc0, 0xc26, 0xcc0, 0xc26, 0xc52, -0xbd8, 0xc52, 0xbd8, 0xba5, 0xb4b, 0xba5, 0xb4b, 0xaed, 0xaaf, 0xaed, 0xaaf, -0xaed, 0xaaf, 0xab9, 0xa95, 0xab9, 0xa95, 0xae7, 0xad9, 0xae7, 0xad9, 0xa9e, -0xaa1, 0xa9e, 0xaa1, 0x9f0, 0xa01, 0x9f0, 0xa01, 0x93d, 0x958, 0x93d, 0x958, -0x88c, 0x8ad, 0x88c, 0x8ad, 0x88c, 0x8ad, 0x7b9, 0x7dd, 0x7b9, 0x7dd, 0x6a3, -0x6c7, 0x6a3, 0x6c7, 0x576, 0x597, 0x576, 0x597, 0x481, 0x49f, 0x481, 0x49f, -0x439, 0x452, 0x439, 0x452, 0x439, 0x452, 0x427, 0x43d, 0x427, 0x43d, 0x373, -0x387, 0x373, 0x387, 0x21a, 0x22e, 0x21a, 0x22e, 0x5b, 0x73, 0x5b, 0x73, -0xfe7c, 0xfe9a, 0xfe7c, 0xfe9a, 0xfc9a, 0xfcc4, 0xfc9a, 0xfcc4, 0xfc9a, 0xfcc4, 0xfb1c, -0xfb56, 0xfb1c, 0xfb56, 0xfa04, 0xfa52, 0xfa04, 0xfa52, 0xf8b7, 0xf91d, 0xf8b7, 0xf91d, -0xf732, 0xf7b5, 0xf732, 0xf7b5, 0xf5ab, 0xf64d, 0xf5ab, 0xf64d, 0xf470, 0xf534, 0xf470, -0xf534, 0xf470, 0xf534, 0xf32b, 0xf412, 0xf32b, 0xf412, 0xf18a, 0xf295, 0xf18a, 0xf295, -0xf03b, 0xf169, 0xf03b, 0xf169, 0xef0b, 0xf05a, 0xef0b, 0xf05a, 0xed8a, 0xeef7, 0xed8a, -0xeef7, 0xed8a, 0xeef7, 0xec0b, 0xed92, 0xec0b, 0xed92, 0xead6, 0xec72, 0xead6, 0xec72, -0xe9de, 0xeb89, 0xe9de, 0xeb89, 0xe8da, 0xea8f, 0xe8da, 0xea8f, 0xe7ed, 0xe9a4, 0xe7ed, -0xe9a4, 0xe72d, 0xe8e1, 0xe72d, 0xe8e1, 0xe72d, 0xe8e1, 0xe676, 0xe820, 0xe676, 0xe820, -0xe624, 0xe7bf, 0xe624, 0xe7bf, 0xe6a4, 0xe82b, 0xe6a4, 0xe82b, 0xe77a, 0xe8e9, 0xe77a, -0xe8e9, 0xe7d9, 0xe92d, 0xe7d9, 0xe92d, 0xe7db, 0xe911, 0xe7db, 0xe911, 0xe7db, 0xe911, -0xe816, 0xe92f, 0xe816, 0xe92f, 0xe8be, 0xe9b9, 0xe8be, 0xe9b9, 0xe99f, 0xea7e, 0xe99f, -0xea7e, 0xea8c, 0xeb51, 0xea8c, 0xeb51, 0xeb71, 0xec21, 0xeb71, 0xec21, 0xeb71, 0xec21, -0xec3f, 0xecdd, 0xec3f, 0xecdd, 0xecd8, 0xed69, 0xecd8, 0xed69, 0xed28, 0xedb0, 0xed28, -0xedb0, 0xed61, 0xede5, 0xed61, 0xede5, 0xede2, 0xee66, 0xede2, 0xee66, 0xeecc, 0xef54, -0xeecc, 0xef54, 0xeecc, 0xef54, 0xf018, 0xf0a7, 0xf018, 0xf0a7, 0xf178, 0xf210, 0xf178, -0xf210, 0xf28b, 0xf32c, 0xf28b, 0xf32c, 0xf3a5, 0xf451, 0xf3a5, 0xf451, 0xf4fd, 0xf5b1, -0xf4fd, 0xf5b1, 0xf650, 0xf70a, 0xf650, 0xf70a, 0xf650, 0xf70a, 0xf788, 0xf845, 0xf788, -0xf845, 0xf8b5, 0xf971, 0xf8b5, 0xf971, 0xf9ed, 0xfaa3, 0xf9ed, 0xfaa3, 0xfb09, 0xfbb3, -0xfb09, 0xfbb3, 0xfc43, 0xfcdc, 0xfc43, 0xfcdc, 0xfc43, 0xfcdc, 0xfd8f, 0xfe12, 0xfd8f, -0xfe12, 0xfe7c, 0xfee3, 0xfe7c, 0xfee3, 0xff79, 0xffc0, 0xff79, 0xffc0, 0xfb, 0x11e, -0xfb, 0x11e, 0x2f8, 0x2f4, 0x2f8, 0x2f4, 0x4eb, 0x4be, 0x4eb, 0x4be, 0x4eb, -0x4be, 0x6a7, 0x651, 0x6a7, 0x651, 0x870, 0x7f1, 0x870, 0x7f1, 0xa5d, 0x9b6, -0xa5d, 0x9b6, 0xc91, 0xbc7, 0xc91, 0xbc7, 0xe95, 0xdab, 0xe95, 0xdab, 0x1045, -0xf41, 0x1045, 0xf41, 0x1045, 0xf41, 0x11b1, 0x1099, 0x11b1, 0x1099, 0x1299, 0x1173, -0x1299, 0x1173, 0x130e, 0x11e1, 0x130e, 0x11e1, 0x1300, 0x11d5, 0x1300, 0x11d5, 0x129f, -0x117b, 0x129f, 0x117b, 0x129f, 0x117b, 0x11fd, 0x10e7, 0x11fd, 0x10e7, 0x112e, 0x102e, -0x112e, 0x102e, 0xff0, 0xf09, 0xff0, 0xf09, 0xdcf, 0xd08, 0xdcf, 0xd08, 0xb88, -0xae4, 0xb88, 0xae4, 0x964, 0x8e5, 0x964, 0x8e5, 0x964, 0x8e5, 0x71e, 0x6c7, -0x71e, 0x6c7, 0x4ee, 0x4bf, 0x4ee, 0x4bf, 0x376, 0x36f, 0x376, 0x36f, 0x301, -0x322, 0x301, 0x322, 0x2ed, 0x335, 0x2ed, 0x335, 0x2cd, 0x339, 0x2cd, 0x339, -0x2cd, 0x339, 0x22c, 0x2bb, 0x22c, 0x2bb, 0xf5, 0x1a3, 0xf5, 0x1a3, 0xffb9, -0x85, 0xffb9, 0x85, 0xfe81, 0xff68, 0xfe81, 0xff68, 0xfd2e, 0xfe2e, 0xfd2e, 0xfe2e, -0xfd2e, 0xfe2e, 0xfbc2, 0xfcda, 0xfbc2, 0xfcda, 0xfa73, 0xfba0, 0xfa73, 0xfba0, 0xf940, -0xfa83, 0xf940, 0xfa83, 0xf7f2, 0xf949, 0xf7f2, 0xf949, 0xf6d8, 0xf842, 0xf6d8, 0xf842, -0xf60d, 0xf789, 0xf60d, 0xf789, 0xf60d, 0xf789, 0xf55d, 0xf6ec, 0xf55d, 0xf6ec, 0xf479, -0xf61a, 0xf479, 0xf61a, 0xf366, 0xf517, 0xf366, 0xf517, 0xf2b4, 0xf476, 0xf2b4, 0xf476, -0xf21e, 0xf3ee, 0xf21e, 0xf3ee, 0xf153, 0xf32e, 0xf153, 0xf32e, 0xf153, 0xf32e, 0xf09c, -0xf280, 0xf09c, 0xf280, 0xf00d, 0xf1f7, 0xf00d, 0xf1f7, 0xefc5, 0xf1b0, 0xefc5, 0xf1b0, -0xefa0, 0xf186, 0xefa0, 0xf186, 0xeff5, 0xf1d1, 0xeff5, 0xf1d1, 0xeff5, 0xf1d1, 0xf10e, -0xf2da, 0xf10e, 0xf2da, 0xf24d, 0xf402, 0xf24d, 0xf402, 0xf3a4, 0xf53a, 0xf3a4, 0xf53a, -0xf51c, 0xf68d, 0xf51c, 0xf68d, 0xf697, 0xf7db, 0xf697, 0xf7db, 0xf81c, 0xf92c, 0xf81c, -0xf92c, 0xf81c, 0xf92c, 0xf98d, 0xfa63, 0xf98d, 0xfa63, 0xfaf6, 0xfb8d, 0xfaf6, 0xfb8d, -0xfc40, 0xfc94, 0xfc40, 0xfc94, 0xfd71, 0xfd7e, 0xfd71, 0xfd7e, 0xfec3, 0xfe86, 0xfec3, -0xfe86, 0xfec3, 0xfe86, 0x28, 0xffa1, 0x28, 0xffa1, 0x15b, 0x89, 0x15b, 0x89, -0x23e, 0x124, 0x23e, 0x124, 0x327, 0x1c7, 0x327, 0x1c7, 0x435, 0x294, 0x435, -0x294, 0x52c, 0x34e, 0x52c, 0x34e, 0x52c, 0x34e, 0x632, 0x41e, 0x632, 0x41e, -0x7a8, 0x565, 0x7a8, 0x565, 0x965, 0x6f8, 0x965, 0x6f8, 0xb27, 0x899, 0xb27, -0x899, 0xcc9, 0xa21, 0xcc9, 0xa21, 0xde4, 0xb29, 0xde4, 0xb29, 0xde4, 0xb29, -0xe50, 0xb89, 0xe50, 0xb89, 0xe8d, 0xbc2, 0xe8d, 0xbc2, 0xf19, 0xc4f, 0xf19, -0xc4f, 0xfa5, 0xce1, 0xfa5, 0xce1, 0xff7, 0xd3d, 0xff7, 0xd3d, 0xff7, 0xd3d, -0x1058, 0xdad, 0x1058, 0xdad, 0x10de, 0xe45, 0x10de, 0xe45, 0x1167, 0xee2, 0x1167, -0xee2, 0x1187, 0xf18, 0x1187, 0xf18, 0x110b, 0xeb4, 0x110b, 0xeb4, 0x1040, 0xe01, -0x1040, 0xe01, 0x1040, 0xe01, 0xf82, 0xd5d, 0xf82, 0xd5d, 0xf43, 0xd38, 0xf43, -0xd38, 0xf79, 0xd88, 0xf79, 0xd88, 0xf86, 0xdb0, 0xf86, 0xdb0, 0xf15, 0xd5b, -0xf15, 0xd5b, 0xe79, 0xcdb, 0xe79, 0xcdb, 0xe79, 0xcdb, 0xe34, 0xcb3, 0xe34, -0xcb3, 0xe2b, 0xcc9, 0xe2b, 0xcc9, 0xe0a, 0xcc8, 0xe0a, 0xcc8, 0xe12, 0xcf2, -0xe12, 0xcf2, 0xe45, 0xd47, 0xe45, 0xd47, 0xe45, 0xd47, 0xe25, 0xd4c, 0xe25, -0xd4c, 0xd63, 0xcae, 0xd63, 0xcae, 0xc1f, 0xb91, 0xc1f, 0xb91, 0xabb, 0xa53, -0xabb, 0xa53, 0x9a7, 0x965, 0x9a7, 0x965, 0x946, 0x92a, 0x946, 0x92a, 0x946, -0x92a, 0x910, 0x917, 0x910, 0x917, 0x8af, 0x8d8, 0x8af, 0x8d8, 0x89f, 0x8e7, -0x89f, 0x8e7, 0x912, 0x976, 0x912, 0x976, 0x9f9, 0xa75, 0x9f9, 0xa75, 0xa97, -0xb27, 0xa97, 0xb27, 0xa97, 0xb27, 0xa9b, 0xb39, 0xa9b, 0xb39, 0xa8a, 0xb32, -0xa8a, 0xb32, 0xa77, 0xb23, 0xa77, 0xb23, 0x9f9, 0xaa5, 0x9f9, 0xaa5, 0x8ca, -0x972, 0x8ca, 0x972, 0x8ca, 0x972, 0x765, 0x804, 0x765, 0x804, 0x63e, 0x6d2, -0x63e, 0x6d2, 0x5a7, 0x62c, 0x5a7, 0x62c, 0x588, 0x5fc, 0x588, 0x5fc, 0x554, -0x5b6, 0x554, 0x5b6, 0x4bd, 0x50e, 0x4bd, 0x50e, 0x4bd, 0x50e, 0x391, 0x3d2, -0x391, 0x3d2, 0x272, 0x2a5, 0x272, 0x2a5, 0x197, 0x1be, 0x197, 0x1be, 0xca, -0xe8, 0xca, 0xe8, 0x3f, 0x57, 0x3f, 0x57, 0xff86, 0xff9d, 0xff86, 0xff9d, -0xff86, 0xff9d, 0xfe86, 0xfea0, 0xfe86, 0xfea0, 0xfd52, 0xfd72, 0xfd52, 0xfd72, 0xfbe1, -0xfc0c, 0xfbe1, 0xfc0c, 0xfa37, 0xfa70, 0xfa37, 0xfa70, 0xf875, 0xf8bf, 0xf875, 0xf8bf, -0xf875, 0xf8bf, 0xf742, 0xf79f, 0xf742, 0xf79f, 0xf64a, 0xf6bb, 0xf64a, 0xf6bb, 0xf4e6, -0xf56c, 0xf4e6, 0xf56c, 0xf320, 0xf3ba, 0xf320, 0xf3ba, 0xf151, 0xf1ff, 0xf151, 0xf1ff, -0xefcf, 0xf08f, 0xefcf, 0xf08f, 0xefcf, 0xf08f, 0xee6d, 0xef3c, 0xee6d, 0xef3c, 0xed13, -0xedef, 0xed13, 0xedef, 0xebd3, 0xecb9, 0xebd3, 0xecb9, 0xeaf5, 0xebe0, 0xeaf5, 0xebe0, -0xeada, 0xebc8, 0xeada, 0xebc8, 0xeb42, 0xec2f, 0xeb42, 0xec2f, 0xeb42, 0xec2f, 0xebde, -0xecc8, 0xebde, 0xecc8, 0xec6c, 0xed50, 0xec6c, 0xed50, 0xecbe, 0xed9a, 0xecbe, 0xed9a, -0xed50, 0xee24, 0xed50, 0xee24, 0xee44, 0xef0f, 0xee44, 0xef0f, 0xee44, 0xef0f, 0xef38, -0xeffb, 0xef38, 0xeffb, 0xf03e, 0xf0f9, 0xf03e, 0xf0f9, 0xf1a3, 0xf259, 0xf1a3, 0xf259, -0xf31e, 0xf3d1, 0xf31e, 0xf3d1, 0xf402, 0xf4b5, 0xf402, 0xf4b5, 0xf45e, 0xf513, 0xf45e, -0xf513, 0xf45e, 0xf513, 0xf45e, 0xf519, 0xf45e, 0xf519, 0xf43a, 0xf4fe, 0xf43a, 0xf4fe, -0xf470, 0xf53f, 0xf470, 0xf53f, 0xf4e1, 0xf5bd, 0xf4e1, 0xf5bd, 0xf54c, 0xf637, 0xf54c, -0xf637, 0xf5bb, 0xf6b6, 0xf5bb, 0xf6b6, 0xf5bb, 0xf6b6, 0xf681, 0xf78b, 0xf681, 0xf78b, -0xf79a, 0xf8b3, 0xf79a, 0xf8b3, 0xf8a9, 0xf9ce, 0xf8a9, 0xf9ce, 0xf9ac, 0xfada, 0xf9ac, -0xfada, 0xfa7b, 0xfbaf, 0xfa7b, 0xfbaf, 0xfa7b, 0xfbaf, 0xfb4a, 0xfc7e, 0xfb4a, 0xfc7e, -0xfc54, 0xfd84, 0xfc54, 0xfd84, 0xfd68, 0xfe8e, 0xfd68, 0xfe8e, 0xfe7f, 0xff96, 0xfe7f, -0xff96, 0xff93, 0x94, 0xff93, 0x94, 0xa4, 0x18a, 0xa4, 0x18a, 0xa4, 0x18a, -0x1cc, 0x292, 0x1cc, 0x292, 0x364, 0x405, 0x364, 0x405, 0x527, 0x5a0, 0x527, -0x5a0, 0x6b5, 0x703, 0x6b5, 0x703, 0x87b, 0x89c, 0x87b, 0x89c, 0xa3c, 0xa2f, -0xa3c, 0xa2f, 0xa3c, 0xa2f, 0xb7c, 0xb43, 0xb7c, 0xb43, 0xc5c, 0xbf7, 0xc5c, -0xbf7, 0xd17, 0xc89, 0xd17, 0xc89, 0xdb7, 0xd05, 0xdb7, 0xd05, 0xe24, 0xd51, -0xe24, 0xd51, 0xe24, 0xd51, 0xe7c, 0xd8f, 0xe7c, 0xd8f, 0xec9, 0xdc6, 0xec9, -0xdc6, 0xf06, 0xdf4, 0xf06, 0xdf4, 0xf1e, 0xe04, 0xf1e, 0xe04, 0xe91, 0xd75, -0xe91, 0xd75, 0xd2f, 0xc17, 0xd2f, 0xc17, 0xd2f, 0xc17, 0xb52, 0xa43, 0xb52, -0xa43, 0x944, 0x844, 0x944, 0x844, 0x720, 0x633, 0x720, 0x633, 0x4c8, 0x3f3, -0x4c8, 0x3f3, 0x28c, 0x1d1, 0x28c, 0x1d1, 0x10d, 0x6f, 0x10d, 0x6f, 0x10d, -0x6f, 0x3d, 0xffbe, 0x3d, 0xffbe, 0xff93, 0xff33, 0xff93, 0xff33, 0xfeb8, 0xfe78, -0xfeb8, 0xfe78, 0xfdc4, 0xfda4, 0xfdc4, 0xfda4, 0xfc99, 0xfc98, 0xfc99, 0xfc98, 0xfc99, -0xfc98, 0xfae8, 0xfb06, 0xfae8, 0xfb06, 0xf8d9, 0xf914, 0xf8d9, 0xf914, 0xf6c4, 0xf71d, -0xf6c4, 0xf71d, 0xf4e1, 0xf556, 0xf4e1, 0xf556, 0xf333, 0xf3c4, 0xf333, 0xf3c4, 0xf1b7, -0xf262, 0xf1b7, 0xf262, 0xf1b7, 0xf262, 0xf063, 0xf128, 0xf063, 0xf128, 0xef54, 0xf033, -0xef54, 0xf033, 0xee93, 0xef8c, 0xee93, 0xef8c, 0xedde, 0xeef0, 0xedde, 0xeef0, 0xed11, -0xee3c, 0xed11, 0xee3c, 0xed11, 0xee3c, 0xec07, 0xed4a, 0xec07, 0xed4a, 0xeb04, 0xec60, -0xeb04, 0xec60, 0xea5c, 0xebd0, 0xea5c, 0xebd0, 0xea33, 0xebbe, 0xea33, 0xebbe, 0xea80, -0xec1f, 0xea80, 0xec1f, 0xeace, 0xec80, 0xeace, 0xec80, 0xeace, 0xec80, 0xeaf8, 0xecba, -0xeaf8, 0xecba, 0xeb13, 0xece1, 0xeb13, 0xece1, 0xeb87, 0xed5d, 0xeb87, 0xed5d, 0xec86, -0xee5f, 0xec86, 0xee5f, 0xedb9, 0xef8f, 0xedb9, 0xef8f, 0xef06, 0xf0d4, 0xef06, 0xf0d4, -0xef06, 0xf0d4, 0xf065, 0xf225, 0xf065, 0xf225, 0xf1e3, 0xf38d, 0xf1e3, 0xf38d, 0xf354, -0xf4e2, 0xf354, 0xf4e2, 0xf4d6, 0xf641, 0xf4d6, 0xf641, 0xf69b, 0xf7dc, 0xf69b, 0xf7dc, -0xf69b, 0xf7dc, 0xf850, 0xf961, 0xf850, 0xf961, 0xfa05, 0xfae2, 0xfa05, 0xfae2, 0xfbe1, -0xfc83, 0xfbe1, 0xfc83, 0xfdc8, 0xfe2b, 0xfdc8, 0xfe2b, 0xff67, 0xff88, 0xff67, 0xff88, -0xf6, 0xd4, 0xf6, 0xd4, 0xf6, 0xd4, 0x30f, 0x2a7, 0x30f, 0x2a7, 0x55c, -0x4ae, 0x55c, 0x4ae, 0x763, 0x670, 0x763, 0x670, 0x929, 0x7f3, 0x929, 0x7f3, -0xae6, 0x970, 0xae6, 0x970, 0xcce, 0xb1c, 0xcce, 0xb1c, 0xcce, 0xb1c, 0xf08, -0xd1d, 0xf08, 0xd1d, 0x1154, 0xf35, 0x1154, 0xf35, 0x1303, 0x10b6, 0x1303, 0x10b6, -0x13f8, 0x1182, 0x13f8, 0x1182, 0x14b6, 0x121e, 0x14b6, 0x121e, 0x14b6, 0x121e, 0x1590, -0x12db, 0x1590, 0x12db, 0x165f, 0x1394, 0x165f, 0x1394, 0x16f8, 0x141b, 0x16f8, 0x141b, -0x176e, 0x1486, 0x176e, 0x1486, 0x17d5, 0x14e7, 0x17d5, 0x14e7, 0x17ff, 0x1510, 0x17ff, -0x1510, 0x17ff, 0x1510, 0x17aa, 0x14bf, 0x17aa, 0x14bf, 0x1723, 0x1440, 0x1723, 0x1440, -0x16d6, 0x13ff, 0x16d6, 0x13ff, 0x168c, 0x13c5, 0x168c, 0x13c5, 0x1642, 0x138f, 0x1642, -0x138f, 0x1642, 0x13a6, 0x1642, 0x13a6, 0x1642, 0x13a6, 0x161c, 0x139a, 0x161c, 0x139a, -0x15c6, 0x1360, 0x15c6, 0x1360, 0x15d8, 0x1392, 0x15d8, 0x1392, 0x162d, 0x1409, 0x162d, -0x1409, 0x1614, 0x1414, 0x1614, 0x1414, 0x1614, 0x1414, 0x1566, 0x138d, 0x1566, 0x138d, -0x14fa, 0x1348, 0x14fa, 0x1348, 0x1519, 0x1391, 0x1519, 0x1391, 0x1530, 0x13d4, 0x1530, -0x13d4, 0x1499, 0x1369, 0x1499, 0x1369, 0x12ff, 0x11fb, 0x12ff, 0x11fb, 0x12ff, 0x11fb, -0x1100, 0x1029, 0x1100, 0x1029, 0xf19, 0xe6f, 0xf19, 0xe6f, 0xd61, 0xce2, 0xd61, -0xce2, 0xbcd, 0xb78, 0xbcd, 0xb78, 0xa7b, 0xa4e, 0xa7b, 0xa4e, 0x9da, 0x9d2, -0x9da, 0x9d2, 0x9da, 0x9d2, 0x9b6, 0x9d1, 0x9b6, 0x9d1, 0x9b8, 0x9f2, 0x9b8, -0x9f2, 0x97f, 0x9d4, 0x97f, 0x9d4, 0x91e, 0x98a, 0x91e, 0x98a, 0x926, 0x9a5, -0x926, 0x9a5, 0x926, 0x9a5, 0x94c, 0x9d9, 0x94c, 0x9d9, 0x8f6, 0x98e, 0x8f6, -0x98e, 0x815, 0x8b4, 0x815, 0x8b4, 0x6ef, 0x791, 0x6ef, 0x791, 0x5a0, 0x641, -0x5a0, 0x641, 0x4ba, 0x559, 0x4ba, 0x559, 0x4ba, 0x559, 0x4b5, 0x54f, 0x4b5, -0x54f, 0x4bc, 0x551, 0x4bc, 0x551, 0x41a, 0x4a8, 0x41a, 0x4a8, 0x2d9, 0x361, -0x2d9, 0x361, 0x139, 0x1bc, 0x139, 0x1bc, 0xff49, 0xffc8, 0xff49, 0xffc8, 0xff49, -0xffc8, 0xfd1b, 0xfd98, 0xfd1b, 0xfd98, 0xfb20, 0xfb9d, 0xfb20, 0xfb9d, 0xf992, 0xfa12, -0xf992, 0xfa12, 0xf872, 0xf8f8, 0xf872, 0xf8f8, 0xf7c5, 0xf855, 0xf7c5, 0xf855, 0xf7c5, -0xf855, 0xf730, 0xf7cb, 0xf730, 0xf7cb, 0xf657, 0xf700, 0xf657, 0xf700, 0xf558, 0xf612, -0xf558, 0xf612, 0xf435, 0xf500, 0xf435, 0xf500, 0xf2bb, 0xf39a, 0xf2bb, 0xf39a, 0xf0f1, -0xf1e2, 0xf0f1, 0xf1e2, 0xf0f1, 0xf1e2, 0xef30, 0xf034, 0xef30, 0xf034, 0xedea, 0xef00, -0xedea, 0xef00, 0xed26, 0xee4c, 0xed26, 0xee4c, 0xec87, 0xedbb, 0xec87, 0xedbb, 0xebc5, -0xed05, 0xebc5, 0xed05, 0xeaef, 0xec38, 0xeaef, 0xec38, 0xeaef, 0xec38, 0xea09, 0xeb57, -0xea09, 0xeb57, 0xe944, 0xea95, 0xe944, 0xea95, 0xe8d2, 0xea21, 0xe8d2, 0xea21, 0xe875, -0xe9c1, 0xe875, 0xe9c1, 0xe829, 0xe96d, 0xe829, 0xe96d, 0xe829, 0xe96d, 0xe81e, 0xe959, -0xe81e, 0xe959, 0xe87d, 0xe9ad, 0xe87d, 0xe9ad, 0xe917, 0xea3b, 0xe917, 0xea3b, 0xe9c8, -0xeadf, 0xe9c8, 0xeadf, 0xeaaf, 0xebb9, 0xeaaf, 0xebb9, 0xebcc, 0xecca, 0xebcc, 0xecca, -0xebcc, 0xecca, 0xed0c, 0xedff, 0xed0c, 0xedff, 0xee1d, 0xef07, 0xee1d, 0xef07, 0xeed2, -0xefb4, 0xeed2, 0xefb4, 0xef2c, 0xf009, 0xef2c, 0xf009, 0xef6d, 0xf047, 0xef6d, 0xf047, -0xefe9, 0xf0c2, 0xefe9, 0xf0c2, 0xefe9, 0xf0c2, 0xf09d, 0xf178, 0xf09d, 0xf178, 0xf166, -0xf244, 0xf166, 0xf244, 0xf21d, 0xf300, 0xf21d, 0xf300, 0xf30a, 0xf3f3, 0xf30a, 0xf3f3, -0xf451, 0xf541, 0xf451, 0xf541, 0xf451, 0xf541, 0xf5be, 0xf6b3, 0xf5be, 0xf6b3, 0xf722, -0xf81b, 0xf722, 0xf81b, 0xf842, 0xf93e, 0xf842, 0xf93e, 0xf912, 0xfa0e, 0xf912, 0xfa0e, -0xf999, 0xfa92, 0xf999, 0xfa92, 0xfa7b, 0xfb6e, 0xfa7b, 0xfb6e, 0xfa7b, 0xfb6e, 0xfbd3, -0xfcbc, 0xfbd3, 0xfcbc, 0xfd1d, 0xfdf8, 0xfd1d, 0xfdf8, 0xfe63, 0xff2c, 0xfe63, 0xff2c, -0xff82, 0x34, 0xff82, 0x34, 0x6f, 0x107, 0x6f, 0x107, 0x134, 0x1ae, 0x134, -0x1ae, 0x134, 0x1ae, 0x236, 0x290, 0x236, 0x290, 0x40b, 0x442, 0x40b, 0x442, -0x668, 0x67b, 0x668, 0x67b, 0x8e5, 0x8d4, 0x8e5, 0x8d4, 0xb42, 0xb0d, 0xb42, -0xb0d, 0xb42, 0xb0d, 0xd8b, 0xd32, 0xd8b, 0xd32, 0xfb3, 0xf3a, 0xfb3, 0xf3a, -0x1149, 0x10b1, 0x1149, 0x10b1, 0x1259, 0x11a7, 0x1259, 0x11a7, 0x130e, 0x1245, 0x130e, -0x1245, 0x1375, 0x1299, 0x1375, 0x1299, 0x1375, 0x1299, 0x13bb, 0x12d2, 0x13bb, 0x12d2, -0x13b3, 0x12c1, 0x13b3, 0x12c1, 0x1301, 0x120a, 0x1301, 0x120a, 0x11b3, 0x10bd, 0x11b3, -0x10bd, 0x1031, 0xf40, 0x1031, 0xf40, 0x1031, 0xf40, 0xe63, 0xd7b, 0xe63, 0xd7b, -0xbec, 0xb10, 0xbec, 0xb10, 0x95a, 0x88d, 0x95a, 0x88d, 0x758, 0x69c, 0x758, -0x69c, 0x5e7, 0x53f, 0x5e7, 0x53f, 0x4cc, 0x438, 0x4cc, 0x438, 0x4cc, 0x438, -0x3f4, 0x375, 0x3f4, 0x375, 0x35d, 0x2f4, 0x35d, 0x2f4, 0x29a, 0x245, 0x29a, -0x245, 0x1b7, 0x178, 0x1b7, 0x178, 0xe6, 0xbb, 0xe6, 0xbb, 0xffde, 0xffc6, -0xffde, 0xffc6, 0xffde, 0xffc6, 0xfe78, 0xfe72, 0xfe78, 0xfe72, 0xfcc0, 0xfcce, 0xfcc0, -0xfcce, 0xfb50, 0xfb6f, 0xfb50, 0xfb6f, 0xfa66, 0xfa97, 0xfa66, 0xfa97, 0xf9d5, 0xfa18, -0xf9d5, 0xfa18, 0xf9d5, 0xfa18, 0xf95b, 0xf9b1, 0xf95b, 0xf9b1, 0xf891, 0xf8f9, 0xf891, -0xf8f9, 0xf771, 0xf7ed, 0xf771, 0xf7ed, 0xf5f6, 0xf686, 0xf5f6, 0xf686, 0xf469, 0xf50e, -0xf469, 0xf50e, 0xf300, 0xf3bc, 0xf300, 0xf3bc, 0xf300, 0xf3bc, 0xf1e3, 0xf2b6, 0xf1e3, -0xf2b6, 0xf14e, 0xf238, 0xf14e, 0xf238, 0xf0ff, 0xf1ff, 0xf0ff, 0xf1ff, 0xf0c2, 0xf1d9, -0xf0c2, 0xf1d9, 0xf067, 0xf193, 0xf067, 0xf193, 0xf039, 0xf179, 0xf039, 0xf179, 0xf039, -0xf179, 0xf06a, 0xf1bb, 0xf06a, 0xf1bb, 0xf0ac, 0xf20b, 0xf0ac, 0xf20b, 0xf11b, 0xf285, -0xf11b, 0xf285, 0xf1d1, 0xf341, 0xf1d1, 0xf341, 0xf2f0, 0xf461, 0xf2f0, 0xf461, 0xf2f0, -0xf461, 0xf457, 0xf5c5, 0xf457, 0xf5c5, 0xf5d5, 0xf739, 0xf5d5, 0xf739, 0xf72e, 0xf883, -0xf72e, 0xf883, 0xf844, 0xf984, 0xf844, 0xf984, 0xf9bd, 0xfae2, 0xf9bd, 0xfae2, 0xfb85, -0xfc8b, 0xfb85, 0xfc8b, 0xfb85, 0xfc8b, 0xfd06, 0xfde7, 0xfd06, 0xfde7, 0xfe24, 0xfedb, -0xfe24, 0xfedb, 0xfef3, 0xff7c, 0xfef3, 0xff7c, 0xffbf, 0x18, 0xffbf, 0x18, 0x92, -0xb8, 0x92, 0xb8, 0x159, 0x14a, 0x159, 0x14a, 0x159, 0x14a, 0x21f, 0x1da, -0x21f, 0x1da, 0x312, 0x298, 0x312, 0x298, 0x48f, 0x3e0, 0x48f, 0x3e0, 0x673, -0x592, 0x673, 0x592, 0x857, 0x745, 0x857, 0x745, 0x857, 0x745, 0x9ee, 0x8ae, -0x9ee, 0x8ae, 0xb1f, 0x9b4, 0xb1f, 0x9b4, 0xc43, 0xab1, 0xc43, 0xab1, 0xd6a, -0xbb5, 0xd6a, 0xbb5, 0xe57, 0xc82, 0xe57, 0xc82, 0xf2a, 0xd3a, 0xf2a, 0xd3a, -0xf2a, 0xd3a, 0x1027, 0xe1f, 0x1027, 0xe1f, 0x1101, 0xee5, 0x1101, 0xee5, 0x1148, -0xf1c, 0x1148, 0xf1c, 0x116f, 0xf36, 0x116f, 0xf36, 0x119a, 0xf58, 0x119a, 0xf58, -0x116b, 0xf22, 0x116b, 0xf22, 0x116b, 0xf22, 0x1105, 0xeb8, 0x1105, 0xeb8, 0x1080, -0xe32, 0x1080, 0xe32, 0xfcb, 0xd7e, 0xfcb, 0xd7e, 0xec7, 0xc7d, 0xec7, 0xc7d, -0xdd3, 0xb8f, 0xdd3, 0xb8f, 0xdd3, 0xb8f, 0xd85, 0xb49, 0xd85, 0xb49, 0xdd1, -0xb9f, 0xdd1, 0xb9f, 0xe43, 0xc1d, 0xe43, 0xc1d, 0xe61, 0xc49, 0xe61, 0xc49, -0xe6c, 0xc65, 0xe6c, 0xc65, 0xe90, 0xc9c, 0xe90, 0xc9c, 0xe90, 0xc9c, 0xe80, -0xca2, 0xe80, 0xca2, 0xe36, 0xc70, 0xe36, 0xc70, 0xdb7, 0xc0a, 0xdb7, 0xc0a, -0xcdc, 0xb4b, 0xcdc, 0xb4b, 0xba9, 0xa35, 0xba9, 0xa35, 0xaac, 0x958, 0xaac, -0x958, 0xaac, 0x958, 0x9bc, 0x888, 0x9bc, 0x888, 0x88e, 0x77a, 0x88e, 0x77a, -0x7f3, 0x701, 0x7f3, 0x701, 0x82d, 0x75b, 0x82d, 0x75b, 0x887, 0x7d6, 0x887, -0x7d6, 0x887, 0x7d6, 0x879, 0x7e6, 0x879, 0x7e6, 0x864, 0x7ef, 0x864, 0x7ef, -0x883, 0x829, 0x883, 0x829, 0x889, 0x849, 0x889, 0x849, 0x886, 0x85e, 0x886, -0x85e, 0x837, 0x823, 0x837, 0x823, 0x837, 0x823, 0x769, 0x767, 0x769, 0x767, -0x625, 0x634, 0x625, 0x634, 0x4f5, 0x511, 0x4f5, 0x511, 0x465, 0x48c, 0x465, -0x48c, 0x3bf, 0x3f0, 0x3bf, 0x3f0, 0x2c3, 0x2fd, 0x2c3, 0x2fd, 0x2c3, 0x2fd, -0x1e8, 0x22a, 0x1e8, 0x22a, 0x172, 0x1bc, 0x172, 0x1bc, 0x124, 0x176, 0x124, -0x176, 0x68, 0xc3, 0x68, 0xc3, 0xff6f, 0xffd5, 0xff6f, 0xffd5, 0xff6f, 0xffd5, -0xfe66, 0xfed7, 0xfe66, 0xfed7, 0xfd43, 0xfdc2, 0xfd43, 0xfdc2, 0xfc4f, 0xfcdd, 0xfc4f, -0xfcdd, 0xfb9c, 0xfc3d, 0xfb9c, 0xfc3d, 0xfae5, 0xfb99, 0xfae5, 0xfb99, 0xf9c9, 0xfa93, -0xf9c9, 0xfa93, 0xf9c9, 0xfa93, 0xf895, 0xf977, 0xf895, 0xf977, 0xf772, 0xf86c, 0xf772, -0xf86c, 0xf5f6, 0xf70a, 0xf5f6, 0xf70a, 0xf435, 0xf562, 0xf435, 0xf562, 0xf27d, 0xf3c3, -0xf27d, 0xf3c3, 0xf12e, 0xf28b, 0xf12e, 0xf28b, 0xf12e, 0xf28b, 0xf032, 0xf1a6, 0xf032, -0xf1a6, 0xef1b, 0xf0a2, 0xef1b, 0xf0a2, 0xedf3, 0xef8b, 0xedf3, 0xef8b, 0xeccd, 0xee73, -0xeccd, 0xee73, 0xebe5, 0xed94, 0xebe5, 0xed94, 0xebe5, 0xed94, 0xeb4e, 0xed03, 0xeb4e, -0xed03, 0xeaee, 0xeca6, 0xeaee, 0xeca6, 0xeb0e, 0xecc5, 0xeb0e, 0xecc5, 0xebc7, 0xed79, -0xebc7, 0xed79, 0xeceb, 0xee94, 0xeceb, 0xee94, 0xedf4, 0xef92, 0xedf4, 0xef92, 0xedf4, -0xef92, 0xeebf, 0xf050, 0xeebf, 0xf050, 0xefa1, 0xf122, 0xefa1, 0xf122, 0xf0a6, 0xf216, -0xf0a6, 0xf216, 0xf1c1, 0xf320, 0xf1c1, 0xf320, 0xf29a, 0xf3e8, 0xf29a, 0xf3e8, 0xf349, -0xf487, 0xf349, 0xf487, 0xf349, 0xf487, 0xf409, 0xf536, 0xf409, 0xf536, 0xf4b5, 0xf5d4, -0xf4b5, 0xf5d4, 0xf52d, 0xf63f, 0xf52d, 0xf63f, 0xf54f, 0xf656, 0xf54f, 0xf656, 0xf57f, -0xf67c, 0xf57f, 0xf67c, 0xf57f, 0xf67c, 0xf5d6, 0xf6ca, 0xf5d6, 0xf6ca, 0xf664, 0xf750, -0xf664, 0xf750, 0xf755, 0xf83a, 0xf755, 0xf83a, 0xf87f, 0xf95d, 0xf87f, 0xf95d, 0xf9dd, -0xfab4, 0xf9dd, 0xfab4, 0xfb08, 0xfbd5, 0xfb08, 0xfbd5, 0xfb08, 0xfbd5, 0xfbee, 0xfcb2, -0xfbee, 0xfcb2, 0xfca6, 0xfd5d, 0xfca6, 0xfd5d, 0xfd53, 0xfdfb, 0xfd53, 0xfdfb, 0xfe6c, -0xff02, 0xfe6c, 0xff02, 0xffb9, 0x38, 0xffb9, 0x38, 0xffb9, 0x38, 0x12a, 0x190, -0x12a, 0x190, 0x283, 0x2cc, 0x283, 0x2cc, 0x382, 0x3ab, 0x382, 0x3ab, 0x446, -0x44b, 0x446, 0x44b, 0x4f8, 0x4d7, 0x4f8, 0x4d7, 0x61c, 0x5d3, 0x61c, 0x5d3, -0x61c, 0x5d3, 0x780, 0x70e, 0x780, 0x70e, 0x8fe, 0x864, 0x8fe, 0x864, 0xad2, -0xa0f, 0xad2, 0xa0f, 0xc69, 0xb7f, 0xc69, 0xb7f, 0xd63, 0xc55, 0xd63, 0xc55, -0xdfe, 0xccf, 0xdfe, 0xccf, 0xdfe, 0xccf, 0xec0, 0xd76, 0xec0, 0xd76, 0xf93, -0xe32, 0xf93, 0xe32, 0x101a, 0xea9, 0x101a, 0xea9, 0x1095, 0xf19, 0x1095, 0xf19, -0x10c1, 0xf43, 0x10c1, 0xf43, 0x10c1, 0xf43, 0x1069, 0xeee, 0x1069, 0xeee, 0xfc5, -0xe54, 0xfc5, 0xe54, 0xecb, 0xd6b, 0xecb, 0xd6b, 0xd5b, 0xc12, 0xd5b, 0xc12, -0xb46, 0xa1a, 0xb46, 0xa1a, 0x8e9, 0x7de, 0x8e9, 0x7de, 0x8e9, 0x7de, 0x6c3, -0x5de, 0x6c3, 0x5de, 0x4f9, 0x43d, 0x4f9, 0x43d, 0x37b, 0x2ea, 0x37b, 0x2ea, -0x1e9, 0x185, 0x1e9, 0x185, 0x61, 0x2b, 0x61, 0x2b, 0xfec8, 0xfec0, 0xfec8, -0xfec0, 0xfec8, 0xfec0, 0xfd18, 0xfd3d, 0xfd18, 0xfd3d, 0xfbdb, 0xfc2b, 0xfbdb, 0xfc2b, -0xfab5, 0xfb2f, 0xfab5, 0xfb2f, 0xf90d, 0xf9ae, 0xf90d, 0xf9ae, 0xf704, 0xf7c9, 0xf704, -0xf7c9, 0xf704, 0xf7c9, 0xf55f, 0xf647, 0xf55f, 0xf647, 0xf42f, 0xf537, 0xf42f, 0xf537, -0xf2d3, 0xf3f8, 0xf2d3, 0xf3f8, 0xf1ae, 0xf2ed, 0xf1ae, 0xf2ed, 0xf109, 0xf260, 0xf109, -0xf260, 0xf068, 0xf1d5, 0xf068, 0xf1d5, 0xf068, 0xf1d5, 0xef6d, 0xf0ef, 0xef6d, 0xf0ef, -0xee5e, 0xeff1, 0xee5e, 0xeff1, 0xed5f, 0xef04, 0xed5f, 0xef04, 0xec6b, 0xee1e, 0xec6b, -0xee1e, 0xebf6, 0xedb7, 0xebf6, 0xedb7, 0xebfd, 0xedc8, 0xebfd, 0xedc8, 0xebfd, 0xedc8, -0xec39, 0xee0e, 0xec39, 0xee0e, 0xec71, 0xee4d, 0xec71, 0xee4d, 0xec7c, 0xee5b, 0xec7c, -0xee5b, 0xeca5, 0xee86, 0xeca5, 0xee86, 0xed1b, 0xeefa, 0xed1b, 0xeefa, 0xed1b, 0xeefa, -0xeda3, 0xef7b, 0xeda3, 0xef7b, 0xee10, 0xefdd, 0xee10, 0xefdd, 0xeee3, 0xf0a0, 0xeee3, -0xf0a0, 0xf04b, 0xf1f4, 0xf04b, 0xf1f4, 0xf213, 0xf3a1, 0xf213, 0xf3a1, 0xf424, 0xf592, -0xf424, 0xf592, 0xf424, 0xf592, 0xf614, 0xf75c, 0xf614, 0xf75c, 0xf7d4, 0xf8f2, 0xf7d4, -0xf8f2, 0xf97a, 0xfa68, 0xf97a, 0xfa68, 0xfae3, 0xfb9b, 0xfae3, 0xfb9b, 0xfbfb, 0xfc7a, -0xfbfb, 0xfc7a, 0xfd21, 0xfd64, 0xfd21, 0xfd64, 0xfd21, 0xfd64, 0xff2d, 0xff30, 0xff2d, -0xff30, 0x1ca, 0x18d, 0x1ca, 0x18d, 0x419, 0x39a, 0x419, 0x39a, 0x609, 0x549, -0x609, 0x549, 0x7d0, 0x6cf, 0x7d0, 0x6cf, 0x7d0, 0x6cf, 0x992, 0x852, 0x992, -0x852, 0xb42, 0x9c8, 0xb42, 0x9c8, 0xcfd, 0xb4b, 0xcfd, 0xb4b, 0xeb8, 0xcd5, -0xeb8, 0xcd5, 0x1055, 0xe45, 0x1055, 0xe45, 0x1207, 0xfcf, 0x1207, 0xfcf, 0x1207, -0xfcf, 0x1390, 0x1137, 0x1390, 0x1137, 0x14dc, 0x1267, 0x14dc, 0x1267, 0x15da, 0x1351, -0x15da, 0x1351, 0x1647, 0x13af, 0x1647, 0x13af, 0x169d, 0x13fc, 0x169d, 0x13fc, 0x16fc, -0x1458, 0x16fc, 0x1458, 0x16fc, 0x1458, 0x1745, 0x14a2, 0x1745, 0x14a2, 0x174b, 0x14ad, -0x174b, 0x14ad, 0x1723, 0x148e, 0x1723, 0x148e, 0x1740, 0x14b8, 0x1740, 0x14b8, 0x174a, -0x14d2, 0x174a, 0x14d2, 0x174a, 0x14d2, 0x1724, 0x14bd, 0x1724, 0x14bd, 0x16b8, 0x1463, -0x16b8, 0x1463, 0x161c, 0x13dc, 0x161c, 0x13dc, 0x15cf, 0x13a3, 0x15cf, 0x13a3, 0x15ba, -0x13a4, 0x15ba, 0x13a4, 0x15e3, 0x13e2, 0x15e3, 0x13e2, 0x15e3, 0x13e2, 0x15f9, 0x140d, -0x15f9, 0x140d, 0x15d0, 0x13fa, 0x15d0, 0x13fa, 0x157d, 0x13bc, 0x157d, 0x13bc, 0x150a, -0x135f, 0x150a, 0x135f, 0x14af, 0x131a, 0x14af, 0x131a, 0x1427, 0x12a9, 0x1427, 0x12a9, -0x1427, 0x12a9, 0x1360, 0x11f8, 0x1360, 0x11f8, 0x1228, 0x10d7, 0x1228, 0x10d7, 0x1085, -0xf4c, 0x1085, 0xf4c, 0xee7, 0xdc7, 0xee7, 0xdc7, 0xd4e, 0xc46, 0xd4e, 0xc46, -0xd4e, 0xc46, 0xbf5, 0xb07, 0xbf5, 0xb07, 0xae9, 0xa15, 0xae9, 0xa15, 0x9fb, -0x942, 0x9fb, 0x942, 0x938, 0x899, 0x938, 0x899, 0x8ca, 0x845, 0x8ca, 0x845, -0x8cb, 0x85e, 0x8cb, 0x85e, 0x8cb, 0x85e, 0x8ee, 0x89b, 0x8ee, 0x89b, 0x913, -0x8d7, 0x913, 0x8d7, 0x905, 0x8e0, 0x905, 0x8e0, 0x882, 0x873, 0x882, 0x873, -0x7b4, 0x7b9, 0x7b4, 0x7b9, 0x6cc, 0x6e4, 0x6cc, 0x6e4, 0x6cc, 0x6e4, 0x5e5, -0x60f, 0x5e5, 0x60f, 0x49b, 0x4d6, 0x49b, 0x4d6, 0x2e7, 0x331, 0x2e7, 0x331, -0x1a1, 0x1fa, 0x1a1, 0x1fa, 0xd1, 0x139, 0xd1, 0x139, 0xd1, 0x139, 0xffe5, -0x5a, 0xffe5, 0x5a, 0xfe85, 0xff08, 0xfe85, 0xff08, 0xfcc9, 0xfd59, 0xfcc9, 0xfd59, -0xfafe, 0xfb9c, 0xfafe, 0xfb9c, 0xf931, 0xf9de, 0xf931, 0xf9de, 0xf7e9, 0xf8a6, 0xf7e9, -0xf8a6, 0xf7e9, 0xf8a6, 0xf725, 0xf7f2, 0xf725, 0xf7f2, 0xf670, 0xf74f, 0xf670, 0xf74f, -0xf59b, 0xf68c, 0xf59b, 0xf68c, 0xf480, 0xf584, 0xf480, 0xf584, 0xf35d, 0xf474, 0xf35d, -0xf474, 0xf1e1, 0xf30b, 0xf1e1, 0xf30b, 0xf1e1, 0xf30b, 0xf039, 0xf176, 0xf039, 0xf176, -0xeefc, 0xf04c, 0xeefc, 0xf04c, 0xee15, 0xef75, 0xee15, 0xef75, 0xed5e, 0xeecd, 0xed5e, -0xeecd, 0xec8a, 0xee06, 0xec8a, 0xee06, 0xec8a, 0xee06, 0xebca, 0xed50, 0xebca, 0xed50, -0xeaf4, 0xec81, 0xeaf4, 0xec81, 0xe9d3, 0xeb64, 0xe9d3, 0xeb64, 0xe8be, 0xea4f, 0xe8be, -0xea4f, 0xe7a2, 0xe930, 0xe7a2, 0xe930, 0xe6ac, 0xe834, 0xe6ac, 0xe834, 0xe6ac, 0xe834, -0xe615, 0xe793, 0xe615, 0xe793, 0xe60f, 0xe780, 0xe60f, 0xe780, 0xe661, 0xe7c2, 0xe661, -0xe7c2, 0xe6db, 0xe82b, 0xe6db, 0xe82b, 0xe7c6, 0xe903, 0xe7c6, 0xe903, 0xe7c6, 0xe903, -0xe8bf, 0xe9e8, 0xe8bf, 0xe9e8, 0xe965, 0xea79, 0xe965, 0xea79, 0xe9f0, 0xeaf0, 0xe9f0, -0xeaf0, 0xeae7, 0xebd4, 0xeae7, 0xebd4, 0xec47, 0xed23, 0xec47, 0xed23, 0xedb2, 0xee7e, -0xedb2, 0xee7e, 0xedb2, 0xee7e, 0xeed6, 0xef95, 0xeed6, 0xef95, 0xef88, 0xf03b, 0xef88, -0xf03b, 0xf00e, 0xf0b9, 0xf00e, 0xf0b9, 0xf073, 0xf119, 0xf073, 0xf119, 0xf0ca, 0xf16c, -0xf0ca, 0xf16c, 0xf176, 0xf217, 0xf176, 0xf217, 0xf176, 0xf217, 0xf28b, 0xf32d, 0xf28b, -0xf32d, 0xf3bd, 0xf460, 0xf3bd, 0xf460, 0xf50b, 0xf5b0, 0xf50b, 0xf5b0, 0xf689, 0xf730, -0xf689, 0xf730, 0xf7d2, 0xf87a, 0xf7d2, 0xf87a, 0xf7d2, 0xf87a, 0xf8c8, 0xf96f, 0xf8c8, -0xf96f, 0xf9b2, 0xfa56, 0xf9b2, 0xfa56, 0xfad4, 0xfb72, 0xfad4, 0xfb72, 0xfc47, 0xfcdc, -0xfc47, 0xfcdc, 0xfddb, 0xfe63, 0xfddb, 0xfe63, 0xff1a, 0xff92, 0xff1a, 0xff92, 0xff1a, -0xff92, 0xffe8, 0x4b, 0xffe8, 0x4b, 0x85, 0xcf, 0x85, 0xcf, 0x135, 0x164, -0x135, 0x164, 0x24e, 0x25f, 0x24e, 0x25f, 0x40a, 0x3fa, 0x40a, 0x3fa, 0x6a4, -0x671, 0x6a4, 0x671, 0x6a4, 0x671, 0x9bf, 0x96a, 0x9bf, 0x96a, 0xcc6, 0xc4e, -0xcc6, 0xc4e, 0xf18, 0xe7e, 0xf18, 0xe7e, 0x1074, 0xfba, 0x1074, 0xfba, 0x1171, -0x109a, 0x1171, 0x109a, 0x1171, 0x109a, 0x11f9, 0x1109, 0x11f9, 0x1109, 0x1218, 0x1112, -0x1218, 0x1112, 0x1219, 0x1104, 0x1219, 0x1104, 0x1237, 0x1118, 0x1237, 0x1118, 0x126e, -0x114a, 0x126e, 0x114a, 0x122a, 0x1107, 0x122a, 0x1107, 0x122a, 0x1107, 0x117e, 0x1062, -0x117e, 0x1062, 0x1058, 0xf48, 0x1058, 0xf48, 0xee6, 0xde8, 0xee6, 0xde8, 0xd3a, -0xc52, 0xd3a, 0xc52, 0xb34, 0xa67, 0xb34, 0xa67, 0x926, 0x877, 0x926, 0x877, -0x926, 0x877, 0x6e8, 0x65a, 0x6e8, 0x65a, 0x4f1, 0x486, 0x4f1, 0x486, 0x36e, -0x328, 0x36e, 0x328, 0x26e, 0x24e, 0x26e, 0x24e, 0x20c, 0x212, 0x20c, 0x212, -0x20c, 0x212, 0x190, 0x1bb, 0x190, 0x1bb, 0xad, 0xfd, 0xad, 0xfd, 0xff7e, -0xfff2, 0xff7e, 0xfff2, 0xfe7b, 0xff12, 0xfe7b, 0xff12, 0xfd8f, 0xfe47, 0xfd8f, 0xfe47, -0xfc45, 0xfd1d, 0xfc45, 0xfd1d, 0xfc45, 0xfd1d, 0xfad9, 0xfbd0, 0xfad9, 0xfbd0, 0xf9b7, -0xfacc, 0xf9b7, 0xfacc, 0xf8ff, 0xfa30, 0xf8ff, 0xfa30, 0xf82b, 0xf977, 0xf82b, 0xf977, -0xf71d, 0xf884, 0xf71d, 0xf884, 0xf5f7, 0xf778, 0xf5f7, 0xf778, 0xf5f7, 0xf778, 0xf4a6, -0xf640, 0xf4a6, 0xf640, 0xf38d, 0xf53f, 0xf38d, 0xf53f, 0xf2d9, 0xf4a2, 0xf2d9, 0xf4a2, -0xf23a, 0xf41a, 0xf23a, 0xf41a, 0xf1c3, 0xf3b6, 0xf1c3, 0xf3b6, 0xf1c3, 0xf3b6, 0xf19a, -0xf3a0, 0xf19a, 0xf3a0, 0xf183, 0xf398, 0xf183, 0xf398, 0xf163, 0xf384, 0xf163, 0xf384, -0xf13e, 0xf369, 0xf13e, 0xf369, 0xf161, 0xf38f, 0xf161, 0xf38f, 0xf1f7, 0xf425, 0xf1f7, -0xf425, 0xf1f7, 0xf425, 0xf2e4, 0xf50b, 0xf2e4, 0xf50b, 0xf405, 0xf61f, 0xf405, 0xf61f, -0xf536, 0xf73c, 0xf536, 0xf73c, 0xf67f, 0xf86b, 0xf67f, 0xf86b, 0xf7d5, 0xf99f, 0xf7d5, -0xf99f, 0xf959, 0xfaf9, 0xf959, 0xfaf9, 0xf959, 0xfaf9, 0xfac1, 0xfc30, 0xfac1, 0xfc30, -0xfc03, 0xfd3b, 0xfc03, 0xfd3b, 0xfd78, 0xfe72, 0xfd78, 0xfe72, 0xfef4, 0xffaa, 0xfef4, -0xffaa, 0x60, 0xcd, 0x60, 0xcd, 0x60, 0xcd, 0x15d, 0x17e, 0x15d, 0x17e, -0x20f, 0x1e0, 0x20f, 0x1e0, 0x2bd, 0x23b, 0x2bd, 0x23b, 0x396, 0x2c2, 0x396, -0x2c2, 0x4ce, 0x3a8, 0x4ce, 0x3a8, 0x643, 0x4cc, 0x643, 0x4cc, 0x643, 0x4cc, -0x815, 0x651, 0x815, 0x651, 0x9dd, 0x7ce, 0x9dd, 0x7ce, 0xba5, 0x952, 0xba5, -0x952, 0xd99, 0xb05, 0xd99, 0xb05, 0xf52, 0xc86, 0xf52, 0xc86, 0x10b1, 0xdb2, -0x10b1, 0xdb2, 0x10b1, 0xdb2, 0x11bf, 0xe94, 0x11bf, 0xe94, 0x12f8, 0xfa9, 0x12f8, -0xfa9, 0x13fd, 0x1092, 0x13fd, 0x1092, 0x146c, 0x10eb, 0x146c, 0x10eb, 0x1469, 0x10da, -0x1469, 0x10da, 0x1469, 0x10da, 0x1438, 0x10a1, 0x1438, 0x10a1, 0x1460, 0x10c8, 0x1460, -0x10c8, 0x1477, 0x10e5, 0x1477, 0x10e5, 0x141a, 0x1093, 0x141a, 0x1093, 0x135e, 0xfe6, -0x135e, 0xfe6, 0x1295, 0xf32, 0x1295, 0xf32, 0x1295, 0xf32, 0x11ea, 0xea0, 0x11ea, -0xea0, 0x1165, 0xe37, 0x1165, 0xe37, 0x1152, 0xe42, 0x1152, 0xe42, 0x1168, 0xe7b, -0x1168, 0xe7b, 0x1184, 0xebb, 0x1184, 0xebb, 0x119b, 0xef8, 0x119b, 0xef8, 0x119b, -0xef8, 0x114a, 0xecf, 0x114a, 0xecf, 0x108b, 0xe3a, 0x108b, 0xe3a, 0xfff, 0xdd8, -0xfff, 0xdd8, 0xfe5, 0xdeb, 0xfe5, 0xdeb, 0xf87, 0xdba, 0xf87, 0xdba, 0xf87, -0xdba, 0xeb9, 0xd19, 0xeb9, 0xd19, 0xdea, 0xc79, 0xdea, 0xc79, 0xcfa, 0xbb8, -0xcfa, 0xbb8, 0xba2, 0xa8d, 0xba2, 0xa8d, 0xa41, 0x95a, 0xa41, 0x95a, 0x90a, -0x851, 0x90a, 0x851, 0x90a, 0x851, 0x7d7, 0x74a, 0x7d7, 0x74a, 0x6f5, 0x692, -0x6f5, 0x692, 0x6c4, 0x68a, 0x6c4, 0x68a, 0x732, 0x71e, 0x732, 0x71e, 0x7b6, -0x7c7, 0x7b6, 0x7c7, 0x7ee, 0x821, 0x7ee, 0x821, 0x7ee, 0x821, 0x7be, 0x810, -0x7be, 0x810, 0x766, 0x7d4, 0x766, 0x7d4, 0x6e6, 0x76c, 0x6e6, 0x76c, 0x5bf, -0x65b, 0x5bf, 0x65b, 0x3f4, 0x4a4, 0x3f4, 0x4a4, 0x3f4, 0x4a4, 0x1e9, 0x2a9, -0x1e9, 0x2a9, 0x44, 0x113, 0x44, 0x113, 0xff4b, 0x26, 0xff4b, 0x26, 0xfeed, -0xffd3, 0xfeed, 0xffd3, 0xfeed, 0xffdd, 0xfeed, 0xffdd, 0xfee2, 0xffda, 0xfee2, 0xffda, -0xfee2, 0xffda, 0xfe9f, 0xffa0, 0xfe9f, 0xffa0, 0xfda9, 0xfeb3, 0xfda9, 0xfeb3, 0xfc30, -0xfd43, 0xfc30, 0xfd43, 0xfa91, 0xfbad, 0xfa91, 0xfbad, 0xf909, 0xfa30, 0xf909, 0xfa30, -0xf909, 0xfa30, 0xf7e9, 0xf91b, 0xf7e9, 0xf91b, 0xf6f8, 0xf836, 0xf6f8, 0xf836, 0xf621, -0xf76d, 0xf621, 0xf76d, 0xf522, 0xf67c, 0xf522, 0xf67c, 0xf40b, 0xf573, 0xf40b, 0xf573, -0xf30a, 0xf480, 0xf30a, 0xf480, 0xf30a, 0xf480, 0xf206, 0xf38a, 0xf206, 0xf38a, 0xf0e1, -0xf272, 0xf0e1, 0xf272, 0xef7a, 0xf115, 0xef7a, 0xf115, 0xee62, 0xf007, 0xee62, 0xf007, -0xed91, 0xef3e, 0xed91, 0xef3e, 0xecbf, 0xee70, 0xecbf, 0xee70, 0xecbf, 0xee70, 0xec08, -0xedba, 0xec08, 0xedba, 0xeb7b, 0xed2b, 0xeb7b, 0xed2b, 0xeb57, 0xed01, 0xeb57, 0xed01, -0xeb70, 0xed12, 0xeb70, 0xed12, 0xebb6, 0xed4b, 0xebb6, 0xed4b, 0xebb6, 0xed4b, 0xec1a, -0xeda0, 0xec1a, 0xeda0, 0xec87, 0xedfb, 0xec87, 0xedfb, 0xed32, 0xee93, 0xed32, 0xee93, -0xee11, 0xef5d, 0xee11, 0xef5d, 0xeee6, 0xf01c, 0xeee6, 0xf01c, 0xef6f, 0xf08f, 0xef6f, -0xf08f, 0xef6f, 0xf08f, 0xf001, 0xf10c, 0xf001, 0xf10c, 0xf103, 0xf1fa, 0xf103, 0xf1fa, -0xf27b, 0xf360, 0xf27b, 0xf360, 0xf438, 0xf50d, 0xf438, 0xf50d, 0xf586, 0xf64e, 0xf586, -0xf64e, 0xf603, 0xf6c2, 0xf603, 0xf6c2, 0xf603, 0xf6c2, 0xf5f5, 0xf6ac, 0xf5f5, 0xf6ac, -0xf5c5, 0xf679, 0xf5c5, 0xf679, 0xf5fb, 0xf6ae, 0xf5fb, 0xf6ae, 0xf6b2, 0xf767, 0xf6b2, -0xf767, 0xf7a8, 0xf861, 0xf7a8, 0xf861, 0xf7a8, 0xf861, 0xf8d4, 0xf992, 0xf8d4, 0xf992, -0xfa35, 0xfafa, 0xfa35, 0xfafa, 0xfb84, 0xfc4f, 0xfb84, 0xfc4f, 0xfc71, 0xfd41, 0xfc71, -0xfd41, 0xfd34, 0xfe07, 0xfd34, 0xfe07, 0xfe34, 0xff09, 0xfe34, 0xff09, 0xfe34, 0xff09, -0xff53, 0x26, 0xff53, 0x26, 0x53, 0x120, 0x53, 0x120, 0x12d, 0x1f0, 0x12d, -0x1f0, 0x1ee, 0x2a2, 0x1ee, 0x2a2, 0x269, 0x30b, 0x269, 0x30b, 0x2c3, 0x34e, -0x2c3, 0x34e, 0x2c3, 0x34e, 0x348, 0x3b8, 0x348, 0x3b8, 0x3f2, 0x443, 0x3f2, -0x443, 0x540, 0x56f, 0x540, 0x56f, 0x74c, 0x757, 0x74c, 0x757, 0x94a, 0x930, -0x94a, 0x930, 0x94a, 0x930, 0xaaa, 0xa6b, 0xaaa, 0xa6b, 0xb9b, 0xb37, 0xb9b, -0xb37, 0xc78, 0xbf1, 0xc78, 0xbf1, 0xce1, 0xc3b, 0xce1, 0xc3b, 0xcdb, 0xc19, -0xcdb, 0xc19, 0xcdd, 0xc04, 0xcdd, 0xc04, 0xcdd, 0xc04, 0xcf0, 0xc05, 0xcf0, -0xc05, 0xd0c, 0xc15, 0xd0c, 0xc15, 0xd2c, 0xc30, 0xd2c, 0xc30, 0xd1f, 0xc23, -0xd1f, 0xc23, 0xc4a, 0xb55, 0xc4a, 0xb55, 0xae1, 0x9fa, 0xae1, 0x9fa, 0xae1, -0x9fa, 0x981, 0x8ac, 0x981, 0x8ac, 0x812, 0x755, 0x812, 0x755, 0x662, 0x5c1, -0x662, 0x5c1, 0x403, 0x382, 0x403, 0x382, 0x13e, 0xde, 0x13e, 0xde, 0x13e, -0xde, 0xfee7, 0xfeac, 0xfee7, 0xfeac, 0xfd29, 0xfd12, 0xfd29, 0xfd12, 0xfbcb, 0xfbd8, -0xfbcb, 0xfbd8, 0xfa9e, 0xface, 0xfa9e, 0xface, 0xf9ab, 0xf9fd, 0xf9ab, 0xf9fd, 0xf8a7, -0xf918, 0xf8a7, 0xf918, 0xf8a7, 0xf918, 0xf77b, 0xf809, 0xf77b, 0xf809, 0xf65d, 0xf704, -0xf65d, 0xf704, 0xf535, 0xf5f3, 0xf535, 0xf5f3, 0xf41b, 0xf4ed, 0xf41b, 0xf4ed, 0xf303, -0xf3e4, 0xf303, 0xf3e4, 0xf206, 0xf2f6, 0xf206, 0xf2f6, 0xf206, 0xf2f6, 0xf13d, 0xf237, -0xf13d, 0xf237, 0xf0a9, 0xf1ad, 0xf0a9, 0xf1ad, 0xf059, 0xf164, 0xf059, 0xf164, 0xeffc, -0xf10e, 0xeffc, 0xf10e, 0xefa2, 0xf0ba, 0xefa2, 0xf0ba, 0xefa2, 0xf0ba, 0xef38, 0xf055, -0xef38, 0xf055, 0xee6a, 0xef8c, 0xee6a, 0xef8c, 0xed72, 0xee9a, 0xed72, 0xee9a, 0xecd6, -0xee03, 0xecd6, 0xee03, 0xecca, 0xedfd, 0xecca, 0xedfd, 0xecee, 0xee27, 0xecee, 0xee27, -0xecee, 0xee27, 0xed2a, 0xee67, 0xed2a, 0xee67, 0xedbc, 0xeefd, 0xedbc, 0xeefd, 0xeec0, -0xf004, 0xeec0, 0xf004, 0xeff9, 0xf13d, 0xeff9, 0xf13d, 0xf109, 0xf24b, 0xf109, 0xf24b, -0xf23c, 0xf377, 0xf23c, 0xf377, 0xf23c, 0xf377, 0xf3b9, 0xf4ea, 0xf3b9, 0xf4ea, 0xf52a, -0xf64d, 0xf52a, 0xf64d, 0xf676, 0xf786, 0xf676, 0xf786, 0xf7bb, 0xf8b2, 0xf7bb, 0xf8b2, -0xf936, 0xfa0f, 0xf936, 0xfa0f, 0xf936, 0xfa0f, 0xfb15, 0xfbc9, 0xfb15, 0xfbc9, 0xfd55, -0xfddf, 0xfd55, 0xfddf, 0xffc3, 0x1e, 0xffc3, 0x1e, 0x215, 0x23b, 0x215, 0x23b, -0x423, 0x40f, 0x423, 0x40f, 0x5d9, 0x587, 0x5d9, 0x587, 0x5d9, 0x587, 0x76f, -0x6de, 0x76f, 0x6de, 0x92c, 0x858, 0x92c, 0x858, 0xabd, 0x9a5, 0xabd, 0x9a5, -0xbe9, 0xa8c, 0xbe9, 0xa8c, 0xcfa, 0xb59, 0xcfa, 0xb59, 0xe77, 0xc95, 0xe77, -0xc95, 0xe77, 0xc95, 0x1089, 0xe67, 0x1089, 0xe67, 0x12b3, 0x1056, 0x12b3, 0x1056, -0x149e, 0x1209, 0x149e, 0x1209, 0x1630, 0x1369, 0x1630, 0x1369, 0x1796, 0x14a2, 0x1796, -0x14a2, 0x1796, 0x14a2, 0x18a5, 0x158a, 0x18a5, 0x158a, 0x1914, 0x15d8, 0x1914, 0x15d8, -0x1954, 0x15fe, 0x1954, 0x15fe, 0x1990, 0x1625, 0x1990, 0x1625, 0x19b5, 0x163d, 0x19b5, -0x163d, 0x19ca, 0x164a, 0x19ca, 0x164a, 0x19ca, 0x164a, 0x1a0c, 0x168a, 0x1a0c, 0x168a, -0x1a4d, 0x16cf, 0x1a4d, 0x16cf, 0x1a22, 0x16ad, 0x1a22, 0x16ad, 0x19e4, 0x167d, 0x19e4, -0x167d, 0x1969, 0x1613, 0x1969, 0x1613, 0x1890, 0x1550, 0x1890, 0x1550, 0x1890, 0x1550, -0x17ed, 0x14c7, 0x17ed, 0x14c7, 0x17ed, 0x14e4, 0x17ed, 0x14e4, 0x1826, 0x153d, 0x1826, -0x153d, 0x17cd, 0x1506, 0x17cd, 0x1506, 0x1712, 0x146f, 0x1712, 0x146f, 0x1712, 0x146f, -0x163f, 0x13c3, 0x163f, 0x13c3, 0x1579, 0x1325, 0x1579, 0x1325, 0x14c3, 0x1298, 0x14c3, -0x1298, 0x13f6, 0x11f6, 0x13f6, 0x11f6, 0x1312, 0x113f, 0x1312, 0x113f, 0x11d7, 0x1030, -0x11d7, 0x1030, 0x11d7, 0x1030, 0x106c, 0xef2, 0x106c, 0xef2, 0xeea, 0xd9e, 0xeea, -0xd9e, 0xd3b, 0xc1b, 0xd3b, 0xc1b, 0xb7d, 0xa8a, 0xb7d, 0xa8a, 0x9f5, 0x92e, -0x9f5, 0x92e, 0x9f5, 0x92e, 0x945, 0x8a9, 0x945, 0x8a9, 0x970, 0x8fc, 0x970, -0x8fc, 0x9ad, 0x961, 0x9ad, 0x961, 0x97f, 0x958, 0x97f, 0x958, 0x936, 0x931, -0x936, 0x931, 0x900, 0x91b, 0x900, 0x91b, 0x900, 0x91b, 0x866, 0x89e, 0x866, -0x89e, 0x740, 0x793, 0x740, 0x793, 0x5b0, 0x61b, 0x5b0, 0x61b, 0x3ee, 0x46e, -0x3ee, 0x46e, 0x247, 0x2d9, 0x247, 0x2d9, 0xd1, 0x174, 0xd1, 0x174, 0xd1, -0x174, 0xffac, 0x5e, 0xffac, 0x5e, 0xfee3, 0xffa2, 0xfee3, 0xffa2, 0xfe36, 0xff01, -0xfe36, 0xff01, 0xfd6d, 0xfe44, 0xfd6d, 0xfe44, 0xfc41, 0xfd24, 0xfc41, 0xfd24, 0xfc41, -0xfd24, 0xfaa4, 0xfb93, 0xfaa4, 0xfb93, 0xf8d6, 0xf9d2, 0xf8d6, 0xf9d2, 0xf71d, 0xf828, -0xf71d, 0xf828, 0xf5e5, 0xf6ff, 0xf5e5, 0xf6ff, 0xf535, 0xf65f, 0xf535, 0xf65f, 0xf4c0, -0xf5fd, 0xf4c0, 0xf5fd, 0xf4c0, 0xf5fd, 0xf433, 0xf584, 0xf433, 0xf584, 0xf364, 0xf4ca, -0xf364, 0xf4ca, 0xf25a, 0xf3d5, 0xf25a, 0xf3d5, 0xf132, 0xf2c3, 0xf132, 0xf2c3, 0xf016, -0xf1bd, 0xf016, 0xf1bd, 0xeebc, 0xf079, 0xeebc, 0xf079, 0xeebc, 0xf079, 0xed55, 0xef26, -0xed55, 0xef26, 0xec41, 0xee23, 0xec41, 0xee23, 0xeb64, 0xed56, 0xeb64, 0xed56, 0xeadd, -0xecdc, 0xeadd, 0xecdc, 0xea81, 0xec8a, 0xea81, 0xec8a, 0xea81, 0xec8a, 0xea1a, 0xec29, -0xea1a, 0xec29, 0xe984, 0xeb94, 0xe984, 0xeb94, 0xe8ca, 0xead8, 0xe8ca, 0xead8, 0xe827, -0xea2e, 0xe827, 0xea2e, 0xe7c5, 0xe9c2, 0xe7c5, 0xe9c2, 0xe7ec, 0xe9da, 0xe7ec, 0xe9da, -0xe7ec, 0xe9da, 0xe87b, 0xea59, 0xe87b, 0xea59, 0xe936, 0xeaff, 0xe936, 0xeaff, 0xe9db, -0xeb8e, 0xe9db, 0xeb8e, 0xea66, 0xec02, 0xea66, 0xec02, 0xeb28, 0xecac, 0xeb28, 0xecac, -0xec4c, 0xedb9, 0xec4c, 0xedb9, 0xec4c, 0xedb9, 0xedfa, 0xef51, 0xedfa, 0xef51, 0xefa2, -0xf0e5, 0xefa2, 0xf0e5, 0xf0a5, 0xf1d6, 0xf0a5, 0xf1d6, 0xf11b, 0xf23c, 0xf11b, 0xf23c, -0xf12f, 0xf243, 0xf12f, 0xf243, 0xf12f, 0xf243, 0xf137, 0xf242, 0xf137, 0xf242, 0xf171, -0xf276, 0xf171, 0xf276, 0xf1fe, 0xf300, 0xf1fe, 0xf300, 0xf2eb, 0xf3ec, 0xf2eb, 0xf3ec, -0xf40f, 0xf511, 0xf40f, 0xf511, 0xf537, 0xf63c, 0xf537, 0xf63c, 0xf537, 0xf63c, 0xf663, -0xf76b, 0xf663, 0xf76b, 0xf7cf, 0xf8da, 0xf7cf, 0xf8da, 0xf945, 0xfa52, 0xf945, 0xfa52, -0xfab1, 0xfbbf, 0xfab1, 0xfbbf, 0xfc24, 0xfd2f, 0xfc24, 0xfd2f, 0xfd38, 0xfe3d, 0xfd38, -0xfe3d, 0xfd38, 0xfe3d, 0xfde4, 0xfedf, 0xfde4, 0xfedf, 0xfe5b, 0xff48, 0xfe5b, 0xff48, -0xfeb8, 0xff92, 0xfeb8, 0xff92, 0xff3d, 0xffff, 0xff3d, 0xffff, 0x29, 0xcf, 0x29, -0xcf, 0x29, 0xcf, 0x1c9, 0x24e, 0x1c9, 0x24e, 0x40a, 0x46b, 0x40a, 0x46b, -0x682, 0x6bb, 0x682, 0x6bb, 0x8df, 0x8ee, 0x8df, 0x8ee, 0xad1, 0xab5, 0xad1, -0xab5, 0xc30, 0xbe8, 0xc30, 0xbe8, 0xc30, 0xbe8, 0xd03, 0xc91, 0xd03, 0xc91, -0xd97, 0xcfd, 0xd97, 0xcfd, 0xe19, 0xd5a, 0xe19, 0xd5a, 0xe8b, 0xdaa, 0xe8b, -0xdaa, 0xf05, 0xe08, 0xf05, 0xe08, 0xf6e, 0xe5b, 0xf6e, 0xe5b, 0xf6e, 0xe5b, -0xfcf, 0xeab, 0xfcf, 0xeab, 0xfb4, 0xe87, 0xfb4, 0xe87, 0xeeb, 0xdbb, 0xeeb, -0xdbb, 0xe1b, 0xcf0, 0xe1b, 0xcf0, 0xd42, 0xc21, 0xd42, 0xc21, 0xd42, 0xc21, -0xbda, 0xaca, 0xbda, 0xaca, 0x9a9, 0x8b0, 0x9a9, 0x8b0, 0x733, 0x656, 0x733, -0x656, 0x502, 0x445, 0x502, 0x445, 0x32c, 0x292, 0x32c, 0x292, 0x1a1, 0x12e, -0x1a1, 0x12e, 0x1a1, 0x12e, 0x85, 0x39, 0x85, 0x39, 0x26, 0x3, 0x26, -0x3, 0x8, 0xd, 0x8, 0xd, 0xff7f, 0xffaa, 0xff7f, 0xffaa, 0xfe79, 0xfeca, -0xfe79, 0xfeca, 0xfd26, 0xfd9a, 0xfd26, 0xfd9a, 0xfd26, 0xfd9a, 0xfbb8, 0xfc4d, 0xfbb8, -0xfc4d, 0xfa6b, 0xfb1e, 0xfa6b, 0xfb1e, 0xf965, 0xfa34, 0xf965, 0xfa34, 0xf875, 0xf95d, -0xf875, 0xf95d, 0xf78c, 0xf88a, 0xf78c, 0xf88a, 0xf78c, 0xf88a, 0xf6ee, 0xf800, 0xf6ee, -0xf800, 0xf680, 0xf7a4, 0xf680, 0xf7a4, 0xf5f3, 0xf726, 0xf5f3, 0xf726, 0xf539, 0xf67b, -0xf539, 0xf67b, 0xf43e, 0xf58d, 0xf43e, 0xf58d, 0xf30c, 0xf467, 0xf30c, 0xf467, 0xf30c, -0xf467, 0xf1f1, 0xf357, 0xf1f1, 0xf357, 0xf15c, 0xf2cc, 0xf15c, 0xf2cc, 0xf136, 0xf2ae, -0xf136, 0xf2ae, 0xf133, 0xf2b3, 0xf133, 0xf2b3, 0xf18f, 0xf315, 0xf18f, 0xf315, 0xf22c, -0xf3b6, 0xf22c, 0xf3b6, 0xf22c, 0xf3b6, 0xf29f, 0xf42b, 0xf29f, 0xf42b, 0xf2c8, 0xf453, -0xf2c8, 0xf453, 0xf318, 0xf49e, 0xf318, 0xf49e, 0xf3df, 0xf55d, 0xf3df, 0xf55d, 0xf505, -0xf676, 0xf505, 0xf676, 0xf505, 0xf676, 0xf671, 0xf7d1, 0xf671, 0xf7d1, 0xf7ce, 0xf917, -0xf7ce, 0xf917, 0xf924, 0xfa50, 0xf924, 0xfa50, 0xfa95, 0xfb9f, 0xfa95, 0xfb9f, 0xfc06, -0xfce7, 0xfc06, 0xfce7, 0xfd6d, 0xfe20, 0xfd6d, 0xfe20, 0xfd6d, 0xfe20, 0xfea9, 0xff27, -0xfea9, 0xff27, 0xffc3, 0x9, 0xffc3, 0x9, 0xc0, 0xc8, 0xc0, 0xc8, 0x1c6, -0x18e, 0x1c6, 0x18e, 0x30b, 0x28e, 0x30b, 0x28e, 0x43c, 0x379, 0x43c, 0x379, -0x43c, 0x379, 0x570, 0x466, 0x570, 0x466, 0x6d0, 0x57e, 0x6d0, 0x57e, 0x858, -0x6bf, 0x858, 0x6bf, 0xa0f, 0x832, 0xa0f, 0x832, 0xbfa, 0x9dc, 0xbfa, 0x9dc, -0xbfa, 0x9dc, 0xe18, 0xbbd, 0xe18, 0xbbd, 0x101d, 0xd89, 0x101d, 0xd89, 0x11da, -0xf13, 0x11da, 0xf13, 0x12eb, 0xff7, 0x12eb, 0xff7, 0x1360, 0x1045, 0x1360, 0x1045, -0x13b4, 0x1079, 0x13b4, 0x1079, 0x13b4, 0x1079, 0x1413, 0x10c0, 0x1413, 0x10c0, 0x1497, -0x1132, 0x1497, 0x1132, 0x1509, 0x1199, 0x1509, 0x1199, 0x155b, 0x11e7, 0x155b, 0x11e7, -0x1569, 0x11f7, 0x1569, 0x11f7, 0x1569, 0x11f7, 0x1526, 0x11bd, 0x1526, 0x11bd, 0x14c3, -0x1168, 0x14c3, 0x1168, 0x1445, 0x10fc, 0x1445, 0x10fc, 0x138e, 0x105e, 0x138e, 0x105e, -0x12de, 0xfc9, 0x12de, 0xfc9, 0x12a7, 0xfb1, 0x12a7, 0xfb1, 0x12a7, 0xfb1, 0x12b7, -0xfe3, 0x12b7, 0xfe3, 0x12d6, 0x1027, 0x12d6, 0x1027, 0x12c2, 0x1039, 0x12c2, 0x1039, -0x1246, 0xfe6, 0x1246, 0xfe6, 0x118b, 0xf55, 0x118b, 0xf55, 0x10d0, 0xec5, 0x10d0, -0xec5, 0x10d0, 0xec5, 0x1030, 0xe50, 0x1030, 0xe50, 0xf9d, 0xde7, 0xf9d, 0xde7, -0xee7, 0xd5c, 0xee7, 0xd5c, 0xde9, 0xc88, 0xde9, 0xc88, 0xcd0, 0xb97, 0xcd0, -0xb97, 0xcd0, 0xb97, 0xb5f, 0xa4e, 0xb5f, 0xa4e, 0x993, 0x8a8, 0x993, 0x8a8, -0x801, 0x73a, 0x801, 0x73a, 0x70d, 0x667, 0x70d, 0x667, 0x6af, 0x629, 0x6af, -0x629, 0x6a8, 0x63d, 0x6a8, 0x63d, 0x6a8, 0x63d, 0x6ee, 0x69d, 0x6ee, 0x69d, -0x734, 0x6f9, 0x734, 0x6f9, 0x733, 0x70a, 0x733, 0x70a, 0x6c4, 0x6ac, 0x6c4, -0x6ac, 0x611, 0x605, 0x611, 0x605, 0x53c, 0x53a, 0x53c, 0x53a, 0x53c, 0x53a, -0x3c1, 0x3c6, 0x3c1, 0x3c6, 0x1f1, 0x1fb, 0x1f1, 0x1fb, 0x45, 0x53, 0x45, -0x53, 0xfecb, 0xfedb, 0xfecb, 0xfedb, 0xfdd7, 0xfde9, 0xfdd7, 0xfde9, 0xfdd7, 0xfde9, -0xfdb5, 0xfdc9, 0xfdb5, 0xfdc9, 0xfe19, 0xfe30, 0xfe19, 0xfe30, 0xfdf7, 0xfe13, 0xfdf7, -0xfe13, 0xfd43, 0xfd65, 0xfd43, 0xfd65, 0xfc63, 0xfc8e, 0xfc63, 0xfc8e, 0xfb4b, 0xfb82, -0xfb4b, 0xfb82, 0xfb4b, 0xfb82, 0xf9ed, 0xfa35, 0xf9ed, 0xfa35, 0xf892, 0xf8ee, 0xf892, -0xf8ee, 0xf7bb, 0xf82e, 0xf7bb, 0xf82e, 0xf6f4, 0xf782, 0xf6f4, 0xf782, 0xf62c, 0xf6d9, -0xf62c, 0xf6d9, 0xf580, 0xf64f, 0xf580, 0xf64f, 0xf580, 0xf64f, 0xf4a9, 0xf59e, 0xf4a9, -0xf59e, 0xf39b, 0xf4b7, 0xf39b, 0xf4b7, 0xf276, 0xf3bb, 0xf276, 0xf3bb, 0xf179, 0xf2e7, -0xf179, 0xf2e7, 0xf07a, 0xf211, 0xf07a, 0xf211, 0xf07a, 0xf211, 0xef96, 0xf154, 0xef96, -0xf154, 0xef08, 0xf0ec, 0xef08, 0xf0ec, 0xef0c, 0xf112, 0xef0c, 0xf112, 0xef49, 0xf16d, -0xef49, 0xf16d, 0xef20, 0xf15d, 0xef20, 0xf15d, 0xee97, 0xf0e9, 0xee97, 0xf0e9, 0xee97, -0xf0e9, 0xede8, 0xf048, 0xede8, 0xf048, 0xed5c, 0xefc5, 0xed5c, 0xefc5, 0xecf1, 0xef5c, -0xecf1, 0xef5c, 0xed01, 0xef69, 0xed01, 0xef69, 0xedb4, 0xf013, 0xedb4, 0xf013, 0xee9e, -0xf0ef, 0xee9e, 0xf0ef, 0xee9e, 0xf0ef, 0xef9a, 0xf1d8, 0xef9a, 0xf1d8, 0xf0c0, 0xf2e7, -0xf0c0, 0xf2e7, 0xf1df, 0xf3ed, 0xf1df, 0xf3ed, 0xf2c7, 0xf4ba, 0xf2c7, 0xf4ba, 0xf3f8, -0xf5cd, 0xf3f8, 0xf5cd, 0xf3f8, 0xf5cd, 0xf55a, 0xf712, 0xf55a, 0xf712, 0xf66b, 0xf805, -0xf66b, 0xf805, 0xf6e8, 0xf867, 0xf6e8, 0xf867, 0xf6fb, 0xf85f, 0xf6fb, 0xf85f, 0xf71f, -0xf86b, 0xf71f, 0xf86b, 0xf77d, 0xf8b3, 0xf77d, 0xf8b3, 0xf77d, 0xf8b3, 0xf828, 0xf94b, -0xf828, 0xf94b, 0xf90c, 0xfa1d, 0xf90c, 0xfa1d, 0xfa1e, 0xfb21, 0xfa1e, 0xfb21, 0xfb53, -0xfc49, 0xfb53, 0xfc49, 0xfccb, 0xfdb6, 0xfccb, 0xfdb6, 0xfe65, 0xff46, 0xfe65, 0xff46, -0xfe65, 0xff46, 0xff6f, 0x46, 0xff6f, 0x46, 0xffe8, 0xb5, 0xffe8, 0xb5, 0x3b, -0xfc, 0x3b, 0xfc, 0xeb, 0x19f, 0xeb, 0x19f, 0x1e3, 0x288, 0x1e3, 0x288, -0x1e3, 0x288, 0x2b1, 0x344, 0x2b1, 0x344, 0x36f, 0x3ee, 0x36f, 0x3ee, 0x3fd, -0x464, 0x3fd, 0x464, 0x468, 0x4b5, 0x468, 0x4b5, 0x516, 0x546, 0x516, 0x546, -0x64b, 0x65b, 0x64b, 0x65b, 0x64b, 0x65b, 0x796, 0x786, 0x796, 0x786, 0x891, -0x85e, 0x891, 0x85e, 0x98a, 0x935, 0x98a, 0x935, 0xa4c, 0x9d5, 0xa4c, 0x9d5, -0xac3, 0xa2b, 0xac3, 0xa2b, 0xb12, 0xa5d, 0xb12, 0xa5d, 0xb12, 0xa5d, 0xb63, -0xa92, 0xb63, 0xa92, 0xbdb, 0xaf4, 0xbdb, 0xaf4, 0xc4e, 0xb56, 0xc4e, 0xb56, -0xc65, 0xb60, 0xc65, 0xb60, 0xbd2, 0xac7, 0xbd2, 0xac7, 0xbd2, 0xac7, 0xb02, -0x9f8, 0xb02, 0x9f8, 0xa59, 0x956, 0xa59, 0x956, 0x9c5, 0x8cf, 0x9c5, 0x8cf, -0x8c8, 0x7e6, 0x8c8, 0x7e6, 0x720, 0x657, 0x720, 0x657, 0x509, 0x45e, 0x509, -0x45e, 0x509, 0x45e, 0x295, 0x20d, 0x295, 0x20d, 0xffff, 0xff9c, 0xffff, 0xff9c, -0xfd8a, 0xfd51, 0xfd8a, 0xfd51, 0xfb77, 0xfb68, 0xfb77, 0xfb68, 0xf9d4, 0xf9f0, 0xf9d4, -0xf9f0, 0xf8bf, 0xf906, 0xf8bf, 0xf906, 0xf8bf, 0xf906, 0xf821, 0xf892, 0xf821, 0xf892, -0xf777, 0xf811, 0xf777, 0xf811, 0xf690, 0xf750, 0xf690, 0xf750, 0xf58a, 0xf66c, 0xf58a, -0xf66c, 0xf4a1, 0xf5a3, 0xf4a1, 0xf5a3, 0xf4a1, 0xf5a3, 0xf3cc, 0xf4ea, 0xf3cc, 0xf4ea, -0xf2e0, 0xf417, 0xf2e0, 0xf417, 0xf1fb, 0xf346, 0xf1fb, 0xf346, 0xf16e, 0xf2c9, 0xf16e, -0xf2c9, 0xf12d, 0xf296, 0xf12d, 0xf296, 0xf0cf, 0xf243, 0xf0cf, 0xf243, 0xf0cf, 0xf243, -0xf01d, 0xf198, 0xf01d, 0xf198, 0xef32, 0xf0b3, 0xef32, 0xf0b3, 0xee62, 0xefe6, 0xee62, -0xefe6, 0xedcf, 0xef55, 0xedcf, 0xef55, 0xed69, 0xeeef, 0xed69, 0xeeef, 0xed37, 0xeebc, -0xed37, 0xeebc, 0xed37, 0xeebc, 0xed48, 0xeecb, 0xed48, 0xeecb, 0xed94, 0xef13, 0xed94, -0xef13, 0xee1a, 0xef94, 0xee1a, 0xef94, 0xeedd, 0xf051, 0xeedd, 0xf051, 0xefb0, 0xf11c, -0xefb0, 0xf11c, 0xefb0, 0xf11c, 0xf087, 0xf1e9, 0xf087, 0xf1e9, 0xf192, 0xf2e7, 0xf192, -0xf2e7, 0xf2b7, 0xf3fc, 0xf2b7, 0xf3fc, 0xf3f2, 0xf524, 0xf3f2, 0xf524, 0xf530, 0xf64b, -0xf530, 0xf64b, 0xf67c, 0xf77c, 0xf67c, 0xf77c, 0xf67c, 0xf77c, 0xf811, 0xf8f0, 0xf811, -0xf8f0, 0xf9e1, 0xfa9c, 0xf9e1, 0xfa9c, 0xfbfd, 0xfc8f, 0xfbfd, 0xfc8f, 0xfe1e, 0xfe82, -0xfe1e, 0xfe82, 0xfffe, 0x2e, 0xfffe, 0x2e, 0xfffe, 0x2e, 0x1ad, 0x1a6, 0x1ad, -0x1a6, 0x36f, 0x32d, 0x36f, 0x32d, 0x55b, 0x4db, 0x55b, 0x4db, 0x714, 0x652, -0x714, 0x652, 0x887, 0x782, 0x887, 0x782, 0x9d1, 0x889, 0x9d1, 0x889, 0x9d1, -0x889, 0xb1a, 0x98d, 0xb1a, 0x98d, 0xc66, 0xa95, 0xc66, 0xa95, 0xdfe, 0xbec, -0xdfe, 0xbec, 0x100f, 0xdbd, 0x100f, 0xdbd, 0x124b, 0xfbd, 0x124b, 0xfbd, 0x1491, -0x11cb, 0x1491, 0x11cb, 0x1491, 0x11cb, 0x1673, 0x137a, 0x1673, 0x137a, 0x1785, 0x145f, -0x1785, 0x145f, 0x1805, 0x14b7, 0x1805, 0x14b7, 0x1885, 0x1515, 0x1885, 0x1515, 0x1916, -0x158c, 0x1916, 0x158c, 0x1916, 0x158c, 0x1994, 0x15f6, 0x1994, 0x15f6, 0x1a19, 0x166d, -0x1a19, 0x166d, 0x1a8e, 0x16dc, 0x1a8e, 0x16dc, 0x1a9d, 0x16eb, 0x1a9d, 0x16eb, 0x1a3c, -0x1690, 0x1a3c, 0x1690, 0x19f0, 0x1650, 0x19f0, 0x1650, 0x19f0, 0x1650, 0x19a1, 0x1613, -0x19a1, 0x1613, 0x18e5, 0x156e, 0x18e5, 0x156e, 0x183a, 0x14df, 0x183a, 0x14df, 0x17f0, -0x14b5, 0x17f0, 0x14b5, 0x17c9, 0x14b3, 0x17c9, 0x14b3, 0x17af, 0x14c1, 0x17af, 0x14c1, -0x17af, 0x14c1, 0x176d, 0x14aa, 0x176d, 0x14aa, 0x16e1, 0x144c, 0x16e1, 0x144c, 0x1628, -0x13c3, 0x1628, 0x13c3, 0x1548, 0x1314, 0x1548, 0x1314, 0x143e, 0x123d, 0x143e, 0x123d, -0x143e, 0x123d, 0x134e, 0x1181, 0x134e, 0x1181, 0x127d, 0x10e5, 0x127d, 0x10e5, 0x116c, -0x100a, 0x116c, 0x100a, 0xfe5, 0xeb8, 0xfe5, 0xeb8, 0xe12, 0xd18, 0xe12, 0xd18, -0xc6c, 0xba5, 0xc6c, 0xba5, 0xc6c, 0xba5, 0xb1c, 0xa85, 0xb1c, 0xa85, 0xa18, -0x9af, 0xa18, 0x9af, 0x962, 0x925, 0x962, 0x925, 0x8f8, 0x8e3, 0x8f8, 0x8e3, -0x88c, 0x89c, 0x88c, 0x89c, 0x7df, 0x810, 0x7df, 0x810, 0x7df, 0x810, 0x71b, -0x769, 0x71b, 0x769, 0x673, 0x6da, 0x673, 0x6da, 0x5fa, 0x676, 0x5fa, 0x676, -0x547, 0x5d3, 0x547, 0x5d3, 0x445, 0x4dd, 0x445, 0x4dd, 0x445, 0x4dd, 0x309, -0x3a9, 0x309, 0x3a9, 0x17f, 0x224, 0x17f, 0x224, 0xffd1, 0x78, 0xffd1, 0x78, -0xfe6b, 0xff11, 0xfe6b, 0xff11, 0xfd7e, 0xfe21, 0xfd7e, 0xfe21, 0xfca6, 0xfd45, 0xfca6, -0xfd45, 0xfca6, 0xfd45, 0xfbe9, 0xfc84, 0xfbe9, 0xfc84, 0xfb3b, 0xfbd0, 0xfb3b, 0xfbd0, -0xfa58, 0xfaea, 0xfa58, 0xfaea, 0xf941, 0xf9d1, 0xf941, 0xf9d1, 0xf816, 0xf8a5, 0xf816, -0xf8a5, 0xf6ef, 0xf781, 0xf6ef, 0xf781, 0xf6ef, 0xf781, 0xf604, 0xf69b, 0xf604, 0xf69b, -0xf55e, 0xf5fd, 0xf55e, 0xf5fd, 0xf488, 0xf531, 0xf488, 0xf531, 0xf366, 0xf41e, 0xf366, -0xf41e, 0xf231, 0xf2fa, 0xf231, 0xf2fa, 0xf231, 0xf2fa, 0xf144, 0xf221, 0xf144, 0xf221, -0xf076, 0xf168, 0xf076, 0xf168, 0xef81, 0xf08b, 0xef81, 0xf08b, 0xee7f, 0xefa1, 0xee7f, -0xefa1, 0xeda3, 0xeedd, 0xeda3, 0xeedd, 0xed1d, 0xee6f, 0xed1d, 0xee6f, 0xed1d, 0xee6f, -0xecc6, 0xee30, 0xecc6, 0xee30, 0xec69, 0xede7, 0xec69, 0xede7, 0xebef, 0xed80, 0xebef, -0xed80, 0xeb74, 0xed16, 0xeb74, 0xed16, 0xead9, 0xec88, 0xead9, 0xec88, 0xea29, 0xebe1, -0xea29, 0xebe1, 0xea29, 0xebe1, 0xe9b2, 0xeb6f, 0xe9b2, 0xeb6f, 0xe98b, 0xeb4b, 0xe98b, -0xeb4b, 0xe99f, 0xeb5d, 0xe99f, 0xeb5d, 0xea15, 0xebd0, 0xea15, 0xebd0, 0xeb2d, 0xece0, -0xeb2d, 0xece0, 0xeb2d, 0xece0, 0xec4f, 0xedf9, 0xec4f, 0xedf9, 0xed03, 0xeea1, 0xed03, -0xeea1, 0xed8f, 0xef21, 0xed8f, 0xef21, 0xee74, 0xeff9, 0xee74, 0xeff9, 0xef77, 0xf0f0, -0xef77, 0xf0f0, 0xf04e, 0xf1ba, 0xf04e, 0xf1ba, 0xf04e, 0xf1ba, 0xf0fd, 0xf25f, 0xf0fd, -0xf25f, 0xf172, 0xf2cb, 0xf172, 0xf2cb, 0xf1e4, 0xf334, 0xf1e4, 0xf334, 0xf267, 0xf3b1, -0xf267, 0xf3b1, 0xf305, 0xf44b, 0xf305, 0xf44b, 0xf399, 0xf4dc, 0xf399, 0xf4dc, 0xf399, -0xf4dc, 0xf446, 0xf587, 0xf446, 0xf587, 0xf599, 0xf6da, 0xf599, 0xf6da, 0xf770, 0xf8b0, -0xf770, 0xf8b0, 0xf912, 0xfa51, 0xf912, 0xfa51, 0xfa72, 0xfbae, 0xfa72, 0xfbae, 0xfa72, -0xfbae, 0xfbcc, 0xfd04, 0xfbcc, 0xfd04, 0xfccb, 0xfdfc, 0xfccb, 0xfdfc, 0xfd70, 0xfe97, -0xfd70, 0xfe97, 0xfe09, 0xff22, 0xfe09, 0xff22, 0xfecc, 0xffd2, 0xfecc, 0xffd2, 0xffb1, -0xa1, 0xffb1, 0xa1, 0xffb1, 0xa1, 0x89, 0x15d, 0x89, 0x15d, 0x169, 0x21d, -0x169, 0x21d, 0x280, 0x30f, 0x280, 0x30f, 0x3b9, 0x420, 0x3b9, 0x420, 0x50d, -0x548, 0x50d, 0x548, 0x6ba, 0x6c6, 0x6ba, 0x6c6, 0x6ba, 0x6c6, 0x891, 0x86d, -0x891, 0x86d, 0x9d9, 0x984, 0x9d9, 0x984, 0xa86, 0xa01, 0xa86, 0xa01, 0xb3b, -0xa87, 0xb3b, 0xa87, 0xc30, 0xb51, 0xc30, 0xb51, 0xc30, 0xb51, 0xd28, 0xc21, -0xd28, 0xc21, 0xdbf, 0xc95, 0xdbf, 0xc95, 0xdef, 0xca9, 0xdef, 0xca9, 0xdfc, -0xca0, 0xdfc, 0xca0, 0xe26, 0xcbc, 0xe26, 0xcbc, 0xe2a, 0xcb9, 0xe2a, 0xcb9, -0xe2a, 0xcb9, 0xd96, 0xc28, 0xd96, 0xc28, 0xc81, 0xb1d, 0xc81, 0xb1d, 0xaff, -0x9ad, 0xaff, 0x9ad, 0x933, 0x7fb, 0x933, 0x7fb, 0x72c, 0x615, 0x72c, 0x615, -0x507, 0x418, 0x507, 0x418, 0x507, 0x418, 0x2d8, 0x216, 0x2d8, 0x216, 0xa9, -0x18, 0xa9, 0x18, 0xfecd, 0xfe72, 0xfecd, 0xfe72, 0xfd91, 0xfd6d, 0xfd91, 0xfd6d, -0xfcb8, 0xfcce, 0xfcb8, 0xfcce, 0xfcb8, 0xfcce, 0xfc01, 0xfc51, 0xfc01, 0xfc51, 0xfb99, -0xfc22, 0xfb99, 0xfc22, 0xfb29, 0xfbea, 0xfb29, 0xfbea, 0xfa90, 0xfb87, 0xfa90, 0xfb87, -0xf9d2, 0xfafb, 0xf9d2, 0xfafb, 0xf8cc, 0xfa24, 0xf8cc, 0xfa24, 0xf8cc, 0xfa24, 0xf7d5, -0xf959, 0xf7d5, 0xf959, 0xf74e, 0xf8fa, 0xf74e, 0xf8fa, 0xf711, 0xf8e1, 0xf711, 0xf8e1, -0xf693, 0xf882, 0xf693, 0xf882, 0xf5da, 0xf7e3, 0xf5da, 0xf7e3, 0xf5da, 0xf7e3, 0xf4ec, -0xf70b, 0xf4ec, 0xf70b, 0xf3e7, 0xf619, 0xf3e7, 0xf619, 0xf304, 0xf545, 0xf304, 0xf545, -0xf245, 0xf490, 0xf245, 0xf490, 0xf1d1, 0xf423, 0xf1d1, 0xf423, 0xf19e, 0xf3f3, 0xf19e, -0xf3f3, 0xf19e, 0xf3f3, 0xf1a4, 0xf3f8, 0xf1a4, 0xf3f8, 0xf1c2, 0xf412, 0xf1c2, 0xf412, -0xf1f9, 0xf441, 0xf1f9, 0xf441, 0xf24f, 0xf48b, 0xf24f, 0xf48b, 0xf2c1, 0xf4ed, 0xf2c1, -0xf4ed, 0xf35d, 0xf575, 0xf35d, 0xf575, 0xf35d, 0xf575, 0xf431, 0xf62f, 0xf431, 0xf62f, -0xf551, 0xf732, 0xf551, 0xf732, 0xf688, 0xf847, 0xf688, 0xf847, 0xf7ee, 0xf984, 0xf7ee, -0xf984, 0xf9a1, 0xfb0b, 0xf9a1, 0xfb0b, 0xf9a1, 0xfb0b, 0xfb5a, 0xfc92, 0xfb5a, 0xfc92, -0xfccf, 0xfdd0, 0xfccf, 0xfdd0, 0xfe10, 0xfed5, 0xfe10, 0xfed5, 0xff7a, 0xfffe, 0xff7a, -0xfffe, 0xf4, 0x133, 0xf4, 0x133, 0x25c, 0x253, 0x25c, 0x253, 0x25c, 0x253, -0x3aa, 0x356, 0x3aa, 0x356, 0x4e6, 0x444, 0x4e6, 0x444, 0x643, 0x552, 0x643, -0x552, 0x7a6, 0x667, 0x7a6, 0x667, 0x8ee, 0x760, 0x8ee, 0x760, 0xa1f, 0x844, -0xa1f, 0x844, 0xa1f, 0x844, 0xb62, 0x93e, 0xb62, 0x93e, 0xce5, 0xa7b, 0xce5, -0xa7b, 0xeac, 0xc00, 0xeac, 0xc00, 0x1069, 0xd81, 0x1069, 0xd81, 0x11ce, 0xeb0, -0x11ce, 0xeb0, 0x11ce, 0xeb0, 0x12f9, 0xfad, 0x12f9, 0xfad, 0x13f8, 0x1085, 0x13f8, -0x1085, 0x14af, 0x111c, 0x14af, 0x111c, 0x1559, 0x11b0, 0x1559, 0x11b0, 0x1636, 0x127d, -0x1636, 0x127d, 0x16d7, 0x1318, 0x16d7, 0x1318, 0x16d7, 0x1318, 0x16f2, 0x1334, 0x16f2, -0x1334, 0x16b2, 0x12fd, 0x16b2, 0x12fd, 0x167e, 0x12d8, 0x167e, 0x12d8, 0x166b, 0x12dc, -0x166b, 0x12dc, 0x15f6, 0x1283, 0x15f6, 0x1283, 0x1535, 0x11e3, 0x1535, 0x11e3, 0x1535, -0x11e3, 0x1482, 0x1156, 0x1482, 0x1156, 0x13e5, 0x10e3, 0x13e5, 0x10e3, 0x137d, 0x10a7, -0x137d, 0x10a7, 0x137e, 0x10d6, 0x137e, 0x10d6, 0x136d, 0x10f6, 0x136d, 0x10f6, 0x136d, -0x10f6, 0x12c6, 0x107f, 0x12c6, 0x107f, 0x11c1, 0xfab, 0x11c1, 0xfab, 0x10a7, 0xec1, -0x10a7, 0xec1, 0xfbf, 0xe08, 0xfbf, 0xe08, 0xf04, 0xd7b, 0xf04, 0xd7b, 0xe24, -0xcc6, 0xe24, 0xcc6, 0xe24, 0xcc6, 0xcf6, 0xbc2, 0xcf6, 0xbc2, 0xb9f, 0xa93, -0xb9f, 0xa93, 0xa30, 0x949, 0xa30, 0x949, 0x8da, 0x815, 0x8da, 0x815, 0x7bb, -0x716, 0x7bb, 0x716, 0x6c4, 0x63b, 0x6c4, 0x63b, 0x6c4, 0x63b, 0x631, 0x5c1, -0x631, 0x5c1, 0x60f, 0x5b6, 0x60f, 0x5b6, 0x61d, 0x5d9, 0x61d, 0x5d9, 0x60b, -0x5d8, 0x60b, 0x5d8, 0x5d6, 0x5b2, 0x5d6, 0x5b2, 0x5d6, 0x5b2, 0x55f, 0x548, -0x55f, 0x548, 0x489, 0x47c, 0x489, 0x47c, 0x355, 0x351, 0x355, 0x351, 0x1fa, -0x1fc, 0x1fa, 0x1fc, 0xb8, 0xc0, 0xb8, 0xc0, 0xff68, 0xff74, 0xff68, 0xff74, -0xff68, 0xff74, 0xfe18, 0xfe27, 0xfe18, 0xfe27, 0xfd13, 0xfd26, 0xfd13, 0xfd26, 0xfc9a, -0xfcb0, 0xfc9a, 0xfcb0, 0xfc38, 0xfc51, 0xfc38, 0xfc51, 0xfbf7, 0xfc14, 0xfbf7, 0xfc14, -0xfbf6, 0xfc19, 0xfbf6, 0xfc19, 0xfbf6, 0xfc19, 0xfb99, 0xfbc2, 0xfb99, 0xfbc2, 0xfad4, -0xfb04, 0xfad4, 0xfb04, 0xf9c5, 0xf9fe, 0xf9c5, 0xf9fe, 0xf89f, 0xf8e4, 0xf89f, 0xf8e4, -0xf78f, 0xf7e1, 0xf78f, 0xf7e1, 0xf78f, 0xf7e1, 0xf6d6, 0xf737, 0xf6d6, 0xf737, 0xf64f, -0xf6c1, 0xf64f, 0xf6c1, 0xf5c8, 0xf64d, 0xf5c8, 0xf64d, 0xf559, 0xf5f2, 0xf559, 0xf5f2, -0xf4cd, 0xf57c, 0xf4cd, 0xf57c, 0xf423, 0xf4ea, 0xf423, 0xf4ea, 0xf423, 0xf4ea, 0xf363, -0xf440, 0xf363, 0xf440, 0xf2a0, 0xf396, 0xf2a0, 0xf396, 0xf1f1, 0xf2fe, 0xf1f1, 0xf2fe, -0xf174, 0xf298, 0xf174, 0xf298, 0xf11b, 0xf255, 0xf11b, 0xf255, 0xf0bb, 0xf209, 0xf0bb, -0xf209, 0xf0bb, 0xf209, 0xf041, 0xf1a2, 0xf041, 0xf1a2, 0xefde, 0xf14f, 0xefde, 0xf14f, -0xefa2, 0xf121, 0xefa2, 0xf121, 0xef40, 0xf0cb, 0xef40, 0xf0cb, 0xeec8, 0xf05b, 0xeec8, -0xf05b, 0xeec8, 0xf05b, 0xee7b, 0xf015, 0xee7b, 0xf015, 0xeed2, 0xf070, 0xeed2, 0xf070, -0xefe7, 0xf186, 0xefe7, 0xf186, 0xf13e, 0xf2dd, 0xf13e, 0xf2dd, 0xf24d, 0xf3ea, 0xf24d, -0xf3ea, 0xf322, 0xf4bb, 0xf322, 0xf4bb, 0xf322, 0xf4bb, 0xf415, 0xf5a8, 0xf415, 0xf5a8, -0xf505, 0xf693, 0xf505, 0xf693, 0xf5e6, 0xf76e, 0xf5e6, 0xf76e, 0xf6bf, 0xf841, 0xf6bf, -0xf841, 0xf773, 0xf8ef, 0xf773, 0xf8ef, 0xf81c, 0xf992, 0xf81c, 0xf992, 0xf81c, 0xf992, -0xf8e2, 0xfa53, 0xf8e2, 0xfa53, 0xf969, 0xfad6, 0xf969, 0xfad6, 0xf9b7, 0xfb1f, 0xf9b7, -0xfb1f, 0xfa1e, 0xfb81, 0xfa1e, 0xfb81, 0xfaad, 0xfc0c, 0xfaad, 0xfc0c, 0xfaad, 0xfc0c, -0xfb78, 0xfcd2, 0xfb78, 0xfcd2, 0xfc91, 0xfde5, 0xfc91, 0xfde5, 0xfdb3, 0xff00, 0xfdb3, -0xff00, 0xfea8, 0xffeb, 0xfea8, 0xffeb, 0xff72, 0xaa, 0xff72, 0xaa, 0xfff7, 0x120, -0xfff7, 0x120, 0xfff7, 0x120, 0x7f, 0x198, 0x7f, 0x198, 0x11a, 0x21d, 0x11a, -0x21d, 0x1c9, 0x2b4, 0x1c9, 0x2b4, 0x283, 0x351, 0x283, 0x351, 0x32b, 0x3d9, -0x32b, 0x3d9, 0x3a2, 0x42d, 0x3a2, 0x42d, 0x3a2, 0x42d, 0x3e5, 0x449, 0x3e5, -0x449, 0x45d, 0x497, 0x45d, 0x497, 0x501, 0x511, 0x501, 0x511, 0x5da, 0x5bd, -0x5da, 0x5bd, 0x69d, 0x652, 0x69d, 0x652, 0x69d, 0x652, 0x740, 0x6ca, 0x740, -0x6ca, 0x7fa, 0x759, 0x7fa, 0x759, 0x89f, 0x7d5, 0x89f, 0x7d5, 0x921, 0x833, -0x921, 0x833, 0x96e, 0x85f, 0x96e, 0x85f, 0x99c, 0x872, 0x99c, 0x872, 0x99c, -0x872, 0x96b, 0x82b, 0x96b, 0x82b, 0x910, 0x7c1, 0x910, 0x7c1, 0x8d7, 0x781, -0x8d7, 0x781, 0x86e, 0x716, 0x86e, 0x716, 0x7a8, 0x657, 0x7a8, 0x657, 0x7a8, -0x657, 0x6ab, 0x567, 0x6ab, 0x567, 0x577, 0x447, 0x577, 0x447, 0x3de, 0x2c8, -0x3de, 0x2c8, 0x1d3, 0xdd, 0x1d3, 0xdd, 0xff54, 0xfe84, 0xff54, 0xfe84, 0xfcc1, -0xfc1a, 0xfcc1, 0xfc1a, 0xfcc1, 0xfc1a, 0xfa40, 0xf9c7, 0xfa40, 0xf9c7, 0xf842, 0xf7f8, -0xf842, 0xf7f8, 0xf726, 0xf70e, 0xf726, 0xf70e, 0xf682, 0xf69c, 0xf682, 0xf69c, 0xf607, -0xf655, 0xf607, 0xf655, 0xf5a6, 0xf626, 0xf5a6, 0xf626, 0xf5a6, 0xf626, 0xf536, 0xf5e8, -0xf536, 0xf5e8, 0xf476, 0xf559, 0xf476, 0xf559, 0xf39e, 0xf4af, 0xf39e, 0xf4af, 0xf2a1, -0xf3de, 0xf2a1, 0xf3de, 0xf1a8, 0xf30f, 0xf1a8, 0xf30f, 0xf1a8, 0xf30f, 0xf119, 0xf2a7, -0xf119, 0xf2a7, 0xf0c5, 0xf277, 0xf0c5, 0xf277, 0xf05b, 0xf22e, 0xf05b, 0xf22e, 0xefb5, -0xf1a8, 0xefb5, 0xf1a8, 0xef14, 0xf123, 0xef14, 0xf123, 0xee88, 0xf0b0, 0xee88, 0xf0b0, -0xee88, 0xf0b0, 0xedfd, 0xf03c, 0xedfd, 0xf03c, 0xed76, 0xefc9, 0xed76, 0xefc9, 0xed1a, -0xef7e, 0xed1a, 0xef7e, 0xed16, 0xef89, 0xed16, 0xef89, 0xed65, 0xefe2, 0xed65, 0xefe2, -0xee0c, 0xf091, 0xee0c, 0xf091, 0xee0c, 0xf091, 0xef1c, 0xf1a4, 0xef1c, 0xf1a4, 0xf069, -0xf2f0, 0xf069, 0xf2f0, 0xf19b, 0xf41c, 0xf19b, 0xf41c, 0xf2aa, 0xf520, 0xf2aa, 0xf520, -0xf3a0, 0xf606, 0xf3a0, 0xf606, 0xf3a0, 0xf606, 0xf46d, 0xf6bc, 0xf46d, 0xf6bc, 0xf55a, -0xf78c, 0xf55a, 0xf78c, 0xf6bc, 0xf8cb, 0xf6bc, 0xf8cb, 0xf857, 0xfa3b, 0xf857, 0xfa3b, -0xf9f2, 0xfba5, 0xf9f2, 0xfba5, 0xfba1, 0xfd1d, 0xfba1, 0xfd1d, 0xfba1, 0xfd1d, 0xfd7b, -0xfeb9, 0xfd7b, 0xfeb9, 0xff6c, 0x66, 0xff6c, 0x66, 0x11f, 0x1d0, 0x11f, 0x1d0, -0x2dc, 0x33f, 0x2dc, 0x33f, 0x4c6, 0x4d8, 0x4c6, 0x4d8, 0x68e, 0x64c, 0x68e, -0x64c, 0x68e, 0x64c, 0x825, 0x78d, 0x825, 0x78d, 0x989, 0x89a, 0x989, 0x89a, -0xae4, 0x99f, 0xae4, 0x99f, 0xc52, 0xab8, 0xc52, 0xab8, 0xdee, 0xc03, 0xdee, -0xc03, 0xdee, 0xc03, 0xfad, 0xd74, 0xfad, 0xd74, 0x1196, 0xf14, 0x1196, 0xf14, -0x1381, 0x10bc, 0x1381, 0x10bc, 0x14fe, 0x11fc, 0x14fe, 0x11fc, 0x163d, 0x1305, 0x163d, -0x1305, 0x1734, 0x13ce, 0x1734, 0x13ce, 0x1734, 0x13ce, 0x17e9, 0x145d, 0x17e9, 0x145d, -0x189f, 0x14f5, 0x189f, 0x14f5, 0x1973, 0x15b3, 0x1973, 0x15b3, 0x1a37, 0x1668, 0x1a37, -0x1668, 0x1a6a, 0x1696, 0x1a6a, 0x1696, 0x1a2c, 0x1659, 0x1a2c, 0x1659, 0x1a2c, 0x1659, -0x19e2, 0x1617, 0x19e2, 0x1617, 0x1994, 0x15d7, 0x1994, 0x15d7, 0x191e, 0x1576, 0x191e, -0x1576, 0x18ac, 0x151e, 0x18ac, 0x151e, 0x1849, 0x14da, 0x1849, 0x14da, 0x1849, 0x14da, -0x1806, 0x14ba, 0x1806, 0x14ba, 0x181c, 0x14f6, 0x181c, 0x14f6, 0x1835, 0x1539, 0x1835, -0x1539, 0x17cf, 0x14fe, 0x17cf, 0x14fe, 0x1711, 0x146e, 0x1711, 0x146e, 0x1699, 0x1424, -0x1699, 0x1424, 0x1699, 0x1424, 0x1625, 0x13e0, 0x1625, 0x13e0, 0x154c, 0x1336, 0x154c, -0x1336, 0x1425, 0x123f, 0x1425, 0x123f, 0x12e8, 0x1131, 0x12e8, 0x1131, 0x119f, 0x1016, -0x119f, 0x1016, 0x1033, 0xed7, 0x1033, 0xed7, 0x1033, 0xed7, 0xed3, 0xda3, 0xed3, -0xda3, 0xd94, 0xc8e, 0xd94, 0xc8e, 0xc7a, 0xb9c, 0xc7a, 0xb9c, 0xb37, 0xa7f, -0xb37, 0xa7f, 0xa02, 0x96d, 0xa02, 0x96d, 0xa02, 0x96d, 0x924, 0x8b0, 0x924, -0x8b0, 0x869, 0x813, 0x869, 0x813, 0x7f9, 0x7bd, 0x7f9, 0x7bd, 0x7ca, 0x7a6, -0x7ca, 0x7a6, 0x792, 0x782, 0x792, 0x782, 0x701, 0x703, 0x701, 0x703, 0x701, -0x703, 0x64a, 0x65b, 0x64a, 0x65b, 0x569, 0x587, 0x569, 0x587, 0x42d, 0x454, -0x42d, 0x454, 0x2c8, 0x2f7, 0x2c8, 0x2f7, 0x12f, 0x164, 0x12f, 0x164, 0xffa5, -0xffde, 0xffa5, 0xffde, 0xffa5, 0xffde, 0xfe86, 0xfec3, 0xfe86, 0xfec3, 0xfdc7, 0xfe07, -0xfdc7, 0xfe07, 0xfd4a, 0xfd8e, 0xfd4a, 0xfd8e, 0xfcde, 0xfd25, 0xfcde, 0xfd25, 0xfc35, -0xfc81, 0xfc35, 0xfc81, 0xfc35, 0xfc81, 0xfb1a, 0xfb6b, 0xfb1a, 0xfb6b, 0xf9b4, 0xfa0d, -0xf9b4, 0xfa0d, 0xf847, 0xf8aa, 0xf847, 0xf8aa, 0xf6ee, 0xf75b, 0xf6ee, 0xf75b, 0xf5e8, -0xf662, 0xf5e8, 0xf662, 0xf51c, 0xf5a5, 0xf51c, 0xf5a5, 0xf51c, 0xf5a5, 0xf479, 0xf511, -0xf479, 0xf511, 0xf3f9, 0xf4a3, 0xf3f9, 0xf4a3, 0xf345, 0xf401, 0xf345, 0xf401, 0xf264, -0xf332, 0xf264, 0xf332, 0xf191, 0xf273, 0xf191, 0xf273, 0xf10b, 0xf1ff, 0xf10b, 0xf1ff, -0xf10b, 0xf1ff, 0xf09d, 0xf1a3, 0xf09d, 0xf1a3, 0xf01b, 0xf131, 0xf01b, 0xf131, 0xef7a, -0xf09d, 0xef7a, 0xf09d, 0xeebb, 0xefeb, 0xeebb, 0xefeb, 0xee28, 0xef61, 0xee28, 0xef61, -0xee28, 0xef61, 0xedcf, 0xef0f, 0xedcf, 0xef0f, 0xed7b, 0xeebe, 0xed7b, 0xeebe, 0xece1, -0xee25, 0xece1, 0xee25, 0xec26, 0xed69, 0xec26, 0xed69, 0xeb86, 0xecc4, 0xeb86, 0xecc4, -0xeb71, 0xecaa, 0xeb71, 0xecaa, 0xeb71, 0xecaa, 0xec04, 0xed35, 0xec04, 0xed35, 0xeccd, -0xedf5, 0xeccd, 0xedf5, 0xed83, 0xeea2, 0xed83, 0xeea2, 0xee3e, 0xef53, 0xee3e, 0xef53, -0xef06, 0xf012, 0xef06, 0xf012, 0xef75, 0xf07a, 0xef75, 0xf07a, 0xef75, 0xf07a, 0xefdd, -0xf0db, 0xefdd, 0xf0db, 0xf0b6, 0xf1b0, 0xf0b6, 0xf1b0, 0xf207, 0xf2fd, 0xf207, 0xf2fd, -0xf32e, 0xf423, 0xf32e, 0xf423, 0xf3d8, 0xf4ce, 0xf3d8, 0xf4ce, 0xf3d8, 0xf4ce, 0xf41b, -0xf514, 0xf41b, 0xf514, 0xf423, 0xf51f, 0xf423, 0xf51f, 0xf474, 0xf576, 0xf474, 0xf576, -0xf53b, 0xf642, 0xf53b, 0xf642, 0xf6c6, 0xf7d2, 0xf6c6, 0xf7d2, 0xf8ab, 0xf9bc, 0xf8ab, -0xf9bc, 0xf8ab, 0xf9bc, 0xfa81, 0xfb94, 0xfa81, 0xfb94, 0xfc09, 0xfd1c, 0xfc09, 0xfd1c, -0xfcf8, 0xfe09, 0xfcf8, 0xfe09, 0xfd69, 0xfe74, 0xfd69, 0xfe74, 0xfd75, 0xfe76, 0xfd75, -0xfe76, 0xfd75, 0xfe76, 0xfdc1, 0xfeb4, 0xfdc1, 0xfeb4, 0xfe80, 0xff60, 0xfe80, 0xff60, -0xff78, 0x42, 0xff78, 0x42, 0x3b, 0xea, 0x3b, 0xea, 0xd8, 0x168, 0xd8, -0x168, 0x1d8, 0x245, 0x1d8, 0x245, 0x1d8, 0x245, 0x2fc, 0x345, 0x2fc, 0x345, -0x3c7, 0x3e9, 0x3c7, 0x3e9, 0x46c, 0x467, 0x46c, 0x467, 0x587, 0x559, 0x587, -0x559, 0x70d, 0x6ba, 0x70d, 0x6ba, 0x888, 0x810, 0x888, 0x810, 0x888, 0x810, -0x9a3, 0x90a, 0x9a3, 0x90a, 0xa5f, 0x9a9, 0xa5f, 0x9a9, 0xaa8, 0x9da, 0xaa8, -0x9da, 0xaa9, 0x9c8, 0xaa9, 0x9c8, 0xabe, 0x9d0, 0xabe, 0x9d0, 0xabe, 0x9d0, -0xb1f, 0xa2b, 0xb1f, 0xa2b, 0xb7c, 0xa88, 0xb7c, 0xa88, 0xb55, 0xa67, 0xb55, -0xa67, 0xad3, 0x9f0, 0xad3, 0x9f0, 0x9ef, 0x91f, 0x9ef, 0x91f, 0x8b9, 0x800, -0x8b9, 0x800, 0x8b9, 0x800, 0x744, 0x6a6, 0x744, 0x6a6, 0x59e, 0x520, 0x59e, -0x520, 0x3a2, 0x345, 0x3a2, 0x345, 0x13f, 0x107, 0x13f, 0x107, 0xfeea, 0xfed8, -0xfeea, 0xfed8, 0xfcdd, 0xfcf0, 0xfcdd, 0xfcf0, 0xfcdd, 0xfcf0, 0xfb50, 0xfb8a, 0xfb50, -0xfb8a, 0xfa6c, 0xfaca, 0xfa6c, 0xfaca, 0xfa2e, 0xfab0, 0xfa2e, 0xfab0, 0xfa34, 0xfad8, -0xfa34, 0xfad8, 0xfa14, 0xfad8, 0xfa14, 0xfad8, 0xfa14, 0xfad8, 0xf9c0, 0xfaa2, 0xf9c0, -0xfaa2, 0xf94d, 0xfa4a, 0xf94d, 0xfa4a, 0xf8bc, 0xf9d4, 0xf8bc, 0xf9d4, 0xf81d, 0xf94c, -0xf81d, 0xf94c, 0xf7b6, 0xf8fc, 0xf7b6, 0xf8fc, 0xf76f, 0xf8ca, 0xf76f, 0xf8ca, 0xf76f, -0xf8ca, 0xf6ec, 0xf85c, 0xf6ec, 0xf85c, 0xf5f8, 0xf77b, 0xf5f8, 0xf77b, 0xf4d6, 0xf66c, -0xf4d6, 0xf66c, 0xf3c9, 0xf572, 0xf3c9, 0xf572, 0xf2e9, 0xf4a3, 0xf2e9, 0xf4a3, 0xf242, -0xf40e, 0xf242, 0xf40e, 0xf242, 0xf40e, 0xf1ce, 0xf3ab, 0xf1ce, 0xf3ab, 0xf180, 0xf36c, -0xf180, 0xf36c, 0xf14f, 0xf34a, 0xf14f, 0xf34a, 0xf17b, 0xf382, 0xf17b, 0xf382, 0xf1fd, -0xf40e, 0xf1fd, 0xf40e, 0xf1fd, 0xf40e, 0xf29a, 0xf4b1, 0xf29a, 0xf4b1, 0xf30c, 0xf525, -0xf30c, 0xf525, 0xf3a7, 0xf5be, 0xf3a7, 0xf5be, 0xf4b5, 0xf6c4, 0xf4b5, 0xf6c4, 0xf5d6, -0xf7d8, 0xf5d6, 0xf7d8, 0xf727, 0xf914, 0xf727, 0xf914, 0xf727, 0xf914, 0xf879, 0xfa4c, -0xf879, 0xfa4c, 0xf9ab, 0xfb5c, 0xf9ab, 0xfb5c, 0xfadd, 0xfc66, 0xfadd, 0xfc66, 0xfc3c, -0xfd96, 0xfc3c, 0xfd96, 0xfdf5, 0xff19, 0xfdf5, 0xff19, 0xff91, 0x79, 0xff91, 0x79, -0xff91, 0x79, 0xf1, 0x199, 0xf1, 0x199, 0x25a, 0x2bc, 0x25a, 0x2bc, 0x3ca, -0x3e3, 0x3ca, 0x3e3, 0x4f1, 0x4bf, 0x4f1, 0x4bf, 0x5c2, 0x543, 0x5c2, 0x543, -0x5c2, 0x543, 0x6c0, 0x5f5, 0x6c0, 0x5f5, 0x7f1, 0x6da, 0x7f1, 0x6da, 0x90f, -0x7ae, 0x90f, 0x7ae, 0xa1c, 0x875, 0xa1c, 0x875, 0xb57, 0x96e, 0xb57, 0x96e, -0xcc7, 0xaa0, 0xcc7, 0xaa0, 0xcc7, 0xaa0, 0xe2f, 0xbd1, 0xe2f, 0xbd1, 0xfaf, -0xd20, 0xfaf, 0xd20, 0x1141, 0xe88, 0x1141, 0xe88, 0x12a3, 0xfc7, 0x12a3, 0xfc7, -0x13c3, 0x10cb, 0x13c3, 0x10cb, 0x1496, 0x1188, 0x1496, 0x1188, 0x1496, 0x1188, 0x152e, -0x1212, 0x152e, 0x1212, 0x159b, 0x1277, 0x159b, 0x1277, 0x15b0, 0x128b, 0x15b0, 0x128b, -0x1599, 0x1278, 0x1599, 0x1278, 0x15a5, 0x128e, 0x15a5, 0x128e, 0x15a5, 0x128e, 0x1598, -0x128e, 0x1598, 0x128e, 0x1527, 0x1230, 0x1527, 0x1230, 0x1482, 0x11a1, 0x1482, 0x11a1, -0x1401, 0x1139, 0x1401, 0x1139, 0x1396, 0x10e9, 0x1396, 0x10e9, 0x12fd, 0x106e, 0x12fd, -0x106e, 0x12fd, 0x106e, 0x1230, 0xfc1, 0x1230, 0xfc1, 0x117a, 0xf2d, 0x117a, 0xf2d, -0x111a, 0xeef, 0x111a, 0xeef, 0x10d0, 0xec8, 0x10d0, 0xec8, 0x1032, 0xe4f, 0x1032, -0xe4f, 0xf38, 0xd7a, 0xf38, 0xd7a, 0xf38, 0xd7a, 0xe2d, 0xc94, 0xe2d, 0xc94, -0xd1a, 0xba6, 0xd1a, 0xba6, 0xc18, 0xaca, 0xc18, 0xaca, 0xb3c, 0xa12, 0xb3c, -0xa12, 0xa37, 0x931, 0xa37, 0x931, 0xa37, 0x931, 0x90a, 0x827, 0x90a, 0x827, -0x7e0, 0x71f, 0x7e0, 0x71f, 0x6e3, 0x642, 0x6e3, 0x642, 0x641, 0x5be, 0x641, -0x5be, 0x5f2, 0x58b, 0x5f2, 0x58b, 0x5bf, 0x571, 0x5bf, 0x571, 0x5bf, 0x571, -0x53f, 0x507, 0x53f, 0x507, 0x47c, 0x457, 0x47c, 0x457, 0x388, 0x372, 0x388, -0x372, 0x280, 0x276, 0x280, 0x276, 0x1b4, 0x1b4, 0x1b4, 0x1b4, 0xde, 0xe3, -0xde, 0xe3, 0xde, 0xe3, 0xffef, 0xfff7, 0xffef, 0xfff7, 0xfede, 0xfee6, 0xfede, -0xfee6, 0xfdbf, 0xfdc6, 0xfdbf, 0xfdc6, 0xfcce, 0xfcd2, 0xfcce, 0xfcd2, 0xfc28, 0xfc28, -0xfc28, 0xfc28, 0xfc28, 0xfc28, 0xfc05, 0xfc01, 0xfc05, 0xfc01, 0xfc00, 0xfbf8, 0xfc00, -0xfbf8, 0xfbf4, 0xfbe8, 0xfbf4, 0xfbe8, 0xfbdf, 0xfbd2, 0xfbdf, 0xfbd2, 0xfb8b, 0xfb7f, -0xfb8b, 0xfb7f, 0xfad9, 0xfad0, 0xfad9, 0xfad0, 0xfad9, 0xfad0, 0xf9c9, 0xf9c7, 0xf9c9, -0xf9c7, 0xf8b1, 0xf8b8, 0xf8b1, 0xf8b8, 0xf7eb, 0xf7ff, 0xf7eb, 0xf7ff, 0xf7af, 0xf7d3, -0xf7af, 0xf7d3, 0xf7b8, 0xf7ef, 0xf7b8, 0xf7ef, 0xf78d, 0xf7da, 0xf78d, 0xf7da, 0xf78d, -0xf7da, 0xf6f5, 0xf75b, 0xf6f5, 0xf75b, 0xf644, 0xf6c4, 0xf644, 0xf6c4, 0xf5c6, 0xf661, -0xf5c6, 0xf661, 0xf543, 0xf5fa, 0xf543, 0xf5fa, 0xf4a9, 0xf57c, 0xf4a9, 0xf57c, 0xf4a9, -0xf57c, 0xf438, 0xf526, 0xf438, 0xf526, 0xf3ff, 0xf506, 0xf3ff, 0xf506, 0xf3d4, 0xf4f2, -0xf3d4, 0xf4f2, 0xf3bb, 0xf4ee, 0xf3bb, 0xf4ee, 0xf36a, 0xf4ae, 0xf36a, 0xf4ae, 0xf2db, -0xf42e, 0xf2db, 0xf42e, 0xf2db, 0xf42e, 0xf24f, 0xf3ac, 0xf24f, 0xf3ac, 0xf205, 0xf369, -0xf205, 0xf369, 0xf207, 0xf36f, 0xf207, 0xf36f, 0xf224, 0xf38d, 0xf224, 0xf38d, 0xf2ad, -0xf414, 0xf2ad, 0xf414, 0xf2ad, 0xf414, 0xf3bf, 0xf521, 0xf3bf, 0xf521, 0xf526, 0xf682, -0xf526, 0xf682, 0xf653, 0xf7a9, 0xf653, 0xf7a9, 0xf70f, 0xf85d, 0xf70f, 0xf85d, 0xf793, -0xf8d9, 0xf793, 0xf8d9, 0xf812, 0xf951, 0xf812, 0xf951, 0xf812, 0xf951, 0xf8c0, 0xf9f8, -0xf8c0, 0xf9f8, 0xf995, 0xfac8, 0xf995, 0xfac8, 0xfa75, 0xfba4, 0xfa75, 0xfba4, 0xfaef, -0xfc1b, 0xfaef, 0xfc1b, 0xfb26, 0xfc51, 0xfb26, 0xfc51, 0xfb59, 0xfc84, 0xfb59, 0xfc84, -0xfb59, 0xfc84, 0xfb81, 0xfcae, 0xfb81, 0xfcae, 0xfbca, 0xfcf7, 0xfbca, 0xfcf7, 0xfc55, -0xfd82, 0xfc55, 0xfd82, 0xfd59, 0xfe87, 0xfd59, 0xfe87, 0xfe98, 0xffc3, 0xfe98, 0xffc3, -0xfe98, 0xffc3, 0xffba, 0xe1, 0xffba, 0xe1, 0x9f, 0x1c0, 0x9f, 0x1c0, 0x142, -0x259, 0x142, 0x259, 0x1fb, 0x303, 0x1fb, 0x303, 0x2ca, 0x3c1, 0x2ca, 0x3c1, -0x359, 0x43a, 0x359, 0x43a, 0x359, 0x43a, 0x3ce, 0x495, 0x3ce, 0x495, 0x426, -0x4cf, 0x426, 0x4cf, 0x463, 0x4ea, 0x463, 0x4ea, 0x483, 0x4e6, 0x483, 0x4e6, -0x45a, 0x497, 0x45a, 0x497, 0x447, 0x45b, 0x447, 0x45b, 0x447, 0x45b, 0x4a8, -0x493, 0x4a8, 0x493, 0x5a3, 0x566, 0x5a3, 0x566, 0x6ad, 0x649, 0x6ad, 0x649, -0x743, 0x6bb, 0x743, 0x6bb, 0x768, 0x6bf, 0x768, 0x6bf, 0x768, 0x6bf, 0x736, -0x670, 0x736, 0x670, 0x711, 0x632, 0x711, 0x632, 0x703, 0x612, 0x703, 0x612, -0x70e, 0x611, 0x70e, 0x611, 0x72a, 0x627, 0x72a, 0x627, 0x723, 0x620, 0x723, -0x620, 0x723, 0x620, 0x6e8, 0x5eb, 0x6e8, 0x5eb, 0x67d, 0x58d, 0x67d, 0x58d, -0x5db, 0x4fb, 0x5db, 0x4fb, 0x4d3, 0x40a, 0x4d3, 0x40a, 0x372, 0x2c4, 0x372, -0x2c4, 0x1e2, 0x151, 0x1e2, 0x151, 0x1e2, 0x151, 0xfffe, 0xff8d, 0xfffe, 0xff8d, -0xfdbb, 0xfd6c, 0xfdbb, 0xfd6c, 0xfb71, 0xfb44, 0xfb71, 0xfb44, 0xf948, 0xf93e, 0xf948, -0xf93e, 0xf78c, 0xf7a3, 0xf78c, 0xf7a3, 0xf78c, 0xf7a3, 0xf67d, 0xf6b5, 0xf67d, 0xf6b5, -0xf5d7, 0xf62f, 0xf5d7, 0xf62f, 0xf53f, 0xf5b4, 0xf53f, 0xf5b4, 0xf4cd, 0xf55d, 0xf4cd, -0xf55d, 0xf475, 0xf51d, 0xf475, 0xf51d, 0xf3d0, 0xf48f, 0xf3d0, 0xf48f, 0xf3d0, 0xf48f, -0xf307, 0xf3dc, 0xf307, 0xf3dc, 0xf279, 0xf361, 0xf279, 0xf361, 0xf23b, 0xf336, 0xf23b, -0xf336, 0xf207, 0xf313, 0xf207, 0xf313, 0xf1c8, 0xf2e5, 0xf1c8, 0xf2e5, 0xf167, 0xf296, -0xf167, 0xf296, 0xf167, 0xf296, 0xf0aa, 0xf1ea, 0xf0aa, 0xf1ea, 0xefd5, 0xf127, 0xefd5, -0xf127, 0xef32, 0xf097, 0xef32, 0xf097, 0xeedc, 0xf054, 0xeedc, 0xf054, 0xeea6, 0xf031, -0xeea6, 0xf031, 0xeea6, 0xf031, 0xeebe, 0xf05c, 0xeebe, 0xf05c, 0xef6e, 0xf11e, 0xef6e, -0xf11e, 0xf072, 0xf234, 0xf072, 0xf234, 0xf175, 0xf346, 0xf175, 0xf346, 0xf219, 0xf3f7, -0xf219, 0xf3f7, 0xf289, 0xf471, 0xf289, 0xf471, 0xf289, 0xf471, 0xf31e, 0xf50d, 0xf31e, -0xf50d, 0xf3c7, 0xf5b7, 0xf3c7, 0xf5b7, 0xf48e, 0xf67a, 0xf48e, 0xf67a, 0xf56f, 0xf752, -0xf56f, 0xf752, 0xf66b, 0xf83d, 0xf66b, 0xf83d, 0xf789, 0xf945, 0xf789, 0xf945, 0xf789, -0xf945, 0xf8e5, 0xfa84, 0xf8e5, 0xfa84, 0xfaa6, 0xfc20, 0xfaa6, 0xfc20, 0xfc8c, 0xfddb, -0xfc8c, 0xfddb, 0xfe97, 0xffb5, 0xfe97, 0xffb5, 0xbc, 0x1a3, 0xbc, 0x1a3, 0xbc, -0x1a3, 0x2a6, 0x352, 0x2a6, 0x352, 0x442, 0x4ae, 0x442, 0x4ae, 0x57a, 0x5a3, -0x57a, 0x5a3, 0x69c, 0x67f, 0x69c, 0x67f, 0x7f3, 0x790, 0x7f3, 0x790, 0x963, -0x8b9, 0x963, 0x8b9, 0x963, 0x8b9, 0xaa8, 0x9b8, 0xaa8, 0x9b8, 0xb9c, 0xa67, -0xb9c, 0xa67, 0xc8f, 0xb19, 0xc8f, 0xb19, 0xdc6, 0xc11, 0xdc6, 0xc11, 0xf4b, -0xd5c, 0xf4b, 0xd5c, 0x1110, 0xeed, 0x1110, 0xeed, 0x1110, 0xeed, 0x12d3, 0x1080, -0x12d3, 0x1080, 0x144b, 0x11cd, 0x144b, 0x11cd, 0x155d, 0x12bb, 0x155d, 0x12bb, 0x1616, -0x1355, 0x1616, 0x1355, 0x1667, 0x138c, 0x1667, 0x138c, 0x1667, 0x138c, 0x167a, 0x138b, -0x167a, 0x138b, 0x16ae, 0x13b0, 0x16ae, 0x13b0, 0x16d4, 0x13cc, 0x16d4, 0x13cc, 0x16d1, -0x13c5, 0x16d1, 0x13c5, 0x16e5, 0x13d7, 0x16e5, 0x13d7, 0x171f, 0x1414, 0x171f, 0x1414, -0x171f, 0x1414, 0x1763, 0x1460, 0x1763, 0x1460, 0x1756, 0x145c, 0x1756, 0x145c, 0x16f3, -0x1407, 0x16f3, 0x1407, 0x1665, 0x138a, 0x1665, 0x138a, 0x15ed, 0x1324, 0x15ed, 0x1324, -0x15c7, 0x1313, 0x15c7, 0x1313, 0x15c7, 0x1313, 0x15c5, 0x1329, 0x15c5, 0x1329, 0x1584, -0x1302, 0x1584, 0x1302, 0x1499, 0x1233, 0x1499, 0x1233, 0x1337, 0x10ef, 0x1337, 0x10ef, -0x11da, 0xfb2, 0x11da, 0xfb2, 0x11da, 0xfb2, 0x10bc, 0xeb5, 0x10bc, 0xeb5, 0xfd4, -0xdef, 0xfd4, 0xdef, 0xef3, 0xd31, 0xef3, 0xd31, 0xe02, 0xc65, 0xe02, 0xc65, -0xcdd, 0xb64, 0xcdd, 0xb64, 0xbb3, 0xa5f, 0xbb3, 0xa5f, 0xbb3, 0xa5f, 0xa7e, -0x94e, 0xa7e, 0x94e, 0x948, 0x83a, 0x948, 0x83a, 0x87c, 0x790, 0x87c, 0x790, -0x7e4, 0x719, 0x7e4, 0x719, 0x73c, 0x68f, 0x73c, 0x68f, 0x664, 0x5d2, 0x664, -0x5d2, 0x664, 0x5d2, 0x584, 0x50c, 0x584, 0x50c, 0x4d4, 0x471, 0x4d4, 0x471, -0x453, 0x405, 0x453, 0x405, 0x40a, 0x3cc, 0x40a, 0x3cc, 0x368, 0x338, 0x368, -0x338, 0x368, 0x338, 0x230, 0x20d, 0x230, 0x20d, 0xbf, 0xa6, 0xbf, 0xa6, -0xff3f, 0xff2f, 0xff3f, 0xff2f, 0xfde9, 0xfde1, 0xfde9, 0xfde1, 0xfd11, 0xfd10, 0xfd11, -0xfd10, 0xfcc9, 0xfccf, 0xfcc9, 0xfccf, 0xfcc9, 0xfccf, 0xfcbb, 0xfcca, 0xfcbb, 0xfcca, -0xfc61, 0xfc79, 0xfc61, 0xfc79, 0xfb89, 0xfbac, 0xfb89, 0xfbac, 0xfa46, 0xfa77, 0xfa46, -0xfa77, 0xf8c2, 0xf901, 0xf8c2, 0xf901, 0xf8c2, 0xf901, 0xf75e, 0xf7b0, 0xf75e, 0xf7b0, -0xf66a, 0xf6cf, 0xf66a, 0xf6cf, 0xf5fb, 0xf677, 0xf5fb, 0xf677, 0xf5a1, 0xf635, 0xf5a1, -0xf635, 0xf51a, 0xf5c9, 0xf51a, 0xf5c9, 0xf498, 0xf563, 0xf498, 0xf563, 0xf498, 0xf563, -0xf421, 0xf509, 0xf421, 0xf509, 0xf398, 0xf49b, 0xf398, 0xf49b, 0xf2c7, 0xf3e7, 0xf2c7, -0xf3e7, 0xf211, 0xf34c, 0xf211, 0xf34c, 0xf1a5, 0xf2f8, 0xf1a5, 0xf2f8, 0xf139, 0xf2a3, -0xf139, 0xf2a3, 0xf139, 0xf2a3, 0xf0ca, 0xf246, 0xf0ca, 0xf246, 0xf057, 0xf1e3, 0xf057, -0xf1e3, 0xefe0, 0xf178, 0xefe0, 0xf178, 0xef70, 0xf10f, 0xef70, 0xf10f, 0xef0a, 0xf0ac, -0xef0a, 0xf0ac, 0xef0a, 0xf0ac, 0xee4f, 0xeff0, 0xee4f, 0xeff0, 0xed64, 0xef01, 0xed64, -0xef01, 0xecf3, 0xee88, 0xecf3, 0xee88, 0xed29, 0xeeb4, 0xed29, 0xeeb4, 0xeddb, 0xef58, -0xeddb, 0xef58, 0xee8b, 0xeffb, 0xee8b, 0xeffb, 0xee8b, 0xeffb, 0xef32, 0xf092, 0xef32, -0xf092, 0xefdb, 0xf12a, 0xefdb, 0xf12a, 0xf072, 0xf1b2, 0xf072, 0xf1b2, 0xf13a, 0xf26b, -0xf13a, 0xf26b, 0xf23e, 0xf362, 0xf23e, 0xf362, 0xf372, 0xf48b, 0xf372, 0xf48b, 0xf372, -0xf48b, 0xf471, 0xf581, 0xf471, 0xf581, 0xf50c, 0xf614, 0xf50c, 0xf614, 0xf5a8, 0xf6ab, -0xf5a8, 0xf6ab, 0xf651, 0xf752, 0xf651, 0xf752, 0xf6ee, 0xf7ec, 0xf6ee, 0xf7ec, 0xf6ee, -0xf7ec, 0xf7a2, 0xf8a0, 0xf7a2, 0xf8a0, 0xf8e5, 0xf9e2, 0xf8e5, 0xf9e2, 0xfa80, 0xfb7d, -0xfa80, 0xfb7d, 0xfbcc, 0xfcc9, 0xfbcc, 0xfcc9, 0xfccf, 0xfdc8, 0xfccf, 0xfdc8, 0xfd93, -0xfe88, 0xfd93, 0xfe88, 0xfd93, 0xfe88, 0xfe1e, 0xff0b, 0xfe1e, 0xff0b, 0xfe6f, 0xff51, -0xfe6f, 0xff51, 0xfeab, 0xff7e, 0xfeab, 0xff7e, 0xff40, 0x1, 0xff40, 0x1, 0x2b, -0xd4, 0x2b, 0xd4, 0x132, 0x1c1, 0x132, 0x1c1, 0x132, 0x1c1, 0x221, 0x291, -0x221, 0x291, 0x2c7, 0x315, 0x2c7, 0x315, 0x32e, 0x358, 0x32e, 0x358, 0x393, -0x396, 0x393, 0x396, 0x46e, 0x44a, 0x46e, 0x44a, 0x46e, 0x44a, 0x5b7, 0x56b, -0x5b7, 0x56b, 0x6fc, 0x688, 0x6fc, 0x688, 0x82b, 0x792, 0x82b, 0x792, 0x903, -0x848, 0x903, 0x848, 0x96b, 0x892, 0x96b, 0x892, 0x9aa, 0x8b6, 0x9aa, 0x8b6, -0x9aa, 0x8b6, 0x9df, 0x8d6, 0x9df, 0x8d6, 0xa02, 0x8ea, 0xa02, 0x8ea, 0xa00, -0x8df, 0xa00, 0x8df, 0xa17, 0x8f3, 0xa17, 0x8f3, 0xa23, 0x902, 0xa23, 0x902, -0x9d1, 0x8ba, 0x9d1, 0x8ba, 0x9d1, 0x8ba, 0x91e, 0x816, 0x91e, 0x816, 0x813, -0x71f, 0x813, 0x71f, 0x6dd, 0x603, 0x6dd, 0x603, 0x56d, 0x4b0, 0x56d, 0x4b0, -0x3ad, 0x311, 0x3ad, 0x311, 0x3ad, 0x311, 0x194, 0x11b, 0x194, 0x11b, 0xff59, -0xff04, 0xff59, 0xff04, 0xfd5d, 0xfd2d, 0xfd5d, 0xfd2d, 0xfbc3, 0xfbb9, 0xfbc3, 0xfbb9, -0xfad5, 0xfaf0, 0xfad5, 0xfaf0, 0xfa76, 0xfab5, 0xfa76, 0xfab5, 0xfa76, 0xfab5, 0xfa75, -0xfad7, 0xfa75, 0xfad7, 0xfabe, 0xfb42, 0xfabe, 0xfb42, 0xfaec, 0xfb90, 0xfaec, 0xfb90, -0xfac5, 0xfb89, 0xfac5, 0xfb89, 0xfa62, 0xfb43, 0xfa62, 0xfb43, 0xf9da, 0xfad8, 0xf9da, -0xfad8, 0xf9da, 0xfad8, 0xf922, 0xfa3c, 0xf922, 0xfa3c, 0xf86f, 0xf9a5, 0xf86f, 0xf9a5, -0xf7b8, 0xf909, 0xf7b8, 0xf909, 0xf6d3, 0xf841, 0xf6d3, 0xf841, 0xf5f6, 0xf780, 0xf5f6, -0xf780, 0xf5f6, 0xf780, 0xf537, 0xf6df, 0xf537, 0xf6df, 0xf4a8, 0xf66e, 0xf4a8, 0xf66e, -0xf40a, 0xf5ee, 0xf40a, 0xf5ee, 0xf376, 0xf579, 0xf376, 0xf579, 0xf34b, 0xf56c, 0xf34b, -0xf56c, 0xf351, 0xf590, 0xf351, 0xf590, 0xf351, 0xf590, 0xf385, 0xf5e1, 0xf385, 0xf5e1, -0xf3e1, 0xf658, 0xf3e1, 0xf658, 0xf467, 0xf6f6, 0xf467, 0xf6f6, 0xf51a, 0xf7bd, 0xf51a, -0xf7bd, 0xf5c9, 0xf87b, 0xf5c9, 0xf87b, 0xf68f, 0xf94a, 0xf68f, 0xf94a, 0xf68f, 0xf94a, -0xf775, 0xfa33, 0xf775, 0xfa33, 0xf88f, 0xfb49, 0xf88f, 0xfb49, 0xf9b8, 0xfc66, 0xf9b8, -0xfc66, 0xfa86, 0xfd1f, 0xfa86, 0xfd1f, 0xfb3c, 0xfdb9, 0xfb3c, 0xfdb9, 0xfb3c, 0xfdb9, -0xfc40, 0xfe96, 0xfc40, 0xfe96, 0xfdb3, 0xffdb, 0xfdb3, 0xffdb, 0xff4f, 0x13f, 0xff4f, -0x13f, 0xa9, 0x25b, 0xa9, 0x25b, 0x1e2, 0x34f, 0x1e2, 0x34f, 0x2ec, 0x40c, -0x2ec, 0x40c, 0x2ec, 0x40c, 0x3d4, 0x4a3, 0x3d4, 0x4a3, 0x4ba, 0x534, 0x4ba, -0x534, 0x5a1, 0x5c4, 0x5a1, 0x5c4, 0x6b6, 0x67e, 0x6b6, 0x67e, 0x7ac, 0x71b, -0x7ac, 0x71b, 0x894, 0x7aa, 0x894, 0x7aa, 0x894, 0x7aa, 0x9ae, 0x86e, 0x9ae, -0x86e, 0xaf4, 0x960, 0xaf4, 0x960, 0xc72, 0xa8f, 0xc72, 0xa8f, 0xe2a, 0xbfd, -0xe2a, 0xbfd, 0x1033, 0xdc2, 0x1033, 0xdc2, 0x1033, 0xdc2, 0x1209, 0xf59, 0x1209, -0xf59, 0x1316, 0x102f, 0x1316, 0x102f, 0x1395, 0x107e, 0x1395, 0x107e, 0x13cf, 0x108f, -0x13cf, 0x108f, 0x140c, 0x10ab, 0x140c, 0x10ab, 0x1433, 0x10b6, 0x1433, 0x10b6, 0x1433, -0x10b6, 0x1423, 0x1093, 0x1423, 0x1093, 0x1436, 0x1097, 0x1436, 0x1097, 0x1477, 0x10d2, -0x1477, 0x10d2, 0x1489, 0x10e3, 0x1489, 0x10e3, 0x1426, 0x1083, 0x1426, 0x1083, 0x1357, -0xfbd, 0x1357, 0xfbd, 0x1357, 0xfbd, 0x122a, 0xe9f, 0x122a, 0xe9f, 0x1108, 0xd8f, -0x1108, 0xd8f, 0x1052, 0xcf0, 0x1052, 0xcf0, 0xff6, 0xcae, 0xff6, 0xcae, 0xfc7, -0xc9e, 0xfc7, 0xc9e, 0xfc7, 0xc9e, 0xf76, 0xc6e, 0xf76, 0xc6e, 0xec9, 0xbe5, -0xec9, 0xbe5, 0xd93, 0xad6, 0xd93, 0xad6, 0xc44, 0x9b0, 0xc44, 0x9b0, 0xb51, -0x8e9, 0xb51, 0x8e9, 0xa89, 0x84d, 0xa89, 0x84d, 0xa89, 0x84d, 0x9dd, 0x7d0, -0x9dd, 0x7d0, 0x948, 0x769, 0x948, 0x769, 0x8a2, 0x6f3, 0x8a2, 0x6f3, 0x7ad, -0x62c, 0x7ad, 0x62c, 0x68b, 0x539, 0x68b, 0x539, 0x68b, 0x539, 0x589, 0x463, -0x589, 0x463, 0x499, 0x39e, 0x499, 0x39e, 0x3af, 0x2de, 0x3af, 0x2de, 0x298, -0x1ed, 0x298, 0x1ed, 0x178, 0xef, 0x178, 0xef, 0x90, 0x27, 0x90, 0x27, -0x90, 0x27, 0xffd0, 0xff83, 0xffd0, 0xff83, 0xff44, 0xff10, 0xff44, 0xff10, 0xfec2, -0xfea3, 0xfec2, 0xfea3, 0xfe13, 0xfe05, 0xfe13, 0xfe05, 0xfd62, 0xfd62, 0xfd62, 0xfd62, -0xfcbd, 0xfcc8, 0xfcbd, 0xfcc8, 0xfcbd, 0xfcc8, 0xfc14, 0xfc27, 0xfc14, 0xfc27, 0xfb73, -0xfb8c, 0xfb73, 0xfb8c, 0xfb20, 0xfb3d, 0xfb20, 0xfb3d, 0xfb4f, 0xfb71, 0xfb4f, 0xfb71, -0xfbb1, 0xfbd5, 0xfbb1, 0xfbd5, 0xfbb1, 0xfbd5, 0xfbfa, 0xfc22, 0xfbfa, 0xfc22, 0xfbd2, -0xfbfe, 0xfbd2, 0xfbfe, 0xfb16, 0xfb48, 0xfb16, 0xfb48, 0xfa1c, 0xfa55, 0xfa1c, 0xfa55, -0xf936, 0xf979, 0xf936, 0xf979, 0xf895, 0xf8e3, 0xf895, 0xf8e3, 0xf895, 0xf8e3, 0xf7f0, -0xf84c, 0xf7f0, 0xf84c, 0xf75e, 0xf7ca, 0xf75e, 0xf7ca, 0xf6fc, 0xf77b, 0xf6fc, 0xf77b, -0xf6a9, 0xf73c, 0xf6a9, 0xf73c, 0xf66d, 0xf716, 0xf66d, 0xf716, 0xf5ea, 0xf6ab, 0xf5ea, -0xf6ab, 0xf5ea, 0xf6ab, 0xf555, 0xf62d, 0xf555, 0xf62d, 0xf506, 0xf5f6, 0xf506, 0xf5f6, -0xf4f6, 0xf5fe, 0xf4f6, 0xf5fe, 0xf4f9, 0xf617, 0xf4f9, 0xf617, 0xf4bf, 0xf5f2, 0xf4bf, -0xf5f2, 0xf4bf, 0xf5f2, 0xf495, 0xf5db, 0xf495, 0xf5db, 0xf48d, 0xf5e4, 0xf48d, 0xf5e4, -0xf46b, 0xf5cf, 0xf46b, 0xf5cf, 0xf40d, 0xf57c, 0xf40d, 0xf57c, 0xf3a0, 0xf517, 0xf3a0, -0xf517, 0xf3af, 0xf52a, 0xf3af, 0xf52a, 0xf3af, 0xf52a, 0xf429, 0xf5a7, 0xf429, 0xf5a7, -0xf4d6, 0xf654, 0xf4d6, 0xf654, 0xf580, 0xf6fa, 0xf580, 0xf6fa, 0xf615, 0xf78a, 0xf615, -0xf78a, 0xf6a0, 0xf80e, 0xf6a0, 0xf80e, 0xf715, 0xf87c, 0xf715, 0xf87c, 0xf715, 0xf87c, -0xf792, 0xf8f1, 0xf792, 0xf8f1, 0xf829, 0xf97f, 0xf829, 0xf97f, 0xf8f6, 0xfa43, 0xf8f6, -0xfa43, 0xf9d3, 0xfb19, 0xf9d3, 0xfb19, 0xfaa0, 0xfbde, 0xfaa0, 0xfbde, 0xfaa0, 0xfbde, -0xfb39, 0xfc71, 0xfb39, 0xfc71, 0xfb76, 0xfca8, 0xfb76, 0xfca8, 0xfb89, 0xfcb7, 0xfb89, -0xfcb7, 0xfbab, 0xfcd4, 0xfbab, 0xfcd4, 0xfc3a, 0xfd60, 0xfc3a, 0xfd60, 0xfd15, 0xfe36, -0xfd15, 0xfe36, 0xfd15, 0xfe36, 0xfdeb, 0xff07, 0xfdeb, 0xff07, 0xfef5, 0xd, 0xfef5, -0xd, 0x29, 0x13a, 0x29, 0x13a, 0x124, 0x22c, 0x124, 0x22c, 0x1bc, 0x2ba, -0x1bc, 0x2ba, 0x21e, 0x30e, 0x21e, 0x30e, 0x21e, 0x30e, 0x26e, 0x34e, 0x26e, -0x34e, 0x2b3, 0x380, 0x2b3, 0x380, 0x308, 0x3be, 0x308, 0x3be, 0x373, 0x410, -0x373, 0x410, 0x3a9, 0x42b, 0x3a9, 0x42b, 0x3a9, 0x42b, 0x39e, 0x400, 0x39e, -0x400, 0x376, 0x3b8, 0x376, 0x3b8, 0x34f, 0x36f, 0x34f, 0x36f, 0x35f, 0x35c, -0x35f, 0x35c, 0x3b8, 0x391, 0x3b8, 0x391, 0x438, 0x3ef, 0x438, 0x3ef, 0x438, -0x3ef, 0x47d, 0x411, 0x47d, 0x411, 0x490, 0x405, 0x490, 0x405, 0x49e, 0x3f7, -0x49e, 0x3f7, 0x4a3, 0x3e2, 0x4a3, 0x3e2, 0x4c2, 0x3ec, 0x4c2, 0x3ec, 0x4ec, -0x405, 0x4ec, 0x405, 0x4ec, 0x405, 0x524, 0x432, 0x524, 0x432, 0x549, 0x451, -0x549, 0x451, 0x540, 0x447, 0x540, 0x447, 0x51b, 0x426, 0x51b, 0x426, 0x4bd, -0x3d2, 0x4bd, 0x3d2, 0x4bd, 0x3d2, 0x421, 0x344, 0x421, 0x344, 0x30b, 0x242, -0x30b, 0x242, 0x16f, 0xbd, 0x16f, 0xbd, 0xff6d, 0xfed6, 0xff6d, 0xfed6, 0xfd28, -0xfcaf, 0xfd28, 0xfcaf, 0xfaf2, 0xfa98, 0xfaf2, 0xfa98, 0xfaf2, 0xfa98, 0xf8fc, 0xf8c5, -0xf8fc, 0xf8c5, 0xf77b, 0xf766, 0xf77b, 0xf766, 0xf654, 0xf663, 0xf654, 0xf663, 0xf570, -0xf5a2, 0xf570, 0xf5a2, 0xf4e3, 0xf539, 0xf4e3, 0xf539, 0xf4a2, 0xf51a, 0xf4a2, 0xf51a, -0xf4a2, 0xf51a, 0xf494, 0xf52d, 0xf494, 0xf52d, 0xf48b, 0xf544, 0xf48b, 0xf544, 0xf487, -0xf55f, 0xf487, 0xf55f, 0xf466, 0xf55b, 0xf466, 0xf55b, 0xf40a, 0xf51a, 0xf40a, 0xf51a, -0xf40a, 0xf51a, 0xf384, 0xf4af, 0xf384, 0xf4af, 0xf2f3, 0xf437, 0xf2f3, 0xf437, 0xf291, -0xf3ed, 0xf291, 0xf3ed, 0xf229, 0xf39c, 0xf229, 0xf39c, 0xf1ac, 0xf335, 0xf1ac, 0xf335, -0xf14a, 0xf2e9, 0xf14a, 0xf2e9, 0xf14a, 0xf2e9, 0xf116, 0xf2c9, 0xf116, 0xf2c9, 0xf13a, -0xf302, 0xf13a, 0xf302, 0xf19f, 0xf37a, 0xf19f, 0xf37a, 0xf229, 0xf416, 0xf229, 0xf416, -0xf2c1, 0xf4be, 0xf2c1, 0xf4be, 0xf369, 0xf575, 0xf369, 0xf575, 0xf369, 0xf575, 0xf437, -0xf650, 0xf437, 0xf650, 0xf4ac, 0xf6d0, 0xf4ac, 0xf6d0, 0xf4d0, 0xf6fb, 0xf4d0, 0xf6fb, -0xf52e, 0xf75b, 0xf52e, 0xf75b, 0xf5dd, 0xf80a, 0xf5dd, 0xf80a, 0xf5dd, 0xf80a, 0xf6ba, -0xf8e0, 0xf6ba, 0xf8e0, 0xf77d, 0xf998, 0xf77d, 0xf998, 0xf870, 0xfa7a, 0xf870, 0xfa7a, -0xf9e9, 0xfbdc, 0xf9e9, 0xfbdc, 0xfbc2, 0xfd97, 0xfbc2, 0xfd97, 0xfddb, 0xff8c, 0xfddb, -0xff8c, 0xfddb, 0xff8c, 0xffce, 0x154, 0xffce, 0x154, 0x163, 0x2b8, 0x163, 0x2b8, -0x2bd, 0x3db, 0x2bd, 0x3db, 0x3eb, 0x4cb, 0x3eb, 0x4cb, 0x4f9, 0x597, 0x4f9, -0x597, 0x5ee, 0x645, 0x5ee, 0x645, 0x5ee, 0x645, 0x6e8, 0x6f4, 0x6e8, 0x6f4, -0x7fe, 0x7be, 0x7fe, 0x7be, 0x92e, 0x89e, 0x92e, 0x89e, 0xa4a, 0x96b, 0xa4a, -0x96b, 0xb38, 0xa0a, 0xb38, 0xa0a, 0xb38, 0xa0a, 0xc31, 0xab5, 0xc31, 0xab5, -0xd88, 0xbc0, 0xd88, 0xbc0, 0xf69, 0xd5a, 0xf69, 0xd5a, 0x1142, 0xeef, 0x1142, -0xeef, 0x1279, 0xfe8, 0x1279, 0xfe8, 0x135d, 0x1095, 0x135d, 0x1095, 0x135d, 0x1095, -0x1421, 0x1128, 0x1421, 0x1128, 0x14c2, 0x119f, 0x14c2, 0x119f, 0x1536, 0x11f0, 0x1536, -0x11f0, 0x1598, 0x1238, 0x1598, 0x1238, 0x161b, 0x12a8, 0x161b, 0x12a8, 0x161b, 0x12a8, -0x16b8, 0x133a, 0x16b8, 0x133a, 0x175a, 0x13d8, 0x175a, 0x13d8, 0x17a1, 0x1422, 0x17a1, -0x1422, 0x1762, 0x13ec, 0x1762, 0x13ec, 0x16da, 0x1374, 0x16da, 0x1374, 0x165a, 0x1309, -0x165a, 0x1309, 0x165a, 0x1309, 0x15fc, 0x12c4, 0x15fc, 0x12c4, 0x15ae, 0x1294, 0x15ae, -0x1294, 0x1565, 0x126b, 0x1565, 0x126b, 0x14ea, 0x1213, 0x14ea, 0x1213, 0x1439, 0x1187, -0x1439, 0x1187, 0x1341, 0x10b6, 0x1341, 0x10b6, 0x1341, 0x10b6, 0x1216, 0xfb1, 0x1216, -0xfb1, 0x10fa, 0xebd, 0x10fa, 0xebd, 0x101e, 0xe07, 0x101e, 0xe07, 0xf8b, 0xd9b, -0xf8b, 0xd9b, 0xf09, 0xd3e, 0xf09, 0xd3e, 0xf09, 0xd3e, 0xe5e, 0xcb8, 0xe5e, -0xcb8, 0xd3b, 0xbb8, 0xd3b, 0xbb8, 0xbab, 0xa49, 0xbab, 0xa49, 0xa3c, 0x8fa, -0xa3c, 0x8fa, 0x908, 0x7e4, 0x908, 0x7e4, 0x7cb, 0x6c5, 0x7cb, 0x6c5, 0x7cb, -0x6c5, 0x69a, 0x5af, 0x69a, 0x5af, 0x5af, 0x4de, 0x5af, 0x4de, 0x537, 0x47e, -0x537, 0x47e, 0x4db, 0x439, 0x4db, 0x439, 0x461, 0x3d4, 0x461, 0x3d4, 0x3e2, -0x369, 0x3e2, 0x369, 0x3e2, 0x369, 0x319, 0x2b3, 0x319, 0x2b3, 0x228, 0x1d3, -0x228, 0x1d3, 0x13f, 0xfb, 0x13f, 0xfb, 0x68, 0x33, 0x68, 0x33, 0xff6c, -0xff44, 0xff6c, 0xff44, 0xff6c, 0xff44, 0xfe2d, 0xfe11, 0xfe2d, 0xfe11, 0xfd3c, 0xfd2c, -0xfd3c, 0xfd2c, 0xfcad, 0xfca8, 0xfcad, 0xfca8, 0xfc38, 0xfc3c, 0xfc38, 0xfc3c, 0xfb96, -0xfba4, 0xfb96, 0xfba4, 0xfada, 0xfaf1, 0xfada, 0xfaf1, 0xfada, 0xfaf1, 0xfa27, 0xfa46, -0xfa27, 0xfa46, 0xf931, 0xf958, 0xf931, 0xf958, 0xf803, 0xf833, 0xf803, 0xf833, 0xf6e0, -0xf719, 0xf6e0, 0xf719, 0xf60f, 0xf652, 0xf60f, 0xf652, 0xf5ca, 0xf617, 0xf5ca, 0xf617, -0xf5ca, 0xf617, 0xf5c1, 0xf61a, 0xf5c1, 0xf61a, 0xf57d, 0xf5e2, 0xf57d, 0xf5e2, 0xf4d5, -0xf548, 0xf4d5, 0xf548, 0xf42b, 0xf4ad, 0xf42b, 0xf4ad, 0xf3f4, 0xf487, 0xf3f4, 0xf487, -0xf3f4, 0xf487, 0xf3c4, 0xf469, 0xf3c4, 0xf469, 0xf34d, 0xf406, 0xf34d, 0xf406, 0xf2cc, -0xf399, 0xf2cc, 0xf399, 0xf251, 0xf333, 0xf251, 0xf333, 0xf1cf, 0xf2c7, 0xf1cf, 0xf2c7, -0xf13c, 0xf24a, 0xf13c, 0xf24a, 0xf13c, 0xf24a, 0xf0b9, 0xf1de, 0xf0b9, 0xf1de, 0xf023, -0xf15e, 0xf023, 0xf15e, 0xef78, 0xf0c8, 0xef78, 0xf0c8, 0xeeff, 0xf063, 0xeeff, 0xf063, -0xeec0, 0xf037, 0xeec0, 0xf037, 0xee99, 0xf021, 0xee99, 0xf021, 0xee99, 0xf021, 0xee9b, -0xf032, 0xee9b, 0xf032, 0xef2a, 0xf0ce, 0xef2a, 0xf0ce, 0xf05b, 0xf209, 0xf05b, 0xf209, -0xf1ac, 0xf362, 0xf1ac, 0xf362, 0xf29b, 0xf457, 0xf29b, 0xf457, 0xf29b, 0xf457, 0xf327, -0xf4e7, 0xf327, 0xf4e7, 0xf395, 0xf556, 0xf395, 0xf556, 0xf41b, 0xf5da, 0xf41b, 0xf5da, -0xf4bb, 0xf676, 0xf4bb, 0xf676, 0xf576, 0xf72d, 0xf576, 0xf72d, 0xf654, 0xf804, 0xf654, -0xf804, 0xf654, 0xf804, 0xf747, 0xf8ee, 0xf747, 0xf8ee, 0xf843, 0xf9e1, 0xf843, 0xf9e1, -0xf93a, 0xfacd, 0xf93a, 0xfacd, 0xfa07, 0xfb8f, 0xfa07, 0xfb8f, 0xfabf, 0xfc3a, 0xfabf, -0xfc3a, 0xfb96, 0xfd04, 0xfb96, 0xfd04, 0xfb96, 0xfd04, 0xfc69, 0xfdc9, 0xfc69, 0xfdc9, -0xfd28, 0xfe7a, 0xfd28, 0xfe7a, 0xfdba, 0xfefb, 0xfdba, 0xfefb, 0xfe5e, 0xff8f, 0xfe5e, -0xff8f, 0xff1a, 0x38, 0xff1a, 0x38, 0xff1a, 0x38, 0xff91, 0x9c, 0xff91, 0x9c, -0x14, 0x10a, 0x14, 0x10a, 0xbb, 0x19a, 0xbb, 0x19a, 0x189, 0x24f, 0x189, -0x24f, 0x246, 0x2f3, 0x246, 0x2f3, 0x2f0, 0x380, 0x2f0, 0x380, 0x2f0, 0x380, -0x392, 0x405, 0x392, 0x405, 0x3e8, 0x43a, 0x3e8, 0x43a, 0x444, 0x476, 0x444, -0x476, 0x4c4, 0x4d5, 0x4c4, 0x4d5, 0x559, 0x547, 0x559, 0x547, 0x5d9, 0x5a6, -0x5d9, 0x5a6, 0x5d9, 0x5a6, 0x632, 0x5de, 0x632, 0x5de, 0x66e, 0x5fa, 0x66e, -0x5fa, 0x688, 0x5f8, 0x688, 0x5f8, 0x6c7, 0x61d, 0x6c7, 0x61d, 0x703, 0x641, -0x703, 0x641, 0x703, 0x641, 0x724, 0x64f, 0x724, 0x64f, 0x756, 0x673, 0x756, -0x673, 0x761, 0x675, 0x761, 0x675, 0x6f2, 0x602, 0x6f2, 0x602, 0x5ec, 0x4ff, -0x5ec, 0x4ff, 0x4a1, 0x3bb, 0x4a1, 0x3bb, 0x4a1, 0x3bb, 0x359, 0x281, 0x359, -0x281, 0x1e2, 0x11c, 0x1e2, 0x11c, 0x3f, 0xff92, 0x3f, 0xff92, 0xfe86, 0xfdf6, -0xfe86, 0xfdf6, 0xfcc8, 0xfc59, 0xfcc8, 0xfc59, 0xfb33, 0xfae8, 0xfb33, 0xfae8, 0xfb33, -0xfae8, 0xf9dd, 0xf9b9, 0xf9dd, 0xf9b9, 0xf925, 0xf92a, 0xf925, 0xf92a, 0xf921, 0xf94f, -0xf921, 0xf94f, 0xf995, 0xf9ed, 0xf995, 0xf9ed, 0xfa4a, 0xfacc, 0xfa4a, 0xfacc, 0xfa4a, -0xfacc, 0xfad2, 0xfb7d, 0xfad2, 0xfb7d, 0xfab8, 0xfb8a, 0xfab8, 0xfb8a, 0xf9ec, 0xfae3, -0xf9ec, 0xfae3, 0xf8e5, 0xf9fe, 0xf8e5, 0xf9fe, 0xf815, 0xf94d, 0xf815, 0xf94d, 0xf777, -0xf8cc, 0xf777, 0xf8cc, 0xf777, 0xf8cc, 0xf6ec, 0xf85a, 0xf6ec, 0xf85a, 0xf677, 0xf7fb, -0xf677, 0xf7fb, 0xf61e, 0xf7b5, 0xf61e, 0xf7b5, 0xf602, 0xf7aa, 0xf602, 0xf7aa, 0xf5f9, -0xf7ae, 0xf5f9, 0xf7ae, 0xf5ba, 0xf77b, 0xf5ba, 0xf77b, 0xf5ba, 0xf77b, 0xf569, 0xf734, -0xf569, 0xf734, 0xf562, 0xf734, 0xf562, 0xf734, 0xf5dc, 0xf7b4, 0xf5dc, 0xf7b4, 0xf698, -0xf874, 0xf698, 0xf874, 0xf744, 0xf922, 0xf744, 0xf922, 0xf744, 0xf922, 0xf7e1, 0xf9bf, -0xf7e1, 0xf9bf, 0xf895, 0xfa71, 0xf895, 0xfa71, 0xf93e, 0xfb15, 0xf93e, 0xfb15, 0xf9dc, -0xfbaa, 0xf9dc, 0xfbaa, 0xfa60, 0xfc23, 0xfa60, 0xfc23, 0xfad3, 0xfc87, 0xfad3, 0xfc87, -0xfad3, 0xfc87, 0xfb78, 0xfd19, 0xfb78, 0xfd19, 0xfc5a, 0xfde3, 0xfc5a, 0xfde3, 0xfd98, -0xff04, 0xfd98, 0xff04, 0xfed5, 0x1e, 0xfed5, 0x1e, 0xffd8, 0xf9, 0xffd8, 0xf9, -0xffd8, 0xf9, 0xbf, 0x1b3, 0xbf, 0x1b3, 0x1af, 0x26e, 0x1af, 0x26e, 0x2a7, -0x32d, 0x2a7, 0x32d, 0x355, 0x39d, 0x355, 0x39d, 0x3f2, 0x3f8, 0x3f2, 0x3f8, -0x4b0, 0x470, 0x4b0, 0x470, 0x4b0, 0x470, 0x5a7, 0x51e, 0x5a7, 0x51e, 0x69c, -0x5c9, 0x69c, 0x5c9, 0x770, 0x652, 0x770, 0x652, 0x88d, 0x723, 0x88d, 0x723, -0x9d7, 0x825, 0x9d7, 0x825, 0xb5a, 0x962, 0xb5a, 0x962, 0xb5a, 0x962, 0xd1a, -0xae0, 0xd1a, 0xae0, 0xec3, 0xc4c, 0xec3, 0xc4c, 0x1026, 0xd79, 0x1026, 0xd79, -0x113d, 0xe5f, 0x113d, 0xe5f, 0x1215, 0xf0f, 0x1215, 0xf0f, 0x1215, 0xf0f, 0x129c, -0xf75, 0x129c, 0xf75, 0x12d4, 0xf95, 0x12d4, 0xf95, 0x1309, 0xfba, 0x1309, 0xfba, -0x1364, 0x100d, 0x1364, 0x100d, 0x13a3, 0x104c, 0x13a3, 0x104c, 0x13b7, 0x1067, 0x13b7, -0x1067, 0x13b7, 0x1067, 0x138a, 0x1047, 0x138a, 0x1047, 0x12de, 0xfaf, 0x12de, 0xfaf, -0x1203, 0xeed, 0x1203, 0xeed, 0x1145, 0xe4c, 0x1145, 0xe4c, 0x10a1, 0xdc8, 0x10a1, -0xdc8, 0xffd, 0xd47, 0xffd, 0xd47, 0xffd, 0xd47, 0xf71, 0xce0, 0xf71, 0xce0, -0xf1e, 0xcb4, 0xf1e, 0xcb4, 0xead, 0xc6a, 0xead, 0xc6a, 0xdda, 0xbbe, 0xdda, -0xbbe, 0xcad, 0xab9, 0xcad, 0xab9, 0xcad, 0xab9, 0xb65, 0x997, 0xb65, 0x997, -0xa6d, 0x8c4, 0xa6d, 0x8c4, 0x9f7, 0x873, 0x9f7, 0x873, 0x99d, 0x83c, 0x99d, -0x83c, 0x8f1, 0x7b2, 0x8f1, 0x7b2, 0x7f7, 0x6db, 0x7f7, 0x6db, 0x7f7, 0x6db, -0x6d5, 0x5db, 0x6d5, 0x5db, 0x5a6, 0x4cc, 0x5a6, 0x4cc, 0x460, 0x3a5, 0x460, -0x3a5, 0x326, 0x28b, 0x326, 0x28b, 0x1f5, 0x178, 0x1f5, 0x178, 0xd4, 0x75, -0xd4, 0x75, 0xd4, 0x75, 0xffe6, 0xffa3, 0xffe6, 0xffa3, 0xff2b, 0xff04, 0xff2b, -0xff04, 0xfec0, 0xfeb2, 0xfec0, 0xfeb2, 0xfe78, 0xfe83, 0xfe78, 0xfe83, 0xfe60, 0xfe80, -0xfe60, 0xfe80, 0xfe60, 0xfe80, 0xfe70, 0xfea4, 0xfe70, 0xfea4, 0xfe56, 0xfe9c, 0xfe56, -0xfe9c, 0xfdf3, 0xfe47, 0xfdf3, 0xfe47, 0xfd4c, 0xfdab, 0xfd4c, 0xfdab, 0xfcb4, 0xfd1c, -0xfcb4, 0xfd1c, 0xfc2f, 0xfc9c, 0xfc2f, 0xfc9c, 0xfc2f, 0xfc9c, 0xfbcc, 0xfc3c, 0xfbcc, -0xfc3c, 0xfbb9, 0xfc2b, 0xfbb9, 0xfc2b, 0xfbcb, 0xfc3a, 0xfbcb, 0xfc3a, 0xfbc8, 0xfc35, -0xfbc8, 0xfc35, 0xfb72, 0xfbda, 0xfb72, 0xfbda, 0xfacb, 0xfb2f, 0xfacb, 0xfb2f, 0xfacb, -0xfb2f, 0xf9de, 0xfa3d, 0xf9de, 0xfa3d, 0xf8df, 0xf93b, 0xf8df, 0xf93b, 0xf84e, 0xf8a8, -0xf84e, 0xf8a8, 0xf821, 0xf87a, 0xf821, 0xf87a, 0xf831, 0xf88b, 0xf831, 0xf88b, 0xf831, -0xf88b, 0xf83c, 0xf89b, 0xf83c, 0xf89b, 0xf80c, 0xf873, 0xf80c, 0xf873, 0xf7c1, 0xf832, -0xf7c1, 0xf832, 0xf766, 0xf7e5, 0xf766, 0xf7e5, 0xf729, 0xf7b8, 0xf729, 0xf7b8, 0xf729, -0xf7cc, 0xf729, 0xf7cc, 0xf729, 0xf7cc, 0xf75c, 0xf814, 0xf75c, 0xf814, 0xf76e, 0xf83c, -0xf76e, 0xf83c, 0xf744, 0xf829, 0xf744, 0xf829, 0xf6e8, 0xf7e4, 0xf6e8, 0xf7e4, 0xf67c, -0xf78f, 0xf67c, 0xf78f, 0xf644, 0xf76c, 0xf644, 0xf76c, 0xf644, 0xf76c, 0xf620, 0xf75b, -0xf620, 0xf75b, 0xf64f, 0xf79a, 0xf64f, 0xf79a, 0xf6a5, 0xf7fd, 0xf6a5, 0xf7fd, 0xf6de, -0xf840, 0xf6de, 0xf840, 0xf73c, 0xf8a3, 0xf73c, 0xf8a3, 0xf73c, 0xf8a3, 0xf7c3, 0xf92d, -0xf7c3, 0xf92d, 0xf85e, 0xf9c5, 0xf85e, 0xf9c5, 0xf8d9, 0xfa3b, 0xf8d9, 0xfa3b, 0xf94a, -0xfaa4, 0xf94a, 0xfaa4, 0xf9a7, 0xfaf6, 0xf9a7, 0xfaf6, 0xf9e3, 0xfb25, 0xf9e3, 0xfb25, -0xf9e3, 0xfb25, 0xfa2a, 0xfb5d, 0xfa2a, 0xfb5d, 0xfad5, 0xfbf9, 0xfad5, 0xfbf9, 0xfbf6, -0xfd0b, 0xfbf6, 0xfd0b, 0xfcf5, 0xfdfb, 0xfcf5, 0xfdfb, 0xfdb6, 0xfeae, 0xfdb6, 0xfeae, -0xfe36, 0xff23, 0xfe36, 0xff23, 0xfe36, 0xff23, 0xfe6b, 0xff4d, 0xfe6b, 0xff4d, 0xfeae, -0xff87, 0xfeae, 0xff87, 0xff0f, 0xffe1, 0xff0f, 0xffe1, 0xff86, 0x52, 0xff86, 0x52, -0x32, 0xfa, 0x32, 0xfa, 0x32, 0xfa, 0x109, 0x1cf, 0x109, 0x1cf, 0x1e6, -0x2a9, 0x1e6, 0x2a9, 0x29e, 0x35e, 0x29e, 0x35e, 0x315, 0x3d1, 0x315, 0x3d1, -0x325, 0x3db, 0x325, 0x3db, 0x2c4, 0x373, 0x2c4, 0x373, 0x2c4, 0x373, 0x26c, -0x310, 0x26c, 0x310, 0x279, 0x310, 0x279, 0x310, 0x2a8, 0x32f, 0x2a8, 0x32f, -0x29f, 0x312, 0x29f, 0x312, 0x275, 0x2d2, 0x275, 0x2d2, 0x24b, 0x28e, 0x24b, -0x28e, 0x24b, 0x28e, 0x218, 0x23f, 0x218, 0x23f, 0x209, 0x212, 0x209, 0x212, -0x258, 0x242, 0x258, 0x242, 0x2f4, 0x2c0, 0x2f4, 0x2c0, 0x3b5, 0x363, 0x3b5, -0x363, 0x3b5, 0x363, 0x45a, 0x3ed, 0x45a, 0x3ed, 0x4af, 0x42a, 0x4af, 0x42a, -0x4ca, 0x430, 0x4ca, 0x430, 0x4ad, 0x404, 0x4ad, 0x404, 0x494, 0x3e1, 0x494, -0x3e1, 0x48f, 0x3d8, 0x48f, 0x3d8, 0x48f, 0x3d8, 0x45b, 0x3a6, 0x45b, 0x3a6, -0x3c2, 0x316, 0x3c2, 0x316, 0x2d4, 0x236, 0x2d4, 0x236, 0x1c3, 0x13a, 0x1c3, -0x13a, 0x6c, 0xfffb, 0x6c, 0xfffb, 0xfed6, 0xfe84, 0xfed6, 0xfe84, 0xfed6, 0xfe84, -0xfcff, 0xfcce, 0xfcff, 0xfcce, 0xfb26, 0xfb18, 0xfb26, 0xfb18, 0xf981, 0xf997, 0xf981, -0xf997, 0xf815, 0xf851, 0xf815, 0xf851, 0xf6d6, 0xf736, 0xf6d6, 0xf736, 0xf6d6, 0xf736, -0xf5ac, 0xf62d, 0xf5ac, 0xf62d, 0xf520, 0xf5bf, 0xf520, 0xf5bf, 0xf55a, 0xf615, 0xf55a, -0xf615, 0xf5fa, 0xf6cb, 0xf5fa, 0xf6cb, 0xf667, 0xf74a, 0xf667, 0xf74a, 0xf680, 0xf771, -0xf680, 0xf771, 0xf680, 0xf771, 0xf670, 0xf76a, 0xf670, 0xf76a, 0xf624, 0xf722, 0xf624, -0xf722, 0xf5a2, 0xf6a1, 0xf5a2, 0xf6a1, 0xf4ed, 0xf5ea, 0xf4ed, 0xf5ea, 0xf443, 0xf53c, -0xf443, 0xf53c, 0xf443, 0xf53c, 0xf3ee, 0xf4e1, 0xf3ee, 0xf4e1, 0xf408, 0xf4f4, 0xf408, -0xf4f4, 0xf462, 0xf547, 0xf462, 0xf547, 0xf4a7, 0xf586, 0xf4a7, 0xf586, 0xf4b3, 0xf58c, -0xf4b3, 0xf58c, 0xf4da, 0xf5b0, 0xf4da, 0xf5b0, 0xf4da, 0xf5b0, 0xf51d, 0xf5f1, 0xf51d, -0xf5f1, 0xf557, 0xf62a, 0xf557, 0xf62a, 0xf58b, 0xf660, 0xf58b, 0xf660, 0xf5cd, 0xf6a3, -0xf5cd, 0xf6a3, 0xf64d, 0xf724, 0xf64d, 0xf724, 0xf689, 0xf761, 0xf689, 0xf761, 0xf689, -0xf761, 0xf6b5, 0xf78c, 0xf6b5, 0xf78c, 0xf745, 0xf818, 0xf745, 0xf818, 0xf839, 0xf905, -0xf839, 0xf905, 0xf958, 0xfa18, 0xf958, 0xfa18, 0xfa82, 0xfb30, 0xfa82, 0xfb30, 0xfa82, -0xfb30, 0xfbfd, 0xfc92, 0xfbfd, 0xfc92, 0xfd4f, 0xfdc4, 0xfd4f, 0xfdc4, 0xfe20, 0xfe6e, -0xfe20, 0xfe6e, 0xfec3, 0xfee2, 0xfec3, 0xfee2, 0x12, 0xfffa, 0x12, 0xfffa, 0x1bd, -0x166, 0x1bd, 0x166, 0x1bd, 0x166, 0x350, 0x2b5, 0x350, 0x2b5, 0x54f, 0x46a, -0x54f, 0x46a, 0x790, 0x65d, 0x790, 0x65d, 0x9c4, 0x83f, 0x9c4, 0x83f, 0xb1a, -0x944, 0xb1a, 0x944, 0xbf2, 0x9ca, 0xbf2, 0x9ca, 0xbf2, 0x9ca, 0xcef, 0xa77, -0xcef, 0xa77, 0xdf9, 0xb36, 0xdf9, 0xb36, 0xf60, 0xc57, 0xf60, 0xc57, 0x111c, -0xdd4, 0x111c, 0xdd4, 0x1351, 0xfd2, 0x1351, 0xfd2, 0x1351, 0xfd2, 0x15b9, 0x120d, -0x15b9, 0x120d, 0x1819, 0x144a, 0x1819, 0x144a, 0x1a2c, 0x1645, 0x1a2c, 0x1645, 0x1ba4, -0x17b0, 0x1ba4, 0x17b0, 0x1cc4, 0x18ce, 0x1cc4, 0x18ce, 0x1d8c, 0x199e, 0x1d8c, 0x199e, -0x1d8c, 0x199e, 0x1e47, 0x1a6d, 0x1e47, 0x1a6d, 0x1eef, 0x1b31, 0x1eef, 0x1b31, 0x1f22, -0x1b89, 0x1f22, 0x1b89, 0x1ee6, 0x1b79, 0x1ee6, 0x1b79, 0x1e3d, 0x1b03, 0x1e3d, 0x1b03, -0x1d6c, 0x1a6a, 0x1d6c, 0x1a6a, 0x1d6c, 0x1a6a, 0x1c9f, 0x19da, 0x1c9f, 0x19da, 0x1b98, -0x1912, 0x1b98, 0x1912, 0x1a0d, 0x17c8, 0x1a0d, 0x17c8, 0x1816, 0x1614, 0x1816, 0x1614, -0x164c, 0x148e, 0x164c, 0x148e, 0x164c, 0x148e, 0x14ed, 0x1373, 0x14ed, 0x1373, 0x1397, -0x1261, 0x1397, 0x1261, 0x1211, 0x111e, 0x1211, 0x111e, 0x1073, 0xfc3, 0x1073, 0xfc3, -0xeb4, 0xe46, 0xeb4, 0xe46, 0xccb, 0xc9e, 0xccb, 0xc9e, 0xccb, 0xc9e, 0xaf1, -0xb05, 0xaf1, 0xb05, 0x960, 0x9b3, 0x960, 0x9b3, 0x7cf, 0x862, 0x7cf, 0x862, -0x603, 0x6d3, 0x603, 0x6d3, 0x402, 0x50f, 0x402, 0x50f, 0x199, 0x2e0, 0x199, -0x2e0, 0x199, 0x2e0, 0xff02, 0x81, 0xff02, 0x81, 0xfc9b, 0xfe50, 0xfc9b, 0xfe50, -0xfa9d, 0xfc84, 0xfa9d, 0xfc84, 0xf926, 0xfb3b, 0xf926, 0xfb3b, 0xf7ee, 0xfa2c, 0xf7ee, -0xfa2c, 0xf7ee, 0xfa2c, 0xf6d4, 0xf936, 0xf6d4, 0xf936, 0xf5e6, 0xf864, 0xf5e6, 0xf864, -0xf4ec, 0xf77f, 0xf4ec, 0xf77f, 0xf395, 0xf636, 0xf395, 0xf636, 0xf21e, 0xf4c5, 0xf21e, -0xf4c5, 0xf0bc, 0xf361, 0xf0bc, 0xf361, 0xf0bc, 0xf361, 0xefaa, 0xf245, 0xefaa, 0xf245, -0xeec6, 0xf150, 0xeec6, 0xf150, 0xedc4, 0xf035, 0xedc4, 0xf035, 0xecff, 0xef51, 0xecff, -0xef51, 0xec9b, 0xeec8, 0xec9b, 0xeec8, 0xeccc, 0xeed2, 0xeccc, 0xeed2, 0xeccc, 0xeed2, -0xed5e, 0xef39, 0xed5e, 0xef39, 0xedbb, 0xef6b, 0xedbb, 0xef6b, 0xeda2, 0xef26, 0xeda2, -0xef26, 0xed48, 0xeea3, 0xed48, 0xeea3, 0xed01, 0xee36, 0xed01, 0xee36, 0xed01, 0xee36, -0xecdd, 0xedf1, 0xecdd, 0xedf1, 0xed09, 0xee01, 0xed09, 0xee01, 0xed5c, 0xee3f, 0xed5c, -0xee3f, 0xedf8, 0xeecc, 0xedf8, 0xeecc, 0xeea8, 0xef74, 0xeea8, 0xef74, 0xef14, 0xefe0, -0xef14, 0xefe0, 0xef14, 0xefe0, 0xef3e, 0xf00f, 0xef3e, 0xf00f, 0xef1d, 0xeff9, 0xef1d, -0xeff9, 0xeeff, 0xefeb, 0xeeff, 0xefeb, 0xeecf, 0xefcd, 0xeecf, 0xefcd, 0xee76, 0xef89, -0xee76, 0xef89, 0xee05, 0xef2c, 0xee05, 0xef2c, 0xee05, 0xef2c, 0xed9a, 0xeed5, 0xed9a, -0xeed5, 0xed64, 0xeeaf, 0xed64, 0xeeaf, 0xed60, 0xeeb7, 0xed60, 0xeeb7, 0xed85, 0xeee3, -0xed85, 0xeee3, 0xedd7, 0xef34, 0xedd7, 0xef34, 0xedd7, 0xef34, 0xee47, 0xef9d, 0xee47, -0xef9d, 0xeeb3, 0xeffb, 0xeeb3, 0xeffb, 0xef52, 0xf083, 0xef52, 0xf083, 0xf03d, 0xf150, -0xf03d, 0xf150, 0xf1c0, 0xf2ae, 0xf1c0, 0xf2ae, 0xf3e5, 0xf4a7, 0xf3e5, 0xf4a7, 0xf3e5, -0xf4a7, 0xf62e, 0xf6c0, 0xf62e, 0xf6c0, 0xf82b, 0xf889, 0xf82b, 0xf889, 0xf98f, 0xf9b6, -0xf98f, 0xf9b6, 0xfae7, 0xfad8, 0xfae7, 0xfad8, 0xfcae, 0xfc68, 0xfcae, 0xfc68, 0xfeff, -0xfe85, 0xfeff, 0xfe85, 0xfeff, 0xfe85, 0x195, 0xec, 0x195, 0xec, 0x3f8, 0x323, -0x3f8, 0x323, 0x609, 0x50f, 0x609, 0x50f, 0x7ad, 0x694, 0x7ad, 0x694, 0x8ff, -0x7cf, 0x8ff, 0x7cf, 0x8ff, 0x7cf, 0x9e8, 0x8a7, 0x9e8, 0x8a7, 0xa7f, 0x933, -0xa7f, 0x933, 0xaf3, 0x9a4, 0xaf3, 0x9a4, 0xb5f, 0xa11, 0xb5f, 0xa11, 0xc14, -0xacc, 0xc14, 0xacc, 0xce9, 0xbac, 0xce9, 0xbac, 0xce9, 0xbac, 0xdba, 0xc89, -0xdba, 0xc89, 0xe4d, 0xd2a, 0xe4d, 0xd2a, 0xe6d, 0xd59, 0xe6d, 0xd59, 0xe39, -0xd32, 0xe39, 0xd32, 0xe18, 0xd1e, 0xe18, 0xd1e, 0xe60, 0xd71, 0xe60, 0xd71, -0xe60, 0xd71, 0xe9b, 0xdb5, 0xe9b, 0xdb5, 0xe53, 0xd73, 0xe53, 0xd73, 0xdb8, -0xcdd, 0xdb8, 0xcdd, 0xd1e, 0xc46, 0xd1e, 0xc46, 0xc93, 0xbbd, 0xc93, 0xbbd, -0xc93, 0xbbd, 0xc58, 0xb83, 0xc58, 0xb83, 0xc72, 0xba0, 0xc72, 0xba0, 0xc9e, -0xbd0, 0xc9e, 0xbd0, 0xc8d, 0xbc6, 0xc8d, 0xbc6, 0xbf5, 0xb39, 0xbf5, 0xb39, -0xb1a, 0xa6d, 0xb1a, 0xa6d, 0xb1a, 0xa6d, 0xa0b, 0x972, 0xa0b, 0x972, 0x918, -0x899, 0x918, 0x899, 0x855, 0x7f5, 0x855, 0x7f5, 0x75c, 0x720, 0x75c, 0x720, -0x61e, 0x60d, 0x61e, 0x60d, 0x61e, 0x60d, 0x499, 0x4b6, 0x499, 0x4b6, 0x305, -0x353, 0x305, 0x353, 0x145, 0x1c7, 0x145, 0x1c7, 0xff4c, 0x3, 0xff4c, 0x3, -0xfd2d, 0xfe18, 0xfd2d, 0xfe18, 0xfb0f, 0xfc2c, 0xfb0f, 0xfc2c, 0xfb0f, 0xfc2c, 0xf90f, -0xfa5b, 0xf90f, 0xfa5b, 0xf6be, 0xf834, 0xf6be, 0xf834, 0xf458, 0xf5f2, 0xf458, 0xf5f2, -0xf265, 0xf41c, 0xf265, 0xf41c, 0xf140, 0xf30c, 0xf140, 0xf30c, 0xf102, 0xf2dc, 0xf102, -0xf2dc, 0xf102, 0xf2dc, 0xf122, 0xf300, 0xf122, 0xf300, 0xf173, 0xf350, 0xf173, 0xf350, -0xf206, 0xf3d8, 0xf206, 0xf3d8, 0xf2a7, 0xf469, 0xf2a7, 0xf469, 0xf320, 0xf4cc, 0xf320, -0xf4cc, 0xf320, 0xf4cc, 0xf336, 0xf4c9, 0xf336, 0xf4c9, 0xf31e, 0xf495, 0xf31e, 0xf495, -0xf337, 0xf492, 0xf337, 0xf492, 0xf390, 0xf4d0, 0xf390, 0xf4d0, 0xf41b, 0xf541, 0xf41b, -0xf541, 0xf4c1, 0xf5d2, 0xf4c1, 0xf5d2, 0xf4c1, 0xf5d2, 0xf54a, 0xf64b, 0xf54a, 0xf64b, -0xf599, 0xf690, 0xf599, 0xf690, 0xf5d3, 0xf6c5, 0xf5d3, 0xf6c5, 0xf5f5, 0xf6e8, 0xf5f5, -0xf6e8, 0xf5ef, 0xf6ea, 0xf5ef, 0xf6ea, 0xf5cf, 0xf6d7, 0xf5cf, 0xf6d7, 0xf5cf, 0xf6d7, -0xf5e7, 0xf701, 0xf5e7, 0xf701, 0xf648, 0xf776, 0xf648, 0xf776, 0xf6a6, 0xf7ea, 0xf6a6, -0xf7ea, 0xf6ef, 0xf849, 0xf6ef, 0xf849, 0xf704, 0xf871, 0xf704, 0xf871, 0xf704, 0xf871, -0xf734, 0xf8b1, 0xf734, 0xf8b1, 0xf794, 0xf91a, 0xf794, 0xf91a, 0xf81c, 0xf9a4, 0xf81c, -0xf9a4, 0xf8f4, 0xfa75, 0xf8f4, 0xfa75, 0xf9d9, 0xfb49, 0xf9d9, 0xfb49, 0xfaee, 0xfc41, -0xfaee, 0xfc41, 0xfaee, 0xfc41, 0xfc33, 0xfd5f, 0xfc33, 0xfd5f, 0xfd88, 0xfe80, 0xfd88, -0xfe80, 0xff02, 0xffbb, 0xff02, 0xffbb, 0xc0, 0x12e, 0xc0, 0x12e, 0x2eb, 0x306, -0x2eb, 0x306, 0x52e, 0x4ed, 0x52e, 0x4ed, 0x52e, 0x4ed, 0x71c, 0x67a, 0x71c, -0x67a, 0x8d8, 0x7d0, 0x8d8, 0x7d0, 0xaac, 0x93b, 0xaac, 0x93b, 0xcdc, 0xb03, -0xcdc, 0xb03, 0xf3e, 0xcfe, 0xf3e, 0xcfe, 0xf3e, 0xcfe, 0x1199, 0xef7, 0x1199, -0xef7, 0x1407, 0x1109, 0x1407, 0x1109, 0x1651, 0x12fe, 0x1651, 0x12fe, 0x1890, 0x14f1, -0x1890, 0x14f1, 0x1a9e, 0x16bd, 0x1a9e, 0x16bd, 0x1c5e, 0x1847, 0x1c5e, 0x1847, 0x1c5e, -0x1847, 0x1dd9, 0x1996, 0x1dd9, 0x1996, 0x1eba, 0x1a56, 0x1eba, 0x1a56, 0x1f64, 0x1aea, -0x1f64, 0x1aea, 0x1ffe, 0x1b79, 0x1ffe, 0x1b79, 0x2091, 0x1c0a, 0x2091, 0x1c0a, 0x20f0, -0x1c71, 0x20f0, 0x1c71, 0x20f0, 0x1c71, 0x20a2, 0x1c32, 0x20a2, 0x1c32, 0x1fa0, 0x1b45, -0x1fa0, 0x1b45, 0x1e43, 0x1a03, 0x1e43, 0x1a03, 0x1d08, 0x18e9, 0x1d08, 0x18e9, 0x1bbb, -0x17be, 0x1bbb, 0x17be, 0x1bbb, 0x17be, 0x1a20, 0x164a, 0x1a20, 0x164a, 0x188a, 0x14dc, -0x188a, 0x14dc, 0x1713, 0x1390, 0x1713, 0x1390, 0x15a2, 0x124c, 0x15a2, 0x124c, 0x142c, -0x1103, 0x142c, 0x1103, 0x12e5, 0xfeb, 0x12e5, 0xfeb, 0x12e5, 0xfeb, 0x11c7, 0xeff, -0x11c7, 0xeff, 0x1064, 0xdcf, 0x1064, 0xdcf, 0xea4, 0xc46, 0xea4, 0xc46, 0xca8, -0xa83, 0xca8, 0xa83, 0xabe, 0x8d5, 0xabe, 0x8d5, 0x914, 0x76a, 0x914, 0x76a, -0x914, 0x76a, 0x793, 0x62a, 0x793, 0x62a, 0x617, 0x4f3, 0x617, 0x4f3, 0x427, -0x34a, 0x427, 0x34a, 0x1d5, 0x140, 0x1d5, 0x140, 0xff5e, 0xff13, 0xff5e, 0xff13, -0xff5e, 0xff13, 0xfd10, 0xfd0f, 0xfd10, 0xfd0f, 0xfb08, 0xfb50, 0xfb08, 0xfb50, 0xf90a, -0xf997, 0xf90a, 0xf997, 0xf752, 0xf823, 0xf752, 0xf823, 0xf5da, 0xf6ea, 0xf5da, 0xf6ea, -0xf4a7, 0xf5f0, 0xf4a7, 0xf5f0, 0xf4a7, 0xf5f0, 0xf397, 0xf513, 0xf397, 0xf513, 0xf28e, -0xf434, 0xf28e, 0xf434, 0xf1a7, 0xf370, 0xf1a7, 0xf370, 0xf0f2, 0xf2d6, 0xf0f2, 0xf2d6, -0xf076, 0xf26d, 0xf076, 0xf26d, 0xefaf, 0xf1b0, 0xefaf, 0xf1b0, 0xefaf, 0xf1b0, 0xeea8, -0xf0ad, 0xeea8, 0xf0ad, 0xedc1, 0xefc2, 0xedc1, 0xefc2, 0xed4c, 0xef44, 0xed4c, 0xef44, -0xed58, 0xef42, 0xed58, 0xef42, 0xed94, 0xef6d, 0xed94, 0xef6d, 0xed94, 0xef6d, 0xee10, -0xefd7, 0xee10, 0xefd7, 0xee8d, 0xf042, 0xee8d, 0xf042, 0xeec7, 0xf06a, 0xeec7, 0xf06a, -0xeec1, 0xf056, 0xeec1, 0xf056, 0xee88, 0xf014, 0xee88, 0xf014, 0xee80, 0xf006, 0xee80, -0xf006, 0xee80, 0xf006, 0xeed4, 0xf05b, 0xeed4, 0xf05b, 0xef8a, 0xf117, 0xef8a, 0xf117, -0xf078, 0xf211, 0xf078, 0xf211, 0xf130, 0xf2db, 0xf130, 0xf2db, 0xf186, 0xf347, 0xf186, -0xf347, 0xf182, 0xf35e, 0xf182, 0xf35e, 0xf182, 0xf35e, 0xf179, 0xf372, 0xf179, 0xf372, -0xf14c, 0xf363, 0xf14c, 0xf363, 0xf0de, 0xf314, 0xf0de, 0xf314, 0xf07b, 0xf2ce, 0xf07b, -0xf2ce, 0xf055, 0xf2c1, 0xf055, 0xf2c1, 0xf055, 0xf2c1, 0xf0a4, 0xf325, 0xf0a4, 0xf325, -0xf10b, 0xf39b, 0xf10b, 0xf39b, 0xf172, 0xf408, 0xf172, 0xf408, 0xf1d7, 0xf46c, 0xf1d7, -0xf46c, 0xf233, 0xf4bd, 0xf233, 0xf4bd, 0xf27d, 0xf4f4, 0xf27d, 0xf4f4, 0xf27d, 0xf4f4, -0xf2aa, 0xf504, 0xf2aa, 0xf504, 0xf34c, 0xf581, 0xf34c, 0xf581, 0xf485, 0xf68d, 0xf485, -0xf68d, 0xf61e, 0xf7f2, 0xf61e, 0xf7f2, 0xf7ce, 0xf968, 0xf7ce, 0xf968, 0xf95d, 0xfaba, -0xf95d, 0xfaba, 0xf95d, 0xfaba, 0xfacd, 0xfbea, 0xfacd, 0xfbea, 0xfc51, 0xfd2e, 0xfc51, -0xfd2e, 0xfe44, 0xfee1, 0xfe44, 0xfee1, 0x92, 0xf2, 0x92, 0xf2, 0x2e4, 0x30b, -0x2e4, 0x30b, 0x2e4, 0x30b, 0x4dd, 0x4d1, 0x4dd, 0x4d1, 0x68e, 0x655, 0x68e, -0x655, 0x80c, 0x7ad, 0x80c, 0x7ad, 0x945, 0x8c6, 0x945, 0x8c6, 0xa2a, 0x994, -0xa2a, 0x994, 0xae5, 0xa3f, 0xae5, 0xa3f, 0xae5, 0xa3f, 0xbaf, 0xaff, 0xbaf, -0xaff, 0xc7e, 0xbcb, 0xc7e, 0xbcb, 0xd49, 0xc98, 0xd49, 0xc98, 0xe00, 0xd54, -0xe00, 0xd54, 0xe96, 0xdf2, 0xe96, 0xdf2, 0xe96, 0xdf2, 0xe9e, 0xe04, 0xe9e, -0xe04, 0xe18, 0xd89, 0xe18, 0xd89, 0xd75, 0xcf0, 0xd75, 0xcf0, 0xcec, 0xc70, -0xcec, 0xc70, 0xca8, 0xc33, 0xca8, 0xc33, 0xc65, 0xbf4, 0xc65, 0xbf4, 0xc65, -0xbf4, 0xbe9, 0xb7a, 0xbe9, 0xb7a, 0xb1e, 0xab0, 0xb1e, 0xab0, 0xa17, 0x9a6, -0xa17, 0x9a6, 0x92a, 0x8b6, 0x92a, 0x8b6, 0x898, 0x820, 0x898, 0x820, 0x87d, -0x801, 0x87d, 0x801, 0x87d, 0x801, 0x888, 0x809, 0x888, 0x809, 0x851, 0x7d1, -0x851, 0x7d1, 0x7d9, 0x75c, 0x7d9, 0x75c, 0x72f, 0x6b7, 0x72f, 0x6b7, 0x686, -0x619, 0x686, 0x619, 0x686, 0x619, 0x5f1, 0x594, 0x5f1, 0x594, 0x509, 0x4c1, -0x509, 0x4c1, 0x3bc, 0x38e, 0x3bc, 0x38e, 0x235, 0x226, 0x235, 0x226, 0x97, -0xac, 0x97, 0xac, 0xfef8, 0xff34, 0xfef8, 0xff34, 0xfef8, 0xff34, 0xfd36, 0xfd9d, -0xfd36, 0xfd9d, 0xfb64, 0xfbf7, 0xfb64, 0xfbf7, 0xf999, 0xfa58, 0xf999, 0xfa58, 0xf7a9, -0xf893, 0xf7a9, 0xf893, 0xf587, 0xf699, 0xf587, 0xf699, 0xf345, 0xf47d, 0xf345, 0xf47d, -0xf345, 0xf47d, 0xf0fd, 0xf255, 0xf0fd, 0xf255, 0xef1d, 0xf091, 0xef1d, 0xf091, 0xede1, -0xef6a, 0xede1, 0xef6a, 0xed0f, 0xeea6, 0xed0f, 0xeea6, 0xec91, 0xee30, 0xec91, 0xee30, -0xec91, 0xee30, 0xec93, 0xee33, 0xec93, 0xee33, 0xed22, 0xeebc, 0xed22, 0xeebc, 0xedcd, -0xef5e, 0xedcd, 0xef5e, 0xee3c, 0xefbd, 0xee3c, 0xefbd, 0xee70, 0xefe0, 0xee70, 0xefe0, -0xee8f, 0xefeb, 0xee8f, 0xefeb, 0xee8f, 0xefeb, 0xeeb2, 0xeffa, 0xeeb2, 0xeffa, 0xeee6, -0xf01b, 0xeee6, 0xf01b, 0xef62, 0xf086, 0xef62, 0xf086, 0xf01f, 0xf136, 0xf01f, 0xf136, -0xf0ef, 0xf1fe, 0xf0ef, 0xf1fe, 0xf1a7, 0xf2b2, 0xf1a7, 0xf2b2, 0xf1a7, 0xf2b2, 0xf217, -0xf325, 0xf217, 0xf325, 0xf24f, 0xf365, 0xf24f, 0xf365, 0xf25b, 0xf37e, 0xf25b, 0xf37e, -0xf281, 0xf3b6, 0xf281, 0xf3b6, 0xf2e2, 0xf42e, 0xf2e2, 0xf42e, 0xf2e2, 0xf42e, 0xf340, -0xf4a5, 0xf340, 0xf4a5, 0xf37a, 0xf4f9, 0xf37a, 0xf4f9, 0xf38d, 0xf525, 0xf38d, 0xf525, -0xf3ab, 0xf55a, 0xf3ab, 0xf55a, 0xf401, 0xf5c3, 0xf401, 0xf5c3, 0xf484, 0xf652, 0xf484, -0xf652, 0xf484, 0xf652, 0xf51e, 0xf6ef, 0xf51e, 0xf6ef, 0xf5ce, 0xf79a, 0xf5ce, 0xf79a, -0xf6b8, 0xf874, 0xf6b8, 0xf874, 0xf7e3, 0xf982, 0xf7e3, 0xf982, 0xf937, 0xfaae, 0xf937, -0xfaae, 0xfacf, 0xfc11, 0xfacf, 0xfc11, 0xfacf, 0xfc11, 0xfcaa, 0xfdaa, 0xfcaa, 0xfdaa, -0xfea4, 0xff57, 0xfea4, 0xff57, 0xbb, 0x117, 0xbb, 0x117, 0x2b3, 0x2ad, 0x2b3, -0x2ad, 0x480, 0x412, 0x480, 0x412, 0x480, 0x412, 0x648, 0x56c, 0x648, 0x56c, -0x82c, 0x6de, 0x82c, 0x6de, 0xa4d, 0x88d, 0xa4d, 0x88d, 0xc96, 0xa65, 0xc96, -0xa65, 0xf0a, 0xc6b, 0xf0a, 0xc6b, 0x117f, 0xe77, 0x117f, 0xe77, 0x117f, 0xe77, -0x1400, 0x1097, 0x1400, 0x1097, 0x16ac, 0x12ec, 0x16ac, 0x12ec, 0x1955, 0x1548, 0x1955, -0x1548, 0x1b97, 0x1748, 0x1b97, 0x1748, 0x1d3e, 0x18ba, 0x1d3e, 0x18ba, 0x1e9f, 0x19f1, -0x1e9f, 0x19f1, 0x1e9f, 0x19f1, 0x1fdd, 0x1b12, 0x1fdd, 0x1b12, 0x2101, 0x1c25, 0x2101, -0x1c25, 0x21cf, 0x1ced, 0x21cf, 0x1ced, 0x222a, 0x1d4c, 0x222a, 0x1d4c, 0x2245, 0x1d73, -0x2245, 0x1d73, 0x2245, 0x1d73, 0x2209, 0x1d4c, 0x2209, 0x1d4c, 0x2188, 0x1ce8, 0x2188, -0x1ce8, 0x20fb, 0x1c7c, 0x20fb, 0x1c7c, 0x2062, 0x1c08, 0x2062, 0x1c08, 0x1f88, 0x1b56, -0x1f88, 0x1b56, 0x1e5d, 0x1a55, 0x1e5d, 0x1a55, 0x1e5d, 0x1a55, 0x1cea, 0x190f, 0x1cea, -0x190f, 0x1b64, 0x17b5, 0x1b64, 0x17b5, 0x1a1d, 0x169c, 0x1a1d, 0x169c, 0x192b, 0x15d8, -0x192b, 0x15d8, 0x1858, 0x1534, 0x1858, 0x1534, 0x1746, 0x1451, 0x1746, 0x1451, 0x1746, -0x1451, 0x15e8, 0x1323, 0x15e8, 0x1323, 0x1455, 0x11c2, 0x1455, 0x11c2, 0x12bb, 0x105d, -0x12bb, 0x105d, 0x1138, 0xf0f, 0x1138, 0xf0f, 0xf99, 0xdaa, 0xf99, 0xdaa, 0xf99, -0xdaa, 0xdd3, 0xc1f, 0xdd3, 0xc1f, 0xbdc, 0xa66, 0xbdc, 0xa66, 0x9cc, 0x896, -0x9cc, 0x896, 0x7be, 0x6cb, 0x7be, 0x6cb, 0x5ad, 0x4ff, 0x5ad, 0x4ff, 0x3af, -0x346, 0x3af, 0x346, 0x3af, 0x346, 0x1ca, 0x1a7, 0x1ca, 0x1a7, 0xfff7, 0x19, -0xfff7, 0x19, 0xfe51, 0xfeb5, 0xfe51, 0xfeb5, 0xfcd5, 0xfd79, 0xfcd5, 0xfd79, 0xfb54, -0xfc33, 0xfb54, 0xfc33, 0xf9ea, 0xfaff, 0xf9ea, 0xfaff, 0xf9ea, 0xfaff, 0xf8b4, 0xf9f9, -0xf8b4, 0xf9f9, 0xf7ad, 0xf91c, 0xf7ad, 0xf91c, 0xf6b3, 0xf843, 0xf6b3, 0xf843, 0xf58e, -0xf738, 0xf58e, 0xf738, 0xf467, 0xf623, 0xf467, 0xf623, 0xf467, 0xf623, 0xf33b, 0xf503, -0xf33b, 0xf503, 0xf224, 0xf3f0, 0xf224, 0xf3f0, 0xf160, 0xf32a, 0xf160, 0xf32a, 0xf110, -0xf2d3, 0xf110, 0xf2d3, 0xf12a, 0xf2e3, 0xf12a, 0xf2e3, 0xf126, 0xf2d2, 0xf126, 0xf2d2, -0xf126, 0xf2d2, 0xf0f5, 0xf291, 0xf0f5, 0xf291, 0xf0c0, 0xf24e, 0xf0c0, 0xf24e, 0xf0a7, -0xf229, 0xf0a7, 0xf229, 0xf0ac, 0xf224, 0xf0ac, 0xf224, 0xf0cf, 0xf240, 0xf0cf, 0xf240, -0xf12f, 0xf29f, 0xf12f, 0xf29f, 0xf12f, 0xf29f, 0xf18e, 0xf302, 0xf18e, 0xf302, 0xf1c3, -0xf33f, 0xf1c3, 0xf33f, 0xf1a3, 0xf32e, 0xf1a3, 0xf32e, 0xf158, 0xf2f7, 0xf158, 0xf2f7, -0xf107, 0xf2be, 0xf107, 0xf2be, 0xf107, 0xf2be, 0xf088, 0xf25b, 0xf088, 0xf25b, 0xeff3, -0xf1e5, 0xeff3, 0xf1e5, 0xef79, 0xf18a, 0xef79, 0xf18a, 0xef44, 0xf175, 0xef44, 0xf175, -0xef1d, 0xf16b, 0xef1d, 0xf16b, 0xeeee, 0xf157, 0xeeee, 0xf157, 0xeeee, 0xf157, 0xeec6, -0xf144, 0xeec6, 0xf144, 0xee87, 0xf114, 0xee87, 0xf114, 0xee1b, 0xf0b2, 0xee1b, 0xf0b2, -0xedbb, 0xf052, 0xedbb, 0xf052, 0xedc2, 0xf052, 0xedc2, 0xf052, 0xedc2, 0xf052, 0xee36, -0xf0b6, 0xee36, 0xf0b6, 0xef1e, 0xf185, 0xef1e, 0xf185, 0xf057, 0xf29d, 0xf057, 0xf29d, -0xf187, 0xf3a5, 0xf187, 0xf3a5, 0xf29a, 0xf489, 0xf29a, 0xf489, 0xf3aa, 0xf566, 0xf3aa, -0xf566, 0xf3aa, 0xf566, 0xf4ef, 0xf673, 0xf4ef, 0xf673, 0xf6c9, 0xf813, 0xf6c9, 0xf813, -0xf938, 0xfa46, 0xf938, 0xfa46, 0xfbec, 0xfcbf, 0xfbec, 0xfcbf, 0xfe81, 0xff1b, 0xfe81, -0xff1b, 0xbd, 0x120, 0xbd, 0x120, 0xbd, 0x120, 0x286, 0x2b7, 0x286, 0x2b7, -0x3b9, 0x3bd, 0x3b9, 0x3bd, 0x4b3, 0x48e, 0x4b3, 0x48e, 0x5b8, 0x572, 0x5b8, -0x572, 0x6fc, 0x699, 0x6fc, 0x699, 0x6fc, 0x699, 0x850, 0x7d7, 0x850, 0x7d7, -0x957, 0x8cb, 0x957, 0x8cb, 0xa37, 0x99e, 0xa37, 0x99e, 0xadf, 0xa3d, 0xadf, -0xa3d, 0xb57, 0xaae, 0xb57, 0xaae, 0xb83, 0xad4, 0xb83, 0xad4, 0xb83, 0xad4, -0xb82, 0xad0, 0xb82, 0xad0, 0xb8c, 0xad5, 0xb8c, 0xad5, 0xb8a, 0xad0, 0xb8a, -0xad0, 0xb88, 0xac8, 0xb88, 0xac8, 0xb5c, 0xa96, 0xb5c, 0xa96, 0xaf7, 0xa2a, -0xaf7, 0xa2a, 0xaf7, 0xa2a, 0xa69, 0x992, 0xa69, 0x992, 0x9db, 0x8fb, 0x9db, -0x8fb, 0x96e, 0x884, 0x96e, 0x884, 0x933, 0x840, 0x933, 0x840, 0x90c, 0x810, -0x90c, 0x810, 0x90c, 0x810, 0x8ce, 0x7cd, 0x8ce, 0x7cd, 0x897, 0x794, 0x897, -0x794, 0x850, 0x74f, 0x850, 0x74f, 0x7d9, 0x6e0, 0x7d9, 0x6e0, 0x71d, 0x631, -0x71d, 0x631, 0x64a, 0x571, 0x64a, 0x571, 0x64a, 0x571, 0x56a, 0x4ab, 0x56a, -0x4ab, 0x445, 0x3a8, 0x445, 0x3a8, 0x2db, 0x266, 0x2db, 0x266, 0x143, 0xfc, -0x143, 0xfc, 0xffaa, 0xff95, 0xffaa, 0xff95, 0xfdff, 0xfe21, 0xfdff, 0xfe21, 0xfdff, -0xfe21, 0xfc3e, 0xfc9a, 0xfc3e, 0xfc9a, 0xfa5e, 0xfaf6, 0xfa5e, 0xfaf6, 0xf847, 0xf91b, -0xf847, 0xf91b, 0xf62b, 0xf73a, 0xf62b, 0xf73a, 0xf421, 0xf567, 0xf421, 0xf567, 0xf421, -0xf567, 0xf24c, 0xf3c5, 0xf24c, 0xf3c5, 0xf0e5, 0xf28c, 0xf0e5, 0xf28c, 0xefe2, 0xf1b2, -0xefe2, 0xf1b2, 0xef5a, 0xf14b, 0xef5a, 0xf14b, 0xef66, 0xf170, 0xef66, 0xf170, 0xefaf, -0xf1cc, 0xefaf, 0xf1cc, 0xefaf, 0xf1cc, 0xefdb, 0xf203, 0xefdb, 0xf203, 0xeff0, 0xf21d, -0xeff0, 0xf21d, 0xf01b, 0xf247, 0xf01b, 0xf247, 0xf069, 0xf290, 0xf069, 0xf290, 0xf0d0, -0xf2ee, 0xf0d0, 0xf2ee, 0xf166, 0xf379, 0xf166, 0xf379, 0xf166, 0xf379, 0xf229, 0xf430, -0xf229, 0xf430, 0xf2f9, 0xf4f5, 0xf2f9, 0xf4f5, 0xf3ab, 0xf59e, 0xf3ab, 0xf59e, 0xf41c, -0xf609, 0xf41c, 0xf609, 0xf46a, 0xf654, 0xf46a, 0xf654, 0xf46a, 0xf654, 0xf4a7, 0xf692, -0xf4a7, 0xf692, 0xf519, 0xf70a, 0xf519, 0xf70a, 0xf5e4, 0xf7df, 0xf5e4, 0xf7df, 0xf6cc, -0xf8d5, 0xf6cc, 0xf8d5, 0xf78e, 0xf9a7, 0xf78e, 0xf9a7, 0xf7dc, 0xfa05, 0xf7dc, 0xfa05, -0xf7dc, 0xfa05, 0xf7f8, 0xfa33, 0xf7f8, 0xfa33, 0xf817, 0xfa61, 0xf817, 0xfa61, 0xf828, -0xfa7e, 0xf828, 0xfa7e, 0xf855, 0xfab1, 0xf855, 0xfab1, 0xf890, 0xfaeb, 0xf890, 0xfaeb, -0xf8db, 0xfb2c, 0xf8db, 0xfb2c, 0xf8db, 0xfb2c, 0xf960, 0xfb9b, 0xf960, 0xfb9b, 0xfa08, -0xfc23, 0xfa08, 0xfc23, 0xfad0, 0xfcbd, 0xfad0, 0xfcbd, 0xfbd8, 0xfd89, 0xfbd8, 0xfd89, -0xfd21, 0xfe89, 0xfd21, 0xfe89, 0xfd21, 0xfe89, 0xfe83, 0xff94, 0xfe83, 0xff94, 0xffcb, -0x79, 0xffcb, 0x79, 0x12b, 0x16c, 0x12b, 0x16c, 0x2a3, 0x26c, 0x2a3, 0x26c, -0x420, 0x36a, 0x420, 0x36a, 0x5f0, 0x4b7, 0x5f0, 0x4b7, 0x5f0, 0x4b7, 0x802, -0x642, 0x802, 0x642, 0xa3d, 0x7f7, 0xa3d, 0x7f7, 0xc89, 0x9c0, 0xc89, 0x9c0, -0xed4, 0xb8d, 0xed4, 0xb8d, 0x1126, 0xd69, 0x1126, 0xd69, 0x1357, 0xf2e, 0x1357, -0xf2e, 0x1357, 0xf2e, 0x1556, 0x10cd, 0x1556, 0x10cd, 0x1737, 0x125b, 0x1737, 0x125b, -0x1941, 0x1422, 0x1941, 0x1422, 0x1b55, 0x1601, 0x1b55, 0x1601, 0x1ced, 0x1774, 0x1ced, -0x1774, 0x1ced, 0x1774, 0x1dd5, 0x1846, 0x1dd5, 0x1846, 0x1e3f, 0x18a9, 0x1e3f, 0x18a9, -0x1e5c, 0x18ce, 0x1e5c, 0x18ce, 0x1e27, 0x18ac, 0x1e27, 0x18ac, 0x1d9d, 0x1841, 0x1d9d, -0x1841, 0x1ccd, 0x179a, 0x1ccd, 0x179a, 0x1ccd, 0x179a, 0x1bdd, 0x16db, 0x1bdd, 0x16db, -0x1ac3, 0x15f8, 0x1ac3, 0x15f8, 0x197d, 0x14ee, 0x197d, 0x14ee, 0x1811, 0x13c1, 0x1811, -0x13c1, 0x168a, 0x127b, 0x168a, 0x127b, 0x1502, 0x1135, 0x1502, 0x1135, 0x1502, 0x1135, -0x13a1, 0x1016, 0x13a1, 0x1016, 0x127d, 0xf33, 0x127d, 0xf33, 0x1149, 0xe3f, 0x1149, -0xe3f, 0xfe6, 0xd1b, 0xfe6, 0xd1b, 0xe5a, 0xbcd, 0xe5a, 0xbcd, 0xe5a, 0xbcd, -0xcce, 0xa7e, 0xcce, 0xa7e, 0xb6f, 0x95b, 0xb6f, 0x95b, 0xa30, 0x858, 0xa30, -0x858, 0x904, 0x767, 0x904, 0x767, 0x7c0, 0x660, 0x7c0, 0x660, 0x64a, 0x527, -0x64a, 0x527, 0x64a, 0x527, 0x479, 0x393, 0x479, 0x393, 0x26f, 0x1c6, 0x26f, -0x1c6, 0x79, 0xd, 0x79, 0xd, 0xfea8, 0xfe7a, 0xfea8, 0xfe7a, 0xfce7, 0xfcf6, -0xfce7, 0xfcf6, 0xfb42, 0xfb8c, 0xfb42, 0xfb8c, 0xfb42, 0xfb8c, 0xf9ec, 0xfa6e, 0xf9ec, -0xfa6e, 0xf8c7, 0xf97e, 0xf8c7, 0xf97e, 0xf7c6, 0xf8ad, 0xf7c6, 0xf8ad, 0xf6c4, 0xf7d6, -0xf6c4, 0xf7d6, 0xf5d8, 0xf70f, 0xf5d8, 0xf70f, 0xf5d8, 0xf70f, 0xf522, 0xf677, 0xf522, -0xf677, 0xf483, 0xf5ee, 0xf483, 0xf5ee, 0xf40c, 0xf586, 0xf40c, 0xf586, 0xf38b, 0xf50c, -0xf38b, 0xf50c, 0xf2f3, 0xf474, 0xf2f3, 0xf474, 0xf246, 0xf3c0, 0xf246, 0xf3c0, 0xf246, -0xf3c0, 0xf1a0, 0xf30e, 0xf1a0, 0xf30e, 0xf165, 0xf2c2, 0xf165, 0xf2c2, 0xf19e, 0xf2e6, -0xf19e, 0xf2e6, 0xf227, 0xf358, 0xf227, 0xf358, 0xf2c3, 0xf3dd, 0xf2c3, 0xf3dd, 0xf2c3, -0xf3dd, 0xf34c, 0xf451, 0xf34c, 0xf451, 0xf3ac, 0xf49f, 0xf3ac, 0xf49f, 0xf3f2, 0xf4d7, -0xf3f2, 0xf4d7, 0xf439, 0xf516, 0xf439, 0xf516, 0xf498, 0xf574, 0xf498, 0xf574, 0xf529, -0xf60b, 0xf529, 0xf60b, 0xf529, 0xf60b, 0xf5c4, 0xf6b4, 0xf5c4, 0xf6b4, 0xf633, 0xf73a, -0xf633, 0xf73a, 0xf63b, 0xf760, 0xf63b, 0xf760, 0xf5ed, 0xf736, 0xf5ed, 0xf736, 0xf588, -0xf6fb, 0xf588, 0xf6fb, 0xf52c, 0xf6ce, 0xf52c, 0xf6ce, 0xf52c, 0xf6ce, 0xf4ee, 0xf6c1, -0xf4ee, 0xf6c1, 0xf4f0, 0xf6f5, 0xf4f0, 0xf6f5, 0xf508, 0xf73d, 0xf508, 0xf73d, 0xf4de, -0xf740, 0xf4de, 0xf740, 0xf481, 0xf70a, 0xf481, 0xf70a, 0xf481, 0xf70a, 0xf401, 0xf6ab, -0xf401, 0xf6ab, 0xf384, 0xf645, 0xf384, 0xf645, 0xf344, 0xf613, 0xf344, 0xf613, 0xf379, -0xf64b, 0xf379, 0xf64b, 0xf40c, 0xf6d5, 0xf40c, 0xf6d5, 0xf4c3, 0xf777, 0xf4c3, 0xf777, -0xf4c3, 0xf777, 0xf5b0, 0xf844, 0xf5b0, 0xf844, 0xf6d3, 0xf93c, 0xf6d3, 0xf93c, 0xf827, -0xfa5c, 0xf827, 0xfa5c, 0xf981, 0xfb7a, 0xf981, 0xfb7a, 0xfae8, 0xfc9d, 0xfae8, 0xfc9d, -0xfc85, 0xfdf3, 0xfc85, 0xfdf3, 0xfc85, 0xfdf3, 0xfe75, 0xff98, 0xfe75, 0xff98, 0xac, -0x184, 0xac, 0x184, 0x2c0, 0x34f, 0x2c0, 0x34f, 0x47a, 0x4c2, 0x47a, 0x4c2, -0x5a7, 0x5ae, 0x5a7, 0x5ae, 0x5a7, 0x5ae, 0x682, 0x64f, 0x682, 0x64f, 0x792, -0x72b, 0x792, 0x72b, 0x8e3, 0x851, 0x8e3, 0x851, 0xa23, 0x96f, 0xa23, 0x96f, -0xb02, 0xa34, 0xb02, 0xa34, 0xbb0, 0xad2, 0xbb0, 0xad2, 0xbb0, 0xad2, 0xc4b, -0xb64, 0xc4b, 0xb64, 0xcbd, 0xbd3, 0xcbd, 0xbd3, 0xce0, 0xbfa, 0xce0, 0xbfa, -0xcac, 0xbce, 0xcac, 0xbce, 0xc6a, 0xb99, 0xc6a, 0xb99, 0xc2f, 0xb6b, 0xc2f, -0xb6b, 0xc2f, 0xb6b, 0xbe4, 0xb2f, 0xbe4, 0xb2f, 0xb7e, 0xad7, 0xb7e, 0xad7, -0xafa, 0xa60, 0xafa, 0xa60, 0xa58, 0x9c8, 0xa58, 0x9c8, 0x999, 0x911, 0x999, -0x911, 0x999, 0x911, 0x8ce, 0x84c, 0x8ce, 0x84c, 0x819, 0x79b, 0x819, 0x79b, -0x777, 0x6fa, 0x777, 0x6fa, 0x6f7, 0x67a, 0x6f7, 0x67a, 0x6b2, 0x635, 0x6b2, -0x635, 0x670, 0x5f3, 0x670, 0x5f3, 0x670, 0x5f3, 0x60a, 0x58e, 0x60a, 0x58e, -0x569, 0x4f1, 0x569, 0x4f1, 0x495, 0x425, 0x495, 0x425, 0x396, 0x331, 0x396, -0x331, 0x259, 0x206, 0x259, 0x206, 0xe4, 0xa6, 0xe4, 0xa6, 0xe4, 0xa6, -0xff62, 0xff41, 0xff62, 0xff41, 0xfe37, 0xfe38, 0xfe37, 0xfe38, 0xfd45, 0xfd6c, 0xfd45, -0xfd6c, 0xfc12, 0xfc66, 0xfc12, 0xfc66, 0xfa5d, 0xfae0, 0xfa5d, 0xfae0, 0xfa5d, 0xfae0, -0xf859, 0xf90e, 0xf859, 0xf90e, 0xf656, 0xf73e, 0xf656, 0xf73e, 0xf438, 0xf555, 0xf438, -0xf555, 0xf203, 0xf352, 0xf203, 0xf352, 0xefef, 0xf16e, 0xefef, 0xf16e, 0xee48, 0xeff3, -0xee48, 0xeff3, 0xee48, 0xeff3, 0xed2c, 0xeefd, 0xed2c, 0xeefd, 0xec97, 0xee88, 0xec97, -0xee88, 0xec66, 0xee72, 0xec66, 0xee72, 0xec71, 0xee8f, 0xec71, 0xee8f, 0xecb1, 0xeedb, -0xecb1, 0xeedb, 0xecf7, 0xef25, 0xecf7, 0xef25, 0xecf7, 0xef25, 0xed3a, 0xef66, 0xed3a, -0xef66, 0xed61, 0xef85, 0xed61, 0xef85, 0xed6d, 0xef86, 0xed6d, 0xef86, 0xeda0, 0xefa9, -0xeda0, 0xefa9, 0xee13, 0xf00b, 0xee13, 0xf00b, 0xee13, 0xf00b, 0xeeeb, 0xf0d2, 0xeeeb, -0xf0d2, 0xf001, 0xf1d7, 0xf001, 0xf1d7, 0xf0fd, 0xf2c5, 0xf0fd, 0xf2c5, 0xf1d8, 0xf394, -0xf1d8, 0xf394, 0xf2b7, 0xf46d, 0xf2b7, 0xf46d, 0xf387, 0xf53a, 0xf387, 0xf53a, 0xf387, -0xf53a, 0xf41d, 0xf5d1, 0xf41d, 0xf5d1, 0xf47a, 0xf634, 0xf47a, 0xf634, 0xf4b6, 0xf67a, -0xf4b6, 0xf67a, 0xf4d8, 0xf6a9, 0xf4d8, 0xf6a9, 0xf4fa, 0xf6d8, 0xf4fa, 0xf6d8, 0xf543, -0xf72f, 0xf543, 0xf72f, 0xf543, 0xf72f, 0xf595, 0xf78d, 0xf595, 0xf78d, 0xf5db, 0xf7dd, -0xf5db, 0xf7dd, 0xf60b, 0xf810, 0xf60b, 0xf810, 0xf642, 0xf842, 0xf642, 0xf842, 0xf6ac, -0xf89e, 0xf6ac, 0xf89e, 0xf6ac, 0xf89e, 0xf766, 0xf940, 0xf766, 0xf940, 0xf87b, 0xfa31, -0xf87b, 0xfa31, 0xf9b9, 0xfb3d, 0xf9b9, 0xfb3d, 0xfb26, 0xfc6c, 0xfb26, 0xfc6c, 0xfc89, -0xfd84, 0xfc89, 0xfd84, 0xfdd1, 0xfe74, 0xfdd1, 0xfe74, 0xfdd1, 0xfe74, 0xff3a, 0xff79, -0xff3a, 0xff79, 0xc2, 0x92, 0xc2, 0x92, 0x27c, 0x1d6, 0x27c, 0x1d6, 0x466, -0x343, 0x466, 0x343, 0x692, 0x4ee, 0x692, 0x4ee, 0x8ec, 0x6c6, 0x8ec, 0x6c6, -0x8ec, 0x6c6, 0xb60, 0x8ba, 0xb60, 0x8ba, 0xdf7, 0xad4, 0xdf7, 0xad4, 0x106d, -0xcd4, 0x106d, 0xcd4, 0x12a8, 0xea3, 0x12a8, 0xea3, 0x14d8, 0x1073, 0x14d8, 0x1073, -0x14d8, 0x1073, 0x171e, 0x1265, 0x171e, 0x1265, 0x1954, 0x1456, 0x1954, 0x1456, 0x1b3f, -0x160c, 0x1b3f, 0x160c, 0x1cae, 0x1755, 0x1cae, 0x1755, 0x1dbd, 0x184f, 0x1dbd, 0x184f, -0x1ea2, 0x192d, 0x1ea2, 0x192d, 0x1ea2, 0x192d, 0x1f50, 0x19e5, 0x1f50, 0x19e5, 0x1f9f, -0x1a4a, 0x1f9f, 0x1a4a, 0x1f6d, 0x1a3b, 0x1f6d, 0x1a3b, 0x1ee1, 0x19db, 0x1ee1, 0x19db, -0x1e1a, 0x1949, 0x1e1a, 0x1949, 0x1d3f, 0x18aa, 0x1d3f, 0x18aa, 0x1d3f, 0x18aa, 0x1c5f, -0x180c, 0x1c5f, 0x180c, 0x1b50, 0x1740, 0x1b50, 0x1740, 0x1a22, 0x1659, 0x1a22, 0x1659, -0x18f5, 0x1571, 0x18f5, 0x1571, 0x17c7, 0x1488, 0x17c7, 0x1488, 0x17c7, 0x1488, 0x16a3, -0x13a7, 0x16a3, 0x13a7, 0x1590, 0x12d4, 0x1590, 0x12d4, 0x1489, 0x120b, 0x1489, 0x120b, -0x1376, 0x1134, 0x1376, 0x1134, 0x1223, 0x1019, 0x1223, 0x1019, 0x10a2, 0xecf, 0x10a2, -0xecf, 0x10a2, 0xecf, 0xf20, 0xd82, 0xf20, 0xd82, 0xda3, 0xc39, 0xda3, 0xc39, -0xc2b, 0xaf5, 0xc2b, 0xaf5, 0xa8b, 0x987, 0xa8b, 0x987, 0x8c4, 0x7f4, 0x8c4, -0x7f4, 0x8c4, 0x7f4, 0x705, 0x66a, 0x705, 0x66a, 0x560, 0x4fa, 0x560, 0x4fa, -0x39d, 0x36d, 0x39d, 0x36d, 0x18f, 0x195, 0x18f, 0x195, 0xffa1, 0xffdd, 0xffa1, -0xffdd, 0xfe22, 0xfe93, 0xfe22, 0xfe93, 0xfe22, 0xfe93, 0xfd0b, 0xfdaf, 0xfd0b, 0xfdaf, -0xfc08, 0xfcdd, 0xfc08, 0xfcdd, 0xfadf, 0xfbe0, 0xfadf, 0xfbe0, 0xf9c9, 0xfaf3, 0xf9c9, -0xfaf3, 0xf8cc, 0xfa18, 0xf8cc, 0xfa18, 0xf7dc, 0xf946, 0xf7dc, 0xf946, 0xf7dc, 0xf946, -0xf6ce, 0xf84e, 0xf6ce, 0xf84e, 0xf591, 0xf720, 0xf591, 0xf720, 0xf456, 0xf5ed, 0xf456, -0xf5ed, 0xf328, 0xf4c0, 0xf328, 0xf4c0, 0xf23e, 0xf3d2, 0xf23e, 0xf3d2, 0xf23e, 0xf3d2, -0xf1b1, 0xf33a, 0xf1b1, 0xf33a, 0xf19c, 0xf316, 0xf19c, 0xf316, 0xf1f6, 0xf35d, 0xf1f6, -0xf35d, 0xf26c, 0xf3bf, 0xf26c, 0xf3bf, 0xf2cb, 0xf40a, 0xf2cb, 0xf40a, 0xf2db, 0xf407, -0xf2db, 0xf407, 0xf2db, 0xf407, 0xf2a0, 0xf3bb, 0xf2a0, 0xf3bb, 0xf266, 0xf374, 0xf266, -0xf374, 0xf26f, 0xf376, 0xf26f, 0xf376, 0xf2be, 0xf3c4, 0xf2be, 0xf3c4, 0xf318, 0xf424, -0xf318, 0xf424, 0xf34a, 0xf463, 0xf34a, 0xf463, 0xf34a, 0xf463, 0xf372, 0xf49e, 0xf372, -0xf49e, 0xf381, 0xf4c9, 0xf381, 0xf4c9, 0xf35a, 0xf4c2, 0xf35a, 0xf4c2, 0xf31f, 0xf4ad, -0xf31f, 0xf4ad, 0xf2e2, 0xf498, 0xf2e2, 0xf498, 0xf2e2, 0xf498, 0xf2b8, 0xf498, 0xf2b8, -0xf498, 0xf272, 0xf47d, 0xf272, 0xf47d, 0xf1f0, 0xf423, 0xf1f0, 0xf423, 0xf14d, 0xf3a5, -0xf14d, 0xf3a5, 0xf0a0, 0xf317, 0xf0a0, 0xf317, 0xf007, 0xf296, 0xf007, 0xf296, 0xf007, -0xf296, 0xefa7, 0xf244, 0xefa7, 0xf244, 0xef86, 0xf228, 0xef86, 0xf228, 0xef8a, 0xf226, -0xef8a, 0xf226, 0xefd6, 0xf261, 0xefd6, 0xf261, 0xf07c, 0xf2ea, 0xf07c, 0xf2ea, 0xf18c, -0xf3d3, 0xf18c, 0xf3d3, 0xf18c, 0xf3d3, 0xf2d8, 0xf4ee, 0xf2d8, 0xf4ee, 0xf433, 0xf60e, -0xf433, 0xf60e, 0xf5a4, 0xf73f, 0xf5a4, 0xf73f, 0xf74e, 0xf8a2, 0xf74e, 0xf8a2, 0xf982, -0xfa8c, 0xf982, 0xfa8c, 0xf982, 0xfa8c, 0xfc19, 0xfcd8, 0xfc19, 0xfcd8, 0xfea9, 0xff1d, -0xfea9, 0xff1d, 0xb7, 0xe2, 0xb7, 0xe2, 0x235, 0x21c, 0x235, 0x21c, 0x364, -0x30d, 0x364, 0x30d, 0x489, 0x3fb, 0x489, 0x3fb, 0x489, 0x3fb, 0x5d9, 0x51d, -0x5d9, 0x51d, 0x70b, 0x629, 0x70b, 0x629, 0x810, 0x711, 0x810, 0x711, 0x8fc, -0x7e9, 0x8fc, 0x7e9, 0x9b8, 0x89a, 0x9b8, 0x89a, 0xa3d, 0x91b, 0xa3d, 0x91b, -0xa3d, 0x91b, 0xa8b, 0x96c, 0xa8b, 0x96c, 0xaa3, 0x98b, 0xaa3, 0x98b, 0xaaa, -0x99f, 0xaaa, 0x99f, 0xaba, 0x9be, 0xaba, 0x9be, 0xab7, 0x9cb, 0xab7, 0x9cb, -0xab7, 0x9cb, 0xa86, 0x9ab, 0xa86, 0x9ab, 0xa33, 0x967, 0xa33, 0x967, 0x9e4, -0x926, 0x9e4, 0x926, 0x971, 0x8be, 0x971, 0x8be, 0x8f0, 0x846, 0x8f0, 0x846, -0x886, 0x7e2, 0x886, 0x7e2, 0x886, 0x7e2, 0x844, 0x7a3, 0x844, 0x7a3, 0x825, -0x785, 0x825, 0x785, 0x7ed, 0x74d, 0x7ed, 0x74d, 0x7aa, 0x70a, 0x7aa, 0x70a, -0x732, 0x692, 0x732, 0x692, 0x68c, 0x5ef, 0x68c, 0x5ef, 0x68c, 0x5ef, 0x5e0, -0x549, 0x5e0, 0x549, 0x50a, 0x47c, 0x50a, 0x47c, 0x3ed, 0x36e, 0x3ed, 0x36e, -0x29e, 0x232, 0x29e, 0x232, 0x177, 0x125, 0x177, 0x125, 0x177, 0x125, 0x7d, -0x4c, 0x7d, 0x4c, 0xff66, 0xff5a, 0xff66, 0xff5a, 0xfe06, 0xfe26, 0xfe06, 0xfe26, -0xfc7d, 0xfccc, 0xfc7d, 0xfccc, 0xfafb, 0xfb7d, 0xfafb, 0xfb7d, 0xf964, 0xfa1c, 0xf964, -0xfa1c, 0xf964, 0xfa1c, 0xf78c, 0xf87a, 0xf78c, 0xf87a, 0xf589, 0xf6ac, 0xf589, 0xf6ac, -0xf39c, 0xf4f3, 0xf39c, 0xf4f3, 0xf203, 0xf38a, 0xf203, 0xf38a, 0xf0fb, 0xf2ae, 0xf0fb, -0xf2ae, 0xf08c, 0xf265, 0xf08c, 0xf265, 0xf08c, 0xf265, 0xf09c, 0xf293, 0xf09c, 0xf293, -0xf10e, 0xf31c, 0xf10e, 0xf31c, 0xf197, 0xf3b5, 0xf197, 0xf3b5, 0xf215, 0xf43a, 0xf215, -0xf43a, 0xf28b, 0xf4b1, 0xf28b, 0xf4b1, 0xf28b, 0xf4b1, 0xf2e7, 0xf508, 0xf2e7, 0xf508, -0xf332, 0xf547, 0xf332, 0xf547, 0xf37a, 0xf580, 0xf37a, 0xf580, 0xf3d4, 0xf5c9, 0xf3d4, -0xf5c9, 0xf44b, 0xf62d, 0xf44b, 0xf62d, 0xf4d7, 0xf6a6, 0xf4d7, 0xf6a6, 0xf4d7, 0xf6a6, -0xf598, 0xf756, 0xf598, 0xf756, 0xf688, 0xf838, 0xf688, 0xf838, 0xf776, 0xf91c, 0xf776, -0xf91c, 0xf832, 0xf9d4, 0xf832, 0xf9d4, 0xf8b8, 0xfa5a, 0xf8b8, 0xfa5a, 0xf912, 0xfabb, -0xf912, 0xfabb, 0xf912, 0xfabb, 0xf936, 0xfae9, 0xf936, 0xfae9, 0xf95e, 0xfb22, 0xf95e, -0xfb22, 0xf9b4, 0xfb8a, 0xf9b4, 0xfb8a, 0xfa0d, 0xfbf8, 0xfa0d, 0xfbf8, 0xfa55, 0xfc56, -0xfa55, 0xfc56, 0xfa55, 0xfc56, 0xfa5c, 0xfc70, 0xfa5c, 0xfc70, 0xfa2b, 0xfc4f, 0xfa2b, -0xfc4f, 0xf9f4, 0xfc23, 0xf9f4, 0xfc23, 0xf9e1, 0xfc12, 0xf9e1, 0xfc12, 0xfa33, 0xfc5e, -0xfa33, 0xfc5e, 0xfadd, 0xfcf6, 0xfadd, 0xfcf6, 0xfadd, 0xfcf6, 0xfbbb, 0xfdb7, 0xfbbb, -0xfdb7, 0xfc8b, 0xfe5b, 0xfc8b, 0xfe5b, 0xfd39, 0xfed2, 0xfd39, 0xfed2, 0xfe19, 0xff6c, -0xfe19, 0xff6c, 0xff3b, 0x3b, 0xff3b, 0x3b, 0x86, 0x128, 0x86, 0x128, 0x86, -0x128, 0x1e1, 0x21b, 0x1e1, 0x21b, 0x37a, 0x342, 0x37a, 0x342, 0x567, 0x4b8, -0x567, 0x4b8, 0x780, 0x656, 0x780, 0x656, 0x9a2, 0x7fc, 0x9a2, 0x7fc, 0x9a2, -0x7fc, 0xb9d, 0x97b, 0xb9d, 0x97b, 0xd67, 0xace, 0xd67, 0xace, 0xf35, 0xc2c, -0xf35, 0xc2c, 0x114c, 0xddd, 0x114c, 0xddd, 0x13c3, 0xff8, 0x13c3, 0xff8, 0x164e, -0x1234, 0x164e, 0x1234, 0x164e, 0x1234, 0x186d, 0x1412, 0x186d, 0x1412, 0x19df, 0x1552, -0x19df, 0x1552, 0x1a90, 0x15e1, 0x1a90, 0x15e1, 0x1ad8, 0x1616, 0x1ad8, 0x1616, 0x1afd, -0x1636, 0x1afd, 0x1636, 0x1afd, 0x1636, 0x1add, 0x1620, 0x1add, 0x1620, 0x1a88, 0x15e2, -0x1a88, 0x15e2, 0x19f8, 0x1574, 0x19f8, 0x1574, 0x1930, 0x14d8, 0x1930, 0x14d8, 0x1828, -0x1403, 0x1828, 0x1403, 0x16ee, 0x1302, 0x16ee, 0x1302, 0x16ee, 0x1302, 0x159f, 0x11f1, -0x159f, 0x11f1, 0x141a, 0x10ad, 0x141a, 0x10ad, 0x1282, 0xf55, 0x1282, 0xf55, 0x110d, -0xe21, 0x110d, 0xe21, 0xfdd, 0xd30, 0xfdd, 0xd30, 0xec4, 0xc55, 0xec4, 0xc55, -0xec4, 0xc55, 0xd9a, 0xb66, 0xd9a, 0xb66, 0xc75, 0xa7a, 0xc75, 0xa7a, 0xb53, -0x98c, 0xb53, 0x98c, 0xa3a, 0x8a6, 0xa3a, 0x8a6, 0x940, 0x7dc, 0x940, 0x7dc, -0x940, 0x7dc, 0x862, 0x72d, 0x862, 0x72d, 0x766, 0x65e, 0x766, 0x65e, 0x628, -0x54d, 0x628, 0x54d, 0x4af, 0x3ff, 0x4af, 0x3ff, 0x30e, 0x28a, 0x30e, 0x28a, -0x150, 0xf8, 0x150, 0xf8, 0x150, 0xf8, 0xff47, 0xff1b, 0xff47, 0xff1b, 0xfd33, -0xfd32, 0xfd33, 0xfd32, 0xfb6e, 0xfb98, 0xfb6e, 0xfb98, 0xfa05, 0xfa5a, 0xfa05, 0xfa5a, -0xf8fc, 0xf979, 0xf8fc, 0xf979, 0xf822, 0xf8c5, 0xf822, 0xf8c5, 0xf822, 0xf8c5, 0xf759, -0xf81f, 0xf759, 0xf81f, 0xf6ab, 0xf78f, 0xf6ab, 0xf78f, 0xf629, 0xf727, 0xf629, 0xf727, -0xf59a, 0xf6ac, 0xf59a, 0xf6ac, 0xf4ec, 0xf60c, 0xf4ec, 0xf60c, 0xf4ec, 0xf60c, 0xf440, -0xf567, 0xf440, 0xf567, 0xf383, 0xf4ab, 0xf383, 0xf4ab, 0xf2df, 0xf401, 0xf2df, 0xf401, -0xf27b, 0xf390, 0xf27b, 0xf390, 0xf285, 0xf388, 0xf285, 0xf388, 0xf2f5, 0xf3e2, 0xf2f5, -0xf3e2, 0xf2f5, 0xf3e2, 0xf3a7, 0xf47a, 0xf3a7, 0xf47a, 0xf475, 0xf52c, 0xf475, 0xf52c, -0xf4f8, 0xf591, 0xf4f8, 0xf591, 0xf525, 0xf5a2, 0xf525, 0xf5a2, 0xf53b, 0xf59e, 0xf53b, -0xf59e, 0xf578, 0xf5c5, 0xf578, 0xf5c5, 0xf578, 0xf5c5, 0xf5e2, 0xf61e, 0xf5e2, 0xf61e, -0xf65c, 0xf68c, 0xf65c, 0xf68c, 0xf6bd, 0xf6e8, 0xf6bd, 0xf6e8, 0xf6e3, 0xf711, 0xf6e3, -0xf711, 0xf6e6, 0xf71f, 0xf6e6, 0xf71f, 0xf6e6, 0xf71f, 0xf6cc, 0xf717, 0xf6cc, 0xf717, -0xf694, 0xf6f8, 0xf694, 0xf6f8, 0xf664, 0xf6e6, 0xf664, 0xf6e6, 0xf676, 0xf71c, 0xf676, -0xf71c, 0xf69e, 0xf76b, 0xf69e, 0xf76b, 0xf697, 0xf78d, 0xf697, 0xf78d, 0xf697, 0xf78d, -0xf658, 0xf777, 0xf658, 0xf777, 0xf5e7, 0xf72d, 0xf5e7, 0xf72d, 0xf56c, 0xf6d6, 0xf56c, -0xf6d6, 0xf50e, 0xf697, 0xf50e, 0xf697, 0xf4d0, 0xf670, 0xf4d0, 0xf670, 0xf4a7, 0xf656, -0xf4a7, 0xf656, 0xf4a7, 0xf656, 0xf4a9, 0xf65f, 0xf4a9, 0xf65f, 0xf4f2, 0xf6a4, 0xf4f2, -0xf6a4, 0xf5af, 0xf754, 0xf5af, 0xf754, 0xf6d1, 0xf85e, 0xf6d1, 0xf85e, 0xf806, 0xf972, -0xf806, 0xf972, 0xf806, 0xf972, 0xf936, 0xfa79, 0xf936, 0xfa79, 0xfa78, 0xfb8a, 0xfa78, -0xfb8a, 0xfc05, 0xfce0, 0xfc05, 0xfce0, 0xfdca, 0xfe6a, 0xfdca, 0xfe6a, 0xff7c, 0xffde, -0xff7c, 0xffde, 0x101, 0x125, 0x101, 0x125, 0x101, 0x125, 0x26f, 0x256, 0x26f, -0x256, 0x3ee, 0x39b, 0x3ee, 0x39b, 0x571, 0x4e7, 0x571, 0x4e7, 0x6e0, 0x626, -0x6e0, 0x626, 0x82e, 0x74b, 0x82e, 0x74b, 0x934, 0x82f, 0x934, 0x82f, 0x934, -0x82f, 0xa10, 0x8f1, 0xa10, 0x8f1, 0xaee, 0x9bd, 0xaee, 0x9bd, 0xbcc, 0xa91, -0xbcc, 0xa91, 0xc86, 0xb49, 0xc86, 0xb49, 0xce9, 0xbb0, 0xce9, 0xbb0, 0xce9, -0xbb0, 0xd14, 0xbe5, 0xd14, 0xbe5, 0xcf9, 0xbd8, 0xcf9, 0xbd8, 0xc97, 0xb88, -0xc97, 0xb88, 0xc1a, 0xb1f, 0xc1a, 0xb1f, 0xb9a, 0xab4, 0xb9a, 0xab4, 0xb23, -0xa51, 0xb23, 0xa51, 0xb23, 0xa51, 0xa63, 0x9a4, 0xa63, 0x9a4, 0x962, 0x8b6, -0x962, 0x8b6, 0x877, 0x7db, 0x877, 0x7db, 0x7d0, 0x741, 0x7d0, 0x741, 0x76b, -0x6e7, 0x76b, 0x6e7, 0x725, 0x6aa, 0x725, 0x6aa, 0x725, 0x6aa, 0x6e7, 0x673, -0x6e7, 0x673, 0x663, 0x5f7, 0x663, 0x5f7, 0x59f, 0x539, 0x59f, 0x539, 0x4c3, -0x465, 0x4c3, 0x465, 0x3d4, 0x380, 0x3d4, 0x380, 0x3d4, 0x380, 0x2e2, 0x299, -0x2e2, 0x299, 0x1ed, 0x1b3, 0x1ed, 0x1b3, 0x110, 0xea, 0x110, 0xea, 0x34, -0x26, 0x34, 0x26, 0xff50, 0xff5e, 0xff50, 0xff5e, 0xfe88, 0xfeb7, 0xfe88, 0xfeb7, -0xfe88, 0xfeb7, 0xfd96, 0xfdea, 0xfd96, 0xfdea, 0xfc40, 0xfcbd, 0xfc40, 0xfcbd, 0xfa9d, -0xfb45, 0xfa9d, 0xfb45, 0xf8b0, 0xf986, 0xf8b0, 0xf986, 0xf672, 0xf775, 0xf672, 0xf775, -0xf41d, 0xf54f, 0xf41d, 0xf54f, 0xf41d, 0xf54f, 0xf208, 0xf366, 0xf208, 0xf366, 0xf076, -0xf1fe, 0xf076, 0xf1fe, 0xef7a, 0xf128, 0xef7a, 0xf128, 0xeee1, 0xf0b0, 0xeee1, 0xf0b0, -0xee9c, 0xf088, 0xee9c, 0xf088, 0xee9c, 0xf088, 0xee8e, 0xf090, 0xee8e, 0xf090, 0xee87, -0xf099, 0xee87, 0xf099, 0xee85, 0xf0a1, 0xee85, 0xf0a1, 0xeea2, 0xf0c2, 0xeea2, 0xf0c2, -0xeedf, 0xf0fd, 0xeedf, 0xf0fd, 0xef27, 0xf141, 0xef27, 0xf141, 0xef27, 0xf141, 0xef88, -0xf198, 0xef88, 0xf198, 0xf01a, 0xf21f, 0xf01a, 0xf21f, 0xf0ec, 0xf2e5, 0xf0ec, 0xf2e5, -0xf1ce, 0xf3ba, 0xf1ce, 0xf3ba, 0xf2cd, 0xf4af, 0xf2cd, 0xf4af, 0xf3d8, 0xf5b1, 0xf3d8, -0xf5b1, 0xf3d8, 0xf5b1, 0xf4a9, 0xf67d, 0xf4a9, 0xf67d, 0xf52b, 0xf6fe, 0xf52b, 0xf6fe, -0xf56a, 0xf73f, 0xf56a, 0xf73f, 0xf591, 0xf76d, 0xf591, 0xf76d, 0xf59f, 0xf786, 0xf59f, -0xf786, 0xf59f, 0xf786, 0xf5c7, 0xf7bb, 0xf5c7, 0xf7bb, 0xf612, 0xf816, 0xf612, 0xf816, -0xf64e, 0xf863, 0xf64e, 0xf863, 0xf640, 0xf865, 0xf640, 0xf865, 0xf5fe, 0xf831, 0xf5fe, -0xf831, 0xf5cf, 0xf80d, 0xf5cf, 0xf80d, 0xf5cf, 0xf80d, 0xf5c4, 0xf806, 0xf5c4, 0xf806, -0xf60d, 0xf84c, 0xf60d, 0xf84c, 0xf6a6, 0xf8db, 0xf6a6, 0xf8db, 0xf792, 0xf9b1, 0xf792, -0xf9b1, 0xf8b8, 0xfab7, 0xf8b8, 0xfab7, 0xf8b8, 0xfab7, 0xf9da, 0xfbac, 0xf9da, 0xfbac, -0xfb07, 0xfca1, 0xfb07, 0xfca1, 0xfc68, 0xfdbe, 0xfc68, 0xfdbe, 0xfddf, 0xfee6, 0xfddf, -0xfee6, 0xff52, 0, 0xff52, 0, 0xfc, 0x148, 0xfc, 0x148, 0xfc, 0x148, -0x2ef, 0x2d1, 0x2ef, 0x2d1, 0x515, 0x489, 0x515, 0x489, 0x732, 0x635, 0x732, -0x635, 0x938, 0x7c8, 0x938, 0x7c8, 0xb34, 0x954, 0xb34, 0x954, 0xd40, 0xaf4, -0xd40, 0xaf4, 0xd40, 0xaf4, 0xf79, 0xcc8, 0xf79, 0xcc8, 0x11d8, 0xeca, 0x11d8, -0xeca, 0x1437, 0x10d8, 0x1437, 0x10d8, 0x1664, 0x12bf, 0x1664, 0x12bf, 0x1847, 0x1468, -0x1847, 0x1468, 0x1847, 0x1468, 0x1998, 0x158e, 0x1998, 0x158e, 0x1a91, 0x166a, 0x1a91, -0x166a, 0x1b7a, 0x1744, 0x1b7a, 0x1744, 0x1c54, 0x181c, 0x1c54, 0x181c, 0x1d15, 0x18e8, -0x1d15, 0x18e8, 0x1d77, 0x1961, 0x1d77, 0x1961, 0x1d77, 0x1961, 0x1d52, 0x195d, 0x1d52, -0x195d, 0x1ca7, 0x18db, 0x1ca7, 0x18db, 0x1bcc, 0x1831, 0x1bcc, 0x1831, 0x1ae6, 0x177f, -0x1ae6, 0x177f, 0x19f9, 0x16cc, 0x19f9, 0x16cc, 0x18f4, 0x1602, 0x18f4, 0x1602, 0x18f4, -0x1602, 0x17c7, 0x1511, 0x17c7, 0x1511, 0x16b2, 0x1438, 0x16b2, 0x1438, 0x15bf, 0x137e, -0x15bf, 0x137e, 0x14cf, 0x12c7, 0x14cf, 0x12c7, 0x13c3, 0x11ef, 0x13c3, 0x11ef, 0x13c3, -0x11ef, 0x12a5, 0x1104, 0x12a5, 0x1104, 0x1176, 0x1004, 0x1176, 0x1004, 0x1020, 0xeda, -0x1020, 0xeda, 0xe9b, 0xd80, 0xe9b, 0xd80, 0xd1a, 0xc27, 0xd1a, 0xc27, 0xbc4, -0xaf7, 0xbc4, 0xaf7, 0xbc4, 0xaf7, 0xa88, 0x9e1, 0xa88, 0x9e1, 0x924, 0x8a2, -0x924, 0x8a2, 0x783, 0x725, 0x783, 0x725, 0x5cd, 0x594, 0x5cd, 0x594, 0x40c, -0x3f6, 0x40c, 0x3f6, 0x254, 0x263, 0x254, 0x263, 0x254, 0x263, 0xad, 0xdf, -0xad, 0xdf, 0xff44, 0xff98, 0xff44, 0xff98, 0xfe07, 0xfe7d, 0xfe07, 0xfe7d, 0xfcdc, -0xfd71, 0xfcdc, 0xfd71, 0xfbc3, 0xfc75, 0xfbc3, 0xfc75, 0xfbc3, 0xfc75, 0xfab0, 0xfb7b, -0xfab0, 0xfb7b, 0xf9b6, 0xfa96, 0xf9b6, 0xfa96, 0xf8ad, 0xf99e, 0xf8ad, 0xf99e, 0xf79a, -0xf896, 0xf79a, 0xf896, 0xf67e, 0xf780, 0xf67e, 0xf780, 0xf54f, 0xf652, 0xf54f, 0xf652, -0xf54f, 0xf652, 0xf40d, 0xf50c, 0xf40d, 0xf50c, 0xf318, 0xf40c, 0xf318, 0xf40c, 0xf2be, -0xf3a4, 0xf2be, 0xf3a4, 0xf2e5, 0xf3ba, 0xf2e5, 0xf3ba, 0xf352, 0xf413, 0xf352, 0xf413, -0xf3a3, 0xf44e, 0xf3a3, 0xf44e, 0xf3a3, 0xf44e, 0xf3bd, 0xf452, 0xf3bd, 0xf452, 0xf39f, -0xf420, 0xf39f, 0xf420, 0xf3a0, 0xf40e, 0xf3a0, 0xf40e, 0xf3d1, 0xf430, 0xf3d1, 0xf430, -0xf42d, 0xf481, 0xf42d, 0xf481, 0xf42d, 0xf481, 0xf4ac, 0xf4fc, 0xf4ac, 0xf4fc, 0xf51d, -0xf56e, 0xf51d, 0xf56e, 0xf582, 0xf5da, 0xf582, 0xf5da, 0xf5ba, 0xf621, 0xf5ba, 0xf621, -0xf5f3, 0xf66f, 0xf5f3, 0xf66f, 0xf609, 0xf69f, 0xf609, 0xf69f, 0xf609, 0xf69f, 0xf5db, -0xf691, 0xf5db, 0xf691, 0xf56d, 0xf647, 0xf56d, 0xf647, 0xf4bd, 0xf5be, 0xf4bd, 0xf5be, -0xf3ee, 0xf518, 0xf3ee, 0xf518, 0xf32f, 0xf480, 0xf32f, 0xf480, 0xf2a4, 0xf41a, 0xf2a4, -0xf41a, 0xf2a4, 0xf41a, 0xf238, 0xf3d0, 0xf238, 0xf3d0, 0xf1f3, 0xf3a8, 0xf1f3, 0xf3a8, -0xf18f, 0xf35a, 0xf18f, 0xf35a, 0xf109, 0xf2e2, 0xf109, 0xf2e2, 0xf0a2, 0xf281, 0xf0a2, -0xf281, 0xf0a2, 0xf281, 0xf098, 0xf273, 0xf098, 0xf273, 0xf10b, 0xf2d9, 0xf10b, 0xf2d9, -0xf1e9, 0xf3a0, 0xf1e9, 0xf3a0, 0xf317, 0xf4ae, 0xf317, 0xf4ae, 0xf475, 0xf5e4, 0xf475, -0xf5e4, 0xf627, 0xf766, 0xf627, 0xf766, 0xf627, 0xf766, 0xf7f2, 0xf8fb, 0xf7f2, 0xf8fb, -0xf9bb, 0xfa89, 0xf9bb, 0xfa89, 0xfb95, 0xfc25, 0xfb95, 0xfc25, 0xfd76, 0xfdc6, 0xfd76, -0xfdc6, 0xff4d, 0xff5e, 0xff4d, 0xff5e, 0xd4, 0xa6, 0xd4, 0xa6, 0xd4, 0xa6, -0x21f, 0x1b6, 0x21f, 0x1b6, 0x354, 0x2b5, 0x354, 0x2b5, 0x465, 0x394, 0x465, -0x394, 0x556, 0x45a, 0x556, 0x45a, 0x63b, 0x51a, 0x63b, 0x51a, 0x63b, 0x51a, -0x70a, 0x5cc, 0x70a, 0x5cc, 0x7cf, 0x67a, 0x7cf, 0x67a, 0x875, 0x710, 0x875, -0x710, 0x8ef, 0x780, 0x8ef, 0x780, 0x924, 0x7b1, 0x924, 0x7b1, 0x90d, 0x799, -0x90d, 0x799, 0x90d, 0x799, 0x8da, 0x76c, 0x8da, 0x76c, 0x8ba, 0x754, 0x8ba, -0x754, 0x8e3, 0x787, 0x8e3, 0x787, 0x90e, 0x7be, 0x90e, 0x7be, 0x8fa, 0x7b8, -0x8fa, 0x7b8, 0x8a0, 0x76b, 0x8a0, 0x76b, 0x8a0, 0x76b, 0x825, 0x6fe, 0x825, -0x6fe, 0x7b3, 0x69b, 0x7b3, 0x69b, 0x73c, 0x632, 0x73c, 0x632, 0x6e0, 0x5e4, -0x6e0, 0x5e4, 0x686, 0x59a, 0x686, 0x59a, 0x686, 0x59a, 0x611, 0x534, 0x611, -0x534, 0x573, 0x4a9, 0x573, 0x4a9, 0x4a5, 0x3ee, 0x4a5, 0x3ee, 0x3c1, 0x320, -0x3c1, 0x320, 0x2ed, 0x266, 0x2ed, 0x266, 0x222, 0x1b7, 0x222, 0x1b7, 0x222, -0x1b7, 0x13e, 0xf4, 0x13e, 0xf4, 0x3e, 0x17, 0x3e, 0x17, 0xff40, 0xff40, -0xff40, 0xff40, 0xfe50, 0xfe79, 0xfe50, 0xfe79, 0xfd31, 0xfd87, 0xfd31, 0xfd87, 0xfbfe, -0xfc81, 0xfbfe, 0xfc81, 0xfbfe, 0xfc81, 0xfac6, 0xfb78, 0xfac6, 0xfb78, 0xf983, 0xfa64, -0xf983, 0xfa64, 0xf818, 0xf925, 0xf818, 0xf925, 0xf68f, 0xf7c8, 0xf68f, 0xf7c8, 0xf535, -0xf695, 0xf535, 0xf695, 0xf535, 0xf695, 0xf3ff, 0xf583, 0xf3ff, 0xf583, 0xf322, 0xf4c4, -0xf322, 0xf4c4, 0xf2ad, 0xf468, 0xf2ad, 0xf468, 0xf2ab, 0xf479, 0xf2ab, 0xf479, 0xf2f5, -0xf4cf, 0xf2f5, 0xf4cf, 0xf340, 0xf521, 0xf340, 0xf521, 0xf340, 0xf521, 0xf3a0, 0xf582, -0xf3a0, 0xf582, 0xf3fc, 0xf5da, 0xf3fc, 0xf5da, 0xf456, 0xf62c, 0xf456, 0xf62c, 0xf49e, -0xf668, 0xf49e, 0xf668, 0xf4f0, 0xf6ad, 0xf4f0, 0xf6ad, 0xf4f0, 0xf6ad, 0xf55a, 0xf70a, -0xf55a, 0xf70a, 0xf5d1, 0xf773, 0xf5d1, 0xf773, 0xf68b, 0xf822, 0xf68b, 0xf822, 0xf759, -0xf8e7, 0xf759, 0xf8e7, 0xf81b, 0xf9a3, 0xf81b, 0xf9a3, 0xf8c1, 0xfa4a, 0xf8c1, 0xfa4a, -0xf8c1, 0xfa4a, 0xf94d, 0xfada, 0xf94d, 0xfada, 0xf9d6, 0xfb6c, 0xf9d6, 0xfb6c, 0xfa58, -0xfbfd, 0xfa58, 0xfbfd, 0xfad9, 0xfc91, 0xfad9, 0xfc91, 0xfb3b, 0xfd09, 0xfb3b, 0xfd09, -0xfb7d, 0xfd64, 0xfb7d, 0xfd64, 0xfb7d, 0xfd64, 0xfb8c, 0xfd8d, 0xfb8c, 0xfd8d, 0xfb5a, -0xfd74, 0xfb5a, 0xfd74, 0xfafc, 0xfd2d, 0xfafc, 0xfd2d, 0xfa91, 0xfcd4, 0xfa91, 0xfcd4, -0xfa66, 0xfcb5, 0xfa66, 0xfcb5, 0xfa66, 0xfcb5, 0xfa76, 0xfcca, 0xfa76, 0xfcca, 0xfa96, -0xfce5, 0xfa96, 0xfce5, 0xfada, 0xfd1a, 0xfada, 0xfd1a, 0xfb46, 0xfd6b, 0xfb46, 0xfd6b, -0xfbd1, 0xfdce, 0xfbd1, 0xfdce, 0xfc7a, 0xfe43, 0xfc7a, 0xfe43, 0xfc7a, 0xfe43, 0xfd3b, -0xfec3, 0xfd3b, 0xfec3, 0xfe24, 0xff60, 0xfe24, 0xff60, 0xff64, 0x48, 0xff64, 0x48, -0xf8, 0x17b, 0xf8, 0x17b, 0x2b7, 0x2d1, 0x2b7, 0x2d1, 0x46b, 0x416, 0x46b, -0x416, 0x46b, 0x416, 0x61a, 0x552, 0x61a, 0x552, 0x7ed, 0x6b0, 0x7ed, 0x6b0, -0x9ca, 0x819, 0x9ca, 0x819, 0xbad, 0x98c, 0xbad, 0x98c, 0xdad, 0xb21, 0xdad, -0xb21, 0xdad, 0xb21, 0xfc8, 0xcd9, 0xfc8, 0xcd9, 0x11f1, 0xea7, 0x11f1, 0xea7, -0x1415, 0x107c, 0x1415, 0x107c, 0x15f9, 0x121d, 0x15f9, 0x121d, 0x1754, 0x1342, 0x1754, -0x1342, 0x1845, 0x1409, 0x1845, 0x1409, 0x1845, 0x1409, 0x18e9, 0x1492, 0x18e9, 0x1492, -0x1947, 0x14e1, 0x1947, 0x14e1, 0x1963, 0x14fa, 0x1963, 0x14fa, 0x1917, 0x14b7, 0x1917, -0x14b7, 0x1886, 0x1439, 0x1886, 0x1439, 0x17c4, 0x1394, 0x17c4, 0x1394, 0x17c4, 0x1394, -0x16d1, 0x12c5, 0x16d1, 0x12c5, 0x15aa, 0x11c9, 0x15aa, 0x11c9, 0x1444, 0x1093, 0x1444, -0x1093, 0x12e7, 0xf69, 0x12e7, 0xf69, 0x1198, 0xe4f, 0x1198, 0xe4f, 0x1198, 0xe4f, -0x1054, 0xd42, 0x1054, 0xd42, 0xf3e, 0xc63, 0xf3e, 0xc63, 0xe59, 0xbb5, 0xe59, -0xbb5, 0xd98, 0xb2a, 0xd98, 0xb2a, 0xcf9, 0xac1, 0xcf9, 0xac1, 0xc54, 0xa50, -0xc54, 0xa50, 0xc54, 0xa50, 0xb5e, 0x98d, 0xb5e, 0x98d, 0xa40, 0x8a2, 0xa40, -0x8a2, 0x907, 0x79b, 0x907, 0x79b, 0x7bc, 0x682, 0x7bc, 0x682, 0x64f, 0x548, -0x64f, 0x548, 0x4aa, 0x3d4, 0x4aa, 0x3d4, 0x4aa, 0x3d4, 0x2ff, 0x25c, 0x2ff, -0x25c, 0x170, 0xff, 0x170, 0xff, 0xfff4, 0xffb7, 0xfff4, 0xffb7, 0xfe5e, 0xfe53, -0xfe5e, 0xfe53, 0xfcdd, 0xfd03, 0xfcdd, 0xfd03, 0xfcdd, 0xfd03, 0xfb82, 0xfbda, 0xfb82, -0xfbda, 0xfa50, 0xfad6, 0xfa50, 0xfad6, 0xf950, 0xfa02, 0xf950, 0xfa02, 0xf87c, 0xf957, -0xf87c, 0xf957, 0xf7e2, 0xf8e1, 0xf7e2, 0xf8e1, 0xf741, 0xf85f, 0xf741, 0xf85f, 0xf741, -0xf85f, 0xf69e, 0xf7d6, 0xf69e, 0xf7d6, 0xf626, 0xf771, 0xf626, 0xf771, 0xf5b2, 0xf70b, -0xf5b2, 0xf70b, 0xf53a, 0xf69a, 0xf53a, 0xf69a, 0xf4d6, 0xf637, 0xf4d6, 0xf637, 0xf48d, -0xf5e8, 0xf48d, 0xf5e8, 0xf48d, 0xf5e8, 0xf478, 0xf5c8, 0xf478, 0xf5c8, 0xf4a5, 0xf5e5, -0xf4a5, 0xf5e5, 0xf514, 0xf641, 0xf514, 0xf641, 0xf58f, 0xf6a6, 0xf58f, 0xf6a6, 0xf5fc, -0xf6fc, 0xf5fc, 0xf6fc, 0xf5fc, 0xf6fc, 0xf676, 0xf75f, 0xf676, 0xf75f, 0xf6cb, 0xf79e, -0xf6cb, 0xf79e, 0xf70a, 0xf7ca, 0xf70a, 0xf7ca, 0xf732, 0xf7e3, 0xf732, 0xf7e3, 0xf769, -0xf80f, 0xf769, 0xf80f, 0xf7b0, 0xf851, 0xf7b0, 0xf851, 0xf7b0, 0xf851, 0xf7e2, 0xf884, -0xf7e2, 0xf884, 0xf825, 0xf8ce, 0xf825, 0xf8ce, 0xf85f, 0xf915, 0xf85f, 0xf915, 0xf8a1, -0xf969, 0xf8a1, 0xf969, 0xf8db, 0xf9bb, 0xf8db, 0xf9bb, 0xf8f0, 0xf9ec, 0xf8f0, 0xf9ec, -0xf8f0, 0xf9ec, 0xf8ba, 0xf9d5, 0xf8ba, 0xf9d5, 0xf843, 0xf980, 0xf843, 0xf980, 0xf7ce, -0xf92c, 0xf7ce, 0xf92c, 0xf760, 0xf8dd, 0xf760, 0xf8dd, 0xf6f7, 0xf892, 0xf6f7, 0xf892, -0xf6f7, 0xf892, 0xf680, 0xf834, 0xf680, 0xf834, 0xf613, 0xf7da, 0xf613, 0xf7da, 0xf5c5, -0xf799, 0xf5c5, 0xf799, 0xf5b2, 0xf78b, 0xf5b2, 0xf78b, 0xf5cf, 0xf7a6, 0xf5cf, 0xf7a6, -0xf622, 0xf7ed, 0xf622, 0xf7ed, 0xf622, 0xf7ed, 0xf6dc, 0xf893, 0xf6dc, 0xf893, 0xf7ed, -0xf989, 0xf7ed, 0xf989, 0xf931, 0xfaa9, 0xf931, 0xfaa9, 0xfa68, 0xfbb5, 0xfa68, 0xfbb5, -0xfb79, 0xfc96, 0xfb79, 0xfc96, 0xfc78, 0xfd60, 0xfc78, 0xfd60, 0xfc78, 0xfd60, 0xfdb7, -0xfe67, 0xfdb7, 0xfe67, 0xff53, 0xffcb, 0xff53, 0xffcb, 0x118, 0x156, 0x118, 0x156, -0x2de, 0x2e5, 0x2de, 0x2e5, 0x490, 0x462, 0x490, 0x462, 0x490, 0x462, 0x627, -0x5c8, 0x627, 0x5c8, 0x792, 0x707, 0x792, 0x707, 0x8b6, 0x806, 0x8b6, 0x806, -0x98d, 0x8bd, 0x98d, 0x8bd, 0xa4b, 0x961, 0xa4b, 0x961, 0xafb, 0x9ff, 0xafb, -0x9ff, 0xafb, 0x9ff, 0xb88, 0xa7f, 0xb88, 0xa7f, 0xbc2, 0xab3, 0xbc2, 0xab3, -0xb9b, 0xa8a, 0xb9b, 0xa8a, 0xb48, 0xa3a, 0xb48, 0xa3a, 0xaec, 0x9e5, 0xaec, -0x9e5, 0xa8a, 0x98e, 0xa8a, 0x98e, 0xa8a, 0x98e, 0xa26, 0x935, 0xa26, 0x935, -0x9c4, 0x8e0, 0x9c4, 0x8e0, 0x940, 0x86a, 0x940, 0x86a, 0x891, 0x7c8, 0x891, -0x7c8, 0x7be, 0x701, 0x7be, 0x701, 0x7be, 0x701, 0x6e5, 0x634, 0x6e5, 0x634, -0x636, 0x590, 0x636, 0x590, 0x5b6, 0x51a, 0x5b6, 0x51a, 0x53c, 0x4aa, 0x53c, -0x4aa, 0x4a4, 0x41c, 0x4a4, 0x41c, 0x3f6, 0x379, 0x3f6, 0x379, 0x3f6, 0x379, -0x341, 0x2d0, 0x341, 0x2d0, 0x2b0, 0x24b, 0x2b0, 0x24b, 0x232, 0x1dc, 0x232, -0x1dc, 0x19b, 0x158, 0x19b, 0x158, 0xcf, 0xa1, 0xcf, 0xa1, 0xcf, 0xa1, -0xffe4, 0xffce, 0xffe4, 0xffce, 0xfef5, 0xfefb, 0xfef5, 0xfefb, 0xfddf, 0xfe03, 0xfddf, -0xfe03, 0xfcaf, 0xfcf4, 0xfcaf, 0xfcf4, 0xfb68, 0xfbd2, 0xfb68, 0xfbd2, 0xfa00, 0xfa90, -0xfa00, 0xfa90, 0xfa00, 0xfa90, 0xf881, 0xf937, 0xf881, 0xf937, 0xf6fc, 0xf7d8, 0xf6fc, -0xf7d8, 0xf558, 0xf65a, 0xf558, 0xf65a, 0xf39d, 0xf4c2, 0xf39d, 0xf4c2, 0xf20a, 0xf350, -0xf20a, 0xf350, 0xf0c4, 0xf227, 0xf0c4, 0xf227, 0xf0c4, 0xf227, 0xefe0, 0xf15b, 0xefe0, -0xf15b, 0xef57, 0xf0e6, 0xef57, 0xf0e6, 0xef4b, 0xf0e8, 0xef4b, 0xf0e8, 0xef8c, 0xf132, -0xef8c, 0xf132, 0xefd3, 0xf17c, 0xefd3, 0xf17c, 0xefd3, 0xf17c, 0xf021, 0xf1ca, 0xf021, -0xf1ca, 0xf069, 0xf20b, 0xf069, 0xf20b, 0xf0bd, 0xf256, 0xf0bd, 0xf256, 0xf12d, 0xf2ba, -0xf12d, 0xf2ba, 0xf1ad, 0xf32c, 0xf1ad, 0xf32c, 0xf24c, 0xf3bd, 0xf24c, 0xf3bd, 0xf24c, -0xf3bd, 0xf325, 0xf489, 0xf325, 0xf489, 0xf413, 0xf56b, 0xf413, 0xf56b, 0xf4bb, 0xf60a, -0xf4bb, 0xf60a, 0xf519, 0xf663, 0xf519, 0xf663, 0xf555, 0xf69d, 0xf555, 0xf69d, 0xf581, -0xf6cc, 0xf581, 0xf6cc, 0xf581, 0xf6cc, 0xf5bc, 0xf70e, 0xf5bc, 0xf70e, 0xf5dd, 0xf73a, -0xf5dd, 0xf73a, 0xf5ff, 0xf76c, 0xf5ff, 0xf76c, 0xf634, 0xf7b1, 0xf634, 0xf7b1, 0xf635, -0xf7c5, 0xf635, 0xf7c5, 0xf635, 0xf7c5, 0xf604, 0xf7a7, 0xf604, 0xf7a7, 0xf5c7, 0xf77b, -0xf5c7, 0xf77b, 0xf5c6, 0xf788, 0xf5c6, 0xf788, 0xf5fa, 0xf7c5, 0xf5fa, 0xf7c5, 0xf62f, -0xf7fd, 0xf62f, 0xf7fd, 0xf688, 0xf850, 0xf688, 0xf850, 0xf688, 0xf850, 0xf74b, 0xf904, -0xf74b, 0xf904, 0xf855, 0xf9f5, 0xf855, 0xf9f5, 0xf964, 0xfae0, 0xf964, 0xfae0, 0xfa71, -0xfbbd, 0xfa71, 0xfbbd, 0xfb74, 0xfc84, 0xfb74, 0xfc84, 0xfca6, 0xfd70, 0xfca6, 0xfd70, -0xfca6, 0xfd70, 0xfe22, 0xfe9b, 0xfe22, 0xfe9b, 0xffd4, 0xfff3, 0xffd4, 0xfff3, 0x1a9, -0x166, 0x1a9, 0x166, 0x38b, 0x2e0, 0x38b, 0x2e0, 0x580, 0x469, 0x580, 0x469, -0x580, 0x469, 0x790, 0x60c, 0x790, 0x60c, 0x9a3, 0x7b2, 0x9a3, 0x7b2, 0xb8e, -0x933, 0xb8e, 0x933, 0xd7d, 0xabd, 0xd7d, 0xabd, 0xf71, 0xc54, 0xf71, 0xc54, -0x1185, 0xe14, 0x1185, 0xe14, 0x1185, 0xe14, 0x13c5, 0x100a, 0x13c5, 0x100a, 0x15d7, -0x11df, 0x15d7, 0x11df, 0x17b6, 0x138e, 0x17b6, 0x138e, 0x1960, 0x1514, 0x1960, 0x1514, -0x1aba, 0x1658, 0x1aba, 0x1658, 0x1bb8, 0x174d, 0x1bb8, 0x174d, 0x1bb8, 0x174d, 0x1c4d, -0x17e6, 0x1c4d, 0x17e6, 0x1c7b, 0x1825, 0x1c7b, 0x1825, 0x1c42, 0x1805, 0x1c42, 0x1805, -0x1ba1, 0x1786, 0x1ba1, 0x1786, 0x1abb, 0x16cb, 0x1abb, 0x16cb, 0x1abb, 0x16cb, 0x19c0, -0x1600, 0x19c0, 0x1600, 0x18d6, 0x154b, 0x18d6, 0x154b, 0x17f3, 0x149f, 0x17f3, 0x149f, -0x16f3, 0x13d8, 0x16f3, 0x13d8, 0x15ed, 0x130c, 0x15ed, 0x130c, 0x1512, 0x1269, 0x1512, -0x1269, 0x1512, 0x1269, 0x1448, 0x11d8, 0x1448, 0x11d8, 0x135e, 0x1124, 0x135e, 0x1124, -0x124c, 0x1046, 0x124c, 0x1046, 0x10fa, 0xf26, 0x10fa, 0xf26, 0xf7d, 0xddb, 0xf7d, -0xddb, 0xe0c, 0xc99, 0xe0c, 0xc99, 0xe0c, 0xc99, 0xcc7, 0xb83, 0xcc7, 0xb83, -0xb7a, 0xa64, 0xb7a, 0xa64, 0xa1b, 0x934, 0xa1b, 0x934, 0x8d1, 0x819, 0x8d1, -0x819, 0x78a, 0x703, 0x78a, 0x703, 0x78a, 0x703, 0x64d, 0x5f7, 0x64d, 0x5f7, -0x4dd, 0x4bb, 0x4dd, 0x4bb, 0x33f, 0x351, 0x33f, 0x351, 0x185, 0x1cc, 0x185, -0x1cc, 0xffdf, 0x5b, 0xffdf, 0x5b, 0xfe77, 0xff29, 0xfe77, 0xff29, 0xfe77, 0xff29, -0xfd2c, 0xfe11, 0xfd2c, 0xfe11, 0xfc16, 0xfd2c, 0xfc16, 0xfd2c, 0xfb14, 0xfc58, 0xfb14, -0xfc58, 0xfa1a, 0xfb88, 0xfa1a, 0xfb88, 0xf913, 0xfaa5, 0xf913, 0xfaa5, 0xf7fd, 0xf9ad, -0xf7fd, 0xf9ad, 0xf7fd, 0xf9ad, 0xf6dc, 0xf8a3, 0xf6dc, 0xf8a3, 0xf5ba, 0xf791, 0xf5ba, -0xf791, 0xf4cf, 0xf6ae, 0xf4cf, 0xf6ae, 0xf411, 0xf5f0, 0xf411, 0xf5f0, 0xf397, 0xf56e, -0xf397, 0xf56e, 0xf397, 0xf56e, 0xf381, 0xf54b, 0xf381, 0xf54b, 0xf3c9, 0xf57e, 0xf3c9, -0xf57e, 0xf41c, 0xf5b9, 0xf41c, 0xf5b9, 0xf473, 0xf5f3, 0xf473, 0xf5f3, 0xf4ed, 0xf64e, -0xf4ed, 0xf64e, 0xf55b, 0xf69c, 0xf55b, 0xf69c, 0xf55b, 0xf69c, 0xf5a5, 0xf6c7, 0xf5a5, -0xf6c7, 0xf5e4, 0xf6e9, 0xf5e4, 0xf6e9, 0xf645, 0xf731, 0xf645, 0xf731, 0xf6b2, 0xf789, -0xf6b2, 0xf789, 0xf72b, 0xf7f3, 0xf72b, 0xf7f3, 0xf796, 0xf856, 0xf796, 0xf856, 0xf796, -0xf856, 0xf7c6, 0xf884, 0xf7c6, 0xf884, 0xf7bf, 0xf882, 0xf7bf, 0xf882, 0xf77f, 0xf84e, -0xf77f, 0xf84e, 0xf705, 0xf7e4, 0xf705, 0xf7e4, 0xf65d, 0xf752, 0xf65d, 0xf752, 0xf65d, -0xf752, 0xf5b9, 0xf6c8, 0xf5b9, 0xf6c8, 0xf52f, 0xf65a, 0xf52f, 0xf65a, 0xf495, 0xf5dd, -0xf495, 0xf5dd, 0xf3e5, 0xf549, 0xf3e5, 0xf549, 0xf352, 0xf4d0, 0xf352, 0xf4d0, 0xf2e7, -0xf47b, 0xf2e7, 0xf47b, 0xf2e7, 0xf47b, 0xf287, 0xf42c, 0xf287, 0xf42c, 0xf221, 0xf3d0, -0xf221, 0xf3d0, 0xf1d1, 0xf384, 0xf1d1, 0xf384, 0xf1ef, 0xf39e, 0xf1ef, 0xf39e, 0xf2b8, -0xf45b, 0xf2b8, 0xf45b, 0xf3ff, 0xf58e, 0xf3ff, 0xf58e, 0xf3ff, 0xf58e, 0xf571, 0xf6e5, -0xf571, 0xf6e5, 0xf6d1, 0xf823, 0xf6d1, 0xf823, 0xf801, 0xf92b, 0xf801, 0xf92b, 0xf93a, -0xfa37, 0xf93a, 0xfa37, 0xfac5, 0xfb92, 0xfac5, 0xfb92, 0xfac5, 0xfb92, 0xfc9f, 0xfd3a, -0xfc9f, 0xfd3a, 0xfe6e, 0xfed7, 0xfe6e, 0xfed7, 0x36, 0x6e, 0x36, 0x6e, 0x1d9, -0x1e3, 0x1d9, 0x1e3, 0x31c, 0x2fb, 0x31c, 0x2fb, 0x411, 0x3c9, 0x411, 0x3c9, -0x411, 0x3c9, 0x4a5, 0x43c, 0x4a5, 0x43c, 0x549, 0x4c4, 0x549, 0x4c4, 0x603, -0x56a, 0x603, 0x56a, 0x6c0, 0x618, 0x6c0, 0x618, 0x775, 0x6c3, 0x775, 0x6c3, -0x775, 0x6c3, 0x7d4, 0x71e, 0x7d4, 0x71e, 0x806, 0x751, 0x806, 0x751, 0x80e, -0x75c, 0x80e, 0x75c, 0x808, 0x75d, 0x808, 0x75d, 0x7fb, 0x757, 0x7fb, 0x757, -0x80b, 0x770, 0x80b, 0x770, 0x80b, 0x770, 0x82b, 0x798, 0x82b, 0x798, 0x80e, -0x782, 0x80e, 0x782, 0x7be, 0x737, 0x7be, 0x737, 0x71f, 0x69c, 0x71f, 0x69c, -0x666, 0x5e5, 0x666, 0x5e5, 0x5c5, 0x544, 0x5c5, 0x544, 0x5c5, 0x544, 0x52a, -0x4a9, 0x52a, 0x4a9, 0x4aa, 0x427, 0x4aa, 0x427, 0x458, 0x3d2, 0x458, 0x3d2, -0x41b, 0x393, 0x41b, 0x393, 0x3cf, 0x348, 0x3cf, 0x348, 0x3cf, 0x348, 0x341, -0x2bc, 0x341, 0x2bc, 0x270, 0x1f1, 0x270, 0x1f1, 0x188, 0x113, 0x188, 0x113, -0x82, 0x1c, 0x82, 0x1c, 0xffaf, 0xff5c, 0xffaf, 0xff5c, 0xff31, 0xfef5, 0xff31, -0xfef5, 0xff31, 0xfef5, 0xfeb6, 0xfe99, 0xfeb6, 0xfe99, 0xfe17, 0xfe1b, 0xfe17, 0xfe1b, -0xfd6e, 0xfd98, 0xfd6e, 0xfd98, 0xfcc6, 0xfd19, 0xfcc6, 0xfd19, 0xfc04, 0xfc81, 0xfc04, -0xfc81, 0xfb1f, 0xfbc8, 0xfb1f, 0xfbc8, 0xfb1f, 0xfbc8, 0xf9dc, 0xfab0, 0xf9dc, 0xfab0, -0xf83e, 0xf93c, 0xf83e, 0xf93c, 0xf6ac, 0xf7d0, 0xf6ac, 0xf7d0, 0xf567, 0xf6ad, 0xf567, -0xf6ad, 0xf49b, 0xf5fe, 0xf49b, 0xf5fe, 0xf49b, 0xf5fe, 0xf45c, 0xf5d5, 0xf45c, 0xf5d5, -0xf4a0, 0xf629, 0xf4a0, 0xf629, 0xf550, 0xf6e2, 0xf550, 0xf6e2, 0xf5f6, 0xf78a, 0xf5f6, -0xf78a, 0xf655, 0xf7e4, 0xf655, 0xf7e4, 0xf689, 0xf80d, 0xf689, 0xf80d, 0xf689, 0xf80d, -0xf692, 0xf806, 0xf692, 0xf806, 0xf6b3, 0xf813, 0xf6b3, 0xf813, 0xf704, 0xf84c, 0xf704, -0xf84c, 0xf797, 0xf8c6, 0xf797, 0xf8c6, 0xf874, 0xf98b, 0xf874, 0xf98b, 0xf93d, 0xfa3d, -0xf93d, 0xfa3d, 0xf93d, 0xfa3d, 0xf9d2, 0xfabd, 0xf9d2, 0xfabd, 0xfa4c, 0xfb26, 0xfa4c, -0xfb26, 0xfadd, 0xfbab, 0xfadd, 0xfbab, 0xfb8b, 0xfc51, 0xfb8b, 0xfc51, 0xfc34, 0xfcf8, -0xfc34, 0xfcf8, 0xfc34, 0xfcf8, 0xfcaa, 0xfd72, 0xfcaa, 0xfd72, 0xfce0, 0xfdaf, 0xfce0, -0xfdaf, 0xfce3, 0xfdbe, 0xfce3, 0xfdbe, 0xfca1, 0xfd8c, 0xfca1, 0xfd8c, 0xfc41, 0xfd3d, -0xfc41, 0xfd3d, 0xfbdf, 0xfcec, 0xfbdf, 0xfcec, 0xfbdf, 0xfcec, 0xfb91, 0xfcad, 0xfb91, -0xfcad, 0xfb46, 0xfc6e, 0xfb46, 0xfc6e, 0xfaf3, 0xfc22, 0xfaf3, 0xfc22, 0xfac0, 0xfbef, -0xfac0, 0xfbef, 0xfaaf, 0xfbd6, 0xfaaf, 0xfbd6, 0xfaa7, 0xfbbd, 0xfaa7, 0xfbbd, 0xfaa7, -0xfbbd, 0xfab7, 0xfbb2, 0xfab7, 0xfbb2, 0xfb32, 0xfc07, 0xfb32, 0xfc07, 0xfc17, 0xfcbb, -0xfc17, 0xfcbb, 0xfd5a, 0xfdc4, 0xfd5a, 0xfdc4, 0xfed7, 0xfefd, 0xfed7, 0xfefd, 0xfed7, -0xfefd, 0x4c, 0x24, 0x4c, 0x24, 0x1b2, 0x137, 0x1b2, 0x137, 0x2f9, 0x224, -0x2f9, 0x224, 0x44e, 0x31c, 0x44e, 0x31c, 0x5db, 0x44a, 0x5db, 0x44a, 0x792, -0x5a4, 0x792, 0x5a4, 0x792, 0x5a4, 0x96c, 0x724, 0x96c, 0x724, 0xb52, 0x8b4, -0xb52, 0x8b4, 0xd3f, 0xa53, 0xd3f, 0xa53, 0xf2d, 0xbfc, 0xf2d, 0xbfc, 0x1106, -0xd99, 0x1106, 0xd99, 0x12b6, 0xf17, 0x12b6, 0xf17, 0x12b6, 0xf17, 0x1422, 0x105e, -0x1422, 0x105e, 0x1545, 0x1168, 0x1545, 0x1168, 0x1609, 0x121e, 0x1609, 0x121e, 0x1665, -0x1278, 0x1665, 0x1278, 0x1689, 0x12a5, 0x1689, 0x12a5, 0x1689, 0x12a5, 0x1669, 0x1296, -0x1669, 0x1296, 0x1601, 0x1248, 0x1601, 0x1248, 0x152f, 0x1197, 0x152f, 0x1197, 0x1420, -0x10af, 0x1420, 0x10af, 0x132b, 0xfe3, 0x132b, 0xfe3, 0x120e, 0xef4, 0x120e, 0xef4, -0x120e, 0xef4, 0x10ec, 0xe00, 0x10ec, 0xe00, 0xfdf, 0xd22, 0xfdf, 0xd22, 0xf0e, -0xc80, 0xf0e, 0xc80, 0xe6f, 0xc0f, 0xe6f, 0xc0f, 0xdbc, 0xb88, 0xdbc, 0xb88, -0xcec, 0xae3, 0xcec, 0xae3, 0xcec, 0xae3, 0xbf5, 0xa15, 0xbf5, 0xa15, 0xadf, -0x928, 0xadf, 0x928, 0x99c, 0x80c, 0x99c, 0x80c, 0x880, 0x718, 0x880, 0x718, -0x77b, 0x63a, 0x77b, 0x63a, 0x77b, 0x63a, 0x664, 0x54c, 0x664, 0x54c, 0x54c, -0x45e, 0x54c, 0x45e, 0x420, 0x35e, 0x420, 0x35e, 0x301, 0x26d, 0x301, 0x26d, -0x1ad, 0x14a, 0x1ad, 0x14a, 0x19, 0xffea, 0x19, 0xffea, 0x19, 0xffea, 0xfe6d, -0xfe72, 0xfe6d, 0xfe72, 0xfcfc, 0xfd37, 0xfcfc, 0xfd37, 0xfbc4, 0xfc36, 0xfbc4, 0xfc36, -0xfab2, 0xfb5b, 0xfab2, 0xfb5b, 0xf9e7, 0xfac5, 0xf9e7, 0xfac5, 0xf91f, 0xfa30, 0xf91f, -0xfa30, 0xf91f, 0xfa30, 0xf88b, 0xf9cb, 0xf88b, 0xf9cb, 0xf81c, 0xf987, 0xf81c, 0xf987, -0xf7b5, 0xf945, 0xf7b5, 0xf945, 0xf758, 0xf907, 0xf758, 0xf907, 0xf6e3, 0xf8aa, 0xf6e3, -0xf8aa, 0xf6e3, 0xf8aa, 0xf66f, 0xf846, 0xf66f, 0xf846, 0xf5e5, 0xf7c5, 0xf5e5, 0xf7c5, -0xf547, 0xf728, 0xf547, 0xf728, 0xf4cb, 0xf6a6, 0xf4cb, 0xf6a6, 0xf4c3, 0xf690, 0xf4c3, -0xf690, 0xf52b, 0xf6e6, 0xf52b, 0xf6e6, 0xf52b, 0xf6e6, 0xf5b8, 0xf75c, 0xf5b8, 0xf75c, -0xf65c, 0xf7e6, 0xf65c, 0xf7e6, 0xf6d8, 0xf847, 0xf6d8, 0xf847, 0xf721, 0xf873, 0xf721, -0xf873, 0xf76e, 0xf8a5, 0xf76e, 0xf8a5, 0xf78d, 0xf8ab, 0xf78d, 0xf8ab, 0xf78d, 0xf8ab, -0xf7a9, 0xf8b2, 0xf7a9, 0xf8b2, 0xf7dd, 0xf8d6, 0xf7dd, 0xf8d6, 0xf843, 0xf931, 0xf843, -0xf931, 0xf8ee, 0xf9d8, 0xf8ee, 0xf9d8, 0xf956, 0xfa40, 0xf956, 0xfa40, 0xf956, 0xfa40, -0xf979, 0xfa6b, 0xf979, 0xfa6b, 0xf96b, 0xfa6a, 0xf96b, 0xfa6a, 0xf93a, 0xfa4b, 0xf93a, -0xfa4b, 0xf8ed, 0xfa13, 0xf8ed, 0xfa13, 0xf890, 0xf9cf, 0xf890, 0xf9cf, 0xf823, 0xf97c, -0xf823, 0xf97c, 0xf823, 0xf97c, 0xf783, 0xf8f7, 0xf783, 0xf8f7, 0xf706, 0xf892, 0xf706, -0xf892, 0xf6b6, 0xf858, 0xf6b6, 0xf858, 0xf678, 0xf82d, 0xf678, 0xf82d, 0xf625, 0xf7e6, -0xf625, 0xf7e6, 0xf625, 0xf7e6, 0xf5c6, 0xf78f, 0xf5c6, 0xf78f, 0xf5a2, 0xf76a, 0xf5a2, -0xf76a, 0xf5dc, 0xf79d, 0xf5dc, 0xf79d, 0xf664, 0xf817, 0xf664, 0xf817, 0xf72d, 0xf8ca, -0xf72d, 0xf8ca, 0xf83a, 0xf9ba, 0xf83a, 0xf9ba, 0xf83a, 0xf9ba, 0xf93a, 0xfa97, 0xf93a, -0xfa97, 0xfa3e, 0xfb73, 0xfa3e, 0xfb73, 0xfb6c, 0xfc74, 0xfb6c, 0xfc74, 0xfcea, 0xfdc4, -0xfcea, 0xfdc4, 0xfead, 0xff56, 0xfead, 0xff56, 0xa2, 0x11a, 0xa2, 0x11a, 0xa2, -0x11a, 0x2b5, 0x2fd, 0x2b5, 0x2fd, 0x48e, 0x4a9, 0x48e, 0x4a9, 0x61b, 0x60b, -0x61b, 0x60b, 0x72a, 0x6f4, 0x72a, 0x6f4, 0x80d, 0x7b5, 0x80d, 0x7b5, 0x80d, -0x7b5, 0x8cc, 0x857, 0x8cc, 0x857, 0x955, 0x8c9, 0x955, 0x8c9, 0x9fb, 0x95c, -0x9fb, 0x95c, 0xa86, 0x9d9, 0xa86, 0x9d9, 0xaf1, 0xa3b, 0xaf1, 0xa3b, 0xb19, -0xa5d, 0xb19, 0xa5d, 0xb19, 0xa5d, 0xad8, 0xa1a, 0xad8, 0xa1a, 0xa66, 0x9a6, -0xa66, 0x9a6, 0x9ee, 0x92f, 0x9ee, 0x92f, 0x995, 0x8d6, 0x995, 0x8d6, 0x933, -0x875, 0x933, 0x875, 0x8a1, 0x7e3, 0x8a1, 0x7e3, 0x8a1, 0x7e3, 0x80a, 0x74a, -0x80a, 0x74a, 0x753, 0x691, 0x753, 0x691, 0x6a8, 0x5e3, 0x6a8, 0x5e3, 0x615, -0x54a, 0x615, 0x54a, 0x5ac, 0x4dc, 0x5ac, 0x4dc, 0x5ac, 0x4dc, 0x582, 0x4ab, -0x582, 0x4ab, 0x52d, 0x451, 0x52d, 0x451, 0x4f0, 0x411, 0x4f0, 0x411, 0x483, -0x3a1, 0x483, 0x3a1, 0x3da, 0x2fa, 0x3da, 0x2fa, 0x31b, 0x23f, 0x31b, 0x23f, -0x31b, 0x23f, 0x22d, 0x15b, 0x22d, 0x15b, 0x175, 0xb1, 0x175, 0xb1, 0xb0, -0, 0xb0, 0, 0x13, 0xff7c, 0x13, 0xff7c, 0xff59, 0xfee1, 0xff59, 0xfee1, -0xfe60, 0xfe0c, 0xfe60, 0xfe0c, 0xfe60, 0xfe0c, 0xfd4b, 0xfd20, 0xfd4b, 0xfd20, 0xfc09, -0xfc0b, 0xfc09, 0xfc0b, 0xfafb, 0xfb2b, 0xfafb, 0xfb2b, 0xf9ab, 0xfa0c, 0xf9ab, 0xfa0c, -0xf824, 0xf8b7, 0xf824, 0xf8b7, 0xf824, 0xf8b7, 0xf661, 0xf725, 0xf661, 0xf725, 0xf477, -0xf56b, 0xf477, 0xf56b, 0xf309, 0xf429, 0xf309, 0xf429, 0xf1ec, 0xf335, 0xf1ec, 0xf335, -0xf146, 0xf2b2, 0xf146, 0xf2b2, 0xf10d, 0xf296, 0xf10d, 0xf296, 0xf10d, 0xf296, 0xf104, -0xf2a4, 0xf104, 0xf2a4, 0xf133, 0xf2e4, 0xf133, 0xf2e4, 0xf16f, 0xf32a, 0xf16f, 0xf32a, -0xf195, 0xf355, 0xf195, 0xf355, 0xf1c2, 0xf37f, 0xf1c2, 0xf37f, 0xf22e, 0xf3e6, 0xf22e, -0xf3e6, 0xf22e, 0xf3e6, 0xf2a9, 0xf456, 0xf2a9, 0xf456, 0xf339, 0xf4d9, 0xf339, 0xf4d9, -0xf411, 0xf5a2, 0xf411, 0xf5a2, 0xf4c9, 0xf64b, 0xf4c9, 0xf64b, 0xf54d, 0xf6c0, 0xf54d, -0xf6c0, 0xf54d, 0xf6c0, 0xf5ad, 0xf713, 0xf5ad, 0xf713, 0xf60b, 0xf766, 0xf60b, 0xf766, -0xf67b, 0xf7cf, 0xf67b, 0xf7cf, 0xf6c1, 0xf811, 0xf6c1, 0xf811, 0xf6d3, 0xf824, 0xf6d3, -0xf824, 0xf6d0, 0xf824, 0xf6d0, 0xf824, 0xf6d0, 0xf824, 0xf6d7, 0xf832, 0xf6d7, 0xf832, -0xf6dd, 0xf841, 0xf6dd, 0xf841, 0xf70a, 0xf878, 0xf70a, 0xf878, 0xf710, 0xf889, 0xf710, -0xf889, 0xf6e3, 0xf865, 0xf6e3, 0xf865, 0xf6d7, 0xf860, 0xf6d7, 0xf860, 0xf6d7, 0xf860, -0xf6d8, 0xf865, 0xf6d8, 0xf865, 0xf706, 0xf88f, 0xf706, 0xf88f, 0xf741, 0xf8c0, 0xf741, -0xf8c0, 0xf7a3, 0xf911, 0xf7a3, 0xf911, 0xf820, 0xf973, 0xf820, 0xf973, 0xf820, 0xf973, -0xf8e8, 0xfa15, 0xf8e8, 0xfa15, 0xfa1f, 0xfb1e, 0xfa1f, 0xfb1e, 0xfba0, 0xfc65, 0xfba0, -0xfc65, 0xfd75, 0xfdf7, 0xfd75, 0xfdf7, 0xff1f, 0xff55, 0xff1f, 0xff55, 0xa6, 0x87, -0xa6, 0x87, 0xa6, 0x87, 0x226, 0x1ac, 0x226, 0x1ac, 0x3ce, 0x2f4, 0x3ce, -0x2f4, 0x5aa, 0x46c, 0x5aa, 0x46c, 0x794, 0x5f2, 0x794, 0x5f2, 0x9a8, 0x7a2, -0x9a8, 0x7a2, 0xba3, 0x93d, 0xba3, 0x93d, 0xba3, 0x93d, 0xda6, 0xae4, 0xda6, -0xae4, 0xfe3, 0xccc, 0xfe3, 0xccc, 0x1260, 0xefc, 0x1260, 0xefc, 0x14ed, 0x1147, -0x14ed, 0x1147, 0x1736, 0x1359, 0x1736, 0x1359, 0x1736, 0x1359, 0x1910, 0x1507, 0x1910, -0x1507, 0x1a72, 0x1649, 0x1a72, 0x1649, 0x1b5c, 0x1721, 0x1b5c, 0x1721, 0x1bd8, 0x1796, -0x1bd8, 0x1796, 0x1be8, 0x17ab, 0x1be8, 0x17ab, 0x1b77, 0x1749, 0x1b77, 0x1749, 0x1b77, -0x1749, 0x1abf, 0x16aa, 0x1abf, 0x16aa, 0x1a16, 0x1621, 0x1a16, 0x1621, 0x19a1, 0x15d3, -0x19a1, 0x15d3, 0x18e4, 0x1543, 0x18e4, 0x1543, 0x17ef, 0x1480, 0x17ef, 0x1480, 0x170c, -0x13d0, 0x170c, 0x13d0, 0x170c, 0x13d0, 0x1622, 0x131b, 0x1622, 0x131b, 0x1540, 0x126d, -0x1540, 0x126d, 0x141c, 0x117e, 0x141c, 0x117e, 0x12df, 0x1074, 0x12df, 0x1074, 0x11a0, -0xf67, 0x11a0, 0xf67, 0x11a0, 0xf67, 0x1065, 0xe5c, 0x1065, 0xe5c, 0xf2b, 0xd50, -0xf2b, 0xd50, 0xdf9, 0xc4a, 0xdf9, 0xc4a, 0xcca, 0xb46, 0xcca, 0xb46, 0xb6a, -0xa11, 0xb6a, 0xa11, 0xa73, 0x945, 0xa73, 0x945, 0xa73, 0x945, 0x9a0, 0x89c, -0x9a0, 0x89c, 0x88c, 0x7b3, 0x88c, 0x7b3, 0x751, 0x6a4, 0x751, 0x6a4, 0x5a6, -0x526, 0x5a6, 0x526, 0x3d9, 0x388, 0x3d9, 0x388, 0x210, 0x1ef, 0x210, 0x1ef, -0x210, 0x1ef, 0x69, 0x79, 0x69, 0x79, 0xff16, 0xff58, 0xff16, 0xff58, 0xfddc, -0xfe4e, 0xfddc, 0xfe4e, 0xfca4, 0xfd46, 0xfca4, 0xfd46, 0xfb7e, 0xfc4e, 0xfb7e, 0xfc4e, -0xfb7e, 0xfc4e, 0xfa56, 0xfb51, 0xfa56, 0xfb51, 0xf92f, 0xfa52, 0xf92f, 0xfa52, 0xf832, -0xf977, 0xf832, 0xf977, 0xf766, 0xf8c8, 0xf766, 0xf8c8, 0xf6a3, 0xf81c, 0xf6a3, 0xf81c, -0xf5d4, 0xf75e, 0xf5d4, 0xf75e, 0xf5d4, 0xf75e, 0xf524, 0xf6b8, 0xf524, 0xf6b8, 0xf4aa, -0xf642, 0xf4aa, 0xf642, 0xf492, 0xf627, 0xf492, 0xf627, 0xf4df, 0xf66b, 0xf4df, 0xf66b, -0xf55d, 0xf6dc, 0xf55d, 0xf6dc, 0xf55d, 0xf6dc, 0xf5e2, 0xf750, 0xf5e2, 0xf750, 0xf61d, -0xf777, 0xf61d, 0xf777, 0xf643, 0xf789, 0xf643, 0xf789, 0xf65f, 0xf790, 0xf65f, 0xf790, -0xf65e, 0xf77d, 0xf65e, 0xf77d, 0xf68c, 0xf79b, 0xf68c, 0xf79b, 0xf68c, 0xf79b, 0xf6ea, -0xf7ee, 0xf6ea, 0xf7ee, 0xf7a7, 0xf8a5, 0xf7a7, 0xf8a5, 0xf80e, 0xf90b, 0xf80e, 0xf90b, -0xf7c7, 0xf8cb, 0xf7c7, 0xf8cb, 0xf75a, 0xf86a, 0xf75a, 0xf86a, 0xf6e7, 0xf80b, 0xf6e7, -0xf80b, 0xf6e7, 0xf80b, 0xf68d, 0xf7ca, 0xf68d, 0xf7ca, 0xf5f2, 0xf74d, 0xf5f2, 0xf74d, -0xf568, 0xf6e6, 0xf568, 0xf6e6, 0xf4dd, 0xf67f, 0xf4dd, 0xf67f, 0xf445, 0xf60e, 0xf445, -0xf60e, 0xf445, 0xf60e, 0xf41f, 0xf60d, 0xf41f, 0xf60d, 0xf3b9, 0xf5ca, 0xf3b9, 0xf5ca, -0xf32b, 0xf55b, 0xf32b, 0xf55b, 0xf25a, 0xf4a3, 0xf25a, 0xf4a3, 0xf16d, 0xf3c9, 0xf16d, -0xf3c9, 0xf131, 0xf397, 0xf131, 0xf397, 0xf131, 0xf397, 0xf144, 0xf3aa, 0xf144, 0xf3aa, -0xf1ef, 0xf44d, 0xf1ef, 0xf44d, 0xf306, 0xf551, 0xf306, 0xf551, 0xf402, 0xf631, 0xf402, -0xf631, 0xf50e, 0xf718, 0xf50e, 0xf718, 0xf625, 0xf801, 0xf625, 0xf801, 0xf625, 0xf801, -0xf762, 0xf90a, 0xf762, 0xf90a, 0xf8b7, 0xfa24, 0xf8b7, 0xfa24, 0xfa7d, 0xfbab, 0xfa7d, -0xfbab, 0xfc59, 0xfd47, 0xfc59, 0xfd47, 0xfe1b, 0xfec8, 0xfe1b, 0xfec8, 0xfe1b, 0xfec8, -0xffd3, 0x40, 0xffd3, 0x40, 0x119, 0x148, 0x119, 0x148, 0x25d, 0x254, 0x25d, -0x254, 0x323, 0x2e7, 0x323, 0x2e7, 0x3c9, 0x360, 0x3c9, 0x360, 0x493, 0x405, -0x493, 0x405, 0x493, 0x405, 0x536, 0x48b, 0x536, 0x48b, 0x617, 0x555, 0x617, -0x555, 0x69d, 0x5cc, 0x69d, 0x5cc, 0x711, 0x638, 0x711, 0x638, 0x73b, 0x660, -0x73b, 0x660, 0x71f, 0x648, 0x71f, 0x648, 0x71f, 0x648, 0x6f7, 0x627, 0x6f7, -0x627, 0x6ae, 0x5e7, 0x6ae, 0x5e7, 0x68a, 0x5ce, 0x68a, 0x5ce, 0x654, 0x5a4, -0x654, 0x5a4, 0x64c, 0x5a8, 0x64c, 0x5a8, 0x64c, 0x5a8, 0x5d0, 0x535, 0x5d0, -0x535, 0x541, 0x4af, 0x541, 0x4af, 0x4cc, 0x440, 0x4cc, 0x440, 0x437, 0x3af, -0x437, 0x3af, 0x3eb, 0x366, 0x3eb, 0x366, 0x382, 0x2fc, 0x382, 0x2fc, 0x382, -0x2fc, 0x340, 0x2ba, 0x340, 0x2ba, 0x2cc, 0x245, 0x2cc, 0x245, 0x230, 0x1a8, -0x230, 0x1a8, 0x199, 0x112, 0x199, 0x112, 0x105, 0x82, 0x105, 0x82, 0x9e, -0x21, 0x9e, 0x21, 0x9e, 0x21, 0x47, 0xffd4, 0x47, 0xffd4, 0x2e, 0xffca, -0x2e, 0xffca, 0xffd5, 0xff84, 0xffd5, 0xff84, 0xff70, 0xff38, 0xff70, 0xff38, 0xff2a, -0xff0f, 0xff2a, 0xff0f, 0xff2a, 0xff0f, 0xfe90, 0xfe97, 0xfe90, 0xfe97, 0xfdd1, 0xfdfc, -0xfdd1, 0xfdfc, 0xfcfb, 0xfd4d, 0xfcfb, 0xfd4d, 0xfba7, 0xfc22, 0xfba7, 0xfc22, 0xf9e4, -0xfa88, 0xf9e4, 0xfa88, 0xf867, 0xf933, 0xf867, 0xf933, 0xf867, 0xf933, 0xf742, 0xf834, -0xf742, 0xf834, 0xf67c, 0xf790, 0xf67c, 0xf790, 0xf626, 0xf758, 0xf626, 0xf758, 0xf623, -0xf76c, 0xf623, 0xf76c, 0xf68f, 0xf7ea, 0xf68f, 0xf7ea, 0xf6e8, 0xf84e, 0xf6e8, 0xf84e, -0xf6e8, 0xf84e, 0xf70e, 0xf879, 0xf70e, 0xf879, 0xf752, 0xf8bb, 0xf752, 0xf8bb, 0xf75e, -0xf8be, 0xf75e, 0xf8be, 0xf7c4, 0xf918, 0xf7c4, 0xf918, 0xf87d, 0xf9bf, 0xf87d, 0xf9bf, -0xf87d, 0xf9bf, 0xf901, 0xfa2f, 0xf901, 0xfa2f, 0xf9c0, 0xfad7, 0xf9c0, 0xfad7, 0xfa84, -0xfb85, 0xfa84, 0xfb85, 0xfb38, 0xfc24, 0xfb38, 0xfc24, 0xfbea, 0xfcc4, 0xfbea, 0xfcc4, -0xfcb6, 0xfd81, 0xfcb6, 0xfd81, 0xfcb6, 0xfd81, 0xfd60, 0xfe21, 0xfd60, 0xfe21, 0xfda7, -0xfe63, 0xfda7, 0xfe63, 0xfdbe, 0xfe7a, 0xfdbe, 0xfe7a, 0xfdb3, 0xfe75, 0xfdb3, 0xfe75, -0xfdb7, 0xfe84, 0xfdb7, 0xfe84, 0xfd67, 0xfe43, 0xfd67, 0xfe43, 0xfd67, 0xfe43, 0xfcfa, -0xfde8, 0xfcfa, 0xfde8, 0xfc75, 0xfd77, 0xfc75, 0xfd77, 0xfb99, 0xfcaf, 0xfb99, 0xfcaf, -0xfb1a, 0xfc41, 0xfb1a, 0xfc41, 0xfaa7, 0xfbdd, 0xfaa7, 0xfbdd, 0xfaa7, 0xfbdd, 0xfa26, -0xfb65, 0xfa26, 0xfb65, 0xf9f1, 0xfb31, 0xf9f1, 0xfb31, 0xf9d3, 0xfb0b, 0xf9d3, 0xfb0b, -0xfa24, 0xfb4a, 0xfa24, 0xfb4a, 0xfacf, 0xfbd8, 0xfacf, 0xfbd8, 0xfbac, 0xfc8c, 0xfbac, -0xfc8c, 0xfbac, 0xfc8c, 0xfcd7, 0xfd81, 0xfcd7, 0xfd81, 0xfe1a, 0xfe82, 0xfe1a, 0xfe82, -0xff67, 0xff83, 0xff67, 0xff83, 0x8a, 0x4f, 0x8a, 0x4f, 0x1c9, 0x12e, 0x1c9, -0x12e, 0x31f, 0x21f, 0x31f, 0x21f, 0x31f, 0x21f, 0x4ae, 0x344, 0x4ae, 0x344, -0x697, 0x4c2, 0x697, 0x4c2, 0x868, 0x626, 0x868, 0x626, 0xa41, 0x797, 0xa41, -0x797, 0xc12, 0x906, 0xc12, 0x906, 0xc12, 0x906, 0xe3b, 0xad3, 0xe3b, 0xad3, -0x1083, 0xcca, 0x1083, 0xcca, 0x1261, 0xe63, 0x1261, 0xe63, 0x1414, 0xfdd, 0x1414, -0xfdd, 0x1594, 0x1133, 0x1594, 0x1133, 0x1675, 0x11f8, 0x1675, 0x11f8, 0x1675, 0x11f8, -0x16db, 0x1250, 0x16db, 0x1250, 0x1766, 0x12dc, 0x1766, 0x12dc, 0x1775, 0x12f9, 0x1775, -0x12f9, 0x1722, 0x12c1, 0x1722, 0x12c1, 0x16bc, 0x1280, 0x16bc, 0x1280, 0x1606, 0x11f9, -0x1606, 0x11f9, 0x1606, 0x11f9, 0x151f, 0x1149, 0x151f, 0x1149, 0x140e, 0x1075, 0x140e, -0x1075, 0x1333, 0xfdb, 0x1333, 0xfdb, 0x124b, 0xf37, 0x124b, 0xf37, 0x1122, 0xe52, -0x1122, 0xe52, 0x1122, 0xe52, 0xff1, 0xd65, 0xff1, 0xd65, 0xee9, 0xca0, 0xee9, -0xca0, 0xdd2, 0xbcb, 0xdd2, 0xbcb, 0xccb, 0xb02, 0xccb, 0xb02, 0xbfd, 0xa70, -0xbfd, 0xa70, 0xad5, 0x980, 0xad5, 0x980, 0xad5, 0x980, 0x9a2, 0x883, 0x9a2, -0x883, 0x8b7, 0x7cb, 0x8b7, 0x7cb, 0x7a9, 0x6ef, 0x7a9, 0x6ef, 0x697, 0x60d, -0x697, 0x60d, 0x594, 0x539, 0x594, 0x539, 0x594, 0x539, 0x44b, 0x41f, 0x44b, -0x41f, 0x2f2, 0x2f4, 0x2f2, 0x2f4, 0x185, 0x1b5, 0x185, 0x1b5, 0x10, 0x6e, -0x10, 0x6e, 0xfe99, 0xff26, 0xfe99, 0xff26, 0xfd2c, 0xfde7, 0xfd2c, 0xfde7, 0xfd2c, -0xfde7, 0xfbfa, 0xfce2, 0xfbfa, 0xfce2, 0xfac3, 0xfbd8, 0xfac3, 0xfbd8, 0xf9d0, 0xfb0f, -0xf9d0, 0xfb0f, 0xf8e9, 0xfa4f, 0xf8e9, 0xfa4f, 0xf829, 0xf9b3, 0xf829, 0xf9b3, 0xf7aa, -0xf953, 0xf7aa, 0xf953, 0xf7aa, 0xf953, 0xf747, 0xf90a, 0xf747, 0xf90a, 0xf708, 0xf8e0, -0xf708, 0xf8e0, 0xf66d, 0xf852, 0xf66d, 0xf852, 0xf5bf, 0xf7ac, 0xf5bf, 0xf7ac, 0xf4ff, -0xf6ef, 0xf4ff, 0xf6ef, 0xf4ff, 0xf6ef, 0xf470, 0xf65b, 0xf470, 0xf65b, 0xf47d, 0xf65d, -0xf47d, 0xf65d, 0xf516, 0xf6e7, 0xf516, 0xf6e7, 0xf5f5, 0xf7b3, 0xf5f5, 0xf7b3, 0xf6a5, -0xf84d, 0xf6a5, 0xf84d, 0xf739, 0xf8c9, 0xf739, 0xf8c9, 0xf739, 0xf8c9, 0xf782, 0xf8f9, -0xf782, 0xf8f9, 0xf76b, 0xf8ca, 0xf76b, 0xf8ca, 0xf761, 0xf8aa, 0xf761, 0xf8aa, 0xf7b9, -0xf8f0, 0xf7b9, 0xf8f0, 0xf845, 0xf96d, 0xf845, 0xf96d, 0xf8e8, 0xfa06, 0xf8e8, 0xfa06, -0xf8e8, 0xfa06, 0xf961, 0xfa7b, 0xf961, 0xfa7b, 0xf981, 0xfa9c, 0xf981, 0xfa9c, 0xf9ad, -0xface, 0xf9ad, 0xface, 0xf9bd, 0xfaea, 0xf9bd, 0xfaea, 0xf968, 0xfaa5, 0xf968, 0xfaa5, -0xf968, 0xfaa5, 0xf8fe, 0xfa4e, 0xf8fe, 0xfa4e, 0xf8bc, 0xfa21, 0xf8bc, 0xfa21, 0xf839, -0xf9b3, 0xf839, 0xf9b3, 0xf796, 0xf926, 0xf796, 0xf926, 0xf6fd, 0xf89f, 0xf6fd, 0xf89f, -0xf65e, 0xf810, 0xf65e, 0xf810, 0xf65e, 0xf810, 0xf5f3, 0xf7ae, 0xf5f3, 0xf7ae, 0xf57c, -0xf73c, 0xf57c, 0xf73c, 0xf50d, 0xf6cb, 0xf50d, 0xf6cb, 0xf4e4, 0xf698, 0xf4e4, 0xf698, -0xf50c, 0xf6ae, 0xf50c, 0xf6ae, 0xf5a0, 0xf728, 0xf5a0, 0xf728, 0xf5a0, 0xf728, 0xf65a, -0xf7c1, 0xf65a, 0xf7c1, 0xf70f, 0xf84f, 0xf70f, 0xf84f, 0xf80b, 0xf91b, 0xf80b, 0xf91b, -0xf93a, 0xfa17, 0xf93a, 0xfa17, 0xfa77, 0xfb1d, 0xfa77, 0xfb1d, 0xfa77, 0xfb1d, 0xfbe7, -0xfc52, 0xfbe7, 0xfc52, 0xfda0, 0xfdd1, 0xfda0, 0xfdd1, 0xff79, 0xff6f, 0xff79, 0xff6f, -0x146, 0x104, 0x146, 0x104, 0x31e, 0x2a6, 0x31e, 0x2a6, 0x493, 0x3eb, 0x493, -0x3eb, 0x493, 0x3eb, 0x5b6, 0x4e3, 0x5b6, 0x4e3, 0x6d2, 0x5da, 0x6d2, 0x5da, -0x793, 0x67e, 0x793, 0x67e, 0x82e, 0x703, 0x82e, 0x703, 0x8dd, 0x7a3, 0x8dd, -0x7a3, 0x982, 0x840, 0x982, 0x840, 0x982, 0x840, 0xa18, 0x8d4, 0xa18, 0x8d4, -0xa75, 0x936, 0xa75, 0x936, 0xa5f, 0x929, 0xa5f, 0x929, 0x9d1, 0x8a8, 0x9d1, -0x8a8, 0x927, 0x80d, 0x927, 0x80d, 0x927, 0x80d, 0x8a6, 0x79f, 0x8a6, 0x79f, -0x85f, 0x76b, 0x85f, 0x76b, 0x85c, 0x77c, 0x85c, 0x77c, 0x837, 0x76a, 0x837, -0x76a, 0x7ba, 0x6ff, 0x7ba, 0x6ff, 0x702, 0x659, 0x702, 0x659, 0x702, 0x659, -0x645, 0x5ac, 0x645, 0x5ac, 0x5ab, 0x522, 0x5ab, 0x522, 0x4fd, 0x481, 0x4fd, -0x481, 0x479, 0x40b, 0x479, 0x40b, 0x41a, 0x3ba, 0x41a, 0x3ba, 0x3b7, 0x365, -0x3b7, 0x365, 0x3b7, 0x365, 0x345, 0x302, 0x345, 0x302, 0x2a9, 0x276, 0x2a9, -0x276, 0x226, 0x206, 0x226, 0x206, 0x17a, 0x16d, 0x17a, 0x16d, 0xd4, 0xdd, -0xd4, 0xdd, 0xd4, 0xdd, 0x40, 0x60, 0x40, 0x60, 0xff5d, 0xff98, 0xff5d, -0xff98, 0xfeb6, 0xff0c, 0xfeb6, 0xff0c, 0xfe34, 0xfea9, 0xfe34, 0xfea9, 0xfd68, 0xfdfb, -0xfd68, 0xfdfb, 0xfc99, 0xfd4c, 0xfc99, 0xfd4c, 0xfc99, 0xfd4c, 0xfb9a, 0xfc6c, 0xfb9a, -0xfc6c, 0xfa21, 0xfb13, 0xfa21, 0xfb13, 0xf887, 0xf998, 0xf887, 0xf998, 0xf6d3, 0xf801, -0xf6d3, 0xf801, 0xf534, 0xf67d, 0xf534, 0xf67d, 0xf3fe, 0xf560, 0xf3fe, 0xf560, 0xf3fe, -0xf560, 0xf32e, 0xf4a4, 0xf32e, 0xf4a4, 0xf2ed, 0xf475, 0xf2ed, 0xf475, 0xf2d4, 0xf46a, -0xf2d4, 0xf46a, 0xf2c6, 0xf466, 0xf2c6, 0xf466, 0xf31e, 0xf4c4, 0xf31e, 0xf4c4, 0xf31e, -0xf4c4, 0xf3b3, 0xf55b, 0xf3b3, 0xf55b, 0xf43e, 0xf5e5, 0xf43e, 0xf5e5, 0xf47f, 0xf623, -0xf47f, 0xf623, 0xf4e2, 0xf67f, 0xf4e2, 0xf67f, 0xf52f, 0xf6c4, 0xf52f, 0xf6c4, 0xf55a, -0xf6e6, 0xf55a, 0xf6e6, 0xf55a, 0xf6e6, 0xf5c1, 0xf745, 0xf5c1, 0xf745, 0xf627, 0xf7a3, -0xf627, 0xf7a3, 0xf6dc, 0xf852, 0xf6dc, 0xf852, 0xf743, 0xf8b7, 0xf743, 0xf8b7, 0xf77c, -0xf8f0, 0xf77c, 0xf8f0, 0xf7bf, 0xf938, 0xf7bf, 0xf938, 0xf7bf, 0xf938, 0xf7bf, 0xf93f, -0xf7bf, 0xf93f, 0xf7d7, 0xf962, 0xf7d7, 0xf962, 0xf7b6, 0xf94e, 0xf7b6, 0xf94e, 0xf77d, -0xf924, 0xf77d, 0xf924, 0xf6cd, 0xf882, 0xf6cd, 0xf882, 0xf6cd, 0xf882, 0xf63e, 0xf800, -0xf63e, 0xf800, 0xf5ff, 0xf7ca, 0xf5ff, 0xf7ca, 0xf574, 0xf742, 0xf574, 0xf742, 0xf535, -0xf700, 0xf535, 0xf700, 0xf507, 0xf6c5, 0xf507, 0xf6c5, 0xf532, 0xf6db, 0xf532, 0xf6db, -0xf532, 0xf6db, 0xf588, 0xf711, 0xf588, 0xf711, 0xf61c, 0xf77a, 0xf61c, 0xf77a, 0xf722, -0xf84b, 0xf722, 0xf84b, 0xf811, 0xf8fc, 0xf811, 0xf8fc, 0xf963, 0xfa08, 0xf963, 0xfa08, -0xfb0a, 0xfb62, 0xfb0a, 0xfb62, 0xfb0a, 0xfb62, 0xfc83, 0xfc8a, 0xfc83, 0xfc8a, 0xfdc1, -0xfd72, 0xfdc1, 0xfd72, 0xff7c, 0xfed6, 0xff7c, 0xfed6, 0x183, 0x86, 0x183, 0x86, -0x34a, 0x1f6, 0x34a, 0x1f6, 0x34a, 0x1f6, 0x522, 0x37a, 0x522, 0x37a, 0x731, -0x537, 0x731, 0x537, 0x986, 0x73e, 0x986, 0x73e, 0xbdb, 0x948, 0xbdb, 0x948, -0xe37, 0xb5e, 0xe37, 0xb5e, 0x10dc, 0xdc1, 0x10dc, 0xdc1, 0x10dc, 0xdc1, 0x1362, -0x1009, 0x1362, 0x1009, 0x155e, 0x11cf, 0x155e, 0x11cf, 0x171e, 0x135e, 0x171e, 0x135e, -0x185d, 0x1475, 0x185d, 0x1475, 0x191b, 0x1513, 0x191b, 0x1513, 0x191b, 0x1513, 0x19e0, -0x15c2, 0x19e0, 0x15c2, 0x1a4f, 0x1626, 0x1a4f, 0x1626, 0x1a52, 0x1629, 0x1a52, 0x1629, -0x1a1a, 0x15fb, 0x1a1a, 0x15fb, 0x19d2, 0x15c8, 0x19d2, 0x15c8, 0x1989, 0x159e, 0x1989, -0x159e, 0x1989, 0x159e, 0x1947, 0x1584, 0x1947, 0x1584, 0x18e3, 0x154f, 0x18e3, 0x154f, -0x1816, 0x14b5, 0x1816, 0x14b5, 0x16fd, 0x13d3, 0x16fd, 0x13d3, 0x15bf, 0x12cc, 0x15bf, -0x12cc, 0x14a1, 0x11e5, 0x14a1, 0x11e5, 0x14a1, 0x11e5, 0x1391, 0x110b, 0x1391, 0x110b, -0x1282, 0x102e, 0x1282, 0x102e, 0x1180, 0xf5c, 0x1180, 0xf5c, 0x1063, 0xe6c, 0x1063, -0xe6c, 0xf04, 0xd39, 0xf04, 0xd39, 0xf04, 0xd39, 0xdba, 0xc1b, 0xdba, 0xc1b, -0xcae, 0xb3b, 0xcae, 0xb3b, 0xb77, 0xa32, 0xb77, 0xa32, 0xa61, 0x94e, 0xa61, -0x94e, 0x959, 0x87c, 0x959, 0x87c, 0x7ea, 0x747, 0x7ea, 0x747, 0x7ea, 0x747, -0x65d, 0x5f7, 0x65d, 0x5f7, 0x4b3, 0x48d, 0x4b3, 0x48d, 0x309, 0x324, 0x309, -0x324, 0x18f, 0x1eb, 0x18f, 0x1eb, 0x19, 0xb2, 0x19, 0xb2, 0xfe8b, 0xff5d, -0xfe8b, 0xff5d, 0xfe8b, 0xff5d, 0xfd1f, 0xfe23, 0xfd1f, 0xfe23, 0xfc02, 0xfd30, 0xfc02, -0xfd30, 0xfb15, 0xfc64, 0xfb15, 0xfc64, 0xfa4a, 0xfbb1, 0xfa4a, 0xfbb1, 0xf94f, 0xfac5, -0xf94f, 0xfac5, 0xf94f, 0xfac5, 0xf864, 0xf9e2, 0xf864, 0xf9e2, 0xf790, 0xf90f, 0xf790, -0xf90f, 0xf66e, 0xf7e8, 0xf66e, 0xf7e8, 0xf534, 0xf6a8, 0xf534, 0xf6a8, 0xf458, 0xf5c6, -0xf458, 0xf5c6, 0xf438, 0xf5a0, 0xf438, 0xf5a0, 0xf438, 0xf5a0, 0xf455, 0xf5b9, 0xf455, -0xf5b9, 0xf49a, 0xf5fd, 0xf49a, 0xf5fd, 0xf4d0, 0xf635, 0xf4d0, 0xf635, 0xf51e, 0xf687, -0xf51e, 0xf687, 0xf561, 0xf6d1, 0xf561, 0xf6d1, 0xf51d, 0xf694, 0xf51d, 0xf694, 0xf51d, -0xf694, 0xf522, 0xf6a1, 0xf522, 0xf6a1, 0xf52c, 0xf6b2, 0xf52c, 0xf6b2, 0xf56b, 0xf6f6, -0xf56b, 0xf6f6, 0xf5a6, 0xf734, 0xf5a6, 0xf734, 0xf5c7, 0xf754, 0xf5c7, 0xf754, 0xf5c7, -0xf754, 0xf5e1, 0xf76d, 0xf5e1, 0xf76d, 0xf5bb, 0xf744, 0xf5bb, 0xf744, 0xf5e9, 0xf76e, -0xf5e9, 0xf76e, 0xf583, 0xf707, 0xf583, 0xf707, 0xf54d, 0xf6d0, 0xf54d, 0xf6d0, 0xf54b, -0xf6d0, 0xf54b, 0xf6d0, 0xf54b, 0xf6d0, 0xf4ff, 0xf68b, 0xf4ff, 0xf68b, 0xf4d9, 0xf66f, -0xf4d9, 0xf66f, 0xf44f, 0xf5f1, 0xf44f, 0xf5f1, 0xf391, 0xf541, 0xf391, 0xf541, 0xf29f, -0xf45f, 0xf29f, 0xf45f, 0xf20b, 0xf3d9, 0xf20b, 0xf3d9, 0xf20b, 0xf3d9, 0xf17e, 0xf356, -0xf17e, 0xf356, 0xf12d, 0xf30a, 0xf12d, 0xf30a, 0xf13d, 0xf318, 0xf13d, 0xf318, 0xf162, -0xf332, 0xf162, 0xf332, 0xf231, 0xf3eb, 0xf231, 0xf3eb, 0xf231, 0xf3eb, 0xf302, 0xf49e, -0xf302, 0xf49e, 0xf412, 0xf584, 0xf412, 0xf584, 0xf53a, 0xf67b, 0xf53a, 0xf67b, 0xf662, -0xf76a, 0xf662, 0xf76a, 0xf783, 0xf84d, 0xf783, 0xf84d, 0xf8ca, 0xf953, 0xf8ca, 0xf953, -0xf8ca, 0xf953, 0xfa85, 0xfacc, 0xfa85, 0xfacc, 0xfc1d, 0xfc24, 0xfc1d, 0xfc24, 0xfd9e, -0xfd68, 0xfd9e, 0xfd68, 0xfed3, 0xfe65, 0xfed3, 0xfe65, 0xffc9, 0xff29, 0xffc9, 0xff29, -0xa7, 0xffdb, 0xa7, 0xffdb, 0xa7, 0xffdb, 0x17b, 0x8a, 0x17b, 0x8a, 0x1d9, -0xc9, 0x1d9, 0xc9, 0x258, 0x130, 0x258, 0x130, 0x2e9, 0x1ae, 0x2e9, 0x1ae, -0x321, 0x1d7, 0x321, 0x1d7, 0x321, 0x1d7, 0x37f, 0x22b, 0x37f, 0x22b, 0x363, -0x208, 0x363, 0x208, 0x396, 0x238, 0x396, 0x238, 0x3ba, 0x25e, 0x3ba, 0x25e, -0x3bd, 0x265, 0x3bd, 0x265, 0x402, 0x2b1, 0x402, 0x2b1, 0x402, 0x2b1, 0x42c, -0x2e7, 0x42c, 0x2e7, 0x477, 0x341, 0x477, 0x341, 0x41f, 0x2fb, 0x41f, 0x2fb, -0x3dd, 0x2cd, 0x3dd, 0x2cd, 0x380, 0x286, 0x380, 0x286, 0x2e6, 0x204, 0x2e6, -0x204, 0x2e6, 0x204, 0x2bd, 0x1f3, 0x2bd, 0x1f3, 0x25b, 0x1a7, 0x25b, 0x1a7, -0x228, 0x18a, 0x228, 0x18a, 0x1fb, 0x171, 0x1fb, 0x171, 0x19e, 0x127, 0x19e, -0x127, 0x19e, 0x127, 0x16f, 0x10a, 0x16f, 0x10a, 0x12d, 0xd8, 0x12d, 0xd8, -0xf6, 0xb3, 0xf6, 0xb3, 0xaa, 0x7b, 0xaa, 0x7b, 0x78, 0x60, 0x78, -0x60, 0x6d, 0x6f, 0x6d, 0x6f, 0x6d, 0x6f, 0x4d, 0x6f, 0x4d, 0x6f, -0x78, 0xc0, 0x78, 0xc0, 0x5, 0x78, 0x5, 0x78, 0xff59, 0xfffc, 0xff59, -0xfffc, 0xfe51, 0xff28, 0xfe51, 0xff28, 0xfcc0, 0xfdcd, 0xfcc0, 0xfdcd, 0xfcc0, 0xfdcd, -0xfb8e, 0xfcd0, 0xfb8e, 0xfcd0, 0xf9d0, 0xfb45, 0xf9d0, 0xfb45, 0xf88d, 0xfa2f, 0xf88d, -0xfa2f, 0xf7e3, 0xf9ad, 0xf7e3, 0xf9ad, 0xf795, 0xf97e, 0xf795, 0xf97e, 0xf795, 0xf97e, -0xf794, 0xf994, 0xf794, 0xf994, 0xf7a4, 0xf9b2, 0xf7a4, 0xf9b2, 0xf831, 0xfa44, 0xf831, -0xfa44, 0xf8a1, 0xfab3, 0xf8a1, 0xfab3, 0xf8b9, 0xfac4, 0xf8b9, 0xfac4, 0xf8c9, 0xfacb, -0xf8c9, 0xfacb, 0xf8c9, 0xfacb, 0xf8da, 0xfad2, 0xf8da, 0xfad2, 0xf7ec, 0xf9dd, 0xf7ec, -0xf9dd, 0xf741, 0xf92e, 0xf741, 0xf92e, 0xf747, 0xf935, 0xf747, 0xf935, 0xf764, 0xf958, -0xf764, 0xf958, 0xf78d, 0xf98c, 0xf78d, 0xf98c, 0xf78d, 0xf98c, 0xf7a2, 0xf9b0, 0xf7a2, -0xf9b0, 0xf834, 0xfa54, 0xf834, 0xfa54, 0xf884, 0xfab5, 0xf884, 0xfab5, 0xf8d1, 0xfb13, -0xf8d1, 0xfb13, 0xf907, 0xfb55, 0xf907, 0xfb55, 0xf907, 0xfb55, 0xf92c, 0xfb80, 0xf92c, -0xfb80, 0xf905, 0xfb57, 0xf905, 0xfb57, 0xf8f0, 0xfb39, 0xf8f0, 0xfb39, 0xf936, 0xfb6d, -0xf936, 0xfb6d, 0xf8ab, 0xfac9, 0xf8ab, 0xfac9, 0xf825, 0xfa23, 0xf825, 0xfa23, 0xf825, -0xfa23, 0xf7a6, 0xf97f, 0xf7a6, 0xf97f, 0xf78a, 0xf93b, 0xf78a, 0xf93b, 0xf77f, 0xf906, -0xf77f, 0xf906, 0xf746, 0xf8a3, 0xf746, 0xf8a3, 0xf79e, 0xf8d2, 0xf79e, 0xf8d2, 0xf79e, -0xf8d2, 0xf859, 0xf964, 0xf859, 0xf964, 0xf926, 0xfa0a, 0xf926, 0xfa0a, 0xf9ce, 0xfa88, -0xf9ce, 0xfa88, 0xfb0b, 0xfb98, 0xfb0b, 0xfb98, 0xfbfd, 0xfc59, 0xfbfd, 0xfc59, 0xfcb0, -0xfcd4, 0xfcb0, 0xfcd4, 0xfcb0, 0xfcd4, 0xfe42, 0xfe24, 0xfe42, 0xfe24, 0xffb0, 0xff46, -0xffb0, 0xff46, 0x104, 0x42, 0x104, 0x42, 0x2cb, 0x1a8, 0x2cb, 0x1a8, 0x4d2, -0x344, 0x4d2, 0x344, 0x6e6, 0x4e7, 0x6e6, 0x4e7, 0x6e6, 0x4e7, 0x8c2, 0x64e, -0x8c2, 0x64e, 0xa9c, 0x7b4, 0xa9c, 0x7b4, 0xc86, 0x931, 0xc86, 0x931, 0xec1, -0xb07, 0xec1, 0xb07, 0x108c, 0xc7b, 0x108c, 0xc7b, 0x108c, 0xc7b, 0x12c2, 0xe6b, -0x12c2, 0xe6b, 0x148d, 0x1002, 0x148d, 0x1002, 0x157b, 0x10d0, 0x157b, 0x10d0, 0x1688, -0x11d2, 0x1688, 0x11d2, 0x1777, 0x12c6, 0x1777, 0x12c6, 0x17ca, 0x132d, 0x17ca, 0x132d, -0x17ca, 0x132d, 0x16f7, 0x127a, 0x16f7, 0x127a, 0x16bd, 0x1268, 0x16bd, 0x1268, 0x15d6, -0x11ad, 0x15d6, 0x11ad, 0x14c4, 0x10c7, 0x14c4, 0x10c7, 0x13a0, 0xfcd, 0x13a0, 0xfcd, -0x12ac, 0xefe, 0x12ac, 0xefe, 0x12ac, 0xefe, 0x11ab, 0xe1f, 0x11ab, 0xe1f, 0x10c3, -0xd51, 0x10c3, 0xd51, 0x1006, 0xcac, 0x1006, 0xcac, 0xefb, 0xbb7, 0xefb, 0xbb7, -0xe8e, 0xb60, 0xe8e, 0xb60, 0xe8e, 0xb60, 0xda2, 0xa8d, 0xda2, 0xa8d, 0xd3e, -0xa49, 0xd3e, 0xa49, 0xc4d, 0x980, 0xc4d, 0x980, 0xb35, 0x89a, 0xb35, 0x89a, -0x9fe, 0x7a1, 0x9fe, 0x7a1, 0x926, 0x710, 0x926, 0x710, 0x926, 0x710, 0x889, -0x6c4, 0x889, 0x6c4, 0x7c6, 0x65a, 0x7c6, 0x65a, 0x68c, 0x57d, 0x68c, 0x57d, -0x503, 0x453, 0x503, 0x453, 0x378, 0x326, 0x378, 0x326, 0x18c, 0x194, 0x18c, -0x194, 0x18c, 0x194, 0xffc5, 0x20, 0xffc5, 0x20, 0xfdff, 0xfea4, 0xfdff, 0xfea4, -0xfcb3, 0xfd97, 0xfcb3, 0xfd97, 0xfb39, 0xfc53, 0xfb39, 0xfc53, 0xfacf, 0xfc13, 0xfacf, -0xfc13, 0xfacf, 0xfc13, 0xfa38, 0xfb9d, 0xfa38, 0xfb9d, 0xf9de, 0xfb5c, 0xf9de, 0xfb5c, -0xf947, 0xfad6, 0xf947, 0xfad6, 0xf935, 0xfad0, 0xf935, 0xfad0, 0xf911, 0xfab4, 0xf911, -0xfab4, 0xf88c, 0xfa36, 0xf88c, 0xfa36, 0xf88c, 0xfa36, 0xf84d, 0xf9fc, 0xf84d, 0xf9fc, -0xf77d, 0xf92e, 0xf77d, 0xf92e, 0xf793, 0xf947, 0xf793, 0xf947, 0xf797, 0xf94e, 0xf797, -0xf94e, 0xf888, 0xfa3e, 0xf888, 0xfa3e, 0xf91a, 0xfacf, 0xf91a, 0xfacf, 0xf91a, 0xfacf, -0xf996, 0xfb46, 0xf996, 0xfb46, 0xfa0f, 0xfbb9, 0xfa0f, 0xfbb9, 0xfa6c, 0xfc0d, 0xfa6c, -0xfc0d, 0xfa50, 0xfbe4, 0xfa50, 0xfbe4, 0xf9b5, 0xfb3c, 0xf9b5, 0xfb3c, 0xf9b5, 0xfb3c, -0xf999, 0xfb13, 0xf999, 0xfb13, 0xfa3d, 0xfbaa, 0xfa3d, 0xfbaa, 0xfa84, 0xfbe7, 0xfa84, -0xfbe7, 0xfada, 0xfc37, 0xfada, 0xfc37, 0xfb96, 0xfcf2, 0xfb96, 0xfcf2, 0xfb2d, 0xfc8e, -0xfb2d, 0xfc8e, 0xfb2d, 0xfc8e, 0xfb40, 0xfcac, 0xfb40, 0xfcac, 0xfb35, 0xfcb3, 0xfb35, -0xfcb3, 0xfb61, 0xfcf8, 0xfb61, 0xfcf8, 0xfa9e, 0xfc52, 0xfa9e, 0xfc52, 0xf9c1, 0xfb94, -0xf9c1, 0xfb94, 0xf924, 0xfb18, 0xf924, 0xfb18, 0xf924, 0xfb18, 0xf863, 0xfa76, 0xf863, -0xfa76, 0xf757, 0xf985, 0xf757, 0xf985, 0xf6f1, 0xf934, 0xf6f1, 0xf934, 0xf64b, 0xf89a, -0xf64b, 0xf89a, 0xf566, 0xf7b7, 0xf566, 0xf7b7, 0xf566, 0xf7b7, 0xf58f, 0xf7d7, 0xf58f, -0xf7d7, 0xf57c, 0xf7af, 0xf57c, 0xf7af, 0xf5f0, 0xf801, 0xf5f0, 0xf801, 0xf5da, 0xf7be, -0xf5da, 0xf7be, 0xf753, 0xf901, 0xf753, 0xf901, 0xf81f, 0xf98f, 0xf81f, 0xf98f, 0xf81f, -0xf98f, 0xf95f, 0xfa8b, 0xf95f, 0xfa8b, 0xfac0, 0xfba4, 0xfac0, 0xfba4, 0xfbeb, 0xfc85, -0xfbeb, 0xfc85, 0xfd6c, 0xfdbd, 0xfd6c, 0xfdbd, 0xff19, 0xff24, 0xff19, 0xff24, 0xee, -0xb6, 0xee, 0xb6, 0xee, 0xb6, 0x1e4, 0x16f, 0x1e4, 0x16f, 0x3da, 0x32f, -0x3da, 0x32f, 0x485, 0x3a8, 0x485, 0x3a8, 0x5a0, 0x49a, 0x5a0, 0x49a, 0x69f, -0x575, 0x69f, 0x575, 0x69f, 0x575, 0x6d8, 0x590, 0x6d8, 0x590, 0x6c4, 0x563, -0x6c4, 0x563, 0x810, 0x69b, 0x810, 0x69b, 0x823, 0x69e, 0x823, 0x69e, 0x868, -0x6d7, 0x868, 0x6d7, 0x868, 0x6cd, 0x868, 0x6cd, 0x868, 0x6cd, 0x883, 0x6e1, -0x883, 0x6e1, 0x916, 0x76f, 0x916, 0x76f, 0x861, 0x6b6, 0x861, 0x6b6, 0x932, -0x786, 0x932, 0x786, 0x897, 0x6ea, 0x897, 0x6ea, 0x952, 0x7a4, 0x952, 0x7a4, -0x952, 0x7a4, 0x927, 0x77a, 0x927, 0x77a, 0x887, 0x6db, 0x887, 0x6db, 0x816, -0x66a, 0x816, 0x66a, 0x7a8, 0x5fd, 0x7a8, 0x5fd, 0x744, 0x59a, 0x744, 0x59a, -0x744, 0x59a, 0x76f, 0x5c4, 0x76f, 0x5c4, 0x73d, 0x593, 0x73d, 0x593, 0x72a, -0x582, 0x72a, 0x582, 0x723, 0x57f, 0x723, 0x57f, 0x686, 0x4e9, 0x686, 0x4e9, -0x6d3, 0x541, 0x6d3, 0x541, 0x6d3, 0x541, 0x64e, 0x4cc, 0x64e, 0x4cc, 0x603, -0x498, 0x603, 0x498, 0x533, 0x3e6, 0x533, 0x3e6, 0x519, 0x3f4, 0x519, 0x3f4, -0x475, 0x381, 0x475, 0x381, 0x40a, 0x34f, 0x40a, 0x34f, 0x40a, 0x34f, 0x366, -0x2ed, 0x366, 0x2ed, 0x275, 0x247, 0x275, 0x247, 0xa9, 0xcb, 0xa9, 0xcb, -0xff3c, 0xffb3, 0xff3c, 0xffb3, 0xfda0, 0xfe6c, 0xfda0, 0xfe6c, 0xfda0, 0xfe6c, 0xfb19, -0xfc38, 0xfb19, 0xfc38, 0xf8c3, 0xfa32, 0xf8c3, 0xfa32, 0xf788, 0xf93f, 0xf788, 0xf93f, -0xf5e0, 0xf7d7, 0xf5e0, 0xf7d7, 0xf4e6, 0xf70e, 0xf4e6, 0xf70e, 0xf501, 0xf74f, 0xf501, -0xf74f, 0xf501, 0xf74f, 0xf4a9, 0xf70f, 0xf4a9, 0xf70f, 0xf509, 0xf77b, 0xf509, 0xf77b, -0xf4a2, 0xf712, 0xf4a2, 0xf712, 0xf441, 0xf6a6, 0xf441, 0xf6a6, 0xf2cf, 0xf521, 0xf2cf, -0xf521, 0xf2cf, 0xf521, 0xf26e, 0xf4a7, 0xf26e, 0xf4a7, 0xf190, 0xf3af, 0xf190, 0xf3af, -0xf1e5, 0xf3ec, 0xf1e5, 0xf3ec, 0xf128, 0xf31a, 0xf128, 0xf31a, 0xf199, 0xf37c, 0xf199, -0xf37c, 0xf1d4, 0xf3b1, 0xf1d4, 0xf3b1, 0xf1d4, 0xf3b1, 0xf245, 0xf423, 0xf245, 0xf423, -0xf39a, 0xf581, 0xf39a, 0xf581, 0xf317, 0xf510, 0xf317, 0xf510, 0xf289, 0xf499, 0xf289, -0xf499, 0xf19d, 0xf3c7, 0xf19d, 0xf3c7, 0xf04a, 0xf290, 0xf04a, 0xf290, 0xf04a, 0xf290, -0xef3a, 0xf19b, 0xef3a, 0xf19b, 0xeec9, 0xf141, 0xeec9, 0xf141, 0xeeb6, 0xf13f, 0xeeb6, -0xf13f, 0xeea9, 0xf13d, 0xeea9, 0xf13d, 0xeca5, 0xef3b, 0xeca5, 0xef3b, 0xeca5, 0xef3b, -0xede2, 0xf070, 0xede2, 0xf070, 0xea20, 0xec9d, 0xea20, 0xec9d, 0xeca4, 0xef07, 0xeca4, -0xef07, 0xef2c, 0xf16a, 0xef2c, 0xf16a, 0xee12, 0xf023, 0xee12, 0xf023, 0xf04f, 0xf22a, -0xf04f, 0xf22a, 0xf04f, 0xf22a, 0xf1d7, 0xf374, 0xf1d7, 0xf374, 0xf397, 0xf4ed, 0xf397, -0xf4ed, 0xf371, 0xf478, 0xf371, 0xf478, 0xf7d2, 0xf881, 0xf7d2, 0xf881, 0xfb3c, 0xfb8a, -0xfb3c, 0xfb8a, 0xfb70, 0xfb53, 0xfb70, 0xfb53, 0xfb70, 0xfb53, 0xfee3, 0xfe54, 0xfee3, -0xfe54, 0xd1, 0xffc8, 0xd1, 0xffc8, 0x160, 0xffd7, 0x160, 0xffd7, 0x5e8, 0x3db, -0x5e8, 0x3db, 0x67a, 0x3e8, 0x67a, 0x3e8, 0x67a, 0x3e8, 0xca2, 0x98d, 0xca2, -0x98d, 0xf20, 0xb8e, 0xf20, 0xb8e, 0x137a, 0xf75, 0x137a, 0xf75, 0x15eb, 0x117f, -0x15eb, 0x117f, 0x19a6, 0x14e4, 0x19a6, 0x14e4, 0x1f6e, 0x1a6a, 0x1f6e, 0x1a6a, 0x1f6e, -0x1a6a, 0x1c89, 0x1757, 0x1c89, 0x1757, 0x20d0, 0x1b86, 0x20d0, 0x1b86, 0x2649, 0x20fd, -0x2649, 0x20fd, 0x2293, 0x1d58, 0x2293, 0x1d58, 0x2202, 0x1cea, 0x2202, 0x1cea, 0x28ea, -0x2403, 0x28ea, 0x2403, 0x28ea, 0x2403, 0x2334, 0x1e8a, 0x2334, 0x1e8a, 0x2416, 0x1faf, -0x2416, 0x1faf, 0x2168, 0x1d48, 0x2168, 0x1d48, 0x205c, 0x1c83, 0x205c, 0x1c83, 0x1f13, -0x1b7d, 0x1f13, 0x1b7d, 0x1f13, 0x1b7d, 0x1a8d, 0x1735, 0x1a8d, 0x1735, 0x1c62, 0x1942, -0x1c62, 0x1942, 0x1b94, 0x18a6, 0x1b94, 0x18a6, 0x1801, 0x153f, 0x1801, 0x153f, 0x1804, -0x156a, 0x1804, 0x156a, 0x16ba, 0x1446, 0x16ba, 0x1446, 0x16ba, 0x1446, 0x13da, 0x118c, -0x13da, 0x118c, 0x17f7, 0x15d0, 0x17f7, 0x15d0, 0x1576, 0x137b, 0x1576, 0x137b, 0x153d, -0x1373, 0x153d, 0x1373, 0xd7c, 0xbe7, 0xd7c, 0xbe7, 0x1408, 0x12b0, 0x1408, 0x12b0, -0x1408, 0x12b0, 0x1295, 0x117f, 0x1295, 0x117f, 0xc16, 0xb46, 0xc16, 0xb46, 0x12e9, -0x1262, 0x12e9, 0x1262, 0xd61, 0xd23, 0xd61, 0xd23, 0x736, 0x740, 0x736, 0x740, -0x736, 0x740, 0x662, 0x6b0, 0x662, 0x6b0, 0x2ba, 0x347, 0x2ba, 0x347, 0xfdb9, -0xfe80, 0xfdb9, 0xfe80, 0xfe55, 0xff4f, 0xfe55, 0xff4f, 0xfbaf, 0xfcd4, 0xfbaf, 0xfcd4, -0xfb5d, 0xfca8, 0xfb5d, 0xfca8, 0xfb5d, 0xfca8, 0xf9b3, 0xfb1c, 0xf9b3, 0xfb1c, 0xfae7, -0xfc69, 0xfae7, 0xfc69, 0xf6c4, 0xf859, 0xf6c4, 0xf859, 0xf63d, 0xf7e2, 0xf63d, 0xf7e2, -0xf3f2, 0xf5a4, 0xf3f2, 0xf5a4, 0xf0ed, 0xf2a8, 0xf0ed, 0xf2a8, 0xf0ed, 0xf2a8, 0xf093, -0xf254, 0xf093, 0xf254, 0xefc9, 0xf18e, 0xefc9, 0xf18e, 0xf072, 0xf236, 0xf072, 0xf236, -0xed7d, 0xef3d, 0xed7d, 0xef3d, 0xf001, 0xf1b9, 0xf001, 0xf1b9, 0xf001, 0xf1b9, 0xefc6, -0xf171, 0xefc6, 0xf171, 0xecb5, 0xee4f, 0xecb5, 0xee4f, 0xeb1d, 0xeca2, 0xeb1d, 0xeca2, -0xeb79, 0xece6, 0xeb79, 0xece6, 0xe87d, 0xe9d1, 0xe87d, 0xe9d1, 0xe9cc, 0xeb05, 0xe9cc, -0xeb05, 0xe9cc, 0xeb05, 0xe9af, 0xead1, 0xe9af, 0xead1, 0xec57, 0xed66, 0xec57, 0xed66, -0xec7e, 0xed7f, 0xec7e, 0xed7f, 0xee26, 0xef21, 0xee26, 0xef21, 0xecf8, 0xedf6, 0xecf8, -0xedf6, 0xec45, 0xed51, 0xec45, 0xed51, 0xec45, 0xed51, 0xefd0, 0xf0f3, 0xefd0, 0xf0f3, -0xee6d, 0xefb0, 0xee6d, 0xefb0, 0xeecc, 0xf037, 0xeecc, 0xf037, 0xeb4c, 0xece3, 0xeb4c, -0xece3, 0xeda3, 0xef68, 0xeda3, 0xef68, 0xeda3, 0xef68, 0xed4e, 0xef40, 0xed4e, 0xef40, -0xeea8, 0xf0c4, 0xeea8, 0xf0c4, 0xee39, 0xf078, 0xee39, 0xf078, 0xecff, 0xef56, 0xecff, -0xef56, 0xed90, 0xeff3, 0xed90, 0xeff3, 0xed29, 0xef8b, 0xed29, 0xef8b, 0xed29, 0xef8b, -0xedfc, 0xf04f, 0xedfc, 0xf04f, 0xf124, 0xf35a, 0xf124, 0xf35a, 0xf260, 0xf46e, 0xf260, -0xf46e, 0xf551, 0xf72c, 0xf551, 0xf72c, 0xf617, 0xf7b5, 0xf617, 0xf7b5, 0xf8ac, 0xfa09, -0xf8ac, 0xfa09, 0xf8ac, 0xfa09, 0xfc72, 0xfd8a, 0xfc72, 0xfd8a, 0xf96e, 0xfa40, 0xf96e, -0xfa40, 0xfca1, 0xfd30, 0xfca1, 0xfd30, 0xfba3, 0xfbf1, 0xfba3, 0xfbf1, 0x164, 0x177, -0x164, 0x177, 0x164, 0x177, 0x229, 0x206, 0x229, 0x206, 0x390, 0x33e, 0x390, -0x33e, 0x3d6, 0x35b, 0x3d6, 0x35b, 0x2a5, 0x206, 0x2a5, 0x206, 0x4b1, 0x3f4, -0x4b1, 0x3f4, 0x1b1, 0xdb, 0x1b1, 0xdb, 0x1b1, 0xdb, 0x200, 0x114, 0x200, -0x114, 0x21c, 0x11e, 0x21c, 0x11e, 0x275, 0x168, 0x275, 0x168, 0x22e, 0x115, -0x22e, 0x115, 0x44f, 0x32c, 0x44f, 0x32c, 0x424, 0x2fc, 0x424, 0x2fc, 0x424, -0x2fc, 0x5ef, 0x4c4, 0x5ef, 0x4c4, 0x485, 0x35a, 0x485, 0x35a, 0x698, 0x572, -0x698, 0x572, 0x60b, 0x4ec, 0x60b, 0x4ec, 0x7cb, 0x6b7, 0x7cb, 0x6b7, 0x7cb, -0x6b7, 0x803, 0x6fd, 0x803, 0x6fd, 0x707, 0x611, 0x707, 0x611, 0x99d, 0x8b9, -0x99d, 0x8b9, 0x78f, 0x6bc, 0x78f, 0x6bc, 0x983, 0x8c2, 0x983, 0x8c2, 0x681, -0x5d2, 0x681, 0x5d2, 0x681, 0x5d2, 0x739, 0x69b, 0x739, 0x69b, 0x5f1, 0x563, -0x5f1, 0x563, 0x567, 0x4e9, 0x567, 0x4e9, 0x4ea, 0x47c, 0x4ea, 0x47c, 0x433, -0x3d6, 0x433, 0x3d6, 0x433, 0x3d6, 0x524, 0x4da, 0x524, 0x4da, 0x519, 0x4e5, -0x519, 0x4e5, 0x538, 0x51e, 0x538, 0x51e, 0x5ad, 0x5b1, 0x5ad, 0x5b1, 0x48c, -0x4b4, 0x48c, 0x4b4, 0x52d, 0x57c, 0x52d, 0x57c, 0x52d, 0x57c, 0x487, 0x504, -0x487, 0x504, 0x3a7, 0x455, 0x3a7, 0x455, 0x41b, 0x4fd, 0x41b, 0x4fd, 0xffa4, -0xbb, 0xffa4, 0xbb, 0xa5, 0x1f0, 0xa5, 0x1f0, 0xfd5e, 0xfedb, 0xfd5e, 0xfedb, -0xfd5e, 0xfedb, 0xfeb9, 0x65, 0xfeb9, 0x65, 0xfd16, 0xfeeb, 0xfd16, 0xfeeb, 0xfcb8, -0xfeaf, 0xfcb8, 0xfeaf, 0xfda1, 0xffb2, 0xfda1, 0xffb2, 0xfbe0, 0xfe05, 0xfbe0, 0xfe05, -0xfbe0, 0xfe05, 0xfdd3, 0x3, 0xfdd3, 0x3, 0xfc91, 0xfec4, 0xfc91, 0xfec4, 0xfcc9, -0xfefa, 0xfcc9, 0xfefa, 0xfc33, 0xfe5e, 0xfc33, 0xfe5e, 0xfb47, 0xfd66, 0xfb47, 0xfd66, -0xfc67, 0xfe79, 0xfc67, 0xfe79, 0xfc67, 0xfe79, 0xfd18, 0xff1d, 0xfd18, 0xff1d, 0xfc24, -0xfe1c, 0xfc24, 0xfe1c, 0xfd58, 0xff45, 0xfd58, 0xff45, 0xfaf4, 0xfcd8, 0xfaf4, 0xfcd8, -0xfde3, 0xffc1, 0xfde3, 0xffc1, 0xfcbd, 0xfe98, 0xfcbd, 0xfe98, 0xfcbd, 0xfe98, 0xfdf1, -0xffcb, 0xfdf1, 0xffcb, 0xfc13, 0xfdf0, 0xfc13, 0xfdf0, 0xf927, 0xfb09, 0xf927, 0xfb09, -0xfabd, 0xfca4, 0xfabd, 0xfca4, 0xf756, 0xf942, 0xf756, 0xf942, 0xf756, 0xf942, 0xf914, -0xfb04, 0xf914, 0xfb04, 0xf6c1, 0xf8b2, 0xf6c1, 0xf8b2, 0xf676, 0xf865, 0xf676, 0xf865, -0xf656, 0xf83e, 0xf656, 0xf83e, 0xf55f, 0xf73a, 0xf55f, 0xf73a, 0xf686, 0xf84e, 0xf686, -0xf84e, 0xf686, 0xf84e, 0xf5d5, 0xf781, 0xf5d5, 0xf781, 0xf464, 0xf5ed, 0xf464, 0xf5ed, -0xf533, 0xf68f, 0xf533, 0xf68f, 0xf31a, 0xf441, 0xf31a, 0xf441, 0xf649, 0xf730, 0xf649, -0xf730, 0xf5bd, 0xf65a, 0xf5bd, 0xf65a, 0xf5bd, 0xf65a, 0xf6ad, 0xf6f9, 0xf6ad, 0xf6f9, -0xf945, 0xf936, 0xf945, 0xf936, 0xf92b, 0xf8ba, 0xf92b, 0xf8ba, 0xfe61, 0xfd87, 0xfe61, -0xfd87, 0xfc68, 0xfb22, 0xfc68, 0xfb22, 0xfc68, 0xfb22, 0xfee7, 0xfd31, 0xfee7, 0xfd31, -0xff97, 0xfd70, 0xff97, 0xfd70, 0x132, 0xfe9b, 0x132, 0xfe9b, 0x4ab, 0x1a7, 0x4ab, -0x1a7, 0x5ee, 0x282, 0x5ee, 0x282, 0xa36, 0x669, 0xa36, 0x669, 0xa36, 0x669, -0xd3d, 0x917, 0xd3d, 0x917, 0xfd4, 0xb60, 0xfd4, 0xb60, 0x1489, 0xfd2, 0x1489, -0xfd2, 0x14de, 0xff1, 0x14de, 0xff1, 0x1a40, 0x1529, 0x1a40, 0x1529, 0x1d07, 0x17d4, -0x1d07, 0x17d4, 0x1d07, 0x17d4, 0x1c5d, 0x171a, 0x1c5d, 0x171a, 0x1db9, 0x1873, 0x1db9, -0x1873, 0x1bf2, 0x16b5, 0x1bf2, 0x16b5, 0x1ef3, 0x19ca, 0x1ef3, 0x19ca, 0x1bc5, 0x16ba, -0x1bc5, 0x16ba, 0x1bc5, 0x16ba, 0x1d1e, 0x183a, 0x1d1e, 0x183a, 0x1bf4, 0x173e, 0x1bf4, -0x173e, 0x19e7, 0x1565, 0x19e7, 0x1565, 0x1bdc, 0x1794, 0x1bdc, 0x1794, 0x192f, 0x1523, -0x192f, 0x1523, 0x178e, 0x13c2, 0x178e, 0x13c2, 0x178e, 0x13c2, 0x16d2, 0x1348, 0x16d2, -0x1348, 0x15ca, 0x1284, 0x15ca, 0x1284, 0x149f, 0x119e, 0x149f, 0x119e, 0x126b, 0xfae, -0x126b, 0xfae, 0x1297, 0x1020, 0x1297, 0x1020, 0xf8e, 0xd5d, 0xf8e, 0xd5d, 0xf8e, -0xd5d, 0xc38, 0xa4c, 0xc38, 0xa4c, 0xc66, 0xac0, 0xc66, 0xac0, 0x762, 0x602, -0x762, 0x602, 0x8fd, 0x7e5, 0x8fd, 0x7e5, 0x7e5, 0x714, 0x7e5, 0x714, 0x7e5, -0x714, 0x722, 0x699, 0x722, 0x699, 0x462, 0x421, 0x462, 0x421, 0x168, 0x16f, -0x168, 0x16f, 0x38, 0x86, 0x38, 0x86, 0xfc5c, 0xfcf0, 0xfc5c, 0xfcf0, 0xfd72, -0xfe4a, 0xfd72, 0xfe4a, 0xfd72, 0xfe4a, 0xfac6, 0xfbdf, 0xfac6, 0xfbdf, 0xf9a3, 0xfafa, -0xf9a3, 0xfafa, 0xfb12, 0xfca1, 0xfb12, 0xfca1, 0xfcac, 0xfe6e, 0xfcac, 0xfe6e, 0xfdd4, -0xffc3, 0xfdd4, 0xffc3, 0xfbf0, 0xfe04, 0xfbf0, 0xfe04, 0xfbf0, 0xfe04, 0xf84a, 0xfa7b, -0xf84a, 0xfa7b, 0xf789, 0xf9ce, 0xf789, 0xf9ce, 0xf709, 0xf95a, 0xf709, 0xf95a, 0xf8e0, -0xfb33, 0xf8e0, 0xfb33, 0xf777, 0xf9c4, 0xf777, 0xf9c4, 0xf777, 0xf9c4, 0xf677, 0xf8b6, -0xf677, 0xf8b6, 0xf642, 0xf86c, 0xf642, 0xf86c, 0xf680, 0xf890, 0xf680, 0xf890, 0xfa8f, -0xfc80, 0xfa8f, 0xfc80, 0xf705, 0xf8d6, 0xf705, 0xf8d6, 0xf6bc, 0xf86b, 0xf6bc, 0xf86b, -0xf6bc, 0xf86b, 0xf580, 0xf70e, 0xf580, 0xf70e, 0xf567, 0xf6d7, 0xf567, 0xf6d7, 0xf518, -0xf66d, 0xf518, 0xf66d, 0xf3e9, 0xf52a, 0xf3e9, 0xf52a, 0xf44e, 0xf582, 0xf44e, 0xf582, -0xf21d, 0xf34a, 0xf21d, 0xf34a, 0xf21d, 0xf34a, 0xf5fb, 0xf72b, 0xf5fb, 0xf72b, 0xf5e4, -0xf71e, 0xf5e4, 0xf71e, 0xf33a, 0xf485, 0xf33a, 0xf485, 0xf482, 0xf5e6, 0xf482, 0xf5e6, -0xf3f9, 0xf57b, 0xf3f9, 0xf57b, 0xf3f9, 0xf57b, 0xf355, 0xf4f8, 0xf355, 0xf4f8, 0xf38a, -0xf550, 0xf38a, 0xf550, 0xf244, 0xf42e, 0xf244, 0xf42e, 0xf1f7, 0xf403, 0xf1f7, 0xf403, -0xf250, 0xf47a, 0xf250, 0xf47a, 0xf789, 0xf9ca, 0xf789, 0xf9ca, 0xf789, 0xf9ca, 0xf76d, -0xf9be, 0xf76d, 0xf9be, 0xf622, 0xf87a, 0xf622, 0xf87a, 0xf9ee, 0xfc44, 0xf9ee, 0xfc44, -0xf87d, 0xfac5, 0xf87d, 0xfac5, 0xfbf3, 0xfe23, 0xfbf3, 0xfe23, 0xfc58, 0xfe65, 0xfc58, -0xfe65, 0xfc58, 0xfe65, 0xfc0d, 0xfded, 0xfc0d, 0xfded, 0xfc37, 0xfde1, 0xfc37, 0xfde1, -0xfdf6, 0xff63, 0xfdf6, 0xff63, 0x299, 0x3c4, 0x299, 0x3c4, 0x160, 0x245, 0x160, -0x245, 0x160, 0x245, 0x2ce, 0x36b, 0x2ce, 0x36b, 0x1c9, 0x220, 0x1c9, 0x220, -0x2a5, 0x2b8, 0x2a5, 0x2b8, 0x699, 0x66d, 0x699, 0x66d, 0x6c1, 0x65d, 0x6c1, -0x65d, 0x90b, 0x877, 0x90b, 0x877, 0x90b, 0x877, 0x840, 0x786, 0x840, 0x786, -0x7e4, 0x70d, 0x7e4, 0x70d, 0xa4b, 0x961, 0xa4b, 0x961, 0x801, 0x70e, 0x801, -0x70e, 0x952, 0x860, 0x952, 0x860, 0x952, 0x860, 0x77a, 0x691, 0x77a, 0x691, -0x758, 0x67f, 0x758, 0x67f, 0x981, 0x8bd, 0x981, 0x8bd, 0x78a, 0x6df, 0x78a, -0x6df, 0xafc, 0xa6c, 0xafc, 0xa6c, 0x803, 0x78f, 0x803, 0x78f, 0x803, 0x78f, -0x735, 0x6db, 0x735, 0x6db, 0x707, 0x6c4, 0x707, 0x6c4, 0x360, 0x330, 0x360, -0x330, 0x392, 0x36f, 0x392, 0x36f, 0x1b3, 0x19a, 0x1b3, 0x19a, 0x132, 0x11b, -0x132, 0x11b, 0x132, 0x11b, 0x77, 0x5e, 0x77, 0x5e, 0x2cb, 0x2aa, 0x2cb, -0x2aa, 0x3ff, 0x3d3, 0x3ff, 0x3d3, 0x1b1, 0x177, 0x1b1, 0x177, 0x33f, 0x2f6, -0x33f, 0x2f6, 0x33f, 0x2f6, 0x49a, 0x441, 0x49a, 0x441, 0x3a7, 0x340, 0x3a7, -0x340, 0x321, 0x2b0, 0x321, 0x2b0, 0x377, 0x2ff, 0x377, 0x2ff, 0x304, 0x28d, -0x304, 0x28d, 0x19f, 0x12e, 0x19f, 0x12e, 0x19f, 0x12e, 0x3ee, 0x38c, 0x3ee, -0x38c, 0x384, 0x338, 0x384, 0x338, 0xff8a, 0xff5b, 0xff8a, 0xff5b, 0x346, 0x33d, -0x346, 0x33d, 0x29e, 0x2c1, 0x29e, 0x2c1, 0x21a, 0x26f, 0x21a, 0x26f, 0x21a, -0x26f, 0x1b0, 0x23c, 0x1b0, 0x23c, 0xfc10, 0xfcd4, 0xfc10, 0xfcd4, 0xfcbd, 0xfdbc, -0xfcbd, 0xfdbc, 0xfb34, 0xfc6c, 0xfb34, 0xfc6c, 0xfb94, 0xfd02, 0xfb94, 0xfd02, 0xfb94, -0xfd02, 0xfa4c, 0xfbed, 0xfa4c, 0xfbed, 0xf7a3, 0xf972, 0xf7a3, 0xf972, 0xf85b, 0xfa52, -0xf85b, 0xfa52, 0xf6b8, 0xf8cf, 0xf6b8, 0xf8cf, 0xf891, 0xfac0, 0xf891, 0xfac0, 0xf94f, -0xfb8f, 0xf94f, 0xfb8f, 0xf94f, 0xfb8f, 0xf84f, 0xfa98, 0xf84f, 0xfa98, 0xf903, 0xfb4f, -0xf903, 0xfb4f, 0xfa19, 0xfc61, 0xfa19, 0xfc61, 0xfbb5, 0xfdf6, 0xfbb5, 0xfdf6, 0xfbdf, -0xfe15, 0xfbdf, 0xfe15, 0xfa2b, 0xfc54, 0xfa2b, 0xfc54, 0xfa2b, 0xfc54, 0xf917, 0xfb34, -0xf917, 0xfb34, 0xfab5, 0xfcc6, 0xfab5, 0xfcc6, 0xfc17, 0xfe20, 0xfc17, 0xfe20, 0xfa5d, -0xfc61, 0xfa5d, 0xfc61, 0xfacf, 0xfcd3, 0xfacf, 0xfcd3, 0xfacf, 0xfcd3, 0xf83e, 0xfa47, -0xf83e, 0xfa47, 0xf8a0, 0xfab3, 0xf8a0, 0xfab3, 0xfa6b, 0xfc8d, 0xfa6b, 0xfc8d, 0xf735, -0xf96a, 0xf735, 0xf96a, 0xf7cf, 0xfa1a, 0xf7cf, 0xfa1a, 0xf58f, 0xf7f2, 0xf58f, 0xf7f2, -0xf58f, 0xf7f2, 0xf63e, 0xf8b9, 0xf63e, 0xf8b9, 0xf4d2, 0xf762, 0xf4d2, 0xf762, 0xf153, -0xf3f4, 0xf153, 0xf3f4, 0xf0f8, 0xf3a4, 0xf0f8, 0xf3a4, 0xeffe, 0xf2ac, 0xeffe, 0xf2ac, -0xf0d5, 0xf37c, 0xf0d5, 0xf37c, 0xf0d5, 0xf37c, 0xf093, 0xf328, 0xf093, 0xf328, 0xef0a, -0xf17f, 0xef0a, 0xf17f, 0xeebb, 0xf102, 0xeebb, 0xf102, 0xf175, 0xf382, 0xf175, 0xf382, -0xf1f6, 0xf3bc, 0xf1f6, 0xf3bc, 0xf1f6, 0xf3bc, 0xf460, 0xf5d1, 0xf460, 0xf5d1, 0xf6e3, -0xf7f5, 0xf6e3, 0xf7f5, 0xf90c, 0xf9b5, 0xf90c, 0xf9b5, 0xfb78, 0xfbb2, 0xfb78, 0xfbb2, -0xfbbc, 0xfb82, 0xfbbc, 0xfb82, 0xfcc0, 0xfc10, 0xfcc0, 0xfc10, 0xfcc0, 0xfc10, 0xfea4, -0xfd7f, 0xfea4, 0xfd7f, 0x157, 0xffc0, 0x157, 0xffc0, 0x392, 0x190, 0x392, 0x190, -0x690, 0x42c, 0x690, 0x42c, 0x9d3, 0x717, 0x9d3, 0x717, 0xeed, 0xbe6, 0xeed, -0xbe6, 0xeed, 0xbe6, 0x1045, 0xd00, 0x1045, 0xd00, 0x1109, 0xd94, 0x1109, 0xd94, -0x136f, 0xfd8, 0x136f, 0xfd8, 0x142c, 0x1080, 0x142c, 0x1080, 0x16b4, 0x12ff, 0x16b4, -0x12ff, 0x16b4, 0x12ff, 0x1719, 0x1367, 0x1719, 0x1367, 0x168c, 0x12e4, 0x168c, 0x12e4, -0x17bc, 0x1426, 0x17bc, 0x1426, 0x1927, 0x15a6, 0x1927, 0x15a6, 0x199b, 0x1632, 0x199b, -0x1632, 0x1842, 0x14f0, 0x1842, 0x14f0, 0x1842, 0x14f0, 0x17ad, 0x146f, 0x17ad, 0x146f, -0x19ea, 0x16be, 0x19ea, 0x16be, 0x19af, 0x168f, 0x19af, 0x168f, 0x18bb, 0x15a0, 0x18bb, -0x15a0, 0x17dd, 0x14c0, 0x17dd, 0x14c0, 0x1648, 0x1324, 0x1648, 0x1324, 0x1648, 0x1324, -0x16e5, 0x13b4, 0x16e5, 0x13b4, 0x16ed, 0x13ac, 0x16ed, 0x13ac, 0x1683, 0x132e, 0x1683, -0x132e, 0x15e1, 0x1279, 0x15e1, 0x1279, 0x155c, 0x11e2, 0x155c, 0x11e2, 0x155c, 0x11e2, -0x13a6, 0x101e, 0x13a6, 0x101e, 0x13dd, 0x104d, 0x13dd, 0x104d, 0x13e6, 0x1056, 0x13e6, -0x1056, 0x12b0, 0xf2c, 0x12b0, 0xf2c, 0x12aa, 0xf3c, 0x12aa, 0xf3c, 0x1089, 0xd3e, -0x1089, 0xd3e, 0x1089, 0xd3e, 0x1052, 0xd36, 0x1052, 0xd36, 0xe95, 0xbb7, 0xe95, -0xbb7, 0xcf9, 0xa64, 0xcf9, 0xa64, 0xad2, 0x892, 0xad2, 0x892, 0x7df, 0x5fc, -0x7df, 0x5fc, 0x80f, 0x690, 0x80f, 0x690, 0x80f, 0x690, 0x6c3, 0x5ae, 0x6c3, -0x5ae, 0x635, 0x58b, 0x635, 0x58b, 0x413, 0x3d4, 0x413, 0x3d4, 0x217, 0x23f, -0x217, 0x23f, 0xcc, 0x154, 0xcc, 0x154, 0xcc, 0x154, 0xff16, 0xfff7, 0xff16, -0xfff7, 0xfde1, 0xff0f, 0xfde1, 0xff0f, 0xfb58, 0xfcc8, 0xfb58, 0xfcc8, 0xfb4b, 0xfcf0, -0xfb4b, 0xfcf0, 0xfb8d, 0xfd5a, 0xfb8d, 0xfd5a, 0xf954, 0xfb3d, 0xf954, 0xfb3d, 0xf954, -0xfb3d, 0xf844, 0xfa3b, 0xf844, 0xfa3b, 0xf8df, 0xfadb, 0xf8df, 0xfadb, 0xf7df, 0xf9d6, -0xf7df, 0xf9d6, 0xf6d8, 0xf8c4, 0xf6d8, 0xf8c4, 0xf6bb, 0xf897, 0xf6bb, 0xf897, 0xf481, -0xf64a, 0xf481, 0xf64a, 0xf481, 0xf64a, 0xf23d, 0xf3f3, 0xf23d, 0xf3f3, 0xf3bd, 0xf563, -0xf3bd, 0xf563, 0xf3d3, 0xf56c, 0xf3d3, 0xf56c, 0xf19d, 0xf32f, 0xf19d, 0xf32f, 0xf360, -0xf4f0, 0xf360, 0xf4f0, 0xf360, 0xf4f0, 0xf506, 0xf69d, 0xf506, 0xf69d, 0xf3d2, 0xf576, -0xf3d2, 0xf576, 0xf339, 0xf4f0, 0xf339, 0xf4f0, 0xf1cc, 0xf39c, 0xf1cc, 0xf39c, 0xf0fe, -0xf2eb, 0xf0fe, 0xf2eb, 0xf146, 0xf351, 0xf146, 0xf351, 0xf146, 0xf351, 0xef8b, 0xf1b5, -0xef8b, 0xf1b5, 0xedbd, 0xf003, 0xedbd, 0xf003, 0xeccf, 0xef2d, 0xeccf, 0xef2d, 0xee80, -0xf0f0, 0xee80, 0xf0f0, 0xede9, 0xf060, 0xede9, 0xf060, 0xede9, 0xf060, 0xeb22, 0xed97, -0xeb22, 0xed97, 0xea21, 0xec87, 0xea21, 0xec87, 0xea33, 0xec7e, 0xea33, 0xec7e, 0xeba4, -0xedc9, 0xeba4, 0xedc9, 0xeaab, 0xec9b, 0xeaab, 0xec9b, 0xeacb, 0xec7d, 0xeacb, 0xec7d, -0xeacb, 0xec7d, 0xeb96, 0xecfe, 0xeb96, 0xecfe, 0xeedd, 0xeff4, 0xeedd, 0xeff4, 0xf19e, -0xf25e, 0xf19e, 0xf25e, 0xf217, 0xf27c, 0xf217, 0xf27c, 0xf2c8, 0xf2d3, 0xf2c8, 0xf2d3, -0xf3a9, 0xf35b, 0xf3a9, 0xf35b, 0xf3a9, 0xf35b, 0xf8e3, 0xf842, 0xf8e3, 0xf842, 0xfa02, -0xf914, 0xfa02, 0xf914, 0xfbb1, 0xfa81, 0xfbb1, 0xfa81, 0xfd87, 0xfc1f, 0xfd87, 0xfc1f, -0xffa1, 0xfe0e, 0xffa1, 0xfe0e, 0xffa1, 0xfe0e, 0x17c, 0xffca, 0x17c, 0xffca, 0xff6f, -0xfdac, 0xff6f, 0xfdac, 0x17b, 0xffb3, 0x17b, 0xffb3, 0x1c, 0xfe59, 0x1c, 0xfe59, -0x52, 0xfe9f, 0x52, 0xfe9f, 0x123, 0xff89, 0x123, 0xff89, 0x123, 0xff89, 0x2d, -0xfeb1, 0x2d, 0xfeb1, 0x304, 0x1a8, 0x304, 0x1a8, 0x36d, 0x234, 0x36d, 0x234, -0x29f, 0x187, 0x29f, 0x187, 0x39e, 0x2a5, 0x39e, 0x2a5, 0x3d6, 0x2f6, 0x3d6, -0x2f6, 0x3d6, 0x2f6, 0x48c, 0x3c0, 0x48c, 0x3c0, 0x608, 0x548, 0x608, 0x548, -0x4cc, 0x411, 0x4cc, 0x411, 0x64a, 0x58d, 0x64a, 0x58d, 0x85f, 0x799, 0x85f, -0x799, 0x85f, 0x799, 0x8fc, 0x828, 0x8fc, 0x828, 0x783, 0x69e, 0x783, 0x69e, -0x6d4, 0x5dc, 0x6d4, 0x5dc, 0x970, 0x867, 0x970, 0x867, 0x803, 0x6eb, 0x803, -0x6eb, 0x7c1, 0x6a0, 0x7c1, 0x6a0, 0x7c1, 0x6a0, 0x8d8, 0x7b4, 0x8d8, 0x7b4, -0x9b8, 0x89b, 0x9b8, 0x89b, 0xa43, 0x938, 0xa43, 0x938, 0x930, 0x842, 0x930, -0x842, 0x917, 0x853, 0x917, 0x853, 0x8e6, 0x858, 0x8e6, 0x858, 0x8e6, 0x858, -0x8cc, 0x880, 0x8cc, 0x880, 0x882, 0x882, 0x882, 0x882, 0x7e0, 0x834, 0x7e0, -0x834, 0x616, 0x6c6, 0x616, 0x6c6, 0x4da, 0x5e9, 0x4da, 0x5e9, 0x4da, 0x5e9, -0x438, 0x5a8, 0x438, 0x5a8, 0x57, 0x226, 0x57, 0x226, 0xfec0, 0xea, 0xfec0, -0xea, 0xff2d, 0x1ac, 0xff2d, 0x1ac, 0xfd3e, 0x9, 0xfd3e, 0x9, 0xfcd5, 0xffe0, -0xfcd5, 0xffe0, 0xfcd5, 0xffe0, 0xfb04, 0xfe43, 0xfb04, 0xfe43, 0xfa82, 0xfde7, 0xfa82, -0xfde7, 0xfbf9, 0xff76, 0xfbf9, 0xff76, 0xfafa, 0xfe81, 0xfafa, 0xfe81, 0xf93f, 0xfcc4, -0xf93f, 0xfcc4, 0xf8f2, 0xfc68, 0xf8f2, 0xfc68, 0xf8f2, 0xfc68, 0xfbd9, 0xff36, 0xfbd9, -0xff36, 0xfcc6, 0x3, 0xfcc6, 0x3, 0xfbf6, 0xff0b, 0xfbf6, 0xff0b, 0xfa9c, 0xfd87, -0xfa9c, 0xfd87, 0xfa1a, 0xfcd9, 0xfa1a, 0xfcd9, 0xfa1a, 0xfcd9, 0xfb56, 0xfdea, 0xfb56, -0xfdea, 0xfb64, 0xfdd1, 0xfb64, 0xfdd1, 0xfa4d, 0xfc96, 0xfa4d, 0xfc96, 0xf927, 0xfb53, -0xf927, 0xfb53, 0xf90a, 0xfb1e, 0xf90a, 0xfb1e, 0xf7d2, 0xf9d5, 0xf7d2, 0xf9d5, 0xf7d2, -0xf9d5, 0xf7c3, 0xf9bc, 0xf7c3, 0xf9bc, 0xf631, 0xf825, 0xf631, 0xf825, 0xf12d, 0xf31f, -0xf12d, 0xf31f, 0xf13c, 0xf32f, 0xf13c, 0xf32f, 0xf3ae, 0xf5a2, 0xf3ae, 0xf5a2, 0xf13e, -0xf331, 0xf13e, 0xf331, 0xf13e, 0xf331, 0xf0d3, 0xf2c1, 0xf0d3, 0xf2c1, 0xf182, 0xf364, -0xf182, 0xf364, 0xf0aa, 0xf277, 0xf0aa, 0xf277, 0xefd1, 0xf180, 0xefd1, 0xf180, 0xedf8, -0xef7d, 0xedf8, 0xef7d, 0xedf8, 0xef7d, 0xef48, 0xf097, 0xef48, 0xf097, 0xef4f, 0xf05b, -0xef4f, 0xf05b, 0xf0a5, 0xf162, 0xf0a5, 0xf162, 0xf230, 0xf294, 0xf230, 0xf294, 0xf27e, -0xf27e, 0xf27e, 0xf27e, 0xf3ff, 0xf393, 0xf3ff, 0xf393, 0xf3ff, 0xf393, 0xf428, 0xf34a, -0xf428, 0xf34a, 0xf64c, 0xf4fa, 0xf64c, 0xf4fa, 0xf92d, 0xf766, 0xf92d, 0xf766, 0xfcab, -0xfa72, 0xfcab, 0xfa72, 0xfdfa, 0xfb55, 0xfdfa, 0xfb55, 0x172, 0xfe68, 0x172, 0xfe68, -0x172, 0xfe68, 0x621, 0x2be, 0x621, 0x2be, 0x8a8, 0x4f6, 0x8a8, 0x4f6, 0xcf6, -0x904, 0xcf6, 0x904, 0x1037, 0xc14, 0x1037, 0xc14, 0x129b, 0xe54, 0x129b, 0xe54, -0x129b, 0xe54, 0x1500, 0x10a4, 0x1500, 0x10a4, 0x193a, 0x14d6, 0x193a, 0x14d6, 0x1ad0, -0x1671, 0x1ad0, 0x1671, 0x19b8, 0x1568, 0x19b8, 0x1568, 0x1a0a, 0x15d1, 0x1a0a, 0x15d1, -0x1a2f, 0x1613, 0x1a2f, 0x1613, 0x1a2f, 0x1613, 0x1adf, 0x16e4, 0x1adf, 0x16e4, 0x1c3e, -0x1865, 0x1c3e, 0x1865, 0x1a2d, 0x1675, 0x1a2d, 0x1675, 0x1721, 0x1388, 0x1721, 0x1388, -0x18cf, 0x154f, 0x18cf, 0x154f, 0x1a45, 0x16db, 0x1a45, 0x16db, 0x1a45, 0x16db, 0x1940, -0x15e5, 0x1940, 0x15e5, 0x189b, 0x154a, 0x189b, 0x154a, 0x191e, 0x15d1, 0x191e, 0x15d1, -0x16a4, 0x1357, 0x16a4, 0x1357, 0x14fc, 0x11ad, 0x14fc, 0x11ad, 0x14fc, 0x11ad, 0x1692, -0x1340, 0x1692, 0x1340, 0x1790, 0x143a, 0x1790, 0x143a, 0x1753, 0x13ff, 0x1753, 0x13ff, -0x14a9, 0x115b, 0x14a9, 0x115b, 0x13d9, 0x1099, 0x13d9, 0x1099, 0x138e, 0x1065, 0x138e, -0x1065, 0x138e, 0x1065, 0x12c0, 0xfb9, 0x12c0, 0xfb9, 0x10cd, 0xdf5, 0x10cd, 0xdf5, -0xd1b, 0xa7e, 0xd1b, 0xa7e, 0xc05, 0x9af, 0xc05, 0x9af, 0xb56, 0x953, 0xb56, -0x953, 0xa21, 0x87d, 0xa21, 0x87d, 0xa21, 0x87d, 0x85a, 0x71d, 0x85a, 0x71d, -0x3ee, 0x321, 0x3ee, 0x321, 0x233, 0x1da, 0x233, 0x1da, 0x1ef, 0x20d, 0x1ef, -0x20d, 0xffc4, 0x58, 0xffc4, 0x58, 0xffc4, 0x58, 0xff40, 0x46, 0xff40, 0x46, -0xfcd1, 0xfe44, 0xfcd1, 0xfe44, 0xfbfd, 0xfdd4, 0xfbfd, 0xfdd4, 0xfc53, 0xfe84, 0xfc53, -0xfe84, 0xf87f, 0xfafc, 0xf87f, 0xfafc, 0xf60e, 0xf8cb, 0xf60e, 0xf8cb, 0xf60e, 0xf8cb, -0xf6ba, 0xf9a8, 0xf6ba, 0xf9a8, 0xf69b, 0xf9ad, 0xf69b, 0xf9ad, 0xf4ec, 0xf814, 0xf4ec, -0xf814, 0xf403, 0xf734, 0xf403, 0xf734, 0xf453, 0xf783, 0xf453, 0xf783, 0xf453, 0xf783, -0xf5a0, 0xf8c4, 0xf5a0, 0xf8c4, 0xf59a, 0xf8ac, 0xf59a, 0xf8ac, 0xf663, 0xf95e, 0xf663, -0xf95e, 0xf68b, 0xf96d, 0xf68b, 0xf96d, 0xf4cf, 0xf797, 0xf4cf, 0xf797, 0xf471, 0xf721, -0xf471, 0xf721, 0xf471, 0xf721, 0xf4ce, 0xf76b, 0xf4ce, 0xf76b, 0xf590, 0xf81e, 0xf590, -0xf81e, 0xf480, 0xf705, 0xf480, 0xf705, 0xf4fa, 0xf77c, 0xf4fa, 0xf77c, 0xf6a7, 0xf92c, -0xf6a7, 0xf92c, 0xf6db, 0xf969, 0xf6db, 0xf969, 0xf6db, 0xf969, 0xf762, 0xf9fc, 0xf762, -0xf9fc, 0xf6ec, 0xf996, 0xf6ec, 0xf996, 0xf5c3, 0xf87d, 0xf5c3, 0xf87d, 0xf586, 0xf84f, -0xf586, 0xf84f, 0xf3ef, 0xf6c4, 0xf3ef, 0xf6c4, 0xf3ef, 0xf6c4, 0xf2c3, 0xf59f, 0xf2c3, -0xf59f, 0xf516, 0xf7f0, 0xf516, 0xf7f0, 0xf37f, 0xf64f, 0xf37f, 0xf64f, 0xf0e8, 0xf3a3, -0xf0e8, 0xf3a3, 0xf3f8, 0xf693, 0xf3f8, 0xf693, 0xf514, 0xf783, 0xf514, 0xf783, 0xf514, -0xf783, 0xf426, 0xf65c, 0xf426, 0xf65c, 0xf471, 0xf663, 0xf471, 0xf663, 0xf2b9, 0xf45d, -0xf2b9, 0xf45d, 0xf19e, 0xf2eb, 0xf19e, 0xf2eb, 0xf254, 0xf344, 0xf254, 0xf344, 0xf3d2, -0xf460, 0xf3d2, 0xf460, 0xf3d2, 0xf460, 0xf43f, 0xf469, 0xf43f, 0xf469, 0xf4b5, 0xf47d, -0xf4b5, 0xf47d, 0xf5e7, 0xf54f, 0xf5e7, 0xf54f, 0xf68f, 0xf59f, 0xf68f, 0xf59f, 0xfa81, -0xf940, 0xfa81, 0xf940, 0xfa81, 0xf940, 0xfc2e, 0xfaa6, 0xfc2e, 0xfaa6, 0xfd2c, 0xfb6a, -0xfd2c, 0xfb6a, 0xff0f, 0xfd1f, 0xff0f, 0xfd1f, 0xff12, 0xfd02, 0xff12, 0xfd02, 0xffe9, -0xfdc7, 0xffe9, 0xfdc7, 0x1f9, 0xffd1, 0x1f9, 0xffd1, 0x1f9, 0xffd1, 0x346, 0x124, -0x346, 0x124, 0xed, 0xfedb, 0xed, 0xfedb, 0x23a, 0x40, 0x23a, 0x40, 0x2a7, -0xcc, 0x2a7, 0xcc, 0x228, 0x6f, 0x228, 0x6f, 0x3d8, 0x243, 0x3d8, 0x243, -0x3d8, 0x243, 0x1c2, 0x51, 0x1c2, 0x51, 0x193, 0x43, 0x193, 0x43, 0x1ae, -0x7b, 0x1ae, 0x7b, 0x87, 0xff6b, 0x87, 0xff6b, 0xc, 0xff02, 0xc, 0xff02, -0xc, 0xff02, 0xffe5, 0xfee5, 0xffe5, 0xfee5, 0xffed, 0xfef1, 0xffed, 0xfef1, 0xffe6, -0xfee9, 0xffe6, 0xfee9, 0xffa4, 0xfea1, 0xffa4, 0xfea1, 0xfe4e, 0xfd40, 0xfe4e, 0xfd40, -0xfe99, 0xfd80, 0xfe99, 0xfd80, 0xfe99, 0xfd80, 0xbf, 0xff9b, 0xbf, 0xff9b, 0x109, -0xffde, 0x109, 0xffde, 0xff89, 0xfe5b, 0xff89, 0xfe5b, 0xff78, 0xfe4e, 0xff78, 0xfe4e, -0x1d7, 0xb9, 0x1d7, 0xb9, 0x41b, 0x313, 0x41b, 0x313, 0x41b, 0x313, 0x42f, -0x348, 0x42f, 0x348, 0x4fe, 0x444, 0x4fe, 0x444, 0x5c0, 0x53d, 0x5c0, 0x53d, -0x6d5, 0x694, 0x6d5, 0x694, 0x7da, 0x7e5, 0x7da, 0x7e5, 0x7da, 0x7e5, 0x6e8, -0x746, 0x6e8, 0x746, 0x647, 0x6ff, 0x647, 0x6ff, 0x5d7, 0x6ec, 0x5d7, 0x6ec, -0x635, 0x7aa, 0x635, 0x7aa, 0x523, 0x6f5, 0x523, 0x6f5, 0x3f8, 0x623, 0x3f8, -0x623, 0x3f8, 0x623, 0x360, 0x5de, 0x360, 0x5de, 0x141, 0x409, 0x141, 0x409, -0xff5f, 0x267, 0xff5f, 0x267, 0xff7f, 0x2bc, 0xff7f, 0x2bc, 0xba, 0x41e, 0xba, -0x41e, 0xffd5, 0x353, 0xffd5, 0x353, 0xffd5, 0x353, 0x5b, 0x3e5, 0x5b, 0x3e5, -0x92, 0x41c, 0x92, 0x41c, 0xc6, 0x446, 0xc6, 0x446, 0x38e, 0x6f9, 0x38e, -0x6f9, 0x2a8, 0x5f6, 0x2a8, 0x5f6, 0x2a8, 0x5f6, 0x1f0, 0x51c, 0x1f0, 0x51c, -0x1e7, 0x4ec, 0x1e7, 0x4ec, 0x1d5, 0x4b3, 0x1d5, 0x4b3, 0x296, 0x54e, 0x296, -0x54e, 0x54, 0x2e7, 0x54, 0x2e7, 0x69, 0x2dc, 0x69, 0x2dc, 0x69, 0x2dc, -0xff42, 0x19a, 0xff42, 0x19a, 0xfe00, 0x44, 0xfe00, 0x44, 0xfe72, 0xa7, 0xfe72, -0xa7, 0xfaeb, 0xfd17, 0xfaeb, 0xfd17, 0xfb03, 0xfd2a, 0xfb03, 0xfd2a, 0xf908, 0xfb2e, -0xf908, 0xfb2e, 0xf908, 0xfb2e, 0xf41b, 0xf640, 0xf41b, 0xf640, 0xf3bd, 0xf5e2, 0xf3bd, -0xf5e2, 0xf181, 0xf3a4, 0xf181, 0xf3a4, 0xf02f, 0xf24a, 0xf02f, 0xf24a, 0xf0ef, 0xf2fb, -0xf0ef, 0xf2fb, 0xf0ef, 0xf2fb, 0xee28, 0xf01b, 0xee28, 0xf01b, 0xec31, 0xee00, 0xec31, -0xee00, 0xed17, 0xeeb6, 0xed17, 0xeeb6, 0xed7d, 0xeede, 0xed7d, 0xeede, 0xecb6, 0xedcc, -0xecb6, 0xedcc, 0xec99, 0xed56, 0xec99, 0xed56, 0xec99, 0xed56, 0xed43, 0xed99, 0xed43, -0xed99, 0xedba, 0xed9f, 0xedba, 0xed9f, 0xeeda, 0xee43, 0xeeda, 0xee43, 0xeec3, 0xeda8, -0xeec3, 0xeda8, 0xf007, 0xee64, 0xf007, 0xee64, 0xf182, 0xef55, 0xf182, 0xef55, 0xf182, -0xef55, 0xf39a, 0xf0e3, 0xf39a, 0xf0e3, 0xf65b, 0xf31f, 0xf65b, 0xf31f, 0xf5fc, 0xf243, -0xf5fc, 0xf243, 0xf97b, 0xf54e, 0xf97b, 0xf54e, 0xfd17, 0xf881, 0xfd17, 0xf881, 0xfd17, -0xf881, 0xff67, 0xfa78, 0xff67, 0xfa78, 0x259, 0xfd1f, 0x259, 0xfd1f, 0x503, 0xff8f, -0x503, 0xff8f, 0x8ce, 0x331, 0x8ce, 0x331, 0xb7f, 0x5c9, 0xb7f, 0x5c9, 0xdda, -0x81b, 0xdda, 0x81b, 0xdda, 0x81b, 0xe94, 0x8db, 0xe94, 0x8db, 0x110b, 0xb63, -0x110b, 0xb63, 0x1429, 0xe9f, 0x1429, 0xe9f, 0x1509, 0xfa4, 0x1509, 0xfa4, 0x1622, -0x10ea, 0x1622, 0x10ea, 0x1825, 0x131d, 0x1825, 0x131d, 0x1825, 0x131d, 0x18ac, 0x13d7, -0x18ac, 0x13d7, 0x196c, 0x14ca, 0x196c, 0x14ca, 0x1c57, 0x17e5, 0x1c57, 0x17e5, 0x1b1a, -0x16d8, 0x1b1a, 0x16d8, 0x1b5a, 0x1744, 0x1b5a, 0x1744, 0x1b5a, 0x1744, 0x1c0c, 0x181f, -0x1c0c, 0x181f, 0x1976, 0x15af, 0x1976, 0x15af, 0x198c, 0x15e9, 0x198c, 0x15e9, 0x18c8, -0x1546, 0x18c8, 0x1546, 0x1712, 0x13b3, 0x1712, 0x13b3, 0x1600, 0x12c4, 0x1600, 0x12c4, -0x1600, 0x12c4, 0x152e, 0x1219, 0x152e, 0x1219, 0x1505, 0x121b, 0x1505, 0x121b, 0x1587, -0x12ce, 0x1587, 0x12ce, 0x161f, 0x139f, 0x161f, 0x139f, 0x1509, 0x12c9, 0x1509, 0x12c9, -0x1509, 0x12c9, 0x14d8, 0x12e1, 0x14d8, 0x12e1, 0x14b3, 0x1310, 0x14b3, 0x1310, 0x12e7, -0x119e, 0x12e7, 0x119e, 0x11da, 0x10f4, 0x11da, 0x10f4, 0x1120, 0x10a4, 0x1120, 0x10a4, -0xe69, 0xe5c, 0xe69, 0xe5c, 0xe69, 0xe5c, 0xb54, 0xbb9, 0xb54, 0xbb9, 0xab7, -0xb8e, 0xab7, 0xb8e, 0x89f, 0x9e7, 0x89f, 0x9e7, 0x621, 0x7d6, 0x621, 0x7d6, -0x6f7, 0x912, 0x6f7, 0x912, 0x6aa, 0x923, 0x6aa, 0x923, 0x6aa, 0x923, 0x2a3, -0x56f, 0x2a3, 0x56f, 0x1, 0x314, 0x1, 0x314, 0xff5b, 0x2a7, 0xff5b, 0x2a7, -0xfd5d, 0xd5, 0xfd5d, 0xd5, 0xfbcc, 0xff62, 0xfbcc, 0xff62, 0xfbcc, 0xff62, 0xf8b3, -0xfc59, 0xf8b3, 0xfc59, 0xf7be, 0xfb67, 0xf7be, 0xfb67, 0xf942, 0xfce2, 0xf942, 0xfce2, -0xf8e2, 0xfc71, 0xf8e2, 0xfc71, 0xf83d, 0xfbb2, 0xf83d, 0xfbb2, 0xf7c9, 0xfb20, 0xf7c9, -0xfb20, 0xf7c9, 0xfb20, 0xf85e, 0xfb93, 0xf85e, 0xfb93, 0xf73f, 0xfa52, 0xf73f, 0xfa52, -0xf62e, 0xf921, 0xf62e, 0xf921, 0xf6ef, 0xf9c5, 0xf6ef, 0xf9c5, 0xf7b8, 0xfa78, 0xf7b8, -0xfa78, 0xf810, 0xfabf, 0xf810, 0xfabf, 0xf810, 0xfabf, 0xf922, 0xfbc8, 0xf922, 0xfbc8, -0xf952, 0xfbf6, 0xf952, 0xfbf6, 0xf752, 0xf9fc, 0xf752, 0xf9fc, 0xf6a6, 0xf95c, 0xf6a6, -0xf95c, 0xf655, 0xf91c, 0xf655, 0xf91c, 0xf655, 0xf91c, 0xf55d, 0xf839, 0xf55d, 0xf839, -0xf31f, 0xf611, 0xf31f, 0xf611, 0xf1d6, 0xf4dc, 0xf1d6, 0xf4dc, 0xf15e, 0xf477, 0xf15e, -0xf477, 0xf097, 0xf3bc, 0xf097, 0xf3bc, 0xef69, 0xf293, 0xef69, 0xf293, 0xef69, 0xf293, -0xedda, 0xf100, 0xedda, 0xf100, 0xedaf, 0xf0c5, 0xedaf, 0xf0c5, 0xedad, 0xf0a8, 0xedad, -0xf0a8, 0xec7a, 0xef4d, 0xec7a, 0xef4d, 0xeaf5, 0xed93, 0xeaf5, 0xed93, 0xec91, 0xeeed, -0xec91, 0xeeed, 0xec91, 0xeeed, 0xebd5, 0xede5, 0xebd5, 0xede5, 0xeb30, 0xecea, 0xeb30, -0xecea, 0xee3c, 0xef98, 0xee3c, 0xef98, 0xef2b, 0xf024, 0xef2b, 0xf024, 0xf0d6, 0xf169, -0xf0d6, 0xf169, 0xf0d6, 0xf169, 0xf2b4, 0xf2e1, 0xf2b4, 0xf2e1, 0xf3dd, 0xf3a6, 0xf3dd, -0xf3a6, 0xf4f3, 0xf45e, 0xf4f3, 0xf45e, 0xf675, 0xf589, 0xf675, 0xf589, 0xf990, 0xf857, -0xf990, 0xf857, 0xfbec, 0xfa71, 0xfbec, 0xfa71, 0xfbec, 0xfa71, 0xfcf7, 0xfb47, 0xfcf7, -0xfb47, 0xfd3f, 0xfb67, 0xfd3f, 0xfb67, 0xfe03, 0xfc11, 0xfe03, 0xfc11, 0x11, 0xfe12, -0x11, 0xfe12, 0x1, 0xfe02, 0x1, 0xfe02, 0xffb0, 0xfdbb, 0xffb0, 0xfdbb, 0xffb0, -0xfdbb, 0x5e, 0xfe7e, 0x5e, 0xfe7e, 0x75, 0xfeb1, 0x75, 0xfeb1, 0x202, 0x5e, -0x202, 0x5e, 0x3d1, 0x252, 0x3d1, 0x252, 0x654, 0x4fa, 0x654, 0x4fa, 0x654, -0x4fa, 0x734, 0x5ff, 0x734, 0x5ff, 0x745, 0x632, 0x745, 0x632, 0x79d, 0x6a7, -0x79d, 0x6a7, 0x794, 0x6b8, 0x794, 0x6b8, 0x878, 0x7af, 0x878, 0x7af, 0x752, -0x696, 0x752, 0x696, 0x752, 0x696, 0x6bd, 0x608, 0x6bd, 0x608, 0x795, 0x6e4, -0x795, 0x6e4, 0x8f1, 0x83f, 0x8f1, 0x83f, 0x93f, 0x88a, 0x93f, 0x88a, 0x8c3, -0x80a, 0x8c3, 0x80a, 0x9e1, 0x926, 0x9e1, 0x926, 0x9e1, 0x926, 0x911, 0x856, -0x911, 0x856, 0x780, 0x6cb, 0x780, 0x6cb, 0x7d4, 0x729, 0x7d4, 0x729, 0x7ef, -0x756, 0x7ef, 0x756, 0x79d, 0x71f, 0x79d, 0x71f, 0x79d, 0x71f, 0x71e, 0x6c3, -0x71e, 0x6c3, 0x6f1, 0x6c2, 0x6f1, 0x6c2, 0x6ac, 0x6b1, 0x6ac, 0x6b1, 0x6dd, -0x71d, 0x6dd, 0x71d, 0x8b0, 0x932, 0x8b0, 0x932, 0x858, 0x921, 0x858, 0x921, -0x858, 0x921, 0x7f2, 0x904, 0x7f2, 0x904, 0x7c3, 0x920, 0x7c3, 0x920, 0x800, -0x9a6, 0x800, 0x9a6, 0x8fe, 0xaea, 0x8fe, 0xaea, 0x620, 0x84d, 0x620, 0x84d, -0x237, 0x49c, 0x237, 0x49c, 0x237, 0x49c, 0xdc, 0x372, 0xdc, 0x372, 0x1ec, -0x4a9, 0x1ec, 0x4a9, 0xdd, 0x3b7, 0xdd, 0x3b7, 0xff45, 0x232, 0xff45, 0x232, -0xfe9c, 0x190, 0xfe9c, 0x190, 0xfe9c, 0x190, 0xfdfc, 0xef, 0xfdfc, 0xef, 0xfdca, -0xb2, 0xfdca, 0xb2, 0xfdb5, 0x8b, 0xfdb5, 0x8b, 0xfdbe, 0x7c, 0xfdbe, 0x7c, -0xfc2e, 0xfed1, 0xfc2e, 0xfed1, 0xfcac, 0xff32, 0xfcac, 0xff32, 0xfcac, 0xff32, 0xfbfb, -0xfe63, 0xfbfb, 0xfe63, 0xfbc8, 0xfe15, 0xfbc8, 0xfe15, 0xfc7b, 0xfeaf, 0xfc7b, 0xfeaf, -0xfa5d, 0xfc7d, 0xfa5d, 0xfc7d, 0xfb87, 0xfd98, 0xfb87, 0xfd98, 0xfc3d, 0xfe45, 0xfc3d, -0xfe45, 0xfc3d, 0xfe45, 0xfa38, 0xfc3c, 0xfa38, 0xfc3c, 0xf958, 0xfb5c, 0xf958, 0xfb5c, -0xf8b2, 0xfabb, 0xf8b2, 0xfabb, 0xf5f1, 0xf801, 0xf5f1, 0xf801, 0xf2df, 0xf4f7, 0xf2df, -0xf4f7, 0xf2df, 0xf4f7, 0xf1ff, 0xf41d, 0xf1ff, 0xf41d, 0xf0aa, 0xf2cb, 0xf0aa, 0xf2cb, -0xef37, 0xf155, 0xef37, 0xf155, 0xee80, 0xf093, 0xee80, 0xf093, 0xecce, 0xeecb, 0xecce, -0xeecb, 0xebb1, 0xed8f, 0xebb1, 0xed8f, 0xebb1, 0xed8f, 0xe968, 0xeb17, 0xe968, 0xeb17, -0xe831, 0xe9a5, 0xe831, 0xe9a5, 0xea78, 0xeba2, 0xea78, 0xeba2, 0xeaff, 0xebd1, 0xeaff, -0xebd1, 0xe9df, 0xea4c, 0xe9df, 0xea4c, 0xe9a7, 0xe9a2, 0xe9a7, 0xe9a2, 0xe9a7, 0xe9a2, -0xec2e, 0xebad, 0xec2e, 0xebad, 0xee88, 0xed83, 0xee88, 0xed83, 0xf02d, 0xee9f, 0xf02d, -0xee9f, 0xf1a1, 0xef86, 0xf1a1, 0xef86, 0xf36d, 0xf0c6, 0xf36d, 0xf0c6, 0xf36d, 0xf0c6, -0xf5fc, 0xf2cd, 0xf5fc, 0xf2cd, 0xf7d5, 0xf424, 0xf7d5, 0xf424, 0xfc23, 0xf7f8, 0xfc23, -0xf7f8, 0xff43, 0xfaab, 0xff43, 0xfaab, 0x178, 0xfc7f, 0x178, 0xfc7f, 0x561, 0x18, -0x561, 0x18, 0x561, 0x18, 0x999, 0x40f, 0x999, 0x40f, 0xcc0, 0x706, 0xcc0, -0x706, 0xfa9, 0x9d1, 0xfa9, 0x9d1, 0x131b, 0xd34, 0x131b, 0xd34, 0x149c, 0xeb7, -0x149c, 0xeb7, 0x149c, 0xeb7, 0x1599, 0xfc3, 0x1599, 0xfc3, 0x154d, 0xf92, 0x154d, -0xf92, 0x1647, 0x10b2, 0x1647, 0x10b2, 0x1807, 0x129f, 0x1807, 0x129f, 0x1750, 0x121d, -0x1750, 0x121d, 0x1641, 0x1145, 0x1641, 0x1145, 0x1641, 0x1145, 0x165c, 0x119b, 0x165c, -0x119b, 0x1897, 0x1410, 0x1897, 0x1410, 0x19ae, 0x1560, 0x19ae, 0x1560, 0x1914, 0x14fd, -0x1914, 0x14fd, 0x18d6, 0x14f4, 0x18d6, 0x14f4, 0x1855, 0x14a5, 0x1855, 0x14a5, 0x1855, -0x14a5, 0x1903, 0x1581, 0x1903, 0x1581, 0x1982, 0x162c, 0x1982, 0x162c, 0x17bf, 0x1495, -0x17bf, 0x1495, 0x15d8, 0x12d8, 0x15d8, 0x12d8, 0x154b, 0x1276, 0x154b, 0x1276, 0x154b, -0x1276, 0x16c6, 0x141e, 0x16c6, 0x141e, 0x15e2, 0x136a, 0x15e2, 0x136a, 0x142b, 0x11e7, -0x142b, 0x11e7, 0x1369, 0x115d, 0x1369, 0x115d, 0x10aa, 0xedc, 0x10aa, 0xedc, 0xfe3, -0xe59, 0xfe3, 0xe59, 0xfe3, 0xe59, 0xe2d, 0xceb, 0xe2d, 0xceb, 0xc4d, 0xb59, -0xc4d, 0xb59, 0xc4d, 0xbab, 0xc4d, 0xbab, 0x9ec, 0x99f, 0x9ec, 0x99f, 0x6ed, -0x6f7, 0x6ed, 0x6f7, 0x4bb, 0x51b, 0x4bb, 0x51b, 0x4bb, 0x51b, 0x3a2, 0x457, -0x3a2, 0x457, 0x399, 0x49f, 0x399, 0x49f, 0x3d9, 0x52c, 0x3d9, 0x52c, 0x39c, -0x533, 0x39c, 0x533, 0x219, 0x3ed, 0x219, 0x3ed, 0x219, 0x3ed, 0x199, 0x3a0, -0x199, 0x3a0, 0xcd, 0x2fc, 0xcd, 0x2fc, 0xffb8, 0x204, 0xffb8, 0x204, 0xff32, -0x191, 0xff32, 0x191, 0xfb8e, 0xfdf4, 0xfb8e, 0xfdf4, 0xfa5c, 0xfcc1, 0xfa5c, 0xfcc1, -0xfa5c, 0xfcc1, 0xfa33, 0xfc8e, 0xfa33, 0xfc8e, 0xf9ec, 0xfc36, 0xf9ec, 0xfc36, 0xfb71, -0xfda6, 0xfb71, 0xfda6, 0xf97d, 0xfb98, 0xf97d, 0xfb98, 0xf8cc, 0xface, 0xf8cc, 0xface, -0xf7e5, 0xf9ce, 0xf7e5, 0xf9ce, 0xf7e5, 0xf9ce, 0xf747, 0xf91a, 0xf747, 0xf91a, 0xf859, -0xfa1b, 0xf859, 0xfa1b, 0xf7b7, 0xf96c, 0xf7b7, 0xf96c, 0xf847, 0xf9f8, 0xf847, 0xf9f8, -0xf8bf, 0xfa72, 0xf8bf, 0xfa72, 0xf8bf, 0xfa72, 0xf8fd, 0xfaba, 0xf8fd, 0xfaba, 0xf904, -0xfad1, 0xf904, 0xfad1, 0xf85c, 0xfa41, 0xf85c, 0xfa41, 0xf71d, 0xf91e, 0xf71d, 0xf91e, -0xf6b1, 0xf8d1, 0xf6b1, 0xf8d1, 0xf80b, 0xfa4c, 0xf80b, 0xfa4c, 0xf80b, 0xfa4c, 0xf76d, -0xf9ce, 0xf76d, 0xf9ce, 0xf547, 0xf7c5, 0xf547, 0xf7c5, 0xf48a, 0xf720, 0xf48a, 0xf720, -0xf4a1, 0xf749, 0xf4a1, 0xf749, 0xf400, 0xf6af, 0xf400, 0xf6af, 0xf3f4, 0xf6a1, 0xf3f4, -0xf6a1, 0xf3f4, 0xf6a1, 0xf410, 0xf6ae, 0xf410, 0xf6ae, 0xf2ff, 0xf583, 0xf2ff, 0xf583, -0xf20c, 0xf468, 0xf20c, 0xf468, 0xefb6, 0xf1de, 0xefb6, 0xf1de, 0xeee8, 0xf0d1, 0xeee8, -0xf0d1, 0xeee8, 0xf0d1, 0xf04a, 0xf1e8, 0xf04a, 0xf1e8, 0xf023, 0xf16f, 0xf023, 0xf16f, -0xeff7, 0xf0e9, 0xeff7, 0xf0e9, 0xefb8, 0xf04d, 0xefb8, 0xf04d, 0xf153, 0xf188, 0xf153, -0xf188, 0xf2ec, 0xf2c2, 0xf2ec, 0xf2c2, 0xf2ec, 0xf2c2, 0xf451, 0xf3cc, 0xf451, 0xf3cc, -0xf57d, 0xf4a2, 0xf57d, 0xf4a2, 0xf684, 0xf55b, 0xf684, 0xf55b, 0xfadc, 0xf96f, 0xfadc, -0xf96f, 0xfc6e, 0xfac7, 0xfc6e, 0xfac7, 0xfd53, 0xfb7f, 0xfd53, 0xfb7f, 0xfd53, 0xfb7f, -0xfd71, 0xfb7c, 0xfd71, 0xfb7c, 0xfb7d, 0xf974, 0xfb7d, 0xf974, 0xfb83, 0xf973, 0xfb83, -0xf973, 0xfc09, 0xf9fc, 0xfc09, 0xf9fc, 0xfd14, 0xfb16, 0xfd14, 0xfb16, 0xfd14, 0xfb16, -0xfccb, 0xfae3, 0xfccb, 0xfae3, 0xfd30, 0xfb66, 0xfd30, 0xfb66, 0xfe7b, 0xfcd4, 0xfe7b, -0xfcd4, 0xfeac, 0xfd29, 0xfeac, 0xfd29, 0xfdd9, 0xfc7d, 0xfdd9, 0xfc7d, 0xfcba, 0xfb84, -0xfcba, 0xfb84, 0xfcba, 0xfb84, 0xfcf3, 0xfbdf, 0xfcf3, 0xfbdf, 0xfe8c, 0xfd99, 0xfe8c, -0xfd99, 0xff59, 0xfe81, 0xff59, 0xfe81, 0xfe70, 0xfdae, 0xfe70, 0xfdae, 0xff6e, 0xfebd, -0xff6e, 0xfebd, 0x42, 0xff9d, 0x42, 0xff9d, 0x42, 0xff9d, 0xe0, 0x42, 0xe0, -0x42, 0x205, 0x16b, 0x205, 0x16b, 0x186, 0xed, 0x186, 0xed, 0x26a, 0x1d1, -0x26a, 0x1d1, 0x2dc, 0x244, 0x2dc, 0x244, 0x2dc, 0x244, 0x2e7, 0x251, 0x2e7, -0x251, 0x544, 0x4b3, 0x544, 0x4b3, 0x570, 0x4e7, 0x570, 0x4e7, 0x51b, 0x4a0, -0x51b, 0x4a0, 0x690, 0x629, 0x690, 0x629, 0x716, 0x6c8, 0x716, 0x6c8, 0x716, -0x6c8, 0x7f8, 0x7ca, 0x7f8, 0x7ca, 0x8f4, 0x8eb, 0x8f4, 0x8eb, 0x8a8, 0x8ca, -0x8a8, 0x8ca, 0x874, 0x8c6, 0x874, 0x8c6, 0x97a, 0x9fe, 0x97a, 0x9fe, 0x8cf, -0x987, 0x8cf, 0x987, 0x8cf, 0x987, 0x84f, 0x93c, 0x84f, 0x93c, 0x822, 0x943, -0x822, 0x943, 0x5dc, 0x72e, 0x5dc, 0x72e, 0x55c, 0x6dc, 0x55c, 0x6dc, 0x538, -0x6e1, 0x538, 0x6e1, 0x538, 0x6e1, 0x50c, 0x6d8, 0x50c, 0x6d8, 0x50f, 0x6f8, -0x50f, 0x6f8, 0x5d0, 0x7ce, 0x5d0, 0x7ce, 0x6e7, 0x8f4, 0x6e7, 0x8f4, 0x5dc, -0x7f3, 0x5dc, 0x7f3, 0x589, 0x7a3, 0x589, 0x7a3, 0x589, 0x7a3, 0x5e2, 0x7fc, -0x5e2, 0x7fc, 0x6cb, 0x8e1, 0x6cb, 0x8e1, 0x6eb, 0x8fc, 0x6eb, 0x8fc, 0x657, -0x861, 0x657, 0x861, 0x69d, 0x8a2, 0x69d, 0x8a2, 0x582, 0x784, 0x582, 0x784, -0x582, 0x784, 0x491, 0x692, 0x491, 0x692, 0x363, 0x569, 0x363, 0x569, 0x1f1, -0x400, 0x1f1, 0x400, 0x176, 0x393, 0x176, 0x393, 0x4a, 0x27a, 0x4a, 0x27a, -0x4a, 0x27a, 0xfeb2, 0xf8, 0xfeb2, 0xf8, 0xfbc2, 0xfe21, 0xfbc2, 0xfe21, 0xf8bf, -0xfb39, 0xf8bf, 0xfb39, 0xf66a, 0xf8ff, 0xf66a, 0xf8ff, 0xf44d, 0xf6fb, 0xf44d, 0xf6fb, -0xf2b0, 0xf573, 0xf2b0, 0xf573, 0xf2b0, 0xf573, 0xf102, 0xf3d3, 0xf102, 0xf3d3, 0xf09c, -0xf372, 0xf09c, 0xf372, 0xeff0, 0xf2c2, 0xeff0, 0xf2c2, 0xeecd, 0xf18e, 0xeecd, 0xf18e, -0xed95, 0xf038, 0xed95, 0xf038, 0xed95, 0xf038, 0xec93, 0xef08, 0xec93, 0xef08, 0xebd9, -0xee12, 0xebd9, 0xee12, 0xea6c, 0xec58, 0xea6c, 0xec58, 0xe94c, 0xeadd, 0xe94c, 0xeadd, -0xe9f7, 0xeb1e, 0xe9f7, 0xeb1e, 0xec25, 0xecd6, 0xec25, 0xecd6, 0xec25, 0xecd6, 0xec99, -0xecc8, 0xec99, 0xecc8, 0xed88, 0xed2d, 0xed88, 0xed2d, 0xeec6, 0xedda, 0xeec6, 0xedda, -0xeff2, 0xee72, 0xeff2, 0xee72, 0xf25d, 0xf04a, 0xf25d, 0xf04a, 0xf49c, 0xf1f8, 0xf49c, -0xf1f8, 0xf49c, 0xf1f8, 0xf7c2, 0xf492, 0xf7c2, 0xf492, 0xfa16, 0xf662, 0xfa16, 0xf662, -0xfce4, 0xf8b8, 0xfce4, 0xf8b8, 0xb1, 0xfc19, 0xb1, 0xfc19, 0x386, 0xfe91, 0x386, -0xfe91, 0x386, 0xfe91, 0x5b9, 0x76, 0x5b9, 0x76, 0x8f5, 0x375, 0x8f5, 0x375, -0xca1, 0x6f4, 0xca1, 0x6f4, 0xf94, 0x9ca, 0xf94, 0x9ca, 0x11fc, 0xc25, 0x11fc, -0xc25, 0x11ba, 0xbe3, 0x11ba, 0xbe3, 0x11ba, 0xbe3, 0x1318, 0xd4f, 0x1318, 0xd4f, -0x154b, 0xf9b, 0x154b, 0xf9b, 0x1592, 0x1004, 0x1592, 0x1004, 0x178d, 0x1229, 0x178d, -0x1229, 0x189e, 0x1369, 0x189e, 0x1369, 0x177f, 0x127d, 0x177f, 0x127d, 0x177f, 0x127d, -0x17a0, 0x12d4, 0x17a0, 0x12d4, 0x1943, 0x14ad, 0x1943, 0x14ad, 0x1904, 0x14a4, 0x1904, -0x14a4, 0x17c3, 0x1398, 0x17c3, 0x1398, 0x1669, 0x1272, 0x1669, 0x1272, 0x1669, 0x1272, -0x14b2, 0x10ed, 0x14b2, 0x10ed, 0x1565, 0x11d1, 0x1565, 0x11d1, 0x1646, 0x12e3, 0x1646, -0x12e3, 0x1621, 0x12ee, 0x1621, 0x12ee, 0x1635, 0x1333, 0x1635, 0x1333, 0x1565, 0x1296, -0x1565, 0x1296, 0x1565, 0x1296, 0x1462, 0x11c7, 0x1462, 0x11c7, 0x150a, 0x12a6, 0x150a, -0x12a6, 0x146a, 0x1242, 0x146a, 0x1242, 0x1099, 0xeb1, 0x1099, 0xeb1, 0xfdb, 0xe37, -0xfdb, 0xe37, 0x1079, 0xf1d, 0x1079, 0xf1d, 0x1079, 0xf1d, 0xe28, 0xd19, 0xe28, -0xd19, 0xb76, 0xab6, 0xb76, 0xab6, 0x8e7, 0x878, 0x8e7, 0x878, 0x78c, 0x770, -0x78c, 0x770, 0x64d, 0x684, 0x64d, 0x684, 0x64d, 0x684, 0x44d, 0x4d6, 0x44d, -0x4d6, 0x32b, 0x401, 0x32b, 0x401, 0x2b9, 0x3da, 0x2b9, 0x3da, 0x14d, 0x2b3, -0x14d, 0x2b3, 0xfe5d, 0x1, 0xfe5d, 0x1, 0xfcae, 0xfe89, 0xfcae, 0xfe89, 0xfcae, -0xfe89, 0xfb8c, 0xfd95, 0xfb8c, 0xfd95, 0xf966, 0xfb95, 0xf966, 0xfb95, 0xf80f, 0xfa5b, -0xf80f, 0xfa5b, 0xf74b, 0xf9ac, 0xf74b, 0xf9ac, 0xf7e8, 0xfa57, 0xf7e8, 0xfa57, 0xf8bc, -0xfb31, 0xf8bc, 0xfb31, 0xf8bc, 0xfb31, 0xf892, 0xfb09, 0xf892, 0xfb09, 0xf8f7, 0xfb6b, -0xf8f7, 0xfb6b, 0xf717, 0xf986, 0xf717, 0xf986, 0xf53f, 0xf7a8, 0xf53f, 0xf7a8, 0xf5e8, -0xf84a, 0xf5e8, 0xf84a, 0xf5e8, 0xf84a, 0xf649, 0xf8a7, 0xf649, 0xf8a7, 0xf620, 0xf87d, -0xf620, 0xf87d, 0xf62d, 0xf88d, 0xf62d, 0xf88d, 0xf692, 0xf8f8, 0xf692, 0xf8f8, 0xf62c, -0xf89e, 0xf62c, 0xf89e, 0xf57c, 0xf7fe, 0xf57c, 0xf7fe, 0xf57c, 0xf7fe, 0xf47b, 0xf711, -0xf47b, 0xf711, 0xf3b0, 0xf65e, 0xf3b0, 0xf65e, 0xf410, 0xf6d7, 0xf410, 0xf6d7, 0xf3fb, -0xf6dd, 0xf3fb, 0xf6dd, 0xf236, 0xf531, 0xf236, 0xf531, 0xf09e, 0xf3ae, 0xf09e, 0xf3ae, -0xf09e, 0xf3ae, 0xf009, 0xf32a, 0xf009, 0xf32a, 0xeede, 0xf20a, 0xeede, 0xf20a, 0xeee4, -0xf211, 0xeee4, 0xf211, 0xefe3, 0xf309, 0xefe3, 0xf309, 0xeebe, 0xf1d1, 0xeebe, 0xf1d1, -0xeebe, 0xf1d1, 0xee3d, 0xf131, 0xee3d, 0xf131, 0xefc1, 0xf289, 0xefc1, 0xf289, 0xeee9, -0xf179, 0xeee9, 0xf179, 0xeec7, 0xf113, 0xeec7, 0xf113, 0xef33, 0xf131, 0xef33, 0xf131, -0xee4c, 0xeff2, 0xee4c, 0xeff2, 0xee4c, 0xeff2, 0xf05f, 0xf1a4, 0xf05f, 0xf1a4, 0xf30f, -0xf3ef, 0xf30f, 0xf3ef, 0xf3da, 0xf450, 0xf3da, 0xf450, 0xf382, 0xf38d, 0xf382, 0xf38d, -0xf422, 0xf3c4, 0xf422, 0xf3c4, 0xf594, 0xf4d2, 0xf594, 0xf4d2, 0xf594, 0xf4d2, 0xf904, -0xf7e3, 0xf904, 0xf7e3, 0xfd09, 0xfb91, 0xfd09, 0xfb91, 0xfcd6, 0xfb12, 0xfcd6, 0xfb12, -0xfd05, 0xfb01, 0xfd05, 0xfb01, 0xfeb3, 0xfc7b, 0xfeb3, 0xfc7b, 0xfeb3, 0xfc7b, 0xffb9, -0xfd5b, 0xffb9, 0xfd5b, 0x104, 0xfe8d, 0x104, 0xfe8d, 0x10b, 0xfe87, 0x10b, 0xfe87, -0x12c, 0xfea8, 0x12c, 0xfea8, 0x2fe, 0x85, 0x2fe, 0x85, 0x481, 0x21c, 0x481, -0x21c, 0x481, 0x21c, 0x538, 0x2f0, 0x538, 0x2f0, 0x5c7, 0x3a0, 0x5c7, 0x3a0, -0x659, 0x458, 0x659, 0x458, 0x655, 0x47c, 0x655, 0x47c, 0x741, 0x591, 0x741, -0x591, 0x81f, 0x694, 0x81f, 0x694, 0x81f, 0x694, 0x7de, 0x677, 0x7de, 0x677, -0x790, 0x649, 0x790, 0x649, 0x619, 0x4ed, 0x619, 0x4ed, 0x637, 0x522, 0x637, -0x522, 0x650, 0x54c, 0x650, 0x54c, 0x650, 0x54c, 0x6a2, 0x5aa, 0x6a2, 0x5aa, -0x7c1, 0x6d1, 0x7c1, 0x6d1, 0x6b8, 0x5cd, 0x6b8, 0x5cd, 0x59c, 0x4b5, 0x59c, -0x4b5, 0x643, 0x55f, 0x643, 0x55f, 0x768, 0x688, 0x768, 0x688, 0x768, 0x688, -0x624, 0x54a, 0x624, 0x54a, 0x5dc, 0x50c, 0x5dc, 0x50c, 0x655, 0x593, 0x655, -0x593, 0x708, 0x659, 0x708, 0x659, 0x84a, 0x7b5, 0x84a, 0x7b5, 0x737, 0x6c2, -0x737, 0x6c2, 0x737, 0x6c2, 0x6dc, 0x68d, 0x6dc, 0x68d, 0x769, 0x747, 0x769, -0x747, 0x671, 0x681, 0x671, 0x681, 0x53b, 0x582, 0x53b, 0x582, 0x557, 0x5d8, -0x557, 0x5d8, 0x557, 0x5d8, 0x476, 0x533, 0x476, 0x533, 0x31f, 0x419, 0x31f, -0x419, 0x237, 0x36e, 0x237, 0x36e, 0xd3, 0x245, 0xd3, 0x245, 0xfe88, 0x32, -0xfe88, 0x32, 0xfde4, 0xffc3, 0xfde4, 0xffc3, 0xfde4, 0xffc3, 0xff80, 0x18e, 0xff80, -0x18e, 0xff24, 0x15d, 0xff24, 0x15d, 0xfe24, 0x82, 0xfe24, 0x82, 0xfd41, 0xffbf, -0xfd41, 0xffbf, 0xfcf3, 0xff8b, 0xfcf3, 0xff8b, 0xfcf3, 0xff8b, 0xfdbc, 0x6a, 0xfdbc, -0x6a, 0xfdb2, 0x71, 0xfdb2, 0x71, 0xfcbf, 0xff8d, 0xfcbf, 0xff8d, 0xfcf9, 0xffd3, -0xfcf9, 0xffd3, 0xfcde, 0xffc4, 0xfcde, 0xffc4, 0xfc9d, 0xff8f, 0xfc9d, 0xff8f, 0xfc9d, -0xff8f, 0xfe6a, 0x167, 0xfe6a, 0x167, 0xfe4b, 0x157, 0xfe4b, 0x157, 0xfb83, 0xfe9e, -0xfb83, 0xfe9e, 0xfa43, 0xfd6f, 0xfa43, 0xfd6f, 0xfaee, 0xfe2e, 0xfaee, 0xfe2e, 0xf9c6, -0xfd19, 0xf9c6, 0xfd19, 0xf9c6, 0xfd19, 0xf766, 0xface, 0xf766, 0xface, 0xf41f, 0xf799, -0xf41f, 0xf799, 0xf169, 0xf4f3, 0xf169, 0xf4f3, 0xf0fd, 0xf493, 0xf0fd, 0xf493, 0xf03a, -0xf3d4, 0xf03a, 0xf3d4, 0xf03a, 0xf3d4, 0xeede, 0xf276, 0xeede, 0xf276, 0xed4e, 0xf0d9, -0xed4e, 0xf0d9, 0xec20, 0xef92, 0xec20, 0xef92, 0xea3e, 0xed8a, 0xea3e, 0xed8a, 0xea16, -0xed2e, 0xea16, 0xed2e, 0xea35, 0xed0a, 0xea35, 0xed0a, 0xea35, 0xed0a, 0xe9a6, 0xec29, -0xe9a6, 0xec29, 0xeba3, 0xedc4, 0xeba3, 0xedc4, 0xedd4, 0xef86, 0xedd4, 0xef86, 0xef9a, -0xf0ce, 0xef9a, 0xf0ce, 0xf0d3, 0xf17e, 0xf0d3, 0xf17e, 0xf2a0, 0xf2b8, 0xf2a0, 0xf2b8, -0xf2a0, 0xf2b8, 0xf3f7, 0xf376, 0xf3f7, 0xf376, 0xf555, 0xf435, 0xf555, 0xf435, 0xf7c0, -0xf600, 0xf7c0, 0xf600, 0xfba5, 0xf948, 0xfba5, 0xf948, 0xffdd, 0xfce6, 0xffdd, 0xfce6, -0xffdd, 0xfce6, 0x29d, 0xff15, 0x29d, 0xff15, 0x571, 0x162, 0x571, 0x162, 0x7ca, -0x340, 0x7ca, 0x340, 0xa79, 0x583, 0xa79, 0x583, 0xe59, 0x906, 0xe59, 0x906, -0x11b1, 0xc14, 0x11b1, 0xc14, 0x11b1, 0xc14, 0x1385, 0xdb0, 0x1385, 0xdb0, 0x1606, -0x100a, 0x1606, 0x100a, 0x1753, 0x1142, 0x1753, 0x1142, 0x1775, 0x115e, 0x1775, 0x115e, -0x181e, 0x1211, 0x181e, 0x1211, 0x1903, 0x130e, 0x1903, 0x130e, 0x1903, 0x130e, 0x19bd, -0x13eb, 0x19bd, 0x13eb, 0x1b34, 0x1590, 0x1b34, 0x1590, 0x1c46, 0x16d6, 0x1c46, 0x16d6, -0x1b55, 0x161f, 0x1b55, 0x161f, 0x1cba, 0x17c2, 0x1cba, 0x17c2, 0x1cba, 0x17c2, 0x1d20, -0x1868, 0x1d20, 0x1868, 0x1ae1, 0x166a, 0x1ae1, 0x166a, 0x194e, 0x1517, 0x194e, 0x1517, -0x17c9, 0x13d1, 0x17c9, 0x13d1, 0x16bd, 0x1302, 0x16bd, 0x1302, 0x176c, 0x13ec, 0x176c, -0x13ec, 0x176c, 0x13ec, 0x178f, 0x1449, 0x178f, 0x1449, 0x14f5, 0x11e8, 0x14f5, 0x11e8, -0x131c, 0x1047, 0x131c, 0x1047, 0x1288, 0xfea, 0x1288, 0xfea, 0x11a7, 0xf42, 0x11a7, -0xf42, 0x114d, 0xf21, 0x114d, 0xf21, 0x114d, 0xf21, 0x1012, 0xe22, 0x1012, 0xe22, -0xde7, 0xc35, 0xde7, 0xc35, 0xcbd, 0xb4d, 0xcbd, 0xb4d, 0xc6f, 0xb42, 0xc6f, -0xb42, 0xa67, 0x981, 0xa67, 0x981, 0xa67, 0x981, 0x7f1, 0x754, 0x7f1, 0x754, -0x5c4, 0x572, 0x5c4, 0x572, 0x3aa, 0x3a3, 0x3aa, 0x3a3, 0x34a, 0x38f, 0x34a, -0x38f, 0x2cf, 0x35d, 0x2cf, 0x35d, 0xff, 0x1d3, 0xff, 0x1d3, 0xff, 0x1d3, -0x3b, 0x150, 0x3b, 0x150, 0x5f, 0x1b0, 0x5f, 0x1b0, 0xff7c, 0x103, 0xff7c, -0x103, 0xfeb7, 0x6b, 0xfeb7, 0x6b, 0xfc42, 0xfe1b, 0xfc42, 0xfe1b, 0xf95a, 0xfb4e, -0xf95a, 0xfb4e, 0xf95a, 0xfb4e, 0xf704, 0xf90c, 0xf704, 0xf90c, 0xf705, 0xf918, 0xf705, -0xf918, 0xf7ed, 0xfa03, 0xf7ed, 0xfa03, 0xf758, 0xf969, 0xf758, 0xf969, 0xf6ab, 0xf8b3, -0xf6ab, 0xf8b3, 0xf6ab, 0xf8b3, 0xf646, 0xf83f, 0xf646, 0xf83f, 0xf67b, 0xf863, 0xf67b, -0xf863, 0xf62c, 0xf802, 0xf62c, 0xf802, 0xf6b5, 0xf87a, 0xf6b5, 0xf87a, 0xf6e0, 0xf896, -0xf6e0, 0xf896, 0xf779, 0xf923, 0xf779, 0xf923, 0xf779, 0xf923, 0xf71b, 0xf8be, 0xf71b, -0xf8be, 0xf667, 0xf809, 0xf667, 0xf809, 0xf64e, 0xf7f4, 0xf64e, 0xf7f4, 0xf63a, 0xf7ed, -0xf63a, 0xf7ed, 0xf5e1, 0xf7a5, 0xf5e1, 0xf7a5, 0xf56e, 0xf748, 0xf56e, 0xf748, 0xf56e, -0xf748, 0xf638, 0xf82d, 0xf638, 0xf82d, 0xf652, 0xf865, 0xf652, 0xf865, 0xf5f0, 0xf822, -0xf5f0, 0xf822, 0xf545, 0xf795, 0xf545, 0xf795, 0xf3c3, 0xf62f, 0xf3c3, 0xf62f, 0xf3c3, -0xf62f, 0xf2d4, 0xf558, 0xf2d4, 0xf558, 0xf2f9, 0xf58e, 0xf2f9, 0xf58e, 0xf178, 0xf416, -0xf178, 0xf416, 0xefd6, 0xf273, 0xefd6, 0xf273, 0xef72, 0xf204, 0xef72, 0xf204, 0xefc5, -0xf240, 0xefc5, 0xf240, 0xefc5, 0xf240, 0xee8a, 0xf0e3, 0xee8a, 0xf0e3, 0xec6c, 0xee96, -0xec6c, 0xee96, 0xeb31, 0xed22, 0xeb31, 0xed22, 0xebf1, 0xed9f, 0xebf1, 0xed9f, 0xedfb, -0xef5e, 0xedfb, 0xef5e, 0xef7d, 0xf08d, 0xef7d, 0xf08d, 0xef7d, 0xf08d, 0xf12f, 0xf1e7, -0xf12f, 0xf1e7, 0xf19f, 0xf1fc, 0xf19f, 0xf1fc, 0xf181, 0xf184, 0xf181, 0xf184, 0xf3de, -0xf389, 0xf3de, 0xf389, 0xf6cc, 0xf623, 0xf6cc, 0xf623, 0xf6cc, 0xf623, 0xf79d, 0xf6a6, -0xf79d, 0xf6a6, 0xf7ce, 0xf691, 0xf7ce, 0xf691, 0xf981, 0xf808, 0xf981, 0xf808, 0xfcf5, -0xfb4c, 0xfcf5, 0xfb4c, 0xfd0c, 0xfb3c, 0xfd0c, 0xfb3c, 0xfbd3, 0xf9ea, 0xfbd3, 0xf9ea, -0xfbd3, 0xf9ea, 0xfbb9, 0xf9c1, 0xfbb9, 0xf9c1, 0xfc1d, 0xfa22, 0xfc1d, 0xfa22, 0xfd4a, -0xfb54, 0xfd4a, 0xfb54, 0xfe85, 0xfc9f, 0xfe85, 0xfc9f, 0xfecc, 0xfcfc, 0xfecc, 0xfcfc, -0xfff6, 0xfe43, 0xfff6, 0xfe43, 0xfff6, 0xfe43, 0x58, 0xfec4, 0x58, 0xfec4, 0xffda, -0xfe69, 0xffda, 0xfe69, 0x1de, 0x8f, 0x1de, 0x8f, 0x250, 0x123, 0x250, 0x123, -0x21f, 0x112, 0x21f, 0x112, 0x21f, 0x112, 0x3a5, 0x2b4, 0x3a5, 0x2b4, 0x534, -0x45d, 0x534, 0x45d, 0x428, 0x367, 0x428, 0x367, 0x467, 0x3b7, 0x467, 0x3b7, -0x48e, 0x3ec, 0x48e, 0x3ec, 0x4ae, 0x418, 0x4ae, 0x418, 0x4ae, 0x418, 0x60e, -0x581, 0x60e, 0x581, 0x72d, 0x6a9, 0x72d, 0x6a9, 0x815, 0x799, 0x815, 0x799, -0x790, 0x71e, 0x790, 0x71e, 0x825, 0x7c0, 0x825, 0x7c0, 0x825, 0x7c0, 0xa0a, -0x9b5, 0xa0a, 0x9b5, 0xb32, 0xaf0, 0xb32, 0xaf0, 0xb36, 0xb0d, 0xb36, 0xb0d, -0xb16, 0xb0b, 0xb16, 0xb0b, 0xb74, 0xb8c, 0xb74, 0xb8c, 0xcb5, 0xcf5, 0xcb5, -0xcf5, 0xcb5, 0xcf5, 0xccc, 0xd39, 0xccc, 0xd39, 0xd15, 0xdb2, 0xd15, 0xdb2, -0xc91, 0xd60, 0xc91, 0xd60, 0xc2f, 0xd31, 0xc2f, 0xd31, 0xb07, 0xc3d, 0xb07, -0xc3d, 0x9bd, 0xb26, 0x9bd, 0xb26, 0x9bd, 0xb26, 0x92f, 0xac8, 0x92f, 0xac8, -0x698, 0x85d, 0x698, 0x85d, 0x53f, 0x72c, 0x53f, 0x72c, 0x659, 0x869, 0x659, -0x869, 0x5ad, 0x7da, 0x5ad, 0x7da, 0x5ad, 0x7da, 0x4f1, 0x734, 0x4f1, 0x734, -0x5c8, 0x81a, 0x5c8, 0x81a, 0x440, 0x69c, 0x440, 0x69c, 0x388, 0x5e9, 0x388, -0x5e9, 0x37f, 0x5df, 0x37f, 0x5df, 0x37b, 0x5d9, 0x37b, 0x5d9, 0x37b, 0x5d9, -0x2a4, 0x4fc, 0x2a4, 0x4fc, 0x121, 0x372, 0x121, 0x372, 0xb, 0x255, 0xb, -0x255, 0x17a, 0x3be, 0x17a, 0x3be, 0x1ef, 0x430, 0x1ef, 0x430, 0xfeca, 0x10a, -0xfeca, 0x10a, 0xfeca, 0x10a, 0xfb12, 0xfd56, 0xfb12, 0xfd56, 0xf9a3, 0xfbed, 0xf9a3, -0xfbed, 0xf977, 0xfbcb, 0xf977, 0xfbcb, 0xf831, 0xfa92, 0xf831, 0xfa92, 0xf688, 0xf8f7, -0xf688, 0xf8f7, 0xf688, 0xf8f7, 0xf347, 0xf5c5, 0xf347, 0xf5c5, 0xf0b5, 0xf342, 0xf0b5, -0xf342, 0xef37, 0xf1d1, 0xef37, 0xf1d1, 0xef2d, 0xf1cf, 0xef2d, 0xf1cf, 0xed37, 0xefda, -0xed37, 0xefda, 0xebfd, 0xee9a, 0xebfd, 0xee9a, 0xebfd, 0xee9a, 0xeb11, 0xed9e, 0xeb11, -0xed9e, 0xe97c, 0xebf0, 0xe97c, 0xebf0, 0xe8af, 0xeafb, 0xe8af, 0xeafb, 0xe7b0, 0xe9c9, -0xe7b0, 0xe9c9, 0xe6b0, 0xe887, 0xe6b0, 0xe887, 0xe728, 0xe8b1, 0xe728, 0xe8b1, 0xe728, -0xe8b1, 0xe965, 0xea92, 0xe965, 0xea92, 0xea40, 0xeb06, 0xea40, 0xeb06, 0xec27, 0xec7a, -0xec27, 0xec7a, 0xee04, 0xeddd, 0xee04, 0xeddd, 0xef22, 0xee79, 0xef22, 0xee79, 0xef22, -0xee79, 0xf078, 0xef4a, 0xf078, 0xef4a, 0xf33c, 0xf185, 0xf33c, 0xf185, 0xf64a, 0xf40d, -0xf64a, 0xf40d, 0xf9de, 0xf71f, 0xf9de, 0xf71f, 0xfd7a, 0xfa3d, 0xfd7a, 0xfa3d, 0x120, -0xfd70, 0x120, 0xfd70, 0x120, 0xfd70, 0x4b5, 0x9c, 0x4b5, 0x9c, 0x863, 0x3ee, -0x863, 0x3ee, 0xb3c, 0x678, 0xb3c, 0x678, 0xe60, 0x95c, 0xe60, 0x95c, 0x1320, -0xded, 0x1320, 0xded, 0x1663, 0x1110, 0x1663, 0x1110, 0x1663, 0x1110, 0x17e9, 0x1285, -0x17e9, 0x1285, 0x18f6, 0x138f, 0x18f6, 0x138f, 0x1a1e, 0x14c2, 0x1a1e, 0x14c2, 0x1afe, -0x15b9, 0x1afe, 0x15b9, 0x1c80, 0x175d, 0x1c80, 0x175d, 0x1c80, 0x175d, 0x1da0, 0x18a9, -0x1da0, 0x18a9, 0x1ed0, 0x1a0b, 0x1ed0, 0x1a0b, 0x1ea3, 0x1a15, 0x1ea3, 0x1a15, 0x1fba, -0x1b68, 0x1fba, 0x1b68, 0x1f9c, 0x1b88, 0x1f9c, 0x1b88, 0x1e1e, 0x1a4a, 0x1e1e, 0x1a4a, -0x1e1e, 0x1a4a, 0x1d09, 0x1974, 0x1d09, 0x1974, 0x1be0, 0x188a, 0x1be0, 0x188a, 0x1bc8, -0x18b1, 0x1bc8, 0x18b1, 0x1b8a, 0x18b0, 0x1b8a, 0x18b0, 0x1ab5, 0x1817, 0x1ab5, 0x1817, -0x1a70, 0x180e, 0x1a70, 0x180e, 0x1a70, 0x180e, 0x19a7, 0x177f, 0x19a7, 0x177f, 0x171f, -0x1531, 0x171f, 0x1531, 0x1707, 0x1555, 0x1707, 0x1555, 0x17e1, 0x166b, 0x17e1, 0x166b, -0x1732, 0x15f9, 0x1732, 0x15f9, 0x1732, 0x15f9, 0x139c, 0x12a1, 0x139c, 0x12a1, 0x12e3, -0x1228, 0x12e3, 0x1228, 0x1208, 0x118e, 0x1208, 0x118e, 0x108b, 0x1053, 0x108b, 0x1053, -0xde7, 0xdf2, 0xde7, 0xdf2, 0x9c1, 0xa0d, 0x9c1, 0xa0d, 0x9c1, 0xa0d, 0x7f3, -0x881, 0x7f3, 0x881, 0x673, 0x740, 0x673, 0x740, 0x4b4, 0x5bc, 0x4b4, 0x5bc, -0x283, 0x3c2, 0x283, 0x3c2, 0xf2, 0x263, 0xf2, 0x263, 0xfd2d, 0xfec9, 0xfd2d, -0xfec9, 0xfd2d, 0xfec9, 0xfc0a, 0xfdc9, 0xfc0a, 0xfdc9, 0xfc3e, 0xfe18, 0xfc3e, 0xfe18, -0xfaeb, 0xfcd8, 0xfaeb, 0xfcd8, 0xf88c, 0xfa83, 0xf88c, 0xfa83, 0xf721, 0xf91a, 0xf721, -0xf91a, 0xf721, 0xf91a, 0xf674, 0xf867, 0xf674, 0xf867, 0xf4b5, 0xf69b, 0xf4b5, 0xf69b, -0xf318, 0xf4eb, 0xf318, 0xf4eb, 0xf2c4, 0xf480, 0xf2c4, 0xf480, 0xf280, 0xf422, 0xf280, -0xf422, 0xf22c, 0xf3b2, 0xf22c, 0xf3b2, 0xf22c, 0xf3b2, 0xf221, 0xf38c, 0xf221, 0xf38c, -0xf171, 0xf2c2, 0xf171, 0xf2c2, 0xf11e, 0xf25a, 0xf11e, 0xf25a, 0xf031, 0xf15b, 0xf031, -0xf15b, 0xf071, 0xf191, 0xf071, 0xf191, 0xf00c, 0xf127, 0xf00c, 0xf127, 0xf00c, 0xf127, -0xefe7, 0xf105, 0xefe7, 0xf105, 0xef38, 0xf061, 0xef38, 0xf061, 0xef74, 0xf0ae, 0xef74, -0xf0ae, 0xf0a0, 0xf1f2, 0xf0a0, 0xf1f2, 0xef9d, 0xf10c, 0xef9d, 0xf10c, 0xef9d, 0xf10c, -0xee42, 0xefd3, 0xee42, 0xefd3, 0xee52, 0xf008, 0xee52, 0xf008, 0xee30, 0xf00b, 0xee30, -0xf00b, 0xedb0, 0xefaf, 0xedb0, 0xefaf, 0xed10, 0xef30, 0xed10, 0xef30, 0xebe7, 0xee23, -0xebe7, 0xee23, 0xebe7, 0xee23, 0xea7a, 0xeccb, 0xea7a, 0xeccb, 0xeb5c, 0xedbb, 0xeb5c, -0xedbb, 0xed27, 0xef8a, 0xed27, 0xef8a, 0xebce, 0xee2a, 0xebce, 0xee2a, 0xeaf5, 0xed40, -0xeaf5, 0xed40, 0xe9f2, 0xec21, 0xe9f2, 0xec21, 0xe9f2, 0xec21, 0xeb0b, 0xed13, 0xeb0b, -0xed13, 0xec93, 0xee69, 0xec93, 0xee69, 0xedba, 0xef56, 0xedba, 0xef56, 0xee8d, 0xefe6, -0xee8d, 0xefe6, 0xf05f, 0xf16f, 0xf05f, 0xf16f, 0xf05f, 0xf16f, 0xf220, 0xf2e3, 0xf220, -0xf2e3, 0xf361, 0xf3d4, 0xf361, 0xf3d4, 0xf60d, 0xf62f, 0xf60d, 0xf62f, 0xf92c, 0xf8fe, -0xf92c, 0xf8fe, 0xfacd, 0xfa54, 0xfacd, 0xfa54, 0xfc07, 0xfb45, 0xfc07, 0xfb45, 0xfc07, -0xfb45, 0xffca, 0xfec6, 0xffca, 0xfec6, 0xff, 0xffc1, 0xff, 0xffc1, 0x1ba, 0x4a, -0x1ba, 0x4a, 0x157, 0xffbd, 0x157, 0xffbd, 0x7f, 0xfec3, 0x7f, 0xfec3, 0x7f, -0xfec3, 0xbc, 0xfee7, 0xbc, 0xfee7, 0x409, 0x223, 0x409, 0x223, 0x621, 0x431, -0x621, 0x431, 0x772, 0x57f, 0x772, 0x57f, 0x90c, 0x71b, 0x90c, 0x71b, 0x90c, -0x722, 0x90c, 0x722, 0x90c, 0x722, 0xa85, 0x8a4, 0xa85, 0x8a4, 0xb29, 0x953, -0xb29, 0x953, 0xa31, 0x868, 0xa31, 0x868, 0x86b, 0x6af, 0x86b, 0x6af, 0x902, -0x754, 0x902, 0x754, 0x9ae, 0x80c, 0x9ae, 0x80c, 0x9ae, 0x80c, 0x993, 0x7fd, -0x993, 0x7fd, 0x864, 0x6da, 0x864, 0x6da, 0x82f, 0x6b1, 0x82f, 0x6b1, 0x80e, -0x69b, 0x80e, 0x69b, 0x887, 0x721, 0x887, 0x721, 0x887, 0x721, 0x908, 0x7b0, -0x908, 0x7b0, 0x888, 0x741, 0x888, 0x741, 0x88d, 0x75a, 0x88d, 0x75a, 0x984, -0x86a, 0x984, 0x86a, 0xa2c, 0x92f, 0xa2c, 0x92f, 0x9d9, 0x8fe, 0x9d9, 0x8fe, -0x9d9, 0x8fe, 0x949, 0x896, 0x949, 0x896, 0x7c8, 0x742, 0x7c8, 0x742, 0x7e9, -0x796, 0x7e9, 0x796, 0x8e0, 0x8c4, 0x8e0, 0x8c4, 0x9fc, 0xa1b, 0x9fc, 0xa1b, -0x85d, 0x8bb, 0x85d, 0x8bb, 0x85d, 0x8bb, 0x69c, 0x73a, 0x69c, 0x73a, 0x621, -0x701, 0x621, 0x701, 0x596, 0x6b7, 0x596, 0x6b7, 0x494, 0x5f4, 0x494, 0x5f4, -0x311, 0x4ae, 0x311, 0x4ae, 0x311, 0x4ae, 0x64, 0x23a, 0x64, 0x23a, 0xff80, -0x189, 0xff80, 0x189, 0xff95, 0x1cc, 0xff95, 0x1cc, 0xfe55, 0xb3, 0xfe55, 0xb3, -0xfd55, 0xffd2, 0xfd55, 0xffd2, 0xfc5c, 0xfef3, 0xfc5c, 0xfef3, 0xfc5c, 0xfef3, 0xfbe2, -0xfe8a, 0xfbe2, 0xfe8a, 0xfc61, 0xff15, 0xfc61, 0xff15, 0xfcef, 0xffa9, 0xfcef, 0xffa9, -0xfb25, 0xfde1, 0xfb25, 0xfde1, 0xfb32, 0xfdeb, 0xfb32, 0xfdeb, 0xfbeb, 0xfe9f, 0xfbeb, -0xfe9f, 0xfbeb, 0xfe9f, 0xfd14, 0xffc2, 0xfd14, 0xffc2, 0xfc34, 0xfeda, 0xfc34, 0xfeda, -0xfb70, 0xfe0e, 0xfb70, 0xfe0e, 0xf98c, 0xfc24, 0xf98c, 0xfc24, 0xf77f, 0xfa13, 0xf77f, -0xfa13, 0xf77f, 0xfa13, 0xf70d, 0xf99e, 0xf70d, 0xf99e, 0xf5a5, 0xf835, 0xf5a5, 0xf835, -0xf5b8, 0xf84a, 0xf5b8, 0xf84a, 0xf40a, 0xf69e, 0xf40a, 0xf69e, 0xf125, 0xf3bb, 0xf125, -0xf3bb, 0xef81, 0xf21a, 0xef81, 0xf21a, 0xef81, 0xf21a, 0xef98, 0xf230, 0xef98, 0xf230, -0xee21, 0xf0b6, 0xee21, 0xf0b6, 0xecf7, 0xef83, 0xecf7, 0xef83, 0xeaee, 0xed6c, 0xeaee, -0xed6c, 0xe967, 0xebd0, 0xe967, 0xebd0, 0xe944, 0xeb8e, 0xe944, 0xeb8e, 0xe944, 0xeb8e, -0xe9e1, 0xec03, 0xe9e1, 0xec03, 0xe93e, 0xeb2c, 0xe93e, 0xeb2c, 0xe8c1, 0xea72, 0xe8c1, -0xea72, 0xe978, 0xeae0, 0xe978, 0xeae0, 0xeb27, 0xec3b, 0xeb27, 0xec3b, 0xeb27, 0xec3b, -0xee7b, 0xef31, 0xee7b, 0xef31, 0xf03d, 0xf08d, 0xf03d, 0xf08d, 0xf1db, 0xf1bc, 0xf1db, -0xf1bc, 0xf342, 0xf2ad, 0xf342, 0xf2ad, 0xf5ab, 0xf49d, 0xf5ab, 0xf49d, 0xf7e5, 0xf65b, -0xf7e5, 0xf65b, 0xf7e5, 0xf65b, 0xfb13, 0xf90d, 0xfb13, 0xf90d, 0xfdb1, 0xfb31, 0xfdb1, -0xfb31, 0x1b0, 0xfebb, 0x1b0, 0xfebb, 0x5b3, 0x24f, 0x5b3, 0x24f, 0x934, 0x568, -0x934, 0x568, 0xc42, 0x819, 0xc42, 0x819, 0xc42, 0x819, 0xe41, 0x9c6, 0xe41, -0x9c6, 0x11e4, 0xd23, 0x11e4, 0xd23, 0x15f0, 0x10f6, 0x15f0, 0x10f6, 0x1948, 0x1423, -0x1948, 0x1423, 0x1b54, 0x1611, 0x1b54, 0x1611, 0x1b54, 0x1611, 0x1c6d, 0x1719, 0x1c6d, -0x1719, 0x1d7a, 0x1822, 0x1d7a, 0x1822, 0x1e76, 0x1926, 0x1e76, 0x1926, 0x1eb7, 0x1979, -0x1eb7, 0x1979, 0x1f97, 0x1a75, 0x1f97, 0x1a75, 0x1f6a, 0x1a6d, 0x1f6a, 0x1a6d, 0x1f6a, -0x1a6d, 0x20f0, 0x1c1d, 0x20f0, 0x1c1d, 0x2071, 0x1bcf, 0x2071, 0x1bcf, 0x1f9e, 0x1b32, -0x1f9e, 0x1b32, 0x1ec4, 0x1a91, 0x1ec4, 0x1a91, 0x1cea, 0x18f4, 0x1cea, 0x18f4, 0x1bab, -0x17f2, 0x1bab, 0x17f2, 0x1bab, 0x17f2, 0x1b1c, 0x17a3, 0x1b1c, 0x17a3, 0x1afd, 0x17c3, -0x1afd, 0x17c3, 0x1a5e, 0x1766, 0x1a5e, 0x1766, 0x1a21, 0x176b, 0x1a21, 0x176b, 0x18bd, -0x1649, 0x18bd, 0x1649, 0x18bd, 0x1649, 0x17c4, 0x1594, 0x17c4, 0x1594, 0x1677, 0x148c, -0x1677, 0x148c, 0x15b3, 0x140e, 0x15b3, 0x140e, 0x13a5, 0x1246, 0x13a5, 0x1246, 0x1378, -0x1262, 0x1378, 0x1262, 0x1340, 0x1272, 0x1340, 0x1272, 0x1340, 0x1272, 0x1189, 0x1106, -0x1189, 0x1106, 0xef7, 0xebf, 0xef7, 0xebf, 0xca7, 0xcb9, 0xca7, 0xcb9, 0x9f2, -0xa4e, 0x9f2, 0xa4e, 0x87d, 0x921, 0x87d, 0x921, 0x79c, 0x886, 0x79c, 0x886, -0x79c, 0x886, 0x509, 0x635, 0x509, 0x635, 0x444, 0x5ae, 0x444, 0x5ae, 0x2a8, -0x44b, 0x2a8, 0x44b, 0xfc, 0x2d2, 0xfc, 0x2d2, 0xff20, 0x122, 0xff20, 0x122, -0xff20, 0x122, 0xfe46, 0x6c, 0xfe46, 0x6c, 0xfbf0, 0xfe31, 0xfbf0, 0xfe31, 0xfa65, -0xfcba, 0xfa65, 0xfcba, 0xf943, 0xfba4, 0xf943, 0xfba4, 0xf7b7, 0xfa1d, 0xf7b7, 0xfa1d, -0xf6b2, 0xf915, 0xf6b2, 0xf915, 0xf6b2, 0xf915, 0xf63f, 0xf89a, 0xf63f, 0xf89a, 0xf531, -0xf77e, 0xf531, 0xf77e, 0xf50e, 0xf74a, 0xf50e, 0xf74a, 0xf5ab, 0xf7d4, 0xf5ab, 0xf7d4, -0xf594, 0xf7a8, 0xf594, 0xf7a8, 0xf4c9, 0xf6c9, 0xf4c9, 0xf6c9, 0xf4c9, 0xf6c9, 0xf2ca, -0xf4b8, 0xf2ca, 0xf4b8, 0xf343, 0xf521, 0xf343, 0xf521, 0xf2e7, 0xf4bb, 0xf2e7, 0xf4bb, -0xf234, 0xf402, 0xf234, 0xf402, 0xf0d5, 0xf2a4, 0xf0d5, 0xf2a4, 0xf0d5, 0xf2a4, 0xf0de, -0xf2b3, 0xf0de, 0xf2b3, 0xf121, 0xf302, 0xf121, 0xf302, 0xf183, 0xf376, 0xf183, 0xf376, -0xf0cd, 0xf2d6, 0xf0cd, 0xf2d6, 0xef3a, 0xf15e, 0xef3a, 0xf15e, 0xeee2, 0xf124, 0xeee2, -0xf124, 0xeee2, 0xf124, 0xeed2, 0xf133, 0xeed2, 0xf133, 0xee54, 0xf0d4, 0xee54, 0xf0d4, -0xee2a, 0xf0c7, 0xee2a, 0xf0c7, 0xec3e, 0xeef5, 0xec3e, 0xeef5, 0xe9a9, 0xec75, 0xe9a9, -0xec75, 0xe9a9, 0xec75, 0xea00, 0xecda, 0xea00, 0xecda, 0xe95c, 0xec3c, 0xe95c, 0xec3c, -0xe859, 0xeb36, 0xe859, 0xeb36, 0xe76b, 0xea3a, 0xe76b, 0xea3a, 0xe832, 0xeaea, 0xe832, -0xeaea, 0xe801, 0xea96, 0xe801, 0xea96, 0xe801, 0xea96, 0xe8f4, 0xeb5b, 0xe8f4, 0xeb5b, -0xe892, 0xeac2, 0xe892, 0xeac2, 0xe957, 0xeb46, 0xe957, 0xeb46, 0xeadf, 0xec83, 0xeadf, -0xec83, 0xeb93, 0xece6, 0xeb93, 0xece6, 0xed30, 0xee2d, 0xed30, 0xee2d, 0xed30, 0xee2d, -0xef11, 0xefb3, 0xef11, 0xefb3, 0xf1cf, 0xf215, 0xf1cf, 0xf215, 0xf2cf, 0xf2b7, 0xf2cf, -0xf2b7, 0xf577, 0xf502, 0xf577, 0xf502, 0xf80f, 0xf740, 0xf80f, 0xf740, 0xf80f, 0xf740, -0xf988, 0xf863, 0xf988, 0xf863, 0xf9f0, 0xf87a, 0xf9f0, 0xf87a, 0xfa82, 0xf8c1, 0xfa82, -0xf8c1, 0xfaaf, 0xf8aa, 0xfaaf, 0xf8aa, 0xfc3e, 0xf9fd, 0xfc3e, 0xf9fd, 0xfd03, 0xfa8e, -0xfd03, 0xfa8e, 0xfd03, 0xfa8e, 0xfe87, 0xfbe5, 0xfe87, 0xfbe5, 0xffbf, 0xfcf9, 0xffbf, -0xfcf9, 0x159, 0xfe74, 0x159, 0xfe74, 0x322, 0x28, 0x322, 0x28, 0x42b, 0x122, -0x42b, 0x122, 0x564, 0x251, 0x564, 0x251, 0x564, 0x251, 0x52d, 0x216, 0x52d, -0x216, 0x6ff, 0x3ea, 0x6ff, 0x3ea, 0x82d, 0x51e, 0x82d, 0x51e, 0x8a7, 0x5a2, -0x8a7, 0x5a2, 0x845, 0x54f, 0x845, 0x54f, 0x845, 0x54f, 0x922, 0x63f, 0x922, -0x63f, 0x8a3, 0x5d6, 0x8a3, 0x5d6, 0x85a, 0x5a8, 0x85a, 0x5a8, 0x845, 0x5b3, -0x845, 0x5b3, 0x906, 0x699, 0x906, 0x699, 0xa88, 0x844, 0xa88, 0x844, 0xa88, -0x844, 0xb77, 0x962, 0xb77, 0x962, 0xc9b, 0xaba, 0xc9b, 0xaba, 0xd95, 0xbee, -0xd95, 0xbee, 0xd71, 0xc0a, 0xd71, 0xc0a, 0xcb0, 0xb8f, 0xcb0, 0xb8f, 0xd72, -0xc9c, 0xd72, 0xc9c, 0xd72, 0xc9c, 0xe80, 0xdfa, 0xe80, 0xdfa, 0x106b, 0x103a, -0x106b, 0x103a, 0x10a1, 0x10c7, 0x10a1, 0x10c7, 0xf76, 0xff7, 0xf76, 0xff7, 0xd68, -0xe45, 0xd68, 0xe45, 0xd68, 0xe45, 0xca9, 0xde1, 0xca9, 0xde1, 0xb9d, 0xd30, -0xb9d, 0xd30, 0xb9a, 0xd84, 0xb9a, 0xd84, 0x916, 0xb54, 0x916, 0xb54, 0x6c1, -0x94c, 0x6c1, 0x94c, 0x665, 0x937, 0x665, 0x937, 0x665, 0x937, 0x536, 0x848, -0x536, 0x848, 0x3b0, 0x6f8, 0x3b0, 0x6f8, 0x22e, 0x5a4, 0x22e, 0x5a4, 0x1ab, -0x544, 0x1ab, 0x544, 0x108, 0x4bc, 0x108, 0x4bc, 0xf7, 0x4bb, 0xf7, 0x4bb, -0xf7, 0x4bb, 0xff79, 0x343, 0xff79, 0x343, 0xff6e, 0x338, 0xff6e, 0x338, 0xfeca, -0x28a, 0xfeca, 0x28a, 0xfdd3, 0x182, 0xfdd3, 0x182, 0xfc1d, 0xffb6, 0xfc1d, 0xffb6, -0xfc1d, 0xffb6, 0xfcd8, 0x56, 0xfcd8, 0x56, 0xfc42, 0xffa1, 0xfc42, 0xffa1, 0xfa0c, -0xfd4b, 0xfa0c, 0xfd4b, 0xf8f2, 0xfc0d, 0xf8f2, 0xfc0d, 0xf787, 0xfa7f, 0xf787, 0xfa7f, -0xf617, 0xf8ec, 0xf617, 0xf8ec, 0xf617, 0xf8ec, 0xf455, 0xf707, 0xf455, 0xf707, 0xf1b7, -0xf447, 0xf1b7, 0xf447, 0xeefd, 0xf16b, 0xeefd, 0xf16b, 0xee16, 0xf062, 0xee16, 0xf062, -0xec70, 0xee9a, 0xec70, 0xee9a, 0xec4a, 0xee52, 0xec4a, 0xee52, 0xec4a, 0xee52, 0xead8, -0xecbc, 0xead8, 0xecbc, 0xe907, 0xeac4, 0xe907, 0xeac4, 0xe654, 0xe7e8, 0xe654, 0xe7e8, -0xe623, 0xe789, 0xe623, 0xe789, 0xe582, 0xe6b5, 0xe582, 0xe6b5, 0xe582, 0xe6b5, 0xe470, -0xe56a, 0xe470, 0xe56a, 0xe466, 0xe521, 0xe466, 0xe521, 0xe533, 0xe5a8, 0xe533, 0xe5a8, -0xe6b8, 0xe6e0, 0xe6b8, 0xe6e0, 0xe790, 0xe764, 0xe790, 0xe764, 0xeb10, 0xea8a, 0xeb10, -0xea8a, 0xeb10, 0xea8a, 0xedd5, 0xecef, 0xedd5, 0xecef, 0xefab, 0xee60, 0xefab, 0xee60, -0xf0f9, 0xef46, 0xf0f9, 0xef46, 0xf37b, 0xf15e, 0xf37b, 0xf15e, 0xf70f, 0xf487, 0xf70f, -0xf487, 0xfbcf, 0xf8de, 0xfbcf, 0xf8de, 0xfbcf, 0xf8de, 0xfe76, 0xfb1d, 0xfe76, 0xfb1d, -0x1de, 0xfe23, 0x1de, 0xfe23, 0x5cb, 0x1b4, 0x5cb, 0x1b4, 0x931, 0x4c5, 0x931, -0x4c5, 0xc1d, 0x766, 0xc1d, 0x766, 0xc1d, 0x766, 0xf80, 0xa88, 0xf80, 0xa88, -0x1337, 0xe09, 0x1337, 0xe09, 0x1627, 0x10d0, 0x1627, 0x10d0, 0x1903, 0x138f, 0x1903, -0x138f, 0x1bc9, 0x1644, 0x1bc9, 0x1644, 0x1da7, 0x181d, 0x1da7, 0x181d, 0x1da7, 0x181d, -0x1ece, 0x194c, 0x1ece, 0x194c, 0x222b, 0x1cbb, 0x222b, 0x1cbb, 0x22cb, 0x1d77, 0x22cb, -0x1d77, 0x2374, 0x1e46, 0x2374, 0x1e46, 0x2476, 0x1f76, 0x2476, 0x1f76, 0x2578, 0x20ad, -0x2578, 0x20ad, 0x2578, 0x20ad, 0x249a, 0x200a, 0x249a, 0x200a, 0x2359, 0x1f09, 0x2359, -0x1f09, 0x2196, 0x1d8a, 0x2196, 0x1d8a, 0x2156, 0x1d91, 0x2156, 0x1d91, 0x21de, 0x1e61, -0x21de, 0x1e61, 0x21de, 0x1e61, 0x2066, 0x1d33, 0x2066, 0x1d33, 0x1f43, 0x1c5b, 0x1f43, -0x1c5b, 0x1f01, 0x1c65, 0x1f01, 0x1c65, 0x1e80, 0x1c2f, 0x1e80, 0x1c2f, 0x1c26, 0x1a21, -0x1c26, 0x1a21, 0x1be7, 0x1a2e, 0x1be7, 0x1a2e, 0x1be7, 0x1a2e, 0x1a90, 0x1924, 0x1a90, -0x1924, 0x1890, 0x1770, 0x1890, 0x1770, 0x1776, 0x16a4, 0x1776, 0x16a4, 0x16fb, 0x1676, -0x16fb, 0x1676, 0x146a, 0x1433, 0x146a, 0x1433, 0x127a, 0x1291, 0x127a, 0x1291, 0x127a, -0x1291, 0xf7c, 0xfe0, 0xf7c, 0xfe0, 0xd2b, 0xddd, 0xd2b, 0xddd, 0xabc, 0xbba, -0xabc, 0xbba, 0x81f, 0x967, 0x81f, 0x967, 0x677, 0x806, 0x677, 0x806, 0x677, -0x806, 0x45f, 0x632, 0x45f, 0x632, 0x2ae, 0x4c1, 0x2ae, 0x4c1, 0xff6a, 0x1b8, -0xff6a, 0x1b8, 0xfe6b, 0xed, 0xfe6b, 0xed, 0xfc1e, 0xfecd, 0xfc1e, 0xfecd, 0xfa83, -0xfd59, 0xfa83, 0xfd59, 0xfa83, 0xfd59, 0xf87f, 0xfb74, 0xf87f, 0xfb74, 0xf6bb, 0xf9c5, -0xf6bb, 0xf9c5, 0xf49d, 0xf7b5, 0xf49d, 0xf7b5, 0xf262, 0xf581, 0xf262, 0xf581, 0xf137, -0xf455, 0xf137, 0xf455, 0xf137, 0xf455, 0xf07c, 0xf391, 0xf07c, 0xf391, 0xef3b, 0xf242, -0xef3b, 0xf242, 0xeea2, 0xf196, 0xeea2, 0xf196, 0xef3c, 0xf219, 0xef3c, 0xf219, 0xef7f, -0xf244, 0xef7f, 0xf244, 0xeffa, 0xf2a4, 0xeffa, 0xf2a4, 0xeffa, 0xf2a4, 0xeeac, 0xf13d, -0xeeac, 0xf13d, 0xecbb, 0xef35, 0xecbb, 0xef35, 0xebd5, 0xee3a, 0xebd5, 0xee3a, 0xed45, -0xef98, 0xed45, 0xef98, 0xedc4, 0xf00a, 0xedc4, 0xf00a, 0xee37, 0xf075, 0xee37, 0xf075, -0xee37, 0xf075, 0xecc9, 0xef04, 0xecc9, 0xef04, 0xece6, 0xef24, 0xece6, 0xef24, 0xedcd, -0xf012, 0xedcd, 0xf012, 0xee67, 0xf0b7, 0xee67, 0xf0b7, 0xed5f, 0xefbe, 0xed5f, 0xefbe, -0xed5f, 0xefbe, 0xebe7, 0xee55, 0xebe7, 0xee55, 0xebb1, 0xee31, 0xebb1, 0xee31, 0xea16, -0xeca6, 0xea16, 0xeca6, 0xe8e3, 0xeb80, 0xe8e3, 0xeb80, 0xe7ec, 0xea93, 0xe7ec, 0xea93, -0xe825, 0xead0, 0xe825, 0xead0, 0xe825, 0xead0, 0xe873, 0xeb1c, 0xe873, 0xeb1c, 0xe8b7, -0xeb55, 0xe8b7, 0xeb55, 0xe7e8, 0xea73, 0xe7e8, 0xea73, 0xe84a, 0xeaba, 0xe84a, 0xeaba, -0xe8e6, 0xeb30, 0xe8e6, 0xeb30, 0xea69, 0xec84, 0xea69, 0xec84, 0xea69, 0xec84, 0xeb2d, -0xed10, 0xeb2d, 0xed10, 0xed84, 0xef26, 0xed84, 0xef26, 0xefab, 0xf106, 0xefab, 0xf106, -0xf1fb, 0xf307, 0xf1fb, 0xf307, 0xf4b1, 0xf56a, 0xf4b1, 0xf56a, 0xf4b1, 0xf56a, 0xf5e1, -0xf642, 0xf5e1, 0xf642, 0xf813, 0xf81c, 0xf813, 0xf81c, 0xfaa8, 0xfa58, 0xfaa8, 0xfa58, -0xfd27, 0xfc80, 0xfd27, 0xfc80, 0xfea3, 0xfda7, 0xfea3, 0xfda7, 0x33, 0xfee7, 0x33, -0xfee7, 0x33, 0xfee7, 0x28, 0xfe90, 0x28, 0xfe90, 0x1ce, 0xfff2, 0x1ce, 0xfff2, -0x279, 0x60, 0x279, 0x60, 0x3e5, 0x196, 0x3e5, 0x196, 0x506, 0x289, 0x506, -0x289, 0x796, 0x4f4, 0x796, 0x4f4, 0x796, 0x4f4, 0x982, 0x6c1, 0x982, 0x6c1, -0x9ab, 0x6d4, 0x9ab, 0x6d4, 0xab1, 0x7cb, 0xab1, 0x7cb, 0xac6, 0x7d6, 0xac6, -0x7d6, 0xb2d, 0x839, 0xb2d, 0x839, 0xb2d, 0x839, 0xa82, 0x790, 0xa82, 0x790, -0xa78, 0x78c, 0xa78, 0x78c, 0xab0, 0x7ce, 0xab0, 0x7ce, 0xc5d, 0x988, 0xc5d, -0x988, 0xc87, 0x9c2, 0xc87, 0x9c2, 0xb76, 0x8c5, 0xb76, 0x8c5, 0xb76, 0x8c5, -0xa8e, 0x7f3, 0xa8e, 0x7f3, 0xa5d, 0x7db, 0xa5d, 0x7db, 0x9d6, 0x771, 0x9d6, -0x771, 0xae1, 0x89b, 0xae1, 0x89b, 0xadd, 0x8ba, 0xadd, 0x8ba, 0xa29, 0x82d, -0xa29, 0x82d, 0xa29, 0x82d, 0x97e, 0x7ad, 0x97e, 0x7ad, 0x993, 0x7f3, 0x993, -0x7f3, 0x9e8, 0x87d, 0x9e8, 0x87d, 0x892, 0x760, 0x892, 0x760, 0x912, 0x81d, -0x912, 0x81d, 0x912, 0x81d, 0x8ea, 0x838, 0x8ea, 0x838, 0x8b9, 0x84c, 0x8b9, -0x84c, 0x87c, 0x859, 0x87c, 0x859, 0x890, 0x8b8, 0x890, 0x8b8, 0x6a6, 0x71a, -0x6a6, 0x71a, 0x5ea, 0x6ac, 0x5ea, 0x6ac, 0x5ea, 0x6ac, 0x4f2, 0x600, 0x4f2, -0x600, 0x3c9, 0x523, 0x3c9, 0x523, 0x2e6, 0x487, 0x2e6, 0x487, 0xaf, 0x292, -0xaf, 0x292, 0xfea7, 0xc8, 0xfea7, 0xc8, 0xfe89, 0xe1, 0xfe89, 0xe1, 0xfe89, -0xe1, 0xfe96, 0x11e, 0xfe96, 0x11e, 0xfdf1, 0xa2, 0xfdf1, 0xa2, 0xfd7e, 0x50, -0xfd7e, 0x50, 0xfd4c, 0x37, 0xfd4c, 0x37, 0xfd4c, 0x47, 0xfd4c, 0x47, 0xfd4c, -0x47, 0xfc23, 0xff28, 0xfc23, 0xff28, 0xfc2f, 0xff37, 0xfc2f, 0xff37, 0xfa45, 0xfd49, -0xfa45, 0xfd49, 0xfa57, 0xfd52, 0xfa57, 0xfd52, 0xfa37, 0xfd25, 0xfa37, 0xfd25, 0xf8b8, -0xfb95, 0xf8b8, 0xfb95, 0xf8b8, 0xfb95, 0xf6a3, 0xf96d, 0xf6a3, 0xf96d, 0xf63c, 0xf8f3, -0xf63c, 0xf8f3, 0xf5c3, 0xf864, 0xf5c3, 0xf864, 0xf4aa, 0xf736, 0xf4aa, 0xf736, 0xf36f, -0xf5e7, 0xf36f, 0xf5e7, 0xf1c6, 0xf42a, 0xf1c6, 0xf42a, 0xf1c6, 0xf42a, 0xf1ff, 0xf44e, -0xf1ff, 0xf44e, 0xf104, 0xf340, 0xf104, 0xf340, 0xefe5, 0xf20e, 0xefe5, 0xf20e, 0xeda7, -0xefbc, 0xeda7, 0xefbc, 0xec8f, 0xee8e, 0xec8f, 0xee8e, 0xec8f, 0xee8e, 0xeaa1, 0xec88, -0xeaa1, 0xec88, 0xe970, 0xeb3c, 0xe970, 0xeb3c, 0xe7e7, 0xe993, 0xe7e7, 0xe993, 0xe76b, -0xe8f1, 0xe76b, 0xe8f1, 0xe78a, 0xe8e3, 0xe78a, 0xe8e3, 0xe7fb, 0xe921, 0xe7fb, 0xe921, -0xe7fb, 0xe921, 0xe904, 0xe9ee, 0xe904, 0xe9ee, 0xe99f, 0xea46, 0xe99f, 0xea46, 0xeb94, -0xebf1, 0xeb94, 0xebf1, 0xee39, 0xee43, 0xee39, 0xee43, 0xef71, 0xef21, 0xef71, 0xef21, -0xf054, 0xefa4, 0xf054, 0xefa4, 0xf054, 0xefa4, 0xf339, 0xf223, 0xf339, 0xf223, 0xf5bb, -0xf43b, 0xf5bb, 0xf43b, 0xf995, 0xf7a9, 0xf995, 0xf7a9, 0xfc13, 0xf9bb, 0xfc13, 0xf9bb, -0xff75, 0xfcb3, 0xff75, 0xfcb3, 0xff75, 0xfcb3, 0x323, 0xfff9, 0x323, 0xfff9, 0x793, -0x406, 0x793, 0x406, 0xb1f, 0x735, 0xb1f, 0x735, 0xe50, 0xa13, 0xe50, 0xa13, -0x11ac, 0xd24, 0x11ac, 0xd24, 0x14db, 0x1013, 0x14db, 0x1013, 0x14db, 0x1013, 0x17da, -0x12de, 0x17da, 0x12de, 0x1a42, 0x151e, 0x1a42, 0x151e, 0x1c6b, 0x172b, 0x1c6b, 0x172b, -0x1d15, 0x17c7, 0x1d15, 0x17c7, 0x1f65, 0x1a14, 0x1f65, 0x1a14, 0x202a, 0x1ae1, 0x202a, -0x1ae1, 0x202a, 0x1ae1, 0x2016, 0x1ae1, 0x2016, 0x1ae1, 0x2096, 0x1b7f, 0x2096, 0x1b7f, -0x2105, 0x1c14, 0x2105, 0x1c14, 0x2118, 0x1c56, 0x2118, 0x1c56, 0x214c, 0x1cbf, 0x214c, -0x1cbf, 0x214c, 0x1cbf, 0x2042, 0x1bef, 0x2042, 0x1bef, 0x2036, 0x1c21, 0x2036, 0x1c21, -0x1e97, 0x1ac3, 0x1e97, 0x1ac3, 0x1d8d, 0x19fe, 0x1d8d, 0x19fe, 0x1d02, 0x19b8, 0x1d02, -0x19b8, 0x1cf0, 0x19ed, 0x1cf0, 0x19ed, 0x1cf0, 0x19ed, 0x1c9b, 0x19df, 0x1c9b, 0x19df, -0x1a94, 0x181f, 0x1a94, 0x181f, 0x1a8c, 0x185f, 0x1a8c, 0x185f, 0x1969, 0x1784, 0x1969, -0x1784, 0x1903, 0x1766, 0x1903, 0x1766, 0x1903, 0x1766, 0x1874, 0x1720, 0x1874, 0x1720, -0x1835, 0x1729, 0x1835, 0x1729, 0x16ae, 0x15eb, 0x16ae, 0x15eb, 0x15ae, 0x1533, 0x15ae, -0x1533, 0x1387, 0x1356, 0x1387, 0x1356, 0x1105, 0x111e, 0x1105, 0x111e, 0x1105, 0x111e, -0xe1a, 0xe7b, 0xe1a, 0xe7b, 0xb9d, 0xc46, 0xb9d, 0xc46, 0x97d, 0xa6e, 0x97d, -0xa6e, 0x79a, 0x8d0, 0x79a, 0x8d0, 0x6a3, 0x81b, 0x6a3, 0x81b, 0x49e, 0x655, -0x49e, 0x655, 0x49e, 0x655, 0x3d4, 0x5c6, 0x3d4, 0x5c6, 0x1e5, 0x40d, 0x1e5, -0x40d, 0xffeb, 0x242, 0xffeb, 0x242, 0xfebe, 0x13f, 0xfebe, 0x13f, 0xfe40, 0xe4, -0xfe40, 0xe4, 0xfe40, 0xe4, 0xfc1d, 0xfedd, 0xfc1d, 0xfedd, 0xfa52, 0xfd26, 0xfa52, -0xfd26, 0xf87a, 0xfb5c, 0xf87a, 0xfb5c, 0xf786, 0xfa6f, 0xf786, 0xfa6f, 0xf597, 0xf881, -0xf597, 0xf881, 0xf509, 0xf7ee, 0xf509, 0xf7ee, 0xf509, 0xf7ee, 0xf50d, 0xf7e8, 0xf50d, -0xf7e8, 0xf4ef, 0xf7bc, 0xf4ef, 0xf7bc, 0xf5ab, 0xf868, 0xf5ab, 0xf868, 0xf3e1, 0xf68e, -0xf3e1, 0xf68e, 0xf1f3, 0xf48e, 0xf1f3, 0xf48e, 0xf04a, 0xf2d5, 0xf04a, 0xf2d5, 0xf04a, -0xf2d5, 0xf051, 0xf2cd, 0xf051, 0xf2cd, 0xef74, 0xf1e5, 0xef74, 0xf1e5, 0xef58, 0xf1c2, -0xef58, 0xf1c2, 0xef5e, 0xf1c3, 0xef5e, 0xf1c3, 0xef08, 0xf16e, 0xef08, 0xf16e, 0xef08, -0xf16e, 0xee41, 0xf0ab, 0xee41, 0xf0ab, 0xee11, 0xf083, 0xee11, 0xf083, 0xec76, 0xeef4, -0xec76, 0xeef4, 0xeb1a, 0xeda6, 0xeb1a, 0xeda6, 0xebb9, 0xee53, 0xebb9, 0xee53, 0xebb0, -0xee59, 0xebb0, 0xee59, 0xebb0, 0xee59, 0xeaf8, 0xedaf, 0xeaf8, 0xedaf, 0xea79, 0xed3b, -0xea79, 0xed3b, 0xe8ec, 0xebb7, 0xe8ec, 0xebb7, 0xe81e, 0xeaeb, 0xe81e, 0xeaeb, 0xe83c, -0xeb06, 0xe83c, 0xeb06, 0xe6c7, 0xe986, 0xe6c7, 0xe986, 0xe6c7, 0xe986, 0xe653, 0xe8ff, -0xe653, 0xe8ff, 0xe599, 0xe82b, 0xe599, 0xe82b, 0xe636, 0xe8a4, 0xe636, 0xe8a4, 0xe610, -0xe851, 0xe610, 0xe851, 0xe869, 0xea77, 0xe869, 0xea77, 0xe869, 0xea77, 0xe922, 0xeaf4, -0xe922, 0xeaf4, 0xe90b, 0xea9b, 0xe90b, 0xea9b, 0xeb40, 0xec88, 0xeb40, 0xec88, 0xeda4, -0xeea1, 0xeda4, 0xeea1, 0xf079, 0xf127, 0xf079, 0xf127, 0xf2b0, 0xf30e, 0xf2b0, 0xf30e, -0xf2b0, 0xf30e, 0xf3df, 0xf3ef, 0xf3df, 0xf3ef, 0xf4ee, 0xf4b0, 0xf4ee, 0xf4b0, 0xf7cf, -0xf746, 0xf7cf, 0xf746, 0xfa07, 0xf938, 0xfa07, 0xf938, 0xfbd0, 0xfac0, 0xfbd0, 0xfac0, -0xfbbe, 0xfa74, 0xfbbe, 0xfa74, 0xfbbe, 0xfa74, 0xfc63, 0xfae6, 0xfc63, 0xfae6, 0xfdce, -0xfc24, 0xfdce, 0xfc24, 0xfb, 0xff2c, 0xfb, 0xff2c, 0x2e2, 0xf5, 0x2e2, 0xf5, -0x3dc, 0x1d7, 0x3dc, 0x1d7, 0x3dc, 0x1d7, 0x4fd, 0x2e8, 0x4fd, 0x2e8, 0x6db, -0x4ba, 0x6db, 0x4ba, 0x77e, 0x557, 0x77e, 0x557, 0x736, 0x50d, 0x736, 0x50d, -0x877, 0x64f, 0x877, 0x64f, 0x8f6, 0x6d2, 0x8f6, 0x6d2, 0x8f6, 0x6d2, 0x952, -0x733, 0x952, 0x733, 0x97d, 0x766, 0x97d, 0x766, 0xa88, 0x878, 0xa88, 0x878, -0x9d2, 0x7cb, 0x9d2, 0x7cb, 0x9e5, 0x7e8, 0x9e5, 0x7e8, 0x9a0, 0x7ac, 0x9a0, -0x7ac, 0x9a0, 0x7ac, 0xafe, 0x916, 0xafe, 0x916, 0xd1c, 0xb40, 0xd1c, 0xb40, -0xe45, 0xc76, 0xe45, 0xc76, 0xeaf, 0xcf0, 0xeaf, 0xcf0, 0xf5f, 0xdb4, 0xf5f, -0xdb4, 0xf5f, 0xdb4, 0x102e, 0xe99, 0x102e, 0xe99, 0xfe7, 0xe6c, 0xfe7, 0xe6c, -0x1026, 0xec8, 0x1026, 0xec8, 0x1059, 0xf1d, 0x1059, 0xf1d, 0x106e, 0xf59, 0x106e, -0xf59, 0x10b5, 0xfcc, 0x10b5, 0xfcc, 0x10b5, 0xfcc, 0x11b7, 0x10fc, 0x11b7, 0x10fc, -0x1052, 0xfcb, 0x1052, 0xfcb, 0xe7e, 0xe2e, 0xe7e, 0xe2e, 0xd78, 0xd61, 0xd78, -0xd61, 0xb9f, 0xbc3, 0xb9f, 0xbc3, 0x8cd, 0x92e, 0x8cd, 0x92e, 0x8cd, 0x92e, -0x748, 0x7e5, 0x748, 0x7e5, 0x57a, 0x653, 0x57a, 0x653, 0x4fd, 0x60f, 0x4fd, -0x60f, 0x353, 0x49c, 0x353, 0x49c, 0x1d6, 0x353, 0x1d6, 0x353, 0x1d6, 0x353, -0xf4, 0x2a0, 0xf4, 0x2a0, 0xffdc, 0x1b3, 0xffdc, 0x1b3, 0xff95, 0x191, 0xff95, -0x191, 0xfea6, 0xc3, 0xfea6, 0xc3, 0xff96, 0x1d0, 0xff96, 0x1d0, 0xfde7, 0x37, -0xfde7, 0x37, 0xfde7, 0x37, 0xfc10, 0xfe74, 0xfc10, 0xfe74, 0xfb10, 0xfd83, 0xfb10, -0xfd83, 0xf9a1, 0xfc1f, 0xf9a1, 0xfc1f, 0xf839, 0xfac0, 0xf839, 0xfac0, 0xf71c, 0xf9aa, -0xf71c, 0xf9aa, 0xf479, 0xf70c, 0xf479, 0xf70c, 0xf479, 0xf70c, 0xf2ea, 0xf580, 0xf2ea, -0xf580, 0xf1c2, 0xf45a, 0xf1c2, 0xf45a, 0xefff, 0xf298, 0xefff, 0xf298, 0xee07, 0xf0a0, -0xee07, 0xf0a0, 0xeb9c, 0xee34, 0xeb9c, 0xee34, 0xeb9c, 0xee34, 0xe976, 0xec0b, 0xe976, -0xec0b, 0xe895, 0xeb24, 0xe895, 0xeb24, 0xe8c8, 0xeb4f, 0xe8c8, 0xeb4f, 0xe692, 0xe90c, -0xe692, 0xe90c, 0xe476, 0xe6df, 0xe476, 0xe6df, 0xe28c, 0xe4de, 0xe28c, 0xe4de, 0xe28c, -0xe4de, 0xe224, 0xe459, 0xe224, 0xe459, 0xe18d, 0xe39d, 0xe18d, 0xe39d, 0xe227, 0xe40a, -0xe227, 0xe40a, 0xe28b, 0xe438, 0xe28b, 0xe438, 0xe382, 0xe4ef, 0xe382, 0xe4ef, 0xe502, -0xe626, 0xe502, 0xe626, 0xe502, 0xe626, 0xe736, 0xe807, 0xe736, 0xe807, 0xe9ef, 0xea65, -0xe9ef, 0xea65, 0xec1d, 0xec2f, 0xec1d, 0xec2f, 0xefc4, 0xef6b, 0xefc4, 0xef6b, 0xf19e, -0xf0d5, 0xf19e, 0xf0d5, 0xf19e, 0xf0d5, 0xf40f, 0xf2d1, 0xf40f, 0xf2d1, 0xf73e, 0xf589, -0xf73e, 0xf589, 0xfa90, 0xf863, 0xfa90, 0xf863, 0xfe31, 0xfb8c, 0xfe31, 0xfb8c, 0x208, -0xfef0, 0x208, 0xfef0, 0x50a, 0x183, 0x50a, 0x183, 0x50a, 0x183, 0x853, 0x464, -0x853, 0x464, 0xc4c, 0x7ff, 0xc4c, 0x7ff, 0x1020, 0xb7e, 0x1020, 0xb7e, 0x1298, -0xdae, 0x1298, 0xdae, 0x164f, 0x1129, 0x164f, 0x1129, 0x164f, 0x1129, 0x1abb, 0x1566, -0x1abb, 0x1566, 0x1de7, 0x1871, 0x1de7, 0x1871, 0x20b2, 0x1b28, 0x20b2, 0x1b28, 0x22f5, -0x1d66, 0x22f5, 0x1d66, 0x242c, 0x1ea5, 0x242c, 0x1ea5, 0x2565, 0x1ff1, 0x2565, 0x1ff1, -0x2565, 0x1ff1, 0x2657, 0x2103, 0x2657, 0x2103, 0x25ba, 0x208f, 0x25ba, 0x208f, 0x26aa, -0x21b2, 0x26aa, 0x21b2, 0x2689, 0x21cb, 0x2689, 0x21cb, 0x269f, 0x2220, 0x269f, 0x2220, -0x2597, 0x215d, 0x2597, 0x215d, 0x2597, 0x215d, 0x245a, 0x2069, 0x245a, 0x2069, 0x22a6, -0x1f00, 0x22a6, 0x1f00, 0x20d6, 0x1d7d, 0x20d6, 0x1d7d, 0x2095, 0x1d89, 0x2095, 0x1d89, -0x1f00, 0x1c41, 0x1f00, 0x1c41, 0x1f00, 0x1c41, 0x1df0, 0x1b7e, 0x1df0, 0x1b7e, 0x1dec, -0x1bc6, 0x1dec, 0x1bc6, 0x1cc5, 0x1aea, 0x1cc5, 0x1aea, 0x1b60, 0x19d0, 0x1b60, 0x19d0, -0x19dd, 0x1894, 0x19dd, 0x1894, 0x17cf, 0x16cf, 0x17cf, 0x16cf, 0x17cf, 0x16cf, 0x1778, -0x16be, 0x1778, 0x16be, 0x16ee, 0x1678, 0x16ee, 0x1678, 0x159c, 0x156b, 0x159c, 0x156b, -0x1256, 0x1269, 0x1256, 0x1269, 0xf48, 0xf9c, 0xf48, 0xf9c, 0xb44, 0xbd8, 0xb44, -0xbd8, 0xb44, 0xbd8, 0x8c4, 0x996, 0x8c4, 0x996, 0x76f, 0x87e, 0x76f, 0x87e, -0x4c2, 0x60a, 0x4c2, 0x60a, 0x210, 0x38e, 0x210, 0x38e, 0xffce, 0x17f, 0xffce, -0x17f, 0xffce, 0x17f, 0xfeb8, 0x97, 0xfeb8, 0x97, 0xfcd6, 0xfedd, 0xfcd6, 0xfedd, -0xfadb, 0xfd06, 0xfadb, 0xfd06, 0xf7b7, 0xf9ff, 0xf7b7, 0xf9ff, 0xf588, 0xf7e8, 0xf588, -0xf7e8, 0xf3c8, 0xf63a, 0xf3c8, 0xf63a, 0xf3c8, 0xf63a, 0xf2bd, 0xf53a, 0xf2bd, 0xf53a, -0xf0c7, 0xf34a, 0xf0c7, 0xf34a, 0xeea2, 0xf125, 0xeea2, 0xf125, 0xee86, 0xf103, 0xee86, -0xf103, 0xeed4, 0xf148, 0xeed4, 0xf148, 0xeeeb, 0xf153, 0xeeeb, 0xf153, 0xeeeb, 0xf153, -0xee83, 0xf0dd, 0xee83, 0xf0dd, 0xedb6, 0xf000, 0xedb6, 0xf000, 0xed30, 0xef6a, 0xed30, -0xef6a, 0xedaa, 0xefd4, 0xedaa, 0xefd4, 0xedf1, 0xf00e, 0xedf1, 0xf00e, 0xedf1, 0xf00e, -0xede2, 0xeff4, 0xede2, 0xeff4, 0xee4a, 0xf054, 0xee4a, 0xf054, 0xeeec, 0xf0f0, 0xeeec, -0xf0f0, 0xeeb2, 0xf0b6, 0xeeb2, 0xf0b6, 0xef1f, 0xf126, 0xef1f, 0xf126, 0xef24, 0xf132, -0xef24, 0xf132, 0xef24, 0xf132, 0xee2e, 0xf045, 0xee2e, 0xf045, 0xecf8, 0xef1b, 0xecf8, -0xef1b, 0xecdf, 0xef10, 0xecdf, 0xef10, 0xebba, 0xedf9, 0xebba, 0xedf9, 0xeac9, 0xed16, -0xeac9, 0xed16, 0xea30, 0xec88, 0xea30, 0xec88, 0xea30, 0xec88, 0xe936, 0xeb98, 0xe936, -0xeb98, 0xe924, 0xeb8a, 0xe924, 0xeb8a, 0xe933, 0xeb99, 0xe933, 0xeb99, 0xea5d, 0xecbd, -0xea5d, 0xecbd, 0xea68, 0xecbb, 0xea68, 0xecbb, 0xea68, 0xecbb, 0xea7a, 0xecb9, 0xea7a, -0xecb9, 0xeb4d, 0xed71, 0xeb4d, 0xed71, 0xed2b, 0xef2c, 0xed2b, 0xef2c, 0xeed4, 0xf0ab, -0xeed4, 0xf0ab, 0xeee7, 0xf08d, 0xeee7, 0xf08d, 0xefbe, 0xf12d, 0xefbe, 0xf12d, 0xefbe, -0xf12d, 0xf253, 0xf385, 0xf253, 0xf385, 0xf51f, 0xf612, 0xf51f, 0xf612, 0xf840, 0xf8f1, -0xf840, 0xf8f1, 0xf955, 0xf9c2, 0xf955, 0xf9c2, 0xfa50, 0xfa7a, 0xfa50, 0xfa7a, 0xfc41, -0xfc2a, 0xfc41, 0xfc2a, 0xfc41, 0xfc2a, 0xfde9, 0xfd93, 0xfde9, 0xfd93, 0xff34, 0xfea4, -0xff34, 0xfea4, 0xff57, 0xfe92, 0xff57, 0xfe92, 0xfffb, 0xff06, 0xfffb, 0xff06, 0x91, -0xff72, 0x91, 0xff72, 0x91, 0xff72, 0x35b, 0x219, 0x35b, 0x219, 0x53a, 0x3dd, -0x53a, 0x3dd, 0x660, 0x4ee, 0x660, 0x4ee, 0x757, 0x5d6, 0x757, 0x5d6, 0x873, -0x6ea, 0x873, 0x6ea, 0x99b, 0x80e, 0x99b, 0x80e, 0x99b, 0x80e, 0xa54, 0x8c8, -0xa54, 0x8c8, 0xb4d, 0x9c6, 0xb4d, 0x9c6, 0xabc, 0x93c, 0xabc, 0x93c, 0xaf8, -0x982, 0xaf8, 0x982, 0xbb3, 0xa48, 0xbb3, 0xa48, 0xc2f, 0xace, 0xc2f, 0xace, -0xc2f, 0xace, 0xbae, 0xa58, 0xbae, 0xa58, 0xad5, 0x98a, 0xad5, 0x98a, 0xa6f, -0x92f, 0xa6f, 0x92f, 0xa91, 0x959, 0xa91, 0x959, 0xa9d, 0x96f, 0xa9d, 0x96f, -0xa9d, 0x96f, 0xa34, 0x90f, 0xa34, 0x90f, 0x92f, 0x813, 0x92f, 0x813, 0x902, -0x7f0, 0x902, 0x7f0, 0xa12, 0x90b, 0xa12, 0x90b, 0xa8d, 0x993, 0xa8d, 0x993, -0x9ab, 0x8c1, 0x9ab, 0x8c1, 0x9ab, 0x8c1, 0x914, 0x83d, 0x914, 0x83d, 0x929, -0x868, 0x929, 0x868, 0x987, 0x8e0, 0x987, 0x8e0, 0xa36, 0x9ae, 0xa36, 0x9ae, -0x9d9, 0x973, 0x9d9, 0x973, 0x91a, 0x8da, 0x91a, 0x8da, 0x91a, 0x8da, 0x87f, -0x869, 0x87f, 0x869, 0x83a, 0x852, 0x83a, 0x852, 0x6cf, 0x718, 0x6cf, 0x718, -0x5d6, 0x651, 0x5d6, 0x651, 0x4c4, 0x572, 0x4c4, 0x572, 0x4c4, 0x572, 0x37b, -0x45e, 0x37b, 0x45e, 0x23e, 0x354, 0x23e, 0x354, 0xc0, 0x209, 0xc0, 0x209, -0x17, 0x191, 0x17, 0x191, 0xfeea, 0x91, 0xfeea, 0x91, 0xfd4b, 0xff1e, 0xfd4b, -0xff1e, 0xfd4b, 0xff1e, 0xfbc5, 0xfdbf, 0xfbc5, 0xfdbf, 0xfb8b, 0xfda8, 0xfb8b, 0xfda8, -0xfbed, 0xfe2a, 0xfbed, 0xfe2a, 0xfa3c, 0xfc94, 0xfa3c, 0xfc94, 0xf865, 0xfad4, 0xf865, -0xfad4, 0xf73c, 0xf9bf, 0xf73c, 0xf9bf, 0xf73c, 0xf9bf, 0xf66a, 0xf8fd, 0xf66a, 0xf8fd, -0xf6c3, 0xf964, 0xf6c3, 0xf964, 0xf513, 0xf7bf, 0xf513, 0xf7bf, 0xf3c2, 0xf675, 0xf3c2, -0xf675, 0xf33a, 0xf5f4, 0xf33a, 0xf5f4, 0xf33a, 0xf5f4, 0xf355, 0xf613, 0xf355, 0xf613, -0xf28d, 0xf54f, 0xf28d, 0xf54f, 0xf0b8, 0xf37c, 0xf0b8, 0xf37c, 0xeeaf, 0xf173, 0xeeaf, -0xf173, 0xec73, 0xef34, 0xec73, 0xef34, 0xec6f, 0xef2c, 0xec6f, 0xef2c, 0xec6f, 0xef2c, -0xeb62, 0xee18, 0xeb62, 0xee18, 0xe96f, 0xec19, 0xe96f, 0xec19, 0xe6d4, 0xe96e, 0xe6d4, -0xe96e, 0xe550, 0xe7d5, 0xe550, 0xe7d5, 0xe46e, 0xe6d8, 0xe46e, 0xe6d8, 0xe46e, 0xe6d8, -0xe3ce, 0xe615, 0xe3ce, 0xe615, 0xe466, 0xe682, 0xe466, 0xe682, 0xe502, 0xe6eb, 0xe502, -0xe6eb, 0xe546, 0xe6f3, 0xe546, 0xe6f3, 0xe5ce, 0xe736, 0xe5ce, 0xe736, 0xe746, 0xe860, -0xe746, 0xe860, 0xe746, 0xe860, 0xe91d, 0xe9e0, 0xe91d, 0xe9e0, 0xeb5b, 0xebbf, 0xeb5b, -0xebbf, 0xed8d, 0xed8a, 0xed8d, 0xed8a, 0xefd9, 0xef69, 0xefd9, 0xef69, 0xf344, 0xf261, -0xf344, 0xf261, 0xf759, 0xf601, 0xf759, 0xf601, 0xf759, 0xf601, 0xfa90, 0xf8c1, 0xfa90, -0xf8c1, 0xfe30, 0xfbe8, 0xfe30, 0xfbe8, 0x25e, 0xffa1, 0x25e, 0xffa1, 0x65c, 0x32d, -0x65c, 0x32d, 0x95c, 0x5c1, 0x95c, 0x5c1, 0x95c, 0x5c1, 0xcab, 0x8aa, 0xcab, -0x8aa, 0xfee, 0xb91, 0xfee, 0xb91, 0x1388, 0xeda, 0x1388, 0xeda, 0x177c, 0x1287, -0x177c, 0x1287, 0x1982, 0x1453, 0x1982, 0x1453, 0x1a7c, 0x151f, 0x1a7c, 0x151f, 0x1a7c, -0x151f, 0x1cc5, 0x1749, 0x1cc5, 0x1749, 0x1fcc, 0x1a3d, 0x1fcc, 0x1a3d, 0x20a5, 0x1b0f, -0x20a5, 0x1b0f, 0x209c, 0x1b0d, 0x209c, 0x1b0d, 0x20f7, 0x1b79, 0x20f7, 0x1b79, 0x2229, -0x1cc7, 0x2229, 0x1cc7, 0x2229, 0x1cc7, 0x2320, 0x1de3, 0x2320, 0x1de3, 0x2366, 0x1e56, -0x2366, 0x1e56, 0x236a, 0x1e8f, 0x236a, 0x1e8f, 0x22ce, 0x1e2d, 0x22ce, 0x1e2d, 0x21e0, -0x1d7d, 0x21e0, 0x1d7d, 0x21e0, 0x1d7d, 0x211c, 0x1cfb, 0x211c, 0x1cfb, 0x20d9, 0x1cfc, -0x20d9, 0x1cfc, 0x209b, 0x1d04, 0x209b, 0x1d04, 0x1f6d, 0x1c1b, 0x1f6d, 0x1c1b, 0x1f59, -0x1c4e, 0x1f59, 0x1c4e, 0x1ee6, 0x1c20, 0x1ee6, 0x1c20, 0x1ee6, 0x1c20, 0x1e5b, 0x1bda, -0x1e5b, 0x1bda, 0x1e03, 0x1bc6, 0x1e03, 0x1bc6, 0x1c0d, 0x1a14, 0x1c0d, 0x1a14, 0x1aa2, -0x18eb, 0x1aa2, 0x18eb, 0x18f6, 0x1780, 0x18f6, 0x1780, 0x1857, 0x1722, 0x1857, 0x1722, -0x1857, 0x1722, 0x164e, 0x155a, 0x164e, 0x155a, 0x130c, 0x1256, 0x130c, 0x1256, 0xf41, -0xeca, 0xf41, 0xeca, 0xc8f, 0xc56, 0xc8f, 0xc56, 0xc43, 0xc46, 0xc43, 0xc46, -0xc43, 0xc46, 0xb27, 0xb65, 0xb27, 0xb65, 0x95f, 0x9d5, 0x95f, 0x9d5, 0x735, -0x7e1, 0x735, 0x7e1, 0x666, 0x745, 0x666, 0x745, 0x55f, 0x66f, 0x55f, 0x66f, -0x322, 0x45d, 0x322, 0x45d, 0x322, 0x45d, 0xe5, 0x247, 0xe5, 0x247, 0xfe61, -0xffe4, 0xfe61, 0xffe4, 0xfc25, 0xfdc5, 0xfc25, 0xfdc5, 0xfb13, 0xfcc9, 0xfb13, 0xfcc9, -0xf9ae, 0xfb75, 0xf9ae, 0xfb75, 0xf7f9, 0xf9ca, 0xf7f9, 0xf9ca, 0xf7f9, 0xf9ca, 0xf6e9, -0xf8c0, 0xf6e9, 0xf8c0, 0xf5e6, 0xf7bd, 0xf5e6, 0xf7bd, 0xf452, 0xf625, 0xf452, 0xf625, -0xf3c5, 0xf58f, 0xf3c5, 0xf58f, 0xf324, 0xf4e4, 0xf324, 0xf4e4, 0xf324, 0xf4e4, 0xf1e7, -0xf399, 0xf1e7, 0xf399, 0xf141, 0xf2e5, 0xf141, 0xf2e5, 0xefe4, 0xf179, 0xefe4, 0xf179, -0xeea9, 0xf031, 0xeea9, 0xf031, 0xed87, 0xef05, 0xed87, 0xef05, 0xecfc, 0xee71, 0xecfc, -0xee71, 0xecfc, 0xee71, 0xecf6, 0xee67, 0xecf6, 0xee67, 0xed62, 0xeed1, 0xed62, 0xeed1, -0xee2c, 0xef9e, 0xee2c, 0xef9e, 0xedf5, 0xef6f, 0xedf5, 0xef6f, 0xece9, 0xee6f, 0xece9, -0xee6f, 0xecd6, 0xee6b, 0xecd6, 0xee6b, 0xecd6, 0xee6b, 0xed12, 0xeeb9, 0xed12, 0xeeb9, -0xec0c, 0xedc8, 0xec0c, 0xedc8, 0xea77, 0xec48, 0xea77, 0xec48, 0xe90b, 0xeaf2, 0xe90b, -0xeaf2, 0xe88a, 0xea87, 0xe88a, 0xea87, 0xe88a, 0xea87, 0xe8e9, 0xeaf9, 0xe8e9, 0xeaf9, -0xe81f, 0xea3f, 0xe81f, 0xea3f, 0xe63a, 0xe865, 0xe63a, 0xe865, 0xe4ce, 0xe700, 0xe4ce, -0xe700, 0xe4d9, 0xe70b, 0xe4d9, 0xe70b, 0xe5f0, 0xe81c, 0xe5f0, 0xe81c, 0xe5f0, 0xe81c, -0xe714, 0xe932, 0xe714, 0xe932, 0xe6df, 0xe8e9, 0xe6df, 0xe8e9, 0xe6b4, 0xe8a3, 0xe6b4, -0xe8a3, 0xe972, 0xeb3f, 0xe972, 0xeb3f, 0xeb64, 0xed0a, 0xeb64, 0xed0a, 0xed8a, 0xef03, -0xed8a, 0xef03, 0xed8a, 0xef03, 0xef71, 0xf0ba, 0xef71, 0xf0ba, 0xf0e4, 0xf1f9, 0xf0e4, -0xf1f9, 0xf38b, 0xf46b, 0xf38b, 0xf46b, 0xf5f2, 0xf69d, 0xf5f2, 0xf69d, 0xf8b4, 0xf92a, -0xf8b4, 0xf92a, 0xf8b4, 0xf92a, 0xfa81, 0xfac3, 0xfa81, 0xfac3, 0xfc29, 0xfc3b, 0xfc29, -0xfc3b, 0xfd2a, 0xfd0f, 0xfd2a, 0xfd0f, 0xfe77, 0xfe33, 0xfe77, 0xfe33, 0x14e, 0xe7, -0x14e, 0xe7, 0x3ca, 0x345, 0x3ca, 0x345, 0x3ca, 0x345, 0x4b3, 0x415, 0x4b3, -0x415, 0x4eb, 0x439, 0x4eb, 0x439, 0x687, 0x5c7, 0x687, 0x5c7, 0x806, 0x73c, -0x806, 0x73c, 0x8d4, 0x804, 0x8d4, 0x804, 0x9e0, 0x90d, 0x9e0, 0x90d, 0x9e0, -0x90d, 0x9e2, 0x910, 0x9e2, 0x910, 0x9f3, 0x924, 0x9f3, 0x924, 0xb3c, 0xa71, -0xb3c, 0xa71, 0xc82, 0xbbc, 0xc82, 0xbbc, 0xcd6, 0xc17, 0xcd6, 0xc17, 0xcd6, -0xc17, 0xcff, 0xc46, 0xcff, 0xc46, 0xd2d, 0xc7b, 0xd2d, 0xc7b, 0xcf6, 0xc4a, -0xcf6, 0xc4a, 0xde2, 0xd3e, 0xde2, 0xd3e, 0xe22, 0xd86, 0xe22, 0xd86, 0xe58, -0xdc4, 0xe58, 0xdc4, 0xe58, 0xdc4, 0x1009, 0xf7f, 0x1009, 0xf7f, 0x1105, 0x1087, -0x1105, 0x1087, 0x115c, 0x10ed, 0x115c, 0x10ed, 0x118d, 0x1130, 0x118d, 0x1130, 0x11cc, -0x1183, 0x11cc, 0x1183, 0x113b, 0x110c, 0x113b, 0x110c, 0x113b, 0x110c, 0x10db, 0x10c8, -0x10db, 0x10c8, 0x10fd, 0x110c, 0x10fd, 0x110c, 0xffe, 0x1032, 0xffe, 0x1032, 0xebb, -0xf18, 0xebb, 0xf18, 0xd05, 0xd8f, 0xd05, 0xd8f, 0xd05, 0xd8f, 0xb3b, 0xbf4, -0xb3b, 0xbf4, 0x908, 0x9f3, 0x908, 0x9f3, 0x67b, 0x79a, 0x67b, 0x79a, 0x479, -0x5ca, 0x479, 0x5ca, 0x2c1, 0x445, 0x2c1, 0x445, 0x199, 0x34f, 0x199, 0x34f, -0x199, 0x34f, 0xa8, 0x28c, 0xa8, 0x28c, 0xff1d, 0x12c, 0xff1d, 0x12c, 0xfd09, -0xff3f, 0xfd09, 0xff3f, 0xfc3c, 0xfe93, 0xfc3c, 0xfe93, 0xfc13, 0xfe86, 0xfc13, 0xfe86, -0xfc13, 0xfe86, 0xfbf4, 0xfe7d, 0xfbf4, 0xfe7d, 0xfa57, 0xfcf0, 0xfa57, 0xfcf0, 0xf810, -0xfab2, 0xf810, 0xfab2, 0xf761, 0xfa07, 0xf761, 0xfa07, 0xf674, 0xf919, 0xf674, 0xf919, -0xf4e6, 0xf785, 0xf4e6, 0xf785, 0xf4e6, 0xf785, 0xf24d, 0xf4e1, 0xf24d, 0xf4e1, 0xf04b, -0xf2d1, 0xf04b, 0xf2d1, 0xef26, 0xf19b, 0xef26, 0xf19b, 0xee93, 0xf0f5, 0xee93, 0xf0f5, -0xeda7, 0xeff4, 0xeda7, 0xeff4, 0xeb1f, 0xed57, 0xeb1f, 0xed57, 0xeb1f, 0xed57, 0xe963, -0xeb86, 0xe963, 0xeb86, 0xe7c3, 0xe9d1, 0xe7c3, 0xe9d1, 0xe6a5, 0xe89d, 0xe6a5, 0xe89d, -0xe699, 0xe87b, 0xe699, 0xe87b, 0xe5ff, 0xe7cb, 0xe5ff, 0xe7cb, 0xe5ff, 0xe7cb, 0xe4aa, -0xe660, 0xe4aa, 0xe660, 0xe323, 0xe4c2, 0xe323, 0xe4c2, 0xe26a, 0xe3f0, 0xe26a, 0xe3f0, -0xe1f2, 0xe35c, 0xe1f2, 0xe35c, 0xe23e, 0xe389, 0xe23e, 0xe389, 0xe2e8, 0xe410, 0xe2e8, -0xe410, 0xe2e8, 0xe410, 0xe28e, 0xe390, 0xe28e, 0xe390, 0xe32c, 0xe401, 0xe32c, 0xe401, -0xe570, 0xe613, 0xe570, 0xe613, 0xe86b, 0xe8d5, 0xe86b, 0xe8d5, 0xea92, 0xeabe, 0xea92, -0xeabe, 0xec50, 0xec36, 0xec50, 0xec36, 0xec50, 0xec36, 0xeea0, 0xee3d, 0xeea0, 0xee3d, -0xf115, 0xf062, 0xf115, 0xf062, 0xf488, 0xf381, 0xf488, 0xf381, 0xf72b, 0xf5cc, 0xf72b, -0xf5cc, 0xf995, 0xf7dc, 0xf995, 0xf7dc, 0xf995, 0xf7dc, 0xfd46, 0xfb32, 0xfd46, 0xfb32, -0x15b, 0xfeec, 0x15b, 0xfeec, 0x552, 0x28a, 0x552, 0x28a, 0x899, 0x57c, 0x899, -0x57c, 0xc6c, 0x8fe, 0xc6c, 0x8fe, 0x1045, 0xc8c, 0x1045, 0xc8c, 0x1045, 0xc8c, -0x14a5, 0x10a9, 0x14a5, 0x10a9, 0x1865, 0x142e, 0x1865, 0x142e, 0x1af8, 0x168e, 0x1af8, -0x168e, 0x1e57, 0x19c4, 0x1e57, 0x19c4, 0x2139, 0x1c87, 0x2139, 0x1c87, 0x23af, 0x1ee8, -0x23af, 0x1ee8, 0x23af, 0x1ee8, 0x252e, 0x205d, 0x252e, 0x205d, 0x2604, 0x2131, 0x2604, -0x2131, 0x26f6, 0x222c, 0x26f6, 0x222c, 0x27cf, 0x2315, 0x27cf, 0x2315, 0x2868, 0x23c6, -0x2868, 0x23c6, 0x2868, 0x23c6, 0x28a2, 0x241f, 0x28a2, 0x241f, 0x2818, 0x23bb, 0x2818, -0x23bb, 0x265e, 0x222b, 0x265e, 0x222b, 0x24aa, 0x20a5, 0x24aa, 0x20a5, 0x2371, 0x1f9e, -0x2371, 0x1f9e, 0x2297, 0x1ef8, 0x2297, 0x1ef8, 0x2297, 0x1ef8, 0x2131, 0x1dc8, 0x2131, -0x1dc8, 0x1fef, 0x1cbd, 0x1fef, 0x1cbd, 0x1f12, 0x1c18, 0x1f12, 0x1c18, 0x1e7f, 0x1bbd, -0x1e7f, 0x1bbd, 0x1e1c, 0x1b93, 0x1e1c, 0x1b93, 0x1cac, 0x1a5b, 0x1cac, 0x1a5b, 0x1cac, -0x1a5b, 0x1b2a, 0x1912, 0x1b2a, 0x1912, 0x1a29, 0x184b, 0x1a29, 0x184b, 0x1a0a, 0x1865, -0x1a0a, 0x1865, 0x18ca, 0x175e, 0x18ca, 0x175e, 0x159d, 0x146b, 0x159d, 0x146b, 0x159d, -0x146b, 0x12c6, 0x11cd, 0x12c6, 0x11cd, 0x1021, 0xf62, 0x1021, 0xf62, 0xdaf, 0xd29, -0xdaf, 0xd29, 0xb03, 0xab6, 0xb03, 0xab6, 0x771, 0x75e, 0x771, 0x75e, 0x417, -0x43b, 0x417, 0x43b, 0x417, 0x43b, 0x247, 0x2a1, 0x247, 0x2a1, 0x10d, 0x19a, -0x10d, 0x19a, 0xfea4, 0xff63, 0xfea4, 0xff63, 0xfca3, 0xfd8f, 0xfca3, 0xfd8f, 0xfae8, -0xfbfe, 0xfae8, 0xfbfe, 0xf7ee, 0xf92a, 0xf7ee, 0xf92a, 0xf7ee, 0xf92a, 0xf57a, 0xf6d7, -0xf57a, 0xf6d7, 0xf3c4, 0xf53d, 0xf3c4, 0xf53d, 0xf233, 0xf3c4, 0xf233, 0xf3c4, 0xf0a7, -0xf24a, 0xf0a7, 0xf24a, 0xef78, 0xf128, 0xef78, 0xf128, 0xef78, 0xf128, 0xee18, 0xefd0, -0xee18, 0xefd0, 0xed88, 0xef45, 0xed88, 0xef45, 0xeebc, 0xf079, 0xeebc, 0xf079, 0xeea3, -0xf05d, 0xeea3, 0xf05d, 0xee58, 0xf00d, 0xee58, 0xf00d, 0xee1a, 0xefc9, 0xee1a, 0xefc9, -0xee1a, 0xefc9, 0xedf0, 0xef99, 0xedf0, 0xef99, 0xee07, 0xefa9, 0xee07, 0xefa9, 0xed77, -0xef14, 0xed77, 0xef14, 0xed5e, 0xeef7, 0xed5e, 0xeef7, 0xed71, 0xef08, 0xed71, 0xef08, -0xeed9, 0xf072, 0xeed9, 0xf072, 0xeed9, 0xf072, 0xef35, 0xf0d3, 0xef35, 0xf0d3, 0xee21, -0xefc7, 0xee21, 0xefc7, 0xed8c, 0xef3c, 0xed8c, 0xef3c, 0xecfb, 0xeeb8, 0xecfb, 0xeeb8, -0xec9e, 0xee6b, 0xec9e, 0xee6b, 0xec9e, 0xee6b, 0xeb92, 0xed71, 0xeb92, 0xed71, 0xeb0b, -0xecfd, 0xeb0b, 0xecfd, 0xeb1a, 0xed1e, 0xeb1a, 0xed1e, 0xeb5a, 0xed71, 0xeb5a, 0xed71, -0xebd1, 0xedf7, 0xebd1, 0xedf7, 0xeb82, 0xedb6, 0xeb82, 0xedb6, 0xeb82, 0xedb6, 0xeb04, -0xed43, 0xeb04, 0xed43, 0xead4, 0xed18, 0xead4, 0xed18, 0xeadf, 0xed23, 0xeadf, 0xed23, -0xebde, 0xee1d, 0xebde, 0xee1d, 0xed37, 0xef6a, 0xed37, 0xef6a, 0xee3d, 0xf05e, 0xee3d, -0xf05e, 0xee3d, 0xf05e, 0xefc9, 0xf1d1, 0xefc9, 0xf1d1, 0xf141, 0xf32a, 0xf141, 0xf32a, -0xf2b4, 0xf477, 0xf2b4, 0xf477, 0xf476, 0xf60e, 0xf476, 0xf60e, 0xf672, 0xf7d9, 0xf672, -0xf7d9, 0xf672, 0xf7d9, 0xf7dd, 0xf90f, 0xf7dd, 0xf90f, 0xf8dd, 0xf9d6, 0xf8dd, 0xf9d6, -0xfaf4, 0xfbb2, 0xfaf4, 0xfbb2, 0xfcce, 0xfd4e, 0xfcce, 0xfd4e, 0xfd5e, 0xfd9f, 0xfd5e, -0xfd9f, 0xfdb5, 0xfdb8, 0xfdb5, 0xfdb8, 0xfdb5, 0xfdb8, 0xfe98, 0xfe5e, 0xfe98, 0xfe5e, -0xdb, 0x64, 0xdb, 0x64, 0x42a, 0x379, 0x42a, 0x379, 0x663, 0x57a, 0x663, -0x57a, 0x7a2, 0x686, 0x7a2, 0x686, 0x950, 0x804, 0x950, 0x804, 0x950, 0x804, -0xadf, 0x968, 0xadf, 0x968, 0xb49, 0x9ab, 0xb49, 0x9ab, 0xbd0, 0xa10, 0xbd0, -0xa10, 0xcb6, 0xada, 0xcb6, 0xada, 0xd15, 0xb21, 0xd15, 0xb21, 0xd15, 0xb21, -0xdc0, 0xbba, 0xdc0, 0xbba, 0xe5e, 0xc4b, 0xe5e, 0xc4b, 0xe33, 0xc19, 0xe33, -0xc19, 0xdca, 0xbaf, 0xdca, 0xbaf, 0xdfb, 0xbe3, 0xdfb, 0xbe3, 0xcc1, 0xab3, -0xcc1, 0xab3, 0xcc1, 0xab3, 0xb72, 0x973, 0xb72, 0x973, 0xb83, 0x99a, 0xb83, -0x99a, 0xb2d, 0x95f, 0xb2d, 0x95f, 0xb89, 0x9dc, 0xb89, 0x9dc, 0xba4, 0xa1e, -0xba4, 0xa1e, 0xba4, 0xa1e, 0xbf2, 0xa98, 0xbf2, 0xa98, 0xc42, 0xb1b, 0xc42, -0xb1b, 0xc3b, 0xb4b, 0xc3b, 0xb4b, 0xb9f, 0xaea, 0xb9f, 0xaea, 0xa75, 0xa00, -0xa75, 0xa00, 0xae3, 0xab1, 0xae3, 0xab1, 0xae3, 0xab1, 0xab4, 0xac8, 0xab4, -0xac8, 0xa32, 0xa8d, 0xa32, 0xa8d, 0x9a0, 0xa44, 0x9a0, 0xa44, 0x930, 0xa1d, -0x930, 0xa1d, 0x982, 0xab7, 0x982, 0xab7, 0x825, 0x99e, 0x825, 0x99e, 0x825, -0x99e, 0x610, 0x7cc, 0x610, 0x7cc, 0x410, 0x60a, 0x410, 0x60a, 0x26e, 0x4a1, -0x26e, 0x4a1, 0x154, 0x3bb, 0x154, 0x3bb, 0xff3f, 0x1d3, 0xff3f, 0x1d3, 0xff3f, -0x1d3, 0xfcef, 0xffaa, 0xfcef, 0xffaa, 0xfb30, 0xfe0a, 0xfb30, 0xfe0a, 0xfa67, 0xfd5a, -0xfa67, 0xfd5a, 0xfae0, 0xfde4, 0xfae0, 0xfde4, 0xfa69, 0xfd78, 0xfa69, 0xfd78, 0xf92c, -0xfc3f, 0xf92c, 0xfc3f, 0xf92c, 0xfc3f, 0xf85a, 0xfb6c, 0xf85a, 0xfb6c, 0xf7d5, 0xfae1, -0xf7d5, 0xfae1, 0xf748, 0xfa49, 0xf748, 0xfa49, 0xf622, 0xf915, 0xf622, 0xf915, 0xf4b3, -0xf795, 0xf4b3, 0xf795, 0xf30c, 0xf5dc, 0xf30c, 0xf5dc, 0xf30c, 0xf5dc, 0xf255, 0xf511, -0xf255, 0xf511, 0xf268, 0xf50f, 0xf268, 0xf50f, 0xf1fb, 0xf48d, 0xf1fb, 0xf48d, 0xf100, -0xf37d, 0xf100, 0xf37d, 0xef9d, 0xf206, 0xef9d, 0xf206, 0xef9d, 0xf206, 0xed78, 0xefcc, -0xed78, 0xefcc, 0xec10, 0xee4f, 0xec10, 0xee4f, 0xebe2, 0xee0c, 0xebe2, 0xee0c, 0xea11, -0xec24, 0xea11, 0xec24, 0xe7ca, 0xe9c6, 0xe7ca, 0xe9c6, 0xe69a, 0xe87c, 0xe69a, 0xe87c, -0xe69a, 0xe87c, 0xe56c, 0xe731, 0xe56c, 0xe731, 0xe3fb, 0xe5a0, 0xe3fb, 0xe5a0, 0xe32b, -0xe4ab, 0xe32b, 0xe4ab, 0xe26c, 0xe3c2, 0xe26c, 0xe3c2, 0xe1c4, 0xe2ea, 0xe1c4, 0xe2ea, -0xe304, 0xe3f4, 0xe304, 0xe3f4, 0xe304, 0xe3f4, 0xe510, 0xe5c5, 0xe510, 0xe5c5, 0xe684, -0xe6f7, 0xe684, 0xe6f7, 0xe86a, 0xe896, 0xe86a, 0xe896, 0xeb01, 0xeae1, 0xeb01, 0xeae1, -0xecea, 0xec79, 0xecea, 0xec79, 0xecea, 0xec79, 0xefab, 0xeee4, 0xefab, 0xeee4, 0xf26b, -0xf14d, 0xf26b, 0xf14d, 0xf4dd, 0xf365, 0xf4dd, 0xf365, 0xf8c9, 0xf6f8, 0xf8c9, 0xf6f8, -0xfc8d, 0xfa63, 0xfc8d, 0xfa63, 0xff87, 0xfd08, 0xff87, 0xfd08, 0xff87, 0xfd08, 0x1bb, -0xfee9, 0x1bb, 0xfee9, 0x520, 0x200, 0x520, 0x200, 0x899, 0x532, 0x899, 0x532, -0xbe8, 0x840, 0xbe8, 0x840, 0x104f, 0xc6e, 0x104f, 0xc6e, 0x1392, 0xf82, 0x1392, -0xf82, 0x1392, 0xf82, 0x1693, 0x125b, 0x1693, 0x125b, 0x193c, 0x14e5, 0x193c, 0x14e5, -0x1b9d, 0x1730, 0x1b9d, 0x1730, 0x1dc1, 0x1947, 0x1dc1, 0x1947, 0x1edc, 0x1a5e, 0x1edc, -0x1a5e, 0x1edc, 0x1a5e, 0x1fed, 0x1b72, 0x1fed, 0x1b72, 0x20bf, 0x1c4f, 0x20bf, 0x1c4f, -0x2211, 0x1db1, 0x2211, 0x1db1, 0x2390, 0x1f47, 0x2390, 0x1f47, 0x23c2, 0x1f93, 0x23c2, -0x1f93, 0x23a6, 0x1f97, 0x23a6, 0x1f97, 0x23a6, 0x1f97, 0x22fa, 0x1f0d, 0x22fa, 0x1f0d, -0x22c3, 0x1efc, 0x22c3, 0x1efc, 0x2378, 0x1fd9, 0x2378, 0x1fd9, 0x22f7, 0x1f82, 0x22f7, -0x1f82, 0x21d8, 0x1e8f, 0x21d8, 0x1e8f, 0x20ee, 0x1dd1, 0x20ee, 0x1dd1, 0x20ee, 0x1dd1, -0x20f8, 0x1e0a, 0x20f8, 0x1e0a, 0x20a4, 0x1de5, 0x20a4, 0x1de5, 0x1f9e, 0x1d10, 0x1f9e, -0x1d10, 0x1e5e, 0x1c03, 0x1e5e, 0x1c03, 0x1c78, 0x1a51, 0x1c78, 0x1a51, 0x1c78, 0x1a51, -0x1b7d, 0x198c, 0x1b7d, 0x198c, 0x1aba, 0x1900, 0x1aba, 0x1900, 0x1947, 0x17c7, 0x1947, -0x17c7, 0x1778, 0x1633, 0x1778, 0x1633, 0x15b2, 0x14ab, 0x15b2, 0x14ab, 0x1303, 0x1239, -0x1303, 0x1239, 0x1303, 0x1239, 0x10a3, 0x1018, 0x10a3, 0x1018, 0xf13, 0xec7, 0xf13, -0xec7, 0xc40, 0xc32, 0xc40, 0xc32, 0x9e8, 0xa18, 0x9e8, 0xa18, 0x868, 0x8d4, -0x868, 0x8d4, 0x6c3, 0x767, 0x6c3, 0x767, 0x6c3, 0x767, 0x535, 0x60f, 0x535, -0x60f, 0x3e8, 0x4f3, 0x3e8, 0x4f3, 0x191, 0x2c9, 0x191, 0x2c9, 0xfe4a, 0xffa9, -0xfe4a, 0xffa9, 0xfc38, 0xfdb8, 0xfc38, 0xfdb8, 0xfc38, 0xfdb8, 0xfafd, 0xfc99, 0xfafd, -0xfc99, 0xf929, 0xfada, 0xf929, 0xfada, 0xf783, 0xf942, 0xf783, 0xf942, 0xf5cc, 0xf794, -0xf5cc, 0xf794, 0xf352, 0xf51e, 0xf352, 0xf51e, 0xf214, 0xf3df, 0xf214, 0xf3df, 0xf214, -0xf3df, 0xf0eb, 0xf2b1, 0xf0eb, 0xf2b1, 0xefa5, 0xf163, 0xefa5, 0xf163, 0xef24, 0xf0d6, -0xef24, 0xf0d6, 0xee81, 0xf028, 0xee81, 0xf028, 0xed58, 0xeef2, 0xed58, 0xeef2, 0xec07, -0xed95, 0xec07, 0xed95, 0xec07, 0xed95, 0xebfb, 0xed7f, 0xebfb, 0xed7f, 0xebd5, 0xed51, -0xebd5, 0xed51, 0xeb92, 0xed08, 0xeb92, 0xed08, 0xeba2, 0xed15, 0xeba2, 0xed15, 0xebb2, -0xed26, 0xebb2, 0xed26, 0xebb2, 0xed26, 0xec0a, 0xed82, 0xec0a, 0xed82, 0xebd6, 0xed56, -0xebd6, 0xed56, 0xeb6c, 0xecf6, 0xeb6c, 0xecf6, 0xea65, 0xebfb, 0xea65, 0xebfb, 0xe92e, -0xead3, 0xe92e, 0xead3, 0xe8eb, 0xea9e, 0xe8eb, 0xea9e, 0xe8eb, 0xea9e, 0xe879, 0xea3c, -0xe879, 0xea3c, 0xe7e4, 0xe9b4, 0xe7e4, 0xe9b4, 0xe74c, 0xe929, 0xe74c, 0xe929, 0xe657, -0xe83e, 0xe657, 0xe83e, 0xe5a3, 0xe791, 0xe5a3, 0xe791, 0xe4c4, 0xe6b4, 0xe4c4, 0xe6b4, -0xe4c4, 0xe6b4, 0xe4d5, 0xe6c2, 0xe4d5, 0xe6c2, 0xe598, 0xe77d, 0xe598, 0xe77d, 0xe673, -0xe84b, 0xe673, 0xe84b, 0xe7ba, 0xe97f, 0xe7ba, 0xe97f, 0xe8cb, 0xea77, 0xe8cb, 0xea77, -0xe8cb, 0xea77, 0xea6f, 0xebfc, 0xea6f, 0xebfc, 0xec30, 0xed99, 0xec30, 0xed99, 0xee94, -0xefd4, 0xee94, 0xefd4, 0xf0b4, 0xf1c7, 0xf0b4, 0xf1c7, 0xf283, 0xf366, 0xf283, 0xf366, -0xf5a0, 0xf651, 0xf5a0, 0xf651, 0xf5a0, 0xf651, 0xf8bd, 0xf938, 0xf8bd, 0xf938, 0xfaeb, -0xfb30, 0xfaeb, 0xfb30, 0xfc75, 0xfc84, 0xfc75, 0xfc84, 0xfe37, 0xfe0f, 0xfe37, 0xfe0f, -0xff63, 0xff06, 0xff63, 0xff06, 0xff63, 0xff06, 0x190, 0xff, 0x190, 0xff, 0x40e, -0x34c, 0x40e, 0x34c, 0x512, 0x41f, 0x512, 0x41f, 0x6ff, 0x5e1, 0x6ff, 0x5e1, -0x8af, 0x766, 0x8af, 0x766, 0x94d, 0x7df, 0x94d, 0x7df, 0x94d, 0x7df, 0xa9c, -0x90b, 0xa9c, 0x90b, 0xc9f, 0xaef, 0xc9f, 0xaef, 0xde7, 0xc1d, 0xde7, 0xc1d, -0xec3, 0xce2, 0xec3, 0xce2, 0x1027, 0xe34, 0x1027, 0xe34, 0x1122, 0xf21, 0x1122, -0xf21, 0x1122, 0xf21, 0x1124, 0xf19, 0x1124, 0xf19, 0x1106, 0xef7, 0x1106, 0xef7, -0x1064, 0xe57, 0x1064, 0xe57, 0xfb9, 0xdb2, 0xfb9, 0xdb2, 0x1019, 0xe1e, 0x1019, -0xe1e, 0x1019, 0xe1e, 0x105a, 0xe72, 0x105a, 0xe72, 0x10b4, 0xee4, 0x10b4, 0xee4, -0x115f, 0xfad, 0x115f, 0xfad, 0x123f, 0x10b2, 0x123f, 0x10b2, 0x1295, 0x1132, 0x1295, -0x1132, 0x1285, 0x1153, 0x1285, 0x1153, 0x1285, 0x1153, 0x12a5, 0x11aa, 0x12a5, 0x11aa, -0x1216, 0x1157, 0x1216, 0x1157, 0x116a, 0x10ec, 0x116a, 0x10ec, 0x104a, 0x1010, 0x104a, -0x1010, 0xed0, 0xede, 0xed0, 0xede, 0xd94, 0xdec, 0xd94, 0xdec, 0xd94, 0xdec, -0xcb5, 0xd58, 0xcb5, 0xd58, 0xbcf, 0xcbd, 0xbcf, 0xcbd, 0x9eb, 0xb23, 0x9eb, -0xb23, 0x83d, 0x9bc, 0x83d, 0x9bc, 0x73b, 0x8ff, 0x73b, 0x8ff, 0x73b, 0x8ff, -0x563, 0x767, 0x563, 0x767, 0x35f, 0x59f, 0x35f, 0x59f, 0x161, 0x3d6, 0x161, -0x3d6, 0xff47, 0x1ec, 0xff47, 0x1ec, 0xfde2, 0xaf, 0xfde2, 0xaf, 0xfc81, 0xff70, -0xfc81, 0xff70, 0xfc81, 0xff70, 0xfbbc, 0xfec6, 0xfbbc, 0xfec6, 0xfaad, 0xfdcc, 0xfaad, -0xfdcc, 0xf91b, 0xfc47, 0xf91b, 0xfc47, 0xf7bd, 0xfaf2, 0xf7bd, 0xfaf2, 0xf67e, 0xf9b6, -0xf67e, 0xf9b6, 0xf591, 0xf8c9, 0xf591, 0xf8c9, 0xf591, 0xf8c9, 0xf469, 0xf79c, 0xf469, -0xf79c, 0xf372, 0xf69e, 0xf372, 0xf69e, 0xf122, 0xf444, 0xf122, 0xf444, 0xee84, 0xf19b, -0xee84, 0xf19b, 0xed50, 0xf05c, 0xed50, 0xf05c, 0xed50, 0xf05c, 0xec6a, 0xef6a, 0xec6a, -0xef6a, 0xeb30, 0xee23, 0xeb30, 0xee23, 0xe9f5, 0xecdc, 0xe9f5, 0xecdc, 0xe904, 0xebdd, -0xe904, 0xebdd, 0xe7af, 0xea7a, 0xe7af, 0xea7a, 0xe734, 0xe9ef, 0xe734, 0xe9ef, 0xe734, -0xe9ef, 0xe640, 0xe8ea, 0xe640, 0xe8ea, 0xe4ad, 0xe743, 0xe4ad, 0xe743, 0xe487, 0xe704, -0xe487, 0xe704, 0xe446, 0xe6a7, 0xe446, 0xe6a7, 0xe337, 0xe576, 0xe337, 0xe576, 0xe27e, -0xe494, 0xe27e, 0xe494, 0xe27e, 0xe494, 0xe24b, 0xe432, 0xe24b, 0xe432, 0xe212, 0xe3c1, -0xe212, 0xe3c1, 0xe2ca, 0xe43b, 0xe2ca, 0xe43b, 0xe452, 0xe57b, 0xe452, 0xe57b, 0xe572, -0xe64c, 0xe572, 0xe64c, 0xe572, 0xe64c, 0xe700, 0xe784, 0xe700, 0xe784, 0xe949, 0xe96e, -0xe949, 0xe96e, 0xeb87, 0xeb49, 0xeb87, 0xeb49, 0xedfe, 0xed58, 0xedfe, 0xed58, 0xf0ad, -0xef9b, 0xf0ad, 0xef9b, 0xf3e7, 0xf267, 0xf3e7, 0xf267, 0xf3e7, 0xf267, 0xf731, 0xf543, -0xf731, 0xf543, 0xfa79, 0xf81f, 0xfa79, 0xf81f, 0xfeaa, 0xfbe7, 0xfeaa, 0xfbe7, 0x20f, -0xfee7, 0x20f, 0xfee7, 0x4ef, 0x16a, 0x4ef, 0x16a, 0x816, 0x43b, 0x816, 0x43b, -0x816, 0x43b, 0xb72, 0x74b, 0xb72, 0x74b, 0xf89, 0xb20, 0xf89, 0xb20, 0x13ad, -0xf0c, 0x13ad, 0xf0c, 0x17c8, 0x12fb, 0x17c8, 0x12fb, 0x1bc4, 0x16d7, 0x1bc4, 0x16d7, -0x1bc4, 0x16d7, 0x1f41, 0x1a3f, 0x1f41, 0x1a3f, 0x220c, 0x1d00, 0x220c, 0x1d00, 0x23f9, -0x1eef, 0x23f9, 0x1eef, 0x2582, 0x2082, 0x2582, 0x2082, 0x26eb, 0x21ff, 0x26eb, 0x21ff, -0x27bc, 0x22eb, 0x27bc, 0x22eb, 0x27bc, 0x22eb, 0x2835, 0x2385, 0x2835, 0x2385, 0x27c3, -0x233a, 0x27c3, 0x233a, 0x26ca, 0x226c, 0x26ca, 0x226c, 0x25df, 0x21b0, 0x25df, 0x21b0, -0x24b7, 0x20b9, 0x24b7, 0x20b9, 0x2426, 0x2059, 0x2426, 0x2059, 0x2426, 0x2059, 0x2348, -0x1fae, 0x2348, 0x1fae, 0x227d, 0x1f16, 0x227d, 0x1f16, 0x21dd, 0x1eaa, 0x21dd, 0x1eaa, -0x20c6, 0x1dc6, 0x20c6, 0x1dc6, 0x1f49, 0x1c7c, 0x1f49, 0x1c7c, 0x1f49, 0x1c7c, 0x1e25, -0x1b8b, 0x1e25, 0x1b8b, 0x1e0f, 0x1ba9, 0x1e0f, 0x1ba9, 0x1cfa, 0x1ac9, 0x1cfa, 0x1ac9, -0x1b6a, 0x196f, 0x1b6a, 0x196f, 0x1a4b, 0x1888, 0x1a4b, 0x1888, 0x18f9, 0x176e, 0x18f9, -0x176e, 0x18f9, 0x176e, 0x175c, 0x160d, 0x175c, 0x160d, 0x1562, 0x1451, 0x1562, 0x1451, -0x1267, 0x1195, 0x1267, 0x1195, 0xef2, 0xe61, 0xef2, 0xe61, 0xc98, 0xc49, 0xc98, -0xc49, 0x99e, 0x993, 0x99e, 0x993, 0x99e, 0x993, 0x62a, 0x662, 0x62a, 0x662, -0x413, 0x48e, 0x413, 0x48e, 0x265, 0x320, 0x265, 0x320, 0xffd2, 0xcc, 0xffd2, -0xcc, 0xfd61, 0xfe96, 0xfd61, 0xfe96, 0xfd61, 0xfe96, 0xfbea, 0xfd55, 0xfbea, 0xfd55, -0xf9e6, 0xfb82, 0xf9e6, 0xfb82, 0xf801, 0xf9c9, 0xf801, 0xf9c9, 0xf65c, 0xf848, 0xf65c, -0xf848, 0xf402, 0xf60b, 0xf402, 0xf60b, 0xf2ac, 0xf4ca, 0xf2ac, 0xf4ca, 0xf2ac, 0xf4ca, -0xf1d6, 0xf403, 0xf1d6, 0xf403, 0xf05b, 0xf28f, 0xf05b, 0xf28f, 0xef2d, 0xf162, 0xef2d, -0xf162, 0xee70, 0xf0a0, 0xee70, 0xf0a0, 0xee74, 0xf099, 0xee74, 0xf099, 0xee50, 0xf066, -0xee50, 0xf066, 0xee50, 0xf066, 0xedd9, 0xefdd, 0xedd9, 0xefdd, 0xed9e, 0xef8e, 0xed9e, -0xef8e, 0xecd7, 0xeeb4, 0xecd7, 0xeeb4, 0xec83, 0xee4a, 0xec83, 0xee4a, 0xecb9, 0xee6e, -0xecb9, 0xee6e, 0xecb9, 0xee6e, 0xeca2, 0xee46, 0xeca2, 0xee46, 0xecd1, 0xee68, 0xecd1, -0xee68, 0xedc7, 0xef53, 0xedc7, 0xef53, 0xee7a, 0xf000, 0xee7a, 0xf000, 0xee42, 0xefc6, -0xee42, 0xefc6, 0xee07, 0xef8d, 0xee07, 0xef8d, 0xee07, 0xef8d, 0xedf5, 0xef80, 0xedf5, -0xef80, 0xed67, 0xeef9, 0xed67, 0xeef9, 0xecf5, 0xee92, 0xecf5, 0xee92, 0xecea, 0xee92, -0xecea, 0xee92, 0xec91, 0xee45, 0xec91, 0xee45, 0xec91, 0xee45, 0xecbd, 0xee7c, 0xecbd, -0xee7c, 0xeceb, 0xeeb2, 0xeceb, 0xeeb2, 0xecb1, 0xee7f, 0xecb1, 0xee7f, 0xec42, 0xee13, -0xec42, 0xee13, 0xeb9f, 0xed6f, 0xeb9f, 0xed6f, 0xeb7d, 0xed46, 0xeb7d, 0xed46, 0xeb7d, -0xed46, 0xebad, 0xed69, 0xebad, 0xed69, 0xecba, 0xee64, 0xecba, 0xee64, 0xee4b, 0xefdd, -0xee4b, 0xefdd, 0xefcb, 0xf13f, 0xefcb, 0xf13f, 0xf082, 0xf1d3, 0xf082, 0xf1d3, 0xf126, -0xf24e, 0xf126, 0xf24e, 0xf126, 0xf24e, 0xf2b7, 0xf3b3, 0xf2b7, 0xf3b3, 0xf3af, 0xf47b, -0xf3af, 0xf47b, 0xf499, 0xf532, 0xf499, 0xf532, 0xf5f9, 0xf65e, 0xf5f9, 0xf65e, 0xf784, -0xf7b5, 0xf784, 0xf7b5, 0xf784, 0xf7b5, 0xf9a4, 0xf9a0, 0xf9a4, 0xf9a0, 0xfc03, 0xfbcc, -0xfc03, 0xfbcc, 0xfd6e, 0xfd06, 0xfd6e, 0xfd06, 0xfeb4, 0xfe1e, 0xfeb4, 0xfe1e, 0x109, -0x47, 0x109, 0x47, 0x32d, 0x245, 0x32d, 0x245, 0x32d, 0x245, 0x53c, 0x431, -0x53c, 0x431, 0x726, 0x5fc, 0x726, 0x5fc, 0x842, 0x6fe, 0x842, 0x6fe, 0x913, -0x7b9, 0x913, 0x7b9, 0xa36, 0x8c9, 0xa36, 0x8c9, 0xb56, 0x9db, 0xb56, 0x9db, -0xb56, 0x9db, 0xbcc, 0xa45, 0xbcc, 0xa45, 0xcb1, 0xb23, 0xcb1, 0xb23, 0xdb1, -0xc1f, 0xdb1, 0xc1f, 0xdf4, 0xc61, 0xdf4, 0xc61, 0xe7d, 0xceb, 0xe7d, 0xceb, -0xe7d, 0xceb, 0xeb7, 0xd2a, 0xeb7, 0xd2a, 0xe48, 0xcc1, 0xe48, 0xcc1, 0xd47, -0xbca, 0xd47, 0xbca, 0xc5d, 0xaed, 0xc5d, 0xaed, 0xcc3, 0xb62, 0xcc3, 0xb62, -0xd69, 0xc1b, 0xd69, 0xc1b, 0xd69, 0xc1b, 0xe09, 0xcd1, 0xe09, 0xcd1, 0xe77, -0xd59, 0xe77, 0xd59, 0xe2d, 0xd2c, 0xe2d, 0xd2c, 0xe50, 0xd71, 0xe50, 0xd71, -0xf3f, 0xe85, 0xf3f, 0xe85, 0xf97, 0xf06, 0xf97, 0xf06, 0xf97, 0xf06, 0xf0d, -0xea8, 0xf0d, 0xea8, 0xf0a, 0xed6, 0xf0a, 0xed6, 0xf6a, 0xf68, 0xf6a, 0xf68, -0xf36, 0xf69, 0xf36, 0xf69, 0xe7b, 0xee4, 0xe7b, 0xee4, 0xe7b, 0xee4, 0xdab, -0xe4b, 0xdab, 0xe4b, 0xcc2, 0xd99, 0xcc2, 0xd99, 0xbec, 0xcf9, 0xbec, 0xcf9, -0xa38, 0xb7a, 0xa38, 0xb7a, 0x774, 0x8e8, 0x774, 0x8e8, 0x577, 0x71a, 0x577, -0x71a, 0x577, 0x71a, 0x3e2, 0x5b0, 0x3e2, 0x5b0, 0x23a, 0x42e, 0x23a, 0x42e, -0x90, 0x2a7, 0x90, 0x2a7, 0xff71, 0x1a5, 0xff71, 0x1a5, 0xfee5, 0x133, 0xfee5, -0x133, 0xfdf3, 0x54, 0xfdf3, 0x54, 0xfdf3, 0x54, 0xfd12, 0xff84, 0xfd12, 0xff84, -0xfc1b, 0xfe98, 0xfc1b, 0xfe98, 0xfacb, 0xfd51, 0xfacb, 0xfd51, 0xf938, 0xfbc5, 0xf938, -0xfbc5, 0xf80b, 0xfa9c, 0xf80b, 0xfa9c, 0xf80b, 0xfa9c, 0xf6bb, 0xf950, 0xf6bb, 0xf950, -0xf4a5, 0xf73c, 0xf4a5, 0xf73c, 0xf38e, 0xf628, 0xf38e, 0xf628, 0xf273, 0xf510, 0xf273, -0xf510, 0xf09d, 0xf33f, 0xf09d, 0xf33f, 0xefe7, 0xf28d, 0xefe7, 0xf28d, 0xefe7, 0xf28d, -0xef92, 0xf23e, 0xef92, 0xf23e, 0xedc7, 0xf078, 0xedc7, 0xf078, 0xeb28, 0xeddf, 0xeb28, -0xeddf, 0xe8ee, 0xebaa, 0xe8ee, 0xebaa, 0xe6e7, 0xe9a6, 0xe6e7, 0xe9a6, 0xe595, 0xe854, -0xe595, 0xe854, 0xe595, 0xe854, 0xe48e, 0xe749, 0xe48e, 0xe749, 0xe2da, 0xe58b, 0xe2da, -0xe58b, 0xe194, 0xe436, 0xe194, 0xe436, 0xe19d, 0xe426, 0xe19d, 0xe426, 0xe1dc, 0xe446, -0xe1dc, 0xe446, 0xe1dc, 0xe446, 0xe17a, 0xe3ba, 0xe17a, 0xe3ba, 0xe17b, 0xe386, 0xe17b, -0xe386, 0xe1f8, 0xe3c5, 0xe1f8, 0xe3c5, 0xe378, 0xe4fb, 0xe378, 0xe4fb, 0xe602, 0xe732, -0xe602, 0xe732, 0xe7e5, 0xe8b7, 0xe7e5, 0xe8b7, 0xe7e5, 0xe8b7, 0xe998, 0xea05, 0xe998, -0xea05, 0xeb92, 0xeb92, 0xeb92, 0xeb92, 0xee1c, 0xeda9, 0xee1c, 0xeda9, 0xf0f9, 0xf00e, -0xf0f9, 0xf00e, 0xf3d4, 0xf270, 0xf3d4, 0xf270, 0xf79e, 0xf5c0, 0xf79e, 0xf5c0, 0xf79e, -0xf5c0, 0xfb49, 0xf8f3, 0xfb49, 0xf8f3, 0xfe38, 0xfb6e, 0xfe38, 0xfb6e, 0x166, 0xfe2e, -0x166, 0xfe2e, 0x523, 0x185, 0x523, 0x185, 0x8c7, 0x4cc, 0x8c7, 0x4cc, 0x8c7, -0x4cc, 0xc10, 0x7c3, 0xc10, 0x7c3, 0xfed, 0xb5a, 0xfed, 0xb5a, 0x141c, 0xf4f, -0x141c, 0xf4f, 0x1797, 0x129d, 0x1797, 0x129d, 0x1a80, 0x1566, 0x1a80, 0x1566, 0x1cb1, -0x1784, 0x1cb1, 0x1784, 0x1cb1, 0x1784, 0x1e4f, 0x191b, 0x1e4f, 0x191b, 0x2097, 0x1b66, -0x2097, 0x1b66, 0x22ab, 0x1d88, 0x22ab, 0x1d88, 0x23e9, 0x1edd, 0x23e9, 0x1edd, 0x24ef, -0x2001, 0x24ef, 0x2001, 0x2576, 0x20ac, 0x2576, 0x20ac, 0x2576, 0x20ac, 0x25dd, 0x213b, -0x25dd, 0x213b, 0x25af, 0x2139, 0x25af, 0x2139, 0x2505, 0x20bc, 0x2505, 0x20bc, 0x2459, -0x203f, 0x2459, 0x203f, 0x23a2, 0x1fb6, 0x23a2, 0x1fb6, 0x23a2, 0x1fb6, 0x2344, 0x1f86, -0x2344, 0x1f86, 0x2279, 0x1ee9, 0x2279, 0x1ee9, 0x2132, 0x1dce, 0x2132, 0x1dce, 0x2008, -0x1cd0, 0x2008, 0x1cd0, 0x1ffb, 0x1cef, 0x1ffb, 0x1cef, 0x1fca, 0x1ce8, 0x1fca, 0x1ce8, -0x1fca, 0x1ce8, 0x1e39, 0x1b83, 0x1e39, 0x1b83, 0x1d8b, 0x1b00, 0x1d8b, 0x1b00, 0x1cbf, -0x1a63, 0x1cbf, 0x1a63, 0x1b59, 0x192e, 0x1b59, 0x192e, 0x1a48, 0x1850, 0x1a48, 0x1850, -0x1856, 0x1693, 0x1856, 0x1693, 0x1856, 0x1693, 0x15c1, 0x1438, 0x15c1, 0x1438, 0x1397, -0x124c, 0x1397, 0x124c, 0x1180, 0x1075, 0x1180, 0x1075, 0xedd, 0xe15, 0xedd, 0xe15, -0xd25, 0xca3, 0xd25, 0xca3, 0xd25, 0xca3, 0xb96, 0xb5b, 0xb96, 0xb5b, 0x863, -0x870, 0x863, 0x870, 0x57e, 0x5d3, 0x57e, 0x5d3, 0x418, 0x4b3, 0x418, 0x4b3, -0x25b, 0x339, 0x25b, 0x339, 0xffda, 0xf9, 0xffda, 0xf9, 0xffda, 0xf9, 0xfd8e, -0xfee8, 0xfd8e, 0xfee8, 0xfaea, 0xfc7a, 0xfaea, 0xfc7a, 0xf8e9, 0xfaa8, 0xf8e9, 0xfaa8, -0xf73b, 0xf921, 0xf73b, 0xf921, 0xf4c8, 0xf6cf, 0xf4c8, 0xf6cf, 0xf4c8, 0xf6cf, 0xf28f, -0xf4af, 0xf28f, 0xf4af, 0xf0c1, 0xf2f3, 0xf0c1, 0xf2f3, 0xf01f, 0xf25b, 0xf01f, 0xf25b, -0xef7e, 0xf1bf, 0xef7e, 0xf1bf, 0xee10, 0xf050, 0xee10, 0xf050, 0xed1d, 0xef56, 0xed1d, -0xef56, 0xed1d, 0xef56, 0xec08, 0xee38, 0xec08, 0xee38, 0xeaf0, 0xed15, 0xeaf0, 0xed15, -0xea12, 0xec2a, 0xea12, 0xec2a, 0xe975, 0xeb7f, 0xe975, 0xeb7f, 0xe99a, 0xeb97, 0xe99a, -0xeb97, 0xea05, 0xebf8, 0xea05, 0xebf8, 0xea05, 0xebf8, 0xea66, 0xec52, 0xea66, 0xec52, -0xea22, 0xec09, 0xea22, 0xec09, 0xe996, 0xeb7b, 0xe996, 0xeb7b, 0xe9af, 0xeb96, 0xe9af, -0xeb96, 0xe97b, 0xeb68, 0xe97b, 0xeb68, 0xe97b, 0xeb68, 0xe90c, 0xeb01, 0xe90c, 0xeb01, -0xe8f7, 0xeaf6, 0xe8f7, 0xeaf6, 0xe859, 0xea65, 0xe859, 0xea65, 0xe7ac, 0xe9c4, 0xe7ac, -0xe9c4, 0xe751, 0xe975, 0xe751, 0xe975, 0xe6b8, 0xe8e6, 0xe6b8, 0xe8e6, 0xe6b8, 0xe8e6, -0xe67b, 0xe8b0, 0xe67b, 0xe8b0, 0xe646, 0xe87f, 0xe646, 0xe87f, 0xe608, 0xe840, 0xe608, -0xe840, 0xe5e4, 0xe815, 0xe5e4, 0xe815, 0xe63d, 0xe862, 0xe63d, 0xe862, 0xe7e0, 0xe9f1, -0xe7e0, 0xe9f1, 0xe7e0, 0xe9f1, 0xe997, 0xeb8e, 0xe997, 0xeb8e, 0xeab2, 0xec89, 0xeab2, -0xec89, 0xeb84, 0xed34, 0xeb84, 0xed34, 0xedb5, 0xef38, 0xedb5, 0xef38, 0xf011, 0xf162, -0xf011, 0xf162, 0xf011, 0xf162, 0xf147, 0xf263, 0xf147, 0xf263, 0xf36c, 0xf44f, 0xf36c, -0xf44f, 0xf571, 0xf61a, 0xf571, 0xf61a, 0xf79f, 0xf80d, 0xf79f, 0xf80d, 0xfa6b, 0xfa9f, -0xfa6b, 0xfa9f, 0xfc45, 0xfc41, 0xfc45, 0xfc41, 0xfc45, 0xfc41, 0xfd61, 0xfd28, 0xfd61, -0xfd28, 0xfedc, 0xfe71, 0xfedc, 0xfe71, 0xf5, 0x5d, 0xf5, 0x5d, 0x309, 0x24a, -0x309, 0x24a, 0x58e, 0x4ae, 0x58e, 0x4ae, 0x7aa, 0x6ad, 0x7aa, 0x6ad, 0x7aa, -0x6ad, 0x8f5, 0x7e3, 0x8f5, 0x7e3, 0xac7, 0x9a4, 0xac7, 0x9a4, 0xc98, 0xb6b, -0xc98, 0xb6b, 0xd7e, 0xc4c, 0xd7e, 0xc4c, 0xea3, 0xd70, 0xea3, 0xd70, 0xea3, -0xd70, 0xfeb, 0xebb, 0xfeb, 0xebb, 0x102c, 0xf02, 0x102c, 0xf02, 0x10ef, 0xfce, -0x10ef, 0xfce, 0x11b1, 0x109c, 0x11b1, 0x109c, 0x1181, 0x1078, 0x1181, 0x1078, 0x1110, -0x1015, 0x1110, 0x1015, 0x1110, 0x1015, 0x105a, 0xf6f, 0x105a, 0xf6f, 0x10a3, 0xfc7, -0x10a3, 0xfc7, 0x10e9, 0x101d, 0x10e9, 0x101d, 0x10a9, 0xfee, 0x10a9, 0xfee, 0x110a, -0x1061, 0x110a, 0x1061, 0x10f7, 0x1060, 0x10f7, 0x1060, 0x10f7, 0x1060, 0x10e2, 0x105f, -0x10e2, 0x105f, 0x10c3, 0x1056, 0x10c3, 0x1056, 0x106f, 0x1019, 0x106f, 0x1019, 0x1040, -0x1003, 0x1040, 0x1003, 0x1002, 0xfe1, 0x1002, 0xfe1, 0x1002, 0xfe1, 0x104d, 0x1049, -0x104d, 0x1049, 0xf9f, 0xfbb, 0xf9f, 0xfbb, 0xdef, 0xe2d, 0xdef, 0xe2d, 0xcaf, -0xd12, 0xcaf, 0xd12, 0xbba, 0xc43, 0xbba, 0xc43, 0xb0e, 0xbbe, 0xb0e, 0xbbe, -0xb0e, 0xbbe, 0x9de, 0xab6, 0x9de, 0xab6, 0x7b8, 0x8b7, 0x7b8, 0x8b7, 0x589, -0x6af, 0x589, 0x6af, 0x375, 0x4c1, 0x375, 0x4c1, 0x144, 0x2b3, 0x144, 0x2b3, -0xff4d, 0xdc, 0xff4d, 0xdc, 0xff4d, 0xdc, 0xfd49, 0xfef6, 0xfd49, 0xfef6, 0xfbae, -0xfd76, 0xfbae, 0xfd76, 0xfa50, 0xfc2e, 0xfa50, 0xfc2e, 0xf931, 0xfb21, 0xf931, 0xfb21, -0xf8fc, 0xfaf9, 0xf8fc, 0xfaf9, 0xf8fc, 0xfaf9, 0xf855, 0xfa5d, 0xf855, 0xfa5d, 0xf688, -0xf896, 0xf688, 0xf896, 0xf469, 0xf67a, 0xf469, 0xf67a, 0xf362, 0xf574, 0xf362, 0xf574, -0xf248, 0xf45a, 0xf248, 0xf45a, 0xf094, 0xf2a4, 0xf094, 0xf2a4, 0xf094, 0xf2a4, 0xef5b, -0xf169, 0xef5b, 0xf169, 0xed90, 0xef9b, 0xed90, 0xef9b, 0xeca0, 0xeeaa, 0xeca0, 0xeeaa, -0xed0b, 0xef14, 0xed0b, 0xef14, 0xec77, 0xee81, 0xec77, 0xee81, 0xeac2, 0xeccf, 0xeac2, -0xeccf, 0xeac2, 0xeccf, 0xe9b1, 0xebc2, 0xe9b1, 0xebc2, 0xe91e, 0xeb34, 0xe91e, 0xeb34, -0xe845, 0xea60, 0xe845, 0xea60, 0xe83f, 0xea60, 0xe83f, 0xea60, 0xe7b9, 0xe9de, 0xe7b9, -0xe9de, 0xe7b9, 0xe9de, 0xe63d, 0xe865, 0xe63d, 0xe865, 0xe5af, 0xe7d5, 0xe5af, 0xe7d5, -0xe565, 0xe786, 0xe565, 0xe786, 0xe4b9, 0xe6cf, 0xe4b9, 0xe6cf, 0xe4c9, 0xe6ce, 0xe4c9, -0xe6ce, 0xe538, 0xe724, 0xe538, 0xe724, 0xe538, 0xe724, 0xe5a5, 0xe76f, 0xe5a5, 0xe76f, -0xe781, 0xe920, 0xe781, 0xe920, 0xe9c9, 0xeb34, 0xe9c9, 0xeb34, 0xebec, 0xed19, 0xebec, -0xed19, 0xee5e, 0xef43, 0xee5e, 0xef43, 0xf09d, 0xf133, 0xf09d, 0xf133, 0xf09d, 0xf133, -0xf381, 0xf3be, 0xf381, 0xf3be, 0xf614, 0xf5f2, 0xf614, 0xf5f2, 0xf8d5, 0xf84d, 0xf8d5, -0xf84d, 0xfc4b, 0xfb5b, 0xfc4b, 0xfb5b, 0xff01, 0xfda5, 0xff01, 0xfda5, 0xff01, 0xfda5, -0x1db, 0x14, 0x1db, 0x14, 0x4a8, 0x277, 0x4a8, 0x277, 0x7ca, 0x533, 0x7ca, -0x533, 0xb1b, 0x823, 0xb1b, 0x823, 0xeac, 0xb5b, 0xeac, 0xb5b, 0x1352, 0xfb0, -0x1352, 0xfb0, 0x1352, 0xfb0, 0x171b, 0x1331, 0x171b, 0x1331, 0x1a6b, 0x1644, 0x1a6b, -0x1644, 0x1d19, 0x18c0, 0x1d19, 0x18c0, 0x1f3f, 0x1ac0, 0x1f3f, 0x1ac0, 0x21f2, 0x1d58, -0x21f2, 0x1d58, 0x235e, 0x1eb5, 0x235e, 0x1eb5, 0x235e, 0x1eb5, 0x23ac, 0x1efe, 0x23ac, -0x1efe, 0x2459, 0x1faf, 0x2459, 0x1faf, 0x2546, 0x20a8, 0x2546, 0x20a8, 0x25cd, 0x2142, -0x25cd, 0x2142, 0x25e7, 0x2175, 0x25e7, 0x2175, 0x25e7, 0x2175, 0x2534, 0x20df, 0x2534, -0x20df, 0x2415, 0x1fe0, 0x2415, 0x1fe0, 0x2310, 0x1efc, 0x2310, 0x1efc, 0x2212, 0x1e20, -0x2212, 0x1e20, 0x2197, 0x1dc7, 0x2197, 0x1dc7, 0x2084, 0x1cd4, 0x2084, 0x1cd4, 0x2084, -0x1cd4, 0x1e87, 0x1af7, 0x1e87, 0x1af7, 0x1d1c, 0x19aa, 0x1d1c, 0x19aa, 0x1cb2, 0x195c, -0x1cb2, 0x195c, 0x1be2, 0x18a7, 0x1be2, 0x18a7, 0x1ac2, 0x17a2, 0x1ac2, 0x17a2, 0x1ac2, -0x17a2, 0x1a06, 0x1702, 0x1a06, 0x1702, 0x187a, 0x1592, 0x187a, 0x1592, 0x16d6, 0x140c, -0x16d6, 0x140c, 0x15a9, 0x1301, 0x15a9, 0x1301, 0x13d6, 0x1154, 0x13d6, 0x1154, 0x10e4, -0xe8c, 0x10e4, 0xe8c, 0x10e4, 0xe8c, 0xd9f, 0xb77, 0xd9f, 0xb77, 0xac8, 0x8d5, -0xac8, 0x8d5, 0x883, 0x6cc, 0x883, 0x6cc, 0x6ef, 0x57b, 0x6ef, 0x57b, 0x462, -0x335, 0x462, 0x335, 0x123, 0x42, 0x123, 0x42, 0x123, 0x42, 0xff1d, 0xfe8d, -0xff1d, 0xfe8d, 0xfd7e, 0xfd42, 0xfd7e, 0xfd42, 0xfbc4, 0xfbde, 0xfbc4, 0xfbde, 0xfa60, -0xfad0, 0xfa60, 0xfad0, 0xf8c9, 0xf98e, 0xf8c9, 0xf98e, 0xf8c9, 0xf98e, 0xf729, 0xf840, -0xf729, 0xf840, 0xf5d6, 0xf73c, 0xf5d6, 0xf73c, 0xf41c, 0xf5cb, 0xf41c, 0xf5cb, 0xf257, -0xf449, 0xf257, 0xf449, 0xf065, 0xf293, 0xf065, 0xf293, 0xeef6, 0xf156, 0xeef6, 0xf156, -0xeef6, 0xf156, 0xee8e, 0xf118, 0xee8e, 0xf118, 0xed23, 0xefcd, 0xed23, 0xefcd, 0xec57, -0xef18, 0xec57, 0xef18, 0xec46, 0xef16, 0xec46, 0xef16, 0xeb5a, 0xee30, 0xeb5a, 0xee30, -0xeab7, 0xed8d, 0xeab7, 0xed8d, 0xeab7, 0xed8d, 0xeab3, 0xed82, 0xeab3, 0xed82, 0xec0f, -0xeed2, 0xec0f, 0xeed2, 0xecd3, 0xef86, 0xecd3, 0xef86, 0xed52, 0xeff3, 0xed52, 0xeff3, -0xee4c, 0xf0d8, 0xee4c, 0xf0d8, 0xee4c, 0xf0d8, 0xede6, 0xf05f, 0xede6, 0xf05f, 0xedf5, -0xf05a, 0xedf5, 0xf05a, 0xeddf, 0xf032, 0xeddf, 0xf032, 0xede1, 0xf024, 0xede1, 0xf024, -0xee8e, 0xf0c4, 0xee8e, 0xf0c4, 0xee60, 0xf08b, 0xee60, 0xf08b, 0xee60, 0xf08b, 0xede2, -0xf003, 0xede2, 0xf003, 0xed7b, 0xef96, 0xed7b, 0xef96, 0xed95, 0xefa9, 0xed95, 0xefa9, -0xedbd, 0xefcc, 0xedbd, 0xefcc, 0xedc2, 0xefca, 0xedc2, 0xefca, 0xed07, 0xef08, 0xed07, -0xef08, 0xed07, 0xef08, 0xebef, 0xede5, 0xebef, 0xede5, 0xebbe, 0xeda7, 0xebbe, 0xeda7, -0xec44, 0xee1a, 0xec44, 0xee1a, 0xed70, 0xef2f, 0xed70, 0xef2f, 0xedcf, 0xef71, 0xedcf, -0xef71, 0xedcf, 0xef71, 0xedf4, 0xef73, 0xedf4, 0xef73, 0xef92, 0xf0e8, 0xef92, 0xf0e8, -0xf18b, 0xf2b2, 0xf18b, 0xf2b2, 0xf2a5, 0xf398, 0xf2a5, 0xf398, 0xf3a1, 0xf45b, 0xf3a1, -0xf45b, 0xf52c, 0xf5a9, 0xf52c, 0xf5a9, 0xf52c, 0xf5a9, 0xf6a0, 0xf6de, 0xf6a0, 0xf6de, -0xf8dd, 0xf8db, 0xf8dd, 0xf8db, 0xfb93, 0xfb50, 0xfb93, 0xfb50, 0xfd53, 0xfcd1, 0xfd53, -0xfcd1, 0xfe64, 0xfda6, 0xfe64, 0xfda6, 0xff6d, 0xfe77, 0xff6d, 0xfe77, 0xff6d, 0xfe77, -0xeb, 0xffc2, 0xeb, 0xffc2, 0x2d8, 0x182, 0x2d8, 0x182, 0x577, 0x3fc, 0x577, -0x3fc, 0x78e, 0x5f4, 0x78e, 0x5f4, 0x8b9, 0x709, 0x8b9, 0x709, 0x8b9, 0x709, -0xa59, 0x89c, 0xa59, 0x89c, 0xb83, 0x9c0, 0xb83, 0x9c0, 0xc39, 0xa78, 0xc39, -0xa78, 0xcda, 0xb21, 0xcda, 0xb21, 0xd07, 0xb5e, 0xd07, 0xb5e, 0xde0, 0xc4b, -0xde0, 0xc4b, 0xde0, 0xc4b, 0xf18, 0xd9c, 0xf18, 0xd9c, 0xfc3, 0xe63, 0xfc3, -0xe63, 0xfca, 0xe88, 0xfca, 0xe88, 0xecd, 0xdab, 0xecd, 0xdab, 0xea5, 0xda4, -0xea5, 0xda4, 0xf13, 0xe32, 0xf13, 0xe32, 0xf13, 0xe32, 0xe56, 0xd95, 0xe56, -0xd95, 0xe7f, 0xdde, 0xe7f, 0xdde, 0xedd, 0xe59, 0xedd, 0xe59, 0xeda, 0xe73, -0xeda, 0xe73, 0xec6, 0xe7a, 0xec6, 0xe7a, 0xec6, 0xe7a, 0xe7b, 0xe49, 0xe7b, -0xe49, 0xef6, 0xede, 0xef6, 0xede, 0xe8a, 0xe8c, 0xe8a, 0xe8c, 0xe62, 0xe7d, -0xe62, 0xe7d, 0xe08, 0xe3e, 0xe08, 0xe3e, 0xc99, 0xceb, 0xc99, 0xceb, 0xc99, -0xceb, 0xc70, 0xcdf, 0xc70, 0xcdf, 0xc3a, 0xcc8, 0xc3a, 0xcc8, 0xc28, 0xcd7, -0xc28, 0xcd7, 0xbfb, 0xccb, 0xbfb, 0xccb, 0xad3, 0xbc7, 0xad3, 0xbc7, 0x91e, -0xa38, 0x91e, 0xa38, 0x91e, 0xa38, 0x71d, 0x85d, 0x71d, 0x85d, 0x5ac, 0x711, -0x5ac, 0x711, 0x3d3, 0x55d, 0x3d3, 0x55d, 0x214, 0x3c3, 0x214, 0x3c3, 0x56, -0x227, 0x56, 0x227, 0x56, 0x227, 0xfe81, 0x72, 0xfe81, 0x72, 0xfd88, 0xff97, -0xfd88, 0xff97, 0xfd15, 0xff3d, 0xfd15, 0xff3d, 0xfcde, 0xff1c, 0xfcde, 0xff1c, 0xfb06, -0xfd55, 0xfb06, 0xfd55, 0xf87d, 0xfad8, 0xf87d, 0xfad8, 0xf87d, 0xfad8, 0xf75c, 0xf9c0, -0xf75c, 0xf9c0, 0xf6c3, 0xf92b, 0xf6c3, 0xf92b, 0xf543, 0xf7ac, 0xf543, 0xf7ac, 0xf358, -0xf5c0, 0xf358, 0xf5c0, 0xf22f, 0xf492, 0xf22f, 0xf492, 0xf0ef, 0xf34c, 0xf0ef, 0xf34c, -0xf0ef, 0xf34c, 0xf046, 0xf29d, 0xf046, 0xf29d, 0xef85, 0xf1d4, 0xef85, 0xf1d4, 0xedbb, -0xf003, 0xedbb, 0xf003, 0xec01, 0xee42, 0xec01, 0xee42, 0xea7d, 0xecb8, 0xea7d, 0xecb8, -0xea7d, 0xecb8, 0xe96e, 0xeba6, 0xe96e, 0xeba6, 0xe853, 0xea87, 0xe853, 0xea87, 0xe77d, -0xe9ae, 0xe77d, 0xe9ae, 0xe64d, 0xe87b, 0xe64d, 0xe87b, 0xe4f5, 0xe71f, 0xe4f5, 0xe71f, -0xe4be, 0xe6e4, 0xe4be, 0xe6e4, 0xe4be, 0xe6e4, 0xe42b, 0xe649, 0xe42b, 0xe649, 0xe3a2, -0xe5b5, 0xe3a2, 0xe5b5, 0xe349, 0xe54b, 0xe349, 0xe54b, 0xe2df, 0xe4cb, 0xe2df, 0xe4cb, -0xe388, 0xe557, 0xe388, 0xe557, 0xe499, 0xe642, 0xe499, 0xe642, 0xe499, 0xe642, 0xe66a, -0xe7e5, 0xe66a, 0xe7e5, 0xe85b, 0xe99e, 0xe85b, 0xe99e, 0xe97b, 0xea7e, 0xe97b, 0xea7e, -0xec18, 0xecd0, 0xec18, 0xecd0, 0xef0f, 0xef73, 0xef0f, 0xef73, 0xef0f, 0xef73, 0xf109, -0xf111, 0xf109, 0xf111, 0xf3ac, 0xf351, 0xf3ac, 0xf351, 0xf66e, 0xf5ab, 0xf66e, 0xf5ab, -0xf95f, 0xf82e, 0xf95f, 0xf82e, 0xfc9b, 0xfafb, 0xfc9b, 0xfafb, 0x53, 0xfe44, 0x53, -0xfe44, 0x53, 0xfe44, 0x3fd, 0x180, 0x3fd, 0x180, 0x73c, 0x456, 0x73c, 0x456, -0xbf6, 0x8ac, 0xbf6, 0x8ac, 0xffc, 0xc57, 0xffc, 0xc57, 0x130b, 0xf15, 0x130b, -0xf15, 0x130b, 0xf15, 0x16a1, 0x1264, 0x16a1, 0x1264, 0x1965, 0x14ef, 0x1965, 0x14ef, -0x1c73, 0x17cf, 0x1c73, 0x17cf, 0x1f25, 0x1a62, 0x1f25, 0x1a62, 0x20e1, 0x1c0d, 0x20e1, -0x1c0d, 0x224e, 0x1d75, 0x224e, 0x1d75, 0x224e, 0x1d75, 0x2399, 0x1ec8, 0x2399, 0x1ec8, -0x24e6, 0x2027, 0x24e6, 0x2027, 0x2520, 0x207f, 0x2520, 0x207f, 0x2546, 0x20ca, 0x2546, -0x20ca, 0x24ef, 0x209f, 0x24ef, 0x209f, 0x23f3, 0x1fd4, 0x23f3, 0x1fd4, 0x23f3, 0x1fd4, -0x2357, 0x1f6d, 0x2357, 0x1f6d, 0x232b, 0x1f77, 0x232b, 0x1f77, 0x2355, 0x1fd7, 0x2355, -0x1fd7, 0x2237, 0x1eef, 0x2237, 0x1eef, 0x2124, 0x1e0f, 0x2124, 0x1e0f, 0x2124, 0x1e0f, -0x20ff, 0x1e1a, 0x20ff, 0x1e1a, 0x2091, 0x1dda, 0x2091, 0x1dda, 0x1f57, 0x1cca, 0x1f57, -0x1cca, 0x1dff, 0x1b98, 0x1dff, 0x1b98, 0x1d04, 0x1ac2, 0x1d04, 0x1ac2, 0x1bbd, 0x199c, -0x1bbd, 0x199c, 0x1bbd, 0x199c, 0x1b56, 0x1955, 0x1b56, 0x1955, 0x1a35, 0x1854, 0x1a35, -0x1854, 0x179a, 0x15db, 0x179a, 0x15db, 0x14ec, 0x134e, 0x14ec, 0x134e, 0x124a, 0x10d2, -0x124a, 0x10d2, 0x105f, 0xf10, 0x105f, 0xf10, 0x105f, 0xf10, 0xe56, 0xd34, 0xe56, -0xd34, 0xc06, 0xb14, 0xc06, 0xb14, 0x91e, 0x862, 0x91e, 0x862, 0x661, 0x5df, -0x661, 0x5df, 0x451, 0x40e, 0x451, 0x40e, 0x451, 0x40e, 0x197, 0x194, 0x197, -0x194, 0xff37, 0xff79, 0xff37, 0xff79, 0xfd06, 0xfd8d, 0xfd06, 0xfd8d, 0xfaf7, 0xfbc2, -0xfaf7, 0xfbc2, 0xf944, 0xfa54, 0xf944, 0xfa54, 0xf76d, 0xf8be, 0xf76d, 0xf8be, 0xf76d, -0xf8be, 0xf645, 0xf7d3, 0xf645, 0xf7d3, 0xf406, 0xf5cc, 0xf406, 0xf5cc, 0xf168, 0xf35f, -0xf168, 0xf35f, 0xf082, 0xf2a4, 0xf082, 0xf2a4, 0xef43, 0xf187, 0xef43, 0xf187, 0xeda4, -0xf003, 0xeda4, 0xf003, 0xeda4, 0xf003, 0xec3c, 0xeeab, 0xec3c, 0xeeab, 0xeab3, 0xed2c, -0xeab3, 0xed2c, 0xe947, 0xebc3, 0xe947, 0xebc3, 0xe86d, 0xeae5, 0xe86d, 0xeae5, 0xe86b, -0xead8, 0xe86b, 0xead8, 0xe86b, 0xead8, 0xe7f7, 0xea55, 0xe7f7, 0xea55, 0xe7b7, 0xea03, -0xe7b7, 0xea03, 0xe86c, 0xeaa4, 0xe86c, 0xeaa4, 0xe881, 0xeaa4, 0xe881, 0xeaa4, 0xe88c, -0xea9a, 0xe88c, 0xea9a, 0xe8a4, 0xeaa0, 0xe8a4, 0xeaa0, 0xe8a4, 0xeaa0, 0xe87e, 0xea6a, -0xe87e, 0xea6a, 0xe966, 0xeb44, 0xe966, 0xeb44, 0xe9f2, 0xebc7, 0xe9f2, 0xebc7, 0xe9cf, -0xeb9d, 0xe9cf, 0xeb9d, 0xe963, 0xeb2f, 0xe963, 0xeb2f, 0xe8f6, 0xeac1, 0xe8f6, 0xeac1, -0xe8f6, 0xeac1, 0xe91d, 0xeaeb, 0xe91d, 0xeaeb, 0xe8fd, 0xeace, 0xe8fd, 0xeace, 0xe95c, -0xeb31, 0xe95c, 0xeb31, 0xe973, 0xeb4a, 0xe973, 0xeb4a, 0xe957, 0xeb2e, 0xe957, 0xeb2e, -0xe957, 0xeb2e, 0xe9bf, 0xeb92, 0xe9bf, 0xeb92, 0xea85, 0xec4f, 0xea85, 0xec4f, 0xeba3, -0xed5e, 0xeba3, 0xed5e, 0xebcf, 0xed75, 0xebcf, 0xed75, 0xec7e, 0xee08, 0xec7e, 0xee08, -0xee24, 0xef8a, 0xee24, 0xef8a, 0xee24, 0xef8a, 0xefe7, 0xf123, 0xefe7, 0xf123, 0xf16f, -0xf278, 0xf16f, 0xf278, 0xf30e, 0xf3df, 0xf30e, 0xf3df, 0xf4e7, 0xf579, 0xf4e7, 0xf579, -0xf69f, 0xf6ef, 0xf69f, 0xf6ef, 0xf988, 0xf993, 0xf988, 0xf993, 0xf988, 0xf993, 0xfc53, -0xfc17, 0xfc53, 0xfc17, 0xfe3d, 0xfdbb, 0xfe3d, 0xfdbb, 0, 0xff39, 0, 0xff39, -0x192, 0x8a, 0x192, 0x8a, 0x363, 0x21e, 0x363, 0x21e, 0x363, 0x21e, 0x575, -0x3f9, 0x575, 0x3f9, 0x7b5, 0x60a, 0x7b5, 0x60a, 0x975, 0x7a3, 0x975, 0x7a3, -0xb8d, 0x99b, 0xb8d, 0x99b, 0xdba, 0xbb1, 0xdba, 0xbb1, 0xee9, 0xcd3, 0xee9, -0xcd3, 0xee9, 0xcd3, 0x1005, 0xdea, 0x1005, 0xdea, 0x108d, 0xe74, 0x108d, 0xe74, -0x1176, 0xf67, 0x1176, 0xf67, 0x1287, 0x1088, 0x1287, 0x1088, 0x1313, 0x1129, 0x1313, -0x1129, 0x13c5, 0x11f4, 0x13c5, 0x11f4, 0x13c5, 0x11f4, 0x12fc, 0x1147, 0x12fc, 0x1147, -0x128d, 0x10f6, 0x128d, 0x10f6, 0x12a2, 0x112b, 0x12a2, 0x112b, 0x11aa, 0x1052, 0x11aa, -0x1052, 0x10d0, 0xf97, 0x10d0, 0xf97, 0x10d0, 0xf97, 0x1079, 0xf60, 0x1079, 0xf60, -0x108b, 0xf90, 0x108b, 0xf90, 0x1020, 0xf42, 0x1020, 0xf42, 0x10a6, 0xfe4, 0x10a6, -0xfe4, 0x1182, 0x10dc, 0x1182, 0x10dc, 0x10cb, 0x1041, 0x10cb, 0x1041, 0x10cb, 0x1041, -0x1043, 0xfd6, 0x1043, 0xfd6, 0x1017, 0xfc8, 0x1017, 0xfc8, 0xf3e, 0xf0e, 0xf3e, -0xf0e, 0xe8b, 0xe7e, 0xe8b, 0xe7e, 0xd8d, 0xda3, 0xd8d, 0xda3, 0xc1c, 0xc59, -0xc1c, 0xc59, 0xc1c, 0xc59, 0xb72, 0xbd8, 0xb72, 0xbd8, 0xa38, 0xaca, 0xa38, -0xaca, 0x873, 0x932, 0x873, 0x932, 0x63c, 0x72c, 0x63c, 0x72c, 0x402, 0x522, -0x402, 0x522, 0x402, 0x522, 0x231, 0x382, 0x231, 0x382, 0xffc7, 0x148, 0xffc7, -0x148, 0xfd8a, 0xff39, 0xfd8a, 0xff39, 0xfb13, 0xfcee, 0xfb13, 0xfcee, 0xf947, 0xfb4b, -0xf947, 0xfb4b, 0xf866, 0xfa8d, 0xf866, 0xfa8d, 0xf866, 0xfa8d, 0xf7db, 0xfa21, 0xf7db, -0xfa21, 0xf740, 0xf99f, 0xf740, 0xf99f, 0xf593, 0xf805, 0xf593, 0xf805, 0xf44e, 0xf6ce, -0xf44e, 0xf6ce, 0xf344, 0xf5ca, 0xf344, 0xf5ca, 0xf1c2, 0xf44a, 0xf1c2, 0xf44a, 0xf1c2, -0xf44a, 0xf03c, 0xf2c1, 0xf03c, 0xf2c1, 0xef21, 0xf19d, 0xef21, 0xf19d, 0xee7d, 0xf0ef, -0xee7d, 0xf0ef, 0xeddc, 0xf040, 0xeddc, 0xf040, 0xedc7, 0xf01d, 0xedc7, 0xf01d, 0xedc7, -0xf01d, 0xed8c, 0xefd3, 0xed8c, 0xefd3, 0xeccc, 0xef05, 0xeccc, 0xef05, 0xebde, 0xee0a, -0xebde, 0xee0a, 0xea96, 0xecb7, 0xea96, 0xecb7, 0xe9b5, 0xebcf, 0xe9b5, 0xebcf, 0xe953, -0xeb67, 0xe953, 0xeb67, 0xe953, 0xeb67, 0xe8d3, 0xeae4, 0xe8d3, 0xeae4, 0xe7bb, 0xe9cb, -0xe7bb, 0xe9cb, 0xe70f, 0xe91e, 0xe70f, 0xe91e, 0xe6d2, 0xe8e1, 0xe6d2, 0xe8e1, 0xe69b, -0xe8aa, 0xe69b, 0xe8aa, 0xe69b, 0xe8aa, 0xe6e2, 0xe8ec, 0xe6e2, 0xe8ec, 0xe6f6, 0xe8f9, -0xe6f6, 0xe8f9, 0xe7e4, 0xe9db, 0xe7e4, 0xe9db, 0xe8ba, 0xea9c, 0xe8ba, 0xea9c, 0xe9f3, -0xebb8, 0xe9f3, 0xebb8, 0xec2d, 0xedcd, 0xec2d, 0xedcd, 0xec2d, 0xedcd, 0xedd7, 0xef47, -0xedd7, 0xef47, 0xf096, 0xf1cb, 0xf096, 0xf1cb, 0xf359, 0xf448, 0xf359, 0xf448, 0xf549, -0xf5e8, 0xf549, 0xf5e8, 0xf6d4, 0xf718, 0xf6d4, 0xf718, 0xf944, 0xf924, 0xf944, 0xf924, -0xf944, 0xf924, 0xfc3b, 0xfbaf, 0xfc3b, 0xfbaf, 0xfe2e, 0xfd31, 0xfe2e, 0xfd31, 0x167, -0xfff5, 0x167, 0xfff5, 0x4b5, 0x2cd, 0x4b5, 0x2cd, 0x75c, 0x4fe, 0x75c, 0x4fe, -0x75c, 0x4fe, 0xad0, 0x801, 0xad0, 0x801, 0xe14, 0xad9, 0xe14, 0xad9, 0x10ff, -0xd61, 0x10ff, 0xd61, 0x1474, 0x107d, 0x1474, 0x107d, 0x1740, 0x12fd, 0x1740, 0x12fd, -0x19ee, 0x156d, 0x19ee, 0x156d, 0x19ee, 0x156d, 0x1d74, 0x18c3, 0x1d74, 0x18c3, 0x1fdd, -0x1b0c, 0x1fdd, 0x1b0c, 0x218d, 0x1cac, 0x218d, 0x1cac, 0x2288, 0x1da6, 0x2288, 0x1da6, -0x2307, 0x1e32, 0x2307, 0x1e32, 0x2395, 0x1edc, 0x2395, 0x1edc, 0x2395, 0x1edc, 0x23ed, -0x1f5c, 0x23ed, 0x1f5c, 0x240f, 0x1faf, 0x240f, 0x1faf, 0x235e, 0x1f39, 0x235e, 0x1f39, -0x229d, 0x1eb8, 0x229d, 0x1eb8, 0x21a4, 0x1e04, 0x21a4, 0x1e04, 0x21a4, 0x1e04, 0x20db, -0x1d82, 0x20db, 0x1d82, 0x1fc1, 0x1caf, 0x1fc1, 0x1caf, 0x1d93, 0x1ac7, 0x1d93, 0x1ac7, -0x1cb3, 0x1a2b, 0x1cb3, 0x1a2b, 0x1c33, 0x19eb, 0x1c33, 0x19eb, 0x1afc, 0x18ee, 0x1afc, -0x18ee, 0x1afc, 0x18ee, 0x19da, 0x1802, 0x19da, 0x1802, 0x189a, 0x16f3, 0x189a, 0x16f3, -0x1770, 0x15f6, 0x1770, 0x15f6, 0x1644, 0x14f2, 0x1644, 0x14f2, 0x157a, 0x144d, 0x157a, -0x144d, 0x1414, 0x130b, 0x1414, 0x130b, 0x1414, 0x130b, 0x11e6, 0x10ff, 0x11e6, 0x10ff, -0xf69, 0xea3, 0xf69, 0xea3, 0xc77, 0xbd4, 0xc77, 0xbd4, 0xa13, 0x995, 0xa13, -0x995, 0x810, 0x7b9, 0x810, 0x7b9, 0x810, 0x7b9, 0x64d, 0x621, 0x64d, 0x621, -0x405, 0x407, 0x405, 0x407, 0x1c9, 0x1fc, 0x1c9, 0x1fc, 0x1c, 0x83, 0x1c, -0x83, 0xfe87, 0xff25, 0xfe87, 0xff25, 0xfc96, 0xfd6c, 0xfc96, 0xfd6c, 0xfc96, 0xfd6c, -0xfa42, 0xfb51, 0xfa42, 0xfb51, 0xf884, 0xf9cb, 0xf884, 0xf9cb, 0xf692, 0xf80f, 0xf692, -0xf80f, 0xf583, 0xf733, 0xf583, 0xf733, 0xf3e8, 0xf5c6, 0xf3e8, 0xf5c6, 0xf1a9, 0xf3b0, -0xf1a9, 0xf3b0, 0xf1a9, 0xf3b0, 0xf0cd, 0xf2f6, 0xf0cd, 0xf2f6, 0xefa6, 0xf1e9, 0xefa6, -0xf1e9, 0xee40, 0xf096, 0xee40, 0xf096, 0xece5, 0xef45, 0xece5, 0xef45, 0xecc7, 0xef2a, -0xecc7, 0xef2a, 0xecc7, 0xef2a, 0xec96, 0xeef4, 0xec96, 0xeef4, 0xebcd, 0xee20, 0xebcd, -0xee20, 0xec66, 0xeea9, 0xec66, 0xeea9, 0xecbc, 0xeee9, 0xecbc, 0xeee9, 0xece6, 0xeefc, -0xece6, 0xeefc, 0xedcb, 0xefc8, 0xedcb, 0xefc8, 0xedcb, 0xefc8, 0xee92, 0xf076, 0xee92, -0xf076, 0xeef8, 0xf0c5, 0xeef8, 0xf0c5, 0xef3a, 0xf0f3, 0xef3a, 0xf0f3, 0xeef4, 0xf09d, -0xeef4, 0xf09d, 0xef28, 0xf0c7, 0xef28, 0xf0c7, 0xefcd, 0xf167, 0xefcd, 0xf167, 0xefcd, -0xf167, 0xefce, 0xf169, 0xefce, 0xf169, 0xefca, 0xf16c, 0xefca, 0xf16c, 0xef96, 0xf144, -0xef96, 0xf144, 0xef79, 0xf137, 0xef79, 0xf137, 0xef3e, 0xf110, 0xef3e, 0xf110, 0xef3e, -0xf110, 0xeeea, 0xf0d1, 0xeeea, 0xf0d1, 0xee70, 0xf06d, 0xee70, 0xf06d, 0xed74, 0xef85, -0xed74, 0xef85, 0xed13, 0xef36, 0xed13, 0xef36, 0xed36, 0xef65, 0xed36, 0xef65, 0xeded, -0xf021, 0xeded, 0xf021, 0xeded, 0xf021, 0xee68, 0xf09a, 0xee68, 0xf09a, 0xee52, 0xf078, -0xee52, 0xf078, 0xef92, 0xf1a2, 0xef92, 0xf1a2, 0xf0d3, 0xf2c3, 0xf0d3, 0xf2c3, 0xf1dd, -0xf3a3, 0xf1dd, 0xf3a3, 0xf2e2, 0xf474, 0xf2e2, 0xf474, 0xf2e2, 0xf474, 0xf393, 0xf4e7, -0xf393, 0xf4e7, 0xf4a8, 0xf5b5, 0xf4a8, 0xf5b5, 0xf621, 0xf6e0, 0xf621, 0xf6e0, 0xf861, -0xf8cc, 0xf861, 0xf8cc, 0xfa19, 0xfa2e, 0xfa19, 0xfa2e, 0xfa19, 0xfa2e, 0xfc02, 0xfbbd, -0xfc02, 0xfbbd, 0xfddc, 0xfd3e, 0xfddc, 0xfd3e, 0xff17, 0xfe21, 0xff17, 0xfe21, 0xc3, -0xff79, 0xc3, 0xff79, 0x2af, 0x117, 0x2af, 0x117, 0x485, 0x2a5, 0x485, 0x2a5, -0x485, 0x2a5, 0x5c5, 0x3a5, 0x5c5, 0x3a5, 0x79c, 0x545, 0x79c, 0x545, 0x996, -0x710, 0x996, 0x710, 0xb36, 0x88c, 0xb36, 0x88c, 0xc76, 0x9b1, 0xc76, 0x9b1, -0xd90, 0xab9, 0xd90, 0xab9, 0xd90, 0xab9, 0xe5c, 0xb7c, 0xe5c, 0xb7c, 0xeac, -0xbca, 0xeac, 0xbca, 0x1045, 0xd68, 0x1045, 0xd68, 0x1110, 0xe3e, 0x1110, 0xe3e, -0x116b, 0xeab, 0x116b, 0xeab, 0x116b, 0xeab, 0x1254, 0xfa9, 0x1254, 0xfa9, 0x1298, -0x1005, 0x1298, 0x1005, 0x1204, 0xf8d, 0x1204, 0xf8d, 0x110a, 0xeb0, 0x110a, 0xeb0, -0x1158, 0xf1e, 0x1158, 0xf1e, 0x10e2, 0xeca, 0x10e2, 0xeca, 0x10e2, 0xeca, 0x104c, -0xe57, 0x104c, 0xe57, 0x10bc, 0xeec, 0x10bc, 0xeec, 0x102f, 0xe86, 0x102f, 0xe86, -0xf4e, 0xdcf, 0xf4e, 0xdcf, 0xf14, 0xdc0, 0xf14, 0xdc0, 0xea5, 0xd80, 0xea5, -0xd80, 0xea5, 0xd80, 0xe2e, 0xd3b, 0xe2e, 0xd3b, 0xe04, 0xd46, 0xe04, 0xd46, -0xdc0, 0xd3b, 0xdc0, 0xd3b, 0xdc8, 0xd7e, 0xdc8, 0xd7e, 0xd8a, 0xd7e, 0xd8a, -0xd7e, 0xd8a, 0xd7e, 0xc3c, 0xc71, 0xc3c, 0xc71, 0xaaa, 0xb20, 0xaaa, 0xb20, -0x971, 0xa2a, 0x971, 0xa2a, 0x7db, 0x8d7, 0x7db, 0x8d7, 0x5a6, 0x6e2, 0x5a6, -0x6e2, 0x379, 0x4f3, 0x379, 0x4f3, 0x379, 0x4f3, 0x1b0, 0x364, 0x1b0, 0x364, -0xffc3, 0x1ad, 0xffc3, 0x1ad, 0xfe45, 0x60, 0xfe45, 0x60, 0xfcde, 0xff22, 0xfcde, -0xff22, 0xfc3a, 0xfea1, 0xfc3a, 0xfea1, 0xfc3a, 0xfea1, 0xfb0f, 0xfd91, 0xfb0f, 0xfd91, -0xf8f7, 0xfb8d, 0xf8f7, 0xfb8d, 0xf79b, 0xfa3c, 0xf79b, 0xfa3c, 0xf5bf, 0xf866, 0xf5bf, -0xf866, 0xf3dc, 0xf682, 0xf3dc, 0xf682, 0xf216, 0xf4b6, 0xf216, 0xf4b6, 0xf216, 0xf4b6, -0xf112, 0xf3a8, 0xf112, 0xf3a8, 0xf034, 0xf2bd, 0xf034, 0xf2bd, 0xef88, 0xf203, 0xef88, -0xf203, 0xef25, 0xf191, 0xef25, 0xf191, 0xede2, 0xf03f, 0xede2, 0xf03f, 0xecb1, 0xef02, -0xecb1, 0xef02, 0xecb1, 0xef02, 0xeb3f, 0xed85, 0xeb3f, 0xed85, 0xe9bc, 0xebfc, 0xe9bc, -0xebfc, 0xe8de, 0xeb1b, 0xe8de, 0xeb1b, 0xe84b, 0xea89, 0xe84b, 0xea89, 0xe7d4, 0xea16, -0xe7d4, 0xea16, 0xe7d4, 0xea16, 0xe6ee, 0xe937, 0xe6ee, 0xe937, 0xe5f5, 0xe846, 0xe5f5, -0xe846, 0xe4c6, 0xe720, 0xe4c6, 0xe720, 0xe3f6, 0xe658, 0xe3f6, 0xe658, 0xe365, 0xe5cc, -0xe365, 0xe5cc, 0xe330, 0xe597, 0xe330, 0xe597, 0xe330, 0xe597, 0xe2f8, 0xe55a, 0xe2f8, -0xe55a, 0xe315, 0xe56a, 0xe315, 0xe56a, 0xe498, 0xe6d7, 0xe498, 0xe6d7, 0xe570, 0xe78f, -0xe570, 0xe78f, 0xe745, 0xe939, 0xe745, 0xe939, 0xe9d6, 0xeb92, 0xe9d6, 0xeb92, 0xe9d6, -0xeb92, 0xec14, 0xed8e, 0xec14, 0xed8e, 0xedcb, 0xeef6, 0xedcb, 0xeef6, 0xf027, 0xf0f8, -0xf027, 0xf0f8, 0xf325, 0xf393, 0xf325, 0xf393, 0xf525, 0xf529, 0xf525, 0xf529, 0xf525, -0xf529, 0xf863, 0xf7f4, 0xf863, 0xf7f4, 0xfc93, 0xfbaf, 0xfc93, 0xfbaf, 0xffe5, 0xfe89, -0xffe5, 0xfe89, 0x3b3, 0x1e0, 0x3b3, 0x1e0, 0x803, 0x5bc, 0x803, 0x5bc, 0xbc7, -0x911, 0xbc7, 0x911, 0xbc7, 0x911, 0xfa3, 0xc86, 0xfa3, 0xc86, 0x12f4, 0xf79, -0x12f4, 0xf79, 0x1626, 0x1259, 0x1626, 0x1259, 0x1993, 0x1580, 0x1993, 0x1580, 0x1d0e, -0x18c3, 0x1d0e, 0x18c3, 0x1f1b, 0x1aa5, 0x1f1b, 0x1aa5, 0x1f1b, 0x1aa5, 0x20d1, 0x1c3f, -0x20d1, 0x1c3f, 0x2240, 0x1d9f, 0x2240, 0x1d9f, 0x233d, 0x1e9b, 0x233d, 0x1e9b, 0x2421, -0x1f8a, 0x2421, 0x1f8a, 0x24e8, 0x2067, 0x24e8, 0x2067, 0x24e8, 0x2067, 0x2576, 0x2114, -0x2576, 0x2114, 0x2554, 0x2119, 0x2554, 0x2119, 0x2532, 0x2123, 0x2532, 0x2123, 0x24a3, -0x20c6, 0x24a3, 0x20c6, 0x24c2, 0x2119, 0x24c2, 0x2119, 0x2414, 0x20a1, 0x2414, 0x20a1, -0x2414, 0x20a1, 0x2398, 0x205b, 0x2398, 0x205b, 0x232c, 0x2025, 0x232c, 0x2025, 0x21fa, -0x1f27, 0x21fa, 0x1f27, 0x20c6, 0x1e26, 0x20c6, 0x1e26, 0x1ff5, 0x1d86, 0x1ff5, 0x1d86, -0x1f38, 0x1cf9, 0x1f38, 0x1cf9, 0x1f38, 0x1cf9, 0x1dc3, 0x1bb4, 0x1dc3, 0x1bb4, 0x1c82, -0x1aa0, 0x1c82, 0x1aa0, 0x1b11, 0x195d, 0x1b11, 0x195d, 0x1924, 0x179f, 0x1924, 0x179f, -0x1768, 0x1613, 0x1768, 0x1613, 0x1768, 0x1613, 0x14f6, 0x13d2, 0x14f6, 0x13d2, 0x11e4, -0x10f5, 0x11e4, 0x10f5, 0xf41, 0xe87, 0xf41, 0xe87, 0xcb2, 0xc30, 0xcb2, 0xc30, -0x9ef, 0x9a8, 0x9ef, 0x9a8, 0x6e7, 0x6dc, 0x6e7, 0x6dc, 0x6e7, 0x6dc, 0x49b, -0x4cc, 0x49b, 0x4cc, 0x25c, 0x2ca, 0x25c, 0x2ca, 0x11, 0xba, 0x11, 0xba, -0xfd1f, 0xfe00, 0xfd1f, 0xfe00, 0xfb01, 0xfc18, 0xfb01, 0xfc18, 0xf959, 0xfa9f, 0xf959, -0xfa9f, 0xf959, 0xfa9f, 0xf89c, 0xfa0c, 0xf89c, 0xfa0c, 0xf870, 0xfa03, 0xf870, 0xfa03, -0xf78c, 0xf939, 0xf78c, 0xf939, 0xf75e, 0xf91e, 0xf75e, 0xf91e, 0xf689, 0xf851, 0xf689, -0xf851, 0xf689, 0xf851, 0xf4e5, 0xf6ae, 0xf4e5, 0xf6ae, 0xf30c, 0xf4cb, 0xf30c, 0xf4cb, -0xf299, 0xf448, 0xf299, 0xf448, 0xf260, 0xf3f8, 0xf260, 0xf3f8, 0xf1d5, 0xf351, 0xf1d5, -0xf351, 0xf215, 0xf371, 0xf215, 0xf371, 0xf215, 0xf371, 0xf213, 0xf34d, 0xf213, 0xf34d, -0xf112, 0xf22b, 0xf112, 0xf22b, 0xf143, 0xf23d, 0xf143, 0xf23d, 0xf164, 0xf242, 0xf164, -0xf242, 0xf1ce, 0xf296, 0xf1ce, 0xf296, 0xf253, 0xf30c, 0xf253, 0xf30c, 0xf253, 0xf30c, -0xf1e7, 0xf29a, 0xf1e7, 0xf29a, 0xf099, 0xf14f, 0xf099, 0xf14f, 0xef92, 0xf054, 0xef92, -0xf054, 0xef70, 0xf049, 0xef70, 0xf049, 0xee5e, 0xef57, 0xee5e, 0xef57, 0xee5e, 0xef57, -0xedf7, 0xef19, 0xedf7, 0xef19, 0xed4e, 0xeea1, 0xed4e, 0xeea1, 0xecb3, 0xee3d, 0xecb3, -0xee3d, 0xeb72, 0xed36, 0xeb72, 0xed36, 0xea86, 0xec87, 0xea86, 0xec87, 0xe8e1, 0xeb1e, -0xe8e1, 0xeb1e, 0xe8e1, 0xeb1e, 0xe670, 0xe8e7, 0xe670, 0xe8e7, 0xe45c, 0xe709, 0xe45c, -0xe709, 0xe313, 0xe5ee, 0xe313, 0xe5ee, 0xe242, 0xe543, 0xe242, 0xe543, 0xe117, 0xe433, -0xe117, 0xe433, 0xe0ea, 0xe415, 0xe0ea, 0xe415, 0xe0ea, 0xe415, 0xe125, 0xe453, 0xe125, -0xe453, 0xe1cc, 0xe4ee, 0xe1cc, 0xe4ee, 0xe2cb, 0xe5d4, 0xe2cb, 0xe5d4, 0xe48d, 0xe76f, -0xe48d, 0xe76f, 0xe5fe, 0xe8ad, 0xe5fe, 0xe8ad, 0xe5fe, 0xe8ad, 0xe7a5, 0xea15, 0xe7a5, -0xea15, 0xe9f4, 0xec1a, 0xe9f4, 0xec1a, 0xec84, 0xee58, 0xec84, 0xee58, 0xef56, 0xf0cf, -0xef56, 0xf0cf, 0xf347, 0xf461, 0xf347, 0xf461, 0xf619, 0xf6cf, 0xf619, 0xf6cf, 0xf619, -0xf6cf, 0xf80b, 0xf85d, 0xf80b, 0xf85d, 0xfaea, 0xfad7, 0xfaea, 0xfad7, 0xfe70, 0xfdf9, -0xfe70, 0xfdf9, 0x169, 0x93, 0x169, 0x93, 0x442, 0x311, 0x442, 0x311, 0x71f, -0x598, 0x71f, 0x598, 0x71f, 0x598, 0x939, 0x764, 0x939, 0x764, 0xbad, 0x990, -0xbad, 0x990, 0xdae, 0xb51, 0xdae, 0xb51, 0xf5a, 0xcc4, 0xf5a, 0xcc4, 0xfd6, -0xd0f, 0xfd6, 0xd0f, 0xfd6, 0xd0f, 0x115e, 0xe6e, 0x115e, 0xe6e, 0x12fc, 0xfea, -0x12fc, 0xfea, 0x1406, 0x10da, 0x1406, 0x10da, 0x15be, 0x127f, 0x15be, 0x127f, 0x17dc, -0x1490, 0x17dc, 0x1490, 0x183b, 0x14eb, 0x183b, 0x14eb, 0x183b, 0x14eb, 0x1775, 0x1426, -0x1775, 0x1426, 0x1801, 0x14bb, 0x1801, 0x14bb, 0x1895, 0x155e, 0x1895, 0x155e, 0x1859, -0x1538, 0x1859, 0x1538, 0x196e, 0x1669, 0x196e, 0x1669, 0x196e, 0x1669, 0x19fb, 0x171b, -0x19fb, 0x171b, 0x18f9, 0x1644, 0x18f9, 0x1644, 0x18b2, 0x1630, 0x18b2, 0x1630, 0x1795, -0x154c, 0x1795, 0x154c, 0x1663, 0x145a, 0x1663, 0x145a, 0x1432, 0x126f, 0x1432, 0x126f, -0x1432, 0x126f, 0x1217, 0x10a0, 0x1217, 0x10a0, 0xf61, 0xe3a, 0xf61, 0xe3a, 0xd66, -0xc95, 0xd66, 0xc95, 0xaf4, 0xa7b, 0xaf4, 0xa7b, 0x840, 0x821, 0x840, 0x821, -0x625, 0x65f, 0x625, 0x65f, 0x625, 0x65f, 0x359, 0x3ec, 0x359, 0x3ec, 0xe1, -0x1ca, 0xe1, 0x1ca, 0xfdbd, 0xfef9, 0xfdbd, 0xfef9, 0xfae0, 0xfc69, 0xfae0, 0xfc69, -0xf7ac, 0xf97c, 0xf7ac, 0xf97c, 0xf7ac, 0xf97c, 0xf431, 0xf641, 0xf431, 0xf641, 0xf095, -0xf2dc, 0xf095, 0xf2dc, 0xeef1, 0xf167, 0xeef1, 0xf167, 0xee29, 0xf0c6, 0xee29, 0xf0c6, -0xed4a, 0xf005, 0xed4a, 0xf005, 0xec59, 0xef2a, 0xec59, 0xef2a, 0xec59, 0xef2a, 0xebfc, -0xeedc, 0xebfc, 0xeedc, 0xeaf0, 0xedd8, 0xeaf0, 0xedd8, 0xea12, 0xecfd, 0xea12, 0xecfd, -0xea46, 0xed30, 0xea46, 0xed30, 0xea82, 0xed69, 0xea82, 0xed69, 0xea8f, 0xed72, 0xea8f, -0xed72, 0xea8f, 0xed72, 0xea9c, 0xed7a, 0xea9c, 0xed7a, 0xeb33, 0xee0d, 0xeb33, 0xee0d, -0xeb3d, 0xee16, 0xeb3d, 0xee16, 0xeb95, 0xee6f, 0xeb95, 0xee6f, 0xeb21, 0xee00, 0xeb21, -0xee00, 0xeb21, 0xee00, 0xeab9, 0xeda0, 0xeab9, 0xeda0, 0xea3a, 0xed2c, 0xea3a, 0xed2c, -0xea57, 0xed55, 0xea57, 0xed55, 0xea6b, 0xed76, 0xea6b, 0xed76, 0xea4d, 0xed65, 0xea4d, -0xed65, 0xe944, 0xec67, 0xe944, 0xec67, 0xe944, 0xec67, 0xe867, 0xeb92, 0xe867, 0xeb92, -0xe872, 0xeb9f, 0xe872, 0xeb9f, 0xe898, 0xebbf, 0xe898, 0xebbf, 0xe8e3, 0xebfc, 0xe8e3, -0xebfc, 0xe961, 0xec61, 0xe961, 0xec61, 0xeb2a, 0xee04, 0xeb2a, 0xee04, 0xeb2a, 0xee04, -0xed1a, 0xefc2, 0xed1a, 0xefc2, 0xefd7, 0xf23e, 0xefd7, 0xf23e, 0xf3a2, 0xf5bb, 0xf3a2, -0xf5bb, 0xf753, 0xf911, 0xf753, 0xf911, 0xf9d1, 0xfb25, 0xf9d1, 0xfb25, 0xf9d1, 0xfb25, -0xfccd, 0xfdad, 0xfccd, 0xfdad, 0x6d, 0xce, 0x6d, 0xce, 0x3b3, 0x38e, 0x3b3, -0x38e, 0x6a9, 0x5f8, 0x6a9, 0x5f8, 0xb2e, 0x9ee, 0xb2e, 0x9ee, 0xe65, 0xc97, -0xe65, 0xc97, 0xe65, 0xc97, 0x1199, 0xf3e, 0x1199, 0xf3e, 0x1528, 0x1247, 0x1528, -0x1247, 0x17e2, 0x1484, 0x17e2, 0x1484, 0x1acd, 0x16fc, 0x1acd, 0x16fc, 0x1d53, 0x191c, -0x1d53, 0x191c, 0x1f71, 0x1ae4, 0x1f71, 0x1ae4, 0x1f71, 0x1ae4, 0x2088, 0x1bb4, 0x2088, -0x1bb4, 0x22c5, 0x1dbc, 0x22c5, 0x1dbc, 0x23dc, 0x1eaf, 0x23dc, 0x1eaf, 0x24d3, 0x1f94, -0x24d3, 0x1f94, 0x254d, 0x200d, 0x254d, 0x200d, 0x254d, 0x200d, 0x257d, 0x204c, 0x257d, -0x204c, 0x253c, 0x2028, 0x253c, 0x2028, 0x2422, 0x1f39, 0x2422, 0x1f39, 0x22fe, 0x1e4a, -0x22fe, 0x1e4a, 0x21a0, 0x1d2b, 0x21a0, 0x1d2b, 0x1f08, 0x1ad8, 0x1f08, 0x1ad8, 0x1f08, -0x1ad8, 0x1c57, 0x1872, 0x1c57, 0x1872, 0x1a67, 0x16d0, 0x1a67, 0x16d0, 0x183a, 0x14f2, -0x183a, 0x14f2, 0x1616, 0x131c, 0x1616, 0x131c, 0x1453, 0x11a6, 0x1453, 0x11a6, 0x134b, -0x10e8, 0x134b, 0x10e8, 0x134b, 0x10e8, 0x1138, 0xf1b, 0x1138, 0xf1b, 0x10ca, 0xef1, -0x10ca, 0xef1, 0x102d, 0xe93, 0x102d, 0xe93, 0xf39, 0xddc, 0xf39, 0xddc, 0xe00, -0xcdb, 0xe00, 0xcdb, 0xe00, 0xcdb, 0xd58, 0xc68, 0xd58, 0xc68, 0xc73, 0xbb6, -0xc73, 0xbb6, 0xb7b, 0xaee, 0xb7b, 0xaee, 0xb65, 0xb07, 0xb65, 0xb07, 0xa54, -0xa22, 0xa54, 0xa22, 0x8d7, 0x8d1, 0x8d7, 0x8d1, 0x8d7, 0x8d1, 0x749, 0x76e, -0x749, 0x76e, 0x66f, 0x6bd, 0x66f, 0x6bd, 0x4e2, 0x556, 0x4e2, 0x556, 0x362, -0x3fb, 0x362, 0x3fb, 0x19d, 0x257, 0x19d, 0x257, 0xfff4, 0xcb, 0xfff4, 0xcb, -0xfff4, 0xcb, 0xfe1e, 0xff0e, 0xfe1e, 0xff0e, 0xfcf2, 0xfdf5, 0xfcf2, 0xfdf5, 0xfb96, -0xfca5, 0xfb96, 0xfca5, 0xfa28, 0xfb3d, 0xfa28, 0xfb3d, 0xf965, 0xfa78, 0xf965, 0xfa78, -0xf965, 0xfa78, 0xf903, 0xfa0d, 0xf903, 0xfa0d, 0xf8aa, 0xf9a4, 0xf8aa, 0xf9a4, 0xf8ce, -0xf9b0, 0xf8ce, 0xf9b0, 0xf8d7, 0xf99b, 0xf8d7, 0xf99b, 0xf810, 0xf8b0, 0xf810, 0xf8b0, -0xf75b, 0xf7d4, 0xf75b, 0xf7d4, 0xf75b, 0xf7d4, 0xf711, 0xf761, 0xf711, 0xf761, 0xf733, -0xf759, 0xf733, 0xf759, 0xf754, 0xf752, 0xf754, 0xf752, 0xf879, 0xf852, 0xf879, 0xf852, -0xf8b0, 0xf86a, 0xf8b0, 0xf86a, 0xf970, 0xf912, 0xf970, 0xf912, 0xf970, 0xf912, 0xf945, -0xf8d8, 0xf945, 0xf8d8, 0xf8e3, 0xf872, 0xf8e3, 0xf872, 0xf8ba, 0xf850, 0xf8ba, 0xf850, -0xf854, 0xf7ff, 0xf854, 0xf7ff, 0xf700, 0xf6cc, 0xf700, 0xf6cc, 0xf700, 0xf6cc, 0xf583, -0xf57c, 0xf583, 0xf57c, 0xf480, 0xf4b2, 0xf480, 0xf4b2, 0xf2a1, 0xf316, 0xf2a1, 0xf316, -0xf1b2, 0xf273, 0xf1b2, 0xf273, 0xf0c6, 0xf1db, 0xf0c6, 0xf1db, 0xeff0, 0xf15d, 0xeff0, -0xf15d, 0xeff0, 0xf15d, 0xeebd, 0xf084, 0xeebd, 0xf084, 0xed60, 0xef81, 0xed60, 0xef81, -0xec12, 0xee89, 0xec12, 0xee89, 0xeab6, 0xed7c, 0xeab6, 0xed7c, 0xe87b, 0xeb89, 0xe87b, -0xeb89, 0xe73b, 0xea86, 0xe73b, 0xea86, 0xe73b, 0xea86, 0xe626, 0xe9a1, 0xe626, 0xe9a1, -0xe618, 0xe9b4, 0xe618, 0xe9b4, 0xe5d6, 0xe985, 0xe5d6, 0xe985, 0xe60d, 0xe9be, 0xe60d, -0xe9be, 0xe682, 0xea26, 0xe682, 0xea26, 0xe682, 0xea26, 0xe6b1, 0xea38, 0xe6b1, 0xea38, -0xe863, 0xebbe, 0xe863, 0xebbe, 0xe9ac, 0xeccf, 0xe9ac, 0xeccf, 0xebda, 0xeeb8, 0xebda, -0xeeb8, 0xed9d, 0xf02c, 0xed9d, 0xf02c, 0xefd5, 0xf20f, 0xefd5, 0xf20f, 0xefd5, 0xf20f, -0xf187, 0xf366, 0xf187, 0xf366, 0xf44e, 0xf5cd, 0xf44e, 0xf5cd, 0xf747, 0xf868, 0xf747, -0xf868, 0xf94d, 0xfa0f, 0xf94d, 0xfa0f, 0xfb16, 0xfb7b, 0xfb16, 0xfb7b, 0xfb16, 0xfb7b, -0xfd7c, 0xfd8a, 0xfd7c, 0xfd8a, 0x1b, 0xffd7, 0x1b, 0xffd7, 0x255, 0x1c6, 0x255, -0x1c6, 0x4a5, 0x3d0, 0x4a5, 0x3d0, 0x637, 0x524, 0x637, 0x524, 0x762, 0x619, -0x762, 0x619, 0x762, 0x619, 0x8f1, 0x777, 0x8f1, 0x777, 0xad8, 0x933, 0xad8, -0x933, 0xb88, 0x9bd, 0xb88, 0x9bd, 0xcda, 0xaee, 0xcda, 0xaee, 0xe7f, 0xc75, -0xe7f, 0xc75, 0x1026, 0xe02, 0x1026, 0xe02, 0x1026, 0xe02, 0x1175, 0xf38, 0x1175, -0xf38, 0x13fd, 0x11a9, 0x13fd, 0x11a9, 0x1564, 0x12fb, 0x1564, 0x12fb, 0x15ab, 0x132e, -0x15ab, 0x132e, 0x163a, 0x13aa, 0x163a, 0x13aa, 0x163a, 0x13aa, 0x175e, 0x14be, 0x175e, -0x14be, 0x1804, 0x1557, 0x1804, 0x1557, 0x1891, 0x15da, 0x1891, 0x15da, 0x1a02, 0x1747, -0x1a02, 0x1747, 0x1a9d, 0x17e3, 0x1a9d, 0x17e3, 0x1b19, 0x1866, 0x1b19, 0x1866, 0x1b19, -0x1866, 0x1a7b, 0x17d8, 0x1a7b, 0x17d8, 0x1a25, 0x179b, 0x1a25, 0x179b, 0x197d, 0x1714, -0x197d, 0x1714, 0x18c5, 0x1688, 0x18c5, 0x1688, 0x1714, 0x150d, 0x1714, 0x150d, 0x157b, -0x13b3, 0x157b, 0x13b3, 0x157b, 0x13b3, 0x1335, 0x11b6, 0x1335, 0x11b6, 0x110c, 0xfdf, -0x110c, 0xfdf, 0xf6b, 0xe96, 0xf6b, 0xe96, 0xce0, 0xc6a, 0xce0, 0xc6a, 0xa15, -0xa02, 0xa15, 0xa02, 0xa15, 0xa02, 0x79e, 0x7f2, 0x79e, 0x7f2, 0x4b6, 0x571, -0x4b6, 0x571, 0x19c, 0x2be, 0x19c, 0x2be, 0xfe2b, 0xffb2, 0xfe2b, 0xffb2, 0xf9bf, -0xfba4, 0xf9bf, 0xfba4, 0xf5f2, 0xf830, 0xf5f2, 0xf830, 0xf5f2, 0xf830, 0xf281, 0xf511, -0xf281, 0xf511, 0xf0c5, 0xf39f, 0xf0c5, 0xf39f, 0xede6, 0xf0ff, 0xede6, 0xf0ff, 0xec03, -0xef52, 0xec03, 0xef52, 0xe9ec, 0xed68, 0xe9ec, 0xed68, 0xe834, 0xebd2, 0xe834, 0xebd2, -0xe834, 0xebd2, 0xe71a, 0xead1, 0xe71a, 0xead1, 0xe623, 0xe9ea, 0xe623, 0xe9ea, 0xe567, -0xe937, 0xe567, 0xe937, 0xe417, 0xe7e9, 0xe417, 0xe7e9, 0xe3da, 0xe7a7, 0xe3da, 0xe7a7, -0xe3da, 0xe7a7, 0xe39b, 0xe75f, 0xe39b, 0xe75f, 0xe438, 0xe7ef, 0xe438, 0xe7ef, 0xe454, -0xe7fa, 0xe454, 0xe7fa, 0xe3ed, 0xe780, 0xe3ed, 0xe780, 0xe2ff, 0xe67d, 0xe2ff, 0xe67d, -0xe32b, 0xe691, 0xe32b, 0xe691, 0xe32b, 0xe691, 0xe3e7, 0xe733, 0xe3e7, 0xe733, 0xe4b9, -0xe7e9, 0xe4b9, 0xe7e9, 0xe4c7, 0xe7d8, 0xe4c7, 0xe7d8, 0xe472, 0xe760, 0xe472, 0xe760, -0xe3c1, 0xe687, 0xe3c1, 0xe687, 0xe3df, 0xe678, 0xe3df, 0xe678, 0xe3df, 0xe678, 0xe3c9, -0xe62f, 0xe3c9, 0xe62f, 0xe41a, 0xe647, 0xe41a, 0xe647, 0xe5a7, 0xe792, 0xe5a7, 0xe792, -0xe701, 0xe8a2, 0xe701, 0xe8a2, 0xe8d0, 0xea20, 0xe8d0, 0xea20, 0xe8d0, 0xea20, 0xeb3f, -0xec35, 0xeb3f, 0xec35, 0xef0e, 0xefa3, 0xef0e, 0xefa3, 0xf180, 0xf1ac, 0xf180, 0xf1ac, -0xf46c, 0xf42b, 0xf46c, 0xf42b, 0xf7bd, 0xf70a, 0xf7bd, 0xf70a, 0xfb7f, 0xfa59, 0xfb7f, -0xfa59, 0xfb7f, 0xfa59, 0xfed7, 0xfd3d, 0xfed7, 0xfd3d, 0x2c9, 0xbd, 0x2c9, 0xbd, -0x681, 0x407, 0x681, 0x407, 0xa14, 0x733, 0xa14, 0x733, 0xdf7, 0xab7, 0xdf7, -0xab7, 0x1152, 0xdbe, 0x1152, 0xdbe, 0x1152, 0xdbe, 0x144c, 0x106f, 0x144c, 0x106f, -0x1718, 0x1301, 0x1718, 0x1301, 0x199d, 0x1559, 0x199d, 0x1559, 0x1aca, 0x1669, 0x1aca, -0x1669, 0x1c47, 0x17d7, 0x1c47, 0x17d7, 0x1c47, 0x17d7, 0x1d7f, 0x190f, 0x1d7f, 0x190f, -0x1f43, 0x1ae1, 0x1f43, 0x1ae1, 0x2047, 0x1c00, 0x2047, 0x1c00, 0x2138, 0x1d17, 0x2138, -0x1d17, 0x21e8, 0x1df6, 0x21e8, 0x1df6, 0x2266, 0x1ea9, 0x2266, 0x1ea9, 0x2266, 0x1ea9, -0x21d3, 0x1e51, 0x21d3, 0x1e51, 0x21dc, 0x1e97, 0x21dc, 0x1e97, 0x20b5, 0x1dad, 0x20b5, -0x1dad, 0x1eba, 0x1bee, 0x1eba, 0x1bee, 0x1d0f, 0x1a7b, 0x1d0f, 0x1a7b, 0x1c34, 0x19d4, -0x1c34, 0x19d4, 0x1c34, 0x19d4, 0x1c1c, 0x19e8, 0x1c1c, 0x19e8, 0x1a89, 0x187c, 0x1a89, -0x187c, 0x1a11, 0x1824, 0x1a11, 0x1824, 0x18a9, 0x16d4, 0x18a9, 0x16d4, 0x17f4, 0x1632, -0x17f4, 0x1632, 0x17f4, 0x1632, 0x177c, 0x15c6, 0x177c, 0x15c6, 0x178a, 0x15dc, 0x178a, -0x15dc, 0x1663, 0x14bb, 0x1663, 0x14bb, 0x1533, 0x138f, 0x1533, 0x138f, 0x145f, 0x12bf, -0x145f, 0x12bf, 0x136e, 0x11d4, 0x136e, 0x11d4, 0x136e, 0x11d4, 0x1314, 0x1183, 0x1314, -0x1183, 0x12a2, 0x111f, 0x12a2, 0x111f, 0x10ef, 0xf7f, 0x10ef, 0xf7f, 0xe48, 0xcf0, -0xe48, 0xcf0, 0xc83, 0xb4a, 0xc83, 0xb4a, 0xabf, 0x9ab, 0xabf, 0x9ab, 0xabf, -0x9ab, 0x8c3, 0x7da, 0x8c3, 0x7da, 0x655, 0x59c, 0x655, 0x59c, 0x40b, 0x385, -0x40b, 0x385, 0xff, 0xaf, 0xff, 0xaf, 0xff4f, 0xff34, 0xff4f, 0xff34, 0xff4f, -0xff34, 0xfd15, 0xfd2f, 0xfd15, 0xfd2f, 0xfb0a, 0xfb55, 0xfb0a, 0xfb55, 0xf8a7, 0xf91f, -0xf8a7, 0xf91f, 0xf730, 0xf7ce, 0xf730, 0xf7ce, 0xf62d, 0xf6ea, 0xf62d, 0xf6ea, 0xf57e, -0xf653, 0xf57e, 0xf653, 0xf57e, 0xf653, 0xf56b, 0xf64d, 0xf56b, 0xf64d, 0xf40d, 0xf4f4, -0xf40d, 0xf4f4, 0xf29e, 0xf380, 0xf29e, 0xf380, 0xf15c, 0xf232, 0xf15c, 0xf232, 0xf135, -0xf1f8, 0xf135, 0xf1f8, 0xf137, 0xf1e2, 0xf137, 0xf1e2, 0xf137, 0xf1e2, 0xf1cd, 0xf25c, -0xf1cd, 0xf25c, 0xf234, 0xf2a4, 0xf234, 0xf2a4, 0xf36e, 0xf3c2, 0xf36e, 0xf3c2, 0xf3fc, -0xf436, 0xf3fc, 0xf436, 0xf402, 0xf426, 0xf402, 0xf426, 0xf402, 0xf426, 0xf3d6, 0xf3ed, -0xf3d6, 0xf3ed, 0xf499, 0xf4ab, 0xf499, 0xf4ab, 0xf478, 0xf491, 0xf478, 0xf491, 0xf453, -0xf47e, 0xf453, 0xf47e, 0xf458, 0xf4a0, 0xf458, 0xf4a0, 0xf3e2, 0xf455, 0xf3e2, 0xf455, -0xf3e2, 0xf455, 0xf345, 0xf3ee, 0xf345, 0xf3ee, 0xf261, 0xf34c, 0xf261, 0xf34c, 0xf219, -0xf34f, 0xf219, 0xf34f, 0xf14c, 0xf2d5, 0xf14c, 0xf2d5, 0xf07e, 0xf25f, 0xf07e, 0xf25f, -0xf07e, 0xf25f, 0xef78, 0xf1b5, 0xef78, 0xf1b5, 0xef87, 0xf21f, 0xef87, 0xf21f, 0xeda6, -0xf097, 0xeda6, 0xf097, 0xebdd, 0xef23, 0xebdd, 0xef23, 0xe9b1, 0xed42, 0xe9b1, 0xed42, -0xe8d8, 0xecac, 0xe8d8, 0xecac, 0xe8d8, 0xecac, 0xe82a, 0xec34, 0xe82a, 0xec34, 0xe74d, -0xeb7d, 0xe74d, 0xeb7d, 0xe713, 0xeb5b, 0xe713, 0xeb5b, 0xe69d, 0xeaeb, 0xe69d, 0xeaeb, -0xe75b, 0xeba0, 0xe75b, 0xeba0, 0xe8e0, 0xed0b, 0xe8e0, 0xed0b, 0xe8e0, 0xed0b, 0xeaec, -0xeeec, 0xeaec, 0xeeec, 0xebc9, 0xef8e, 0xebc9, 0xef8e, 0xed93, 0xf110, 0xed93, 0xf110, -0xefa5, 0xf2cf, 0xefa5, 0xf2cf, 0xf288, 0xf555, 0xf288, 0xf555, 0xf288, 0xf555, 0xf5a7, -0xf80e, 0xf5a7, 0xf80e, 0xf8e0, 0xfadb, 0xf8e0, 0xfadb, 0xfa94, 0xfc20, 0xfa94, 0xfc20, -0xfcf7, 0xfe12, 0xfcf7, 0xfe12, 0x12, 0xbe, 0x12, 0xbe, 0x333, 0x372, 0x333, -0x372, 0x333, 0x372, 0x5a4, 0x57a, 0x5a4, 0x57a, 0x7b6, 0x729, 0x7b6, 0x729, -0x901, 0x816, 0x901, 0x816, 0x9f4, 0x8b3, 0x9f4, 0x8b3, 0xc2e, 0xa9e, 0xc2e, -0xa9e, 0xd33, 0xb5c, 0xd33, 0xb5c, 0xd33, 0xb5c, 0xe3a, 0xc23, 0xe3a, 0xc23, -0xee0, 0xc92, 0xee0, 0xc92, 0x1088, 0xe0a, 0x1088, 0xe0a, 0x112a, 0xe84, 0x112a, -0xe84, 0x12a1, 0xfd8, 0x12a1, 0xfd8, 0x12a1, 0xfd8, 0x147b, 0x1196, 0x147b, 0x1196, -0x1535, 0x123b, 0x1535, 0x123b, 0x1560, 0x1257, 0x1560, 0x1257, 0x162e, 0x131b, 0x162e, -0x131b, 0x16d9, 0x13c3, 0x16d9, 0x13c3, 0x170e, 0x13fb, 0x170e, 0x13fb, 0x170e, 0x13fb, -0x177f, 0x1476, 0x177f, 0x1476, 0x185f, 0x1566, 0x185f, 0x1566, 0x1910, 0x1630, 0x1910, -0x1630, 0x18b1, 0x15f0, 0x18b1, 0x15f0, 0x1814, 0x157a, 0x1814, 0x157a, 0x16fc, 0x1492, -0x16fc, 0x1492, 0x16fc, 0x1492, 0x15d1, 0x139e, 0x15d1, 0x139e, 0x133b, 0x1148, 0x133b, -0x1148, 0x1174, 0xfc9, 0x1174, 0xfc9, 0xee7, 0xd89, 0xee7, 0xd89, 0xcd9, 0xbcf, -0xcd9, 0xbcf, 0xcd9, 0xbcf, 0xaaa, 0x9fa, 0xaaa, 0x9fa, 0x8ab, 0x858, 0x8ab, -0x858, 0x649, 0x656, 0x649, 0x656, 0x3d7, 0x445, 0x3d7, 0x445, 0x118, 0x1e6, -0x118, 0x1e6, 0xfe6b, 0xff97, 0xfe6b, 0xff97, 0xfe6b, 0xff97, 0xfc21, 0xfda7, 0xfc21, -0xfda7, 0xf8c1, 0xfa9b, 0xf8c1, 0xfa9b, 0xf5ca, 0xf7ef, 0xf5ca, 0xf7ef, 0xf270, 0xf4da, -0xf270, 0xf4da, 0xf0fa, 0xf39e, 0xf0fa, 0xf39e, 0xef2c, 0xf201, 0xef2c, 0xf201, 0xef2c, -0xf201, 0xedb6, 0xf0b1, 0xedb6, 0xf0b1, 0xebf6, 0xef0e, 0xebf6, 0xef0e, 0xea9e, 0xedc8, -0xea9e, 0xedc8, 0xe95e, 0xec91, 0xe95e, 0xec91, 0xe8cd, 0xebff, 0xe8cd, 0xebff, 0xe8cd, -0xebff, 0xe7bf, 0xeaeb, 0xe7bf, 0xeaeb, 0xe654, 0xe972, 0xe654, 0xe972, 0xe59c, 0xe8a7, -0xe59c, 0xe8a7, 0xe5db, 0xe8d1, 0xe5db, 0xe8d1, 0xe70a, 0xe9e9, 0xe70a, 0xe9e9, 0xe80e, -0xead4, 0xe80e, 0xead4, 0xe80e, 0xead4, 0xe8df, 0xeb8e, 0xe8df, 0xeb8e, 0xe847, 0xeadf, -0xe847, 0xeadf, 0xe88d, 0xeb11, 0xe88d, 0xeb11, 0xe891, 0xeb02, 0xe891, 0xeb02, 0xe978, -0xebd8, 0xe978, 0xebd8, 0xe9ba, 0xec0b, 0xe9ba, 0xec0b, 0xe9ba, 0xec0b, 0xea2f, 0xec71, -0xea2f, 0xec71, 0xe9a6, 0xebd9, 0xe9a6, 0xebd9, 0xe9e6, 0xec08, 0xe9e6, 0xec08, 0xea91, -0xec9f, 0xea91, 0xec9f, 0xea88, 0xec7d, 0xea88, 0xec7d, 0xea88, 0xec7d, 0xeaf4, 0xecca, -0xeaf4, 0xecca, 0xebb2, 0xed62, 0xebb2, 0xed62, 0xed33, 0xeeb3, 0xed33, 0xeeb3, 0xee94, -0xefd9, 0xee94, 0xefd9, 0xf189, 0xf28a, 0xf189, 0xf28a, 0xf3ff, 0xf4af, 0xf3ff, 0xf4af, -0xf3ff, 0xf4af, 0xf5c1, 0xf616, 0xf5c1, 0xf616, 0xf7bf, 0xf7ae, 0xf7bf, 0xf7ae, 0xfaae, -0xfa2e, 0xfaae, 0xfa2e, 0xfd27, 0xfc2f, 0xfd27, 0xfc2f, 0x23, 0xfeac, 0x23, 0xfeac, -0x331, 0x138, 0x331, 0x138, 0x331, 0x138, 0x6b0, 0x434, 0x6b0, 0x434, 0x9d8, -0x6d9, 0x9d8, 0x6d9, 0xd4d, 0x9cf, 0xd4d, 0x9cf, 0x1040, 0xc4a, 0x1040, 0xc4a, -0x1376, 0xf13, 0x1376, 0xf13, 0x1376, 0xf13, 0x168f, 0x11c9, 0x168f, 0x11c9, 0x18c7, -0x13ae, 0x18c7, 0x13ae, 0x1af6, 0x1599, 0x1af6, 0x1599, 0x1c4e, 0x16c0, 0x1c4e, 0x16c0, -0x1e64, 0x18b7, 0x1e64, 0x18b7, 0x1f4b, 0x1991, 0x1f4b, 0x1991, 0x1f4b, 0x1991, 0x2041, -0x1a8e, 0x2041, 0x1a8e, 0x20e7, 0x1b4c, 0x20e7, 0x1b4c, 0x216a, 0x1bf9, 0x216a, 0x1bf9, -0x2064, 0x1b2c, 0x2064, 0x1b2c, 0x1fe5, 0x1af3, 0x1fe5, 0x1af3, 0x1ee4, 0x1a43, 0x1ee4, -0x1a43, 0x1ee4, 0x1a43, 0x1d31, 0x18ea, 0x1d31, 0x18ea, 0x1af7, 0x170e, 0x1af7, 0x170e, -0x1942, 0x15bb, 0x1942, 0x15bb, 0x1834, 0x1510, 0x1834, 0x1510, 0x1678, 0x13b5, 0x1678, -0x13b5, 0x1678, 0x13b5, 0x14f9, 0x1293, 0x14f9, 0x1293, 0x1300, 0x10f2, 0x1300, 0x10f2, -0x1156, 0xf99, 0x1156, 0xf99, 0x101b, 0xea7, 0x101b, 0xea7, 0x105f, 0xf2d, 0x105f, -0xf2d, 0xfcc, 0xed3, 0xfcc, 0xed3, 0xfcc, 0xed3, 0xf69, 0xea2, 0xf69, 0xea2, -0xe5d, 0xdc0, 0xe5d, 0xdc0, 0xe2c, 0xdb5, 0xe2c, 0xdb5, 0xdae, 0xd56, 0xdae, -0xd56, 0xdc3, 0xd88, 0xdc3, 0xd88, 0xd20, 0xcff, 0xd20, 0xcff, 0xd20, 0xcff, -0xbcf, 0xbc7, 0xbcf, 0xbc7, 0xaaa, 0xaba, 0xaaa, 0xaba, 0x950, 0x979, 0x950, -0x979, 0x839, 0x87c, 0x839, 0x87c, 0x5fe, 0x65e, 0x5fe, 0x65e, 0x5fe, 0x65e, -0x415, 0x493, 0x415, 0x493, 0x12e, 0x1cb, 0x12e, 0x1cb, 0xffcf, 0x8d, 0xffcf, -0x8d, 0xfe65, 0xff44, 0xfe65, 0xff44, 0xfcf7, 0xfdf6, 0xfcf7, 0xfdf6, 0xfb3b, 0xfc59, -0xfb3b, 0xfc59, 0xfb3b, 0xfc59, 0xfa4e, 0xfb87, 0xfa4e, 0xfb87, 0xf92e, 0xfa7f, 0xf92e, -0xfa7f, 0xf863, 0xf9c7, 0xf863, 0xf9c7, 0xf83e, 0xf9b0, 0xf83e, 0xf9b0, 0xf7b6, 0xf92f, -0xf7b6, 0xf92f, 0xf7b6, 0xf92f, 0xf6c2, 0xf83c, 0xf6c2, 0xf83c, 0xf615, 0xf788, 0xf615, -0xf788, 0xf5f9, 0xf760, 0xf5f9, 0xf760, 0xf616, 0xf76c, 0xf616, 0xf76c, 0xf6c2, 0xf802, -0xf6c2, 0xf802, 0xf70f, 0xf837, 0xf70f, 0xf837, 0xf70f, 0xf837, 0xf84f, 0xf95d, 0xf84f, -0xf95d, 0xf952, 0xfa45, 0xf952, 0xfa45, 0xfa09, 0xfae5, 0xfa09, 0xfae5, 0xf963, 0xfa2b, -0xf963, 0xfa2b, 0xf9b8, 0xfa73, 0xf9b8, 0xfa73, 0xf932, 0xf9e6, 0xf932, 0xf9e6, 0xf932, -0xf9e6, 0xf886, 0xf93c, 0xf886, 0xf93c, 0xf79d, 0xf85e, 0xf79d, 0xf85e, 0xf6d2, 0xf7a8, -0xf6d2, 0xf7a8, 0xf61a, 0xf70f, 0xf61a, 0xf70f, 0xf4ce, 0xf5ec, 0xf4ce, 0xf5ec, 0xf4ce, -0xf5ec, 0xf3f8, 0xf548, 0xf3f8, 0xf548, 0xf336, 0xf4c1, 0xf336, 0xf4c1, 0xf260, 0xf42b, -0xf260, 0xf42b, 0xf15f, 0xf36e, 0xf15f, 0xf36e, 0xf14b, 0xf3a0, 0xf14b, 0xf3a0, 0xf020, -0xf2bc, 0xf020, 0xf2bc, 0xf020, 0xf2bc, 0xeea3, 0xf181, 0xeea3, 0xf181, 0xec82, 0xef9e, -0xec82, 0xef9e, 0xeba3, 0xeef5, 0xeba3, 0xeef5, 0xea9f, 0xee1d, 0xea9f, 0xee1d, 0xea1f, -0xedbd, 0xea1f, 0xedbd, 0xe989, 0xed39, 0xe989, 0xed39, 0xe989, 0xed39, 0xe8d5, 0xec89, -0xe8d5, 0xec89, 0xe7d3, 0xeb7c, 0xe7d3, 0xeb7c, 0xe7ef, 0xeb7e, 0xe7ef, 0xeb7e, 0xe882, -0xebe8, 0xe882, 0xebe8, 0xe8e6, 0xec15, 0xe8e6, 0xec15, 0xe8e6, 0xec15, 0xe9d8, 0xecc3, -0xe9d8, 0xecc3, 0xeadc, 0xed78, 0xeadc, 0xed78, 0xed5d, 0xefa1, 0xed5d, 0xefa1, 0xefee, -0xf1d3, 0xefee, 0xf1d3, 0xf3a2, 0xf523, 0xf3a2, 0xf523, 0xf5cf, 0xf6ea, 0xf5cf, 0xf6ea, -0xf5cf, 0xf6ea, 0xf820, 0xf8d4, 0xf820, 0xf8d4, 0xfa29, 0xfa79, 0xfa29, 0xfa79, 0xfd37, -0xfd27, 0xfd37, 0xfd27, 0x20, 0xffb4, 0x20, 0xffb4, 0x307, 0x247, 0x307, 0x247, -0x551, 0x444, 0x551, 0x444, 0x551, 0x444, 0x6d8, 0x587, 0x6d8, 0x587, 0x943, -0x7b6, 0x943, 0x7b6, 0xb7f, 0x9c0, 0xb7f, 0x9c0, 0xd0b, 0xb21, 0xd0b, 0xb21, -0xe2e, 0xc20, 0xe2e, 0xc20, 0xe2e, 0xc20, 0xff9, 0xdce, 0xff9, 0xdce, 0x1079, -0xe38, 0x1079, 0xe38, 0x118d, 0xf3b, 0x118d, 0xf3b, 0x12e5, 0x1086, 0x12e5, 0x1086, -0x1454, 0x11ea, 0x1454, 0x11ea, 0x14a0, 0x1230, 0x14a0, 0x1230, 0x14a0, 0x1230, 0x1578, -0x1303, 0x1578, 0x1303, 0x1609, 0x1392, 0x1609, 0x1392, 0x1703, 0x148b, 0x1703, 0x148b, -0x1768, 0x14f3, 0x1768, 0x14f3, 0x17f4, 0x1585, 0x17f4, 0x1585, 0x18dd, 0x1677, 0x18dd, -0x1677, 0x18dd, 0x1677, 0x194a, 0x16f1, 0x194a, 0x16f1, 0x1922, 0x16dd, 0x1922, 0x16dd, -0x18ad, 0x1680, 0x18ad, 0x1680, 0x1920, 0x1713, 0x1920, 0x1713, 0x180f, 0x162a, 0x180f, -0x162a, 0x180f, 0x162a, 0x1721, 0x156a, 0x1721, 0x156a, 0x1554, 0x13d5, 0x1554, 0x13d5, -0x13af, 0x126e, 0x13af, 0x126e, 0x11d5, 0x10db, 0x11d5, 0x10db, 0x1044, 0xf97, 0x1044, -0xf97, 0xe4d, 0xdf3, 0xe4d, 0xdf3, 0xe4d, 0xdf3, 0xc35, 0xc33, 0xc35, 0xc33, -0x92f, 0x988, 0x92f, 0x988, 0x667, 0x71b, 0x667, 0x71b, 0x37a, 0x489, 0x37a, -0x489, 0x4d, 0x1b4, 0x4d, 0x1b4, 0xfca7, 0xfe62, 0xfca7, 0xfe62, 0xfca7, 0xfe62, -0xf88f, 0xfa98, 0xf88f, 0xfa98, 0xf56f, 0xf7be, 0xf56f, 0xf7be, 0xf23c, 0xf4c8, 0xf23c, -0xf4c8, 0xefa9, 0xf268, 0xefa9, 0xf268, 0xed06, 0xefee, 0xed06, 0xefee, 0xed06, 0xefee, -0xeb2f, 0xee33, 0xeb2f, 0xee33, 0xe934, 0xec4b, 0xe934, 0xec4b, 0xe8ca, 0xebe9, 0xe8ca, -0xebe9, 0xe800, 0xeb1e, 0xe800, 0xeb1e, 0xe775, 0xea89, 0xe775, 0xea89, 0xe5ff, 0xe902, -0xe5ff, 0xe902, 0xe5ff, 0xe902, 0xe4fc, 0xe7ea, 0xe4fc, 0xe7ea, 0xe491, 0xe765, 0xe491, -0xe765, 0xe4cf, 0xe787, 0xe4cf, 0xe787, 0xe576, 0xe811, 0xe576, 0xe811, 0xe518, 0xe796, -0xe518, 0xe796, 0xe4c9, 0xe72d, 0xe4c9, 0xe72d, 0xe4c9, 0xe72d, 0xe428, 0xe673, 0xe428, -0xe673, 0xe479, 0xe6af, 0xe479, 0xe6af, 0xe4b3, 0xe6d5, 0xe4b3, 0xe6d5, 0xe579, 0xe78b, -0xe579, 0xe78b, 0xe4f7, 0xe6fa, 0xe4f7, 0xe6fa, 0xe4f7, 0xe6fa, 0xe4b9, 0xe6ad, 0xe4b9, -0xe6ad, 0xe4ee, 0xe6d2, 0xe4ee, 0xe6d2, 0xe589, 0xe75b, 0xe589, 0xe75b, 0xe50f, 0xe6ca, -0xe50f, 0xe6ca, 0xe59b, 0xe739, 0xe59b, 0xe739, 0xe673, 0xe7ec, 0xe673, 0xe7ec, 0xe673, -0xe7ec, 0xe72e, 0xe879, 0xe72e, 0xe879, 0xe949, 0xea5b, 0xe949, 0xea5b, 0xec72, 0xed40, -0xec72, 0xed40, 0xef1b, 0xef99, 0xef1b, 0xef99, 0xf12b, 0xf14e, 0xf12b, 0xf14e, 0xf461, -0xf41c, 0xf461, 0xf41c, 0xf461, 0xf41c, 0xf74a, 0xf694, 0xf74a, 0xf694, 0xfb34, 0xfa04, -0xfb34, 0xfa04, 0xfed3, 0xfd22, 0xfed3, 0xfd22, 0x31b, 0xe5, 0x31b, 0xe5, 0x6bf, -0x402, 0x6bf, 0x402, 0x6bf, 0x402, 0xa98, 0x756, 0xa98, 0x756, 0xd69, 0x9a7, -0xd69, 0x9a7, 0x10cd, 0xc93, 0x10cd, 0xc93, 0x144c, 0xfa3, 0x144c, 0xfa3, 0x16f5, -0x11eb, 0x16f5, 0x11eb, 0x195e, 0x1404, 0x195e, 0x1404, 0x195e, 0x1404, 0x1b56, 0x15bd, -0x1b56, 0x15bd, 0x1d9e, 0x17da, 0x1d9e, 0x17da, 0x1fc3, 0x19e7, 0x1fc3, 0x19e7, 0x2164, -0x1b86, 0x2164, 0x1b86, 0x225f, 0x1c92, 0x225f, 0x1c92, 0x2370, 0x1dc8, 0x2370, 0x1dc8, -0x2370, 0x1dc8, 0x234a, 0x1dd8, 0x234a, 0x1dd8, 0x239f, 0x1e74, 0x239f, 0x1e74, 0x2387, -0x1eaf, 0x2387, 0x1eaf, 0x235c, 0x1ee3, 0x235c, 0x1ee3, 0x2170, 0x1d5c, 0x2170, 0x1d5c, -0x2170, 0x1d5c, 0x1fef, 0x1c47, 0x1fef, 0x1c47, 0x1efe, 0x1bc2, 0x1efe, 0x1bc2, 0x1e3d, -0x1b6e, 0x1e3d, 0x1b6e, 0x1cfb, 0x1a94, 0x1cfb, 0x1a94, 0x1ba8, 0x19a4, 0x1ba8, 0x19a4, -0x19e7, 0x1840, 0x19e7, 0x1840, 0x19e7, 0x1840, 0x17aa, 0x1657, 0x17aa, 0x1657, 0x1694, -0x158b, 0x1694, 0x158b, 0x1582, 0x14ba, 0x1582, 0x14ba, 0x149b, 0x140a, 0x149b, 0x140a, -0x12a0, 0x123d, 0x12a0, 0x123d, 0x12a0, 0x123d, 0x116b, 0x112e, 0x116b, 0x112e, 0xfcd, -0xfb0, 0xfcd, 0xfb0, 0xf32, 0xf2e, 0xf32, 0xf2e, 0xe86, 0xe98, 0xe86, 0xe98, -0xd71, 0xd96, 0xd71, 0xd96, 0xba9, 0xbe1, 0xba9, 0xbe1, 0xba9, 0xbe1, 0xa74, -0xabe, 0xa74, 0xabe, 0x952, 0x9b1, 0x952, 0x9b1, 0x82b, 0x8a1, 0x82b, 0x8a1, -0x6a0, 0x72e, 0x6a0, 0x72e, 0x447, 0x4f1, 0x447, 0x4f1, 0x214, 0x2dc, 0x214, -0x2dc, 0x214, 0x2dc, 0x44, 0x12c, 0x44, 0x12c, 0xfec6, 0xffcf, 0xfec6, 0xffcf, -0xfc31, 0xfd5c, 0xfc31, 0xfd5c, 0xfa8f, 0xfbda, 0xfa8f, 0xfbda, 0xf84f, 0xf9b7, 0xf84f, -0xf9b7, 0xf84f, 0xf9b7, 0xf669, 0xf7ea, 0xf669, 0xf7ea, 0xf4f0, 0xf686, 0xf4f0, 0xf686, -0xf4b7, 0xf65b, 0xf4b7, 0xf65b, 0xf3a1, 0xf54d, 0xf3a1, 0xf54d, 0xf2dd, 0xf48b, 0xf2dd, -0xf48b, 0xf228, 0xf3d0, 0xf228, 0xf3d0, 0xf228, 0xf3d0, 0xf191, 0xf32c, 0xf191, 0xf32c, -0xf155, 0xf2de, 0xf155, 0xf2de, 0xf0ea, 0xf25b, 0xf0ea, 0xf25b, 0xf126, 0xf27c, 0xf126, -0xf27c, 0xf1ea, 0xf323, 0xf1ea, 0xf323, 0xf31c, 0xf438, 0xf31c, 0xf438, 0xf31c, 0xf438, -0xf356, 0xf457, 0xf356, 0xf457, 0xf4a9, 0xf592, 0xf4a9, 0xf592, 0xf589, 0xf661, 0xf589, -0xf661, 0xf5e6, 0xf6b3, 0xf5e6, 0xf6b3, 0xf59c, 0xf668, 0xf59c, 0xf668, 0xf59c, 0xf668, -0xf5cc, 0xf6a0, 0xf5cc, 0xf6a0, 0xf5e2, 0xf6c8, 0xf5e2, 0xf6c8, 0xf602, 0xf705, 0xf602, -0xf705, 0xf502, 0xf62d, 0xf502, 0xf62d, 0xf451, 0xf5ac, 0xf451, 0xf5ac, 0xf34f, 0xf4e4, -0xf34f, 0xf4e4, 0xf34f, 0xf4e4, 0xf238, 0xf40c, 0xf238, 0xf40c, 0xf1ec, 0xf404, 0xf1ec, -0xf404, 0xf1cf, 0xf42e, 0xf1cf, 0xf42e, 0xf17f, 0xf423, 0xf17f, 0xf423, 0xefa9, 0xf290, -0xefa9, 0xf290, 0xeea9, 0xf1cd, 0xeea9, 0xf1cd, 0xeea9, 0xf1cd, 0xedca, 0xf123, 0xedca, -0xf123, 0xed31, 0xf0b5, 0xed31, 0xf0b5, 0xebd1, 0xef74, 0xebd1, 0xef74, 0xeb2c, 0xeee0, -0xeb2c, 0xeee0, 0xea2f, 0xede5, 0xea2f, 0xede5, 0xea2f, 0xede5, 0xea0e, 0xedb7, 0xea0e, -0xedb7, 0xead4, 0xee60, 0xead4, 0xee60, 0xec23, 0xef84, 0xec23, 0xef84, 0xed0c, 0xf033, -0xed0c, 0xf033, 0xee09, 0xf0ea, 0xee09, 0xf0ea, 0xef8e, 0xf21e, 0xef8e, 0xf21e, 0xef8e, -0xf21e, 0xf15a, 0xf391, 0xf15a, 0xf391, 0xf434, 0xf60a, 0xf434, 0xf60a, 0xf6ea, 0xf85c, -0xf6ea, 0xf85c, 0xf943, 0xfa50, 0xf943, 0xfa50, 0xfb13, 0xfbba, 0xfb13, 0xfbba, 0xfd99, -0xfdde, 0xfd99, 0xfdde, 0xfd99, 0xfdde, 0xff9e, 0xff86, 0xff9e, 0xff86, 0x260, 0x1ef, -0x260, 0x1ef, 0x474, 0x3b3, 0x474, 0x3b3, 0x646, 0x53d, 0x646, 0x53d, 0x76b, -0x623, 0x76b, 0x623, 0x76b, 0x623, 0x944, 0x7c5, 0x944, 0x7c5, 0xa59, 0x8ac, -0xa59, 0x8ac, 0xae8, 0x914, 0xae8, 0x914, 0xc60, 0xa6d, 0xc60, 0xa6d, 0xd9d, -0xb8f, 0xd9d, 0xb8f, 0xe69, 0xc46, 0xe69, 0xc46, 0xe69, 0xc46, 0xf45, 0xd11, -0xf45, 0xd11, 0x10d6, 0xe94, 0x10d6, 0xe94, 0x1177, 0xf27, 0x1177, 0xf27, 0x1285, -0x1029, 0x1285, 0x1029, 0x133a, 0x10d2, 0x133a, 0x10d2, 0x143f, 0x11cd, 0x143f, 0x11cd, -0x143f, 0x11cd, 0x1493, 0x1216, 0x1493, 0x1216, 0x14c7, 0x123f, 0x14c7, 0x123f, 0x14c5, -0x1235, 0x14c5, 0x1235, 0x159c, 0x1306, 0x159c, 0x1306, 0x1598, 0x1300, 0x1598, 0x1300, -0x1598, 0x1300, 0x1555, 0x12be, 0x1555, 0x12be, 0x15a9, 0x131b, 0x15a9, 0x131b, 0x1578, -0x12f8, 0x1578, 0x12f8, 0x1476, 0x120c, 0x1476, 0x120c, 0x12ac, 0x1061, 0x12ac, 0x1061, -0x10f4, 0xed0, 0x10f4, 0xed0, 0x10f4, 0xed0, 0xf1d, 0xd2a, 0xf1d, 0xd2a, 0xd76, -0xbbd, 0xd76, 0xbbd, 0xb3d, 0x9c9, 0xb3d, 0x9c9, 0x9fa, 0x8d0, 0x9fa, 0x8d0, -0x7b8, 0x6e1, 0x7b8, 0x6e1, 0x592, 0x512, 0x592, 0x512, 0x592, 0x512, 0x344, -0x320, 0x344, 0x320, 0x168, 0x1a2, 0x168, 0x1a2, 0xfecd, 0xff64, 0xfecd, 0xff64, -0xfbb2, 0xfca5, 0xfbb2, 0xfca5, 0xf8d7, 0xfa23, 0xf8d7, 0xfa23, 0xf8d7, 0xfa23, 0xf65f, -0xf7fe, 0xf65f, 0xf7fe, 0xf3e7, 0xf5d2, 0xf3e7, 0xf5d2, 0xf13a, 0xf369, 0xf13a, 0xf369, -0xef2b, 0xf194, 0xef2b, 0xf194, 0xece2, 0xef7c, 0xece2, 0xef7c, 0xeb56, 0xee16, 0xeb56, -0xee16, 0xeb56, 0xee16, 0xea0f, 0xeceb, 0xea0f, 0xeceb, 0xe97d, 0xec6c, 0xe97d, 0xec6c, -0xe856, 0xeb4e, 0xe856, 0xeb4e, 0xe7ca, 0xeac4, 0xe7ca, 0xeac4, 0xe72f, 0xea24, 0xe72f, -0xea24, 0xe74d, 0xea38, 0xe74d, 0xea38, 0xe74d, 0xea38, 0xe7a6, 0xea82, 0xe7a6, 0xea82, -0xe833, 0xeafd, 0xe833, 0xeafd, 0xe854, 0xeb0c, 0xe854, 0xeb0c, 0xe8be, 0xeb62, 0xe8be, -0xeb62, 0xe93b, 0xebcb, 0xe93b, 0xebcb, 0xe93b, 0xebcb, 0xe9b4, 0xec30, 0xe9b4, 0xec30, -0xeaac, 0xed15, 0xeaac, 0xed15, 0xeb25, 0xed7b, 0xeb25, 0xed7b, 0xeb92, 0xedd5, 0xeb92, -0xedd5, 0xebb6, 0xede3, 0xebb6, 0xede3, 0xecc5, 0xeedc, 0xecc5, 0xeedc, 0xecc5, 0xeedc, -0xec96, 0xee92, 0xec96, 0xee92, 0xeca1, 0xee7f, 0xeca1, 0xee7f, 0xecdf, 0xee97, 0xecdf, -0xee97, 0xed3d, 0xeec8, 0xed3d, 0xeec8, 0xed68, 0xeebd, 0xed68, 0xeebd, 0xeedf, 0xeff6, -0xeedf, 0xeff6, 0xeedf, 0xeff6, 0xf0d4, 0xf1a2, 0xf0d4, 0xf1a2, 0xf2c1, 0xf33d, 0xf2c1, -0xf33d, 0xf4f4, 0xf513, 0xf4f4, 0xf513, 0xf72f, 0xf6e9, 0xf72f, 0xf6e9, 0xf9a2, 0xf8ef, -0xf9a2, 0xf8ef, 0xf9a2, 0xf8ef, 0xfc0a, 0xfae4, 0xfc0a, 0xfae4, 0xfebe, 0xfd21, 0xfebe, -0xfd21, 0x1a6, 0xff8f, 0x1a6, 0xff8f, 0x566, 0x2d6, 0x566, 0x2d6, 0x819, 0x514, -0x819, 0x514, 0xb08, 0x794, 0xb08, 0x794, 0xb08, 0x794, 0xe24, 0xa49, 0xe24, -0xa49, 0x11bb, 0xd85, 0x11bb, 0xd85, 0x1499, 0x1016, 0x1499, 0x1016, 0x1734, 0x1272, -0x1734, 0x1272, 0x1923, 0x1435, 0x1923, 0x1435, 0x1923, 0x1435, 0x1b16, 0x160d, 0x1b16, -0x160d, 0x1c74, 0x1762, 0x1c74, 0x1762, 0x1d9a, 0x1892, 0x1d9a, 0x1892, 0x1ec2, 0x19d5, -0x1ec2, 0x19d5, 0x1ec4, 0x1a02, 0x1ec4, 0x1a02, 0x1ea0, 0x1a18, 0x1ea0, 0x1a18, 0x1ea0, -0x1a18, 0x1e39, 0x19f8, 0x1e39, 0x19f8, 0x1ea6, 0x1ab4, 0x1ea6, 0x1ab4, 0x1e1b, 0x1a80, -0x1e1b, 0x1a80, 0x1ccd, 0x198f, 0x1ccd, 0x198f, 0x1b1e, 0x183d, 0x1b1e, 0x183d, 0x19de, -0x175a, 0x19de, 0x175a, 0x19de, 0x175a, 0x1821, 0x15f6, 0x1821, 0x15f6, 0x16db, 0x1504, -0x16db, 0x1504, 0x156e, 0x13e3, 0x156e, 0x13e3, 0x1403, 0x12bb, 0x1403, 0x12bb, 0x12cb, -0x11be, 0x12cb, 0x11be, 0x12cb, 0x11be, 0x1239, 0x115c, 0x1239, 0x115c, 0x11df, 0x1129, -0x11df, 0x1129, 0x1160, 0x10c8, 0x1160, 0x10c8, 0x10d9, 0x1057, 0x10d9, 0x1057, 0xfc6, -0xf53, 0xfc6, 0xf53, 0xef3, 0xe8a, 0xef3, 0xe8a, 0xef3, 0xe8a, 0xdc4, 0xd62, -0xdc4, 0xd62, 0xcf3, 0xc95, 0xcf3, 0xc95, 0xb6f, 0xb17, 0xb6f, 0xb17, 0xaa1, -0xa50, 0xaa1, 0xa50, 0x989, 0x942, 0x989, 0x942, 0x8a6, 0x86d, 0x8a6, 0x86d, -0x8a6, 0x86d, 0x78a, 0x764, 0x78a, 0x764, 0x6a2, 0x695, 0x6a2, 0x695, 0x4f7, -0x507, 0x4f7, 0x507, 0x309, 0x33c, 0x309, 0x33c, 0x164, 0x1be, 0x164, 0x1be, -0x164, 0x1be, 0xfef7, 0xff7b, 0xfef7, 0xff7b, 0xfd3b, 0xfdeb, 0xfd3b, 0xfdeb, 0xfbfb, -0xfcd8, 0xfbfb, 0xfcd8, 0xfa78, 0xfb81, 0xfa78, 0xfb81, 0xf885, 0xf9b7, 0xf885, 0xf9b7, -0xf7b2, 0xf909, 0xf7b2, 0xf909, 0xf7b2, 0xf909, 0xf6d6, 0xf84d, 0xf6d6, 0xf84d, 0xf659, -0xf7e8, 0xf659, 0xf7e8, 0xf5a2, 0xf744, 0xf5a2, 0xf744, 0xf51c, 0xf6c9, 0xf51c, 0xf6c9, -0xf478, 0xf629, 0xf478, 0xf629, 0xf46a, 0xf618, 0xf46a, 0xf618, 0xf46a, 0xf618, 0xf42b, -0xf5d0, 0xf42b, 0xf5d0, 0xf4df, 0xf676, 0xf4df, 0xf676, 0xf615, 0xf79b, 0xf615, 0xf79b, -0xf6c2, 0xf834, 0xf6c2, 0xf834, 0xf76c, 0xf8cb, 0xf76c, 0xf8cb, 0xf76c, 0xf8cb, 0xf7c9, -0xf916, 0xf7c9, 0xf916, 0xf84b, 0xf989, 0xf84b, 0xf989, 0xf7cf, 0xf905, 0xf7cf, 0xf905, -0xf743, 0xf875, 0xf743, 0xf875, 0xf6ae, 0xf7e5, 0xf6ae, 0xf7e5, 0xf6b1, 0xf7f5, 0xf6b1, -0xf7f5, 0xf6b1, 0xf7f5, 0xf5cb, 0xf725, 0xf5cb, 0xf725, 0xf573, 0xf6ec, 0xf573, 0xf6ec, -0xf51e, 0xf6bc, 0xf51e, 0xf6bc, 0xf44b, 0xf617, 0xf44b, 0xf617, 0xf31c, 0xf51a, 0xf31c, -0xf51a, 0xf252, 0xf488, 0xf252, 0xf488, 0xf252, 0xf488, 0xf203, 0xf472, 0xf203, 0xf472, -0xf14b, 0xf3f3, 0xf14b, 0xf3f3, 0xf010, 0xf2ee, 0xf010, 0xf2ee, 0xeef9, 0xf209, 0xeef9, -0xf209, 0xee10, 0xf14b, 0xee10, 0xf14b, 0xee10, 0xf14b, 0xecdb, 0xf038, 0xecdb, 0xf038, -0xec05, 0xef79, 0xec05, 0xef79, 0xea85, 0xee04, 0xea85, 0xee04, 0xe94e, 0xeccb, 0xe94e, -0xeccb, 0xe882, 0xebf0, 0xe882, 0xebf0, 0xe8e9, 0xec3a, 0xe8e9, 0xec3a, 0xe8e9, 0xec3a, -0xe950, 0xec76, 0xe950, 0xec76, 0xea8e, 0xed7c, 0xea8e, 0xed7c, 0xeb5a, 0xee04, 0xeb5a, -0xee04, 0xec3f, 0xee9b, 0xec3f, 0xee9b, 0xede7, 0xefed, 0xede7, 0xefed, 0xf06c, 0xf215, -0xf06c, 0xf215, 0xf06c, 0xf215, 0xf35a, 0xf4a2, 0xf35a, 0xf4a2, 0xf60b, 0xf6ee, 0xf60b, -0xf6ee, 0xf8fb, 0xf97a, 0xf8fb, 0xf97a, 0xfb72, 0xfb8e, 0xfb72, 0xfb8e, 0xfe4a, 0xfe06, -0xfe4a, 0xfe06, 0xfe4a, 0xfe06, 0x14e, 0xaf, 0x14e, 0xaf, 0x49d, 0x3a8, 0x49d, -0x3a8, 0x6aa, 0x565, 0x6aa, 0x565, 0x8ce, 0x741, 0x8ce, 0x741, 0xa5e, 0x88f, -0xa5e, 0x88f, 0xb77, 0x96e, 0xb77, 0x96e, 0xb77, 0x96e, 0xca3, 0xa67, 0xca3, -0xa67, 0xe4a, 0xbe1, 0xe4a, 0xbe1, 0xf04, 0xc73, 0xf04, 0xc73, 0xfa0, 0xced, -0xfa0, 0xced, 0x1105, 0xe35, 0x1105, 0xe35, 0x12c2, 0xfd9, 0x12c2, 0xfd9, 0x12c2, -0xfd9, 0x1472, 0x1172, 0x1472, 0x1172, 0x1570, 0x125d, 0x1570, 0x125d, 0x163f, 0x131c, -0x163f, 0x131c, 0x16c1, 0x1390, 0x16c1, 0x1390, 0x1758, 0x141d, 0x1758, 0x141d, 0x1758, -0x141d, 0x16f8, 0x13b6, 0x16f8, 0x13b6, 0x17b3, 0x146f, 0x17b3, 0x146f, 0x181d, 0x14dc, -0x181d, 0x14dc, 0x1873, 0x153c, 0x1873, 0x153c, 0x1895, 0x156d, 0x1895, 0x156d, 0x1905, -0x15f5, 0x1905, 0x15f5, 0x1905, 0x15f5, 0x191f, 0x1630, 0x191f, 0x1630, 0x1861, 0x159b, -0x1861, 0x159b, 0x170b, 0x1478, 0x170b, 0x1478, 0x1583, 0x132d, 0x1583, 0x132d, 0x13f4, -0x11e4, 0x13f4, 0x11e4, 0x11ba, 0xff9, 0x11ba, 0xff9, 0x11ba, 0xff9, 0x100c, 0xea3, -0x100c, 0xea3, 0xe1a, 0xd0e, 0xe1a, 0xd0e, 0xbe4, 0xb3c, 0xbe4, 0xb3c, 0x8f3, -0x8b3, 0x8f3, 0x8b3, 0x651, 0x67b, 0x651, 0x67b, 0x651, 0x67b, 0x3b8, 0x44c, -0x3b8, 0x44c, 0xb4, 0x1b0, 0xb4, 0x1b0, 0xfc9c, 0xfdfb, 0xfc9c, 0xfdfb, 0xf8ee, -0xfaac, 0xf8ee, 0xfaac, 0xf54c, 0xf75f, 0xf54c, 0xf75f, 0xf25e, 0xf4bf, 0xf25e, 0xf4bf, -0xf25e, 0xf4bf, 0xefba, 0xf25e, 0xefba, 0xf25e, 0xed27, 0xf004, 0xed27, 0xf004, 0xeae4, -0xeded, 0xeae4, 0xeded, 0xe952, 0xec7d, 0xe952, 0xec7d, 0xe886, 0xebc7, 0xe886, 0xebc7, -0xe773, 0xeabf, 0xe773, 0xeabf, 0xe773, 0xeabf, 0xe6eb, 0xea38, 0xe6eb, 0xea38, 0xe54c, -0xe893, 0xe54c, 0xe893, 0xe420, 0xe759, 0xe420, 0xe759, 0xe351, 0xe676, 0xe351, 0xe676, -0xe346, 0xe653, 0xe346, 0xe653, 0xe346, 0xe653, 0xe360, 0xe652, 0xe360, 0xe652, 0xe3ca, -0xe6a0, 0xe3ca, 0xe6a0, 0xe400, 0xe6ba, 0xe400, 0xe6ba, 0xe420, 0xe6bf, 0xe420, 0xe6bf, -0xe464, 0xe6e8, 0xe464, 0xe6e8, 0xe528, 0xe793, 0xe528, 0xe793, 0xe528, 0xe793, 0xe59d, -0xe7f0, 0xe59d, 0xe7f0, 0xe5a3, 0xe7e0, 0xe5a3, 0xe7e0, 0xe638, 0xe860, 0xe638, 0xe860, -0xe69f, 0xe8b0, 0xe69f, 0xe8b0, 0xe6e0, 0xe8da, 0xe6e0, 0xe8da, 0xe6e0, 0xe8da, 0xe747, -0xe926, 0xe747, 0xe926, 0xe85f, 0xea20, 0xe85f, 0xea20, 0xe88c, 0xea29, 0xe88c, 0xea29, -0xe96b, 0xeade, 0xe96b, 0xeade, 0xeb14, 0xec58, 0xeb14, 0xec58, 0xedcd, 0xeed7, 0xedcd, -0xeed7, 0xedcd, 0xeed7, 0xf000, 0xf0ca, 0xf000, 0xf0ca, 0xf25d, 0xf2df, 0xf25d, 0xf2df, -0xf4b5, 0xf4e6, 0xf4b5, 0xf4e6, 0xf78b, 0xf766, 0xf78b, 0xf766, 0xfa88, 0xfa06, 0xfa88, -0xfa06, 0xfd77, 0xfc95, 0xfd77, 0xfc95, 0xfd77, 0xfc95, 0x15d, 0x18, 0x15d, 0x18, -0x4bb, 0x312, 0x4bb, 0x312, 0x85f, 0x654, 0x85f, 0x654, 0xc13, 0x9ac, 0xc13, -0x9ac, 0x1036, 0xd77, 0x1036, 0xd77, 0x1036, 0xd77, 0x13d2, 0x10c5, 0x13d2, 0x10c5, -0x16cf, 0x137e, 0x16cf, 0x137e, 0x18d5, 0x154c, 0x18d5, 0x154c, 0x1b6c, 0x17b8, 0x1b6c, -0x17b8, 0x1d7f, 0x19af, 0x1d7f, 0x19af, 0x1f26, 0x1b48, 0x1f26, 0x1b48, 0x1f26, 0x1b48, -0x207f, 0x1ca1, 0x207f, 0x1ca1, 0x21bf, 0x1def, 0x21bf, 0x1def, 0x224c, 0x1e97, 0x224c, -0x1e97, 0x2260, 0x1ed2, 0x2260, 0x1ed2, 0x22c2, 0x1f63, 0x22c2, 0x1f63, 0x2302, 0x1fdb, -0x2302, 0x1fdb, 0x2302, 0x1fdb, 0x226e, 0x1f84, 0x226e, 0x1f84, 0x20f7, 0x1e4d, 0x20f7, -0x1e4d, 0x1feb, 0x1d83, 0x1feb, 0x1d83, 0x1e63, 0x1c3b, 0x1e63, 0x1c3b, 0x1d8e, 0x1ba2, -0x1d8e, 0x1ba2, 0x1d8e, 0x1ba2, 0x1c31, 0x1a7d, 0x1c31, 0x1a7d, 0x1ac2, 0x193f, 0x1ac2, -0x193f, 0x1896, 0x173e, 0x1896, 0x173e, 0x16ee, 0x15b8, 0x16ee, 0x15b8, 0x1530, 0x1414, -0x1530, 0x1414, 0x13a4, 0x129a, 0x13a4, 0x129a, 0x13a4, 0x129a, 0x1282, 0x1184, 0x1282, -0x1184, 0x1119, 0x101f, 0x1119, 0x101f, 0xfd3, 0xeda, 0xfd3, 0xeda, 0xe87, 0xd8a, -0xe87, 0xd8a, 0xda4, 0xca2, 0xda4, 0xca2, 0xccd, 0xbc4, 0xccd, 0xbc4, 0xccd, -0xbc4, 0xc0b, 0xafd, 0xc0b, 0xafd, 0xabf, 0x9b0, 0xabf, 0x9b0, 0x9a4, 0x897, -0x9a4, 0x897, 0x89d, 0x796, 0x89d, 0x796, 0x815, 0x71b, 0x815, 0x71b, 0x815, -0x71b, 0x637, 0x550, 0x637, 0x550, 0x43f, 0x371, 0x43f, 0x371, 0x206, 0x155, -0x206, 0x155, 0xffb5, 0xff27, 0xffb5, 0xff27, 0xfd53, 0xfcec, 0xfd53, 0xfcec, 0xfbe6, -0xfba9, 0xfbe6, 0xfba9, 0xfbe6, 0xfba9, 0xfa4b, 0xfa3a, 0xfa4b, 0xfa3a, 0xf7d9, 0xf7f4, -0xf7d9, 0xf7f4, 0xf5e4, 0xf628, 0xf5e4, 0xf628, 0xf4ab, 0xf518, 0xf4ab, 0xf518, 0xf475, -0xf505, 0xf475, 0xf505, 0xf384, 0xf433, 0xf384, 0xf433, 0xf384, 0xf433, 0xf2d9, 0xf3a1, -0xf2d9, 0xf3a1, 0xf1e3, 0xf2bf, 0xf1e3, 0xf2bf, 0xf193, 0xf27d, 0xf193, 0xf27d, 0xf0bc, -0xf1ae, 0xf0bc, 0xf1ae, 0xf068, 0xf15c, 0xf068, 0xf15c, 0xf068, 0xf15c, 0xf0e5, 0xf1d8, -0xf0e5, 0xf1d8, 0xf1e2, 0xf2d0, 0xf1e2, 0xf2d0, 0xf30a, 0xf3f1, 0xf30a, 0xf3f1, 0xf476, -0xf557, 0xf476, 0xf557, 0xf5c9, 0xf6a5, 0xf5c9, 0xf6a5, 0xf6ef, 0xf7c9, 0xf6ef, 0xf7c9, -0xf6ef, 0xf7c9, 0xf70e, 0xf7ea, 0xf70e, 0xf7ea, 0xf6c3, 0xf7a6, 0xf6c3, 0xf7a6, 0xf728, -0xf819, 0xf728, 0xf819, 0xf6d0, 0xf7d7, 0xf6d0, 0xf7d7, 0xf6a1, 0xf7c4, 0xf6a1, 0xf7c4, -0xf67d, 0xf7c5, 0xf67d, 0xf7c5, 0xf67d, 0xf7c5, 0xf6d7, 0xf84a, 0xf6d7, 0xf84a, 0xf65e, -0xf803, 0xf65e, 0xf803, 0xf602, 0xf7dd, 0xf602, 0xf7dd, 0xf583, 0xf798, 0xf583, 0xf798, -0xf593, 0xf7e5, 0xf593, 0xf7e5, 0xf593, 0xf7e5, 0xf4b7, 0xf745, 0xf4b7, 0xf745, 0xf3f6, -0xf6bd, 0xf3f6, 0xf6bd, 0xf328, 0xf625, 0xf328, 0xf625, 0xf1bc, 0xf4e8, 0xf1bc, 0xf4e8, -0xf0a3, 0xf3f5, 0xf0a3, 0xf3f5, 0xef6f, 0xf2df, 0xef6f, 0xf2df, 0xef6f, 0xf2df, 0xee7a, -0xf1fb, 0xee7a, 0xf1fb, 0xed7b, 0xf101, 0xed7b, 0xf101, 0xedb5, 0xf133, 0xedb5, 0xf133, -0xee1a, 0xf182, 0xee1a, 0xf182, 0xeeef, 0xf235, 0xeeef, 0xf235, 0xef98, 0xf2af, 0xef98, -0xf2af, 0xef98, 0xf2af, 0xf056, 0xf332, 0xf056, 0xf332, 0xf0e6, 0xf37c, 0xf0e6, 0xf37c, -0xf240, 0xf487, 0xf240, 0xf487, 0xf403, 0xf5f5, 0xf403, 0xf5f5, 0xf663, 0xf7fa, 0xf663, -0xf7fa, 0xf663, 0xf7fa, 0xf878, 0xf9b1, 0xf878, 0xf9b1, 0xfa95, 0xfb6e, 0xfa95, 0xfb6e, -0xfc94, 0xfd0d, 0xfc94, 0xfd0d, 0xff0f, 0xff2a, 0xff0f, 0xff2a, 0x1ee, 0x1ae, 0x1ee, -0x1ae, 0x3b5, 0x320, 0x3b5, 0x320, 0x3b5, 0x320, 0x596, 0x4b1, 0x596, 0x4b1, -0x71a, 0x5ec, 0x71a, 0x5ec, 0x8ab, 0x739, 0x8ab, 0x739, 0x97e, 0x7d0, 0x97e, -0x7d0, 0xb36, 0x952, 0xb36, 0x952, 0xc20, 0xa0c, 0xc20, 0xa0c, 0xc20, 0xa0c, -0xc8d, 0xa4f, 0xc8d, 0xa4f, 0xcca, 0xa67, 0xcca, 0xa67, 0xdcf, 0xb4c, 0xdcf, -0xb4c, 0xf35, 0xc96, 0xf35, 0xc96, 0x1006, 0xd4f, 0x1006, 0xd4f, 0x1006, 0xd4f, -0x1082, 0xdb5, 0x1082, 0xdb5, 0x1102, 0xe23, 0x1102, 0xe23, 0x11a8, 0xeb9, 0x11a8, -0xeb9, 0x1171, 0xe76, 0x1171, 0xe76, 0x119a, 0xe95, 0x119a, 0xe95, 0x1268, 0xf5d, -0x1268, 0xf5d, 0x1268, 0xf5d, 0x131d, 0x1011, 0x131d, 0x1011, 0x131a, 0x1012, 0x131a, -0x1012, 0x1378, 0x107a, 0x1378, 0x107a, 0x136f, 0x1083, 0x136f, 0x1083, 0x13ad, 0x10da, -0x13ad, 0x10da, 0x1278, 0xfc6, 0x1278, 0xfc6, 0x1278, 0xfc6, 0x1170, 0xee7, 0x1170, -0xee7, 0x1051, 0xdfb, 0x1051, 0xdfb, 0xe9e, 0xc85, 0xe9e, 0xc85, 0xce9, 0xb13, -0xce9, 0xb13, 0xbb2, 0xa29, 0xbb2, 0xa29, 0xbb2, 0xa29, 0xab1, 0x97b, 0xab1, -0x97b, 0x8bc, 0x7e0, 0x8bc, 0x7e0, 0x6ce, 0x651, 0x6ce, 0x651, 0x4b0, 0x494, -0x4b0, 0x494, 0x2e1, 0x328, 0x2e1, 0x328, 0xffcd, 0x75, 0xffcd, 0x75, 0xffcd, -0x75, 0xfcd6, 0xfddd, 0xfcd6, 0xfddd, 0xf983, 0xfae5, 0xf983, 0xfae5, 0xf666, 0xf81d, -0xf666, 0xf81d, 0xf3e2, 0xf5e5, 0xf3e2, 0xf5e5, 0xf1f7, 0xf43e, 0xf1f7, 0xf43e, 0xf1f7, -0xf43e, 0xefd1, 0xf253, 0xefd1, 0xf253, 0xedfb, 0xf0ac, 0xedfb, 0xf0ac, 0xec73, 0xef49, -0xec73, 0xef49, 0xeb3c, 0xee2c, 0xeb3c, 0xee2c, 0xea47, 0xed46, 0xea47, 0xed46, 0xe97c, -0xec81, 0xe97c, 0xec81, 0xe97c, 0xec81, 0xe8ba, 0xebbd, 0xe8ba, 0xebbd, 0xe7aa, 0xeaa3, -0xe7aa, 0xeaa3, 0xe7ab, 0xea94, 0xe7ab, 0xea94, 0xe7bf, 0xea94, 0xe7bf, 0xea94, 0xe864, -0xeb21, 0xe864, 0xeb21, 0xe8c4, 0xeb68, 0xe8c4, 0xeb68, 0xe8c4, 0xeb68, 0xe954, 0xebde, -0xe954, 0xebde, 0xe926, 0xeb97, 0xe926, 0xeb97, 0xea2a, 0xec83, 0xea2a, 0xec83, 0xeb38, -0xed7b, 0xeb38, 0xed7b, 0xeb94, 0xedc3, 0xeb94, 0xedc3, 0xeb94, 0xedc3, 0xec22, 0xee3e, -0xec22, 0xee3e, 0xecc1, 0xeecd, 0xecc1, 0xeecd, 0xecde, 0xeeda, 0xecde, 0xeeda, 0xecc3, -0xeeaf, 0xecc3, 0xeeaf, 0xed77, 0xef52, 0xed77, 0xef52, 0xed64, 0xef2b, 0xed64, 0xef2b, -0xed64, 0xef2b, 0xed2e, 0xeedd, 0xed2e, 0xeedd, 0xed33, 0xeec6, 0xed33, 0xeec6, 0xeeab, -0xf01a, 0xeeab, 0xf01a, 0xf096, 0xf1dc, 0xf096, 0xf1dc, 0xf29a, 0xf3af, 0xf29a, 0xf3af, -0xf42b, 0xf507, 0xf42b, 0xf507, 0xf42b, 0xf507, 0xf678, 0xf712, 0xf678, 0xf712, 0xf887, -0xf8d8, 0xf887, 0xf8d8, 0xfa70, 0xfa71, 0xfa70, 0xfa71, 0xfcb6, 0xfc62, 0xfcb6, 0xfc62, -0xffa2, 0xfef4, 0xffa2, 0xfef4, 0xffa2, 0xfef4, 0x274, 0x169, 0x274, 0x169, 0x57c, -0x415, 0x57c, 0x415, 0x926, 0x763, 0x926, 0x763, 0xcaf, 0xa94, 0xcaf, 0xa94, -0x100e, 0xda2, 0x100e, 0xda2, 0x11e5, 0xf2e, 0x11e5, 0xf2e, 0x11e5, 0xf2e, 0x1441, -0x114a, 0x1441, 0x114a, 0x1667, 0x1339, 0x1667, 0x1339, 0x1867, 0x1510, 0x1867, 0x1510, -0x19ad, 0x163b, 0x19ad, 0x163b, 0x1b48, 0x17c6, 0x1b48, 0x17c6, 0x1c8f, 0x190d, 0x1c8f, -0x190d, 0x1c8f, 0x190d, 0x1d55, 0x19dd, 0x1d55, 0x19dd, 0x1d5c, 0x19fd, 0x1d5c, 0x19fd, -0x1da7, 0x1a6a, 0x1da7, 0x1a6a, 0x1e2d, 0x1b1b, 0x1e2d, 0x1b1b, 0x1db6, 0x1ad6, 0x1db6, -0x1ad6, 0x1db6, 0x1ad6, 0x1d0a, 0x1a62, 0x1d0a, 0x1a62, 0x1ba4, 0x1937, 0x1ba4, 0x1937, -0x1a3f, 0x180d, 0x1a3f, 0x180d, 0x1929, 0x1732, 0x1929, 0x1732, 0x1881, 0x16c1, 0x1881, -0x16c1, 0x1777, 0x15ea, 0x1777, 0x15ea, 0x1777, 0x15ea, 0x16b3, 0x1553, 0x16b3, 0x1553, -0x1536, 0x13fd, 0x1536, 0x13fd, 0x13f1, 0x12d7, 0x13f1, 0x12d7, 0x1294, 0x1192, 0x1294, -0x1192, 0x119c, 0x10aa, 0x119c, 0x10aa, 0x1016, 0xf2e, 0x1016, 0xf2e, 0x1016, 0xf2e, -0xe9f, 0xdbb, 0xe9f, 0xdbb, 0xd9a, 0xcb6, 0xd9a, 0xcb6, 0xd06, 0xc1e, 0xd06, -0xc1e, 0xcac, 0xbbe, 0xcac, 0xbbe, 0xbd1, 0xadd, 0xbd1, 0xadd, 0xbd1, 0xadd, -0xad2, 0x9d9, 0xad2, 0x9d9, 0x951, 0x856, 0x951, 0x856, 0x95a, 0x85f, 0x95a, -0x85f, 0x8ce, 0x7d8, 0x8ce, 0x7d8, 0x77d, 0x692, 0x77d, 0x692, 0x5bc, 0x4df, -0x5bc, 0x4df, 0x5bc, 0x4df, 0x43c, 0x373, 0x43c, 0x373, 0x20d, 0x15d, 0x20d, -0x15d, 0x74, 0xffe1, 0x74, 0xffe1, 0xff53, 0xfee1, 0xff53, 0xfee1, 0xfd72, 0xfd22, -0xfd72, 0xfd22, 0xfb28, 0xfafb, 0xfb28, 0xfafb, 0xfb28, 0xfafb, 0xf933, 0xf928, 0xf933, -0xf928, 0xf7e6, 0xf7fc, 0xf7e6, 0xf7fc, 0xf722, 0xf755, 0xf722, 0xf755, 0xf645, 0xf692, -0xf645, 0xf692, 0xf4eb, 0xf54d, 0xf4eb, 0xf54d, 0xf4eb, 0xf54d, 0xf453, 0xf4c5, 0xf453, -0xf4c5, 0xf37e, 0xf3fa, 0xf37e, 0xf3fa, 0xf2e8, 0xf36a, 0xf2e8, 0xf36a, 0xf280, 0xf301, -0xf280, 0xf301, 0xf318, 0xf395, 0xf318, 0xf395, 0xf341, 0xf3b7, 0xf341, 0xf3b7, 0xf341, -0xf3b7, 0xf40f, 0xf47b, 0xf40f, 0xf47b, 0xf4c9, 0xf52b, 0xf4c9, 0xf52b, 0xf615, 0xf66e, -0xf615, 0xf66e, 0xf71f, 0xf772, 0xf71f, 0xf772, 0xf6c5, 0xf715, 0xf6c5, 0xf715, 0xf678, -0xf6cb, 0xf678, 0xf6cb, 0xf678, 0xf6cb, 0xf62a, 0xf687, 0xf62a, 0xf687, 0xf5ef, 0xf65d, -0xf5ef, 0xf65d, 0xf565, 0xf5ec, 0xf565, 0xf5ec, 0xf59f, 0xf648, 0xf59f, 0xf648, 0xf565, -0xf638, 0xf565, 0xf638, 0xf565, 0xf638, 0xf4e2, 0xf5e6, 0xf4e2, 0xf5e6, 0xf3ed, 0xf52a, -0xf3ed, 0xf52a, 0xf394, 0xf50e, 0xf394, 0xf50e, 0xf2f1, 0xf4ad, 0xf2f1, 0xf4ad, 0xf21f, -0xf41e, 0xf21f, 0xf41e, 0xf150, 0xf394, 0xf150, 0xf394, 0xf150, 0xf394, 0xf080, 0xf306, -0xf080, 0xf306, 0xef5b, 0xf220, 0xef5b, 0xf220, 0xeea1, 0xf19e, 0xeea1, 0xf19e, 0xed7d, -0xf0aa, 0xed7d, 0xf0aa, 0xec17, 0xef6c, 0xec17, 0xef6c, 0xeb17, 0xee87, 0xeb17, 0xee87, -0xeb17, 0xee87, 0xea56, 0xedd7, 0xea56, 0xedd7, 0xeaa5, 0xee2a, 0xeaa5, 0xee2a, 0xeb1a, -0xee96, 0xeb1a, 0xee96, 0xec36, 0xef9c, 0xec36, 0xef9c, 0xec85, 0xefc9, 0xec85, 0xefc9, -0xec85, 0xefc9, 0xed9b, 0xf0b2, 0xed9b, 0xf0b2, 0xef49, 0xf229, 0xef49, 0xf229, 0xf1fe, -0xf49d, 0xf1fe, 0xf49d, 0xf49c, 0xf6f5, 0xf49c, 0xf6f5, 0xf753, 0xf95e, 0xf753, 0xf95e, -0xf9b7, 0xfb72, 0xf9b7, 0xfb72, 0xf9b7, 0xfb72, 0xfbe6, 0xfd4d, 0xfbe6, 0xfd4d, 0xff01, -0x14, 0xff01, 0x14, 0x19f, 0x25e, 0x19f, 0x25e, 0x3b2, 0x420, 0x3b2, 0x420, -0x5cd, 0x5ec, 0x5cd, 0x5ec, 0x80a, 0x7de, 0x80a, 0x7de, 0x80a, 0x7de, 0x99a, -0x928, 0x99a, 0x928, 0xb8f, 0xad9, 0xb8f, 0xad9, 0xd67, 0xc73, 0xd67, 0xc73, -0xe9a, 0xd6b, 0xe9a, 0xd6b, 0xeff, 0xd9a, 0xeff, 0xd9a, 0xeff, 0xd9a, 0x103d, -0xea4, 0x103d, 0xea4, 0x11a3, 0xfda, 0x11a3, 0xfda, 0x1397, 0x119f, 0x1397, 0x119f, -0x14c3, 0x129f, 0x14c3, 0x129f, 0x15a4, 0x1356, 0x15a4, 0x1356, 0x166f, 0x13f7, 0x166f, -0x13f7, 0x166f, 0x13f7, 0x16c1, 0x1422, 0x16c1, 0x1422, 0x16af, 0x13eb, 0x16af, 0x13eb, -0x1692, 0x13ac, 0x1692, 0x13ac, 0x1748, 0x1443, 0x1748, 0x1443, 0x171b, 0x13fb, 0x171b, -0x13fb, 0x171b, 0x13fb, 0x1735, 0x13ff, 0x1735, 0x13ff, 0x1733, 0x13ee, 0x1733, 0x13ee, -0x17c7, 0x147a, 0x17c7, 0x147a, 0x1775, 0x1428, 0x1775, 0x1428, 0x1667, 0x1323, 0x1667, -0x1323, 0x155e, 0x122e, 0x155e, 0x122e, 0x155e, 0x122e, 0x1474, 0x1163, 0x1474, 0x1163, -0x1302, 0x101b, 0x1302, 0x101b, 0x1157, 0xea5, 0x1157, 0xea5, 0xf82, 0xd0f, 0xf82, -0xd0f, 0xd92, 0xb69, 0xd92, 0xb69, 0xb5c, 0x987, 0xb5c, 0x987, 0xb5c, 0x987, -0x93a, 0x7bf, 0x93a, 0x7bf, 0x747, 0x62e, 0x747, 0x62e, 0x477, 0x3c5, 0x477, -0x3c5, 0x182, 0x13a, 0x182, 0x13a, 0xfdcf, 0xfdf1, 0xfdcf, 0xfdf1, 0xfdcf, 0xfdf1, -0xf9e7, 0xfa73, 0xf9e7, 0xfa73, 0xf5ef, 0xf6e2, 0xf5ef, 0xf6e2, 0xf31f, 0xf474, 0xf31f, -0xf474, 0xf025, 0xf1d5, 0xf025, 0xf1d5, 0xedc8, 0xefcb, 0xedc8, 0xefcb, 0xeb8e, 0xeddc, -0xeb8e, 0xeddc, 0xeb8e, 0xeddc, 0xe9ac, 0xec3b, 0xe9ac, 0xec3b, 0xe821, 0xeae7, 0xe821, -0xeae7, 0xe6fe, 0xe9ef, 0xe6fe, 0xe9ef, 0xe62a, 0xe93e, 0xe62a, 0xe93e, 0xe493, 0xe7c0, -0xe493, 0xe7c0, 0xe355, 0xe692, 0xe355, 0xe692, 0xe355, 0xe692, 0xe2bd, 0xe602, 0xe2bd, -0xe602, 0xe2ed, 0xe634, 0xe2ed, 0xe634, 0xe2f9, 0xe63c, 0xe2f9, 0xe63c, 0xe34c, 0xe688, -0xe34c, 0xe688, 0xe2f1, 0xe622, 0xe2f1, 0xe622, 0xe2f1, 0xe622, 0xe342, 0xe666, 0xe342, -0xe666, 0xe49a, 0xe7b0, 0xe49a, 0xe7b0, 0xe603, 0xe90a, 0xe603, 0xe90a, 0xe672, 0xe96a, -0xe672, 0xe96a, 0xe732, 0xea1a, 0xe732, 0xea1a, 0xe7df, 0xeab6, 0xe7df, 0xeab6, 0xe7df, -0xeab6, 0xe863, 0xeb29, 0xe863, 0xeb29, 0xe984, 0xec37, 0xe984, 0xec37, 0xeab3, 0xed4f, -0xeab3, 0xed4f, 0xeb19, 0xed9b, 0xeb19, 0xed9b, 0xeb2f, 0xed91, 0xeb2f, 0xed91, 0xec2c, -0xee69, 0xec2c, 0xee69, 0xec2c, 0xee69, 0xed7b, 0xef8c, 0xed7b, 0xef8c, 0xef6a, 0xf147, -0xef6a, 0xf147, 0xf100, 0xf2a0, 0xf100, 0xf2a0, 0xf327, 0xf482, 0xf327, 0xf482, 0xf587, -0xf694, 0xf587, 0xf694, 0xf587, 0xf694, 0xf884, 0xf93a, 0xf884, 0xf93a, 0xfb22, 0xfb7b, -0xfb22, 0xfb7b, 0xfe4a, 0xfe3e, 0xfe4a, 0xfe3e, 0x197, 0x122, 0x197, 0x122, 0x4ae, -0x3cc, 0x4ae, 0x3cc, 0x840, 0x6f0, 0x840, 0x6f0, 0x840, 0x6f0, 0xc0e, 0xa51, -0xc0e, 0xa51, 0x1012, 0xdeb, 0x1012, 0xdeb, 0x131a, 0x108e, 0x131a, 0x108e, 0x15a4, -0x12bc, 0x15a4, 0x12bc, 0x1810, 0x14d4, 0x1810, 0x14d4, 0x1a79, 0x16f5, 0x1a79, 0x16f5, -0x1a79, 0x16f5, 0x1c30, 0x1870, 0x1c30, 0x1870, 0x1e0e, 0x1a21, 0x1e0e, 0x1a21, 0x1fbf, -0x1bb3, 0x1fbf, 0x1bb3, 0x2113, 0x1cf7, 0x2113, 0x1cf7, 0x216b, 0x1d4d, 0x216b, 0x1d4d, -0x216b, 0x1d4d, 0x21bb, 0x1daa, 0x21bb, 0x1daa, 0x21d7, 0x1de0, 0x21d7, 0x1de0, 0x21bc, -0x1deb, 0x21bc, 0x1deb, 0x2132, 0x1d90, 0x2132, 0x1d90, 0x205e, 0x1cf2, 0x205e, 0x1cf2, -0x1f0c, 0x1bdd, 0x1f0c, 0x1bdd, 0x1f0c, 0x1bdd, 0x1d89, 0x1a9a, 0x1d89, 0x1a9a, 0x1c5f, -0x19b2, 0x1c5f, 0x19b2, 0x1ab6, 0x184c, 0x1ab6, 0x184c, 0x1957, 0x172c, 0x1957, 0x172c, -0x1765, 0x1577, 0x1765, 0x1577, 0x1594, 0x13dd, 0x1594, 0x13dd, 0x1594, 0x13dd, 0x1381, -0x11fb, 0x1381, 0x11fb, 0x121f, 0x10c5, 0x121f, 0x10c5, 0x1090, 0xf5c, 0x1090, 0xf5c, -0xea7, 0xd91, 0xea7, 0xd91, 0xd36, 0xc3a, 0xd36, 0xc3a, 0xd36, 0xc3a, 0xc60, -0xb78, 0xc60, 0xb78, 0xb7d, 0xaa7, 0xb7d, 0xaa7, 0xa56, 0x98d, 0xa56, 0x98d, -0x8f2, 0x837, 0x8f2, 0x837, 0x700, 0x651, 0x700, 0x651, 0x5b7, 0x515, 0x5b7, -0x515, 0x5b7, 0x515, 0x523, 0x491, 0x523, 0x491, 0x425, 0x3a4, 0x425, 0x3a4, -0x291, 0x225, 0x291, 0x225, 0x1a2, 0x14e, 0x1a2, 0x14e, 0x16, 0xffdd, 0x16, -0xffdd, 0xfe04, 0xfde9, 0xfe04, 0xfde9, 0xfe04, 0xfde9, 0xfc25, 0xfc2a, 0xfc25, 0xfc2a, -0xfaa6, 0xfacd, 0xfaa6, 0xfacd, 0xf81d, 0xf866, 0xf81d, 0xf866, 0xf616, 0xf680, 0xf616, -0xf680, 0xf4e0, 0xf56a, 0xf4e0, 0xf56a, 0xf4e0, 0xf56a, 0xf433, 0xf4d9, 0xf433, 0xf4d9, -0xf3c8, 0xf486, 0xf3c8, 0xf486, 0xf314, 0xf3e6, 0xf314, 0xf3e6, 0xf2b6, 0xf395, 0xf2b6, -0xf395, 0xf254, 0xf339, 0xf254, 0xf339, 0xf1f3, 0xf2d8, 0xf1f3, 0xf2d8, 0xf1f3, 0xf2d8, -0xf102, 0xf1e1, 0xf102, 0xf1e1, 0xf135, 0xf209, 0xf135, 0xf209, 0xf1a7, 0xf26a, 0xf1a7, -0xf26a, 0xf22b, 0xf2da, 0xf22b, 0xf2da, 0xf2f5, 0xf38e, 0xf2f5, 0xf38e, 0xf440, 0xf4c1, -0xf440, 0xf4c1, 0xf440, 0xf4c1, 0xf5e5, 0xf64f, 0xf5e5, 0xf64f, 0xf6eb, 0xf741, 0xf6eb, -0xf741, 0xf764, 0xf7aa, 0xf764, 0xf7aa, 0xf7fb, 0xf836, 0xf7fb, 0xf836, 0xf83e, 0xf877, -0xf83e, 0xf877, 0xf83e, 0xf877, 0xf871, 0xf8af, 0xf871, 0xf8af, 0xf8d9, 0xf925, 0xf8d9, -0xf925, 0xf970, 0xf9d4, 0xf970, 0xf9d4, 0xf9ae, 0xfa34, 0xf9ae, 0xfa34, 0xf93a, 0xf9ea, -0xf93a, 0xf9ea, 0xf930, 0xfa13, 0xf930, 0xfa13, 0xf930, 0xfa13, 0xf8ea, 0xfa07, 0xf8ea, -0xfa07, 0xf8b6, 0xfa11, 0xf8b6, 0xfa11, 0xf7fc, 0xf999, 0xf7fc, 0xf999, 0xf733, 0xf914, -0xf733, 0xf914, 0xf5b7, 0xf7dc, 0xf5b7, 0xf7dc, 0xf4bf, 0xf724, 0xf4bf, 0xf724, 0xf4bf, -0xf724, 0xf41e, 0xf6bd, 0xf41e, 0xf6bd, 0xf2e5, 0xf5b8, 0xf2e5, 0xf5b8, 0xf19d, 0xf499, -0xf19d, 0xf499, 0xf039, 0xf355, 0xf039, 0xf355, 0xef9e, 0xf2ce, 0xef9e, 0xf2ce, 0xef9e, -0xf2ce, 0xef50, 0xf286, 0xef50, 0xf286, 0xef6f, 0xf29d, 0xef6f, 0xf29d, 0xef71, 0xf28b, -0xef71, 0xf28b, 0xef68, 0xf25f, 0xef68, 0xf25f, 0xefee, 0xf2b7, 0xefee, 0xf2b7, 0xf11a, -0xf3a9, 0xf11a, 0xf3a9, 0xf11a, 0xf3a9, 0xf2ac, 0xf4f8, 0xf2ac, 0xf4f8, 0xf4da, 0xf6da, -0xf4da, 0xf6da, 0xf6db, 0xf88a, 0xf6db, 0xf88a, 0xf8ca, 0xfa23, 0xf8ca, 0xfa23, 0xfaf0, -0xfbf1, 0xfaf0, 0xfbf1, 0xfaf0, 0xfbf1, 0xfdbd, 0xfe64, 0xfdbd, 0xfe64, 0xffb5, 0x4, -0xffb5, 0x4, 0x153, 0x14d, 0x153, 0x14d, 0x3a2, 0x34a, 0x3a2, 0x34a, 0x55c, -0x4b7, 0x55c, 0x4b7, 0x6eb, 0x5ff, 0x6eb, 0x5ff, 0x6eb, 0x5ff, 0x8ba, 0x78d, -0x8ba, 0x78d, 0xa42, 0x8da, 0xa42, 0x8da, 0xa6d, 0x8d0, 0xa6d, 0x8d0, 0xae7, -0x91b, 0xae7, 0x91b, 0xba7, 0x9b2, 0xba7, 0x9b2, 0xca8, 0xa8f, 0xca8, 0xa8f, -0xca8, 0xa8f, 0xdad, 0xb74, 0xdad, 0xb74, 0xe9c, 0xc47, 0xe9c, 0xc47, 0xf90, -0xd22, 0xf90, 0xd22, 0x1046, 0xdc3, 0x1046, 0xdc3, 0x1078, 0xde2, 0x1078, 0xde2, -0x1078, 0xde2, 0x1092, 0xdec, 0x1092, 0xdec, 0x111f, 0xe6c, 0x111f, 0xe6c, 0x1188, -0xecc, 0x1188, 0xecc, 0x11c8, 0xf05, 0x11c8, 0xf05, 0x11f9, 0xf34, 0x11f9, 0xf34, -0x12a4, 0xfe3, 0x12a4, 0xfe3, 0x12a4, 0xfe3, 0x1311, 0x1059, 0x1311, 0x1059, 0x1300, -0x1058, 0x1300, 0x1058, 0x12db, 0x104a, 0x12db, 0x104a, 0x12b0, 0x103f, 0x12b0, 0x103f, -0x11c0, 0xf77, 0x11c0, 0xf77, 0x1090, 0xe79, 0x1090, 0xe79, 0x1090, 0xe79, 0xf17, -0xd3a, 0xf17, 0xd3a, 0xd8c, 0xbf2, 0xd8c, 0xbf2, 0xb6d, 0xa1f, 0xb6d, 0xa1f, -0x906, 0x80a, 0x906, 0x80a, 0x732, 0x68f, 0x732, 0x68f, 0x732, 0x68f, 0x58c, -0x547, 0x58c, 0x547, 0x399, 0x3b5, 0x399, 0x3b5, 0x118, 0x197, 0x118, 0x197, -0xfe48, 0xff2a, 0xfe48, 0xff2a, 0xfab5, 0xfbf7, 0xfab5, 0xfbf7, 0xf7ec, 0xf98a, 0xf7ec, -0xf98a, 0xf7ec, 0xf98a, 0xf55a, 0xf74e, 0xf55a, 0xf74e, 0xf2f2, 0xf536, 0xf2f2, 0xf536, -0xf0d9, 0xf363, 0xf0d9, 0xf363, 0xeec7, 0xf18e, 0xeec7, 0xf18e, 0xed02, 0xeffc, 0xed02, -0xeffc, 0xebaf, 0xeed0, 0xebaf, 0xeed0, 0xebaf, 0xeed0, 0xeaf7, 0xee34, 0xeaf7, 0xee34, -0xe9ff, 0xed4f, 0xe9ff, 0xed4f, 0xe8b9, 0xec11, 0xe8b9, 0xec11, 0xe81b, 0xeb73, 0xe81b, -0xeb73, 0xe825, 0xeb74, 0xe825, 0xeb74, 0xe825, 0xeb74, 0xe852, 0xeb92, 0xe852, 0xeb92, -0xe8aa, 0xebd6, 0xe8aa, 0xebd6, 0xe8d3, 0xebe7, 0xe8d3, 0xebe7, 0xe8a3, 0xeb9c, 0xe8a3, -0xeb9c, 0xe8ff, 0xebdc, 0xe8ff, 0xebdc, 0xea5a, 0xed1a, 0xea5a, 0xed1a, 0xea5a, 0xed1a, -0xeacf, 0xed74, 0xeacf, 0xed74, 0xeb92, 0xee1c, 0xeb92, 0xee1c, 0xec6b, 0xeeda, 0xec6b, -0xeeda, 0xec98, 0xeeee, 0xec98, 0xeeee, 0xecd1, 0xef0e, 0xecd1, 0xef0e, 0xed8e, 0xefb2, -0xed8e, 0xefb2, 0xed8e, 0xefb2, 0xee48, 0xf052, 0xee48, 0xf052, 0xee48, 0xf036, 0xee48, -0xf036, 0xee8a, 0xf057, 0xee8a, 0xf057, 0xeefb, 0xf0a4, 0xeefb, 0xf0a4, 0xf04e, 0xf1cd, -0xf04e, 0xf1cd, 0xf04e, 0xf1cd, 0xf1b5, 0xf302, 0xf1b5, 0xf302, 0xf2e7, 0xf3fb, 0xf2e7, -0xf3fb, 0xf4bb, 0xf58d, 0xf4bb, 0xf58d, 0xf6d4, 0xf75d, 0xf6d4, 0xf75d, 0xf875, 0xf8ac, -0xf875, 0xf8ac, 0xfa3f, 0xfa1a, 0xfa3f, 0xfa1a, 0xfa3f, 0xfa1a, 0xfc8d, 0xfc08, 0xfc8d, -0xfc08, 0xff4c, 0xfe5f, 0xff4c, 0xfe5f, 0x215, 0xbe, 0x215, 0xbe, 0x4fc, 0x337, -0x4fc, 0x337, 0x894, 0x661, 0x894, 0x661, 0xc55, 0x9b8, 0xc55, 0x9b8, 0xc55, -0x9b8, 0xf62, 0xc5d, 0xf62, 0xc5d, 0x1240, 0xedc, 0x1240, 0xedc, 0x14b0, 0x10f7, -0x14b0, 0x10f7, 0x165c, 0x1258, 0x165c, 0x1258, 0x186d, 0x142b, 0x186d, 0x142b, 0x186d, -0x142b, 0x1a4e, 0x15dd, 0x1a4e, 0x15dd, 0x1c41, 0x17b1, 0x1c41, 0x17b1, 0x1d2d, 0x188e, -0x1d2d, 0x188e, 0x1db6, 0x1919, 0x1db6, 0x1919, 0x1ebb, 0x1a30, 0x1ebb, 0x1a30, 0x1f7a, -0x1b0f, 0x1f7a, 0x1b0f, 0x1f7a, 0x1b0f, 0x1f9e, 0x1b62, 0x1f9e, 0x1b62, 0x1f55, 0x1b54, -0x1f55, 0x1b54, 0x1e96, 0x1adc, 0x1e96, 0x1adc, 0x1d45, 0x19d9, 0x1d45, 0x19d9, 0x1c55, -0x193d, 0x1c55, 0x193d, 0x1af8, 0x1838, 0x1af8, 0x1838, 0x1af8, 0x1838, 0x1961, 0x16fb, -0x1961, 0x16fb, 0x17b1, 0x15a3, 0x17b1, 0x15a3, 0x15c9, 0x1411, 0x15c9, 0x1411, 0x1438, -0x12d3, 0x1438, 0x12d3, 0x12f6, 0x11de, 0x12f6, 0x11de, 0x12f6, 0x11de, 0x11bd, 0x10ea, -0x11bd, 0x10ea, 0x1023, 0xf8f, 0x1023, 0xf8f, 0xe3f, 0xde2, 0xe3f, 0xde2, 0xd18, -0xcea, 0xd18, 0xcea, 0xbfc, 0xbf6, 0xbfc, 0xbf6, 0xb18, 0xb33, 0xb18, 0xb33, -0xb18, 0xb33, 0xa49, 0xa81, 0xa49, 0xa81, 0x94c, 0x99b, 0x94c, 0x99b, 0x7f5, -0x858, 0x7f5, 0x858, 0x6fc, 0x770, 0x6fc, 0x770, 0x6c7, 0x74b, 0x6c7, 0x74b, -0x575, 0x608, 0x575, 0x608, 0x575, 0x608, 0x4a1, 0x542, 0x4a1, 0x542, 0x3c4, -0x475, 0x3c4, 0x475, 0x222, 0x2e3, 0x222, 0x2e3, 0x6c, 0x13d, 0x6c, 0x13d, -0xfed5, 0xffb6, 0xfed5, 0xffb6, 0xfed5, 0xffb6, 0xfce7, 0xfdd8, 0xfce7, 0xfdd8, 0xfa5d, -0xfb5d, 0xfa5d, 0xfb5d, 0xf821, 0xf92f, 0xf821, 0xf92f, 0xf652, 0xf76a, 0xf652, 0xf76a, -0xf52a, 0xf648, 0xf52a, 0xf648, 0xf437, 0xf557, 0xf437, 0xf557, 0xf437, 0xf557, 0xf323, -0xf43f, 0xf323, 0xf43f, 0xf2e5, 0xf3f8, 0xf2e5, 0xf3f8, 0xf295, 0xf398, 0xf295, 0xf398, -0xf205, 0xf2f2, 0xf205, 0xf2f2, 0xf1fc, 0xf2cc, 0xf1fc, 0xf2cc, 0xf20f, 0xf2be, 0xf20f, -0xf2be, 0xf20f, 0xf2be, 0xf2ad, 0xf336, 0xf2ad, 0xf336, 0xf30d, 0xf36d, 0xf30d, 0xf36d, -0xf3bf, 0xf3f3, 0xf3bf, 0xf3f3, 0xf513, 0xf51c, 0xf513, 0xf51c, 0xf675, 0xf655, 0xf675, -0xf655, 0xf675, 0xf655, 0xf72d, 0xf6e8, 0xf72d, 0xf6e8, 0xf7b9, 0xf754, 0xf7b9, 0xf754, -0xf805, 0xf788, 0xf805, 0xf788, 0xf7d6, 0xf749, 0xf7d6, 0xf749, 0xf7d3, 0xf740, 0xf7d3, -0xf740, 0xf7a1, 0xf714, 0xf7a1, 0xf714, 0xf7a1, 0xf714, 0xf78a, 0xf70e, 0xf78a, 0xf70e, -0xf6d9, 0xf67b, 0xf6d9, 0xf67b, 0xf628, 0xf5f2, 0xf628, 0xf5f2, 0xf640, 0xf63d, 0xf640, -0xf63d, 0xf61c, 0xf656, 0xf61c, 0xf656, 0xf61c, 0xf656, 0xf583, 0xf603, 0xf583, 0xf603, -0xf4d5, 0xf5a0, 0xf4d5, 0xf5a0, 0xf398, 0xf4b1, 0xf398, 0xf4b1, 0xf2a8, 0xf411, 0xf2a8, -0xf411, 0xf1ff, 0xf3b7, 0xf1ff, 0xf3b7, 0xf126, 0xf32a, 0xf126, 0xf32a, 0xf126, 0xf32a, -0xf04b, 0xf294, 0xf04b, 0xf294, 0xef4b, 0xf1d0, 0xef4b, 0xf1d0, 0xee36, 0xf0ee, 0xee36, -0xf0ee, 0xed76, 0xf054, 0xed76, 0xf054, 0xed54, 0xf04a, 0xed54, 0xf04a, 0xedbd, 0xf0bd, -0xedbd, 0xf0bd, 0xedbd, 0xf0bd, 0xee20, 0xf11a, 0xee20, 0xf11a, 0xee9d, 0xf184, 0xee9d, -0xf184, 0xefe4, 0xf2a9, 0xefe4, 0xf2a9, 0xf128, 0xf3be, 0xf128, 0xf3be, 0xf2b2, 0xf50e, -0xf2b2, 0xf50e, 0xf2b2, 0xf50e, 0xf4a3, 0xf6ba, 0xf4a3, 0xf6ba, 0xf6ad, 0xf876, 0xf6ad, -0xf876, 0xf882, 0xf9f7, 0xf882, 0xf9f7, 0xfb50, 0xfc6e, 0xfb50, 0xfc6e, 0xfe76, 0xff3a, -0xfe76, 0xff3a, 0xd7, 0x141, 0xd7, 0x141, 0xd7, 0x141, 0x38e, 0x3a0, 0x38e, -0x3a0, 0x5fa, 0x5b7, 0x5fa, 0x5b7, 0x7d9, 0x746, 0x7d9, 0x746, 0x9d7, 0x8fb, -0x9d7, 0x8fb, 0xbed, 0xacf, 0xbed, 0xacf, 0xd39, 0xbdf, 0xd39, 0xbdf, 0xd39, -0xbdf, 0xde3, 0xc55, 0xde3, 0xc55, 0xeda, 0xd1f, 0xeda, 0xd1f, 0x102f, 0xe4e, -0x102f, 0xe4e, 0x11f0, 0xfee, 0x11f0, 0xfee, 0x1340, 0x1124, 0x1340, 0x1124, 0x1340, -0x1124, 0x140c, 0x11db, 0x140c, 0x11db, 0x1548, 0x1305, 0x1548, 0x1305, 0x15c9, 0x1379, -0x15c9, 0x1379, 0x15be, 0x1362, 0x15be, 0x1362, 0x154c, 0x12e8, 0x154c, 0x12e8, 0x14ca, -0x125f, 0x14ca, 0x125f, 0x14ca, 0x125f, 0x149d, 0x122e, 0x149d, 0x122e, 0x144b, 0x11da, -0x144b, 0x11da, 0x1433, 0x11c2, 0x1433, 0x11c2, 0x14a5, 0x1237, 0x14a5, 0x1237, 0x14df, -0x1278, 0x14df, 0x1278, 0x1460, 0x1204, 0x1460, 0x1204, 0x1460, 0x1204, 0x1407, 0x11bc, -0x1407, 0x11bc, 0x1380, 0x114b, 0x1380, 0x114b, 0x1268, 0x104f, 0x1268, 0x104f, 0x10f0, -0xefb, 0x10f0, 0xefb, 0xf5b, 0xd91, 0xf5b, 0xd91, 0xf5b, 0xd91, 0xdd2, 0xc3b, -0xdd2, 0xc3b, 0xb8d, 0xa31, 0xb8d, 0xa31, 0x964, 0x84b, 0x964, 0x84b, 0x7f1, -0x720, 0x7f1, 0x720, 0x5c8, 0x546, 0x5c8, 0x546, 0x361, 0x332, 0x361, 0x332, -0x361, 0x332, 0x4e, 0x76, 0x4e, 0x76, 0xfc92, 0xfd13, 0xfc92, 0xfd13, 0xf8b3, -0xf98d, 0xf8b3, 0xf98d, 0xf503, 0xf634, 0xf503, 0xf634, 0xf1bc, 0xf341, 0xf1bc, 0xf341, -0xeedd, 0xf0b3, 0xeedd, 0xf0b3, 0xeedd, 0xf0b3, 0xec86, 0xeea6, 0xec86, 0xeea6, 0xea71, -0xecd4, 0xea71, 0xecd4, 0xe8ed, 0xeb8b, 0xe8ed, 0xeb8b, 0xe7bb, 0xea8b, 0xe7bb, 0xea8b, -0xe6d1, 0xe9cb, 0xe6d1, 0xe9cb, 0xe6d1, 0xe9cb, 0xe56b, 0xe884, 0xe56b, 0xe884, 0xe439, -0xe76a, 0xe439, 0xe76a, 0xe3c2, 0xe702, 0xe3c2, 0xe702, 0xe381, 0xe6c7, 0xe381, 0xe6c7, -0xe389, 0xe6cf, 0xe389, 0xe6cf, 0xe3c8, 0xe708, 0xe3c8, 0xe708, 0xe3c8, 0xe708, 0xe3f4, -0xe729, 0xe3f4, 0xe729, 0xe454, 0xe77b, 0xe454, 0xe77b, 0xe58d, 0xe8a3, 0xe58d, 0xe8a3, -0xe6ec, 0xe9ef, 0xe6ec, 0xe9ef, 0xe7be, 0xeaad, 0xe7be, 0xeaad, 0xe922, 0xebfe, 0xe922, -0xebfe, 0xe922, 0xebfe, 0xea93, 0xed5a, 0xea93, 0xed5a, 0xeb22, 0xedd4, 0xeb22, 0xedd4, -0xebae, 0xee4b, 0xebae, 0xee4b, 0xec7b, 0xef02, 0xec7b, 0xef02, 0xecd4, 0xef44, 0xecd4, -0xef44, 0xecd4, 0xef44, 0xecbd, 0xef11, 0xecbd, 0xef11, 0xed20, 0xef56, 0xed20, 0xef56, -0xed8c, 0xef9f, 0xed8c, 0xef9f, 0xeed4, 0xf0bd, 0xeed4, 0xf0bd, 0xf012, 0xf1cb, 0xf012, -0xf1cb, 0xf1d4, 0xf353, 0xf1d4, 0xf353, 0xf1d4, 0xf353, 0xf46a, 0xf5a9, 0xf46a, 0xf5a9, -0xf6be, 0xf7b2, 0xf6be, 0xf7b2, 0xf968, 0xfa0a, 0xf968, 0xfa0a, 0xfc12, 0xfc58, 0xfc12, -0xfc58, 0xfef4, 0xfed7, 0xfef4, 0xfed7, 0x21b, 0x195, 0x21b, 0x195, 0x21b, 0x195, -0x53e, 0x44a, 0x53e, 0x44a, 0x86c, 0x706, 0x86c, 0x706, 0xc5e, 0xa85, 0xc5e, -0xa85, 0x1041, 0xdf7, 0x1041, 0xdf7, 0x13a0, 0x10e8, 0x13a0, 0x10e8, 0x13a0, 0x10e8, -0x16f1, 0x13d1, 0x16f1, 0x13d1, 0x19a3, 0x1625, 0x19a3, 0x1625, 0x1b5f, 0x178d, 0x1b5f, -0x178d, 0x1cdf, 0x18c6, 0x1cdf, 0x18c6, 0x1e6a, 0x1a18, 0x1e6a, 0x1a18, 0x1fb4, 0x1b39, -0x1fb4, 0x1b39, 0x1fb4, 0x1b39, 0x2006, 0x1b72, 0x2006, 0x1b72, 0x20e1, 0x1c47, 0x20e1, -0x1c47, 0x2198, 0x1d07, 0x2198, 0x1d07, 0x2140, 0x1cc8, 0x2140, 0x1cc8, 0x2133, 0x1ce4, -0x2133, 0x1ce4, 0x207e, 0x1c64, 0x207e, 0x1c64, 0x207e, 0x1c64, 0x1fec, 0x1c14, 0x1fec, -0x1c14, 0x1eea, 0x1b5d, 0x1eea, 0x1b5d, 0x1df4, 0x1ab8, 0x1df4, 0x1ab8, 0x1c86, 0x19a2, -0x1c86, 0x19a2, 0x1a98, 0x180c, 0x1a98, 0x180c, 0x1a98, 0x180c, 0x18f4, 0x16c0, 0x18f4, -0x16c0, 0x16e6, 0x1509, 0x16e6, 0x1509, 0x14e5, 0x1359, 0x14e5, 0x1359, 0x12e3, 0x11a4, -0x12e3, 0x11a4, 0x1116, 0x101b, 0x1116, 0x101b, 0xed7, 0xe19, 0xed7, 0xe19, 0xed7, -0xe19, 0xce7, 0xc5d, 0xce7, 0xc5d, 0xb4e, 0xaef, 0xb4e, 0xaef, 0x986, 0x94a, -0x986, 0x94a, 0x82c, 0x80c, 0x82c, 0x80c, 0x718, 0x70c, 0x718, 0x70c, 0x5ff, -0x603, 0x5ff, 0x603, 0x5ff, 0x603, 0x4cf, 0x4de, 0x4cf, 0x4de, 0x3e1, 0x3f7, -0x3e1, 0x3f7, 0x317, 0x334, 0x317, 0x334, 0x1da, 0x1fc, 0x1da, 0x1fc, 0x198, -0x1c0, 0x198, 0x1c0, 0x198, 0x1c0, 0xbf, 0xed, 0xbf, 0xed, 0xfef3, 0xff2a, -0xfef3, 0xff2a, 0xfd72, 0xfdb2, 0xfd72, 0xfdb2, 0xfba7, 0xfbf3, 0xfba7, 0xfbf3, 0xfa01, -0xfa5a, 0xfa01, 0xfa5a, 0xf7ec, 0xf853, 0xf7ec, 0xf853, 0xf7ec, 0xf853, 0xf6c3, 0xf738, -0xf6c3, 0xf738, 0xf5cf, 0xf651, 0xf5cf, 0xf651, 0xf53a, 0xf5c6, 0xf53a, 0xf5c6, 0xf4d5, -0xf569, 0xf4d5, 0xf569, 0xf483, 0xf51c, 0xf483, 0xf51c, 0xf483, 0xf51c, 0xf44a, 0xf4e4, -0xf44a, 0xf4e4, 0xf352, 0xf3e8, 0xf352, 0xf3e8, 0xf2a8, 0xf333, 0xf2a8, 0xf333, 0xf1f2, -0xf26f, 0xf1f2, 0xf26f, 0xf1d3, 0xf23c, 0xf1d3, 0xf23c, 0xf248, 0xf299, 0xf248, 0xf299, -0xf248, 0xf299, 0xf2bd, 0xf2f4, 0xf2bd, 0xf2f4, 0xf405, 0xf41e, 0xf405, 0xf41e, 0xf5d7, -0xf5d4, 0xf5d7, 0xf5d4, 0xf72f, 0xf711, 0xf72f, 0xf711, 0xf871, 0xf83a, 0xf871, 0xf83a, -0xf980, 0xf935, 0xf980, 0xf935, 0xf980, 0xf935, 0xfac9, 0xfa72, 0xfac9, 0xfa72, 0xfb26, -0xfacb, 0xfb26, 0xfacb, 0xfb50, 0xfafa, 0xfb50, 0xfafa, 0xfbe8, 0xfba2, 0xfbe8, 0xfba2, -0xfc4d, 0xfc22, 0xfc4d, 0xfc22, 0xfc4d, 0xfc22, 0xfc2e, 0xfc2a, 0xfc2e, 0xfc2a, 0xfc23, -0xfc50, 0xfc23, 0xfc50, 0xfc55, 0xfcbf, 0xfc55, 0xfcbf, 0xfbb7, 0xfc66, 0xfbb7, 0xfc66, -0xfb6b, 0xfc67, 0xfb6b, 0xfc67, 0xfa57, 0xfba6, 0xfa57, 0xfba6, 0xfa57, 0xfba6, 0xf8de, -0xfa82, 0xf8de, 0xfa82, 0xf768, 0xf963, 0xf768, 0xf963, 0xf630, 0xf880, 0xf630, 0xf880, -0xf4bd, 0xf75e, 0xf4bd, 0xf75e, 0xf369, 0xf653, 0xf369, 0xf653, 0xf1f6, 0xf521, 0xf1f6, -0xf521, 0xf1f6, 0xf521, 0xf08a, 0xf3ea, 0xf08a, 0xf3ea, 0xef11, 0xf297, 0xef11, 0xf297, -0xee0e, 0xf1ac, 0xee0e, 0xf1ac, 0xee2d, 0xf1d4, 0xee2d, 0xf1d4, 0xedf0, 0xf18f, 0xedf0, -0xf18f, 0xedf0, 0xf18f, 0xee63, 0xf1ea, 0xee63, 0xf1ea, 0xef25, 0xf285, 0xef25, 0xf285, -0xf01f, 0xf34a, 0xf01f, 0xf34a, 0xf13e, 0xf427, 0xf13e, 0xf427, 0xf2f0, 0xf58c, 0xf2f0, -0xf58c, 0xf499, 0xf6df, 0xf499, 0xf6df, 0xf499, 0xf6df, 0xf634, 0xf81e, 0xf634, 0xf81e, -0xf88e, 0xfa18, 0xf88e, 0xfa18, 0xfb24, 0xfc4c, 0xfb24, 0xfc4c, 0xfd20, 0xfde6, 0xfd20, -0xfde6, 0xffad, 0x14, 0xffad, 0x14, 0x18d, 0x199, 0x18d, 0x199, 0x18d, 0x199, -0x2c9, 0x280, 0x2c9, 0x280, 0x418, 0x381, 0x418, 0x381, 0x53a, 0x45d, 0x53a, -0x45d, 0x66e, 0x553, 0x66e, 0x553, 0x717, 0x5c6, 0x717, 0x5c6, 0x717, 0x5c6, -0x844, 0x6c5, 0x844, 0x6c5, 0x921, 0x77c, 0x921, 0x77c, 0xab2, 0x8ed, 0xab2, -0x8ed, 0xb6d, 0x98d, 0xb6d, 0x98d, 0xcbb, 0xac5, 0xcbb, 0xac5, 0xdf1, 0xbe9, -0xdf1, 0xbe9, 0xdf1, 0xbe9, 0xe72, 0xc5a, 0xe72, 0xc5a, 0xf34, 0xd0e, 0xf34, -0xd0e, 0xf00, 0xcce, 0xf00, 0xcce, 0xfd5, 0xd96, 0xfd5, 0xd96, 0x106b, 0xe21, -0x106b, 0xe21, 0x1077, 0xe23, 0x1077, 0xe23, 0x1077, 0xe23, 0x11c0, 0xf63, 0x11c0, -0xf63, 0x126f, 0x100a, 0x126f, 0x100a, 0x12ef, 0x1087, 0x12ef, 0x1087, 0x1397, 0x112e, -0x1397, 0x112e, 0x1354, 0x10ef, 0x1354, 0x10ef, 0x1354, 0x10ef, 0x134d, 0x10f1, 0x134d, -0x10f1, 0x1171, 0xf25, 0x1171, 0xf25, 0x1017, 0xde2, 0x1017, 0xde2, 0xf07, 0xcf2, -0xf07, 0xcf2, 0xdcc, 0xbdf, 0xdcc, 0xbdf, 0xbd4, 0xa18, 0xbd4, 0xa18, 0xbd4, -0xa18, 0xa35, 0x8b2, 0xa35, 0x8b2, 0x933, 0x7f1, 0x933, 0x7f1, 0x6b0, 0x5b6, -0x6b0, 0x5b6, 0x4fa, 0x44d, 0x4fa, 0x44d, 0x28b, 0x231, 0x28b, 0x231, 0xffc1, -0xffbc, 0xffc1, 0xffbc, 0xffc1, 0xffbc, 0xfcb5, 0xfd07, 0xfcb5, 0xfd07, 0xf9a6, 0xfa4d, -0xf9a6, 0xfa4d, 0xf694, 0xf78e, 0xf694, 0xf78e, 0xf3eb, 0xf534, 0xf3eb, 0xf534, 0xf23d, -0xf3d0, 0xf23d, 0xf3d0, 0xf23d, 0xf3d0, 0xefef, 0xf1c4, 0xefef, 0xf1c4, 0xee3e, 0xf04d, -0xee3e, 0xf04d, 0xed7e, 0xefbf, 0xed7e, 0xefbf, 0xebd7, 0xee3f, 0xebd7, 0xee3f, 0xeb4f, -0xedd6, 0xeb4f, 0xedd6, 0xea68, 0xed05, 0xea68, 0xed05, 0xea68, 0xed05, 0xe9fd, 0xeca8, -0xe9fd, 0xeca8, 0xe95e, 0xec0e, 0xe95e, 0xec0e, 0xe833, 0xeae3, 0xe833, 0xeae3, 0xe8bb, -0xeb66, 0xe8bb, 0xeb66, 0xe7dc, 0xea7e, 0xe7dc, 0xea7e, 0xe874, 0xeb0b, 0xe874, 0xeb0b, -0xe874, 0xeb0b, 0xe8f3, 0xeb7d, 0xe8f3, 0xeb7d, 0xe95b, 0xebd9, 0xe95b, 0xebd9, 0xea74, -0xece7, 0xea74, 0xece7, 0xeb6f, 0xedd7, 0xeb6f, 0xedd7, 0xece2, 0xef42, 0xece2, 0xef42, -0xece2, 0xef42, 0xece0, 0xef39, 0xece0, 0xef39, 0xecff, 0xef54, 0xecff, 0xef54, 0xee11, -0xf060, 0xee11, 0xf060, 0xee9e, 0xf0e9, 0xee9e, 0xf0e9, 0xeeb8, 0xf0fc, 0xeeb8, 0xf0fc, -0xee95, 0xf0ce, 0xee95, 0xf0ce, 0xee95, 0xf0ce, 0xef4c, 0xf177, 0xef4c, 0xf177, 0xefec, -0xf202, 0xefec, 0xf202, 0xf0ea, 0xf2e5, 0xf0ea, 0xf2e5, 0xf25d, 0xf433, 0xf25d, 0xf433, -0xf309, 0xf4b1, 0xf309, 0xf4b1, 0xf4ba, 0xf629, 0xf4ba, 0xf629, 0xf4ba, 0xf629, 0xf5dc, -0xf708, 0xf5dc, 0xf708, 0xf889, 0xf968, 0xf889, 0xf968, 0xfaf0, 0xfb77, 0xfaf0, 0xfb77, -0xfd40, 0xfd67, 0xfd40, 0xfd67, 0xffe5, 0xffa4, 0xffe5, 0xffa4, 0xffe5, 0xffa4, 0x296, -0x1e7, 0x296, 0x1e7, 0x710, 0x5f1, 0x710, 0x5f1, 0xa23, 0x892, 0xa23, 0x892, -0xdec, 0xbeb, 0xdec, 0xbeb, 0x1165, 0xef8, 0x1165, 0xef8, 0x13f3, 0x1120, 0x13f3, -0x1120, 0x13f3, 0x1120, 0x1659, 0x132a, 0x1659, 0x132a, 0x1837, 0x14b6, 0x1837, 0x14b6, -0x1ad5, 0x1711, 0x1ad5, 0x1711, 0x1c3c, 0x1842, 0x1c3c, 0x1842, 0x1e0c, 0x19ec, 0x1e0c, -0x19ec, 0x200a, 0x1bd4, 0x200a, 0x1bd4, 0x200a, 0x1bd4, 0x20c2, 0x1c85, 0x20c2, 0x1c85, -0x21a0, 0x1d6d, 0x21a0, 0x1d6d, 0x209b, 0x1c7e, 0x209b, 0x1c7e, 0x20aa, 0x1cb1, 0x20aa, -0x1cb1, 0x1fb0, 0x1be6, 0x1fb0, 0x1be6, 0x1fb0, 0x1be6, 0x1e59, 0x1ac6, 0x1e59, 0x1ac6, -0x1dc8, 0x1a73, 0x1dc8, 0x1a73, 0x1ba6, 0x1893, 0x1ba6, 0x1893, 0x1b0a, 0x183b, 0x1b0a, -0x183b, 0x192d, 0x16a1, 0x192d, 0x16a1, 0x17a7, 0x155c, 0x17a7, 0x155c, 0x17a7, 0x155c, -0x160b, 0x13fc, 0x160b, 0x13fc, 0x14cc, 0x12f4, 0x14cc, 0x12f4, 0x1353, 0x11ab, 0x1353, -0x11ab, 0x10fd, 0xf7e, 0x10fd, 0xf7e, 0x1007, 0xeaa, 0x1007, 0xeaa, 0x1007, 0xeaa, -0xdc9, 0xc86, 0xdc9, 0xc86, 0xca8, 0xb7a, 0xca8, 0xb7a, 0xbb3, 0xa94, 0xbb3, -0xa94, 0xadb, 0x9c8, 0xadb, 0x9c8, 0xa3f, 0x934, 0xa3f, 0x934, 0x885, 0x782, -0x885, 0x782, 0x885, 0x782, 0x8a7, 0x7ac, 0x8a7, 0x7ac, 0x754, 0x662, 0x754, -0x662, 0x65d, 0x579, 0x65d, 0x579, 0x638, 0x564, 0x638, 0x564, 0x483, 0x3c4, -0x483, 0x3c4, 0x372, 0x2cd, 0x372, 0x2cd, 0x372, 0x2cd, 0x145, 0xc0, 0x145, -0xc0, 0xb, 0xffa9, 0xb, 0xffa9, 0xfd1a, 0xfcdf, 0xfd1a, 0xfcdf, 0xf9ef, 0xf9de, -0xf9ef, 0xf9de, 0xf800, 0xf81a, 0xf800, 0xf81a, 0xf800, 0xf81a, 0xf582, 0xf5c7, 0xf582, -0xf5c7, 0xf4cf, 0xf53d, 0xf4cf, 0xf53d, 0xf30a, 0xf39f, 0xf30a, 0xf39f, 0xf29d, 0xf354, -0xf29d, 0xf354, 0xf215, 0xf2e9, 0xf215, 0xf2e9, 0xf0e6, 0xf1d0, 0xf0e6, 0xf1d0, 0xf0e6, -0xf1d0, 0xf0cd, 0xf1c6, 0xf0cd, 0xf1c6, 0xf027, 0xf128, 0xf027, 0xf128, 0xf090, 0xf191, -0xf090, 0xf191, 0xf047, 0xf141, 0xf047, 0xf141, 0xf0f9, 0xf1e7, 0xf0f9, 0xf1e7, 0xf1d2, -0xf2b0, 0xf1d2, 0xf2b0, 0xf1d2, 0xf2b0, 0xf270, 0xf33a, 0xf270, 0xf33a, 0xf3fb, 0xf4b0, -0xf3fb, 0xf4b0, 0xf44b, 0xf4eb, 0xf44b, 0xf4eb, 0xf5f9, 0xf688, 0xf5f9, 0xf688, 0xf666, -0xf6e8, 0xf666, 0xf6e8, 0xf666, 0xf6e8, 0xf643, 0xf6be, 0xf643, 0xf6be, 0xf6aa, 0xf728, -0xf6aa, 0xf728, 0xf658, 0xf6e0, 0xf658, 0xf6e0, 0xf687, 0xf724, 0xf687, 0xf724, 0xf5c9, -0xf686, 0xf5c9, 0xf686, 0xf5fd, 0xf6e3, 0xf5fd, 0xf6e3, 0xf5fd, 0xf6e3, 0xf585, 0xf69e, -0xf585, 0xf69e, 0xf4e5, 0xf63a, 0xf4e5, 0xf63a, 0xf4fa, 0xf693, 0xf4fa, 0xf693, 0xf3c8, -0xf5a9, 0xf3c8, 0xf5a9, 0xf327, 0xf553, 0xf327, 0xf553, 0xf283, 0xf4fa, 0xf283, 0xf4fa, -0xf283, 0xf4fa, 0xf230, 0xf4f1, 0xf230, 0xf4f1, 0xf17e, 0xf483, 0xf17e, 0xf483, 0xf0a2, -0xf3e4, 0xf0a2, 0xf3e4, 0xefd0, 0xf345, 0xefd0, 0xf345, 0xee2c, 0xf1ca, 0xee2c, 0xf1ca, -0xee2c, 0xf1ca, 0xee3b, 0xf1f2, 0xee3b, 0xf1f2, 0xede4, 0xf1a7, 0xede4, 0xf1a7, 0xede9, -0xf1a7, 0xede9, 0xf1a7, 0xee5d, 0xf207, 0xee5d, 0xf207, 0xeeb8, 0xf23e, 0xeeb8, 0xf23e, -0xf080, 0xf3d5, 0xf080, 0xf3d5, 0xf080, 0xf3d5, 0xf1a4, 0xf4ba, 0xf1a4, 0xf4ba, 0xf3a9, -0xf673, 0xf3a9, 0xf673, 0xf5c9, 0xf83f, 0xf5c9, 0xf83f, 0xf7c8, 0xf9e2, 0xf7c8, 0xf9e2, -0xfaf7, 0xfcb1, 0xfaf7, 0xfcb1, 0xfe19, 0xff6f, 0xfe19, 0xff6f, 0xfe19, 0xff6f, 0x134, -0x228, 0x134, 0x228, 0x40a, 0x49d, 0x40a, 0x49d, 0x6ff, 0x735, 0x6ff, 0x735, -0x92e, 0x90e, 0x92e, 0x90e, 0xa7d, 0xa0d, 0xa7d, 0xa0d, 0xa7d, 0xa0d, 0xc40, -0xb89, 0xc40, 0xb89, 0xde8, 0xcf1, 0xde8, 0xcf1, 0xf8a, 0xe5d, 0xf8a, 0xe5d, -0x109f, 0xf43, 0x109f, 0xf43, 0x120f, 0x108c, 0x120f, 0x108c, 0x1350, 0x11ae, 0x1350, -0x11ae, 0x1350, 0x11ae, 0x1454, 0x1297, 0x1454, 0x1297, 0x157b, 0x13a8, 0x157b, 0x13a8, -0x15ab, 0x13c5, 0x15ab, 0x13c5, 0x15da, 0x13e3, 0x15da, 0x13e3, 0x1556, 0x134e, 0x1556, -0x134e, 0x14dd, 0x12c4, 0x14dd, 0x12c4, 0x14dd, 0x12c4, 0x14bf, 0x1294, 0x14bf, 0x1294, -0x141b, 0x11dd, 0x141b, 0x11dd, 0x1361, 0x110f, 0x1361, 0x110f, 0x12ae, 0x1047, 0x12ae, -0x1047, 0x124f, 0xfd3, 0x124f, 0xfd3, 0x124f, 0xfd3, 0x128d, 0xffd, 0x128d, 0xffd, -0x1269, 0xfc6, 0x1269, 0xfc6, 0x125b, 0xfa9, 0x125b, 0xfa9, 0x11d0, 0xf14, 0x11d0, -0xf14, 0x10ce, 0xe0e, 0x10ce, 0xe0e, 0xf7c, 0xcc0, 0xf7c, 0xcc0, 0xf7c, 0xcc0, -0xe47, 0xb98, 0xe47, 0xb98, 0xd00, 0xa68, 0xd00, 0xa68, 0xae0, 0x869, 0xae0, -0x869, 0x9a0, 0x755, 0x9a0, 0x755, 0x7b4, 0x5a1, 0x7b4, 0x5a1, 0x561, 0x38f, -0x561, 0x38f, 0x561, 0x38f, 0x279, 0xf3, 0x279, 0xf3, 0xff6b, 0xfe3a, 0xff6b, -0xfe3a, 0xfc65, 0xfb90, 0xfc65, 0xfb90, 0xf93b, 0xf8c8, 0xf93b, 0xf8c8, 0xf620, 0xf612, -0xf620, 0xf612, 0xf620, 0xf612, 0xf280, 0xf2d9, 0xf280, 0xf2d9, 0xef18, 0xefd8, 0xef18, -0xefd8, 0xec79, 0xed9d, 0xec79, 0xed9d, 0xe99e, 0xeb21, 0xe99e, 0xeb21, 0xe730, 0xe90d, -0xe730, 0xe90d, 0xe573, 0xe7a2, 0xe573, 0xe7a2, 0xe573, 0xe7a2, 0xe3b5, 0xe62d, 0xe3b5, -0xe62d, 0xe2ba, 0xe572, 0xe2ba, 0xe572, 0xe187, 0xe474, 0xe187, 0xe474, 0xe161, 0xe47a, -0xe161, 0xe47a, 0xe0b5, 0xe3f0, 0xe0b5, 0xe3f0, 0xe0cf, 0xe423, 0xe0cf, 0xe423, 0xe0cf, -0xe423, 0xe134, 0xe498, 0xe134, 0xe498, 0xe170, 0xe4de, 0xe170, 0xe4de, 0xe25f, 0xe5cf, -0xe25f, 0xe5cf, 0xe347, 0xe6b5, 0xe347, 0xe6b5, 0xe4d4, 0xe83c, 0xe4d4, 0xe83c, 0xe4d4, -0xe83c, 0xe5d9, 0xe938, 0xe5d9, 0xe938, 0xe788, 0xeadc, 0xe788, 0xeadc, 0xe95c, 0xeca4, -0xe95c, 0xeca4, 0xea68, 0xeda3, 0xea68, 0xeda3, 0xeb48, 0xee74, 0xeb48, 0xee74, 0xec83, -0xef9f, 0xec83, 0xef9f, 0xec83, 0xef9f, 0xedd5, 0xf0df, 0xedd5, 0xf0df, 0xeec0, 0xf1b5, -0xeec0, 0xf1b5, 0xef51, 0xf22e, 0xef51, 0xf22e, 0xf0a4, 0xf363, 0xf0a4, 0xf363, 0xf184, -0xf41f, 0xf184, 0xf41f, 0xf339, 0xf5a8, 0xf339, 0xf5a8, 0xf339, 0xf5a8, 0xf44c, 0xf687, -0xf44c, 0xf687, 0xf5d1, 0xf7ce, 0xf5d1, 0xf7ce, 0xf7d9, 0xf98d, 0xf7d9, 0xf98d, 0xf970, -0xfad1, 0xf970, 0xfad1, 0xfc5e, 0xfd62, 0xfc5e, 0xfd62, 0xfc5e, 0xfd62, 0xfe88, 0xff25, -0xfe88, 0xff25, 0x1bc, 0x1e8, 0x1bc, 0x1e8, 0x460, 0x413, 0x460, 0x413, 0x77a, -0x6ae, 0x77a, 0x6ae, 0xad7, 0x988, 0xad7, 0x988, 0xde4, 0xc0f, 0xde4, 0xc0f, -0xde4, 0xc0f, 0x1126, 0xecd, 0x1126, 0xecd, 0x145c, 0x1182, 0x145c, 0x1182, 0x1729, -0x13d5, 0x1729, 0x13d5, 0x1914, 0x154e, 0x1914, 0x154e, 0x1a98, 0x166c, 0x1a98, 0x166c, -0x1a98, 0x166c, 0x1beb, 0x1766, 0x1beb, 0x1766, 0x1ce1, 0x1813, 0x1ce1, 0x1813, 0x1e08, -0x1901, 0x1e08, 0x1901, 0x1f34, 0x1a07, 0x1f34, 0x1a07, 0x1ffa, 0x1ab8, 0x1ffa, 0x1ab8, -0x20a8, 0x1b62, 0x20a8, 0x1b62, 0x20a8, 0x1b62, 0x206c, 0x1b35, 0x206c, 0x1b35, 0x20d2, -0x1bb8, 0x20d2, 0x1bb8, 0x2000, 0x1b12, 0x2000, 0x1b12, 0x1fb1, 0x1afb, 0x1fb1, 0x1afb, -0x1edb, 0x1a68, 0x1edb, 0x1a68, 0x1d6c, 0x1943, 0x1d6c, 0x1943, 0x1d6c, 0x1943, 0x1bde, -0x1804, 0x1bde, 0x1804, 0x1a31, 0x16a8, 0x1a31, 0x16a8, 0x1803, 0x14cd, 0x1803, 0x14cd, -0x14ea, 0x1205, 0x14ea, 0x1205, 0x1261, 0xfc9, 0x1261, 0xfc9, 0x1261, 0xfc9, 0xf92, -0xd43, 0xf92, 0xd43, 0xd02, 0xaf5, 0xd02, 0xaf5, 0xa3f, 0x86e, 0xa3f, 0x86e, -0x81f, 0x683, 0x81f, 0x683, 0x5b7, 0x44a, 0x5b7, 0x44a, 0x3e3, 0x29e, 0x3e3, -0x29e, 0x3e3, 0x29e, 0x250, 0x130, 0x250, 0x130, 0x117, 0x18, 0x117, 0x18, -0xff7c, 0xfe9b, 0xff7c, 0xfe9b, 0xff0f, 0xfe4b, 0xff0f, 0xfe4b, 0xfe30, 0xfd8a, 0xfe30, -0xfd8a, 0xfdda, 0xfd52, 0xfdda, 0xfd52, 0xfdda, 0xfd52, 0xfe4b, 0xfde5, 0xfe4b, 0xfde5, -0xfdd6, 0xfd96, 0xfdd6, 0xfd96, 0xfd44, 0xfd2d, 0xfd44, 0xfd2d, 0xfc02, 0xfc17, 0xfc02, -0xfc17, 0xfbaf, 0xfbf4, 0xfbaf, 0xfbf4, 0xfbaf, 0xfbf4, 0xfa90, 0xfb09, 0xfa90, 0xfb09, -0xf9bd, 0xfa6b, 0xf9bd, 0xfa6b, 0xf84e, 0xf932, 0xf84e, 0xf932, 0xf761, 0xf87b, 0xf761, -0xf87b, 0xf5f7, 0xf745, 0xf5f7, 0xf745, 0xf5b9, 0xf736, 0xf5b9, 0xf736, 0xf5b9, 0xf736, -0xf54c, 0xf6f4, 0xf54c, 0xf6f4, 0xf46b, 0xf636, 0xf46b, 0xf636, 0xf3fd, 0xf5e3, 0xf3fd, -0xf5e3, 0xf398, 0xf590, 0xf398, 0xf590, 0xf380, 0xf580, 0xf380, 0xf580, 0xf350, 0xf54e, -0xf350, 0xf54e, 0xf350, 0xf54e, 0xf40e, 0xf601, 0xf40e, 0xf601, 0xf45e, 0xf63c, 0xf45e, -0xf63c, 0xf59d, 0xf75e, 0xf59d, 0xf75e, 0xf6ec, 0xf889, 0xf6ec, 0xf889, 0xf927, 0xfa9c, -0xf927, 0xfa9c, 0xf927, 0xfa9c, 0xfab9, 0xfc03, 0xfab9, 0xfc03, 0xfd08, 0xfe26, 0xfd08, -0xfe26, 0xfedc, 0xffcf, 0xfedc, 0xffcf, 0x49, 0x116, 0x49, 0x116, 0x16c, 0x218, -0x16c, 0x218, 0x264, 0x2f8, 0x264, 0x2f8, 0x264, 0x2f8, 0x2d4, 0x359, 0x2d4, -0x359, 0x364, 0x3e5, 0x364, 0x3e5, 0x3ca, 0x451, 0x3ca, 0x451, 0x36c, 0x405, -0x36c, 0x405, 0x357, 0x40e, 0x357, 0x40e, 0x21d, 0x2fc, 0x21d, 0x2fc, 0x21d, -0x2fc, 0x16c, 0x27d, 0x16c, 0x27d, 0xff04, 0x4d, 0xff04, 0x4d, 0xfd2e, 0xfeb6, -0xfd2e, 0xfeb6, 0xfab9, 0xfc83, 0xfab9, 0xfc83, 0xf869, 0xfa76, 0xf869, 0xfa76, 0xf869, -0xfa76, 0xf5e6, 0xf833, 0xf5e6, 0xf833, 0xf45a, 0xf6e2, 0xf45a, 0xf6e2, 0xf24d, 0xf50b, -0xf24d, 0xf50b, 0xf007, 0xf2f1, 0xf007, 0xf2f1, 0xee89, 0xf193, 0xee89, 0xf193, 0xecdb, -0xeffb, 0xecdb, 0xeffb, 0xecdb, 0xeffb, 0xec17, 0xef3e, 0xec17, 0xef3e, 0xeb32, 0xee53, -0xeb32, 0xee53, 0xeb27, 0xee34, 0xeb27, 0xee34, 0xeaef, 0xedda, 0xeaef, 0xedda, 0xebf6, -0xeeb3, 0xebf6, 0xeeb3, 0xecdd, 0xef60, 0xecdd, 0xef60, 0xecdd, 0xef60, 0xee50, 0xf08f, -0xee50, 0xf08f, 0xef3c, 0xf131, 0xef3c, 0xf131, 0xf1d8, 0xf37c, 0xf1d8, 0xf37c, 0xf410, -0xf560, 0xf410, 0xf560, 0xf6c3, 0xf7bd, 0xf6c3, 0xf7bd, 0xf6c3, 0xf7bd, 0xf9c5, 0xfa69, -0xf9c5, 0xfa69, 0xfc6a, 0xfcbb, 0xfc6a, 0xfcbb, 0xfeb6, 0xfeb9, 0xfeb6, 0xfeb9, 0x82, -0x3c, 0x82, 0x3c, 0x2f2, 0x268, 0x2f2, 0x268, 0x489, 0x3c2, 0x489, 0x3c2, -0x489, 0x3c2, 0x6f0, 0x5f3, 0x6f0, 0x5f3, 0x860, 0x733, 0x860, 0x733, 0xa49, -0x8f5, 0xa49, 0x8f5, 0xb34, 0x9bd, 0xb34, 0x9bd, 0xcd7, 0xb43, 0xcd7, 0xb43, -0xdb4, 0xc06, 0xdb4, 0xc06, 0xdb4, 0xc06, 0xe66, 0xca2, 0xe66, 0xca2, 0xf1a, -0xd43, 0xf1a, 0xd43, 0xff3, 0xe09, 0xff3, 0xe09, 0x1025, 0xe2a, 0x1025, 0xe2a, -0x105e, 0xe52, 0x105e, 0xe52, 0x105e, 0xe52, 0x1027, 0xe0b, 0x1027, 0xe0b, 0xf3d, -0xd10, 0xf3d, 0xd10, 0xf6d, 0xd2f, 0xf6d, 0xd2f, 0xf00, 0xcb3, 0xf00, 0xcb3, -0xec0, 0xc65, 0xec0, 0xc65, 0xe96, 0xc31, 0xe96, 0xc31, 0xe96, 0xc31, 0xf2f, -0xcc3, 0xf2f, 0xcc3, 0xe1a, 0xbaa, 0xe1a, 0xbaa, 0xe3f, 0xbd3, 0xe3f, 0xbd3, -0xd39, 0xad8, 0xd39, 0xad8, 0xc79, 0xa29, 0xc79, 0xa29, 0xacc, 0x897, 0xacc, -0x897, 0xacc, 0x897, 0x97c, 0x76a, 0x97c, 0x76a, 0x899, 0x6b3, 0x899, 0x6b3, -0x6a6, 0x4f5, 0x6a6, 0x4f5, 0x500, 0x38c, 0x500, 0x38c, 0x30a, 0x1db, 0x30a, -0x1db, 0x30a, 0x1db, 0x11e, 0x3a, 0x11e, 0x3a, 0xfe7b, 0xfde6, 0xfe7b, 0xfde6, -0xfd08, 0xfcc7, 0xfd08, 0xfcc7, 0xfae6, 0xfafb, 0xfae6, 0xfafb, 0xf92b, 0xf995, 0xf92b, -0xf995, 0xf684, 0xf742, 0xf684, 0xf742, 0xf684, 0xf742, 0xf4c0, 0xf5ce, 0xf4c0, 0xf5ce, -0xf266, 0xf3c0, 0xf266, 0xf3c0, 0xf0f3, 0xf294, 0xf0f3, 0xf294, 0xef02, 0xf0e2, 0xef02, -0xf0e2, 0xee75, 0xf08d, 0xee75, 0xf08d, 0xed9e, 0xefe5, 0xed9e, 0xefe5, 0xed9e, 0xefe5, -0xec8a, 0xeefa, 0xec8a, 0xeefa, 0xec14, 0xeea3, 0xec14, 0xeea3, 0xead7, 0xed7f, 0xead7, -0xed7f, 0xeab6, 0xed70, 0xeab6, 0xed70, 0xe957, 0xec1e, 0xe957, 0xec1e, 0xe957, 0xec1e, -0xe9a2, 0xec70, 0xe9a2, 0xec70, 0xe8fb, 0xebcd, 0xe8fb, 0xebcd, 0xea3f, 0xed13, 0xea3f, -0xed13, 0xea7f, 0xed54, 0xea7f, 0xed54, 0xebef, 0xeec2, 0xebef, 0xeec2, 0xecff, 0xefd1, -0xecff, 0xefd1, 0xecff, 0xefd1, 0xedfb, 0xf0cb, 0xedfb, 0xf0cb, 0xef74, 0xf242, 0xef74, -0xf242, 0xf023, 0xf2ee, 0xf023, 0xf2ee, 0xf125, 0xf3ec, 0xf125, 0xf3ec, 0xf14a, 0xf40b, -0xf14a, 0xf40b, 0xf14a, 0xf40b, 0xf21d, 0xf4d4, 0xf21d, 0xf4d4, 0xf254, 0xf4fd, 0xf254, -0xf4fd, 0xf35b, 0xf5f0, 0xf35b, 0xf5f0, 0xf3e8, 0xf663, 0xf3e8, 0xf663, 0xf51c, 0xf772, -0xf51c, 0xf772, 0xf531, 0xf75a, 0xf531, 0xf75a, 0xf531, 0xf75a, 0xf684, 0xf874, 0xf684, -0xf874, 0xf7a3, 0xf950, 0xf7a3, 0xf950, 0xf835, 0xf993, 0xf835, 0xf993, 0xf91e, 0xfa21, -0xf91e, 0xfa21, 0xfc73, 0xfd0f, 0xfc73, 0xfd0f, 0xfe84, 0xfeb2, 0xfe84, 0xfeb2, 0xfe84, -0xfeb2, 0xfff7, 0xffac, 0xfff7, 0xffac, 0x39d, 0x2d4, 0x39d, 0x2d4, 0x69b, 0x550, -0x69b, 0x550, 0xb5b, 0x98b, 0xb5b, 0x98b, 0xe0a, 0xbb6, 0xe0a, 0xbb6, 0xe0a, -0xbb6, 0x10c5, 0xdf2, 0x10c5, 0xdf2, 0x14de, 0x1192, 0x14de, 0x1192, 0x16cf, 0x1313, -0x16cf, 0x1313, 0x1916, 0x14f6, 0x1916, 0x14f6, 0x1cb0, 0x1839, 0x1cb0, 0x1839, 0x1db6, -0x18f9, 0x1db6, 0x18f9, 0x1db6, 0x18f9, 0x1f3f, 0x1a4c, 0x1f3f, 0x1a4c, 0x21a8, 0x1c91, -0x21a8, 0x1c91, 0x22f9, 0x1dd1, 0x22f9, 0x1dd1, 0x2268, 0x1d40, 0x2268, 0x1d40, 0x23bc, -0x1ea6, 0x23bc, 0x1ea6, 0x21c4, 0x1cd0, 0x21c4, 0x1cd0, 0x21c4, 0x1cd0, 0x2149, 0x1c85, -0x2149, 0x1c85, 0x2100, 0x1c79, 0x2100, 0x1c79, 0x1f01, 0x1ac1, 0x1f01, 0x1ac1, 0x1f76, -0x1b84, 0x1f76, 0x1b84, 0x1c98, 0x18f9, 0x1c98, 0x18f9, 0x1c98, 0x18f9, 0x1cc9, 0x1980, -0x1cc9, 0x1980, 0x19c6, 0x16d3, 0x19c6, 0x16d3, 0x174b, 0x14ac, 0x174b, 0x14ac, 0x1543, -0x12f4, 0x1543, 0x12f4, 0x1360, 0x115b, 0x1360, 0x115b, 0x10f9, 0xf38, 0x10f9, 0xf38, -0x10f9, 0xf38, 0xeaf, 0xd2a, 0xeaf, 0xd2a, 0xcf4, 0xba4, 0xcf4, 0xba4, 0xaa0, -0x97d, 0xaa0, 0x97d, 0xa41, 0x945, 0xa41, 0x945, 0x843, 0x768, 0x843, 0x768, -0x6e4, 0x626, 0x6e4, 0x626, 0x6e4, 0x626, 0x5e4, 0x53e, 0x5e4, 0x53e, 0x562, -0x4d2, 0x562, 0x4d2, 0x41c, 0x3a3, 0x41c, 0x3a3, 0x37f, 0x31d, 0x37f, 0x31d, -0x25e, 0x215, 0x25e, 0x215, 0x25e, 0x215, 0x298, 0x26b, 0x298, 0x26b, 0xa4, -0x98, 0xa4, 0x98, 0xffb2, 0xffca, 0xffb2, 0xffca, 0xff05, 0xff47, 0xff05, 0xff47, -0xfd72, 0xfde1, 0xfd72, 0xfde1, 0xfcfc, 0xfd9c, 0xfcfc, 0xfd9c, 0xfcfc, 0xfd9c, 0xf9ae, -0xfa81, 0xf9ae, 0xfa81, 0xf6f7, 0xf7ff, 0xf6f7, 0xf7ff, 0xf847, 0xf984, 0xf847, 0xf984, -0xf820, 0xf992, 0xf820, 0xf992, 0xf546, 0xf6e8, 0xf546, 0xf6e8, 0xf591, 0xf760, 0xf591, -0xf760, 0xf591, 0xf760, 0xf53d, 0xf733, 0xf53d, 0xf733, 0xf561, 0xf777, 0xf561, 0xf777, -0xf50c, 0xf73a, 0xf50c, 0xf73a, 0xf508, 0xf746, 0xf508, 0xf746, 0xf2f2, 0xf537, 0xf2f2, -0xf537, 0xf2f2, 0xf537, 0xf36f, 0xf5b3, 0xf36f, 0xf5b3, 0xf35e, 0xf599, 0xf35e, 0xf599, -0xf507, 0xf731, 0xf507, 0xf731, 0xf76d, 0xf981, 0xf76d, 0xf981, 0xf5ed, 0xf7e6, 0xf5ed, -0xf7e6, 0xf97f, 0xfb5b, 0xf97f, 0xfb5b, 0xf97f, 0xfb5b, 0xfa3b, 0xfbf8, 0xfa3b, 0xfbf8, -0xfaca, 0xfc6a, 0xfaca, 0xfc6a, 0xfb8b, 0xfd11, 0xfb8b, 0xfd11, 0xfac2, 0xfc31, 0xfac2, -0xfc31, 0xfb15, 0xfc74, 0xfb15, 0xfc74, 0xfb2d, 0xfc82, 0xfb2d, 0xfc82, 0xfb2d, 0xfc82, -0xfc1a, 0xfd6d, 0xfc1a, 0xfd6d, 0xfcb8, 0xfe12, 0xfcb8, 0xfe12, 0xfc58, 0xfdc1, 0xfc58, -0xfdc1, 0xfc55, 0xfdd5, 0xfc55, 0xfdd5, 0xf9fc, 0xfb99, 0xf9fc, 0xfb99, 0xf9fc, 0xfb99, -0xfa72, 0xfc34, 0xfa72, 0xfc34, 0xf9bc, 0xfba6, 0xf9bc, 0xfba6, 0xf721, 0xf936, 0xf721, -0xf936, 0xf583, 0xf7c4, 0xf583, 0xf7c4, 0xf46c, 0xf6d6, 0xf46c, 0xf6d6, 0xf4b3, 0xf743, -0xf4b3, 0xf743, 0xf4b3, 0xf743, 0xf257, 0xf507, 0xf257, 0xf507, 0xf18c, 0xf454, 0xf18c, -0xf454, 0xf014, 0xf2eb, 0xf014, 0xf2eb, 0xf011, 0xf2ec, 0xf011, 0xf2ec, 0xef31, 0xf203, -0xef31, 0xf203, 0xeda2, 0xf05f, 0xeda2, 0xf05f, 0xeda2, 0xf05f, 0xedd4, 0xf06f, 0xedd4, -0xf06f, 0xeeb2, 0xf11f, 0xeeb2, 0xf11f, 0xf041, 0xf274, 0xf041, 0xf274, 0xf1f8, 0xf3e7, -0xf1f8, 0xf3e7, 0xf231, 0xf3d3, 0xf231, 0xf3d3, 0xf231, 0xf3d3, 0xf4c1, 0xf60d, 0xf4c1, -0xf60d, 0xf64e, 0xf740, 0xf64e, 0xf740, 0xf8cf, 0xf963, 0xf8cf, 0xf963, 0xfcfd, 0xfd32, -0xfcfd, 0xfd32, 0xfde2, 0xfdb9, 0xfde2, 0xfdb9, 0x238, 0x1b4, 0x238, 0x1b4, 0x238, -0x1b4, 0x296, 0x1bb, 0x296, 0x1bb, 0x594, 0x467, 0x594, 0x467, 0x851, 0x6db, -0x851, 0x6db, 0xa07, 0x84e, 0xa07, 0x84e, 0xc46, 0xa54, 0xc46, 0xa54, 0xd47, -0xb24, 0xd47, 0xb24, 0xd47, 0xb24, 0x1056, 0xe0b, 0x1056, 0xe0b, 0x10ae, 0xe43, -0x10ae, 0xe43, 0x1186, 0xf03, 0x1186, 0xf03, 0x128e, 0xffa, 0x128e, 0xffa, 0x1254, -0xfb3, 0x1254, 0xfb3, 0x1254, 0xfb3, 0x129a, 0xff3, 0x129a, 0xff3, 0x12a0, 0xff5, -0x12a0, 0xff5, 0x1315, 0x1069, 0x1315, 0x1069, 0x1316, 0x106c, 0x1316, 0x106c, 0x1179, -0xed3, 0x1179, 0xed3, 0x122d, 0xf8b, 0x122d, 0xf8b, 0x122d, 0xf8b, 0x1103, 0xe66, -0x1103, 0xe66, 0x1236, 0xfa0, 0x1236, 0xfa0, 0x11f7, 0xf6a, 0x11f7, 0xf6a, 0x1167, -0xee3, 0x1167, 0xee3, 0x124d, 0xfd5, 0x124d, 0xfd5, 0x1271, 0x1009, 0x1271, 0x1009, -0x1271, 0x1009, 0x123b, 0xfe7, 0x123b, 0xfe7, 0x102b, 0xdee, 0x102b, 0xdee, 0x105b, -0xe3c, 0x105b, 0xe3c, 0xe57, 0xc5c, 0xe57, 0xc5c, 0xde5, 0xc13, 0xde5, 0xc13, -0xde5, 0xc13, 0xc9c, 0xafc, 0xc9c, 0xafc, 0xa4f, 0x8e6, 0xa4f, 0x8e6, 0x881, -0x755, 0x881, 0x755, 0x558, 0x46f, 0x558, 0x46f, 0x244, 0x1a3, 0x244, 0x1a3, -0xff24, 0xfecf, 0xff24, 0xfecf, 0xff24, 0xfecf, 0xfb34, 0xfb2c, 0xfb34, 0xfb2c, 0xf844, -0xf88c, 0xf844, 0xf88c, 0xf511, 0xf5a8, 0xf511, 0xf5a8, 0xf26f, 0xf353, 0xf26f, 0xf353, -0xef91, 0xf0c0, 0xef91, 0xf0c0, 0xef91, 0xf0c0, 0xec3c, 0xedb0, 0xec3c, 0xedb0, 0xeb6a, -0xed1e, 0xeb6a, 0xed1e, 0xe9e1, 0xebce, 0xe9e1, 0xebce, 0xe883, 0xeaa2, 0xe883, 0xeaa2, -0xe6a2, 0xe8eb, 0xe6a2, 0xe8eb, 0xe5e4, 0xe84f, 0xe5e4, 0xe84f, 0xe5e4, 0xe84f, 0xe4e8, -0xe76d, 0xe4e8, 0xe76d, 0xe457, 0xe6ef, 0xe457, 0xe6ef, 0xe43d, 0xe6e1, 0xe43d, 0xe6e1, -0xe4ad, 0xe757, 0xe4ad, 0xe757, 0xe44e, 0xe6f9, 0xe44e, 0xe6f9, 0xe4d9, 0xe781, 0xe4d9, -0xe781, 0xe4d9, 0xe781, 0xe5b1, 0xe854, 0xe5b1, 0xe854, 0xe747, 0xe9e2, 0xe747, 0xe9e2, -0xe9a0, 0xec33, 0xe9a0, 0xec33, 0xe958, 0xebe3, 0xe958, 0xebe3, 0xeae0, 0xed63, 0xeae0, -0xed63, 0xeae0, 0xed63, 0xec67, 0xeee3, 0xec67, 0xeee3, 0xedeb, 0xf060, 0xedeb, 0xf060, -0xee13, 0xf080, 0xee13, 0xf080, 0xee7d, 0xf0e4, 0xee7d, 0xf0e4, 0xef0f, 0xf16d, 0xef0f, -0xf16d, 0xef7c, 0xf1ce, 0xef7c, 0xf1ce, 0xef7c, 0xf1ce, 0xefd2, 0xf215, 0xefd2, 0xf215, -0xf0c5, 0xf2f5, 0xf0c5, 0xf2f5, 0xf1aa, 0xf3bf, 0xf1aa, 0xf3bf, 0xf22b, 0xf41d, 0xf22b, -0xf41d, 0xf35d, 0xf525, 0xf35d, 0xf525, 0xf4d2, 0xf665, 0xf4d2, 0xf665, 0xf4d2, 0xf665, -0xf64d, 0xf7a1, 0xf64d, 0xf7a1, 0xf84a, 0xf955, 0xf84a, 0xf955, 0xfa90, 0xfb48, 0xfa90, -0xfb48, 0xfc9b, 0xfcf6, 0xfc9b, 0xfcf6, 0xffa9, 0xff9e, 0xffa9, 0xff9e, 0xffa9, 0xff9e, -0x1ab, 0x133, 0x1ab, 0x133, 0x5c1, 0x4d6, 0x5c1, 0x4d6, 0x939, 0x7d9, 0x939, -0x7d9, 0xc48, 0xa71, 0xc48, 0xa71, 0xecd, 0xc82, 0xecd, 0xc82, 0x1229, 0xf6c, -0x1229, 0xf6c, 0x1229, 0xf6c, 0x155d, 0x1238, 0x155d, 0x1238, 0x1832, 0x14ac, 0x1832, -0x14ac, 0x1b09, 0x172e, 0x1b09, 0x172e, 0x1bc8, 0x17a6, 0x1bc8, 0x17a6, 0x1cd1, 0x1877, -0x1cd1, 0x1877, 0x1e6d, 0x19eb, 0x1e6d, 0x19eb, 0x1e6d, 0x19eb, 0x2083, 0x1beb, 0x2083, -0x1beb, 0x210d, 0x1c6f, 0x210d, 0x1c6f, 0x2230, 0x1d9e, 0x2230, 0x1d9e, 0x21d7, 0x1d5f, -0x21d7, 0x1d5f, 0x21d4, 0x1d85, 0x21d4, 0x1d85, 0x21d4, 0x1d85, 0x20ae, 0x1c94, 0x20ae, -0x1c94, 0x1f66, 0x1b8b, 0x1f66, 0x1b8b, 0x1de6, 0x1a52, 0x1de6, 0x1a52, 0x1c40, 0x18fa, -0x1c40, 0x18fa, 0x1b41, 0x1849, 0x1b41, 0x1849, 0x193f, 0x1697, 0x193f, 0x1697, 0x193f, -0x1697, 0x172d, 0x14d2, 0x172d, 0x14d2, 0x13d0, 0x11bf, 0x13d0, 0x11bf, 0x11c8, 0xffa, -0x11c8, 0xffa, 0xf78, 0xde6, 0xf78, 0xde6, 0xd83, 0xc26, 0xd83, 0xc26, 0xafa, -0x9c8, 0xafa, 0x9c8, 0xafa, 0x9c8, 0x949, 0x83a, 0x949, 0x83a, 0x873, 0x780, -0x873, 0x780, 0x719, 0x63a, 0x719, 0x63a, 0x67c, 0x5ac, 0x67c, 0x5ac, 0x55e, -0x498, 0x55e, 0x498, 0x55e, 0x498, 0x501, 0x443, 0x501, 0x443, 0x5ac, 0x4f6, -0x5ac, 0x4f6, 0x4f2, 0x444, 0x4f2, 0x444, 0x505, 0x461, 0x505, 0x461, 0x510, -0x47b, 0x510, 0x47b, 0x4a8, 0x428, 0x4a8, 0x428, 0x4a8, 0x428, 0x331, 0x2cc, -0x331, 0x2cc, 0x171, 0x12c, 0x171, 0x12c, 0x12e, 0x111, 0x12e, 0x111, 0xff9f, -0xffb0, 0xff9f, 0xffb0, 0xfe38, 0xfe7e, 0xfe38, 0xfe7e, 0xfc50, 0xfccd, 0xfc50, 0xfccd, -0xfc50, 0xfccd, 0xfc6f, 0xfd28, 0xfc6f, 0xfd28, 0xfba0, 0xfc97, 0xfba0, 0xfc97, 0xfa58, -0xfb8c, 0xfa58, 0xfb8c, 0xf916, 0xfa86, 0xf916, 0xfa86, 0xf85e, 0xfa06, 0xf85e, 0xfa06, -0xf85e, 0xfa06, 0xf818, 0xf9f3, 0xf818, 0xf9f3, 0xf668, 0xf86f, 0xf668, 0xf86f, 0xf5a5, -0xf7d2, 0xf5a5, 0xf7d2, 0xf4cf, 0xf718, 0xf4cf, 0xf718, 0xf4fe, 0xf75b, 0xf4fe, 0xf75b, -0xf54f, 0xf7b6, 0xf54f, 0xf7b6, 0xf54f, 0xf7b6, 0xf766, 0xf9d0, 0xf766, 0xf9d0, 0xf8de, -0xfb42, 0xf8de, 0xfb42, 0xf8aa, 0xfb02, 0xf8aa, 0xfb02, 0xf97b, 0xfbc1, 0xf97b, 0xfbc1, -0xfb92, 0xfdc4, 0xfb92, 0xfdc4, 0xfc65, 0xfe80, 0xfc65, 0xfe80, 0xfc65, 0xfe80, 0xfb9b, -0xfda0, 0xfb9b, 0xfda0, 0xfb32, 0xfd22, 0xfb32, 0xfd22, 0xfc4e, 0xfe2d, 0xfc4e, 0xfe2d, -0xfcd0, 0xfea3, 0xfcd0, 0xfea3, 0xfbdc, 0xfda8, 0xfbdc, 0xfda8, 0xfbdc, 0xfda8, 0xfbe1, -0xfdae, 0xfbe1, 0xfdae, 0xfb37, 0xfd0c, 0xfb37, 0xfd0c, 0xf977, 0xfb5b, 0xf977, 0xfb5b, -0xf7dd, 0xf9d7, 0xf7dd, 0xf9d7, 0xf6e0, 0xf8f7, 0xf6e0, 0xf8f7, 0xf60b, 0xf843, 0xf60b, -0xf843, 0xf60b, 0xf843, 0xf3d3, 0xf62f, 0xf3d3, 0xf62f, 0xf0cd, 0xf34e, 0xf0cd, 0xf34e, -0xf050, 0xf2f7, 0xf050, 0xf2f7, 0xefc6, 0xf290, 0xefc6, 0xf290, 0xee85, 0xf16c, 0xee85, -0xf16c, 0xecc3, 0xefc1, 0xecc3, 0xefc1, 0xecc3, 0xefc1, 0xec71, 0xef7e, 0xec71, 0xef7e, -0xec29, 0xef3b, 0xec29, 0xef3b, 0xea82, 0xed8c, 0xea82, 0xed8c, 0xeaa4, 0xed9b, 0xeaa4, -0xed9b, 0xea0d, 0xece3, 0xea0d, 0xece3, 0xea0d, 0xece3, 0xe95b, 0xec06, 0xe95b, 0xec06, -0xea90, 0xed01, 0xea90, 0xed01, 0xeccc, 0xeef9, 0xeccc, 0xeef9, 0xee30, 0xf00e, 0xee30, -0xf00e, 0xeeb7, 0xf03d, 0xeeb7, 0xf03d, 0xf0a7, 0xf1cf, 0xf0a7, 0xf1cf, 0xf0a7, 0xf1cf, -0xf50b, 0xf5d1, 0xf50b, 0xf5d1, 0xf734, 0xf794, 0xf734, 0xf794, 0xf9ab, 0xf9a5, 0xf9ab, -0xf9a5, 0xfdb5, 0xfd4a, 0xfdb5, 0xfd4a, 0xdc, 0x10, 0xdc, 0x10, 0x309, 0x1e0, -0x309, 0x1e0, 0x309, 0x1e0, 0x4e1, 0x362, 0x4e1, 0x362, 0x7f0, 0x622, 0x7f0, -0x622, 0x94c, 0x737, 0x94c, 0x737, 0xae1, 0x890, 0xae1, 0x890, 0xccf, 0xa49, -0xccf, 0xa49, 0xccf, 0xa49, 0xe47, 0xb96, 0xe47, 0xb96, 0xee3, 0xc10, 0xee3, -0xc10, 0x1031, 0xd43, 0x1031, 0xd43, 0x1241, 0xf40, 0x1241, 0xf40, 0x126e, 0xf5f, -0x126e, 0xf5f, 0x12b0, 0xf9a, 0x12b0, 0xf9a, 0x12b0, 0xf9a, 0x1282, 0xf6a, 0x1282, -0xf6a, 0x13bf, 0x10a8, 0x13bf, 0x10a8, 0x13f4, 0x10e1, 0x13f4, 0x10e1, 0x1229, 0xf1d, -0x1229, 0xf1d, 0x13b4, 0x10b1, 0x13b4, 0x10b1, 0x13b4, 0x10b1, 0x14ad, 0x11b6, 0x14ad, -0x11b6, 0x1509, 0x1221, 0x1509, 0x1221, 0x14ee, 0x1217, 0x14ee, 0x1217, 0x14d4, 0x1213, -0x14d4, 0x1213, 0x15f4, 0x134c, 0x15f4, 0x134c, 0x13b8, 0x112d, 0x13b8, 0x112d, 0x13b8, -0x112d, 0x122a, 0xfc0, 0x122a, 0xfc0, 0x11f8, 0xfb7, 0x11f8, 0xfb7, 0xfed, 0xdd9, -0xfed, 0xdd9, 0xed0, 0xcf0, 0xed0, 0xcf0, 0xdfe, 0xc58, 0xdfe, 0xc58, 0xcc0, -0xb5b, 0xcc0, 0xb5b, 0xcc0, 0xb5b, 0xb1c, 0x9fe, 0xb1c, 0x9fe, 0x7af, 0x6de, -0x7af, 0x6de, 0x619, 0x598, 0x619, 0x598, 0x3f2, 0x3c6, 0x3f2, 0x3c6, 0xffa0, -0xffcb, 0xffa0, 0xffcb, 0xffa0, 0xffcb, 0xfbbb, 0xfc3c, 0xfbbb, 0xfc3c, 0xf977, 0xfa50, -0xf977, 0xfa50, 0xf766, 0xf893, 0xf766, 0xf893, 0xf33b, 0xf4b8, 0xf33b, 0xf4b8, 0xf107, -0xf2d0, 0xf107, 0xf2d0, 0xee17, 0xf025, 0xee17, 0xf025, 0xee17, 0xf025, 0xead5, 0xed21, -0xead5, 0xed21, 0xe86a, 0xeaeb, 0xe86a, 0xeaeb, 0xe759, 0xea07, 0xe759, 0xea07, 0xe6d1, -0xe9a3, 0xe6d1, 0xe9a3, 0xe422, 0xe70e, 0xe422, 0xe70e, 0xe32a, 0xe629, 0xe32a, 0xe629, -0xe32a, 0xe629, 0xe369, 0xe672, 0xe369, 0xe672, 0xe41d, 0xe729, 0xe41d, 0xe729, 0xe31a, -0xe623, 0xe31a, 0xe623, 0xe313, 0xe613, 0xe313, 0xe613, 0xe529, 0xe81c, 0xe529, 0xe81c, -0xe529, 0xe81c, 0xe651, 0xe935, 0xe651, 0xe935, 0xe762, 0xea34, 0xe762, 0xea34, 0xe874, -0xeb33, 0xe874, 0xeb33, 0xe9bd, 0xec6a, 0xe9bd, 0xec6a, 0xe9dc, 0xec75, 0xe9dc, 0xec75, -0xeab9, 0xed3f, 0xeab9, 0xed3f, 0xeab9, 0xed3f, 0xec2e, 0xeea0, 0xec2e, 0xeea0, 0xecf8, -0xef56, 0xecf8, 0xef56, 0xec94, 0xeedd, 0xec94, 0xeedd, 0xed4d, 0xef7e, 0xed4d, 0xef7e, -0xee8d, 0xf0a4, 0xee8d, 0xf0a4, 0xee4d, 0xf045, 0xee4d, 0xf045, 0xee4d, 0xf045, 0xeea9, -0xf07d, 0xeea9, 0xf07d, 0xef0a, 0xf0b3, 0xef0a, 0xf0b3, 0xf0f8, 0xf26e, 0xf0f8, 0xf26e, -0xf255, 0xf391, 0xf255, 0xf391, 0xf388, 0xf480, 0xf388, 0xf480, 0xf388, 0xf480, 0xf54a, -0xf5f5, 0xf54a, 0xf5f5, 0xf7b4, 0xf809, 0xf7b4, 0xf809, 0xf9dd, 0xf9d3, 0xf9dd, 0xf9d3, -0xfc8d, 0xfc1d, 0xfc8d, 0xfc1d, 0x134, 0x58, 0x134, 0x58, 0x45d, 0x310, 0x45d, -0x310, 0x45d, 0x310, 0x78a, 0x5c9, 0x78a, 0x5c9, 0xb1d, 0x8e9, 0xb1d, 0x8e9, -0xf1b, 0xc75, 0xf1b, 0xc75, 0x11a9, 0xe95, 0x11a9, 0xe95, 0x145c, 0x10e3, 0x145c, -0x10e3, 0x1785, 0x13ae, 0x1785, 0x13ae, 0x1785, 0x13ae, 0x1a09, 0x15e1, 0x1a09, 0x15e1, -0x1c60, 0x17f5, 0x1c60, 0x17f5, 0x1e3e, 0x199e, 0x1e3e, 0x199e, 0x20ba, 0x1bf7, 0x20ba, -0x1bf7, 0x21c6, 0x1cf1, 0x21c6, 0x1cf1, 0x21c6, 0x1cf1, 0x221b, 0x1d43, 0x221b, 0x1d43, -0x22be, 0x1df6, 0x22be, 0x1df6, 0x23b2, 0x1f09, 0x23b2, 0x1f09, 0x22e9, 0x1e6e, 0x22e9, -0x1e6e, 0x20da, 0x1c9b, 0x20da, 0x1c9b, 0x2040, 0x1c47, 0x2040, 0x1c47, 0x2040, 0x1c47, -0x2059, 0x1cae, 0x2059, 0x1cae, 0x1f04, 0x1baf, 0x1f04, 0x1baf, 0x1d1a, 0x1a1f, 0x1d1a, -0x1a1f, 0x1bb6, 0x1915, 0x1bb6, 0x1915, 0x1961, 0x1719, 0x1961, 0x1719, 0x173f, 0x154e, -0x173f, 0x154e, 0x173f, 0x154e, 0x1492, 0x12f3, 0x1492, 0x12f3, 0x129f, 0x114b, 0x129f, -0x114b, 0x1002, 0xef0, 0x1002, 0xef0, 0xc0a, 0xb33, 0xc0a, 0xb33, 0xad3, 0xa2e, -0xad3, 0xa2e, 0xad3, 0xa2e, 0x9ff, 0x984, 0x9ff, 0x984, 0x8c6, 0x86b, 0x8c6, -0x86b, 0x6e8, 0x6a7, 0x6e8, 0x6a7, 0x5cb, 0x59d, 0x5cb, 0x59d, 0x57d, 0x55e, -0x57d, 0x55e, 0x528, 0x515, 0x528, 0x515, 0x528, 0x515, 0x4b4, 0x4aa, 0x4b4, -0x4aa, 0x4b0, 0x4af, 0x4b0, 0x4af, 0x457, 0x45e, 0x457, 0x45e, 0x2b4, 0x2c6, -0x2b4, 0x2c6, 0x353, 0x371, 0x353, 0x371, 0x1b5, 0x1e3, 0x1b5, 0x1e3, 0x1b5, -0x1e3, 0xff6d, 0xffae, 0xff6d, 0xffae, 0xfd05, 0xfd5d, 0xfd05, 0xfd5d, 0xfad9, 0xfb4a, -0xfad9, 0xfb4a, 0xfa55, 0xfae1, 0xfa55, 0xfae1, 0xf941, 0xf9ea, 0xf941, 0xf9ea, 0xf941, -0xf9ea, 0xf882, 0xf948, 0xf882, 0xf948, 0xf773, 0xf856, 0xf773, 0xf856, 0xf6b8, 0xf7b5, -0xf6b8, 0xf7b5, 0xf5fb, 0xf710, 0xf5fb, 0xf710, 0xf5ae, 0xf6d8, 0xf5ae, 0xf6d8, 0xf449, -0xf582, 0xf449, 0xf582, 0xf449, 0xf582, 0xf442, 0xf586, 0xf442, 0xf586, 0xf449, 0xf594, -0xf449, 0xf594, 0xf48a, 0xf5d6, 0xf48a, 0xf5d6, 0xf54c, 0xf693, 0xf54c, 0xf693, 0xf604, -0xf742, 0xf604, 0xf742, 0xf856, 0xf989, 0xf856, 0xf989, 0xf856, 0xf989, 0xf99c, 0xfac1, -0xf99c, 0xfac1, 0xfa27, 0xfb3d, 0xfa27, 0xfb3d, 0xfa3a, 0xfb42, 0xfa3a, 0xfb42, 0xfbca, -0xfcc6, 0xfbca, 0xfcc6, 0xfc8d, 0xfd80, 0xfc8d, 0xfd80, 0xfc8d, 0xfd80, 0xfc25, 0xfd13, -0xfc25, 0xfd13, 0xfc4c, 0xfd3c, 0xfc4c, 0xfd3c, 0xfcb6, 0xfdaf, 0xfcb6, 0xfdaf, 0xfc93, -0xfd9b, 0xfc93, 0xfd9b, 0xfbe5, 0xfd04, 0xfbe5, 0xfd04, 0xfb99, 0xfcd6, 0xfb99, 0xfcd6, -0xfb99, 0xfcd6, 0xfaea, 0xfc4c, 0xfaea, 0xfc4c, 0xf9a8, 0xfb35, 0xf9a8, 0xfb35, 0xf804, -0xf9c0, 0xf804, 0xf9c0, 0xf684, 0xf872, 0xf684, 0xf872, 0xf55c, 0xf77d, 0xf55c, 0xf77d, -0xf42d, 0xf680, 0xf42d, 0xf680, 0xf42d, 0xf680, 0xf2f4, 0xf576, 0xf2f4, 0xf576, 0xf25f, -0xf50c, 0xf25f, 0xf50c, 0xf0ee, 0xf3bf, 0xf0ee, 0xf3bf, 0xef42, 0xf22e, 0xef42, 0xf22e, -0xeeb6, 0xf1b4, 0xeeb6, 0xf1b4, 0xeeb6, 0xf1b4, 0xee75, 0xf178, 0xee75, 0xf178, 0xed0f, -0xf00c, 0xed0f, 0xf00c, 0xebb9, 0xeea3, 0xebb9, 0xeea3, 0xebb5, 0xee7f, 0xebb5, 0xee7f, -0xec0b, 0xeea9, 0xec0b, 0xeea9, 0xecfb, 0xef63, 0xecfb, 0xef63, 0xecfb, 0xef63, 0xee10, -0xf036, 0xee10, 0xf036, 0xef39, 0xf115, 0xef39, 0xf115, 0xf17d, 0xf307, 0xf17d, 0xf307, -0xf3f9, 0xf52d, 0xf3f9, 0xf52d, 0xf779, 0xf853, 0xf779, 0xf853, 0xf779, 0xf853, 0xfaaa, -0xfb29, 0xfaaa, 0xfb29, 0xfcec, 0xfd11, 0xfcec, 0xfd11, 0xffac, 0xff79, 0xffac, 0xff79, -0x14c, 0xc6, 0x14c, 0xc6, 0x48c, 0x3b9, 0x48c, 0x3b9, 0x767, 0x64d, 0x767, -0x64d, 0x767, 0x64d, 0x8d7, 0x77d, 0x8d7, 0x77d, 0xaf7, 0x966, 0xaf7, 0x966, -0xc32, 0xa71, 0xc32, 0xa71, 0xe85, 0xc9d, 0xe85, 0xc9d, 0x10a0, 0xe98, 0x10a0, -0xe98, 0x1098, 0xe75, 0x1098, 0xe75, 0x1098, 0xe75, 0x11a6, 0xf70, 0x11a6, 0xf70, -0x12b2, 0x106d, 0x12b2, 0x106d, 0x147d, 0x122e, 0x147d, 0x122e, 0x14d2, 0x127b, 0x14d2, -0x127b, 0x12d8, 0x107c, 0x12d8, 0x107c, 0x12d8, 0x107c, 0x1329, 0x10ca, 0x1329, 0x10ca, -0x1300, 0x109e, 0x1300, 0x109e, 0x137b, 0x1118, 0x137b, 0x1118, 0x1314, 0x10b2, 0x1314, -0x10b2, 0x1207, 0xfa7, 0x1207, 0xfa7, 0x11f4, 0xf96, 0x11f4, 0xf96, 0x11f4, 0xf96, -0x1208, 0xfb0, 0x1208, 0xfb0, 0x1116, 0xec5, 0x1116, 0xec5, 0xf6f, 0xd2b, 0xf6f, -0xd2b, 0xf1c, 0xce8, 0xf1c, 0xce8, 0xeed, 0xccf, 0xeed, 0xccf, 0xf04, 0xd01, -0xf04, 0xd01, 0xf04, 0xd01, 0xdcb, 0xbeb, 0xdcb, 0xbeb, 0xc7e, 0xac7, 0xc7e, -0xac7, 0xa65, 0x8e0, 0xa65, 0x8e0, 0x838, 0x6ea, 0x838, 0x6ea, 0x785, 0x676, -0x785, 0x676, 0x785, 0x676, 0x509, 0x43e, 0x509, 0x43e, 0x166, 0xe6, 0x166, -0xe6, 0xff15, 0xfee2, 0xff15, 0xfee2, 0xfb75, 0xfb93, 0xfb75, 0xfb93, 0xf7b3, 0xf823, -0xf7b3, 0xf823, 0xf4c8, 0xf589, 0xf4c8, 0xf589, 0xf4c8, 0xf589, 0xf259, 0xf36a, 0xf259, -0xf36a, 0xf0f0, 0xf24d, 0xf0f0, 0xf24d, 0xee59, 0xeffd, 0xee59, 0xeffd, 0xeb80, 0xed67, -0xeb80, 0xed67, 0xe98a, 0xebab, 0xe98a, 0xebab, 0xe834, 0xea89, 0xe834, 0xea89, 0xe834, -0xea89, 0xe5fd, 0xe87e, 0xe5fd, 0xe87e, 0xe452, 0xe6f6, 0xe452, 0xe6f6, 0xe40d, 0xe6cd, -0xe40d, 0xe6cd, 0xe539, 0xe80e, 0xe539, 0xe80e, 0xe4c5, 0xe7a9, 0xe4c5, 0xe7a9, 0xe4c5, -0xe7a9, 0xe425, 0xe712, 0xe425, 0xe712, 0xe43f, 0xe730, 0xe43f, 0xe730, 0xe452, 0xe745, -0xe452, 0xe745, 0xe5cd, 0xe8be, 0xe5cd, 0xe8be, 0xe6c5, 0xe9b5, 0xe6c5, 0xe9b5, 0xe844, -0xeb31, 0xe844, 0xeb31, 0xe844, 0xeb31, 0xe910, 0xebfc, 0xe910, 0xebfc, 0xea26, 0xed12, -0xea26, 0xed12, 0xec15, 0xef01, 0xec15, 0xef01, 0xeceb, 0xefd9, 0xeceb, 0xefd9, 0xecd5, -0xefc7, 0xecd5, 0xefc7, 0xedbf, 0xf0b4, 0xedbf, 0xf0b4, 0xedbf, 0xf0b4, 0xee1c, 0xf113, -0xee1c, 0xf113, 0xee95, 0xf18c, 0xee95, 0xf18c, 0xeea2, 0xf195, 0xeea2, 0xf195, 0xeebd, -0xf1a7, 0xeebd, 0xf1a7, 0xefca, 0xf2a5, 0xefca, 0xf2a5, 0xefca, 0xf2a5, 0xef9d, 0xf261, -0xef9d, 0xf261, 0xf131, 0xf3d5, 0xf131, 0xf3d5, 0xf2af, 0xf526, 0xf2af, 0xf526, 0xf38e, -0xf5cf, 0xf38e, 0xf5cf, 0xf4ab, 0xf6a9, 0xf4ab, 0xf6a9, 0xf621, 0xf7d1, 0xf621, 0xf7d1, -0xf621, 0xf7d1, 0xf8f0, 0xfa45, 0xf8f0, 0xfa45, 0xfc0f, 0xfcfd, 0xfc0f, 0xfcfd, 0xff90, -0xf, 0xff90, 0xf, 0x2cc, 0x2d3, 0x2cc, 0x2d3, 0x68d, 0x617, 0x68d, 0x617, -0xb4f, 0xa56, 0xb4f, 0xa56, 0xb4f, 0xa56, 0xeb8, 0xd3b, 0xeb8, 0xd3b, 0x119a, -0xf9a, 0x119a, 0xf9a, 0x1407, 0x1188, 0x1407, 0x1188, 0x16db, 0x13e3, 0x16db, 0x13e3, -0x1a19, 0x16b2, 0x1a19, 0x16b2, 0x1a19, 0x16b2, 0x1d48, 0x197c, 0x1d48, 0x197c, 0x1eaa, -0x1a86, 0x1eaa, 0x1a86, 0x1f32, 0x1ac4, 0x1f32, 0x1ac4, 0x2188, 0x1ce0, 0x2188, 0x1ce0, -0x2233, 0x1d61, 0x2233, 0x1d61, 0x2269, 0x1d7e, 0x2269, 0x1d7e, 0x2269, 0x1d7e, 0x22bb, -0x1dc7, 0x22bb, 0x1dc7, 0x221c, 0x1d2d, 0x221c, 0x1d2d, 0x219b, 0x1cc1, 0x219b, 0x1cc1, -0x214b, 0x1c93, 0x214b, 0x1c93, 0x1f4e, 0x1ac2, 0x1f4e, 0x1ac2, 0x1dfe, 0x19a9, 0x1dfe, -0x19a9, 0x1dfe, 0x19a9, 0x1d77, 0x195f, 0x1d77, 0x195f, 0x1cda, 0x1905, 0x1cda, 0x1905, -0x1b80, 0x17f1, 0x1b80, 0x17f1, 0x18b4, 0x156c, 0x18b4, 0x156c, 0x16d7, 0x13d6, 0x16d7, -0x13d6, 0x16d7, 0x13d6, 0x1506, 0x124a, 0x1506, 0x124a, 0x129b, 0x1022, 0x129b, 0x1022, -0xfd9, 0xd9f, 0xfd9, 0xd9f, 0xde5, 0xbe6, 0xde5, 0xbe6, 0xc0d, 0xa44, 0xc0d, -0xa44, 0xacd, 0x936, 0xacd, 0x936, 0xacd, 0x936, 0x937, 0x7d0, 0x937, 0x7d0, -0x82b, 0x6ef, 0x82b, 0x6ef, 0x7da, 0x6c7, 0x7da, 0x6c7, 0x719, 0x62c, 0x719, -0x62c, 0x703, 0x63b, 0x703, 0x63b, 0x6cb, 0x628, 0x6cb, 0x628, 0x6cb, 0x628, -0x57f, 0x4ff, 0x57f, 0x4ff, 0x543, 0x4e7, 0x543, 0x4e7, 0x591, 0x559, 0x591, -0x559, 0x44b, 0x437, 0x44b, 0x437, 0x362, 0x372, 0x362, 0x372, 0x362, 0x372, -0x1d3, 0x208, 0x1d3, 0x208, 0xffeb, 0x41, 0xffeb, 0x41, 0xfe04, 0xfe7a, 0xfe04, -0xfe7a, 0xfba9, 0xfc3c, 0xfba9, 0xfc3c, 0xf9f2, 0xfa9f, 0xf9f2, 0xfa9f, 0xf9ef, 0xfab2, -0xf9ef, 0xfab2, 0xf9ef, 0xfab2, 0xf8d2, 0xf9a3, 0xf8d2, 0xf9a3, 0xf6f7, 0xf7d2, 0xf6f7, -0xf7d2, 0xf5e4, 0xf6c2, 0xf5e4, 0xf6c2, 0xf4c1, 0xf59c, 0xf4c1, 0xf59c, 0xf395, 0xf467, -0xf395, 0xf467, 0xf337, 0xf3fa, 0xf337, 0xf3fa, 0xf337, 0xf3fa, 0xf46e, 0xf51d, 0xf46e, -0xf51d, 0xf454, 0xf4ea, 0xf454, 0xf4ea, 0xf4cb, 0xf546, 0xf4cb, 0xf546, 0xf5dc, 0xf63b, -0xf5dc, 0xf63b, 0xf6d9, 0xf71d, 0xf6d9, 0xf71d, 0xf6d9, 0xf71d, 0xf872, 0xf89d, 0xf872, -0xf89d, 0xf8d5, 0xf8eb, 0xf8d5, 0xf8eb, 0xf94c, 0xf954, 0xf94c, 0xf954, 0xfa34, 0xfa34, -0xfa34, 0xfa34, 0xfa8e, 0xfa90, 0xfa8e, 0xfa90, 0xfacd, 0xfadb, 0xfacd, 0xfadb, 0xfacd, -0xfadb, 0xfada, 0xfaff, 0xfada, 0xfaff, 0xfa48, 0xfa8f, 0xfa48, 0xfa8f, 0xf9fb, 0xfa6e, -0xf9fb, 0xfa6e, 0xf9f5, 0xfa9f, 0xf9f5, 0xfa9f, 0xf96d, 0xfa57, 0xf96d, 0xfa57, 0xf96d, -0xfa57, 0xf790, 0xf8c1, 0xf790, 0xf8c1, 0xf451, 0xf5d1, 0xf451, 0xf5d1, 0xf26f, 0xf43f, -0xf26f, 0xf43f, 0xf1ad, 0xf3d1, 0xf1ad, 0xf3d1, 0xf03a, 0xf2af, 0xf03a, 0xf2af, 0xee86, -0xf149, 0xee86, 0xf149, 0xee86, 0xf149, 0xeda7, 0xf0b3, 0xeda7, 0xf0b3, 0xecff, 0xf04a, -0xecff, 0xf04a, 0xec20, 0xefa0, 0xec20, 0xefa0, 0xeb29, 0xeed1, 0xeb29, 0xeed1, 0xe999, -0xed5b, 0xe999, 0xed5b, 0xe8c1, 0xec8e, 0xe8c1, 0xec8e, 0xe8c1, 0xec8e, 0xe822, 0xebeb, -0xe822, 0xebeb, 0xe859, 0xec0e, 0xe859, 0xec0e, 0xe898, 0xec29, 0xe898, 0xec29, 0xe8f9, -0xec58, 0xe8f9, 0xec58, 0xea2e, 0xed4d, 0xea2e, 0xed4d, 0xea2e, 0xed4d, 0xebfc, 0xeed1, -0xebfc, 0xeed1, 0xedfc, 0xf07c, 0xedfc, 0xf07c, 0xf022, 0xf245, 0xf022, 0xf245, 0xf446, -0xf606, 0xf446, 0xf606, 0xf7b6, 0xf911, 0xf7b6, 0xf911, 0xfb33, 0xfc26, 0xfb33, 0xfc26, -0xfb33, 0xfc26, 0xfef1, 0xff7e, 0xfef1, 0xff7e, 0x1a6, 0x1cf, 0x1a6, 0x1cf, 0x469, -0x432, 0x469, 0x432, 0x78f, 0x6fe, 0x78f, 0x6fe, 0xa13, 0x92e, 0xa13, 0x92e, -0xba4, 0xa72, 0xba4, 0xa72, 0xba4, 0xa72, 0xdcc, 0xc56, 0xdcc, 0xc56, 0xefd, -0xd49, 0xefd, 0xd49, 0x1051, 0xe67, 0x1051, 0xe67, 0x1264, 0x104a, 0x1264, 0x104a, -0x1453, 0x1211, 0x1453, 0x1211, 0x1453, 0x1211, 0x1698, 0x1434, 0x1698, 0x1434, 0x181c, -0x159a, 0x181c, 0x159a, 0x1842, 0x15a8, 0x1842, 0x15a8, 0x1833, 0x1584, 0x1833, 0x1584, -0x199f, 0x16df, 0x199f, 0x16df, 0x1a3a, 0x176c, 0x1a3a, 0x176c, 0x1a3a, 0x176c, 0x19c1, -0x16e9, 0x19c1, 0x16e9, 0x19a8, 0x16c9, 0x19a8, 0x16c9, 0x19ad, 0x16c9, 0x19ad, 0x16c9, -0x19d4, 0x16f0, 0x19d4, 0x16f0, 0x195f, 0x167f, 0x195f, 0x167f, 0x1918, 0x1641, 0x1918, -0x1641, 0x1918, 0x1641, 0x1831, 0x1569, 0x1831, 0x1569, 0x16f9, 0x1446, 0x16f9, 0x1446, -0x16cd, 0x1437, 0x16cd, 0x1437, 0x162e, 0x13bb, 0x162e, 0x13bb, 0x144e, 0x1206, 0x144e, -0x1206, 0x144e, 0x1206, 0x11dc, 0xfc7, 0x11dc, 0xfc7, 0xf5d, 0xd83, 0xf5d, 0xd83, -0xd22, 0xb8a, 0xd22, 0xb8a, 0xb16, 0x9c7, 0xb16, 0x9c7, 0x856, 0x757, 0x856, -0x757, 0x525, 0x47b, 0x525, 0x47b, 0x525, 0x47b, 0x107, 0xb4, 0x107, 0xb4, -0xfce6, 0xfced, 0xfce6, 0xfced, 0xfaa6, 0xfb07, 0xfaa6, 0xfb07, 0xf87f, 0xf939, 0xf87f, -0xf939, 0xf548, 0xf658, 0xf548, 0xf658, 0xf13f, 0xf2a2, 0xf13f, 0xf2a2, 0xf13f, 0xf2a2, -0xede3, 0xef91, 0xede3, 0xef91, 0xebf1, 0xede3, 0xebf1, 0xede3, 0xe9b3, 0xebe3, 0xe9b3, -0xebe3, 0xe6a0, 0xe903, 0xe6a0, 0xe903, 0xe3ba, 0xe649, 0xe3ba, 0xe649, 0xe3ba, 0xe649, -0xe296, 0xe546, 0xe296, 0xe546, 0xe234, 0xe4fd, 0xe234, 0xe4fd, 0xe0ff, 0xe3d8, 0xe0ff, -0xe3d8, 0xe022, 0xe305, 0xe022, 0xe305, 0xdefd, 0xe1e2, 0xdefd, 0xe1e2, 0xddc8, 0xe0ab, -0xddc8, 0xe0ab, 0xddc8, 0xe0ab, 0xdf23, 0xe200, 0xdf23, 0xe200, 0xdff0, 0xe2c5, 0xdff0, -0xe2c5, 0xdf83, 0xe250, 0xdf83, 0xe250, 0xe124, 0xe3e8, 0xe124, 0xe3e8, 0xe357, 0xe614, -0xe357, 0xe614, 0xe4f6, 0xe7ae, 0xe4f6, 0xe7ae, 0xe4f6, 0xe7ae, 0xe583, 0xe839, 0xe583, -0xe839, 0xe681, 0xe937, 0xe681, 0xe937, 0xe820, 0xead8, 0xe820, 0xead8, 0xe9ba, 0xec77, -0xe9ba, 0xec77, 0xeaf1, 0xedb5, 0xeaf1, 0xedb5, 0xeaf1, 0xedb5, 0xea68, 0xed30, 0xea68, -0xed30, 0xea74, 0xed41, 0xea74, 0xed41, 0xeb50, 0xee1d, 0xeb50, 0xee1d, 0xeb67, 0xee31, -0xeb67, 0xee31, 0xeb57, 0xee16, 0xeb57, 0xee16, 0xec31, 0xeedc, 0xec31, 0xeedc, 0xec31, -0xeedc, 0xecbf, 0xef4d, 0xecbf, 0xef4d, 0xee09, 0xf06f, 0xee09, 0xf06f, 0xf051, 0xf282, -0xf051, 0xf282, 0xf1c9, 0xf3b9, 0xf1c9, 0xf3b9, 0xf411, 0xf5b3, 0xf411, 0xf5b3, 0xf69e, -0xf7e6, 0xf69e, 0xf7e6, 0xf69e, 0xf7e6, 0xfa59, 0xfb3b, 0xfa59, 0xfb3b, 0xfee2, 0xff55, -0xfee2, 0xff55, 0x2e9, 0x2e3, 0x2e9, 0x2e3, 0x737, 0x6b2, 0x737, 0x6b2, 0xa91, -0x98a, 0xa91, 0x98a, 0xa91, 0x98a, 0xe14, 0xc88, 0xe14, 0xc88, 0x1266, 0x1057, -0x1266, 0x1057, 0x1661, 0x13d4, 0x1661, 0x13d4, 0x1a49, 0x1744, 0x1a49, 0x1744, 0x1d57, -0x19e4, 0x1d57, 0x19e4, 0x1f21, 0x1b4d, 0x1f21, 0x1b4d, 0x1f21, 0x1b4d, 0x2193, 0x1d6b, -0x2193, 0x1d6b, 0x2405, 0x1f97, 0x2405, 0x1f97, 0x2512, 0x2071, 0x2512, 0x2071, 0x2575, -0x20b1, 0x2575, 0x20b1, 0x25c5, 0x20ef, 0x25c5, 0x20ef, 0x25c9, 0x20f2, 0x25c9, 0x20f2, -0x25c9, 0x20f2, 0x2512, 0x204b, 0x2512, 0x204b, 0x242e, 0x1f85, 0x242e, 0x1f85, 0x2355, -0x1ed7, 0x2355, 0x1ed7, 0x22c5, 0x1e7e, 0x22c5, 0x1e7e, 0x2159, 0x1d53, 0x2159, 0x1d53, -0x2159, 0x1d53, 0x1f4b, 0x1b8c, 0x1f4b, 0x1b8c, 0x1e5c, 0x1ae9, 0x1e5c, 0x1ae9, 0x1d55, -0x1a31, 0x1d55, 0x1a31, 0x1b55, 0x1880, 0x1b55, 0x1880, 0x18df, 0x1659, 0x18df, 0x1659, -0x1692, 0x1459, 0x1692, 0x1459, 0x1692, 0x1459, 0x1462, 0x1271, 0x1462, 0x1271, 0x1243, -0x1096, 0x1243, 0x1096, 0x104b, 0xedd, 0x104b, 0xedd, 0xde5, 0xcb1, 0xde5, 0xcb1, -0xc05, 0xb06, 0xc05, 0xb06, 0xb6c, 0xa9d, 0xb6c, 0xa9d, 0xb6c, 0xa9d, 0xaaf, -0xa0c, 0xaaf, 0xa0c, 0x96b, 0x8f1, 0x96b, 0x8f1, 0x880, 0x82c, 0x880, 0x82c, -0x7f9, 0x7ca, 0x7f9, 0x7ca, 0x7e3, 0x7d7, 0x7e3, 0x7d7, 0x7e3, 0x7d7, 0x7e0, -0x7f7, 0x7e0, 0x7f7, 0x6e8, 0x721, 0x6e8, 0x721, 0x5b9, 0x614, 0x5b9, 0x614, -0x4a0, 0x51d, 0x4a0, 0x51d, 0x240, 0x2df, 0x240, 0x2df, 0xfed0, 0xff90, 0xfed0, -0xff90, 0xfed0, 0xff90, 0xfbf2, 0xfcd1, 0xfbf2, 0xfcd1, 0xfab7, 0xfbb3, 0xfab7, 0xfbb3, -0xfa12, 0xfb27, 0xfa12, 0xfb27, 0xf8f0, 0xfa1a, 0xf8f0, 0xfa1a, 0xf778, 0xf8b1, 0xf778, -0xf8b1, 0xf778, 0xf8b1, 0xf636, 0xf778, 0xf636, 0xf778, 0xf5eb, 0xf730, 0xf5eb, 0xf730, -0xf5e2, 0xf722, 0xf5e2, 0xf722, 0xf4ce, 0xf603, 0xf4ce, 0xf603, 0xf39d, 0xf4be, 0xf39d, -0xf4be, 0xf3b5, 0xf4bd, 0xf3b5, 0xf4bd, 0xf3b5, 0xf4bd, 0xf494, 0xf57d, 0xf494, 0xf57d, -0xf579, 0xf63f, 0xf579, 0xf63f, 0xf63f, 0xf6de, 0xf63f, 0xf6de, 0xf702, 0xf77b, 0xf702, -0xf77b, 0xf7f0, 0xf843, 0xf7f0, 0xf843, 0xf99c, 0xf9cc, 0xf99c, 0xf9cc, 0xf99c, 0xf9cc, -0xfab7, 0xfaca, 0xfab7, 0xfaca, 0xfac3, 0xfabf, 0xfac3, 0xfabf, 0xfa57, 0xfa46, 0xfa57, -0xfa46, 0xf915, 0xf902, 0xf915, 0xf902, 0xf8d8, 0xf8ce, 0xf8d8, 0xf8ce, 0xf8d8, 0xf8ce, -0xf8e9, 0xf8f5, 0xf8e9, 0xf8f5, 0xf8a4, 0xf8d3, 0xf8a4, 0xf8d3, 0xf806, 0xf865, 0xf806, -0xf865, 0xf6e4, 0xf77e, 0xf6e4, 0xf77e, 0xf600, 0xf6e0, 0xf600, 0xf6e0, 0xf4a2, 0xf5d1, -0xf4a2, 0xf5d1, 0xf4a2, 0xf5d1, 0xf321, 0xf4a6, 0xf321, 0xf4a6, 0xf122, 0xf301, 0xf122, -0xf301, 0xefa4, 0xf1de, 0xefa4, 0xf1de, 0xee87, 0xf11b, 0xee87, 0xf11b, 0xed42, 0xf02c, -0xed42, 0xf02c, 0xecbb, 0xeff2, 0xecbb, 0xeff2, 0xecbb, 0xeff2, 0xebf1, 0xef6c, 0xebf1, -0xef6c, 0xeaeb, 0xee9b, 0xeaeb, 0xee9b, 0xe9b5, 0xed8c, 0xe9b5, 0xed8c, 0xe8f0, 0xecdd, -0xe8f0, 0xecdd, 0xe86a, 0xec5a, 0xe86a, 0xec5a, 0xe86a, 0xec5a, 0xe7f8, 0xebd9, 0xe7f8, -0xebd9, 0xe90a, 0xecc9, 0xe90a, 0xecc9, 0xe9da, 0xed65, 0xe9da, 0xed65, 0xe96a, 0xecaf, -0xe96a, 0xecaf, 0xeaaa, 0xed98, 0xeaaa, 0xed98, 0xed57, 0xefe2, 0xed57, 0xefe2, 0xed57, -0xefe2, 0xefb4, 0xf1cf, 0xefb4, 0xf1cf, 0xf28b, 0xf42e, 0xf28b, 0xf42e, 0xf627, 0xf74d, -0xf627, 0xf74d, 0xf9bc, 0xfa60, 0xf9bc, 0xfa60, 0xfd7f, 0xfda2, 0xfd7f, 0xfda2, 0x176, -0x119, 0x176, 0x119, 0x176, 0x119, 0x3b3, 0x2db, 0x3b3, 0x2db, 0x638, 0x4eb, -0x638, 0x4eb, 0x9b8, 0x800, 0x9b8, 0x800, 0xc65, 0xa4a, 0xc65, 0xa4a, 0xe5c, -0xbe8, 0xe5c, 0xbe8, 0xe5c, 0xbe8, 0xf3a, 0xc7a, 0xf3a, 0xc7a, 0x1050, 0xd4e, -0x1050, 0xd4e, 0x11fd, 0xec3, 0x11fd, 0xec3, 0x144a, 0x10e4, 0x144a, 0x10e4, 0x14e1, -0x1157, 0x14e1, 0x1157, 0x13f5, 0x1050, 0x13f5, 0x1050, 0x13f5, 0x1050, 0x14f4, 0x113c, -0x14f4, 0x113c, 0x1585, 0x11c0, 0x1585, 0x11c0, 0x152c, 0x1160, 0x152c, 0x1160, 0x1533, -0x1164, 0x1533, 0x1164, 0x1544, 0x1177, 0x1544, 0x1177, 0x1542, 0x117b, 0x1542, 0x117b, -0x1542, 0x117b, 0x1556, 0x1198, 0x1556, 0x1198, 0x1571, 0x11c0, 0x1571, 0x11c0, 0x1497, -0x10f6, 0x1497, 0x10f6, 0x1395, 0x100a, 0x1395, 0x100a, 0x13fb, 0x1089, 0x13fb, 0x1089, -0x13fb, 0x1089, 0x1459, 0x1107, 0x1459, 0x1107, 0x1359, 0x102d, 0x1359, 0x102d, 0x120f, -0xf10, 0x120f, 0xf10, 0x10d2, 0xe07, 0x10d2, 0xe07, 0x100b, 0xd7c, 0x100b, 0xd7c, -0xf45, 0xcfa, 0xf45, 0xcfa, 0xf45, 0xcfa, 0xd98, 0xb99, 0xd98, 0xb99, 0xaf1, -0x945, 0xaf1, 0x945, 0x805, 0x6b2, 0x805, 0x6b2, 0x563, 0x46f, 0x563, 0x46f, -0x282, 0x1f3, 0x282, 0x1f3, 0x2a, 0, 0x2a, 0, 0x2a, 0, 0xfd30, -0xfd6e, 0xfd30, 0xfd6e, 0xf97b, 0xfa1e, 0xf97b, 0xfa1e, 0xf62c, 0xf732, 0xf62c, 0xf732, -0xf307, 0xf46b, 0xf307, 0xf46b, 0xf0e8, 0xf2a4, 0xf0e8, 0xf2a4, 0xf0e8, 0xf2a4, 0xee72, -0xf07c, 0xee72, 0xf07c, 0xebc9, 0xee19, 0xebc9, 0xee19, 0xe9fd, 0xec87, 0xe9fd, 0xec87, -0xe83e, 0xeaf8, 0xe83e, 0xeaf8, 0xe717, 0xe9f4, 0xe717, 0xe9f4, 0xe6a0, 0xe996, 0xe6a0, -0xe996, 0xe6a0, 0xe996, 0xe601, 0xe905, 0xe601, 0xe905, 0xe4cd, 0xe7d4, 0xe4cd, 0xe7d4, -0xe431, 0xe735, 0xe431, 0xe735, 0xe47e, 0xe776, 0xe47e, 0xe776, 0xe50d, 0xe7f4, 0xe50d, -0xe7f4, 0xe5b4, 0xe886, 0xe5b4, 0xe886, 0xe5b4, 0xe886, 0xe622, 0xe8de, 0xe622, 0xe8de, -0xe717, 0xe9bd, 0xe717, 0xe9bd, 0xe87b, 0xeb0c, 0xe87b, 0xeb0c, 0xe9fc, 0xec7c, 0xe9fc, -0xec7c, 0xeb3e, 0xedb0, 0xeb3e, 0xedb0, 0xeb3e, 0xedb0, 0xebba, 0xee22, 0xebba, 0xee22, -0xec16, 0xee79, 0xec16, 0xee79, 0xec8b, 0xeeed, 0xec8b, 0xeeed, 0xecee, 0xef52, 0xecee, -0xef52, 0xecb2, 0xef1a, 0xecb2, 0xef1a, 0xec02, 0xee70, 0xec02, 0xee70, 0xec02, 0xee70, -0xebbd, 0xee30, 0xebbd, 0xee30, 0xec81, 0xeef5, 0xec81, 0xeef5, 0xedbf, 0xf031, 0xedbf, -0xf031, 0xee0c, 0xf075, 0xee0c, 0xf075, 0xee30, 0xf086, 0xee30, 0xf086, 0xef14, 0xf14f, -0xef14, 0xf14f, 0xef14, 0xf14f, 0xf0b2, 0xf2c6, 0xf0b2, 0xf2c6, 0xf2df, 0xf4c0, 0xf2df, -0xf4c0, 0xf4aa, 0xf64b, 0xf4aa, 0xf64b, 0xf6b7, 0xf80d, 0xf6b7, 0xf80d, 0xf9ff, 0xfafd, -0xf9ff, 0xfafd, 0xf9ff, 0xfafd, 0xfda1, 0xfe3d, 0xfda1, 0xfe3d, 0x168, 0x19a, 0x168, -0x19a, 0x526, 0x4e6, 0x526, 0x4e6, 0x88e, 0x7d7, 0x88e, 0x7d7, 0xc31, 0xb03, -0xc31, 0xb03, 0x1020, 0xe7a, 0x1020, 0xe7a, 0x1020, 0xe7a, 0x137f, 0x1166, 0x137f, -0x1166, 0x1582, 0x12fc, 0x1582, 0x12fc, 0x176f, 0x1485, 0x176f, 0x1485, 0x19b7, 0x1675, -0x19b7, 0x1675, 0x1c15, 0x1889, 0x1c15, 0x1889, 0x1e33, 0x1a6a, 0x1e33, 0x1a6a, 0x1e33, -0x1a6a, 0x1f07, 0x1b12, 0x1f07, 0x1b12, 0x203a, 0x1c2a, 0x203a, 0x1c2a, 0x2149, 0x1d2f, -0x2149, 0x1d2f, 0x20f3, 0x1cdd, 0x20f3, 0x1cdd, 0x2077, 0x1c75, 0x2077, 0x1c75, 0x2077, -0x1c75, 0x203d, 0x1c5b, 0x203d, 0x1c5b, 0x2017, 0x1c60, 0x2017, 0x1c60, 0x1ee2, 0x1b61, -0x1ee2, 0x1b61, 0x1da6, 0x1a61, 0x1da6, 0x1a61, 0x1d28, 0x1a23, 0x1d28, 0x1a23, 0x1bf1, -0x192e, 0x1bf1, 0x192e, 0x1bf1, 0x192e, 0x1a60, 0x17e1, 0x1a60, 0x17e1, 0x195c, 0x171e, -0x195c, 0x171e, 0x1815, 0x1615, 0x1815, 0x1615, 0x15a6, 0x13e1, 0x15a6, 0x13e1, 0x139e, -0x120d, 0x139e, 0x120d, 0x139e, 0x120d, 0x11c3, 0x1062, 0x11c3, 0x1062, 0xec2, 0xd8c, -0xec2, 0xd8c, 0xc70, 0xb5f, 0xc70, 0xb5f, 0xb9b, 0xaac, 0xb9b, 0xaac, 0xb2f, -0xa5e, 0xb2f, 0xa5e, 0xa8f, 0x9da, 0xa8f, 0x9da, 0xa8f, 0x9da, 0x9f3, 0x95b, -0x9f3, 0x95b, 0x9ca, 0x94e, 0x9ca, 0x94e, 0xa14, 0x9b5, 0xa14, 0x9b5, 0xa37, -0x9f8, 0xa37, 0x9f8, 0x9aa, 0x98f, 0x9aa, 0x98f, 0x975, 0x980, 0x975, 0x980, -0x975, 0x980, 0x91e, 0x953, 0x91e, 0x953, 0x73e, 0x79f, 0x73e, 0x79f, 0x51c, -0x5ac, 0x51c, 0x5ac, 0x2f4, 0x3b3, 0x2f4, 0x3b3, 0x81, 0x16e, 0x81, 0x16e, -0x81, 0x16e, 0xfe4d, 0xff67, 0xfe4d, 0xff67, 0xfce9, 0xfe2a, 0xfce9, 0xfe2a, 0xfc1e, -0xfd82, 0xfc1e, 0xfd82, 0xfa17, 0xfb96, 0xfa17, 0xfb96, 0xf82d, 0xf9bd, 0xf82d, 0xf9bd, -0xf6f6, 0xf88e, 0xf6f6, 0xf88e, 0xf6f6, 0xf88e, 0xf5b8, 0xf74c, 0xf5b8, 0xf74c, 0xf50d, -0xf693, 0xf50d, 0xf693, 0xf43a, 0xf5a5, 0xf43a, 0xf5a5, 0xf391, 0xf4d6, 0xf391, 0xf4d6, -0xf350, 0xf466, 0xf350, 0xf466, 0xf434, 0xf513, 0xf434, 0xf513, 0xf434, 0xf513, 0xf581, -0xf622, 0xf581, 0xf622, 0xf610, 0xf671, 0xf610, 0xf671, 0xf6fe, 0xf71e, 0xf6fe, 0xf71e, -0xf7f7, 0xf7d8, 0xf7f7, 0xf7d8, 0xf957, 0xf8fe, 0xf957, 0xf8fe, 0xf957, 0xf8fe, 0xfae0, -0xfa56, 0xfae0, 0xfa56, 0xfb5e, 0xfaad, 0xfb5e, 0xfaad, 0xfaf0, 0xfa26, 0xfaf0, 0xfa26, -0xfae9, 0xfa16, 0xfae9, 0xfa16, 0xfb69, 0xfa9d, 0xfb69, 0xfa9d, 0xfaf0, 0xfa3d, 0xfaf0, -0xfa3d, 0xfaf0, 0xfa3d, 0xf9c4, 0xf93c, 0xf9c4, 0xf93c, 0xf89b, 0xf84f, 0xf89b, 0xf84f, -0xf779, 0xf779, 0xf779, 0xf779, 0xf5ee, 0xf648, 0xf5ee, 0xf648, 0xf405, 0xf4c5, 0xf405, -0xf4c5, 0xf1b5, 0xf2e4, 0xf1b5, 0xf2e4, 0xf1b5, 0xf2e4, 0xef71, 0xf114, 0xef71, 0xf114, -0xee15, 0xf02d, 0xee15, 0xf02d, 0xece7, 0xef73, 0xece7, 0xef73, 0xebd0, 0xeeca, 0xebd0, -0xeeca, 0xeb22, 0xee7f, 0xeb22, 0xee7f, 0xeb22, 0xee7f, 0xea20, 0xedd4, 0xea20, 0xedd4, -0xe871, 0xec6d, 0xe871, 0xec6d, 0xe7d6, 0xec07, 0xe7d6, 0xec07, 0xe7cf, 0xec21, 0xe7cf, -0xec21, 0xe710, 0xeb6e, 0xe710, 0xeb6e, 0xe737, 0xeb8c, 0xe737, 0xeb8c, 0xe737, 0xeb8c, -0xe7ed, 0xec24, 0xe7ed, 0xec24, 0xe8aa, 0xecaf, 0xe8aa, 0xecaf, 0xea54, 0xee15, 0xea54, -0xee15, 0xece4, 0xf051, 0xece4, 0xf051, 0xef1e, 0xf227, 0xef1e, 0xf227, 0xf1da, 0xf476, -0xf1da, 0xf476, 0xf1da, 0xf476, 0xf5e1, 0xf806, 0xf5e1, 0xf806, 0xf975, 0xfb1f, 0xf975, -0xfb1f, 0xfcb3, 0xfde0, 0xfcb3, 0xfde0, 0xffc1, 0x73, 0xffc1, 0x73, 0x2e4, 0x31d, -0x2e4, 0x31d, 0x2e4, 0x31d, 0x611, 0x5d6, 0x611, 0x5d6, 0x8f0, 0x849, 0x8f0, -0x849, 0xab8, 0x9af, 0xab8, 0x9af, 0xb66, 0xa03, 0xb66, 0xa03, 0xda5, 0xbf3, -0xda5, 0xbf3, 0x10a6, 0xeae, 0x10a6, 0xeae, 0x10a6, 0xeae, 0x12f1, 0x10bc, 0x12f1, -0x10bc, 0x14b5, 0x124d, 0x14b5, 0x124d, 0x15ca, 0x1337, 0x15ca, 0x1337, 0x1673, 0x13bc, -0x1673, 0x13bc, 0x1763, 0x148d, 0x1763, 0x148d, 0x18bd, 0x15ce, 0x18bd, 0x15ce, 0x18bd, -0x15ce, 0x1921, 0x161c, 0x1921, 0x161c, 0x18e9, 0x15d2, 0x18e9, 0x15d2, 0x18ff, 0x15d9, -0x18ff, 0x15d9, 0x1933, 0x1600, 0x1933, 0x1600, 0x191a, 0x15de, 0x191a, 0x15de, 0x191a, -0x15de, 0x193d, 0x15fb, 0x193d, 0x15fb, 0x18e0, 0x159c, 0x18e0, 0x159c, 0x17a2, 0x1461, -0x17a2, 0x1461, 0x1785, 0x144d, 0x1785, 0x144d, 0x176b, 0x1444, 0x176b, 0x1444, 0x16d2, -0x13c4, 0x16d2, 0x13c4, 0x16d2, 0x13c4, 0x158f, 0x12a3, 0x158f, 0x12a3, 0x12e6, 0x1027, -0x12e6, 0x1027, 0x111a, 0xe91, 0x111a, 0xe91, 0x10c4, 0xe7e, 0x10c4, 0xe7e, 0xf29, -0xd30, 0xf29, 0xd30, 0xb8b, 0x9e8, 0xb8b, 0x9e8, 0xb8b, 0x9e8, 0x819, 0x6d7, -0x819, 0x6d7, 0x56a, 0x490, 0x56a, 0x490, 0x3b1, 0x346, 0x3b1, 0x346, 0x18f, -0x197, 0x18f, 0x197, 0xfdfc, 0xfe79, 0xfdfc, 0xfe79, 0xfdfc, 0xfe79, 0xfa3c, 0xfb2e, -0xfa3c, 0xfb2e, 0xf6b2, 0xf816, 0xf6b2, 0xf816, 0xf42b, 0xf5fc, 0xf42b, 0xf5fc, 0xf162, -0xf398, 0xf162, 0xf398, 0xed72, 0xf004, 0xed72, 0xf004, 0xe9d4, 0xecb8, 0xe9d4, 0xecb8, -0xe9d4, 0xecb8, 0xe7c1, 0xeae8, 0xe7c1, 0xeae8, 0xe6a8, 0xea07, 0xe6a8, 0xea07, 0xe4eb, -0xe874, 0xe4eb, 0xe874, 0xe31c, 0xe6c2, 0xe31c, 0xe6c2, 0xe1e7, 0xe59c, 0xe1e7, 0xe59c, -0xe13d, 0xe4f6, 0xe13d, 0xe4f6, 0xe13d, 0xe4f6, 0xe109, 0xe4bc, 0xe109, 0xe4bc, 0xe12a, -0xe4cf, 0xe12a, 0xe4cf, 0xe117, 0xe4a6, 0xe117, 0xe4a6, 0xe109, 0xe47e, 0xe109, 0xe47e, -0xe1dd, 0xe537, 0xe1dd, 0xe537, 0xe1dd, 0xe537, 0xe35d, 0xe69a, 0xe35d, 0xe69a, 0xe50f, -0xe831, 0xe50f, 0xe831, 0xe65d, 0xe965, 0xe65d, 0xe965, 0xe79a, 0xea8c, 0xe79a, 0xea8c, -0xe8f2, 0xebd3, 0xe8f2, 0xebd3, 0xea42, 0xed16, 0xea42, 0xed16, 0xea42, 0xed16, 0xeb16, -0xede0, 0xeb16, 0xede0, 0xeb2f, 0xedf2, 0xeb2f, 0xedf2, 0xeb27, 0xede4, 0xeb27, 0xede4, -0xeb58, 0xee0f, 0xeb58, 0xee0f, 0xebff, 0xeeae, 0xebff, 0xeeae, 0xec7f, 0xef22, 0xec7f, -0xef22, 0xec7f, 0xef22, 0xebde, 0xee6e, 0xebde, 0xee6e, 0xeb0c, 0xed81, 0xeb0c, 0xed81, -0xebfa, 0xee4a, 0xebfa, 0xee4a, 0xed16, 0xef34, 0xed16, 0xef34, 0xedc7, 0xefa7, 0xedc7, -0xefa7, 0xedc7, 0xefa7, 0xef2f, 0xf0c4, 0xef2f, 0xf0c4, 0xf0ce, 0xf209, 0xf0ce, 0xf209, -0xf35b, 0xf42f, 0xf35b, 0xf42f, 0xf74d, 0xf7ae, 0xf74d, 0xf7ae, 0xfbe2, 0xfbc4, 0xfbe2, -0xfbc4, 0xffc2, 0xff1e, 0xffc2, 0xff1e, 0xffc2, 0xff1e, 0x3ba, 0x289, 0x3ba, 0x289, -0x7c7, 0x605, 0x7c7, 0x605, 0xbc1, 0x96f, 0xbc1, 0x96f, 0x108c, 0xdad, 0x108c, -0xdad, 0x1493, 0x112d, 0x1493, 0x112d, 0x1493, 0x112d, 0x17ed, 0x140a, 0x17ed, 0x140a, -0x1ab3, 0x165f, 0x1ab3, 0x165f, 0x1d36, 0x1880, 0x1d36, 0x1880, 0x200f, 0x1b07, 0x200f, -0x1b07, 0x224b, 0x1d04, 0x224b, 0x1d04, 0x2362, 0x1def, 0x2362, 0x1def, 0x2362, 0x1def, -0x234b, 0x1dbf, 0x234b, 0x1dbf, 0x2339, 0x1da8, 0x2339, 0x1da8, 0x245e, 0x1ed9, 0x245e, -0x1ed9, 0x250d, 0x1fa5, 0x250d, 0x1fa5, 0x2397, 0x1e5a, 0x2397, 0x1e5a, 0x21d3, 0x1cce, -0x21d3, 0x1cce, 0x21d3, 0x1cce, 0x2053, 0x1b91, 0x2053, 0x1b91, 0x1f13, 0x1a9a, 0x1f13, -0x1a9a, 0x1e4a, 0x1a1f, 0x1e4a, 0x1a1f, 0x1cc5, 0x18eb, 0x1cc5, 0x18eb, 0x1a8d, 0x1704, -0x1a8d, 0x1704, 0x1a8d, 0x1704, 0x1966, 0x162c, 0x1966, 0x162c, 0x1953, 0x1665, 0x1953, -0x1665, 0x1733, 0x148d, 0x1733, 0x148d, 0x13e6, 0x1184, 0x13e6, 0x1184, 0x1101, 0xedc, -0x1101, 0xedc, 0xe31, 0xc46, 0xe31, 0xc46, 0xe31, 0xc46, 0xca7, 0xaf1, 0xca7, -0xaf1, 0xb9d, 0xa1a, 0xb9d, 0xa1a, 0xa35, 0x8e2, 0xa35, 0x8e2, 0x97a, 0x857, -0x97a, 0x857, 0x986, 0x894, 0x986, 0x894, 0x8e2, 0x822, 0x8e2, 0x822, 0x8e2, -0x822, 0x83d, 0x7b2, 0x83d, 0x7b2, 0x809, 0x7b7, 0x809, 0x7b7, 0x75e, 0x749, -0x75e, 0x749, 0x6ae, 0x6da, 0x6ae, 0x6da, 0x587, 0x5f6, 0x587, 0x5f6, 0x587, -0x5f6, 0x3cb, 0x482, 0x3cb, 0x482, 0x193, 0x291, 0x193, 0x291, 0xff2c, 0x72, -0xff2c, 0x72, 0xfd4b, 0xfed6, 0xfd4b, 0xfed6, 0xfbd2, 0xfd9e, 0xfbd2, 0xfd9e, 0xfae5, -0xfceb, 0xfae5, 0xfceb, 0xfae5, 0xfceb, 0xf9d8, 0xfc11, 0xf9d8, 0xfc11, 0xf860, 0xfabf, -0xf860, 0xfabf, 0xf717, 0xf991, 0xf717, 0xf991, 0xf668, 0xf8ef, 0xf668, 0xf8ef, 0xf62a, -0xf8af, 0xf62a, 0xf8af, 0xf5f8, 0xf86d, 0xf5f8, 0xf86d, 0xf5f8, 0xf86d, 0xf5d9, 0xf830, -0xf5d9, 0xf830, 0xf5ed, 0xf818, 0xf5ed, 0xf818, 0xf636, 0xf82a, 0xf636, 0xf82a, 0xf696, -0xf848, 0xf696, 0xf848, 0xf74f, 0xf8b8, 0xf74f, 0xf8b8, 0xf74f, 0xf8b8, 0xf823, 0xf940, -0xf823, 0xf940, 0xf98c, 0xfa5b, 0xf98c, 0xfa5b, 0xfb70, 0xfbf5, 0xfb70, 0xfbf5, 0xfce7, -0xfd28, 0xfce7, 0xfd28, 0xfdaf, 0xfdb5, 0xfdaf, 0xfdb5, 0xfd83, 0xfd5b, 0xfd83, 0xfd5b, -0xfd83, 0xfd5b, 0xfd82, 0xfd3b, 0xfd82, 0xfd3b, 0xfdad, 0xfd59, 0xfdad, 0xfd59, 0xfddc, -0xfd8e, 0xfddc, 0xfd8e, 0xfd79, 0xfd44, 0xfd79, 0xfd44, 0xfc43, 0xfc3b, 0xfc43, 0xfc3b, -0xfb66, 0xfb9e, 0xfb66, 0xfb9e, 0xfb66, 0xfb9e, 0xfa02, 0xfa8a, 0xfa02, 0xfa8a, 0xf84f, -0xf938, 0xf84f, 0xf938, 0xf6ee, 0xf843, 0xf6ee, 0xf843, 0xf552, 0xf71c, 0xf552, 0xf71c, -0xf327, 0xf56a, 0xf327, 0xf56a, 0xf327, 0xf56a, 0xf1c2, 0xf480, 0xf1c2, 0xf480, 0xf161, -0xf497, 0xf161, 0xf497, 0xeff0, 0xf395, 0xeff0, 0xf395, 0xed98, 0xf1a2, 0xed98, 0xf1a2, -0xeb57, 0xefb8, 0xeb57, 0xefb8, 0xea6b, 0xef12, 0xea6b, 0xef12, 0xea6b, 0xef12, 0xea64, -0xef3c, 0xea64, 0xef3c, 0xe9b1, 0xeea5, 0xe9b1, 0xeea5, 0xe868, 0xed62, 0xe868, 0xed62, -0xe71a, 0xec04, 0xe71a, 0xec04, 0xe727, 0xebec, 0xe727, 0xebec, 0xe87e, 0xed08, 0xe87e, -0xed08, 0xe87e, 0xed08, 0xe9fa, 0xee37, 0xe9fa, 0xee37, 0xeb44, 0xef25, 0xeb44, 0xef25, -0xeccc, 0xf043, 0xeccc, 0xf043, 0xf023, 0xf324, 0xf023, 0xf324, 0xf44b, 0xf6d1, 0xf44b, -0xf6d1, 0xf44b, 0xf6d1, 0xf729, 0xf92f, 0xf729, 0xf92f, 0xf9bb, 0xfb40, 0xf9bb, 0xfb40, -0xfd56, 0xfe5c, 0xfd56, 0xfe5c, 0x167, 0x1f3, 0x167, 0x1f3, 0x452, 0x46a, 0x452, -0x46a, 0x67d, 0x629, 0x67d, 0x629, 0x67d, 0x629, 0x8cd, 0x816, 0x8cd, 0x816, -0xac3, 0x9b3, 0xac3, 0x9b3, 0xcc4, 0xb64, 0xcc4, 0xb64, 0xec9, 0xd24, 0xec9, -0xd24, 0x101e, 0xe3c, 0x101e, 0xe3c, 0x1032, 0xe19, 0x1032, 0xe19, 0x1032, 0xe19, -0x1093, 0xe4d, 0x1093, 0xe4d, 0x11da, 0xf6a, 0x11da, 0xf6a, 0x1217, 0xf82, 0x1217, -0xf82, 0x1200, 0xf4b, 0x1200, 0xf4b, 0x11e2, 0xf0d, 0x11e2, 0xf0d, 0x11e2, 0xf0d, -0x11c4, 0xed3, 0x11c4, 0xed3, 0x125b, 0xf4d, 0x125b, 0xf4d, 0x129e, 0xf77, 0x129e, -0xf77, 0x12b6, 0xf76, 0x12b6, 0xf76, 0x12d9, 0xf85, 0x12d9, 0xf85, 0x1253, 0xeec, -0x1253, 0xeec, 0x1253, 0xeec, 0x1231, 0xebd, 0x1231, 0xebd, 0x132e, 0xfb2, 0x132e, -0xfb2, 0x1337, 0xfbb, 0x1337, 0xfbb, 0x1250, 0xedc, 0x1250, 0xedc, 0x122d, 0xeca, -0x122d, 0xeca, 0x121d, 0xed6, 0x121d, 0xed6, 0x121d, 0xed6, 0x11d4, 0xeb5, 0x11d4, -0xeb5, 0x1070, 0xd83, 0x1070, 0xd83, 0xd74, 0xac6, 0xd74, 0xac6, 0xa95, 0x830, -0xa95, 0x830, 0x856, 0x644, 0x856, 0x644, 0x856, 0x644, 0x657, 0x4a0, 0x657, -0x4a0, 0x412, 0x2be, 0x412, 0x2be, 0x162, 0x76, 0x162, 0x76, 0xfe68, 0xfde6, -0xfe68, 0xfde6, 0xfbb7, 0xfba0, 0xfbb7, 0xfba0, 0xf96d, 0xf9bf, 0xf96d, 0xf9bf, 0xf96d, -0xf9bf, 0xf631, 0xf6e7, 0xf631, 0xf6e7, 0xf2f7, 0xf40c, 0xf2f7, 0xf40c, 0xf093, 0xf1ff, -0xf093, 0xf1ff, 0xee0f, 0xefc8, 0xee0f, 0xefc8, 0xecd0, 0xeecb, 0xecd0, 0xeecb, 0xec08, -0xee3a, 0xec08, 0xee3a, 0xec08, 0xee3a, 0xea00, 0xec5d, 0xea00, 0xec5d, 0xe85f, 0xeadc, -0xe85f, 0xeadc, 0xe74a, 0xe9dc, 0xe74a, 0xe9dc, 0xe690, 0xe92d, 0xe690, 0xe92d, 0xe67d, -0xe91e, 0xe67d, 0xe91e, 0xe67d, 0xe91e, 0xe677, 0xe916, 0xe677, 0xe916, 0xe5ea, 0xe880, -0xe5ea, 0xe880, 0xe5ce, 0xe85a, 0xe5ce, 0xe85a, 0xe76c, 0xe9ed, 0xe76c, 0xe9ed, 0xe928, -0xeb9e, 0xe928, 0xeb9e, 0xea0b, 0xec77, 0xea0b, 0xec77, 0xea0b, 0xec77, 0xea74, 0xecd9, -0xea74, 0xecd9, 0xeb47, 0xeda8, 0xeb47, 0xeda8, 0xece1, 0xef43, 0xece1, 0xef43, 0xee2c, -0xf091, 0xee2c, 0xf091, 0xee12, 0xf07c, 0xee12, 0xf07c, 0xee12, 0xf07c, 0xecad, 0xef1e, -0xecad, 0xef1e, 0xec49, 0xeec0, 0xec49, 0xeec0, 0xecb9, 0xef34, 0xecb9, 0xef34, 0xece9, -0xef64, 0xece9, 0xef64, 0xed54, 0xefc8, 0xed54, 0xefc8, 0xed28, 0xef8e, 0xed28, 0xef8e, -0xed28, 0xef8e, 0xeccd, 0xef1a, 0xeccd, 0xef1a, 0xed85, 0xefaf, 0xed85, 0xefaf, 0xee80, -0xf078, 0xee80, 0xf078, 0xeeda, 0xf093, 0xeeda, 0xf093, 0xf017, 0xf184, 0xf017, 0xf184, -0xf27f, 0xf390, 0xf27f, 0xf390, 0xf27f, 0xf390, 0xf512, 0xf5bb, 0xf512, 0xf5bb, 0xf826, -0xf85c, 0xf826, 0xf85c, 0xfb72, 0xfb2b, 0xfb72, 0xfb2b, 0xff1c, 0xfe51, 0xff1c, 0xfe51, -0x361, 0x20d, 0x361, 0x20d, 0x361, 0x20d, 0x799, 0x5ba, 0x799, 0x5ba, 0xbc8, -0x95f, 0xbc8, 0x95f, 0xfce, 0xce0, 0xfce, 0xce0, 0x1320, 0xfb4, 0x1320, 0xfb4, -0x1586, 0x11a7, 0x1586, 0x11a7, 0x17bc, 0x1377, 0x17bc, 0x1377, 0x17bc, 0x1377, 0x1ae9, -0x164c, 0x1ae9, 0x164c, 0x1d90, 0x18ac, 0x1d90, 0x18ac, 0x1e62, 0x194a, 0x1e62, 0x194a, -0x1f34, 0x19f8, 0x1f34, 0x19f8, 0x2055, 0x1b08, 0x2055, 0x1b08, 0x20b0, 0x1b63, 0x20b0, -0x1b63, 0x20b0, 0x1b63, 0x20b3, 0x1b76, 0x20b3, 0x1b76, 0x211f, 0x1c02, 0x211f, 0x1c02, -0x2134, 0x1c42, 0x2134, 0x1c42, 0x20bb, 0x1bff, 0x20bb, 0x1bff, 0x1fff, 0x1b80, 0x1fff, -0x1b80, 0x1fff, 0x1b80, 0x1e2b, 0x19ef, 0x1e2b, 0x19ef, 0x1c6d, 0x1876, 0x1c6d, 0x1876, -0x1b03, 0x1752, 0x1b03, 0x1752, 0x199b, 0x162f, 0x199b, 0x162f, 0x1935, 0x160b, 0x1935, -0x160b, 0x17ec, 0x1500, 0x17ec, 0x1500, 0x17ec, 0x1500, 0x14a6, 0x11f2, 0x14a6, 0x11f2, -0x11bf, 0xf3f, 0x11bf, 0xf3f, 0xfc1, 0xd6f, 0xfc1, 0xd6f, 0xd22, 0xafa, 0xd22, -0xafa, 0xb4d, 0x94b, 0xb4d, 0x94b, 0xa8f, 0x8af, 0xa8f, 0x8af, 0xa8f, 0x8af, -0x910, 0x752, 0x910, 0x752, 0x81b, 0x67f, 0x81b, 0x67f, 0x860, 0x6e6, 0x860, -0x6e6, 0x8e4, 0x78f, 0x8e4, 0x78f, 0x912, 0x7e6, 0x912, 0x7e6, 0x912, 0x7e6, -0x864, 0x766, 0x864, 0x766, 0x795, 0x6c9, 0x795, 0x6c9, 0x771, 0x6db, 0x771, -0x6db, 0x6e5, 0x68a, 0x6e5, 0x68a, 0x584, 0x569, 0x584, 0x569, 0x3ee, 0x414, -0x3ee, 0x414, 0x3ee, 0x414, 0x204, 0x26d, 0x204, 0x26d, 0x54, 0xff, 0x54, -0xff, 0xff39, 0x24, 0xff39, 0x24, 0xfd6b, 0xfe90, 0xfd6b, 0xfe90, 0xfa58, 0xfbb2, -0xfa58, 0xfbb2, 0xf825, 0xf9ab, 0xf825, 0xf9ab, 0xf825, 0xf9ab, 0xf743, 0xf8eb, 0xf743, -0xf8eb, 0xf625, 0xf7e4, 0xf625, 0xf7e4, 0xf4e7, 0xf6b1, 0xf4e7, 0xf6b1, 0xf3d9, 0xf5a2, -0xf3d9, 0xf5a2, 0xf364, 0xf51f, 0xf364, 0xf51f, 0xf364, 0xf51f, 0xf36c, 0xf50f, 0xf36c, -0xf50f, 0xf3b1, 0xf531, 0xf3b1, 0xf531, 0xf40d, 0xf562, 0xf40d, 0xf562, 0xf4c4, 0xf5e8, -0xf4c4, 0xf5e8, 0xf619, 0xf709, 0xf619, 0xf709, 0xf749, 0xf804, 0xf749, 0xf804, 0xf749, -0xf804, 0xf8d3, 0xf95d, 0xf8d3, 0xf95d, 0xfa93, 0xfaf0, 0xfa93, 0xfaf0, 0xfbc6, 0xfc00, -0xfbc6, 0xfc00, 0xfca1, 0xfcc2, 0xfca1, 0xfcc2, 0xfd3f, 0xfd56, 0xfd3f, 0xfd56, 0xfd29, -0xfd45, 0xfd29, 0xfd45, 0xfd29, 0xfd45, 0xfca3, 0xfcd4, 0xfca3, 0xfcd4, 0xfc81, 0xfcd8, -0xfc81, 0xfcd8, 0xfb9b, 0xfc29, 0xfb9b, 0xfc29, 0xfa4a, 0xfb20, 0xfa4a, 0xfb20, 0xf92b, -0xfa57, 0xf92b, 0xfa57, 0xf92b, 0xfa57, 0xf751, 0xf8de, 0xf751, 0xf8de, 0xf581, 0xf779, -0xf581, 0xf779, 0xf458, 0xf6c0, 0xf458, 0xf6c0, 0xf340, 0xf61c, 0xf340, 0xf61c, 0xf14e, -0xf49b, 0xf14e, 0xf49b, 0xef47, 0xf300, 0xef47, 0xf300, 0xef47, 0xf300, 0xedf4, 0xf20e, -0xedf4, 0xf20e, 0xec80, 0xf0ef, 0xec80, 0xf0ef, 0xeba7, 0xf05b, 0xeba7, 0xf05b, 0xeb6f, -0xf054, 0xeb6f, 0xf054, 0xea8c, 0xef8d, 0xea8c, 0xef8d, 0xe9a6, 0xeeac, 0xe9a6, 0xeeac, -0xe9a6, 0xeeac, 0xe9ab, 0xeea0, 0xe9ab, 0xeea0, 0xea07, 0xeed3, 0xea07, 0xeed3, 0xea49, -0xeed6, 0xea49, 0xeed6, 0xeadb, 0xef14, 0xeadb, 0xef14, 0xebb4, 0xef86, 0xebb4, 0xef86, -0xebb4, 0xef86, 0xed17, 0xf073, 0xed17, 0xf073, 0xefc0, 0xf299, 0xefc0, 0xf299, 0xf281, -0xf4cd, 0xf281, 0xf4cd, 0xf4f2, 0xf6ab, 0xf4f2, 0xf6ab, 0xf860, 0xf982, 0xf860, 0xf982, -0xfc45, 0xfcd3, 0xfc45, 0xfcd3, 0xfc45, 0xfcd3, 0xffd9, 0xffd7, 0xffd9, 0xffd7, 0x3a1, -0x316, 0x3a1, 0x316, 0x705, 0x5fb, 0x705, 0x5fb, 0x919, 0x79a, 0x919, 0x79a, -0xb4d, 0x968, 0xb4d, 0x968, 0xdb7, 0xb77, 0xdb7, 0xb77, 0xdb7, 0xb77, 0xf7d, -0xcf0, 0xf7d, 0xcf0, 0x11d9, 0xf0f, 0x11d9, 0xf0f, 0x138d, 0x1091, 0x138d, 0x1091, -0x13e9, 0x10c6, 0x13e9, 0x10c6, 0x1519, 0x11da, 0x1519, 0x11da, 0x1519, 0x11da, 0x16c0, -0x136f, 0x16c0, 0x136f, 0x178f, 0x1433, 0x178f, 0x1433, 0x17e1, 0x147f, 0x17e1, 0x147f, -0x17b7, 0x1454, 0x17b7, 0x1454, 0x1743, 0x13e2, 0x1743, 0x13e2, 0x1796, 0x143a, 0x1796, -0x143a, 0x1796, 0x143a, 0x17c3, 0x146d, 0x17c3, 0x146d, 0x16f0, 0x13a3, 0x16f0, 0x13a3, -0x1675, 0x1331, 0x1675, 0x1331, 0x1678, 0x133f, 0x1678, 0x133f, 0x163a, 0x130f, 0x163a, -0x130f, 0x1570, 0x1257, 0x1570, 0x1257, 0x1570, 0x1257, 0x1463, 0x1160, 0x1463, 0x1160, -0x13ad, 0x10c5, 0x13ad, 0x10c5, 0x12f2, 0x102d, 0x12f2, 0x102d, 0x11e2, 0xf46, 0x11e2, -0xf46, 0x106e, 0xe04, 0x106e, 0xe04, 0x106e, 0xe04, 0xe5e, 0xc2e, 0xe5e, 0xc2e, -0xbb3, 0x9c7, 0xbb3, 0x9c7, 0x8e3, 0x742, 0x8e3, 0x742, 0x688, 0x53b, 0x688, -0x53b, 0x3aa, 0x2b7, 0x3aa, 0x2b7, 0x91, 0xfffe, 0x91, 0xfffe, 0x91, 0xfffe, -0xfea2, 0xfe73, 0xfea2, 0xfe73, 0xfd01, 0xfd38, 0xfd01, 0xfd38, 0xfad7, 0xfb74, 0xfad7, -0xfb74, 0xf783, 0xf884, 0xf783, 0xf884, 0xf38a, 0xf4eb, 0xf38a, 0xf4eb, 0xf38a, 0xf4eb, -0xf014, 0xf1cd, 0xf014, 0xf1cd, 0xed31, 0xef3c, 0xed31, 0xef3c, 0xeb1e, 0xed6f, 0xeb1e, -0xed6f, 0xe958, 0xebe6, 0xe958, 0xebe6, 0xe729, 0xe9e8, 0xe729, 0xe9e8, 0xe4e3, 0xe7c6, -0xe4e3, 0xe7c6, 0xe4e3, 0xe7c6, 0xe3e1, 0xe6de, 0xe3e1, 0xe6de, 0xe3a1, 0xe6ad, 0xe3a1, -0xe6ad, 0xe28d, 0xe59d, 0xe28d, 0xe59d, 0xe16f, 0xe47c, 0xe16f, 0xe47c, 0xe12c, 0xe42e, -0xe12c, 0xe42e, 0xe16d, 0xe461, 0xe16d, 0xe461, 0xe16d, 0xe461, 0xe1c9, 0xe4ab, 0xe1c9, -0xe4ab, 0xe2e6, 0xe5b7, 0xe2e6, 0xe5b7, 0xe459, 0xe719, 0xe459, 0xe719, 0xe57c, 0xe82f, -0xe57c, 0xe82f, 0xe761, 0xea0a, 0xe761, 0xea0a, 0xe761, 0xea0a, 0xe9b0, 0xec56, 0xe9b0, -0xec56, 0xeb5b, 0xee02, 0xeb5b, 0xee02, 0xec3f, 0xeeed, 0xec3f, 0xeeed, 0xeca8, 0xef62, -0xeca8, 0xef62, 0xec8a, 0xef53, 0xec8a, 0xef53, 0xec52, 0xef2e, 0xec52, 0xef2e, 0xec52, -0xef2e, 0xec9f, 0xef8c, 0xec9f, 0xef8c, 0xed0a, 0xf007, 0xed0a, 0xf007, 0xed12, 0xf01a, -0xed12, 0xf01a, 0xec80, 0xef8c, 0xec80, 0xef8c, 0xec4c, 0xef54, 0xec4c, 0xef54, 0xecaa, -0xefa1, 0xecaa, 0xefa1, 0xecaa, 0xefa1, 0xed01, 0xefda, 0xed01, 0xefda, 0xeda7, 0xf052, -0xeda7, 0xf052, 0xeed6, 0xf142, 0xeed6, 0xf142, 0xf144, 0xf362, 0xf144, 0xf362, 0xf485, -0xf644, 0xf485, 0xf644, 0xf485, 0xf644, 0xf7ad, 0xf8fd, 0xf7ad, 0xf8fd, 0xfb61, 0xfc34, -0xfb61, 0xfc34, 0xff22, 0xff6d, 0xff22, 0xff6d, 0x2b5, 0x26e, 0x2b5, 0x26e, 0x793, -0x6b4, 0x793, 0x6b4, 0xcec, 0xb72, 0xcec, 0xb72, 0xcec, 0xb72, 0x10e7, 0xed3, -0x10e7, 0xed3, 0x144a, 0x11a1, 0x144a, 0x11a1, 0x182f, 0x14f8, 0x182f, 0x14f8, 0x1bcb, -0x1813, 0x1bcb, 0x1813, 0x1e94, 0x1a68, 0x1e94, 0x1a68, 0x20b8, 0x1c2a, 0x20b8, 0x1c2a, -0x20b8, 0x1c2a, 0x21de, 0x1cff, 0x21de, 0x1cff, 0x22e7, 0x1dcc, 0x22e7, 0x1dcc, 0x2471, -0x1f2f, 0x2471, 0x1f2f, 0x24fd, 0x1fa8, 0x24fd, 0x1fa8, 0x24b8, 0x1f62, 0x24b8, 0x1f62, -0x24b8, 0x1f62, 0x24b0, 0x1f6d, 0x24b0, 0x1f6d, 0x246a, 0x1f49, 0x246a, 0x1f49, 0x23a7, -0x1eb5, 0x23a7, 0x1eb5, 0x2276, 0x1dbe, 0x2276, 0x1dbe, 0x20d0, 0x1c58, 0x20d0, 0x1c58, -0x1f1e, 0x1aec, 0x1f1e, 0x1aec, 0x1f1e, 0x1aec, 0x1dce, 0x19e4, 0x1dce, 0x19e4, 0x1c8b, -0x18e7, 0x1c8b, 0x18e7, 0x1ab1, 0x1750, 0x1ab1, 0x1750, 0x1882, 0x155e, 0x1882, 0x155e, -0x160e, 0x1320, 0x160e, 0x1320, 0x1382, 0x10c3, 0x1382, 0x10c3, 0x1382, 0x10c3, 0x1135, -0xe9c, 0x1135, 0xe9c, 0xe9a, 0xc21, 0xe9a, 0xc21, 0xbff, 0x99d, 0xbff, 0x99d, -0x9a1, 0x751, 0x9a1, 0x751, 0x7a9, 0x567, 0x7a9, 0x567, 0x7a9, 0x567, 0x6e8, -0x4b1, 0x6e8, 0x4b1, 0x6d5, 0x4a9, 0x6d5, 0x4a9, 0x695, 0x476, 0x695, 0x476, -0x65f, 0x452, 0x65f, 0x452, 0x5ff, 0x408, 0x5ff, 0x408, 0x4f3, 0x31a, 0x4f3, -0x31a, 0x4f3, 0x31a, 0x40f, 0x25a, 0x40f, 0x25a, 0x351, 0x1c9, 0x351, 0x1c9, -0x223, 0xd0, 0x223, 0xd0, 0x9d, 0xff87, 0x9d, 0xff87, 0xfe62, 0xfd90, 0xfe62, -0xfd90, 0xfc50, 0xfbc6, 0xfc50, 0xfbc6, 0xfc50, 0xfbc6, 0xfb58, 0xfb18, 0xfb58, 0xfb18, -0xfa3c, 0xfa47, 0xfa3c, 0xfa47, 0xf838, 0xf88d, 0xf838, 0xf88d, 0xf6fc, 0xf796, 0xf6fc, -0xf796, 0xf6b7, 0xf78f, 0xf6b7, 0xf78f, 0xf6b7, 0xf78f, 0xf620, 0xf72d, 0xf620, 0xf72d, -0xf59e, 0xf6d6, 0xf59e, 0xf6d6, 0xf505, 0xf65d, 0xf505, 0xf65d, 0xf446, 0xf5b1, 0xf446, -0xf5b1, 0xf455, 0xf5c6, 0xf455, 0xf5c6, 0xf530, 0xf69b, 0xf530, 0xf69b, 0xf530, 0xf69b, -0xf5e7, 0xf741, 0xf5e7, 0xf741, 0xf69b, 0xf7db, 0xf69b, 0xf7db, 0xf7d7, 0xf8f5, 0xf7d7, -0xf8f5, 0xf92e, 0xfa26, 0xf92e, 0xfa26, 0xfa9f, 0xfb70, 0xfa9f, 0xfb70, 0xfc3d, 0xfce8, -0xfc3d, 0xfce8, 0xfc3d, 0xfce8, 0xfdb3, 0xfe3e, 0xfdb3, 0xfe3e, 0xfe8b, 0xfefe, 0xfe8b, -0xfefe, 0xff80, 0xffe5, 0xff80, 0xffe5, 0x5d, 0xc4, 0x5d, 0xc4, 0xffa5, 0x1b, -0xffa5, 0x1b, 0xffa5, 0x1b, 0xfe38, 0xfecf, 0xfe38, 0xfecf, 0xfcfe, 0xfdc8, 0xfcfe, -0xfdc8, 0xfbfc, 0xfd08, 0xfbfc, 0xfd08, 0xfb12, 0xfc71, 0xfb12, 0xfc71, 0xfa14, 0xfbd3, -0xfa14, 0xfbd3, 0xf8ed, 0xfb19, 0xf8ed, 0xfb19, 0xf8ed, 0xfb19, 0xf7fc, 0xfa9c, 0xf7fc, -0xfa9c, 0xf6e2, 0xf9fb, 0xf6e2, 0xf9fb, 0xf465, 0xf7f7, 0xf465, 0xf7f7, 0xf1b5, 0xf5bd, -0xf1b5, 0xf5bd, 0xef6e, 0xf3e5, 0xef6e, 0xf3e5, 0xed87, 0xf260, 0xed87, 0xf260, 0xed87, -0xf260, 0xecb7, 0xf1e3, 0xecb7, 0xf1e3, 0xec25, 0xf191, 0xec25, 0xf191, 0xeabd, 0xf053, -0xeabd, 0xf053, 0xe931, 0xeed9, 0xe931, 0xeed9, 0xe8ab, 0xee4d, 0xe8ab, 0xee4d, 0xe8ab, -0xee4d, 0xe816, 0xed99, 0xe816, 0xed99, 0xe76f, 0xecb9, 0xe76f, 0xecb9, 0xe802, 0xecfc, -0xe802, 0xecfc, 0xe971, 0xee07, 0xe971, 0xee07, 0xea8d, 0xeeac, 0xea8d, 0xeeac, 0xebc7, -0xef5f, 0xebc7, 0xef5f, 0xebc7, 0xef5f, 0xee3c, 0xf141, 0xee3c, 0xf141, 0xf0bf, 0xf32b, -0xf0bf, 0xf32b, 0xf3f4, 0xf5c2, 0xf3f4, 0xf5c2, 0xf80b, 0xf93c, 0xf80b, 0xf93c, 0xfba9, -0xfc40, 0xfba9, 0xfc40, 0xff6d, 0xff72, 0xff6d, 0xff72, 0xff6d, 0xff72, 0x2ff, 0x27c, -0x2ff, 0x27c, 0x602, 0x504, 0x602, 0x504, 0x874, 0x70a, 0x874, 0x70a, 0xa25, -0x85d, 0xa25, 0x85d, 0xbc1, 0x9aa, 0xbc1, 0x9aa, 0xbc1, 0x9aa, 0xe07, 0xbb2, -0xe07, 0xbb2, 0xfa7, 0xd22, 0xfa7, 0xd22, 0xfbd, 0xd15, 0xfbd, 0xd15, 0x1031, -0xd73, 0x1031, 0xd73, 0x10eb, 0xe20, 0x10eb, 0xe20, 0x1159, 0xe89, 0x1159, 0xe89, -0x1159, 0xe89, 0x11df, 0xf10, 0x11df, 0xf10, 0x1237, 0xf6c, 0x1237, 0xf6c, 0x1233, -0xf70, 0x1233, 0xf70, 0x118f, 0xed5, 0x118f, 0xed5, 0x10fe, 0xe4c, 0x10fe, 0xe4c, -0x10fe, 0xe4c, 0x113a, 0xe90, 0x113a, 0xe90, 0x11fa, 0xf58, 0x11fa, 0xf58, 0x1244, -0xfaa, 0x1244, 0xfaa, 0x1248, 0xfb7, 0x1248, 0xfb7, 0x12b5, 0x102e, 0x12b5, 0x102e, -0x12be, 0x1045, 0x12be, 0x1045, 0x12be, 0x1045, 0x12c8, 0x1062, 0x12c8, 0x1062, 0x12f8, -0x10ab, 0x12f8, 0x10ab, 0x122a, 0xffe, 0x122a, 0xffe, 0x10d4, 0xed2, 0x10d4, 0xed2, -0xf33, 0xd64, 0xf33, 0xd64, 0xcc1, 0xb30, 0xcc1, 0xb30, 0xcc1, 0xb30, 0xa60, -0x918, 0xa60, 0x918, 0x826, 0x731, 0x826, 0x731, 0x57b, 0x4e3, 0x57b, 0x4e3, -0x331, 0x2fe, 0x331, 0x2fe, 0x192, 0x1cb, 0x192, 0x1cb, 0x192, 0x1cb, 0xffe5, -0x8e, 0xffe5, 0x8e, 0xfd72, 0xfe8c, 0xfd72, 0xfe8c, 0xfa6e, 0xfbfb, 0xfa6e, 0xfbfb, -0xf735, 0xf92f, 0xf735, 0xf92f, 0xf3bd, 0xf620, 0xf3bd, 0xf620, 0xf159, 0xf41c, 0xf159, -0xf41c, 0xf159, 0xf41c, 0xeffe, 0xf317, 0xeffe, 0xf317, 0xedf0, 0xf152, 0xedf0, 0xf152, -0xebb1, 0xef4e, 0xebb1, 0xef4e, 0xea83, 0xee4d, 0xea83, 0xee4d, 0xe9f1, 0xedd9, 0xe9f1, -0xedd9, 0xe91f, 0xed16, 0xe91f, 0xed16, 0xe91f, 0xed16, 0xe7fb, 0xebf3, 0xe7fb, 0xebf3, -0xe686, 0xea73, 0xe686, 0xea73, 0xe55f, 0xe936, 0xe55f, 0xe936, 0xe55f, 0xe919, 0xe55f, -0xe919, 0xe5aa, 0xe93f, 0xe5aa, 0xe93f, 0xe5aa, 0xe93f, 0xe629, 0xe996, 0xe629, 0xe996, -0xe76e, 0xeab1, 0xe76e, 0xeab1, 0xe875, 0xeb8f, 0xe875, 0xeb8f, 0xe98c, 0xec80, 0xe98c, -0xec80, 0xeb1c, 0xedee, 0xeb1c, 0xedee, 0xec0b, 0xeec1, 0xec0b, 0xeec1, 0xec0b, 0xeec1, -0xec7a, 0xef19, 0xec7a, 0xef19, 0xed05, 0xef92, 0xed05, 0xef92, 0xed43, 0xefc4, 0xed43, -0xefc4, 0xec9d, 0xef15, 0xec9d, 0xef15, 0xec48, 0xeeba, 0xec48, 0xeeba, 0xed13, 0xef7e, -0xed13, 0xef7e, 0xed13, 0xef7e, 0xed0f, 0xef72, 0xed0f, 0xef72, 0xec6a, 0xeebf, 0xec6a, -0xeebf, 0xec61, 0xeea0, 0xec61, 0xeea0, 0xec62, 0xee82, 0xec62, 0xee82, 0xecca, 0xeebf, -0xecca, 0xeebf, 0xecca, 0xeebf, 0xed60, 0xef1b, 0xed60, 0xef1b, 0xede3, 0xef56, 0xede3, -0xef56, 0xef76, 0xf090, 0xef76, 0xf090, 0xf24a, 0xf2fc, 0xf24a, 0xf2fc, 0xf5a2, 0xf5dc, -0xf5a2, 0xf5dc, 0xf94f, 0xf903, 0xf94f, 0xf903, 0xf94f, 0xf903, 0xfe17, 0xfd3b, 0xfe17, -0xfd3b, 0x2fa, 0x184, 0x2fa, 0x184, 0x6ec, 0x4d7, 0x6ec, 0x4d7, 0xb03, 0x84d, -0xb03, 0x84d, 0xf3d, 0xbe7, 0xf3d, 0xbe7, 0x1326, 0xf37, 0x1326, 0xf37, 0x1326, -0xf37, 0x16d3, 0x1255, 0x16d3, 0x1255, 0x1a20, 0x1520, 0x1a20, 0x1520, 0x1cc0, 0x1750, -0x1cc0, 0x1750, 0x1ebd, 0x18f0, 0x1ebd, 0x18f0, 0x207f, 0x1a6b, 0x207f, 0x1a6b, 0x207f, -0x1a6b, 0x225a, 0x1c15, 0x225a, 0x1c15, 0x23ca, 0x1d6e, 0x23ca, 0x1d6e, 0x242f, 0x1dd3, -0x242f, 0x1dd3, 0x24eb, 0x1ea6, 0x24eb, 0x1ea6, 0x2602, 0x1fea, 0x2602, 0x1fea, 0x260e, -0x2034, 0x260e, 0x2034, 0x260e, 0x2034, 0x2528, 0x1f9d, 0x2528, 0x1f9d, 0x23c4, 0x1e95, -0x23c4, 0x1e95, 0x2247, 0x1d7d, 0x2247, 0x1d7d, 0x2088, 0x1c29, 0x2088, 0x1c29, 0x1ef6, -0x1b03, 0x1ef6, 0x1b03, 0x1dd6, 0x1a4e, 0x1dd6, 0x1a4e, 0x1dd6, 0x1a4e, 0x1c62, 0x1941, -0x1c62, 0x1941, 0x19b7, 0x16f4, 0x19b7, 0x16f4, 0x16c7, 0x145b, 0x16c7, 0x145b, 0x1573, -0x1353, 0x1573, 0x1353, 0x13de, 0x11ff, 0x13de, 0x11ff, 0x13de, 0x11ff, 0x10c8, 0xf20, -0x10c8, 0xf20, 0xd8a, 0xc0e, 0xd8a, 0xc0e, 0xad1, 0x977, 0xad1, 0x977, 0x903, -0x7c5, 0x903, 0x7c5, 0x85b, 0x733, 0x85b, 0x733, 0x816, 0x703, 0x816, 0x703, -0x816, 0x703, 0x70d, 0x60c, 0x70d, 0x60c, 0x684, 0x598, 0x684, 0x598, 0x6d8, -0x604, 0x6d8, 0x604, 0x6c9, 0x613, 0x6c9, 0x613, 0x623, 0x592, 0x623, 0x592, -0x536, 0x4d0, 0x536, 0x4d0, 0x536, 0x4d0, 0x48d, 0x45b, 0x48d, 0x45b, 0x36f, -0x378, 0x36f, 0x378, 0x1fd, 0x248, 0x1fd, 0x248, 0x64, 0xf4, 0x64, 0xf4, -0xfe46, 0xff1e, 0xfe46, 0xff1e, 0xfe46, 0xff1e, 0xfbc9, 0xfcea, 0xfbc9, 0xfcea, 0xf8c2, -0xfa28, 0xf8c2, 0xfa28, 0xf61b, 0xf7c3, 0xf61b, 0xf7c3, 0xf490, 0xf671, 0xf490, 0xf671, -0xf3dc, 0xf5ed, 0xf3dc, 0xf5ed, 0xf307, 0xf53b, 0xf307, 0xf53b, 0xf307, 0xf53b, 0xf23e, -0xf487, 0xf23e, 0xf487, 0xf1e6, 0xf436, 0xf1e6, 0xf436, 0xf13c, 0xf384, 0xf13c, 0xf384, -0xf0f2, 0xf323, 0xf0f2, 0xf323, 0xf13d, 0xf349, 0xf13d, 0xf349, 0xf1b6, 0xf392, 0xf1b6, -0xf392, 0xf1b6, 0xf392, 0xf306, 0xf4a8, 0xf306, 0xf4a8, 0xf506, 0xf669, 0xf506, 0xf669, -0xf6a2, 0xf7c1, 0xf6a2, 0xf7c1, 0xf88a, 0xf966, 0xf88a, 0xf966, 0xfad1, 0xfb6f, 0xfad1, -0xfb6f, 0xfad1, 0xfb6f, 0xfbe4, 0xfc4b, 0xfbe4, 0xfc4b, 0xfc7b, 0xfcb6, 0xfc7b, 0xfcb6, -0xfd17, 0xfd35, 0xfd17, 0xfd35, 0xfce8, 0xfcf8, 0xfce8, 0xfcf8, 0xfbfa, 0xfc0f, 0xfbfa, -0xfc0f, 0xfb17, 0xfb43, 0xfb17, 0xfb43, 0xfb17, 0xfb43, 0xf9e1, 0xfa39, 0xf9e1, 0xfa39, -0xf832, 0xf8c7, 0xf832, 0xf8c7, 0xf751, 0xf834, 0xf751, 0xf834, 0xf6e1, 0xf821, 0xf6e1, -0xf821, 0xf5d8, 0xf780, 0xf5d8, 0xf780, 0xf3de, 0xf5f6, 0xf3de, 0xf5f6, 0xf3de, 0xf5f6, -0xf1a1, 0xf42d, 0xf1a1, 0xf42d, 0xefc5, 0xf2c5, 0xefc5, 0xf2c5, 0xee92, 0xf1ff, 0xee92, -0xf1ff, 0xeda3, 0xf175, 0xeda3, 0xf175, 0xec48, 0xf071, 0xec48, 0xf071, 0xec48, 0xf071, -0xeb90, 0xefff, 0xeb90, 0xefff, 0xeb13, 0xefb5, 0xeb13, 0xefb5, 0xea82, 0xef41, 0xea82, -0xef41, 0xea97, 0xef5a, 0xea97, 0xef5a, 0xeac4, 0xef74, 0xeac4, 0xef74, 0xeaa0, 0xef24, -0xeaa0, 0xef24, 0xeaa0, 0xef24, 0xea91, 0xeed3, 0xea91, 0xeed3, 0xeb2a, 0xef14, 0xeb2a, -0xef14, 0xec40, 0xefc0, 0xec40, 0xefc0, 0xee3c, 0xf143, 0xee3c, 0xf143, 0xf091, 0xf312, -0xf091, 0xf312, 0xf091, 0xf312, 0xf30c, 0xf500, 0xf30c, 0xf500, 0xf698, 0xf7fa, 0xf698, -0xf7fa, 0xfa9f, 0xfb70, 0xfa9f, 0xfb70, 0xfeae, 0xfef0, 0xfeae, 0xfef0, 0x25a, 0x214, -0x25a, 0x214, 0x55e, 0x499, 0x55e, 0x499, 0x55e, 0x499, 0x822, 0x6eb, 0x822, -0x6eb, 0xb22, 0x985, 0xb22, 0x985, 0xd50, 0xb5b, 0xd50, 0xb5b, 0xeb3, 0xc74, -0xeb3, 0xc74, 0x1074, 0xdf9, 0x1074, 0xdf9, 0x120d, 0xf64, 0x120d, 0xf64, 0x120d, -0xf64, 0x13db, 0x110f, 0x13db, 0x110f, 0x14f9, 0x1215, 0x14f9, 0x1215, 0x154b, 0x1257, -0x154b, 0x1257, 0x15e7, 0x12ea, 0x15e7, 0x12ea, 0x162f, 0x132e, 0x162f, 0x132e, 0x162f, -0x132e, 0x15dd, 0x12da, 0x15dd, 0x12da, 0x14f7, 0x11f3, 0x14f7, 0x11f3, 0x14b8, 0x11b5, -0x14b8, 0x11b5, 0x14fe, 0x11fc, 0x14fe, 0x11fc, 0x151c, 0x121a, 0x151c, 0x121a, 0x1542, -0x123f, 0x1542, 0x123f, 0x1542, 0x123f, 0x1493, 0x1191, 0x1493, 0x1191, 0x138c, 0x108c, -0x138c, 0x108c, 0x1331, 0x1037, 0x1331, 0x1037, 0x1382, 0x1092, 0x1382, 0x1092, 0x1366, -0x1088, 0x1366, 0x1088, 0x125e, 0xf98, 0x125e, 0xf98, 0x125e, 0xf98, 0x114a, 0xea7, -0x114a, 0xea7, 0xfd3, 0xd5d, 0xfd3, 0xd5d, 0xda7, 0xb6b, 0xda7, 0xb6b, 0xbad, -0x9b6, 0xbad, 0x9b6, 0x95e, 0x7b8, 0x95e, 0x7b8, 0x95e, 0x7b8, 0x64a, 0x502, -0x64a, 0x502, 0x3bc, 0x2db, 0x3bc, 0x2db, 0x1b3, 0x143, 0x1b3, 0x143, 0xffc0, -0xffc6, 0xffc0, 0xffc6, 0xfd92, 0xfe14, 0xfd92, 0xfe14, 0xfab2, 0xfbb0, 0xfab2, 0xfbb0, -0xfab2, 0xfbb0, 0xf7e1, 0xf95a, 0xf7e1, 0xf95a, 0xf5a6, 0xf795, 0xf5a6, 0xf795, 0xf337, -0xf595, 0xf337, 0xf595, 0xf040, 0xf301, 0xf040, 0xf301, 0xedc3, 0xf0dc, 0xedc3, 0xf0dc, -0xeb83, 0xeee6, 0xeb83, 0xeee6, 0xeb83, 0xeee6, 0xe94a, 0xece7, 0xe94a, 0xece7, 0xe818, -0xebde, 0xe818, 0xebde, 0xe6dc, 0xeabb, 0xe6dc, 0xeabb, 0xe4c8, 0xe8b1, 0xe4c8, 0xe8b1, -0xe379, 0xe75d, 0xe379, 0xe75d, 0xe379, 0xe75d, 0xe32a, 0xe6fc, 0xe32a, 0xe6fc, 0xe29e, -0xe653, 0xe29e, 0xe653, 0xe26d, 0xe5ff, 0xe26d, 0xe5ff, 0xe31b, 0xe683, 0xe31b, 0xe683, -0xe390, 0xe6cc, 0xe390, 0xe6cc, 0xe41d, 0xe72e, 0xe41d, 0xe72e, 0xe41d, 0xe72e, 0xe5f1, -0xe8d9, 0xe5f1, 0xe8d9, 0xe7eb, 0xeaae, 0xe7eb, 0xeaae, 0xe93b, 0xebe0, 0xe93b, 0xebe0, -0xea91, 0xed20, 0xea91, 0xed20, 0xeb8f, 0xee0f, 0xeb8f, 0xee0f, 0xece9, 0xef62, 0xece9, -0xef62, 0xece9, 0xef62, 0xee3f, 0xf0b7, 0xee3f, 0xf0b7, 0xee8c, 0xf107, 0xee8c, 0xf107, -0xef19, 0xf19b, 0xef19, 0xf19b, 0xef41, 0xf1cb, 0xef41, 0xf1cb, 0xee6d, 0xf0fb, 0xee6d, -0xf0fb, 0xee6d, 0xf0fb, 0xede9, 0xf075, 0xede9, 0xf075, 0xedf0, 0xf072, 0xedf0, 0xf072, -0xed7b, 0xefe7, 0xed7b, 0xefe7, 0xecbd, 0xef06, 0xecbd, 0xef06, 0xed70, 0xef85, 0xed70, -0xef85, 0xeec5, 0xf095, 0xeec5, 0xf095, 0xeec5, 0xf095, 0xefac, 0xf124, 0xefac, 0xf124, -0xf125, 0xf233, 0xf125, 0xf233, 0xf407, 0xf49a, 0xf407, 0xf49a, 0xf86e, 0xf875, 0xf86e, -0xf875, 0xfd6b, 0xfcd9, 0xfd6b, 0xfcd9, 0x240, 0x10b, 0x240, 0x10b, 0x240, 0x10b, -0x6af, 0x4d0, 0x6af, 0x4d0, 0xb1c, 0x891, 0xb1c, 0x891, 0xfd2, 0xc9c, 0xfd2, -0xc9c, 0x1440, 0x1065, 0x1440, 0x1065, 0x1853, 0x13df, 0x1853, 0x13df, 0x1853, 0x13df, -0x1ba0, 0x16a0, 0x1ba0, 0x16a0, 0x1e43, 0x18c9, 0x1e43, 0x18c9, 0x20c8, 0x1aeb, 0x20c8, -0x1aeb, 0x22a9, 0x1c7f, 0x22a9, 0x1c7f, 0x23c7, 0x1d6a, 0x23c7, 0x1d6a, 0x248d, 0x1e17, -0x248d, 0x1e17, 0x248d, 0x1e17, 0x253f, 0x1eca, 0x253f, 0x1eca, 0x25a2, 0x1f46, 0x25a2, -0x1f46, 0x25b8, 0x1f8c, 0x25b8, 0x1f8c, 0x2599, 0x1fb2, 0x2599, 0x1fb2, 0x24d3, 0x1f42, -0x24d3, 0x1f42, 0x235d, 0x1e2f, 0x235d, 0x1e2f, 0x235d, 0x1e2f, 0x21bc, 0x1cfd, 0x21bc, -0x1cfd, 0x2083, 0x1c36, 0x2083, 0x1c36, 0x1f19, 0x1b43, 0x1f19, 0x1b43, 0x1cf4, 0x1991, -0x1cf4, 0x1991, 0x1a6b, 0x1777, 0x1a6b, 0x1777, 0x1a6b, 0x1777, 0x182f, 0x15a4, 0x182f, -0x15a4, 0x16ad, 0x1480, 0x16ad, 0x1480, 0x14d6, 0x12fe, 0x14d6, 0x12fe, 0x121c, 0x108c, -0x121c, 0x108c, 0xeea, 0xd98, 0xeea, 0xd98, 0xbcf, 0xaaf, 0xbcf, 0xaaf, 0xbcf, -0xaaf, 0x95e, 0x869, 0x95e, 0x869, 0x7af, 0x6dc, 0x7af, 0x6dc, 0x693, 0x5dd, -0x693, 0x5dd, 0x597, 0x4fb, 0x597, 0x4fb, 0x4e2, 0x45f, 0x4e2, 0x45f, 0x49b, -0x433, 0x49b, 0x433, 0x49b, 0x433, 0x42d, 0x3e4, 0x42d, 0x3e4, 0x395, 0x36f, -0x395, 0x36f, 0x31a, 0x31f, 0x31a, 0x31f, 0x2d5, 0x30c, 0x2d5, 0x30c, 0x30a, -0x379, 0x30a, 0x379, 0x30a, 0x379, 0x2ac, 0x359, 0x2ac, 0x359, 0xf0, 0x1e1, -0xf0, 0x1e1, 0xff3b, 0x72, 0xff3b, 0x72, 0xfd60, 0xfedd, 0xfd60, 0xfedd, 0xfb49, -0xfd0b, 0xfb49, 0xfd0b, 0xfa06, 0xfc08, 0xfa06, 0xfc08, 0xfa06, 0xfc08, 0xf892, 0xfacc, -0xf892, 0xfacc, 0xf6dc, 0xf944, 0xf6dc, 0xf944, 0xf5d7, 0xf85f, 0xf5d7, 0xf85f, 0xf51e, -0xf7b8, 0xf51e, 0xf7b8, 0xf4f4, 0xf78f, 0xf4f4, 0xf78f, 0xf54b, 0xf7d7, 0xf54b, 0xf7d7, -0xf54b, 0xf7d7, 0xf50a, 0xf773, 0xf50a, 0xf773, 0xf51d, 0xf755, 0xf51d, 0xf755, 0xf692, -0xf888, 0xf692, 0xf888, 0xf823, 0xf9cb, 0xf823, 0xf9cb, 0xf8cd, 0xfa1c, 0xf8cd, 0xfa1c, -0xf8cd, 0xfa1c, 0xf963, 0xfa53, 0xf963, 0xfa53, 0xfadd, 0xfb6c, 0xfadd, 0xfb6c, 0xfcd0, -0xfcff, 0xfcd0, 0xfcff, 0xfef6, 0xfeca, 0xfef6, 0xfeca, 0x8b, 0xf, 0x8b, 0xf, -0x157, 0x97, 0x157, 0x97, 0x157, 0x97, 0x1a5, 0xb3, 0x1a5, 0xb3, 0x110, -0xffff, 0x110, 0xffff, 0x5e, 0xff43, 0x5e, 0xff43, 0xff21, 0xfe13, 0xff21, 0xfe13, -0xfd75, 0xfc8b, 0xfd75, 0xfc8b, 0xfd75, 0xfc8b, 0xfc62, 0xfbb2, 0xfc62, 0xfbb2, 0xfbc8, -0xfb67, 0xfbc8, 0xfb67, 0xfb45, 0xfb43, 0xfb45, 0xfb43, 0xf988, 0xf9f4, 0xf988, 0xf9f4, -0xf764, 0xf849, 0xf764, 0xf849, 0xf5cb, 0xf72e, 0xf5cb, 0xf72e, 0xf5cb, 0xf72e, 0xf3cb, -0xf5ae, 0xf3cb, 0xf5ae, 0xf16c, 0xf3cb, 0xf16c, 0xf3cb, 0xef6c, 0xf240, 0xef6c, 0xf240, -0xedf2, 0xf12d, 0xedf2, 0xf12d, 0xec3e, 0xefd0, 0xec3e, 0xefd0, 0xeb18, 0xeeed, 0xeb18, -0xeeed, 0xeb18, 0xeeed, 0xeb00, 0xef02, 0xeb00, 0xef02, 0xea8b, 0xeea1, 0xea8b, 0xeea1, -0xe971, 0xed82, 0xe971, 0xed82, 0xe8c7, 0xecba, 0xe8c7, 0xecba, 0xe8ac, 0xec69, 0xe8ac, -0xec69, 0xe8ac, 0xec69, 0xe885, 0xebf6, 0xe885, 0xebf6, 0xe8c7, 0xebd8, 0xe8c7, 0xebd8, -0xea13, 0xecb3, 0xea13, 0xecb3, 0xec4a, 0xee6d, 0xec4a, 0xee6d, 0xeeb8, 0xf053, 0xeeb8, -0xf053, 0xf1aa, 0xf2b9, 0xf1aa, 0xf2b9, 0xf1aa, 0xf2b9, 0xf547, 0xf5c8, 0xf547, 0xf5c8, -0xf8cc, 0xf8c2, 0xf8cc, 0xf8c2, 0xfc68, 0xfbd9, 0xfc68, 0xfbd9, 0x2d, 0xff21, 0x2d, -0xff21, 0x3fb, 0x27d, 0x3fb, 0x27d, 0x6c4, 0x4e2, 0x6c4, 0x4e2, 0x6c4, 0x4e2, -0x84b, 0x612, 0x84b, 0x612, 0xa47, 0x7c5, 0xa47, 0x7c5, 0xcb1, 0x9f4, 0xcb1, -0x9f4, 0xdeb, 0xb02, 0xdeb, 0xb02, 0xe40, 0xb36, 0xe40, 0xb36, 0xe40, 0xb36, -0xf2f, 0xc10, 0xf2f, 0xc10, 0xfeb, 0xcbf, 0xfeb, 0xcbf, 0x1027, 0xcf5, 0x1027, -0xcf5, 0x1076, 0xd44, 0x1076, 0xd44, 0x1020, 0xcf1, 0x1020, 0xcf1, 0xf7a, 0xc51, -0xf7a, 0xc51, 0xf7a, 0xc51, 0xf38, 0xc16, 0xf38, 0xc16, 0xf75, 0xc5a, 0xf75, -0xc5a, 0xfc8, 0xcb5, 0xfc8, 0xcb5, 0xfd7, 0xccc, 0xfd7, 0xccc, 0xfe7, 0xce4, -0xfe7, 0xce4, 0x1029, 0xd32, 0x1029, 0xd32, 0x1029, 0xd32, 0x10a8, 0xdbf, 0x10a8, -0xdbf, 0x1152, 0xe7d, 0x1152, 0xe7d, 0x11d6, 0xf1a, 0x11d6, 0xf1a, 0x11bb, 0xf21, -0x11bb, 0xf21, 0x111d, 0xeae, 0x111d, 0xeae, 0x111d, 0xeae, 0x1011, 0xdd8, 0x1011, -0xdd8, 0xeea, 0xcf2, 0xeea, 0xcf2, 0xde6, 0xc3b, 0xde6, 0xc3b, 0xc2f, 0xade, -0xc2f, 0xade, 0x97f, 0x891, 0x97f, 0x891, 0x6fe, 0x67e, 0x6fe, 0x67e, 0x6fe, -0x67e, 0x500, 0x4f6, 0x500, 0x4f6, 0x2a1, 0x314, 0x2a1, 0x314, 0x9b, 0x18e, -0x9b, 0x18e, 0xfead, 0x21, 0xfead, 0x21, 0xfc50, 0xfe42, 0xfc50, 0xfe42, 0xfa8b, -0xfcf7, 0xfa8b, 0xfcf7, 0xfa8b, 0xfcf7, 0xf81f, 0xfafc, 0xf81f, 0xfafc, 0xf4d7, 0xf81b, -0xf4d7, 0xf81b, 0xf236, 0xf5d4, 0xf236, 0xf5d4, 0xf008, 0xf3f0, 0xf008, 0xf3f0, 0xedf5, -0xf217, 0xedf5, 0xf217, 0xedf5, 0xf217, 0xec69, 0xf0b5, 0xec69, 0xf0b5, 0xeb3d, 0xefa1, -0xeb3d, 0xefa1, 0xe99d, 0xee09, 0xe99d, 0xee09, 0xe850, 0xecb5, 0xe850, 0xecb5, 0xe7c4, -0xec15, 0xe7c4, 0xec15, 0xe703, 0xeb34, 0xe703, 0xeb34, 0xe703, 0xeb34, 0xe678, 0xea82, -0xe678, 0xea82, 0xe66f, 0xea4b, 0xe66f, 0xea4b, 0xe6cd, 0xea7a, 0xe6cd, 0xea7a, 0xe807, -0xeb85, 0xe807, 0xeb85, 0xe92c, 0xec7d, 0xe92c, 0xec7d, 0xe9b2, 0xecdb, 0xe9b2, 0xecdb, -0xe9b2, 0xecdb, 0xea62, 0xed6a, 0xea62, 0xed6a, 0xeb1f, 0xee0e, 0xeb1f, 0xee0e, 0xec17, -0xeef6, 0xec17, 0xeef6, 0xed0e, 0xefe5, 0xed0e, 0xefe5, 0xed77, 0xf04d, 0xed77, 0xf04d, -0xed77, 0xf04d, 0xeda0, 0xf07c, 0xeda0, 0xf07c, 0xed67, 0xf04b, 0xed67, 0xf04b, 0xed4c, -0xf03b, 0xed4c, 0xf03b, 0xed3a, 0xf031, 0xed3a, 0xf031, 0xec74, 0xef6f, 0xec74, 0xef6f, -0xebb9, 0xeeaf, 0xebb9, 0xeeaf, 0xebb9, 0xeeaf, 0xeb6f, 0xee55, 0xeb6f, 0xee55, 0xeb7e, -0xee46, 0xeb7e, 0xee46, 0xebe8, 0xee81, 0xebe8, 0xee81, 0xec54, 0xeeac, 0xec54, 0xeeac, -0xed1a, 0xef1e, 0xed1a, 0xef1e, 0xef2c, 0xf0c8, 0xef2c, 0xf0c8, 0xef2c, 0xf0c8, 0xf26e, -0xf38f, 0xf26e, 0xf38f, 0xf646, 0xf6db, 0xf646, 0xf6db, 0xfa59, 0xfa52, 0xfa59, 0xfa52, -0xfded, 0xfd3e, 0xfded, 0xfd3e, 0x198, 0x38, 0x198, 0x38, 0x198, 0x38, 0x656, -0x440, 0x656, 0x440, 0xb45, 0x878, 0xb45, 0x878, 0xfa9, 0xc2a, 0xfa9, 0xc2a, -0x13a0, 0xf79, 0x13a0, 0xf79, 0x1748, 0x1286, 0x1748, 0x1286, 0x1a81, 0x1535, 0x1a81, -0x1535, 0x1a81, 0x1535, 0x1d35, 0x1775, 0x1d35, 0x1775, 0x1f8a, 0x196f, 0x1f8a, 0x196f, -0x2150, 0x1af3, 0x2150, 0x1af3, 0x224d, 0x1bc9, 0x224d, 0x1bc9, 0x22b4, 0x1c26, 0x22b4, -0x1c26, 0x23b2, 0x1d34, 0x23b2, 0x1d34, 0x23b2, 0x1d34, 0x251a, 0x1ec7, 0x251a, 0x1ec7, -0x2530, 0x1f1f, 0x2530, 0x1f1f, 0x245d, 0x1ea2, 0x245d, 0x1ea2, 0x23eb, 0x1e98, 0x23eb, -0x1e98, 0x23d9, 0x1efb, 0x23d9, 0x1efb, 0x23d9, 0x1efb, 0x22db, 0x1e7a, 0x22db, 0x1e7a, -0x20b1, 0x1cd3, 0x20b1, 0x1cd3, 0x1e8d, 0x1b32, 0x1e8d, 0x1b32, 0x1c63, 0x1988, 0x1c63, -0x1988, 0x1ac5, 0x1865, 0x1ac5, 0x1865, 0x19c6, 0x17d6, 0x19c6, 0x17d6, 0x19c6, 0x17d6, -0x17ab, 0x1620, 0x17ab, 0x1620, 0x14bd, 0x138c, 0x14bd, 0x138c, 0x127b, 0x1196, 0x127b, -0x1196, 0x107d, 0xfd7, 0x107d, 0xfd7, 0xdfd, 0xd8b, 0xdfd, 0xd8b, 0xb8a, 0xb40, -0xb8a, 0xb40, 0xb8a, 0xb40, 0x984, 0x959, 0x984, 0x959, 0x830, 0x81d, 0x830, -0x81d, 0x7b9, 0x7b9, 0x7b9, 0x7b9, 0x719, 0x72a, 0x719, 0x72a, 0x5dd, 0x600, -0x5dd, 0x600, 0x5dd, 0x600, 0x522, 0x558, 0x522, 0x558, 0x4d9, 0x526, 0x4d9, -0x526, 0x4ff, 0x569, 0x4ff, 0x569, 0x5ca, 0x657, 0x5ca, 0x657, 0x4bc, 0x570, -0x4bc, 0x570, 0x28f, 0x371, 0x28f, 0x371, 0x28f, 0x371, 0x182, 0x296, 0x182, -0x296, 0xffe8, 0x131, 0xffe8, 0x131, 0xfd9c, 0xff1a, 0xfd9c, 0xff1a, 0xfb4e, 0xfd01, -0xfb4e, 0xfd01, 0xf903, 0xfae5, 0xf903, 0xfae5, 0xf903, 0xfae5, 0xf70b, 0xf918, 0xf70b, -0xf918, 0xf59f, 0xf7cd, 0xf59f, 0xf7cd, 0xf4c3, 0xf708, 0xf4c3, 0xf708, 0xf35c, 0xf5aa, -0xf35c, 0xf5aa, 0xf1c8, 0xf414, 0xf1c8, 0xf414, 0xf14f, 0xf389, 0xf14f, 0xf389, 0xf14f, -0xf389, 0xf15a, 0xf376, 0xf15a, 0xf376, 0xf196, 0xf385, 0xf196, 0xf385, 0xf21a, 0xf3d2, -0xf21a, 0xf3d2, 0xf291, 0xf408, 0xf291, 0xf408, 0xf3a1, 0xf4d0, 0xf3a1, 0xf4d0, 0xf59f, -0xf683, 0xf59f, 0xf683, 0xf59f, 0xf683, 0xf7f6, 0xf88e, 0xf7f6, 0xf88e, 0xfa41, 0xfa91, -0xfa41, 0xfa91, 0xfc34, 0xfc43, 0xfc34, 0xfc43, 0xfdbe, 0xfd96, 0xfdbe, 0xfd96, 0xfebd, -0xfe6c, 0xfebd, 0xfe6c, 0xfebd, 0xfe6c, 0xff50, 0xfee7, 0xff50, 0xfee7, 0xfeb1, 0xfe41, -0xfeb1, 0xfe41, 0xfd1e, 0xfcba, 0xfd1e, 0xfcba, 0xfc1f, 0xfbdb, 0xfc1f, 0xfbdb, 0xfb2a, -0xfb1a, 0xfb2a, 0xfb1a, 0xfa65, 0xfa9b, 0xfa65, 0xfa9b, 0xfa65, 0xfa9b, 0xf9f9, 0xfa85, -0xf9f9, 0xfa85, 0xf918, 0xfa07, 0xf918, 0xfa07, 0xf790, 0xf8ec, 0xf790, 0xf8ec, 0xf5e2, -0xf7b1, 0xf5e2, 0xf7b1, 0xf48a, 0xf6ce, 0xf48a, 0xf6ce, 0xf2ae, 0xf564, 0xf2ae, 0xf564, -0xf2ae, 0xf564, 0xf0a1, 0xf3c2, 0xf0a1, 0xf3c2, 0xeee0, 0xf261, 0xeee0, 0xf261, 0xed71, -0xf143, 0xed71, 0xf143, 0xed06, 0xf116, 0xed06, 0xf116, 0xed25, 0xf15f, 0xed25, 0xf15f, -0xed25, 0xf15f, 0xecc8, 0xf115, 0xecc8, 0xf115, 0xec1a, 0xf061, 0xec1a, 0xf061, 0xec2a, -0xf053, 0xec2a, 0xf053, 0xec88, 0xf07c, 0xec88, 0xf07c, 0xecf6, 0xf0a0, 0xecf6, 0xf0a0, -0xed9f, 0xf0eb, 0xed9f, 0xf0eb, 0xed9f, 0xf0eb, 0xee4b, 0xf126, 0xee4b, 0xf126, 0xefdb, -0xf239, 0xefdb, 0xf239, 0xf260, 0xf437, 0xf260, 0xf437, 0xf52f, 0xf679, 0xf52f, 0xf679, -0xf7d5, 0xf88f, 0xf7d5, 0xf88f, 0xfad8, 0xfb04, 0xfad8, 0xfb04, 0xfad8, 0xfb04, 0xfe7a, -0xfe1d, 0xfe7a, 0xfe1d, 0x248, 0x169, 0x248, 0x169, 0x5c7, 0x471, 0x5c7, 0x471, -0x7ee, 0x62e, 0x7ee, 0x62e, 0x9c0, 0x7a3, 0x9c0, 0x7a3, 0x9c0, 0x7a3, 0xc2f, -0x9c2, 0xc2f, 0x9c2, 0xe52, 0xba4, 0xe52, 0xba4, 0xff6, 0xd14, 0xff6, 0xd14, -0x1144, 0xe3b, 0x1144, 0xe3b, 0x1216, 0xef0, 0x1216, 0xef0, 0x1290, 0xf57, 0x1290, -0xf57, 0x1290, 0xf57, 0x12cb, 0xf85, 0x12cb, 0xf85, 0x123a, 0xeed, 0x123a, 0xeed, -0x11ac, 0xe5b, 0x11ac, 0xe5b, 0x11be, 0xe6b, 0x11be, 0xe6b, 0x11ea, 0xe95, 0x11ea, -0xe95, 0x11f6, 0xea0, 0x11f6, 0xea0, 0x11f6, 0xea0, 0x11ac, 0xe52, 0x11ac, 0xe52, -0x1169, 0xe0b, 0x1169, 0xe0b, 0x1140, 0xddd, 0x1140, 0xddd, 0x113d, 0xdd6, 0x113d, -0xdd6, 0x1165, 0xdfc, 0x1165, 0xdfc, 0x1165, 0xdfc, 0x1159, 0xdf1, 0x1159, 0xdf1, -0x1129, 0xdc7, 0x1129, 0xdc7, 0x10d8, 0xd82, 0x10d8, 0xd82, 0x1032, 0xcf1, 0x1032, -0xcf1, 0xef5, 0xbd4, 0xef5, 0xbd4, 0xd34, 0xa3e, 0xd34, 0xa3e, 0xd34, 0xa3e, -0xb42, 0x883, 0xb42, 0x883, 0x93f, 0x6c4, 0x93f, 0x6c4, 0x6bf, 0x494, 0x6bf, -0x494, 0x423, 0x255, 0x423, 0x255, 0x20e, 0xa7, 0x20e, 0xa7, 0xffd1, 0xfedb, -0xffd1, 0xfedb, 0xffd1, 0xfedb, 0xfd94, 0xfd17, 0xfd94, 0xfd17, 0xfc12, 0xfc12, 0xfc12, -0xfc12, 0xfad9, 0xfb57, 0xfad9, 0xfb57, 0xf891, 0xf98d, 0xf891, 0xf98d, 0xf59f, 0xf715, -0xf59f, 0xf715, 0xf59f, 0xf715, 0xf305, 0xf4ef, 0xf305, 0xf4ef, 0xf03c, 0xf291, 0xf03c, -0xf291, 0xed7b, 0xf02f, 0xed7b, 0xf02f, 0xeb51, 0xee57, 0xeb51, 0xee57, 0xea0a, 0xed55, -0xea0a, 0xed55, 0xe8be, 0xec3d, 0xe8be, 0xec3d, 0xe8be, 0xec3d, 0xe753, 0xeaf9, 0xe753, -0xeaf9, 0xe6e9, 0xeaa8, 0xe6e9, 0xeaa8, 0xe666, 0xea30, 0xe666, 0xea30, 0xe58e, 0xe959, -0xe58e, 0xe959, 0xe4db, 0xe89c, 0xe4db, 0xe89c, 0xe4a0, 0xe851, 0xe4a0, 0xe851, 0xe4a0, -0xe851, 0xe54a, 0xe8e6, 0xe54a, 0xe8e6, 0xe632, 0xe9b7, 0xe632, 0xe9b7, 0xe753, 0xeac0, -0xe753, 0xeac0, 0xe890, 0xebe8, 0xe890, 0xebe8, 0xe97b, 0xecc2, 0xe97b, 0xecc2, 0xe97b, -0xecc2, 0xeaab, 0xede5, 0xeaab, 0xede5, 0xed47, 0xf07a, 0xed47, 0xf07a, 0xefd7, 0xf308, -0xefd7, 0xf308, 0xf04f, 0xf383, 0xf04f, 0xf383, 0xf049, 0xf383, 0xf049, 0xf383, 0xf0c4, -0xf406, 0xf0c4, 0xf406, 0xf0c4, 0xf406, 0xf09f, 0xf3e8, 0xf09f, 0xf3e8, 0xefb4, 0xf300, -0xefb4, 0xf300, 0xeeca, 0xf214, 0xeeca, 0xf214, 0xee20, 0xf15e, 0xee20, 0xf15e, 0xedbd, -0xf0e3, 0xedbd, 0xf0e3, 0xeda5, 0xf0a5, 0xeda5, 0xf0a5, 0xeda5, 0xf0a5, 0xed3b, 0xf005, -0xed3b, 0xf005, 0xecce, 0xef4e, 0xecce, 0xef4e, 0xed42, 0xef65, 0xed42, 0xef65, 0xeef4, -0xf0a8, 0xeef4, 0xf0a8, 0xf1f2, 0xf324, 0xf1f2, 0xf324, 0xf1f2, 0xf324, 0xf569, 0xf606, -0xf569, 0xf606, 0xf8d7, 0xf8d2, 0xf8d7, 0xf8d2, 0xfd0a, 0xfc56, 0xfd0a, 0xfc56, 0x1f0, -0x85, 0x1f0, 0x85, 0x694, 0x46d, 0x694, 0x46d, 0xac9, 0x7e6, 0xac9, 0x7e6, -0xac9, 0x7e6, 0xf16, 0xb7d, 0xf16, 0xb7d, 0x13e3, 0xf9e, 0x13e3, 0xf9e, 0x1827, -0x1344, 0x1827, 0x1344, 0x1bb4, 0x1644, 0x1bb4, 0x1644, 0x1eef, 0x190a, 0x1eef, 0x190a, -0x20cd, 0x1a8c, 0x20cd, 0x1a8c, 0x20cd, 0x1a8c, 0x21ad, 0x1b2c, 0x21ad, 0x1b2c, 0x2254, -0x1baf, 0x2254, 0x1baf, 0x22c5, 0x1c1a, 0x22c5, 0x1c1a, 0x232d, 0x1c98, 0x232d, 0x1c98, -0x2364, 0x1d00, 0x2364, 0x1d00, 0x2364, 0x1d00, 0x2367, 0x1d4d, 0x2367, 0x1d4d, 0x2382, -0x1dc8, 0x2382, 0x1dc8, 0x23b5, 0x1e6d, 0x23b5, 0x1e6d, 0x22c5, 0x1dfc, 0x22c5, 0x1dfc, -0x2084, 0x1c43, 0x2084, 0x1c43, 0x1e35, 0x1a80, 0x1e35, 0x1a80, 0x1e35, 0x1a80, 0x1c12, -0x18eb, 0x1c12, 0x18eb, 0x1a1a, 0x177b, 0x1a1a, 0x177b, 0x186f, 0x1651, 0x186f, 0x1651, -0x169d, 0x14f4, 0x169d, 0x14f4, 0x1420, 0x12e0, 0x1420, 0x12e0, 0x1420, 0x12e0, 0x1201, -0x1119, 0x1201, 0x1119, 0x10bb, 0x101b, 0x10bb, 0x101b, 0xefd, 0xe95, 0xefd, 0xe95, -0xc7b, 0xc3b, 0xc7b, 0xc3b, 0x9e9, 0x9c1, 0x9e9, 0x9c1, 0x7cd, 0x7b2, 0x7cd, -0x7b2, 0x7cd, 0x7b2, 0x698, 0x67f, 0x698, 0x67f, 0x64b, 0x62c, 0x64b, 0x62c, -0x5ad, 0x584, 0x5ad, 0x584, 0x4cd, 0x498, 0x4cd, 0x498, 0x4a9, 0x468, 0x4a9, -0x468, 0x4d5, 0x48c, 0x4d5, 0x48c, 0x4d5, 0x48c, 0x5c3, 0x577, 0x5c3, 0x577, -0x658, 0x610, 0x658, 0x610, 0x4f5, 0x4b7, 0x4f5, 0x4b7, 0x326, 0x2fb, 0x326, -0x2fb, 0x223, 0x213, 0x223, 0x213, 0x223, 0x213, 0x175, 0x185, 0x175, 0x185, -0xffe6, 0x1d, 0xffe6, 0x1d, 0xfd92, 0xfdf1, 0xfd92, 0xfdf1, 0xfb6c, 0xfbf5, 0xfb6c, -0xfbf5, 0xf9e6, 0xfa98, 0xf9e6, 0xfa98, 0xf975, 0xfa4c, 0xf975, 0xfa4c, 0xf975, 0xfa4c, -0xf904, 0xf9fa, 0xf904, 0xf9fa, 0xf80d, 0xf91a, 0xf80d, 0xf91a, 0xf74d, 0xf869, 0xf74d, -0xf869, 0xf708, 0xf827, 0xf708, 0xf827, 0xf781, 0xf899, 0xf781, 0xf899, 0xf7bc, 0xf8c2, -0xf7bc, 0xf8c2, 0xf7bc, 0xf8c2, 0xf75b, 0xf845, 0xf75b, 0xf845, 0xf795, 0xf85b, 0xf795, -0xf85b, 0xf8e0, 0xf97d, 0xf8e0, 0xf97d, 0xfb1d, 0xfb8c, 0xfb1d, 0xfb8c, 0xfd30, 0xfd70, -0xfd30, 0xfd70, 0xfd30, 0xfd70, 0xfebb, 0xfed0, 0xfebb, 0xfed0, 0xa6, 0x93, 0xa6, -0x93, 0x220, 0x1f0, 0x220, 0x1f0, 0x27a, 0x237, 0x27a, 0x237, 0x224, 0x1dd, -0x224, 0x1dd, 0x173, 0x138, 0x173, 0x138, 0x173, 0x138, 0x82, 0x63, 0x82, -0x63, 0xff38, 0xff48, 0xff38, 0xff48, 0xfdcd, 0xfe1d, 0xfdcd, 0xfe1d, 0xfc3c, 0xfcdd, -0xfc3c, 0xfcdd, 0xfaa7, 0xfba8, 0xfaa7, 0xfba8, 0xf935, 0xfaa3, 0xf935, 0xfaa3, 0xf935, -0xfaa3, 0xf823, 0xfa06, 0xf823, 0xfa06, 0xf763, 0xf9c2, 0xf763, 0xf9c2, 0xf5c0, 0xf89b, -0xf5c0, 0xf89b, 0xf36b, 0xf6c0, 0xf36b, 0xf6c0, 0xf114, 0xf4db, 0xf114, 0xf4db, 0xf114, -0xf4db, 0xee8b, 0xf2ba, 0xee8b, 0xf2ba, 0xec6c, 0xf0f4, 0xec6c, 0xf0f4, 0xeb61, 0xf02f, -0xeb61, 0xf02f, 0xeada, 0xefd9, 0xeada, 0xefd9, 0xea1b, 0xef35, 0xea1b, 0xef35, 0xe996, -0xeeb2, 0xe996, 0xeeb2, 0xe996, 0xeeb2, 0xe940, 0xee46, 0xe940, 0xee46, 0xe8d0, 0xeda8, -0xe8d0, 0xeda8, 0xe865, 0xecf8, 0xe865, 0xecf8, 0xe852, 0xec8c, 0xe852, 0xec8c, 0xe96b, -0xed3b, 0xe96b, 0xed3b, 0xeb08, 0xee5e, 0xeb08, 0xee5e, 0xeb08, 0xee5e, 0xec87, 0xef5a, -0xec87, 0xef5a, 0xee89, 0xf0d0, 0xee89, 0xf0d0, 0xf163, 0xf31d, 0xf163, 0xf31d, 0xf4e3, -0xf610, 0xf4e3, 0xf610, 0xf8ed, 0xf991, 0xf8ed, 0xf991, 0xf8ed, 0xf991, 0xfdbf, 0xfde2, -0xfdbf, 0xfde2, 0x1b9, 0x165, 0x1b9, 0x165, 0x3f0, 0x331, 0x3f0, 0x331, 0x5f9, -0x4dc, 0x5f9, 0x4dc, 0x828, 0x6bc, 0x828, 0x6bc, 0xa1a, 0x86b, 0xa1a, 0x86b, -0xa1a, 0x86b, 0xc16, 0xa34, 0xc16, 0xa34, 0xda5, 0xb9a, 0xda5, 0xb9a, 0xdff, -0xbd8, 0xdff, 0xbd8, 0xe28, 0xbeb, 0xe28, 0xbeb, 0xece, 0xc84, 0xece, 0xc84, -0xed8, 0xc84, 0xed8, 0xc84, 0xed8, 0xc84, 0xe4b, 0xbef, 0xe4b, 0xbef, 0xdaf, -0xb4c, 0xdaf, 0xb4c, 0xd42, 0xad6, 0xd42, 0xad6, 0xd96, 0xb1f, 0xd96, 0xb1f, -0xe23, 0xb9f, 0xe23, 0xb9f, 0xe23, 0xb9f, 0xe2c, 0xb97, 0xe2c, 0xb97, 0xe52, -0xba9, 0xe52, 0xba9, 0xf12, 0xc53, 0xf12, 0xc53, 0x1001, 0xd2c, 0x1001, 0xd2c, -0x10fe, 0xe14, 0x10fe, 0xe14, 0x11a6, 0xeaa, 0x11a6, 0xeaa, 0x11a6, 0xeaa, 0x1176, -0xe6e, 0x1176, 0xe6e, 0x1153, 0xe46, 0x1153, 0xe46, 0x116d, 0xe64, 0x116d, 0xe64, -0x108d, 0xd94, 0x108d, 0xd94, 0xf1a, 0xc3c, 0xf1a, 0xc3c, 0xdc2, 0xb0e, 0xdc2, -0xb0e, 0xdc2, 0xb0e, 0xbea, 0x96e, 0xbea, 0x96e, 0x962, 0x72b, 0x962, 0x72b, -0x6f7, 0x513, 0x6f7, 0x513, 0x509, 0x384, 0x509, 0x384, 0x2d8, 0x1bb, 0x2d8, -0x1bb, 0x2d8, 0x1bb, 0xeb, 0x3f, 0xeb, 0x3f, 0xff8a, 0xff53, 0xff8a, 0xff53, -0xfd7d, 0xfdbe, 0xfd7d, 0xfdbe, 0xfaff, 0xfbb7, 0xfaff, 0xfbb7, 0xf89a, 0xf9c6, 0xf89a, -0xf9c6, 0xf5c2, 0xf75a, 0xf5c2, 0xf75a, 0xf5c2, 0xf75a, 0xf25c, 0xf458, 0xf25c, 0xf458, -0xefa7, 0xf1fb, 0xefa7, 0xf1fb, 0xedc6, 0xf066, 0xedc6, 0xf066, 0xec36, 0xef13, 0xec36, -0xef13, 0xeb63, 0xee70, 0xeb63, 0xee70, 0xea7b, 0xeda9, 0xea7b, 0xeda9, 0xea7b, 0xeda9, -0xe9b9, 0xecfb, 0xe9b9, 0xecfb, 0xe95a, 0xeca3, 0xe95a, 0xeca3, 0xe864, 0xebab, 0xe864, -0xebab, 0xe7fa, 0xeb36, 0xe7fa, 0xeb36, 0xe891, 0xebbd, 0xe891, 0xebbd, 0xe891, 0xebbd, -0xe8d1, 0xebea, 0xe8d1, 0xebea, 0xe894, 0xeb99, 0xe894, 0xeb99, 0xe8fd, 0xebf2, 0xe8fd, -0xebf2, 0xe9db, 0xecc2, 0xe9db, 0xecc2, 0xeae0, 0xedbe, 0xeae0, 0xedbe, 0xec7b, 0xef57, -0xec7b, 0xef57, 0xec7b, 0xef57, 0xed92, 0xf072, 0xed92, 0xf072, 0xede9, 0xf0d4, 0xede9, -0xf0d4, 0xee3f, 0xf13b, 0xee3f, 0xf13b, 0xee81, 0xf191, 0xee81, 0xf191, 0xee85, 0xf1ab, -0xee85, 0xf1ab, 0xee29, 0xf165, 0xee29, 0xf165, 0xee29, 0xf165, 0xed93, 0xf0e1, 0xed93, -0xf0e1, 0xed03, 0xf05b, 0xed03, 0xf05b, 0xecab, 0xf004, 0xecab, 0xf004, 0xec3a, 0xef87, -0xec3a, 0xef87, 0xeb94, 0xeec6, 0xeb94, 0xeec6, 0xeb94, 0xeec6, 0xeb77, 0xee7c, 0xeb77, -0xee7c, 0xec16, 0xeeda, 0xec16, 0xeeda, 0xed90, 0xf000, 0xed90, 0xf000, 0xf02b, 0xf231, -0xf02b, 0xf231, 0xf374, 0xf4fe, 0xf374, 0xf4fe, 0xf6b8, 0xf7b3, 0xf6b8, 0xf7b3, 0xf6b8, -0xf7b3, 0xf9fb, 0xfa58, 0xf9fb, 0xfa58, 0xfe71, 0xfe23, 0xfe71, 0xfe23, 0x3bf, 0x2be, -0x3bf, 0x2be, 0x830, 0x677, 0x830, 0x677, 0xc22, 0x9b3, 0xc22, 0x9b3, 0xc22, -0x9b3, 0x1006, 0xce4, 0x1006, 0xce4, 0x1406, 0x103c, 0x1406, 0x103c, 0x17fc, 0x1397, -0x17fc, 0x1397, 0x1b00, 0x1614, 0x1b00, 0x1614, 0x1d81, 0x1823, 0x1d81, 0x1823, 0x1f57, -0x19a1, 0x1f57, 0x19a1, 0x1f57, 0x19a1, 0x20a7, 0x1ab3, 0x20a7, 0x1ab3, 0x220a, 0x1bf5, -0x220a, 0x1bf5, 0x22fa, 0x1ce0, 0x22fa, 0x1ce0, 0x235d, 0x1d59, 0x235d, 0x1d59, 0x23e2, -0x1e0e, 0x23e2, 0x1e0e, 0x2517, 0x1f89, 0x2517, 0x1f89, 0x2517, 0x1f89, 0x2556, 0x2022, -0x2556, 0x2022, 0x23c2, 0x1ef9, 0x23c2, 0x1ef9, 0x21be, 0x1d6b, 0x21be, 0x1d6b, 0x1fd0, -0x1bf9, 0x1fd0, 0x1bf9, 0x1de8, 0x1a90, 0x1de8, 0x1a90, 0x1de8, 0x1a90, 0x1bf5, 0x191a, -0x1bf5, 0x191a, 0x1a58, 0x17f3, 0x1a58, 0x17f3, 0x18ba, 0x16c2, 0x18ba, 0x16c2, 0x16b3, -0x151d, 0x16b3, 0x151d, 0x14db, 0x1396, 0x14db, 0x1396, 0x12fe, 0x11fb, 0x12fe, 0x11fb, -0x12fe, 0x11fb, 0x1087, 0xfb5, 0x1087, 0xfb5, 0xdd9, 0xd28, 0xdd9, 0xd28, 0xbde, -0xb3f, 0xbde, 0xb3f, 0xa36, 0x99a, 0xa36, 0x99a, 0x850, 0x7ad, 0x850, 0x7ad, -0x652, 0x59f, 0x652, 0x59f, 0x652, 0x59f, 0x4de, 0x415, 0x4de, 0x415, 0x464, -0x384, 0x464, 0x384, 0x467, 0x370, 0x467, 0x370, 0x568, 0x45d, 0x568, 0x45d, -0x6c0, 0x5a8, 0x6c0, 0x5a8, 0x6c0, 0x5a8, 0x695, 0x577, 0x695, 0x577, 0x59b, -0x482, 0x59b, 0x482, 0x4df, 0x3d4, 0x4df, 0x3d4, 0x3ce, 0x2db, 0x3ce, 0x2db, -0x213, 0x144, 0x213, 0x144, 0x30, 0xff8c, 0x30, 0xff8c, 0x30, 0xff8c, 0xfe42, -0xfdd0, 0xfe42, 0xfdd0, 0xfc5d, 0xfc23, 0xfc5d, 0xfc23, 0xfac1, 0xfac0, 0xfac1, 0xfac0, -0xf8f1, 0xf929, 0xf8f1, 0xf929, 0xf6fc, 0xf76c, 0xf6fc, 0xf76c, 0xf56b, 0xf60b, 0xf56b, -0xf60b, 0xf56b, 0xf60b, 0xf43e, 0xf508, 0xf43e, 0xf508, 0xf3ec, 0xf4d5, 0xf3ec, 0xf4d5, -0xf3e3, 0xf4e1, 0xf3e3, 0xf4e1, 0xf35d, 0xf464, 0xf35d, 0xf464, 0xf345, 0xf44a, 0xf345, -0xf44a, 0xf345, 0xf44a, 0xf3d5, 0xf4cd, 0xf3d5, 0xf4cd, 0xf51b, 0xf5fb, 0xf51b, 0xf5fb, -0xf6fa, 0xf7bb, 0xf6fa, 0xf7bb, 0xf90a, 0xf9a5, 0xf90a, 0xf9a5, 0xfb3e, 0xfbb1, 0xfb3e, -0xfbb1, 0xfd02, 0xfd4d, 0xfd02, 0xfd4d, 0xfd02, 0xfd4d, 0xfea5, 0xfec9, 0xfea5, 0xfec9, -0xfff5, 0xfff9, 0xfff5, 0xfff9, 0x63, 0x50, 0x63, 0x50, 0x2c, 0xc, 0x2c, -0xc, 0xff81, 0xff62, 0xff81, 0xff62, 0xfef0, 0xfee0, 0xfef0, 0xfee0, 0xfef0, 0xfee0, -0xfe0e, 0xfe1c, 0xfe0e, 0xfe1c, 0xfc91, 0xfccc, 0xfc91, 0xfccc, 0xfacc, 0xfb43, 0xfacc, -0xfb43, 0xf95b, 0xfa19, 0xf95b, 0xfa19, 0xf8c8, 0xf9da, 0xf8c8, 0xf9da, 0xf8c8, 0xf9da, -0xf7f3, 0xf95f, 0xf7f3, 0xf95f, 0xf623, 0xf7ee, 0xf623, 0xf7ee, 0xf3f5, 0xf620, 0xf3f5, -0xf620, 0xf207, 0xf491, 0xf207, 0xf491, 0xf052, 0xf334, 0xf052, 0xf334, 0xeef5, 0xf225, -0xeef5, 0xf225, 0xeef5, 0xf225, 0xee0c, 0xf17e, 0xee0c, 0xf17e, 0xed58, 0xf0fc, 0xed58, -0xf0fc, 0xed6d, 0xf131, 0xed6d, 0xf131, 0xedce, 0xf19e, 0xedce, 0xf19e, 0xed9c, 0xf164, -0xed9c, 0xf164, 0xed2c, 0xf0d9, 0xed2c, 0xf0d9, 0xed2c, 0xf0d9, 0xecf1, 0xf06f, 0xecf1, -0xf06f, 0xed46, 0xf083, 0xed46, 0xf083, 0xee1c, 0xf108, 0xee1c, 0xf108, 0xef79, 0xf207, -0xef79, 0xf207, 0xf130, 0xf356, 0xf130, 0xf356, 0xf130, 0xf356, 0xf337, 0xf4ee, 0xf337, -0xf4ee, 0xf5d5, 0xf71a, 0xf5d5, 0xf71a, 0xf896, 0xf967, 0xf896, 0xf967, 0xfbc4, 0xfc26, -0xfbc4, 0xfc26, 0xff86, 0xff7e, 0xff86, 0xff7e, 0x2c1, 0x258, 0x2c1, 0x258, 0x2c1, -0x258, 0x548, 0x489, 0x548, 0x489, 0x7a2, 0x698, 0x7a2, 0x698, 0x9ec, 0x8a4, -0x9ec, 0x8a4, 0xbf1, 0xa78, 0xbf1, 0xa78, 0xd6f, 0xbd0, 0xd6f, 0xbd0, 0xea9, -0xcf0, 0xea9, 0xcf0, 0xea9, 0xcf0, 0xfbc, 0xdf3, 0xfbc, 0xdf3, 0x1087, 0xeb5, -0x1087, 0xeb5, 0x10d2, 0xefd, 0x10d2, 0xefd, 0x1067, 0xe93, 0x1067, 0xe93, 0xfd3, -0xe00, 0xfd3, 0xe00, 0xfd3, 0xe00, 0xf28, 0xd57, 0xf28, 0xd57, 0xe7b, 0xca9, -0xe7b, 0xca9, 0xe58, 0xc83, 0xe58, 0xc83, 0xe7f, 0xca1, 0xe7f, 0xca1, 0xe62, -0xc78, 0xe62, 0xc78, 0xe41, 0xc45, 0xe41, 0xc45, 0xe41, 0xc45, 0xea3, 0xc93, -0xea3, 0xc93, 0xea9, 0xc84, 0xea9, 0xc84, 0xe31, 0xbf4, 0xe31, 0xbf4, 0xe1a, -0xbc9, 0xe1a, 0xbc9, 0xde2, 0xb7f, 0xde2, 0xb7f, 0xd52, 0xae4, 0xd52, 0xae4, -0xd52, 0xae4, 0xcba, 0xa49, 0xcba, 0xa49, 0xc2d, 0x9c4, 0xc2d, 0x9c4, 0xb1b, -0x8c5, 0xb1b, 0x8c5, 0x93a, 0x706, 0x93a, 0x706, 0x73d, 0x538, 0x73d, 0x538, -0x73d, 0x538, 0x559, 0x391, 0x559, 0x391, 0x349, 0x1ce, 0x349, 0x1ce, 0xde, -0xffbc, 0xde, 0xffbc, 0xff17, 0xfe59, 0xff17, 0xfe59, 0xfe39, 0xfdea, 0xfe39, 0xfdea, -0xfceb, 0xfd11, 0xfceb, 0xfd11, 0xfceb, 0xfd11, 0xfac1, 0xfb61, 0xfac1, 0xfb61, 0xf851, -0xf96c, 0xf851, 0xf96c, 0xf628, 0xf7bb, 0xf628, 0xf7bb, 0xf3af, 0xf5b6, 0xf3af, 0xf5b6, -0xf126, 0xf399, 0xf126, 0xf399, 0xef24, 0xf1f9, 0xef24, 0xf1f9, 0xef24, 0xf1f9, 0xeced, -0xf016, 0xeced, 0xf016, 0xeb20, 0xee90, 0xeb20, 0xee90, 0xea58, 0xedff, 0xea58, 0xedff, -0xe997, 0xed67, 0xe997, 0xed67, 0xe853, 0xec3c, 0xe853, 0xec3c, 0xe853, 0xec3c, 0xe746, -0xeb3a, 0xe746, 0xeb3a, 0xe71d, 0xeb10, 0xe71d, 0xeb10, 0xe77d, 0xeb63, 0xe77d, 0xeb63, -0xe7a3, 0xeb74, 0xe7a3, 0xeb74, 0xe78a, 0xeb41, 0xe78a, 0xeb41, 0xe838, 0xebd1, 0xe838, -0xebd1, 0xe838, 0xebd1, 0xe991, 0xed0c, 0xe991, 0xed0c, 0xead3, 0xee31, 0xead3, 0xee31, -0xec92, 0xefd7, 0xec92, 0xefd7, 0xeeb3, 0xf1e4, 0xeeb3, 0xf1e4, 0xeff2, 0xf315, 0xeff2, -0xf315, 0xeff2, 0xf315, 0xf085, 0xf3a1, 0xf085, 0xf3a1, 0xf132, 0xf44d, 0xf132, 0xf44d, -0xf17c, 0xf49c, 0xf17c, 0xf49c, 0xf15d, 0xf485, 0xf15d, 0xf485, 0xf115, 0xf448, 0xf115, -0xf448, 0xf081, 0xf3bf, 0xf081, 0xf3bf, 0xf081, 0xf3bf, 0xefb4, 0xf2f9, 0xefb4, 0xf2f9, -0xeeb8, 0xf1fe, 0xeeb8, 0xf1fe, 0xedd3, 0xf112, 0xedd3, 0xf112, 0xed57, 0xf083, 0xed57, -0xf083, 0xecf6, 0xf001, 0xecf6, 0xf001, 0xecbc, 0xef96, 0xecbc, 0xef96, 0xecbc, 0xef96, -0xed80, 0xf018, 0xed80, 0xf018, 0xef39, 0xf17d, 0xef39, 0xf17d, 0xf172, 0xf350, 0xf172, -0xf350, 0xf447, 0xf5af, 0xf447, 0xf5af, 0xf829, 0xf90a, 0xf829, 0xf90a, 0xf829, 0xf90a, -0xfcd3, 0xfd20, 0xfcd3, 0xfd20, 0x13c, 0xea, 0x13c, 0xea, 0x5be, 0x4c7, 0x5be, -0x4c7, 0xa7f, 0x8df, 0xa7f, 0x8df, 0xef0, 0xca8, 0xef0, 0xca8, 0x12ff, 0x1016, -0x12ff, 0x1016, 0x12ff, 0x1016, 0x1693, 0x1311, 0x1693, 0x1311, 0x19f7, 0x15ea, 0x19f7, -0x15ea, 0x1cbe, 0x1837, 0x1cbe, 0x1837, 0x1e91, 0x19a4, 0x1e91, 0x19a4, 0x1f55, 0x1a18, -0x1f55, 0x1a18, 0x1f9b, 0x1a25, 0x1f9b, 0x1a25, 0x1f9b, 0x1a25, 0x204e, 0x1ab9, 0x204e, -0x1ab9, 0x2099, 0x1afc, 0x2099, 0x1afc, 0x2116, 0x1b87, 0x2116, 0x1b87, 0x21f9, 0x1c8f, -0x21f9, 0x1c8f, 0x218f, 0x1c5c, 0x218f, 0x1c5c, 0x218f, 0x1c5c, 0x2049, 0x1b5d, 0x2049, -0x1b5d, 0x1f14, 0x1a7a, 0x1f14, 0x1a7a, 0x1dbe, 0x1980, 0x1dbe, 0x1980, 0x1bf9, 0x181a, -0x1bf9, 0x181a, 0x19ec, 0x166e, 0x19ec, 0x166e, 0x17c8, 0x14a6, 0x17c8, 0x14a6, 0x17c8, -0x14a6, 0x15ac, 0x12e2, 0x15ac, 0x12e2, 0x1434, 0x11b8, 0x1434, 0x11b8, 0x1324, 0x10eb, -0x1324, 0x10eb, 0x11c2, 0xfc1, 0x11c2, 0xfc1, 0xfe2, 0xe0b, 0xfe2, 0xe0b, 0xda5, -0xbeb, 0xda5, 0xbeb, 0xda5, 0xbeb, 0xbca, 0xa21, 0xbca, 0xa21, 0xa8b, 0x8e8, -0xa8b, 0x8e8, 0x8c0, 0x71b, 0x8c0, 0x71b, 0x6a4, 0x4f7, 0x6a4, 0x4f7, 0x5b7, -0x3fd, 0x5b7, 0x3fd, 0x5b7, 0x3fd, 0x5b8, 0x3f1, 0x5b8, 0x3f1, 0x5aa, 0x3d8, -0x5aa, 0x3d8, 0x59f, 0x3c5, 0x59f, 0x3c5, 0x5c0, 0x3e6, 0x5c0, 0x3e6, 0x590, -0x3bc, 0x590, 0x3bc, 0x54f, 0x38c, 0x54f, 0x38c, 0x54f, 0x38c, 0x568, 0x3bf, -0x568, 0x3bf, 0x520, 0x39c, 0x520, 0x39c, 0x409, 0x2b2, 0x409, 0x2b2, 0x2c1, -0x1a0, 0x2c1, 0x1a0, 0x198, 0xb3, 0x198, 0xb3, 0x39, 0xff96, 0x39, 0xff96, -0x39, 0xff96, 0xfeca, 0xfe69, 0xfeca, 0xfe69, 0xfd26, 0xfd06, 0xfd26, 0xfd06, 0xfbac, -0xfbcc, 0xfbac, 0xfbcc, 0xfaca, 0xfb22, 0xfaca, 0xfb22, 0xf9a0, 0xfa28, 0xf9a0, 0xfa28, -0xf9a0, 0xfa28, 0xf86e, 0xf91d, 0xf86e, 0xf91d, 0xf812, 0xf8dc, 0xf812, 0xf8dc, 0xf836, -0xf90e, 0xf836, 0xf90e, 0xf82d, 0xf908, 0xf82d, 0xf908, 0xf88f, 0xf95f, 0xf88f, 0xf95f, -0xf9ad, 0xfa69, 0xf9ad, 0xfa69, 0xf9ad, 0xfa69, 0xfaed, 0xfb8b, 0xfaed, 0xfb8b, 0xfc84, -0xfcfe, 0xfc84, 0xfcfe, 0xfe32, 0xfe84, 0xfe32, 0xfe84, 0xffb7, 0xffdf, 0xffb7, 0xffdf, -0xb7, 0xb8, 0xb7, 0xb8, 0x131, 0x110, 0x131, 0x110, 0x131, 0x110, 0x215, -0x1da, 0x215, 0x1da, 0x2a1, 0x257, 0x2a1, 0x257, 0x1fa, 0x1ae, 0x1fa, 0x1ae, -0x88, 0x49, 0x88, 0x49, 0xff2c, 0xff0a, 0xff2c, 0xff0a, 0xff2c, 0xff0a, 0xfe13, -0xfe1e, 0xfe13, 0xfe1e, 0xfcb0, 0xfcf7, 0xfcb0, 0xfcf7, 0xfb54, 0xfbe7, 0xfb54, 0xfbe7, -0xfa13, 0xfafe, 0xfa13, 0xfafe, 0xf848, 0xf996, 0xf848, 0xf996, 0xf604, 0xf7bb, 0xf604, -0xf7bb, 0xf604, 0xf7bb, 0xf42e, 0xf654, 0xf42e, 0xf654, 0xf25a, 0xf4ee, 0xf25a, 0xf4ee, -0xefc8, 0xf2c7, 0xefc8, 0xf2c7, 0xedb5, 0xf117, 0xedb5, 0xf117, 0xecaa, 0xf066, 0xecaa, -0xf066, 0xebad, 0xefb5, 0xebad, 0xefb5, 0xebad, 0xefb5, 0xea80, 0xeec4, 0xea80, 0xeec4, -0xe9d4, 0xee40, 0xe9d4, 0xee40, 0xe980, 0xee02, 0xe980, 0xee02, 0xe8ea, 0xed6e, 0xe8ea, -0xed6e, 0xe859, 0xecca, 0xe859, 0xecca, 0xe859, 0xecca, 0xe865, 0xecb1, 0xe865, 0xecb1, -0xe937, 0xed4a, 0xe937, 0xed4a, 0xe9da, 0xeda5, 0xe9da, 0xeda5, 0xea8b, 0xee02, 0xea8b, -0xee02, 0xec66, 0xef7e, 0xec66, 0xef7e, 0xeee5, 0xf196, 0xeee5, 0xf196, 0xeee5, 0xf196, -0xf243, 0xf48a, 0xf243, 0xf48a, 0xf684, 0xf85f, 0xf684, 0xf85f, 0xfa18, 0xfb89, 0xfa18, -0xfb89, 0xfd2c, 0xfe38, 0xfd2c, 0xfe38, 0x70, 0x11d, 0x70, 0x11d, 0x3a4, 0x3fb, -0x3a4, 0x3fb, 0x3a4, 0x3fb, 0x6bd, 0x6c5, 0x6bd, 0x6c5, 0x8d9, 0x89e, 0x8d9, -0x89e, 0xa0c, 0x997, 0xa0c, 0x997, 0xb36, 0xa91, 0xb36, 0xa91, 0xc09, 0xb3b, -0xc09, 0xb3b, 0xc09, 0xb3b, 0xca0, 0xbb0, 0xca0, 0xbb0, 0xccf, 0xbc2, 0xccf, -0xbc2, 0xc66, 0xb41, 0xc66, 0xb41, 0xbcf, 0xa92, 0xbcf, 0xa92, 0xb51, 0x9fe, -0xb51, 0x9fe, 0xb27, 0x9bc, 0xb27, 0x9bc, 0xb27, 0x9bc, 0xb44, 0x9be, 0xb44, -0x9be, 0xba0, 0x9fd, 0xba0, 0x9fd, 0xbfb, 0xa39, 0xbfb, 0xa39, 0xc98, 0xab2, -0xc98, 0xab2, 0xd63, 0xb58, 0xd63, 0xb58, 0xdf9, 0xbc7, 0xdf9, 0xbc7, 0xdf9, -0xbc7, 0xe51, 0xbf9, 0xe51, 0xbf9, 0xdfd, 0xb81, 0xdfd, 0xb81, 0xdf0, 0xb54, -0xdf0, 0xb54, 0xe77, 0xbc2, 0xe77, 0xbc2, 0xe85, 0xbbf, 0xe85, 0xbbf, 0xe85, -0xbbf, 0xe49, 0xb7c, 0xe49, 0xb7c, 0xdc4, 0xafb, 0xdc4, 0xafb, 0xc49, 0x993, -0xc49, 0x993, 0xa2f, 0x799, 0xa2f, 0x799, 0x871, 0x60a, 0x871, 0x60a, 0x695, -0x46c, 0x695, 0x46c, 0x695, 0x46c, 0x474, 0x296, 0x474, 0x296, 0x2ea, 0x163, -0x2ea, 0x163, 0x194, 0x6e, 0x194, 0x6e, 0xfff2, 0xff34, 0xfff2, 0xff34, 0xfe15, -0xfdc6, 0xfe15, 0xfdc6, 0xfe15, 0xfdc6, 0xfc5f, 0xfc81, 0xfc5f, 0xfc81, 0xfa88, 0xfb1a, -0xfa88, 0xfb1a, 0xf819, 0xf919, 0xf819, 0xf919, 0xf589, 0xf6f0, 0xf589, 0xf6f0, 0xf323, -0xf4e9, 0xf323, 0xf4e9, 0xf122, 0xf33b, 0xf122, 0xf33b, 0xf122, 0xf33b, 0xef5e, 0xf1be, -0xef5e, 0xf1be, 0xedbf, 0xf05a, 0xedbf, 0xf05a, 0xec9c, 0xef62, 0xec9c, 0xef62, 0xec0d, -0xeef1, 0xec0d, 0xeef1, 0xebd9, 0xeece, 0xebd9, 0xeece, 0xeb88, 0xee83, 0xeb88, 0xee83, -0xeb88, 0xee83, 0xeb3d, 0xee32, 0xeb3d, 0xee32, 0xeac2, 0xeda9, 0xeac2, 0xeda9, 0xea17, -0xecec, 0xea17, 0xecec, 0xe9f6, 0xecb4, 0xe9f6, 0xecb4, 0xea26, 0xeccb, 0xea26, 0xeccb, -0xea26, 0xeccb, 0xeab6, 0xed43, 0xeab6, 0xed43, 0xebf7, 0xee70, 0xebf7, 0xee70, 0xece8, -0xef50, 0xece8, 0xef50, 0xed3a, 0xef98, 0xed3a, 0xef98, 0xedfc, 0xf055, 0xedfc, 0xf055, -0xeef4, 0xf14d, 0xeef4, 0xf14d, 0xeef4, 0xf14d, 0xef6b, 0xf1c9, 0xef6b, 0xf1c9, 0xef52, -0xf1ba, 0xef52, 0xf1ba, 0xeed9, 0xf14c, 0xeed9, 0xf14c, 0xee6d, 0xf0ea, 0xee6d, 0xf0ea, -0xee37, 0xf0bd, 0xee37, 0xf0bd, 0xee17, 0xf09f, 0xee17, 0xf09f, 0xee17, 0xf09f, 0xed63, -0xefe5, 0xed63, 0xefe5, 0xec8e, 0xef00, 0xec8e, 0xef00, 0xecae, 0xef02, 0xecae, 0xef02, -0xed6f, 0xef95, 0xed6f, 0xef95, 0xee29, 0xf011, 0xee29, 0xf011, 0xee29, 0xf011, 0xef44, -0xf0dc, 0xef44, 0xf0dc, 0xf164, 0xf29b, 0xf164, 0xf29b, 0xf441, 0xf506, 0xf441, 0xf506, -0xf7d7, 0xf81a, 0xf7d7, 0xf81a, 0xfbb8, 0xfb6b, 0xfbb8, 0xfb6b, 0xffa3, 0xfebc, 0xffa3, -0xfebc, 0xffa3, 0xfebc, 0x40c, 0x283, 0x40c, 0x283, 0x886, 0x657, 0x886, 0x657, -0xcc2, 0x9ee, 0xcc2, 0x9ee, 0x10ec, 0xd78, 0x10ec, 0xd78, 0x1521, 0x1114, 0x1521, -0x1114, 0x18ff, 0x1467, 0x18ff, 0x1467, 0x18ff, 0x1467, 0x1c6a, 0x1757, 0x1c6a, 0x1757, -0x1eab, 0x1931, 0x1eab, 0x1931, 0x1fa1, 0x19d5, 0x1fa1, 0x19d5, 0x20e9, 0x1ae4, 0x20e9, -0x1ae4, 0x2265, 0x1c40, 0x2265, 0x1c40, 0x2265, 0x1c40, 0x2365, 0x1d39, 0x2365, 0x1d39, -0x2402, 0x1de8, 0x2402, 0x1de8, 0x2447, 0x1e56, 0x2447, 0x1e56, 0x23f1, 0x1e3d, 0x23f1, -0x1e3d, 0x231c, 0x1db8, 0x231c, 0x1db8, 0x2277, 0x1d72, 0x2277, 0x1d72, 0x2277, 0x1d72, -0x213c, 0x1ca2, 0x213c, 0x1ca2, 0x1f1b, 0x1af3, 0x1f1b, 0x1af3, 0x1d08, 0x1956, 0x1d08, -0x1956, 0x1b08, 0x17cc, 0x1b08, 0x17cc, 0x18db, 0x1611, 0x18db, 0x1611, 0x16e2, 0x1485, -0x16e2, 0x1485, 0x16e2, 0x1485, 0x1507, 0x130f, 0x1507, 0x130f, 0x12e8, 0x114b, 0x12e8, -0x114b, 0x10d3, 0xf84, 0x10d3, 0xf84, 0xf0d, 0xe00, 0xf0d, 0xe00, 0xcf8, 0xc22, -0xcf8, 0xc22, 0xcf8, 0xc22, 0xa24, 0x979, 0xa24, 0x979, 0x78b, 0x702, 0x78b, -0x702, 0x5f2, 0x582, 0x5f2, 0x582, 0x555, 0x4f9, 0x555, 0x4f9, 0x4fa, 0x4ae, -0x4fa, 0x4ae, 0x48a, 0x44c, 0x48a, 0x44c, 0x48a, 0x44c, 0x4cc, 0x49c, 0x4cc, -0x49c, 0x527, 0x508, 0x527, 0x508, 0x4f7, 0x4ed, 0x4f7, 0x4ed, 0x497, 0x4a7, -0x497, 0x4a7, 0x415, 0x445, 0x415, 0x445, 0x32a, 0x380, 0x32a, 0x380, 0x32a, -0x380, 0x1e4, 0x264, 0x1e4, 0x264, 0xc5, 0x174, 0xc5, 0x174, 0xff51, 0x33, -0xff51, 0x33, 0xfd5a, 0xfe6e, 0xfd5a, 0xfe6e, 0xfbaa, 0xfcf0, 0xfbaa, 0xfcf0, 0xfbaa, -0xfcf0, 0xfa0a, 0xfb7f, 0xfa0a, 0xfb7f, 0xf807, 0xf9a4, 0xf807, 0xf9a4, 0xf62b, 0xf7e9, -0xf62b, 0xf7e9, 0xf4fd, 0xf6d3, 0xf4fd, 0xf6d3, 0xf401, 0xf5e3, 0xf401, 0xf5e3, 0xf2fc, -0xf4de, 0xf2fc, 0xf4de, 0xf2fc, 0xf4de, 0xf278, 0xf44d, 0xf278, 0xf44d, 0xf2ea, 0xf4a5, -0xf2ea, 0xf4a5, 0xf445, 0xf5db, 0xf445, 0xf5db, 0xf5aa, 0xf710, 0xf5aa, 0xf710, 0xf71b, -0xf849, 0xf71b, 0xf849, 0xf8e2, 0xf9d2, 0xf8e2, 0xf9d2, 0xf8e2, 0xf9d2, 0xfa9b, 0xfb49, -0xfa9b, 0xfb49, 0xfca5, 0xfd10, 0xfca5, 0xfd10, 0xfea4, 0xfed1, 0xfea4, 0xfed1, 0x47, -0x3c, 0x47, 0x3c, 0x1b4, 0x17b, 0x1b4, 0x17b, 0x1b4, 0x17b, 0x288, 0x22c, -0x288, 0x22c, 0x26b, 0x1fd, 0x26b, 0x1fd, 0x154, 0xe4, 0x154, 0xe4, 0x3, -0xffa2, 0x3, 0xffa2, 0xfeb0, 0xfe71, 0xfeb0, 0xfe71, 0xfd81, 0xfd76, 0xfd81, 0xfd76, -0xfd81, 0xfd76, 0xfc86, 0xfcc1, 0xfc86, 0xfcc1, 0xfb4c, 0xfbda, 0xfb4c, 0xfbda, 0xf9fb, -0xfaea, 0xf9fb, 0xfaea, 0xf8cf, 0xfa29, 0xf8cf, 0xfa29, 0xf7be, 0xf987, 0xf7be, 0xf987, -0xf623, 0xf85e, 0xf623, 0xf85e, 0xf623, 0xf85e, 0xf42c, 0xf6d8, 0xf42c, 0xf6d8, 0xf276, -0xf58c, 0xf276, 0xf58c, 0xf0e5, 0xf45c, 0xf0e5, 0xf45c, 0xef93, 0xf35e, 0xef93, 0xf35e, -0xeec7, 0xf2d6, 0xeec7, 0xf2d6, 0xeec7, 0xf2d6, 0xee92, 0xf2d1, 0xee92, 0xf2d1, 0xee83, -0xf2e0, 0xee83, 0xf2e0, 0xee59, 0xf2be, 0xee59, 0xf2be, 0xee1c, 0xf273, 0xee1c, 0xf273, -0xee6c, 0xf2a1, 0xee6c, 0xf2a1, 0xef05, 0xf303, 0xef05, 0xf303, 0xef05, 0xf303, 0xef6e, -0xf325, 0xef6e, 0xf325, 0xf0db, 0xf43a, 0xf0db, 0xf43a, 0xf2d7, 0xf5d2, 0xf2d7, 0xf5d2, -0xf492, 0xf720, 0xf492, 0xf720, 0xf6ae, 0xf8c8, 0xf6ae, 0xf8c8, 0xf936, 0xfada, 0xf936, -0xfada, 0xf936, 0xfada, 0xfbb4, 0xfce0, 0xfbb4, 0xfce0, 0xfe5a, 0xff14, 0xfe5a, 0xff14, -0x1a7, 0x1f4, 0x1a7, 0x1f4, 0x514, 0x4fb, 0x514, 0x4fb, 0x7d7, 0x761, 0x7d7, -0x761, 0x7d7, 0x761, 0x9f4, 0x92c, 0x9f4, 0x92c, 0xba1, 0xa91, 0xba1, 0xa91, -0xc95, 0xb49, 0xc95, 0xb49, 0xd4c, 0xbcd, 0xd4c, 0xbcd, 0xdfb, 0xc52, 0xdfb, -0xc52, 0xe31, 0xc66, 0xe31, 0xc66, 0xe31, 0xc66, 0xe2a, 0xc42, 0xe2a, 0xc42, -0xd9c, 0xb9c, 0xd9c, 0xb9c, 0xce3, 0xacd, 0xce3, 0xacd, 0xc76, 0xa4d, 0xc76, -0xa4d, 0xc18, 0x9db, 0xc18, 0x9db, 0xc18, 0x9db, 0xbc7, 0x975, 0xbc7, 0x975, -0xc06, 0x99d, 0xc06, 0x99d, 0xcc2, 0xa42, 0xcc2, 0xa42, 0xc9a, 0xa02, 0xc9a, -0xa02, 0xc01, 0x950, 0xc01, 0x950, 0xb77, 0x8ae, 0xb77, 0x8ae, 0xb77, 0x8ae, -0xae4, 0x805, 0xae4, 0x805, 0xada, 0x7ea, 0xada, 0x7ea, 0xad1, 0x7d5, 0xad1, -0x7d5, 0xa85, 0x785, 0xa85, 0x785, 0xa71, 0x777, 0xa71, 0x777, 0xa48, 0x75f, -0xa48, 0x75f, 0xa48, 0x75f, 0x8f0, 0x624, 0x8f0, 0x624, 0x727, 0x485, 0x727, -0x485, 0x59d, 0x333, 0x59d, 0x333, 0x3d7, 0x1b2, 0x3d7, 0x1b2, 0x26d, 0x9b, -0x26d, 0x9b, 0x26d, 0x9b, 0x13f, 0xffcc, 0x13f, 0xffcc, 0xffe4, 0xfed9, 0xffe4, -0xfed9, 0xfe14, 0xfd79, 0xfe14, 0xfd79, 0xfc77, 0xfc53, 0xfc77, 0xfc53, 0xfb7a, 0xfbce, -0xfb7a, 0xfbce, 0xf9d1, 0xfa9e, 0xf9d1, 0xfa9e, 0xf9d1, 0xfa9e, 0xf78d, 0xf8d1, 0xf78d, -0xf8d1, 0xf556, 0xf70b, 0xf556, 0xf70b, 0xf2ed, 0xf50b, 0xf2ed, 0xf50b, 0xf041, 0xf2bd, -0xf041, 0xf2bd, 0xee05, 0xf0d5, 0xee05, 0xf0d5, 0xec78, 0xef8d, 0xec78, 0xef8d, 0xec78, -0xef8d, 0xeb84, 0xeed1, 0xeb84, 0xeed1, 0xeb30, 0xeea6, 0xeb30, 0xeea6, 0xeb1e, 0xeeb0, -0xeb1e, 0xeeb0, 0xeb0f, 0xeeb0, 0xeb0f, 0xeeb0, 0xea9f, 0xee43, 0xea9f, 0xee43, 0xea9f, -0xee43, 0xe9f6, 0xed95, 0xe9f6, 0xed95, 0xe9ef, 0xed7f, 0xe9ef, 0xed7f, 0xeaa9, 0xee26, -0xeaa9, 0xee26, 0xeb81, 0xeee8, 0xeb81, 0xeee8, 0xeca0, 0xefef, 0xeca0, 0xefef, 0xee37, -0xf16f, 0xee37, 0xf16f, 0xee37, 0xf16f, 0xef75, 0xf299, 0xef75, 0xf299, 0xeffc, 0xf30f, -0xeffc, 0xf30f, 0xf06c, 0xf372, 0xf06c, 0xf372, 0xf101, 0xf3fe, 0xf101, 0xf3fe, 0xf12a, -0xf422, 0xf12a, 0xf422, 0xf158, 0xf44d, 0xf158, 0xf44d, 0xf158, 0xf44d, 0xf184, 0xf477, -0xf184, 0xf477, 0xf0eb, 0xf3dd, 0xf0eb, 0xf3dd, 0xefbc, 0xf2a8, 0xefbc, 0xf2a8, 0xee9c, -0xf17e, 0xee9c, 0xf17e, 0xedfa, 0xf0c9, 0xedfa, 0xf0c9, 0xedfa, 0xf0c9, 0xed2f, 0xefe2, -0xed2f, 0xefe2, 0xec67, 0xeef0, 0xec67, 0xeef0, 0xebf8, 0xee4a, 0xebf8, 0xee4a, 0xec0c, -0xee16, 0xec0c, 0xee16, 0xed53, 0xef05, 0xed53, 0xef05, 0xef59, 0xf0a3, 0xef59, 0xf0a3, -0xef59, 0xf0a3, 0xf1ab, 0xf27c, 0xf1ab, 0xf27c, 0xf494, 0xf4dd, 0xf494, 0xf4dd, 0xf844, -0xf7f8, 0xf844, 0xf7f8, 0xfc86, 0xfb9b, 0xfc86, 0xfb9b, 0xf1, 0xff5f, 0xf1, 0xff5f, -0x543, 0x307, 0x543, 0x307, 0x543, 0x307, 0x9c8, 0x6e1, 0x9c8, 0x6e1, 0xe50, -0xac4, 0xe50, 0xac4, 0x1286, 0xe5c, 0x1286, 0xe5c, 0x1697, 0x11dc, 0x1697, 0x11dc, -0x19c7, 0x1489, 0x19c7, 0x1489, 0x19c7, 0x1489, 0x1ba2, 0x15f6, 0x1ba2, 0x15f6, 0x1cc7, -0x16c2, 0x1cc7, 0x16c2, 0x1dd4, 0x178d, 0x1dd4, 0x178d, 0x1efa, 0x188b, 0x1efa, 0x188b, -0x1fe9, 0x1969, 0x1fe9, 0x1969, 0x2045, 0x19cf, 0x2045, 0x19cf, 0x2045, 0x19cf, 0x2030, -0x19da, 0x2030, 0x19da, 0x1ffe, 0x19df, 0x1ffe, 0x19df, 0x1fcf, 0x19f8, 0x1fcf, 0x19f8, -0x1f5f, 0x19e2, 0x1f5f, 0x19e2, 0x1e12, 0x18fa, 0x1e12, 0x18fa, 0x1bdc, 0x1733, 0x1bdc, -0x1733, 0x1bdc, 0x1733, 0x1992, 0x155d, 0x1992, 0x155d, 0x17db, 0x141c, 0x17db, 0x141c, -0x162e, 0x12e4, 0x162e, 0x12e4, 0x147e, 0x11a5, 0x147e, 0x11a5, 0x1342, 0x10d3, 0x1342, -0x10d3, 0x1342, 0x10d3, 0x122a, 0x101c, 0x122a, 0x101c, 0x111b, 0xf65, 0x111b, 0xf65, -0xfa9, 0xe3f, 0xfa9, 0xe3f, 0xdb9, 0xc92, 0xdb9, 0xc92, 0xba5, 0xab7, 0xba5, -0xab7, 0x9c0, 0x902, 0x9c0, 0x902, 0x9c0, 0x902, 0x84c, 0x7b7, 0x84c, 0x7b7, -0x6fa, 0x688, 0x6fa, 0x688, 0x5c9, 0x577, 0x5c9, 0x577, 0x527, 0x4f3, 0x527, -0x4f3, 0x518, 0x502, 0x518, 0x502, 0x539, 0x545, 0x539, 0x545, 0x539, 0x545, -0x56a, 0x59a, 0x56a, 0x59a, 0x584, 0x5dd, 0x584, 0x5dd, 0x585, 0x60d, 0x585, -0x60d, 0x55b, 0x615, 0x55b, 0x615, 0x4f9, 0x5ea, 0x4f9, 0x5ea, 0x4f9, 0x5ea, -0x43b, 0x567, 0x43b, 0x567, 0x2e7, 0x44e, 0x2e7, 0x44e, 0x19f, 0x342, 0x19f, -0x342, 0x52, 0x22e, 0x52, 0x22e, 0xfee5, 0xf6, 0xfee5, 0xf6, 0xfd60, 0xff9e, -0xfd60, 0xff9e, 0xfd60, 0xff9e, 0xfbbf, 0xfe20, 0xfbbf, 0xfe20, 0xfa42, 0xfcbc, 0xfa42, -0xfcbc, 0xf913, 0xfb97, 0xf913, 0xfb97, 0xf8c1, 0xfb42, 0xf8c1, 0xfb42, 0xf8bd, 0xfb2c, -0xf8bd, 0xfb2c, 0xf900, 0xfb4f, 0xf900, 0xfb4f, 0xf900, 0xfb4f, 0xf973, 0xfb94, 0xf973, -0xfb94, 0xf9d5, 0xfbbb, 0xf9d5, 0xfbbb, 0xfaef, 0xfc8f, 0xfaef, 0xfc8f, 0xfbb1, 0xfd04, -0xfbb1, 0xfd04, 0xfc2e, 0xfd2e, 0xfc2e, 0xfd2e, 0xfc2e, 0xfd2e, 0xfd82, 0xfe2e, 0xfd82, -0xfe2e, 0xfefc, 0xff55, 0xfefc, 0xff55, 0x7f, 0x8a, 0x7f, 0x8a, 0x233, 0x1f9, -0x233, 0x1f9, 0x2ec, 0x279, 0x2ec, 0x279, 0x234, 0x197, 0x234, 0x197, 0x234, -0x197, 0x12b, 0x73, 0x12b, 0x73, 0x36, 0xff77, 0x36, 0xff77, 0xff10, 0xfe5b, -0xff10, 0xfe5b, 0xfdc2, 0xfd2a, 0xfdc2, 0xfd2a, 0xfc7c, 0xfc14, 0xfc7c, 0xfc14, 0xfb0d, -0xfae4, 0xfb0d, 0xfae4, 0xfb0d, 0xfae4, 0xf930, 0xf955, 0xf930, 0xf955, 0xf794, 0xf812, -0xf794, 0xf812, 0xf640, 0xf71f, 0xf640, 0xf71f, 0xf464, 0xf5a9, 0xf464, 0xf5a9, 0xf259, -0xf403, 0xf259, 0xf403, 0xf259, 0xf403, 0xf07c, 0xf289, 0xf07c, 0xf289, 0xee9b, 0xf104, -0xee9b, 0xf104, 0xed42, 0xeffc, 0xed42, 0xeffc, 0xec57, 0xef54, 0xec57, 0xef54, 0xeb3f, -0xee6f, 0xeb3f, 0xee6f, 0xea97, 0xede8, 0xea97, 0xede8, 0xea97, 0xede8, 0xea82, 0xede2, -0xea82, 0xede2, 0xea78, 0xedd2, 0xea78, 0xedd2, 0xea5d, 0xed9e, 0xea5d, 0xed9e, 0xea1a, -0xed2f, 0xea1a, 0xed2f, 0xea4f, 0xed29, 0xea4f, 0xed29, 0xea4f, 0xed29, 0xebc5, 0xee55, -0xebc5, 0xee55, 0xedc7, 0xf001, 0xedc7, 0xf001, 0xefcd, 0xf1a9, 0xefcd, 0xf1a9, 0xf244, -0xf3bb, 0xf244, 0xf3bb, 0xf539, 0xf64a, 0xf539, 0xf64a, 0xf87e, 0xf92a, 0xf87e, 0xf92a, -0xf87e, 0xf92a, 0xfc18, 0xfc60, 0xfc18, 0xfc60, 0x11, 0xfffd, 0x11, 0xfffd, 0x369, -0x2ff, 0x369, 0x2ff, 0x5aa, 0x4f4, 0x5aa, 0x4f4, 0x7f3, 0x6fb, 0x7f3, 0x6fb, -0x9c8, 0x897, 0x9c8, 0x897, 0x9c8, 0x897, 0xaa1, 0x942, 0xaa1, 0x942, 0xb6f, -0x9eb, 0xb6f, 0x9eb, 0xc29, 0xa88, 0xc29, 0xa88, 0xc42, 0xa8c, 0xc42, 0xa8c, -0xc1f, 0xa58, 0xc1f, 0xa58, 0xc1f, 0xa58, 0xc0f, 0xa3b, 0xc0f, 0xa3b, 0xba5, -0x9c6, 0xba5, 0x9c6, 0xb29, 0x93f, 0xb29, 0x93f, 0xb1e, 0x929, 0xb1e, 0x929, -0xb8b, 0x987, 0xb8b, 0x987, 0xc46, 0xa33, 0xc46, 0xa33, 0xc46, 0xa33, 0xcbb, -0xa95, 0xcbb, 0xa95, 0xceb, 0xab0, 0xceb, 0xab0, 0xd59, 0xb07, 0xd59, 0xb07, -0xd9e, 0xb35, 0xd9e, 0xb35, 0xd6b, 0xaed, 0xd6b, 0xaed, 0xd72, 0xae1, 0xd72, -0xae1, 0xd72, 0xae1, 0xd9f, 0xb00, 0xd9f, 0xb00, 0xde8, 0xb43, 0xde8, 0xb43, -0xe83, 0xbe0, 0xe83, 0xbe0, 0xe52, 0xbbb, 0xe52, 0xbbb, 0xce8, 0xa69, 0xce8, -0xa69, 0xce8, 0xa69, 0xb0b, 0x8b0, 0xb0b, 0x8b0, 0x942, 0x718, 0x942, 0x718, -0x76b, 0x580, 0x76b, 0x580, 0x56d, 0x3cd, 0x56d, 0x3cd, 0x383, 0x238, 0x383, -0x238, 0x1c7, 0xdc, 0x1c7, 0xdc, 0x1c7, 0xdc, 0x37, 0xffb2, 0x37, 0xffb2, -0xfec8, 0xfeb0, 0xfec8, 0xfeb0, 0xfd71, 0xfdc7, 0xfd71, 0xfdc7, 0xfbb9, 0xfc7d, 0xfbb9, -0xfc7d, 0xf9aa, 0xfad9, 0xf9aa, 0xfad9, 0xf79c, 0xf92f, 0xf79c, 0xf92f, 0xf79c, 0xf92f, -0xf52f, 0xf71e, 0xf52f, 0xf71e, 0xf272, 0xf4b4, 0xf272, 0xf4b4, 0xf014, 0xf29b, 0xf014, -0xf29b, 0xee2d, 0xf0ed, 0xee2d, 0xf0ed, 0xecf5, 0xefe0, 0xecf5, 0xefe0, 0xecf5, 0xefe0, -0xecd4, 0xefdc, 0xecd4, 0xefdc, 0xecea, 0xf002, 0xecea, 0xf002, 0xec88, 0xefa4, 0xec88, -0xefa4, 0xeba6, 0xeebe, 0xeba6, 0xeebe, 0xeaf6, 0xee00, 0xeaf6, 0xee00, 0xeb0a, 0xee01, -0xeb0a, 0xee01, 0xeb0a, 0xee01, 0xeafb, 0xeddc, 0xeafb, 0xeddc, 0xead3, 0xed9d, 0xead3, -0xed9d, 0xeb01, 0xedb6, 0xeb01, 0xedb6, 0xeb96, 0xee3a, 0xeb96, 0xee3a, 0xec44, 0xeedc, -0xec44, 0xeedc, 0xed25, 0xefb9, 0xed25, 0xefb9, 0xed25, 0xefb9, 0xee3a, 0xf0d0, 0xee3a, -0xf0d0, 0xee6e, 0xf10e, 0xee6e, 0xf10e, 0xeef1, 0xf1a3, 0xeef1, 0xf1a3, 0xefe8, 0xf2af, -0xefe8, 0xf2af, 0xf002, 0xf2e3, 0xf002, 0xf2e3, 0xf002, 0xf2e3, 0xef90, 0xf28d, 0xef90, -0xf28d, 0xeedd, 0xf1f3, 0xeedd, 0xf1f3, 0xeea2, 0xf1cc, 0xeea2, 0xf1cc, 0xee93, 0xf1cb, -0xee93, 0xf1cb, 0xee31, 0xf16c, 0xee31, 0xf16c, 0xeda8, 0xf0d9, 0xeda8, 0xf0d9, 0xeda8, -0xf0d9, 0xed3d, 0xf054, 0xed3d, 0xf054, 0xedce, 0xf0b9, 0xedce, 0xf0b9, 0xee9e, 0xf14a, -0xee9e, 0xf14a, 0xefc3, 0xf21c, 0xefc3, 0xf21c, 0xf1cb, 0xf3be, 0xf1cb, 0xf3be, 0xf43b, -0xf5b5, 0xf43b, 0xf5b5, 0xf43b, 0xf5b5, 0xf787, 0xf877, 0xf787, 0xf877, 0xfb6b, 0xfbc2, -0xfb6b, 0xfbc2, 0xff80, 0xff35, 0xff80, 0xff35, 0x3d4, 0x2de, 0x3d4, 0x2de, 0x8b2, -0x70e, 0x8b2, 0x70e, 0x8b2, 0x70e, 0xd45, 0xaf5, 0xd45, 0xaf5, 0x115a, 0xe62, -0x115a, 0xe62, 0x1587, 0x11f3, 0x1587, 0x11f3, 0x1861, 0x143e, 0x1861, 0x143e, 0x1acc, -0x162b, 0x1acc, 0x162b, 0x1d56, 0x184d, 0x1d56, 0x184d, 0x1d56, 0x184d, 0x1f15, 0x19bb, -0x1f15, 0x19bb, 0x201c, 0x1a8b, 0x201c, 0x1a8b, 0x209d, 0x1aee, 0x209d, 0x1aee, 0x2114, -0x1b5f, 0x2114, 0x1b5f, 0x2133, 0x1b91, 0x2133, 0x1b91, 0x2176, 0x1bfc, 0x2176, 0x1bfc, -0x2176, 0x1bfc, 0x2199, 0x1c5c, 0x2199, 0x1c5c, 0x20f3, 0x1c04, 0x20f3, 0x1c04, 0x1fa5, -0x1b10, 0x1fa5, 0x1b10, 0x1dc7, 0x1995, 0x1dc7, 0x1995, 0x1bcc, 0x1803, 0x1bcc, 0x1803, -0x1bcc, 0x1803, 0x1977, 0x1618, 0x1977, 0x1618, 0x16fb, 0x1403, 0x16fb, 0x1403, 0x1524, -0x128f, 0x1524, 0x128f, 0x13cd, 0x1191, 0x13cd, 0x1191, 0x1283, 0x1096, 0x1283, 0x1096, -0x10f7, 0xf4e, 0x10f7, 0xf4e, 0x10f7, 0xf4e, 0xec9, 0xd57, 0xec9, 0xd57, 0xca9, -0xb61, 0xca9, 0xb61, 0xa80, 0x957, 0xa80, 0x957, 0x8c9, 0x7b5, 0x8c9, 0x7b5, -0x7b5, 0x6ae, 0x7b5, 0x6ae, 0x5f4, 0x4f5, 0x5f4, 0x4f5, 0x5f4, 0x4f5, 0x4ac, -0x3b0, 0x4ac, 0x3b0, 0x439, 0x340, 0x439, 0x340, 0x422, 0x32e, 0x422, 0x32e, -0x43b, 0x351, 0x43b, 0x351, 0x469, 0x38f, 0x469, 0x38f, 0x469, 0x38f, 0x4a2, -0x3e0, 0x4a2, 0x3e0, 0x425, 0x384, 0x425, 0x384, 0x3a8, 0x331, 0x3a8, 0x331, -0x365, 0x322, 0x365, 0x322, 0x28c, 0x284, 0x28c, 0x284, 0x11a, 0x155, 0x11a, -0x155, 0x11a, 0x155, 0xff42, 0xffc3, 0xff42, 0xffc3, 0xfd62, 0xfe2b, 0xfd62, 0xfe2b, -0xfb97, 0xfca8, 0xfb97, 0xfca8, 0xf9d3, 0xfb29, 0xf9d3, 0xfb29, 0xf7bb, 0xf94e, 0xf7bb, -0xf94e, 0xf5a3, 0xf76b, 0xf5a3, 0xf76b, 0xf5a3, 0xf76b, 0xf4b0, 0xf6a0, 0xf4b0, 0xf6a0, -0xf44a, 0xf656, 0xf44a, 0xf656, 0xf47a, 0xf692, 0xf47a, 0xf692, 0xf51a, 0xf72e, 0xf51a, -0xf72e, 0xf59e, 0xf79f, 0xf59e, 0xf79f, 0xf59e, 0xf79f, 0xf691, 0xf870, 0xf691, 0xf870, -0xf7da, 0xf988, 0xf7da, 0xf988, 0xf90d, 0xfa80, 0xf90d, 0xfa80, 0xfa32, 0xfb61, 0xfa32, -0xfb61, 0xfbea, 0xfccf, 0xfbea, 0xfccf, 0xfdca, 0xfe63, 0xfdca, 0xfe63, 0xfdca, 0xfe63, -0x13, 0x61, 0x13, 0x61, 0x1d5, 0x1dd, 0x1d5, 0x1dd, 0x277, 0x243, 0x277, -0x243, 0x2cb, 0x265, 0x2cb, 0x265, 0x252, 0x1c9, 0x252, 0x1c9, 0x252, 0x1c9, -0x1a5, 0x109, 0x1a5, 0x109, 0xa3, 0x6, 0xa3, 0x6, 0xff8f, 0xff02, 0xff8f, -0xff02, 0xfe9f, 0xfe36, 0xfe9f, 0xfe36, 0xfd4e, 0xfd19, 0xfd4e, 0xfd19, 0xfbf7, 0xfc05, -0xfbf7, 0xfc05, 0xfbf7, 0xfc05, 0xfae1, 0xfb3f, 0xfae1, 0xfb3f, 0xf986, 0xfa3d, 0xf986, -0xfa3d, 0xf7b0, 0xf8c7, 0xf7b0, 0xf8c7, 0xf5f1, 0xf76b, 0xf5f1, 0xf76b, 0xf475, 0xf650, -0xf475, 0xf650, 0xf2dc, 0xf513, 0xf2dc, 0xf513, 0xf2dc, 0xf513, 0xf150, 0xf3da, 0xf150, -0xf3da, 0xf006, 0xf2d8, 0xf006, 0xf2d8, 0xef0f, 0xf21b, 0xef0f, 0xf21b, 0xeeea, 0xf220, -0xeeea, 0xf220, 0xef0a, 0xf257, 0xef0a, 0xf257, 0xef0a, 0xf257, 0xef2b, 0xf27c, 0xef2b, -0xf27c, 0xeee9, 0xf22d, 0xeee9, 0xf22d, 0xef1e, 0xf243, 0xef1e, 0xf243, 0xefd0, 0xf2c6, -0xefd0, 0xf2c6, 0xf064, 0xf31d, 0xf064, 0xf31d, 0xf14d, 0xf3bd, 0xf14d, 0xf3bd, 0xf14d, -0xf3bd, 0xf22e, 0xf44c, 0xf22e, 0xf44c, 0xf3de, 0xf5a4, 0xf3de, 0xf5a4, 0xf65f, 0xf7ca, -0xf65f, 0xf7ca, 0xf928, 0xfa38, 0xf928, 0xfa38, 0xfc27, 0xfcdd, 0xfc27, 0xfcdd, 0xff39, -0xff9b, 0xff39, 0xff9b, 0xff39, 0xff9b, 0x1cf, 0x1e2, 0x1cf, 0x1e2, 0x46b, 0x438, -0x46b, 0x438, 0x6b2, 0x640, 0x6b2, 0x640, 0x885, 0x7dc, 0x885, 0x7dc, 0x9d9, -0x901, 0x9d9, 0x901, 0x9d9, 0x901, 0xa72, 0x973, 0xa72, 0x973, 0xb52, 0xa31, -0xb52, 0xa31, 0xbbb, 0xa7d, 0xbbb, 0xa7d, 0xc1a, 0xac2, 0xc1a, 0xac2, 0xbae, -0xa3e, 0xbae, 0xa3e, 0xb24, 0x99a, 0xb24, 0x99a, 0xb24, 0x99a, 0xb02, 0x95e, -0xb02, 0x95e, 0xb25, 0x964, 0xb25, 0x964, 0xb8f, 0x9ad, 0xb8f, 0x9ad, 0xb68, -0x963, 0xb68, 0x963, 0xb3f, 0x914, 0xb3f, 0x914, 0xad6, 0x883, 0xad6, 0x883, -0xad6, 0x883, 0xadd, 0x860, 0xadd, 0x860, 0xb04, 0x860, 0xb04, 0x860, 0xb29, -0x860, 0xb29, 0x860, 0xaef, 0x805, 0xaef, 0x805, 0xacc, 0x7ca, 0xacc, 0x7ca, -0xacc, 0x7ca, 0xb29, 0x818, 0xb29, 0x818, 0xb4d, 0x83a, 0xb4d, 0x83a, 0xaef, -0x7e6, 0xaef, 0x7e6, 0xa44, 0x755, 0xa44, 0x755, 0x98f, 0x6ca, 0x98f, 0x6ca, -0x860, 0x5d5, 0x860, 0x5d5, 0x860, 0x5d5, 0x6f2, 0x4b1, 0x6f2, 0x4b1, 0x535, -0x34d, 0x535, 0x34d, 0x3ee, 0x26d, 0x3ee, 0x26d, 0x247, 0x137, 0x247, 0x137, -0xfb, 0x65, 0xfb, 0x65, 0xfff6, 0xffe0, 0xfff6, 0xffe0, 0xfff6, 0xffe0, 0xfe5d, -0xfeca, 0xfe5d, 0xfeca, 0xfcb7, 0xfda5, 0xfcb7, 0xfda5, 0xfaf0, 0xfc5a, 0xfaf0, 0xfc5a, -0xf93b, 0xfb1b, 0xf93b, 0xfb1b, 0xf6de, 0xf928, 0xf6de, 0xf928, 0xf6de, 0xf928, 0xf4a4, -0xf74b, 0xf4a4, 0xf74b, 0xf29c, 0xf590, 0xf29c, 0xf590, 0xf117, 0xf449, 0xf117, 0xf449, -0xf036, 0xf394, 0xf036, 0xf394, 0xef55, 0xf2ce, 0xef55, 0xf2ce, 0xee5e, 0xf1e2, 0xee5e, -0xf1e2, 0xee5e, 0xf1e2, 0xedf6, 0xf176, 0xedf6, 0xf176, 0xed5c, 0xf0ca, 0xed5c, 0xf0ca, -0xed02, 0xf056, 0xed02, 0xf056, 0xed60, 0xf090, 0xed60, 0xf090, 0xed41, 0xf049, 0xed41, -0xf049, 0xed5c, 0xf03a, 0xed5c, 0xf03a, 0xed5c, 0xf03a, 0xede0, 0xf095, 0xede0, 0xf095, -0xef7c, 0xf20c, 0xef7c, 0xf20c, 0xf074, 0xf2e4, 0xf074, 0xf2e4, 0xf13b, 0xf392, 0xf13b, -0xf392, 0xf1b5, 0xf3fc, 0xf1b5, 0xf3fc, 0xf1b5, 0xf3fc, 0xf200, 0xf43f, 0xf200, 0xf43f, -0xf2f0, 0xf52f, 0xf2f0, 0xf52f, 0xf2e6, 0xf52c, 0xf2e6, 0xf52c, 0xf280, 0xf4d4, 0xf280, -0xf4d4, 0xf1d9, 0xf43d, 0xf1d9, 0xf43d, 0xf173, 0xf3e8, 0xf173, 0xf3e8, 0xf173, 0xf3e8, -0xf0b1, 0xf336, 0xf0b1, 0xf336, 0xefe5, 0xf273, 0xefe5, 0xf273, 0xeec9, 0xf159, 0xeec9, -0xf159, 0xedb7, 0xf03e, 0xedb7, 0xf03e, 0xed35, 0xefa4, 0xed35, 0xefa4, 0xecff, 0xef48, -0xecff, 0xef48, 0xecff, 0xef48, 0xed6c, 0xef7e, 0xed6c, 0xef7e, 0xee84, 0xf04d, 0xee84, -0xf04d, 0xf01b, 0xf18a, 0xf01b, 0xf18a, 0xf1aa, 0xf2af, 0xf1aa, 0xf2af, 0xf4b7, 0xf543, -0xf4b7, 0xf543, 0xf4b7, 0xf543, 0xf856, 0xf85c, 0xf856, 0xf85c, 0xfc24, 0xfb9b, 0xfc24, -0xfb9b, 0x7d, 0xff5f, 0x7d, 0xff5f, 0x4d4, 0x320, 0x4d4, 0x320, 0x8b2, 0x669, -0x8b2, 0x669, 0xcbf, 0x9e8, 0xcbf, 0x9e8, 0xcbf, 0x9e8, 0x10aa, 0xd4f, 0x10aa, -0xd4f, 0x13b6, 0xfe5, 0x13b6, 0xfe5, 0x1643, 0x120d, 0x1643, 0x120d, 0x186a, 0x13e3, -0x186a, 0x13e3, 0x1a4b, 0x1589, 0x1a4b, 0x1589, 0x1afe, 0x1618, 0x1afe, 0x1618, 0x1afe, -0x1618, 0x1bc8, 0x16d4, 0x1bc8, 0x16d4, 0x1c2c, 0x1742, 0x1c2c, 0x1742, 0x1c7e, 0x17b1, -0x1c7e, 0x17b1, 0x1d09, 0x186d, 0x1d09, 0x186d, 0x1d0e, 0x18b3, 0x1d0e, 0x18b3, 0x1d0e, -0x18b3, 0x1c90, 0x1882, 0x1c90, 0x1882, 0x1bc8, 0x1811, 0x1bc8, 0x1811, 0x1aa0, 0x1745, -0x1aa0, 0x1745, 0x18e4, 0x15e7, 0x18e4, 0x15e7, 0x1797, 0x14f5, 0x1797, 0x14f5, 0x1625, -0x13d9, 0x1625, 0x13d9, 0x1625, 0x13d9, 0x1503, 0x1305, 0x1503, 0x1305, 0x13dc, 0x1222, -0x13dc, 0x1222, 0x12d8, 0x1155, 0x12d8, 0x1155, 0x1141, 0xfe9, 0x1141, 0xfe9, 0x1007, -0xecd, 0x1007, 0xecd, 0xeeb, 0xdc2, 0xeeb, 0xdc2, 0xeeb, 0xdc2, 0xd0a, 0xbe7, -0xd0a, 0xbe7, 0xbc0, 0xa9a, 0xbc0, 0xa9a, 0xa5b, 0x92b, 0xa5b, 0x92b, 0x921, -0x7e3, 0x921, 0x7e3, 0x7eb, 0x69d, 0x7eb, 0x69d, 0x7eb, 0x69d, 0x77b, 0x61f, -0x77b, 0x61f, 0x742, 0x5db, 0x742, 0x5db, 0x728, 0x5bd, 0x728, 0x5bd, 0x6d7, -0x571, 0x6d7, 0x571, 0x6a8, 0x551, 0x6a8, 0x551, 0x6ae, 0x571, 0x6ae, 0x571, -0x6ae, 0x571, 0x6c5, 0x5ad, 0x6c5, 0x5ad, 0x6d6, 0x5ee, 0x6d6, 0x5ee, 0x5ff, -0x551, 0x5ff, 0x551, 0x4cd, 0x460, 0x4cd, 0x460, 0x38c, 0x367, 0x38c, 0x367, -0x38c, 0x367, 0x2ec, 0x313, 0x2ec, 0x313, 0x10e, 0x181, 0x10e, 0x181, 0xff23, -0xffe0, 0xff23, 0xffe0, 0xfd62, 0xfe64, 0xfd62, 0xfe64, 0xfbc5, 0xfd06, 0xfbc5, 0xfd06, -0xfa5e, 0xfbd2, 0xfa5e, 0xfbd2, 0xfa5e, 0xfbd2, 0xf97d, 0xfb19, 0xf97d, 0xfb19, 0xf970, -0xfb27, 0xf970, 0xfb27, 0xf8ef, 0xfab2, 0xf8ef, 0xfab2, 0xf923, 0xfae5, 0xf923, 0xfae5, -0xf976, 0xfb27, 0xf976, 0xfb27, 0xf9f8, 0xfb8e, 0xf9f8, 0xfb8e, 0xf9f8, 0xfb8e, 0xf9f6, -0xfb64, 0xf9f6, 0xfb64, 0xfb2f, 0xfc6e, 0xfb2f, 0xfc6e, 0xfc28, 0xfd31, 0xfc28, 0xfd31, -0xfd07, 0xfdd8, 0xfd07, 0xfdd8, 0xff13, 0xffac, 0xff13, 0xffac, 0xff13, 0xffac, 0x53, -0xb6, 0x53, 0xb6, 0xf0, 0x124, 0xf0, 0x124, 0xe5, 0xf3, 0xe5, 0xf3, -0xe2, 0xd4, 0xe2, 0xd4, 0x6, 0xffe8, 0x6, 0xffe8, 0xff4e, 0xff2f, 0xff4e, -0xff2f, 0xff4e, 0xff2f, 0xfdf9, 0xfde7, 0xfdf9, 0xfde7, 0xfcc6, 0xfcce, 0xfcc6, 0xfcce, -0xfbb4, 0xfbe2, 0xfbb4, 0xfbe2, 0xfa7d, 0xfadf, 0xfa7d, 0xfadf, 0xf941, 0xf9df, 0xf941, -0xf9df, 0xf7d1, 0xf8b2, 0xf7d1, 0xf8b2, 0xf7d1, 0xf8b2, 0xf65d, 0xf786, 0xf65d, 0xf786, -0xf486, 0xf5f8, 0xf486, 0xf5f8, 0xf36d, 0xf526, 0xf36d, 0xf526, 0xf1bd, 0xf3ba, 0xf1bd, -0xf3ba, 0xf038, 0xf271, 0xf038, 0xf271, 0xf038, 0xf271, 0xee5f, 0xf0cb, 0xee5f, 0xf0cb, -0xedec, 0xf080, 0xedec, 0xf080, 0xed82, 0xf032, 0xed82, 0xf032, 0xec72, 0xef31, 0xec72, -0xef31, 0xec56, 0xef15, 0xec56, 0xef15, 0xebfc, 0xeead, 0xebfc, 0xeead, 0xebfc, 0xeead, -0xec4b, 0xeee2, 0xec4b, 0xeee2, 0xece3, 0xef56, 0xece3, 0xef56, 0xedc1, 0xf005, 0xedc1, -0xf005, 0xee12, 0xf01f, 0xee12, 0xf01f, 0xef6c, 0xf13d, 0xef6c, 0xf13d, 0xf168, 0xf2f9, -0xf168, 0xf2f9, 0xf168, 0xf2f9, 0xf3ec, 0xf53b, 0xf3ec, 0xf53b, 0xf6f4, 0xf802, 0xf6f4, -0xf802, 0xf9d9, 0xfaa8, 0xf9d9, 0xfaa8, 0xfc77, 0xfd0b, 0xfc77, 0xfd0b, 0xff47, 0xffa3, -0xff47, 0xffa3, 0xff47, 0xffa3, 0x298, 0x2c2, 0x298, 0x2c2, 0x4fe, 0x4fb, 0x4fe, -0x4fb, 0x6e1, 0x6b6, 0x6e1, 0x6b6, 0x7ce, 0x77f, 0x7ce, 0x77f, 0x8c2, 0x853, -0x8c2, 0x853, 0x944, 0x8b7, 0x944, 0x8b7, 0x944, 0x8b7, 0x9d0, 0x925, 0x9d0, -0x925, 0x99a, 0x8d2, 0x99a, 0x8d2, 0x95c, 0x877, 0x95c, 0x877, 0x997, 0x891, -0x997, 0x891, 0x950, 0x826, 0x950, 0x826, 0x9ad, 0x85c, 0x9ad, 0x85c, 0x9ad, -0x85c, 0x99f, 0x824, 0x99f, 0x824, 0xa03, 0x85b, 0xa03, 0x85b, 0xa60, 0x889, -0xa60, 0x889, 0x9f4, 0x7ee, 0x9f4, 0x7ee, 0xabe, 0x888, 0xabe, 0x888, 0xabe, -0x888, 0xb21, 0x8bf, 0xb21, 0x8bf, 0xab0, 0x828, 0xab0, 0x828, 0xc1c, 0x972, -0xc1c, 0x972, 0xb6e, 0x8ad, 0xb6e, 0x8ad, 0xc01, 0x934, 0xc01, 0x934, 0xcec, -0xa20, 0xcec, 0xa20, 0xcec, 0xa20, 0xbf4, 0x936, 0xbf4, 0x936, 0xbb4, 0x914, -0xbb4, 0x914, 0xa4e, 0x7dc, 0xa4e, 0x7dc, 0x9b4, 0x77f, 0x9b4, 0x77f, 0x7a5, -0x5bc, 0x7a5, 0x5bc, 0x6ad, 0x51e, 0x6ad, 0x51e, 0x6ad, 0x51e, 0x52d, 0x404, -0x52d, 0x404, 0x39c, 0x2e3, 0x39c, 0x2e3, 0x2df, 0x29d, 0x2df, 0x29d, 0x16b, -0x1a5, 0x16b, 0x1a5, 0xffbe, 0x74, 0xffbe, 0x74, 0xffbe, 0x74, 0xfd3a, 0xfe6b, -0xfd3a, 0xfe6b, 0xfc92, 0xfe38, 0xfc92, 0xfe38, 0xfa43, 0xfc57, 0xfa43, 0xfc57, 0xf7f2, -0xfa68, 0xf7f2, 0xfa68, 0xf567, 0xf834, 0xf567, 0xf834, 0xf338, 0xf64d, 0xf338, 0xf64d, -0xf338, 0xf64d, 0xf1b3, 0xf500, 0xf1b3, 0xf500, 0xf06a, 0xf3e1, 0xf06a, 0xf3e1, 0xefc3, -0xf354, 0xefc3, 0xf354, 0xeeb0, 0xf24c, 0xeeb0, 0xf24c, 0xedf1, 0xf18b, 0xedf1, 0xf18b, -0xecda, 0xf065, 0xecda, 0xf065, 0xecda, 0xf065, 0xec6d, 0xefe0, 0xec6d, 0xefe0, 0xeb7a, -0xeece, 0xeb7a, 0xeece, 0xeb1f, 0xee4e, 0xeb1f, 0xee4e, 0xeaf3, 0xedfc, 0xeaf3, 0xedfc, -0xeb6e, 0xee50, 0xeb6e, 0xee50, 0xeb6e, 0xee50, 0xeb09, 0xedc6, 0xeb09, 0xedc6, 0xeb26, -0xedc2, 0xeb26, 0xedc2, 0xec78, 0xeef7, 0xec78, 0xeef7, 0xed82, 0xefe9, 0xed82, 0xefe9, -0xeef3, 0xf148, 0xeef3, 0xf148, 0xef31, 0xf179, 0xef31, 0xf179, 0xef31, 0xf179, 0xf003, -0xf242, 0xf003, 0xf242, 0xf094, 0xf2cd, 0xf094, 0xf2cd, 0xf028, 0xf25c, 0xf028, 0xf25c, -0xefc4, 0xf1f1, 0xefc4, 0xf1f1, 0xf11c, 0xf340, 0xf11c, 0xf340, 0xf0d6, 0xf2ea, 0xf0d6, -0xf2ea, 0xf0d6, 0xf2ea, 0xf002, 0xf1ff, 0xf002, 0xf1ff, 0xef29, 0xf105, 0xef29, 0xf105, -0xee66, 0xf016, 0xee66, 0xf016, 0xeee3, 0xf05a, 0xeee3, 0xf05a, 0xf02b, 0xf15b, 0xf02b, -0xf15b, 0xf02b, 0xf15b, 0xf277, 0xf352, 0xf277, 0xf352, 0xf35f, 0xf3d9, 0xf35f, 0xf3d9, -0xf61a, 0xf627, 0xf61a, 0xf627, 0xf8a7, 0xf83c, 0xf8a7, 0xf83c, 0xfc54, 0xfb6b, 0xfc54, -0xfb6b, 0xff60, 0xfdf2, 0xff60, 0xfdf2, 0xff60, 0xfdf2, 0x314, 0x120, 0x314, 0x120, -0x754, 0x4db, 0x754, 0x4db, 0xa6b, 0x772, 0xa6b, 0x772, 0xe98, 0xb27, 0xe98, -0xb27, 0x108c, 0xcae, 0x108c, 0xcae, 0x1483, 0x1047, 0x1483, 0x1047, 0x1483, 0x1047, -0x176e, 0x12e5, 0x176e, 0x12e5, 0x19da, 0x1515, 0x19da, 0x1515, 0x1bf8, 0x170b, 0x1bf8, -0x170b, 0x1d81, 0x1881, 0x1d81, 0x1881, 0x1f4c, 0x1a4c, 0x1f4c, 0x1a4c, 0x1f4c, 0x1a4c, -0x1f8d, 0x1aa2, 0x1f8d, 0x1aa2, 0x1ffb, 0x1b35, 0x1ffb, 0x1b35, 0x1fe2, 0x1b51, 0x1fe2, -0x1b51, 0x2084, 0x1c36, 0x2084, 0x1c36, 0x2048, 0x1c47, 0x2048, 0x1c47, 0x1ef5, 0x1b48, -0x1ef5, 0x1b48, 0x1ef5, 0x1b48, 0x1da0, 0x1a4b, 0x1da0, 0x1a4b, 0x1c19, 0x191c, 0x1c19, -0x191c, 0x1a18, 0x1772, 0x1a18, 0x1772, 0x184f, 0x15f9, 0x184f, 0x15f9, 0x163c, 0x1430, -0x163c, 0x1430, 0x163c, 0x1430, 0x154e, 0x1382, 0x154e, 0x1382, 0x1464, 0x12cd, 0x1464, -0x12cd, 0x1383, 0x1217, 0x1383, 0x1217, 0x11d9, 0x108d, 0x11d9, 0x108d, 0xf85, 0xe4e, -0xf85, 0xe4e, 0xefa, 0xdcd, 0xefa, 0xdcd, 0xefa, 0xdcd, 0xd64, 0xc3a, 0xd64, -0xc3a, 0xc62, 0xb34, 0xc62, 0xb34, 0xa35, 0x8ff, 0xa35, 0x8ff, 0x8c1, 0x781, -0x8c1, 0x781, 0x7bf, 0x675, 0x7bf, 0x675, 0x6fa, 0x5aa, 0x6fa, 0x5aa, 0x6fa, -0x5aa, 0x5f3, 0x4a0, 0x5f3, 0x4a0, 0x5e7, 0x498, 0x5e7, 0x498, 0x708, 0x5c5, -0x708, 0x5c5, 0x654, 0x524, 0x654, 0x524, 0x67a, 0x567, 0x67a, 0x567, 0x67a, -0x567, 0x4a5, 0x3b6, 0x4a5, 0x3b6, 0x3a6, 0x2e4, 0x3a6, 0x2e4, 0x253, 0x1c4, -0x253, 0x1c4, 0x1b9, 0x163, 0x1b9, 0x163, 0xb0, 0x96, 0xb0, 0x96, 0xfe26, -0xfe4a, 0xfe26, 0xfe4a, 0xfe26, 0xfe4a, 0xfbe6, 0xfc46, 0xfbe6, 0xfc46, 0xf8a9, 0xf944, -0xf8a9, 0xf944, 0xf690, 0xf761, 0xf690, 0xf761, 0xf578, 0xf67a, 0xf578, 0xf67a, 0xf65e, -0xf788, 0xf65e, 0xf788, 0xf67b, 0xf7c5, 0xf67b, 0xf7c5, 0xf67b, 0xf7c5, 0xf6b5, 0xf817, -0xf6b5, 0xf817, 0xf64d, 0xf7bd, 0xf64d, 0xf7bd, 0xf782, 0xf8f7, 0xf782, 0xf8f7, 0xf911, -0xfa84, 0xf911, 0xfa84, 0xfa53, 0xfbbd, 0xfa53, 0xfbbd, 0xfa53, 0xfbbd, 0xfc32, 0xfd8d, -0xfc32, 0xfd8d, 0xfd17, 0xfe60, 0xfd17, 0xfe60, 0xfefc, 0x31, 0xfefc, 0x31, 0xffc1, -0xe3, 0xffc1, 0xe3, 0xff, 0x210, 0xff, 0x210, 0x16b, 0x26f, 0x16b, 0x26f, -0x16b, 0x26f, 0x292, 0x390, 0x292, 0x390, 0x399, 0x497, 0x399, 0x497, 0x314, -0x41a, 0x314, 0x41a, 0x1b4, 0x2c9, 0x1b4, 0x2c9, 0xbe, 0x1ec, 0xbe, 0x1ec, -0x4, 0x151, 0x4, 0x151, 0x4, 0x151, 0xff14, 0x88, 0xff14, 0x88, 0xfdee, -0xff8d, 0xfdee, 0xff8d - }; diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/main.c deleted file mode 100644 index 07fdeca1d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/main.c +++ /dev/null @@ -1,412 +0,0 @@ -/** - ****************************************************************************** - * @file I2S/Audio/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup I2S_Audio - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ - -#define MESSAGE1 " STM32F2xx " -#define MESSAGE2 " Device running on " -#define MESSAGE3 " STM322xG-EVAL " - -/* Audio file size and start address are defined here since the audio file is - stored in Flash memory as a constant table of 16-bit data */ -#define AUDIO_FILE_SZE 990000 -#define AUIDO_START_ADDRESS 58 /* Offset relative to audio file header size */ - -__IO uint32_t cmd = AUDIO_PAUSE; -__IO uint32_t volume = 70; - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ - -static __IO uint32_t TimingDelay; -RCC_ClocksTypeDef RCC_Clocks; - -/* Variable to indicate that push buttons will be used for switching between - Headphone and Speaker output modes. */ -uint32_t SpHpSwitch = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs, Key Button, LCD available on - STM322xG-EVAL board ******************************************************/ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Initialize the Push buttons */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_GPIO); /* Key button for Pause/Resume */ - STM_EVAL_PBInit(BUTTON_WAKEUP, BUTTON_MODE_GPIO); /* Key button for Volume High */ - STM_EVAL_PBInit(BUTTON_TAMPER, BUTTON_MODE_GPIO); /* Key button for Volume Low */ - - /* Initialize the LCD */ - STM322xG_LCD_Init(); - - /* Display message on STM322xG-EVAL LCD *************************************/ - /* Clear the LCD */ - LCD_Clear(LCD_COLOR_BLUE); - - /* Set the LCD Back Color */ - LCD_SetBackColor(Blue); - /* Set the LCD Text Color */ - LCD_SetTextColor(White); - LCD_DisplayStringLine(Line0, MESSAGE1); - LCD_DisplayStringLine(Line1, MESSAGE2); - LCD_DisplayStringLine(Line2, MESSAGE3); - - /* Turn on leds available on STM322xG-EVAL **********************************/ - STM_EVAL_LEDOn(LED1); - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - - /* SysTick end of count event each 10ms */ - RCC_GetClocksFreq(&RCC_Clocks); - SysTick_Config(RCC_Clocks.HCLK_Frequency / 100); - - /* Initialize the Audio codec and all related peripherals (I2S, I2C, IOExpander, IOs...) */ - if (EVAL_AUDIO_Init(OUTPUT_DEVICE_AUTO, volume, I2S_AudioFreq_48k) == 0) - { - LCD_DisplayStringLine(Line3, "===================="); - LCD_DisplayStringLine(Line4, "Key : Play/Pause "); - LCD_DisplayStringLine(Line5, "Tamper: Vol+/Headph"); - LCD_DisplayStringLine(Line6, "Wakeup: Vol-/Spkr "); - LCD_DisplayStringLine(Line7, "===================="); - LCD_DisplayStringLine(Line8, " AUDIO CODEC OK "); - } - else - { - LCD_DisplayStringLine(Line4, " AUDIO CODEC FAIL "); - LCD_DisplayStringLine(Line5, " Try to reset board "); - } - - - /* - Normal mode description: - Start playing the audio file (using DMA stream) . - Using this mode, the application can run other tasks in parallel since - the DMA is handling the Audio Transfer instead of the CPU. - The only task remaining for the CPU will be the management of the DMA - Transfer Complete interrupt or the Half Transfer Complete interrupt in - order to load again the buffer and to calculate the remaining data. - Circular mode description: - Start playing the file from a circular buffer, once the DMA is enabled it - always run. User has to fill periodically the buffer with the audio data - using Transfer complete and/or half transfer complete interrupts callbacks - (EVAL_AUDIO_TransferComplete_CallBack() or EVAL_AUDIO_HalfTransfer_CallBack()... - In this case the audio data file is smaller than the DMA max buffer - size 65535 so there is no need to load buffer continuously or manage the - transfer complete or Half transfer interrupts callbacks. */ - EVAL_AUDIO_Play((uint16_t*)(AUDIO_SAMPLE + AUIDO_START_ADDRESS), (AUDIO_FILE_SZE - AUIDO_START_ADDRESS)); - - /* Display the state on the screen */ - LCD_DisplayStringLine(Line8, " PLAYING "); - - /* Infinite loop */ - while (1) - { - /* Check on the Pause/Resume button */ - if (STM_EVAL_PBGetState(BUTTON_KEY) != Bit_SET) - { - /* wait to avoid rebound */ - while (STM_EVAL_PBGetState(BUTTON_KEY) != Bit_SET); - - EVAL_AUDIO_PauseResume(cmd); - if (cmd == AUDIO_PAUSE) - { - /* Display the current state of the player */ - LCD_DisplayStringLine(Line8, " PAUSED "); - - /* Next time Resume command should be processed */ - cmd = AUDIO_RESUME; - - /* Push buttons will be used to switch between Speaker and Headphone modes */ - SpHpSwitch = 1; - } - else - { - /* Display the current state of the player */ - LCD_DisplayStringLine(Line8, " PLAYING "); - - /* Next time Pause command should be processed */ - cmd = AUDIO_PAUSE; - - /* Push buttons will be used to control volume level */ - SpHpSwitch = 0; - } - } - - /* Check on the Volume high button */ - if (STM_EVAL_PBGetState(BUTTON_WAKEUP) == Bit_SET) - { - /* Check if the current state is paused (push buttons are used for volume control or for - speaker/headphone mode switching) */ - if (SpHpSwitch) - { - /* Set output to Speaker */ - Codec_SwitchOutput(OUTPUT_DEVICE_SPEAKER); - - /* Display the current state of the player */ - LCD_DisplayStringLine(Line9, " SPEAKER "); - } - else - { - /* wait to avoid rebound */ - while (STM_EVAL_PBGetState(BUTTON_WAKEUP) == Bit_SET); - - /* Decrease volume by 5% */ - if (volume > 5) - volume -= 5; - else - volume = 0; - - /* Apply the new volume to the codec */ - EVAL_AUDIO_VolumeCtl(volume); - LCD_DisplayStringLine(Line9, " VOL: - "); - } - } - - /* Check on the Volume high button */ - if (STM_EVAL_PBGetState(BUTTON_TAMPER) != Bit_SET) - { - /* Check if the current state is paused (push buttons are used for volume control or for - speaker/headphone mode switching) */ - if (SpHpSwitch) - { - /* Set output to Headphone */ - Codec_SwitchOutput(OUTPUT_DEVICE_HEADPHONE); - - /* Display the current state of the player */ - LCD_DisplayStringLine(Line9, " HEADPHONE "); - } - else - { - /* wait to avoid rebound */ - while (STM_EVAL_PBGetState(BUTTON_TAMPER) != Bit_SET); - - /* Increase volume by 5% */ - if (volume < 95) - volume += 5; - else - volume = 100; - - /* Apply the new volume to the codec */ - EVAL_AUDIO_VolumeCtl(volume); - LCD_DisplayStringLine(Line9, " VOL: + "); - } - } - - /* Toggle LD4 */ - STM_EVAL_LEDToggle(LED3); - - /* Insert 50 ms delay */ - Delay(5); - - /* Toggle LD2 */ - STM_EVAL_LEDToggle(LED2); - - /* Insert 50 ms delay */ - Delay(5); - } -} - -/*-------------------------------- - Callbacks implementation: - the callbacks prototypes are defined in the stm322xg_eval_audio_codec.h file - and their implementation should be done in the user coed if they are needed. - Below some examples of callback implementations. - --------------------------------------------------------*/ -/** - * @brief Calculates the remaining file size and new position of the pointer. - * @param None - * @retval None - */ -void EVAL_AUDIO_TransferComplete_CallBack(uint32_t pBuffer, uint32_t Size) -{ - /* Calculate the remaining audio data in the file and the new size - for the DMA transfer. If the Audio files size is less than the DMA max - data transfer size, so there is no calculation to be done, just restart - from the beginning of the file ... */ - /* Check if the end of file has been reached */ - -#ifdef AUDIO_MAL_MODE_NORMAL - - /* Replay from the beginning */ - EVAL_AUDIO_Play((uint16_t*)(AUDIO_SAMPLE + AUIDO_START_ADDRESS), (AUDIO_FILE_SZE - AUIDO_START_ADDRESS)); - -#else /* #ifdef AUDIO_MAL_MODE_CIRCULAR */ - - /* Display message on the LCD screen */ - LCD_DisplayStringLine(Line8, " All Buffer Reached "); - -#endif /* AUDIO_MAL_MODE_CIRCULAR */ -} - -/** - * @brief Manages the DMA Half Transfer complete interrupt. - * @param None - * @retval None - */ -void EVAL_AUDIO_HalfTransfer_CallBack(uint32_t pBuffer, uint32_t Size) -{ -#ifdef AUDIO_MAL_MODE_CIRCULAR - - /* Display message on the LCD screen */ - LCD_DisplayStringLine(Line8, " 1/2 Buffer Reached "); - -#endif /* AUDIO_MAL_MODE_CIRCULAR */ - - /* Generally this interrupt routine is used to load the buffer when - a streaming scheme is used: When first Half buffer is already transferred load - the new data to the first half of buffer while DMA is transferring data from - the second half. And when Transfer complete occurs, load the second half of - the buffer while the DMA is transferring from the first half ... */ - /* - ........... - */ -} - -/** - * @brief Manages the DMA FIFO error interrupt. - * @param None - * @retval None - */ -void EVAL_AUDIO_Error_CallBack(void* pData) -{ - /* Display message on the LCD screen */ - LCD_SetBackColor(Red); - LCD_DisplayStringLine(Line8, " DMA ERROR "); - - /* Stop the program with an infinite loop */ - while (1) - {} - - /* could also generate a system reset to recover from the error */ - /* .... */ -} - -#ifndef USE_DEFAULT_TIMEOUT_CALLBACK -/** - * @brief Basic management of the timeout situation. - * @param None. - * @retval None. - */ -uint32_t Codec_TIMEOUT_UserCallback(void) -{ - /* Display message on the LCD screen */ - LCD_DisplayStringLine(Line8, " CODEC I2C ERROR "); - - /* Block communication and all processes */ - while (1) - { - } -} -#endif /* USE_DEFAULT_TIMEOUT_CALLBACK */ -/*----------------------------------------------------------------------------*/ - -/** - * @brief Inserts a delay time. - * @param nTime: specifies the delay time length, in 10 ms. - * @retval None - */ -void Delay(__IO uint32_t nTime) -{ - TimingDelay = nTime; - - while(TimingDelay != 0); -} - -/** - * @brief Decrements the TimingDelay variable. - * @param None - * @retval None - */ -void TimingDelay_Decrement(void) -{ - if (TimingDelay != 0x00) - { - TimingDelay--; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/main.h deleted file mode 100644 index 00a4e316b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/main.h +++ /dev/null @@ -1,54 +0,0 @@ -/** - ****************************************************************************** - * @file I2S/Audio/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_lcd.h" -#include - -#include "stm322xg_eval_audio_codec.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* This is an audio file stored in the Flash memory as a constant table of 16-bit data. - The audio format should be WAV (raw / PCM) 16-bits, Stereo (sampling rate may be modified) */ -extern uint16_t AUDIO_SAMPLE[]; - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void TimingDelay_Decrement(void); -void Delay(__IO uint32_t nTime); - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/readme.txt deleted file mode 100644 index ed0dacd9d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/readme.txt +++ /dev/null @@ -1,118 +0,0 @@ -/** - @page I2S_AUDIO How to use the Audio features with I2S peripheral - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file I2S/Audio/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the I2S Audio Example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides basic implementation of audio features. -It allows to play an audio file through the I2S peripheral and using the external -codec implemented on the STM322xG-EVAL board. - -In this example the I2S input clock, provided by a dedicated PLL (PLLI2S), is -configured to have an audio sampling frequency at 48 KHz with Master clock enabled. - -This example uses an audio codec driver which consists of three independent layers: - - Codec Hardware layer: which controls and communicates with the audio codec - (CS43L22) implemented on the evaluation board. - - MAL (Media Access Layer): which controls and interfaces with storage media - storing or providing the audio file/stream. - - The high layer: which implements overall control and interfacing API allowing - to perform basic audio operations (Init, Play, Pause, Resume, Stop, Volume - control and audio file pointer management) - -In this example the audio file is stored in the internal flash memory (Stereo, -16-bit, 48 KHz). The analog output device is automatically detected (Speaker or -Headphone) when the Headphone is plugged/unplugged in/from the audio jack of the -evaluation board. The example also manages information display and control interface -through push buttons: - - When the application is Playing audio file: - + Key : Pause - + Tamper: Volume UP - + Wakeup: Volume DOWN - - When the application is Paused: - + Key : Play - + Tamper: Switch output target to Headphone - + Wakeup: Switch output target to Speaker - -This example plays the audio file stored in internal flash memory and replay it -when it reach end of file. But it can be tailored to used different media storage -devices; SDCard (through SDIO), external Memory (through FSMC) ...) or to play -in streaming mode (ie. from USB port in device or host mode). In this case, Circular -DMA mode should be preferred (by enabling the define AUDIO_MAL_MODE_CIRCULAR in -stm322xg_eval_audio_codec.h file). - -List of Known Limitations and more detailed user notes are provided in file -stm322xg_eval_audio_codec.c (under Utilities\STM32_EVAL\STM322xG_EVAL) - -The provided sample audio file (stored in internal flash memory) is extracted from: - - Title: artofgardens-instr - - Artist/Composer: Dan O'Connor - - Creative Commons license: Attribution 3.0 United States - Please read the license following this link: - http://creativecommons.org/licenses/by/3.0/us/ - - -@par Directory contents - - - I2S/Audio/system_stm32f2xx.c STM32F2xx system clock configuration file - - I2S/Audio/stm32f2xx_conf.h Library Configuration file - - I2S/Audio/stm32f2xx_it.c Interrupt handlers - - I2S/Audio/stm32f2xx_it.h Interrupt handlers header file - - I2S/Audio/main.c Main program - - I2S/Audio/audio_sample.c Audio Sample file (in tab format) - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs only on STM32F2xx Devices Revision B and Revision Y. - - - This example has been tested with STM322xG-EVAL RevB (with no additional - hardware), and can be easily tailored to any other development board. - - - STM322xG-EVAL Set-up - - Make sure the jumper JP16 is in position 2<->3 - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Add the files "audio_sample.c" and "stm322xg_eval_audio_codec.c" to the project source list - - "stm322xg_eval_audio_codec.c" file is located under Utilities\STM32_EVAL\STM322xG_EVAL - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/stm32f2xx_conf.h deleted file mode 100644 index 86744cda7..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file I2S/Audio/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/stm32f2xx_it.c deleted file mode 100644 index 894bbf38e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/stm32f2xx_it.c +++ /dev/null @@ -1,176 +0,0 @@ -/** - ****************************************************************************** - * @file I2S/Audio/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup I2S_Audio - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - TimingDelay_Decrement(); -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/stm32f2xx_it.h deleted file mode 100644 index 736cce29c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file I2S/Audio/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/system_stm32f2xx.c deleted file mode 100644 index d4f8f8f30..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/I2S/Audio/system_stm32f2xx.c +++ /dev/null @@ -1,564 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * STM32f2xx_Clock_Configuration_V1.0.0.xls - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | 344 - *----------------------------------------------------------------------------- - * PLLI2S_R | 7 - *----------------------------------------------------------------------------- - * I2S input clock(Hz) | 49142857 - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVALboard as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/* PLLI2S_VCO = (HSE_VALUE Or HSI_VALUE / PLL_M) * PLLI2S_N - I2SCLK = PLLI2S_VCO / PLLI2S_R */ -#define PLLI2S_N 344 -#define PLLI2S_R 7 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN |FLASH_ACR_ICEN |FLASH_ACR_DCEN |FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - - -/******************************************************************************/ -/* I2S clock configuration (For devices Rev B and Y) */ -/******************************************************************************/ - /* PLLI2S clock used as I2S clock source */ - RCC->CFGR &= ~RCC_CFGR_I2SSRC; - - /* Configure PLLI2S */ - RCC->PLLI2SCFGR = (PLLI2S_N << 6) | (PLLI2S_R << 28); - - /* Enable PLLI2S */ - RCC->CR |= ((uint32_t)RCC_CR_PLLI2SON); - - /* Wait till PLLI2S is ready */ - while((RCC->CR & RCC_CR_PLLI2SRDY) == 0) - { - } -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/main.c deleted file mode 100644 index 7d8cf3931..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/main.c +++ /dev/null @@ -1,259 +0,0 @@ -/** - ****************************************************************************** - * @file IWDG/IWDG_Example/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup IWDG_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t TimingDelay = 0; -__IO uint32_t LsiFreq = 0; -__IO uint32_t CaptureNumber = 0, PeriodValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void Delay(__IO uint32_t nTime); -uint32_t GetLSIFrequency(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LED1, LED2 and Key Button mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI); - - /* Setup SysTick Timer for 1 msec interrupts */ - if (SysTick_Config(SystemCoreClock / 1000)) - { - /* Capture error */ - while (1); - } - - /* Check if the system has resumed from IWDG reset */ - if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET) - { - /* IWDGRST flag set */ - /* Turn on LED1 */ - STM_EVAL_LEDOn(LED1); - - /* Clear reset flags */ - RCC_ClearFlag(); - } - else - { - /* IWDGRST flag is not set */ - /* Turn off LED1 */ - STM_EVAL_LEDOff(LED1); - } - - /* Get the LSI frequency: TIM5 is used to measure the LSI frequency */ - LsiFreq = GetLSIFrequency(); - - /* IWDG timeout equal to 250 ms (the timeout may varies due to LSI frequency - dispersion) */ - /* Enable write access to IWDG_PR and IWDG_RLR registers */ - IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); - - /* IWDG counter clock: LSI/32 */ - IWDG_SetPrescaler(IWDG_Prescaler_32); - - /* Set counter reload value to obtain 250ms IWDG TimeOut. - Counter Reload Value = 250ms/IWDG counter clock period - = 250ms / (LSI/32) - = 0.25s / (LsiFreq/32) - = LsiFreq/(32 * 4) - = LsiFreq/128 - */ - IWDG_SetReload(LsiFreq/128); - - /* Reload IWDG counter */ - IWDG_ReloadCounter(); - - /* Enable IWDG (the LSI oscillator will be enabled by hardware) */ - IWDG_Enable(); - - while (1) - { - /* Toggle LED2 */ - STM_EVAL_LEDToggle(LED2); - - /* Insert 240 ms delay */ - Delay(240); - - /* Reload IWDG counter */ - IWDG_ReloadCounter(); - } -} - -/** - * @brief Configures TIM5 to measure the LSI oscillator frequency. - * @param None - * @retval LSI Frequency - */ -uint32_t GetLSIFrequency(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - TIM_ICInitTypeDef TIM_ICInitStructure; - RCC_ClocksTypeDef RCC_ClockFreq; - - /* Enable the LSI oscillator ************************************************/ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while (RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - {} - - /* TIM5 configuration *******************************************************/ - /* Enable TIM5 clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE); - - /* Connect internally the TIM5_CH4 Input Capture to the LSI clock output */ - TIM_RemapConfig(TIM5, TIM5_LSI); - - /* Configure TIM5 presclaer */ - TIM_PrescalerConfig(TIM5, 0, TIM_PSCReloadMode_Immediate); - - /* TIM5 configuration: Input Capture mode --------------------- - The LSI oscillator is connected to TIM5 CH4 - The Rising edge is used as active edge, - The TIM5 CCR4 is used to compute the frequency value - ------------------------------------------------------------ */ - TIM_ICInitStructure.TIM_Channel = TIM_Channel_4; - TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; - TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; - TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV8; - TIM_ICInitStructure.TIM_ICFilter = 0; - TIM_ICInit(TIM5, &TIM_ICInitStructure); - - /* Enable TIM5 Interrupt channel */ - NVIC_InitStructure.NVIC_IRQChannel = TIM5_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Enable TIM5 counter */ - TIM_Cmd(TIM5, ENABLE); - - /* Reset the flags */ - TIM5->SR = 0; - - /* Enable the CC4 Interrupt Request */ - TIM_ITConfig(TIM5, TIM_IT_CC4, ENABLE); - - - /* Wait until the TIM5 get 2 LSI edges (refer to TIM5_IRQHandler() in - stm32f2xx_it.c file) ******************************************************/ - while(CaptureNumber != 2) - { - } - /* Deinitialize the TIM5 peripheral registers to their default reset values */ - TIM_DeInit(TIM5); - - - /* Compute the LSI frequency, depending on TIM5 input clock frequency (PCLK1)*/ - /* Get SYSCLK, HCLK and PCLKx frequency */ - RCC_GetClocksFreq(&RCC_ClockFreq); - - /* Get PCLK1 prescaler */ - if ((RCC->CFGR & RCC_CFGR_PPRE1) == 0) - { - /* PCLK1 prescaler equal to 1 => TIMCLK = PCLK1 */ - return ((RCC_ClockFreq.PCLK1_Frequency / PeriodValue) * 8); - } - else - { /* PCLK1 prescaler different from 1 => TIMCLK = 2 * PCLK1 */ - return (((2 * RCC_ClockFreq.PCLK1_Frequency) / PeriodValue) * 8) ; - } -} - -/** - * @brief Inserts a delay time. - * @param nTime: specifies the delay time length, in milliseconds. - * @retval None - */ -void Delay(__IO uint32_t nTime) -{ - TimingDelay = nTime; - - while(TimingDelay != 0); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/readme.txt deleted file mode 100644 index 8317afb6f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/readme.txt +++ /dev/null @@ -1,108 +0,0 @@ -/** - @page IWDG_Example IWDG_Example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file IWDG/IWDG_Example/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the IWDG Example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to update at regular period the IWDG reload counter and -how to simulate a software fault generating an MCU IWDG reset on expiry of a -programmed time period. - -The IWDG timeout is set to 250 ms (the timeout may varies due to LSI frequency -dispersion). - -First, the TIM5 timer is configured to measure the LSI frequency as the -LSI is internally connected to TIM5 CH4, in order to adjust the IWDG clock. - -The LSI measurement using the TIM5 is described below: - - Configure the TIM5 to remap internally the TIM5 CH4 Input Capture to the LSI - clock output. - - Enable the TIM5 Input Capture interrupt: after one cycle of LSI clock, the - period value is stored in a variable and compared to the HCLK clock to get - its real value. - -Then, the IWDG reload counter is configured to obtain 250 ms according to the -measured LSI frequency. - -The IWDG reload counter is refreshed each 240 ms in the main program infinite loop -to prevent a IWDG reset. -LED2 is also toggled each 240 ms indicating that the program is running. - -An EXTI Line is connected to a GPIO pin, and configured to generate an interrupt -on the rising edge of the signal. - -The EXTI Line is used to simulate a software failure: once the EXTI Line event -occurs, by pressing the Key push-button, the corresponding interrupt is served. -In the ISR, a write to invalid address generates a Hardfault exception containing -an infinite loop and preventing to return to main program (the IWDG reload counter -is not refreshed). -As a result, when the IWDG counter reaches 00h, the IWDG reset occurs. -If the IWDG reset is generated, after the system resumes from reset, LED1 turns on. - -If the EXTI Line event does not occur, the IWDG counter is indefinitely refreshed -in the main program infinite loop, and there is no IWDG reset. - - -@par Directory contents - - - IWDG_Example/system_stm32f2xx.c STM32F2xx system clock configuration file - - IWDG_Example/stm32f2xx_conf.h Library Configuration file - - IWDG_Example/stm32f2xx_it.c Interrupt handlers - - IWDG_Example/stm32f2xx_it.h Header for stm32f2xx_it.c - - IWDG_Example/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - - - STM322xG-EVAL Set-up - - Use LD1 and LD2 leds connected respectively to PG.06 and PG.08 pins - - Use the KEY push button connected to PG.15 pin (EXTI Line15). - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/stm32f2xx_conf.h deleted file mode 100644 index 1fbf4b908..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file IWDG/IWDG_Example/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/stm32f2xx_it.c deleted file mode 100644 index d72eb4e45..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/stm32f2xx_it.c +++ /dev/null @@ -1,222 +0,0 @@ -/** - ****************************************************************************** - * @file IWDG/IWDG_Example/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup IWDG_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern __IO uint32_t TimingDelay; -extern __IO uint32_t PeriodValue; -extern __IO uint32_t CaptureNumber; -uint16_t tmpCC4[2] = {0, 0}; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - TimingDelay--; -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles External line 15 to 10 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if (EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - /* Clear the Key Button EXTI Line Pending Bit */ - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - - /* As the following address is invalid (not mapped), a Hardfault exception - will be generated with an infinite loop and when the IWDG counter reaches 0 - the IWDG reset occurs */ - *(__IO uint32_t *) 0xA0001000 = 0xFF; - } -} - -/** - * @brief This function handles TIM5 global interrupt request. - * @param None - * @retval None - */ -void TIM5_IRQHandler(void) -{ - if (TIM_GetITStatus(TIM5, TIM_IT_CC4) != RESET) - { - /* Get the Input Capture value */ - tmpCC4[CaptureNumber++] = TIM_GetCapture4(TIM5); - - /* Clear CC4 Interrupt pending bit */ - TIM_ClearITPendingBit(TIM5, TIM_IT_CC4); - - if (CaptureNumber >= 2) - { - /* Compute the period length */ - PeriodValue = (uint16_t)(0xFFFF - tmpCC4[0] + tmpCC4[1] + 1); - } - } -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/stm32f2xx_it.h deleted file mode 100644 index 0fdd0d020..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file IWDG/IWDG_Example/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/IWDG/IWDG_Example/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/main.c deleted file mode 100644 index 26557d53f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/main.c +++ /dev/null @@ -1,166 +0,0 @@ -/** - ****************************************************************************** - * @file Lib_DEBUG/Lib_DEBUG_Example/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm32f2xx_ip_dbg.h" -#include "stm322xg_eval.h" -#include - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup Lib_DEBUG_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -USART_InitTypeDef USART_InitStructure; - -/* Private function prototypes -----------------------------------------------*/ -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - GPIO_InitTypeDef GPIOA_InitStructure; - - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); - - /* Initialize all peripherals pointers */ - IP_Debug(); - - printf("\r\n STM32F2xx Firmware Library compiled with FULL ASSERT function... \n\r"); - printf("...Run-time checking enabled \n\r"); - - /* Simulate wrong parameter passed to library function ---------------------*/ - /* To enable SPI1 clock, RCC_APB2PeriphClockCmd() function must be used and - not RCC_APB1PeriphClockCmd() */ - RCC_APB1PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); - - /* Some member of GPIOA_InitStructure structure are not initialized */ - GPIOA_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIOA_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - /*GPIOA_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;*/ - GPIOA_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIOA_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOA, &GPIOA_InitStructure); - - while (1) - { - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number */ - - printf("\n\r Wrong parameter value detected on\r\n"); - printf(" file %s\r\n", file); - printf(" line %d\r\n", line); - - /* Infinite loop */ - /* while (1) - { - } */ -} -#endif - -/** - * @brief Retargets the C library printf function to the USART. - * @param None - * @retval None - */ -PUTCHAR_PROTOTYPE -{ - /* Place your implementation of fputc here */ - /* e.g. write a character to the USART */ - USART_SendData(EVAL_COM1, (uint8_t) ch); - - /* Loop until the end of transmission */ - while(USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - { - } - - return ch; -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/readme.txt deleted file mode 100644 index 108a388d5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/readme.txt +++ /dev/null @@ -1,105 +0,0 @@ -/** - @page Lib_DEBUG_Example Lib DEBUG example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file Lib_DEBUG/Lib_DEBUG_Example/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the Lib DEBUG example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example demonstrates how to declare a dynamic peripherals pointers used for -Debug mode. - -To use Debug mode you have to add the stm32f2xx_ip_dbg.c file to your application. -This creates a pointer to the peripheral structure in SRAM. Debugging consequently -becomes easier and all register settings can be obtained by dumping a peripheral -variable. - -When the "USE_FULL_ASSERT" label is uncommented (in stm32f2xx_conf.h file), -the assert_param macro is expanded and run-time checking is enabled in the firmware -library code. The run-time checking allows checking that all the library functions -input value lies within the parameter allowed values. - -The associated program simulates wrong parameter passed to library function and the -source of the error is printed on Hyperterminal (through USART). - -@note -The Debug mode increases the code size and reduces the code performance. For this -reason, it is recommended to used it only when debugging the application and to -remove it from the final application code. - -@par Directory contents - - - Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_conf.h Library Configuration file - - Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_it.c Interrupt handlers - - Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_it.h Interrupt handlers header file - - Lib_DEBUG/Lib_DEBUG_Example/main.c Main program - - Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_ip_dbg.c Peripherals pointers initialization - - Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_ip_dbg.h Header for stm32f2xx_ip_dbg.c - - Lib_DEBUG/Lib_DEBUG_Example/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 and PC serial port. - - Make sure that JP22 is in position 1<->2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Add the required example files - - stm32f2xx_ip_dbg.c - - Rebuild all files and load your image into target memory - - Run the example - -@note - - The free Lite version of TrueSTUDIO do not support printf() redirection. - For more information, see "note.txt" under "STM32F2xx_StdPeriph_Template\TrueSTUDIO". - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_conf.h deleted file mode 100644 index e7ab62abe..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -#define USE_FULL_ASSERT 1 - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_ip_dbg.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_ip_dbg.c deleted file mode 100644 index 3ab5a604d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_ip_dbg.c +++ /dev/null @@ -1,277 +0,0 @@ -/** - ****************************************************************************** - * @file Lib_DEBUG/Lib_DEBUG_Example/stm32f21xx_ip_dbg.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file provides all peripherals pointers initialization. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_ip_dbg.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup Lib_DEBUG_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -ADC_Common_TypeDef * ADC_DBG; -ADC_TypeDef * ADC1_DBG; -ADC_TypeDef * ADC2_DBG; -ADC_TypeDef * ADC3_DBG; -CAN_TypeDef * CAN1_DBG; -CAN_TypeDef * CAN2_DBG; -CRC_TypeDef * CRC_DBG; -CRYP_TypeDef * CRYP_DBG; -DAC_TypeDef * DAC_DBG; -DBGMCU_TypeDef * DBGMCU_DBG; -DCMI_TypeDef * DCMI_DBG; -DMA_TypeDef * DMA1_DBG; -DMA_Stream_TypeDef * DMA1_Stream0_DBG; -DMA_Stream_TypeDef * DMA1_Stream1_DBG; -DMA_Stream_TypeDef * DMA1_Stream2_DBG; -DMA_Stream_TypeDef * DMA1_Stream3_DBG; -DMA_Stream_TypeDef * DMA1_Stream4_DBG; -DMA_Stream_TypeDef * DMA1_Stream5_DBG; -DMA_Stream_TypeDef * DMA1_Stream6_DBG; -DMA_Stream_TypeDef * DMA1_Stream7_DBG; -DMA_TypeDef * DMA2_DBG; -DMA_Stream_TypeDef * DMA2_Stream0_DBG; -DMA_Stream_TypeDef * DMA2_Stream1_DBG; -DMA_Stream_TypeDef * DMA2_Stream2_DBG; -DMA_Stream_TypeDef * DMA2_Stream3_DBG; -DMA_Stream_TypeDef * DMA2_Stream4_DBG; -DMA_Stream_TypeDef * DMA2_Stream5_DBG; -DMA_Stream_TypeDef * DMA2_Stream6_DBG; -DMA_Stream_TypeDef * DMA2_Stream7_DBG; -EXTI_TypeDef * EXTI_DBG; -ETH_TypeDef * ETH_DBG; -FLASH_TypeDef * FLASH_DBG; -FSMC_Bank1_TypeDef * FSMC_Bank1_DBG; -FSMC_Bank1E_TypeDef * FSMC_Bank1E_DBG; -FSMC_Bank2_TypeDef * FSMC_Bank2_DBG; -FSMC_Bank3_TypeDef * FSMC_Bank3_DBG; -FSMC_Bank4_TypeDef * FSMC_Bank4_DBG; -GPIO_TypeDef * GPIOA_DBG; -GPIO_TypeDef * GPIOB_DBG; -GPIO_TypeDef * GPIOC_DBG; -GPIO_TypeDef * GPIOD_DBG; -GPIO_TypeDef * GPIOE_DBG; -GPIO_TypeDef * GPIOF_DBG; -GPIO_TypeDef * GPIOG_DBG; -GPIO_TypeDef * GPIOH_DBG; -GPIO_TypeDef * GPIOI_DBG; -HASH_TypeDef * HASH_DBG; -I2C_TypeDef * I2C1_DBG; -I2C_TypeDef * I2C2_DBG; -I2C_TypeDef * I2C3_DBG; -IWDG_TypeDef * IWDG_DBG; -PWR_TypeDef * PWR_DBG; -RCC_TypeDef * RCC_DBG; -RNG_TypeDef * RNG_DBG; -RTC_TypeDef * RTC_DBG; -SDIO_TypeDef * SDIO_DBG; -SPI_TypeDef * SPI1_DBG; -SPI_TypeDef * SPI2_DBG; -SPI_TypeDef * SPI3_DBG; -SYSCFG_TypeDef * SYSCFG_DBG; -TIM_TypeDef * TIM1_DBG; -TIM_TypeDef * TIM2_DBG; -TIM_TypeDef * TIM3_DBG; -TIM_TypeDef * TIM4_DBG; -TIM_TypeDef * TIM5_DBG; -TIM_TypeDef * TIM6_DBG; -TIM_TypeDef * TIM7_DBG; -TIM_TypeDef * TIM8_DBG; -TIM_TypeDef * TIM9_DBG; -TIM_TypeDef * TIM10_DBG; -TIM_TypeDef * TIM11_DBG; -TIM_TypeDef * TIM12_DBG; -TIM_TypeDef * TIM13_DBG; -TIM_TypeDef * TIM14_DBG; -USART_TypeDef * USART1_DBG; -USART_TypeDef * USART2_DBG; -USART_TypeDef * USART3_DBG; -USART_TypeDef * UART4_DBG; -USART_TypeDef * UART5_DBG; -USART_TypeDef * USART6_DBG; -WWDG_TypeDef * WWDG_DBG; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief This function initialize peripherals pointers.. - * @param None - * @retval None - */ -void IP_Debug(void) -{ -/************************************* ADC ************************************/ - ADC_DBG = (ADC_Common_TypeDef *) ADC_BASE; - ADC1_DBG = (ADC_TypeDef *) ADC1_BASE; - ADC2_DBG = (ADC_TypeDef *) ADC2_BASE; - ADC3_DBG = (ADC_TypeDef *) ADC3_BASE; - -/************************************* CAN ************************************/ - CAN1_DBG = (CAN_TypeDef *) CAN1_BASE; - CAN2_DBG = (CAN_TypeDef *) CAN2_BASE; - -/************************************* CRC ************************************/ - CRC_DBG = (CRC_TypeDef *) CRC_BASE; - -/************************************* CRYP ***********************************/ - CRYP_DBG = (CRYP_TypeDef *) CRYP_BASE; - -/************************************* DAC ************************************/ - DAC_DBG = (DAC_TypeDef *) DAC_BASE; - -/************************************* DBGMCU *********************************/ - DBGMCU_DBG = (DBGMCU_TypeDef *) DBGMCU_BASE; - -/************************************* DCMI ***********************************/ - DCMI_DBG = (DCMI_TypeDef *) DCMI_BASE; - -/************************************* DMA ************************************/ - DMA1_DBG = (DMA_TypeDef *) DMA1_BASE; - DMA1_Stream0_DBG = (DMA_Stream_TypeDef *) DMA1_Stream0_BASE; - DMA1_Stream1_DBG = (DMA_Stream_TypeDef *) DMA1_Stream1_BASE; - DMA1_Stream2_DBG = (DMA_Stream_TypeDef *) DMA1_Stream2_BASE; - DMA1_Stream3_DBG = (DMA_Stream_TypeDef *) DMA1_Stream3_BASE; - DMA1_Stream4_DBG = (DMA_Stream_TypeDef *) DMA1_Stream4_BASE; - DMA1_Stream5_DBG = (DMA_Stream_TypeDef *) DMA1_Stream5_BASE; - DMA1_Stream6_DBG = (DMA_Stream_TypeDef *) DMA1_Stream6_BASE; - DMA1_Stream7_DBG = (DMA_Stream_TypeDef *) DMA1_Stream7_BASE; - DMA2_DBG = (DMA_TypeDef *) DMA2_BASE; - DMA2_Stream0_DBG = (DMA_Stream_TypeDef *) DMA2_Stream0_BASE; - DMA2_Stream1_DBG = (DMA_Stream_TypeDef *) DMA2_Stream1_BASE; - DMA2_Stream2_DBG = (DMA_Stream_TypeDef *) DMA2_Stream2_BASE; - DMA2_Stream3_DBG = (DMA_Stream_TypeDef *) DMA2_Stream3_BASE; - DMA2_Stream4_DBG = (DMA_Stream_TypeDef *) DMA2_Stream4_BASE; - DMA2_Stream5_DBG = (DMA_Stream_TypeDef *) DMA2_Stream5_BASE; - DMA2_Stream6_DBG = (DMA_Stream_TypeDef *) DMA2_Stream6_BASE; - DMA2_Stream7_DBG = (DMA_Stream_TypeDef *) DMA2_Stream7_BASE; - -/************************************* EXTI ***********************************/ - EXTI_DBG = (EXTI_TypeDef *) EXTI_BASE; - -/************************************* ETH ************************************/ - ETH_DBG = (ETH_TypeDef *) ETH_BASE; - -/************************************* FLASH **********************************/ - FLASH_DBG = (FLASH_TypeDef *) FLASH_R_BASE; - -/************************************* FSMC ***********************************/ - FSMC_Bank1_DBG = (FSMC_Bank1_TypeDef *) FSMC_Bank1_R_BASE; - FSMC_Bank1E_DBG = (FSMC_Bank1E_TypeDef *) FSMC_Bank1E_R_BASE; - FSMC_Bank2_DBG = (FSMC_Bank2_TypeDef *) FSMC_Bank2_R_BASE; - FSMC_Bank3_DBG = (FSMC_Bank3_TypeDef *) FSMC_Bank3_R_BASE; - FSMC_Bank4_DBG = (FSMC_Bank4_TypeDef *) FSMC_Bank4_R_BASE; - -/************************************* GPIO ***********************************/ - GPIOA_DBG = (GPIO_TypeDef *) GPIOA_BASE; - GPIOB_DBG = (GPIO_TypeDef *) GPIOB_BASE; - GPIOC_DBG = (GPIO_TypeDef *) GPIOC_BASE; - GPIOD_DBG = (GPIO_TypeDef *) GPIOD_BASE; - GPIOE_DBG = (GPIO_TypeDef *) GPIOE_BASE; - GPIOF_DBG = (GPIO_TypeDef *) GPIOF_BASE; - GPIOG_DBG = (GPIO_TypeDef *) GPIOG_BASE; - GPIOH_DBG = (GPIO_TypeDef *) GPIOH_BASE; - GPIOI_DBG = (GPIO_TypeDef *) GPIOI_BASE; - -/************************************* HASH ***********************************/ - HASH_DBG = (HASH_TypeDef *) HASH_BASE; - -/************************************* I2C ************************************/ - I2C1_DBG = (I2C_TypeDef *) I2C1_BASE; - I2C2_DBG = (I2C_TypeDef *) I2C2_BASE; - I2C3_DBG = (I2C_TypeDef *) I2C3_BASE; - -/************************************* IWDG ***********************************/ - IWDG_DBG = (IWDG_TypeDef *) IWDG_BASE; - -/************************************* PWR ************************************/ - PWR_DBG = (PWR_TypeDef *) PWR_BASE; - -/************************************* RCC ************************************/ - RCC_DBG = (RCC_TypeDef *) RCC_BASE; - -/************************************* RNG ************************************/ - RNG_DBG = (RNG_TypeDef *) RNG_BASE; - -/************************************* RTC ************************************/ - RTC_DBG = (RTC_TypeDef *) RTC_BASE; - -/************************************* SDIO ***********************************/ - SDIO_DBG = (SDIO_TypeDef *) SDIO_BASE; - -/************************************* SPI ************************************/ - SPI1_DBG = (SPI_TypeDef *) SPI1_BASE; - SPI2_DBG = (SPI_TypeDef *) SPI2_BASE; - SPI3_DBG = (SPI_TypeDef *) SPI3_BASE; - -/************************************* SYSCFG *********************************/ - SYSCFG_DBG = (SYSCFG_TypeDef *) SYSCFG_BASE; - -/************************************* TIM ************************************/ - TIM1_DBG = (TIM_TypeDef *) TIM1_BASE; - TIM2_DBG = (TIM_TypeDef *) TIM2_BASE; - TIM3_DBG = (TIM_TypeDef *) TIM3_BASE; - TIM4_DBG = (TIM_TypeDef *) TIM4_BASE; - TIM5_DBG = (TIM_TypeDef *) TIM5_BASE; - TIM6_DBG = (TIM_TypeDef *) TIM6_BASE; - TIM7_DBG = (TIM_TypeDef *) TIM7_BASE; - TIM8_DBG = (TIM_TypeDef *) TIM8_BASE; - TIM9_DBG = (TIM_TypeDef *) TIM9_BASE; - TIM10_DBG = (TIM_TypeDef *) TIM10_BASE; - TIM11_DBG = (TIM_TypeDef *) TIM11_BASE; - TIM12_DBG = (TIM_TypeDef *) TIM12_BASE; - TIM13_DBG = (TIM_TypeDef *) TIM13_BASE; - TIM14_DBG = (TIM_TypeDef *) TIM14_BASE; - -/************************************* USART **********************************/ - USART1_DBG = (USART_TypeDef *) USART1_BASE; - USART2_DBG = (USART_TypeDef *) USART2_BASE; - USART3_DBG = (USART_TypeDef *) USART3_BASE; - UART4_DBG = (USART_TypeDef *) UART4_BASE; - UART5_DBG = (USART_TypeDef *) UART5_BASE; - USART6_DBG = (USART_TypeDef *) USART6_BASE; - -/************************************* WWDG************************************/ - WWDG_DBG = (WWDG_TypeDef *) WWDG_BASE; -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_ip_dbg.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_ip_dbg.h deleted file mode 100644 index 2084630d8..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_ip_dbg.h +++ /dev/null @@ -1,44 +0,0 @@ -/** - ****************************************************************************** - * @file Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_ip_dbg.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for stm32f2xx_ip_dbg.c file - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2XX_IP_DBG_H -#define __STM32F2XX_IP_DBG_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void IP_Debug(void); - -#endif /* __STM32F2XX_IP_DBG_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_it.c deleted file mode 100644 index 5ddb064ee..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SysTick_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_it.h deleted file mode 100644 index 2168a19dc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file Lib_DEBUG/Lib_DEBUG_Example/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Lib_DEBUG/Lib_DEBUG_Example/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Library_Examples.html b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Library_Examples.html deleted file mode 100644 index 4ea62a6d2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Library_Examples.html +++ /dev/null @@ -1,1567 +0,0 @@ - - - - - - - - - - - -STM32F2xx Standard Peripherals Library: Peripheral’s examples - - - - - - - -
- -

 

- -
- - - - - -
- - - - -
-

STM32F2xx - Standard Peripherals Library: Peripheral’s examples

-

 

-

Copyright 2012 - STMicroelectronics

-

-
-

 

- - - - -
- - - - -
- - - - -
-

The STM32F2xx - Standard Peripherals library provides a rich set of examples - covering the main features of each peripheral. All the examples are - independent from the software toolchain. These examples run on - STMicroelectronics STM322xG-EVAL evaluation board and can be easily - tailored to any other supported device and development board. Only - source files are provided for each example and user can tailor the - provided project template to run the selected example with his - preferred toolchain.

-

How to proceed?

- -
    -
  • Copy the files main.c, main.h - (if exists), stm32f2xx_it.c, system_stm32f2xx.c, stm32f2xx_it.h, - stm32f2xx_conf.h and any other source files from the specified - example to your toolchain folder under Project\STM32F2xx_StdPeriph_Template. - This project folder contains already all toolchain files needed for - creating projects for STM32F2xx microcontrollers.
  • -
  • Open your preferred toolchain
  • -
  • If needed, add in the project list - the additional files required to run the example (refer to your example - readme file)
  • -
  • Rebuild all files and load your image - into target memory
  • -
  • Run the example
  • -
- - - - - -

STM32F2xx -  StdPeriph_Lib - Examples

-

The package - contains the following examples:

-

ADC - CAN - CortexM3 - CRC - CRYP - DAC - DCMI - DMA - EXTI - FLASH - FSMC - GPIO - HASH - I2C - I2S - IWDG - Lib_DEBUG - NVIC - PWR - RCC - RNG - RTC - SDIO - SPI - SysTick - TIM - USART - WWDG -

-

 

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

IP/Module

-
-

Example

-
-

Name

-
-

 Brief description

-
-

 ADC

-
-

ADC3_DMA

-
-

This - example describes how to use the ADC3 and DMA to transfer - continuously converted data from ADC3 to memory. The ADC3 is - configured to convert continuously channel7.

-
-

DualADC_Interleaved_DMAmode3

-
-

This example provides a short - description of how to use the ADC peripheral to convert a regular - channel in Dual interleaved mode using DMA in mode 3 with 5Msps.

-
-

DualADC_RegulSimu_DMAmode1

-
-

This example provides a short - description of how to use the ADC peripheral to convert regular - channels simultaneously in dual mode using DMA in mode 1.

-
-

TripleADC_Interleaved_DMAmode2

-
-

This example provides a short - description of how to use the ADC peripheral to convert a regular - channel in Triple interleaved mode using DMA in mode 2 with 6Msps.

-
-

VBAT_Measurement

-
-

This example describes how to - measure VBAT voltage using ADC1 regular channel 18. In fact, the - measured value correspond to VBAT/2; as the VBAT voltage could be - higher than VDDA, to ensure the correct operation of the ADC, the - VBAT pin is internally connected to a bridge divider by 2.

-
-

CAN

-
-

LoopBack

-
-

This - example provides a description of how to set a communication with the - CAN in loopback mode.

-
-

Networking

-
-

This example shows how to configure - the CAN peripheral to send and receive CAN frames in normal mode. The - sent frames are used to control Leds by pressing key push button.

-
-

CortexM3

-
-

BitBand

-
-

This - example shows how to use CortexM3 Bit-Band access to perform atomic - read-modify-write and read operations on a variable in SRAM.

-
-

Mode_Privilege

-
-

This example shows how to modify - CortexM3 Thread mode privilege access and stack.
- CortexM3 Thread mode is entered on Reset, and can be entered as a - result of an exception return.

-
-

MPU

-
-

This example presents the MPU - features on STM32F2xx devices and it can be easily ported to any - other STM32 device supporting MPU.

-
-

CRC

-
-

CRC_Example

-
-

This - example shows how to use CRC (cyclic redundancy check) calculation - unit to get a CRC code of a given buffer of data word (32-bit), based - on a fixed generator polynomial (0x4C11DB7).

-
-

CRYP

-
-

AES_ECBmode_DMA

-
-

This - example provides a short description of how to use the CRYPTO - peripheral to encrypt and decrypt data using AES-128 Algorithm.

-
-

AES_modes

-
-

This example provides a short - description of how to use the CRYPTO peripheral to encrypt and - decrypt data using AES in all modes (ECB, CBC, CTR) and all key sizes (128, 192, 256) Algorithm.

-
-

DES_TDES_modes

-
-

This example provides a short - description of how to use the CRYPTO peripheral to encrypt and decrypt - data using DES and TDES in all modes (ECB, CBC) Algorithm.

-
-

TDES_ECBmode_DMA

-
-

This example provides a short - description of how to use the CRYPTO peripheral to encrypt and - decrypt data using TDES Algorithm.

-
-

 DAC

-
-

DAC_SignalsGeneration

-
-

This - example provides a short description of how to use the DAC peripheral - to generate several signals using DMA controller.

-
-

DCMI

-
-

Camera

-
-

This example -shows how to use the DCMI to control the OV9655 or OV2640 Camera module mounted on  STM322xG-EVAL board RevB.

-
-

DMA

-
-

FLASH_RAM

-
-

This - example provides a description of how to use a DMA channel to - transfer a word data buffer from FLASH memory to embedded SRAM - memory.

-
-

EXTI

-
-

EXTI_Example

-
-

This - example shows how to configure external interrupt lines. In this - example, 2 EXTI lines (EXTI Line0 and Line15) are configured to - generate an interrupt on each rising and falling edge, - respectively.  In the interrupt routine a led connected to a - specific GPIO pin is toggled.

-
-

FLASH

-
-

Program

-
-

This - example provides a description of how to program the STM32F2xx FLASH.

-
-

Write_Protection

-
-

This example provides a description - of how to enable and disable the write protection for the STM32F2xx - FLASH.

-
-

FSMC

-
-

OneNAND

-
-

This - example shows how to configure the FSMC to drive the - KFG1216U2A/B-DIB6 OneNAND memory mounted on STM322xG-EVAL evaluation - board (MB786) RevA.

-
-

SRAM

-
-

This example shows how to configure - the FSMC to drive the CY7C1071DV33-12BAXI SRAM memory mounted on - STM322xG-EVAL evaluation board (MB786) RevB.

-
-

SRAM_DataMemory

-
-

This example shows how to use the - external SRAM mounted on STM322xG-EVAL RevB as program data memory - (including heap and stack).

-
-

GPIO

-
-

IOToggle

-
-

GPIO - ports are connected on AHB bus, using BSRRH and BSRRL registers one - cycle is required to set a pin and another cycle to reset it. So GPIO - pins can toggle at AHB clock divided by 2.

-
-

JTAG_Remap

-
-

This example provides a short - description of how to use the JTAG/SWD IOs as standard GPIOs and - gives a configuration sequence.

-
-

HASH

-
-

Context_Swap

-
-

This - example provides a short description of how to use the HASH - peripheral to save and restore hash context to serve a high priority - hash operation.

-
-

HASH_SHA1_MD5

-
-

This example provides a short - description of how to use the HASH peripheral to hash data using - SHA-1 and MD5 Algorithms.

-
-

HMAC_SHA1_MD5

-
-

This example provides a short - description of how to use the HASH peripheral to hash data using HMAC - SHA-1 and HMAC MD5 Algorithms.

-
-

SHA1_MD5_DMA

-
-

This example provides a short - description of how to use the HASH peripheral to hash data using - SHA-1 and MD5 Algorithms.

-
-

 I2C

-
-

EEPROM

-
-

This - firmware provides a basic example of how to use the I2C firmware - library and an associate I2C EEPROM driver to communicate with an I2C - EEPROM device (here the example is interfacing with M24C64 EEPROM)

-
-

IOE

-
-

This firmware provides an example - of configuring and using the IO Expander STMPE811 in order to control - input Joystick IOs, output IOs and the Touch Screen feature.

-
-

DataExchangeDMA

-
-

This is a typical example of how to - use the I2C firmware library to ensure the steps of an I2C - communication between slave Receiver/Transmitter and master Transmitter/Receiver - using DMA.

-
-

DataExchangeInterrupt

-
-

This is a typical example of how to - use the I2C firmware library to ensure the steps of an I2C - communication between slave Receiver/Transmitter and master - Transmitter/Receiver using interrupts.

-
-

MasterReceiverInterrupt

-
-

This is a typical example of how to - use the I2C firmware library to ensure the steps of an I2C - communication between slave transmitter and master receiver using - interrupt.

-
-

MasterTransmitterInterrupt

-
-

This example provides a small - application in which joystick buttons are used to trigger I2C - communication using interrupt and though using I2C firmware library.

-
-

 I2S

-
-

I2S_Audio

-
-

This - example provides basic implementation of audio features. It allows - playing an audio file through the I2S peripheral and using the - external codec implemented on the STM322xG-EVAL board.

-
-

 IWDG

-
-

IWDG_Example

-
-

This - example shows how to update at regular period the IWDG reload counter - and how to simulate a software fault generating an MCU IWDG reset on - expiry of a programmed time period.

-
-

Lib_DEBUG

-
-

Lib_DEBUG_Example

-
-

This - example demonstrates how to declare dynamic peripherals pointers used - for Debug mode.

-
-

NVIC

-
-

DMA_WFIMode

-
-

This - example shows how to enter the system to WFI mode with DMA transfer - enabled and wake-up from this mode by the DMA End of Transfer - interrupt.

-
-

IRQ_Mask

-
-

This example demonstrates the use - of the Nested Vectored Interrupt Controller (NVIC) IRQ Channels - configuration and how to mask/activate different IRQs.

-
-

IRQ_Priority

-
-

This example demonstrates the use - of the Nested Vectored Interrupt Controller (NVIC) and how to - configure their priorities.

-
-

VectorTable_Relocation

-
-

This example describes how to - relocate the CortexM3 vector table in a specific address other than - the default Flash memory base address.

-
-

 PWR

-
-

BOR

-
-

This - example shows how to configure the programmable BOR thresholds using - the FLASH option bytes.

-
-

CurrentConsumption

-
-

This example shows how to configure - the STM32F2xx system to measure different Low Power modes current - consumption.

-
-

PVD

-
-

This example shows how to configure - the programmable voltage detector using an external interrupt line. - In this example, EXTI line 16 is configured to generate an interrupt - on each rising or falling edge of the PVD output signal (which - indicates that the Vdd voltage is below the PVD threshold).

-
-

STANDBY

-
-

This example shows how to enter the - system to STANDBY mode and wake-up from this mode using: external - RESET, RTC Alarm A or WKUP pin.

-
-

STOP

-
-

This example shows how to enter the - system to STOP mode and wake-up from this mode using RTC Wakeup Timer - Event connected to EXTI Line 22.

-
-

RCC

-
-

RCC_Example

-
-

This - example shows how to use, for debug purpose, the RCC_GetClocksFreq - function to retrieve the current status and frequencies of different - on chip clocks. You can see the RCC_ClockFreq structure content, - which hold the frequencies of different on chip clocks, using your - toolchain debugger.

-
-

RNG

-
-

RNG_MultiRNG

-
-

This - example provides a short description of how to use the RNG peripheral - to generate Random 32bit numbers.

-
-

RTC

-
-

BKP_Domain

-
-

This - example demonstrates and explains how to use the peripherals available - on Backup Domain. These peripherals are: the RCC BDCR register - containing the LSE Osc configuration and the RTC Clock enable/disable - bits. It embeds also the RTC peripheral with its associated Backup - Data registers. And finally the Backup SRAM (4KB) with its low power - regulator allowing preserving its contents when the product is - powered by VBAT pin.

-
-

HW_Calendar

-
-

This example demonstrates and - explains how to use the RTC peripheral. As an application example, it - demonstrates how to setup the RTC peripheral, in terms of prescaler - and interrupts, to be used to keep time and to generate alarm - interrupt.

-
-

RTC_LSI

-
-

This example demonstrates and - explains how to use the LSI clock source auto calibration to get a - precise RTC clock.  As an application example, it demonstrates - how to configure the TIM5 timer internally connected to LSI clock - output, in order to adjust the RTC prescaler.

-
-

Tamper

-
-

This example shows how to - write/read data to/from RTC Backup data registers and demonstrates - the Tamper detection feature.

-
-

TimeStamp

-
-

This example provides a short - description of how to use the RTC peripheral and the Time Stamp - feature.

-
-

SDIO

-
-

uSDCard

-
-

This - example provides a basic example of how to use the SDIO firmware - library and an associate driver to perform read/write operations on - the SD Card memory (SD Card V1.0, V1.1, V2.0 and SDHC (High Capacity) - protocol) that could be mounted on the STM322xG_EVAL board.

-
-

SPI

-
-

SPI_FLASH

-
This -example provides a basic example of how to use the SPI firmware library -and an associated driver "spi_flash.c" to communicate with an M25P64 -SPI FLASH.
-

SPI_DataExchangeInterrupt

-
-
This -example provides a small application in which joystick buttons are used -to trigger SPI communication using interrupts and though using SPI -firmware library.
- -
-

SysTick

-
-

SysTick_Example

-
-

This - example shows how to configure the SysTick to generate a time base - equal to 1 ms. The system clock is set to 120 MHz, the SysTick is - clocked by the AHB clock (HCLK).

-
-

TIM

-
-

6Steps

-
This -example shows how to configure the TIM1 peripheral to generate 6 Steps. -The STM32F2xx TIM1 peripheral offers the possibility to program in -advance the configuration for the next TIM1 outputs behaviour (step) -and change the configuration of all the channels at the same time. This -operation is possible when the COM (commutation) event is used.
-
-

7PWM_Output

-
-

This example shows how to configure - the TIM1 peripheral to generate 7 PWM signals with 4 different duty - cycles (50%, 37.5%, 25% and 12.5%).

-
-

Cascade_Synchro

-
-
This example shows how to synchronize TIM peripherals in cascade mode.
- -
-

ComplementarySignals

-
-
This -example shows how to configure the TIM1 peripheral to generate three -complementary TIM1 signals, to insert a defined dead time value, to use -the break feature and to lock the desired parameters.
- -
-

DMA

-
-

This example provides a description - of how to use DMA with TIM1 Update request to transfer Data from - memory to TIM1 Capture Compare Register3.

-
-

DMABurst

-
-
This example shows how to update the TIM1 channel1 period and the duty cycle using the TIM1 DMA burst feature.
- -
-

ExtTrigger_Synchro

-
-
This example shows how to synchronize TIM peripherals in cascade mode with an external trigger.
- -
-

InputCapture

-
-
This example shows how to use the TIM peripheral to measure the frequency of an external signal.
- -
-

OCActive

-
-

This example shows how to configure - the TIM peripheral to generate four different signals with four - different delays.

-
-

OCInactive

-
-

This example shows how to configure - the TIM peripheral in Output Compare Inactive mode with the - corresponding Interrupt requests for each channel.

-
-

OCToggle

-
-

This example shows how to configure - the TIM3 peripheral to generate four different signals with four - different frequencies.

-
-

OnePulse

-
-
This -example shows how to use the TIM peripheral to generate a One pulse -Mode after a Rising edge of an external signal is received in Timer -Input pin.
- -
-

Parallel_Synchro

-
-
This example shows how to synchronize TIM peripherals in parallel mode.
- -
-

PWM_Input

-
-

This example shows how to use the - TIM peripheral to measure the frequency and duty cycle of an external - signal.

-
-

PWM_Output

-
-

This example shows how to configure - the TIM peripheral in PWM (Pulse Width Modulation) mode.

-
-

TIM10_PWMOutput

-
-

This example shows how to configure - the TIM peripheral in PWM (Pulse Width Modulation)
- mode.

-
-

TIM1_Synchro

-
-
This example shows how to synchronize TIM1 and Timers (TIM3 and TIM4) in parallel mode.
- -
-

TIM9_OCToggle

-
-

This example shows how to configure - the TIM9 peripheral to generate four different signals with four - different frequencies.

-
-

TimeBase

-
-

This example shows how to configure - the TIM peripheral in Output Compare Timing mode with the - corresponding Interrupt requests for each channel in order to generate - 4 different time bases.

-
-

USART

-
-

HyperTerminal_Interrupt

-
-

This - example provides a description of how to use the EVAL_COM1 Transmit - and Receive interrupts to communicate with the hyperterminal.

-
-

Printf

-
-

This example shows how to retarget - the C library printf function to the USART.  This implementation - output the printf message on the Hyperterminal using USART3.

-
-

Smartcard

-
-

This example describes a firmware - Smartcard Interface based on the STM32F2xx USART peripheral. The main - purpose of this firmware example is to provide resources facilitating - the development of an application using the USART peripheral in - smartcard mode.

-
-

DataExchangeDMA

-
-

This example provides a small - application in which joystick buttons are used to trigger USART - communications using DMA and though using USART firmware library.

-
-

DataExchangeInterrupt

-
-

This example provides a small - application in which joystick buttons are used to trigger USART - communication using interrupts and though using USART firmware - library.

-
-

 WWDG

-
-

WWDG_Example

-
-

This - example shows how to update at regular period the WWDG counter and - how to simulate a software fault generating an MCU WWDG reset on - expiry of a programmed time period.

-
-
-

Back to Top

-
-

 

- - - - -
-

 

-

For complete - documentation on STM32 Microcontrollers visit www.st.com/STM32

-
-

-
-
- -
- -
- - - -
- - \ No newline at end of file diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/main.c deleted file mode 100644 index 79433cfbc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/main.c +++ /dev/null @@ -1,238 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/DMA_WFIMode/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DMA_WFIMode - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define USART3_DR_ADDRESS ((uint32_t)0x40004804) - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t LowPowerMode = 0; -uint16_t DstBuffer[10]= {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - -/* Private function prototypes -----------------------------------------------*/ -void DMA_Config(void); -void USART_Config(void); -uint8_t Buffercmp16(uint16_t* pBuffer1, uint16_t* pBuffer2, uint16_t BufferLength); -void Delay(__IO uint32_t nCount); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize Leds and Key Button mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI); - - /* DMA1 Stream1 channel4 (connected to USART3_RX) configuration ------------*/ - DMA_Config(); - - /* EVAL_COM1 (USART3) configuration ----------------------------------------*/ - USART_Config(); - - while (1) - { - if(LowPowerMode == 1) - { - /* Turn Off LED2 and LED3 */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - - /* Request to enter WFI mode */ - __WFI(); - LowPowerMode = 0; - } - - Delay(0xFFFFF); - STM_EVAL_LEDToggle(LED1); - } -} - -/** - * @brief Configures the EVAL_COM1 (USART3). - * @param None - * @retval None - */ -void USART_Config(void) -{ - /* EVAL_COM1 configuration ---------------------------------------------------*/ - /* EVAL_COM1 configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitTypeDef USART_InitStructure; - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); - - /* Enable DMA Rx request */ - USART_DMACmd(EVAL_COM1, USART_DMAReq_Rx, ENABLE); -} - -/** - * @brief Configures DMA1 Stream1 channel4 to handle USART3_RX DMA request. - * @param None - * @retval None - */ -void DMA_Config(void) -{ - DMA_InitTypeDef DMA_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable DMA1 clock ********************************************************/ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA1, ENABLE); - - /* DMA1 Stream1 channel4 configuration **************************************/ - DMA_InitStructure.DMA_Channel = DMA_Channel_4; - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)USART3_DR_ADDRESS; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)DstBuffer; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - DMA_InitStructure.DMA_BufferSize = 10; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(DMA1_Stream1, &DMA_InitStructure); - DMA_Cmd(DMA1_Stream1, ENABLE); - - /* Enable DMA1_Stream1 Transfer complete interrupt */ - DMA_ITConfig(DMA1_Stream1, DMA_IT_TC, ENABLE); - - /* Enable DMA1_Stream1 */ - DMA_Cmd(DMA1_Stream1, ENABLE); - - /* Enable DMA1_Stream1 IRQn Interrupt ***************************************/ - NVIC_InitStructure.NVIC_IRQChannel = DMA1_Stream1_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval 0: pBuffer1 identical to pBuffer2 - * 1: pBuffer1 differs from pBuffer2 - */ -uint8_t Buffercmp16(uint16_t* pBuffer1, uint16_t* pBuffer2, uint16_t BufferLength) -{ - while(BufferLength--) - { - if(*pBuffer1 != *pBuffer2) - { - return 1; - } - - pBuffer1++; - pBuffer2++; - } - return 0; -} - -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -void Delay(__IO uint32_t nCount) -{ - for(; nCount != 0; nCount--); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/readme.txt deleted file mode 100644 index ea3e58504..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/readme.txt +++ /dev/null @@ -1,99 +0,0 @@ -/** - @page NVIC_DMA_WFIMode NVIC DMA in WFI mode example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file NVIC/NVIC_DMA_WFIMode/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the NVIC DMA in WFI mode example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to enter the system to WFI mode with DMA transfer enabled -and wake-up from this mode by the DMA End of Transfer interrupt. - -In the associated software, the system clock is set to 120 MHz, the DMA1 Stream1 -channel4 is configured to transfer 10 data from the EVAL_COM1 (USART3) data register -to a predefined buffer, DST_Buffer, and to generate an interrupt at the end of -the transfer. The EVAL_COM1 (USART3) receives data from Hyperterminal. -LED1 is toggled with a frequency depending on the system clock, this is used -to indicate whether the MCU is in WFI or RUN mode. - -Pressing key push button (generates rising edge on EXTI Line15) will put the core -in the WFI mode, causing the LED1 to stop toggling. -To wake-up from WFI mode you have to send the sequence (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) -from the Hyperterminal to the EVAL_COM1 (USART3). These bytes will be transferred -by the DMA from the EVAL_COM1 (USART3) receive data register to the predefined buffer, -then generates an interrupt which exits the system from WFI mode. -The LED1 restarts toggling and a LED2 will toggle if the buffer is correctly -received else a LED3 is toggled. - - -@par Directory contents - - - NVIC/DMA_WFIMode/stm32f2xx_conf.h Library Configuration file - - NVIC/DMA_WFIMode/stm32f2xx_it.c Interrupt handlers - - NVIC/DMA_WFIMode/stm32f2xx_it.h Interrupt handlers header file - - NVIC/DMA_WFIMode/main.c Main program - - NVIC/DMA_WFIMode/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily - tailored to any other development board. - - - STM322xG-EVAL Set-up - - Use the Key push-button connected to pin PG15 (EXTI Line15) - - Use LED1, LED2 and LED3 connected respectively to PG.06, PG.08 and PC.07 pins - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port if you want to display data on the HyperTerminal. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/stm32f2xx_conf.h deleted file mode 100644 index ed06dbe8b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/DMA_WFIMode/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/stm32f2xx_it.c deleted file mode 100644 index 0aabdc4f5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/stm32f2xx_it.c +++ /dev/null @@ -1,220 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/DMA_WFIMode/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup DMA_WFIMode - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint8_t TestStatus = 0; -uint16_t SrcBuffer[10] = {0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39}; -extern uint16_t DstBuffer[10]; -extern __IO uint32_t LowPowerMode; -extern uint8_t Buffercmp16(uint16_t*, uint16_t*, uint16_t); - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles DMA1 Stream1 interrupt request. - * @param None - * @retval None - */ -void DMA1_Stream1_IRQHandler(void) -{ - if(DMA_GetITStatus(DMA1_Stream1, DMA_IT_TCIF1)) - { - DMA_ClearITPendingBit(DMA1_Stream1, DMA_IT_TCIF1); - - /* Check the received buffer */ - TestStatus = Buffercmp16(SrcBuffer, DstBuffer, 10); - - if(TestStatus == 0) - { - STM_EVAL_LEDToggle(LED2); - } - else - { - STM_EVAL_LEDToggle(LED3); - } - } -} - -/** - * @brief This function handles External lines 15 to 10 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - - LowPowerMode = 1; - } -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/stm32f2xx_it.h deleted file mode 100644 index 29c660aaf..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/stm32f2xx_it.h +++ /dev/null @@ -1,62 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/DMA_WFIMode/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void DMA1_Stream1_IRQHandler(void); -void EXTI15_10_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/DMA_WFIMode/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/main.c deleted file mode 100644 index 318e78baf..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/main.c +++ /dev/null @@ -1,223 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/IRQ_Mask/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup IRQ_Mask - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize Leds mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Initialize the KEY and SEL buttons mounted on STM322xG-EVAL board */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_GPIO); - STM_EVAL_PBInit(BUTTON_TAMPER, BUTTON_MODE_EXTI); - - /* TIM configuration -------------------------------------------------------*/ - TIM_Config(); - - while (1) - { - /* Wait until KEY button is pressed. */ - while(STM_EVAL_PBGetState(BUTTON_KEY) == RESET) - { - } - while(STM_EVAL_PBGetState(BUTTON_KEY) != RESET) - { - } - - /* This instruction raises the execution priority to 0. This prevents all - exceptions with configurable priority from activating, other than through - the HardFault fault escalation mechanism. */ - __disable_irq(); - - /* Turn LED4 ON */ - STM_EVAL_LEDOn(LED4); - - /* Wait until KEY button is pressed. */ - while(STM_EVAL_PBGetState(BUTTON_KEY) == RESET) - { - } - while(STM_EVAL_PBGetState(BUTTON_KEY) != RESET) - { - } - - /* This instruction will allow all exceptions with configurable priority to - be activated. */ - __enable_irq(); - - /* Turn LED4 OFF */ - STM_EVAL_LEDOff(LED4); - } -} - -/** - * @brief Configures the used Timers. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; - TIM_OCInitTypeDef TIM_OCInitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable TIM2, TIM3 and TIM4 clocks */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM3 | - RCC_APB1Periph_TIM4, ENABLE); - - /* TIM2 configuration */ - TIM_TimeBaseStructure.TIM_Period = 0x4AF; - TIM_TimeBaseStructure.TIM_Prescaler = ((SystemCoreClock/1200) - 1); - TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); - TIM_OCStructInit(&TIM_OCInitStructure); - - /* Output Compare Timing Mode configuration: Channel1 */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing; - TIM_OCInitStructure.TIM_Pulse = 0x0; - TIM_OC1Init(TIM2, &TIM_OCInitStructure); - - /* TIM3 configuration */ - TIM_TimeBaseStructure.TIM_Period = 0x95F; - TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); - - /* Output Compare Timing Mode configuration: Channel1 */ - TIM_OC1Init(TIM3, &TIM_OCInitStructure); - - /* TIM4 configuration */ - TIM_TimeBaseStructure.TIM_Period = 0xE0F; - TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); - - /* Output Compare Timing Mode configuration: Channel1 */ - TIM_OC1Init(TIM4, &TIM_OCInitStructure); - - /* Immediate load of TIM2,TIM3 and TIM4 Precaler values */ - TIM_PrescalerConfig(TIM2, ((SystemCoreClock/1200) - 1), TIM_PSCReloadMode_Immediate); - TIM_PrescalerConfig(TIM3, ((SystemCoreClock/1200) - 1), TIM_PSCReloadMode_Immediate); - TIM_PrescalerConfig(TIM4, ((SystemCoreClock/1200) - 1), TIM_PSCReloadMode_Immediate); - - /* Clear TIM2, TIM3 and TIM4 update pending flags */ - TIM_ClearFlag(TIM2, TIM_FLAG_Update); - TIM_ClearFlag(TIM3, TIM_FLAG_Update); - TIM_ClearFlag(TIM4, TIM_FLAG_Update); - - /* Configure two bits for preemption priority */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); - - /* Enable the TIM2 Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Enable the TIM3 Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; - NVIC_Init(&NVIC_InitStructure); - - /* Enable the TIM4 Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; - NVIC_Init(&NVIC_InitStructure); - - /* Enable TIM2, TIM3 and TIM4 Update interrupts */ - TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); - TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE); - TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE); - - /* TIM2, TIM3 and TIM4 enable counters */ - TIM_Cmd(TIM2, ENABLE); - TIM_Cmd(TIM3, ENABLE); - TIM_Cmd(TIM4, ENABLE); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/readme.txt deleted file mode 100644 index 5e34e5a1b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/readme.txt +++ /dev/null @@ -1,125 +0,0 @@ -/** - @page NVIC_IRQ_Mask NVIC IRQ Channels Mask example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file NVIC/IRQ_Mask/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the NVIC IRQ Channels Mask example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example demontrates the use of the Nested Vectored Interrupt Controller (NVIC) -IRQ Channels configuration and how to mask/activate different IRQs: - -- Configuration of 3 TIM (TIM2..TIM4) timers to generate an interrupt on each - counter update event. - -- The three timers are linked to their correspondant Update IRQ channel. - -- Assignment of a ascendant IRQ priority for each IRQ channel : - - TIM2 has a preemption priority of 0 - - TIM3 has a preemption priority of 1 - - TIM4 has a preemption priority of 2 -- In each interrupt routine: - - TIM2 toggles a LED1 each 1s - - TIM3 toggles a LED2 each 2s - - TIM4 toggles a LED3 each 3s - -- The KEY and SEL buttons are used to boost the execution priority as follows: - - - The KEY button is used in GPIO mode and at each KEY button press, the execution - priority is raised to 0 and turn LED4 ON. This prevents all exceptions with - configurable priority from activating, other than through the HardFault fault - escalation mechanism. As consequence, all LEDs stop toggling as TIM2, TIM3 - and TIM4 IRQs are prevented from activation. - - Pressing again the KEY button will release the priority boosting, turn LED4 - OFF and will allow all exceptions with configurable priority to be activated - and TIM2, TIM3 and TIM4 can be generated again and the LEDs restart toggling. - - This execution priority is made using the CMSIS functions "__disable_irq()" - and "__enable_irq()". - These two functions are managing the Cortex-M3 PRIMASK special register. - - - The TAMPER button is used in EXTI mode and at each TAMPER button press, the - execution priority is masked to 0x40 using the BASEPRI register. - A non-zero value will act as a priority mask, affecting the execution priority - when the priority defined by BASEPRI is the same or higher than the current - executing priority. - As consequence, LED2 and LED3 stop toggling as TIM3 and TIM4 IRQs are - prevented from activation. - Pressing again the TAMPER button will configure the BASEPRI register to 0, - thus it has no effect on the current priority and TIM3 and TIM4 can be - generated again and LED2 and LED3 restart toggling. - - This execution priority is made using the CMSIS functions "__set_BASEPRI()". - This function is managing the Cortex-M3 BASEPRI special register. - Setting the BASEPRI register has no effect when the execution priority is - raised to 0 using the "__disable_irq()" function. - -@note These mechanisms only affect the group priority. They have no effect on - the sub-priority. The sub-priority is only used to sort pending exception - priorities, and does not affect active exceptions. - - -@par Directory contents - - - NVIC/IRQ_Mask/stm32f2xx_conf.h Library Configuration file - - NVIC/IRQ_Mask/stm32f2xx_it.c Interrupt handlers - - NVIC/IRQ_Mask/stm32f2xx_it.h Interrupt handlers header file - - NVIC/IRQ_Mask/main.c Main program - - NVIC/IRQ_Mask/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily - tailored to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - Use the KEY push-button connected to pin PG15 (EXTI Line15) - - Use the TAMPER push-button connected to pin PC13 (EXTI Line13) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/stm32f2xx_conf.h deleted file mode 100644 index 733de915a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/IRQ_Mask/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/stm32f2xx_it.c deleted file mode 100644 index ddf0d905c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/stm32f2xx_it.c +++ /dev/null @@ -1,250 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/IRQ_Mask/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup IRQ_Mask - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t index = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles EXTI Lines 15 to 10 interrupts requests. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if(EXTI_GetITStatus(TAMPER_BUTTON_EXTI_LINE) != RESET) - { - if(index == 0) - { - /* Configure the BASEPRI register to 0x40 (Preemption priority = 1). - Only IRQ with higher preemption priority than 1 are permitted. - This will mask TIM3 and TIM4 IRQ from generation. */ - __set_BASEPRI(0x40); - index++; - } - else - { - /* Configure the BASEPRI register to 0x00 (Preemption priority = 0). - When this BASEPRI register is set to 0, it has no effect on the current - priority. - TIM2, TIM3 and TIM4 generation is controlled by NVIC priority registers. */ - __set_BASEPRI(0x00); - index = 0; - } - - /* Clears the TAMPER Button EXTI line pending bit */ - EXTI_ClearITPendingBit(TAMPER_BUTTON_EXTI_LINE); - } -} - -/** - * @brief This function handles TIM2 global interrupt request. - * @param None - * @retval None - */ -void TIM2_IRQHandler(void) -{ - /* Clear TIM2 update interrupt */ - TIM_ClearITPendingBit(TIM2, TIM_IT_Update); - - /* Toggle LED1 */ - STM_EVAL_LEDToggle(LED1); -} - -/** - * @brief This function handles TIM3 global interrupt request. - * @param None - * @retval None - */ -void TIM3_IRQHandler(void) -{ - /* Clear TIM3 update interrupt */ - TIM_ClearITPendingBit(TIM3, TIM_IT_Update); - - /* Toggle LED2 */ - STM_EVAL_LEDToggle(LED2); -} - -/** - * @brief This function handles TIM4 global interrupt request. - * @param None - * @retval None - */ -void TIM4_IRQHandler(void) -{ - /* Clear TIM4 update interrupt */ - TIM_ClearITPendingBit(TIM4, TIM_IT_Update); - - /* Toggle LED3 */ - STM_EVAL_LEDToggle(LED3); -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/stm32f2xx_it.h deleted file mode 100644 index 7a7415ed9..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/stm32f2xx_it.h +++ /dev/null @@ -1,64 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/IRQ_Mask/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void TIM4_IRQHandler(void); -void TIM3_IRQHandler(void); -void TIM2_IRQHandler(void); -void EXTI15_10_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Mask/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/main.c deleted file mode 100644 index b19aac7ab..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/main.c +++ /dev/null @@ -1,176 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/IRQ_Priority/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup IRQ_Priority - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint8_t PreemptionOccured = 0; -__IO uint8_t PreemptionPriorityValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void NVIC_Config(void); -void Delay(__IO uint32_t nCount); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* NVIC configuration ------------------------------------------------------*/ - NVIC_Config(); - - /* Initialize LEDs and push-button mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI); - STM_EVAL_PBInit(BUTTON_WAKEUP, BUTTON_MODE_EXTI); - - /* Configure the SysTick Handler Priority: Preemption priority and subpriority */ - NVIC_SetPriority(SysTick_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(), !PreemptionPriorityValue, 0)); - - while (1) - { - if(PreemptionOccured != 0) - { - /* Toggel The lED1 */ - STM_EVAL_LEDToggle(LED1); - - /* Insert delay Time */ - Delay(0x5FFFF); - - STM_EVAL_LEDToggle(LED2); - - Delay(0x5FFFF); - - STM_EVAL_LEDToggle(LED3); - - Delay(0x5FFFF); - - STM_EVAL_LEDToggle(LED4); - - Delay(0x5FFFF); - } - } -} - -/** - * @brief Configures the NVIC interrupts. - * @param None - * @retval None - */ -void NVIC_Config(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - - /* Configure the preemption priority and subpriority: - - 1 bits for pre-emption priority: possible value are 0 or 1 - - 3 bits for subpriority: possible value are 0..7 - - Lower values gives higher priority - */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); - - /* Enable the WAKEUP_BUTTON_EXTI_IRQn Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = WAKEUP_BUTTON_EXTI_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = PreemptionPriorityValue; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Enable the KEY_BUTTON_EXTI_IRQn Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = KEY_BUTTON_EXTI_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -void Delay(__IO uint32_t nCount) -{ - for(; nCount != 0; nCount--); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/readme.txt deleted file mode 100644 index 4bd8b268b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/readme.txt +++ /dev/null @@ -1,110 +0,0 @@ -/** - @page NVIC_IRQ_Priority NVIC IRQ Priority example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file NVIC/IRQ_Priority/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the NVIC IRQ Priority example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example demonstrates the use of the Nested Vectored Interrupt Controller (NVIC): - -- Configuration of 2 EXTI Lines (WAKEUP button EXTI Line & KEY button EXTI Line) - to generate an interrupt on each falling edge and use the SysTick interrupt. -- These interrupts are configured with the following parameters: - - WAKEUP button EXTI Line: - - PreemptionPriority = PreemptionPriorityValue - - SubPriority = 0 - - KEY button EXTI Line: - - PreemptionPriority = 0 - - SubPriority = 1 - - SysTick Handler: - - PreemptionPriority = !PreemptionPriorityValue - - SubPriority = 0 -First, the PreemptionPriorityValue is equal to 0, the WAKEUP button EXTI Line -has higher preemption priority than the SysTick handler. - -In the KEY button EXTI Line interrupt routine the WAKEUP button EXTI Line and -SysTick preemption priorities are inverted. -In the WAKEUP button EXTI Line interrupt routine the pending bit of the SysTick -interrupt is set this will cause SysTick ISR to preempt the WAKEUP button EXTI -Line ISR only if it has higher preemption priority. - -The system behaves as following: - -1) The first time KEY button EXTI Line interrupt occurs the SysTick preemption -become higher than WAKEUP button EXTI Line one. So when the WAKEUP button EXTI -Line interrupt occurs, the SysTick ISR is executed and the PreemptionOccured -variable become TRUE and the four leds (LED1, LED2, LED3, LED4) start toggling. - -2) When the next KEY button EXTI Line interrupt occurs the SysTick preemption -become lower than WAKEUP button EXTI Line one. So when the WAKEUP button EXTI Line -interrupt occurs, the PreemptionOccured variable became FALSE and the four leds -(LED1, LED2, LED3, LED4) stop toggling. - -Then this behavior is repeated from point 1) in an infinite loop. - - -@par Directory contents - - - NVIC/IRQ_Priority/stm32f2xx_conf.h Library Configuration file - - NVIC/IRQ_Priority/stm32f2xx_it.c Interrupt handlers - - NVIC/IRQ_Priority/stm32f2xx_it.h Interrupt handlers header file - - NVIC/IRQ_Priority/main.c Main program - - NVIC/IRQ_Priority/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily - tailored to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - Use the WAKEUP push-button connected to pin PA.00 (EXTI Line0). - - Use the KEY push-button connected to pin PG15 (EXTI Line15) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/stm32f2xx_conf.h deleted file mode 100644 index 733de915a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/IRQ_Mask/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/stm32f2xx_it.c deleted file mode 100644 index b90faeeca..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/stm32f2xx_it.c +++ /dev/null @@ -1,226 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/IRQ_Priority/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup IRQ_Priority - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern __IO uint8_t PreemptionOccured; -extern __IO uint8_t PreemptionPriorityValue; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - /* If the WAKEUP_BUTTON_EXTI IRQ Handler (EXTI0_IRQHandler) was preempted - by SysTick Handler */ - if(NVIC_GetActive(WAKEUP_BUTTON_EXTI_IRQn) != 0) - { - PreemptionOccured = 1; - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles External line 0 interrupt request. - * @param None - * @retval None - */ -void EXTI0_IRQHandler(void) -{ - /* Generate SysTick exception */ - SCB->ICSR |= 0x04000000; - - /* Clear WAKEUP_BUTTON_EXTI_LINE pending bit */ - EXTI_ClearITPendingBit(WAKEUP_BUTTON_EXTI_LINE); -} - -/** - * @brief This function handles External lines 15 to 10 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - - if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - PreemptionPriorityValue = !PreemptionPriorityValue; - PreemptionOccured = 0; - - /* Modify the WAKEUP_BUTTON_EXTI_IRQn Interrupt Preemption Priority */ - NVIC_InitStructure.NVIC_IRQChannel = WAKEUP_BUTTON_EXTI_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = PreemptionPriorityValue; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure the SysTick Handler Priority: Preemption priority and subpriority */ - NVIC_SetPriority(SysTick_IRQn, NVIC_EncodePriority(NVIC_GetPriorityGrouping(), !PreemptionPriorityValue, 0)); - - /* Clear KEY_BUTTON_EXTI_LINE pending bit */ - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - } -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/stm32f2xx_it.h deleted file mode 100644 index ee21e79a9..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/stm32f2xx_it.h +++ /dev/null @@ -1,62 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/IRQ_Priority/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void EXTI0_IRQHandler(void); -void EXTI15_10_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/IRQ_Priority/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/EWARM/stm32f2xx_flash_offset.icf b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/EWARM/stm32f2xx_flash_offset.icf deleted file mode 100644 index e8dbdae89..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/EWARM/stm32f2xx_flash_offset.icf +++ /dev/null @@ -1,31 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ -/*-Specials-*/ -define symbol __ICFEDIT_intvec_start__ = 0x08004000; -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_ROM_start__ = 0x08004000; -define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; -define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; -define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x400; -define symbol __ICFEDIT_size_heap__ = 0x200; -/**** End of ICF editor section. ###ICF###*/ - - -define memory mem with size = 4G; -define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; -define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; - -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; - -place in ROM_region { readonly }; -place in RAM_region { readwrite, - block CSTACK, block HEAP }; diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/RIDE/stm32f2xx_flash_offset.ld b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/RIDE/stm32f2xx_flash_offset.ld deleted file mode 100644 index 42a8f15c3..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/RIDE/stm32f2xx_flash_offset.ld +++ /dev/null @@ -1,242 +0,0 @@ -/* -Linker script for STM32F2xx_1024K_128K with flash offset. -*/ - -/* -These are used by the startup in order to allocate stacks for the different modes. -*/ -__Stack_Size = 1024 ; - -PROVIDE ( _Stack_Size = __Stack_Size ) ; - -__Stack_Init = _estack - __Stack_Size ; - -/*"PROVIDE" allows to easily override these values from an object file or the commmand line.*/ -PROVIDE ( _Stack_Init = __Stack_Init ) ; - -/* -There will be a link error if there is not this amount of RAM free at the end. -*/ -_Minimum_Stack_Size = 0x100 ; - - -/* include the memory spaces definitions sub-script */ -/* -Linker subscript for STM32F2xx definitions with 1024K Flash and 96K RAM */ - -/* Memory Spaces Definitions */ - -MEMORY -{ - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K - FLASH (rx) : ORIGIN = 0x8004000, LENGTH = 1024K-0x4000 - FLASHB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB0 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB2 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB3 (rx) : ORIGIN = 0x00000000, LENGTH = 0 -} - -/* higher address of the user mode stack */ -_estack = 0x20020000; - - - -/* include the sections management sub-script for FLASH mode */ -/* -Common part of the linker scripts for STR71x devices in FLASH mode -(that is, the FLASH is seen at 0) -Copyright RAISONANCE 2005 -You can use, modify and distribute thisfile freely, but without any waranty. -*/ - - - -/* Sections Definitions */ - -SECTIONS -{ - /* for Cortex devices, the beginning of the startup code is stored in the .isr_vector section, which goes to FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* for some STRx devices, the beginning of the startup code is stored in the .flashtext section, which goes to FLASH */ - .flashtext : - { - . = ALIGN(4); - *(.flashtext) /* Startup code */ - . = ALIGN(4); - } >FLASH - - - /* the program code is stored in the .text section, which goes to Flash */ - .text : - { - . = ALIGN(4); - - *(.text) /* remaining code */ - *(.text.*) /* remaining code */ - *(.rodata) /* read-only data (constants) */ - *(.rodata*) - *(.glue_7) - *(.glue_7t) - - . = ALIGN(4); - _etext = .; - /* This is used by the startup in order to initialize the .data secion */ - _sidata = _etext; - } >FLASH - - - - /* This is the initialized data section - The program executes knowing that the data is in the RAM - but the loader puts the initial values in the FLASH (inidata). - It is one task of the startup to copy the initial values from FLASH to RAM. */ - .data : AT ( _sidata ) - { - . = ALIGN(4); - /* This is used by the startup in order to initialize the .data secion */ - _sdata = . ; - - *(.data) - *(.data.*) - - . = ALIGN(4); - /* This is used by the startup in order to initialize the .data secion */ - _edata = . ; - } >RAM - - - - /* This is the uninitialized data section */ - .bss : - { - . = ALIGN(4); - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; - - *(.bss) - *(COMMON) - - . = ALIGN(4); - /* This is used by the startup in order to initialize the .bss secion */ - _ebss = . ; - } >RAM - - PROVIDE ( end = _ebss ); - PROVIDE ( _end = _ebss ); - - /* This is the user stack section - This is just to check that there is enough RAM left for the User mode stack - It should generate an error if it's full. - */ - ._usrstack : - { - . = ALIGN(4); - _susrstack = . ; - - . = . + _Minimum_Stack_Size ; - - . = ALIGN(4); - _eusrstack = . ; - } >RAM - - - - /* this is the FLASH Bank1 */ - /* the C or assembly source must explicitly place the code or data there - using the "section" attribute */ - .b1text : - { - *(.b1text) /* remaining code */ - *(.b1rodata) /* read-only data (constants) */ - *(.b1rodata*) - } >FLASHB1 - - /* this is the EXTMEM */ - /* the C or assembly source must explicitly place the code or data there - using the "section" attribute */ - - /* EXTMEM Bank0 */ - .eb0text : - { - *(.eb0text) /* remaining code */ - *(.eb0rodata) /* read-only data (constants) */ - *(.eb0rodata*) - } >EXTMEMB0 - - /* EXTMEM Bank1 */ - .eb1text : - { - *(.eb1text) /* remaining code */ - *(.eb1rodata) /* read-only data (constants) */ - *(.eb1rodata*) - } >EXTMEMB1 - - /* EXTMEM Bank2 */ - .eb2text : - { - *(.eb2text) /* remaining code */ - *(.eb2rodata) /* read-only data (constants) */ - *(.eb2rodata*) - } >EXTMEMB2 - - /* EXTMEM Bank0 */ - .eb3text : - { - *(.eb3text) /* remaining code */ - *(.eb3rodata) /* read-only data (constants) */ - *(.eb3rodata*) - } >EXTMEMB3 - - - - /* after that it's only debugging information. */ - - /* remove the debugging information from the standard libraries */ - DISCARD : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } -} diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/TASKING/stm32f2xx_flash_offset.lsl b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/TASKING/stm32f2xx_flash_offset.lsl deleted file mode 100644 index c1561e162..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/TASKING/stm32f2xx_flash_offset.lsl +++ /dev/null @@ -1,221 +0,0 @@ -//////////////////////////////////////////////////////////////////////////// -// -// File : stm32f2xx.lsl -// -// Version : @(#)stm32f2xx.lsl 1.1 10/11/03 -// -// Description : LSL file for the STMicroelectronics STM32F2xx -// -// Copyright 2010 Altium BV -// -// Macros specific to control this LSL file -// -// __MEMORY Define this macro to suppress definition of on-chip -// memory. Must be defined when you want to define on-chip -// in your project's LSL file. -// __FLASH_SIZE Specifies the size of flash memory to be allocated -// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated -// __NO_DEFAULT_AUTO_VECTORS -// When enabled the interrup vector table will not be -// generated -// __COPY_VECTOR_TABLE Define this macro to enable copying the vector table -// at startup from ROM to RAM -// __VECTOR_TABLE_RAM_COPY -// Define this macro to enable copying the vector table -// at startup from ROM to RAM. It is also required to -// define the macro __VECTOR_TABLE_RAM_SPACE -// __VECTOR_TABLE_RAM_SPACE -// Define size of the RAM space for the vector table when -// it is copied from ROM to RAM -// __VECTOR_TABLE_ROM_ADDR -// Specify the vector table address in ROM -// __VECTOR_TABLE_RAM_ADDR -// Specify the vector table address in RAM when the the -// it is copied from ROM to RAM (__COPY_VECTOR_TABLE) -// -// See arm_arch.lsl for more available macros. -// -// Notes: -// In the STM32F2xx, 3 different boot modes can be selected -// - User Flash memory is selected as boot space -// - SystemMemory is selected as boot space -// - Embedded SRAM is selected as boot space -// -// This aliases the physical memory associated with each boot mode to Block -// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, -// the related memory (Flash memory or SRAM) is still accessible at its -// original memory space. -// -//////////////////////////////////////////////////////////////////////////// - -#ifndef __NO_DEFAULT_AUTO_VECTORS -// Suppress the vectors as defined arm_arch.lsl, because we define our -// own vectors for CMIS -#define __CMSIS_VECTORS 1 -#define __NO_DEFAULT_AUTO_VECTORS 1 -#define __NR_OF_VECTORS 97 -#endif - -#ifndef __VECTOR_TABLE_ROM_ADDR -# define __VECTOR_TABLE_ROM_ADDR 0x08004000 -#endif - -#ifndef __VECTOR_TABLE_RAM_ADDR -# define __VECTOR_TABLE_RAM_ADDR 0x00000000 -#endif - - -#ifndef __STACK -# define __STACK 4k -#endif - -#ifndef __HEAP -# define __HEAP 2k -#endif - -#include - -// -// If no memory is defined yet use the following memory settings -// -#ifndef __MEMORY - -// Specify default size for Flash and SRAM -#ifndef __FLASH_SIZE -# define __FLASH_SIZE 1024k -#endif -#ifndef __SRAM_SIZE -# define __SRAM_SIZE 128k -#endif - -memory STM32F2xx_Flash -{ - mau = 8; - type = rom; - size = 1008k; - map ( size = 1008k, dest_offset=0x08004000, dest=bus:ARM:local_bus); -} - -memory STM32F2xx_SRAM -{ - mau = 8; - type = ram; - size = __SRAM_SIZE; - map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); -} - -#endif /* __MEMORY */ - - -// -// Define the vector table for CMSIS -// -#ifdef __CMSIS_VECTORS -section_setup ::linear -{ - // vector table with handler addresses - vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, - template = ".text.handler_address", - template_symbol = "_lc_vector_handler", - vector_prefix = "_vector_", - fill = loop, - no_inline - ) - { - vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack - vector ( id = 1, fill = "_START" ); // Reset Handler - vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler - vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler - vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler - vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler - vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler - vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler - vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler - vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler - vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler - - // External Interrupts : - vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog - vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect - vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI - vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line - vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt - vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt - vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt - vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt - vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 interrupt - vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt - vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt - vector ( id = 27, optional, fill = "DMA1_Stream0_IRQHandler" ); // DMA1 Stream 0 interrupt - vector ( id = 28, optional, fill = "DMA1_Stream1_IRQHandler" ); // DMA1 Stream 1 interrupt - vector ( id = 29, optional, fill = "DMA1_Stream2_IRQHandler" ); // DMA1 Stream 2 interrupt - vector ( id = 30, optional, fill = "DMA1_Stream3_IRQHandler" ); // DMA1 Stream 3 interrupt - vector ( id = 31, optional, fill = "DMA1_Stream4_IRQHandler" ); // DMA1 Stream 4 interrupt - vector ( id = 32, optional, fill = "DMA1_Stream5_IRQHandler" ); // DMA1 Stream 5 interrupt - vector ( id = 33, optional, fill = "DMA1_Stream6_IRQHandler" ); // DMA1 Stream 6 interrupt - vector ( id = 34, optional, fill = "ADC_IRQHandler" ); // ADC_IRQHandler interrupts - vector ( id = 35, optional, fill = "CAN1_TX_IRQHandler" ); // CAN1 TX interrupts - vector ( id = 36, optional, fill = "CAN1_RX0_IRQHandler" ); // CAN1 RX0 interrupts - vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt - vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt - vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts - vector ( id = 40, optional, fill = "TIM1_BRK_TIM9_IRQHandler" ); // TIM1 Break irq and TIM9 global interrupt - vector ( id = 41, optional, fill = "TIM1_UP_TIM10_IRQHandler" ); // TIM1 Update irq and TIM10 global interrupt - vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM11_IRQHandler" ); // TIM1 Trigger and Commutation irqs and TIM10 global irq - vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare - vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt - vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt - vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt - vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event - vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error - vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event - vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error - vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt - vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt - vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt - vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt - vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt - vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts - vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line - vector ( id = 58, optional, fill = "OTG_FS_WKUP_IRQHandler" ); // USB On-The-Go FS Wakeup throught EXTI - vector ( id = 59, optional, fill = "TIM8_BRK_TIM12_IRQHandler" ); // TIM8 Break irq and TIM12 global irq - vector ( id = 60, optional, fill = "TIM8_UP_TIM13_IRQHandler" ); // TIM8 Update irq and TIM13 global irq - vector ( id = 61, optional, fill = "TIM8_TRG_COM_TIM14_IRQHandler" ); // TIM8 trigger and Comm. irqs and TIM14 global irq - vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare irq - vector ( id = 63, optional, fill = "DMA1_Stream7_IRQHandler" ); // DMA1 Stream7 global interrupt - vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC global interrupt - vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO global interrupt - vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 global interrupt - vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt - vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 global interrupt - vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 global interrupt - vector ( id = 70, optional, fill = "TIM6_DAC_IRQHandler" ); // TIM6 glbl irq, DAC1 and DAC2 underrun err irqs - vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt - vector ( id = 72, optional, fill = "DMA2_Stream0_IRQHandler" ); // DMA2 Stream0 global interrupt - vector ( id = 73, optional, fill = "DMA2_Stream1_IRQHandler" ); // DMA2 Stream1 global interrupt - vector ( id = 74, optional, fill = "DMA2_Stream2_IRQHandler" ); // DMA2 Stream2 global interrupt - vector ( id = 75, optional, fill = "DMA2_Stream3_IRQHandler" ); // DMA2 Stream3 global interrupt - vector ( id = 76, optional, fill = "DMA2_Stream4_IRQHandler" ); // DMA2 Stream4 global interrupt - vector ( id = 77, optional, fill = "ETH_IRQHandler" ); // Ethernet global interrupt - vector ( id = 78, optional, fill = "ETH_WKUP_IRQHandler" ); // Ethernet Wakeup through EXTI line irq - vector ( id = 79, optional, fill = "CAN2_TX_IRQHandler" ); // CAN2 TX interrupts - vector ( id = 80, optional, fill = "CAN2_RX0_IRQHandler" ); // CAN2 RX0 interrupts - vector ( id = 81, optional, fill = "CAN2_RX1_IRQHandler" ); // CAN2 RX1 interrupt - vector ( id = 82, optional, fill = "CAN2_SCE_IRQHandler" ); // CAN2 SCE interrupt - vector ( id = 83, optional, fill = "OTG_FS_IRQHandler" ); // USB On The Go FS global interrupt - vector ( id = 84, optional, fill = "DMA2_Stream5_IRQHandler" ); // DMA2 Stream5 global interrupt - vector ( id = 85, optional, fill = "DMA2_Stream6_IRQHandler" ); // DMA2 Stream6 global interrupt - vector ( id = 86, optional, fill = "DMA2_Stream7_IRQHandler" ); // DMA2 Stream7 global interrupt - vector ( id = 87, optional, fill = "USART6_IRQHandler" ); // USART6 global interrupt - vector ( id = 88, optional, fill = "I2C3_EV_IRQHandler" ); // I2C3 event interrupt - vector ( id = 89, optional, fill = "I2C3_ER_IRQHandler" ); // I2C3 error interrupt - vector ( id = 90, optional, fill = "OTG_HS_EP1_OUT_IRQHandler" ); // USB On The Go HS End Point 1 OUT global irq - vector ( id = 91, optional, fill = "OTG_HS_EP1_IN_IRQHandler" ); // USB On The Go HS End Point 1 In global irq - vector ( id = 92, optional, fill = "OTG_HS_WKUP_IRQHandler" ); // USB On The Go HS Wakeup through EXTI irq - vector ( id = 93, optional, fill = "OTG_HS_IRQHandler" ); // USB On The Go HS global interrupt - vector ( id = 94, optional, fill = "DCMI_IRQHandler" ); // DCMI global interrupt - vector ( id = 95, optional, fill = "CRYP_IRQHandler" ); // CRYP crypto global interrupt - vector ( id = 96, optional, fill = "HASH_RNG_IRQHandler" ); // Hash and Rng global interrupt - } -} -#endif /* __CMSIS_VECTORS */ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/TrueSTUDIO/stm32f2xx_flash_offset.ld b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/TrueSTUDIO/stm32f2xx_flash_offset.ld deleted file mode 100644 index 7d87bfd41..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/linker/TrueSTUDIO/stm32f2xx_flash_offset.ld +++ /dev/null @@ -1,170 +0,0 @@ -/* -***************************************************************************** -** -** File : stm32f2xx_flash_offset.ld -** -** Abstract : Linker script for STM32F207IG Device with -** 1MByte FLASH, 128KByte SRAM -** -** Set heap size, stack size and stack location according -** to application requirements. -** -** Set memory bank area and size if external memory is used. -** -** Target : STMicroelectronics STM32 -** -** Environment : Atollic TrueSTUDIO(R) -** -** Distribution: The file is distributed “as is,” without any warranty -** of any kind. -** -** (c)Copyright Atollic AB. -** You may use this file as-is or modify it according to the needs of your -** project. Distribution of this file (unmodified or modified) is not -** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the -** rights to distribute the assembled, compiled & linked contents of this -** file as part of an application binary file, provided that it is built -** using the Atollic TrueSTUDIO(R) toolchain. -** -***************************************************************************** -*/ - -/* Entry Point */ -ENTRY(Reset_Handler) - -/* Highest address of the user mode stack */ -_estack = 0x20020000; /* end of 128K SRAM */ - -/* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0; /* required amount of heap */ -_Min_Stack_Size = 0x200; /* required amount of stack */ - -/* Specify the memory areas */ -MEMORY -{ - FLASH (rx) : ORIGIN = 0x08004000, LENGTH = 1024K - 0x4000 - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K -} - -/* Define output sections */ -SECTIONS -{ - /* The startup code goes first into FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* The program code and other data goes into FLASH */ - .text : - { - . = ALIGN(4); - *(.text) /* .text sections (code) */ - *(.text*) /* .text* sections (code) */ - *(.rodata) /* .rodata sections (constants, strings, etc.) */ - *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ - *(.glue_7) /* glue arm to thumb code */ - *(.glue_7t) /* glue thumb to arm code */ - - KEEP (*(.init)) - KEEP (*(.fini)) - - . = ALIGN(4); - _etext = .; /* define a global symbols at end of code */ - } >FLASH - - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH - .ARM : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } >FLASH - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array*)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } >FLASH - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array*)) - PROVIDE_HIDDEN (__init_array_end = .); - } >FLASH - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(.fini_array*)) - KEEP (*(SORT(.fini_array.*))) - PROVIDE_HIDDEN (__fini_array_end = .); - } >FLASH - - /* used by the startup to initialize data */ - _sidata = .; - - /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : AT ( _sidata ) - { - . = ALIGN(4); - _sdata = .; /* create a global symbol at data start */ - *(.data) /* .data sections */ - *(.data*) /* .data* sections */ - - . = ALIGN(4); - _edata = .; /* define a global symbol at data end */ - } >RAM - - /* Uninitialized data section */ - . = ALIGN(4); - .bss : - { - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; /* define a global symbol at bss start */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = .; /* define a global symbol at bss end */ - __bss_end__ = _ebss; - } >RAM - - PROVIDE ( end = _ebss ); - PROVIDE ( _end = _ebss ); - - /* User_heap_stack section, used to check that there is enough RAM left */ - ._user_heap_stack : - { - . = ALIGN(4); - . = . + _Min_Heap_Size; - . = . + _Min_Stack_Size; - . = ALIGN(4); - } >RAM - - /* MEMORY_bank1 section, code must be located here explicitly */ - /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ - .memory_b1_text : - { - *(.mb1text) /* .mb1text sections (code) */ - *(.mb1text*) /* .mb1text* sections (code) */ - *(.mb1rodata) /* read-only data (constants) */ - *(.mb1rodata*) - } >MEMORY_B1 - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .ARM.attributes 0 : { *(.ARM.attributes) } -} diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/main.c deleted file mode 100644 index c9424b54f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/main.c +++ /dev/null @@ -1,182 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/VectorTable_Relocation/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup VectorTable_Relocation - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -static __IO uint32_t TimingDelay; - -/* Private function prototypes -----------------------------------------------*/ -void Delay(__IO uint32_t nTime); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Set the Vector Table base location at 0x08004000 - (this is already done in system_stm32f2xx.c file) */ - //NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x4000); - - /* Initialize Leds mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Turn on LED1 and LED3 */ - STM_EVAL_LEDOn(LED1); - STM_EVAL_LEDOn(LED3); - - /* Setup SysTick Timer for 1 msec interrupts. - ------------------------------------------ - 1. The SysTick_Config() function is a CMSIS function which configure: - - The SysTick Reload register with value passed as function parameter. - - Configure the SysTick IRQ priority to the lowest value (0x0F). - - Reset the SysTick Counter register. - - Configure the SysTick Counter clock source to be Core Clock Source (HCLK). - - Enable the SysTick Interrupt. - - Start the SysTick Counter. - - 2. You can change the SysTick Clock source to be HCLK_Div8 by calling the - SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8) just after the - SysTick_Config() function call. The SysTick_CLKSourceConfig() is defined - inside the misc.c file. - - 3. You can change the SysTick IRQ priority by calling the - NVIC_SetPriority(SysTick_IRQn,...) just after the SysTick_Config() function - call. The NVIC_SetPriority() is defined inside the core_cm3.h file. - - 4. To adjust the SysTick time base, use the following formula: - - Reload Value = SysTick Counter Clock (Hz) x Desired Time base (s) - - - Reload Value is the parameter to be passed for SysTick_Config() function - - Reload Value should not exceed 0xFFFFFF - */ - if (SysTick_Config(SystemCoreClock / 1000)) - { - /* Capture error */ - while (1); - } - - while (1) - { - /* Toggle LED2 and LED4 */ - STM_EVAL_LEDToggle(LED2); - STM_EVAL_LEDToggle(LED4); - - /* Insert 50 ms delay */ - Delay(50); - - /* Toggle LED1 and LED3 */ - STM_EVAL_LEDToggle(LED1); - STM_EVAL_LEDToggle(LED3); - - /* Insert 100 ms delay */ - Delay(100); - } -} - -/** - * @brief Inserts a delay time. - * @param nTime: specifies the delay time length, in milliseconds. - * @retval None - */ -void Delay(__IO uint32_t nTime) -{ - TimingDelay = nTime; - - while(TimingDelay != 0); -} - -/** - * @brief Decrements the TimingDelay variable. - * @param None - * @retval None - */ -void TimingDelay_Decrement(void) -{ - if (TimingDelay != 0x00) - { - TimingDelay--; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/main.h deleted file mode 100644 index 7bad6dbda..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/main.h +++ /dev/null @@ -1,44 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/VectorTable_Relocation/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void TimingDelay_Decrement(void); - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/readme.txt deleted file mode 100644 index e2bebab86..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/readme.txt +++ /dev/null @@ -1,121 +0,0 @@ -/** - @page NVIC_VectorTable_Relocation NVIC Vector Table Relocation example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file NVIC/VectorTable_Relocation/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the NVIC Vector Table Relocation example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example describes how to relocate the CortexM3 vector table in a specific -address other than the default Flash memory base address. -This can be used to build program which will be loaded into Flash memory by an -application previously programmed from the Flash memory base address. -Such application can be In-Application Programming (IAP) through USART, Ethernet -or USB (Device Firmware Upgrade, DFU). -These applications are available for download from the ST microcontrollers -website: ST Microcontrollers - -To build such application, some special configuration has to be performed: -1. Set the application load address, using your toolchain linker file -2. In the application code, relocate the vector table at the application load - address using the "NVIC_SetVectorTable" function from the misc.h/.c driver or - by modifying the value of the constant "VECT_TAB_OFFSET" defined - in system_stm32f2xx.c file. -For example, when building an application to be loaded with the IAP through USART -the application load address and vector table address must be set to 0x08004000. - -In this example, the associated program implements a "Delay" function based on -SysTick end of count interrupt, and toggles four leds with timing defined by the -"Delay" function. - - -@par Directory contents - - - NVIC/VectorTable_Relocation/stm32f2xx_conf.h Library Configuration file - - NVIC/VectorTable_Relocation/stm32f2xx_it.c Interrupt handlers - - NVIC/VectorTable_Relocation/stm32f2xx_it.h Interrupt handlers header file - - NVIC/VectorTable_Relocation/main.c Main program - - NVIC/VectorTable_Relocation/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily - tailored to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain and setup your project configuration as follows -
    -
  • MDK-ARM - - In the project option menu, select 'Target' window and enter 0x08004000 - as IROM1 start address - - In the project option menu, select 'Linker' window and enter 0x08004000 - as R/O base address - -
  • EWARM - - Use "stm32f2xx_flash_offset.icf" as linker file - -
  • RIDE - - In the Application options -> script menu, set "Use Default Script File" - to "No" and use "stm32f2xx_flash_offset.ld" as Script File. - This linker is configured for STM32F2xx. It should be updated to use it - with other STM32 devices. - -
  • TASKING - -In the project properties window, select C/C++ Build->settings node then - the "Linker->Script file" and use "stm32f2xx_flash_offset.lsl" as Script File. - This linker is configured for STM32F2xx. It should be updated to be used - with other STM32 devices. - -
  • TrueSTUDIO - - In the project properties window, select C/C++ Build->settings node then - the C Linker->General node and use "stm32f2xx_flash_offset.ld" as Script File. - This linker is configured for STM32F2xx. It should be updated to be used - with other STM32 devices. - -
- - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/stm32f2xx_conf.h deleted file mode 100644 index c3f917976..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/VectorTable_Relocation/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/stm32f2xx_it.c deleted file mode 100644 index 610d322d9..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/stm32f2xx_it.c +++ /dev/null @@ -1,175 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/VectorTable_Relocation/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup VectorTable_Relocation - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - TimingDelay_Decrement(); -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/stm32f2xx_it.h deleted file mode 100644 index 7bee1427c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file NVIC/VectorTable_Relocation/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/system_stm32f2xx.c deleted file mode 100644 index 48468bed3..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/NVIC/VectorTable_Relocation/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x4000 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/main.c deleted file mode 100644 index 0b1194eff..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/main.c +++ /dev/null @@ -1,134 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/BOR/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_BOR - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Uncomment the corresponding line to select the BOR level */ -#define BOR_LEVEL OB_BOR_OFF /*!< BOR Reset threshold levels for 1.62V - 2.10V VDD power supply */ -//#define BOR_LEVEL OB_BOR_LEVEL1 /*!< BOR Reset threshold levels for 2.10V - 2.40V VDD power supply */ -//#define BOR_LEVEL OB_BOR_LEVEL2 /*!< BOR Reset threshold levels for 2.40V - 2.70V VDD power supply */ -//#define BOR_LEVEL OB_BOR_LEVEL3 /*!< BOR Reset threshold levels for 2.70V - 3.60V VDD power supply */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t Counter = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LED1 on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - - /* Initialize Key Button mounted on STM322xG-EVAL board */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_GPIO); - - /* Test if Key push-button on STM322xG-EVAL Board is pressed */ - if (STM_EVAL_PBGetState(BUTTON_KEY) == 0x00) - { - /* Get BOR Option Bytes */ - if((FLASH_OB_GetBOR() & 0x0C) != BOR_LEVEL) - { - /* Unlocks the option bytes block access */ - FLASH_OB_Unlock(); - - /* Select the desired V(BOR) Level -------------------------------------*/ - FLASH_OB_BORConfig(BOR_LEVEL); - - /* Launch the option byte loading */ - FLASH_OB_Launch(); - - /* Locks the option bytes block access */ - FLASH_OB_Lock(); - } - } - - while (1) - { - /* Toggle The LED1 */ - STM_EVAL_LEDToggle(LED1); - - /* Inserted Delay */ - for(Counter = 0; Counter < 0x5FFFF; Counter++); - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/readme.txt deleted file mode 100644 index be8aac270..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/readme.txt +++ /dev/null @@ -1,78 +0,0 @@ -/** - @page PWR_BOR PWR Brown Out Reset (BOR) example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file PWR/BOR/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the PWR Brown Out Reset (BOR) example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the programmable BOR thresholds using the -FLASH option bytes. - -By maintaining the Key push-button pressed at Reset, the new BOR level will be -programmed. To modify the BOR threshold, select the voltage range using the -appropriate line "#define BOR_LEVEL OB_BOR_XXXX" in main.c file. - -LED1 is toggling to indicate that the reset is released and the system is in RUN -mode otherwise the BOR is maintaining the reset. - - -@par Directory contents - - - PWR/BOR/stm32f2xx_conf.h Library Configuration file - - PWR/BOR/stm32f2xx_it.c Interrupt handlers - - PWR/BOR/stm32f2xx_it.h Interrupt handlers header file - - PWR/BOR/main.c Main program - - PWR/BOR/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1 led connected to PG.06 pin - - Use the Key push-button connected to pin PG15 (EXTI Line15) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/stm32f2xx_conf.h deleted file mode 100644 index 651360b3a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/BOR/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/stm32f2xx_it.c deleted file mode 100644 index 6647d903d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/stm32f2xx_it.c +++ /dev/null @@ -1,174 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/BOR/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_BOR - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/stm32f2xx_it.h deleted file mode 100644 index 176cd7f19..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/BOR/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/BOR/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/main.c deleted file mode 100644 index e10cf2258..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/main.c +++ /dev/null @@ -1,196 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/CurrentConsumption/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm32f2xx_lp_modes.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_CurrentConsumption - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t Counter = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Enable PWR APB1 Clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to Backup */ - PWR_BackupAccessCmd(ENABLE); - - /* Reset RTC Domain */ - RCC_BackupResetCmd(ENABLE); - RCC_BackupResetCmd(DISABLE); - - /* Check that the system was resumed from StandBy mode */ - if(PWR_GetFlagStatus(PWR_FLAG_SB) != RESET) - { - /* Clear SB Flag */ - PWR_ClearFlag(PWR_FLAG_SB); - - /* Initialize LED1 on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - - /* Infinite loop */ - while (1) - { - /* Toggle The LED1 */ - STM_EVAL_LEDToggle(LED1); - - /* Inserted Delay */ - for(Counter = 0; Counter < 0x5FFFF; Counter++); - } - } - - /* Configure Key Button */ - STM_EVAL_PBInit(BUTTON_KEY,BUTTON_MODE_GPIO); - - /* Wait until Key button is pressed to enter the Low Power mode */ - while(STM_EVAL_PBGetState(BUTTON_KEY) != RESET) - { - } - /* Loop while Key button is maintained pressed */ - while(STM_EVAL_PBGetState(BUTTON_KEY) == RESET) - { - } - -#if defined (SLEEP_MODE) - /* Sleep Mode Entry - - System Running at PLL (120MHz) - - Flash 3 wait state - - Prefetch and Cache enabled - - Code running from Internal FLASH - - All peripherals disabled. - - Wakeup using EXTI Line (Key Button PG.15) - */ - SleepMode_Measure(); -#elif defined (STOP_MODE) - /* STOP Mode Entry - - RTC Clocked by LSE/LSI - - Regulator in LP mode - - HSI, HSE OFF and LSI OFF if not used as RTC Clock source - - No IWDG - - FLASH in deep power down mode - - Automatic Wakeup using RTC clocked by LSE/LSI (after ~20s) - */ - StopMode_Measure(); -#elif defined (STANDBY_MODE) - /* STANDBY Mode Entry - - Backup SRAM and RTC OFF - - IWDG and LSI OFF - - Wakeup using WakeUp Pin (PA.00) - */ - StandbyMode_Measure(); -#elif defined (STANDBY_RTC_MODE) - /* STANDBY Mode with RTC on LSE/LSI Entry - - RTC Clocked by LSE or LSI - - IWDG OFF and LSI OFF if not used as RTC Clock source - - Backup SRAM OFF - - Automatic Wakeup using RTC clocked by LSE/LSI (after ~20s) - */ - StandbyRTCMode_Measure(); -#elif defined (STANDBY_RTC_BKPSRAM_MODE) - /* STANDBY Mode with RTC on LSE/LSI Entry - - RTC Clocked by LSE/LSI - - Backup SRAM ON - - IWDG OFF - - Automatic Wakeup using RTC clocked by LSE/LSI (after ~20s) - */ - StandbyRTCBKPSRAMMode_Measure(); -#else - - /* Initialize LED1 on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - - /* Infinite loop */ - while (1) - { - /* Toggle The LED1 */ - STM_EVAL_LEDToggle(LED1); - - /* Inserted Delay */ - for(Counter = 0; Counter < 0x5FF; Counter++); - } -#endif -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/readme.txt deleted file mode 100644 index 8a0c334be..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/readme.txt +++ /dev/null @@ -1,152 +0,0 @@ -/** - @page PWR_CurrentConsumption PWR Current Consumption example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file PWR/CurrentConsumption/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the PWR Current Consumption example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the STM32F2xx system to measure different -Low Power modes current consumption. The Low Power modes are: - - Sleep Mode - - STOP mode with RTC - - STANDBY mode without RTC and BKPSRAM - - STANDBY mode with RTC - - STANDBY mode with RTC and BKPSRAM - -To run this example, user has to follow the following steps: - 1. Select the Low power modes to be measured by uncommenting the corresponding - line inside the stm32f2xx_lp_modes.h file. - @code - /*#define SLEEP_MODE*/ - /*#define STOP_MODE*/ - /*#define STANDBY_MODE*/ - #define STANDBY_RTC_MODE - /*#define STANDBY_RTC_BKPSRAM_MODE*/ - @endcode - - 2. Use an external amperemeter to measure the IDD current. - - 3. This example can not be used in DEBUG mode,this is due to the fact that the - Cortex™-M3 core is no longer clocked during low power mode so debugging - features are disbaled - -Here below a detailed description of the example code: - - @verbatim - - 1. After reset, the program waits for Key button connected to the PG.15 to be - pressed to enter the selected low power mode. - - When the RTC is not used in the low power mode configuration, press - again the Key button to exit the low power mode. - - When the RTC is used, the wakeup from low power mode is automatically - generated by the RTC (after 4s). - - 2. Low power modes description: - - - Sleep Mode - ============ - - System Running at PLL (120MHz) - - Flash 3 wait state - - Prefetch and Cache enabled - - Code running from Internal FLASH - - All peripherals disabled. - - Wakeup using EXTI Line (Key Button PG.15) - - - STOP Mode - =========== - - RTC Clocked by LSE or LSI - - Regulator in LP mode - - HSI, HSE OFF and LSI if not used as RTC Clock source - - No IWDG - - FLASH in deep power down mode - - Automatic Wakeup using RTC clocked by LSE/LSI (after ~20s) - - - STANDBY Mode - ============== - - Backup SRAM and RTC OFF - - IWDG and LSI OFF - - Wakeup using WakeUp Pin (PA.00) - - - STANDBY Mode with RTC clocked by LSE/LSI - ========================================== - - RTC Clocked by LSE or LSI - - IWDG OFF and LSI OFF if not used as RTC Clock source - - Backup SRAM OFF - - Automatic Wakeup using RTC clocked by LSE/LSI (after ~20s) - - - STANDBY Mode with RTC clocked by LSE/LSI and BKPSRAM - ====================================================== - - RTC Clocked by LSE or LSI - - Backup SRAM ON - - IWDG OFF - - Automatic Wakeup using RTC clocked by LSE/LSI (after ~20s) - - @endverbatim - - -@par Directory contents - - - PWR/CurrentConsumption/stm32f2xx_conf.h Library Configuration file - - PWR/CurrentConsumption/stm32f2xx_it.c Interrupt handlers - - PWR/CurrentConsumption/stm32f2xx_it.h Interrupt handlers header file - - PWR/CurrentConsumption/main.c Main program - - PWR/CurrentConsumption/system_stm32f2xx.c STM32F2xx system source file - - PWR/CurrentConsumption/stm32f2xx_lp_modes.c STM32F2xx Low Power Modes source file - - PWR/CurrentConsumption/stm32f2xx_lp_modes.h STM32F2xx Low Power Modes header file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices revision B and revision Y - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1 connected to PG.06 pin. - - Use Key Button connected to PG.15 pin - - Make sure that JP31 is not fitted. - - Connect an amperemeter to JP32 to measure the IDD current - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Add the file stm32f2xx_lp_modes.c to the project source list - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_conf.h deleted file mode 100644 index 44b7aaf25..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/CurrentConsumption/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_it.c deleted file mode 100644 index 836b13e21..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_it.c +++ /dev/null @@ -1,209 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/CurrentConsumption/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_CurrentConsumption - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles RTC Auto wake-up interrupt request. - * @param None - * @retval None - */ -void RTC_WKUP_IRQHandler(void) -{ - if(RTC_GetITStatus(RTC_IT_WUT) != RESET) - { - /* Toggle LED1 */ - STM_EVAL_LEDToggle(LED1); - RTC_ClearITPendingBit(RTC_IT_WUT); - EXTI_ClearITPendingBit(EXTI_Line22); - } -} - -/** - * @brief This function handles EXTI Lines 10 to 15 interrupts requests. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - /* Clear the Key Button EXTI line pending bit */ - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_it.h deleted file mode 100644 index 2b296e810..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_it.h +++ /dev/null @@ -1,54 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/CurrentConsumption/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void RTC_WKUP_IRQHandler(void); -void EXTI15_10_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_lp_modes.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_lp_modes.c deleted file mode 100644 index d20010ae1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_lp_modes.c +++ /dev/null @@ -1,459 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/CurrentConsumption/stm32f2xx_lp_modes.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file provides firmware functions to manage the following - * functionalities of the STM32F2xx Low Power Modes: - * - Sleep Mode - * - STOP mode with RTC - * - STANDBY mode without RTC and BKPSRAM - * - STANDBY mode with RTC - * - STANDBY mode with RTC and BKPSRAM - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_lp_modes.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_CurrentConsumption - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Uncomment the corresponding line to select the RTC Clock source */ -#define RTC_CLOCK_SOURCE_LSE /* LSE used as RTC source clock */ -/* #define RTC_CLOCK_SOURCE_LSI */ /* LSI used as RTC source clock. The RTC Clock - may varies due to LSI frequency dispersion. */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief This function configures the system to enter Sleep mode for - * current consumption measurement purpose. - * Sleep Mode - * ========== - * - System Running at PLL (120MHz) - * - Flash 3 wait state - * - Prefetch and Cache enabled - * - Code running from Internal FLASH - * - All peripherals disabled. - * - Wakeup using EXTI Line (Key Button PG.15) - * @param None - * @retval None - */ -void SleepMode_Measure(void) -{ - __IO uint32_t index = 0; - GPIO_InitTypeDef GPIO_InitStructure; - - /* Configure all GPIO as analog to reduce current consumption on non used IOs */ - /* Enable GPIOs clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | - RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOF | - RCC_AHB1Periph_GPIOG | RCC_AHB1Periph_GPIOH | RCC_AHB1Periph_GPIOI, ENABLE); - - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; - GPIO_Init(GPIOC, &GPIO_InitStructure); - GPIO_Init(GPIOD, &GPIO_InitStructure); - GPIO_Init(GPIOE, &GPIO_InitStructure); - GPIO_Init(GPIOF, &GPIO_InitStructure); - GPIO_Init(GPIOG, &GPIO_InitStructure); - GPIO_Init(GPIOH, &GPIO_InitStructure); - GPIO_Init(GPIOI, &GPIO_InitStructure); - GPIO_Init(GPIOA, &GPIO_InitStructure); - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Disable GPIOs clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | - RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOF | - RCC_AHB1Periph_GPIOG | RCC_AHB1Periph_GPIOH | RCC_AHB1Periph_GPIOI, DISABLE); - - /* Configure Key Button */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI); - - /* Request to enter SLEEP mode */ - __WFI(); - - /* Initialize LED1 on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - - /* Infinite loop */ - while (1) - { - /* Toggle The LED1 */ - STM_EVAL_LEDToggle(LED1); - - /* Inserted Delay */ - for(index = 0; index < 0x5FFFF; index++); - } -} - -/** - * @brief This function configures the system to enter Stop mode with RTC - * clocked by LSE or LSI for current consumption measurement purpose. - * STOP Mode with RTC clocked by LSE/LSI - * ===================================== - * - RTC Clocked by LSE or LSI - * - Regulator in LP mode - * - HSI, HSE OFF and LSI OFF if not used as RTC Clock source - * - No IWDG - * - FLASH in deep power down mode - * - Automatic Wakeup using RTC clocked by LSE/LSI (~20s) - * @param None - * @retval None - */ -void StopMode_Measure(void) -{ - __IO uint32_t index = 0; - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - -#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/ -/* The RTC Clock may varies due to LSI frequency dispersion. */ - /* Enable the LSI OSC */ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); - -#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */ - /* Enable the LSE OSC */ - RCC_LSEConfig(RCC_LSE_ON); - - /* Wait till LSE is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); - -#else - #error Please select the RTC Clock source inside the main.c file -#endif /* RTC_CLOCK_SOURCE_LSI */ - - - /* Enable the RTC Clock */ - RCC_RTCCLKCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); - - /* Configure all GPIO as analog to reduce current consumption on non used IOs */ - /* Enable GPIOs clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | - RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOF | - RCC_AHB1Periph_GPIOG | RCC_AHB1Periph_GPIOH | RCC_AHB1Periph_GPIOI, ENABLE); - - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; - GPIO_Init(GPIOC, &GPIO_InitStructure); - GPIO_Init(GPIOD, &GPIO_InitStructure); - GPIO_Init(GPIOE, &GPIO_InitStructure); - GPIO_Init(GPIOF, &GPIO_InitStructure); - GPIO_Init(GPIOG, &GPIO_InitStructure); - GPIO_Init(GPIOH, &GPIO_InitStructure); - GPIO_Init(GPIOI, &GPIO_InitStructure); - GPIO_Init(GPIOA, &GPIO_InitStructure); - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Disable GPIOs clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | - RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOF | - RCC_AHB1Periph_GPIOG | RCC_AHB1Periph_GPIOH | RCC_AHB1Periph_GPIOI, DISABLE); - - /* EXTI configuration *******************************************************/ - EXTI_ClearITPendingBit(EXTI_Line22); - EXTI_InitStructure.EXTI_Line = EXTI_Line22; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable the RTC Wakeup Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = RTC_WKUP_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* RTC Wakeup Interrupt Generation: Clock Source: RTCCLK_Div16, Wakeup Time Base: ~20s - RTC Clock Source LSE 32.768KHz or LSI ~32KHz - - Wakeup Time Base = (16 / (LSE or LSI)) * WakeUpCounter - */ - RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16); - RTC_SetWakeUpCounter(0xA000-1); - - /* Enable the Wakeup Interrupt */ - RTC_ITConfig(RTC_IT_WUT, ENABLE); - - /* Enable Wakeup Counter */ - RTC_WakeUpCmd(ENABLE); - - /* FLASH Deep Power Down Mode enabled */ - PWR_FlashPowerDownCmd(ENABLE); - - /* Enter Stop Mode */ - PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); - - /* Initialize LED1 on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - - /* Infinite loop */ - while (1) - { - /* Toggle The LED1 */ - STM_EVAL_LEDToggle(LED1); - - /* Inserted Delay */ - for(index = 0; index < 0x5FF; index++); - } -} - -/** - * @brief This function configures the system to enter Standby mode for - * current consumption measurement purpose. - * STANDBY Mode - * ============ - * - Backup SRAM and RTC OFF - * - IWDG and LSI OFF - * - Wakeup using WakeUp Pin (PA.00) - * @param None - * @retval None - */ -void StandbyMode_Measure(void) -{ - /* Enable WKUP pin 1 */ - PWR_WakeUpPinCmd(ENABLE); - - /* Request to enter STANDBY mode (Wake Up flag is cleared in PWR_EnterSTANDBYMode function) */ - PWR_EnterSTANDBYMode(); - - /* Infinite loop */ - while (1) - { - } -} - -/** - * @brief This function configures the system to enter Standby mode with RTC - * clocked by LSE or LSI for current consumption measurement purpose. - * STANDBY Mode with RTC clocked by LSE/LSI - * ======================================== - * - RTC Clocked by LSE/LSI - * - IWDG OFF - * - Backup SRAM OFF - * - Automatic Wakeup using RTC clocked by LSE/LSI (after ~20s) - * @param None - * @retval None - */ -void StandbyRTCMode_Measure(void) -{ - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - -#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/ -/* The RTC Clock may varies due to LSI frequency dispersion. */ - /* Enable the LSI OSC */ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); - -#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */ - /* Enable the LSE OSC */ - RCC_LSEConfig(RCC_LSE_ON); - - /* Wait till LSE is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); - -#else - #error Please select the RTC Clock source inside the main.c file -#endif /* RTC_CLOCK_SOURCE_LSI */ - - /* Enable the RTC Clock */ - RCC_RTCCLKCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); - - /* RTC Wakeup Interrupt Generation: Clock Source: RTCCLK_Div16, Wakeup Time Base: ~20s - RTC Clock Source LSE 32.768KHz or LSI ~32KHz - - Wakeup Time Base = (16 / (LSE or LSI)) * WakeUpCounter - */ - RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16); - RTC_SetWakeUpCounter(0xA000-1); - - /* Enable the Wakeup Interrupt */ - RTC_ITConfig(RTC_IT_WUT, ENABLE); - - /* Enable Wakeup Counter */ - RTC_WakeUpCmd(ENABLE); - - /* Clear WakeUp (WUTF) pending flag */ - RTC_ClearFlag(RTC_FLAG_WUTF); - - /* Request to enter STANDBY mode (Wake Up flag is cleared in PWR_EnterSTANDBYMode function) */ - PWR_EnterSTANDBYMode(); - - /* Infinite loop */ - while (1) - { - } -} - -/** - * @brief This function configures the system to enter Standby mode with RTC - * clocked by LSE or LSI and with Backup SRAM ON for current consumption - * measurement purpose. - * STANDBY Mode with RTC clocked by LSE/LSI and BKPSRAM - * ==================================================== - * - RTC Clocked by LSE or LSI - * - Backup SRAM ON - * - IWDG OFF - * - Automatic Wakeup using RTC clocked by LSE/LSI (after ~20s) - * @param None - * @retval None - */ -void StandbyRTCBKPSRAMMode_Measure(void) -{ - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - -#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/ -/* The RTC Clock may varies due to LSI frequency dispersion. */ - /* Enable the LSI OSC */ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); - -#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */ - /* Enable the LSE OSC */ - RCC_LSEConfig(RCC_LSE_ON); - - /* Wait till LSE is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); - -#else - #error Please select the RTC Clock source inside the main.c file -#endif /* RTC_CLOCK_SOURCE_LSI */ - - /* Enable the RTC Clock */ - RCC_RTCCLKCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); - -/* Backup SRAM ***************************************************************/ - /* Enable BKPRAM Clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_BKPSRAM, ENABLE); - - /* Enable the Backup SRAM low power Regulator */ - PWR_BackupRegulatorCmd(ENABLE); - - /* Wait until the Backup SRAM low power Regulator is ready */ - while(PWR_GetFlagStatus(PWR_FLAG_BRR) == RESET) - { - } - - /* RTC Wakeup Interrupt Generation: Clock Source: RTCCLK_Div16, Wakeup Time Base: ~20s - RTC Clock Source LSE 32.768KHz or LSI ~32KHz - - Wakeup Time Base = (16 / (LSE or LSI)) * WakeUpCounter - */ - RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16); - RTC_SetWakeUpCounter(0xA000-1); - - /* Enable the Wakeup Interrupt */ - RTC_ITConfig(RTC_IT_WUT, ENABLE); - - /* Enable Wakeup Counter */ - RTC_WakeUpCmd(ENABLE); - - /* Clear WakeUp (WUTF) pending flag */ - RTC_ClearFlag(RTC_FLAG_WUTF); - - /* Request to enter STANDBY mode (Wake Up flag is cleared in PWR_EnterSTANDBYMode function) */ - PWR_EnterSTANDBYMode(); - - /* Infinite loop */ - while (1) - { - } -} - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_lp_modes.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_lp_modes.h deleted file mode 100644 index 3b8da3f07..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/stm32f2xx_lp_modes.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/CurrentConsumption/stm32f2xx_lp_modes.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for stm32f2xx_lp_modes.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_LP_MODES_H -#define __STM32F2xx_LP_MODES_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -#if !defined (SLEEP_MODE) && !defined (STOP_MODE) && !defined (STANDBY_MODE)\ - && !defined (STANDBY_RTC_MODE) && !defined (STANDBY_RTC_BKPSRAM_MODE) -/* Uncomment the corresponding line to select the STM32F2xx Low Power mode */ -#define SLEEP_MODE -//#define STOP_MODE -//#define STANDBY_MODE -//#define STANDBY_RTC_MODE -//#define STANDBY_RTC_BKPSRAM_MODE -#endif - -#if !defined (SLEEP_MODE) && !defined (STOP_MODE) && !defined (STANDBY_MODE)\ - && !defined (STANDBY_RTC_MODE) && !defined (STANDBY_RTC_BKPSRAM_MODE) - #error "Please select first the target STM32F2xx Low Power mode to be measured (in stm32f2xx_lp_modes.h file)" -#endif - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void SleepMode_Measure(void); -void StopMode_Measure(void); -void StandbyMode_Measure(void); -void StandbyRTCMode_Measure(void); -void StandbyRTCBKPSRAMMode_Measure(void); - -#endif /* __STM32F2xx_LP_MODES_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/CurrentConsumption/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/main.c deleted file mode 100644 index 6c90c330a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/main.c +++ /dev/null @@ -1,151 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/PVD/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_PVD - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t i = 0; - -/* Private function prototypes -----------------------------------------------*/ -void PVD_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - - /* Configure the PVD */ - PVD_Config(); - - while (1) - { - /* Toggle The LED2 */ - STM_EVAL_LEDToggle(LED2); - - /* Inserted Delay */ - for(i = 0; i < 0x5FFFF; i++); - } -} - -/** - * @brief Configures the PVD resources. - * @param None - * @retval None - */ -void PVD_Config(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - - /* Enable PWR clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Configure one bit for preemption priority */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); - - /* Enable the PVD Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = PVD_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure EXTI Line16(PVD Output) to generate an interrupt on rising and - falling edges */ - EXTI_ClearITPendingBit(EXTI_Line16); - EXTI_InitStructure.EXTI_Line = EXTI_Line16; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Configure the PVD Level to 3 (PVD detection level set to 2.5V, refer to the - electrical characteristics of you device datasheet for more details) */ - PWR_PVDLevelConfig(PWR_PVDLevel_3); - - /* Enable the PVD Output */ - PWR_PVDCmd(ENABLE); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/readme.txt deleted file mode 100644 index 06d7217a3..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/readme.txt +++ /dev/null @@ -1,76 +0,0 @@ -/** - @page PWR_PVD PWR Programmable Voltage Detector (PVD) example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file PWR/PVD/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the PWR Programmable Voltage Detector (PVD) example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the programmable voltage detector using -an external interrupt line. In this example, EXTI line 16 is configured to generate -an interrupt on each rising or falling edge of the PVD output signal (which -indicates that the Vdd voltage is below the PVD threshold). -In the interrupt routine a led connected to a specific GPIO pin is toggled every -time the voltage drops below or above the target threshold. - -A LED connected to a specific GPIO pin is toggling to indicate that the system -is in RUN. - -@par Directory contents - - - PWR/PVD/stm32f2xx_conf.h Library Configuration file - - PWR/PVD/stm32f2xx_it.c Interrupt handlers - - PWR/PVD/stm32f2xx_it.h Interrupt handlers header file - - PWR/PVD/main.c Main program - - PWR/PVD/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - HW Set-up - - Connect a LED to PG.06 pin (will be referred to by LED1 in the example code) - - Connect a LED to PG.08 pin (will be referred to by LED2 in the example code) - @note This example can't run on the STM322xG-EVAL board. - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/stm32f2xx_conf.h deleted file mode 100644 index 3c3939ea2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/PVD/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/stm32f2xx_it.c deleted file mode 100644 index b93c3a947..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/stm32f2xx_it.c +++ /dev/null @@ -1,196 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/PVD/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_PVD - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles the PVD Output interrupt request. - * @param None - * @retval None - */ -void PVD_IRQHandler(void) -{ - if(EXTI_GetITStatus(EXTI_Line16) != RESET) - { - /* Toggle LED1 */ - STM_EVAL_LEDToggle(LED1); - - /* Clear the Key Button EXTI line pending bit */ - EXTI_ClearITPendingBit(EXTI_Line16); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/stm32f2xx_it.h deleted file mode 100644 index 08f6302be..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/PVD/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void PVD_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/PVD/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/main.c deleted file mode 100644 index 1e91d785c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/main.c +++ /dev/null @@ -1,254 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/STANDBY/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_STANDBY - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Uncomment the corresponding line to select the RTC Clock source */ -#define RTC_CLOCK_SOURCE_LSE /* LSE used as RTC source clock */ -/* #define RTC_CLOCK_SOURCE_LSI */ /* LSI used as RTC source clock. The RTC Clock - may varies due to LSI frequency dispersion. */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -RTC_InitTypeDef RTC_InitStructure; -RTC_TimeTypeDef RTC_TimeStructure; -__IO uint32_t AsynchPrediv = 0, SynchPrediv = 0; - -/* Private function prototypes -----------------------------------------------*/ -void RTC_Config(void); -void SysTick_Configuration(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs and Key Button mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI); - - /* RTC configuration */ - RTC_Config(); - - /* Turn on LED1 */ - STM_EVAL_LEDOn(LED1); - - /* Enable WKUP pin */ - PWR_WakeUpPinCmd(ENABLE); - - /* Configure the SysTick to generate an interrupt each 250 ms */ - SysTick_Configuration(); - - while (1) - { - } -} - -/** - * @brief Configures the RTC. - * @param None - * @retval None - */ -void RTC_Config(void) -{ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to BKP Domain */ - PWR_BackupAccessCmd(ENABLE); - - /* Clear Wakeup flag */ - PWR_ClearFlag(PWR_FLAG_WU); - - /* Check if the StandBy flag is set */ - if (PWR_GetFlagStatus(PWR_FLAG_SB) != RESET) - { - /* Clear StandBy flag */ - PWR_ClearFlag(PWR_FLAG_SB); - - /* Wait for RTC APB registers synchronisation (needed after start-up from Reset)*/ - RTC_WaitForSynchro(); - /* No need to configure the RTC as the RTC config(clock source, enable, - prescaler,...) are kept after wake-up from STANDBY */ - } - else - { - /* RTC Configuration ******************************************************/ - /* Reset Backup Domain */ - RCC_BackupResetCmd(ENABLE); - RCC_BackupResetCmd(DISABLE); - -#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/ -/* The RTC Clock may varies due to LSI frequency dispersion. */ - /* Enable the LSI OSC */ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); - - SynchPrediv = 0xFF; - AsynchPrediv = 0x7F; - -#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */ - /* Enable the LSE OSC */ - RCC_LSEConfig(RCC_LSE_ON); - - /* Wait till LSE is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); - - SynchPrediv = 0xFF; - AsynchPrediv = 0x7F; - -#else - #error Please select the RTC Clock source inside the main.c file -#endif /* RTC_CLOCK_SOURCE_LSI */ - - /* Enable the RTC Clock */ - RCC_RTCCLKCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation (needed after start-up from Reset)*/ - RTC_WaitForSynchro(); - - /* Set the RTC time base to 1s */ - RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; - RTC_InitStructure.RTC_AsynchPrediv = 0x7F; - RTC_InitStructure.RTC_SynchPrediv = 0x00FF; - - if (RTC_Init(&RTC_InitStructure) == ERROR) - { - /* Turn on LED2 */ - STM_EVAL_LEDOn(LED2); - - /* User can add here some code to deal with this error */ - while(1); - } - - /* Set the time to 01h 00mn 00s AM */ - RTC_TimeStructure.RTC_H12 = RTC_H12_AM; - RTC_TimeStructure.RTC_Hours = 0x01; - RTC_TimeStructure.RTC_Minutes = 0x00; - RTC_TimeStructure.RTC_Seconds = 0x00; - - if(RTC_SetTime(RTC_Format_BCD, &RTC_TimeStructure) == ERROR) - { - /* Turn on LED2 */ - STM_EVAL_LEDOn(LED2); - - /* User can add here some code to deal with this error */ - while(1); - } - } - - /* Clear RTC Alarm Flag */ - RTC_ClearFlag(RTC_FLAG_ALRAF); -} - -/** - * @brief Configures the SysTick to generate an interrupt each 250 ms. - * @param None - * @retval None - */ -void SysTick_Configuration(void) -{ - /* SysTick interrupt each 250 ms */ - if (SysTick_Config((SystemCoreClock/8) / 4)) - { - /* Capture error */ - while (1); - } - - /* Select AHB clock(HCLK) divided by 8 as SysTick clock source */ - SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); - - /* Set SysTick Preemption Priority to 1 */ - NVIC_SetPriority(SysTick_IRQn, 0x04); -} - - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/readme.txt deleted file mode 100644 index 59a4e6a62..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/readme.txt +++ /dev/null @@ -1,102 +0,0 @@ -/** - @page PWR_STANDBY PWR_STANDBY - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file PWR/STANDBY/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the PWR STANDBY example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to enters the system to STANDBY mode and wake-up from this -mode using: external RESET, RTC Alarm A or WKUP pin. - -In the associated software, the system clock is set to 120 MHz, an EXTI line -is configured to generate an interrupt on falling edge and the SysTick is programmed -to generate an interrupt each 250 ms. In the SysTick interrupt handler, the LED1 is -toggled, this is used to indicate whether the MCU is in STANDBY or RUN mode. - -When a falling edge is detected on the EXTI line an interrupt is generated. In the -EXTI handler routine the RTC is configured to generate an Alarm event in 5 second -then the system enters STANDBY mode causing the LED1 to stop toggling. -A rising edge on WKUP pin or an external RESET will wake-up the system from -STANDBY. If within 5 second neither rising edge on WKUP pin nor external RESET -are generated, the RTC Alarm A will wake-up the system. - -After wake-up from STANDBY mode, program execution restarts in the same way as after -a RESET, the RTC configuration (clock source, prescaler,...) is kept and LED1 restarts -toggling. As result there is no need to configure the RTC. - -two leds LED1 and LED2 are used to monitor the system state as following: - - LED2 ON: RTC configuration failed (system will go to an infinite loop) - - LED1 toggling: system in RUN mode - - LED1 off : system in STANDBY mode - -These Steps are repeated in an infinite loop. - -@note To measure the current consumption in STANDBY mode, please refer to - @subpage PWR_CurrentConsumption example. - -@note This example can not be used in DEBUG mode, this is due to the fact - that the Cortex™-M3 core is no longer clocked during low power mode - so debugging features are disbaled - - -@par Directory contents - - - PWR/STANDBY/system_stm32f2xx.c STM32F2xx system clock configuration file - - PWR/STANDBY/stm32f2xx_conf.h Library Configuration file - - PWR/STANDBY/stm32f2xx_it.c Interrupt handlers - - PWR/STANDBY/stm32f2xx_it.h Header for stm32f2xx_it.c - - PWR/STANDBY/main.c Main program - - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1 and LED2 connected to PG.06 and PG.08 pins - - Use the Key push-button connected to pin PG15 (EXTI Line15) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/stm32f2xx_conf.h deleted file mode 100644 index 0ddfe78cb..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/STANDBY/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/stm32f2xx_it.c deleted file mode 100644 index d372836a6..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/stm32f2xx_it.c +++ /dev/null @@ -1,222 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/STANDBY/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_STANDBY - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -RTC_AlarmTypeDef RTC_AlarmStructure; -extern RTC_TimeTypeDef RTC_TimeStructure; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - /* Toggle LED1 */ - STM_EVAL_LEDToggle(LED1); -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles External lines 9 to 5 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - - /* Clear the SEL Button EXTI line pending bit */ - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - - /* Disable the Alarm A */ - RTC_AlarmCmd(RTC_Alarm_A, DISABLE); - - RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure); - - /* Set the alarm to current time + 5s */ - RTC_AlarmStructure.RTC_AlarmTime.RTC_H12 = RTC_TimeStructure.RTC_H12; - RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours = RTC_TimeStructure.RTC_Hours; - RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = RTC_TimeStructure.RTC_Minutes; - RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = (RTC_TimeStructure.RTC_Seconds + 0x5) % 60; - RTC_AlarmStructure.RTC_AlarmDateWeekDay = 0x31; - RTC_AlarmStructure.RTC_AlarmDateWeekDaySel = RTC_AlarmDateWeekDaySel_Date; - RTC_AlarmStructure.RTC_AlarmMask = RTC_AlarmMask_DateWeekDay | RTC_AlarmMask_Hours | RTC_AlarmMask_Minutes; - RTC_SetAlarm(RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure); - - /* Enable RTC Alarm A Interrupt: this Interrupt will wake-up the system from - STANDBY mode (RTC Alarm IT not enabled in NVIC) */ - RTC_ITConfig(RTC_IT_ALRA, ENABLE); - - /* Enable the Alarm A */ - RTC_AlarmCmd(RTC_Alarm_A, ENABLE); - - /* Clear RTC Alarm Flag */ - RTC_ClearFlag(RTC_FLAG_ALRAF); - - /* Request to enter STANDBY mode (Wake Up flag is cleared in PWR_EnterSTANDBYMode function) */ - PWR_EnterSTANDBYMode(); - } -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/stm32f2xx_it.h deleted file mode 100644 index c19395a1d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/STANDBY/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void EXTI15_10_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STANDBY/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/main.c deleted file mode 100644 index 344616905..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/main.c +++ /dev/null @@ -1,289 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/STOP/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_STOP - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Uncomment the corresponding line to select the RTC Clock source */ -#define RTC_CLOCK_SOURCE_LSE /* LSE used as RTC source clock */ -/* #define RTC_CLOCK_SOURCE_LSI */ /* LSI used as RTC source clock. The RTC Clock - may varies due to LSI frequency dispersion. */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern __IO uint32_t TimingDelay; - -/* Private function prototypes -----------------------------------------------*/ -void RTC_Config(void); -void SysTick_Configuration(void); -void Delay(__IO uint32_t nTime); -void SYSCLKConfig_STOP(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Configure the SysTick to generate an interrupt each 250 ms */ - SysTick_Configuration(); - - /* Initialize LEDs and Key Button mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED4); - - /* Key button (EXTI_Line15) will be used to wakeup ths system from STOP mode */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI); - - /* RTC configuration */ - RTC_Config(); - - while (1) - { - /* Insert 5 second delay */ - Delay(20); - - /* Turn OFF LED2 */ - STM_EVAL_LEDOff(LED2); - - /* Enable Wakeup Counter */ - RTC_WakeUpCmd(ENABLE); - - /* Enter Stop Mode */ - PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); - - /* Disable Wakeup Counter */ - RTC_WakeUpCmd(DISABLE); - - /* Configures system clock after wake-up from STOP: enable HSE, PLL and select - PLL as system clock source (HSE and PLL are disabled in STOP mode) */ - SYSCLKConfig_STOP(); - } -} - -/** - * @brief Configures the RTC clock source. - * @param None - * @retval None - */ -void RTC_Config(void) -{ - EXTI_InitTypeDef EXTI_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - __IO uint32_t AsynchPrediv = 0, SynchPrediv = 0; - - /* Enable the PWR clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - -#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/ -/* The RTC Clock may varies due to LSI frequency dispersion. */ - /* Enable the LSI OSC */ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); - - SynchPrediv = 0xFF; - AsynchPrediv = 0x7F; - -#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */ - /* Enable the LSE OSC */ - RCC_LSEConfig(RCC_LSE_ON); - - /* Wait till LSE is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); - - SynchPrediv = 0xFF; - AsynchPrediv = 0x7F; - -#else - #error Please select the RTC Clock source inside the main.c file -#endif /* RTC_CLOCK_SOURCE_LSI */ - - /* Enable the RTC Clock */ - RCC_RTCCLKCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); - - /* RTC Wakeup Interrupt Generation: Clock Source: RTCCLK_Div16, Wakeup Time Base: ~4s - - Wakeup Time Base = (16 / (LSE or LSI)) * WakeUpCounter - */ - RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16); - RTC_SetWakeUpCounter(0x1FFF); - - /* Enable the Wakeup Interrupt */ - RTC_ITConfig(RTC_IT_WUT, ENABLE); - - /* Connect EXTI_Line22 to the RTC Wakeup event */ - EXTI_ClearITPendingBit(EXTI_Line22); - EXTI_InitStructure.EXTI_Line = EXTI_Line22; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable the RTC Wakeup Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = RTC_WKUP_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - -} - -/** - * @brief Configures system clock after wake-up from STOP: enable HSE, PLL - * and select PLL as system clock source. - * @param None - * @retval None - */ -void SYSCLKConfig_STOP(void) -{ - /* After wake-up from STOP reconfigure the system clock */ - /* Enable HSE */ - RCC_HSEConfig(RCC_HSE_ON); - - /* Wait till HSE is ready */ - while (RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET) - {} - - /* Enable PLL */ - RCC_PLLCmd(ENABLE); - - /* Wait till PLL is ready */ - while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) - {} - - /* Select PLL as system clock source */ - RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); - - /* Wait till PLL is used as system clock source */ - while (RCC_GetSYSCLKSource() != 0x08) - {} -} - -/** - * @brief Configures the SysTick to generate an interrupt each 250 millisecond. - * @param None - * @retval None - */ -void SysTick_Configuration(void) -{ - /* SysTick interrupt each 250 ms */ - if (SysTick_Config((SystemCoreClock/8) / 4)) - { - /* Capture error */ - while (1); - } - - /* Select AHB clock(HCLK) divided by 8 as SysTick clock source */ - SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); - - /* Set SysTick Preemption Priority to 1 */ - NVIC_SetPriority(SysTick_IRQn, 0x04); -} - -/** - * @brief Inserts a delay time. - * @param nTime: specifies the delay time length, with a base of 250 milliseconds. - * @retval None - */ -void Delay(__IO uint32_t nTime) -{ - TimingDelay = nTime; - - while(TimingDelay != 0); - -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/readme.txt deleted file mode 100644 index 19e5d2a3d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/readme.txt +++ /dev/null @@ -1,101 +0,0 @@ -/** - @page PWR_STOP PWR_STOP - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file PWR/STOP/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the PWR STOP example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to enters the system to STOP mode and wake-up from this -mode using RTC Wakeup Timer Event connected to EXTI Line 22. - -In the associated software - - the system clock is set to 120 MHz - - the EXTI_Line15 is configured to generate interrupt on falling edge - - the EXTI_Line22 connected internally to the RTC Wakeup event is configured - to generate an interrupt on rising edge each 4s - - the SysTick is programmed to generate an interrupt each 250 ms -In the SysTick interrupt handler, LED2 is toggled, this is used to indicate whether -the MCU is in STOP or RUN mode. - -The system enters STOP mode and will wait for the RTC Wakeup event to be -generated each 4s, or Key push button is pressed. - - If the RTC WakeUp event (EXTI_Line22) is the source of wakeup from STOP, LED1 is toggled. - - If the Key button (EXTI_Line15) is the source of wakeup from STOP, LED4 is toggled. - -This behavior is repeated in an infinite loop. - -LEDs are used to monitor the system state as following: - - LED2 toggling: system in RUN mode - - LED1 toggled: system woken up from STOP using RTC WakeUp Interrupt - - LED4 toggled: system woken up from STOP using EXTI_Line15 (KEY push button) - - @note To measure the current consumption in STOP mode, please refer to - @subpage PWR_CurrentConsumption example. - - @note This example can not be used in DEBUG mode, this is due to the fact - that the Cortex™-M3 core is no longer clocked during low power mode - so debugging features are disbaled - - - -@par Directory contents - - - PWR/STOP/system_stm32f2xx.c STM32F2xx system clock configuration file - - PWR/STOP/stm32f2xx_conf.h Library Configuration file - - PWR/STOP/stm32f2xx_it.c Interrupt handlers - - PWR/STOP/stm32f2xx_it.h Header for stm32f2xx_it.c - - PWR/STOP/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2 and LED4 connected respectively to PG.06, PG.08 and PC.07 pins - - Use the Key push-button connected to pin PG15 (EXTI_Line15) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/stm32f2xx_conf.h deleted file mode 100644 index 9ae5b4d0d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/STOP/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/stm32f2xx_it.c deleted file mode 100644 index fa5cb23cb..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/stm32f2xx_it.c +++ /dev/null @@ -1,215 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/STOP/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup PWR_STOP - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t TimingDelay = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - TimingDelay--; - /* Toggle LED2 */ - STM_EVAL_LEDToggle(LED2); -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ -/** - * @brief This function handles RTC Auto wake-up interrupt request. - * @param None - * @retval None - */ -void RTC_WKUP_IRQHandler(void) -{ - if(RTC_GetITStatus(RTC_IT_WUT) != RESET) - { - /* Toggle LED1 */ - STM_EVAL_LEDToggle(LED1); - RTC_ClearITPendingBit(RTC_IT_WUT); - EXTI_ClearITPendingBit(EXTI_Line22); - } -} - -/** - * @brief This function handles External lines 15 to 10 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - /* Clear the Key Button EXTI line pending bit */ - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - - /* Toggle LED4 */ - STM_EVAL_LEDToggle(LED4); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx_md.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/stm32f2xx_it.h deleted file mode 100644 index f84583680..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/stm32f2xx_it.h +++ /dev/null @@ -1,54 +0,0 @@ -/** - ****************************************************************************** - * @file PWR/STOP/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void EXTI9_5_IRQHandler(void); -void RTC_WKUP_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/PWR/STOP/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/main.c deleted file mode 100644 index f6d1dbb49..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/main.c +++ /dev/null @@ -1,170 +0,0 @@ -/** - ****************************************************************************** - * @file RCC/RCC_Example/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup RCC_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -void Delay (uint32_t nCount); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - RCC_ClocksTypeDef RCC_ClockFreq; - - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs mounted on STM322xG-EVAL board ***************************/ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Turn on LED1 and LED3 */ - STM_EVAL_LEDOn(LED1); - STM_EVAL_LEDOn(LED3); - - /* This function fills the RCC_ClockFreq structure with the current - frequencies of different on chip clocks (for debug purpose) **************/ - RCC_GetClocksFreq(&RCC_ClockFreq); - - /* Enable Clock Security System(CSS): this will generate an NMI exception - when HSE clock fails *****************************************************/ - RCC_ClockSecuritySystemCmd(ENABLE); - - /* Enable and configure RCC global IRQ channel, will be used to manage HSE ready - and PLL ready interrupts. - These interrupts are enabled in stm32f2xx_it.c file **********************/ - NVIC_InitStructure.NVIC_IRQChannel = RCC_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Output HSE clock on MCO1 pin(PA8) ****************************************/ - /* Enable the GPIOA peripheral */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); - - /* Configure MCO1 pin(PA8) in alternate function */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* HSE clock selected to output on MCO1 pin(PA8)*/ - RCC_MCO1Config(RCC_MCO1Source_HSE, RCC_MCO1Div_1); - - while (1) - { - /* Toggle LED2 and LED4 */ - STM_EVAL_LEDToggle(LED2); - STM_EVAL_LEDToggle(LED4); - - /* Insert a delay */ - Delay(0x7FFFF); - - /* Toggle LED1 and LED3 */ - STM_EVAL_LEDToggle(LED1); - STM_EVAL_LEDToggle(LED3); - - /* Insert a delay */ - Delay(0x7FFFF); - } -} - -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length. - * @retval None - */ -void Delay(__IO uint32_t nCount) -{ - /* Decrement nCount value */ - while (nCount != 0) - { - nCount--; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/readme.txt deleted file mode 100644 index 7f611c2bf..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/readme.txt +++ /dev/null @@ -1,87 +0,0 @@ -/** - @page RCC_Example RCC example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file RCC/RCC_Example/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the RCC example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to use, for debug purpose, the RCC_GetClocksFreq function -to retrieve the current status and frequencies of different on chip clocks. -You can see the RCC_ClockFreq structure content, which hold the frequencies of -different on chip clocks, using your toolchain debugger. - -This example handles also the High Speed External clock (HSE) failure detection: -when the HSE clock disappears (broken or disconnected external Quartz); HSE, PLL -are disabled (but no change on PLL config), HSI selected as system clock source -and an interrupt (NMI) is generated. In the NMI ISR, the HSE, HSE ready interrupt -are enabled and once HSE clock recover, the HSERDY interrupt is generated and in -the RCC ISR routine the system clock is reconfigured to its previous state (before -HSE clock failure). You can monitor the HSE clock on MCO1 pin(PA8). - -Four LEDs are toggled with a timing defined by the Delay function. - -@note On the STM322xG-EVAL board, to genertate the HSE failure you can remove - the HSE quartz from the socket. - - -@par Directory contents - - - RCC/RCC_Example/system_stm32f2xx.c STM32F2xx system clock configuration file - - RCC/RCC_Example/stm32f2xx_conf.h Library Configuration file - - RCC/RCC_Example/stm32f2xx_it.c Interrupt handlers - - RCC/RCC_Example/stm32f2xx_it.h Interrupt handlers header file - - RCC/RCC_Example/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily - tailored to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/stm32f2xx_conf.h deleted file mode 100644 index d0ba82f9a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file RCC/RCC_Example/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/stm32f2xx_it.c deleted file mode 100644 index aa6aef667..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/stm32f2xx_it.c +++ /dev/null @@ -1,228 +0,0 @@ -/** - ****************************************************************************** - * @file RCC/RCC_Example/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup RCC_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ - /* This interrupt is generated when HSE clock fails */ - - if (RCC_GetITStatus(RCC_IT_CSS) != RESET) - { - /* At this stage: HSE, PLL are disabled (but no change on PLL config) and HSI - is selected as system clock source */ - - /* Enable HSE */ - RCC_HSEConfig(RCC_HSE_ON); - - /* Enable HSE Ready and PLL Ready interrupts */ - RCC_ITConfig(RCC_IT_HSERDY | RCC_IT_PLLRDY, ENABLE); - - /* Clear Clock Security System interrupt pending bit */ - RCC_ClearITPendingBit(RCC_IT_CSS); - - /* Once HSE clock recover, the HSERDY interrupt is generated and in the RCC ISR - routine the system clock will be reconfigured to its previous state (before - HSE clock failure) */ - } -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles RCC interrupt request. - * @param None - * @retval None - */ -void RCC_IRQHandler(void) -{ - if(RCC_GetITStatus(RCC_IT_HSERDY) != RESET) - { - /* Clear HSERDY interrupt pending bit */ - RCC_ClearITPendingBit(RCC_IT_HSERDY); - - /* Check if the HSE clock is still available */ - if (RCC_GetFlagStatus(RCC_FLAG_HSERDY) != RESET) - { - /* Enable PLL: once the PLL is ready the PLLRDY interrupt is generated */ - RCC_PLLCmd(ENABLE); - } - } - - if(RCC_GetITStatus(RCC_IT_PLLRDY) != RESET) - { - /* Clear PLLRDY interrupt pending bit */ - RCC_ClearITPendingBit(RCC_IT_PLLRDY); - - /* Check if the PLL is still locked */ - if (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) != RESET) - { - /* Select PLL as system clock source */ - RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); - } - } -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/stm32f2xx_it.h deleted file mode 100644 index 66c0b7a3e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/stm32f2xx_it.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - ****************************************************************************** - * @file RCC/RCC_Example/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void RCC_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RCC/RCC_Example/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/main.c deleted file mode 100644 index 7c9eddebf..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/main.c +++ /dev/null @@ -1,268 +0,0 @@ -/** - ****************************************************************************** - * @file RNG/RNG_MultiRNG/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_lcd.h" -#include - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup RNG_MultiRNG - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ - -//#define PRINT_ON_USART -#define PRINT_ON_LCD - -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -void RNG_Config(void); -void Display_Init(void); -void Display(uint32_t rng, uint8_t line); - -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - uint32_t random32bit = 0; - uint8_t Counter = 0; - - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Display init (LCD or/and USART)*/ - Display_Init(); - - /* Key Button configuration */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_GPIO); - - /* RNG configuration */ - RNG_Config(); - - while (1) - { - /* Wait until Key button is pressed */ - while(STM_EVAL_PBGetState(BUTTON_KEY) != RESET) - { - } - /* Loop while Key button is maintained pressed */ - while(STM_EVAL_PBGetState(BUTTON_KEY) == RESET) - { - } - - for(Counter = 0; Counter < 8; Counter++) - { - /* Wait until one RNG number is ready */ - while(RNG_GetFlagStatus(RNG_FLAG_DRDY)== RESET) - { - } - - /* Get a 32bit Random number */ - random32bit = RNG_GetRandomNumber(); - - /* Display the Random number value on the LCD or/and USART */ - Display(random32bit, Counter+1); - } - } -} - -/** - * @brief RNG configuration - * @param None - * @retval None - */ -void RNG_Config(void) -{ - /* Enable RNG clock source */ - RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_RNG, ENABLE); - - /* RNG Peripheral enable */ - RNG_Cmd(ENABLE); -} - -/** - * @brief Display Init (LCD or/and USART) - * @param None - * @retval None - */ -void Display_Init(void) -{ -#ifdef PRINT_ON_USART - - USART_InitTypeDef USART_InitStructure; - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); - - printf("\n\r ========================================\n"); - printf("\n\r ==== Multiple RNG Generator Example ====\n"); - printf("\n\r ======================================== \n\n\r"); - printf("\n\r Press key button to generate 8 x 32bit random number\n"); -#endif - -#ifdef PRINT_ON_LCD -/* Initialize the LCD */ - STM322xG_LCD_Init(); - - /* Clear the LCD */ - LCD_Clear(White); - - /* Set the LCD Text size */ - LCD_SetFont(&Font8x12); - - /* Set the LCD Back Color and Text Color*/ - LCD_SetBackColor(Blue); - LCD_SetTextColor(White); - - LCD_DisplayStringLine(LINE(0x13), " To generate 8x32bit RNG, Press Key >>"); - - /* Set the LCD Text size */ - LCD_SetFont(&Font16x24); - - LCD_DisplayStringLine(LINE(0), "*** RNG Example ***"); - - /* Set the LCD Back Color and Text Color*/ - LCD_SetBackColor(White); - LCD_SetTextColor(Blue); - - LCD_DisplayStringLine(LINE(3)," Press KEY button "); - LCD_DisplayStringLine(LINE(5)," to START "); -#endif -} - -/** - * @brief Display the Random number value on LCD or/and USART - * @param rnumber: random number to display - * @param line: LCD line number - * @retval None - */ -void Display(uint32_t rnumber, uint8_t line) -{ -#ifdef PRINT_ON_LCD - uint8_t text[50]; -#endif - -#ifdef PRINT_ON_USART - printf("\r [ 0x%08x ]\n", rnumber); - if (line == 8) - { - printf("\n\r Press key button to generate 8 x 32bit random number\n"); - } -#endif - -#ifdef PRINT_ON_LCD - sprintf((char*)text," [ 0x%08X ] ", rnumber); - LCD_DisplayStringLine(LINE(line),text); -#endif -} - -/** - * @brief Retargets the C library printf function to the USART. - * @param None - * @retval None - */ -PUTCHAR_PROTOTYPE -{ - /* Place your implementation of fputc here */ - /* e.g. write a character to the USART */ - USART_SendData(EVAL_COM1, (uint8_t) ch); - - /* Loop until the end of transmission */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - {} - - return ch; -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/readme.txt deleted file mode 100644 index a52184193..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/readme.txt +++ /dev/null @@ -1,96 +0,0 @@ -/** - @page RNG_MultiRNG Multiple Random Number Generator Example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file RNG/RNG_MultiRNG/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of Multiple Random Number Generator Example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the RNG peripheral to -generate Random 32bit numbers. - -For this example, an interactive human interface is developed to allow user to -display 8 (arbitrary value, which can be updated by user) random 32bit numbers -using the eval board LCD and/or USART (CN16) with PC HyperTerminal, using -PRINT_ON_LCD and PRINT_ON_USART defines in main.c - -After startup, user is asked to press key button. -The 8 Random 32bit numbers are displayed as soon as the key is pressed. - -The USARTx is configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - - -@par Directory contents - - - RNG/RNG_MultiRNG/system_stm32f2xx.c STM32F2xx system clock configuration file - - RNG/RNG_MultiRNG/stm32f2xx_conf.h Library Configuration file - - RNG/RNG_MultiRNG/stm32f2xx_it.h Interrupt handlers header file - - RNG/RNG_MultiRNG/stm32f2xx_it.c Interrupt handlers - - RNG/RNG_MultiRNG/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port if you want to display data on the HyperTerminal. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/stm32f2xx_conf.h deleted file mode 100644 index 46000243b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file RNG/RNG_MultiRNG/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/stm32f2xx_it.c deleted file mode 100644 index 811c2ece1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file RNG/RNG_MultiRNG/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup RNG_MultiRNG - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/stm32f2xx_it.h deleted file mode 100644 index 4e0409742..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file RNG/RNG_MultiRNG/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RNG/RNG_MultiRNG/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/lcd_log_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/lcd_log_conf.h deleted file mode 100644 index bd2f2a966..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/lcd_log_conf.h +++ /dev/null @@ -1,114 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/BKP_Domain/lcd_log_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief lcd_log configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ - -#ifndef __LCD_LOG_CONF_H__ -#define __LCD_LOG_CONF_H__ - -/* Includes ------------------------------------------------------------------*/ -#include "stm322xg_eval.h" -#include - -#ifdef USE_STM322xG_EVAL - #include "stm322xg_eval_lcd.h" -#endif - -/** @addtogroup LCD_LOG - * @{ - */ - -/** @defgroup LCD_LOG - * @brief This file is the - * @{ - */ - - -/** @defgroup LCD_LOG_CONF_Exported_Defines - * @{ - */ - -/* Define the LCD default text color */ -#define LCD_LOG_DEFAULT_COLOR White - -/* Comment the line below to disable the scroll back and forward features */ -#define LCD_SCROLL_ENABLED - -/* Define the display window settings */ -#define YWINDOW_MIN 3 -#define YWINDOW_SIZE 12 -#define XWINDOW_MAX 50 - -/* Define the cache depth */ -#define CACHE_SIZE 50 - -/** @defgroup LCD_LOG_CONF_Exported_TypesDefinitions - * @{ - */ - -/** - * @} - */ - - -/** @defgroup LCD_LOG_Exported_Macros - * @{ - */ - - -/** - * @} - */ - -/** @defgroup LCD_LOG_CONF_Exported_Variables - * @{ - */ - -/** - * @} - */ - -/** @defgroup LCD_LOG_CONF_Exported_FunctionsPrototype - * @{ - */ - -/** - * @} - */ - - -#endif /* __LCD_LOG_H__ */ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/main.c deleted file mode 100644 index 9e4c794ae..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/main.c +++ /dev/null @@ -1,722 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/BKP_Domain/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup BKP_Domain - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Uncomment the corresponding line to select the RTC Clock source */ -#define RTC_CLOCK_SOURCE_LSE /* LSE used as RTC source clock */ -/* #define RTC_CLOCK_SOURCE_LSI */ /* LSI used as RTC source clock. The RTC Clock - may varies due to LSI frequency dispersion. */ -#define RTC_BKP_DR_NUMBER 0x14 -#define FIRST_DATA 0x32F2 - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -RTC_InitTypeDef RTC_InitStructure; -RTC_TimeTypeDef RTC_TimeStructure; -RTC_DateTypeDef RTC_DateStructure; -__IO uint32_t AsynchPrediv = 0, SynchPrediv = 0; -__IO uint32_t TimeDisplay = 0; -uint32_t errorindex = 0, i = 0; - -uint32_t BKPDataReg[RTC_BKP_DR_NUMBER] = - { - RTC_BKP_DR0, RTC_BKP_DR1, RTC_BKP_DR2, - RTC_BKP_DR3, RTC_BKP_DR4, RTC_BKP_DR5, - RTC_BKP_DR6, RTC_BKP_DR7, RTC_BKP_DR8, - RTC_BKP_DR9, RTC_BKP_DR10, RTC_BKP_DR11, - RTC_BKP_DR12, RTC_BKP_DR13, RTC_BKP_DR14, - RTC_BKP_DR15, RTC_BKP_DR16, RTC_BKP_DR17, - RTC_BKP_DR18, RTC_BKP_DR19 - }; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - NVIC_InitTypeDef NVIC_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - - /* Configure the external interrupt "WAKEUP", "KEY" and "TAMPER" buttons */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_GPIO); - STM_EVAL_PBInit(BUTTON_TAMPER , BUTTON_MODE_GPIO); - STM_EVAL_PBInit(BUTTON_WAKEUP , BUTTON_MODE_GPIO); - - /* Initialize the LCD */ - STM322xG_LCD_Init(); - - /* Configure the LCD Log Module */ - LCD_LOG_Init(); - LCD_LOG_SetHeader("RTC Backup Domain Example"); - LCD_LOG_SetFooter (" Copyright (c) STMicroelectronics" ); - - /* Display the default RCC BDCR and RTC TAFCR Registers */ - LCD_UsrLog ("Entry Point \n"); - LCD_UsrLog ("RCC BDCR = 0x%x\n", RCC->BDCR); - LCD_UsrLog ("RTC TAFCR = 0x%x\n", RTC->TAFCR); - - /* Enable the PWR APB1 Clock Interface */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to BKP Domain */ - PWR_BackupAccessCmd(ENABLE); - - /* Configure one bit for preemption priority */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); - - /* Enable the RTC Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = RTC_WKUP_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* EXTI configuration *******************************************************/ - EXTI_ClearITPendingBit(EXTI_Line22); - EXTI_InitStructure.EXTI_Line = EXTI_Line22; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - if(RTC_ReadBackupRegister(RTC_BKP_DR0) != FIRST_DATA) - { - LCD_UsrLog ("RTC Config PLZ Wait. \n"); - - /* RTC Configuration */ - RTC_Config(); - - /* Adjust Current Time */ - Time_Adjust(); - - /* Adjust Current Date */ - Date_Adjust(); - } - else - { - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); - RTC_ClearITPendingBit(RTC_IT_WUT); - EXTI_ClearITPendingBit(EXTI_Line22); - -/* Backup SRAM ***************************************************************/ - /* Enable BKPSRAM Clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_BKPSRAM, ENABLE); - - /* Check the written Data */ - for (i = 0x0; i < 0x1000; i += 4) - { - if ((*(__IO uint32_t *) (BKPSRAM_BASE + i)) != i) - { - errorindex++; - } - } - if(errorindex) - { - LCD_ErrLog ("BKP SRAM Number of errors = %d\n", errorindex); - } - else - { - LCD_UsrLog ("BKP SRAM Content OK \n"); - } -/* RTC Backup Data Registers **************************************************/ - /* Check if RTC Backup DRx registers data are correct */ - if (CheckBackupReg(FIRST_DATA) == 0x00) - { - /* OK, RTC Backup DRx registers data are correct */ - LCD_UsrLog ("OK, RTC Backup DRx registers data are correct. \n"); - } - else - { - /* Error, RTC Backup DRx registers data are not correct */ - LCD_ErrLog ("RTC Backup DRx registers data are not correct\n"); - } - } - - /* Infinite loop */ - Calendar_Show(); - - while (1) - { - } -} - -/** - * @brief Configure the RTC peripheral by selecting the clock source. - * @param None - * @retval None - */ -void RTC_Config(void) -{ - /* Enable the PWR clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - -#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/ -/* The RTC Clock may varies due to LSI frequency dispersion. */ - /* Enable the LSI OSC */ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); - - SynchPrediv = 0xFF; - AsynchPrediv = 0x7F; - -#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */ - /* Enable the LSE OSC */ - RCC_LSEConfig(RCC_LSE_ON); - - /* Wait till LSE is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); - - SynchPrediv = 0xFF; - AsynchPrediv = 0x7F; - -#else - #error Please select the RTC Clock source inside the main.c file -#endif /* RTC_CLOCK_SOURCE_LSI */ - - /* Enable the RTC Clock */ - RCC_RTCCLKCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); - - /* Write to the first RTC Backup Data Register */ - RTC_WriteBackupRegister(RTC_BKP_DR0, FIRST_DATA); - - /* Display the new RCC BDCR and RTC TAFCR Registers */ - LCD_UsrLog ("RTC Reconfig \n"); - LCD_UsrLog ("RCC BDCR = 0x%x\n", RCC->BDCR); - LCD_UsrLog ("RTC TAFCR = 0x%x\n", RTC->TAFCR); - - /* Set the Time */ - RTC_TimeStructure.RTC_Hours = 0x08; - RTC_TimeStructure.RTC_Minutes = 0x00; - RTC_TimeStructure.RTC_Seconds = 0x00; - - /* Set the Date */ - RTC_DateStructure.RTC_Month = RTC_Month_March; - RTC_DateStructure.RTC_Date = 0x18; - RTC_DateStructure.RTC_Year = 0x11; - RTC_DateStructure.RTC_WeekDay = RTC_Weekday_Friday; - - /* Calendar Configuration */ - RTC_InitStructure.RTC_AsynchPrediv = AsynchPrediv; - RTC_InitStructure.RTC_SynchPrediv = SynchPrediv; - RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; - RTC_Init(&RTC_InitStructure); - - /* Set Current Time and Date */ - RTC_SetTime(RTC_Format_BCD, &RTC_TimeStructure); - RTC_SetDate(RTC_Format_BCD, &RTC_DateStructure); - - /* Configure the RTC Wakeup Clock source and Counter (Wakeup event each 1 second) */ - RTC_WakeUpClockConfig(RTC_WakeUpClock_RTCCLK_Div16); - RTC_SetWakeUpCounter(0x7FF); - - /* Enable the Wakeup Interrupt */ - RTC_ITConfig(RTC_IT_WUT, ENABLE); - - /* Enable Wakeup Counter */ - RTC_WakeUpCmd(ENABLE); - -/* Backup SRAM ***************************************************************/ - /* Enable BKPRAM Clock */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_BKPSRAM, ENABLE); - - /* Write to Backup SRAM with 32-Bit Data */ - for (i = 0x0; i < 0x1000; i += 4) - { - *(__IO uint32_t *) (BKPSRAM_BASE + i) = i; - } - /* Check the written Data */ - for (i = 0x0; i < 0x1000; i += 4) - { - if ((*(__IO uint32_t *) (BKPSRAM_BASE + i)) != i) - { - errorindex++; - } - } - - if(errorindex) - { - LCD_ErrLog ("BKP SRAM Number of errors = %d\n", errorindex); - } - else - { - LCD_UsrLog ("BKP SRAM write OK \n"); - } - - /* Enable the Backup SRAM low power Regulator to retain it's content in VBAT mode */ - PWR_BackupRegulatorCmd(ENABLE); - - /* Wait until the Backup SRAM low power Regulator is ready */ - while(PWR_GetFlagStatus(PWR_FLAG_BRR) == RESET) - { - } - -/* RTC Backup Data Registers **************************************************/ - /* Write to RTC Backup Data Registers */ - WriteToBackupReg(FIRST_DATA); -} - -/** - * @brief Reads digit entered by user, using menu navigation keys. - * @param None - * @retval Digit value - */ -uint8_t ReadDigit(uint16_t LineBegin, uint16_t ColBegin, uint8_t CountBegin, uint8_t ValueMax, uint8_t ValueMin) -{ - uint8_t tmpValue = 0; - Button_TypeDef keystate = (Button_TypeDef)10; - - /* Set the Back Color */ - LCD_SetBackColor(LCD_COLOR_RED); - - /* Set the Text Color */ - LCD_SetTextColor(LCD_COLOR_WHITE); - - /* Initialize tmpValue */ - tmpValue = CountBegin; - - /* Display */ - LCD_DisplayChar(LineBegin, ColBegin, (tmpValue + 0x30)); - - /* Endless loop */ - while(1) - { - /* Get the Joytick State */ - keystate = ReadKey(); - - /* If "BUTTON_TAMPER" push button is pressed */ - if(keystate == BUTTON_TAMPER) - { - /* Increase the value of the digit */ - if(tmpValue == ValueMax) - { - tmpValue = (ValueMin - 1); - } - /* Display new value */ - LCD_DisplayChar(LineBegin, ColBegin,((++tmpValue) + 0x30)); - } - /* If "BUTTON_WAKEUP" push button is pressed */ - if(keystate == BUTTON_WAKEUP) - { - /* Decrease the value of the digit */ - if(tmpValue == ValueMin) - { - tmpValue = (ValueMax + 1); - } - /* Display new value */ - LCD_DisplayChar(LineBegin, ColBegin,((--tmpValue) + 0x30)); - } - /* If "BUTTON_KEY" push button is pressed */ - if(keystate == BUTTON_KEY) - { - /* Set the Back Color */ - LCD_SetBackColor(LCD_COLOR_WHITE); - /* Set the Text Color */ - LCD_SetTextColor(LCD_COLOR_RED); - /* Display new value */ - LCD_DisplayChar(LineBegin, ColBegin, (tmpValue + 0x30)); - /* Return the digit value and exit */ - return tmpValue; - } - } -} - -/** - * @brief Returns the time entered by user, using menu navigation keys. - * @param None - * @retval Current time RTC counter value - */ -void Time_Regulate(void) -{ - uint8_t Tmp_HH = 0, Tmp_MM = 0, Tmp_SS = 0; - - LCD_DisplayStringLine(LCD_LINE_12, "Set time: hh:mm:ss"); - - /* Read time hours */ - Tmp_HH = ReadDigit(LCD_LINE_13, 244, (RTC_TimeStructure.RTC_Hours / 10), 0x2, 0x0); - - if(Tmp_HH == 2) - { - if((RTC_TimeStructure.RTC_Hours % 10) > 3) - { - RTC_TimeStructure.RTC_Hours = 0; - } - Tmp_HH = Tmp_HH * 10 + ReadDigit(LCD_LINE_13, 228, (RTC_TimeStructure.RTC_Hours % 10), 0x3, 0x0); - } - else - { - Tmp_HH = Tmp_HH * 10 + ReadDigit(LCD_LINE_13, 228, (RTC_TimeStructure.RTC_Hours % 10), 0x9, 0x0); - } - /* Read time minutes */ - Tmp_MM = ReadDigit(LCD_LINE_13, 196, (RTC_TimeStructure.RTC_Minutes / 10), 5, 0x0); - Tmp_MM = Tmp_MM * 10 + ReadDigit(LCD_LINE_13, 182, (RTC_TimeStructure.RTC_Minutes % 10), 0x9, 0x0); - - /* Read time seconds */ - Tmp_SS = ReadDigit(LCD_LINE_13, 150, (RTC_TimeStructure.RTC_Seconds / 10), 5, 0x0); - Tmp_SS = Tmp_SS * 10 + ReadDigit(LCD_LINE_13, 134, (RTC_TimeStructure.RTC_Seconds % 10), 0x9, 0x0); - - RTC_TimeStructure.RTC_Hours = Tmp_HH; - RTC_TimeStructure.RTC_Minutes = Tmp_MM; - RTC_TimeStructure.RTC_Seconds = Tmp_SS; - RTC_SetTime(RTC_Format_BIN, &RTC_TimeStructure); - - /* Set the Back Color */ - LCD_SetBackColor(LCD_COLOR_BLACK); - - /* Set the Text Color */ - LCD_SetTextColor(LCD_COLOR_WHITE); - - /* Clear Line12 */ - LCD_ClearLine(LCD_LINE_12); -} - -/** - * @brief Returns the time entered by user, using demo board keys. - * @param None - * @retval None - */ -void Time_Adjust(void) -{ - /* Display the current time */ - Time_Display(); - - /* Change the current time */ - Time_Regulate(); -} - -/** - * @brief Displays the current time. - * @param None - * @retval None - */ -void Time_Display(void) -{ - /* Clear Line13 */ - LCD_ClearLine(LCD_LINE_13); - - /* Display time separators ":" on Line4 */ - LCD_DisplayChar(LCD_LINE_13, 212, ':'); - LCD_DisplayChar(LCD_LINE_13, 166, ':'); - - /* Get the current Time */ - RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure); - - /* Display time hours */ - LCD_DisplayChar(LCD_LINE_13, 244,((RTC_TimeStructure.RTC_Hours / 10) + 0x30)); - LCD_DisplayChar(LCD_LINE_13, 228,((RTC_TimeStructure.RTC_Hours % 10) + 0x30)); - - /* Display time minutes */ - LCD_DisplayChar(LCD_LINE_13, 196,((RTC_TimeStructure.RTC_Minutes /10) + 0x30)); - LCD_DisplayChar(LCD_LINE_13, 182,((RTC_TimeStructure.RTC_Minutes % 10) + 0x30)); - - /* Display time seconds */ - LCD_DisplayChar(LCD_LINE_13, 150,((RTC_TimeStructure.RTC_Seconds / 10) + 0x30)); - LCD_DisplayChar(LCD_LINE_13, 134,((RTC_TimeStructure.RTC_Seconds % 10) + 0x30)); -} - -/** - * @brief Returns the time entered by user, using menu navigation keys. - * @param None - * @retval Current date value - */ -void Date_Regulate(void) -{ - uint8_t weekday = 0, date = 0, month = 0, year = 0; - - LCD_DisplayStringLine(LCD_LINE_15, "Set date: Weekday / Date / Month / Year"); - - /* Read Date Weekday */ - weekday = ReadDigit(LCD_LINE_16, 276, (RTC_DateStructure.RTC_WeekDay / 10), 0x7, 0x1); - - /* Read Date Day */ - date = ReadDigit(LCD_LINE_16, 244, (RTC_DateStructure.RTC_Date / 10), 3, 0x0); - - if(date == 3) - { - if((RTC_DateStructure.RTC_Date % 10) > 1) - { - RTC_DateStructure.RTC_Date = 0; - } - date = date * 10 + ReadDigit(LCD_LINE_16, 228, (RTC_DateStructure.RTC_Date % 10), 0x1, 0x0); - } - else - { - date = date * 10 + ReadDigit(LCD_LINE_16, 228, (RTC_DateStructure.RTC_Date % 10), 0x9, 0x0); - } - - /* Read Date Month */ - month = ReadDigit(LCD_LINE_16, 196, (RTC_DateStructure.RTC_Month / 10), 1, 0x0); - - if(month == 1) - { - if((RTC_DateStructure.RTC_Month % 10) > 2) - { - RTC_DateStructure.RTC_Month = 0; - } - month = month * 10 + ReadDigit(LCD_LINE_16, 182, (RTC_DateStructure.RTC_Month % 10), 0x2, 0x0); - } - else - { - month = month * 10 + ReadDigit(LCD_LINE_16, 182, (RTC_DateStructure.RTC_Month % 10), 0x9, 0x0); - } - - /* Read Date Year */ - LCD_DisplayChar(LCD_LINE_16, 150, '2'); - LCD_DisplayChar(LCD_LINE_16, 134, '0'); - year = ReadDigit(LCD_LINE_16, 118, (RTC_DateStructure.RTC_Year / 10), 0x9, 0x0); - year = year * 10 + ReadDigit(LCD_LINE_16, 102, (RTC_DateStructure.RTC_Year % 10), 0x9, 0x0); - - RTC_DateStructure.RTC_WeekDay = weekday; - RTC_DateStructure.RTC_Date = date; - RTC_DateStructure.RTC_Month = month; - RTC_DateStructure.RTC_Year = year; - RTC_SetDate(RTC_Format_BIN, &RTC_DateStructure); - - /* Set the Back Color */ - LCD_SetBackColor(LCD_COLOR_BLACK); - - /* Set the Text Color */ - LCD_SetTextColor(LCD_COLOR_WHITE); - - /* Clear Line15 */ - LCD_ClearLine(LCD_LINE_15); -} - -/** - * @brief Returns the date entered by user, using demoboard keys. - * @param None - * @retval None - */ -void Date_Adjust(void) -{ - /* Display the current Date */ - Date_Display(); - - /* Change the current Date */ - Date_Regulate(); -} - -/** - * @brief Displays the current date. - * @param None - * @retval None - */ -void Date_Display(void) -{ - /* Clear Line16 */ - LCD_ClearLine(LCD_LINE_16); - - /* Display time separators "/" on Line14 */ - LCD_DisplayChar(LCD_LINE_16, 260, '/'); - LCD_DisplayChar(LCD_LINE_16, 212, '/'); - LCD_DisplayChar(LCD_LINE_16, 166, '/'); - - /* Get the current Date */ - RTC_GetDate(RTC_Format_BIN, &RTC_DateStructure); - - /* Display Date WeekDay */ - LCD_DisplayChar(LCD_LINE_16, 276,((RTC_DateStructure.RTC_WeekDay) + 0x30)); - - /* Display Date Day */ - LCD_DisplayChar(LCD_LINE_16, 244,((RTC_DateStructure.RTC_Date /10) + 0x30)); - LCD_DisplayChar(LCD_LINE_16, 228,((RTC_DateStructure.RTC_Date % 10) + 0x30)); - - /* Display Date Month */ - LCD_DisplayChar(LCD_LINE_16, 196,((RTC_DateStructure.RTC_Month / 10) + 0x30)); - LCD_DisplayChar(LCD_LINE_16, 182,((RTC_DateStructure.RTC_Month % 10) + 0x30)); - - /* Display Date Year */ - LCD_DisplayChar(LCD_LINE_16, 150, '2'); - LCD_DisplayChar(LCD_LINE_16, 134, '0'); - LCD_DisplayChar(LCD_LINE_16, 118,((RTC_DateStructure.RTC_Year / 10) + 0x30)); - LCD_DisplayChar(LCD_LINE_16, 102,((RTC_DateStructure.RTC_Year % 10) + 0x30)); -} - -/** - * @brief Shows the current time and date on LCD. - * @param None - * @retval None - */ -void Calendar_Show(void) -{ - while(1) - { - /* If 1s has elapsed */ - if (TimeDisplay == 1) - { - /* Display current time */ - Time_Display(); - - /* Display current date */ - Date_Display(); - - TimeDisplay = 0; - } - } -} - -/** - * @brief Writes data to all Backup data registers. - * @param FirstBackupData: data to write to first backup data register. - * @retval None - */ -void WriteToBackupReg(uint16_t FirstBackupData) -{ - uint32_t index = 0; - - for (index = 0; index < RTC_BKP_DR_NUMBER; index++) - { - RTC_WriteBackupRegister(BKPDataReg[index], FirstBackupData + (index * 0x5A)); - } - -} - -/** - * @brief Checks if the Backup data registers values are correct or not. - * @param FirstBackupData: data to read from first backup data register - * @retval - 0: All Backup DRx registers data are correct - * - Value different from 0: Number of the first Backup register which - * value is not correct - */ -uint32_t CheckBackupReg(uint16_t FirstBackupData) -{ - uint32_t index = 0; - - for (index = 0; index < RTC_BKP_DR_NUMBER; index++) - { - if (RTC_ReadBackupRegister(BKPDataReg[index]) != (FirstBackupData + (index * 0x5A))) - { - return (index + 1); - } - } - - return 0; -} - -/** - * @brief Reads key from demoboard. - * @param None - * @retval Return KEY, TAMPER, WAKEUP. - */ -Button_TypeDef ReadKey(void) -{ - /* "BUTTON_TAMPER" key is pressed */ - if (!STM_EVAL_PBGetState(BUTTON_TAMPER)) - { - while (STM_EVAL_PBGetState(BUTTON_TAMPER) == Bit_RESET); - return BUTTON_TAMPER; - } - /* "BUTTON_KEY" key is pressed */ - if (!STM_EVAL_PBGetState(BUTTON_KEY)) - { - while (STM_EVAL_PBGetState(BUTTON_KEY) == Bit_RESET); - return BUTTON_KEY; - } - /* "BUTTON_WAKEUP" key is pressed */ - if (STM_EVAL_PBGetState(BUTTON_WAKEUP)) - { - while (STM_EVAL_PBGetState(BUTTON_WAKEUP) != Bit_RESET); - return BUTTON_WAKEUP; - } - /* No key is pressed */ - else - { - return (Button_TypeDef)10; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/main.h deleted file mode 100644 index 3c46ee6f3..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/main.h +++ /dev/null @@ -1,56 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/BKP_Domain/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "lcd_log.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void RTC_Config(void); -uint8_t ReadDigit(uint16_t LineBegin, uint16_t ColBegin, uint8_t CountBegin, uint8_t ValueMax, uint8_t ValueMin); -void Time_Regulate(void); -void Time_Adjust(void); -void Time_Display(void); -void Date_Regulate(void); -void Date_Adjust(void); -void Date_Display(void); -void Calendar_Show(void); -void WriteToBackupReg(uint16_t FirstBackupData); -uint32_t CheckBackupReg(uint16_t FirstBackupData); -Button_TypeDef ReadKey(void); - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/readme.txt deleted file mode 100644 index 64166c133..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/readme.txt +++ /dev/null @@ -1,142 +0,0 @@ -/** - @page BKP_Domain RTC Backup domain example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file RTC/BKP_Domain/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the RTC Backup domain example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example demonstrates and explains how to use the peripherals available on -Backup Domain. These peripherals are: the RCC BDCR register containing the LSE Osc -configuration and the RTC Clock enable/disable bits. It embeds also the RTC -peripheral with its associated Backup Data registers. And finally the Backup SRAM (4KB) -with its low power regulator allowing to preserve its contents when the -product is powered by VBAT pin. - -As an application example, it demonstrates how to setup the RTC hardware calendar, -RTC Backup Data registers read/write and BKPSRAM read/write operations. - -One from the following clock can be used as RTC clock source (uncomment the -corresponding define in main.c): - - LSE oscillator clock usually delivered by a 32.768 kHz quartz. - - LSI oscillator clock - -The Backup (BKP) domain, still powered by VBAT when VDD is switched off, so its -content is not lost if a battery is connected to the VBAT pin. -A key value is written in backup data register 0 to indicate if the Backup Domain -is already configured. - -The program behaves as follows: - -1. After startup the program checks the backup data register 0 value: - - BKP_DR0 value not correct: (RTC_BKP_DR0 value is not correct or has not yet - been programmed when the program is executed for the first time) the RTC is - configured and the user is asked to set the time and date (entered on - TFT-LCD) and the RTC Backup Data registers and BKPSRAM are written. - - - BKP_DR0 value correct: this means that the RTC is configured and the time - and date are displayed on LCD. The content of RTC Backup Data registers - and BKPSRAM is checked and the result is displayed on color LCD. - -2. When an External Reset occurs the BKP domain is not reset. - -3. When power on reset occurs: - - If a battery is connected to the VBAT pin: the BKP domain is not reset and - the RTC configuration is not lost. - - - If no battery is connected to the VBAT pin: the BKP domain is reset and the - RTC configuration is lost. - -4. When an RTC Wakeup event occurs the RTC Wakeup interrupt is generated and the - current Time/Date is refreshed on LCD. - -The example uses TFT-LCD and push-button to configure the RTC clock and display -the current calendar: - - - When the Backup domain is not yet configured: - - The RCC BDCR Register value is displayed on LCD before and after the Backup - domain configuration. - - All RTC Backup Data Registers are written and checked. - - All BKP SRAM content is written and checked. - - User asked for RTC Calendar Configuration using the Tamper/Wakeup/Key buttons: - - Use WAKEUP button to decrement the current value. - - Use TAMPER button to increment the current value. - - Use KEY button to validate the current value. - - Once configured, the RTC Calendar is displayed on the LCD each second using - the RTC Wakeup Interrupt. - - - When the Backup domain is already configured: - - No need to reconfigure the RTC Clock and Calendar. - - All RTC Backup Data Registers are checked. - - All BKP SRAM content is checked. If the Low power regulator is enabled, the - BKPSRAM content is not lost. - - The RTC Calendar is displayed on the LCD each second using - the RTC Wakeup Interrupt. - - -@par Directory contents - - - RTC/BKP_Domain/system_stm32f2xx.c STM32F2xx system clock configuration file - - RTC/BKP_Domain/stm32f2xx_conf.h Library Configuration file - - RTC/BKP_Domain/stm32f2xx_it.c Interrupt handlers - - RTC/BKP_Domain/stm32f2xx_it.h Header for stm32f2xx_it.c - - RTC/BKP_Domain/main.c Main program - - RTC/BKP_Domain/main.h Main header file - - RTC/BKP_Domain/lcd_log_conf.h lcd_log configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use the TAMPER push button connected to PC.13 pin (EXTI Line13). - - Use the KEY push button connected to PG.15 pin (EXTI Line15). - - Use the WAKEUP push button connected to PA.00 pin (EXTI Line0). - - All messages are displayed on the TFT-LCD. - - Make sure that jumper JP19 is in position 2-3 to connect the 3V battery to VBAT pin - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Add the file "lcd_log.c" (under Utilities\STM32_EVAL\Common) to the project source list - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/stm32f2xx_conf.h deleted file mode 100644 index f894acbaf..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/BKP_Domain/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/stm32f2xx_it.c deleted file mode 100644 index 3eb4954fe..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/stm32f2xx_it.c +++ /dev/null @@ -1,196 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/BKP_Domain/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup BKP_Domain - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern __IO uint32_t TimeDisplay; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles RTC Wakeup Timer Handler. - * @param None - * @retval None - */ -void RTC_WKUP_IRQHandler(void) -{ - if(RTC_GetITStatus(RTC_IT_WUT) != RESET) - { - TimeDisplay = 1; - RTC_ClearITPendingBit(RTC_IT_WUT); - EXTI_ClearITPendingBit(EXTI_Line22); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/stm32f2xx_it.h deleted file mode 100644 index 3f8ba56af..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/stm32f2xx_it.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/BKP_Domain/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void RTC_WKUP_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/BKP_Domain/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/main.c deleted file mode 100644 index 0b574363a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/main.c +++ /dev/null @@ -1,441 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/HW_Calendar/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "main.h" -#include - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup HW_Calendar - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Uncomment the corresponding line to select the RTC Clock source */ -#define RTC_CLOCK_SOURCE_LSE /* LSE used as RTC source clock */ -/* #define RTC_CLOCK_SOURCE_LSI */ /* LSI used as RTC source clock. The RTC Clock - may varies due to LSI frequency dispersion. */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -USART_InitTypeDef USART_InitStructure; -RTC_TimeTypeDef RTC_TimeStructure; -RTC_InitTypeDef RTC_InitStructure; -RTC_AlarmTypeDef RTC_AlarmStructure; - -__IO uint32_t AsynchPrediv = 0, SynchPrediv = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - NVIC_InitTypeDef NVIC_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); - - /* Output a message on Hyperterminal using printf function */ - printf("\n\r *********************** RTC Hardware Calendar Example ***********************\n\r"); - - if (RTC_ReadBackupRegister(RTC_BKP_DR0) != 0x32F2) - { - /* RTC configuration */ - RTC_Config(); - - /* Configure the RTC data register and RTC prescaler */ - RTC_InitStructure.RTC_AsynchPrediv = AsynchPrediv; - RTC_InitStructure.RTC_SynchPrediv = SynchPrediv; - RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; - - /* Check on RTC init */ - if (RTC_Init(&RTC_InitStructure) == ERROR) - { - printf("\n\r /!\\***** RTC Prescaler Config failed ********/!\\ \n\r"); - } - - /* Configure the time register */ - RTC_TimeRegulate(); - } - else - { - /* Check if the Power On Reset flag is set */ - if (RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET) - { - printf("\r\n Power On Reset occurred....\n\r"); - } - /* Check if the Pin Reset flag is set */ - else if (RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET) - { - printf("\r\n External Reset occurred....\n\r"); - } - - printf("\n\r No need to configure RTC....\n\r"); - - /* Enable the PWR clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); - - /* Clear the RTC Alarm Flag */ - RTC_ClearFlag(RTC_FLAG_ALRAF); - - /* Clear the EXTI Line 17 Pending bit (Connected internally to RTC Alarm) */ - EXTI_ClearITPendingBit(EXTI_Line17); - - /* Display the RTC Time and Alarm */ - RTC_TimeShow(); - RTC_AlarmShow(); - } - - /* Configure the external interrupt "WAKEUP", "KEY" and "TAMPER" buttons */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI); - STM_EVAL_PBInit(BUTTON_TAMPER , BUTTON_MODE_EXTI); - STM_EVAL_PBInit(BUTTON_WAKEUP , BUTTON_MODE_EXTI); - - /* Configure LEDx */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - - /* Turn LED1 ON */ - STM_EVAL_LEDOn(LED2); - - /* RTC Alarm A Interrupt Configuration */ - /* EXTI configuration *********************************************************/ - EXTI_ClearITPendingBit(EXTI_Line17); - EXTI_InitStructure.EXTI_Line = EXTI_Line17; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable the RTC Alarm Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = RTC_Alarm_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - while (1) - { - } -} - -/** - * @brief Configure the RTC peripheral by selecting the clock source. - * @param None - * @retval None - */ -void RTC_Config(void) -{ - /* Enable the PWR clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - -#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/ -/* The RTC Clock may varies due to LSI frequency dispersion. */ - /* Enable the LSI OSC */ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); - - SynchPrediv = 0xFF; - AsynchPrediv = 0x7F; - -#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */ - /* Enable the LSE OSC */ - RCC_LSEConfig(RCC_LSE_ON); - - /* Wait till LSE is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); - - SynchPrediv = 0xFF; - AsynchPrediv = 0x7F; - -#else - #error Please select the RTC Clock source inside the main.c file -#endif /* RTC_CLOCK_SOURCE_LSI */ - - /* Enable the RTC Clock */ - RCC_RTCCLKCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); -} - -/** - * @brief Returns the time entered by user, using Hyperterminal. - * @param None - * @retval None - */ -void RTC_TimeRegulate(void) -{ - uint32_t tmp_hh = 0xFF, tmp_mm = 0xFF, tmp_ss = 0xFF; - - printf("\n\r==============Time Settings=====================================\n\r"); - RTC_TimeStructure.RTC_H12 = RTC_H12_AM; - printf(" Please Set Hours:\n\r"); - while (tmp_hh == 0xFF) - { - tmp_hh = USART_Scanf(23); - RTC_TimeStructure.RTC_Hours = tmp_hh; - } - printf(" %0.2d\n\r", tmp_hh); - - printf(" Please Set Minutes:\n\r"); - while (tmp_mm == 0xFF) - { - tmp_mm = USART_Scanf(59); - RTC_TimeStructure.RTC_Minutes = tmp_mm; - } - printf(" %0.2d\n\r", tmp_mm); - - printf(" Please Set Seconds:\n\r"); - while (tmp_ss == 0xFF) - { - tmp_ss = USART_Scanf(59); - RTC_TimeStructure.RTC_Seconds = tmp_ss; - } - printf(" %0.2d\n\r", tmp_ss); - - /* Configure the RTC time register */ - if(RTC_SetTime(RTC_Format_BIN, &RTC_TimeStructure) == ERROR) - { - printf("\n\r>> !! RTC Set Time failed. !! <<\n\r"); - } - else - { - printf("\n\r>> !! RTC Set Time success. !! <<\n\r"); - RTC_TimeShow(); - /* Indicator for the RTC configuration */ - RTC_WriteBackupRegister(RTC_BKP_DR0, 0x32F2); - } - - tmp_hh = 0xFF; - tmp_mm = 0xFF; - tmp_ss = 0xFF; - - /* Disable the Alarm A */ - RTC_AlarmCmd(RTC_Alarm_A, DISABLE); - - printf("\n\r==============Alarm A Settings=====================================\n\r"); - RTC_AlarmStructure.RTC_AlarmTime.RTC_H12 = RTC_H12_AM; - printf(" Please Set Alarm Hours:\n\r"); - while (tmp_hh == 0xFF) - { - tmp_hh = USART_Scanf(23); - RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours = tmp_hh; - } - printf(" %0.2d\n\r", tmp_hh); - - printf(" Please Set Alarm Minutes:\n\r"); - while (tmp_mm == 0xFF) - { - tmp_mm = USART_Scanf(59); - RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = tmp_mm; - } - printf(" %0.2d\n\r", tmp_mm); - - printf(" Please Set Alarm Seconds:\n\r"); - while (tmp_ss == 0xFF) - { - tmp_ss = USART_Scanf(59); - RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = tmp_ss; - } - printf(" %0.2d", tmp_ss); - - /* Set the Alarm A */ - RTC_AlarmStructure.RTC_AlarmDateWeekDay = 0x31; - RTC_AlarmStructure.RTC_AlarmDateWeekDaySel = RTC_AlarmDateWeekDaySel_Date; - RTC_AlarmStructure.RTC_AlarmMask = RTC_AlarmMask_DateWeekDay; - - /* Configure the RTC Alarm A register */ - RTC_SetAlarm(RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure); - printf("\n\r>> !! RTC Set Alarm success. !! <<\n\r"); - RTC_AlarmShow(); - - /* Enable the RTC Alarm A Interrupt */ - RTC_ITConfig(RTC_IT_ALRA, ENABLE); - - /* Enable the alarm A */ - RTC_AlarmCmd(RTC_Alarm_A, ENABLE); -} - -/** - * @brief Display the current time on the Hyperterminal. - * @param None - * @retval None - */ -void RTC_TimeShow(void) -{ - /* Get the current Time */ - RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure); - printf("\n\r The current time is : %0.2d:%0.2d:%0.2d \n\r", RTC_TimeStructure.RTC_Hours, RTC_TimeStructure.RTC_Minutes, RTC_TimeStructure.RTC_Seconds); -} - -/** - * @brief Display the current time on the Hyperterminal. - * @param None - * @retval None - */ -void RTC_AlarmShow(void) -{ - /* Get the current Alarm */ - RTC_GetAlarm(RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure); - printf("\n\r The current alarm is : %0.2d:%0.2d:%0.2d \n\r", RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours, RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes, RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds); -} - - -/** - * @brief Gets numeric values from the hyperterminal. - * @param None - * @retval None - */ -uint8_t USART_Scanf(uint32_t value) -{ - uint32_t index = 0; - uint32_t tmp[2] = {0, 0}; - - while (index < 2) - { - /* Loop until RXNE = 1 */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_RXNE) == RESET) - {} - tmp[index++] = (USART_ReceiveData(EVAL_COM1)); - if ((tmp[index - 1] < 0x30) || (tmp[index - 1] > 0x39)) - { - printf("\n\r Please enter valid number between 0 and 9 \n\r"); - index--; - } - } - /* Calculate the Corresponding value */ - index = (tmp[1] - 0x30) + ((tmp[0] - 0x30) * 10); - /* Checks */ - if (index > value) - { - printf("\n\r Please enter valid number between 0 and %d \n\r", value); - return 0xFF; - } - return index; -} - -/** - * @brief Retargets the C library printf function to the USART. - * @param None - * @retval None - */ -PUTCHAR_PROTOTYPE -{ - /* Place your implementation of fputc here */ - /* e.g. write a character to the USART */ - USART_SendData(EVAL_COM1, (uint8_t) ch); - - /* Loop until the end of transmission */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - {} - - return ch; -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/main.h deleted file mode 100644 index a6a40949b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/main.h +++ /dev/null @@ -1,56 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/HW_Calendar/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void RTC_Config(void); -void RTC_TimeRegulate(void); -void RTC_TimeShow(void); -void RTC_AlarmShow(void); -uint8_t USART_Scanf(uint32_t value); - -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/readme.txt deleted file mode 100644 index 38f1bdf3f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/readme.txt +++ /dev/null @@ -1,130 +0,0 @@ -/** - @page HW_Calendar RTC Hardware Calendar example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file RTC/HW_Calendar/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the RTC Hardware Calendar example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example demonstrates and explains how to use the RTC peripheral. -As an application example, it demonstrates how to setup the RTC peripheral, in -terms of prescaler and interrupts, to be used to keep time and to generate -alarm interrupt. - -One from the following clock can be used as RTC clock source (uncomment the -corresponding define in main.c): - - LSE oscillator clock usually delivered by a 32.768 kHz quartz. - - LSI oscillator clock - -The RTC is in the backup (BKP) domain, still powered by VBAT when VDD is switched off, -so the RTC configuration is not lost if a battery is connected to the VBAT pin. -A key value is written in backup data register 0 to indicate if the RTC is already -configured. - -The program behaves as follows: - -1. After startup the program checks the backup data register 0 value: - - BKP_DR0 value not correct: (RTC_BKP_DR0 value is not correct or has not yet - been programmed when the program is executed for the first time) the RTC is - configured and the user is asked to set the time and alarm (entered on - HyperTerminal). - - - BKP_DR0 value correct: this means that the RTC is configured and the time - and Alarm A are displayed on HyperTerminal. - -2. When an External Reset occurs the BKP domain is not reset and the RTC configuration - is not lost. - -3. When power on reset occurs: - - If a battery is connected to the VBAT pin: the BKP domain is not reset and - the RTC configuration is not lost. - - - If no battery is connected to the VBAT pin: the BKP domain is reset and the - RTC configuration is lost. - -4. When an RTC Alarm A event occurs the RTC Alarm interrupt is generated and the - LED1 is toggled. - -The example uses HyperTerminal to configure the RTC clock and display the current time: - - When Tamper button is pressed, a menu is displayed to configure the RTC Time - and Alarm A registers. - - When Key button is pressed, the current time is displayed. - - When WakeUp button is pressed, the current alarm A is displayed. - -LED2 is truned ON when the RTC configuration is done correctly. - - -@par Directory contents - - - RTC/HW_Calendar/system_stm32f2xx.c STM32F2xx system clock configuration file - - RTC/HW_Calendar/stm32f2xx_conf.h Library Configuration file - - RTC/HW_Calendar/stm32f2xx_it.c Interrupt handlers - - RTC/HW_Calendar/stm32f2xx_it.h Header for stm32f2xx_it.c - - RTC/HW_Calendar/main.c Main program - - RTC/HW_Calendar/main.h Main header file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1 led connected respectively to PG.06 pins. - - Use the TAMPER push button connected to PC.13 pin (EXTI Line13). - - Use the KEY push button connected to PG.15 pin (EXTI Line15). - - Use the WAKEUP push button connected to PA.00 pin (EXTI Line0). - - Make sure that jumper JP19 is in position 1-2 to connect the 3V battery to VBAT pin - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port if you want to display data on the HyperTerminal. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/stm32f2xx_conf.h deleted file mode 100644 index 3f3f197ea..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/HW_Calendar/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/stm32f2xx_it.c deleted file mode 100644 index 41fc14f15..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/stm32f2xx_it.c +++ /dev/null @@ -1,237 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/HW_Calendar/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup HW_Calendar - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles External line 0 interrupt request. - * @param None - * @retval None - */ -void EXTI0_IRQHandler(void) -{ - if(EXTI_GetITStatus(WAKEUP_BUTTON_EXTI_LINE) != RESET) - { - /* Display the current alarm on the Hyperterminal */ - RTC_AlarmShow(); - - /* Clear the Wakeup Button EXTI line pending bit */ - EXTI_ClearITPendingBit(WAKEUP_BUTTON_EXTI_LINE); - } -} - -/** - * @brief This function handles External lines 15 to 10 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - /* Display the current time on the Hyperterminal */ - RTC_TimeShow(); - - /* Clear the Key Button EXTI line pending bit */ - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - } - - if(EXTI_GetITStatus(TAMPER_BUTTON_EXTI_LINE) != RESET) - { - /* Set the new RTC configuration */ - RTC_TimeRegulate(); - - /* Clear the Tamper Button EXTI line pending bit */ - EXTI_ClearITPendingBit(TAMPER_BUTTON_EXTI_LINE); - } -} - -/** - * @brief This function handles RTC Alarms interrupt request. - * @param None - * @retval None - */ -void RTC_Alarm_IRQHandler(void) -{ - if(RTC_GetITStatus(RTC_IT_ALRA) != RESET) - { - STM_EVAL_LEDToggle(LED1); - RTC_ClearITPendingBit(RTC_IT_ALRA); - EXTI_ClearITPendingBit(EXTI_Line17); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/stm32f2xx_it.h deleted file mode 100644 index c96c388f5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/stm32f2xx_it.h +++ /dev/null @@ -1,63 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/HW_Calendar/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void EXTI0_IRQHandler(void); -void EXTI15_10_IRQHandler(void); -void RTC_Alarm_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/HW_Calendar/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/main.c deleted file mode 100644 index d1ca8bc0c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/main.c +++ /dev/null @@ -1,276 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/RTC_LSI/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup RTC_LSI - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -RTC_InitTypeDef RTC_InitStructure; -__IO uint32_t LsiFreq = 0; -__IO uint32_t CaptureNumber = 0, PeriodValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void RTC_Config(void); -uint32_t GetLSIFrequency(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs mounted on STM322xG-EVAL board --------------------------*/ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_GPIO); - - /* RTC Configuration -------------------------------------------------------*/ - RTC_Config(); - - /* Wait Until KEY BUTTON is pressed */ - while(STM_EVAL_PBGetState(BUTTON_KEY) != RESET) - { - } - - /* Get the LSI frequency: TIM5 is used to measure the LSI frequency */ - LsiFreq = GetLSIFrequency(); - - /* Turn on LED2 */ - STM_EVAL_LEDOn(LED2); - - /* Calendar Configuration */ - RTC_InitStructure.RTC_AsynchPrediv = 0x7F; - RTC_InitStructure.RTC_SynchPrediv = (LsiFreq/128) - 1; - RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; - RTC_Init(&RTC_InitStructure); - - while (1) - { - } -} - -/** - * @brief Configure the RTC peripheral by selecting the clock source. - * @param None - * @retval None - */ -void RTC_Config(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - - /* Enable the PWR clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - -/* LSI used as RTC source clock */ -/* The RTC Clock may varies due to LSI frequency dispersion. */ - /* Enable the LSI OSC */ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); - - /* Enable the RTC Clock */ - RCC_RTCCLKCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); - - /* Calendar Configuration with LSI supposed at 32KHz */ - RTC_InitStructure.RTC_AsynchPrediv = 0x7F; - RTC_InitStructure.RTC_SynchPrediv = 0xFF; /* (32KHz / 128) - 1 = 0xFF*/ - RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; - RTC_Init(&RTC_InitStructure); - - /* EXTI configuration *******************************************************/ - EXTI_ClearITPendingBit(EXTI_Line22); - EXTI_InitStructure.EXTI_Line = EXTI_Line22; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable the RTC Wakeup Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = RTC_WKUP_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Configure the RTC WakeUp Clock source: CK_SPRE (1Hz) */ - RTC_WakeUpClockConfig(RTC_WakeUpClock_CK_SPRE_16bits); - RTC_SetWakeUpCounter(0x0); - - /* Enable the RTC Wakeup Interrupt */ - RTC_ITConfig(RTC_IT_WUT, ENABLE); - - /* Enable Wakeup Counter */ - RTC_WakeUpCmd(ENABLE); -} - -/** - * @brief Configures TIM5 to measure the LSI oscillator frequency. - * @param None - * @retval LSI Frequency - */ -uint32_t GetLSIFrequency(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - TIM_ICInitTypeDef TIM_ICInitStructure; - RCC_ClocksTypeDef RCC_ClockFreq; - - /* Enable the LSI oscillator ************************************************/ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while (RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - {} - - /* TIM5 configuration *******************************************************/ - /* Enable TIM5 clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE); - - /* Connect internally the TIM5_CH4 Input Capture to the LSI clock output */ - TIM_RemapConfig(TIM5, TIM5_LSI); - - /* Configure TIM5 presclaer */ - TIM_PrescalerConfig(TIM5, 0, TIM_PSCReloadMode_Immediate); - - /* TIM5 configuration: Input Capture mode --------------------- - The LSI oscillator is connected to TIM5 CH4 - The Rising edge is used as active edge, - The TIM5 CCR4 is used to compute the frequency value - ------------------------------------------------------------ */ - TIM_ICInitStructure.TIM_Channel = TIM_Channel_4; - TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; - TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; - TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV8; - TIM_ICInitStructure.TIM_ICFilter = 0; - TIM_ICInit(TIM5, &TIM_ICInitStructure); - - /* Enable TIM5 Interrupt channel */ - NVIC_InitStructure.NVIC_IRQChannel = TIM5_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Enable TIM5 counter */ - TIM_Cmd(TIM5, ENABLE); - - /* Reset the flags */ - TIM5->SR = 0; - - /* Enable the CC4 Interrupt Request */ - TIM_ITConfig(TIM5, TIM_IT_CC4, ENABLE); - - - /* Wait until the TIM5 get 2 LSI edges (refer to TIM5_IRQHandler() in - stm32f2xx_it.c file) ******************************************************/ - while(CaptureNumber != 2) - { - } - /* Deinitialize the TIM5 peripheral registers to their default reset values */ - TIM_DeInit(TIM5); - - - /* Compute the LSI frequency, depending on TIM5 input clock frequency (PCLK1)*/ - /* Get SYSCLK, HCLK and PCLKx frequency */ - RCC_GetClocksFreq(&RCC_ClockFreq); - - /* Get PCLK1 prescaler */ - if ((RCC->CFGR & RCC_CFGR_PPRE1) == 0) - { - /* PCLK1 prescaler equal to 1 => TIMCLK = PCLK1 */ - return ((RCC_ClockFreq.PCLK1_Frequency / PeriodValue) * 8); - } - else - { /* PCLK1 prescaler different from 1 => TIMCLK = 2 * PCLK1 */ - return (((2 * RCC_ClockFreq.PCLK1_Frequency) / PeriodValue) * 8) ; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/readme.txt deleted file mode 100644 index 1974403cb..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/readme.txt +++ /dev/null @@ -1,97 +0,0 @@ -/** - @page RTC_LSI RTC Hardware Calendar example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file RTC/RTC_LSI/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the RTC Hardware Calendar example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example demonstrates and explains how to use the LSI clock source auto -calibration to get a precise RTC clock. -As an application example, it demonstrates how to configure the TIM5 timer -internally connected to LSI clock output, in order to adjust the RTC prescaler. - -The Low Speed Internal (LSI) clock is used as RTC clock source. -After reset, the RTC prescaler (asynchronous and synchronous) is set with the -default LSI frequency (32KHz). -The RTC WakeUp is configured to generate an interrupt each 1s. The WakeUp counter -is clocked by the RTC CK_SPRE signal (1Hz) and its counter is set to 0x0. -LED1 connected to PG.06 is toggled inside the RTC WakeUp interrupt each 1s. - -The inaccuracy of the LSI clock causes the RTC WakeUp Interrupt to be inaccurate. -The RTC CK_SPRE signal can be monitored by LED1 which is toggled into the RTC -Wakeup interrupt service routine. - -The program waits until Key Push button is pressed to begin the auto calibration -procedure: - - Configure the TIM5 to remap internally the TIM5 Channel 4 Input Capture to - the LSI clock output. - - Enable the TIM5 Input Capture interrupt: after one cycle of LSI clock, the - period value is stored in a variable and compared to the HCLK clock to get - its real value. - - The RTC prescaler is adjusted with this LSI frequency value so that the RTC - CK_SPRE value become more accurate. - - When calibration is done a led connected to PG.08 is turned ON to indicate the - end of this operation. - - -@par Directory contents - - - RTC/RTC_LSI/system_stm32f2xx.c STM32F2xx system clock configuration file - - RTC/RTC_LSI/stm32f2xx_conf.h Library Configuration file - - RTC/RTC_LSI/stm32f2xx_it.c Interrupt handlers - - RTC/RTC_LSI/stm32f2xx_it.h Header for stm32f2xx_it.c - - RTC/RTC_LSI/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LD1 and LD2 leds connected respectively to PG.06 and PG.08 pins. - - Use the KEY push button connected to PG.15 pin (EXTI Line15). - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/stm32f2xx_conf.h deleted file mode 100644 index 82c43e793..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/RTC_LSI/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/stm32f2xx_it.c deleted file mode 100644 index abcd7f735..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/stm32f2xx_it.c +++ /dev/null @@ -1,222 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/RTC_LSI/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup RTC_LSI - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern __IO uint32_t PeriodValue; -extern __IO uint32_t CaptureNumber; -uint16_t tmpCC4[2] = {0, 0}; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles RTC Wakeup global interrupt request. - * @param None - * @retval None - */ -void RTC_WKUP_IRQHandler(void) -{ - if(RTC_GetITStatus(RTC_IT_WUT) != RESET) - { - /* Toggle on LED1 */ - STM_EVAL_LEDToggle(LED1); - RTC_ClearITPendingBit(RTC_IT_WUT); - EXTI_ClearITPendingBit(EXTI_Line22); - } -} - -/** - * @brief This function handles TIM5 global interrupt request. - * @param None - * @retval None - */ -void TIM5_IRQHandler(void) -{ - if (TIM_GetITStatus(TIM5, TIM_IT_CC4) != RESET) - { - /* Get the Input Capture value */ - tmpCC4[CaptureNumber++] = TIM_GetCapture4(TIM5); - - /* Clear CC4 Interrupt pending bit */ - TIM_ClearITPendingBit(TIM5, TIM_IT_CC4); - - if (CaptureNumber >= 2) - { - /* Compute the period length */ - PeriodValue = (uint16_t)(0xFFFF - tmpCC4[0] + tmpCC4[1] + 1); - } - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/stm32f2xx_it.h deleted file mode 100644 index 4e6b13e34..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/stm32f2xx_it.h +++ /dev/null @@ -1,62 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/RTC_LSI/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void RTC_WKUP_IRQHandler(void); -void TIM5_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/RTC_LSI/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/main.c deleted file mode 100644 index b5d0a352f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/main.c +++ /dev/null @@ -1,281 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/Tamper/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup RTC_Tamper - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define RTC_BKP_DR_NUMBER 20 /* RTC Backup Data Register Number */ - -/* Uncomment the corresponding line to select the RTC Clock source */ -#define RTC_CLOCK_SOURCE_LSE /* LSE used as RTC source clock */ -/* #define RTC_CLOCK_SOURCE_LSI */ /* LSI used as RTC source clock. The RTC Clock - may varies due to LSI frequency dispersion. */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint32_t RTC_BKP_DR[RTC_BKP_DR_NUMBER] = - { - RTC_BKP_DR0, RTC_BKP_DR1, RTC_BKP_DR2, RTC_BKP_DR3, - RTC_BKP_DR4, RTC_BKP_DR5, RTC_BKP_DR6, RTC_BKP_DR7, - RTC_BKP_DR8, RTC_BKP_DR9, RTC_BKP_DR10, RTC_BKP_DR11, - RTC_BKP_DR12, RTC_BKP_DR13, RTC_BKP_DR14, RTC_BKP_DR15, - RTC_BKP_DR16, RTC_BKP_DR17, RTC_BKP_DR18, RTC_BKP_DR19 - }; - -/* Private function prototypes -----------------------------------------------*/ -void RTC_Config(void); -void WriteToRTC_BKP_DR(uint32_t FirstRTCBackupData); -uint32_t CheckRTC_BKP_DR(uint32_t FirstRTCBackupData); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize Leds mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* RTC configuration */ - RTC_Config(); - - /* Write To RTC Backup Data registers */ - WriteToRTC_BKP_DR(0xA53C); - - /* Check if the written data are correct */ - if(CheckRTC_BKP_DR(0xA53C) == 0x00) - { - /* Turn on LED1 */ - STM_EVAL_LEDOn(LED1); - } - else - { - /* Turn on LED3 */ - STM_EVAL_LEDOn(LED3); - } - - while (1) - { - } -} - -/** - * @brief Configure the RTC peripheral by selecting the clock source. - * @param None - * @retval None - */ -void RTC_Config(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - EXTI_InitTypeDef EXTI_InitStructure; - - /* Enable the PWR clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - - /* Reset BKP Domain */ - RCC_BackupResetCmd(ENABLE); - RCC_BackupResetCmd(DISABLE); - -#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/ -/* The RTC Clock may varies due to LSI frequency dispersion. */ - /* Enable the LSI OSC */ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); - -#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */ - /* Enable the LSE OSC */ - RCC_LSEConfig(RCC_LSE_ON); - - /* Wait till LSE is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); - -#else - #error Please select the RTC Clock source inside the main.c file -#endif /* RTC_CLOCK_SOURCE_LSI */ - - /* Enable The external line21 interrupt */ - EXTI_ClearITPendingBit(EXTI_Line21); - EXTI_InitStructure.EXTI_Line = EXTI_Line21; - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Enable TAMPER IRQChannel */ - NVIC_InitStructure.NVIC_IRQChannel = TAMP_STAMP_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Disable the Tamper 1 detection */ - RTC_TamperCmd(RTC_Tamper_1, DISABLE); - - /* Clear Tamper 1 pin Event(TAMP1F) pending flag */ - RTC_ClearFlag(RTC_FLAG_TAMP1F); - - /* Configure the Tamper 1 Trigger */ - RTC_TamperTriggerConfig(RTC_Tamper_1, RTC_TamperTrigger_FallingEdge); - - /* Enable the Tamper interrupt */ - RTC_ITConfig(RTC_IT_TAMP, ENABLE); - - /* Clear Tamper 1 pin interrupt pending bit */ - RTC_ClearITPendingBit(RTC_IT_TAMP1); - - /* Enable the Tamper 1 detection */ - RTC_TamperCmd(RTC_Tamper_1, ENABLE); -} - -/** - * @brief Writes data RTC Backup DRx registers. - * @param FirstRTCBackupData: data to be written to RTC Backup data registers. - * @retval None - */ -void WriteToRTC_BKP_DR(uint32_t FirstRTCBackupData) -{ - uint32_t index = 0; - - for (index = 0; index < RTC_BKP_DR_NUMBER; index++) - { - /* write To bkp data register */ - RTC_WriteBackupRegister(RTC_BKP_DR[index], FirstRTCBackupData + (index * 0x5A)); - } -} - -/** - * @brief Checks if the RTC Backup DRx registers values are correct or not. - * @param FirstRTCBackupData: data to be compared with RTC Backup data registers. - * @retval - 0: All RTC Backup DRx registers values are correct - * - Value different from 0: Number of the first Backup register - * which value is not correct - */ -uint32_t CheckRTC_BKP_DR(uint32_t FirstRTCBackupData) -{ - uint32_t index = 0; - - for (index = 0; index < RTC_BKP_DR_NUMBER; index++) - { - /* Read from data register */ - if (RTC_ReadBackupRegister(RTC_BKP_DR[index]) != (FirstRTCBackupData + (index * 0x5A))) - { - return (index + 1); - } - } - return 0; -} - -/** - * @brief Checks if the RTC Backup DRx registers are reset or not. - * @param None - * @retval - 0: All RTC Backup DRx registers are reset - * - Value different from 0: Number of the first Backup register - * not reset - */ -uint32_t IsBackupRegReset(void) -{ - uint32_t index = 0; - - for (index = 0; index < RTC_BKP_DR_NUMBER; index++) - { - /* Read from bkp Data Register */ - if (RTC_ReadBackupRegister(RTC_BKP_DR[index]) != 0x0) - { - return (index + 1); - } - } - return 0; -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/main.h deleted file mode 100644 index 4d8acc0da..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/main.h +++ /dev/null @@ -1,44 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/Tamper/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -uint32_t IsBackupRegReset(void); - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/readme.txt deleted file mode 100644 index 32ffaa85d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/readme.txt +++ /dev/null @@ -1,89 +0,0 @@ -/** - @page RTC_Tamper RTC Tamper example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file RTC/Tamper/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the RTC Tamper example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to write/read data to/from RTC Backup data registers and -demonstrates the Tamper detection feature. - -One from the following clock can be used as RTC clock source (uncomment the -corresponding define in main.c): - - LSE oscillator clock usually delivered by a 32.768 kHz quartz. - - LSI oscillator clock - -The associated firmware performs the following: -1. It configures the RTC_AF1 pin Tamper to be falling edge, and enables the Tamper - interrupt. -2. It writes the data to all RTC Backup data registers, then check whether the - data were correctly written. If yes, LED1 turns on, otherwise LED3 turns on. -3. On applying a low level on the RTC_AF1 pin (PC.13), the RTC backup data registers - are reset and the Tamper interrupt is generated. The corresponding ISR then checks - whether the RTC Backup data registers are cleared. If yes LED2 turns ON, - otherwise LED4 turns ON. - - -@par Directory contents - - - RTC/Tamper/system_stm32f2xx.c STM32F2xx system clock configuration file - - RTC/Tamper/stm32f2xx_conf.h Library Configuration file - - RTC/Tamper/stm32f2xx_it.c Interrupt handlers - - RTC/Tamper/stm32f2xx_it.h Header for stm32f2xx_it.c - - RTC/Tamper/main.c Main program - - RTC/Tamper/main.h Main header file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LD1, LD2, LD3 and LD4 leds connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins. - - Use the TAMPER push button connected to PC.13 pin (EXTI Line13). - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/stm32f2xx_conf.h deleted file mode 100644 index 58326527d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/Tamper/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/stm32f2xx_it.c deleted file mode 100644 index 159dacd4b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/stm32f2xx_it.c +++ /dev/null @@ -1,214 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/Tamper/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup RTC_Tamper - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles RTC Tamper and Time Stamp interrupts requests. - * @param None - * @retval None - */ -void TAMP_STAMP_IRQHandler(void) -{ - if(RTC_GetFlagStatus(RTC_FLAG_TAMP1F) != RESET) - { - /* Tamper 1 detection event occurred */ - /* Check if RTC Backup Data registers are cleared */ - if(IsBackupRegReset() == 0) - { - /* OK, RTC Backup Data registers are reset as expected */ - /* Toggle LED2 */ - STM_EVAL_LEDToggle(LED2); - } - else - { - /* RTC Backup Data registers are not reset */ - /* Toggle LED4 */ - STM_EVAL_LEDToggle(LED4); - } - - /* Clear Tamper 1 pin Event(TAMP1F) pending flag */ - RTC_ClearFlag(RTC_FLAG_TAMP1F); - - /* Disable Tamper pin 1 */ - RTC_TamperCmd(RTC_Tamper_1, DISABLE); - - /* Enable Tamper pin */ - RTC_TamperCmd(RTC_Tamper_1, ENABLE); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/stm32f2xx_it.h deleted file mode 100644 index 763f58e3c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/stm32f2xx_it.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/Tamper/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void TAMP_STAMP_IRQHandler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/Tamper/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/main.c deleted file mode 100644 index 34b9e4b42..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/main.c +++ /dev/null @@ -1,445 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/TimeStamp/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup RTC_TimeStamp - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Uncomment the corresponding line to select the RTC Clock source */ -#define RTC_CLOCK_SOURCE_LSE /* LSE used as RTC source clock */ -/* #define RTC_CLOCK_SOURCE_LSI */ /* LSI used as RTC source clock. The RTC Clock - may varies due to LSI frequency dispersion. */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -USART_InitTypeDef USART_InitStructure; -RTC_InitTypeDef RTC_InitStructure; -RTC_TimeTypeDef RTC_TimeStructure; -RTC_DateTypeDef RTC_DateStructure; -RTC_TimeTypeDef RTC_TimeStampStructure; -RTC_DateTypeDef RTC_TimeStampDateStructure; -__IO uint32_t AsynchPrediv = 0, SynchPrediv = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); - - /* Output a message on Hyperterminal using printf function */ - printf("\n\r *********************** RTC Time Stamp Example ***********************\n\r"); - - if (RTC_ReadBackupRegister(RTC_BKP_DR0) != 0x32F2) - { - /* RTC configuration */ - RTC_Config(); - - /* Configure the RTC data register and RTC prescaler */ - RTC_InitStructure.RTC_AsynchPrediv = AsynchPrediv; - RTC_InitStructure.RTC_SynchPrediv = SynchPrediv; - RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; - - /* Check on RTC init */ - if (RTC_Init(&RTC_InitStructure) == ERROR) - { - printf("\n\r /!\\***** RTC Prescaler Config failed ********/!\\ \n\r"); - } - - /* Configure the time register */ - RTC_TimeRegulate(); - } - else - { - /* Check if the Power On Reset flag is set */ - if (RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET) - { - printf("\r\n Power On Reset occurred....\n\r"); - } - /* Check if the Pin Reset flag is set */ - else if (RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET) - { - printf("\r\n External Reset occurred....\n\r"); - } - - printf("\r\n No need to configure RTC....\n\r"); - - /* Enable the PWR clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); - - /* Clear the RTC Alarm Flag */ - RTC_ClearFlag(RTC_FLAG_ALRAF); - - /* Clear the EXTI Line 17 Pending bit (Connected internally to RTC Alarm) */ - EXTI_ClearITPendingBit(EXTI_Line17); - - /* Display the RTC Time/Date and TimeStamp Time/Date */ - RTC_TimeShow(); - RTC_DateShow(); - RTC_TimeStampShow(); - } - - /* Configure the external interrupt "WAKEUP", "KEY" and "TAMPER" buttons */ - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI); - STM_EVAL_PBInit(BUTTON_TAMPER , BUTTON_MODE_EXTI); - STM_EVAL_PBInit(BUTTON_WAKEUP , BUTTON_MODE_EXTI); - - /* Configure LED1 */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDOn(LED1); - - while (1) - { - } -} - -/** - * @brief Configure the RTC peripheral by selecting the clock source. - * @param None - * @retval None - */ -void RTC_Config(void) -{ - /* Enable the PWR clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); - - /* Allow access to RTC */ - PWR_BackupAccessCmd(ENABLE); - -#if defined (RTC_CLOCK_SOURCE_LSI) /* LSI used as RTC source clock*/ -/* The RTC Clock may varies due to LSI frequency dispersion. */ - /* Enable the LSI OSC */ - RCC_LSICmd(ENABLE); - - /* Wait till LSI is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI); - - SynchPrediv = 0xFF; - AsynchPrediv = 0x7F; - -#elif defined (RTC_CLOCK_SOURCE_LSE) /* LSE used as RTC source clock */ - /* Enable the LSE OSC */ - RCC_LSEConfig(RCC_LSE_ON); - - /* Wait till LSE is ready */ - while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET) - { - } - - /* Select the RTC Clock Source */ - RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); - - SynchPrediv = 0xFF; - AsynchPrediv = 0x7F; - -#else - #error Please select the RTC Clock source inside the main.c file -#endif /* RTC_CLOCK_SOURCE_LSI */ - - /* Enable the RTC Clock */ - RCC_RTCCLKCmd(ENABLE); - - /* Wait for RTC APB registers synchronisation */ - RTC_WaitForSynchro(); - - /* Enable The TimeStamp */ - RTC_TimeStampCmd(RTC_TimeStampEdge_Falling, ENABLE); -} - -/** - * @brief Returns the time entered by user, using Hyperterminal. - * @param None - * @retval None - */ -void RTC_TimeRegulate(void) -{ - uint32_t tmp_hh = 0xFF, tmp_mm = 0xFF, tmp_ss = 0xFF; - - printf("\n\r==============Time Settings=====================================\n\r"); - RTC_TimeStructure.RTC_H12 = RTC_H12_AM; - printf(" Please Set Hours\n\r"); - while (tmp_hh == 0xFF) - { - tmp_hh = USART_Scanf(0, 23); - RTC_TimeStructure.RTC_Hours = tmp_hh; - } - printf(": %0.2d\n\r", tmp_hh); - - printf(" Please Set Minutes\n\r"); - while (tmp_mm == 0xFF) - { - tmp_mm = USART_Scanf(0, 59); - RTC_TimeStructure.RTC_Minutes = tmp_mm; - } - printf(": %0.2d\n\r", tmp_mm); - - printf(" Please Set Seconds\n\r"); - while (tmp_ss == 0xFF) - { - tmp_ss = USART_Scanf(0, 59); - RTC_TimeStructure.RTC_Seconds = tmp_ss; - } - printf(": %0.2d\n\r", tmp_ss); - - /* Configure the RTC time register */ - if(RTC_SetTime(RTC_Format_BIN, &RTC_TimeStructure) == ERROR) - { - printf("\n\r>> !! RTC Set Time failed. !! <<\n\r"); - } - else - { - printf("\n\r>> !! RTC Set Time success. !! <<\n\r"); - RTC_TimeShow(); - /* Indicator for the RTC configuration */ - RTC_WriteBackupRegister(RTC_BKP_DR0, 0x32F2); - } - - tmp_hh = 0xFF; - tmp_mm = 0xFF; - tmp_ss = 0xFF; - - printf("\n\r==============Date Settings=====================================\n\r"); - - printf(" Please Set WeekDay (01-07)\n\r"); - while (tmp_hh == 0xFF) - { - tmp_hh = USART_Scanf(1, 7); - RTC_DateStructure.RTC_WeekDay = tmp_hh; - } - printf(": %0.2d\n\r", tmp_hh); - tmp_hh = 0xFF; - printf(" Please Set Date (01-31)\n\r"); - while (tmp_hh == 0xFF) - { - tmp_hh = USART_Scanf(1, 31); - RTC_DateStructure.RTC_Date = tmp_hh; - } - printf(": %0.2d\n\r", tmp_hh); - - printf(" Please Set Month (01-12)\n\r"); - while (tmp_mm == 0xFF) - { - tmp_mm = USART_Scanf(1, 12); - RTC_DateStructure.RTC_Month = tmp_mm; - } - printf(": %0.2d\n\r", tmp_mm); - - printf(" Please Set Year (00-99)\n\r"); - while (tmp_ss == 0xFF) - { - tmp_ss = USART_Scanf(0, 99); - RTC_DateStructure.RTC_Year = tmp_ss; - } - printf(": %0.2d\n\r", tmp_ss); - - /* Configure the RTC date register */ - if(RTC_SetDate(RTC_Format_BIN, &RTC_DateStructure) == ERROR) - { - printf("\n\r>> !! RTC Set Date failed. !! <<\n\r"); - } - else - { - printf("\n\r>> !! RTC Set Date success. !! <<\n\r"); - RTC_DateShow(); - /* Indicator for the RTC configuration */ - RTC_WriteBackupRegister(RTC_BKP_DR0, 0x32F2); - } - -} - -/** - * @brief Display the current time on the Hyperterminal. - * @param None - * @retval None - */ -void RTC_TimeShow(void) -{ - /* Get the current Time and Date */ - RTC_GetTime(RTC_Format_BIN, &RTC_TimeStructure); - printf("\n\r============== Current Time Display ============================\n\r"); - printf("\n\r The current time (Hour-Minute-Second) is : %0.2d:%0.2d:%0.2d \n\r", RTC_TimeStructure.RTC_Hours, RTC_TimeStructure.RTC_Minutes, RTC_TimeStructure.RTC_Seconds); - /* Unfreeze the RTC DR Register */ - (void)RTC->DR; -} - -/** - * @brief Display the current date on the Hyperterminal. - * @param None - * @retval None - */ -void RTC_DateShow(void) -{ - /* Get the current Date */ - RTC_GetDate(RTC_Format_BIN, &RTC_DateStructure); - printf("\n\r============== Current Date Display ============================\n\r"); - printf("\n\r The current date (WeekDay-Date-Month-Year) is : %0.2d-%0.2d-%0.2d-%0.2d \n\r", RTC_DateStructure.RTC_WeekDay, RTC_DateStructure.RTC_Date, RTC_DateStructure.RTC_Month, RTC_DateStructure.RTC_Year); -} - - -/** - * @brief Display the current TimeStamp (time and date) on the Hyperterminal. - * @param None - * @retval None - */ -void RTC_TimeStampShow(void) -{ - /* Get the current TimeStamp */ - RTC_GetTimeStamp(RTC_Format_BIN, &RTC_TimeStampStructure, &RTC_TimeStampDateStructure); - printf("\n\r==============TimeStamp Display (Time and Date)=================\n\r"); - printf("\n\r The current time stamp time (Hour-Minute-Second) is : %0.2d:%0.2d:%0.2d \n\r", RTC_TimeStampStructure.RTC_Hours, RTC_TimeStampStructure.RTC_Minutes, RTC_TimeStampStructure.RTC_Seconds); - printf("\n\r The current timestamp date (WeekDay-Date-Month) is : %0.2d-%0.2d-%0.2d \n\r", RTC_TimeStampDateStructure.RTC_WeekDay, RTC_TimeStampDateStructure.RTC_Date, RTC_TimeStampDateStructure.RTC_Month); -} - - -/** - * @brief Gets numeric values from the hyperterminal. - * @param MinValue: minimum value to be used. - * @param MaxValue: maximum value to be used. - * @retval None - */ -uint8_t USART_Scanf(uint32_t MinValue, uint32_t MaxValue) -{ - uint32_t index = 0; - uint32_t tmp[2] = {0, 0}; - - while (index < 2) - { - /* Loop until RXNE = 1 */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_RXNE) == RESET) - {} - tmp[index++] = (USART_ReceiveData(EVAL_COM1)); - if ((tmp[index - 1] < 0x30) || (tmp[index - 1] > 0x39)) - { - printf("\n\r Please enter valid number between 0 and 9\n\r"); - index--; - } - } - /* Calculate the Corresponding value */ - index = (tmp[1] - 0x30) + ((tmp[0] - 0x30) * 10); - /* Checks the value */ - if ((index < MinValue) || (index > MaxValue)) - { - printf("\n\r Please enter valid number between %d and %d\n\r", MinValue, MaxValue); - return 0xFF; - } - return index; -} - -/** - * @brief Retargets the C library printf function to the USART. - * @param None - * @retval None - */ -PUTCHAR_PROTOTYPE -{ - /* Place your implementation of fputc here */ - /* e.g. write a character to the USART */ - USART_SendData(EVAL_COM1, (uint8_t) ch); - - /* Loop until the end of transmission */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - {} - - return ch; -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/main.h deleted file mode 100644 index 668d3cc3e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/main.h +++ /dev/null @@ -1,58 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/TimeStamp/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void RTC_Config(void); -void RTC_TimeRegulate(void); -void RTC_TimeShow(void); -void RTC_DateShow(void); -void RTC_TimeStampShow(void); -uint8_t USART_Scanf(uint32_t MinValue, uint32_t MaxValue); - -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/readme.txt deleted file mode 100644 index a87e6268f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/readme.txt +++ /dev/null @@ -1,126 +0,0 @@ -/** - @page RTC_TimeStamp RTC TimeStamp example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file RTC/TimeStamp/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the RTC TimeStamp example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a short description of how to use the RTC peripheral and -the Time Stamp feature. - -One from the following clock can be used as RTC clock source (uncomment the -corresponding define in main.c): - - LSE oscillator clock usually delivered by a 32.768 kHz quartz. - - LSI oscillator clock - -The program behaves as follows: - -1. After startup the program checks the backup data register 0 value: - - BKP_DR0 value not correct: (RTC_BKP_DR0 value is not correct or has not yet - been programmed when the program is executed for the first time) the RTC is - configured and the user is asked to set the time and date (entered on - HyperTerminal). - - - BKP_DR0 value correct: this means that the RTC is configured and the time - date and timestamp (time and date) are displayed on HyperTerminal. - -2. When an External Reset occurs the BKP domain is not reset and the RTC configuration - is not lost. - -3. When power on reset occurs: - - If a battery is connected to the VBAT pin: the BKP domain is not reset and - the RTC configuration is not lost. - - - If no battery is connected to the VBAT pin: the BKP domain is reset and the - RTC configuration is lost. - -4. It configures the RTC_AF1 pin TimeStamp to be falling edge and enables the -TimeStamp detection. - -5. On applying a low level on the RTC_AF1 pin (PC.13), the calendar is saved in -the time-stamp registers thanks to the timestamp event detection. - -The example uses HyperTerminal to configure the RTC clock, display the current -time and timestamp registers contents: - - pressing TAMPER push button, the current time and date are saved in RTC TSTR - and TSDR registers. - - When pressing WAKEUP push button, the TimeStamp Calendar is cleared. - - When pressing KEY push button, the current RTC Calendar (Time and date) and - RTC TimeStamp Calendar (Time and date) are displayed. - -@note The RTC_Year member in the TimeStamp Date is always 00 (no years in the RTC_TSDR register) - -@par Directory contents - - - RTC/TimeStamp/system_stm32f2xx.c STM32F2xx system clock configuration file - - RTC/TimeStamp/stm32f2xx_conf.h Library Configuration file - - RTC/TimeStamp/stm32f2xx_it.c Interrupt handlers - - RTC/TimeStamp/stm32f2xx_it.h Header for stm32f2xx_it.c - - RTC/TimeStamp/main.c Main program - - RTC/TimeStamp/main.h Main header file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use the TAMPER push button connected to PC.13 pin (EXTI Line13). - - Use the KEY push button connected to PG.15 pin (EXTI Line15). - - Use the WAKEUP push button connected to PA.00 pin (EXTI Line0). - - Make sure that jumper JP19 is in position 1-2 to connect the 3V battery to VBAT pin - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port if you want to display data on the HyperTerminal. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/stm32f2xx_conf.h deleted file mode 100644 index 60601b549..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/TimeStamp/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/stm32f2xx_it.c deleted file mode 100644 index 42d9db323..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/stm32f2xx_it.c +++ /dev/null @@ -1,236 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/TimeStamp/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup RTC_TimeStamp - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles External line 0 interrupt request. - * @param None - * @retval None - */ -void EXTI0_IRQHandler(void) -{ - /* Clear the TimeStamp registers */ - if(EXTI_GetITStatus(WAKEUP_BUTTON_EXTI_LINE) != RESET) - { - /* Turn LED1 ON and LED2 OFF */ - STM_EVAL_LEDOn(LED1); - STM_EVAL_LEDOff(LED2); - - /* Clear The TSF Flag (Clear TimeStamp Registers) */ - RTC_ClearFlag(RTC_FLAG_TSF); - printf("\r\n******************** TimeStamp Event Cleared ********************"); - /* Clear the Wakeup Button EXTI line pending bit */ - EXTI_ClearITPendingBit(WAKEUP_BUTTON_EXTI_LINE); - } -} - -/** - * @brief This function handles External lines 15 to 10 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - /* TimeStamp Event detected */ - if(EXTI_GetITStatus(TAMPER_BUTTON_EXTI_LINE) != RESET) - { - /* Turn LED4 ON */ - STM_EVAL_LEDOn(LED4); - printf("\r\n******************** TimeStamp Event Occurred ********************"); - /* Clear the TAMPER Button EXTI line pending bit */ - EXTI_ClearITPendingBit(TAMPER_BUTTON_EXTI_LINE); - } - - /* To display Current RTC Time and Date Calendar */ - if(EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - /* Turn LED4 ON */ - STM_EVAL_LEDOn(LED4); - - /* Clear the KEY Button EXTI line pending bit */ - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - - /* Display the Time */ - RTC_TimeShow(); - /* Display the date */ - RTC_DateShow(); - /* Display the TimeStamp */ - RTC_TimeStampShow(); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/stm32f2xx_it.h deleted file mode 100644 index 910e63db9..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file RTC/TimeStamp/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/TimeStamp/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/readme.txt deleted file mode 100644 index a5ab11d1a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/RTC/readme.txt +++ /dev/null @@ -1,34 +0,0 @@ -/** - @page RTC_EXAMPLES RTC EXAMPLES - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file RTC/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Reference to the Application note AN3371. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -For detailed description about the available examples, refer to the application -note "AN3371 Using the STM32 hardware real-time clock (RTC)" available on ST Microcontrollers . - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Release_Notes.html b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Release_Notes.html deleted file mode 100644 index 0d8593e90..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/Release_Notes.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - -Release Notes for STM32F2xx Standard Peripherals Library Examples - - - - - -
-


-

-
- - - - - - -
- - - - - - - - - -
Back to Release page
-

Release -Notes for STM32F2xx Standard Peripherals Library Examples

-

Copyright 2012 STMicroelectronics

-

-
-

 

- - - - - - -
-

Contents

-
    -
  1. STM32F2xx Standard Peripherals Library -Examples update History
  2. -
  3. License
  4. -
- - -

STM32F2xx Standard -Peripherals Library Examples update History


V1.1.0 / 13-April-2012

Main -Changes

-
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • All -examples: update done to be in line with latest version of -STM32_EVAL architecture; include header -file "stm322xg_eval.h" instead of "stm32_eval.h"
  • ADC examples 
    • ADC configuration: add initialization of the ADC_ExternalTrigConv member of the ADC_InitStructure.
    • DualADC_Interleaved_DMAmode3, DualADC_RegulSimu_DMAmode1 and TripleADC_Interleaved_DMAmode2 examples:
      • Remove call to ADC_DMACmd() function (already done by ADC_MultiModeDMARequestAfterLastTransferCmd() function).
  • CAN examples 
    • Remove CAN_StructInit() function and replace it by an explicit data initialization.
    • Remove reference to CAN_Baudrate_Calculator.xls file inside the readme.txt.
  • CortexM3/MPU example
    • Add the following defines 
#define -MPU_RASR_XN_Pos                          -28  
#define -MPU_RASR_XN_Msk                          -(1UL << -MPU_RASR_XN_Pos)                      - 
#define -MPU_RASR_AP_Pos                          -24  
#define -MPU_RASR_AP_Msk                          -(7UL << MPU_RASR_AP_Pos)
  • CRYP examples 
    • AES_ECBmode_DMA 
      • Update -Crypto and DMA configuration sequence: DMA enabled before Crypto to -avoid flag error (FIFO error) generation during DMA transfer.
      • Replace -"while (DMA_GetFlagStatus(DMA2_Stream6, DMA_FLAG_TCIF5) == RESET);" by -"while (DMA_GetFlagStatus(DMA2_Stream5, DMA_FLAG_TCIF5) == RESET);".
    • TDES_ECBmode_DMA
      • Update Crypto and DMA configuration sequence: DMA enabled before Crypto to avoid flag error (FIFO error) generation during DMA transfer.
      • Replace -"while (DMA_GetFlagStatus(DMA2_Stream6, DMA_FLAG_TCIF5) == RESET);" by -"while (DMA_GetFlagStatus(DMA2_Stream5, DMA_FLAG_TCIF5) == RESET);".
  • DAC example
    • Update -the DMA Stream number for each DAC Channel : DMA1 stream 5 configured -with DAC Channel1 and DMA1 stream 6 with DAC Channel2.
  • DMA example
    • In stm32f2xx_it.c : replace DAM_STREAM_IRQHANDLER macro name by DMA_STREAM_IRQHANDLER.
  • DCMI example
    • Add driver for new camera OV2640 and example enhancement.
    • Change the folder name from "OV9655_Camera" to "Camera".
  • IWDG Example
    • Change EXTI interrupt Line from Line 0 to Line 15.
    • Change Invalid Address from 0x70000000 to 0xA0001000.
  • PWR examples
    • CurrentConsumption example
      • Example -enhancement: when system was resumed from STANDBY mode LED1 start -toggling (same behavior as sleep or stop mode resume). 
      • readme file: add more details about jumper settings
    • Update -readme file for all examples : add the following note "This example can -not be used in DEBUG mode, this is due to the fact that the Cortex™-M3 -core is no longer clocked during low power mode so debugging features -are disabled".
  • SDIO example 
    • In stm32f2xx_it.c : add SD_SDIO_DMA_IRQHANDLER() interrupt function which call SD_ProcessDMAIRQ() function at each DMA end of transfer.
    • In main.c : add the following NVIC configuration
      NVIC_InitStructure.NVIC_IRQChannel = SD_SDIO_DMA_IRQn;
      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
      NVIC_Init(&NVIC_InitStructure);  
  • SPI examples 
    • SPI_DataExchangeInterrupt : Source Code modularity enhancement. 
  • TIM examples
    • ExtTrigger_Synchro example
      •  In main.c : replace comment "GPIOA Configuration: PA.09(TIM1 CH2)" by "GPIOE Configuration: PE.11(TIM1 CH2)" 
      • In readme.txt : replace "TIM3 CH1 (PB.04)" by "TIM3 CH1 (PC.06)"
    • OCInactive example
      • Add the GPIO configuration en alternate mode for PA0/PA1/PA2/PA3 which correspond respectively to TIM2_CH1/CH2/CH3/CH4.
    • In all examples clarify TIM frequency computation formula.
  • USART examples 
    • DataExchangeDMA : Source Code modularity enhancement.
  • WWDG Example
    • Change EXTI interrupt Line from Line 0 to Line 15
    • Change Invalid Address from 0x70000000 to 0xA0001000
  • I2C Examples: add readme file to refer to the I2C CPAL Library
  • RTC examples: add readme file to refer to the "AN3371 Using the STM32 hardware real-time clock (RTC)"

V1.0.0 / 18-April-2011

Main -Changes

-
  • First official release for STM32F2xx devices
    -
- - -
    - -
-

License

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


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.
- -
-
-

For - complete documentation on STM32 - Microcontrollers visit www.st.com/STM32

-
- -
-
-

 

-
- \ No newline at end of file diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/main.c deleted file mode 100644 index 14ad7fca6..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/main.c +++ /dev/null @@ -1,382 +0,0 @@ -/** - ****************************************************************************** - * @file SDIO/uSDCard/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval_sdio_sd.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SDIO_uSDCard - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Private define ------------------------------------------------------------*/ -#define BLOCK_SIZE 512 /* Block Size in Bytes */ - -#define NUMBER_OF_BLOCKS 100 /* For Multi Blocks operation (Read/Write) */ -#define MULTI_BUFFER_SIZE (BLOCK_SIZE * NUMBER_OF_BLOCKS) - -#define SD_OPERATION_ERASE 0 -#define SD_OPERATION_BLOCK 1 -#define SD_OPERATION_MULTI_BLOCK 2 -#define SD_OPERATION_END 3 - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint8_t Buffer_Block_Tx[BLOCK_SIZE], Buffer_Block_Rx[BLOCK_SIZE]; -uint8_t Buffer_MultiBlock_Tx[MULTI_BUFFER_SIZE], Buffer_MultiBlock_Rx[MULTI_BUFFER_SIZE]; -volatile TestStatus EraseStatus = FAILED, TransferStatus1 = FAILED, TransferStatus2 = FAILED; -SD_Error Status = SD_OK; -__IO uint32_t SDCardOperation = SD_OPERATION_ERASE; - -/* Private function prototypes -----------------------------------------------*/ -void NVIC_Configuration(void); -void SD_EraseTest(void); -void SD_SingleBlockTest(void); -void SD_MultiBlockTest(void); -void Fill_Buffer(uint8_t *pBuffer, uint32_t BufferLength, uint32_t Offset); -TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint32_t BufferLength); -TestStatus eBuffercmp(uint8_t* pBuffer, uint32_t BufferLength); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs available on STM322xG-EVAL board *************************/ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Interrupt Config */ - NVIC_Configuration(); - - /*------------------------------ SD Init ---------------------------------- */ - if((Status = SD_Init()) != SD_OK) - { - STM_EVAL_LEDOn(LED4); - } - - while((Status == SD_OK) && (SDCardOperation != SD_OPERATION_END) && (SD_Detect()== SD_PRESENT)) - { - switch(SDCardOperation) - { - /*-------------------------- SD Erase Test ---------------------------- */ - case (SD_OPERATION_ERASE): - { - SD_EraseTest(); - SDCardOperation = SD_OPERATION_BLOCK; - break; - } - /*-------------------------- SD Single Block Test --------------------- */ - case (SD_OPERATION_BLOCK): - { - SD_SingleBlockTest(); - SDCardOperation = SD_OPERATION_MULTI_BLOCK; - break; - } - /*-------------------------- SD Multi Blocks Test --------------------- */ - case (SD_OPERATION_MULTI_BLOCK): - { - SD_MultiBlockTest(); - SDCardOperation = SD_OPERATION_END; - break; - } - } - } - - /* Infinite loop */ - while (1) - {} -} - -/** - * @brief Configures SDIO IRQ channel. - * @param None - * @retval None - */ -void NVIC_Configuration(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - - /* Configure the NVIC Preemption Priority Bits */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); - - NVIC_InitStructure.NVIC_IRQChannel = SDIO_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - NVIC_InitStructure.NVIC_IRQChannel = SD_SDIO_DMA_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; - NVIC_Init(&NVIC_InitStructure); -} - -/** - * @brief Tests the SD card erase operation. - * @param None - * @retval None - */ -void SD_EraseTest(void) -{ - /*------------------- Block Erase ------------------------------------------*/ - if (Status == SD_OK) - { - /* Erase NumberOfBlocks Blocks of WRITE_BL_LEN(512 Bytes) */ - Status = SD_Erase(0x00, (BLOCK_SIZE * NUMBER_OF_BLOCKS)); - } - - if (Status == SD_OK) - { - Status = SD_ReadMultiBlocks(Buffer_MultiBlock_Rx, 0x00, BLOCK_SIZE, NUMBER_OF_BLOCKS); - - /* Check if the Transfer is finished */ - Status = SD_WaitReadOperation(); - - /* Wait until end of DMA transfer */ - while(SD_GetStatus() != SD_TRANSFER_OK); - } - - /* Check the correctness of erased blocks */ - if (Status == SD_OK) - { - EraseStatus = eBuffercmp(Buffer_MultiBlock_Rx, MULTI_BUFFER_SIZE); - } - - if(EraseStatus == PASSED) - { - STM_EVAL_LEDOn(LED1); - } - else - { - STM_EVAL_LEDOff(LED1); - STM_EVAL_LEDOn(LED4); - } -} - -/** - * @brief Tests the SD card Single Blocks operations. - * @param None - * @retval None - */ -void SD_SingleBlockTest(void) -{ - /*------------------- Block Read/Write --------------------------*/ - /* Fill the buffer to send */ - Fill_Buffer(Buffer_Block_Tx, BLOCK_SIZE, 0x320F); - - if (Status == SD_OK) - { - /* Write block of 512 bytes on address 0 */ - Status = SD_WriteBlock(Buffer_Block_Tx, 0x00, BLOCK_SIZE); - /* Check if the Transfer is finished */ - Status = SD_WaitWriteOperation(); - while(SD_GetStatus() != SD_TRANSFER_OK); - } - - if (Status == SD_OK) - { - /* Read block of 512 bytes from address 0 */ - Status = SD_ReadBlock(Buffer_Block_Rx, 0x00, BLOCK_SIZE); - /* Check if the Transfer is finished */ - Status = SD_WaitReadOperation(); - while(SD_GetStatus() != SD_TRANSFER_OK); - } - - /* Check the correctness of written data */ - if (Status == SD_OK) - { - TransferStatus1 = Buffercmp(Buffer_Block_Tx, Buffer_Block_Rx, BLOCK_SIZE); - } - - if(TransferStatus1 == PASSED) - { - STM_EVAL_LEDOn(LED2); - } - else - { - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOn(LED4); - } -} - -/** - * @brief Tests the SD card Multiple Blocks operations. - * @param None - * @retval None - */ -void SD_MultiBlockTest(void) -{ - /*--------------- Multiple Block Read/Write ---------------------*/ - /* Fill the buffer to send */ - Fill_Buffer(Buffer_MultiBlock_Tx, MULTI_BUFFER_SIZE, 0x0); - - if (Status == SD_OK) - { - /* Write multiple block of many bytes on address 0 */ - Status = SD_WriteMultiBlocks(Buffer_MultiBlock_Tx, 0x00, BLOCK_SIZE, NUMBER_OF_BLOCKS); - /* Check if the Transfer is finished */ - Status = SD_WaitWriteOperation(); - while(SD_GetStatus() != SD_TRANSFER_OK); - } - - if (Status == SD_OK) - { - /* Read block of many bytes from address 0 */ - Status = SD_ReadMultiBlocks(Buffer_MultiBlock_Rx, 0x00, BLOCK_SIZE, NUMBER_OF_BLOCKS); - /* Check if the Transfer is finished */ - Status = SD_WaitReadOperation(); - while(SD_GetStatus() != SD_TRANSFER_OK); - } - - /* Check the correctness of written data */ - if (Status == SD_OK) - { - TransferStatus2 = Buffercmp(Buffer_MultiBlock_Tx, Buffer_MultiBlock_Rx, MULTI_BUFFER_SIZE); - } - - if(TransferStatus2 == PASSED) - { - STM_EVAL_LEDOn(LED3); - } - else - { - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOn(LED4); - } -} - -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer1 identical to pBuffer2 - * FAILED: pBuffer1 differs from pBuffer2 - */ -TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint32_t BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer1 != *pBuffer2) - { - return FAILED; - } - - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} - -/** - * @brief Fills buffer with user predefined data. - * @param pBuffer: pointer on the Buffer to fill - * @param BufferLength: size of the buffer to fill - * @param Offset: first value to fill on the Buffer - * @retval None - */ -void Fill_Buffer(uint8_t *pBuffer, uint32_t BufferLength, uint32_t Offset) -{ - uint16_t index = 0; - - /* Put in global buffer same values */ - for (index = 0; index < BufferLength; index++) - { - pBuffer[index] = index + Offset; - } -} - -/** - * @brief Checks if a buffer has all its values are equal to zero. - * @param pBuffer: buffer to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer values are zero - * FAILED: At least one value from pBuffer buffer is different from zero. - */ -TestStatus eBuffercmp(uint8_t* pBuffer, uint32_t BufferLength) -{ - while (BufferLength--) - { - /* In some SD Cards the erased state is 0xFF, in others it's 0x00 */ - if ((*pBuffer != 0xFF) && (*pBuffer != 0x00)) - { - return FAILED; - } - - pBuffer++; - } - - return PASSED; -} - -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/readme.txt deleted file mode 100644 index ddd462965..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/readme.txt +++ /dev/null @@ -1,123 +0,0 @@ -/** - @page SDIO_uSDCard How to use the SDIO to drive an SD card memory - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file SDIO/uSDCard/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the SDIO Example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a basic example of how to use the SDIO firmware library and -an associate driver to perform read/write operations on the SD Card memory (SD Card -V1.0, V1.1, V2.0 and SDHC (High Capacity) protocol)that could be mounted on the -STM322xG_EVAL board. -The example provides different SD Card transfer states and operations and here -below a description of each step: - - First the SDIO peripheral and SD Card are initialized using the SD_Init() - function: - - Configure the SDIO according to the desired SDIO_CK clock frequency. - - Reset the SD Card - - Identify the SD Card - - Initializes the SD Card - - Get the SD Card Info - - Select the SD Card - - Enable the Wide Bus mode (4-bit data) - - - SD Card Erase Operation - - Starts an Erase operation: Erase the corresponding blocks using - the SD_Erase() function - - Read the Erased blocks using the SD_ReadMultiBlocks() function - - Test if the corresponding Blocks are well erased: check if the - EraseStatus variable is equal to PASSED. If the erase operation is - passed LED1 is turned ON. - - - SD Card Single Block Operation - - Starts a Write operation: Write a single Block using the SD_WriteBlock() - function - - Read a single Block using the SD_ReadBlock() function - - Compare the written Block and the read one: check if the TransferStatus1 - variable is equal to PASSED. If the Single Block Read/write operation - is passed LED2 is turned ON. - - - SD Card Multiple Block Operation - - Starts a Multiple Write operation: Write a multi Blocks using the - SD_WriteMultiBlocks() function. - - Read a multiple Blocks using the SD_ReadMultiBlocks() function - - Compare the written Blocks and the read one: check if the TransferStatus2 - variable is equal to PASSED. If the Multiple Blocks Read/Write operation - is passed LED3 is turned ON. - -All data transfers are made by DMA. -At each operation, the SD Card presence and status is checked using the SD_GetStatus() -function and a global variable "Status" storing the results of the last operation. - -SD Card Operations and Written/Read data correctness is signaled by LED -lightening and though as follow: - - If the Erase operation is PASSED then LED1 ON else the LED4 is ON and LED1 is OFF - - If the Single Block Write/Read operation is PASSED then LED2 ON else the LED4 is ON and LED2 is OFF - - If the Multi Blocks Write/Read operation is PASSED then LED3 ON else the LED4 is ON and LED3 is OFF - - Any SD Card operation including the SD Initialization error is signaled by - LED4 ON. - -@par Directory contents - - - SDIO/uSDCard/system_stm32f2xx.c STM32F2xx system clock configuration file - - SDIO/uSDCard/stm32f2xx_conf.h Library Configuration file - - SDIO/uSDCard/stm32f2xx_it.c Interrupt handlers - - SDIO/uSDCard/stm32f2xx_it.h Header for stm32f2xx_it.c - - SDIO/uSDCard/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily - tailored to any other development board. - - - STM322xG-EVAL RevB - - Make sure that Jumper JP22 is in position 1<->2 - - - STM322xG-EVAL RevB - - Make sure that Jumpers JP22 and JP16 are in position 1<->2 - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Add the "stm322xg_eval_sdio_sd.c" file (under Utilities\STM32_EVAL\STM322xG_EVAL) to the project source list - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/stm32f2xx_conf.h deleted file mode 100644 index 24eb767a2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file SDIO/uSDCard/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/stm32f2xx_it.c deleted file mode 100644 index c3d02b7d9..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/stm32f2xx_it.c +++ /dev/null @@ -1,196 +0,0 @@ -/** - ****************************************************************************** - * @file SDIO/uSDCard/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval_sdio_sd.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SDIO_uSDCard - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ -/** - * @brief This function handles SDIO global interrupt request. - * @param None - * @retval None - */ -void SDIO_IRQHandler(void) -{ - /* Process All SDIO Interrupt Sources */ - SD_ProcessIRQSrc(); -} - -/** - * @brief This function handles DMA2 Stream3 or DMA2 Stream6 global interrupts - * requests. - * @param None - * @retval None - */ -void SD_SDIO_DMA_IRQHANDLER(void) -{ - /* Process DMA2 Stream3 or DMA2 Stream6 Interrupt Sources */ - SD_ProcessDMAIRQ(); -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/stm32f2xx_it.h deleted file mode 100644 index bd39ede01..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file SDIO/uSDCard/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void SDIO_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SDIO/uSDCard/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/main.c deleted file mode 100644 index 802691669..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/main.c +++ /dev/null @@ -1,189 +0,0 @@ -/** - ****************************************************************************** - * @file SPI/SPI_FLASH/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm322xg_eval.h" -#include "spi_flash.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SPI_FLASH - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Private define ------------------------------------------------------------*/ -#define FLASH_WRITE_ADDRESS 0x700000 -#define FLASH_READ_ADDRESS FLASH_WRITE_ADDRESS -#define FLASH_SECTOR_TO_ERASE FLASH_WRITE_ADDRESS - -#define BufferSize (countof(Tx_Buffer)-1) - -/* Private macro -------------------------------------------------------------*/ -#define countof(a) (sizeof(a) / sizeof(*(a))) - -/* Private variables ---------------------------------------------------------*/ -uint8_t Tx_Buffer[] = "STM32F2xx SPI Firmware Library Example: communication with an M25P SPI FLASH"; -uint8_t Rx_Buffer[BufferSize]; -__IO uint8_t Index = 0x0; -volatile TestStatus TransferStatus1 = FAILED, TransferStatus2 = PASSED; -__IO uint32_t FlashID = 0; - -/* Private functions ---------------------------------------------------------*/ -TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength); - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize Leds mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - - /* Initialize the SPI FLASH driver */ - sFLASH_Init(); - - /* Get SPI Flash ID */ - FlashID = sFLASH_ReadID(); - - /* Check the SPI Flash ID */ - if (FlashID == sFLASH_M25P64_ID) - { - /* OK: Turn on LD1 */ - STM_EVAL_LEDOn(LED1); - - /* Perform a write in the Flash followed by a read of the written data */ - /* Erase SPI FLASH Sector to write on */ - sFLASH_EraseSector(FLASH_SECTOR_TO_ERASE); - - /* Write Tx_Buffer data to SPI FLASH memory */ - sFLASH_WriteBuffer(Tx_Buffer, FLASH_WRITE_ADDRESS, BufferSize); - - /* Read data from SPI FLASH memory */ - sFLASH_ReadBuffer(Rx_Buffer, FLASH_READ_ADDRESS, BufferSize); - - /* Check the correctness of written dada */ - TransferStatus1 = Buffercmp(Tx_Buffer, Rx_Buffer, BufferSize); - /* TransferStatus1 = PASSED, if the transmitted and received data by SPI1 - are the same */ - /* TransferStatus1 = FAILED, if the transmitted and received data by SPI1 - are different */ - - /* Perform an erase in the Flash followed by a read of the written data */ - /* Erase SPI FLASH Sector to write on */ - sFLASH_EraseSector(FLASH_SECTOR_TO_ERASE); - - /* Read data from SPI FLASH memory */ - sFLASH_ReadBuffer(Rx_Buffer, FLASH_READ_ADDRESS, BufferSize); - - /* Check the correctness of erasing operation dada */ - for (Index = 0; Index < BufferSize; Index++) - { - if (Rx_Buffer[Index] != 0xFF) - { - TransferStatus2 = FAILED; - } - } - /* TransferStatus2 = PASSED, if the specified sector part is erased */ - /* TransferStatus2 = FAILED, if the specified sector part is not well erased */ - } - else - { - /* Error: Turn on LD2 */ - STM_EVAL_LEDOn(LED2); - } - - while (1) - {} -} - -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer1 identical to pBuffer2 - * FAILED: pBuffer1 differs from pBuffer2 - */ -TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer1 != *pBuffer2) - { - return FAILED; - } - - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - {} -} - -#endif -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/readme.txt deleted file mode 100644 index 9f5662e36..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/readme.txt +++ /dev/null @@ -1,102 +0,0 @@ -/** - @page SPI_FLASH SPI FLASH example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file SPI/SPI_FLASH/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the SPI FLASH example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a basic example of how to use the SPI firmware library -and an associated driver "spi_flash.c" to communicate with an M25P64 SPI FLASH. - -The first step consist in reading the SPI Flash ID. A comparison between the ID -read from SPI flash and the expected one is done and LED1 is turned on in case -of success otherwise LED2 is turned on. - -Using this driver the program performs an erase of the sector to be accessed, a -write of a Tx_Buffer, defined in the main.c file, to the memory followed by a read -of the written data. Then data read from the memory stored in the Rx_Buffer are -compared with the expected values of the Tx_Buffer. The result of this comparison -is stored in the "TransferStatus1" variable. - -A second erase of the same sector is done at the end, and a test is done to be -sure that all the data written there are erased further to the sector erase. All -the data location are read and checked with 0xFF value. The result of this test -is stored in "TransferStatus2" variable which is FAILED in case of error. - -The FLASH_WRITE_ADDRESS and the FLASH_READ_ADDRESS where the program start the -write and the read operations are defined in the main.c file. - - -@par Directory contents - - - SPI/SPI_FLASH/spi_flash.c SPI M25Pxxx driver - - SPI/SPI_FLASH/spi_flash.h Header for spi_flash.c - - SPI/SPI_FLASH/stm32f2xx_conf.h Library Configuration file - - SPI/SPI_FLASH/stm32f2xx_it.c Interrupt handlers - - SPI/SPI_FLASH/stm32f2xx_it.h Header for stm32f2xx_it.c - - SPI/SPI_FLASH/main.c Main program - - SPI/SPI_FLASH/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx. - - - This example can't be tested with STM322xG-EVAL evaluation board (no SPI - FLASH available). - - - HW platform Set-up - - Connect LED1 and LED2 respectively to PG.06 and PG.08 pins - - Connect both SPI2 and SPI FLASH pins as following: - - Connect SPI2_NSS (PI0) pin to SPI Flash chip select (pin1) - - Connect SPI2_SCK (PI1) pin to SPI Flash serial clock (pin6) - - Connect SPI2_MISO(PI2) pin to SPI Flash serial data output (pin2) - - Connect SPI2_MOSI(PI3) pin to SPI Flash serial data input (pin5) - - Connect SPI Flash Write Protect (pin3) to Vdd - - Connect SPI Flash Hold (pin7) to Vdd - - Connect SPI Flash Vcc (pin8) to Vdd - - Connect SPI Flash Vss (pin4) to Vss - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Add the file "spi_flash.c" to the project source list - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/spi_flash.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/spi_flash.c deleted file mode 100644 index dd7f937ab..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/spi_flash.c +++ /dev/null @@ -1,579 +0,0 @@ -/** - ****************************************************************************** - * @file SPI/SPI_FLASH/spi_flash.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file provides a set of functions needed to manage the SPI M25Pxxx - * FLASH memory. - * - * =================================================================== - * Notes: - * - There is no SPI FLASH memory available in STM322xG-EVAL board, - * to use this driver you have to build your own hardware. - * =================================================================== - * - * It implements a high level communication layer for read and write - * from/to this memory. The needed STM32 hardware resources (SPI and - * GPIO) are defined in spi_flash.h file, and the initialization is - * performed in sFLASH_LowLevel_Init() function. - * - * You can easily tailor this driver to any development board, by just - * adapting the defines for hardware resources and sFLASH_LowLevel_Init() - * function. - * - * +-----------------------------------------------------------+ - * | Pin assignment | - * +-----------------------------+---------------+-------------+ - * | STM32 SPI Pins | sFLASH | Pin | - * +-----------------------------+---------------+-------------+ - * | sFLASH_CS_PIN | ChipSelect(/S)| 1 | - * | sFLASH_SPI_MISO_PIN / MISO | DataOut(Q) | 2 | - * | | VCC | 3 (3.3 V)| - * | | GND | 4 (0 V) | - * | sFLASH_SPI_MOSI_PIN / MOSI | DataIn(D) | 5 | - * | sFLASH_SPI_SCK_PIN / SCK | Clock(C) | 6 | - * | | VCC | 7 (3.3 V)| - * | | VCC | 8 (3.3 V)| - * +-----------------------------+---------------+-------------+ - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "spi_flash.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SPI_FLASH - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -void sFLASH_LowLevel_DeInit(void); -void sFLASH_LowLevel_Init(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief DeInitializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_DeInit(void) -{ - sFLASH_LowLevel_DeInit(); -} - -/** - * @brief Initializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_Init(void) -{ - SPI_InitTypeDef SPI_InitStructure; - - sFLASH_LowLevel_Init(); - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - - /*!< SPI configuration */ - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_4; - - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_InitStructure.SPI_CRCPolynomial = 7; - SPI_Init(sFLASH_SPI, &SPI_InitStructure); - - /*!< Enable the sFLASH_SPI */ - SPI_Cmd(sFLASH_SPI, ENABLE); -} - -/** - * @brief Erases the specified FLASH sector. - * @param SectorAddr: address of the sector to erase. - * @retval None - */ -void sFLASH_EraseSector(uint32_t SectorAddr) -{ - /*!< Send write enable instruction */ - sFLASH_WriteEnable(); - - /*!< Sector Erase */ - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - /*!< Send Sector Erase instruction */ - sFLASH_SendByte(sFLASH_CMD_SE); - /*!< Send SectorAddr high nibble address byte */ - sFLASH_SendByte((SectorAddr & 0xFF0000) >> 16); - /*!< Send SectorAddr medium nibble address byte */ - sFLASH_SendByte((SectorAddr & 0xFF00) >> 8); - /*!< Send SectorAddr low nibble address byte */ - sFLASH_SendByte(SectorAddr & 0xFF); - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - - /*!< Wait the end of Flash writing */ - sFLASH_WaitForWriteEnd(); -} - -/** - * @brief Erases the entire FLASH. - * @param None - * @retval None - */ -void sFLASH_EraseBulk(void) -{ - /*!< Send write enable instruction */ - sFLASH_WriteEnable(); - - /*!< Bulk Erase */ - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - /*!< Send Bulk Erase instruction */ - sFLASH_SendByte(sFLASH_CMD_BE); - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - - /*!< Wait the end of Flash writing */ - sFLASH_WaitForWriteEnd(); -} - -/** - * @brief Writes more than one byte to the FLASH with a single WRITE cycle - * (Page WRITE sequence). - * @note The number of byte can't exceed the FLASH page size. - * @param pBuffer: pointer to the buffer containing the data to be written - * to the FLASH. - * @param WriteAddr: FLASH's internal address to write to. - * @param NumByteToWrite: number of bytes to write to the FLASH, must be equal - * or less than "sFLASH_PAGESIZE" value. - * @retval None - */ -void sFLASH_WritePage(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite) -{ - /*!< Enable the write access to the FLASH */ - sFLASH_WriteEnable(); - - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - /*!< Send "Write to Memory " instruction */ - sFLASH_SendByte(sFLASH_CMD_WRITE); - /*!< Send WriteAddr high nibble address byte to write to */ - sFLASH_SendByte((WriteAddr & 0xFF0000) >> 16); - /*!< Send WriteAddr medium nibble address byte to write to */ - sFLASH_SendByte((WriteAddr & 0xFF00) >> 8); - /*!< Send WriteAddr low nibble address byte to write to */ - sFLASH_SendByte(WriteAddr & 0xFF); - - /*!< while there is data to be written on the FLASH */ - while (NumByteToWrite--) - { - /*!< Send the current byte */ - sFLASH_SendByte(*pBuffer); - /*!< Point on the next byte to be written */ - pBuffer++; - } - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - - /*!< Wait the end of Flash writing */ - sFLASH_WaitForWriteEnd(); -} - -/** - * @brief Writes block of data to the FLASH. In this function, the number of - * WRITE cycles are reduced, using Page WRITE sequence. - * @param pBuffer: pointer to the buffer containing the data to be written - * to the FLASH. - * @param WriteAddr: FLASH's internal address to write to. - * @param NumByteToWrite: number of bytes to write to the FLASH. - * @retval None - */ -void sFLASH_WriteBuffer(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite) -{ - uint8_t NumOfPage = 0, NumOfSingle = 0, Addr = 0, count = 0, temp = 0; - - Addr = WriteAddr % sFLASH_SPI_PAGESIZE; - count = sFLASH_SPI_PAGESIZE - Addr; - NumOfPage = NumByteToWrite / sFLASH_SPI_PAGESIZE; - NumOfSingle = NumByteToWrite % sFLASH_SPI_PAGESIZE; - - if (Addr == 0) /*!< WriteAddr is sFLASH_PAGESIZE aligned */ - { - if (NumOfPage == 0) /*!< NumByteToWrite < sFLASH_PAGESIZE */ - { - sFLASH_WritePage(pBuffer, WriteAddr, NumByteToWrite); - } - else /*!< NumByteToWrite > sFLASH_PAGESIZE */ - { - while (NumOfPage--) - { - sFLASH_WritePage(pBuffer, WriteAddr, sFLASH_SPI_PAGESIZE); - WriteAddr += sFLASH_SPI_PAGESIZE; - pBuffer += sFLASH_SPI_PAGESIZE; - } - - sFLASH_WritePage(pBuffer, WriteAddr, NumOfSingle); - } - } - else /*!< WriteAddr is not sFLASH_PAGESIZE aligned */ - { - if (NumOfPage == 0) /*!< NumByteToWrite < sFLASH_PAGESIZE */ - { - if (NumOfSingle > count) /*!< (NumByteToWrite + WriteAddr) > sFLASH_PAGESIZE */ - { - temp = NumOfSingle - count; - - sFLASH_WritePage(pBuffer, WriteAddr, count); - WriteAddr += count; - pBuffer += count; - - sFLASH_WritePage(pBuffer, WriteAddr, temp); - } - else - { - sFLASH_WritePage(pBuffer, WriteAddr, NumByteToWrite); - } - } - else /*!< NumByteToWrite > sFLASH_PAGESIZE */ - { - NumByteToWrite -= count; - NumOfPage = NumByteToWrite / sFLASH_SPI_PAGESIZE; - NumOfSingle = NumByteToWrite % sFLASH_SPI_PAGESIZE; - - sFLASH_WritePage(pBuffer, WriteAddr, count); - WriteAddr += count; - pBuffer += count; - - while (NumOfPage--) - { - sFLASH_WritePage(pBuffer, WriteAddr, sFLASH_SPI_PAGESIZE); - WriteAddr += sFLASH_SPI_PAGESIZE; - pBuffer += sFLASH_SPI_PAGESIZE; - } - - if (NumOfSingle != 0) - { - sFLASH_WritePage(pBuffer, WriteAddr, NumOfSingle); - } - } - } -} - -/** - * @brief Reads a block of data from the FLASH. - * @param pBuffer: pointer to the buffer that receives the data read from the FLASH. - * @param ReadAddr: FLASH's internal address to read from. - * @param NumByteToRead: number of bytes to read from the FLASH. - * @retval None - */ -void sFLASH_ReadBuffer(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead) -{ - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - - /*!< Send "Read from Memory " instruction */ - sFLASH_SendByte(sFLASH_CMD_READ); - - /*!< Send ReadAddr high nibble address byte to read from */ - sFLASH_SendByte((ReadAddr & 0xFF0000) >> 16); - /*!< Send ReadAddr medium nibble address byte to read from */ - sFLASH_SendByte((ReadAddr& 0xFF00) >> 8); - /*!< Send ReadAddr low nibble address byte to read from */ - sFLASH_SendByte(ReadAddr & 0xFF); - - while (NumByteToRead--) /*!< while there is data to be read */ - { - /*!< Read a byte from the FLASH */ - *pBuffer = sFLASH_SendByte(sFLASH_DUMMY_BYTE); - /*!< Point to the next location where the byte read will be saved */ - pBuffer++; - } - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); -} - -/** - * @brief Reads FLASH identification. - * @param None - * @retval FLASH identification - */ -uint32_t sFLASH_ReadID(void) -{ - uint32_t Temp = 0, Temp0 = 0, Temp1 = 0, Temp2 = 0; - - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - - /*!< Send "RDID " instruction */ - sFLASH_SendByte(0x9F); - - /*!< Read a byte from the FLASH */ - Temp0 = sFLASH_SendByte(sFLASH_DUMMY_BYTE); - - /*!< Read a byte from the FLASH */ - Temp1 = sFLASH_SendByte(sFLASH_DUMMY_BYTE); - - /*!< Read a byte from the FLASH */ - Temp2 = sFLASH_SendByte(sFLASH_DUMMY_BYTE); - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); - - Temp = (Temp0 << 16) | (Temp1 << 8) | Temp2; - - return Temp; -} - -/** - * @brief Initiates a read data byte (READ) sequence from the Flash. - * This is done by driving the /CS line low to select the device, then the READ - * instruction is transmitted followed by 3 bytes address. This function exit - * and keep the /CS line low, so the Flash still being selected. With this - * technique the whole content of the Flash is read with a single READ instruction. - * @param ReadAddr: FLASH's internal address to read from. - * @retval None - */ -void sFLASH_StartReadSequence(uint32_t ReadAddr) -{ - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - - /*!< Send "Read from Memory " instruction */ - sFLASH_SendByte(sFLASH_CMD_READ); - - /*!< Send the 24-bit address of the address to read from -------------------*/ - /*!< Send ReadAddr high nibble address byte */ - sFLASH_SendByte((ReadAddr & 0xFF0000) >> 16); - /*!< Send ReadAddr medium nibble address byte */ - sFLASH_SendByte((ReadAddr& 0xFF00) >> 8); - /*!< Send ReadAddr low nibble address byte */ - sFLASH_SendByte(ReadAddr & 0xFF); -} - -/** - * @brief Reads a byte from the SPI Flash. - * @note This function must be used only if the Start_Read_Sequence function - * has been previously called. - * @param None - * @retval Byte Read from the SPI Flash. - */ -uint8_t sFLASH_ReadByte(void) -{ - return (sFLASH_SendByte(sFLASH_DUMMY_BYTE)); -} - -/** - * @brief Sends a byte through the SPI interface and return the byte received - * from the SPI bus. - * @param byte: byte to send. - * @retval The value of the received byte. - */ -uint8_t sFLASH_SendByte(uint8_t byte) -{ - /*!< Loop while DR register in not emplty */ - while (SPI_I2S_GetFlagStatus(sFLASH_SPI, SPI_I2S_FLAG_TXE) == RESET); - - /*!< Send byte through the SPI1 peripheral */ - SPI_I2S_SendData(sFLASH_SPI, byte); - - /*!< Wait to receive a byte */ - while (SPI_I2S_GetFlagStatus(sFLASH_SPI, SPI_I2S_FLAG_RXNE) == RESET); - - /*!< Return the byte read from the SPI bus */ - return SPI_I2S_ReceiveData(sFLASH_SPI); -} - -/** - * @brief Sends a Half Word through the SPI interface and return the Half Word - * received from the SPI bus. - * @param HalfWord: Half Word to send. - * @retval The value of the received Half Word. - */ -uint16_t sFLASH_SendHalfWord(uint16_t HalfWord) -{ - /*!< Loop while DR register in not emplty */ - while (SPI_I2S_GetFlagStatus(sFLASH_SPI, SPI_I2S_FLAG_TXE) == RESET); - - /*!< Send Half Word through the sFLASH peripheral */ - SPI_I2S_SendData(sFLASH_SPI, HalfWord); - - /*!< Wait to receive a Half Word */ - while (SPI_I2S_GetFlagStatus(sFLASH_SPI, SPI_I2S_FLAG_RXNE) == RESET); - - /*!< Return the Half Word read from the SPI bus */ - return SPI_I2S_ReceiveData(sFLASH_SPI); -} - -/** - * @brief Enables the write access to the FLASH. - * @param None - * @retval None - */ -void sFLASH_WriteEnable(void) -{ - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - - /*!< Send "Write Enable" instruction */ - sFLASH_SendByte(sFLASH_CMD_WREN); - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); -} - -/** - * @brief Polls the status of the Write In Progress (WIP) flag in the FLASH's - * status register and loop until write opertaion has completed. - * @param None - * @retval None - */ -void sFLASH_WaitForWriteEnd(void) -{ - uint8_t flashstatus = 0; - - /*!< Select the FLASH: Chip Select low */ - sFLASH_CS_LOW(); - - /*!< Send "Read Status Register" instruction */ - sFLASH_SendByte(sFLASH_CMD_RDSR); - - /*!< Loop as long as the memory is busy with a write cycle */ - do - { - /*!< Send a dummy byte to generate the clock needed by the FLASH - and put the value of the status register in FLASH_Status variable */ - flashstatus = sFLASH_SendByte(sFLASH_DUMMY_BYTE); - - } - while ((flashstatus & sFLASH_WIP_FLAG) == SET); /* Write in progress */ - - /*!< Deselect the FLASH: Chip Select high */ - sFLASH_CS_HIGH(); -} - -/** - * @brief Initializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_LowLevel_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Enable the SPI clock */ - sFLASH_SPI_CLK_INIT(sFLASH_SPI_CLK, ENABLE); - - /*!< Enable GPIO clocks */ - RCC_AHB1PeriphClockCmd(sFLASH_SPI_SCK_GPIO_CLK | sFLASH_SPI_MISO_GPIO_CLK | - sFLASH_SPI_MOSI_GPIO_CLK | sFLASH_CS_GPIO_CLK, ENABLE); - - /*!< SPI pins configuration *************************************************/ - - /*!< Connect SPI pins to AF5 */ - GPIO_PinAFConfig(sFLASH_SPI_SCK_GPIO_PORT, sFLASH_SPI_SCK_SOURCE, sFLASH_SPI_SCK_AF); - GPIO_PinAFConfig(sFLASH_SPI_MISO_GPIO_PORT, sFLASH_SPI_MISO_SOURCE, sFLASH_SPI_MISO_AF); - GPIO_PinAFConfig(sFLASH_SPI_MOSI_GPIO_PORT, sFLASH_SPI_MOSI_SOURCE, sFLASH_SPI_MOSI_AF); - - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; - - /*!< SPI SCK pin configuration */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_SCK_PIN; - GPIO_Init(sFLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - /*!< SPI MOSI pin configuration */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MOSI_PIN; - GPIO_Init(sFLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /*!< SPI MISO pin configuration */ - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MISO_PIN; - GPIO_Init(sFLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - /*!< Configure sFLASH Card CS pin in output pushpull mode ********************/ - GPIO_InitStructure.GPIO_Pin = sFLASH_CS_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(sFLASH_CS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @brief DeInitializes the peripherals used by the SPI FLASH driver. - * @param None - * @retval None - */ -void sFLASH_LowLevel_DeInit(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /*!< Disable the sFLASH_SPI ************************************************/ - SPI_Cmd(sFLASH_SPI, DISABLE); - - /*!< DeInitializes the sFLASH_SPI *******************************************/ - SPI_I2S_DeInit(sFLASH_SPI); - - /*!< sFLASH_SPI Periph clock disable ****************************************/ - sFLASH_SPI_CLK_INIT(sFLASH_SPI_CLK, DISABLE); - - /*!< Configure all pins used by the SPI as input floating *******************/ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_SCK_PIN; - GPIO_Init(sFLASH_SPI_SCK_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MISO_PIN; - GPIO_Init(sFLASH_SPI_MISO_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = sFLASH_SPI_MOSI_PIN; - GPIO_Init(sFLASH_SPI_MOSI_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = sFLASH_CS_PIN; - GPIO_Init(sFLASH_CS_GPIO_PORT, &GPIO_InitStructure); -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/spi_flash.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/spi_flash.h deleted file mode 100644 index 681dbe8ae..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/spi_flash.h +++ /dev/null @@ -1,121 +0,0 @@ -/** - ****************************************************************************** - * @file spi_flash.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains all the functions prototypes for the spi_flash - * firmware driver. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __SPI_FLASH_H -#define __SPI_FLASH_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* M25P SPI Flash supported commands */ -#define sFLASH_CMD_WRITE 0x02 /* Write to Memory instruction */ -#define sFLASH_CMD_WRSR 0x01 /* Write Status Register instruction */ -#define sFLASH_CMD_WREN 0x06 /* Write enable instruction */ -#define sFLASH_CMD_READ 0x03 /* Read from Memory instruction */ -#define sFLASH_CMD_RDSR 0x05 /* Read Status Register instruction */ -#define sFLASH_CMD_RDID 0x9F /* Read identification */ -#define sFLASH_CMD_SE 0xD8 /* Sector Erase instruction */ -#define sFLASH_CMD_BE 0xC7 /* Bulk Erase instruction */ - -#define sFLASH_WIP_FLAG 0x01 /* Write In Progress (WIP) flag */ - -#define sFLASH_DUMMY_BYTE 0xA5 -#define sFLASH_SPI_PAGESIZE 0x100 - -#define sFLASH_M25P128_ID 0x202018 -#define sFLASH_M25P64_ID 0x202017 - -/* M25P FLASH SPI Interface pins */ -#define sFLASH_SPI SPI2 -#define sFLASH_SPI_CLK RCC_APB1Periph_SPI2 -#define sFLASH_SPI_CLK_INIT RCC_APB1PeriphClockCmd - -#define sFLASH_SPI_SCK_PIN GPIO_Pin_1 -#define sFLASH_SPI_SCK_GPIO_PORT GPIOI -#define sFLASH_SPI_SCK_GPIO_CLK RCC_AHB1Periph_GPIOI -#define sFLASH_SPI_SCK_SOURCE GPIO_PinSource1 -#define sFLASH_SPI_SCK_AF GPIO_AF_SPI2 - -#define sFLASH_SPI_MISO_PIN GPIO_Pin_2 -#define sFLASH_SPI_MISO_GPIO_PORT GPIOI -#define sFLASH_SPI_MISO_GPIO_CLK RCC_AHB1Periph_GPIOI -#define sFLASH_SPI_MISO_SOURCE GPIO_PinSource2 -#define sFLASH_SPI_MISO_AF GPIO_AF_SPI2 - -#define sFLASH_SPI_MOSI_PIN GPIO_Pin_3 -#define sFLASH_SPI_MOSI_GPIO_PORT GPIOI -#define sFLASH_SPI_MOSI_GPIO_CLK RCC_AHB1Periph_GPIOI -#define sFLASH_SPI_MOSI_SOURCE GPIO_PinSource3 -#define sFLASH_SPI_MOSI_AF GPIO_AF_SPI2 - -#define sFLASH_CS_PIN GPIO_Pin_0 -#define sFLASH_CS_GPIO_PORT GPIOI -#define sFLASH_CS_GPIO_CLK RCC_AHB1Periph_GPIOI - -/* Exported macro ------------------------------------------------------------*/ -/* Select sFLASH: Chip Select pin low */ -#define sFLASH_CS_LOW() GPIO_ResetBits(sFLASH_CS_GPIO_PORT, sFLASH_CS_PIN) -/* Deselect sFLASH: Chip Select pin high */ -#define sFLASH_CS_HIGH() GPIO_SetBits(sFLASH_CS_GPIO_PORT, sFLASH_CS_PIN) - -/* Exported functions ------------------------------------------------------- */ - -/* High layer functions */ -void sFLASH_DeInit(void); -void sFLASH_Init(void); -void sFLASH_EraseSector(uint32_t SectorAddr); -void sFLASH_EraseBulk(void); -void sFLASH_WritePage(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite); -void sFLASH_WriteBuffer(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite); -void sFLASH_ReadBuffer(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t NumByteToRead); -uint32_t sFLASH_ReadID(void); -void sFLASH_StartReadSequence(uint32_t ReadAddr); - -/* Low layer functions */ -uint8_t sFLASH_ReadByte(void); -uint8_t sFLASH_SendByte(uint8_t byte); -uint16_t sFLASH_SendHalfWord(uint16_t HalfWord); -void sFLASH_WriteEnable(void); -void sFLASH_WaitForWriteEnd(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __SPI_FLASH_H */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/stm32f2xx_conf.h deleted file mode 100644 index 457a05dcd..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file SPI/SPI_FLASH/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/stm32f2xx_it.c deleted file mode 100644 index f41f57016..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file SPI/SPI_FLASH/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SPI_FLASH - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/stm32f2xx_it.h deleted file mode 100644 index cbafabf27..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file SPI/SPI_FLASH/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_FLASH/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/main.c deleted file mode 100644 index 3ba4272ae..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/main.c +++ /dev/null @@ -1,454 +0,0 @@ -/** - ****************************************************************************** - * @file SPI/SPI_TwoBoards/DataExchangeInterrupt/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SPI_DataExchangeInterrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -SPI_InitTypeDef SPI_InitStructure; -uint8_t TxBuffer[] = "SPI Interrupt Example: Communication between two SPI using Interrupts"; -__IO uint32_t TimeOut = 0; - -#ifdef SPI_SLAVE - __IO uint8_t RxBuffer [RXBUFFERSIZE]; - __IO uint8_t Rx_Idx = 0; -#endif -#ifdef SPI_MASTER - JOYState_TypeDef ReleasedButton = JOY_NONE; - JOYState_TypeDef PressedButton = JOY_NONE; - __IO uint8_t Tx_Idx = 0; - __IO uint8_t CmdTransmitted = CMD_NONE; - __IO uint8_t CmdStatus = 0x00; - __IO uint8_t NumberOfByte = 0; -#endif - -/* Private function prototypes -----------------------------------------------*/ -static void SPI_Config(void); -static void SysTickConfig(void); - -#ifdef SPI_MASTER - static void TimeOut_UserCallback(void); -#endif - -#ifdef SPI_SLAVE - static TestStatus Buffercmp(uint8_t* pBuffer1, __IO uint8_t* pBuffer2, uint16_t BufferLength); - static void Fill_Buffer(__IO uint8_t *pBuffer, uint16_t BufferLength); -#endif - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* SPI configuration -------------------------------------------------------*/ - SPI_Config(); - - /* SysTick configuration ---------------------------------------------------*/ - SysTickConfig(); - - /* LEDs configuration ------------------------------------------------------*/ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - -#ifdef SPI_MASTER - /* Master board configuration ----------------------------------------------*/ - - /* Initialize push-buttons mounted on STM322xG-EVAL board */ - TimeOut = USER_TIMEOUT; - while ((IOE_Config() != IOE_OK) && (TimeOut != 0x00)) - { - } - - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Initializes the SPI communication */ - SPI_InitStructure.SPI_Mode = SPI_Mode_Master; - SPI_Init(SPIx, &SPI_InitStructure); - - /* The Data transfer is performed in the SPI interrupt routine */ - /* Enable the SPI peripheral */ - SPI_Cmd(SPIx, ENABLE); - - while (1) - { - /* Prepare Command to be transmitted -------------------------------------*/ - - /* Waiting joystick pressed */ - PressedButton = JOY_NONE; - while (PressedButton == JOY_NONE) - { - PressedButton = IOE_JoyStickGetState(); - } - - /* Waiting joystick released */ - ReleasedButton = IOE_JoyStickGetState(); - while ((PressedButton == ReleasedButton) && (ReleasedButton != JOY_NONE)) - { - ReleasedButton = IOE_JoyStickGetState(); - } - - /* For each joystick state correspond to a Transaction command -----------*/ - CmdTransmitted = CMD_NONE; - switch (PressedButton) - { - /* JOY_RIGHT button pressed */ - case JOY_RIGHT: - CmdTransmitted = CMD_RIGHT; - NumberOfByte = CMD_RIGHT_SIZE; - break; - /* JOY_LEFT button pressed */ - case JOY_LEFT: - CmdTransmitted = CMD_LEFT; - NumberOfByte = CMD_LEFT_SIZE; - break; - /* JOY_UP button pressed */ - case JOY_UP: - CmdTransmitted = CMD_UP; - NumberOfByte = CMD_UP_SIZE; - break; - /* JOY_DOWN button pressed */ - case JOY_DOWN: - CmdTransmitted = CMD_DOWN; - NumberOfByte = CMD_DOWN_SIZE; - break; - /* JOY_SEL button pressed */ - case JOY_SEL: - CmdTransmitted = CMD_SEL; - NumberOfByte = CMD_SEL_SIZE; - break; - default: - break; - } - - /* Master Transmit Command followed by Data Transaction ------------------*/ - CmdStatus = 0x00; - Tx_Idx = 0; - if (CmdTransmitted != CMD_NONE) - { - /* Enable the Tx buffer empty interrupt */ - SPI_I2S_ITConfig(SPIx, SPI_I2S_IT_TXE, ENABLE); - - /* Waiting the end of Data transfer */ - while (Tx_Idx < GetVar_NbrOfData()) - { - } - } - } -#endif /* SPI_MASTER */ - -#ifdef SPI_SLAVE - /* Slave board configuration -----------------------------------------------*/ - - /* Initializes the SPI communication */ - SPI_I2S_DeInit(SPIx); - SPI_InitStructure.SPI_Mode = SPI_Mode_Slave; - SPI_Init(SPIx, &SPI_InitStructure); - /* Enable the Rx buffer not empty interrupt */ - SPI_I2S_ITConfig(SPIx, SPI_I2S_IT_RXNE, ENABLE); - /* Enable the SPI peripheral */ - SPI_Cmd(SPIx, ENABLE); - - /* Infinite Loop */ - while (1) - { - - Rx_Idx = 0; - /* Clear the RxBuffer */ - Fill_Buffer(RxBuffer, TXBUFFERSIZE); - - /* Waiting Transaction Command Byte reception ----------------------------*/ - while (RxBuffer[0] == CMD_NONE) - { - } - - /* Waiting Transaction Data reception ------------------------------------*/ - TimeOut = 1; - while (TimeOut != 0x00) - { - } - - /* Check Transaction data correctness ------------------------------------*/ - switch (RxBuffer[0]) - { - /* CMD_RIGHT command received */ - case CMD_RIGHT: - if (Buffercmp(TxBuffer, &RxBuffer[1], CMD_RIGHT_SIZE) != FAILED) - { - /* Turn ON LED2 and LED3 */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - /* Turn OFF LED4 */ - STM_EVAL_LEDOff(LED4); - } - break; - /* CMD_LEFT command received */ - case CMD_LEFT: - if (Buffercmp(TxBuffer, &RxBuffer[1], CMD_LEFT_SIZE) != FAILED) - { - /* Turn ON LED4 */ - STM_EVAL_LEDOn(LED4); - /* Turn OFF LED2 and LED3 */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - } - break; - /* CMD_UP command received */ - case CMD_UP: - if (Buffercmp(TxBuffer, &RxBuffer[1], CMD_UP_SIZE) != FAILED) - { - /* Turn ON LED2 */ - STM_EVAL_LEDOn(LED2); - /* Turn OFF LED3 and LED4 */ - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } - break; - /* CMD_DOWN command received */ - case CMD_DOWN: - if (Buffercmp(TxBuffer, &RxBuffer[1], CMD_DOWN_SIZE) != FAILED) - { - /* Turn ON LED3 */ - STM_EVAL_LEDOn(LED3); - /* Turn OFF LED2 and LED4 */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED4); - } - break; - /* CMD_SEL command received */ - case CMD_SEL: - if (Buffercmp(TxBuffer, &RxBuffer[1], CMD_SEL_SIZE) != FAILED) - { - /* Turn ON LED2, LED3 and LED4 */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - } - break; - default: - break; - } - } -#endif /* SPI_SLAVE */ -} - -/** - * @brief Configures the SPI Peripheral. - * @param None - * @retval None - */ -static void SPI_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Peripheral Clock Enable -------------------------------------------------*/ - /* Enable the SPI clock */ - SPIx_CLK_INIT(SPIx_CLK, ENABLE); - - /* Enable GPIO clocks */ - RCC_AHB1PeriphClockCmd(SPIx_SCK_GPIO_CLK | SPIx_MISO_GPIO_CLK | SPIx_MOSI_GPIO_CLK, ENABLE); - - /* SPI GPIO Configuration --------------------------------------------------*/ - /* Connect SPI pins to AF5 */ - GPIO_PinAFConfig(SPIx_SCK_GPIO_PORT, SPIx_SCK_SOURCE, SPIx_SCK_AF); - GPIO_PinAFConfig(SPIx_MOSI_GPIO_PORT, SPIx_MOSI_SOURCE, SPIx_MOSI_AF); - - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; - - /* SPI SCK pin configuration */ - GPIO_InitStructure.GPIO_Pin = SPIx_SCK_PIN; - GPIO_Init(SPIx_SCK_GPIO_PORT, &GPIO_InitStructure); - - /* SPI MOSI pin configuration */ - GPIO_InitStructure.GPIO_Pin = SPIx_MOSI_PIN; - GPIO_Init(SPIx_MOSI_GPIO_PORT, &GPIO_InitStructure); - - /* SPI configuration -------------------------------------------------------*/ - SPI_I2S_DeInit(SPIx); - SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; - SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; - SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; - SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; - SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; - SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; - SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; - SPI_InitStructure.SPI_CRCPolynomial = 7; - - /* Configure the Priority Group to 1 bit */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); - - /* Configure the SPI interrupt priority */ - NVIC_InitStructure.NVIC_IRQChannel = SPIx_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -/** - * @brief Configure a SysTick Base time to 10 ms. - * @param None - * @retval None - */ -static void SysTickConfig(void) -{ - /* Setup SysTick Timer for 10ms interrupts */ - if (SysTick_Config(SystemCoreClock / 100)) - { - /* Capture error */ - while (1); - } - - /* Configure the SysTick handler priority */ - NVIC_SetPriority(SysTick_IRQn, 0x0); -} - -#ifdef SPI_MASTER -/** - * @brief Returns NumberOfByte variable value. - * @param None - * @retval Tx Buffer Size (NumberOfByte). - */ -uint8_t GetVar_NbrOfData(void) -{ - return NumberOfByte; -} -/** -* @brief Basic management of the timeout situation. -* @param None. -* @retval None. -*/ -static void TimeOut_UserCallback(void) -{ - /* User can add his own implementation to manage TimeOut Communication failure */ - /* Block communication and all processes */ - while(1) - { - } -} -#endif - -#ifdef SPI_SLAVE -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer1 identical to pBuffer2 - * FAILED: pBuffer1 differs from pBuffer2 - */ -static TestStatus Buffercmp(uint8_t* pBuffer1, __IO uint8_t* pBuffer2, uint16_t BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer1 != *pBuffer2) - { - return FAILED; - } - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} - -/** - * @brief Fills buffer. - * @param pBuffer: pointer on the Buffer to fill - * @param BufferLength: size of the buffer to fill - * @retval None - */ -static void Fill_Buffer(__IO uint8_t *pBuffer, uint16_t BufferLength) -{ - uint32_t index = 0; - - /* Put in global buffer same values */ - for (index = 0; index < BufferLength; index++ ) - { - pBuffer[index] = 0x00; - } -} -#endif /* SPI_SLAVE */ - - -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/main.h deleted file mode 100644 index 413ac06b5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/main.h +++ /dev/null @@ -1,116 +0,0 @@ -/** - ****************************************************************************** - * @file SPI/SPI_TwoBoards/DataExchangeInterrupt/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_ioe.h" - -/* Exported typedef -----------------------------------------------------------*/ -#define countof(a) (sizeof(a) / sizeof(*(a))) -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Exported define ------------------------------------------------------------*/ -/* Uncomment the line below if you will use the SPI peripheral as a Master */ -/* #define SPI_MASTER */ -/* Uncomment the line below if you will use the SPI peripheral as a Slave */ -#define SPI_SLAVE - -/* USER_TIMEOUT value for waiting loops. This timeout is just guarantee that the - application will not remain stuck if the USART communication is corrupted. - You may modify this timeout value depending on CPU frequency and application - conditions (interrupts routines, number of data to transfer, baudrate, CPU - frequency...). */ -#define USER_TIMEOUT ((uint32_t)0x64) /* Waiting 1s */ - -/* SPIx Communication boards Interface */ -#define SPIx SPI2 -#define SPIx_CLK RCC_APB1Periph_SPI2 -#define SPIx_CLK_INIT RCC_APB1PeriphClockCmd -#define SPIx_IRQn SPI2_IRQn -#define SPIx_IRQHANDLER SPI2_IRQHandler - -#define SPIx_SCK_PIN GPIO_Pin_1 -#define SPIx_SCK_GPIO_PORT GPIOI -#define SPIx_SCK_GPIO_CLK RCC_AHB1Periph_GPIOI -#define SPIx_SCK_SOURCE GPIO_PinSource1 -#define SPIx_SCK_AF GPIO_AF_SPI2 - -#define SPIx_MISO_PIN GPIO_Pin_2 -#define SPIx_MISO_GPIO_PORT GPIOI -#define SPIx_MISO_GPIO_CLK RCC_AHB1Periph_GPIOI -#define SPIx_MISO_SOURCE GPIO_PinSource2 -#define SPIx_MISO_AF GPIO_AF_SPI2 - -#define SPIx_MOSI_PIN GPIO_Pin_3 -#define SPIx_MOSI_GPIO_PORT GPIOI -#define SPIx_MOSI_GPIO_CLK RCC_AHB1Periph_GPIOI -#define SPIx_MOSI_SOURCE GPIO_PinSource3 -#define SPIx_MOSI_AF GPIO_AF_SPI2 - -#define TXBUFFERSIZE (countof(TxBuffer) - 1) -#define RXBUFFERSIZE TXBUFFERSIZE - -/* Joystick Commands */ -#define CMD_RIGHT 0x55 -#define CMD_LEFT 0xAA -#define CMD_UP 0x33 -#define CMD_DOWN 0xCC -#define CMD_SEL 0xFF -#define CMD_NONE 0x00 -#define CMD_ACK 0x66 - -/* Define numbers of bytes to transmit from TxBuffer */ -#define CMD_RIGHT_SIZE 0x01 -#define CMD_LEFT_SIZE 0x05 -#define CMD_UP_SIZE 0x14 -#define CMD_DOWN_SIZE 0x1E -#define CMD_SEL_SIZE TXBUFFERSIZE - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -#ifdef SPI_MASTER - uint8_t GetVar_NbrOfData(void); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/readme.txt deleted file mode 100644 index f974b02ba..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/readme.txt +++ /dev/null @@ -1,147 +0,0 @@ -/** - @page SPI_DataExchangeInterrupt SPI Communication Boards Data Exchange using interrupt example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file SPI/SPI_TwoBoards/DataExchangeInterrupt/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the SPI Communication Boards Data Exchange using - * interrupt example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a small application in which joystick buttons are used -to trigger SPI communication using interrupts and though using SPI firmware -library. - -- Hardware Description - -To use this example, you need to load it on two STM32 boards (let's call them -BoardA and BoardB) then connect these two boards through SPI lines and GND. -In the firmware example uncomment the dedicated line in the main.h file to use -the SPI peripheral as STM32 Master device or as STM32 Slave . - -@verbatim -*------------------------------------------------------------------------------* -| BoardA BoardB | -| ____________________ ____________________ | -| | | | | | -| | | | | | -| | __________ | | __________ | | -| | |SPI Master|____|_______SCK_______|____|SPI Slave | | | -| | | Device |____|_______MOSI______|____| Device | | | -| | |__________| | | |__________| | | -| | | | | | -| | O LD1 | | O LD1 | | -| | O LD2 Joystick | | O LD2 Joystick | | -| | O LD3 _ | | O LD3 _ | | -| | O LD4 |_| | | O LD4 |_| | | -| | | | | | -| | GND O--|-----------------|--O GND | | -| |____________________| |____________________| | -| | -| | -*------------------------------------------------------------------------------* -@endverbatim - -@note The connection between the pins should use a short wires and a common Ground. - -- Software Description -In master board, SPI peripheral is configured as Master full duplex with Interrupt, -whereas in Slave board, SPI peripheral is configured as Slave Full duplex with Interrupt. - -At each joystick buttons press: -- The Master sends a specific command to the Slave, the command contains the - transaction code (CMD_RIGHT, CMD_LEFT, CMD_UP, CMD_DOWN or CMD_SEL), then - the defined NumberOfByte from TxBuffer. - - -- The Slave after checking the received command, compares the NumberOfByte received data - with the defined ones into TxBuffer. Received data correctness is signaled by LED - lightening and though as follow: - - Received command CMD_RIGHT and data correctly received --> LD2 and LD3 ON - - Received command CMD_LEFT and data correctly received --> LD4 ON - - Received command CMD_UP and data correctly received --> LD2 ON - - Received command CMD_DOWN and data correctly received --> LD3 ON - - Received command CMD_SEL and data correctly received --> LD2, LD3 and LD4 ON - -In both boards, the data transfers is managed using SPIx_IRQHandler in stm32f2xx_it.c -file. -The SysTick is configured to generate interrupt each 10ms. A dedicated counter -inside the SysTick ISR is used to toggle LD1 each 100ms indicating that the -firmware is running. -These operations can be repeated infinitely. - - -A defined communication timeout is insuring that the application will not remain -stuck if the SPI communication is corrupted. -You can adjust this timeout through the USER_TIMEOUT define inside main.h file -depending on CPU frequency and application conditions (interrupts routines, -number of data to transfer, baudrate, CPU frequency...). -When a given operation is not finished within the defined timeout, a callback is -made to the function "TimeOut_UserCallback()", this function is used to manage -timeout communication failure. In this example, this callback implements a simple -infinite loop, but user can add his own implementation to manage timeout failure. - - -@par Directory contents - - - SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h Library Configuration file - - SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c Interrupt handlers - - SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h Interrupt handlers header file - - SPI/SPI_TwoBoards/DataExchangeInterrupt/main.c Main program - - SPI/SPI_TwoBoards/DataExchangeInterrupt/main.h Main program header file - - SPI/SPI_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" tool. - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB (with no additional - hardware), and can be easily tailored to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - Use the Joystick Push Button - - Connect BoardA SPI2 SCK pin (PI1) to BoardB SPI2 SCK pin (PI1) - - Connect BoardA SPI2 MOSI pin (PI3) to BoardB SPI2 MOSI pin (PI3) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h deleted file mode 100644 index 3ef5830de..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c deleted file mode 100644 index a3846bf0d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c +++ /dev/null @@ -1,244 +0,0 @@ -/** - ****************************************************************************** - * @file SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SPI_DataExchangeInterrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -#ifdef SPI_SLAVE - extern __IO uint8_t RxBuffer[]; - extern __IO uint8_t Rx_Idx; -#endif -#ifdef SPI_MASTER - extern __IO uint8_t CmdTransmitted; - extern __IO uint8_t Tx_Idx; - extern __IO uint8_t CmdStatus; -#endif - -extern uint8_t TxBuffer[]; -extern __IO uint32_t TimeOut; -__IO uint8_t Counter = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - /* Decrement the timeout value */ - if (TimeOut != 0) - { - TimeOut--; - } - - if (Counter < 10) - { - Counter++; - } - else - { - Counter = 0; - STM_EVAL_LEDToggle(LED1); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles SPI interrupt request. - * @param None - * @retval None - */ -void SPIx_IRQHANDLER(void) -{ -#ifdef SPI_SLAVE - /* SPI in Slave Receiver mode--------------------------------------- */ - if (SPI_I2S_GetITStatus(SPIx, SPI_I2S_IT_RXNE) == SET) - { - RxBuffer[Rx_Idx++] = SPI_I2S_ReceiveData(SPIx); - } -#endif -#ifdef SPI_MASTER - /* SPI in Master Tramitter mode--------------------------------------- */ - if (SPI_I2S_GetITStatus(SPIx, SPI_I2S_IT_TXE) == SET) - { - if (CmdStatus == 0x00) - { - /* Send Transaction code */ - SPI_I2S_SendData(SPIx, CmdTransmitted); - CmdStatus = 0x01; - } - else - { - if (Tx_Idx < GetVar_NbrOfData()) - { - /* Send Transaction data */ - SPI_I2S_SendData(SPIx, TxBuffer[Tx_Idx++]); - } - else - { - /* Disable the Tx buffer empty interrupt */ - SPI_I2S_ITConfig(SPIx, SPI_I2S_IT_TXE, DISABLE); - } - } - } -#endif /* SPI_SLAVE */ -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h deleted file mode 100644 index ed559f09b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h +++ /dev/null @@ -1,61 +0,0 @@ -/** - ****************************************************************************** - * @file SPI/SPI_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void SPIx_IRQHANDLER(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SPI/SPI_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/main.c deleted file mode 100644 index 841dfd81c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/main.c +++ /dev/null @@ -1,179 +0,0 @@ -/** - ****************************************************************************** - * @file SysTick/SysTick_Example/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SysTick_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -GPIO_InitTypeDef GPIO_InitStructure; -static __IO uint32_t TimingDelay; - -/* Private function prototypes -----------------------------------------------*/ -void Delay(__IO uint32_t nTime); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize Leds mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Turn on LED1 and LED3 */ - STM_EVAL_LEDOn(LED1); - STM_EVAL_LEDOn(LED3); - - /* Setup SysTick Timer for 1 msec interrupts. - ------------------------------------------ - 1. The SysTick_Config() function is a CMSIS function which configure: - - The SysTick Reload register with value passed as function parameter. - - Configure the SysTick IRQ priority to the lowest value (0x0F). - - Reset the SysTick Counter register. - - Configure the SysTick Counter clock source to be Core Clock Source (HCLK). - - Enable the SysTick Interrupt. - - Start the SysTick Counter. - - 2. You can change the SysTick Clock source to be HCLK_Div8 by calling the - SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8) just after the - SysTick_Config() function call. The SysTick_CLKSourceConfig() is defined - inside the misc.c file. - - 3. You can change the SysTick IRQ priority by calling the - NVIC_SetPriority(SysTick_IRQn,...) just after the SysTick_Config() function - call. The NVIC_SetPriority() is defined inside the core_cm3.h file. - - 4. To adjust the SysTick time base, use the following formula: - - Reload Value = SysTick Counter Clock (Hz) x Desired Time base (s) - - - Reload Value is the parameter to be passed for SysTick_Config() function - - Reload Value should not exceed 0xFFFFFF - */ - if (SysTick_Config(SystemCoreClock / 1000)) - { - /* Capture error */ - while (1); - } - - while (1) - { - /* Toggle LED2 and LED4 */ - STM_EVAL_LEDToggle(LED2); - STM_EVAL_LEDToggle(LED4); - - /* Insert 50 ms delay */ - Delay(50); - - /* Toggle LED1 and LED3 */ - STM_EVAL_LEDToggle(LED1); - STM_EVAL_LEDToggle(LED3); - - /* Insert 100 ms delay */ - Delay(100); - } -} - -/** - * @brief Inserts a delay time. - * @param nTime: specifies the delay time length, in milliseconds. - * @retval None - */ -void Delay(__IO uint32_t nTime) -{ - TimingDelay = nTime; - - while(TimingDelay != 0); -} - -/** - * @brief Decrements the TimingDelay variable. - * @param None - * @retval None - */ -void TimingDelay_Decrement(void) -{ - if (TimingDelay != 0x00) - { - TimingDelay--; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/main.h deleted file mode 100644 index e038c2c1e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/main.h +++ /dev/null @@ -1,44 +0,0 @@ -/** - ****************************************************************************** - * @file SysTick/SysTick_Example/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void TimingDelay_Decrement(void); - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/readme.txt deleted file mode 100644 index a96f26acc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/readme.txt +++ /dev/null @@ -1,77 +0,0 @@ -/** - @page SysTick_Example SysTick Configuration example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file SysTick/SysTick_Example/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the SysTick Configuration example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the SysTick to generate a time base equal to -1 ms. The system clock is set to 120 MHz, the SysTick is clocked by the AHB clock -(HCLK). - -A "Delay" function is implemented based on the SysTick end-of-count event. -Four LEDs are toggled with a timing defined by the Delay function. - -@par Directory contents - - - SysTick/SysTick_Example/stm32f2xx_conf.h Library Configuration file - - SysTick/SysTick_Example/stm32f2xx_it.c Interrupt handlers - - SysTick/SysTick_Example/stm32f2xx_it.h Header for stm32f2xx_it.c - - SysTick/SysTick_Example/main.c Main program - - SysTick/SysTick_Example/main.h Header for main.c - - SysTick/SysTick_Example/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/stm32f2xx_conf.h deleted file mode 100644 index c748e304e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file SysTick/SysTick_Example/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/stm32f2xx_it.c deleted file mode 100644 index c4a8345cd..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/stm32f2xx_it.c +++ /dev/null @@ -1,175 +0,0 @@ -/** - ****************************************************************************** - * @file SysTick/SysTick_Example/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup SysTick_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - TimingDelay_Decrement(); -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/stm32f2xx_it.h deleted file mode 100644 index 8520a4528..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file SysTick/SysTick_Example/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/SysTick/SysTick_Example/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/main.c deleted file mode 100644 index 6964bc329..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/main.c +++ /dev/null @@ -1,248 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/6Steps/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_6Steps - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -TIM_BDTRInitTypeDef TIM_BDTRInitStructure; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); -void SysTickConfig(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* SysTick Configuration */ - SysTickConfig(); - - /* TIM1 Configuration */ - TIM_Config(); - - /*---------------------------------------------------------------------------- - The STM32F2xx TIM1 peripheral offers the possibility to program in advance the - configuration for the next TIM1 outputs behaviour (step) and change the configuration - of all the channels at the same time. This operation is possible when the COM - (commutation) event is used. - The COM event can be generated by software by setting the COM bit in the TIM1_EGR - register or by hardware (on TRC rising edge). - In this example, a software COM event is generated each 100 ms: using the SysTick - interrupt. - The TIM1 is configured in Timing Mode, each time a COM event occurs, a new TIM1 - configuration will be set in advance. - - The following Table describes the TIM1 Channels states: - ----------------------------------------------- - | Step1 | Step2 | Step3 | Step4 | Step5 | Step6 | - ---------------------------------------------------------- - |Channel1 | 1 | 0 | 0 | 0 | 0 | 1 | - ---------------------------------------------------------- - |Channel1N | 0 | 0 | 1 | 1 | 0 | 0 | - ---------------------------------------------------------- - |Channel2 | 0 | 0 | 0 | 1 | 1 | 0 | - ---------------------------------------------------------- - |Channel2N | 1 | 1 | 0 | 0 | 0 | 0 | - ---------------------------------------------------------- - |Channel3 | 0 | 1 | 1 | 0 | 0 | 0 | - ---------------------------------------------------------- - |Channel3N | 0 | 0 | 0 | 0 | 1 | 1 | - ---------------------------------------------------------- - ----------------------------------------------------------------------------*/ - - /* Time Base configuration */ - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - TIM_TimeBaseStructure.TIM_Period = 4095; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; - - TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); - - /* Channel 1, 2,3 and 4 Configuration in PWM mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; - TIM_OCInitStructure.TIM_Pulse = 2047; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; - TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High; - TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set; - TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Set; - - TIM_OC1Init(TIM1, &TIM_OCInitStructure); - - TIM_OCInitStructure.TIM_Pulse = 1023; - TIM_OC2Init(TIM1, &TIM_OCInitStructure); - - TIM_OCInitStructure.TIM_Pulse = 511; - TIM_OC3Init(TIM1, &TIM_OCInitStructure); - - /* Automatic Output enable, Break, dead time and lock configuration*/ - TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable; - TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable; - TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_OFF; - TIM_BDTRInitStructure.TIM_DeadTime = 1; - TIM_BDTRInitStructure.TIM_Break = TIM_Break_Enable; - TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High; - TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable; - - TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure); - - TIM_CCPreloadControl(TIM1, ENABLE); - - TIM_ITConfig(TIM1, TIM_IT_COM, ENABLE); - - /* TIM1 counter enable */ - TIM_Cmd(TIM1, ENABLE); - - /* Main Output Enable */ - TIM_CtrlPWMOutputs(TIM1, ENABLE); - - while (1) - {} -} - -/** - * @brief Configure the TIM1 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* GPIOA and GPIOB clocks enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOE, ENABLE); - - /* TIM1 clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); - - /* GPIOA Configuration: Channel 1 and 3 as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_10; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* GPIOE Configuration: Channel 1 as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - /* GPIOB Configuration: BKIN, Channel 1N, 2N and 3N as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Connect TIM pins to AF1 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOE, GPIO_PinSource11, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_TIM1); - - /* Enable the TIM1 Trigger and commutation interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = TIM1_TRG_COM_TIM11_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -/** - * @brief Configures the SysTick. - * @param None - * @retval None - */ -void SysTickConfig(void) -{ - /* Setup SysTick Timer for 100 msec interrupts */ - if (SysTick_Config((SystemCoreClock) / 10)) - { - /* Capture error */ - while (1); - } - - NVIC_SetPriority(SysTick_IRQn, 0x0); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} - -#endif -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/readme.txt deleted file mode 100644 index f911d2036..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/readme.txt +++ /dev/null @@ -1,107 +0,0 @@ -/** - @page TIM_6Steps TIM 6 Steps example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/6Steps/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM 6 Steps example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the TIM1 peripheral to generate 6 Steps. -The STM32F2xx TIM1 peripheral offers the possibility to program in advance the -configuration for the next TIM1 outputs behaviour (step) and change the configuration -of all the channels at the same time. This operation is possible when the COM -(commutation) event is used. -The COM event can be generated by software by setting the COM bit in the TIM1_EGR -register or by hardware (on TRC rising edge). -In this example, a software COM event is generated each 100 ms: using the SysTick -interrupt. -The TIM1 is configured in Timing Mode, each time a COM event occurs, a new TIM1 -configuration will be set in advance. - -The break Polarity is used at High level. - -The following Table describes the TIM1 Channels states: - @verbatim - ----------------------------------------------- - | Step1 | Step2 | Step3 | Step4 | Step5 | Step6 | - ---------------------------------------------------------- - |Channel1 | 1 | 0 | 0 | 0 | 0 | 1 | - ---------------------------------------------------------- - |Channel1N | 0 | 0 | 1 | 1 | 0 | 0 | - ---------------------------------------------------------- - |Channel2 | 0 | 0 | 0 | 1 | 1 | 0 | - ---------------------------------------------------------- - |Channel2N | 1 | 1 | 0 | 0 | 0 | 0 | - ---------------------------------------------------------- - |Channel3 | 0 | 1 | 1 | 0 | 0 | 0 | - ---------------------------------------------------------- - |Channel3N | 0 | 0 | 0 | 0 | 1 | 1 | - ---------------------------------------------------------- - @endverbatim - -@par Directory contents - - - TIM/6Steps/stm32f2xx_conf.h Library Configuration file - - TIM/6Steps/stm32f2xx_it.c Interrupt handlers - - TIM/6Steps/stm32f2xx_it.h Interrupt handlers header file - - TIM/6Steps/main.c Main program - - TIM/6Steps/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG Set-up - - Connect the TIM1 pins to an oscilloscope to monitor the different waveforms: - - TIM1_CH3 pin (PA.10) - - TIM1_CH1N pin (PB.13) - - TIM1_CH2 pin (PE.11) - - TIM1_CH3N pin (PB.15) - - TIM1_CH1 pin (PA.08) - - TIM1_CH2N pin (PB.14) - - Connect the TIM1 break pin TIM1_BKIN pin (PB.12) to the GND. To generate a - break event, switch this pin level from 0V to 3.3V. - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/stm32f2xx_conf.h deleted file mode 100644 index e02fd80f2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/6Steps/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/stm32f2xx_it.c deleted file mode 100644 index 108f6e73e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/stm32f2xx_it.c +++ /dev/null @@ -1,294 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/6Steps/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_6Steps - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t step = 1; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - /* Generate TIM1 COM event by software */ - TIM_GenerateEvent(TIM1, TIM_EventSource_COM); -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles TIM1 Trigger and commutation and TIM11 - * global interrupts requests. - * @param None - * @retval None - */ -void TIM1_TRG_COM_TIM11_IRQHandler(void) -{ - /* Clear TIM1 COM pending bit */ - TIM_ClearITPendingBit(TIM1, TIM_IT_COM); - - if (step == 1) - { - /* Next step: Step 2 Configuration -------------------------------------- */ - /* Channel3 configuration */ - TIM_CCxCmd(TIM1, TIM_Channel_3, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_3, TIM_CCxN_Disable); - - /* Channel1 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_1, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Enable); - TIM_CCxNCmd(TIM1, TIM_Channel_1, TIM_CCxN_Disable); - - /* Channel2 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_2, TIM_OCMode_PWM1 ); - TIM_CCxCmd(TIM1, TIM_Channel_2, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_2, TIM_CCxN_Enable); - step++; - } - else if (step == 2) - { - /* Next step: Step 3 Configuration -------------------------------------- */ - /* Channel2 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_2, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_2, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_2, TIM_CCxN_Enable); - - /* Channel3 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_3, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_3, TIM_CCx_Enable); - TIM_CCxNCmd(TIM1, TIM_Channel_3, TIM_CCxN_Disable); - - /* Channel1 configuration */ - TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_1, TIM_CCxN_Disable); - step++; - } - else if (step == 3) - { - /* Next step: Step 4 Configuration -------------------------------------- */ - /* Channel3 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_3, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_3, TIM_CCx_Enable); - TIM_CCxNCmd(TIM1, TIM_Channel_3, TIM_CCxN_Disable); - - /* Channel2 configuration */ - TIM_CCxCmd(TIM1, TIM_Channel_2, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_2, TIM_CCxN_Disable); - - /* Channel1 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_1, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_1, TIM_CCxN_Enable); - step++; - } - else if (step == 4) - { - /* Next step: Step 5 Configuration -------------------------------------- */ - /* Channel3 configuration */ - TIM_CCxCmd(TIM1, TIM_Channel_3, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_3, TIM_CCxN_Disable); - - /* Channel1 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_1, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_1, TIM_CCxN_Enable); - - /* Channel2 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_2, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_2, TIM_CCx_Enable); - TIM_CCxNCmd(TIM1, TIM_Channel_2, TIM_CCxN_Disable); - step++; - } - else if (step == 5) - { - /* Next step: Step 6 Configuration -------------------------------------- */ - /* Channel3 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_3, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_3, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_3, TIM_CCxN_Enable); - - /* Channel1 configuration */ - TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_1, TIM_CCxN_Disable); - - /* Channel2 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_2, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_2, TIM_CCx_Enable); - TIM_CCxNCmd(TIM1, TIM_Channel_2, TIM_CCxN_Disable); - step++; - } - else - { - /* Next step: Step 1 Configuration -------------------------------------- */ - /* Channel1 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_1, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Enable); - TIM_CCxNCmd(TIM1, TIM_Channel_2, TIM_CCxN_Disable); - - /* Channel3 configuration */ - TIM_SelectOCxM(TIM1, TIM_Channel_3, TIM_OCMode_PWM1); - TIM_CCxCmd(TIM1, TIM_Channel_3, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_3, TIM_CCxN_Enable); - - /* Channel2 configuration */ - TIM_CCxCmd(TIM1, TIM_Channel_2, TIM_CCx_Disable); - TIM_CCxNCmd(TIM1, TIM_Channel_2, TIM_CCxN_Disable); - step = 1; - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/stm32f2xx_it.h deleted file mode 100644 index 37bf40858..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/6Steps/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void TIM1_TRG_COM_TIM11_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/6Steps/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/main.c deleted file mode 100644 index f5b45f337..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/main.c +++ /dev/null @@ -1,215 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/7PWM_Output/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_7PWM_Output - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -uint16_t TimerPeriod = 0; -uint16_t Channel1Pulse = 0, Channel2Pulse = 0, Channel3Pulse = 0, Channel4Pulse = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* TIM1 Configuration --------------------------------------------------- - Generate 7 PWM signals with 4 different duty cycles: - TIM1 input clock (TIM1CLK) is set to 2 * APB2 clock (PCLK2), since APB2 - prescaler is different from 1. - TIM1CLK = 2 * PCLK2 - PCLK2 = HCLK / 2 - => TIM1CLK = 2 * (HCLK / 2) = HCLK = SystemCoreClock - TIM1CLK = SystemCoreClock, Prescaler = 0, TIM1 counter clock = SystemCoreClock - SystemCoreClock is set to 120 MHz for STM32F2xx devices - - The objective is to generate 7 PWM signal at 17.57 KHz: - - TIM1_Period = (SystemCoreClock / 17570) - 1 - The channel 1 and channel 1N duty cycle is set to 50% - The channel 2 and channel 2N duty cycle is set to 37.5% - The channel 3 and channel 3N duty cycle is set to 25% - The channel 4 duty cycle is set to 12.5% - The Timer pulse is calculated as follows: - - ChannelxPulse = DutyCycle * (TIM1_Period - 1) / 100 - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f4xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - ----------------------------------------------------------------------- */ - /* Compute the value to be set in ARR regiter to generate signal frequency at 17.57 Khz */ - TimerPeriod = (SystemCoreClock / 17570 ) - 1; - /* Compute CCR1 value to generate a duty cycle at 50% for channel 1 and 1N */ - Channel1Pulse = (uint16_t) (((uint32_t) 5 * (TimerPeriod - 1)) / 10); - /* Compute CCR2 value to generate a duty cycle at 37.5% for channel 2 and 2N */ - Channel2Pulse = (uint16_t) (((uint32_t) 375 * (TimerPeriod - 1)) / 1000); - /* Compute CCR3 value to generate a duty cycle at 25% for channel 3 and 3N */ - Channel3Pulse = (uint16_t) (((uint32_t) 25 * (TimerPeriod - 1)) / 100); - /* Compute CCR4 value to generate a duty cycle at 12.5% for channel 4 */ - Channel4Pulse = (uint16_t) (((uint32_t) 125 * (TimerPeriod- 1)) / 1000); - - /* TIM1 clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1 , ENABLE); - - /* Time Base configuration */ - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - TIM_TimeBaseStructure.TIM_Period = TimerPeriod; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; - - TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); - - /* Channel 1, 2,3 and 4 Configuration in PWM mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; - TIM_OCInitStructure.TIM_Pulse = Channel1Pulse; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; - TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High; - TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set; - TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset; - - TIM_OC1Init(TIM1, &TIM_OCInitStructure); - - TIM_OCInitStructure.TIM_Pulse = Channel2Pulse; - TIM_OC2Init(TIM1, &TIM_OCInitStructure); - - TIM_OCInitStructure.TIM_Pulse = Channel3Pulse; - TIM_OC3Init(TIM1, &TIM_OCInitStructure); - - TIM_OCInitStructure.TIM_Pulse = Channel4Pulse; - TIM_OC4Init(TIM1, &TIM_OCInitStructure); - - /* TIM1 counter enable */ - TIM_Cmd(TIM1, ENABLE); - - /* TIM1 Main Output Enable */ - TIM_CtrlPWMOutputs(TIM1, ENABLE); - - while (1) - {} -} - -/** - * @brief Configure the TIM1 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* GPIOA, GPIOB and GPIOE Clocks enable */ - RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOE , ENABLE); - - /* GPIOA Configuration: Channel 1, 3 and 4 as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_10 | GPIO_Pin_11; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_TIM1); - - /* GPIOE Configuration: Channel 2 as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 ; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - GPIO_PinAFConfig(GPIOE, GPIO_PinSource11, GPIO_AF_TIM1); - - /* GPIOB Configuration: Channel 1N, 2N and 3N as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_TIM1); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/readme.txt deleted file mode 100644 index 328a482a7..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/readme.txt +++ /dev/null @@ -1,91 +0,0 @@ -/** - @page TIM_7PWM_Output TIM_7PWM_Output - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/7PWM_Output/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM 7PWM_Output example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the TIM1 peripheral to generate 7 PWM signals -with 4 different duty cycles (50%, 37.5%, 25% and 12.5%). - -TIM1CLK = SystemCoreClock, Prescaler = 0, TIM1 counter clock = SystemCoreClock -SystemCoreClock is set to 120 MHz for STM32F2xx devices. - -The objective is to generate 7 PWM signal at 17.57 KHz: - - TIM1_Period = (SystemCoreClock / 17570) - 1 -The channel 1 and channel 1N duty cycle is set to 50% -The channel 2 and channel 2N duty cycle is set to 37.5% -The channel 3 and channel 3N duty cycle is set to 25% -The channel 4 duty cycle is set to 12.5% -The Timer pulse is calculated as follows: - - ChannelxPulse = DutyCycle * (TIM1_Period - 1) / 100 - -The TIM1 waveform can be displayed using an oscilloscope. - - -@par Directory contents - - - TIM/7PWM_Output/stm32f2xx_conf.h Library Configuration file - - TIM/7PWM_Output/stm32f2xx_it.c Interrupt handlers - - TIM/7PWM_Output/stm32f2xx_it.h Interrupt handlers header file - - TIM/7PWM_Output/main.c Main program - - TIM/7PWM_Output/system_stm32f2xx.c STM32F2xx system clock configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the TIM1 pins to an oscilloscope to monitor the different waveforms: - - TIM1_CH1 pin (PA.08) - - TIM1_CH1N pin (PB.13) - - TIM1_CH2 pin (PE.11) - - TIM1_CH2N pin (PB.14) - - TIM1_CH3 pin (PA.10) - - TIM1_CH3N pin (PB.15) - - TIM1_CH4 pin (PA.11) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/stm32f2xx_conf.h deleted file mode 100644 index 751495302..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/7PWM_Output/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/stm32f2xx_it.c deleted file mode 100644 index eb7b1916d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/stm32f2xx_it.c +++ /dev/null @@ -1,164 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/7PWM_Output/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_7PWM_Output - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/stm32f2xx_it.h deleted file mode 100644 index 65be3003c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/7PWM_Output/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/7PWM_Output/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/main.c deleted file mode 100644 index 6f2070344..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/main.c +++ /dev/null @@ -1,242 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/Cascade_Synchro/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_Cascade_Synchro - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM2/3/4 Configuration */ - TIM_Config(); - - /* Timers synchronisation in cascade mode ---------------------------- - 1/TIM2 is configured as Master Timer: - - PWM Mode is used - - The TIM2 Update event is used as Trigger Output - - 2/TIM3 is slave for TIM2 and Master for TIM4, - - PWM Mode is used - - The ITR1(TIM2) is used as input trigger - - Gated mode is used, so start and stop of slave counter - are controlled by the Master trigger output signal(TIM2 update event). - - The TIM3 Update event is used as Trigger Output. - - 3/TIM4 is slave for TIM3, - - PWM Mode is used - - The ITR2(TIM3) is used as input trigger - - Gated mode is used, so start and stop of slave counter - are controlled by the Master trigger output signal(TIM3 update event). - - In this example TIM2 input clock (TIM2CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM2CLK = 2 * PCLK1 - PCLK1 = HCLK / 4 - => TIM2CLK = HCLK / 2 = SystemCoreClock /2 - - The Master Timer TIM2 is running at TIM2 counter clock: - TIM2 frequency = (TIM2 counter clock)/ (TIM2 period + 1) = 234.375 KHz - and the duty cycle = TIM2_CCR1/(TIM2_ARR + 1) = 25%. - - The TIM3 is running: - - At (TIM2 frequency)/ (TIM3 period + 1) = 58.593 KHz and a duty cycle - equal to TIM3_CCR1/(TIM3_ARR + 1) = 25% - - The TIM4 is running: - - At (TIM3 frequency)/ (TIM4 period + 1) = 14.648 KHz and a duty cycle - equal to TIM4_CCR1/(TIM4_ARR + 1) = 25% - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f4xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - --------------------------------------------------------------------------- */ - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 255; - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); - - TIM_TimeBaseStructure.TIM_Period = 3; - TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); - - TIM_TimeBaseStructure.TIM_Period = 3; - TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); - - /* Master Configuration in PWM1 Mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = 64; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; - - TIM_OC1Init(TIM2, &TIM_OCInitStructure); - - /* Select the Master Slave Mode */ - TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable); - - /* Master Mode selection */ - TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_Update); - - /* Slaves Configuration: PWM1 Mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = 1; - - TIM_OC1Init(TIM3, &TIM_OCInitStructure); - - TIM_OC1Init(TIM4, &TIM_OCInitStructure); - - /* Slave Mode selection: TIM3 */ - TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Gated); - TIM_SelectInputTrigger(TIM3, TIM_TS_ITR1); - - /* Select the Master Slave Mode */ - TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable); - - /* Master Mode selection: TIM3 */ - TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Update); - - /* Slave Mode selection: TIM4 */ - TIM_SelectSlaveMode(TIM4, TIM_SlaveMode_Gated); - TIM_SelectInputTrigger(TIM4, TIM_TS_ITR2); - - /* TIM enable counter */ - TIM_Cmd(TIM3, ENABLE); - TIM_Cmd(TIM2, ENABLE); - TIM_Cmd(TIM4, ENABLE); - - while (1) - { - } -} - -/** - * @brief Configure the TIM2/3/4 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* TIM2, TIM3 and TIM4 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM3 | - RCC_APB1Periph_TIM4, ENABLE); - - /* GPIOA and GPIOB clocks enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB, ENABLE); - - /* GPIOB Configuration: PB4(TIM3 CH1) as alternate function push-pull ------*/ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Connect TIM pins to AF2 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource4, GPIO_AF_TIM3); - - /* GPIOB Configuration: PB6(TIM4 CH1) as alternate function push-pull ------*/ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Connect TIM pins to AF2 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_TIM4); - - /* GPIOA Configuration: PA0(TIM2 CH1) as alternate function push-pull ------*/ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* Connect TIM pins to AF1 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource0, GPIO_AF_TIM2); - -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/readme.txt deleted file mode 100644 index a0db5a0bf..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/readme.txt +++ /dev/null @@ -1,105 +0,0 @@ -/** - @page TIM_Cascade_Synchro TIM Cascade Synchro example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/Cascade_Synchro/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM Cascade Synchro example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to synchronize TIM peripherals in cascade mode. -In this example three timers are used: - -Timers synchronisation in cascade mode: - -1/TIM2 is configured as Master Timer: - - PWM Mode is used - - The TIM2 Update event is used as Trigger Output - -2/TIM3 is slave for TIM2 and Master for TIM4, - - PWM Mode is used - - The ITR1(TIM2) is used as input trigger - - Gated mode is used, so start and stop of slave counter - are controlled by the Master trigger output signal(TIM2 update event). - - The TIM3 Update event is used as Trigger Output. - -3/TIM4 is slave for TIM3, - - PWM Mode is used - - The ITR2(TIM3) is used as input trigger - - Gated mode is used, so start and stop of slave counter are controlled by the - Master trigger output signal(TIM3 update event). - -The TIM2 counter clock is 60 MHz. - - The Master Timer TIM2 is running at TIM2 frequency : - TIM2 frequency = (TIM2 counter clock)/ (TIM2 period + 1) = 234.375 KHz - and the duty cycle = TIM2_CCR1/(TIM2_ARR + 1) = 25%. - - The TIM3 is running at: - (TIM2 frequency)/ (TIM3 period + 1) = 58.593 KHz and a duty cycle equal - to TIM3_CCR1/(TIM3_ARR + 1) = 25% - - The TIM4 is running at: - (TIM3 frequency)/ (TIM4 period + 1) = 14.648 Hz and a duty cycle equal - to TIM4_CCR1/(TIM4_ARR + 1) = 25% - -@par Directory contents - - - TIM/Cascade_Synchro/stm32f2xx_conf.h Library Configuration file - - TIM/Cascade_Synchro/stm32f2xx_it.c Interrupt handlers - - TIM/Cascade_Synchro/stm32f2xx_it.h Interrupt handlers header file - - TIM/Cascade_Synchro/main.c Main program - - TIM/Cascade_Synchro/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG Set-up - - Connect the following pins to an oscilloscope to monitor the different - waveforms: - - TIM2 CH1 (PA.00) - - TIM3 CH1 (PB.04) - - TIM4 CH1 (PB.06) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/stm32f2xx_conf.h deleted file mode 100644 index 956d52e2c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/Cascade_Synchro/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/stm32f2xx_it.c deleted file mode 100644 index 0365835a5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/Cascade_Synchro/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_Cascade_Synchro - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/stm32f2xx_it.h deleted file mode 100644 index 171c327b6..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/Cascade_Synchro/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Cascade_Synchro/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/main.c deleted file mode 100644 index aca5dbc32..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/main.c +++ /dev/null @@ -1,242 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/ComplementarySignals/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_ComplementarySignals - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -TIM_BDTRInitTypeDef TIM_BDTRInitStructure; -uint16_t TimerPeriod = 0; -uint16_t Channel1Pulse = 0, Channel2Pulse = 0, Channel3Pulse = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM1 Configuration */ - TIM_Config(); - - /* --------------------------------------------------------------------------- - TIM1 Configuration to: - - 1/ Generate 3 complementary PWM signals with 3 different duty cycles: - - TIM1 input clock (TIM1CLK) is set to 2 * APB2 clock (PCLK2), since APB2 - prescaler is different from 1. - TIM1CLK = 2 * PCLK2 - PCLK2 = HCLK / 2 - => TIM1CLK = 2 * (HCLK / 2) = HCLK = SystemCoreClock - - TIM1CLK is fixed to SystemCoreClock, the TIM1 Prescaler is equal to 0 so the - TIM1 counter clock used is SystemCoreClock (120MHz). - - The objective is to generate PWM signal at 17.57 KHz: - - TIM1_Period = (SystemCoreClock / 17570) - 1 - - The Three Duty cycles are computed as the following description: - - The channel 1 duty cycle is set to 50% so channel 1N is set to 50%. - The channel 2 duty cycle is set to 25% so channel 2N is set to 75%. - The channel 3 duty cycle is set to 12.5% so channel 3N is set to 87.5%. - - The Timer pulse is calculated as follows: - - ChannelxPulse = DutyCycle * (TIM1_Period - 1) / 100 - - 2/ Insert a dead time equal to (11/SystemCoreClock) ns - - 3/ Configure the break feature, active at High level, and using the automatic - output enable feature - - 4/ Use the Locking parameters level1. - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f4xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - --------------------------------------------------------------------------- */ - - /* Compute the value to be set in ARR register to generate signal frequency at 17.57 Khz */ - TimerPeriod = (SystemCoreClock / 17570) - 1; - - /* Compute CCR1 value to generate a duty cycle at 50% for channel 1 */ - Channel1Pulse = (uint16_t) (((uint32_t) 5 * (TimerPeriod - 1)) / 10); - - /* Compute CCR2 value to generate a duty cycle at 25% for channel 2 */ - Channel2Pulse = (uint16_t) (((uint32_t) 25 * (TimerPeriod - 1)) / 100); - - /* Compute CCR3 value to generate a duty cycle at 12.5% for channel 3 */ - Channel3Pulse = (uint16_t) (((uint32_t) 125 * (TimerPeriod - 1)) / 1000); - - /* Time Base configuration */ - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - TIM_TimeBaseStructure.TIM_Period = TimerPeriod; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; - - TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); - - /* Channel 1, 2 and 3 Configuration in PWM mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; - TIM_OCInitStructure.TIM_Pulse = Channel1Pulse; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; - TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low; - TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set; - TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset; - - TIM_OC1Init(TIM1, &TIM_OCInitStructure); - - TIM_OCInitStructure.TIM_Pulse = Channel2Pulse; - TIM_OC2Init(TIM1, &TIM_OCInitStructure); - - TIM_OCInitStructure.TIM_Pulse = Channel3Pulse; - TIM_OC3Init(TIM1, &TIM_OCInitStructure); - - /* Automatic Output enable, Break, dead time and lock configuration*/ - TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable; - TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable; - TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_1; - TIM_BDTRInitStructure.TIM_DeadTime = 11; - TIM_BDTRInitStructure.TIM_Break = TIM_Break_Enable; - TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High; - TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable; - - TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure); - - /* TIM1 counter enable */ - TIM_Cmd(TIM1, ENABLE); - - /* Main Output Enable */ - TIM_CtrlPWMOutputs(TIM1, ENABLE); - - while (1) - { - } -} - -/** - * @brief Configure the TIM1 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* GPIOA and GPIOB clocks enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOE, ENABLE); - - /* TIM1 clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); - - /* GPIOA Configuration: Channel 1 and 3 as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_10; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* GPIOA Configuration: Channel 2 as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - /* GPIOB Configuration: BKIN, Channel 1N, 2N and 3N as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Connect TIM pins to AF1 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource12, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_TIM1); - - GPIO_PinAFConfig(GPIOE, GPIO_PinSource11, GPIO_AF_TIM1); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/readme.txt deleted file mode 100644 index 0705df2f1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/readme.txt +++ /dev/null @@ -1,97 +0,0 @@ -/** - @page TIM_ComplementarySignals TIM Complementary Signals example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/ComplementarySignals/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM Complementary Signals example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the TIM1 peripheral to generate three -complementary TIM1 signals, to insert a defined dead time value, to use the break -feature and to lock the desired parameters. - -TIM1CLK is fixed to SystemCoreClock, the TIM1 Prescaler is equal to 0 so the -TIM1 counter clock used is SystemCoreClock (120MHz). - -The objective is to generate PWM signal at 17.57 KHz: - - TIM1_Period = (SystemCoreClock / 17570) - 1 - -The Three Duty cycles are computed as the following description: -The channel 1 duty cycle is set to 50% so channel 1N is set to 50%. -The channel 2 duty cycle is set to 25% so channel 2N is set to 75%. -The channel 3 duty cycle is set to 12.5% so channel 3N is set to 87.5%. -The Timer pulse is calculated as follows: - - ChannelxPulse = DutyCycle * (TIM1_Period - 1) / 100 - -A dead time equal to 11/SystemCoreClock is inserted between the different -complementary signals, and the Lock level 1 is selected. -The break Polarity is used at High level. - -The TIM1 waveform can be displayed using an oscilloscope. - -@par Directory contents - - - TIM/ComplementarySignals/stm32f2xx_conf.h Library Configuration file - - TIM/ComplementarySignals/stm32f2xx_it.c Interrupt handlers - - TIM/ComplementarySignals/stm32f2xx_it.h Interrupt handlers header file - - TIM/ComplementarySignals/main.c Main program - - TIM/ComplementarySignals/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG Set-up - - Connect the TIM1 pins to an oscilloscope to monitor the different waveforms: - - TIM1_CH1 pin (PA.08) - - TIM1_CH1N pin (PB.13) - - TIM1_CH2 pin (PE.11) - - TIM1_CH2N pin (PB.14) - - TIM1_CH3 pin (PA.10) - - TIM1_CH3N pin (PB.15) - - - Connect the TIM1 break pin TIM1_BKIN pin (PB.12) to the GND. To generate a - break event, switch this pin level from 0V to 3.3V. - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/stm32f2xx_conf.h deleted file mode 100644 index 0470f7b12..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/ComplementarySignals/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/stm32f2xx_it.c deleted file mode 100644 index 53049a17d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/ComplementarySignals/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_ComplementarySignals - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/stm32f2xx_it.h deleted file mode 100644 index ff2a7c8e7..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/ComplementarySignals/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ComplementarySignals/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/main.c deleted file mode 100644 index da074a169..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/main.c +++ /dev/null @@ -1,226 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/DMA/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_DMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define TIM1_CCR3_ADDRESS 0x4001003C - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -uint16_t SRC_Buffer[3] = {0, 0, 0}; -uint16_t TimerPeriod = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* TIM1 DMA Transfer example ------------------------------------------------- - - TIM1 input clock (TIM1CLK) is set to 2 * APB2 clock (PCLK2), since APB2 - prescaler is different from 1. - TIM1CLK = 2 * PCLK2 - PCLK2 = HCLK / 2 - => TIM1CLK = 2 * (HCLK / 2) = HCLK = SystemCoreClock - - TIM1CLK = SystemCoreClock, Prescaler = 0, TIM1 counter clock = SystemCoreClock - SystemCoreClock is set to 120 MHz for STM32F2xx devices. - - The objective is to configure TIM1 channel 3 to generate complementary PWM - signal with a frequency equal to 17.57 KHz: - - TIM1_Period = (SystemCoreClock / 17570) - 1 - and a variable duty cycle that is changed by the DMA after a specific number of - Update DMA request. - - The number of this repetitive requests is defined by the TIM1 Repetion counter, - each 3 Update Requests, the TIM1 Channel 3 Duty Cycle changes to the next new - value defined by the SRC_Buffer . - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f4xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - -----------------------------------------------------------------------------*/ - /* Compute the value to be set in ARR regiter to generate signal frequency at 17.57 Khz */ - TimerPeriod = (SystemCoreClock / 17570 ) - 1; - /* Compute CCR1 value to generate a duty cycle at 50% */ - SRC_Buffer[0] = (uint16_t) (((uint32_t) 5 * (TimerPeriod - 1)) / 10); - /* Compute CCR1 value to generate a duty cycle at 37.5% */ - SRC_Buffer[1] = (uint16_t) (((uint32_t) 375 * (TimerPeriod - 1)) / 1000); - /* Compute CCR1 value to generate a duty cycle at 25% */ - SRC_Buffer[2] = (uint16_t) (((uint32_t) 25 * (TimerPeriod - 1)) / 100); - - /* TIM1 Peripheral Configuration -------------------------------------------*/ - /* TIM1 clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); - - /* Time Base configuration */ - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - TIM_TimeBaseStructure.TIM_Period = TimerPeriod; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_RepetitionCounter = 3; - - TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); - - /* Channel 3 Configuration in PWM mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; - TIM_OCInitStructure.TIM_Pulse = SRC_Buffer[0]; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; - TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low; - TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set; - TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset; - - TIM_OC3Init(TIM1, &TIM_OCInitStructure); - - /* TIM1 counter enable */ - TIM_Cmd(TIM1, ENABLE); - - /* DMA enable*/ - DMA_Cmd(DMA2_Stream6, ENABLE); - - /* TIM1 Update DMA Request enable */ - TIM_DMACmd(TIM1, TIM_DMA_CC3, ENABLE); - - /* Main Output Enable */ - TIM_CtrlPWMOutputs(TIM1, ENABLE); - - while (1) - {} -} - -/** - * @brief Configure the TIM1 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - DMA_InitTypeDef DMA_InitStructure; - - /* GPIOA and GPIOB clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB, ENABLE); - - /* GPIOA Configuration: Channel 3 as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 ; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ; - GPIO_Init(GPIOA, &GPIO_InitStructure); - GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_TIM1); - - /* GPIOB Configuration: Channel 3N as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; - GPIO_Init(GPIOB, &GPIO_InitStructure); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_TIM1); - - /* DMA clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 , ENABLE); - - DMA_DeInit(DMA2_Stream6); - DMA_InitStructure.DMA_Channel = DMA_Channel_6; - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)(TIM1_CCR3_ADDRESS) ; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)SRC_Buffer; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - DMA_InitStructure.DMA_BufferSize = 3; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; - DMA_InitStructure.DMA_MemoryDataSize = DMA_PeripheralDataSize_HalfWord; - DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; - DMA_InitStructure.DMA_Priority = DMA_Priority_High; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - - DMA_Init(DMA2_Stream6, &DMA_InitStructure); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/readme.txt deleted file mode 100644 index 8952d995d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/readme.txt +++ /dev/null @@ -1,84 +0,0 @@ -/** - @page TIM_DMA TIM DMA example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/DMA/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM DMA example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a description of how to use DMA with TIM1 Update request -to transfer Data from memory to TIM1 Capture Compare Register3. - -TIM1CLK = SystemCoreClock, Prescaler = 0, TIM1 counter clock = SystemCoreClock -SystemCoreClock is set to 120 MHz for STM32F2xx Devices RevA, RevZ and RevB. - -The objective is to configure TIM1 channel 3 to generate complementary PWM -signal with a frequency equal to 17.57 KHz: - - TIM1_Period = (SystemCoreClock / 17570) - 1 -and a variable duty cycle that is changed by the DMA after a specific number of -Update DMA request. - -The number of this repetitive requests is defined by the TIM1 Repetion counter, -each 3 Update Requests, the TIM1 Channel 3 Duty Cycle changes to the next new -value defined by the SRC_Buffer. - - -@par Directory contents - - - TIM/DMA/stm32f2xx_conf.h Library Configuration file - - TIM/DMA/stm32f2xx_it.c Interrupt handlers - - TIM/DMA/stm32f2xx_it.h Interrupt handlers header file - - TIM/DMA/main.c Main program - - TIM/DMA/system_stm32f2xx.c STM32F2xx system clock configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the TIM1 pins to an oscilloscope to monitor the different waveforms: - - TIM1 CH3 (PA.10) - - TIM1 CH3N (PB.15) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/stm32f2xx_conf.h deleted file mode 100644 index bda7e6c6d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/DMA/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/stm32f2xx_it.c deleted file mode 100644 index 8a8e0d906..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/DMA/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_DMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/stm32f2xx_it.h deleted file mode 100644 index 7c76addf2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/DMA/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMA/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/main.c deleted file mode 100644 index 54c352d74..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/main.c +++ /dev/null @@ -1,212 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/DMABurst/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_DMABurst - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define TIM1_DMAR_ADDRESS ((uint32_t)0x4001004C) /* TIM DMAR address */ - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -GPIO_InitTypeDef GPIO_InitStructure; -DMA_InitTypeDef DMA_InitStructure; -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -uint16_t SRC_Buffer[6] = {0x0FFF, 0x0000, 0x0555}; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM1 Configuration */ - TIM_Config(); - - /* Time base configuration */ - /* ----------------------------------------------------------------------- - TIM1 Configuration: generate 1 PWM signal using the DMA burst mode: - - TIM1 input clock (TIM1CLK) is set to 2 * APB2 clock (PCLK2), - since APB2 prescaler is different from 1. - TIM1CLK = 2 * PCLK2 - PCLK2 = HCLK / 2 - => TIM1CLK = 2 * (HCLK / 2) = HCLK = SystemCoreClock - - To get TIM1 counter clock at 24 MHz, the prescaler is computed as follows: - Prescaler = (TIM1CLK / TIM1 counter clock) - 1 - Prescaler = (SystemCoreClock /24 MHz) - 1 - - The TIM1 period is 5.8 KHz: TIM1 Frequency = TIM1 counter clock/(ARR + 1) - = 24 MHz / 4096 = 5.85 KHz - TIM1 Channel1 duty cycle = (TIM1_CCR1/ TIM1_ARR)* 100 = 33.33% - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f4xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - ----------------------------------------------------------------------- */ - TIM_TimeBaseStructure.TIM_Period = 0xFFFF; - TIM_TimeBaseStructure.TIM_Prescaler = (uint16_t) (SystemCoreClock / 24000000) - 1; - TIM_TimeBaseStructure.TIM_ClockDivision = 0x0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); - - /* TIM Configuration in PWM Mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = 0xFFF; - TIM_OC1Init(TIM1, &TIM_OCInitStructure); - - /* TIM1 DMAR Base register and DMA Burst Length Config */ - TIM_DMAConfig(TIM1, TIM_DMABase_ARR, TIM_DMABurstLength_3Transfers); - - /* TIM1 DMA Update enable */ - TIM_DMACmd(TIM1, TIM_DMA_Update, ENABLE); - - /* TIM1 enable */ - TIM_Cmd(TIM1, ENABLE); - - /* TIM1 PWM Outputs Enable */ - TIM_CtrlPWMOutputs(TIM1, ENABLE); - - /* Enable DMA2 Stream5 */ - DMA_Cmd(DMA2_Stream5, ENABLE); - - /* Wait until DMA2 Stream5 end of Transfer */ - while (!DMA_GetFlagStatus(DMA2_Stream5, DMA_FLAG_TCIF5)) - { - } - - /* Infinite loop */ - while(1) - { - } -} - -/** - * @brief Configure the TIM1 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* TIM1 clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); - - /* GPIOA clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); - - /* DMA2 clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); - - /* GPIOA Configuration: PA8(TIM1 CH1) as alternate function push-pull ------*/ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* Connect TIM pins to AF1 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_TIM1); - - /* DeInitialize the DMA2 Stream5 */ - DMA_DeInit(DMA2_Stream5); - - DMA_InitStructure.DMA_Channel = DMA_Channel_6; - DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)TIM1_DMAR_ADDRESS; - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)SRC_Buffer; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - DMA_InitStructure.DMA_BufferSize = 3; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - DMA_Init(DMA2_Stream5, &DMA_InitStructure); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/readme.txt deleted file mode 100644 index 9603c9040..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/readme.txt +++ /dev/null @@ -1,95 +0,0 @@ -/** - @page TIM1_DMABURST TIM1 DMA Burst transfer example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/DMABurst/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM1 DMA Burst transfer example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to update the TIM1 channel1 period and the duty cycle -using the TIM1 DMA burst feature. - -Every update DMA request, the DMA will do 3 transfers of half words into Timer -registers beginning from ARR register. -On the DMA update request, 0x0FFF will be transferred into ARR, 0x0000 -will be transferred into RCR, 0x0555 will be transferred into CCR1. - -The TIM1CLK frequency is set to SystemCoreClock (Hz), to get TIM1 counter -clock at 24 MHz the Prescaler is computed as following: - - Prescaler = (TIM1CLK / TIM1 counter clock) - 1 - -SystemCoreClock is set to 120 MHz. - -The TIM1 period is 5.8 KHz: TIM1 Frequency = TIM1 counter clock/(ARR + 1) - = 24 MHz / 4096 = 5.8 KHz - -The TIM1 CCR1 register value is equal to 0x555, so the TIM1 Channel 1 generates a -PWM signal with a frequency equal to 5.8 KHz and a duty cycle equal to 33.33%: -TIM1 Channel1 duty cycle = (TIM1_CCR1/ TIM1_ARR + 1)* 100 = 33.33% - -The PWM waveform can be displayed using an oscilloscope. - -@note No need of RCR update, but we should do it because of the ARR and CCR1 - mapping. - -@par Directory contents - - - TIM/DMABurst/stm32f2xx_conf.h Library Configuration file - - TIM/DMABurst/stm32f2xx_it.c Interrupt handlers - - TIM/DMABurst/stm32f2xx_it.h Interrupt handlers header file - - TIM/DMABurst/main.c Main program - - TIM/DMABurst/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the following pins to an oscilloscope to monitor the different - waveforms: - - TIM1 CH1 (PA.08) - -@par How to use it ? - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/stm32f2xx_conf.h deleted file mode 100644 index 4f254f35d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/DMABurst/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/stm32f2xx_it.c deleted file mode 100644 index 86f54d57e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/DMABurst/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_DMABurst - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/stm32f2xx_it.h deleted file mode 100644 index de2011e99..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/DMABurst/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/DMABurst/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/main.c deleted file mode 100644 index 47b773a5a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/main.c +++ /dev/null @@ -1,277 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/ExtTrigger_Synchro/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_ExtTrigger_Synchro - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_ICInitTypeDef TIM_ICInitStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* Timers synchronisation in cascade mode with an external trigger ----- - 1/TIM1 is configured as Master Timer: - - Toggle Mode is used - - The TIM1 Enable event is used as Trigger Output - - 2/TIM1 is configured as Slave Timer for an external Trigger connected - to TIM1 TI2 pin (TIM1 CH2 configured as input pin): - - The TIM1 TI2FP2 is used as Trigger Input - - Rising edge is used to start and stop the TIM1: Gated Mode. - - 3/TIM3 is slave for TIM1 and Master for TIM4, - - Toggle Mode is used - - The ITR1(TIM1) is used as input trigger - - Gated mode is used, so start and stop of slave counter - are controlled by the Master trigger output signal(TIM1 enable event). - - The TIM3 enable event is used as Trigger Output. - - 4/TIM4 is slave for TIM3, - - Toggle Mode is used - - The ITR2(TIM3) is used as input trigger - - Gated mode is used, so start and stop of slave counter - are controlled by the Master trigger output signal(TIM3 enable event). - - TIM1 input clock (TIM1CLK) is set to 2 * APB2 clock (PCLK2), - since APB2 prescaler is different from 1. - TIM1CLK = 2 * PCLK2 - PCLK2 = HCLK / 2 - => TIM1CLK = 2 * (HCLK / 2) = HCLK = SystemCoreClock - - TIM3/TIM4 input clock (TIM3CLK/TIM4CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM3CLK/TIM4CLK = 2 * PCLK1 - PCLK1 = HCLK / 4 - => TIM3CLK/TIM4CLK = HCLK / 2 = SystemCoreClock /2 - - The TIM1CLK is fixed to 120 MHZ, the Prescaler is equal to 4 so the TIMx clock - counter is equal to 24 MHz. - The TIM3CLK and TIM4CLK are fixed to 60 MHZ, the Prescaler is equal to 4 - so the TIMx clock counter is equal to 12 MHz. - The Three Timers are running at: - TIMx frequency = TIMx clock counter/ 2*(TIMx_Period + 1) = 162.1 KHz. - - The starts and stops of the TIM1 counters are controlled by the - external trigger. - The TIM3 starts and stops are controlled by the TIM1, and the TIM4 - starts and stops are controlled by the TIM3. - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - -------------------------------------------------------------------- */ - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 73; - TIM_TimeBaseStructure.TIM_Prescaler = 4; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); - - TIM_TimeBaseStructure.TIM_Period = 36; - TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); - - TIM_TimeBaseStructure.TIM_Period = 36; - TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); - - /* Master Configuration in Toggle Mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = 64; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; - - TIM_OC1Init(TIM1, &TIM_OCInitStructure); - - /* TIM1 Input Capture Configuration */ - TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; - TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; - TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; - TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; - TIM_ICInitStructure.TIM_ICFilter = 0; - - TIM_ICInit(TIM1, &TIM_ICInitStructure); - - /* TIM1 Input trigger configuration: External Trigger connected to TI2 */ - TIM_SelectInputTrigger(TIM1, TIM_TS_TI2FP2); - TIM_SelectSlaveMode(TIM1, TIM_SlaveMode_Gated); - - /* Select the Master Slave Mode */ - TIM_SelectMasterSlaveMode(TIM1, TIM_MasterSlaveMode_Enable); - - /* Master Mode selection: TIM1 */ - TIM_SelectOutputTrigger(TIM1, TIM_TRGOSource_Enable); - - /* Slaves Configuration: Toggle Mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = 10; - TIM_OC1Init(TIM3, &TIM_OCInitStructure); - - TIM_OC1Init(TIM4, &TIM_OCInitStructure); - - /* Slave Mode selection: TIM3 */ - TIM_SelectInputTrigger(TIM3, TIM_TS_ITR0); - TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Gated); - - /* Select the Master Slave Mode */ - TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable); - - /* Master Mode selection: TIM3 */ - TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Enable); - - /* Slave Mode selection: TIM4 */ - TIM_SelectInputTrigger(TIM4, TIM_TS_ITR2); - TIM_SelectSlaveMode(TIM4, TIM_SlaveMode_Gated); - - /* TIM1 Main Output Enable */ - TIM_CtrlPWMOutputs(TIM1, ENABLE); - - /* TIM enable counter */ - TIM_Cmd(TIM1, ENABLE); - TIM_Cmd(TIM3, ENABLE); - TIM_Cmd(TIM4, ENABLE); - - while (1) - {} -} - -/** - * @brief Configure the TIM Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* TIM3 and TIM4 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 | RCC_APB1Periph_TIM4, ENABLE); - - /* TIM1 clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); - - /* GPIOA and GPIOB clocks enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOE, ENABLE); - - /* GPIOA Configuration: PA.08(TIM1 CH1) as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* GPIOE Configuration: PE.11(TIM1 CH2) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - /* Connect TIM pins to AF1 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_TIM1); - GPIO_PinAFConfig(GPIOE, GPIO_PinSource11, GPIO_AF_TIM1); - - /* GPIOB Configuration: PB.06(TIM4 CH1) as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Connect TIM pins to AF2 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_TIM4); - - /* GPIOC Configuration: PC.06(TIM3 CH1) as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - /* Connect TIM pins to AF2 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_TIM3); - - -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/readme.txt deleted file mode 100644 index 9c80fe128..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/readme.txt +++ /dev/null @@ -1,108 +0,0 @@ -/** - @page TIM_ExtTrigger_Synchro TIM External Trigger Synchro example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/ExtTrigger_Synchro/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM External Trigger Synchro example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to synchronize TIM peripherals in cascade mode with an -external trigger. -In this example three timers are used: - -1/TIM1 is configured as Master Timer: - - Toggle Mode is used - - The TIM1 Enable event is used as Trigger Output - -2/TIM1 is configured as Slave Timer for an external Trigger connected to TIM1 - TI2 pin (TIM1 CH2 configured as input pin): - - The TIM1 TI2FP2 is used as Trigger Input - - Rising edge is used to start and stop the TIM1: Gated Mode. - -3/TIM3 is slave for TIM1 and Master for TIM4, - - Toggle Mode is used - - The ITR1(TIM1) is used as input trigger - - Gated mode is used, so start and stop of slave counter - are controlled by the Master trigger output signal(TIM1 enable event). - - The TIM3 enable event is used as Trigger Output. - -4/TIM4 is slave for TIM3, - - Toggle Mode is used - - The ITR2(TIM3) is used as input trigger - - Gated mode is used, so start and stop of slave counter - are controlled by the Master trigger output signal(TIM3 enable event). - - The TIM1CLK is fixed to 120 MHZ, the Prescaler is equal to 4 so the TIMx clock - counter is equal to 24 MHz. - The TIM3CLK and TIM4CLK are fixed to 60 MHZ, the Prescaler is equal to 4 - so the TIMx clock counter is equal to 12 MHz. - The Three Timers are running at: - TIMx frequency = TIMx clock counter/ 2*(TIMx_Period + 1) = 162.1 KHz. - -The starts and stops of the TIM1 counters are controlled by the external trigger. -The TIM3 starts and stops are controlled by the TIM1, and the TIM4 starts and -stops are controlled by the TIM3. - -@par Directory contents - - - TIM/ExtTrigger_Synchro/stm32f2xx_conf.h Library Configuration file - - TIM/ExtTrigger_Synchro/stm32f2xx_it.c Interrupt handlers - - TIM/ExtTrigger_Synchro/stm32f2xx_it.h Interrupt handlers header file - - TIM/ExtTrigger_Synchro/main.c Main program - - TIM/ExtTrigger_Synchro/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect an external trigger, with a frequency <= 40KHz, to the TIM1 CH2 - pin (PE.11). In this example the frequency is equal to 5 KHz. - - - Connect the following pins to an oscilloscope to monitor the different waveforms: - - TIM1 CH1 (PA.08) - - TIM3 CH1 (PC.06) - - TIM4 CH1 (PB.06) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/stm32f2xx_conf.h deleted file mode 100644 index f6a50b375..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/ExtTrigger_Synchro/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/stm32f2xx_it.c deleted file mode 100644 index 32cefba0b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/ExtTrigger_Synchro/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_ExtTrigger_Synchro - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/stm32f2xx_it.h deleted file mode 100644 index 4265f5993..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/ExtTrigger_Synchro/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/ExtTrigger_Synchro/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/main.c deleted file mode 100644 index bca6fa0ea..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/main.c +++ /dev/null @@ -1,154 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/InputCapture/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_Input_Capture - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_ICInitTypeDef TIM_ICInitStructure; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM1 Configuration */ - TIM_Config(); - - /* TIM1 configuration: Input Capture mode --------------------- - The external signal is connected to TIM1 CH2 pin (PE.11) - The Rising edge is used as active edge, - The TIM1 CCR2 is used to compute the frequency value - ------------------------------------------------------------ */ - - TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; - TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; - TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; - TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; - TIM_ICInitStructure.TIM_ICFilter = 0x0; - - TIM_ICInit(TIM1, &TIM_ICInitStructure); - - /* TIM enable counter */ - TIM_Cmd(TIM1, ENABLE); - - /* Enable the CC2 Interrupt Request */ - TIM_ITConfig(TIM1, TIM_IT_CC2, ENABLE); - - while (1); -} - -/** - * @brief Configure the TIM1 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* TIM1 clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); - - /* GPIOA clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE); - - /* TIM1 channel 2 pin (PE.11) configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOE, &GPIO_InitStructure); - - /* Connect TIM pins to AF2 */ - GPIO_PinAFConfig(GPIOE, GPIO_PinSource11, GPIO_AF_TIM1); - - /* Enable the TIM1 global Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = TIM1_CC_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/readme.txt deleted file mode 100644 index deac62a96..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/readme.txt +++ /dev/null @@ -1,83 +0,0 @@ -/** - @page TIM_Input_Capture TIM Input Capture example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/InputCapture/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM Input Capture example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to use the TIM peripheral to measure the frequency of an -external signal. - -The TIMxCLK frequency is set to SystemCoreClock /2 (Hz), the Prescaler is 0 so the -TIM1 counter clock is SystemCoreClock (Hz)/2. - -SystemCoreClock is set to 120 MHz. - -TIM1 is configured in Input Capture Mode: the external signal is connected to -TIM1 Channel2 used as input pin. -To measure the frequency we use the TIM1 CC2 interrupt request, -so In the TIM1_CC_IRQHandler routine, the frequency of the external signal is computed. -The "TIM1Freq" variable contains the external signal frequency: -TIM1Freq = TIM1 counter clock / Capture in Hz, -where the Capture is the difference between two consecutive TIM1 captures. - -The minimum frequency value to measure is 1100 Hz. - -@par Directory contents - - - TIM/InputCapture/stm32f2xx_conf.h Library Configuration file - - TIM/InputCapture/stm32f2xx_it.c Interrupt handlers - - TIM/InputCapture/stm32f2xx_it.h Interrupt handlers header file - - TIM/InputCapture/main.c Main program - - TIM/InputCapture/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the external signal to measure to the TIM1 CH2 pin (PE.11). - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/stm32f2xx_conf.h deleted file mode 100644 index ab76fe8d9..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/InputCapture/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/stm32f2xx_it.c deleted file mode 100644 index 37737403f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/stm32f2xx_it.c +++ /dev/null @@ -1,215 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/InputCapture/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_Input_Capture - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint16_t IC3ReadValue1 = 0, IC3ReadValue2 = 0; -__IO uint16_t CaptureNumber = 0; -__IO uint32_t Capture = 0; -__IO uint32_t TIM1Freq = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ -/** - * @brief This function handles TIM1 global interrupt request. - * @param None - * @retval None - */ -void TIM1_CC_IRQHandler(void) -{ - if(TIM_GetITStatus(TIM1, TIM_IT_CC2) == SET) - { - /* Clear TIM1 Capture compare interrupt pending bit */ - TIM_ClearITPendingBit(TIM1, TIM_IT_CC2); - if(CaptureNumber == 0) - { - /* Get the Input Capture value */ - IC3ReadValue1 = TIM_GetCapture2(TIM1); - CaptureNumber = 1; - } - else if(CaptureNumber == 1) - { - /* Get the Input Capture value */ - IC3ReadValue2 = TIM_GetCapture2(TIM1); - - /* Capture computation */ - if (IC3ReadValue2 > IC3ReadValue1) - { - Capture = (IC3ReadValue2 - IC3ReadValue1); - } - else if (IC3ReadValue2 < IC3ReadValue1) - { - Capture = ((0xFFFF - IC3ReadValue1) + IC3ReadValue2); - } - else - { - Capture = 0; - } - /* Frequency computation */ - TIM1Freq = (uint32_t) SystemCoreClock / Capture; - CaptureNumber = 0; - } - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/stm32f2xx_it.h deleted file mode 100644 index 107aed96d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/InputCapture/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void TIM1_CC_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/InputCapture/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/main.c deleted file mode 100644 index 35cf13925..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/main.c +++ /dev/null @@ -1,214 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCActive/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_OCActive - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -uint16_t CCR1_Val = 1000; -uint16_t CCR2_Val = 500; -uint16_t CCR3_Val = 250; -uint16_t CCR4_Val = 125; -uint16_t PrescalerValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - TIM_TimeBaseStructInit(&TIM_TimeBaseStructure); - - TIM_OCStructInit(&TIM_OCInitStructure); - - - /* --------------------------------------------------------------------------- - TIM3 Configuration: Output Compare Active Mode: - In this example TIM3 input clock (TIM3CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM3CLK = 2 * PCLK1 - PCLK1 = HCLK / 4 - => TIM3CLK = HCLK / 2 = SystemCoreClock /2 - - To get TIM3 counter clock at 1 KHz, the prescaler is computed as follows: - Prescaler = (TIM3CLK / TIM3 counter clock) - 1 - Prescaler = ((SystemCoreClock /2) /1 KHz) - 1 - - Generate 4 signals with 4 different delays: - TIM3_CH1 delay = CCR1_Val/TIM3 counter clock = 1000 ms - TIM3_CH2 delay = CCR2_Val/TIM3 counter clock = 500 ms - TIM3_CH3 delay = CCR3_Val/TIM3 counter clock = 250 ms - TIM3_CH4 delay = CCR4_Val/TIM3 counter clock = 125 ms - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - - --------------------------------------------------------------------------- */ - - /*Compute the prescaler value */ - PrescalerValue = (uint16_t) ((SystemCoreClock / 2) / 1000) - 1; - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 65535; - TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); - - /* Output Compare Active Mode configuration: Channel1 */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Active; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR1_Val; - TIM_OC1Init(TIM3, &TIM_OCInitStructure); - - TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Disable); - TIM_ARRPreloadConfig(TIM3, DISABLE); - /* Output Compare Active Mode configuration: Channel2 */ - TIM_OCInitStructure.TIM_Pulse = CCR2_Val; - TIM_OC2Init(TIM3, &TIM_OCInitStructure); - - TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* Output Compare Active Mode configuration: Channel3 */ - TIM_OCInitStructure.TIM_Pulse = CCR3_Val; - TIM_OC3Init(TIM3, &TIM_OCInitStructure); - - TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* Output Compare Active Mode configuration: Channel4 */ - TIM_OCInitStructure.TIM_Pulse = CCR4_Val; - TIM_OC4Init(TIM3, &TIM_OCInitStructure); - - TIM_OC4PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* TIM3 enable counter */ - TIM_Cmd(TIM3, ENABLE); - - TIM_GenerateEvent(TIM3, TIM_EventSource_Update); - - /* Turn on LED1 */ - STM_EVAL_LEDOn(LED1); - - while (1) - {} -} - -/** - * @brief Configure the TIM3 pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* TIM3 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); - - /* GPIOC clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); - - /* GPIOC Configuration: TIM3 CH1 (PC6), TIM3 CH2 (PC7), TIM3 CH2 (PC8) and TIM3 CH4 (PC9) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - /* Connect TIM Channels to AF2 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOC, GPIO_PinSource7, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOC, GPIO_PinSource8, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOC, GPIO_PinSource9, GPIO_AF_TIM3); - - /* Initialize Leds mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/readme.txt deleted file mode 100644 index 379896369..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/readme.txt +++ /dev/null @@ -1,99 +0,0 @@ -/** - @page TIM_OCActive TIM_OCActive - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/OCActive/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM OCActive example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the TIM peripheral to generate four different -signals with four different delays. - -The TIM3CLK frequency is set to SystemCoreClock / 2 (Hz), and the objective is -to get TIM3 counter clock at 1 KHz so the Prescaler is computed as following: - - Prescaler = (TIM3CLK / TIM3 counter clock) - 1 - -SystemCoreClock is set to 120 MHz for STM32F2xx Devices RevA, RevZ and RevB. - -The TIM3 CCR1 register value is equal to 1000: -TIM3_CH1 delay = CCR1_Val/TIM3 counter clock = 1000 ms -so the TIM3 Channel 1 generates a signal with a delay equal to 1000 ms. - -The TIM3 CCR2 register value is equal to 500: -TIM3_CH2 delay = CCR2_Val/TIM3 counter clock = 500 ms -so the TIM3 Channel 2 generates a signal with a delay equal to 500 ms. - -The TIM3 CCR3 register value is equal to 250: -TIM3_CH3 delay = CCR3_Val/TIM3 counter clock = 250 ms -so the TIM3 Channel 3 generates a signal with a delay equal to 250 ms. - -The TIM3 CCR4 register value is equal to 125: -TIM3_CH4 delay = CCR4_Val/TIM3 counter clock = 125 ms -so the TIM3 Channel 4 generates a signal with a delay equal to 125 ms. - -The delay correspond to the time difference between PG.06 and TIM3_CHx signal -rising edges. - -@par Directory contents - - - TIM/OCActive/stm32f2xx_conf.h Library Configuration file - - TIM/OCActive/stm32f2xx_it.c Interrupt handlers - - TIM/OCActive/stm32f2xx_it.h Interrupt handlers header file - - TIM/OCActive/main.c Main program - - TIM/OCActive/system_stm32f2xx.c STM32F2xx system clock configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the following pins to an oscilloscope to monitor the different - waveforms: - - Use LED1 connected to PG.06 - - PC.06 (TIM3_CH1) - - PC.07 (TIM3_CH2) - - PC.08 (TIM3_CH3) - - PC.09 (TIM3_CH4) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/stm32f2xx_conf.h deleted file mode 100644 index 2019d42d3..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCActive/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/stm32f2xx_it.c deleted file mode 100644 index 27921146f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCActive/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_OCActive - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/stm32f2xx_it.h deleted file mode 100644 index f953fa58e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCActive/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCActive/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/main.c deleted file mode 100644 index bb3831052..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/main.c +++ /dev/null @@ -1,232 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCInactive/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_OCInactive - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -uint16_t CCR1_Val = 1000; -uint16_t CCR2_Val = 500; -uint16_t CCR3_Val = 250; -uint16_t CCR4_Val = 125; -uint16_t PrescalerValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* --------------------------------------------------------------- - TIM2 Configuration: Output Compare Inactive Mode: - In this example TIM2 input clock (TIM2CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM2CLK = 2 * PCLK1 - PCLK1 = HCLK / 4 - => TIM2CLK = HCLK / 2 = SystemCoreClock /2 - - To get TIM2 counter clock at 1 KHz, the prescaler is computed as follows: - Prescaler = (TIM2CLK / TIM2 counter clock) - 1 - Prescaler = ((SystemCoreClock /2) /1 KHz) - 1 - - Generate 4 signals with 4 different delays: - TIM2_CH1 delay = CCR1_Val/TIM2 counter clock = 1000 ms - TIM2_CH2 delay = CCR2_Val/TIM2 counter clock = 500 ms - TIM2_CH3 delay = CCR3_Val/TIM2 counter clock = 250 ms - TIM2_CH4 delay = CCR4_Val/TIM2 counter clock = 125 ms - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - - --------------------------------------------------------------- */ - /* Compute the prescaler value */ - PrescalerValue = (uint16_t) ((SystemCoreClock / 2) / 1000) - 1; - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 65535; - TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); - - /* Output Compare Active Mode configuration: Channel1 */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Inactive; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR1_Val; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; - - TIM_OC1Init(TIM2, &TIM_OCInitStructure); - - TIM_OC1PreloadConfig(TIM2, TIM_OCPreload_Disable); - - /* Output Compare Active Mode configuration: Channel2 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR2_Val; - - TIM_OC2Init(TIM2, &TIM_OCInitStructure); - - TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Disable); - - /* Output Compare Active Mode configuration: Channel3 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR3_Val; - - TIM_OC3Init(TIM2, &TIM_OCInitStructure); - - TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Disable); - - /* Output Compare Active Mode configuration: Channel4 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR4_Val; - - TIM_OC4Init(TIM2, &TIM_OCInitStructure); - - TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Disable); - - TIM_ARRPreloadConfig(TIM2, ENABLE); - - /* Turn on LED1, LED2, LED3 and LED4 */ - STM_EVAL_LEDOn(LED1); - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - - /* TIM IT enable */ - TIM_ITConfig(TIM2, TIM_IT_CC1 | TIM_IT_CC2 | TIM_IT_CC3 | TIM_IT_CC4, ENABLE); - - /* TIM2 enable counter */ - TIM_Cmd(TIM2, ENABLE); - - while (1) - {} -} - -/** - * @brief Configure the TIM Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - /* TIM2 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); - - /* GPIOA clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); - - /* GPIOC Configuration: TIM2 CH1 (PA0), TIM2 CH2 (PA1), TIM2 CH2 (PA2) and TIM2 CH4 (PA3) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* Connect TIM Channels to AF1 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource0, GPIO_AF_TIM2); - GPIO_PinAFConfig(GPIOA, GPIO_PinSource1, GPIO_AF_TIM2); - GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_TIM2); - GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_TIM2); - - /* Initialize Leds mounted on STM324xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Enable the TIM2 Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/readme.txt deleted file mode 100644 index 1a785e473..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/readme.txt +++ /dev/null @@ -1,97 +0,0 @@ -/** - @page TIM_OCInactive TIM_OCInactive - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/OCInactive/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM OCInactive example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the TIM peripheral in Output Compare Inactive -mode with the corresponding Interrupt requests for each channel. - -The TIM2CLK frequency is set to SystemCoreClock / 2 (Hz), and the objective is -to get TIM2 counter clock at 1 KHz so the Prescaler is computed as following: - - Prescaler = (TIM2CLK / TIM2 counter clock) - 1 -SystemCoreClock is set to 120 MHz for STM32F2xx devices - -The TIM2 CCR1 register value is equal to 1000: -TIM2_CC1 delay = CCR1_Val/TIM2 counter clock = 1000 ms -so the PA.00 is reset after a delay equal to 1000 ms. - -The TIM2 CCR2 register value is equal to 500: -TIM2_CC2 delay = CCR2_Val/TIM2 counter clock = 500 ms -so the PA.01 is reset after a delay equal to 500 ms. - -The TIM2 CCR3 register value is equal to 250: -TIM2_CC3 delay = CCR3_Val/TIM2 counter clock = 250 ms -so the PA.02 is reset after a delay equal to 250 ms. - -The TIM2 CCR4 register value is equal to 125: -TIM2_CC4 delay = CCR4_Val/TIM2 counter clock = 125 ms -so the PA.03 is reset after a delay equal to 125 ms. - -While the counter is lower than the Output compare registers values, which -determines the Output delay, the PG.06, PG.08, PI.09 and PC.07 pin are turned on. - -When the counter value reaches the Output compare registers values, the Output -Compare interrupts are generated and, in the handler routine, these pins are turned off. - -@par Directory contents - - - TIM/OCInactive/stm32f2xx_conf.h Library Configuration file - - TIM/OCInactive/stm32f2xx_it.c Interrupt handlers - - TIM/OCInactive/stm32f2xx_it.h Interrupt handlers header file - - TIM/OCInactive/main.c Main program - - TIM/OCInactive/system_stm32f2xx.c STM32F2xx system clock configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins and connect them an oscilloscope to monitor the different - waveforms. - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/stm32f2xx_conf.h deleted file mode 100644 index cf2073f19..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCInactive/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/stm32f2xx_it.c deleted file mode 100644 index 0bbc0fa67..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/stm32f2xx_it.c +++ /dev/null @@ -1,211 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCInactive/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_OCInactive - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles TIM2 global interrupt request. - * @param None - * @retval None - */ -void TIM2_IRQHandler(void) -{ - if (TIM_GetITStatus(TIM2, TIM_IT_CC1) != RESET) - { - /* Clear TIM2 Capture Compare1 interrupt pending bit*/ - TIM_ClearITPendingBit(TIM2, TIM_IT_CC1); - - /* LED1 turn-off after 1000 ms */ - STM_EVAL_LEDOff(LED1); - } - else if (TIM_GetITStatus(TIM2, TIM_IT_CC2) != RESET) - { - /* Clear TIM2 Capture Compare2 interrupt pending bit*/ - TIM_ClearITPendingBit(TIM2, TIM_IT_CC2); - - /* LED2 turn-off after 500 ms */ - STM_EVAL_LEDOff(LED2); - } - else if (TIM_GetITStatus(TIM2, TIM_IT_CC3) != RESET) - { - /* Clear TIM2 Capture Compare3 interrupt pending bit*/ - TIM_ClearITPendingBit(TIM2, TIM_IT_CC3); - - /* LED3 turn-off after 250 ms */ - STM_EVAL_LEDOff(LED3); - } - else - { - /* Clear TIM2 Capture Compare4 interrupt pending bit*/ - TIM_ClearITPendingBit(TIM2, TIM_IT_CC4); - - /* LED4 turn-off after 125 ms */ - STM_EVAL_LEDOff(LED4); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/stm32f2xx_it.h deleted file mode 100644 index 9a929ec4a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCInactive/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void TIM2_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCInactive/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/main.c deleted file mode 100644 index d9bf1f6b0..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/main.c +++ /dev/null @@ -1,227 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCToggle/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_OCToggle - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -__IO uint16_t CCR1_Val = 40961; -__IO uint16_t CCR2_Val = 20480; -__IO uint16_t CCR3_Val = 10240; -__IO uint16_t CCR4_Val = 5120; -uint16_t PrescalerValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* --------------------------------------------------------------------------- - TIM3 Configuration: Output Compare Toggle Mode: - - In this example TIM3 input clock (TIM3CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM3CLK = 2 * PCLK1 - PCLK1 = HCLK / 4 - => TIM3CLK = HCLK / 2 = SystemCoreClock /2 - - To get TIM3 counter clock at 15 MHz, the prescaler is computed as follows: - Prescaler = (TIM3CLK / TIM3 counter clock) - 1 - Prescaler = ((SystemCoreClock /2) /15 MHz) - 1 - - CC1 update rate = TIM3 counter clock / CCR1_Val = 366.2 Hz - ==> So the TIM3 Channel 1 generates a periodic signal with a - frequency equal to 183.1 Hz. - - CC2 update rate = TIM3 counter clock / CCR2_Val = 732.4 Hz - ==> So the TIM3 Channel 2 generates a periodic signal with a - frequency equal to 366.3 Hz. - - CC3 update rate = TIM3 counter clock / CCR3_Val = 1464.8 Hz - ==> So the TIM3 Channel 3 generates a periodic signal with a - frequency equal to 732.4 Hz. - - CC4 update rate = TIM3 counter clock / CCR4_Val = 2929.6 Hz - ==> So the TIM3 Channel 4 generates a periodic signal with a - frequency equal to 1464.8 Hz. - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - --------------------------------------------------------------------------- */ - - /* Compute the prescaler value */ - PrescalerValue = (uint16_t) ((SystemCoreClock / 2) / 15000000) - 1; - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 65535; - TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); - - /* Output Compare Toggle Mode configuration: Channel1 */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR1_Val; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; - TIM_OC1Init(TIM3, &TIM_OCInitStructure); - - TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* Output Compare Toggle Mode configuration: Channel2 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR2_Val; - - TIM_OC2Init(TIM3, &TIM_OCInitStructure); - - TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* Output Compare Toggle Mode configuration: Channel3 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR3_Val; - - TIM_OC3Init(TIM3, &TIM_OCInitStructure); - - TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* Output Compare Toggle Mode configuration: Channel4 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR4_Val; - - TIM_OC4Init(TIM3, &TIM_OCInitStructure); - - TIM_OC4PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* TIM enable counter */ - TIM_Cmd(TIM3, ENABLE); - - /* TIM IT enable */ - TIM_ITConfig(TIM3, TIM_IT_CC1 | TIM_IT_CC2 | TIM_IT_CC3 | TIM_IT_CC4, ENABLE); - - while (1) - {} -} - -/** - * @brief Configure the TIM3 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* TIM3 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); - - /* GPIOC clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); - - /* GPIOC Configuration: TIM3 CH1 (PC6), TIM3 CH2 (PC7), TIM3 CH2 (PC8) and TIM3 CH4 (PC9) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - /* Connect TIM Channels to AF2 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOC, GPIO_PinSource7, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOC, GPIO_PinSource8, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOC, GPIO_PinSource9, GPIO_AF_TIM3); - - /* Enable the TIM3 global Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/readme.txt deleted file mode 100644 index 36c91c225..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/readme.txt +++ /dev/null @@ -1,94 +0,0 @@ -/** - @page TIM_OCToggle TIM_OCToggle - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/OCToggle/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM OCToggle example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the TIM3 peripheral to generate four different -signals with four different frequencies. - -The TIM3CLK frequency is set to SystemCoreClock / 2 (Hz), and we want to get TIM3 -counter clock at 15 MHz so the Prescaler is computed as following: - - Prescaler = (TIM3CLK / TIM3 counter clock) - 1 -SystemCoreClock is set to 120 MHz for STM32F2xx devices - -The TIM3 CCR1 register value is equal to 40961: -CC1 update rate = TIM3 counter clock / CCR1_Val = 366.2 Hz, -so the TIM3 Channel 1 generates a periodic signal with a frequency equal to 183.1 Hz. - -The TIM3 CCR2 register is equal to 20480: -CC2 update rate = TIM3 counter clock / CCR2_Val = 732.4 Hz -so the TIM3 channel 2 generates a periodic signal with a frequency equal to 366.3 Hz. - -The TIM3 CCR3 register is equal to 10240: -CC3 update rate = TIM3 counter clock / CCR3_Val = 1464.8 Hz -so the TIM3 channel 3 generates a periodic signal with a frequency equal to 732.4 Hz. - -The TIM3 CCR4 register is equal to 5120: -CC4 update rate = TIM3 counter clock / CCR4_Val = 2929.6 Hz -so the TIM3 channel 4 generates a periodic signal with a frequency equal to 1464.8 Hz. - - -@par Directory contents - - - TIM/OCToggle/stm32f2xx_conf.h Library Configuration file - - TIM/OCToggle/stm32f2xx_it.c Interrupt handlers - - TIM/OCToggle/stm32f2xx_it.h Interrupt handlers header file - - TIM/OCToggle/main.c Main program - - TIM/OCToggle/system_stm32f2xx.c STM32F2xx system clock configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the TIM3 pins to an oscilloscope to monitor the different waveforms: - - PC.06 (TIM3_CH1) - - PC.07 (TIM3_CH2) - - PC.08 (TIM3_CH3) - - PC.09 (TIM3_CH4) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/stm32f2xx_conf.h deleted file mode 100644 index 9ba014462..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCToggle/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/stm32f2xx_it.c deleted file mode 100644 index 48c31a640..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/stm32f2xx_it.c +++ /dev/null @@ -1,215 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCToggle/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_OCToggle - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint16_t capture = 0; -extern __IO uint16_t CCR1_Val; -extern __IO uint16_t CCR2_Val; -extern __IO uint16_t CCR3_Val; -extern __IO uint16_t CCR4_Val; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles TIM3 global interrupt request. - * @param None - * @retval None - */ -void TIM3_IRQHandler(void) -{ - /* TIM3_CH1 toggling with frequency = 183.1 Hz */ - if (TIM_GetITStatus(TIM3, TIM_IT_CC1) != RESET) - { - TIM_ClearITPendingBit(TIM3, TIM_IT_CC1 ); - capture = TIM_GetCapture1(TIM3); - TIM_SetCompare1(TIM3, capture + CCR1_Val ); - } - - /* TIM3_CH2 toggling with frequency = 366.2 Hz */ - if (TIM_GetITStatus(TIM3, TIM_IT_CC2) != RESET) - { - TIM_ClearITPendingBit(TIM3, TIM_IT_CC2); - capture = TIM_GetCapture2(TIM3); - TIM_SetCompare2(TIM3, capture + CCR2_Val); - } - - /* TIM3_CH3 toggling with frequency = 732.4 Hz */ - if (TIM_GetITStatus(TIM3, TIM_IT_CC3) != RESET) - { - TIM_ClearITPendingBit(TIM3, TIM_IT_CC3); - capture = TIM_GetCapture3(TIM3); - TIM_SetCompare3(TIM3, capture + CCR3_Val); - } - - /* TIM3_CH4 toggling with frequency = 1464.8 Hz */ - if (TIM_GetITStatus(TIM3, TIM_IT_CC4) != RESET) - { - TIM_ClearITPendingBit(TIM3, TIM_IT_CC4); - capture = TIM_GetCapture4(TIM3); - TIM_SetCompare4(TIM3, capture + CCR4_Val); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/stm32f2xx_it.h deleted file mode 100644 index 541c4b106..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OCToggle/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void TIM3_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OCToggle/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/main.c deleted file mode 100644 index a407aeb65..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/main.c +++ /dev/null @@ -1,211 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OnePulse/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_OnePulse - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_ICInitTypeDef TIM_ICInitStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -uint16_t PrescalerValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* -------------------------------------------------------------------------- - TIM4 configuration: One Pulse mode - The external signal is connected to TIM4_CH2 pin (PB.07), - The Rising edge is used as active edge, - The One Pulse signal is output on TIM4_CH1 pin (PB.06) - The TIM_Pulse defines the delay value - The (TIM_Period - TIM_Pulse) defines the One Pulse value. - - TIM4 input clock (TIM4CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM4CLK = 2 * PCLK1 - PCLK1 = HCLK / 4 - => TIM4CLK = HCLK / 2 = SystemCoreClock /2 - - TIM2CLK = SystemCoreClock/2, we want to get TIM2 counter clock at 30 MHz: - Prescaler = (TIM2CLK / TIM2 counter clock) - 1 - Prescaler = ((SystemCoreClock /2) /30 MHz) - 1 - - The Autoreload value is 65535 (TIM4->ARR), so the maximum frequency value - to trigger the TIM4 input is 30000000/65535 = 458 Hz. - - The TIM_Pulse defines the delay value, the delay value is fixed - to 546.1 us: - delay = CCR1/TIM4 counter clock = 546.1 us. - The (TIM_Period - TIM_Pulse) defines the One Pulse value, - the pulse value is fixed to 1.638 ms: - One Pulse value = (TIM_Period - TIM_Pulse) / TIM4 counter clock = 1.638 ms. - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - - --------------------------------------------------------------------------- */ - - /* Compute the prescaler value */ - PrescalerValue = (uint16_t) ((SystemCoreClock / 2) / 30000000) - 1; - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 65535; - TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); - - /* TIM4 PWM2 Mode configuration: Channel1 */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = 16383; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; - - TIM_OC1Init(TIM4, &TIM_OCInitStructure); - - /* TIM4 configuration in Input Capture Mode */ - - TIM_ICStructInit(&TIM_ICInitStructure); - - TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; - TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; - TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; - TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; - TIM_ICInitStructure.TIM_ICFilter = 0; - - TIM_ICInit(TIM4, &TIM_ICInitStructure); - - /* One Pulse Mode selection */ - TIM_SelectOnePulseMode(TIM4, TIM_OPMode_Single); - - /* Input Trigger selection */ - TIM_SelectInputTrigger(TIM4, TIM_TS_TI2FP2); - - /* Slave Mode selection: Trigger Mode */ - TIM_SelectSlaveMode(TIM4, TIM_SlaveMode_Trigger); - - while (1) - {} -} - -/** - * @brief Configure the TIM4 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* TIM4 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); - - /* GPIOB clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); - - /* TIM4_CH1 pin (PB.06) configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* TIM4_CH2 pin (PB.07) configuration */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Connect TIM pins to AF2 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_TIM4); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_TIM4); - -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/readme.txt deleted file mode 100644 index afbfc9e40..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/readme.txt +++ /dev/null @@ -1,88 +0,0 @@ -/** - @page TIM_OnePulse TIM One Pulse example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/OnePulse/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM One Pulse example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to use the TIM peripheral to generate a One pulse Mode -after a Rising edge of an external signal is received in Timer Input pin. - -TIM2CLK = SystemCoreClock/2, we want to get TIM2 counter clock at 30 MHz: - - Prescaler = (TIM2CLK / TIM2 counter clock) - 1 - -SystemCoreClock is set to 120 MHz. - -The Autoreload value is 65535 (TIM4->ARR), so the maximum frequency value to -trigger the TIM4 input is 30000000/65535 = 458 Hz. - -The TIM4 is configured as follows: -The One Pulse mode is used, the external signal is connected to TIM4 CH2 pin (PB.07), -the rising edge is used as active edge, the One Pulse signal is output -on TIM4_CH1 (PB.06). - -The TIM_Pulse defines the delay value, the delay value is fixed to: -delay = CCR1/TIM4 counter clock = 16383 / 30000000 = 546.1 us. -The (TIM_Period - TIM_Pulse) defines the One Pulse value, the pulse value is fixed to: -One Pulse value = (TIM_Period - TIM_Pulse)/TIM4 counter clock - = (65535 - 16383) / 30000000 = 1.638 ms. - -@par Directory contents - - - TIM/OnePulse/stm32f2xx_conf.h Library Configuration file - - TIM/OnePulse/stm32f2xx_it.c Interrupt handlers - - TIM/OnePulse/stm32f2xx_it.h Interrupt handlers header file - - TIM/OnePulse/main.c Main program - - TIM/OnePulse/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the external signal to the TIM4_CH2 pin (PB.07) - - Connect the TIM4_CH1 (PB.06) pin to an oscilloscope to monitor the waveform. - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/stm32f2xx_conf.h deleted file mode 100644 index 678f2c282..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OnePulse/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/stm32f2xx_it.c deleted file mode 100644 index e18963d29..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OnePulse/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_OnePulse - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/stm32f2xx_it.h deleted file mode 100644 index a508aaef5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/OnePulse/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/OnePulse/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/main.c deleted file mode 100644 index afeffc9c4..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/main.c +++ /dev/null @@ -1,170 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/PWM_Input/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_PWM_Input - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_ICInitTypeDef TIM_ICInitStructure; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - - /* --------------------------------------------------------------------------- - TIM4 configuration: PWM Input mode - - In this example TIM4 input clock (TIM4CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM4CLK = 2 * PCLK1 - PCLK1 = HCLK / 4 - => TIM4CLK = HCLK / 2 = SystemCoreClock /2 - - External Signal Frequency = TIM4 counter clock / TIM4_CCR2 in Hz. - - External Signal DutyCycle = (TIM4_CCR1*100)/(TIM4_CCR2) in %. - - --------------------------------------------------------------------------- */ - - TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; - TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; - TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; - TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; - TIM_ICInitStructure.TIM_ICFilter = 0x0; - - TIM_PWMIConfig(TIM4, &TIM_ICInitStructure); - - /* Select the TIM4 Input Trigger: TI2FP2 */ - TIM_SelectInputTrigger(TIM4, TIM_TS_TI2FP2); - - /* Select the slave Mode: Reset Mode */ - TIM_SelectSlaveMode(TIM4, TIM_SlaveMode_Reset); - TIM_SelectMasterSlaveMode(TIM4,TIM_MasterSlaveMode_Enable); - - /* TIM enable counter */ - TIM_Cmd(TIM4, ENABLE); - - /* Enable the CC2 Interrupt Request */ - TIM_ITConfig(TIM4, TIM_IT_CC2, ENABLE); - - while (1); -} - -/** - * @brief Configure the TIM4 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* TIM4 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); - - /* GPIOB clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); - - /* TIM4 chennel2 configuration : PB.07 */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Connect TIM pin to AF2 */ - GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_TIM4); - - /* Enable the TIM4 global Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/readme.txt deleted file mode 100644 index d892ef0bc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/readme.txt +++ /dev/null @@ -1,85 +0,0 @@ -/** - @page TIM_PWM_Input TIM_PWM_Input - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/PWM_Input/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM PWM_Input example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to use the TIM peripheral to measure the frequency and -duty cycle of an external signal. - -The TIMxCLK frequency is set to SystemCoreClock/4 (Hz), the Prescaler is 0 so the -counter clock is SystemCoreClock/2 (Hz). -SystemCoreClock is set to 120 MHz fro STM32F2xx Devices RevA, RevZ and RevB. - -TIM4 is configured in PWM Input Mode: the external signal is connected to -TIM4 Channel2 used as input pin. -To measure the frequency and the duty cycle we use the TIM4 CC2 interrupt request, -so In the TIM4_IRQHandler routine, the frequency and the duty cycle of the external -signal are computed. -The "Frequency" variable contains the external signal frequency: -TIM4 counter clock = SystemCoreClock / 2, -Frequency = TIM4 counter clock / TIM4_CCR2 in Hz, -The "DutyCycle" variable contains the external signal duty cycle: -DutyCycle = (TIM4_CCR1*100)/(TIM4_CCR2) in %. - -The minimum frequency value to measure is 915 Hz (TIM4 counter clock / CCR MAX). - -@par Directory contents - - - TIM/PWM_Input/stm32f2xx_conf.h Library Configuration file - - TIM/PWM_Input/stm32f2xx_it.c Interrupt handlers - - TIM/PWM_Input/stm32f2xx_it.h Interrupt handlers header file - - TIM/PWM_Input/main.c Main program - - TIM/PWM_Input/system_stm32f2xx.c STM32F2xx system clock configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the external signal to measure to the TIM4 CH2 pin (PB.07). - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/stm32f2xx_conf.h deleted file mode 100644 index e860271dd..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/PWM_Input/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/stm32f2xx_it.c deleted file mode 100644 index 7d299b169..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/stm32f2xx_it.c +++ /dev/null @@ -1,202 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/PWM_Input/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_PWM_Input - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint16_t IC2Value = 0; -__IO uint16_t DutyCycle = 0; -__IO uint32_t Frequency = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles TIM4 global interrupt request. - * @param None - * @retval None - */ -void TIM4_IRQHandler(void) -{ - RCC_ClocksTypeDef RCC_Clocks; - RCC_GetClocksFreq(&RCC_Clocks); - - /* Clear TIM4 Capture compare interrupt pending bit */ - TIM_ClearITPendingBit(TIM4, TIM_IT_CC2); - - /* Get the Input Capture value */ - IC2Value = TIM_GetCapture2(TIM4); - - if (IC2Value != 0) - { - /* Duty cycle computation */ - DutyCycle = (TIM_GetCapture1(TIM4) * 100) / IC2Value; - - /* Frequency computation - TIM4 counter clock = (RCC_Clocks.HCLK_Frequency)/2 */ - - Frequency = (RCC_Clocks.HCLK_Frequency)/2 / IC2Value; - } - else - { - DutyCycle = 0; - Frequency = 0; - } -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/stm32f2xx_it.h deleted file mode 100644 index 2382ff054..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/PWM_Input/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void TIM4_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Input/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/main.c deleted file mode 100644 index cc8bac0ec..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/main.c +++ /dev/null @@ -1,214 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/PWM_Output/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_PWM_Output - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -uint16_t CCR1_Val = 333; -uint16_t CCR2_Val = 249; -uint16_t CCR3_Val = 166; -uint16_t CCR4_Val = 83; -uint16_t PrescalerValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* ----------------------------------------------------------------------- - TIM3 Configuration: generate 4 PWM signals with 4 different duty cycles. - - In this example TIM3 input clock (TIM3CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM3CLK = 2 * PCLK1 - PCLK1 = HCLK / 4 - => TIM3CLK = HCLK / 2 = SystemCoreClock /2 - - To get TIM3 counter clock at 20 MHz, the prescaler is computed as follows: - Prescaler = (TIM3CLK / TIM3 counter clock) - 1 - Prescaler = ((SystemCoreClock /2) /20 MHz) - 1 - - To get TIM3 output clock at 30 KHz, the period (ARR)) is computed as follows: - ARR = (TIM3 counter clock / TIM3 output clock) - 1 - = 665 - - TIM3 Channel1 duty cycle = (TIM3_CCR1/ TIM3_ARR)* 100 = 50% - TIM3 Channel2 duty cycle = (TIM3_CCR2/ TIM3_ARR)* 100 = 37.5% - TIM3 Channel3 duty cycle = (TIM3_CCR3/ TIM3_ARR)* 100 = 25% - TIM3 Channel4 duty cycle = (TIM3_CCR4/ TIM3_ARR)* 100 = 12.5% - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - ----------------------------------------------------------------------- */ - - - /* Compute the prescaler value */ - PrescalerValue = (uint16_t) ((SystemCoreClock /2) / 20000000) - 1; - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 665; - TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); - - /* PWM1 Mode configuration: Channel1 */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR1_Val; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; - - TIM_OC1Init(TIM3, &TIM_OCInitStructure); - - TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable); - - /* PWM1 Mode configuration: Channel2 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR2_Val; - - TIM_OC2Init(TIM3, &TIM_OCInitStructure); - - TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable); - - /* PWM1 Mode configuration: Channel3 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR3_Val; - - TIM_OC3Init(TIM3, &TIM_OCInitStructure); - - TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable); - - /* PWM1 Mode configuration: Channel4 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR4_Val; - - TIM_OC4Init(TIM3, &TIM_OCInitStructure); - - TIM_OC4PreloadConfig(TIM3, TIM_OCPreload_Enable); - - TIM_ARRPreloadConfig(TIM3, ENABLE); - - /* TIM3 enable counter */ - TIM_Cmd(TIM3, ENABLE); - - while (1) - {} -} - -/** - * @brief Configure the TIM3 Ouput Channels. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* TIM3 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); - - /* GPIOC clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); - - /* GPIOC Configuration: TIM3 CH1 (PC6), TIM3 CH2 (PC7), TIM3 CH3 (PC8) and TIM3 CH4 (PC9) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - /* Connect TIM3 pins to AF2 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOC, GPIO_PinSource7, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOC, GPIO_PinSource8, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOC, GPIO_PinSource9, GPIO_AF_TIM3); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/readme.txt deleted file mode 100644 index 826c1e2d6..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/readme.txt +++ /dev/null @@ -1,100 +0,0 @@ -/** - @page TIM_PWM_Output TIM_PWM_Output - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/PWM_Output/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM PWM_Output example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the TIM peripheral in PWM (Pulse Width Modulation) -mode. - -The TIM3CLK frequency is set to SystemCoreClock / 2 (Hz), to get TIM3 counter -clock at 20 MHz the Prescaler is computed as following: - - Prescaler = (TIM3CLK / TIM3 counter clock) - 1 - -SystemCoreClock is set to 120 MHz for STM32F2xx Devices RevA, RevZ and RevB. - -The TIM3 is running at 30 KHz: TIM3 Frequency = TIM3 counter clock/(ARR + 1) - = 20 MHz / 666 = 30 KHz -The TIM3 CCR1 register value is equal to 500, so the TIM3 Channel 1 generates a -PWM signal with a frequency equal to 30 KHz and a duty cycle equal to 50%: -TIM3 Channel1 duty cycle = (TIM3_CCR1/ TIM3_ARR + 1)* 100 = 50% - -The TIM3 CCR2 register value is equal to 375, so the TIM3 Channel 2 generates a -PWM signal with a frequency equal to 30 KHz and a duty cycle equal to 37.5%: -TIM3 Channel2 duty cycle = (TIM3_CCR2/ TIM3_ARR + 1)* 100 = 37.5% - -The TIM3 CCR3 register value is equal to 250, so the TIM3 Channel 3 generates a -PWM signal with a frequency equal to 30 KHz and a duty cycle equal to 25%: -TIM3 Channel3 duty cycle = (TIM3_CCR3/ TIM3_ARR + 1)* 100 = 25% - -The TIM3 CCR4 register value is equal to 125, so the TIM3 Channel 4 generates a -PWM signal with a frequency equal to 30 KHz and a duty cycle equal to 12.5%: -TIM3 Channel4 duty cycle = (TIM3_CCR4/ TIM3_ARR + 1)* 100 = 12.5% - -The PWM waveform can be displayed using an oscilloscope. - - -@par Directory contents - - - TIM/PWM_Output/stm32f2xx_conf.h Library Configuration file - - TIM/PWM_Output/stm32f2xx_it.c Interrupt handlers - - TIM/PWM_Output/stm32f2xx_it.h Interrupt handlers header file - - TIM/PWM_Output/main.c Main program - - TIM/PWM_Output/system_stm32f2xx.c STM32F2xx system clock configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the following pins to an oscilloscope to monitor the different - waveforms: - - PC.06: (TIM3_CH1) - - PC.07: (TIM3_CH2) - - PC.08: (TIM3_CH3) - - PC.09: (TIM3_CH4) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/stm32f2xx_conf.h deleted file mode 100644 index a154cfc4d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/PWM_Output/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/stm32f2xx_it.c deleted file mode 100644 index df5dad833..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/PWM_Output/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_PWM_Output - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/stm32f2xx_it.h deleted file mode 100644 index e5cc3b009..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/PWM_Output/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/PWM_Output/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/main.c deleted file mode 100644 index 5a8c1feec..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/main.c +++ /dev/null @@ -1,232 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/Parallel_Synchro/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_Parallel_Synchro - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* --------------------------------------------------------------------------- - Timers synchronisation in parallel mode - 1/TIM2 is configured as Master Timer: - - PWM Mode is used - - The TIM2 Update event is used as Trigger Output - 2/TIM3 and TIM4 are slaves for TIM2, - - PWM Mode is used - - The ITR1(TIM2) is used as input trigger for both slaves - - Gated mode is used, so starts and stops of slaves counters - are controlled by the Master trigger output signal(update event). - - TIM2 input clock (TIM2CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM2CLK = 2 * PCLK1 - PCLK1 = HCLK / 4 - => TIM2CLK = HCLK / 2 = SystemCoreClock /2 - - To get Master Timer TIM2 output clock at 234.375 KHz running at and the - duty cycle is equal to 25% : - - The period (TIM2_ARR) is computed as follows: - ARR = (TIM2 counter clock / TIM2 output clock) - 1 - = 255 - - The dutu cycle (TIM2_CCR1) is computed as follows: - CCR1 = ((TIM2_ARR + 1) * 25)/100 - = 64 - - The TIM3 is running: - - At (TIM2 frequency)/ (TIM3 period + 1) = 23.437 KHz and a duty cycle - equal to TIM3_CCR1/(TIM3_ARR + 1) = 30% - - The TIM4 is running: - - At (TIM2 frequency)/ (TIM4 period + 1) = 46.875 KHz and a duty cycle - equal to TIM4_CCR1/(TIM4_ARR + 1) = 60% - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - - ----------------------------------------------------------------------------*/ - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 255; - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); - - TIM_TimeBaseStructure.TIM_Period = 9; - TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); - - TIM_TimeBaseStructure.TIM_Period = 4; - TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); - - /* Master Configuration in PWM1 Mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = 64; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; - - TIM_OC1Init(TIM2, &TIM_OCInitStructure); - - /* Select the Master Slave Mode */ - TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable); - - /* Master Mode selection */ - TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_Update); - - /* Slaves Configuration: PWM1 Mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = 3; - - TIM_OC1Init(TIM3, &TIM_OCInitStructure); - - TIM_OC1Init(TIM4, &TIM_OCInitStructure); - - /* Slave Mode selection: TIM3 */ - TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Gated); - TIM_SelectInputTrigger(TIM3, TIM_TS_ITR1); - - /* Slave Mode selection: TIM4 */ - TIM_SelectSlaveMode(TIM4, TIM_SlaveMode_Gated); - TIM_SelectInputTrigger(TIM4, TIM_TS_ITR1); - - /* TIM enable counter */ - TIM_Cmd(TIM3, ENABLE); - TIM_Cmd(TIM2, ENABLE); - TIM_Cmd(TIM4, ENABLE); - - while (1) - {} -} - -/** - * @brief Configure the TIM Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* TIM2, TIM3 and TIM4 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM3 | - RCC_APB1Periph_TIM4, ENABLE); - - /* GPIOA, GPIOB and GPIOC clocks enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC, ENABLE); - - /* GPIOC Configuration: PC6(TIM3 CH1) as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - /* GPIOA Configuration: PA0(TIM2 CH1) as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* GPIOB Configuration: PB6(TIM4 CH1) as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Connect TIM pins to AF2 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOA, GPIO_PinSource0, GPIO_AF_TIM2); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_TIM4); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/readme.txt deleted file mode 100644 index a2a38296a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/readme.txt +++ /dev/null @@ -1,97 +0,0 @@ -/** - @page TIM_Parallel_Synchro TIM Parallel Synchro example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/Parallel_Synchro/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM Parallel Synchro example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to synchronize TIM peripherals in parallel mode. -In this example three timers are used: - -Timers synchronisation in parallel mode: - -1/TIM2 is configured as Master Timer: - - PWM Mode is used - - The TIM2 Update event is used as Trigger Output - -2/TIM3 and TIM4 are slaves for TIM2, - - PWM Mode is used - - The ITR1(TIM2) is used as input trigger for both slaves - - Gated mode is used, so starts and stops of slaves counters are controlled - by the Master trigger output signal(update event). - -The TIM2 counter clock is 60 MHz. - - The Master Timer TIM2 is running at TIM2 frequency: - TIM2 frequency = TIM2 counter clock/ (TIM2 period + 1) = 234.375 KHz - and the duty cycle is equal to TIM2_CCR1/(TIM2_ARR + 1) = 25%. - - The TIM3 is running at: - (TIM2 frequency)/ (TIM3 period + 1) = 23.437 KHz and a duty cycle equal to - TIM3_CCR1/(TIM3_ARR + 1) = 30% - - The TIM4 is running at: - (TIM2 frequency)/ (TIM4 period + 1) = 46.875 KHz and a duty cycle equal to - TIM4_CCR1/(TIM4_ARR + 1) = 60% - -@par Directory contents - - - TIM/Parallel_Synchro/stm32f2xx_conf.h Library Configuration file - - TIM/Parallel_Synchro/stm32f2xx_it.c Interrupt handlers - - TIM/Parallel_Synchro/stm32f2xx_it.h Interrupt handlers header file - - TIM/Parallel_Synchro/main.c Main program - - TIM/Parallel_Synchro/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the pins to an oscilloscope to monitor the different waveforms: - - TIM2 CH1 (PA.00) - - TIM3 CH1 (PC.06) - - TIM4 CH1 (PB.06) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/stm32f2xx_conf.h deleted file mode 100644 index 6a05ee181..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/Parallel_Synchro/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/stm32f2xx_it.c deleted file mode 100644 index a5fe2e65d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/Parallel_Synchro/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_Parallel_Synchro - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/stm32f2xx_it.h deleted file mode 100644 index d8df9a003..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/Parallel_Synchro/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/Parallel_Synchro/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/main.c deleted file mode 100644 index 4bd417e84..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/main.c +++ /dev/null @@ -1,181 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM10_PWMOutput/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM10_PWMOutput - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -uint16_t CCR1_Val = 333; -uint16_t PrescalerValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* --------------------------------------------------------------------------- - TIM10 Configuration: generate 1 PWM signal: - - In this example TIM10 input clock (TIM10CLK) is set to 2 * APB2 clock (PCLK2), - since APB2 prescaler is different from 1. - TIM10CLK = 2 * PCLK2 - PCLK2 = HCLK / 2 - => TIM10CLK = HCLK = SystemCoreClock - - To get TIM10 counter clock at 20 MHz, the prescaler is computed as follows: - Prescaler = (TIM10CLK / TIM10 counter clock) - 1 - Prescaler = (SystemCoreClock /20 MHz) - 1 - - To get TIM10 output clock at 30 KHz, the period (TIM10_ARR) is computed as follows: - ARR = (TIM10 counter clock / TIM10 output clock) - 1 - = 665 - - TIM10 Channel1 duty cycle = (TIM10_CCR1/ TIM10_ARR)* 100 = 50% - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - --------------------------------------------------------------------------- */ - - - /* Compute the prescaler value */ - PrescalerValue = (uint16_t) (SystemCoreClock / 20000000) - 1; - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 665; - TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM10, &TIM_TimeBaseStructure); - - /* PWM1 Mode configuration: Channel1 */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR1_Val; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; - - TIM_OC1Init(TIM10, &TIM_OCInitStructure); - - TIM_OC1PreloadConfig(TIM10, TIM_OCPreload_Enable); - - TIM_ARRPreloadConfig(TIM10, ENABLE); - - /* TIM10 enable counter */ - TIM_Cmd(TIM10, ENABLE); - - while (1) - {} -} - -/** - * @brief Configure the TIM10 Ouput Channels. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* TIM10 clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM10, ENABLE); - - /* GPIOF clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); - - /* GPIOF Configuration: TIM10 CH1 (PF6) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 ; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ; - GPIO_Init(GPIOF, &GPIO_InitStructure); - - /* Connect TIM pins to AF3 */ - GPIO_PinAFConfig(GPIOF, GPIO_PinSource6, GPIO_AF_TIM10); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/readme.txt deleted file mode 100644 index f16d5fb88..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/readme.txt +++ /dev/null @@ -1,84 +0,0 @@ -/** - @page TIM10_PWMOutput TIM10_PWMOutput - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/TIM10_PWMOutput/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM PWM_Output example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the TIM peripheral in PWM (Pulse Width Modulation) -mode. - -The TIM10CLK frequency is set to SystemCoreClock(Hz), to get TIM10 counter -clock at 20 MHz the Prescaler is computed as following: - - Prescaler = (TIM10CLK / TIM10 counter clock) - 1 - -SystemCoreClock is set to 120 MHz for STM32F2xx Devices RevA, RevZ and RevB. - -The TIM10 is running at 30 KHz: TIM10 Frequency = TIM10 counter clock/(ARR + 1) - = 20 MHz / 666 = 30 KHz - -The TIM10 CCR1 register value is equal to 500, so the TIM10 Channel 1 generates a -PWM signal with a frequency equal to 30 KHz and a duty cycle equal to 50%: - -TIM10 Channel1 duty cycle = (TIM10_CCR1/ TIM10_ARR + 1)* 100 = 50% - -The PWM waveform can be displayed using an oscilloscope. - -@par Directory contents - - - TIM/TIM10_PWMOutput/stm32f2xx_conf.h Library Configuration file - - TIM/TIM10_PWMOutput/stm32f2xx_it.c Interrupt handlers - - TIM/TIM10_PWMOutput/stm32f2xx_it.h Interrupt handlers header file - - TIM/TIM10_PWMOutput/main.c Main program - - TIM/TIM10_PWMOutput/system_stm32f2xx.c STM32F2xx system clock configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the following pin to an oscilloscope PF.06: (TIM10_CH1) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/stm32f2xx_conf.h deleted file mode 100644 index db5accedc..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM10_PWMOutput/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/stm32f2xx_it.c deleted file mode 100644 index f9746bf1e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM10_PWMOutput/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM10_PWMOutput - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/stm32f2xx_it.h deleted file mode 100644 index 3d286137e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM10_PWMOutput/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM10_PWMOutput/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/main.c deleted file mode 100644 index 5cf97ff63..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/main.c +++ /dev/null @@ -1,271 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM1_Synchro/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_TIM1_Synchro - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -TIM_BDTRInitTypeDef TIM_BDTRInitStructure; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM1 Configuration */ - TIM_Config(); - - /* --------------------------------------------------------------------------- - TIM1 and Timers(TIM3 and TIM4) synchronisation in parallel mode. - 1/TIM1 is configured as Master Timer: - - PWM Mode is used - - The TIM1 Update event is used as Trigger Output - - 2/TIM3 and TIM4 are slaves for TIM1, - - PWM Mode is used - - The ITR0(TIM1) is used as input trigger for both slaves - - Gated mode is used, so starts and stops of slaves counters - are controlled by the Master trigger output signal(update event). - - In this example TIM1 input clock (TIM1CLK) is set to 2 * APB2 clock (PCLK2), - since APB2 prescaler is different from 1. - TIM1CLK = 2 * PCLK2 - PCLK2 = HCLK / 2 - => TIM1CLK = HCLK = SystemCoreClock - - The TIM1 counter clock is equal to SystemCoreClock = 120 Mhz. - - The Master Timer TIM1 is running at: - TIM1 frequency = TIM1 counter clock / (TIM1_Period + 1) = 468.750 KHz - TIM1_Period = (TIM1 counter clock / TIM1 frequency) - 1 = 255 - and the duty cycle is equal to: TIM1_CCR1/(TIM1_ARR + 1) = 50% - - The TIM3 is running at: - (TIM1 frequency)/ ((TIM3 period +1)* (Repetition_Counter+1)) = 31.250 KHz and - a duty cycle equal to TIM3_CCR1/(TIM3_ARR + 1) = 33.3% - - The TIM4 is running at: - (TIM1 frequency)/ ((TIM4 period +1)* (Repetition_Counter+1)) = 46.875 KHz and - a duty cycle equal to TIM4_CCR1/(TIM4_ARR + 1) = 50% - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - --------------------------------------------------------------------------- */ - - - /* TIM3 Peripheral Configuration ----------------------------------------*/ - /* TIM3 Slave Configuration: PWM1 Mode */ - TIM_TimeBaseStructure.TIM_Period = 2; - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); - - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = 1; - - TIM_OC1Init(TIM3, &TIM_OCInitStructure); - - /* Slave Mode selection: TIM3 */ - TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Gated); - TIM_SelectInputTrigger(TIM3, TIM_TS_ITR0); - - /* TIM4 Peripheral Configuration ----------------------------------------*/ - /* TIM4 Slave Configuration: PWM1 Mode */ - TIM_TimeBaseStructure.TIM_Period = 1; - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); - - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = 1; - - TIM_OC1Init(TIM4, &TIM_OCInitStructure); - - /* Slave Mode selection: TIM4 */ - TIM_SelectSlaveMode(TIM4, TIM_SlaveMode_Gated); - TIM_SelectInputTrigger(TIM4, TIM_TS_ITR0); - - /* TIM1 Peripheral Configuration ----------------------------------------*/ - /* Time Base configuration */ - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - TIM_TimeBaseStructure.TIM_Period = 255; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_RepetitionCounter = 4; - - TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); - - /* Channel 1 Configuration in PWM mode */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; - TIM_OCInitStructure.TIM_Pulse = 127; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; - TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_Low; - TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set; - TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset; - - TIM_OC1Init(TIM1, &TIM_OCInitStructure); - - /* Automatic Output enable, Break, dead time and lock configuration*/ - TIM_BDTRInitStructure.TIM_OSSRState = TIM_OSSRState_Enable; - TIM_BDTRInitStructure.TIM_OSSIState = TIM_OSSIState_Enable; - TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_1; - TIM_BDTRInitStructure.TIM_DeadTime = 5; - TIM_BDTRInitStructure.TIM_Break = TIM_Break_Disable; - TIM_BDTRInitStructure.TIM_BreakPolarity = TIM_BreakPolarity_High; - TIM_BDTRInitStructure.TIM_AutomaticOutput = TIM_AutomaticOutput_Disable; - - TIM_BDTRConfig(TIM1, &TIM_BDTRInitStructure); - - /* Master Mode selection */ - TIM_SelectOutputTrigger(TIM1, TIM_TRGOSource_Update); - - /* Select the Master Slave Mode */ - TIM_SelectMasterSlaveMode(TIM1, TIM_MasterSlaveMode_Enable); - - /* TIM1 counter enable */ - TIM_Cmd(TIM1, ENABLE); - - /* TIM enable counter */ - TIM_Cmd(TIM3, ENABLE); - TIM_Cmd(TIM4, ENABLE); - - /* Main Output Enable */ - TIM_CtrlPWMOutputs(TIM1, ENABLE); - - while (1) - {} -} - -/** - * @brief Configures TIM1, TIM3 and TIM4 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - /* GPIOA, GPIOB and GPIOC clocks enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC, ENABLE); - - /* TIM1 clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); - - /* TIM3 and TIM4 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 | RCC_APB1Periph_TIM4, ENABLE); - - /* GPIOA Configuration: TIM1 Channel1 as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* GPIOC Configuration: TIM3 Channel1 as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_Init(GPIOC, &GPIO_InitStructure); - - /* GPIOB Configuration: TIM4 Channel1 as alternate function push-pull */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; - GPIO_Init(GPIOB, &GPIO_InitStructure); - - /* Connect TIM pins to AF1 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_TIM1); - - /* Connect TIM pins to AF2 */ - GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_TIM3); - GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_TIM4); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} - -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/readme.txt deleted file mode 100644 index 8adbcb0f0..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/readme.txt +++ /dev/null @@ -1,97 +0,0 @@ -/** - @page TIM_TIM1_Synchro TIM1 Synchro example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/TIM1_Synchro/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM TIM1 Synchro example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to synchronize TIM1 and Timers (TIM3 and TIM4) in parallel mode. - -Timers synchronisation in parallel mode: - -1/ TIM1 is configured as Master Timer: - - PWM Mode is used - - The TIM1 Update event is used as Trigger Output - -2/ TIM3 and TIM4 are slaves for TIM1, - - PWM Mode is used - - The ITR0(TIM1) is used as input trigger for both slaves - - Gated mode is used, so starts and stops of slaves counters - are controlled by the Master trigger output signal(update event). - -The TIM1 counter clock is 120 MHz. - - The Master Timer TIM1 is running at: - TIM1 frequency = TIM1 counter clock / (TIM1_Period + 1) = 468.750 KHz - and the duty cycle is equal to: TIM1_CCR1/(TIM1_ARR + 1) = 50% - - The TIM3 is running at: - (TIM1 frequency)/ ((TIM3 period +1)* (Repetition_Counter+1)) = 31.250 KHz and - a duty cycle equal to TIM3_CCR1/(TIM3_ARR + 1) = 33.3% - - The TIM4 is running at: - (TIM1 frequency)/ ((TIM4 period +1)* (Repetition_Counter+1)) = 46.875 KHz and - a duty cycle equal to TIM4_CCR1/(TIM4_ARR + 1) = 50% - - -@par Directory contents - - - TIM/TIM1_Synchro/stm32f2xx_conf.h Library Configuration file - - TIM/TIM1_Synchro/stm32f2xx_it.c Interrupt handlers - - TIM/TIM1_Synchro/stm32f2xx_it.h Interrupt handlers header file - - TIM/TIM1_Synchro/main.c Main program - - TIM/TIM1_Synchro/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the following pins to an oscilloscope to monitor the different waveforms: - - TIM1 CH1 (PA.08) - - TIM3 CH1 (PC.06) - - TIM4 CH1 (PB.06) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/stm32f2xx_conf.h deleted file mode 100644 index 02f870fd2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM1_Synchro/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/stm32f2xx_it.c deleted file mode 100644 index 83a95f055..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/stm32f2xx_it.c +++ /dev/null @@ -1,165 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM1_Synchro/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_TIM1_Synchro - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/stm32f2xx_it.h deleted file mode 100644 index 5566b84c2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM1_Synchro/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM1_Synchro/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/main.c deleted file mode 100644 index 700d41fee..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/main.c +++ /dev/null @@ -1,200 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM9_OCToggle/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_TIM9_OCToggle - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -__IO uint16_t CCR1_Val = 40961; -__IO uint16_t CCR2_Val = 20480; -uint16_t PrescalerValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* --------------------------------------------------------------------------- - TIM9 Configuration: Output Compare Toggle Mode: - - In this example TIM9 input clock (TIM9CLK) is set to 2 * APB2 clock (PCLK2), - since APB2 prescaler is different from 1. - TIM9CLK = 2 * PCLK2 - PCLK2 = HCLK / 2 - => TIM9CLK = HCLK = SystemCoreClock - - To get TIM9 counter clock at 15 MHz, the prescaler is computed as follows: - Prescaler = (TIM9CLK / TIM9 counter clock) - 1 - Prescaler = (SystemCoreClock /15 MHz) - 1 - - CC1 update rate = TIM9 counter clock / CCR1_Val = 366.2 Hz - ==> So the TIM9 Channel 1 generates a periodic signal with - a frequency equal to 183.1 Hz - - CC2 update rate = TIM9 counter clock / CCR2_Val = 732.4 Hz - ==> So the TIM9 channel 2 generates a periodic signal with - a frequency equal to 366.3 Hz - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - --------------------------------------------------------------------------- */ - - - /* Compute the prescaler value */ - PrescalerValue = (uint16_t) (SystemCoreClock / 15000000) - 1; - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 65535; - TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM9, &TIM_TimeBaseStructure); - - /* Output Compare Toggle Mode configuration: Channel1 */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR1_Val; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; - TIM_OC1Init(TIM9, &TIM_OCInitStructure); - - TIM_OC1PreloadConfig(TIM9, TIM_OCPreload_Disable); - - /* Output Compare Toggle Mode configuration: Channel2 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR2_Val; - - TIM_OC2Init(TIM9, &TIM_OCInitStructure); - - TIM_OC2PreloadConfig(TIM9, TIM_OCPreload_Disable); - - /* TIM enable counter */ - TIM_Cmd(TIM9, ENABLE); - - /* TIM IT enable */ - TIM_ITConfig(TIM9, TIM_IT_CC1 | TIM_IT_CC2, ENABLE); - - while (1) - {} -} - -/** - * @brief Configure the TIM9 Pins. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* TIM9 clock enable */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM9, ENABLE); - - /* GPIOA clock enable */ - RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA , ENABLE); - - /* GPIOA Configuration: TIM9 CH1 (PA2) and TIM9 CH2 (PA3) */ - GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ; - GPIO_Init(GPIOA, &GPIO_InitStructure); - - /* Connect TIM pins to AF3 */ - GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_TIM9); - GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_TIM9); - - /* Enable the TIM9 global Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = TIM1_BRK_TIM9_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/readme.txt deleted file mode 100644 index 656f2e214..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/readme.txt +++ /dev/null @@ -1,84 +0,0 @@ -/** - @page TIM_TIM9_OCToggle TIM_TIM9_OCToggle - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file TIM/TIM9_OCToggle/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM TIM9_OCToggle example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the TIM9 peripheral to generate four different -signals with Two different frequencies. - -The TIM9CLK frequency is set to SystemCoreClock (Hz), and we want to get TIM9 -counter clock at 15 MHz so the Prescaler is computed as following: - - Prescaler = (TIM9CLK / TIM9 counter clock) - 1 - -SystemCoreClock is set to 120 MHz for STM32F2xx devices - -The TIM9 CCR1 register value is equal to 40961: -CC1 update rate = TIM9 counter clock / CCR1_Val = 366.2 Hz, -so the TIM9 Channel 1 generates a periodic signal with a frequency equal to 183.1 Hz. - -The TIM9 CCR2 register is equal to 20480: -CC2 update rate = TIM9 counter clock / CCR2_Val = 732.4 Hz -so the TIM9 channel 2 generates a periodic signal with a frequency equal to 366.3 Hz. - -@par Directory contents - - - TIM/TIM9_OCToggle/stm32f2xx_conf.h Library Configuration file - - TIM/TIM9_OCToggle/stm32f2xx_it.c Interrupt handlers - - TIM/TIM9_OCToggle/stm32f2xx_it.h Interrupt handlers header file - - TIM/TIM9_OCToggle/main.c Main program - - TIM/TIM9_OCToggle/system_stm32f2xx.c STM32F2xx system clock configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect the TIM9 pins to an oscilloscope to monitor the different waveforms: - - PA.02 (TIM9_CH1) - - PA.03 (TIM9_CH2) - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/stm32f2xx_conf.h deleted file mode 100644 index 1e097ea25..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM9_TIM9_OCToggle/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/stm32f2xx_it.c deleted file mode 100644 index 0d15f1569..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/stm32f2xx_it.c +++ /dev/null @@ -1,198 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM9_OCToggle/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_TIM9_OCToggle - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint16_t capture = 0; -extern __IO uint16_t CCR1_Val; -extern __IO uint16_t CCR2_Val; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles TIM9 global interrupt request. - * @param None - * @retval None - */ -void TIM1_BRK_TIM9_IRQHandler(void) -{ - /* TIM9_CH1 toggling with frequency = 183.1 Hz */ - if (TIM_GetITStatus(TIM9, TIM_IT_CC1) != RESET) - { - TIM_ClearITPendingBit(TIM9, TIM_IT_CC1); - capture = TIM_GetCapture1(TIM9); - TIM_SetCompare1(TIM9, capture + CCR1_Val); - } - - /* TIM9_CH2 toggling with frequency = 366.2 Hz */ - if (TIM_GetITStatus(TIM9, TIM_IT_CC2) != RESET) - { - TIM_ClearITPendingBit(TIM9, TIM_IT_CC2); - capture = TIM_GetCapture2(TIM9); - TIM_SetCompare2(TIM9, capture + CCR2_Val); - } - -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/stm32f2xx_it.h deleted file mode 100644 index 4518febc4..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TIM9_OCToggle/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void TIM1_BRK_TIM9_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TIM9_OCToggle/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/main.c deleted file mode 100644 index ad3c67a9d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/main.c +++ /dev/null @@ -1,223 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TimeBase/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_TimeBase - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; -TIM_OCInitTypeDef TIM_OCInitStructure; -__IO uint16_t CCR1_Val = 40961; -__IO uint16_t CCR2_Val = 27309; -__IO uint16_t CCR3_Val = 13654; -__IO uint16_t CCR4_Val = 6826; -uint16_t PrescalerValue = 0; - -/* Private function prototypes -----------------------------------------------*/ -void TIM_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* TIM Configuration */ - TIM_Config(); - - /* ----------------------------------------------------------------------- - TIM3 Configuration: Output Compare Timing Mode: - - In this example TIM3 input clock (TIM3CLK) is set to 2 * APB1 clock (PCLK1), - since APB1 prescaler is different from 1. - TIM3CLK = 2 * PCLK1 - PCLK1 = HCLK / 4 - => TIM3CLK = HCLK / 2 = SystemCoreClock /2 - - To get TIM3 counter clock at 6 MHz, the prescaler is computed as follows: - Prescaler = (TIM3CLK / TIM3 counter clock) - 1 - Prescaler = ((SystemCoreClock /2) /6 MHz) - 1 - - CC1 update rate = TIM3 counter clock / CCR1_Val = 146.48 Hz - ==> Toggling frequency = 73.24 Hz - - C2 update rate = TIM3 counter clock / CCR2_Val = 219.7 Hz - ==> Toggling frequency = 109.8 Hz - - CC3 update rate = TIM3 counter clock / CCR3_Val = 439.4 Hz - ==> Toggling frequency = 219.7 Hz - - CC4 update rate = TIM3 counter clock / CCR4_Val = 878.9 Hz - ==> Toggling frequency = 439.4 Hz - - Note: - SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f2xx.c file. - Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate() - function to update SystemCoreClock variable value. Otherwise, any configuration - based on this variable will be incorrect. - ----------------------------------------------------------------------- */ - - - /* Compute the prescaler value */ - PrescalerValue = (uint16_t) ((SystemCoreClock / 2) / 6000000) - 1; - - /* Time base configuration */ - TIM_TimeBaseStructure.TIM_Period = 65535; - TIM_TimeBaseStructure.TIM_Prescaler = 0; - TIM_TimeBaseStructure.TIM_ClockDivision = 0; - TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; - - TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); - - /* Prescaler configuration */ - TIM_PrescalerConfig(TIM3, PrescalerValue, TIM_PSCReloadMode_Immediate); - - /* Output Compare Timing Mode configuration: Channel1 */ - TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Timing; - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR1_Val; - TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; - - TIM_OC1Init(TIM3, &TIM_OCInitStructure); - - TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* Output Compare Timing Mode configuration: Channel2 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR2_Val; - - TIM_OC2Init(TIM3, &TIM_OCInitStructure); - - TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* Output Compare Timing Mode configuration: Channel3 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR3_Val; - - TIM_OC3Init(TIM3, &TIM_OCInitStructure); - - TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* Output Compare Timing Mode configuration: Channel4 */ - TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; - TIM_OCInitStructure.TIM_Pulse = CCR4_Val; - - TIM_OC4Init(TIM3, &TIM_OCInitStructure); - - TIM_OC4PreloadConfig(TIM3, TIM_OCPreload_Disable); - - /* TIM Interrupts enable */ - TIM_ITConfig(TIM3, TIM_IT_CC1 | TIM_IT_CC2 | TIM_IT_CC3 | TIM_IT_CC4, ENABLE); - - /* TIM3 enable counter */ - TIM_Cmd(TIM3, ENABLE); - - while (1); -} - -/** - * @brief Configure the TIM IRQ Handler. - * @param None - * @retval None - */ -void TIM_Config(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - - /* TIM3 clock enable */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); - - /* Enable the TIM3 gloabal Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Initialize Leds mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Turn on LED1, LED2, LED3 and LED4 */ - STM_EVAL_LEDOn(LED1); - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/readme.txt deleted file mode 100644 index e5d1a0564..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/readme.txt +++ /dev/null @@ -1,103 +0,0 @@ -/** - @page TIM_TimeBase TIM_TimeBase - - @verbatim - ****************************************************************************** - * @file TIM/TimeBase/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the TIM Time Base example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to configure the TIM peripheral in Output Compare Timing -mode with the corresponding Interrupt requests for each channel in order to generate -4 different time bases. - -The TIM3CLK frequency is set to SystemCoreClock / 2 (Hz), to get TIM3 counter -clock at 6 MHz so the Prescaler is computed as following: - - Prescaler = (TIM3CLK / TIM3 counter clock) - 1 - -SystemCoreClock is set to 120MHz for STM32F2xx Devices RevA, RevZ and RevB. - -The TIM3 CC1 register value is equal to 40961, -CC1 update rate = TIM3 counter clock / CCR1_Val = 146.48 Hz, -so the TIM3 Channel 1 generates an interrupt each 6.8ms - -The TIM3 CC2 register is equal to 27309, -CC2 update rate = TIM3 counter clock / CCR2_Val = 219.7 Hz -so the TIM3 Channel 2 generates an interrupt each 4.55ms - -The TIM3 CC3 register is equal to 13654, -CC3 update rate = TIM3 counter clock / CCR3_Val = 439.4Hz -so the TIM3 Channel 3 generates an interrupt each 2.27ms - -The TIM3 CC4 register is equal to 6826, -CC4 update rate = TIM3 counter clock / CCR4_Val = 878.9 Hz -so the TIM3 Channel 4 generates an interrupt each 1.13ms. - -When the counter value reaches the Output compare registers values, the Output -Compare interrupts are generated and, in the handler routine, 4 pins(PG.06, PG.08, -PI.09 and PC.07) are toggled with the following frequencies: - -- PG.06: 73.24Hz (CC1) -- PG.08: 109.8Hz (CC2) -- PI.09: 219.7Hz (CC3) -- PC.07: 439.4Hz (CC4) - -@par Directory contents - - - TIM/TimeBase/stm32f2xx_conf.h Library Configuration file - - TIM/TimeBase/stm32f2xx_it.c Interrupt handlers - - TIM/TimeBase/stm32f2xx_it.h Interrupt handlers header file - - TIM/TimeBase/main.c Main program - - TIM/TimeBase/system_stm32f2xx.c STM32F2xx system clock configuration file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins and connect them on an oscilloscope to show the different - Time Base signals. - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/stm32f2xx_conf.h deleted file mode 100644 index ec5011024..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/stm32f2xx_conf.h +++ /dev/null @@ -1,93 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TimeBase/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function which reports - * the name of the source file and the source line number of the call - * that failed. If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/stm32f2xx_it.c deleted file mode 100644 index c0646471e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/stm32f2xx_it.c +++ /dev/null @@ -1,221 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TimeBase/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup TIM_TimeBase - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint16_t capture = 0; -extern __IO uint16_t CCR1_Val; -extern __IO uint16_t CCR2_Val; -extern __IO uint16_t CCR3_Val; -extern __IO uint16_t CCR4_Val; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - {} -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles TIM3 global interrupt request. - * @param None - * @retval None - */ -void TIM3_IRQHandler(void) -{ - if (TIM_GetITStatus(TIM3, TIM_IT_CC1) != RESET) - { - TIM_ClearITPendingBit(TIM3, TIM_IT_CC1); - - /* LED1 toggling with frequency = 73.24 Hz */ - STM_EVAL_LEDToggle(LED1); - capture = TIM_GetCapture1(TIM3); - TIM_SetCompare1(TIM3, capture + CCR1_Val); - } - else if (TIM_GetITStatus(TIM3, TIM_IT_CC2) != RESET) - { - TIM_ClearITPendingBit(TIM3, TIM_IT_CC2); - - /* LED2 toggling with frequency = 109.8 Hz */ - STM_EVAL_LEDToggle(LED2); - capture = TIM_GetCapture2(TIM3); - TIM_SetCompare2(TIM3, capture + CCR2_Val); - } - else if (TIM_GetITStatus(TIM3, TIM_IT_CC3) != RESET) - { - TIM_ClearITPendingBit(TIM3, TIM_IT_CC3); - - /* LED3 toggling with frequency = 219.7 Hz */ - STM_EVAL_LEDToggle(LED3); - capture = TIM_GetCapture3(TIM3); - TIM_SetCompare3(TIM3, capture + CCR3_Val); - } - else - { - TIM_ClearITPendingBit(TIM3, TIM_IT_CC4); - - /* LED4 toggling with frequency = 439.4 Hz */ - STM_EVAL_LEDToggle(LED4); - capture = TIM_GetCapture4(TIM3); - TIM_SetCompare4(TIM3, capture + CCR4_Val); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/stm32f2xx_it.h deleted file mode 100644 index e2d7afb5d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file TIM/TimeBase/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void TIM2_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/TIM/TimeBase/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/main.c deleted file mode 100644 index d0dc8edb9..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/main.c +++ /dev/null @@ -1,160 +0,0 @@ -/** - ****************************************************************************** - * @file USART/HyperTerminal_Interrupt/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup USART_HyperTerminal_Interrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -USART_InitTypeDef USART_InitStructure; -extern uint8_t NbrOfDataToTransfer; -extern uint8_t NbrOfDataToRead; -extern __IO uint8_t TxCounter; -extern __IO uint16_t RxCounter; -/* Private function prototypes -----------------------------------------------*/ -void NVIC_Config(void); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* NVIC configuration */ - NVIC_Config(); - -/* USARTx configuration ------------------------------------------------------*/ - /* USARTx configured as follow: - - BaudRate = 9600 baud - - Word Length = 8 Bits - - Two Stop Bit - - Odd parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitStructure.USART_BaudRate = 9600; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_2; - USART_InitStructure.USART_Parity = USART_Parity_Odd; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); - - /* Enable the EVAL_COM1 Transmit interrupt: this interrupt is generated when the - EVAL_COM1 transmit data register is empty */ - USART_ITConfig(EVAL_COM1, USART_IT_TXE, ENABLE); - - /* Wait until EVAL_COM1 send the TxBuffer */ - while(TxCounter < NbrOfDataToTransfer) - {} - - /* The software must wait until TC=1. The TC flag remains cleared during all data - transfers and it is set by hardware at the last frame’s end of transmission*/ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - {} - - /* Enable the EVAL_COM1 Receive interrupt: this interrupt is generated when the - EVAL_COM1 receive data register is not empty */ - USART_ITConfig(EVAL_COM1, USART_IT_RXNE, ENABLE); - - /* Wait until EVAL_COM1 receive the RxBuffer */ - while(RxCounter < NbrOfDataToRead) - {} - - while (1) - { - } -} - -/** - * @brief Configures the nested vectored interrupt controller. - * @param None - * @retval None - */ -void NVIC_Config(void) -{ - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable the USARTx Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = EVAL_COM1_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/readme.txt deleted file mode 100644 index b6ff0866a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/readme.txt +++ /dev/null @@ -1,98 +0,0 @@ -/** - @page USART_HyperTerminal_Interrupt USART Hyperterminal interrupt Example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file USART/HyperTerminal_Interrupt/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the USART Hyperterminal interrupt Example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a description of how to use the EVAL_COM1 Transmit and Receive -interrupts to communicate with the hyperterminal. - - -First, the EVAL_COM1 sends the TxBuffer to the hyperterminal and still waiting for -a string from the hyperterminal that you must enter. -The string that you have entered is stored in the RxBuffer array. The receive -buffer have a RxBufferSize bytes as maximum (the reception is stopped when this -maximum receive value is reached). - -The EVAL_COM1 is configured as follow: - - BaudRate = 9600 baud - - Word Length = 8 Bits (7 data bit + 1 parity bit) - - Two Stop Bit - - Odd parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - -@note When the parity is enabled, the computed parity is inserted at the MSB -position of the transmitted data. - - -@par Directory contents - - - USART/HyperTerminal_Interrupt/stm32f2xx_conf.h Library Configuration file - - USART/HyperTerminal_Interrupt/stm32f2xx_it.h Interrupt handlers header file - - USART/HyperTerminal_Interrupt/stm32f2xx_it.c Interrupt handlers source file - - USART/HyperTerminal_Interrupt/main.c Main program - - USART/HyperTerminal_Interrupt/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port if you want to display data on the HyperTerminal. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 7 Bits - - Two Stop Bit - - Odd parity - - BaudRate = 9600 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/stm32f2xx_conf.h deleted file mode 100644 index c6055bf20..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file USART/HyperTerminal_Interrupt/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/stm32f2xx_it.c deleted file mode 100644 index f6bff6db5..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/stm32f2xx_it.c +++ /dev/null @@ -1,225 +0,0 @@ -/** - ****************************************************************************** - * @file USART/HyperTerminal_Interrupt/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup USART_HyperTerminal_Interrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define USARTx_IRQHANDLER USART3_IRQHandler - -#define TXBUFFERSIZE (countof(TxBuffer) - 1) -#define RXBUFFERSIZE 0x20 - -/* Private macro -------------------------------------------------------------*/ -#define countof(a) (sizeof(a) / sizeof(*(a))) - -/* Private variables ---------------------------------------------------------*/ -uint8_t TxBuffer[] = "\n\rUSART Hyperterminal Interrupts Example: USART-Hyperterminal\ - communication using Interrupt\n\r"; -uint8_t RxBuffer[RXBUFFERSIZE]; -uint8_t NbrOfDataToTransfer = TXBUFFERSIZE; -uint8_t NbrOfDataToRead = RXBUFFERSIZE; -__IO uint8_t TxCounter = 0; -__IO uint16_t RxCounter = 0; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles USARTx global interrupt request. - * @param None - * @retval None - */ -void USARTx_IRQHANDLER(void) -{ - if(USART_GetITStatus(EVAL_COM1, USART_IT_RXNE) != RESET) - { - /* Read one byte from the receive data register */ - RxBuffer[RxCounter++] = (USART_ReceiveData(EVAL_COM1) & 0x7F); - - if(RxCounter == NbrOfDataToRead) - { - /* Disable the EVAL_COM1 Receive interrupt */ - USART_ITConfig(EVAL_COM1, USART_IT_RXNE, DISABLE); - } - } - - if(USART_GetITStatus(EVAL_COM1, USART_IT_TXE) != RESET) - { - /* Write one byte to the transmit data register */ - USART_SendData(EVAL_COM1, TxBuffer[TxCounter++]); - - if(TxCounter == NbrOfDataToTransfer) - { - /* Disable the EVAL_COM1 Transmit interrupt */ - USART_ITConfig(EVAL_COM1, USART_IT_TXE, DISABLE); - } - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/stm32f2xx_it.h deleted file mode 100644 index 61a1d047d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file USART/HyperTerminal_Interrupt/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void USARTx_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/HyperTerminal_Interrupt/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/main.c deleted file mode 100644 index da09eea31..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/main.c +++ /dev/null @@ -1,373 +0,0 @@ -/** - ****************************************************************************** - * @file USART/Smartcard/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup USART_SmartCard - * @{ - */ - -/* Includes ------------------------------------------------------------------*/ -#include "smartcard.h" -#include "stm322xg_eval.h" - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Directories & Files ID */ -const uint8_t MasterRoot[2] = {0x3F, 0x00}; -const uint8_t GSMDir[2] = {0x7F, 0x20}; -const uint8_t ICCID[2] = {0x2F, 0xE2}; -const uint8_t IMSI[2] = {0x6F, 0x07}; -const uint8_t CHV1[8] = {'0', '0', '0', '0', '0', '0', '0', '0'}; - -/* APDU Transport Structures */ -SC_ADPU_Commands SC_ADPU; -SC_ADPU_Responce SC_Responce; -__IO uint32_t TimingDelay = 0; -static __IO ErrorStatus HSEStartUpStatus = SUCCESS; -__IO uint32_t CardInserted = 0; -uint32_t CHV1Status = 0, i = 0; -__IO uint8_t ICCID_Content[10] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; -__IO uint8_t IMSI_Content[9] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; - -/* Private function prototypes -----------------------------------------------*/ -static void Delay(uint32_t nCount); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - SC_State SCState = SC_POWER_OFF; - - /* Setup SysTick Timer for 1 msec interrupts */ - SysTick_Config(SystemCoreClock / 1000); - - /* Initialize LEDs available on STM322xG-EVAL board *************************/ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Configure Smartcard Interface GPIO pins */ - SC_IOConfig(); - -/*-------------------------------- Idle task ---------------------------------*/ - while(1) - { - /* Loop while no Smartcard is detected */ - while(CardInserted == 0) - { - } - - /* Start SC Demo ---------------------------------------------------------*/ - - /* Wait A2R --------------------------------------------------------------*/ - SCState = SC_POWER_ON; - - SC_ADPU.Header.CLA = 0x00; - SC_ADPU.Header.INS = SC_GET_A2R; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x00; - SC_ADPU.Body.LC = 0x00; - - while(SCState != SC_ACTIVE_ON_T0) - { - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - } - - /* Apply the Procedure Type Selection (PTS) */ - SC_PTSConfig(); - - /* Inserts delay(400ms) for Smartcard clock resynchronisation */ - Delay(400); - - /* Select MF -------------------------------------------------------------*/ - SC_ADPU.Header.CLA = SC_CLA_GSM11; - SC_ADPU.Header.INS = SC_SELECT_FILE; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x00; - SC_ADPU.Body.LC = 0x02; - - for(i = 0; i < SC_ADPU.Body.LC; i++) - { - SC_ADPU.Body.Data[i] = MasterRoot[i]; - } - while(i < LC_MAX) - { - SC_ADPU.Body.Data[i++] = 0; - } - SC_ADPU.Body.LE = 0; - - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - - /* Get Response on MF ----------------------------------------------------*/ - if(SC_Responce.SW1 == SC_DF_SELECTED) - { - SC_ADPU.Header.CLA = SC_CLA_GSM11; - SC_ADPU.Header.INS = SC_GET_RESPONCE; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x00; - SC_ADPU.Body.LC = 0x00; - SC_ADPU.Body.LE = SC_Responce.SW2; - - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - } - - /* Select ICCID ----------------------------------------------------------*/ - if(((SC_Responce.SW1 << 8) | (SC_Responce.SW2)) == SC_OP_TERMINATED) - { - /* Check if the CHV1 is enabled */ - if((SC_Responce.Data[13] & 0x80) == 0x00) - { - CHV1Status = 0x01; - } - /* Send APDU Command for ICCID selection */ - SC_ADPU.Header.CLA = SC_CLA_GSM11; - SC_ADPU.Header.INS = SC_SELECT_FILE; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x00; - SC_ADPU.Body.LC = 0x02; - - for(i = 0; i < SC_ADPU.Body.LC; i++) - { - SC_ADPU.Body.Data[i] = ICCID[i]; - } - while(i < LC_MAX) - { - SC_ADPU.Body.Data[i++] = 0; - } - SC_ADPU.Body.LE = 0; - - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - } - - /* Read Binary in ICCID --------------------------------------------------*/ - if(SC_Responce.SW1 == SC_EF_SELECTED) - { - SC_ADPU.Header.CLA = SC_CLA_GSM11; - SC_ADPU.Header.INS = SC_READ_BINARY; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x00; - SC_ADPU.Body.LC = 0x00; - - SC_ADPU.Body.LE = 10; - - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - } - - /* Select GSMDir ---------------------------------------------------------*/ - if(((SC_Responce.SW1 << 8) | (SC_Responce.SW2)) == SC_OP_TERMINATED) - { - /* Copy the ICCID File content into ICCID_Content buffer */ - for(i = 0; i < SC_ADPU.Body.LE; i++) - { - ICCID_Content[i] = SC_Responce.Data[i]; - } - /* Send APDU Command for GSMDir selection */ - SC_ADPU.Header.CLA = SC_CLA_GSM11; - SC_ADPU.Header.INS = SC_SELECT_FILE; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x00; - SC_ADPU.Body.LC = 0x02; - - for(i = 0; i < SC_ADPU.Body.LC; i++) - { - SC_ADPU.Body.Data[i] = GSMDir[i]; - } - while(i < LC_MAX) - { - SC_ADPU.Body.Data[i++] = 0; - } - SC_ADPU.Body.LE = 0; - - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - } - - /* Select IMSI -----------------------------------------------------------*/ - if(SC_Responce.SW1 == SC_DF_SELECTED) - { - SC_ADPU.Header.CLA = SC_CLA_GSM11; - SC_ADPU.Header.INS = SC_SELECT_FILE; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x00; - SC_ADPU.Body.LC = 0x02; - - for(i = 0; i < SC_ADPU.Body.LC; i++) - { - SC_ADPU.Body.Data[i] = IMSI[i]; - } - while(i < LC_MAX) - { - SC_ADPU.Body.Data[i++] = 0; - } - SC_ADPU.Body.LE = 0; - - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - } - - /* Get Response on IMSI File ---------------------------------------------*/ - if(SC_Responce.SW1 == SC_EF_SELECTED) - { - SC_ADPU.Header.CLA = SC_CLA_GSM11; - SC_ADPU.Header.INS = SC_GET_RESPONCE; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x00; - SC_ADPU.Body.LC = 0x00; - SC_ADPU.Body.LE = SC_Responce.SW2; - - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - } - - /* Read Binary in IMSI ---------------------------------------------------*/ - if(CHV1Status == 0x00) - { - if(((SC_Responce.SW1 << 8) | (SC_Responce.SW2)) == SC_OP_TERMINATED) - { - /* Enable CHV1 (PIN1) ------------------------------------------------*/ - SC_ADPU.Header.CLA = SC_CLA_GSM11; - SC_ADPU.Header.INS = SC_ENABLE; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x01; - SC_ADPU.Body.LC = 0x08; - - for(i = 0; i < SC_ADPU.Body.LC; i++) - { - SC_ADPU.Body.Data[i] = CHV1[i]; - } - while(i < LC_MAX) - { - SC_ADPU.Body.Data[i++] = 0; - } - SC_ADPU.Body.LE = 0; - - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - } - } - else - { - if(((SC_Responce.SW1 << 8) | (SC_Responce.SW2)) == SC_OP_TERMINATED) - { - /* Verify CHV1 (PIN1) ------------------------------------------------*/ - SC_ADPU.Header.CLA = SC_CLA_GSM11; - SC_ADPU.Header.INS = SC_VERIFY; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x01; - SC_ADPU.Body.LC = 0x08; - - for(i = 0; i < SC_ADPU.Body.LC; i++) - { - SC_ADPU.Body.Data[i] = CHV1[i]; - } - while(i < LC_MAX) - { - SC_ADPU.Body.Data[i++] = 0; - } - SC_ADPU.Body.LE = 0; - - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - } - } - /* Read Binary in IMSI ---------------------------------------------------*/ - if(((SC_Responce.SW1 << 8) | (SC_Responce.SW2)) == SC_OP_TERMINATED) - { - SC_ADPU.Header.CLA = SC_CLA_GSM11; - SC_ADPU.Header.INS = SC_READ_BINARY; - SC_ADPU.Header.P1 = 0x00; - SC_ADPU.Header.P2 = 0x00; - SC_ADPU.Body.LC = 0x00; - - SC_ADPU.Body.LE = 9; - - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - } - if(((SC_Responce.SW1 << 8) | (SC_Responce.SW2)) == SC_OP_TERMINATED) - { - /* Copy the IMSI File content into IMSI_Content buffer */ - for(i = 0; i < SC_ADPU.Body.LE; i++) - { - IMSI_Content[i] = SC_Responce.Data[i]; - } - } - /* Disable the Smartcard interface */ - SCState = SC_POWER_OFF; - SC_Handler(&SCState, &SC_ADPU, &SC_Responce); - CardInserted = 0; - } -} - -/** - * @brief Inserts a delay time. - * @param nCount: specifies the delay time length (time base 10 ms). - * @retval None - */ -static void Delay(uint32_t nCount) -{ - TimingDelay = nCount; - - while(TimingDelay != 0) - { - } -} - -#ifdef USE_FULL_ASSERT -/** - * @brief Reports the name of the source file and the source line number where - * the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/platform_config.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/platform_config.h deleted file mode 100644 index 4593d2616..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/platform_config.h +++ /dev/null @@ -1,92 +0,0 @@ -/** - ****************************************************************************** - * @file USART/Smartcard/platform_config.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Evaluation board specific configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __PLATFORM_CONFIG_H -#define __PLATFORM_CONFIG_H - -/* Includes ------------------------------------------------------------------*/ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Uncomment the line corresponding to the STMicroelectronics evaluation board - used to run the example */ -#if !defined (USE_STM322xG_EVAL) - //#define USE_STM322xG_EVAL -#endif - -/* Define the STM32F2xx hardware depending on the used evaluation board */ -#ifdef USE_STM322xG_EVAL - #define SC_USART USART6 - #define SC_USART_CLK RCC_APB2Periph_USART6 - #define SC_USART_APBPERIPHCLOCK RCC_APB2PeriphClockCmd - #define SC_USART_IRQn USART6_IRQn - #define SC_USART_IRQHandler USART6_IRQHandler - - #define SC_USART_TX_PIN GPIO_Pin_6 - #define SC_USART_TX_GPIO_PORT GPIOC - #define SC_USART_TX_GPIO_CLK RCC_AHB1Periph_GPIOC - #define SC_USART_TX_SOURCE GPIO_PinSource6 - #define SC_USART_TX_AF GPIO_AF_USART6 - - #define SC_USART_CK_PIN GPIO_Pin_7 - #define SC_USART_CK_GPIO_PORT GPIOG - #define SC_USART_CK_GPIO_CLK RCC_AHB1Periph_GPIOG - #define SC_USART_CK_SOURCE GPIO_PinSource7 - #define SC_USART_CK_AF GPIO_AF_USART6 - - - /* Smartcard Inteface GPIO pins */ - #define SC_3_5V_PIN GPIO_Pin_15 - #define SC_3_5V_GPIO_PORT GPIOH - #define SC_3_5V_GPIO_CLK RCC_AHB1Periph_GPIOH - - #define SC_RESET_PIN GPIO_Pin_7 - #define SC_RESET_GPIO_PORT GPIOF - #define SC_RESET_GPIO_CLK RCC_AHB1Periph_GPIOF - - #define SC_CMDVCC_PIN GPIO_Pin_12 - #define SC_CMDVCC_GPIO_PORT GPIOG - #define SC_CMDVCC_GPIO_CLK RCC_AHB1Periph_GPIOG - - #define SC_OFF_PIN GPIO_Pin_6 - #define SC_OFF_GPIO_PORT GPIOF - #define SC_OFF_GPIO_CLK RCC_AHB1Periph_GPIOF - #define SC_OFF_EXTI_LINE EXTI_Line6 - #define SC_OFF_EXTI_PORT_SOURCE EXTI_PortSourceGPIOF - #define SC_OFF_EXTI_PIN_SOURCE EXTI_PinSource6 - #define SC_OFF_EXTI_IRQn EXTI9_5_IRQn - #define SC_OFF_EXTI_IRQHandler EXTI9_5_IRQHandler - -#endif /* USE_STM322xG_EVAL */ - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -#endif /* __PLATFORM_CONFIG_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/readme.txt deleted file mode 100644 index b6e2c2b5b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/readme.txt +++ /dev/null @@ -1,85 +0,0 @@ -/** - @page USART_Smartcard USART Smart Card example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file USART/SmartCard/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the USART Smart Card example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example describes a firmware Smartcard Interface based on the STM32F2xx USART -peripheral. The main purpose of this firmware example is to provide resources -facilitating the development of an application using the USART peripheral in -smartcard mode. - -The firmware interface is composed of library source files developed in order to -support ISO7816-3/4 specification, an application example is also provided. - -This example is based on the AN2598 "Smartcard interface with the STM32F101xx -and STM32F103xx" application note. For more details, please refer to AN2598 -available on www.st.com - - -@par Directory contents - - - USART/SmartCard/platform_config.h Evaluation board specific configuration file - - USART/SmartCard/stm32f2xx_conf.h Library Configuration file - - USART/SmartCard/stm32f2xx_it.h Interrupt handlers header file - - USART/SmartCard/smartcard.h Smart card Header file - - USART/SmartCard/stm32f2xx_it.c Interrupt handlers - - USART/SmartCard/smartcard.c Smart Card firmware functions - - USART/SmartCard/main.c Main program - - USART/SmartCard/system_stm32f2xx.c STM32F2xx system source file - - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - Make sure that JP21 is closed. - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Add the "smartcard.c" file to the project source list - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/smartcard.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/smartcard.c deleted file mode 100644 index 8d66610cb..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/smartcard.c +++ /dev/null @@ -1,858 +0,0 @@ -/** - ****************************************************************************** - * @file USART/Smartcard/smartcard.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file provides all the Smartcard firmware functions. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup USART_SmartCard - * @{ - */ - -/* Includes ------------------------------------------------------------------*/ -#include "smartcard.h" - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Global variables definition and initialization ----------------------------*/ -SC_ATR SC_A2R; -uint8_t SC_ATR_Table[40]; -static __IO uint8_t SCData = 0; -static uint32_t F_Table[16] = {0, 372, 558, 744, 1116, 1488, 1860, 0, - 0, 512, 768, 1024, 1536, 2048, 0, 0}; -static uint32_t D_Table[8] = {0, 1, 2, 4, 8, 16, 0, 0}; - -/* Private function prototypes -----------------------------------------------*/ -/* Transport Layer -----------------------------------------------------------*/ -/*--------------APDU-----------*/ -static void SC_SendData(SC_ADPU_Commands *SC_ADPU, SC_ADPU_Responce *SC_ResponceStatus); - -/*------------ ATR ------------*/ -static void SC_AnswerReq(SC_State *SCState, uint8_t *card, uint8_t length); /* Ask ATR */ -static uint8_t SC_decode_Answer2reset(uint8_t *card); /* Decode ATR */ - -/* Physical Port Layer -------------------------------------------------------*/ -static void SC_Init(void); -static void SC_DeInit(void); -static void SC_VoltageConfig(uint32_t SC_Voltage); -static uint8_t SC_Detect(void); -static ErrorStatus USART_ByteReceive(uint8_t *Data, uint32_t TimeOut); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Handles all Smartcard states and serves to send and receive all - * communication data between Smartcard and reader. - * @param SCState: pointer to an SC_State enumeration that will contain the - * Smartcard state. - * @param SC_ADPU: pointer to an SC_ADPU_Commands structure that will be initialized. - * @param SC_Response: pointer to a SC_ADPU_Responce structure which will be initialized. - * @retval None - */ -void SC_Handler(SC_State *SCState, SC_ADPU_Commands *SC_ADPU, SC_ADPU_Responce *SC_Response) -{ - uint32_t i = 0; - - switch(*SCState) - { - case SC_POWER_ON: - if (SC_ADPU->Header.INS == SC_GET_A2R) - { - /* Smartcard intialization ------------------------------------------*/ - SC_Init(); - - /* Reset Data from SC buffer -----------------------------------------*/ - for (i = 0; i < 40; i++) - { - SC_ATR_Table[i] = 0; - } - - /* Reset SC_A2R Structure --------------------------------------------*/ - SC_A2R.TS = 0; - SC_A2R.T0 = 0; - for (i = 0; i < SETUP_LENGTH; i++) - { - SC_A2R.T[i] = 0; - } - for (i = 0; i < HIST_LENGTH; i++) - { - SC_A2R.H[i] = 0; - } - SC_A2R.Tlength = 0; - SC_A2R.Hlength = 0; - - /* Next State --------------------------------------------------------*/ - *SCState = SC_RESET_LOW; - } - break; - - case SC_RESET_LOW: - if(SC_ADPU->Header.INS == SC_GET_A2R) - { - /* If card is detected then Power ON, Card Reset and wait for an answer) */ - if (SC_Detect()) - { - while(((*SCState) != SC_POWER_OFF) && ((*SCState) != SC_ACTIVE)) - { - SC_AnswerReq(SCState, &SC_ATR_Table[0], 40); /* Check for answer to reset */ - } - } - else - { - (*SCState) = SC_POWER_OFF; - } - } - break; - - case SC_ACTIVE: - if (SC_ADPU->Header.INS == SC_GET_A2R) - { - if(SC_decode_Answer2reset(&SC_ATR_Table[0]) == T0_PROTOCOL) - { - (*SCState) = SC_ACTIVE_ON_T0; - } - else - { - (*SCState) = SC_POWER_OFF; - } - } - break; - - case SC_ACTIVE_ON_T0: - SC_SendData(SC_ADPU, SC_Response); - break; - - case SC_POWER_OFF: - SC_DeInit(); /* Disable Smartcard interface */ - break; - - default: (*SCState) = SC_POWER_OFF; - } -} - -/** - * @brief Enables or disables the power to the Smartcard. - * @param NewState: new state of the Smartcard power supply. - * This parameter can be: ENABLE or DISABLE. - * @retval None - */ -void SC_PowerCmd(FunctionalState NewState) -{ - if(NewState != DISABLE) - { - GPIO_ResetBits(SC_CMDVCC_GPIO_PORT, SC_CMDVCC_PIN); - } - else - { - GPIO_SetBits(SC_CMDVCC_GPIO_PORT, SC_CMDVCC_PIN); - } -} - -/** - * @brief Sets or clears the Smartcard reset pin. - * @param ResetState: this parameter specifies the state of the Smartcard - * reset pin. BitVal must be one of the BitAction enum values: - * @arg Bit_RESET: to clear the port pin. - * @arg Bit_SET: to set the port pin. - * @retval None - */ -void SC_Reset(BitAction ResetState) -{ - GPIO_WriteBit(SC_RESET_GPIO_PORT, SC_RESET_PIN, ResetState); -} - -/** - * @brief Resends the byte that failed to be received (by the Smartcard) correctly. - * @param None - * @retval None - */ -void SC_ParityErrorHandler(void) -{ - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } -} - -/** - * @brief Configures the IO speed (BaudRate) communication. - * @param None - * @retval None - */ -void SC_PTSConfig(void) -{ - RCC_ClocksTypeDef RCC_ClocksStatus; - uint32_t workingbaudrate = 0, apbclock = 0; - uint8_t locData = 0, PTSConfirmStatus = 1; - USART_InitTypeDef USART_InitStructure; - USART_ClockInitTypeDef USART_ClockInitStructure; - -/* Reconfigure the USART Baud Rate -------------------------------------------*/ - RCC_GetClocksFreq(&RCC_ClocksStatus); - apbclock = RCC_ClocksStatus.PCLK2_Frequency; - apbclock /= ((SC_USART->GTPR & (uint16_t)0x00FF) * 2); - - /* Enable the DMA Receive (Set DMAR bit only) to enable interrupt generation - in case of a framing error FE */ - USART_DMACmd(SC_USART, USART_DMAReq_Rx, ENABLE); - - if((SC_A2R.T0 & (uint8_t)0x10) == 0x10) - { - if(SC_A2R.T[0] != 0x11) - { - /* Send PTSS */ - SCData = 0xFF; - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - - /* Send PTS0 */ - SCData = 0x10; - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - - /* Send PTS1 */ - SCData = SC_A2R.T[0]; - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - - /* Send PCK */ - SCData = (uint8_t)0xFF^(uint8_t)0x10^(uint8_t)SC_A2R.T[0]; - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - - /* Disable the DMA Receive (Reset DMAR bit only) */ - USART_DMACmd(SC_USART, USART_DMAReq_Rx, DISABLE); - - if((USART_ByteReceive(&locData, SC_RECEIVE_TIMEOUT)) == SUCCESS) - { - if(locData != 0xFF) - { - PTSConfirmStatus = 0x00; - } - } - if((USART_ByteReceive(&locData, SC_RECEIVE_TIMEOUT)) == SUCCESS) - { - if(locData != 0x10) - { - PTSConfirmStatus = 0x00; - } - } - if((USART_ByteReceive(&locData, SC_RECEIVE_TIMEOUT)) == SUCCESS) - { - if(locData != SC_A2R.T[0]) - { - PTSConfirmStatus = 0x00; - } - } - if((USART_ByteReceive(&locData, SC_RECEIVE_TIMEOUT)) == SUCCESS) - { - if(locData != ((uint8_t)0xFF^(uint8_t)0x10^(uint8_t)SC_A2R.T[0])) - { - PTSConfirmStatus = 0x00; - } - } - else - { - PTSConfirmStatus = 0x00; - } - /* PTS Confirm */ - if(PTSConfirmStatus == 0x01) - { - workingbaudrate = apbclock * D_Table[(SC_A2R.T[0] & (uint8_t)0x0F)]; - workingbaudrate /= F_Table[((SC_A2R.T[0] >> 4) & (uint8_t)0x0F)]; - - USART_ClockInitStructure.USART_Clock = USART_Clock_Enable; - USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low; - USART_ClockInitStructure.USART_CPHA = USART_CPHA_1Edge; - USART_ClockInitStructure.USART_LastBit = USART_LastBit_Enable; - USART_ClockInit(SC_USART, &USART_ClockInitStructure); - - USART_InitStructure.USART_BaudRate = workingbaudrate; - USART_InitStructure.USART_WordLength = USART_WordLength_9b; - USART_InitStructure.USART_StopBits = USART_StopBits_1_5; - USART_InitStructure.USART_Parity = USART_Parity_Even; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_Init(SC_USART, &USART_InitStructure); - } - } - } -} - -/** - * @brief Manages the Smartcard transport layer: send APDU commands and receives - * the APDU responce. - * @param SC_ADPU: pointer to a SC_ADPU_Commands structure which will be initialized. - * @param SC_Response: pointer to a SC_ADPU_Responce structure which will be initialized. - * @retval None - */ -static void SC_SendData(SC_ADPU_Commands *SC_ADPU, SC_ADPU_Responce *SC_ResponceStatus) -{ - uint32_t i = 0; - uint8_t locData = 0; - - /* Reset responce buffer ---------------------------------------------------*/ - for(i = 0; i < LC_MAX; i++) - { - SC_ResponceStatus->Data[i] = 0; - } - - SC_ResponceStatus->SW1 = 0; - SC_ResponceStatus->SW2 = 0; - - /* Enable the DMA Receive (Set DMAR bit only) to enable interrupt generation - in case of a framing error FE */ - USART_DMACmd(SC_USART, USART_DMAReq_Rx, ENABLE); - - /* Send header -------------------------------------------------------------*/ - SCData = SC_ADPU->Header.CLA; - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - - SCData = SC_ADPU->Header.INS; - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - - SCData = SC_ADPU->Header.P1; - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - - SCData = SC_ADPU->Header.P2; - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - - /* Send body length to/from SC ---------------------------------------------*/ - if(SC_ADPU->Body.LC) - { - SCData = SC_ADPU->Body.LC; - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - } - else if(SC_ADPU->Body.LE) - { - SCData = SC_ADPU->Body.LE; - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - } - /* Flush the SC_USART DR */ - (void)USART_ReceiveData(SC_USART); - - /* -------------------------------------------------------- - Wait Procedure byte from card: - 1 - ACK - 2 - NULL - 3 - SW1; SW2 - -------------------------------------------------------- */ - - if((USART_ByteReceive(&locData, SC_RECEIVE_TIMEOUT)) == SUCCESS) - { - if(((locData & (uint8_t)0xF0) == 0x60) || ((locData & (uint8_t)0xF0) == 0x90)) - { - /* SW1 received */ - SC_ResponceStatus->SW1 = locData; - - if((USART_ByteReceive(&locData, SC_RECEIVE_TIMEOUT)) == SUCCESS) - { - /* SW2 received */ - SC_ResponceStatus->SW2 = locData; - } - } - else if (((locData & (uint8_t)0xFE) == (((uint8_t)~(SC_ADPU->Header.INS)) & \ - (uint8_t)0xFE))||((locData & (uint8_t)0xFE) == (SC_ADPU->Header.INS & (uint8_t)0xFE))) - { - SC_ResponceStatus->Data[0] = locData;/* ACK received */ - } - } - - /* If no status bytes received ---------------------------------------------*/ - if(SC_ResponceStatus->SW1 == 0x00) - { - /* Send body data to SC--------------------------------------------------*/ - if (SC_ADPU->Body.LC) - { - for(i = 0; i < SC_ADPU->Body.LC; i++) - { - SCData = SC_ADPU->Body.Data[i]; - - USART_SendData(SC_USART, SCData); - while(USART_GetFlagStatus(SC_USART, USART_FLAG_TC) == RESET) - { - } - } - /* Flush the SC_USART DR */ - (void)USART_ReceiveData(SC_USART); - /* Disable the DMA Receive (Reset DMAR bit only) */ - USART_DMACmd(SC_USART, USART_DMAReq_Rx, DISABLE); - } - - /* Or receive body data from SC ------------------------------------------*/ - else if (SC_ADPU->Body.LE) - { - for(i = 0; i < SC_ADPU->Body.LE; i++) - { - if(USART_ByteReceive(&locData, SC_RECEIVE_TIMEOUT) == SUCCESS) - { - SC_ResponceStatus->Data[i] = locData; - } - } - } - /* Wait SW1 --------------------------------------------------------------*/ - i = 0; - while(i < 10) - { - if(USART_ByteReceive(&locData, SC_RECEIVE_TIMEOUT) == SUCCESS) - { - SC_ResponceStatus->SW1 = locData; - i = 11; - } - else - { - i++; - } - } - /* Wait SW2 ------------------------------------------------------------*/ - i = 0; - while(i < 10) - { - if(USART_ByteReceive(&locData, SC_RECEIVE_TIMEOUT) == SUCCESS) - { - SC_ResponceStatus->SW2 = locData; - i = 11; - } - else - { - i++; - } - } - } -} - -/** - * @brief Requests the reset answer from card. - * @param SCState: pointer to an SC_State enumeration that will contain the Smartcard state. - * @param card: pointer to a buffer which will contain the card ATR. - * @param length: maximum ATR length - * @retval None - */ -static void SC_AnswerReq(SC_State *SCState, uint8_t *card, uint8_t length) -{ - uint8_t Data = 0; - uint32_t i = 0; - - switch(*SCState) - { - case SC_RESET_LOW: - /* Check responce with reset low ---------------------------------------*/ - for (i = 0; i < length; i++) - { - if((USART_ByteReceive(&Data, SC_RECEIVE_TIMEOUT)) == SUCCESS) - { - card[i] = Data; - } - } - if(card[0]) - { - (*SCState) = SC_ACTIVE; - SC_Reset(Bit_SET); - } - else - { - (*SCState) = SC_RESET_HIGH; - } - break; - - case SC_RESET_HIGH: - /* Check responce with reset high --------------------------------------*/ - SC_Reset(Bit_SET); /* Reset High */ - - while(length--) - { - if((USART_ByteReceive(&Data, SC_RECEIVE_TIMEOUT)) == SUCCESS) - { - *card++ = Data; /* Receive data for timeout = SC_RECEIVE_TIMEOUT */ - } - } - if(card[0]) - { - (*SCState) = SC_ACTIVE; - } - else - { - (*SCState) = SC_POWER_OFF; - } - break; - - case SC_ACTIVE: - break; - - case SC_POWER_OFF: - /* Close Connection if no answer received ------------------------------*/ - SC_Reset(Bit_SET); /* Reset high - a bit is used as level shifter from 3.3 to 5 V */ - SC_PowerCmd(DISABLE); - break; - - default: - (*SCState) = SC_RESET_LOW; - } -} - -/** - * @brief Decodes the Answer to reset received from card. - * @param card: pointer to the buffer containing the card ATR. - * @retval None - */ -static uint8_t SC_decode_Answer2reset(uint8_t *card) -{ - uint32_t i = 0, flag = 0, buf = 0, protocol = 0; - - SC_A2R.TS = card[0]; /* Initial character */ - SC_A2R.T0 = card[1]; /* Format character */ - - SC_A2R.Hlength = SC_A2R.T0 & (uint8_t)0x0F; - - if ((SC_A2R.T0 & (uint8_t)0x80) == 0x80) - { - flag = 1; - } - - for (i = 0; i < 4; i++) - { - SC_A2R.Tlength = SC_A2R.Tlength + (((SC_A2R.T0 & (uint8_t)0xF0) >> (4 + i)) & (uint8_t)0x1); - } - - for (i = 0; i < SC_A2R.Tlength; i++) - { - SC_A2R.T[i] = card[i + 2]; - } - - protocol = SC_A2R.T[SC_A2R.Tlength - 1] & (uint8_t)0x0F; - - while (flag) - { - if ((SC_A2R.T[SC_A2R.Tlength - 1] & (uint8_t)0x80) == 0x80) - { - flag = 1; - } - else - { - flag = 0; - } - - buf = SC_A2R.Tlength; - SC_A2R.Tlength = 0; - - for (i = 0; i < 4; i++) - { - SC_A2R.Tlength = SC_A2R.Tlength + (((SC_A2R.T[buf - 1] & (uint8_t)0xF0) >> (4 + i)) & (uint8_t)0x1); - } - - for (i = 0;i < SC_A2R.Tlength; i++) - { - SC_A2R.T[buf + i] = card[i + 2 + buf]; - } - SC_A2R.Tlength += (uint8_t)buf; - } - - for (i = 0; i < SC_A2R.Hlength; i++) - { - SC_A2R.H[i] = card[i + 2 + SC_A2R.Tlength]; - } - - return (uint8_t)protocol; -} - -/** - * @brief Initializes all peripheral used for Smartcard interface. - * @param None - * @retval None - */ -static void SC_Init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - USART_InitTypeDef USART_InitStructure; - USART_ClockInitTypeDef USART_ClockInitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable GPIO clocks */ - RCC_AHB1PeriphClockCmd(SC_USART_TX_GPIO_CLK | SC_USART_CK_GPIO_CLK, ENABLE); - - /* Enable SC_USART clock */ - SC_USART_APBPERIPHCLOCK(SC_USART_CLK, ENABLE); - - /* Connect PXx to SC_USART_TX */ - GPIO_PinAFConfig(SC_USART_TX_GPIO_PORT, SC_USART_TX_SOURCE, SC_USART_TX_AF); - - /* Connect PXx to SC_USART_CK */ - GPIO_PinAFConfig(SC_USART_CK_GPIO_PORT, SC_USART_CK_SOURCE, SC_USART_CK_AF); - - /* Configure USART Tx and Rx as alternate function push-pull */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_InitStructure.GPIO_Pin = SC_USART_CK_PIN; - GPIO_Init(SC_USART_CK_GPIO_PORT, &GPIO_InitStructure); - - /* Configure USART Tx pin as alternate function open-drain */ - GPIO_InitStructure.GPIO_Pin = SC_USART_TX_PIN; - GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; - GPIO_Init(SC_USART_TX_GPIO_PORT, &GPIO_InitStructure); - - /* Enable SC_USART IRQ */ - NVIC_InitStructure.NVIC_IRQChannel = SC_USART_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - -/* SC_USART configuration ----------------------------------------------------*/ - /* SC_USART configured as follow: - - Word Length = 9 Bits - - 1.5 Stop Bit - - Even parity - - BaudRate = 8064 baud - - Hardware flow control disabled (RTS and CTS signals) - - Tx and Rx enabled - - USART Clock enabled - */ - - /* USART Clock set to 6 MHz (PCLK2 (60 MHz) / 10) */ - USART_SetPrescaler(SC_USART, 0x05); - - /* USART Guard Time set to 16 Bit */ - USART_SetGuardTime(SC_USART, 16); - - USART_ClockInitStructure.USART_Clock = USART_Clock_Enable; - USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low; - USART_ClockInitStructure.USART_CPHA = USART_CPHA_1Edge; - USART_ClockInitStructure.USART_LastBit = USART_LastBit_Enable; - USART_ClockInit(SC_USART, &USART_ClockInitStructure); - - - USART_InitStructure.USART_BaudRate = 16129; - USART_InitStructure.USART_WordLength = USART_WordLength_9b; - USART_InitStructure.USART_StopBits = USART_StopBits_1_5; - USART_InitStructure.USART_Parity = USART_Parity_Even; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_Init(SC_USART, &USART_InitStructure); - - /* Enable the SC_USART Parity Error Interrupt */ - USART_ITConfig(SC_USART, USART_IT_PE, ENABLE); - - /* Enable the SC_USART Framing Error Interrupt */ - USART_ITConfig(SC_USART, USART_IT_ERR, ENABLE); - - /* Enable SC_USART */ - USART_Cmd(SC_USART, ENABLE); - - /* Enable the NACK Transmission */ - USART_SmartCardNACKCmd(SC_USART, ENABLE); - - /* Enable the Smartcard Interface */ - USART_SmartCardCmd(SC_USART, ENABLE); - - /* Set RSTIN HIGH */ - SC_Reset(Bit_SET); -} - -/** - * @brief Deinitializes all ressources used by the Smartcard interface. - * @param None - * @retval None - */ -static void SC_DeInit(void) -{ - /* Disable CMDVCC */ - SC_PowerCmd(DISABLE); - - /* Deinitializes the SC_USART */ - USART_DeInit(SC_USART); - - /* Disable SC_USART clock */ - SC_USART_APBPERIPHCLOCK(SC_USART_CLK, DISABLE); -} - -/** - * @brief Configures the card power voltage. - * @param SC_Voltage: specifies the card power voltage. - * This parameter can be one of the following values: - * @arg SC_VOLTAGE_5V: 5V cards. - * @arg SC_VOLTAGE_3V: 3V cards. - * @retval None - */ -static void SC_VoltageConfig(uint32_t SC_Voltage) -{ - if(SC_Voltage == SC_VOLTAGE_5V) - { - /* Select Smartcard 5V */ - GPIO_SetBits(SC_3_5V_GPIO_PORT, SC_3_5V_PIN); - } - else - { - /* Select Smartcard 3V */ - GPIO_ResetBits(SC_3_5V_GPIO_PORT, SC_3_5V_PIN); - } -} - -/** - * @brief Configures GPIO hardware resources used for Samrtcard. - * @param None - * @retval None - */ -void SC_IOConfig(void) -{ - EXTI_InitTypeDef EXTI_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - - /* Enable GPIO clock */ - RCC_AHB1PeriphClockCmd(SC_OFF_GPIO_CLK | SC_CMDVCC_GPIO_CLK | - SC_3_5V_GPIO_CLK | SC_RESET_GPIO_CLK, ENABLE); - - /* Enable SYSCFG clock */ - RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); - - /* Configure Smartcard CMDVCC pin */ - GPIO_InitStructure.GPIO_Pin = SC_CMDVCC_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_Init(SC_CMDVCC_GPIO_PORT, &GPIO_InitStructure); - - /* Configure Smartcard Reset pin */ - GPIO_InitStructure.GPIO_Pin = SC_RESET_PIN; - GPIO_Init(SC_RESET_GPIO_PORT, &GPIO_InitStructure); - - /* Configure Smartcard 3/5V pin */ - GPIO_InitStructure.GPIO_Pin = SC_3_5V_PIN; - GPIO_Init(SC_3_5V_GPIO_PORT, &GPIO_InitStructure); - - /* Select 5V */ - SC_VoltageConfig(SC_VOLTAGE_5V); - - /* Disable CMDVCC */ - SC_PowerCmd(DISABLE); - - /* Set RSTIN HIGH */ - SC_Reset(Bit_SET); - - /* Configure Smartcard OFF pin */ - GPIO_InitStructure.GPIO_Pin = SC_OFF_PIN; - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; - GPIO_Init(SC_OFF_GPIO_PORT, &GPIO_InitStructure); - - /* Configure EXTI line connected to Smartcard OFF Pin */ - SYSCFG_EXTILineConfig(SC_OFF_EXTI_PORT_SOURCE, SC_OFF_EXTI_PIN_SOURCE); - - EXTI_ClearITPendingBit(SC_OFF_EXTI_LINE); - - EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; - EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; - EXTI_InitStructure.EXTI_Line = SC_OFF_EXTI_LINE; - EXTI_InitStructure.EXTI_LineCmd = ENABLE; - EXTI_Init(&EXTI_InitStructure); - - /* Clear the SC_OFF_EXTI_IRQn Pending Bit */ - NVIC_ClearPendingIRQ(SC_OFF_EXTI_IRQn); - NVIC_InitStructure.NVIC_IRQChannel = SC_OFF_EXTI_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); -} - -/** - * @brief Detects whether the Smartcard is present or not. - * @param None. - * @retval 0 - Smartcard inserted - * 1 - Smartcard not inserted - */ -static uint8_t SC_Detect(void) -{ - return GPIO_ReadInputDataBit(SC_OFF_GPIO_PORT, SC_OFF_PIN); -} - -/** - * @brief Receives a new data while the time out not elapsed. - * @param None - * @retval An ErrorStatus enumuration value: - * - SUCCESS: New data has been received - * - ERROR: time out was elapsed and no further data is received - */ -static ErrorStatus USART_ByteReceive(uint8_t *Data, uint32_t TimeOut) -{ - uint32_t Counter = 0; - - while((USART_GetFlagStatus(SC_USART, USART_FLAG_RXNE) == RESET) && (Counter != TimeOut)) - { - Counter++; - } - - if(Counter != TimeOut) - { - *Data = (uint8_t)USART_ReceiveData(SC_USART); - return SUCCESS; - } - else - { - return ERROR; - } -} - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/smartcard.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/smartcard.h deleted file mode 100644 index 936e1ef7d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/smartcard.h +++ /dev/null @@ -1,156 +0,0 @@ -/** - ****************************************************************************** - * @file USART/Smartcard/smartcard.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains all the functions prototypes for the Smartcard - * firmware library. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __SMARTCARD_H -#define __SMARTCARD_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "platform_config.h" - -/* Exported constants --------------------------------------------------------*/ -#define T0_PROTOCOL 0x00 /* T0 protocol */ -#define DIRECT 0x3B /* Direct bit convention */ -#define INDIRECT 0x3F /* Indirect bit convention */ -#define SETUP_LENGTH 20 -#define HIST_LENGTH 20 -#define LC_MAX 20 -#define SC_RECEIVE_TIMEOUT 0x8000 /* Direction to reader */ - -/* SC Tree Structure ----------------------------------------------------------- - MasterFile - ________|___________ - | | | - System UserData Note -------------------------------------------------------------------------------*/ - -/* SC ADPU Command: Operation Code -------------------------------------------*/ -#define SC_CLA_GSM11 0xA0 - -/*------------------------ Data Area Management Commands ---------------------*/ -#define SC_SELECT_FILE 0xA4 -#define SC_GET_RESPONCE 0xC0 -#define SC_STATUS 0xF2 -#define SC_UPDATE_BINARY 0xD6 -#define SC_READ_BINARY 0xB0 -#define SC_WRITE_BINARY 0xD0 -#define SC_UPDATE_RECORD 0xDC -#define SC_READ_RECORD 0xB2 - -/*-------------------------- Administrative Commands -------------------------*/ -#define SC_CREATE_FILE 0xE0 - -/*-------------------------- Safety Management Commands ----------------------*/ -#define SC_VERIFY 0x20 -#define SC_CHANGE 0x24 -#define SC_DISABLE 0x26 -#define SC_ENABLE 0x28 -#define SC_UNBLOCK 0x2C -#define SC_EXTERNAL_AUTH 0x82 -#define SC_GET_CHALLENGE 0x84 - -/*-------------------------- Answer to reset Commands ------------------------*/ -#define SC_GET_A2R 0x00 - -/* SC STATUS: Status Code ----------------------------------------------------*/ -#define SC_EF_SELECTED 0x9F -#define SC_DF_SELECTED 0x9F -#define SC_OP_TERMINATED 0x9000 - -/* Smartcard Voltage */ -#define SC_VOLTAGE_5V 0 -#define SC_VOLTAGE_3V 1 - -/* Exported types ------------------------------------------------------------*/ -typedef enum -{ - SC_POWER_ON = 0x00, - SC_RESET_LOW = 0x01, - SC_RESET_HIGH = 0x02, - SC_ACTIVE = 0x03, - SC_ACTIVE_ON_T0 = 0x04, - SC_POWER_OFF = 0x05 -} SC_State; - -/* ATR structure - Answer To Reset -------------------------------------------*/ -typedef struct -{ - uint8_t TS; /* Bit Convention */ - uint8_t T0; /* High nibble = Number of setup byte; low nibble = Number of historical byte */ - uint8_t T[SETUP_LENGTH]; /* Setup array */ - uint8_t H[HIST_LENGTH]; /* Historical array */ - uint8_t Tlength; /* Setup array dimension */ - uint8_t Hlength; /* Historical array dimension */ -} SC_ATR; - -/* ADPU-Header command structure ---------------------------------------------*/ -typedef struct -{ - uint8_t CLA; /* Command class */ - uint8_t INS; /* Operation code */ - uint8_t P1; /* Selection Mode */ - uint8_t P2; /* Selection Option */ -} SC_Header; - -/* ADPU-Body command structure -----------------------------------------------*/ -typedef struct -{ - uint8_t LC; /* Data field length */ - uint8_t Data[LC_MAX]; /* Command parameters */ - uint8_t LE; /* Expected length of data to be returned */ -} SC_Body; - -/* ADPU Command structure ----------------------------------------------------*/ -typedef struct -{ - SC_Header Header; - SC_Body Body; -} SC_ADPU_Commands; - -/* SC response structure -----------------------------------------------------*/ -typedef struct -{ - uint8_t Data[LC_MAX]; /* Data returned from the card */ - uint8_t SW1; /* Command Processing status */ - uint8_t SW2; /* Command Processing qualification */ -} SC_ADPU_Responce; - -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -/* APPLICATION LAYER ---------------------------------------------------------*/ -void SC_Handler(SC_State *SCState, SC_ADPU_Commands *SC_ADPU, SC_ADPU_Responce *SC_Response); -void SC_PowerCmd(FunctionalState NewState); -void SC_Reset(BitAction ResetState); -void SC_IOConfig(void); -void SC_ParityErrorHandler(void); -void SC_PTSConfig(void); - -#endif /* __SMARTCARD_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/stm32f2xx_conf.h deleted file mode 100644 index 2197a4327..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file USART/Smartcard/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/stm32f2xx_it.c deleted file mode 100644 index d7b589fb9..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/stm32f2xx_it.c +++ /dev/null @@ -1,260 +0,0 @@ -/** - ****************************************************************************** - * @file USART/Smartcard/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "smartcard.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup USART_SmartCard - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern __IO uint32_t CardInserted; -extern __IO uint32_t TimingDelay; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - /* Decrement the TimingDelay variable */ - if (TimingDelay != 0x00) - { - TimingDelay--; - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles SC_USART global interrupt request. - * @param None - * @retval None - */ -void SC_USART_IRQHandler(void) -{ - /* If a Frame error is signaled by the card */ - if(USART_GetITStatus(SC_USART, USART_IT_FE) != RESET) - { - USART_ReceiveData(SC_USART); - - /* Resend the byte that failed to be received (by the Smartcard) correctly */ - SC_ParityErrorHandler(); - } - - /* If the SC_USART detects a parity error */ - if(USART_GetITStatus(SC_USART, USART_IT_PE) != RESET) - { - /* Enable SC_USART RXNE Interrupt (until receiving the corrupted byte) */ - USART_ITConfig(SC_USART, USART_IT_RXNE, ENABLE); - /* Flush the SC_USART DR register */ - USART_ReceiveData(SC_USART); - } - - if(USART_GetITStatus(SC_USART, USART_IT_RXNE) != RESET) - { - /* Disable SC_USART RXNE Interrupt */ - USART_ITConfig(SC_USART, USART_IT_RXNE, DISABLE); - USART_ReceiveData(SC_USART); - } - - /* If a Overrun error is signaled by the card */ - if(USART_GetITStatus(SC_USART, USART_IT_ORE) != RESET) - { - USART_ReceiveData(SC_USART); - } - /* If a Noise error is signaled by the card */ - if(USART_GetITStatus(SC_USART, USART_IT_NE) != RESET) - { - USART_ReceiveData(SC_USART); - } -} - -/** - * @brief This function handles the smartcard detection interrupt request. - * @param None - * @retval None - */ -void SC_OFF_EXTI_IRQHandler(void) -{ - if(EXTI_GetITStatus(SC_OFF_EXTI_LINE) != RESET) - { - /* Clear EXTI Line Pending Bit */ - EXTI_ClearITPendingBit(SC_OFF_EXTI_LINE); - - /* Toggle LED1..4 */ - STM_EVAL_LEDToggle(LED1); - STM_EVAL_LEDToggle(LED2); - STM_EVAL_LEDToggle(LED3); - STM_EVAL_LEDToggle(LED4); - - /* Smartcard detected */ - CardInserted = 1; - - /* Enable CMDVCC */ - SC_PowerCmd(ENABLE); - - /* Reset the card */ - SC_Reset(Bit_RESET); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/stm32f2xx_it.h deleted file mode 100644 index f405f4568..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/stm32f2xx_it.h +++ /dev/null @@ -1,54 +0,0 @@ -/** - ****************************************************************************** - * @file USART/Smartcard/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void SC_USART_IRQHandler(void); -void SC_OFF_EXTI_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/SmartCard/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/main.c deleted file mode 100644 index e4051b43a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/main.c +++ /dev/null @@ -1,145 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_Printf/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup USART_Printf - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -USART_InitTypeDef USART_InitStructure; - -/* Private function prototypes -----------------------------------------------*/ - -#ifdef __GNUC__ - /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf - set to 'Yes') calls __io_putchar() */ - #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) -#else - #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) -#endif /* __GNUC__ */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* USARTx configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitStructure.USART_BaudRate = 115200; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - - STM_EVAL_COMInit(COM1, &USART_InitStructure); - - /* Output a message on Hyperterminal using printf function */ - printf("\n\rUSART Printf Example: retarget the C library printf function to the USART\n\r"); - - while (1) - { - } -} - -/** - * @brief Retargets the C library printf function to the USART. - * @param None - * @retval None - */ -PUTCHAR_PROTOTYPE -{ - /* Place your implementation of fputc here */ - /* e.g. write a character to the USART */ - USART_SendData(EVAL_COM1, (uint8_t) ch); - - /* Loop until the end of transmission */ - while (USART_GetFlagStatus(EVAL_COM1, USART_FLAG_TC) == RESET) - {} - - return ch; -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/readme.txt deleted file mode 100644 index 7cf79a9c0..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/readme.txt +++ /dev/null @@ -1,88 +0,0 @@ -/** - @page USART_Printf USART_Printf - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file USART/USART_Printf/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the USART Printf Example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to retarget the C library printf function to the USART. -This implementation output the printf message on the Hyperterminal using USART3. - -The USARTx is configured as follow: - - BaudRate = 115200 baud - - Word Length = 8 Bits - - One Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - - -@par Directory contents - - - USART/USART_Printf/system_stm32f2xx.c STM32F2xx system clock configuration file - - USART/USART_Printf/stm32f2xx_conf.h Library Configuration file - - USART/USART_Printf/stm32f2xx_it.h Interrupt handlers header file - - USART/USART_Printf/stm32f2xx_it.c Interrupt handlers - - USART/USART_Printf/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Connect a null-modem female/female RS232 cable between the DB9 connector - CN16 (USART3) and PC serial port if you want to display data on the HyperTerminal. - @note Make sure that jumper JP22 is in position 1-2 - - - Hyperterminal configuration: - - Word Length = 8 Bits - - One Stop Bit - - No parity - - BaudRate = 115200 baud - - flow control: None - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/stm32f2xx_conf.h deleted file mode 100644 index 9097b311b..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_Printf/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/stm32f2xx_it.c deleted file mode 100644 index fd3f900da..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/stm32f2xx_it.c +++ /dev/null @@ -1,173 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_Printf/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup USART_Printf - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/stm32f2xx_it.h deleted file mode 100644 index 820b45141..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_Printf/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_Printf/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/main.c deleted file mode 100644 index 0e762a7cf..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/main.c +++ /dev/null @@ -1,586 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_TwoBoards/DataExchangeDMA/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples -* @{ -*/ - -/** @addtogroup USART_DataExchangeDMA -* @{ -*/ - -/* Private typedef -----------------------------------------------------------*/ -DMA_InitTypeDef DMA_InitStructure; - -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint8_t TxBuffer[] = "USART DMA Example: Communication between two USART using DMA"; -uint8_t CmdBuffer [2] = {0x00, 0x00}; /* {Command, Number of byte to receive or to transmit} */ -__IO uint32_t TimeOut = 0x0; - -#ifdef USART_TRANSMITTER_MODE - JOYState_TypeDef PressedButton = JOY_NONE; - JOYState_TypeDef ReleasedButton = JOY_NONE; -#endif /* USART_TRANSMITTER_MODE */ - -#ifdef USART_RECEIVER_MODE -uint8_t RxBuffer [RXBUFFERSIZE]; -#endif /* USART_RECEIVER_MODE */ - - -/* Private function prototypes -----------------------------------------------*/ -static void TimeOut_UserCallback(void); -static void USART_Config(void); -static void SysTickConfig(void); -static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength); - -#ifdef USART_RECEIVER_MODE -static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength); -#endif /* USART_RECEIVER_MODE */ - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* USART configuration -----------------------------------------------------*/ - USART_Config(); - - /* SysTick configuration ---------------------------------------------------*/ - SysTickConfig(); - - /* LEDs configuration ------------------------------------------------------*/ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* IO Expanderconfiguration ------------------------------------------------*/ -#ifdef USART_TRANSMITTER_MODE - TimeOut = USER_TIMEOUT; - while ((IOE_Config() != IOE_OK) && (TimeOut != 0)) - { - } - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } -#endif /* USART_TRANSMITTER_MODE */ - - while (1) - { -/******************************************************************************/ -/* USART in Transmitter Mode */ -/******************************************************************************/ -#ifdef USART_TRANSMITTER_MODE - - /* Clear Buffers */ - Fill_Buffer(CmdBuffer, 2); - - DMA_DeInit(USARTx_TX_DMA_STREAM); - DMA_InitStructure.DMA_Channel = USARTx_TX_DMA_CHANNEL; - DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToPeripheral; - - /****************** USART will Transmit Specific Command ******************/ - /* Prepare the DMA to transfer the transaction command (2bytes) from the - memory to the USART */ - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)CmdBuffer; - DMA_InitStructure.DMA_BufferSize = (uint16_t)2; - DMA_Init(USARTx_TX_DMA_STREAM, &DMA_InitStructure); - - /* Prepare Command to be transmitted */ - /* Waiting joystick pressed */ - PressedButton = JOY_NONE; - while (PressedButton == JOY_NONE) - { - PressedButton = IOE_JoyStickGetState(); - } - - /* Waiting joystick released */ - ReleasedButton = IOE_JoyStickGetState(); - while ((PressedButton == ReleasedButton) && (ReleasedButton != JOY_NONE)) - { - ReleasedButton = IOE_JoyStickGetState(); - } - - - if(PressedButton != JOY_NONE) - { - /* For each joystick state correspond a command to be sent through USART */ - switch (PressedButton) - { - /* JOY_RIGHT button pressed */ - case JOY_RIGHT: - CmdBuffer[0] = CMD_RIGHT; - CmdBuffer[1] = CMD_RIGHT_SIZE; - break; - /* JOY_LEFT button pressed */ - case JOY_LEFT: - CmdBuffer[0] = CMD_LEFT; - CmdBuffer[1] = CMD_LEFT_SIZE; - break; - /* JOY_UP button pressed */ - case JOY_UP: - CmdBuffer[0] = CMD_UP; - CmdBuffer[1] = CMD_UP_SIZE; - break; - /* JOY_DOWN button pressed */ - case JOY_DOWN: - CmdBuffer[0] = CMD_DOWN; - CmdBuffer[1] = CMD_DOWN_SIZE; - break; - /* JOY_SEL button pressed */ - case JOY_SEL: - CmdBuffer[0] = CMD_SEL; - CmdBuffer[1] = CMD_SEL_SIZE; - break; - default: - break; - } - - /* Enable the USART DMA requests */ - USART_DMACmd(USARTx, USART_DMAReq_Tx, ENABLE); - - /* Clear the TC bit in the SR register by writing 0 to it */ - USART_ClearFlag(USARTx, USART_FLAG_TC); - - /* Enable the DMA TX Stream, USART will start sending the command code (2bytes) */ - DMA_Cmd(USARTx_TX_DMA_STREAM, ENABLE); - - /* Wait the USART DMA Tx transfer complete or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetFlagStatus(USARTx_TX_DMA_STREAM, USARTx_TX_DMA_FLAG_TCIF) == RESET)&&(TimeOut != 0)) - { - } - - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* The software must wait until TC=1. The TC flag remains cleared during all data - transfers and it is set by hardware at the last frame’s end of transmission*/ - TimeOut = USER_TIMEOUT; - while ((USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET)&&(TimeOut != 0)) - { - } - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Clear DMA Streams flags */ - DMA_ClearFlag(USARTx_TX_DMA_STREAM, USARTx_TX_DMA_FLAG_HTIF | USARTx_TX_DMA_FLAG_TCIF); - - /* Disable the DMA Streams */ - DMA_Cmd(USARTx_TX_DMA_STREAM, DISABLE); - - /* Disable the USART Tx DMA request */ - USART_DMACmd(USARTx, USART_DMAReq_Tx, DISABLE); - - /******************* USART will Transmit Data Buffer ********************/ - /* Prepare the DMA to transfer the transaction data (length defined by - CmdBuffer[1] variable) from the memory to the USART */ - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)TxBuffer; - DMA_InitStructure.DMA_BufferSize = (uint16_t)CmdBuffer[1]; - DMA_Init(USARTx_TX_DMA_STREAM, &DMA_InitStructure); - - /* Enable the USART Tx DMA request */ - USART_DMACmd(USARTx, USART_DMAReq_Tx, ENABLE); - - /* Clear the TC bit in the SR register by writing 0 to it */ - USART_ClearFlag(USARTx, USART_FLAG_TC); - - /* Enable DMA USART Tx Stream */ - DMA_Cmd(USARTx_TX_DMA_STREAM, ENABLE); - - /* Wait the USART DMA Tx transfer complete or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetFlagStatus(USARTx_TX_DMA_STREAM, USARTx_TX_DMA_FLAG_TCIF) == RESET)&&(TimeOut != 0)) - { - } - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* The software must wait until TC=1, The TC flag remains cleared during all data - transfers and it is set by hardware at the last frame’s end of transmission */ - TimeOut = USER_TIMEOUT; - while ((USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET)&&(TimeOut != 0)) - { - } - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Clear all DMA Streams flags */ - DMA_ClearFlag(USARTx_TX_DMA_STREAM, USARTx_TX_DMA_FLAG_HTIF | USARTx_TX_DMA_FLAG_TCIF); - - /* Disable the DMA Stream */ - DMA_Cmd(USARTx_TX_DMA_STREAM, DISABLE); - - /* Disable the USART Tx DMA request */ - USART_DMACmd(USARTx, USART_DMAReq_Tx, DISABLE); - } - -#endif /* USART_TRANSMITTER_MODE */ - -/******************************************************************************/ -/* USART in Receiver Mode */ -/******************************************************************************/ -#ifdef USART_RECEIVER_MODE - /* Clear Buffers */ - Fill_Buffer(RxBuffer, TXBUFFERSIZE); - Fill_Buffer(CmdBuffer, 2); - - DMA_DeInit(USARTx_RX_DMA_STREAM); - DMA_InitStructure.DMA_Channel = USARTx_RX_DMA_CHANNEL; - DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory; - /****************** USART will Receive Specific Command *******************/ - /* Configure the DMA to receive 2 bytes (transaction command), in case of USART receiver */ - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)CmdBuffer; - DMA_InitStructure.DMA_BufferSize = (uint16_t)2; - DMA_Init(USARTx_RX_DMA_STREAM, &DMA_InitStructure); - - /* Enable the USART Rx DMA request */ - USART_DMACmd(USARTx, USART_DMAReq_Rx, ENABLE); - /* Enable the DMA RX Stream */ - DMA_Cmd(USARTx_RX_DMA_STREAM, ENABLE); - - /* Wait the USART DMA Rx transfer complete (to receive the transaction command) */ - while (DMA_GetFlagStatus(USARTx_RX_DMA_STREAM, USARTx_RX_DMA_FLAG_TCIF) == RESET) - { - } - - /* Clear all DMA Streams flags */ - DMA_ClearFlag(USARTx_RX_DMA_STREAM, USARTx_RX_DMA_FLAG_HTIF | USARTx_RX_DMA_FLAG_TCIF); - - /* Disable the DMA Rx Stream */ - DMA_Cmd(USARTx_RX_DMA_STREAM, DISABLE); - - /* Disable the USART Rx DMA requests */ - USART_DMACmd(USARTx, USART_DMAReq_Rx, DISABLE); - - /************* USART will receive the the transaction data ****************/ - /* Transaction data (length defined by CmdBuffer[1] variable) */ - DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)RxBuffer; - DMA_InitStructure.DMA_BufferSize = (uint16_t)CmdBuffer[1]; - DMA_Init(USARTx_RX_DMA_STREAM, &DMA_InitStructure); - - /* Enable the USART Rx DMA requests */ - USART_DMACmd(USARTx, USART_DMAReq_Rx , ENABLE); - - /* Enable the DMA Stream */ - DMA_Cmd(USARTx_RX_DMA_STREAM, ENABLE); - - /* Wait the USART DMA Rx transfer complete or time out */ - TimeOut = USER_TIMEOUT; - while ((DMA_GetFlagStatus(USARTx_RX_DMA_STREAM, USARTx_RX_DMA_FLAG_TCIF) == RESET)&&(TimeOut != 0)) - { - } - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Clear all DMA Streams flags */ - DMA_ClearFlag(USARTx_RX_DMA_STREAM, USARTx_RX_DMA_FLAG_HTIF | USARTx_RX_DMA_FLAG_TCIF); - - /* Disable the DMA Stream */ - DMA_Cmd(USARTx_RX_DMA_STREAM, DISABLE); - - /* Disable the USART Rx DMA requests */ - USART_DMACmd(USARTx, USART_DMAReq_Rx, DISABLE); - - switch (CmdBuffer[1]) - { - /* CMD_RIGHT command received */ - case CMD_RIGHT_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_RIGHT_SIZE) != FAILED) - { - /* Turn ON LED2 and LED3 */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - /* Turn OFF LED4 */ - STM_EVAL_LEDOff(LED4); - } - break; - /* CMD_LEFT command received */ - case CMD_LEFT_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_LEFT_SIZE) != FAILED) - { - /* Turn ON LED4 */ - STM_EVAL_LEDOn(LED4); - /* Turn OFF LED2 and LED3 */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - } - break; - /* CMD_UP command received */ - case CMD_UP_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_UP_SIZE) != FAILED) - { - /* Turn ON LED2 */ - STM_EVAL_LEDOn(LED2); - /* Turn OFF LED3 and LED4 */ - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } - break; - /* CMD_DOWN command received */ - case CMD_DOWN_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_DOWN_SIZE) != FAILED) - { - /* Turn ON LED3 */ - STM_EVAL_LEDOn(LED3); - /* Turn OFF LED2 and LED4 */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED4); - } - break; - /* CMD_SEL command received */ - case CMD_SEL_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_SEL_SIZE) != FAILED) - { - /* Turn ON all LED2, LED3 and LED4 */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - } - break; - default: - break; - } -#endif /* USART_RECEIVER_MODE */ - } -} - -/** - * @brief Basic management of the timeout situation. - * @param None. - * @retval None. - */ -static void TimeOut_UserCallback(void) -{ - /* User can add his own implementation to manage TimeOut Communication failure */ - /* Block communication and all processes */ - while (1) - { - } -} - -/** - * @brief Configures the USART Peripheral. - * @param None - * @retval None - */ -static void USART_Config(void) -{ - USART_InitTypeDef USART_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - /* Peripheral Clock Enable -------------------------------------------------*/ - /* Enable GPIO clock */ - RCC_AHB1PeriphClockCmd(USARTx_TX_GPIO_CLK | USARTx_RX_GPIO_CLK, ENABLE); - - /* Enable USART clock */ - USARTx_CLK_INIT(USARTx_CLK, ENABLE); - - /* Enable the DMA clock */ - RCC_AHB1PeriphClockCmd(USARTx_DMAx_CLK, ENABLE); - - /* USARTx GPIO configuration -----------------------------------------------*/ - /* Connect USART pins to AF7 */ - GPIO_PinAFConfig(USARTx_TX_GPIO_PORT, USARTx_TX_SOURCE, USARTx_TX_AF); - GPIO_PinAFConfig(USARTx_RX_GPIO_PORT, USARTx_RX_SOURCE, USARTx_RX_AF); - - /* Configure USART Tx and Rx as alternate function push-pull */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - - GPIO_InitStructure.GPIO_Pin = USARTx_TX_PIN; - GPIO_Init(USARTx_TX_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = USARTx_RX_PIN; - GPIO_Init(USARTx_RX_GPIO_PORT, &GPIO_InitStructure); - - /* USARTx configuration ----------------------------------------------------*/ - /* Enable the USART OverSampling by 8 */ - USART_OverSampling8Cmd(USARTx, ENABLE); - - /* USARTx configured as follow: - - BaudRate = 3750000 baud - - Maximum BaudRate that can be achieved when using the Oversampling by 8 - is: (USART APB Clock / 8) - Example: - - (USART3 APB1 Clock / 8) = (30 MHz / 8) = 3750000 baud - - (USART1 APB2 Clock / 8) = (60 MHz / 8) = 7500000 baud - - Maximum BaudRate that can be achieved when using the Oversampling by 16 - is: (USART APB Clock / 16) - Example: (USART3 APB1 Clock / 16) = (30 MHz / 16) = 1875000 baud - Example: (USART1 APB2 Clock / 16) = (60 MHz / 16) = 3750000 baud - - Word Length = 8 Bits - - one Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitStructure.USART_BaudRate = 3750000; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - /* When using Parity the word length must be configured to 9 bits */ - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - USART_Init(USARTx, &USART_InitStructure); - - /* Configure DMA controller to manage USART TX and RX DMA request ----------*/ - DMA_InitStructure.DMA_PeripheralBaseAddr = USARTx_DR_ADDRESS; - DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; - DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; - DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; - DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; - DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; - DMA_InitStructure.DMA_Priority = DMA_Priority_VeryHigh; - DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable; - DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full; - DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single; - DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; - /* Here only the unchanged parameters of the DMA initialization structure are - configured. During the program operation, the DMA will be configured with - different parameters according to the operation phase */ - - /* Enable USART */ - USART_Cmd(USARTx, ENABLE); -} - -/** - * @brief Configures the SysTick Base time to 10 ms. - * @param None - * @retval None - */ -static void SysTickConfig(void) -{ - /* Set SysTick Timer for 10ms interrupts */ - if (SysTick_Config(SystemCoreClock / 100)) - { - /* Capture error */ - while (1); - } - /* Configure the SysTick handler priority */ - NVIC_SetPriority(SysTick_IRQn, 0x0); -} - -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer1 identical to pBuffer2 - * FAILED: pBuffer1 differs from pBuffer2 - */ -#ifdef USART_RECEIVER_MODE -static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer1 != *pBuffer2) - { - return FAILED; - } - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} -#endif /* USART_RECEIVER_MODE */ - -/** - * @brief Fills buffer. - * @param pBuffer: pointer on the Buffer to fill - * @param BufferLength: size of the buffer to fill - * @retval None - */ -static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength) -{ - uint16_t index = 0; - - /* Put in global buffer same values */ - for (index = 0; index < BufferLength; index++ ) - { - pBuffer[index] = 0x00; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - {} -} -#endif - -/** -* @} -*/ - -/** -* @} -*/ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/main.h deleted file mode 100644 index 84715ef48..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/main.h +++ /dev/null @@ -1,137 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_TwoBoards/DataExchangeDMA/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_ioe.h" - -/* Exported typedef ----------------------------------------------------------*/ -#define countof(a) (sizeof(a) / sizeof(*(a))) -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Exported define -----------------------------------------------------------*/ - -/* Uncomment the line below if you will use the USART peripheral as Transmitter */ -#define USART_TRANSMITTER_MODE -/* Uncomment the line below if you will use the USART peripheral as Receiver */ -/* #define USART_RECEIVER_MODE */ - -/* USER_TIMEOUT value for waiting loops. This timeout is just guarantee that the - application will not remain stuck if the USART communication is corrupted. - You may modify this timeout value depending on CPU frequency and application - conditions (interrupts routines, number of data to transfer, baudrate, CPU - frequency...). */ -#define USER_TIMEOUT ((uint32_t)0x64) /* Waiting 1s */ - -/* Definition for USARTx resources ********************************************/ -#define USARTx USART3 -#define USARTx_CLK RCC_APB1Periph_USART3 -#define USARTx_CLK_INIT RCC_APB1PeriphClockCmd -#define USARTx_IRQn USART3_IRQn -#define USARTx_IRQHandler USART3_IRQHandler - -#define USARTx_TX_PIN GPIO_Pin_10 -#define USARTx_TX_GPIO_PORT GPIOC -#define USARTx_TX_GPIO_CLK RCC_AHB1Periph_GPIOC -#define USARTx_TX_SOURCE GPIO_PinSource10 -#define USARTx_TX_AF GPIO_AF_USART3 - -#define USARTx_RX_PIN GPIO_Pin_11 -#define USARTx_RX_GPIO_PORT GPIOC -#define USARTx_RX_GPIO_CLK RCC_AHB1Periph_GPIOC -#define USARTx_RX_SOURCE GPIO_PinSource11 -#define USARTx_RX_AF GPIO_AF_USART3 - -/* Definition for DMAx resources **********************************************/ -#define USARTx_DR_ADDRESS ((uint32_t)USART3 + 0x04) - -#define USARTx_DMA DMA1 -#define USARTx_DMAx_CLK RCC_AHB1Periph_DMA1 - -#define USARTx_TX_DMA_CHANNEL DMA_Channel_4 -#define USARTx_TX_DMA_STREAM DMA1_Stream3 -#define USARTx_TX_DMA_FLAG_FEIF DMA_FLAG_FEIF3 -#define USARTx_TX_DMA_FLAG_DMEIF DMA_FLAG_DMEIF3 -#define USARTx_TX_DMA_FLAG_TEIF DMA_FLAG_TEIF3 -#define USARTx_TX_DMA_FLAG_HTIF DMA_FLAG_HTIF3 -#define USARTx_TX_DMA_FLAG_TCIF DMA_FLAG_TCIF3 - -#define USARTx_RX_DMA_CHANNEL DMA_Channel_4 -#define USARTx_RX_DMA_STREAM DMA1_Stream1 -#define USARTx_RX_DMA_FLAG_FEIF DMA_FLAG_FEIF1 -#define USARTx_RX_DMA_FLAG_DMEIF DMA_FLAG_DMEIF1 -#define USARTx_RX_DMA_FLAG_TEIF DMA_FLAG_TEIF1 -#define USARTx_RX_DMA_FLAG_HTIF DMA_FLAG_HTIF1 -#define USARTx_RX_DMA_FLAG_TCIF DMA_FLAG_TCIF1 - -#define USARTx_DMA_TX_IRQn DMA1_Stream3_IRQn -#define USARTx_DMA_RX_IRQn DMA1_Stream1_IRQn -#define USARTx_DMA_TX_IRQHandler DMA1_Stream3_IRQHandler -#define USARTx_DMA_RX_IRQHandler DMA1_Stream1_IRQHandler - -/* Misc definition ************************************************************/ -/* Transmit buffer size */ -#define TXBUFFERSIZE (countof(TxBuffer) - 1) -/* Receive buffer size */ -#define RXBUFFERSIZE TXBUFFERSIZE - -/* Commands list */ -#define CMD_RIGHT 0x55 -#define CMD_LEFT 0xAA -#define CMD_UP 0x33 -#define CMD_DOWN 0xCC -#define CMD_SEL 0xFF -#define CMD_ACK 0x66 - -/* Number of data bytes for each command */ -#define CMD_RIGHT_SIZE 0x01 -#define CMD_LEFT_SIZE 0x05 -#define CMD_UP_SIZE 0x14 -#define CMD_DOWN_SIZE 0x1E -#define CMD_SEL_SIZE TXBUFFERSIZE - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/readme.txt deleted file mode 100644 index 0481efbf2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/readme.txt +++ /dev/null @@ -1,151 +0,0 @@ -/** - @page USART_DataExchangeDMA USART Communication Boards Data Exchange using DMA example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file USART/USART_TwoBoards/DataExchangeDMA/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the USART Communication Boards Data Exchange using - * DMA example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a small application in which joystick buttons are used -to trigger USART communications using DMA and though using USART firmware library. - -- Hardware Description - -To use this example, you need to load it on two STM32 boards (let's call them -BoardA and BoardB) then connect these two boards through USART lines and GND. -In the firmware example uncomment the dedicated line in the main.h file to use -the USART peripheral as STM32 Transmitter or as STM32 Receiver device. - -@verbatim -*------------------------------------------------------------------------------* -| BoardA BoardB | -| ____________________ ____________________ | -| | | | | | -| | | | | | -| | __________ | | __________ | | -| | | USART |____|TX_____________RX|____| USART | | | -| | | Device1 |____|RX_____________TX|____| Device2 | | | -| | |____TX____| | | |____RX____| | | -| | | | | | -| | O LD1 | | O LD1 | | -| | O LD2 Joystick | | O LD2 Joystick | | -| | O LD3 _ | | O LD3 _ | | -| | O LD4 |_| | | O LD4 |_| | | -| | | | | | -| | GND O--|-----------------|--O GND | | -| |____________________| |____________________| | -| | -| | -*------------------------------------------------------------------------------* -@endverbatim - -@note -- The connection between the pins should use a common Ground. - -- Software Description - -On Transmitter Board, at each joystick buttons press: -- The USART Transmitter Board sends the specific command to the USART Receiver Board - the command contains the transaction code (CMD_RIGHT, CMD_LEFT, CMD_UP, CMD_DOWN - or CMD_SEL) followed by the number of data to be transmitted (CMD_RIGHT_SIZE, - CMD_LEFT_SIZE, CMD_UP_SIZE, CMD_DOWN_SIZE or CMD_SEL_SIZE). - -- The USART Receiver Board receives the specific command (2 bytes received : 1 byte :code - and 1 byte : number of data). - -- The USART Transmitter Board sends the number of bytes (already defined in the specific - command)from TxBuffer to the USART Receiver Board. - -- The USART Receiver Board compares the number of bytes received with the defined ones into - his TxBuffer. - - Received data correctness is signaled by LED lightening and though as follow: - - Joystick RIGHT and data correctly received ==> LD2, LD3 ON and LD4 OFF - - Joystick LEFT and data correctly received ==> LD4 ON, LD2 and LD3 are OFF - - Joystick UP and data correctly received ==> LD2 ON, LD3 and LD4 are OFF - - Joystick DOWN and data correctly received ==> LD3 ON, LD2 and LD4 are OFF - - Joystick SEL and data correctly received ==> LD2, LD3 and LD4 are ON - -In both boards, the data transfers is managed using the USART Tx/Rx channels DMA requests. - -The SysTick is configured to generate interrupt each 10ms. A dedicated counter -inside the SysTick ISR is used to toggle the LD1 each 100ms indicating that the -firmware is running. -These operations can be repeated infinitely. - -A defined communication timeout is insuring that the application will not remain -stuck if the USART communication is corrupted. -You can adjust this timeout through the USER_TIMEOUT define inside main.h file -depending on CPU frequency and application conditions (interrupts routines, -number of data to transfer, baudrate, CPU frequency...). -When a given operation is not finished within the defined timeout, a callback is -made to the function "TimeOut_UserCallback()", this function is used to manage -timeout communication failure. In this example, this callback implements a simple -infinite loop, but user can add his own implementation to manage timeout failure. - - -@par Directory contents - - - USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_conf.h Library Configuration file - - USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_it.c Interrupt handlers - - USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_it.h Interrupt handlers header file - - USART/USART_TwoBoards/DataExchangeDMA/main.c Main program - - USART/USART_TwoBoards/DataExchangeDMA/main.h Main program header file - - USART/USART_TwoBoards/DataExchangeDMA/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" tool. - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - Use the Joystick buttons - - Connect BoardA USART3 TX pin (PC.10) to BoardB USART3 RX pin (PC.11) - - Connect BoardA USART3 RX pin (PC.11) to BoardB USART3 TX pin (PC.10) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_conf.h deleted file mode 100644 index bc18f6b33..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_it.c deleted file mode 100644 index 0e1f37647..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_it.c +++ /dev/null @@ -1,192 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup USART_DataExchangeDMA - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint8_t Counter = 0x00; -extern __IO uint32_t TimeOut; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - /* Decrement the timeout value */ - if (TimeOut != 0x0) - { - TimeOut--; - } - - if (Counter < 10) - { - Counter++; - } - else - { - Counter = 0x00; - STM_EVAL_LEDToggle(LED1); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx_md.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_it.h deleted file mode 100644 index 0669db7ae..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_it.h +++ /dev/null @@ -1,52 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_TwoBoards/DataExchangeDMA/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeDMA/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/main.c deleted file mode 100644 index 62ab40c81..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/main.c +++ /dev/null @@ -1,529 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_TwoBoards/DataExchangeInterrupt/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup USART_DataExchangeInterrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -uint8_t TxBuffer[] = "USART Interrupt Example: Communication between two USART using Interrupt"; -uint8_t RxBuffer [RXBUFFERSIZE]; -__IO uint8_t RxIndex = 0x00; -__IO uint8_t TxIndex = 0x00; - -__IO JOYState_TypeDef PressedButton = JOY_NONE; -__IO uint8_t UsartMode = USART_MODE_TRANSMITTER; -__IO uint8_t UsartTransactionType = USART_TRANSACTIONTYPE_CMD; - -uint8_t CmdBuffer [0x02] = {0x00, 0x00}; /* {Transaction Command, -Number of byte to receive or to transmit} */ -uint8_t AckBuffer [0x02] = {0x00, 0x00}; /* {Transaction Command, ACK command} */ - -__IO uint32_t TimeOut = 0x00; -/* Private function prototypes -----------------------------------------------*/ -static void USART_Config(void); -static void SysTickConfig(void); -static void TimeOut_UserCallback(void); -static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength); -static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength); -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* USART configuration -----------------------------------------------------*/ - USART_Config(); - - /* SysTick configuration ---------------------------------------------------*/ - SysTickConfig(); - - /* Initialize LEDs mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Configure the IO Expander mounted on STM322xG-EVAL board */ - TimeOut = USER_TIMEOUT; - while ((IOE_Config() != IOE_OK) && (TimeOut != 0x00)) - {} - - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Enable the USARTx Receive interrupt: this interrupt is generated when the - USARTx receive data register is not empty */ - USART_ITConfig(USARTx, USART_IT_RXNE, ENABLE); - - while (1) - { - TxIndex = 0x00; - RxIndex = 0x00; - UsartTransactionType = USART_TRANSACTIONTYPE_CMD; - UsartMode = USART_MODE_RECEIVER; - - Fill_Buffer(CmdBuffer, 0x02); - Fill_Buffer(AckBuffer, 0x02); - - /* Clear the RxBuffer */ - Fill_Buffer(RxBuffer, TXBUFFERSIZE); - - PressedButton = IOE_JoyStickGetState(); - - /* Waiting Joystick is pressed or transaction command is received */ - while ((PressedButton == JOY_NONE) && (CmdBuffer[0x00] == 0x00)) - { - PressedButton = IOE_JoyStickGetState(); - } - - /* - If the Joystick is pressed go to transmitter mode, otherwise (the transaction - command is received) go to receiver mode - */ - -/******************************************************************************/ -/* USART in Mode Transmitter */ -/******************************************************************************/ - if ((PressedButton != JOY_NONE) && (CmdBuffer[0x00] == 0x00)) - { - UsartMode = USART_MODE_TRANSMITTER; - switch (PressedButton) - { - /* JOY_RIGHT button pressed */ - case JOY_RIGHT: - CmdBuffer[0x00] = CMD_RIGHT; - CmdBuffer[0x01] = CMD_RIGHT_SIZE; - break; - /* JOY_LEFT button pressed */ - case JOY_LEFT: - CmdBuffer[0x00] = CMD_LEFT; - CmdBuffer[0x01] = CMD_LEFT_SIZE; - break; - /* JOY_UP button pressed */ - case JOY_UP: - CmdBuffer[0x00] = CMD_UP; - CmdBuffer[0x01] = CMD_UP_SIZE; - break; - /* JOY_DOWN button pressed */ - case JOY_DOWN: - CmdBuffer[0x00] = CMD_DOWN; - CmdBuffer[0x01] = CMD_DOWN_SIZE; - break; - /* JOY_SEL button pressed */ - case JOY_SEL: - CmdBuffer[0x00] = CMD_SEL; - CmdBuffer[0x01] = CMD_SEL_SIZE; - break; - default: - break; - } - - if (CmdBuffer[0x00]!= 0x00) - { - /* Enable the USARTx transmit data register empty interrupt */ - USART_ITConfig(USARTx, USART_IT_TXE, ENABLE); - - /* Wait until USART sends the command or time out */ - TimeOut = USER_TIMEOUT; - while ((TxIndex < 0x02)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* The software must wait until TC=1. The TC flag remains cleared during all data - transfers and it is set by hardware at the last frame’s end of transmission*/ - TimeOut = USER_TIMEOUT; - while ((USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET)&&(TimeOut != 0x00)) - { - } - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* Wait until USART receives the Ack command or time out*/ - TimeOut = USER_TIMEOUT; - while ((RxIndex < 0x02)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - /* USART sends the data */ - UsartTransactionType = USART_TRANSACTIONTYPE_DATA; - TxIndex = 0x00; - RxIndex = 0x00; - - /* Enable the USARTx transmit data register empty interrupt */ - USART_ITConfig(USARTx, USART_IT_TXE, ENABLE); - - /* Wait until end of data transfer */ - TimeOut = USER_TIMEOUT; - while ((TxIndex < GetVar_NbrOfData())&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* The software must wait until TC=1. The TC flag remains cleared during all data - transfers and it is set by hardware at the last frame’s end of transmission*/ - TimeOut = USER_TIMEOUT; - while ((USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET)&&(TimeOut != 0x00)) - { - } - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - } - CmdBuffer[0x00] = 0x00; - } - -/******************************************************************************/ -/* USART in Receiver Mode */ -/******************************************************************************/ - if (CmdBuffer[0x00] != 0x00) - { - /* Wait until USART receives the command or time out */ - TimeOut = USER_TIMEOUT; - while ((RxIndex < 0x02)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - UsartMode = USART_MODE_RECEIVER; - - /* Enable the USARTx transmit data register empty interrupt */ - USART_ITConfig(USARTx, USART_IT_TXE, ENABLE); - - /* Wait until USART sends the ACK command or time out*/ - TimeOut = USER_TIMEOUT; - while ((TxIndex < 0x02)&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* The software must wait until TC=1. The TC flag remains cleared during all data - transfers and it is set by hardware at the last frame’s end of transmission*/ - TimeOut = USER_TIMEOUT; - while ((USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET)&&(TimeOut != 0x00)) - { - } - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - - /* USART receives the data */ - UsartTransactionType = USART_TRANSACTIONTYPE_DATA; - TxIndex = 0x00; - RxIndex = 0x00; - - /* Wait until end of data transfer or time out */ - TimeOut = USER_TIMEOUT; - while ((RxIndex < GetVar_NbrOfData())&&(TimeOut != 0x00)) - {} - if(TimeOut == 0) - { - TimeOut_UserCallback(); - } - switch (CmdBuffer[0x01]) - { - /* CMD_RIGHT command received */ - case CMD_RIGHT_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_RIGHT_SIZE) != FAILED) - { - /* Turn ON LED2 and LED3 */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - /* Turn OFF LED4 */ - STM_EVAL_LEDOff(LED4); - } - break; - /* CMD_LEFT command received */ - case CMD_LEFT_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_LEFT_SIZE) != FAILED) - { - /* Turn ON LED4 */ - STM_EVAL_LEDOn(LED4); - /* Turn OFF LED2 and LED3 */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED3); - } - break; - /* CMD_UP command received */ - case CMD_UP_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_UP_SIZE) != FAILED) - { - /* Turn ON LED2 */ - STM_EVAL_LEDOn(LED2); - /* Turn OFF LED3 and LED4 */ - STM_EVAL_LEDOff(LED3); - STM_EVAL_LEDOff(LED4); - } - break; - /* CMD_DOWN command received */ - case CMD_DOWN_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_DOWN_SIZE) != FAILED) - { - /* Turn ON LED3 */ - STM_EVAL_LEDOn(LED3); - /* Turn OFF LED2 and LED4 */ - STM_EVAL_LEDOff(LED2); - STM_EVAL_LEDOff(LED4); - } - break; - /* CMD_SEL command received */ - case CMD_SEL_SIZE: - if (Buffercmp(TxBuffer, RxBuffer, CMD_SEL_SIZE) != FAILED) - { - /* Turn ON all LED2, LED3 and LED4 */ - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - } - break; - default: - break; - } - CmdBuffer[0x00] = 0x00; - } - } -} - -/** - * @brief Basic management of the timeout situation. - * @param None. - * @retval None. - */ -static void TimeOut_UserCallback(void) -{ - /* User can add his own implementation to manage TimeOut Communication failure */ - /* Block communication and all processes */ - while (1) - { - } -} - -/** - * @brief Configures the USART Peripheral. - * @param None - * @retval None - */ -static void USART_Config(void) -{ - USART_InitTypeDef USART_InitStructure; - NVIC_InitTypeDef NVIC_InitStructure; - GPIO_InitTypeDef GPIO_InitStructure; - - /* Enable GPIO clock */ - RCC_AHB1PeriphClockCmd(USARTx_TX_GPIO_CLK | USARTx_RX_GPIO_CLK, ENABLE); - - /* Enable USART clock */ - USARTx_CLK_INIT(USARTx_CLK, ENABLE); - - /* Connect USART pins to AF7 */ - GPIO_PinAFConfig(USARTx_TX_GPIO_PORT, USARTx_TX_SOURCE, USARTx_TX_AF); - GPIO_PinAFConfig(USARTx_RX_GPIO_PORT, USARTx_RX_SOURCE, USARTx_RX_AF); - - /* Configure USART Tx and Rx as alternate function push-pull */ - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; - GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; - GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; - GPIO_InitStructure.GPIO_Pin = USARTx_TX_PIN; - GPIO_Init(USARTx_TX_GPIO_PORT, &GPIO_InitStructure); - - GPIO_InitStructure.GPIO_Pin = USARTx_RX_PIN; - GPIO_Init(USARTx_RX_GPIO_PORT, &GPIO_InitStructure); - - /* Enable the USART OverSampling by 8 */ - USART_OverSampling8Cmd(USARTx, ENABLE); - - /* USARTx configuration ----------------------------------------------------*/ - /* USARTx configured as follow: - - BaudRate = 3750000 baud - - Maximum BaudRate that can be achieved when using the Oversampling by 8 - is: (USART APB Clock / 8) - Example: - - (USART3 APB1 Clock / 8) = (30 MHz / 8) = 3750000 baud - - (USART1 APB2 Clock / 8) = (60 MHz / 8) = 7500000 baud - - Maximum BaudRate that can be achieved when using the Oversampling by 16 - is: (USART APB Clock / 16) - Example: (USART3 APB1 Clock / 16) = (30 MHz / 16) = 1875000 baud - Example: (USART1 APB2 Clock / 16) = (60 MHz / 16) = 3750000 baud - - Word Length = 8 Bits - - one Stop Bit - - No parity - - Hardware flow control disabled (RTS and CTS signals) - - Receive and transmit enabled - */ - USART_InitStructure.USART_BaudRate = 3750000; - USART_InitStructure.USART_WordLength = USART_WordLength_8b; - USART_InitStructure.USART_StopBits = USART_StopBits_1; - USART_InitStructure.USART_Parity = USART_Parity_No; - USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; - USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; - USART_Init(USARTx, &USART_InitStructure); - - /* NVIC configuration */ - /* Configure the Priority Group to 2 bits */ - NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); - - /* Enable the USARTx Interrupt */ - NVIC_InitStructure.NVIC_IRQChannel = USARTx_IRQn; - NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; - NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; - NVIC_Init(&NVIC_InitStructure); - - /* Enable USART */ - USART_Cmd(USARTx, ENABLE); -} - -/** - * @brief Configures the SysTick Base time to 10 ms. - * @param None - * @retval None - */ -static void SysTickConfig(void) -{ - /* Setup SysTick Timer for 10ms interrupts */ - if (SysTick_Config(SystemCoreClock / 100)) - { - /* Capture error */ - while (1); - } - /* Configure the SysTick handler priority */ - NVIC_SetPriority(SysTick_IRQn, 0x0); -} - -/** - * @brief Compares two buffers. - * @param pBuffer1, pBuffer2: buffers to be compared. - * @param BufferLength: buffer's length - * @retval PASSED: pBuffer1 identical to pBuffer2 - * FAILED: pBuffer1 differs from pBuffer2 - */ -static TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength) -{ - while (BufferLength--) - { - if (*pBuffer1 != *pBuffer2) - { - return FAILED; - } - pBuffer1++; - pBuffer2++; - } - - return PASSED; -} -/** - * @brief Returns NbrOfData value. - * @param None - * @retval Tx Buffer Size (NbrOfDataToTransfer). - */ -uint8_t GetVar_NbrOfData(void) -{ - return CmdBuffer[0x01]; -} -/** - * @brief Fills buffer. - * @param pBuffer: pointer on the Buffer to fill - * @param BufferLength: size of the buffer to fill - * @retval None - */ -static void Fill_Buffer(uint8_t *pBuffer, uint16_t BufferLength) -{ - uint16_t index = 0; - - /* Put in global buffer same values */ - for (index = 0; index < BufferLength; index++ ) - { - pBuffer[index] = 0x00; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - {} -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/main.h deleted file mode 100644 index 5f6bcbe4f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/main.h +++ /dev/null @@ -1,116 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_TwoBoards/DataExchangeInterrupt/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_ioe.h" - -/* Exported typedef -----------------------------------------------------------*/ -#define countof(a) (sizeof(a) / sizeof(*(a))) -typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus; - -/* Exported define ------------------------------------------------------------*/ - -/* USER_TIMEOUT value for waiting loops. This timeout is just guarantee that the - application will not remain stuck if the USART communication is corrupted. - You may modify this timeout value depending on CPU frequency and application - conditions (interrupts routines, number of data to transfer, baudrate, frequence - CPU...). */ -#define USER_TIMEOUT ((uint32_t)0x64) /* Waiting 1s */ - -/* USART Mode Selected */ -#define USART_MODE_TRANSMITTER 0x00 -#define USART_MODE_RECEIVER 0x01 - -/* USART Transaction Type */ -#define USART_TRANSACTIONTYPE_CMD 0x00 -#define USART_TRANSACTIONTYPE_DATA 0x01 - - -/* Definition for USARTx resources ********************************************/ -#define USARTx USART3 -#define USARTx_CLK RCC_APB1Periph_USART3 -#define USARTx_CLK_INIT RCC_APB1PeriphClockCmd -#define USARTx_IRQn USART3_IRQn -#define USARTx_IRQHandler USART3_IRQHandler - -#define USARTx_TX_PIN GPIO_Pin_10 -#define USARTx_TX_GPIO_PORT GPIOC -#define USARTx_TX_GPIO_CLK RCC_AHB1Periph_GPIOC -#define USARTx_TX_SOURCE GPIO_PinSource10 -#define USARTx_TX_AF GPIO_AF_USART3 - -#define USARTx_RX_PIN GPIO_Pin_11 -#define USARTx_RX_GPIO_PORT GPIOC -#define USARTx_RX_GPIO_CLK RCC_AHB1Periph_GPIOC -#define USARTx_RX_SOURCE GPIO_PinSource11 -#define USARTx_RX_AF GPIO_AF_USART3 - - -/* Misc definition ************************************************************/ -/* Transmit buffer size */ -#define TXBUFFERSIZE (countof(TxBuffer) - 1) -/* Receive buffer size */ -#define RXBUFFERSIZE TXBUFFERSIZE - -/* Commands list */ -#define CMD_RIGHT 0x55 -#define CMD_LEFT 0xAA -#define CMD_UP 0x33 -#define CMD_DOWN 0xCC -#define CMD_SEL 0xFF - -#define CMD_ACK 0x66 - -/* Number of data bytes for each command */ -#define CMD_RIGHT_SIZE 0x01 -#define CMD_LEFT_SIZE 0x05 -#define CMD_UP_SIZE 0x14 -#define CMD_DOWN_SIZE 0x1E -#define CMD_SEL_SIZE TXBUFFERSIZE - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -uint8_t GetVar_NbrOfData(void); -#ifdef __cplusplus -} -#endif - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/readme.txt deleted file mode 100644 index 45b92e0ed..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/readme.txt +++ /dev/null @@ -1,152 +0,0 @@ -/** - @page USART_DataExchangeInterrupt USART Communication Boards Data Exchange using Interrupt example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file USART/USART_TwoBoards/DataExchangeInterrupt/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the USART Communication Boards Interrupt Data Exchange - * using Interrupt example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example provides a small application in which joystick buttons are used -to trigger USART communication using interrupts and though using USART firmware -library. - -- Hardware Description - -To use this example, you need to load it on two STM32 boards (let's call them -BoardA and BoardB) then connect these two boards through UART lines and GND. - -@verbatim -*------------------------------------------------------------------------------* -| BoardA BoardB | -| ____________________ ____________________ | -| | | | | | -| | | | | | -| | __________ | | __________ | | -| | | UART |____|TX_____________RX|____| UART | | | -| | | Device1 |____|RX_____________TX|____| Device2 | | | -| | |__________| | | |__________| | | -| | | | | | -| | O LD1 | | O LD1 | | -| | O LD2 Joystick | | O LD2 Joystick | | -| | O LD3 _ | | O LD3 _ | | -| | O LD4 |_| | | O LD4 |_| | | -| | | | | | -| | GND O--|-----------------|--O GND | | -| |____________________| |____________________| | -| | -| | -*------------------------------------------------------------------------------* -@endverbatim - -@note -- The connection between the pins should use a common Ground. - -- Software Description - -On BoardA, at each joystick buttons press: -- The USART BoardA sends the specific command to the USART BoardB (the command - contains the transaction code (CMD_RIGHT, CMD_LEFT, CMD_UP, CMD_DOWN or CMD_SEL) - followed by the number of data to be transmitted (CMD_RIGHT_SIZE, CMD_LEFT_SIZE, - CMD_UP_SIZE, CMD_DOWN_SIZE or CMD_SEL_SIZE) - -- The USART BoardB receives the command and sends the CMD_ACK command to the USART BoardA - -- The USART BoardA receives the CMD_ACK command and sends the number of bytes - from TxBuffer to the USART BoardB. - -- The USART BoardB compares the number of bytes received with the defined ones into - his TxBuffer. - - Received data correctness is signaled by LED lightening and though as follow: - - Joystick RIGHT and data correctly received ==> LD2, LD3 ON and LD4 OFF - - Joystick LEFT and data correctly received ==> LD4 ON, LD2 and LD3 are OFF - - Joystick UP and data correctly received ==> LD2 ON, LD3 and LD4 are OFF - - Joystick DOWN and data correctly received ==> LD3 ON, LD2 and LD4 are OFF - - Joystick SEL and data correctly received ==> LD2, LD3 and LD4 are ON - -The steps described above can be also initiated and ensured by BoardB. - -In both boards(BoardA or BoardB), the data transfers is managed using USARTx_IRQHandler -in stm32f2xx_it.c file. - -The SysTick is configured to generate interrupt each 10ms. A dedicated counter -inside the SysTick ISR is used to toggle the LD1 each 100ms indicating that the -firmware is running. -These operations can be repeated infinitely. - -A defined communication timeout is insuring that the application will not remain -stuck if the USART communication is corrupted. -You can adjust this timeout through the USER_TIMEOUT define inside main.h file -depending on CPU frequency and application conditions (interrupts routines, -number of data to transfer, baudrate, CPU frequency...). -When a given operation is not finished within the defined timeout, a callback is -made to the function "TimeOut_UserCallback()", this function is used to manage -timeout communication failure. In this example, this callback implements a simple -infinite loop, but user can add his own implementation to manage timeout failure. - - -@par Directory contents - - - USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h Library Configuration file - - USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c Interrupt handlers - - USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h Interrupt handlers header file - - USART/USART_TwoBoards/DataExchangeInterrupt/main.c Main program - - USART/USART_TwoBoards/DataExchangeInterrupt/main.h Main program header file - - USART/USART_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c STM32F2xx system source file - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board. - - - STM322xG-EVAL Set-up - - Use LED1, LED2, LED3 and LED4 connected respectively to PG.06, PG.08, PI.09 - and PC.07 pins - - Use the Joystick buttons - - Connect BoardA USART3 TX pin (PC.10) to BoardB USART3 RX pin (PC.11) - - Connect BoardA USART3 RX pin (PC.11) to BoardB USART3 TX pin (PC.10) - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h deleted file mode 100644 index 59cbd1702..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c deleted file mode 100644 index 40831cf61..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c +++ /dev/null @@ -1,272 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and peripherals - * interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup USART_DataExchangeInterrupt - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern uint8_t TxBuffer[]; -extern uint8_t RxBuffer[]; -extern uint8_t CmdBuffer[]; -extern uint8_t AckBuffer[]; -extern __IO uint8_t RxIndex; -extern __IO uint8_t TxIndex; - -extern __IO uint8_t UsartTransactionType; -extern __IO uint8_t UsartMode; - -__IO uint8_t Counter = 0x00; -extern __IO uint32_t TimeOut; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSV_Handler exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - /* Decrement the timeout value */ - if (TimeOut != 0x0) - { - TimeOut--; - } - - if (Counter < 10) - { - Counter++; - } - else - { - Counter = 0x00; - STM_EVAL_LEDToggle(LED1); - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/******************************************************************************/ -/** -* @brief This function handles USRAT interrupt request. -* @param None -* @retval None -*/ -void USARTx_IRQHandler(void) -{ - /* USART in mode Tramitter -------------------------------------------------*/ - if (USART_GetITStatus(USARTx, USART_IT_TXE) == SET) - { /* When Joystick Pressed send the command then send the data */ - if (UsartMode == USART_MODE_TRANSMITTER) - { /* Send the command */ - if (UsartTransactionType == USART_TRANSACTIONTYPE_CMD) - { - USART_SendData(USARTx, CmdBuffer[TxIndex++]); - if (TxIndex == 0x02) - { - /* Disable the USARTx transmit data register empty interrupt */ - USART_ITConfig(USARTx, USART_IT_TXE, DISABLE); - } - } - /* Send the data */ - else - { - USART_SendData(USARTx, TxBuffer[TxIndex++]); - if (TxIndex == GetVar_NbrOfData()) - { - /* Disable the USARTx transmit data register empty interrupt */ - USART_ITConfig(USARTx, USART_IT_TXE, DISABLE); - } - } - } - /*If Data Received send the ACK*/ - else - { - USART_SendData(USARTx, AckBuffer[TxIndex++]); - if (TxIndex == 0x02) - { - /* Disable the USARTx transmit data register empty interrupt */ - USART_ITConfig(USARTx, USART_IT_TXE, DISABLE); - } - } - } - - /* USART in mode Receiver --------------------------------------------------*/ - if (USART_GetITStatus(USARTx, USART_IT_RXNE) == SET) - { - if (UsartMode == USART_MODE_TRANSMITTER) - { - AckBuffer[RxIndex++] = USART_ReceiveData(USARTx); - } - else - { - /* Receive the command */ - if (UsartTransactionType == USART_TRANSACTIONTYPE_CMD) - { - CmdBuffer[RxIndex++] = USART_ReceiveData(USARTx); - } - /* Receive the USART data */ - else - { - RxBuffer[RxIndex++] = USART_ReceiveData(USARTx); - } - } - } -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h deleted file mode 100644 index 621dd0ad4..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h +++ /dev/null @@ -1,53 +0,0 @@ -/** - ****************************************************************************** - * @file USART/USART_TwoBoards/DataExchangeInterrupt/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); -void USARTx_IRQHandler(void); - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/USART/USART_TwoBoards/DataExchangeInterrupt/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/main.c deleted file mode 100644 index 81d14fc0e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/main.c +++ /dev/null @@ -1,164 +0,0 @@ -/** - ****************************************************************************** - * @file WWDG/WWDG_Example/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup WWDG_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -__IO uint32_t TimingDelay = 0; - -/* Private function prototypes -----------------------------------------------*/ -void Delay(__IO uint32_t nTime); - -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program - * @param None - * @retval None - */ -int main(void) -{ - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* Initialize LEDs and Key Button mounted on STM322xG-EVAL board */ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI); - - /* Check if the system has resumed from WWDG reset */ - if (RCC_GetFlagStatus(RCC_FLAG_WWDGRST) != RESET) - { - /* WWDGRST flag set */ - /* Turn on LED1 */ - STM_EVAL_LEDOn(LED1); - - /* Clear reset flags */ - RCC_ClearFlag(); - } - else - { - /* WWDGRST flag is not set */ - /* Turn off LED1 */ - STM_EVAL_LEDOff(LED1); - } - - /* Setup SysTick Timer for 1 msec interrupts */ - if (SysTick_Config(SystemCoreClock / 1000)) - { - /* Capture error */ - while (1); - } - - /* WWDG configuration */ - /* Enable WWDG clock */ - RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE); - - /* WWDG clock counter = (PCLK1 (30MHz)/4096)/8 = 915 Hz (~1092 us) */ - WWDG_SetPrescaler(WWDG_Prescaler_8); - - /* Set Window value to 80; WWDG counter should be refreshed only when the counter - is below 80 (and greater than 64) otherwise a reset will be generated */ - WWDG_SetWindowValue(80); - - /* Enable WWDG and set counter value to 127, WWDG timeout = ~1092 us * 64 = 69.9 ms - In this case the refresh window is: ~1092 * (127-80) = 51.3 ms < refresh window < ~1092 * 64 = 69.9ms - */ - WWDG_Enable(127); - - while (1) - { - /* Toggle LED2 */ - STM_EVAL_LEDToggle(LED2); - - /* Insert 53 ms delay */ - Delay(53); - - /* Update WWDG counter */ - WWDG_SetCounter(127); - } -} - -/** - * @brief Inserts a delay time. - * @param nTime: specifies the delay time length, in milliseconds. - * @retval None - */ -void Delay(__IO uint32_t nTime) -{ - TimingDelay = nTime; - - while(TimingDelay != 0); -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - -/** - * @} - */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/readme.txt deleted file mode 100644 index 48f0589e6..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/readme.txt +++ /dev/null @@ -1,94 +0,0 @@ -/** - @page WWDG_Example WWDG_Example - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file WWDG/WWDG_Example/readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Description of the WWDG Example. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -@par Example Description - -This example shows how to update at regular period the WWDG counter and how to -simulate a software fault generating an MCU WWDG reset on expiry of a programmed -time period. - -The WWDG timeout is set to 69.9 ms and the refresh window is set to 80. -The WWDG counter is refreshed each 50ms in the main program infinite loop to -prevent a WWDG reset. -LED2 is also toggled each 53 ms indicating that the program is running. - -An EXTI Line is connected to a GPIO pin, and configured to generate an interrupt -on the rising edge of the signal. - -The EXTI Line is used to simulate a software failure: once the EXTI Line event -occurs, by pressing the Key push-button, the corresponding interrupt is served. -In the ISR, a write to invalid address generates a Hardfault exception containing -an infinite loop and preventing to return to main program (the WWDG counter is -not refreshed). -As a result, when the WWDG counter falls to 63, the WWDG reset occurs. -If the WWDG reset is generated, after the system resumes from reset, LED1 turns on. - -If the EXTI Line event does not occur, the WWDG counter is indefinitely refreshed -in the main program infinite loop, and there is no WWDG reset. - - -@par Directory contents - - - WWDG_Example/system_stm32f2xx.c STM32F2xx system clock configuration file - - WWDG_Example/stm32f2xx_conf.h Library Configuration file - - WWDG_Example/stm32f2xx_it.c Interrupt handlers - - WWDG_Example/stm32f2xx_it.h Header for stm32f2xx_it.c - - WWDG_Example/main.c Main program - -@note The "system_stm32f2xx.c" is generated by an automatic clock configuration - tool and can be easily customized to your own configuration. - To select different clock setup, use the "STM32F2xx_Clock_Configuration_V1.0.0.xls" - provided with the AN3362 package available on ST Microcontrollers - - -@par Hardware and Software environment - - - This example runs on STM32F2xx Devices. - - - This example has been tested with STM322xG-EVAL RevB and can be easily tailored - to any other development board - - - - STM322xG-EVAL Set-up - - Use LD1 and LD2 leds connected respectively to PG.06 and PG.08 pins - - Use the KEY push button connected to PG.15 pin (EXTI Line15). - - -@par How to use it ? - -In order to make the program work, you must do the following : - - Copy all source files from this example folder to the template folder under - Project\STM32F2xx_StdPeriph_Template - - Open your preferred toolchain - - Rebuild all files and load your image into target memory - - Run the example - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/stm32f2xx_conf.h deleted file mode 100644 index 9ec369e5a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file WWDG/WWDG_Example/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/stm32f2xx_it.c deleted file mode 100644 index 988d47d98..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/stm32f2xx_it.c +++ /dev/null @@ -1,197 +0,0 @@ -/** - ****************************************************************************** - * @file WWDG/WWDG_Example/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "stm322xg_eval.h" - -/** @addtogroup STM32F2xx_StdPeriph_Examples - * @{ - */ - -/** @addtogroup WWDG_Example - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -extern __IO uint32_t TimingDelay; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - TimingDelay--; -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @brief This function handles External line 15 to 10 interrupt request. - * @param None - * @retval None - */ -void EXTI15_10_IRQHandler(void) -{ - if (EXTI_GetITStatus(KEY_BUTTON_EXTI_LINE) != RESET) - { - /* Clear the Key Button EXTI Line Pending Bit */ - EXTI_ClearITPendingBit(KEY_BUTTON_EXTI_LINE); - - /* As the following address is invalid (not mapped), a Hardfault exception - will be generated with an infinite loop and when the WWDG counter falls to 63 - the WWDG reset occurs */ - *(__IO uint32_t *) 0xA0001000 = 0xFF; - } -} - -/** - * @} - */ - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/stm32f2xx_it.h deleted file mode 100644 index 6bf5116e8..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file WWDG/WWDG_Example/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Examples/WWDG/WWDG_Example/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/Project.ewd b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/Project.ewd deleted file mode 100644 index dcaffc6b8..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/Project.ewd +++ /dev/null @@ -1,884 +0,0 @@ - - - - 2 - - STM322xG_EVAL - - ARM - - 1 - - C-SPY - 2 - - 22 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ARMSIM_ID - 2 - - 1 - 1 - 1 - - - - - - - - ANGEL_ID - 2 - - 0 - 1 - 1 - - - - - - - - - - - - GDBSERVER_ID - 2 - - 0 - 1 - 1 - - - - - - - - - - - IARROM_ID - 2 - - 1 - 1 - 1 - - - - - - - - - JLINK_ID - 2 - - 13 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LMIFTDI_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - MACRAIGOR_ID - 2 - - 3 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - PEMICRO_ID - 2 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - RDI_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - STLINK_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - - THIRDPARTY_ID - 2 - - 0 - 1 - 1 - - - - - - - - XDS100_ID - 2 - - 0 - 1 - 1 - - - - - - - $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB6_Plugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin - 0 - - - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin - 1 - - - - - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/Project.ewp b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/Project.ewp deleted file mode 100644 index fe9345700..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/Project.ewp +++ /dev/null @@ -1,1039 +0,0 @@ - - - - 2 - - STM322xG_EVAL - - ARM - - 1 - - General - 3 - - 21 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCARM - 2 - - 28 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AARM - 2 - - 8 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 0 - - 1 - 1 - 1 - - - - - - - - - CUSTOM - 3 - - - - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 0 - - 13 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 0 - - 0 - 1 - 1 - - - - - - - BILINK - 0 - - - - - CMSIS - - $PROJ_DIR$\..\system_stm32f2xx.c - - - - EWARM - - $PROJ_DIR$\..\..\..\Libraries\CMSIS\Device\ST\STM32F2xx\Source\Templates\iar\startup_stm32f2xx.s - - - - STM32_EVAL - - $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval.c - - - $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval_fsmc_sram.c - - - $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval_ioe.c - - - $PROJ_DIR$\..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval_lcd.c - - - - STM32F2xx_StdPeriph_Driver - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\misc.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_adc.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_can.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_crc.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_aes.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_des.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_tdes.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dac.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dbgmcu.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dcmi.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dma.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_exti.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_flash.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_fsmc.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_gpio.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_md5.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_sha1.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_i2c.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_iwdg.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_pwr.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rcc.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rng.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rtc.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_sdio.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_spi.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_syscfg.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_tim.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_usart.c - - - $PROJ_DIR$\..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_wwdg.c - - - - User - - $PROJ_DIR$\..\main.c - - - $PROJ_DIR$\..\stm32f2xx_it.c - - - - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/Project.eww b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/Project.eww deleted file mode 100644 index b71bdbfb2..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/Project.eww +++ /dev/null @@ -1,10 +0,0 @@ - - - - - $WS_DIR$\Project.ewp - - - - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/readme.txt deleted file mode 100644 index b5dac7472..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/readme.txt +++ /dev/null @@ -1,64 +0,0 @@ -/** - @page ewarm EWARM Project Template for STM32F2xx devices - - @verbatim - ******************* (C) COPYRIGHT 2012 STMicroelectronics ******************** - * @file readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This sub-directory contains all the user-modifiable files needed to - * create a new project linked with the STM32F2xx Standard Peripherals - * Library and working with IAR Embedded Workbench for ARM (EWARM) - * software toolchain. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - - @par Directory contents - - - project .ewd/.eww/.ewp: A pre-configured project file with the provided library - structure that produces an executable image with IAR - Embedded Workbench. - - - stm32f2xx_flash.icf : This file is the IAR Linker configuration file used to - place program code (readonly) in internal FLASH and data - (readwrite, Stack and Heap)in internal SRAM. - You can customize this file to your need. - - - stm32f2xx_flash_extsram.icf: This file is the IAR Linker configuration file - used to place program code (readonly) in internal - FLASH and data (readwrite, Stack and Heap)in - external SRAM. You can customize this file to your need. - - - stm32f2xx_ram.icf: This file is the IAR Linker configuration file used to - place program code (readonly) and data (readwrite, Stack - and Heap)in internal SRAM. - You can customize this file to your need. - - @par How to use it ? - - - Open the Project.eww workspace. - - Rebuild all files: Project->Rebuild all - - Load project image: Project->Download and Debug - - Run program: Debug->Go(F5) - - @note The needed define symbols for this config are already declared in the - preprocessor section: USE_STM322xG_EVAL, STM32F2XX, USE_STDPERIPH_DRIVER - - - *

© COPYRIGHT STMicroelectronics

- */ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/stm32f2xx_flash.icf b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/stm32f2xx_flash.icf deleted file mode 100644 index 4f4f7bf4a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/stm32f2xx_flash.icf +++ /dev/null @@ -1,31 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ -/*-Specials-*/ -define symbol __ICFEDIT_intvec_start__ = 0x08000000; -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; -define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; -define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; -define symbol __ICFEDIT_region_RAM_end__ = 0x20020000; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x400; -define symbol __ICFEDIT_size_heap__ = 0x200; -/**** End of ICF editor section. ###ICF###*/ - - -define memory mem with size = 4G; -define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; -define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; - -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; - -place in ROM_region { readonly }; -place in RAM_region { readwrite, - block CSTACK, block HEAP }; diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/stm32f2xx_flash_extsram.icf b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/stm32f2xx_flash_extsram.icf deleted file mode 100644 index e09a45a03..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/stm32f2xx_flash_extsram.icf +++ /dev/null @@ -1,31 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ -/*-Specials-*/ -define symbol __ICFEDIT_intvec_start__ = 0x08000000; -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; -define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF; -define symbol __ICFEDIT_region_RAM_start__ = 0x64000000; -define symbol __ICFEDIT_region_RAM_end__ = 0x640FFFFF; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x400; -define symbol __ICFEDIT_size_heap__ = 0x200; -/**** End of ICF editor section. ###ICF###*/ - - -define memory mem with size = 4G; -define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; -define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; /* EXTSRAM_region */ - -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; - -place in ROM_region { readonly }; -place in RAM_region { readwrite, - block CSTACK, block HEAP }; diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/stm32f2xx_sram.icf b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/stm32f2xx_sram.icf deleted file mode 100644 index df159b539..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/EWARM/stm32f2xx_sram.icf +++ /dev/null @@ -1,31 +0,0 @@ -/*###ICF### Section handled by ICF editor, don't touch! ****/ -/*-Editor annotation file-*/ -/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ -/*-Specials-*/ -define symbol __ICFEDIT_intvec_start__ = 0x20000000; -/*-Memory Regions-*/ -define symbol __ICFEDIT_region_ROM_start__ = 0x20000000; -define symbol __ICFEDIT_region_ROM_end__ = 0x2000FFFF; -define symbol __ICFEDIT_region_RAM_start__ = 0x20010000; -define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; -/*-Sizes-*/ -define symbol __ICFEDIT_size_cstack__ = 0x400; -define symbol __ICFEDIT_size_heap__ = 0x200; -/**** End of ICF editor section. ###ICF###*/ - - -define memory mem with size = 4G; -define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; -define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; - -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; - -initialize by copy { readwrite }; -do not initialize { section .noinit }; - -place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; - -place in ROM_region { readonly }; -place in RAM_region { readwrite, - block CSTACK, block HEAP }; diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/MDK-ARM/Project.uvopt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/MDK-ARM/Project.uvopt deleted file mode 100644 index 8b72f3ab6..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/MDK-ARM/Project.uvopt +++ /dev/null @@ -1,800 +0,0 @@ - - - - 1.0 - -
### uVision Project, (C) Keil Software
- - - *.c - *.s*; *.src; *.a* - *.obj - *.lib - *.txt; *.h; *.inc - *.plm - *.cpp - - - - 0 - 0 - - - - STM322xG_EVAL - 0x4 - ARM-ADS - - 25000000 - - 1 - 0 - 1 - 0 - - - 1 - 65535 - 0 - 0 - 0 - - - 79 - 66 - 8 - .\STM322xG_EVAL\ - - - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 0 - 0 - 0 - 0 - - - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - - - 1 - 0 - 1 - - 255 - - - 0 - Reference Manual - DATASHTS\ST\STM32F20x.PDF - - - - SARMCM3.DLL - -MPU - DARMSTM.DLL - -pSTM32F207IG - SARMCM3.DLL - -MPU - TARMSTM.DLL - -pSTM32F207IG - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 0 - 0 - 1 - - - - - - - - - - - BIN\UL2CM3.DLL - - - - 0 - DLGTARM - (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0) - - - 0 - ARMDBGFLAGS - - - - 0 - DLGUARM - (105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0) - - - 0 - UL2CM3 - -UV0250S9E -O2255 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC5000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 - - - - - 1 - 2 - 0x40021000 - - - - - 2 - 2 - 0x40013800 - - - - - 3 - 2 - 0xE000E100 - - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - - - User - 1 - 0 - 0 - - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 108 - 118 - 0 - ..\main.c - main.c - - - 1 - 2 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\stm32f2xx_it.c - stm32f2xx_it.c - - - - - STM32_EVAL - 1 - 0 - 0 - - 2 - 3 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval_fsmc_sram.c - stm322xg_eval_fsmc_sram.c - - - 2 - 4 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval_ioe.c - stm322xg_eval_ioe.c - - - 2 - 5 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval_lcd.c - stm322xg_eval_lcd.c - - - 2 - 6 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval.c - stm322xg_eval.c - - - - - STM32F2xx_StdPeriph_Driver - 0 - 0 - 0 - - 3 - 7 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\misc.c - misc.c - - - 3 - 8 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_adc.c - stm32f2xx_adc.c - - - 3 - 9 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_can.c - stm32f2xx_can.c - - - 3 - 10 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_crc.c - stm32f2xx_crc.c - - - 3 - 11 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp.c - stm32f2xx_cryp.c - - - 3 - 12 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_aes.c - stm32f2xx_cryp_aes.c - - - 3 - 13 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_des.c - stm32f2xx_cryp_des.c - - - 3 - 14 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_tdes.c - stm32f2xx_cryp_tdes.c - - - 3 - 15 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dac.c - stm32f2xx_dac.c - - - 3 - 16 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dbgmcu.c - stm32f2xx_dbgmcu.c - - - 3 - 17 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dcmi.c - stm32f2xx_dcmi.c - - - 3 - 18 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dma.c - stm32f2xx_dma.c - - - 3 - 19 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_exti.c - stm32f2xx_exti.c - - - 3 - 20 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_flash.c - stm32f2xx_flash.c - - - 3 - 21 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_fsmc.c - stm32f2xx_fsmc.c - - - 3 - 22 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_gpio.c - stm32f2xx_gpio.c - - - 3 - 23 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash.c - stm32f2xx_hash.c - - - 3 - 24 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_md5.c - stm32f2xx_hash_md5.c - - - 3 - 25 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_sha1.c - stm32f2xx_hash_sha1.c - - - 3 - 26 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_i2c.c - stm32f2xx_i2c.c - - - 3 - 27 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_iwdg.c - stm32f2xx_iwdg.c - - - 3 - 28 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_pwr.c - stm32f2xx_pwr.c - - - 3 - 29 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rcc.c - stm32f2xx_rcc.c - - - 3 - 30 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rng.c - stm32f2xx_rng.c - - - 3 - 31 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rtc.c - stm32f2xx_rtc.c - - - 3 - 32 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_sdio.c - stm32f2xx_sdio.c - - - 3 - 33 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_spi.c - stm32f2xx_spi.c - - - 3 - 34 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_syscfg.c - stm32f2xx_syscfg.c - - - 3 - 35 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_tim.c - stm32f2xx_tim.c - - - 3 - 36 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_usart.c - stm32f2xx_usart.c - - - 3 - 37 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_wwdg.c - stm32f2xx_wwdg.c - - - - - CMSIS - 1 - 0 - 0 - - 4 - 38 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\system_stm32f2xx.c - system_stm32f2xx.c - - - - - MDK-ARM - 1 - 0 - 0 - - 5 - 39 - 2 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - ..\..\..\Libraries\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f2xx.s - startup_stm32f2xx.s - - - - - 1 - 0 - - 100 - 0 - - - ..\main.c - 0 - 108 - 118 - - - - - -
diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/MDK-ARM/Project.uvproj b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/MDK-ARM/Project.uvproj deleted file mode 100644 index 801a1151d..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/MDK-ARM/Project.uvproj +++ /dev/null @@ -1,610 +0,0 @@ - - - - 1.1 - -
### uVision Project, (C) Keil Software
- - - - STM322xG_EVAL - 0x4 - ARM-ADS - - - STM32F207IG - STMicroelectronics - IRAM(0x20000000-0x2001FFFF) IROM(0x8000000-0x80FFFFF) CLOCK(25000000) CPUTYPE("Cortex-M3") - - "STARTUP\ST\STM32F2xx\startup_stm32f2xx.s" ("STM32F2xx Startup Code") - UL2CM3(-O207 -S0 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000) - 5124 - stm32f2xx.h - - - - - - - - - - SFD\ST\STM32F2xx\STM32F2xx.sfr - 0 - - - - ST\STM32F2xx\ - ST\STM32F2xx\ - - 0 - 0 - 0 - 0 - 1 - - .\STM322xG_EVAL\ - STM322xG_EVAL - 1 - 0 - 0 - 1 - 1 - .\STM322xG_EVAL\ - 1 - 0 - 0 - - 0 - 0 - - - 0 - 0 - - - 0 - 0 - - - 0 - 0 - - - 0 - 0 - - - 0 - 0 - - 0 - - - - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 3 - - - - - SARMCM3.DLL - -MPU - DARMSTM.DLL - -pSTM32F207IG - SARMCM3.DLL - -MPU - TARMSTM.DLL - -pSTM32F207IG - - - - 1 - 0 - 0 - 0 - 16 - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - - - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - - 0 - 1 - - - - - - - - - - - - - - BIN\UL2CM3.DLL - - - - - 1 - 0 - 0 - 1 - 1 - 4096 - - BIN\UL2CM3.DLL - "" () - - - - - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 1 - 1 - 0 - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - "Cortex-M3" - - 0 - 0 - 0 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 8 - 1 - 0 - 0 - 3 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 1 - 0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x20000000 - 0x20000 - - - 1 - 0x8000000 - 0x100000 - - - 0 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x0 - 0x0 - - - 1 - 0x8000000 - 0x100000 - - - 1 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x0 - 0x0 - - - 0 - 0x20000000 - 0x20000 - - - 0 - 0x0 - 0x0 - - - - - - 1 - 4 - 0 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 2 - 0 - - - USE_STM322xG_EVAL, STM32F2XX, USE_STDPERIPH_DRIVER - - ..\;..\..\..\Libraries\CMSIS\Device\ST\STM32F2xx\Include;..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\inc;..\..\..\Utilities\STM32_EVAL\Common;..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL - - - - 1 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - - - - - 1 - 0 - 0 - 0 - 1 - 0 - 0x08000000 - 0x20000000 - - - - - - - - - - - - User - - - main.c - 1 - ..\main.c - - - stm32f2xx_it.c - 1 - ..\stm32f2xx_it.c - - - - - STM32_EVAL - - - stm322xg_eval_fsmc_sram.c - 1 - ..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval_fsmc_sram.c - - - stm322xg_eval_ioe.c - 1 - ..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval_ioe.c - - - stm322xg_eval_lcd.c - 1 - ..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval_lcd.c - - - stm322xg_eval.c - 1 - ..\..\..\Utilities\STM32_EVAL\STM322xG_EVAL\stm322xg_eval.c - - - - - STM32F2xx_StdPeriph_Driver - - - misc.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\misc.c - - - stm32f2xx_adc.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_adc.c - - - stm32f2xx_can.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_can.c - - - stm32f2xx_crc.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_crc.c - - - stm32f2xx_cryp.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp.c - - - stm32f2xx_cryp_aes.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_aes.c - - - stm32f2xx_cryp_des.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_des.c - - - stm32f2xx_cryp_tdes.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_cryp_tdes.c - - - stm32f2xx_dac.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dac.c - - - stm32f2xx_dbgmcu.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dbgmcu.c - - - stm32f2xx_dcmi.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dcmi.c - - - stm32f2xx_dma.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_dma.c - - - stm32f2xx_exti.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_exti.c - - - stm32f2xx_flash.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_flash.c - - - stm32f2xx_fsmc.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_fsmc.c - - - stm32f2xx_gpio.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_gpio.c - - - stm32f2xx_hash.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash.c - - - stm32f2xx_hash_md5.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_md5.c - - - stm32f2xx_hash_sha1.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_hash_sha1.c - - - stm32f2xx_i2c.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_i2c.c - - - stm32f2xx_iwdg.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_iwdg.c - - - stm32f2xx_pwr.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_pwr.c - - - stm32f2xx_rcc.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rcc.c - - - stm32f2xx_rng.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rng.c - - - stm32f2xx_rtc.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_rtc.c - - - stm32f2xx_sdio.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_sdio.c - - - stm32f2xx_spi.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_spi.c - - - stm32f2xx_syscfg.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_syscfg.c - - - stm32f2xx_tim.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_tim.c - - - stm32f2xx_usart.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_usart.c - - - stm32f2xx_wwdg.c - 1 - ..\..\..\Libraries\STM32F2xx_StdPeriph_Driver\src\stm32f2xx_wwdg.c - - - - - CMSIS - - - system_stm32f2xx.c - 1 - ..\system_stm32f2xx.c - - - - - MDK-ARM - - - startup_stm32f2xx.s - 2 - ..\..\..\Libraries\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f2xx.s - - - - - - - -
diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/MDK-ARM/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/MDK-ARM/readme.txt deleted file mode 100644 index c233650ec..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/MDK-ARM/readme.txt +++ /dev/null @@ -1,53 +0,0 @@ -/** - @page mdkarm MDK-ARM Project Template for STM32F2xx devices - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This sub-directory contains all the user-modifiable files needed to - * create a new project linked with the STM32F2xx Standard Peripherals - * Library and working with RealView Microcontroller Development Kit - * (MDK-ARM) software toolchain. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - - @par Directory contents - - - Project.uvproj/.uvopt: A pre-configured project file with the provided library - structure that produces an executable image with MDK-ARM. - -@note Enabling "Options for Target — Output – Browser Information" is useful for - quick source files navigation but may slow the compilation time. - - - @par How to use it ? - - - Open the Project.uvproj project - - Rebuild all files: Project->Rebuild all target files - - Load project image: Debug->Start/Stop Debug Session - - Run program: Debug->Run (F5) - - @note The needed define symbols for this config are already declared in the - preprocessor section: USE_STM322xG_EVAL, STM32F2XX, USE_STDPERIPH_DRIVER - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/Project.rapp b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/Project.rapp deleted file mode 100644 index 56081ee8f..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/Project.rapp +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
-
- - - - -
- -
- -
- - -
-
- - -
- -
- -
- - -
- -
- -
- - - -
-
- - -
- -
- -
- - -
- - - - -
- -
- -
- - -
-
- - -
- -
- -
- - -
-
- - -
-
- - -
- -
- -
- - - -
-
- - - - -
- -
- -
- - -
- -
-
-
-
\ No newline at end of file diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/Project.rprj b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/Project.rprj deleted file mode 100644 index 7e5c81b0a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/Project.rprj +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/readme.txt deleted file mode 100644 index 683d8ee89..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/readme.txt +++ /dev/null @@ -1,54 +0,0 @@ -/** - @page ride RIDE Project Template for STM32F2xx devices - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This sub-directory contains all the user-modifiable files needed to - * create a new project linked with the STM32F2xx Standard Peripherals - * Library and working with RIDE7 software toolchain. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - - @par Directory contents - - - project .rprj/.rapp: A pre-configured project file with the provided library - structure that produces an executable image with RIDE7. - - - stm32f2xx_flash_extsram.ld: This file is the RAISONANCE linker script used to - place program code (readonly) in internal FLASH and - data (readwrite, Stack and Heap)in external SRAM. - You can customize this file to your need. - - @par How to use it ? - - - Open the Project.rprj project. - - Rebuild all files: Project->build project - - Load project image: Debug->start(ctrl+D) - - Run program: Debug->Run(ctrl+F9) - - @note The needed define symbols for this config are already declared in the - preprocessor section: USE_STM322xG_EVAL, STM32F2XX, USE_STDPERIPH_DRIVER - - - *

© COPYRIGHT STMicroelectronics

- */ - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/stm32f2xx_flash_extsram.ld b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/stm32f2xx_flash_extsram.ld deleted file mode 100644 index b988d4460..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/RIDE/stm32f2xx_flash_extsram.ld +++ /dev/null @@ -1,240 +0,0 @@ -/* -Linker script for STM32F2xx_1024K_128K -*/ - -/* include the common STM32F2xx sub-script */ - -/* Common part of the linker scripts for STM32 devices*/ - - -/* default stack sizes. -These are used by the startup in order to allocate stacks for the different modes. -*/ - -__Stack_Size = 1024 ; - -PROVIDE ( _Stack_Size = __Stack_Size ) ; - -__Stack_Init = _estack - __Stack_Size ; - -/*"PROVIDE" allows to easily override these values from an object file or the commmand line.*/ -PROVIDE ( _Stack_Init = __Stack_Init ) ; - -/* -There will be a link error if there is not this amount of RAM free at the end. -*/ -_Minimum_Stack_Size = 0x100 ; - - -/* include the memory spaces definitions sub-script */ -/* -Linker subscript for STM32F2xx definitions with 1024K Flash and 1024K External SRAM */ - -/* Memory Spaces Definitions */ - -MEMORY -{ - RAM (xrw) : ORIGIN = 0x64000000, LENGTH = 1024K - FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K - FLASHB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB0 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB2 (rx) : ORIGIN = 0x00000000, LENGTH = 0 - EXTMEMB3 (rx) : ORIGIN = 0x00000000, LENGTH = 0 -} - -/* higher address of the user mode stack */ -_estack = 0x64100000; - - - -/* include the sections management sub-script for FLASH mode */ - -/* Sections Definitions */ - -SECTIONS -{ - /* for Cortex devices, the beginning of the startup code is stored in the .isr_vector section, which goes to FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* for some STRx devices, the beginning of the startup code is stored in the .flashtext section, which goes to FLASH */ - .flashtext : - { - . = ALIGN(4); - *(.flashtext) /* Startup code */ - . = ALIGN(4); - } >FLASH - - - /* the program code is stored in the .text section, which goes to Flash */ - .text : - { - . = ALIGN(4); - - *(.text) /* remaining code */ - *(.text.*) /* remaining code */ - *(.rodata) /* read-only data (constants) */ - *(.rodata*) - *(.glue_7) - *(.glue_7t) - - . = ALIGN(4); - _etext = .; - /* This is used by the startup in order to initialize the .data secion */ - _sidata = _etext; - } >FLASH - - - - /* This is the initialized data section - The program executes knowing that the data is in the RAM - but the loader puts the initial values in the FLASH (inidata). - It is one task of the startup to copy the initial values from FLASH to RAM. */ - .data : AT ( _sidata ) - { - . = ALIGN(4); - /* This is used by the startup in order to initialize the .data secion */ - _sdata = . ; - - *(.data) - *(.data.*) - - . = ALIGN(4); - /* This is used by the startup in order to initialize the .data secion */ - _edata = . ; - } >RAM - - - - /* This is the uninitialized data section */ - .bss : - { - . = ALIGN(4); - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; - - *(.bss) - *(COMMON) - - . = ALIGN(4); - /* This is used by the startup in order to initialize the .bss secion */ - _ebss = . ; - } >RAM - - PROVIDE ( end = _ebss ); - PROVIDE ( _end = _ebss ); - - /* This is the user stack section - This is just to check that there is enough RAM left for the User mode stack - It should generate an error if it's full. - */ - ._usrstack : - { - . = ALIGN(4); - _susrstack = . ; - - . = . + _Minimum_Stack_Size ; - - . = ALIGN(4); - _eusrstack = . ; - } >RAM - - - - /* this is the FLASH Bank1 */ - /* the C or assembly source must explicitly place the code or data there - using the "section" attribute */ - .b1text : - { - *(.b1text) /* remaining code */ - *(.b1rodata) /* read-only data (constants) */ - *(.b1rodata*) - } >FLASHB1 - - /* this is the EXTMEM */ - /* the C or assembly source must explicitly place the code or data there - using the "section" attribute */ - - /* EXTMEM Bank0 */ - .eb0text : - { - *(.eb0text) /* remaining code */ - *(.eb0rodata) /* read-only data (constants) */ - *(.eb0rodata*) - } >EXTMEMB0 - - /* EXTMEM Bank1 */ - .eb1text : - { - *(.eb1text) /* remaining code */ - *(.eb1rodata) /* read-only data (constants) */ - *(.eb1rodata*) - } >EXTMEMB1 - - /* EXTMEM Bank2 */ - .eb2text : - { - *(.eb2text) /* remaining code */ - *(.eb2rodata) /* read-only data (constants) */ - *(.eb2rodata*) - } >EXTMEMB2 - - /* EXTMEM Bank0 */ - .eb3text : - { - *(.eb3text) /* remaining code */ - *(.eb3rodata) /* read-only data (constants) */ - *(.eb3rodata*) - } >EXTMEMB3 - - - - /* after that it's only debugging information. */ - - /* remove the debugging information from the standard libraries */ - DISCARD : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - /* DWARF debug sections. - Symbols in the DWARF debugging sections are relative to the beginning - of the section so we begin them at 0. */ - /* DWARF 1 */ - .debug 0 : { *(.debug) } - .line 0 : { *(.line) } - /* GNU DWARF 1 extensions */ - .debug_srcinfo 0 : { *(.debug_srcinfo) } - .debug_sfnames 0 : { *(.debug_sfnames) } - /* DWARF 1.1 and DWARF 2 */ - .debug_aranges 0 : { *(.debug_aranges) } - .debug_pubnames 0 : { *(.debug_pubnames) } - /* DWARF 2 */ - .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } - .debug_abbrev 0 : { *(.debug_abbrev) } - .debug_line 0 : { *(.debug_line) } - .debug_frame 0 : { *(.debug_frame) } - .debug_str 0 : { *(.debug_str) } - .debug_loc 0 : { *(.debug_loc) } - .debug_macinfo 0 : { *(.debug_macinfo) } - /* SGI/MIPS DWARF 2 extensions */ - .debug_weaknames 0 : { *(.debug_weaknames) } - .debug_funcnames 0 : { *(.debug_funcnames) } - .debug_typenames 0 : { *(.debug_typenames) } - .debug_varnames 0 : { *(.debug_varnames) } -} diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/Release_Notes.html b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/Release_Notes.html deleted file mode 100644 index d2682e0d3..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/Release_Notes.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -Release Notes for STM32F2xx Standard Peripherals Library Template - - - - - -
-


-

-
- - - - - - -
- - - - - - - - - -
Back to Release page
-

Release -Notes for STM32F2xx Standard Peripherals Library Template

-

Copyright 2012 STMicroelectronics

-

-
-

 

- - - - - - -
-

Contents

-
    -
  1. STM32F2xx Standard Peripherals Library -Template -update History
  2. -
  3. License
  4. -
- - -

STM32F2xx Standard -Peripherals Library Template update History

V1.1.0 / 13-April-2012

Main -Changes

-
  • All source files: license disclaimer text update and add link to the License file on ST Internet.
  • Update -template projects to use the latest version of the supported toolchains -(for more details refer to the Library's main release notes)
  • Update template projects to be in line with changes made on latest version of the STM32F2xx CMSIS V1.1.0 and STM322xG-EVAL drivers V5.0.0
    • Changes to be in line with STM32F2xx CMSIS V1.1.0: the update are due to modification on the folder organization (to be in line with CMSIS standard V2.1)
      • In the project complier preprocessor, update STM32F2xx CMSIS include folder path to "Libraries\CMSIS\Device\ST\STM32F2xx\Include" instead of "Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx"
      • In the project files, remove core_cm3.c file
      • In the project files, update path of startup_stm32f2xx.s file to "Libraries\CMSIS\Device\ST\STM32F2xx\Source\Templates\'compiler'" instead of "Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F2xx\startup\'compiler'"
    • Changes to be in line with STM322xG-EVAL drivers V5.0.0: the update are due to modification on the EVAL drivers architecture and folder organization (for more details refer to STM322xG-EVAL drivers release notes)
      • In the project files, remove stm32_eval.c\.h files
      • In the project files, add the EVAL board driver source file "stm322xg_eval.c" instead of "stm32_eval.c"
      • main.c: include the EVAL board driver header file #include "stm322xg_eval.h" instead of #include "stm32_eval.h"

V1.0.0 / 18-April-2011

Main -Changes

-
  • First official release for STM32F2xx devices
- -
    - -
-

License

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this package except in compliance with the License. You may obtain a copy of the License at:


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.
- -
-
-

For - complete documentation on STM32 - Microcontrollers visit www.st.com/STM32

-
-

-
-
-

 

-
- \ No newline at end of file diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/.cproject b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/.cproject deleted file mode 100644 index 1f46f867c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/.cproject +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TASKING VX-toolset for ARM Cortex: control program v4.2r1 Build 118 - TASKING VX-toolset for ARM Cortex: assembler v4.2r1 Build 141 - TASKING VX-toolset for ARM Cortex: object linker (TRIAL VERS v4.2r1 Build 135 - TASKING VX-toolset for ARM Cortex: C compiler (TRIAL VERSION v4.2r1 Build 652 - TASKING program builder v4.2r1 Build 063 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/.project b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/.project deleted file mode 100644 index dfae19462..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/.project +++ /dev/null @@ -1,232 +0,0 @@ - - - STM322xG-EVAL - - - - - - com.tasking.arm.TskManagedBuilder - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - com.tasking.arm.target - - - - CMSIS - 2 - WORKSPACE_LOC/.metadata/Link - - - STM32F2xx_StdPeriph_Driver - 2 - WORKSPACE_LOC/.metadata/Link - - - STM32_EVAL - 2 - WORKSPACE_LOC/.metadata/Link - - - User - 2 - WORKSPACE_LOC/.metadata/Link - - - CMSIS/system_stm32f2xx.c - 1 - PARENT-2-PROJECT_LOC/system_stm32f2xx.c - - - STM32F2xx_StdPeriph_Driver/misc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/misc.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_adc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_adc.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_can.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_can.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_crc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_crc.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_cryp.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_cryp_aes.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_aes.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_cryp_des.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_des.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_cryp_tdes.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_tdes.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_dac.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dac.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_dbgmcu.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dbgmcu.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_dcmi.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dcmi.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_dma.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dma.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_exti.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_exti.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_flash.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_flash.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_fsmc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_fsmc.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_gpio.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_gpio.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_hash.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_hash_md5.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash_md5.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_hash_sha1.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash_sha1.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_i2c.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_i2c.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_iwdg.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_iwdg.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_pwr.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_pwr.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_rcc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rcc.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_rng.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rng.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_rtc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rtc.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_sdio.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_sdio.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_spi.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_spi.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_syscfg.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_syscfg.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_tim.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_tim.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_usart.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_usart.c - - - STM32F2xx_StdPeriph_Driver/stm32f2xx_wwdg.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_wwdg.c - - - STM32_EVAL/stm322xg_eval.c - 1 - PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM322xG_EVAL/stm322xg_eval.c - - - STM32_EVAL/stm322xg_eval_fsmc_sram.c - 1 - PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM322xG_EVAL/stm322xg_eval_fsmc_sram.c - - - STM32_EVAL/stm322xg_eval_ioe.c - 1 - PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM322xG_EVAL/stm322xg_eval_ioe.c - - - STM32_EVAL/stm322xg_eval_lcd.c - 1 - PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM322xG_EVAL/stm322xg_eval_lcd.c - - - User/main.c - 1 - PARENT-2-PROJECT_LOC/main.c - - - User/stm32f2xx_it.c - 1 - PARENT-2-PROJECT_LOC/stm32f2xx_it.c - - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/STM322xG-EVAL.board.launch b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/STM322xG-EVAL.board.launch deleted file mode 100644 index ace9b6343..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/STM322xG-EVAL.board.launch +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/TASKING/stm32f2xx.lsl b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/TASKING/stm32f2xx.lsl deleted file mode 100644 index 0e4a7f354..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/STM322xG-EVAL/TASKING/stm32f2xx.lsl +++ /dev/null @@ -1,221 +0,0 @@ -//////////////////////////////////////////////////////////////////////////// -// -// File : stm32f2xx.lsl -// -// Version : @(#)stm32f2xx.lsl 1.1 10/11/03 -// -// Description : LSL file for the STMicroelectronics STM32F2xx -// -// Copyright 2010 Altium BV -// -// Macros specific to control this LSL file -// -// __MEMORY Define this macro to suppress definition of on-chip -// memory. Must be defined when you want to define on-chip -// in your project's LSL file. -// __FLASH_SIZE Specifies the size of flash memory to be allocated -// __SRAM_SIZE Specifies the size of the SRAM memory to be allocated -// __NO_DEFAULT_AUTO_VECTORS -// When enabled the interrup vector table will not be -// generated -// __COPY_VECTOR_TABLE Define this macro to enable copying the vector table -// at startup from ROM to RAM -// __VECTOR_TABLE_RAM_COPY -// Define this macro to enable copying the vector table -// at startup from ROM to RAM. It is also required to -// define the macro __VECTOR_TABLE_RAM_SPACE -// __VECTOR_TABLE_RAM_SPACE -// Define size of the RAM space for the vector table when -// it is copied from ROM to RAM -// __VECTOR_TABLE_ROM_ADDR -// Specify the vector table address in ROM -// __VECTOR_TABLE_RAM_ADDR -// Specify the vector table address in RAM when the the -// it is copied from ROM to RAM (__COPY_VECTOR_TABLE) -// -// See arm_arch.lsl for more available macros. -// -// Notes: -// In the STM32F2xx, 3 different boot modes can be selected -// - User Flash memory is selected as boot space -// - SystemMemory is selected as boot space -// - Embedded SRAM is selected as boot space -// -// This aliases the physical memory associated with each boot mode to Block -// 000 (0x00000000 boot memory). Even when aliased in the boot memory space, -// the related memory (Flash memory or SRAM) is still accessible at its -// original memory space. -// -//////////////////////////////////////////////////////////////////////////// - -#ifndef __NO_DEFAULT_AUTO_VECTORS -// Suppress the vectors as defined arm_arch.lsl, because we define our -// own vectors for CMIS -#define __CMSIS_VECTORS 1 -#define __NO_DEFAULT_AUTO_VECTORS 1 -#define __NR_OF_VECTORS 97 -#endif - -#ifndef __VECTOR_TABLE_ROM_ADDR -# define __VECTOR_TABLE_ROM_ADDR 0x08000000 -#endif - -#ifndef __VECTOR_TABLE_RAM_ADDR -# define __VECTOR_TABLE_RAM_ADDR 0x00000000 -#endif - - -#ifndef __STACK -# define __STACK 4k -#endif - -#ifndef __HEAP -# define __HEAP 2k -#endif - -#include - -// -// If no memory is defined yet use the following memory settings -// -#ifndef __MEMORY - -// Specify default size for Flash and SRAM -#ifndef __FLASH_SIZE -# define __FLASH_SIZE 1024k -#endif -#ifndef __SRAM_SIZE -# define __SRAM_SIZE 128k -#endif - -memory STM32F2xx_Flash -{ - mau = 8; - type = rom; - size = __FLASH_SIZE; - map ( size = __FLASH_SIZE, dest_offset=0x08000000, dest=bus:ARM:local_bus); -} - -memory STM32F2xx_SRAM -{ - mau = 8; - type = ram; - size = __SRAM_SIZE; - map ( size = __SRAM_SIZE, dest_offset=0x20000000, dest=bus:ARM:local_bus); -} - -#endif /* __MEMORY */ - - -// -// Define the vector table for CMSIS -// -#ifdef __CMSIS_VECTORS -section_setup ::linear -{ - // vector table with handler addresses - vector_table "vector_table" ( vector_size = 4, size = __NR_OF_VECTORS, run_addr = __VECTOR_TABLE_ROM_ADDR, - template = ".text.handler_address", - template_symbol = "_lc_vector_handler", - vector_prefix = "_vector_", - fill = loop, - no_inline - ) - { - vector ( id = 0, fill = "_lc_ub_stack" ); // Top of Stack - vector ( id = 1, fill = "_START" ); // Reset Handler - vector ( id = 2, optional, fill = "NMI_Handler" ); // NMI Handler - vector ( id = 3, optional, fill = "HardFault_Handler" ); // Hard Fault Handler - vector ( id = 4, optional, fill = "MemManage_Handler" ); // MPU Fault Handler - vector ( id = 5, optional, fill = "BusFault_Handler" ); // Bus Fault Handler - vector ( id = 6, optional, fill = "UsageFault_Handler" ); // Usage Fault Handler - vector ( id = 11, optional, fill = "SVC_Handler" ); // SVCall Handler - vector ( id = 12, optional, fill = "DebugMon_Handler" ); // Debug Monitor Handler - vector ( id = 14, optional, fill = "PendSV_Handler" ); // PendSV Handler - vector ( id = 15, optional, fill = "SysTick_Handler" ); // SysTick Handler - - // External Interrupts : - vector ( id = 16, optional, fill = "WWDG_IRQHandler" ); // Window Watchdog - vector ( id = 17, optional, fill = "PVD_IRQHandler" ); // PVD through EXTI Line detect - vector ( id = 18, optional, fill = "TAMPER_STAMP_IRQHandler" ); // Tamper amd TimeStanp through EXTI - vector ( id = 19, optional, fill = "RTC_WKUP_IRQHandler" ); // RTC Wakeup through the EXTI line - vector ( id = 20, optional, fill = "FLASH_IRQHandler" ); // Flash global interrupt - vector ( id = 21, optional, fill = "RCC_IRQHandler" ); // RCC global interrupt - vector ( id = 22, optional, fill = "EXTI0_IRQHandler" ); // EXTI Line 0 interrupt - vector ( id = 23, optional, fill = "EXTI1_IRQHandler" ); // EXTI Line 1 interrupt - vector ( id = 24, optional, fill = "EXTI2_IRQHandler" ); // EXTI Line 2 interrupt - vector ( id = 25, optional, fill = "EXTI3_IRQHandler" ); // EXTI Line 3 interrupt - vector ( id = 26, optional, fill = "EXTI4_IRQHandler" ); // EXTI Line 4 interrupt - vector ( id = 27, optional, fill = "DMA1_Stream0_IRQHandler" ); // DMA1 Stream 0 interrupt - vector ( id = 28, optional, fill = "DMA1_Stream1_IRQHandler" ); // DMA1 Stream 1 interrupt - vector ( id = 29, optional, fill = "DMA1_Stream2_IRQHandler" ); // DMA1 Stream 2 interrupt - vector ( id = 30, optional, fill = "DMA1_Stream3_IRQHandler" ); // DMA1 Stream 3 interrupt - vector ( id = 31, optional, fill = "DMA1_Stream4_IRQHandler" ); // DMA1 Stream 4 interrupt - vector ( id = 32, optional, fill = "DMA1_Stream5_IRQHandler" ); // DMA1 Stream 5 interrupt - vector ( id = 33, optional, fill = "DMA1_Stream6_IRQHandler" ); // DMA1 Stream 6 interrupt - vector ( id = 34, optional, fill = "ADC_IRQHandler" ); // ADC_IRQHandler interrupts - vector ( id = 35, optional, fill = "CAN1_TX_IRQHandler" ); // CAN1 TX interrupts - vector ( id = 36, optional, fill = "CAN1_RX0_IRQHandler" ); // CAN1 RX0 interrupts - vector ( id = 37, optional, fill = "CAN1_RX1_IRQHandler" ); // CAN1 RX1 interrupt - vector ( id = 38, optional, fill = "CAN1_SCE_IRQHandler" ); // CAN1 SCE interrupt - vector ( id = 39, optional, fill = "EXTI9_5_IRQHandler" ); // EXTI Line 9..5 interrupts - vector ( id = 40, optional, fill = "TIM1_BRK_TIM9_IRQHandler" ); // TIM1 Break irq and TIM9 global interrupt - vector ( id = 41, optional, fill = "TIM1_UP_TIM10_IRQHandler" ); // TIM1 Update irq and TIM10 global interrupt - vector ( id = 42, optional, fill = "TIM1_TRG_COM_TIM11_IRQHandler" ); // TIM1 Trigger and Commutation irqs and TIM10 global irq - vector ( id = 43, optional, fill = "TIM1_CC_IRQHandler" ); // TIM1 Capture Compare - vector ( id = 44, optional, fill = "TIM2_IRQHandler" ); // TIM2 global interrupt - vector ( id = 45, optional, fill = "TIM3_IRQHandler" ); // TIM3 global interrupt - vector ( id = 46, optional, fill = "TIM4_IRQHandler" ); // TIM4 global interrupt - vector ( id = 47, optional, fill = "I2C1_EV_IRQHandler" ); // I2C1 Event - vector ( id = 48, optional, fill = "I2C1_ER_IRQHandler" ); // I2C1 Error - vector ( id = 49, optional, fill = "I2C2_EV_IRQHandler" ); // I2C2 Event - vector ( id = 50, optional, fill = "I2C2_ER_IRQHandler" ); // I2C2 Error - vector ( id = 51, optional, fill = "SPI1_IRQHandler" ); // SPI1 global interrupt - vector ( id = 52, optional, fill = "SPI2_IRQHandler" ); // SPI2 global interrupt - vector ( id = 53, optional, fill = "USART1_IRQHandler" ); // USART1 global interrupt - vector ( id = 54, optional, fill = "USART2_IRQHandler" ); // USART2 global interrupt - vector ( id = 55, optional, fill = "USART3_IRQHandler" ); // USART3 global interrupt - vector ( id = 56, optional, fill = "EXTI15_10_IRQHandler" ); // EXTI Line 15..10 interrupts - vector ( id = 57, optional, fill = "RTCAlarm_IRQHandler" ); // RTC Alarm through EXTI Line - vector ( id = 58, optional, fill = "OTG_FS_WKUP_IRQHandler" ); // USB On-The-Go FS Wakeup throught EXTI - vector ( id = 59, optional, fill = "TIM8_BRK_TIM12_IRQHandler" ); // TIM8 Break irq and TIM12 global irq - vector ( id = 60, optional, fill = "TIM8_UP_TIM13_IRQHandler" ); // TIM8 Update irq and TIM13 global irq - vector ( id = 61, optional, fill = "TIM8_TRG_COM_TIM14_IRQHandler" ); // TIM8 trigger and Comm. irqs and TIM14 global irq - vector ( id = 62, optional, fill = "TIM8_CC_IRQHandler" ); // TIM8 Capture Compare irq - vector ( id = 63, optional, fill = "DMA1_Stream7_IRQHandler" ); // DMA1 Stream7 global interrupt - vector ( id = 64, optional, fill = "FSMC_IRQHandler" ); // FSMC global interrupt - vector ( id = 65, optional, fill = "SDIO_IRQHandler" ); // SDIO global interrupt - vector ( id = 66, optional, fill = "TIM5_IRQHandler" ); // TIM5 global interrupt - vector ( id = 67, optional, fill = "SPI3_IRQHandler" ); // SPI3 global interrupt - vector ( id = 68, optional, fill = "UART4_IRQHandler" ); // UART4 global interrupt - vector ( id = 69, optional, fill = "UART5_IRQHandler" ); // UART5 global interrupt - vector ( id = 70, optional, fill = "TIM6_DAC_IRQHandler" ); // TIM6 glbl irq, DAC1 and DAC2 underrun err irqs - vector ( id = 71, optional, fill = "TIM7_IRQHandler" ); // TIM7 global interrupt - vector ( id = 72, optional, fill = "DMA2_Stream0_IRQHandler" ); // DMA2 Stream0 global interrupt - vector ( id = 73, optional, fill = "DMA2_Stream1_IRQHandler" ); // DMA2 Stream1 global interrupt - vector ( id = 74, optional, fill = "DMA2_Stream2_IRQHandler" ); // DMA2 Stream2 global interrupt - vector ( id = 75, optional, fill = "DMA2_Stream3_IRQHandler" ); // DMA2 Stream3 global interrupt - vector ( id = 76, optional, fill = "DMA2_Stream4_IRQHandler" ); // DMA2 Stream4 global interrupt - vector ( id = 77, optional, fill = "ETH_IRQHandler" ); // Ethernet global interrupt - vector ( id = 78, optional, fill = "ETH_WKUP_IRQHandler" ); // Ethernet Wakeup through EXTI line irq - vector ( id = 79, optional, fill = "CAN2_TX_IRQHandler" ); // CAN2 TX interrupts - vector ( id = 80, optional, fill = "CAN2_RX0_IRQHandler" ); // CAN2 RX0 interrupts - vector ( id = 81, optional, fill = "CAN2_RX1_IRQHandler" ); // CAN2 RX1 interrupt - vector ( id = 82, optional, fill = "CAN2_SCE_IRQHandler" ); // CAN2 SCE interrupt - vector ( id = 83, optional, fill = "OTG_FS_IRQHandler" ); // USB On The Go FS global interrupt - vector ( id = 84, optional, fill = "DMA2_Stream5_IRQHandler" ); // DMA2 Stream5 global interrupt - vector ( id = 85, optional, fill = "DMA2_Stream6_IRQHandler" ); // DMA2 Stream6 global interrupt - vector ( id = 86, optional, fill = "DMA2_Stream7_IRQHandler" ); // DMA2 Stream7 global interrupt - vector ( id = 87, optional, fill = "USART6_IRQHandler" ); // USART6 global interrupt - vector ( id = 88, optional, fill = "I2C3_EV_IRQHandler" ); // I2C3 event interrupt - vector ( id = 89, optional, fill = "I2C3_ER_IRQHandler" ); // I2C3 error interrupt - vector ( id = 90, optional, fill = "OTG_HS_EP1_OUT_IRQHandler" ); // USB On The Go HS End Point 1 OUT global irq - vector ( id = 91, optional, fill = "OTG_HS_EP1_IN_IRQHandler" ); // USB On The Go HS End Point 1 In global irq - vector ( id = 92, optional, fill = "OTG_HS_WKUP_IRQHandler" ); // USB On The Go HS Wakeup through EXTI irq - vector ( id = 93, optional, fill = "OTG_HS_IRQHandler" ); // USB On The Go HS global interrupt - vector ( id = 94, optional, fill = "DCMI_IRQHandler" ); // DCMI global interrupt - vector ( id = 95, optional, fill = "CRYP_IRQHandler" ); // CRYP crypto global interrupt - vector ( id = 96, optional, fill = "HASH_RNG_IRQHandler" ); // Hash and Rng global interrupt - } -} -#endif /* __CMSIS_VECTORS */ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/readme.txt deleted file mode 100644 index f0c3d5c7a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TASKING/readme.txt +++ /dev/null @@ -1,61 +0,0 @@ -/** - @page tasking TASKING Project Template for STM32F2xx devices - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This sub-directory contains all the user-modifiable files needed to - * create a new project linked with the STM32F2xx Standard Peripherals - * Library and working with TASKING VX-toolset for ARM Cortex-M. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - - @par Directory contents - - - .cproject/.project: A pre-configured project file with the provided library - structure that produces an executable image with TASKING. - -- TASKING : This folder contains - - - stm32f2xx.lsl : This file is TASKING linker script that contains the - STM32F2xx vector table and used to place program code (readonly) - in internal FLASH and data (readwrite, Stack and Heap)in - internal SRAM. - You can customize this file to your need. - - - @par How to use it ? - - - Open TASKING toolchain. - - Click on File->Import, select General->'Existing Projects into Workspace' - and then click "Next". - - Browse to TASKING workspace directory and select the project: - - STM322xG-EVAL: to configure the project for STM32F2xx devices. - - Rebuild all project files: Select the project in the "Project explorer" - window then click on Project->build project menu. - - Run program: Select the project in the "Project explorer" window then click - Run->Debug (F11) - - @note The needed define symbols for this config are already declared in the - preprocessor section: USE_STM322xG_EVAL, STM32F2XX, USE_STDPERIPH_DRIVER - - - *

© COPYRIGHT STMicroelectronics

- */ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/.cproject b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/.cproject deleted file mode 100644 index d6e8081fa..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/.cproject +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/.project b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/.project deleted file mode 100644 index d1c88377e..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/.project +++ /dev/null @@ -1,295 +0,0 @@ - - - STM322xG_EVAL - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - ?children? - ?name?=outputEntries\|?children?=?name?=entry\\\\\\\|\\\|\|| - - - ?name? - - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.buildArguments - - - - org.eclipse.cdt.make.core.buildCommand - make - - - org.eclipse.cdt.make.core.buildLocation - ${workspace_loc:/STM322xG_EVAL/Debug} - - - org.eclipse.cdt.make.core.contents - org.eclipse.cdt.make.core.activeConfigSettings - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.enableCleanBuild - true - - - org.eclipse.cdt.make.core.enableFullBuild - true - - - org.eclipse.cdt.make.core.stopOnError - true - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - true - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - - CMSIS - 2 - PARENT-4-PROJECT_LOC/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/.metadata/Link - - - STM322xG_EVAL - 2 - virtual:/virtual - - - StdPeriph_Driver - 2 - PARENT-4-PROJECT_LOC/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/.metadata/Link - - - TrueSTUDIO - 2 - PARENT-4-PROJECT_LOC/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/.metadata/Link - - - User - 2 - PARENT-4-PROJECT_LOC/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/.metadata/Link - - - CMSIS/system_stm32f2xx.c - 1 - PARENT-2-PROJECT_LOC/system_stm32f2xx.c - - - STM322xG_EVAL/stm322xg_eval.c - 1 - PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM322xG_EVAL/stm322xg_eval.c - - - STM322xG_EVAL/stm322xg_eval_fsmc_sram.c - 1 - PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM322xG_EVAL/stm322xg_eval_fsmc_sram.c - - - STM322xG_EVAL/stm322xg_eval_ioe.c - 1 - PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM322xG_EVAL/stm322xg_eval_ioe.c - - - STM322xG_EVAL/stm322xg_eval_lcd.c - 1 - PARENT-4-PROJECT_LOC/Utilities/STM32_EVAL/STM322xG_EVAL/stm322xg_eval_lcd.c - - - StdPeriph_Driver/STM32F2xx_adc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_adc.c - - - StdPeriph_Driver/STM32F2xx_can.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_can.c - - - StdPeriph_Driver/STM32F2xx_crc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_crc.c - - - StdPeriph_Driver/STM32F2xx_dac.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_dac.c - - - StdPeriph_Driver/STM32F2xx_dbgmcu.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_dbgmcu.c - - - StdPeriph_Driver/STM32F2xx_dma.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_dma.c - - - StdPeriph_Driver/STM32F2xx_exti.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_exti.c - - - StdPeriph_Driver/STM32F2xx_flash.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_flash.c - - - StdPeriph_Driver/STM32F2xx_fsmc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_fsmc.c - - - StdPeriph_Driver/STM32F2xx_gpio.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_gpio.c - - - StdPeriph_Driver/STM32F2xx_i2c.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_i2c.c - - - StdPeriph_Driver/STM32F2xx_iwdg.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_iwdg.c - - - StdPeriph_Driver/STM32F2xx_pwr.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_pwr.c - - - StdPeriph_Driver/STM32F2xx_rcc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_rcc.c - - - StdPeriph_Driver/STM32F2xx_rtc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_rtc.c - - - StdPeriph_Driver/STM32F2xx_sdio.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_sdio.c - - - StdPeriph_Driver/STM32F2xx_spi.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_spi.c - - - StdPeriph_Driver/STM32F2xx_tim.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_tim.c - - - StdPeriph_Driver/STM32F2xx_usart.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_usart.c - - - StdPeriph_Driver/STM32F2xx_wwdg.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/STM32F2xx_wwdg.c - - - StdPeriph_Driver/misc.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/misc.c - - - StdPeriph_Driver/stm32f2xx_cryp.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp.c - - - StdPeriph_Driver/stm32f2xx_cryp_aes.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_aes.c - - - StdPeriph_Driver/stm32f2xx_cryp_des.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_des.c - - - StdPeriph_Driver/stm32f2xx_cryp_tdes.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_cryp_tdes.c - - - StdPeriph_Driver/stm32f2xx_dcmi.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_dcmi.c - - - StdPeriph_Driver/stm32f2xx_hash.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash.c - - - StdPeriph_Driver/stm32f2xx_hash_md5.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash_md5.c - - - StdPeriph_Driver/stm32f2xx_hash_sha1.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_hash_sha1.c - - - StdPeriph_Driver/stm32f2xx_rng.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_rng.c - - - StdPeriph_Driver/stm32f2xx_syscfg.c - 1 - PARENT-4-PROJECT_LOC/Libraries/STM32F2xx_StdPeriph_Driver/src/stm32f2xx_syscfg.c - - - TrueSTUDIO/startup_stm32f2xx.s - 1 - PARENT-4-PROJECT_LOC/Libraries/CMSIS/Device/ST/STM32F2xx/Source/Templates/TrueSTUDIO/startup_stm32f2xx.s - - - User/STM32F2xx_it.c - 1 - PARENT-4-PROJECT_LOC/Project/STM32F2xx_StdPeriph_Template/STM32F2xx_it.c - - - User/main.c - 1 - PARENT-4-PROJECT_LOC/Project/STM32F2xx_StdPeriph_Template/main.c - - - diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs deleted file mode 100644 index b0b3d39dd..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/.settings/com.atollic.truestudio.debug.hardware_device.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Thu Nov 17 16:06:11 GMT+01:00 2011 -BOARD=STM322xG-EVAL -CODE_LOCATION=FLASH -ENDIAN=Little-endian -MCU=STM32F207IG -MCU_VENDOR=STMicroelectronics -MODEL=Lite -PROBE=ST-LINK -PROJECT_FORMAT_VERSION=2 -TARGET=STMicroelectronics\u00AE STM32\u2122 -VERSION=2.2.0 -eclipse.preferences.version=1 diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/stm32_flash.ld b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/stm32_flash.ld deleted file mode 100644 index 9e297a396..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/STM322xG_EVAL/stm32_flash.ld +++ /dev/null @@ -1,171 +0,0 @@ -/* -***************************************************************************** -** -** File : stm32_flash.ld -** -** Abstract : Linker script for STM32F207IG Device with -** 1MByte FLASH, 128KByte SRAM -** -** Set heap size, stack size and stack location according -** to application requirements. -** -** Set memory bank area and size if external memory is used. -** -** Target : STMicroelectronics STM32 -** -** Environment : Atollic TrueSTUDIO(R) -** -** Distribution: The file is distributed “as is,” without any warranty -** of any kind. -** -** (c)Copyright Atollic AB. -** You may use this file as-is or modify it according to the needs of your -** project. Distribution of this file (unmodified or modified) is not -** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the -** rights to distribute the assembled, compiled & linked contents of this -** file as part of an application binary file, provided that it is built -** using the Atollic TrueSTUDIO(R) toolchain. -** -***************************************************************************** -*/ - -/* Entry Point */ -ENTRY(Reset_Handler) - -/* Highest address of the user mode stack */ -_estack = 0x20020000; /* end of 128K SRAM */ - -/* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0; /* required amount of heap */ -_Min_Stack_Size = 0x200; /* required amount of stack */ - -/* Specify the memory areas */ -MEMORY -{ - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K - RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K -} - -/* Define output sections */ -SECTIONS -{ - /* The startup code goes first into FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* The program code and other data goes into FLASH */ - .text : - { - . = ALIGN(4); - *(.text) /* .text sections (code) */ - *(.text*) /* .text* sections (code) */ - *(.rodata) /* .rodata sections (constants, strings, etc.) */ - *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ - *(.glue_7) /* glue arm to thumb code */ - *(.glue_7t) /* glue thumb to arm code */ - *(.eh_frame) - - KEEP (*(.init)) - KEEP (*(.fini)) - - . = ALIGN(4); - _etext = .; /* define a global symbols at end of code */ - } >FLASH - - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH - .ARM : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } >FLASH - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array*)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } >FLASH - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array*)) - PROVIDE_HIDDEN (__init_array_end = .); - } >FLASH - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(.fini_array*)) - KEEP (*(SORT(.fini_array.*))) - PROVIDE_HIDDEN (__fini_array_end = .); - } >FLASH - - /* used by the startup to initialize data */ - _sidata = .; - - /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : AT ( _sidata ) - { - . = ALIGN(4); - _sdata = .; /* create a global symbol at data start */ - *(.data) /* .data sections */ - *(.data*) /* .data* sections */ - - . = ALIGN(4); - _edata = .; /* define a global symbol at data end */ - } >RAM - - /* Uninitialized data section */ - . = ALIGN(4); - .bss : - { - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; /* define a global symbol at bss start */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = .; /* define a global symbol at bss end */ - __bss_end__ = _ebss; - } >RAM - - PROVIDE ( end = _ebss ); - PROVIDE ( _end = _ebss ); - - /* User_heap_stack section, used to check that there is enough RAM left */ - ._user_heap_stack : - { - . = ALIGN(4); - . = . + _Min_Heap_Size; - . = . + _Min_Stack_Size; - . = ALIGN(4); - } >RAM - - /* MEMORY_bank1 section, code must be located here explicitly */ - /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ - .memory_b1_text : - { - *(.mb1text) /* .mb1text sections (code) */ - *(.mb1text*) /* .mb1text* sections (code) */ - *(.mb1rodata) /* read-only data (constants) */ - *(.mb1rodata*) - } >MEMORY_B1 - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .ARM.attributes 0 : { *(.ARM.attributes) } -} diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/note.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/note.txt deleted file mode 100644 index 851faae5c..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/note.txt +++ /dev/null @@ -1,66 +0,0 @@ -/** - @page note Note for TrueSTUDIO - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************** - * @file note.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the needed step to use "printf" with TrueSTUDIO - * toolchain. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - -The C runtime library include many functions, including some that typically -handle I/O. The I/O related runtime functions include printf(), fopen(), fclose(), -and many others. - -It is common to redirect the I/O from these functions to the actual embedded -platform, such as redirecting printf() output to an LCD display or a serial cable, -or to redirect file operations like fopen() and fclose() to some Flash file -system middleware. - -The free Lite version of TrueSTUDIO do not support I/O redirection, and instead -have do-nothing stubs compiled into the C runtime library. - -To support printf() redirection in the professional version, you should do the following: - - Open TrueSTUDIO professional and load your project. - - In the Project explorer, Right click on the project and select New->Other... - - Expand System calls - - Select Minimal System Calls Implementation and click next. - - Click on Finish and verify that "syscalls.c" is added to your project. - - Add the following code in the _write() function in "syscalls.c". - - @code - /*****************************************/ - int Index; - - for (Index = 0; Index < len; Index++) - { - __io_putchar( *ptr++ ); - } - - return len; - /*****************************************/ - @endcode - - - Finally, Rebuild your project. - - - *

© COPYRIGHT STMicroelectronics

- */ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/readme.txt b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/readme.txt deleted file mode 100644 index 8aa6a7ef6..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/readme.txt +++ /dev/null @@ -1,64 +0,0 @@ -/** - @page truestudio TrueSTUDIO Project Template for STM32F2xx devices - - @verbatim - ******************** (C) COPYRIGHT 2012 STMicroelectronics ******************* - * @file readme.txt - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This sub-directory contains all the user-modifiable files needed to - * create a new project linked with the STM32F2xx Standard Peripherals - * Library and working with TrueSTUDIO software toolchain. - ****************************************************************************** - * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - @endverbatim - - @par Directory contents - - - .cproject/.project: A pre-configured project file with the provided library - structure that produces an executable image with TrueSTUDIO. - - - stm32_flash.ld: This file is the TrueSTUDIO linker script used to - place program code (readonly) in internal FLASH and - data (readwrite, Stack and Heap)in internal SRAM. - You can customize this file to your need. - - - stm32f2xx_flash_extsram.ld: This file is the TrueSTUDIO linker script used to - place program code (readonly) in internal FLASH and - data (readwrite, Stack and Heap)in external SRAM. - You can customize this file to your need. - - @par How to use it ? - - - Open the TrueSTUDIO toolchain. - - Click on File->Switch Workspace->Other and browse to TrueSTUDIO workspace - directory. - - Click on File->Import, select General->'Existing Projects into Workspace' - and then click "Next". - - Browse to the TrueSTUDIO workspace directory and select the project: - - STM322xG_EVAL: to configure the project for STM32F2xx devices. - - Rebuild all project files: Select the project in the "Project explorer" - window then click on Project->build project menu. - - Run program: Select the project in the "Project explorer" window then click - Run->Debug (F11) - - @note The needed define symbols for this config are already declared in the - preprocessor section: USE_STM322xG_EVAL, STM32F2XX, USE_STDPERIPH_DRIVER - - - *

© COPYRIGHT STMicroelectronics

- */ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/stm32f2xx_flash_extsram.ld b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/stm32f2xx_flash_extsram.ld deleted file mode 100644 index 636f721c1..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/TrueSTUDIO/stm32f2xx_flash_extsram.ld +++ /dev/null @@ -1,171 +0,0 @@ -/* -***************************************************************************** -** -** File : stm32_flash.ld -** -** Abstract : Linker script for STM32F207IG Device with -** 1MByte FLASH, 128KByte SRAM -** -** Set heap size, stack size and stack location according -** to application requirements. -** -** Set memory bank area and size if external memory is used. -** -** Target : STMicroelectronics STM32 -** -** Environment : Atollic TrueSTUDIO(R) -** -** Distribution: The file is distributed “as is,” without any warranty -** of any kind. -** -** (c)Copyright Atollic AB. -** You may use this file as-is or modify it according to the needs of your -** project. Distribution of this file (unmodified or modified) is not -** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the -** rights to distribute the assembled, compiled & linked contents of this -** file as part of an application binary file, provided that it is built -** using the Atollic TrueSTUDIO(R) toolchain. -** -***************************************************************************** -*/ - -/* Entry Point */ -ENTRY(Reset_Handler) - -/* Highest address of the user mode stack */ -_estack = 0x64100000; /* end of 1M SRAM */ - -/* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0; /* required amount of heap */ -_Min_Stack_Size = 0x200; /* required amount of stack */ - -/* Specify the memory areas */ -MEMORY -{ - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1M - RAM (xrw) : ORIGIN = 0x64000000, LENGTH = 1M - MEMORY_B1 (rx) : ORIGIN = 0x60000000, LENGTH = 0K -} - -/* Define output sections */ -SECTIONS -{ - /* The startup code goes first into FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* The program code and other data goes into FLASH */ - .text : - { - . = ALIGN(4); - *(.text) /* .text sections (code) */ - *(.text*) /* .text* sections (code) */ - *(.rodata) /* .rodata sections (constants, strings, etc.) */ - *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ - *(.glue_7) /* glue arm to thumb code */ - *(.glue_7t) /* glue thumb to arm code */ - *(.eh_frame) - - KEEP (*(.init)) - KEEP (*(.fini)) - - . = ALIGN(4); - _etext = .; /* define a global symbols at end of code */ - } >FLASH - - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH - .ARM : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } >FLASH - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array*)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } >FLASH - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array*)) - PROVIDE_HIDDEN (__init_array_end = .); - } >FLASH - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(.fini_array*)) - KEEP (*(SORT(.fini_array.*))) - PROVIDE_HIDDEN (__fini_array_end = .); - } >FLASH - - /* used by the startup to initialize data */ - _sidata = .; - - /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : AT ( _sidata ) - { - . = ALIGN(4); - _sdata = .; /* create a global symbol at data start */ - *(.data) /* .data sections */ - *(.data*) /* .data* sections */ - - . = ALIGN(4); - _edata = .; /* define a global symbol at data end */ - } >RAM - - /* Uninitialized data section */ - . = ALIGN(4); - .bss : - { - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; /* define a global symbol at bss start */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = .; /* define a global symbol at bss end */ - __bss_end__ = _ebss; - } >RAM - - PROVIDE ( end = _ebss ); - PROVIDE ( _end = _ebss ); - - /* User_heap_stack section, used to check that there is enough RAM left */ - ._user_heap_stack : - { - . = ALIGN(4); - . = . + _Min_Heap_Size; - . = . + _Min_Stack_Size; - . = ALIGN(4); - } >RAM - - /* MEMORY_bank1 section, code must be located here explicitly */ - /* Example: extern int foo(void) __attribute__ ((section (".mb1text"))); */ - .memory_b1_text : - { - *(.mb1text) /* .mb1text sections (code) */ - *(.mb1text*) /* .mb1text* sections (code) */ - *(.mb1rodata) /* read-only data (constants) */ - *(.mb1rodata*) - } >MEMORY_B1 - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .ARM.attributes 0 : { *(.ARM.attributes) } -} diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/main.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/main.c deleted file mode 100644 index 44b8bfc38..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/main.c +++ /dev/null @@ -1,166 +0,0 @@ -/** - ****************************************************************************** - * @file Project/STM32F2xx_StdPeriph_Template/main.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main program body - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "main.h" - -/** @addtogroup Template_Project - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -#define MESSAGE1 " STM32F2xx " -#define MESSAGE2 " Device running on " -#define MESSAGE3 " STM322xG-EVAL " - -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -static __IO uint32_t TimingDelay; - -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/** - * @brief Main program. - * @param None - * @retval None - */ -int main(void) -{ - RCC_ClocksTypeDef RCC_Clocks; - - /*!< At this stage the microcontroller clock setting is already configured, - this is done through SystemInit() function which is called from startup - file (startup_stm32f2xx.s) before to branch to application main. - To reconfigure the default setting of SystemInit() function, refer to - system_stm32f2xx.c file - */ - - /* SysTick end of count event each 10ms */ - RCC_GetClocksFreq(&RCC_Clocks); - SysTick_Config(RCC_Clocks.HCLK_Frequency / 100); - - /* Initialize LEDs and LCD available on STM322xG-EVAL board *****************/ - STM_EVAL_LEDInit(LED1); - STM_EVAL_LEDInit(LED2); - STM_EVAL_LEDInit(LED3); - STM_EVAL_LEDInit(LED4); - - /* Initialize the LCD */ - STM322xG_LCD_Init(); - - /* Display message on STM322xG-EVAL LCD *************************************/ - /* Clear the LCD */ - LCD_Clear(White); - - /* Set the LCD Back Color */ - LCD_SetBackColor(Blue); - /* Set the LCD Text Color */ - LCD_SetTextColor(White); - LCD_DisplayStringLine(LINE(0), (uint8_t *)MESSAGE1); - LCD_DisplayStringLine(LINE(1), (uint8_t *)MESSAGE2); - LCD_DisplayStringLine(LINE(2), (uint8_t *)MESSAGE3); - - /* Turn on LEDs available on STM322xG-EVAL **********************************/ - STM_EVAL_LEDOn(LED1); - STM_EVAL_LEDOn(LED2); - STM_EVAL_LEDOn(LED3); - STM_EVAL_LEDOn(LED4); - - /* Add your application code here - */ - - /* Infinite loop */ - while (1) - { - /* Toggle LD4 */ - STM_EVAL_LEDToggle(LED4); - - /* Insert 50 ms delay */ - Delay(5); - - /* Toggle LD2 */ - STM_EVAL_LEDToggle(LED2); - - /* Insert 50 ms delay */ - Delay(5); - } -} - -/** - * @brief Inserts a delay time. - * @param nTime: specifies the delay time length, in 10 ms. - * @retval None - */ -void Delay(__IO uint32_t nTime) -{ - TimingDelay = nTime; - - while(TimingDelay != 0); -} - -/** - * @brief Decrements the TimingDelay variable. - * @param None - * @retval None - */ -void TimingDelay_Decrement(void) -{ - if (TimingDelay != 0x00) - { - TimingDelay--; - } -} - -#ifdef USE_FULL_ASSERT - -/** - * @brief Reports the name of the source file and the source line number - * where the assert_param error has occurred. - * @param file: pointer to the source file name - * @param line: assert_param error line source number - * @retval None - */ -void assert_failed(uint8_t* file, uint32_t line) -{ - /* User can add his own implementation to report the file name and line number, - ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ - - /* Infinite loop */ - while (1) - { - } -} -#endif - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/main.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/main.h deleted file mode 100644 index 0438a1aaa..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/main.h +++ /dev/null @@ -1,47 +0,0 @@ -/** - ****************************************************************************** - * @file Project/STM32F2xx_StdPeriph_Template/main.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Header for main.c module - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __MAIN_H -#define __MAIN_H - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" -#include "stm322xg_eval.h" -#include "stm322xg_eval_lcd.h" -#include - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ -void TimingDelay_Decrement(void); -void Delay(__IO uint32_t nTime); - -#endif /* __MAIN_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/stm32f2xx_conf.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/stm32f2xx_conf.h deleted file mode 100644 index 837d2a778..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/stm32f2xx_conf.h +++ /dev/null @@ -1,94 +0,0 @@ -/** - ****************************************************************************** - * @file Project/STM32F2xx_StdPeriph_Template/stm32f2xx_conf.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Library configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_CONF_H -#define __STM32F2xx_CONF_H - -/* Includes ------------------------------------------------------------------*/ -/* Uncomment the line below to enable peripheral header file inclusion */ -#include "stm32f2xx_adc.h" -#include "stm32f2xx_can.h" -#include "stm32f2xx_crc.h" -#include "stm32f2xx_cryp.h" -#include "stm32f2xx_dac.h" -#include "stm32f2xx_dbgmcu.h" -#include "stm32f2xx_dcmi.h" -#include "stm32f2xx_dma.h" -#include "stm32f2xx_exti.h" -#include "stm32f2xx_flash.h" -#include "stm32f2xx_fsmc.h" -#include "stm32f2xx_hash.h" -#include "stm32f2xx_gpio.h" -#include "stm32f2xx_i2c.h" -#include "stm32f2xx_iwdg.h" -#include "stm32f2xx_pwr.h" -#include "stm32f2xx_rcc.h" -#include "stm32f2xx_rng.h" -#include "stm32f2xx_rtc.h" -#include "stm32f2xx_sdio.h" -#include "stm32f2xx_spi.h" -#include "stm32f2xx_syscfg.h" -#include "stm32f2xx_tim.h" -#include "stm32f2xx_usart.h" -#include "stm32f2xx_wwdg.h" -#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */ - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* If an external clock source is used, then the value of the following define - should be set to the value of the external clock source, else, if no external - clock is used, keep this define commented */ -/*#define I2S_EXTERNAL_CLOCK_VAL 12288000 */ /* Value of the external clock in Hz */ - - -/* Uncomment the line below to expanse the "assert_param" macro in the - Standard Peripheral Library drivers code */ -/* #define USE_FULL_ASSERT 1 */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT - -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0) -#endif /* USE_FULL_ASSERT */ - -#endif /* __STM32F2xx_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/stm32f2xx_it.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/stm32f2xx_it.c deleted file mode 100644 index e34dd794a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/stm32f2xx_it.c +++ /dev/null @@ -1,168 +0,0 @@ -/** - ****************************************************************************** - * @file Project/STM32F2xx_StdPeriph_Template/stm32f2xx_it.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief Main Interrupt Service Routines. - * This file provides template for all exceptions handler and - * peripherals interrupt service routine. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx_it.h" -#include "main.h" - -/** @addtogroup Template_Project - * @{ - */ - -/* Private typedef -----------------------------------------------------------*/ -/* Private define ------------------------------------------------------------*/ -/* Private macro -------------------------------------------------------------*/ -/* Private variables ---------------------------------------------------------*/ -/* Private function prototypes -----------------------------------------------*/ -/* Private functions ---------------------------------------------------------*/ - -/******************************************************************************/ -/* Cortex-M3 Processor Exceptions Handlers */ -/******************************************************************************/ - -/** - * @brief This function handles NMI exception. - * @param None - * @retval None - */ -void NMI_Handler(void) -{ -} - -/** - * @brief This function handles Hard Fault exception. - * @param None - * @retval None - */ -void HardFault_Handler(void) -{ - /* Go to infinite loop when Hard Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Memory Manage exception. - * @param None - * @retval None - */ -void MemManage_Handler(void) -{ - /* Go to infinite loop when Memory Manage exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Bus Fault exception. - * @param None - * @retval None - */ -void BusFault_Handler(void) -{ - /* Go to infinite loop when Bus Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles Usage Fault exception. - * @param None - * @retval None - */ -void UsageFault_Handler(void) -{ - /* Go to infinite loop when Usage Fault exception occurs */ - while (1) - { - } -} - -/** - * @brief This function handles SVCall exception. - * @param None - * @retval None - */ -void SVC_Handler(void) -{ -} - -/** - * @brief This function handles Debug Monitor exception. - * @param None - * @retval None - */ -void DebugMon_Handler(void) -{ -} - -/** - * @brief This function handles PendSVC exception. - * @param None - * @retval None - */ -void PendSV_Handler(void) -{ -} - -/** - * @brief This function handles SysTick Handler. - * @param None - * @retval None - */ -void SysTick_Handler(void) -{ - TimingDelay_Decrement(); -} - -/******************************************************************************/ -/* STM32F2xx Peripherals Interrupt Handlers */ -/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ -/* available peripheral interrupt handler's name please refer to the startup */ -/* file (startup_stm32f2xx.s). */ -/******************************************************************************/ - -/** - * @brief This function handles PPP interrupt request. - * @param None - * @retval None - */ -/*void PPP_IRQHandler(void) -{ -}*/ - -/** - * @} - */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/stm32f2xx_it.h b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/stm32f2xx_it.h deleted file mode 100644 index ab94b737a..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/stm32f2xx_it.h +++ /dev/null @@ -1,60 +0,0 @@ -/** - ****************************************************************************** - * @file Project/STM32F2xx_StdPeriph_Template/stm32f2xx_it.h - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief This file contains the headers of the interrupt handlers. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F2xx_IT_H -#define __STM32F2xx_IT_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Includes ------------------------------------------------------------------*/ -#include "stm32f2xx.h" - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ -/* Exported macro ------------------------------------------------------------*/ -/* Exported functions ------------------------------------------------------- */ - -void NMI_Handler(void); -void HardFault_Handler(void); -void MemManage_Handler(void); -void BusFault_Handler(void); -void UsageFault_Handler(void); -void SVC_Handler(void); -void DebugMon_Handler(void); -void PendSV_Handler(void); -void SysTick_Handler(void); - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F2xx_IT_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/system_stm32f2xx.c b/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/system_stm32f2xx.c deleted file mode 100644 index 482a20d13..000000000 --- a/src/x9d/STM32F2xx_StdPeriph_Lib_V1.1.0/Project/STM32F2xx_StdPeriph_Template/system_stm32f2xx.c +++ /dev/null @@ -1,542 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f2xx.c - * @author MCD Application Team - * @version V1.1.0 - * @date 13-April-2012 - * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. - * This file contains the system clock configuration for STM32F2xx devices, - * and is generated by the clock configuration tool - * "STM32f2xx_Clock_Configuration_V1.0.0.xls" - * - * 1. This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier - * and Divider factors, AHB/APBx prescalers and Flash settings), - * depending on the configuration made in the clock xls tool. - * This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f2xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * 2. After each device reset the HSI (16 MHz) is used as system clock source. - * Then SystemInit() function is called, in "startup_stm32f2xx.s" file, to - * configure the system clock before to branch to main program. - * - * 3. If the system clock source selected by user fails to startup, the SystemInit() - * function will do nothing and HSI still used as system clock source. User can - * add some code to deal with this issue inside the SetSysClock() function. - * - * 4. The default value of HSE crystal is set to 25MHz, refer to "HSE_VALUE" define - * in "stm32f2xx.h" file. When HSE is used as system clock source, directly or - * through PLL, and you are using different crystal you have to adapt the HSE - * value to your own configuration. - * - * 5. This file configures the system clock as follows: - *============================================================================= - *============================================================================= - * Supported STM32F2xx device revision | Rev B and Y - *----------------------------------------------------------------------------- - * System Clock source | PLL (HSE) - *----------------------------------------------------------------------------- - * SYSCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * HCLK(Hz) | 120000000 - *----------------------------------------------------------------------------- - * AHB Prescaler | 1 - *----------------------------------------------------------------------------- - * APB1 Prescaler | 4 - *----------------------------------------------------------------------------- - * APB2 Prescaler | 2 - *----------------------------------------------------------------------------- - * HSE Frequency(Hz) | 25000000 - *----------------------------------------------------------------------------- - * PLL_M | 25 - *----------------------------------------------------------------------------- - * PLL_N | 240 - *----------------------------------------------------------------------------- - * PLL_P | 2 - *----------------------------------------------------------------------------- - * PLL_Q | 5 - *----------------------------------------------------------------------------- - * PLLI2S_N | NA - *----------------------------------------------------------------------------- - * PLLI2S_R | NA - *----------------------------------------------------------------------------- - * I2S input clock | NA - *----------------------------------------------------------------------------- - * VDD(V) | 3.3 - *----------------------------------------------------------------------------- - * Flash Latency(WS) | 3 - *----------------------------------------------------------------------------- - * Prefetch Buffer | ON - *----------------------------------------------------------------------------- - * Instruction cache | ON - *----------------------------------------------------------------------------- - * Data cache | ON - *----------------------------------------------------------------------------- - * Require 48MHz for USB OTG FS, | Enabled - * SDIO and RNG clock | - *----------------------------------------------------------------------------- - *============================================================================= - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2012 STMicroelectronics

- * - * Licensed under MCD-ST Liberty SW License Agreement V2, (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.st.com/software_license_agreement_liberty_v2 - * - * 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. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f2xx_system - * @{ - */ - -/** @addtogroup STM32F2xx_System_Private_Includes - * @{ - */ - -#include "stm32f2xx.h" - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Defines - * @{ - */ - -/*!< Uncomment the following line if you need to use external SRAM mounted - on STM322xG_EVAL board as data memory */ -/* #define DATA_IN_ExtSRAM */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ - - -/* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ -#define PLL_M 25 -#define PLL_N 240 - -/* SYSCLK = PLL_VCO / PLL_P */ -#define PLL_P 2 - -/* USB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ */ -#define PLL_Q 5 - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Variables - * @{ - */ - - uint32_t SystemCoreClock = 120000000; - - __I uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_FunctionPrototypes - * @{ - */ - -static void SetSysClock(void); -#ifdef DATA_IN_ExtSRAM - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F2xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - -#ifdef DATA_IN_ExtSRAM - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM */ - - /* Configure the System clock source, PLL Multiplier and Divider factors, - AHB/APBx prescalers and Flash settings ----------------------------------*/ - SetSysClock(); - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f2xx.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f2xx.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @brief Configures the System clock source, PLL Multiplier and Divider factors, - * AHB/APBx prescalers and Flash settings - * @Note This function should be called only once the RCC clock configuration - * is reset to the default reset state (done in SystemInit() function). - * @param None - * @retval None - */ -static void SetSysClock(void) -{ -/******************************************************************************/ -/* PLL (clocked by HSE) used as System clock source */ -/******************************************************************************/ - __IO uint32_t StartUpCounter = 0, HSEStatus = 0; - - /* Enable HSE */ - RCC->CR |= ((uint32_t)RCC_CR_HSEON); - - /* Wait till HSE is ready and if Time out is reached exit */ - do - { - HSEStatus = RCC->CR & RCC_CR_HSERDY; - StartUpCounter++; - } while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT)); - - if ((RCC->CR & RCC_CR_HSERDY) != RESET) - { - HSEStatus = (uint32_t)0x01; - } - else - { - HSEStatus = (uint32_t)0x00; - } - - if (HSEStatus == (uint32_t)0x01) - { - /* HCLK = SYSCLK / 1*/ - RCC->CFGR |= RCC_CFGR_HPRE_DIV1; - - /* PCLK2 = HCLK / 2*/ - RCC->CFGR |= RCC_CFGR_PPRE2_DIV2; - - /* PCLK1 = HCLK / 4*/ - RCC->CFGR |= RCC_CFGR_PPRE1_DIV4; - - /* Configure the main PLL */ - RCC->PLLCFGR = PLL_M | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) | - (RCC_PLLCFGR_PLLSRC_HSE) | (PLL_Q << 24); - - /* Enable the main PLL */ - RCC->CR |= RCC_CR_PLLON; - - /* Wait till the main PLL is ready */ - while((RCC->CR & RCC_CR_PLLRDY) == 0) - { - } - - /* Configure Flash prefetch, Instruction cache, Data cache and wait state */ - FLASH->ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_3WS; - - /* Select the main PLL as system clock source */ - RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW)); - RCC->CFGR |= RCC_CFGR_SW_PLL; - - /* Wait till the main PLL is used as system clock source */ - while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL); - { - } - } - else - { /* If HSE fails to start-up, the application will have wrong clock - configuration. User can add here some code to deal with this error */ - } - -} - -/** - * @brief Setup the external memory controller. Called in startup_stm32f2xx.s - * before jump to __main - * @param None - * @retval None - */ -#ifdef DATA_IN_ExtSRAM -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f2xx.s before jump to main. - * This function configures the external SRAM mounted on STM322xG_EVAL board - * This SRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ -/*-- GPIOs Configuration -----------------------------------------------------*/ -/* - +-------------------+--------------------+------------------+------------------+ - + SRAM pins assignment + - +-------------------+--------------------+------------------+------------------+ - | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 | - | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 | - | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 | - | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 | - | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 | - | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 | - | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG9 <-> FSMC_NE2 | - | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+ - | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 | - | PD14 <-> FSMC_D0 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 | - | PD15 <-> FSMC_D1 | PE15 <-> FSMC_D12 |------------------+ - +-------------------+--------------------+ -*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR = 0x00000078; - - /* Connect PDx pins to FSMC Alternate function */ - GPIOD->AFR[0] = 0x00cc00cc; - GPIOD->AFR[1] = 0xcc0ccccc; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xa2aa0a0a; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xf3ff0f0f; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FSMC Alternate function */ - GPIOE->AFR[0] = 0xc00000cc; - GPIOE->AFR[1] = 0xcccccccc; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xaaaa800a; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xffffc00f; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FSMC Alternate function */ - GPIOF->AFR[0] = 0x00cccccc; - GPIOF->AFR[1] = 0xcccc0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xaa000aaa; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xff000fff; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FSMC Alternate function */ - GPIOG->AFR[0] = 0x00cccccc; - GPIOG->AFR[1] = 0x000000c0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00080aaa; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000c0fff; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FSMC Configuration ------------------------------------------------------*/ - /* Enable the FSMC interface clock */ - RCC->AHB3ENR = 0x00000001; - - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001015; - FSMC_Bank1->BTCR[3] = 0x00010400; - FSMC_Bank1E->BWTR[2] = 0x0fffffff; -/* - Bank1_SRAM2 is configured as follow: - - p.FSMC_AddressSetupTime = 0; - p.FSMC_AddressHoldTime = 0; - p.FSMC_DataSetupTime = 4; - p.FSMC_BusTurnAroundDuration = 1; - p.FSMC_CLKDivision = 0; - p.FSMC_DataLatency = 0; - p.FSMC_AccessMode = FSMC_AccessMode_A; - - FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM2; - FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable; - FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_PSRAM; - FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b; - FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low; - FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState; - FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable; - FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable; - FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable; - FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable; - FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p; - FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p; -*/ - -} -#endif /* DATA_IN_ExtSRAM */ - - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/